Java 类org.eclipse.gef.editparts.ScalableFreeformRootEditPart 实例源码

项目:Open_Source_ECOA_Toolset_AS5    文件:IntLogicalSysEditor.java   
@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();
    }
}
项目:Open_Source_ECOA_Toolset_AS5    文件:IntFinalAssemblyEditor.java   
@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();
    }
}
项目:Open_Source_ECOA_Toolset_AS5    文件:IntDeploymentEditor.java   
@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();
    }
}
项目:Open_Source_ECOA_Toolset_AS5    文件:CompImplEditor.java   
@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();
    }
}
项目:Open_Source_ECOA_Toolset_AS5    文件:InitAssemblyEditor.java   
@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();
    }
}
项目:ermasterr    文件:ColumnSelectionHandlesEditPolicy.java   
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;
}
项目:ermasterr    文件:ImageInfo.java   
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;
}
项目:ermaster-k    文件:ERDiagramOutlinePage.java   
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);

}
项目:ermaster-k    文件:TableViewComponentEditPolicy.java   
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;
}
项目:ermaster-k    文件:ERDiagramLayoutEditPolicy.java   
/**
 * {@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)));
}
项目:PDFReporter-Studio    文件:JDReportOutlineView.java   
/**
 * 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);
}
项目:erflute    文件:MainDiagramEditor.java   
@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);
}
项目:erflute    文件:ColumnSelectionHandlesEditPolicy.java   
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;
}
项目:ermaster-nhit    文件:ERDiagramOutlinePage.java   
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);

}
项目:ermaster-nhit    文件:TableViewComponentEditPolicy.java   
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;
}
项目:ermaster-nhit    文件:ERDiagramLayoutEditPolicy.java   
/**
 * {@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)));
}
项目:eclipsensis    文件:InstallOptionsDesignEditor.java   
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);
    }
}
项目:snaker-designer    文件:SnakerFormDesignerEditor.java   
@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);
}
项目:snaker-designer    文件:ProcessDesignerEditor.java   
@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()));
}
项目:snaker-designer    文件:TaskFieldDesignerEditor.java   
@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);
}
项目:seg.jUCMNav    文件:UrnOutlinePage.java   
/**
 * 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);
    }
}
项目:seg.jUCMNav    文件:UrnOutlinePage.java   
/**
 * 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);

}
项目:seg.jUCMNav    文件:KPIView.java   
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);
}
项目:Open_Source_ECOA_Toolset_AS5    文件:ImageSaveUtil.java   
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();
    }
项目:Hydrograph    文件:ELTGraphicalEditor.java   
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);
    }
项目:bdf2    文件:DbToolGefEditorOutlinePage.java   
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);
}
项目:bdf2    文件:DbToolGefEditor.java   
@Override
protected void configureGraphicalViewer() {
    super.configureGraphicalViewer();
    getCommandStack().addCommandStackListener(commandStackListener);
    getGraphicalViewer().setEditPartFactory(new DbToolEditPartFactory());
    rootEditPart = new ScalableFreeformRootEditPart();
    getGraphicalViewer().setRootEditPart(rootEditPart);
    registerZoomAction();
    reigsterToggleGridAction();
    registerContextMenuProvider();
    registerKeyHandler();
    configInitData();
}
项目:DarwinSPL    文件:DwGraphicalFeatureModelViewer.java   
/**
 * 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());
}
项目:ermasterr    文件:ERDiagramEditor.java   
/**
 * {@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);
}
项目:ermasterr    文件:TableViewGraphicalNodeEditPolicy.java   
@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);
}
项目:ermasterr    文件:ERDiagramLayoutEditPolicy.java   
/**
 * {@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)));
}
项目:ermasterr    文件:ERDiagramLayoutEditPolicy.java   
/**
 * {@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);
}
项目:ermasterr    文件:NoWindowTest.java   
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();
}
项目:ermaster-k    文件:ERDiagramEditor.java   
/**
 * {@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);
}
项目:ermaster-k    文件:TableViewGraphicalNodeEditPolicy.java   
@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);
}
项目:ermaster-k    文件:ColumnSelectionHandlesEditPolicy.java   
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;
}
项目:ermaster-k    文件:ImageInfo.java   
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;
}
项目:ForgedUI-Eclipse    文件:DiagramOutlinePage2.java   
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);
    }
}
项目:NEXCORE-UML-Modeler    文件:DiagramConnectionEditPolicy.java   
/**
 * @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;
}
项目:NEXCORE-UML-Modeler    文件:AbstractDiagramEditor.java   
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);

}