@Override protected void initializeGraphicalViewer() { super.initializeGraphicalViewer(); getGraphicalViewer().setRootEditPart(new ScalableFreeformRootEditPart()); FileEditorInput inp = (FileEditorInput) getEditorInput(); setPartName(inp.getFile().getName()); try { String path = inp.getFile().getLocation().toOSString(); String text = FileUtils.readFileToString(new File(path)); LogicalSystemNode node = parse(text); root = new LogicalSystemEditPart(node, inp.getFile().getProject().getFullPath().toOSString()); getGraphicalViewer().setContents(root); } catch (IOException e) { e.printStackTrace(); } }
@Override public void initializeGraphicalViewer() { super.initializeGraphicalViewer(); getGraphicalViewer().setRootEditPart(new ScalableFreeformRootEditPart()); FileEditorInput inp = (FileEditorInput) getEditorInput(); setPartName(inp.getFile().getName()); try { String path = inp.getFile().getLocation().toOSString(); String text = FileUtils.readFileToString(new File(path)); CompositeNode node = parse(text); root = new CompositeEditPart(node, inp.getFile().getProject().getFullPath().toOSString()); getGraphicalViewer().setContents(root); } catch (IOException e) { e.printStackTrace(); } }
@Override public void initializeGraphicalViewer() { super.initializeGraphicalViewer(); getGraphicalViewer().setRootEditPart(new ScalableFreeformRootEditPart()); FileEditorInput inp = (FileEditorInput) getEditorInput(); setPartName(inp.getFile().getName()); try { String path = inp.getFile().getLocation().toOSString(); String text = FileUtils.readFileToString(new File(path)); DeploymentNode node = parse(text); root = new DeploymentEditPart(node, inp.getFile().getProject().getFullPath().toOSString()); getGraphicalViewer().setContents(root); } catch (IOException e) { e.printStackTrace(); } }
@Override public void initializeGraphicalViewer() { super.initializeGraphicalViewer(); getGraphicalViewer().setRootEditPart(new ScalableFreeformRootEditPart()); FileEditorInput inp = (FileEditorInput) getEditorInput(); setPartName(inp.getFile().getName()); try { String path = inp.getFile().getLocation().toOSString(); String text = FileUtils.readFileToString(new File(path)); ComponentImplementationNode node = parse(text); root = new ComponentImplementationEditPart(node, inp.getFile().getProject().getFullPath().toOSString()); getGraphicalViewer().setContents(root); } catch (IOException e) { e.printStackTrace(); } }
@Override protected void initializeGraphicalViewer() { super.initializeGraphicalViewer(); getGraphicalViewer().setRootEditPart(new ScalableFreeformRootEditPart()); FileEditorInput inp = (FileEditorInput) getEditorInput(); setPartName(inp.getFile().getName()); try { String path = inp.getFile().getLocation().toOSString(); String text = FileUtils.readFileToString(new File(path)); CompositeNode node = parse(text); root = new CompositeEditPart(node, inp.getFile().getProject().getFullPath().toOSString()); getGraphicalViewer().setContents(root); } catch (IOException e) { e.printStackTrace(); } }
private int getColumnIndex(final DirectEditRequest editRequest) { final ZoomManager zoomManager = ((ScalableFreeformRootEditPart) getHost().getRoot()).getZoomManager(); final double zoom = zoomManager.getZoom(); final ColumnEditPart columnEditPart = (ColumnEditPart) getHost(); Column column = (Column) columnEditPart.getModel(); final TableView newTableView = (TableView) getHost().getParent().getModel(); final List<Column> columns = newTableView.getColumns(); if (column.getColumnHolder() instanceof ColumnGroup) { column = (ColumnGroup) column.getColumnHolder(); } int index = columns.indexOf(column); final Rectangle columnRectangle = getColumnRectangle(); final int center = (int) ((columnRectangle.y + (columnRectangle.height / 2)) * zoom); if (editRequest.getLocation().y >= center) { index++; } return index; }
private static Map<TableView, Location> getTableLocationMap(final ScalableFreeformRootEditPart rootEditPart, final int translateX, final int translateY, final ERDiagram diagram) { final Map<TableView, Location> tableLocationMap = new HashMap<TableView, Location>(); final Category category = diagram.getCurrentCategory(); for (final Object child : rootEditPart.getContents().getChildren()) { final NodeElementEditPart editPart = (NodeElementEditPart) child; final NodeElement nodeElement = (NodeElement) editPart.getModel(); if (!(nodeElement instanceof TableView)) { continue; } if (category == null || category.isVisible(nodeElement, diagram)) { final IFigure figure = editPart.getFigure(); final Rectangle figureRectangle = figure.getBounds(); final Location location = new Location(figureRectangle.x + translateX, figureRectangle.y + translateY, figureRectangle.width, figureRectangle.height); tableLocationMap.put((TableView) nodeElement, location); } } return tableLocationMap; }
private void showThumbnail() { // RootEditPartのビューをソースとしてサムネイルを作成 ScalableFreeformRootEditPart editPart = (ScalableFreeformRootEditPart) this.graphicalViewer .getRootEditPart(); if (this.thumbnail != null) { this.thumbnail.deactivate(); } this.thumbnail = new ScrollableThumbnail((Viewport) editPart .getFigure()); this.thumbnail.setSource(editPart .getLayer(LayerConstants.PRINTABLE_LAYERS)); this.lws.setContents(this.thumbnail); }
private int getColumnIndex(DirectEditRequest editRequest) { ZoomManager zoomManager = ((ScalableFreeformRootEditPart) this .getHost().getRoot()).getZoomManager(); double zoom = zoomManager.getZoom(); IFigure figure = ((TableViewEditPart) this.getHost()).getFigure(); int center = (int) (figure.getBounds().y + (figure.getBounds().height / 2) * zoom); int index = 0; if (editRequest.getLocation().y >= center) { TableView newTableView = (TableView) this.getHost().getModel(); index = newTableView.getColumns().size(); } return index; }
/** * {@inheritDoc} */ @Override protected void showSizeOnDropFeedback(CreateRequest request) { Point p = new Point(request.getLocation().getCopy()); ZoomManager zoomManager = ((ScalableFreeformRootEditPart) this .getHost().getRoot()).getZoomManager(); double zoom = zoomManager.getZoom(); IFigure feedback = getSizeOnDropFeedback(request); Dimension size = request.getSize().getCopy(); feedback.translateToRelative(size); feedback.setBounds(new Rectangle((int) (p.x * zoom), (int) (p.y * zoom), size.width, size.height) .expand(getCreationFeedbackOffset(request))); }
/** * Initialize overview. */ protected void initializeOverview() { LightweightSystem lws = new J2DLightweightSystem(overview); RootEditPart rep = editor.getGraphicalViewer().getRootEditPart(); if (rep instanceof MainDesignerRootEditPart) { ScalableFreeformRootEditPart root = (ScalableFreeformRootEditPart) rep; thumbnail = new JSSScrollableThumbnail((Viewport) root.getFigure(), (MRoot)getViewer().getContents().getModel()); thumbnail.setSource(root.getLayer(LayerConstants.PRINTABLE_LAYERS)); lws.setContents(thumbnail); disposeListener = new DisposeListener() { public void widgetDisposed(DisposeEvent e) { if (thumbnail != null) { thumbnail.deactivate(); thumbnail = null; } } }; editor.getEditor().addDisposeListener(disposeListener); } lws.setControl(overview); }
@Override public Object getAdapter(@SuppressWarnings("rawtypes") Class type) { if (type == ZoomManager.class) { return ((ScalableFreeformRootEditPart) getGraphicalViewer().getRootEditPart()).getZoomManager(); } if (type == IContentOutlinePage.class) { return outlinePage; } if (type == IGotoMarker.class) { return gotoMaker; } if (type == IPropertySheetPage.class) { return propertySheetPage; } return super.getAdapter(type); }
private int getColumnIndex(DirectEditRequest editRequest) { final ZoomManager zoomManager = ((ScalableFreeformRootEditPart) getHost().getRoot()).getZoomManager(); final double zoom = zoomManager.getZoom(); final ColumnEditPart columnEditPart = (ColumnEditPart) getHost(); ERColumn column = (ERColumn) columnEditPart.getModel(); final TableView newTableView = (TableView) getHost().getParent().getModel(); final List<ERColumn> columns = newTableView.getColumns(); if (column.getColumnHolder() instanceof ColumnGroup) { column = (ColumnGroup) column.getColumnHolder(); } int index = columns.indexOf(column); final Rectangle columnRectangle = getColumnRectangle(); final int center = (int) ((columnRectangle.y + (columnRectangle.height / 2)) * zoom); if (editRequest.getLocation().y >= center) { index++; } return index; }
protected void initializeOverview() { LightweightSystem lws = new LightweightSystem(mOverview); RootEditPart rep = getGraphicalViewer().getRootEditPart(); if (rep instanceof ScalableFreeformRootEditPart) { ScalableFreeformRootEditPart root = (ScalableFreeformRootEditPart)rep; mThumbnail = new ScrollableThumbnail((Viewport)root.getFigure()); mThumbnail.setBorder(new MarginBorder(3)); mThumbnail.setSource(root .getLayer(LayerConstants.PRINTABLE_LAYERS)); lws.setContents(mThumbnail); mDisposeListener = new DisposeListener() { public void widgetDisposed(DisposeEvent e) { if (mThumbnail != null) { mThumbnail.deactivate(); mThumbnail = null; } } }; getEditor().addDisposeListener(mDisposeListener); } }
@Override protected void configureGraphicalViewer() { super.configureGraphicalViewer(); GraphicalViewer viewer = getGraphicalViewer(); viewer.setRootEditPart(new ScalableFreeformRootEditPart()); viewer.setEditPartFactory(new FormDesignerEditPartFactory(this)); ContextMenuProvider provider = new FormContextMenuProvider(viewer, actionIds, getActionRegistry()); viewer.setContextMenu(provider); viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer)); ((FigureCanvas) viewer.getControl()) .setScrollBarVisibility(FigureCanvas.ALWAYS); }
@Override protected void configureGraphicalViewer() { super.configureGraphicalViewer(); ScalableFreeformRootEditPart rootEditPart = new ScalableFreeformRootEditPart(); GraphicalViewer viewer = getGraphicalViewer(); viewer.setRootEditPart(rootEditPart); getGraphicalViewer().setEditPartFactory( new DesignerEditPartFactory(getParentEditor())); configureEditPartViewer(viewer); ((FigureCanvas) viewer.getControl()) .setScrollBarVisibility(FigureCanvas.ALWAYS); getActionRegistry().registerAction( new ToggleGridAction(getGraphicalViewer())); getActionRegistry().registerAction( new ToggleSnapToGeometryAction(getGraphicalViewer())); }
@Override protected void configureGraphicalViewer() { super.configureGraphicalViewer(); GraphicalViewer viewer = getGraphicalViewer(); viewer.setRootEditPart(new ScalableFreeformRootEditPart()); viewer.setEditPartFactory(new TaskFieldEditPartFactory( getParentEditor())); ContextMenuProvider provider = new FormContextMenuProvider(viewer, getParentEditor().getEditActionList(), getParentEditor() .getActionRegistry()); viewer.setContextMenu(provider); viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer)); ((FigureCanvas) viewer.getControl()) .setScrollBarVisibility(FigureCanvas.ALWAYS); }
/** * Initialize the graphical overview. * */ protected void initializeOverview() { if (multieditor.getCurrentPage() == null) { overview.setVisible(false); thumbnail.deactivate(); thumbnail = null; return; } RootEditPart rep = multieditor.getCurrentPage().getGraphicalViewer().getRootEditPart(); if (rep instanceof ScalableFreeformRootEditPart) { refreshThumbnail((ScalableFreeformRootEditPart) rep); disposeListener = new DisposeListener() { public void widgetDisposed(DisposeEvent e) { if (thumbnail != null) { thumbnail.deactivate(); thumbnail = null; } } }; ((FigureCanvas) multieditor.getCurrentPage().getGraphicalViewer().getControl()).addDisposeListener(disposeListener); } }
/** * Refresh the overview thumbnail when the map changes. */ public void pageChanged() { if (multieditor.getCurrentPage() == null) { overview.setVisible(false); thumbnail.deactivate(); thumbnail = null; return; } RootEditPart rep = multieditor.getCurrentPage().getGraphicalViewer().getRootEditPart(); if (rep instanceof ScalableFreeformRootEditPart) { refreshThumbnail((ScalableFreeformRootEditPart) rep); } refreshDefinitions(false); }
public void createPartControl(Composite parent) { // Create the viewer viewer = new ScrollingGraphicalViewer(); viewer.setEditDomain(new UrnEditDomain(null)); viewer.createControl(parent); // viewer.addSelectionChangedListener(this); // -- getSite().setSelectionProvider(viewer); getSite().getPage().addPartListener(this); getSite().getPage().addSelectionListener(this); // Set root editpart root = new ScalableFreeformRootEditPart(); viewer.setRootEditPart(root); // Register the view DisplayPreferences.getInstance().registerListener(this); }
private static void saveEditorContentsAsImage(IEditorPart editorPart, GraphicalViewer viewer, String saveFilePath, int format) { ScalableFreeformRootEditPart rootEditPart = (ScalableFreeformRootEditPart) viewer.getEditPartRegistry().get(LayerManager.ID); IFigure rootFigure = ((LayerManager) rootEditPart).getLayer(LayerConstants.PRINTABLE_LAYERS);// rootEditPart.getFigure(); Rectangle rootFigureBounds = rootFigure.getBounds(); Control figureCanvas = viewer.getControl(); GC figureCanvasGC = new GC(figureCanvas); Image img = new Image(null, rootFigureBounds.width, rootFigureBounds.height); GC imageGC = new GC(img); imageGC.setBackground(figureCanvasGC.getBackground()); imageGC.setForeground(figureCanvasGC.getForeground()); imageGC.setFont(figureCanvasGC.getFont()); imageGC.setLineStyle(figureCanvasGC.getLineStyle()); imageGC.setLineWidth(figureCanvasGC.getLineWidth()); imageGC.setXORMode(figureCanvasGC.getXORMode()); Graphics imgGraphics = new SWTGraphics(imageGC); rootFigure.paint(imgGraphics); ImageData[] imgData = new ImageData[1]; imgData[0] = img.getImageData(); ImageLoader imgLoader = new ImageLoader(); imgLoader.data = imgData; imgLoader.save(saveFilePath, format); figureCanvasGC.dispose(); imageGC.dispose(); img.dispose(); }
private void prepareZoomContributions(GraphicalViewer viewer) { ScalableFreeformRootEditPart root = new ScalableFreeformRootEditPart(); // set clipping strategy for connection layer ConnectionLayer connectionLayer = (ConnectionLayer) root .getLayer(LayerConstants.CONNECTION_LAYER); connectionLayer .setClippingStrategy(new ViewportAwareConnectionLayerClippingStrategy( connectionLayer)); List<String> zoomLevels = new ArrayList<String>(3); zoomLevels.add(ZoomManager.FIT_ALL); zoomLevels.add(ZoomManager.FIT_WIDTH); zoomLevels.add(ZoomManager.FIT_HEIGHT); root.getZoomManager().setZoomLevelContributions(zoomLevels); IAction zoomIn = new ZoomInAction(root.getZoomManager()); IAction zoomOut = new ZoomOutAction(root.getZoomManager()); viewer.setRootEditPart(root); getActionRegistry().registerAction(zoomIn); getActionRegistry().registerAction(zoomOut); //zoom on key strokes: ctrl++ and ctrl-- IHandlerService service = (IHandlerService)getEditorSite().getService(IHandlerService. class); service.activateHandler(zoomIn.getActionDefinitionId(), new ActionHandler(zoomIn)); service.activateHandler(zoomOut.getActionDefinitionId(), new ActionHandler(zoomOut)); // Scroll-wheel Zoom getGraphicalViewer().setProperty( MouseWheelHandler.KeyGenerator.getKey(SWT.MOD1), MouseWheelZoomHandler.SINGLETON); }
public void createEyeViewControl(Composite parent) { Canvas canvas = new Canvas(parent, SWT.NONE); canvas.setLayoutData(new GridData(GridData.FILL_BOTH)); LightweightSystem liSystem = new LightweightSystem(canvas); ScalableFreeformRootEditPart rootEditPart = ((ScalableFreeformRootEditPart) dbToolGefEditor.getGraphicalViewer().getRootEditPart()); ScrollableThumbnail thumbnail = new ScrollableThumbnail((Viewport) rootEditPart.getFigure()); thumbnail.setSource(rootEditPart.getLayer(LayerConstants.SCALABLE_LAYERS)); liSystem.setContents(thumbnail); }
@Override protected void configureGraphicalViewer() { super.configureGraphicalViewer(); getCommandStack().addCommandStackListener(commandStackListener); getGraphicalViewer().setEditPartFactory(new DbToolEditPartFactory()); rootEditPart = new ScalableFreeformRootEditPart(); getGraphicalViewer().setRootEditPart(rootEditPart); registerZoomAction(); reigsterToggleGridAction(); registerContextMenuProvider(); registerKeyHandler(); configInitData(); }
/** * Hook the evolution factory into the editor logic and override the standard edit part factory */ @Override public void configureGraphicalViewer() { super.configureGraphicalViewer(); GraphicalViewer viewer = getGraphicalViewer(); viewer.setEditPartFactory(new DwFeatureModelEditPartFactory(viewer, this)); viewer.setRootEditPart(new ScalableFreeformRootEditPart()); }
/** * {@inheritDoc} */ @Override public Object getAdapter(final Class type) { if (type == ZoomManager.class) { return ((ScalableFreeformRootEditPart) getGraphicalViewer().getRootEditPart()).getZoomManager(); } else if (type == IContentOutlinePage.class) { return outlinePage; } return super.getAdapter(type); }
@Override public void showTargetFeedback(final Request request) { final ERDiagram diagram = (ERDiagram) getHost().getRoot().getContents().getModel(); if (diagram.isTooltip()) { final ZoomManager zoomManager = ((ScalableFreeformRootEditPart) getHost().getRoot()).getZoomManager(); final double zoom = zoomManager.getZoom(); final TableView tableView = (TableView) getHost().getModel(); final Rectangle tableBounds = getHostFigure().getBounds(); final String name = TableViewEditPart.getTableViewName(tableView, diagram); final Label label = new Label(); label.setText(name); label.setBorder(new SimpleRaisedBorder()); label.setBackgroundColor(ColorConstants.orange); label.setOpaque(true); final Dimension dim = FigureUtilities.getTextExtents(name, Display.getCurrent().getSystemFont()); label.setBounds(new Rectangle((int) (zoom * (tableBounds.x + 33)), (int) (zoom * (tableBounds.y + 5)), (int) (dim.width * 1.5), 20)); addFeedback(label); } super.showTargetFeedback(request); }
/** * {@inheritDoc} */ @Override protected void showSizeOnDropFeedback(final CreateRequest request) { final Point p = new Point(request.getLocation().getCopy()); final ZoomManager zoomManager = ((ScalableFreeformRootEditPart) getHost().getRoot()).getZoomManager(); final double zoom = zoomManager.getZoom(); final IFigure feedback = getSizeOnDropFeedback(request); final Dimension size = request.getSize().getCopy(); feedback.translateToRelative(size); feedback.setBounds(new Rectangle((int) (p.x * zoom), (int) (p.y * zoom), size.width, size.height).expand(getCreationFeedbackOffset(request))); }
/** * {@inheritDoc} */ @Override protected Command getCreateCommand(final CreateRequest request) { final ERDiagramEditPart editPart = (ERDiagramEditPart) getHost(); final Point point = request.getLocation(); editPart.getFigure().translateToRelative(point); final NodeElement element = (NodeElement) request.getNewObject(); final ERDiagram diagram = (ERDiagram) editPart.getModel(); Dimension size = request.getSize(); final List<NodeElement> enclosedElementList = new ArrayList<NodeElement>(); if (size != null) { final ZoomManager zoomManager = ((ScalableFreeformRootEditPart) getHost().getRoot()).getZoomManager(); final double zoom = zoomManager.getZoom(); size = new Dimension((int) (size.width / zoom), (int) (size.height / zoom)); for (final Object child : editPart.getChildren()) { if (child instanceof NodeElementEditPart) { final NodeElementEditPart nodeElementEditPart = (NodeElementEditPart) child; final Rectangle bounds = nodeElementEditPart.getFigure().getBounds(); if (bounds.x > point.x && bounds.x + bounds.width < point.x + size.width && bounds.y > point.y && bounds.y + bounds.height < point.y + size.height) { enclosedElementList.add((NodeElement) nodeElementEditPart.getModel()); } } } } return new CreateElementCommand(diagram, element, point.x, point.y, size, enclosedElementList); }
private static void run(final Display display, final int x) { final Shell shell = new Shell(display); shell.setBounds(0, 0, 350, 350); shell.setLayout(new FillLayout(SWT.VERTICAL)); // display.syncExec(new Runnable() { // public void run() { final ERDiagramEditPartFactory editPartFactory = new ERDiagramEditPartFactory(); final GraphicalViewer viewer = new ScrollingGraphicalViewer(); viewer.setControl(new FigureCanvas(shell)); final ScalableFreeformRootEditPart rootEditPart = new PagableFreeformRootEditPart(diagram); viewer.setRootEditPart(rootEditPart); viewer.setEditPartFactory(editPartFactory); viewer.setContents(diagram); viewer.getContents().refresh(); // } // }); shell.pack(); shell.open(); int count = 0; while (count < x) { if (!display.readAndDispatch()) { try { Thread.sleep(1000); count++; } catch (final InterruptedException e) { e.printStackTrace(); } } } viewer.getContents().deactivate(); // display.dispose(); }
/** * {@inheritDoc} */ @Override public Object getAdapter(Class type) { if (type == ZoomManager.class) { return ((ScalableFreeformRootEditPart) getGraphicalViewer() .getRootEditPart()).getZoomManager(); } else if (type == IContentOutlinePage.class) { return this.outlinePage; } return super.getAdapter(type); }
@Override public void showTargetFeedback(Request request) { ERDiagram diagram = (ERDiagram) this.getHost().getRoot().getContents() .getModel(); if (diagram.isTooltip()) { ZoomManager zoomManager = ((ScalableFreeformRootEditPart) this .getHost().getRoot()).getZoomManager(); double zoom = zoomManager.getZoom(); TableView tableView = (TableView) this.getHost().getModel(); Rectangle tableBounds = this.getHostFigure().getBounds(); String name = TableViewEditPart.getTableViewName(tableView, diagram); Label label = new Label(); label.setText(name); label.setBorder(new SimpleRaisedBorder()); label.setBackgroundColor(ColorConstants.orange); label.setOpaque(true); Dimension dim = FigureUtilities.getTextExtents(name, Display .getCurrent().getSystemFont()); label.setBounds(new Rectangle((int) (zoom * (tableBounds.x + 33)), (int) (zoom * (tableBounds.y + 5)), (int) (dim.width * 1.5), 20)); this.addFeedback(label); } super.showTargetFeedback(request); }
private int getColumnIndex(DirectEditRequest editRequest) { ZoomManager zoomManager = ((ScalableFreeformRootEditPart) this .getHost().getRoot()).getZoomManager(); double zoom = zoomManager.getZoom(); ColumnEditPart columnEditPart = (ColumnEditPart) this.getHost(); Column column = (Column) columnEditPart.getModel(); TableView newTableView = (TableView) this.getHost().getParent() .getModel(); List<Column> columns = newTableView.getColumns(); if (column.getColumnHolder() instanceof ColumnGroup) { column = (ColumnGroup) column.getColumnHolder(); } int index = columns.indexOf(column); Rectangle columnRectangle = this.getColumnRectangle(); int center = (int) ((columnRectangle.y + (columnRectangle.height / 2)) * zoom); if (editRequest.getLocation().y >= center) { index++; } return index; }
private static Map<TableView, Location> getTableLocationMap( ScalableFreeformRootEditPart rootEditPart, int translateX, int translateY, ERDiagram diagram) { Map<TableView, Location> tableLocationMap = new HashMap<TableView, Location>(); Category category = diagram.getCurrentCategory(); for (Object child : rootEditPart.getContents().getChildren()) { NodeElementEditPart editPart = (NodeElementEditPart) child; NodeElement nodeElement = (NodeElement) editPart.getModel(); if (!(nodeElement instanceof TableView)) { continue; } if (category == null || category.isVisible(nodeElement, diagram)) { IFigure figure = editPart.getFigure(); Rectangle figureRectangle = figure.getBounds(); Location location = new Location( figureRectangle.x + translateX, figureRectangle.y + translateY, figureRectangle.width, figureRectangle.height); tableLocationMap.put((TableView) nodeElement, location); } } return tableLocationMap; }
protected void initializeOverview() { LightweightSystem lws = new LightweightSystem(overview); if (rep instanceof ScalableFreeformRootEditPart) { ScalableFreeformRootEditPart root = (ScalableFreeformRootEditPart)rep; thumbnail = new ScrollableThumbnail((Viewport)root.getFigure()); thumbnail.setBorder(new MarginBorder(3)); thumbnail.setSource(root.getLayer(LayerConstants.PRINTABLE_LAYERS)); lws.setContents(thumbnail); } }
/** * @see org.eclipse.gef.editpolicies.ConnectionEditPolicy#getDeleteCommand(org.eclipse.gef.requests.GroupRequest) */ @Override protected Command getDeleteCommand(GroupRequest request) { DeleteConnectionCommand command = new DeleteConnectionCommand(); command.setConnection(getHost().getModel()); command.setDiagram((Diagram) ((ScalableFreeformRootEditPart) getHost().getParent()).getContents().getModel()); return command; }
public void createControl(Composite parent) { control = new SashForm(parent, SWT.NONE); getViewer().createControl(parent); getViewer().setEditDomain(getEditDomain()); getSelectionSynchronizer().addViewer(getViewer()); Canvas canvas = new Canvas(control, SWT.BORDER); LightweightSystem lws = new LightweightSystem(canvas); thumbnail = new ScrollableThumbnail((Viewport) ((ScalableFreeformRootEditPart) getGraphicalViewer().getRootEditPart()).getFigure()); thumbnail.setSource(((ScalableFreeformRootEditPart) getGraphicalViewer().getRootEditPart()).getLayer(LayerConstants.PRINTABLE_LAYERS)); lws.setContents(thumbnail); disposeListener = new DisposeListener() { public void widgetDisposed(DisposeEvent e) { if (thumbnail != null) { thumbnail.deactivate(); thumbnail = null; } } }; getGraphicalViewer().getControl().addDisposeListener(disposeListener); }