/** * * set genericComponent to selected/hovered component in palette * * @param paletteInternalController * @return */ private CreateRequest setGenericComponent(EditPart paletteInternalController) { CombinedTemplateCreationEntry addedPaletteTool = (CombinedTemplateCreationEntry) paletteInternalController .getModel(); CreateRequest componentRequest = new CreateRequest(); componentRequest.setFactory(new SimpleFactory((Class) addedPaletteTool .getTemplate())); genericComponent = (Component) componentRequest .getNewObject(); logger.debug("genericComponent - " + genericComponent.toString()); return componentRequest; }
private CreationToolEntry createToolEntry(final Class<?> nodeClass,final String name,String desc,final int width,final int height){ SimpleFactory nodeFactory=new SimpleFactory(nodeClass){ @Override public Object getNewObject() { AbstractNodeElement node=instanceNode(nodeClass,name,width,height); return node; } }; String nodeName=instanceNode(nodeClass,name,width,height).nodeName(); NodeImageConfig config=Activator.getPreference().getNodeImageConfigByName(nodeName); if(config==null){ throw new RuntimeException("当前没有为名为"+nodeName+"的节点预定义配置信息!"); } ImageDescriptor descriptor=ImageDescriptor.createFromImage(config.getSmallImage()); return new CombinedTemplateCreationEntry(name,desc,nodeFactory,descriptor,descriptor); }
private CombinedTemplateCreationEntry getComponentToAddInContainer(ELTGraphicalEditor eLEtlGraphicalEditor, Component componentConfig) { Class<?> clazz = DynamicClassProcessor.INSTANCE.createClass(componentConfig); CombinedTemplateCreationEntry component = new CombinedTemplateCreationEntry(componentConfig.getNameInPalette(), null, clazz, new SimpleFactory(clazz), ImageDescriptor.createFromURL(eLEtlGraphicalEditor.prepareIconPathURL(componentConfig .getPaletteIconPath())), ImageDescriptor.createFromURL(eLEtlGraphicalEditor .prepareIconPathURL(componentConfig.getPaletteIconPath()))); return component; }
private void createShapesDrawer(PaletteRoot palette) throws RuntimeException, SAXException, IOException { Map<String, PaletteDrawer> categoryPaletteConatiner = new HashMap<>(); for (CategoryType category : CategoryType.values()) { if(category.name().equalsIgnoreCase(Constants.UNKNOWN_COMPONENT_CATEGORY)){ continue; } PaletteDrawer p = createPaletteContainer(category.name()); addContainerToPalette(palette, p); categoryPaletteConatiner.put(category.name(), p); } List<Component> componentsConfig = XMLConfigUtil.INSTANCE.getComponentConfig(); //To show the components in sorted order in palette Collections.sort(componentsConfig, new Comparator<Component>() { public int compare(Component component1, Component component2) { return component1.getNameInPalette().compareToIgnoreCase(component2.getNameInPalette()); }; }); for (Component componentConfig : componentsConfig) { Class<?> clazz = DynamicClassProcessor.INSTANCE.createClass(componentConfig); if(componentConfig.getName().equalsIgnoreCase(Constants.UNKNOWN_COMPONENT)){ continue; } CombinedTemplateCreationEntry component = new CombinedTemplateCreationEntry( componentConfig.getNameInPalette(), null, clazz, new SimpleFactory(clazz), ImageDescriptor.createFromURL( prepareIconPathURL(componentConfig.getPaletteIconPath())), ImageDescriptor.createFromURL( prepareIconPathURL(componentConfig.getPaletteIconPath()))); categoryPaletteConatiner.get(componentConfig.getCategory().name()).add(component); } }
/** * Create a transfer drop target listener. When using a * CombinedTemplateCreationEntry tool in the palette, this will enable model * element creation by dragging from the palette. * * @see #createPaletteViewerProvider() */ public TransferDropTargetListener createTransferDropTargetListener() { return new TemplateTransferDropTargetListener(getGraphicalViewer()) { @Override protected CreationFactory getFactory(Object template) { return new SimpleFactory((Class) template); } }; }
private TransferDropTargetListener createTransferDropTargetListener() { return new TemplateTransferDropTargetListener(getGraphicalViewer()) { protected CreationFactory getFactory(Object template) { return new SimpleFactory((Class<?>) template); } }; }
private static PaletteDrawer createPaletteDrawer() { PaletteDrawer drawer = new PaletteDrawer("Elements"); CombinedTemplateCreationEntry table = new CombinedTemplateCreationEntry("Table", "This is table tool", Table.class, new SimpleFactory( Table.class), Activator.getImageDescriptor(Activator.IMAGE_TABLE_16), Activator.getImageDescriptor(Activator.IMAGE_TABLE_24)); drawer.add(table); CombinedTemplateCreationEntry column = new CombinedTemplateCreationEntry("Column", "This is column tool", Column.class, new SimpleFactory( Column.class), Activator.getImageDescriptor(Activator.IMAGE_COLUMN_16), Activator.getImageDescriptor(Activator.IMAGE_COLUMN_24)); drawer.add(column); ConnectionCreationToolEntry connection = new ConnectionCreationToolEntry("Connection", "this is table connection", new SimpleFactory( Connection.class), Activator.getImageDescriptor(Activator.IMAGE_CONNECTION_16), Activator.getImageDescriptor(Activator.IMAGE_CONNECTION_24)); drawer.add(connection); return drawer; }
public InsertImageTool() { super(ResourceString.getResourceString("label.image.insert"), ResourceString .getResourceString("label.image.insert"), new SimpleFactory( InsertedImage.class), ERDiagramActivator .getImageDescriptor(ImageKey.IMAGE), ERDiagramActivator .getImageDescriptor(ImageKey.IMAGE)); }
private void setupTableViewTool(final PaletteGroup group) { group.add(new CreationToolEntry("Table", "Make new table object", new SimpleFactory(ERTable.class), Activator.getImageDescriptor(ImageKey.TABLE_NEW), Activator.getImageDescriptor(ImageKey.TABLE_NEW))); if (diagram.getDiagramContents().getSettings().isUseViewObject()) { // #for_erflute view is option group.add(new CreationToolEntry("View", "Make new view object", new SimpleFactory(ERView.class), Activator.getImageDescriptor(ImageKey.VIEW), Activator.getImageDescriptor(ImageKey.VIEW))); } }
private void setupNoteTool(final PaletteGroup group) { final CreationToolEntry noteToolEntry = new CreationToolEntry("Note", "Make new note for tables", new SimpleFactory(WalkerNote.class), Activator.getImageDescriptor(ImageKey.NOTE), Activator.getImageDescriptor(ImageKey.NOTE)); group.add(noteToolEntry); final ConnectionCreationToolEntry relationNoteTool = new ConnectionCreationToolEntry("Note Connection", "Connect note to tables", new SimpleFactory(CommentConnection.class), Activator.getImageDescriptor(ImageKey.COMMENT_CONNECTION), Activator.getImageDescriptor(ImageKey.COMMENT_CONNECTION)); group.add(relationNoteTool); }
/** * Create a transfer drop target listener. When using a * CombinedTemplateCreationEntry tool in the palette, this will enable model * element creation by dragging from the palette. * * @see #createPaletteViewerProvider() */ private TransferDropTargetListener createTransferDropTargetListener() { return new TemplateTransferDropTargetListener(getGraphicalViewer()) { protected CreationFactory getFactory(Object template) { return new SimpleFactory((Class) template); } }; }
/** Create the "Shapes" drawer. */ private static PaletteContainer createShapesDrawer() { PaletteDrawer componentsDrawer = new PaletteDrawer("Shapes"); CombinedTemplateCreationEntry component = new CombinedTemplateCreationEntry("Rectangle", "Create a rectangular shape", RectangularShape.class, new SimpleFactory(RectangularShape.class), ImageDescriptor.createFromFile(ShapesPlugin.class, "icons/rectangle16.gif"), ImageDescriptor.createFromFile(ShapesPlugin.class, "icons/rectangle24.gif")); componentsDrawer.add(component); return componentsDrawer; }
public InsertImageTool() { super(ResourceString.getResourceString("label.image.insert"), ResourceString.getResourceString("label.image.insert"), new SimpleFactory(InsertedImage.class), ERDiagramActivator.getImageDescriptor(ImageKey.IMAGE), ERDiagramActivator.getImageDescriptor(ImageKey.IMAGE)); }
public InsertImageTool() { super("Image on Diagram", "Insert image on diagram", new SimpleFactory(InsertedImage.class), Activator.getImageDescriptor(ImageKey.IMAGE), Activator.getImageDescriptor(ImageKey.IMAGE)); }
public ERDiagramPaletteRoot(ERDiagram diagram) { this.diagram = diagram; final PaletteGroup group = new PaletteGroup(""); final PanningSelectionToolEntry selectionToolEntry = setupSelectionTool(group); // what is this? by jflute // group.add(new MarqueeToolEntry()); setupTableViewTool(group); // #deleted relationship creating new column is implemented as option of "1:n relationship" //final ConnectionCreationToolEntry toolEntry1 = // new ConnectionCreationToolEntry("1:n new column", DisplayMessages.getMessage("label.create.relation.one.to.many"), // new SimpleFactory(Relationship.class), Activator.getImageDescriptor(ImageKey.RELATION_1_N), // Activator.getImageDescriptor(ImageKey.RELATION_1_N)); //toolEntry1.setToolClass(RelationCreationTool.class); //group.add(toolEntry1); final ConnectionCreationToolEntry toolEntry2 = new ConnectionCreationToolEntry("1:n Relationship", "Make relationship of tables", new SimpleFactory( RelationByExistingColumns.class), Activator.getImageDescriptor(ImageKey.RELATION_1_N), Activator.getImageDescriptor(ImageKey.RELATION_1_N)); toolEntry2.setToolClass(RelationByExistingColumnsCreationTool.class); group.add(toolEntry2); // #deleted unneeded by jflute //final ConnectionCreationToolEntry toolEntry3 = // new ConnectionCreationToolEntry(DisplayMessages.getMessage("label.relation.many.to.many"), // DisplayMessages.getMessage("label.create.relation.many.to.many"), new SimpleFactory(RelatedTable.class), // Activator.getImageDescriptor(ImageKey.RELATION_N_N), Activator.getImageDescriptor(ImageKey.RELATION_N_N)); //toolEntry3.setToolClass(RelatedTableCreationTool.class); //group.add(toolEntry3); final ConnectionCreationToolEntry seflRelationshipToolEntry = new ConnectionCreationToolEntry("Self Relationship", "Make relationship in same table", new SimpleFactory( SelfRelation.class), Activator.getImageDescriptor(ImageKey.RELATION_SELF), Activator.getImageDescriptor(ImageKey.RELATION_SELF)); seflRelationshipToolEntry.setToolClass(SelfRelationCreationTool.class); group.add(seflRelationshipToolEntry); setupSeparator(group); setupNoteTool(group); setupSeparator(group); setupWalkerGroupTool(group); setupSeparator(group); setupImageTool(group); add(group); setDefaultEntry(selectionToolEntry); }
private void setupWalkerGroupTool(final PaletteGroup group) { group.add(new CreationToolEntry("Table Group", "Make new group for tables by border", new SimpleFactory(WalkerGroup.class), Activator.getImageDescriptor(ImageKey.CATEGORY), Activator.getImageDescriptor(ImageKey.CATEGORY))); }
public BODesignerEditorPaletteRoot() { PaletteGroup group = new PaletteGroup(""); //增加Select 图标 PanningSelectionToolEntry selectionToolEntry = new PanningSelectionToolEntry( ConstantResource.LABEL_SELECT); selectionToolEntry.setToolClass(MovablePanningSelectionTool.class); selectionToolEntry.setLargeIcon(Activator.getImageDescriptor("icons/arrow16.gif")); selectionToolEntry.setSmallIcon(Activator.getImageDescriptor("icons/arrow16.gif")); group.add(selectionToolEntry); group.add(new CreationToolEntry("Note", "Note", new SimpleFactory(NoteModel.class), null, null)); group.add(new PaletteSeparator()); //增加Table 图标 group.add(new CreationToolEntry( ConstantResource.LABEL_TABLE, ConstantResource.LABEL_CREATE_TABLE, new SimpleFactory(HdbTableModel.class), Activator.getImageDescriptor("icons/model_new.gif"), Activator.getImageDescriptor("icons/model_new.gif"))); group.add(new CreationToolEntry( ConstantResource.LABEL_VIEW, ConstantResource.LABEL_CREATE_VIEW, new SimpleFactory(ViewModel.class), Activator.getImageDescriptor("icons/view.gif"), Activator.getImageDescriptor("icons/view.gif"))); group.add(new ConnectionCreationToolEntry("Connection", "Create a connection", null, null, null)); group.add(new PaletteSeparator()); //添加关系 /*ConnectionCreationToolEntry toolEntry1N = new ConnectionCreationToolEntry( ConstantResource.label_relation_one_to_many, ConstantResource.label_create_relation_one_to_many, new SimpleFactory(null), Activator .getImageDescriptor(ImageResource.RELATION_1_N), Activator .getImageDescriptor(ImageResource.RELATION_1_N)); toolEntry1N.setToolClass(null); group.add(toolEntry1N); ConnectionCreationToolEntry toolEntryNN = new ConnectionCreationToolEntry( ConstantResource.label_relation_many_to_many, ConstantResource.label_create_relation_many_to_many, new SimpleFactory(null), Activator .getImageDescriptor(ImageResource.RELATION_N_N), Activator .getImageDescriptor(ImageResource.RELATION_N_N)); toolEntryNN.setToolClass(null); group.add(toolEntryNN); ConnectionCreationToolEntry toolEntrySelf = new ConnectionCreationToolEntry( ConstantResource.label_relation_self, ConstantResource.label_create_relation_self, new SimpleFactory(null), Activator .getImageDescriptor(ImageResource.RELATION_SELF), Activator .getImageDescriptor(ImageResource.RELATION_SELF)); toolEntrySelf.setToolClass(null); group.add(toolEntrySelf); */ this.add(group); this.setDefaultEntry(selectionToolEntry); }
/** * Returns the appropriate Factory object to be used for the specified * template. This Factory is used on the CreateRequest that is sent to the * target EditPart. * * @param template * the template Object * @return a Factory */ protected CreationFactory getFactory(Object template) { if (template instanceof CreationFactory) { return ((CreationFactory) template); } else if (template instanceof Class) { return new SimpleFactory((Class) template); } else return null; }
public ERDiagramPaletteRoot() { final PaletteGroup group = new PaletteGroup(""); // when tooltip equals to label, tooltip is not displayed. final PanningSelectionToolEntry selectionTool = new PanningSelectionToolEntry(ResourceString.getResourceString("label.select")); selectionTool.setToolClass(MovablePanningSelectionTool.class); selectionTool.setLargeIcon(ERDiagramActivator.getImageDescriptor(ImageKey.ARROW)); selectionTool.setSmallIcon(ERDiagramActivator.getImageDescriptor(ImageKey.ARROW)); group.add(selectionTool); // group.add(new MarqueeToolEntry()); group.add(new CreationToolEntry(ResourceString.getResourceString("label.table"), ResourceString.getResourceString("label.create.table"), new SimpleFactory(ERTable.class), ERDiagramActivator.getImageDescriptor(ImageKey.TABLE_NEW), ERDiagramActivator.getImageDescriptor(ImageKey.TABLE_NEW))); group.add(new CreationToolEntry(ResourceString.getResourceString("label.view"), ResourceString.getResourceString("label.create.view"), new SimpleFactory(View.class), ERDiagramActivator.getImageDescriptor(ImageKey.VIEW), ERDiagramActivator.getImageDescriptor(ImageKey.VIEW))); final ConnectionCreationToolEntry oneToManyTool = new ConnectionCreationToolEntry(ResourceString.getResourceString("label.relation.one.to.many"), ResourceString.getResourceString("label.create.relation.one.to.many"), new SimpleFactory(Relation.class), ERDiagramActivator.getImageDescriptor(ImageKey.RELATION_1_N), ERDiagramActivator.getImageDescriptor(ImageKey.RELATION_1_N)); oneToManyTool.setToolClass(RelationCreationTool.class); group.add(oneToManyTool); final ConnectionCreationToolEntry relationByExistingTool = new ConnectionCreationToolEntry(ResourceString.getResourceString("label.relation.by.existing.columns"), ResourceString.getResourceString("label.create.relation.by.existing.columns"), new SimpleFactory(RelationByExistingColumns.class), ERDiagramActivator.getImageDescriptor(ImageKey.RELATION_1_N), ERDiagramActivator.getImageDescriptor(ImageKey.RELATION_1_N)); relationByExistingTool.setToolClass(RelationByExistingColumnsCreationTool.class); group.add(relationByExistingTool); final ConnectionCreationToolEntry manyToManyTool = new ConnectionCreationToolEntry(ResourceString.getResourceString("label.relation.many.to.many"), ResourceString.getResourceString("label.create.relation.many.to.many"), new SimpleFactory(RelatedTable.class), ERDiagramActivator.getImageDescriptor(ImageKey.RELATION_N_N), ERDiagramActivator.getImageDescriptor(ImageKey.RELATION_N_N)); manyToManyTool.setToolClass(RelatedTableCreationTool.class); group.add(manyToManyTool); final ConnectionCreationToolEntry selfRelationTool = new ConnectionCreationToolEntry(ResourceString.getResourceString("label.relation.self"), ResourceString.getResourceString("label.create.relation.self"), new SimpleFactory(SelfRelation.class), ERDiagramActivator.getImageDescriptor(ImageKey.RELATION_SELF), ERDiagramActivator.getImageDescriptor(ImageKey.RELATION_SELF)); selfRelationTool.setToolClass(SelfRelationCreationTool.class); group.add(selfRelationTool); group.add(new PaletteSeparator()); final CreationToolEntry noteTool = new CreationToolEntry(ResourceString.getResourceString("label.note"), ResourceString.getResourceString("label.create.note"), new SimpleFactory(Note.class), ERDiagramActivator.getImageDescriptor(ImageKey.NOTE), ERDiagramActivator.getImageDescriptor(ImageKey.NOTE)); group.add(noteTool); final ConnectionCreationToolEntry commentConnectionTool = new ConnectionCreationToolEntry(ResourceString.getResourceString("label.relation.note"), ResourceString.getResourceString("label.create.relation.note"), new SimpleFactory(CommentConnection.class), ERDiagramActivator.getImageDescriptor(ImageKey.COMMENT_CONNECTION), ERDiagramActivator.getImageDescriptor(ImageKey.COMMENT_CONNECTION)); group.add(commentConnectionTool); group.add(new PaletteSeparator()); group.add(new CreationToolEntry(ResourceString.getResourceString("label.category"), ResourceString.getResourceString("label.create.category"), new SimpleFactory(Category.class), ERDiagramActivator.getImageDescriptor(ImageKey.CATEGORY), ERDiagramActivator.getImageDescriptor(ImageKey.CATEGORY))); group.add(new PaletteSeparator()); group.add(new InsertImageTool()); this.add(group); setDefaultEntry(selectionTool); }