@Nullable public Object getData(String dataId) { Object data = myPaletteWindow.getData(dataId); if (data != null) return data; Project project = CommonDataKeys.PROJECT.getData(myPaletteWindow); return myGroup.getData(project, dataId); }
public void showGroupPopupMenu(final Component comp, final int x, final int y) { ActionGroup group = myGroup.getPopupActionGroup(); if (group != null) { ActionPopupMenu popupMenu = ActionManager.getInstance().createActionPopupMenu(ActionPlaces.UNKNOWN, group); popupMenu.getComponent().show(comp, x, y); } }
public PaletteGroupHeader(PaletteWindow paletteWindow, PaletteGroup group) { myPaletteWindow = paletteWindow; myGroup = group; if (group.getName() == null) { setVisible(false); } else { setText(group.getName()); } setSelected(true); addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if (myComponentList != null) { myComponentList.setVisible(isSelected()); } } }); addMouseListener( new PopupHandler() { public void invokePopup(Component comp, int x, int y) { myPaletteWindow.setLastFocusedGroup(PaletteGroupHeader.this); showGroupPopupMenu(comp, x, y); } }); setIcon(UIUtil.getTreeCollapsedIcon()); setSelectedIcon(UIUtil.getTreeExpandedIcon()); setFont(getFont().deriveFont(Font.BOLD)); setFocusPainted(false); setMargin(new Insets(0, 3, 0, 3)); setOpaque(true); if (getBorder() instanceof CompoundBorder) { // from BasicLookAndFeel Dimension pref = getPreferredSize(); pref.height -= 3; setPreferredSize(pref); } DnDManager.getInstance() .registerTarget( new DnDTarget() { public boolean update(DnDEvent aEvent) { setBorderPainted(true); aEvent.setDropPossible(aEvent.getAttachedObject() instanceof PaletteItem); return true; } public void drop(DnDEvent aEvent) { setBorderPainted(false); if (aEvent.getAttachedObject() instanceof PaletteItem) { myGroup.handleDrop( myPaletteWindow.getProject(), (PaletteItem) aEvent.getAttachedObject(), -1); } } public void cleanUpOnLeave() { setBorderPainted(false); } public void updateDraggedImage(Image image, Point dropPoint, Point imageOffset) {} }, this); addFocusListener( new FocusAdapter() { @Override public void focusGained(FocusEvent e) { myPaletteWindow.setLastFocusedGroup(PaletteGroupHeader.this); } }); initActions(); }