static void replace( GregorianCalendarManager manager, String oldName, String newName, IGregorianCalendarProvider newObj, ItemWsNode node) { manager.remove(oldName); manager.set(newName, newObj); node.getWorkspace().remove(node.getItem()); node.getWorkspace().add(CalendarDocumentManager.systemItem(newName, newObj)); }
@Override public void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException { if (enable && ExplorerManager.PROP_SELECTED_NODES.equals(evt.getPropertyName())) { Node[] nodes = (Node[]) evt.getNewValue(); if (nodes.length > 0 && ((DecoratedNode) nodes[0]).getOriginal() instanceof ItemWsNode) { ItemWsNode node = (ItemWsNode) ((DecoratedNode) nodes[0]).getOriginal(); setSpecification((ISaSpecification) node.getItem().getElement()); setIcon(node.getIcon(BeanInfo.ICON_COLOR_16x16)); } else { setSpecification(null); setIcon(null); } } }
@Override protected void performAction(ItemWsNode context) { WorkspaceItem<TsVariables> cur = (WorkspaceItem<TsVariables>) context.getItem(); if (cur != null && !cur.isReadOnly()) { // create the input dialog String oldName = cur.getDisplayName(), newName; VarsName nd = new VarsName(cur.getFamily(), NAME_MESSAGE, RENAME_TITLE, oldName); nd.addPropertyChangeListener( new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals(NotifyDescriptor.PROP_DETAIL)) {} } }); if (DialogDisplayer.getDefault().notify(nd) != NotifyDescriptor.OK_OPTION) { return; } newName = nd.getInputText(); if (newName.equals(oldName)) return; ProcessingContext.getActiveContext().getTsVariableManagers().rename(oldName, newName); cur.setDisplayName(newName); WorkspaceFactory.Event ev = new WorkspaceFactory.Event( cur.getOwner(), cur.getId(), WorkspaceFactory.Event.ITEMRENAMED); WorkspaceFactory.getInstance().notifyEvent(ev); } }
@Override protected boolean enable(ItemWsNode context) { WorkspaceItem<?> cur = context.getItem(); return cur != null && !cur.isReadOnly(); }