public void run() { if (true) { //add all components in the document DesignComponent root = designDocument.getRootComponent(); GameController.this.modelComponent(root); GameController.this.registerListeners(designIdMap.keySet().toArray()); DesignEventFilter f = new DesignEventFilter(); f.setGlobal(true); f.addComponentFilter(root, true); designDocument.getListenerManager().addDesignListener(GameController.this, f); } } });
public void run () { GameAccessController controller = doc.getListenerManager().getAccessController(GameAccessController.class); gameDesign[0] = controller.getGameDesign(); } });
void rootChangeHappened (DesignComponent root) { assert Debug.isFriend (DesignDocument.class, "setRootComponent"); // NOI18N assert assertEventAllowed; listenerManager.addAffectedComponentHierarchy (root); discardAllEdits = true; }
public void setDesignDocument(DesignDocument document) { if (document != null) { PropertiesNodesManager.this.document = document; document.getListenerManager().addDesignListener(this, new DesignEventFilter().setGlobal(true)); ActiveDocumentSupport.getDefault().addActiveDocumentListener(this); ActiveViewSupport.getDefault().addActiveViewListener(this); } else if (this.document != null) { ActiveDocumentSupport.getDefault().removeActiveDocumentListener(this); ActiveViewSupport.getDefault().removeActiveViewListener(this); this.document.getListenerManager().removeDesignListener(this); this.document.getTransactionManager().readAccess(new Runnable() { public void run() { DesignComponent root = PropertiesNodesManager.this.document.getRootComponent(); for (DesignComponent c : root.getComponents()) { cleanUpAll(c); } } }); this.document = null; view = null; propertySupportMap = null; sheetMap = null; nodesMap = null; } }
@Override final void setNotifyDetached (DesignComponent component) { super.setNotifyDetached (component); if (listener != null) component.getDocument ().getListenerManager ().removeDesignListener (listener); state = State.REMOVING_DEPENDENCIES; notifyDetached (component); state = State.DISABLED; }
clearCaches (); invokeValidators (designEvent);
void componentDescriptorChangeHappened (DesignComponent component, Collection<? extends Presenter> presentersToRemove, Collection<Presenter> presentersToAdd, boolean useUndo) { assert Debug.isFriend (DesignComponent.class, "setComponentDescriptor"); // NOI18N assert assertEventAllowed; listenerManager.addComponentDescriptorChanged (component, presentersToRemove, presentersToAdd); if (useUndo) discardAllEdits = true; }
ListenerManager (DesignDocument document) { this.document = document; clearCaches (); controllers = AccessControllerFactoryRegistry.createAccessControllers (document); presenterEventManager = new PresenterEventManager (); }
void writePropertyHappened (DesignComponent component, String propertyName, PropertyValue oldValue, PropertyValue newValue) { assert Debug.isFriend (DesignComponent.class, "writeProperty"); // NOI18N assert assertEventAllowed; listenerManager.addAffectedDesignComponent (component, propertyName, oldValue); undoableEditHappened (new WritePropertyEdit (component, propertyName, oldValue, newValue)); }
/** * Adds dependency of the presenter on one that is registered on a specified component under a specified presenter class. * The presenter instance is resolved dynamically. Therefore when a component changes its presenter instances, * this dependency is still working. * <p/> * Note: This method could be called from notifyAttached method only. * @param component the component * @param presenterClass the presenter class */ protected final void addDependency (DesignComponent component, Class<? extends Presenter> presenterClass) { assert state == State.ADDING_DEPENDENCIES; if (listener == null) listener = new Listener (); component.getDocument ().getListenerManager ().addPresenterListener (component, presenterClass, listener); }
/** * Creates an instance of document. * @param documentInterface the documentInterface interface */ public DesignDocument (DocumentInterface documentInterface) { this.documentInterface = documentInterface; descriptorRegistry = DescriptorRegistry.getDescriptorRegistry (documentInterface.getProjectType (), documentInterface.getProjectID ()); listenerManager = new ListenerManager (this); transactionManager = new TransactionManager (this, descriptorRegistry, listenerManager); uid2components = new HashMap<Long, TimedWeakReference> (100); componentIDCounter = 0; selectedComponents = Collections.emptySet (); descriptorRegistry.addRegistryListener (new DescriptorRegistryListener() { public void descriptorRegistryUpdated () { updateDescriptorReferences (); } }); }
private void fireActiveDocumentChanged (DesignDocument deactivatedDocument, final DesignDocument activatedDocument) { Listener[] Listeners; synchronized (listeners) { Listeners = listeners.toArray (new Listener[listeners.size ()]); } for (Listener listener : Listeners) { if (listener != null) listener.activeDocumentChanged (deactivatedDocument, activatedDocument); } if (deactivatedDocument != activatedDocument) { if (deactivatedDocument != null) { if (selectionListener == null) Debug.warning ("SelectionListener does not exist but it should"); // NOI18N else deactivatedDocument.getListenerManager ().removeDesignListener (selectionListener); } if (activatedDocument != null) { activatedDocument.getTransactionManager ().readAccess (new Runnable () { public void run () { activatedDocument.getListenerManager ().addDesignListener (selectionListener = new SelectionDesignListener (activatedDocument), FILTER_SELECTION); fireActiveComponentsChanged (activatedDocument.getSelectedComponents ()); } }); } else { fireActiveComponentsChanged (Collections.<DesignComponent>emptyList ()); } } }
public void run () { activatedDocument.getListenerManager ().addDesignListener (selectionListener = new SelectionDesignListener (activatedDocument), FILTER_SELECTION); fireActiveComponentsChanged (activatedDocument.getSelectedComponents ()); } });
this.document.getListenerManager().removeDesignListener(this); this.removeListeners(designIdMap.keySet().toArray()); oldGameDesign.removeGlobalRepositoryListener(this);
public void run () { if (designDocument != null) { ScreenAccessController accessController = designDocument.getListenerManager ().getAccessController (ScreenAccessController.class); if (accessController != null) accessController.hideNotify (); final ScreenAccessController accessController = designDocument != null ? designDocument.getListenerManager ().getAccessController (ScreenAccessController.class) : null; if (accessController != null) { accessController.showNotify ();
void parentChangeHappened (DesignComponent previousParent, DesignComponent parent, DesignComponent child) { assert Debug.isFriend (DesignComponent.class, "addComponent") || Debug.isFriend (DesignComponent.class, "removeComponent"); // NOI18N assert assertEventAllowed; listenerManager.addAffectedComponentHierarchy (previousParent); listenerManager.addAffectedComponentHierarchy (parent); listenerManager.addAffectedComponentHierarchy (child); undoableEditHappened (new SetParentEdit (previousParent, parent, child)); }
@Override final void setNotifyAttached (DesignComponent component) { super.setNotifyAttached (component); state = State.ADDING_DEPENDENCIES; notifyAttached (component); state = State.DISABLED; DesignEventFilter filter = getEventFilter (); if (filter != null) { if (listener == null) listener = new Listener (); component.getDocument ().getListenerManager ().addDesignListener (listener, filter); } }
public void run () { GameAccessController controller = activatedDocument.getListenerManager().getAccessController(GameAccessController.class); GameBuilderNavigator.this.gameDesign = controller.getGameDesign(); GameBuilderNavigator.this.gameDesign.getMainView().addEditorManagerListener(GameBuilderNavigator.this); Editable editable = GameBuilderNavigator.this.gameDesign.getMainView().getCurrentEditable(); if (editable == null) return; navigator[0] = editable.getNavigator(); } });
public void run() { GameAccessController controller = doc.getListenerManager().getAccessController(GameAccessController.class); if (controller == null) return; GameBuilderNavigator.this.gameDesign = controller.getGameDesign(); if (DEBUG) System.out.println("\t\t gameDesign = " + controller.getGameDesign()); // NOI18N GameBuilderNavigator.this.gameDesign.getMainView().addEditorManagerListener(GameBuilderNavigator.this); Editable editable = GameBuilderNavigator.this.gameDesign.getMainView().getCurrentEditable(); if (editable == null) { return; } navigator[0] = editable.getNavigator(); } });