Java源码示例:org.eclipse.gef.dnd.TemplateTransfer
示例1
/**
* {@inheritDoc}
*/
@Override
public void createControl(final Composite parent) {
sash = new SashForm(parent, SWT.VERTICAL);
// コンストラクタで指定したビューワの作成
viewer.createControl(sash);
// EditPartFactory の設定
final ERDiagramOutlineEditPartFactory editPartFactory = new ERDiagramOutlineEditPartFactory();
viewer.setEditPartFactory(editPartFactory);
// グラフィカル・エディタのルート・モデルをツリー・ビューワにも設定
viewer.setContents(diagram);
final Canvas canvas = new Canvas(sash, SWT.BORDER);
// サムネイル・フィギュアを配置する為の LightweightSystem
lws = new LightweightSystem(canvas);
resetView(registry);
final AbstractTransferDragSourceListener dragSourceListener = new ERDiagramTransferDragSourceListener(viewer, TemplateTransfer.getInstance());
viewer.addDragSourceListener(dragSourceListener);
diagram.refreshOutline();
}
示例2
@Override
public void createControl(Composite parent) {
this.sash = new SashForm(parent, SWT.VERTICAL);
viewer.createControl(sash);
editPartFactory = new ERDiagramOutlineEditPartFactory();
editPartFactory.setQuickMode(quickMode);
viewer.setEditPartFactory(editPartFactory);
viewer.setContents(diagram);
if (!quickMode) {
final Canvas canvas = new Canvas(sash, SWT.BORDER);
lws = new LightweightSystem(canvas);
}
resetView(registry);
final AbstractTransferDragSourceListener dragSourceListener =
new ERDiagramTransferDragSourceListener(viewer, TemplateTransfer.getInstance());
viewer.addDragSourceListener(dragSourceListener);
expandVirturalDiagramTree();
}
示例3
/**
* Validates drag source from palette, layout, or data view
*
* @param dragObj
* @return validate result
*/
private boolean handleValidateDrag( Object dragObj )
{
if ( DNDService.getInstance( )
.validDrop( TemplateTransfer.getInstance( ).getTemplate( ),
getTargetEditPart( ),
DND.DROP_DEFAULT,
new DNDLocation( getDropLocation( ) ) ) )
{
return true;
}
return dragObj != null
&& ( handleValidatePalette( dragObj )
|| handleValidateOutline( dragObj )
|| handleValidateInsert( dragObj ) || handleValidateLibrary( dragObj ) );
}
示例4
/**
* @see ViewerDropAdapter#dragOver(DropTargetEvent)
*
*/
public void dragOver( DropTargetEvent event )
{
super.dragOver( event );
if ( event.detail == DND.DROP_NONE )
return;
if ( !validateTarget( getCurrentTarget( ) )
|| !validateTarget( getCurrentTarget( ),
TemplateTransfer.getInstance( ).getTemplate( ) ) )
{
event.detail = DND.DROP_NONE;
if ( Policy.TRACING_DND_DRAG )
{
System.out.println( "DND >> Drag over " + event.getSource( ) ); //$NON-NLS-1$
}
}
}
示例5
@Override
public void dragStart(DragSourceEvent dragsourceevent) {
super.dragStart(dragsourceevent);
Object target = this.getTargetModel(dragsourceevent);
if (target != null) {
// && target == dragSourceViewer.findObjectAt(
// new Point(dragsourceevent.x, dragsourceevent.y))
// .getModel()) {
TemplateTransfer transfer = (TemplateTransfer) this.getTransfer();
transfer.setObject(target);
} else {
dragsourceevent.doit = false;
}
}
示例6
@Override
public void dragStart(final DragSourceEvent dragsourceevent) {
super.dragStart(dragsourceevent);
final Object target = getTargetModel(dragsourceevent);
if (target != null && target == dragSourceViewer.findObjectAt(new Point(dragsourceevent.x, dragsourceevent.y)).getModel()) {
final TemplateTransfer transfer = (TemplateTransfer) getTransfer();
transfer.setObject(createTransferData(dragsourceevent));
} else {
dragsourceevent.doit = false;
}
}
示例7
private void initDragAndDrop(final GraphicalViewer viewer) {
final AbstractTransferDragSourceListener dragSourceListener = new ERDiagramTransferDragSourceListener(viewer, TemplateTransfer.getInstance());
viewer.addDragSourceListener(dragSourceListener);
final AbstractTransferDropTargetListener dropTargetListener = new ERDiagramTransferDropTargetListener(viewer, TemplateTransfer.getInstance());
viewer.addDropTargetListener(dropTargetListener);
}
示例8
protected void initDragAndDrop(GraphicalViewer viewer) {
final AbstractTransferDragSourceListener dragSourceListener =
new ERDiagramTransferDragSourceListener(viewer, TemplateTransfer.getInstance());
viewer.addDragSourceListener(dragSourceListener);
final AbstractTransferDropTargetListener dropTargetListener =
new ERDiagramTransferDropTargetListener(viewer, TemplateTransfer.getInstance());
viewer.addDropTargetListener(dropTargetListener);
}
示例9
@Override
public void dragStart(DragSourceEvent dragsourceevent) {
super.dragStart(dragsourceevent);
final Object target = getTargetModel(dragsourceevent);
if (target != null) {
final TemplateTransfer transfer = (TemplateTransfer) getTransfer();
transfer.setObject(target);
} else {
dragsourceevent.doit = false;
}
}
示例10
public void dragStart( DragSourceEvent event )
{
boolean doit = !getViewer( ).getSelection( ).isEmpty( );
if ( doit )
{
IStructuredSelection selection = (IStructuredSelection) getViewer( ).getSelection( );
List objectList = selection.toList( );
selectionList.clear( );
for ( int i = 0; i < objectList.size( ); i++ )
{
if ( objectList.get( i ) instanceof ReportResourceEntry )
selectionList.add( ( (ReportResourceEntry) objectList.get( i ) ).getReportElement( ) );
else
selectionList.add( objectList.get( i ) );
}
Object[] objects = selectionList.toArray( );
if ( validateType( objects ) )
{
for ( int i = 0; i < objects.length; i++ )
if ( !validateTransfer( objects[i] ) )
{
doit = false;
break;
}
}
else
doit = false;
if ( doit )
TemplateTransfer.getInstance( ).setTemplate( objects );
}
event.doit = doit;
if ( Policy.TRACING_DND_DRAG && doit )
{
System.out.println( "DND >> Drag starts." ); //$NON-NLS-1$
}
}
示例11
public void dragOver( DropTargetEvent event )
{
super.dragOver( event );
if ( !handleValidateDrag( TemplateTransfer.getInstance( ).getTemplate( ) ) )
{
event.detail = DND.DROP_NONE;
}
}
示例12
/**
* @see ViewerDropAdapter#validateDrop(Object, int, TransferData)
*/
public boolean validateDrop( Object target, int op, TransferData type )
{
// if(target!=null){
// Object adapter = ElementAdapterManager.getAdatper( target, IElementDropAdapter.class );
// if(adapter!=null){
// IElementDropAdapter dropAdapter = (IElementDropAdapter)adapter;
// return dropAdapter.validateDrop( target, getCurrentOperation( ), getCurrentLocation( ), null, type );
// }
// }
return TemplateTransfer.getInstance( ).isSupportedType( type );
}
示例13
/**
* @see DragSourceAdapter#dragFinished(DragSourceEvent)
*/
public void dragFinished( DragSourceEvent event )
{
if ( event.doit )
{
TemplateTransfer.getInstance( ).setTemplate( null );
if ( Policy.TRACING_DND_DRAG )
{
System.out.println( "DND >> Drag finished." ); //$NON-NLS-1$
}
}
}
示例14
/**
* @see DragSourceAdapter#dragSetData(DragSourceEvent)
*/
public void dragSetData( DragSourceEvent event )
{
// IStructuredSelection selection = (IStructuredSelection) getViewer( ).getSelection( );
// Object[] objects = selection.toList( ).toArray( );
// fix bug 116180
Object[] objects = selectionList.toArray( );
if ( TemplateTransfer.getInstance( ).isSupportedType( event.dataType ) )
event.data = objects;
}
示例15
/**
* @see DragSourceAdapter#dragStart(DragSourceEvent)
*/
public void dragStart( DragSourceEvent event )
{
boolean doit = !getViewer( ).getSelection( ).isEmpty( );
if ( doit )
{
IStructuredSelection selection = (IStructuredSelection) getViewer( ).getSelection( );
selectionList = selection.toList( );
Object[] objects = selection.toList( ).toArray( );
if ( validateType( objects ) )
{
for ( int i = 0; i < objects.length; i++ )
if ( !validateTransfer( objects[i] ) )
{
doit = false;
break;
}
}
else
doit = false;
if ( doit )
TemplateTransfer.getInstance( ).setTemplate( objects );
}
event.doit = doit;
if ( Policy.TRACING_DND_DRAG && doit )
{
System.out.println( "DND >> Drag starts." ); //$NON-NLS-1$
}
}
示例16
/**
* @see DragSourceAdapter#dragSetData(DragSourceEvent)
*/
public void dragSetData( DragSourceEvent event )
{
IStructuredSelection selection = (IStructuredSelection) getViewer( )
.getSelection( );
Object[] objects = selection.toList( ).toArray( );
if ( TemplateTransfer.getInstance( ).isSupportedType( event.dataType ) )
{
event.data = objects;
}
}
示例17
/**
* {@inheritDoc}
*/
@Override
public void createControl(Composite parent) {
this.sash = new SashForm(parent, SWT.VERTICAL);
// �R���X�g���N�^�Ŏw�肵���r���[���̍쐬
this.viewer.createControl(this.sash);
editPartFactory = new ERDiagramOutlineEditPartFactory();
editPartFactory.setQuickMode(quickMode);
this.viewer.setEditPartFactory(editPartFactory);
// �O���t�B�J���E�G�f�B�^�̃��[�g�E���f�����c���[�E�r���[���ɂ��ݒ�
this.viewer.setContents(this.diagram);
if (!quickMode) {
Canvas canvas = new Canvas(this.sash, SWT.BORDER);
// �T���l�C���E�t�B�M���A��z�u����ׂ� LightweightSystem
this.lws = new LightweightSystem(canvas);
}
this.resetView(this.registry);
AbstractTransferDragSourceListener dragSourceListener = new ERDiagramTransferDragSourceListener(
this.viewer, TemplateTransfer.getInstance());
this.viewer.addDragSourceListener(dragSourceListener);
}
示例18
protected void initDragAndDrop(GraphicalViewer viewer) {
AbstractTransferDragSourceListener dragSourceListener = new ERDiagramTransferDragSourceListener(
viewer, TemplateTransfer.getInstance());
viewer.addDragSourceListener(dragSourceListener);
AbstractTransferDropTargetListener dropTargetListener = new ERDiagramTransferDropTargetListener(
viewer, TemplateTransfer.getInstance());
viewer.addDropTargetListener(dropTargetListener);
}
示例19
private void initDropTarget() {
final AbstractTransferDropTargetListener dropTargetListener = new ERDiagramOutlineTransferDropTargetListener(graphicalViewer, TemplateTransfer.getInstance());
graphicalViewer.addDropTargetListener(dropTargetListener);
}
示例20
private Object getTargetModel() {
final TemplateTransfer transfer = (TemplateTransfer) getTransfer();
return transfer.getObject();
}
示例21
private Object getTargetModel() {
final TemplateTransfer transfer = (TemplateTransfer) getTransfer();
return transfer.getObject();
}
示例22
private void initDropTarget() {
final AbstractTransferDropTargetListener dropTargetListener =
new ERDiagramOutlineTransferDropTargetListener(graphicalViewer, TemplateTransfer.getInstance());
graphicalViewer.addDropTargetListener(dropTargetListener);
}
示例23
private Object getTargetModel() {
final TemplateTransfer transfer = (TemplateTransfer) getTransfer();
return transfer.getObject();
}
示例24
private Object getTargetModel() {
final TemplateTransfer transfer = (TemplateTransfer) getTransfer();
return transfer.getObject();
}
示例25
protected void showLayoutTargetFeedback( Request request )
{
boolean isCrossTabElement = false;
if ( request instanceof ChangeBoundsRequest )
{
List editParts = ( (ChangeBoundsRequest) request ).getEditParts( );
if ( editParts.size( ) > 0 )
{
isCrossTabElement = editParts.get( 0 ) instanceof CrosstabCellEditPart;
}
}
if ( !isCrossTabElement )
{
Object template = TemplateTransfer.getInstance( ).getTemplate( );
if ( template instanceof Object[]
&& ( (Object[]) template ).length > 0 )
{
Object dragObject = ( (Object[]) template )[0];
if ( dragObject instanceof DimensionHandle
|| dragObject instanceof MeasureHandle
|| dragObject instanceof LevelHandle )
{
isCrossTabElement = true;
}
}
}
if ( isCrossTabElement )
{
Transposer transposer = new Transposer( );
transposer.setEnabled( !isHorizontal( ) );
Rectangle r = transposer.t( getAbsoluteClientBounds( (GraphicalEditPart) getHost( ) ) );
Point p = transposer.t( getLocationFromRequest( request ) );
boolean before = p.x <= r.x + ( r.width / 2 );
Point p1 = new Point( before ? r.x : r.x + r.width, r.y - 2 );
p1 = transposer.t( p1 );
Point p2 = new Point( before ? r.x : r.x + r.width, r.y
+ r.height
+ 7 );
p2 = transposer.t( p2 );
setTargetFeedbackPoints( p1, p2 );
}
else
{
super.showLayoutTargetFeedback( request );
}
}
示例26
public boolean validateDrop( Object target, int operation, int location,
Object transfer, TransferData transferType )
{
return TemplateTransfer.getInstance( ).isSupportedType( transferType );
}
示例27
private void initDropTarget() {
AbstractTransferDropTargetListener dropTargetListener = new ERDiagramOutlineTransferDropTargetListener(
this.graphicalViewer, TemplateTransfer.getInstance());
this.graphicalViewer.addDropTargetListener(dropTargetListener);
}
示例28
private Object getTargetModel() {
TemplateTransfer transfer = (TemplateTransfer) this.getTransfer();
return transfer.getObject();
}
示例29
private Object getTargetModel() {
TemplateTransfer transfer = (TemplateTransfer) this.getTransfer();
return transfer.getObject();
}