1 19 20 package org.netbeans.modules.xml.schema.abe; 21 22 import java.beans.PropertyChangeListener ; 23 import java.beans.PropertyChangeSupport ; 24 import java.util.Iterator ; 25 import javax.swing.JScrollPane ; 26 import org.netbeans.modules.xml.axi.AXIModel; 27 import org.netbeans.modules.xml.schema.model.SchemaModel; 28 import org.netbeans.spi.palette.PaletteController; 29 import org.openide.loaders.DataObject; 30 import org.openide.util.Lookup; 31 import org.openide.windows.TopComponent; 32 33 37 public class InstanceUIContext { 38 42 protected InstanceDesignerPanel instanceDesignerPanel; 43 protected PaletteController paletteController; 44 private boolean userInducedEventMode; 45 private JScrollPane instanceDesignerScrollPane; 46 private TopComponent topComponent; 47 private DataObject schemaDataObject; 48 private ComponentSelectionManager componentSelectionManager; 49 private MultiComponentActionManager mcaManager; 50 51 protected InstanceUIContext(){ 52 componentSelectionManager = new ComponentSelectionManager(this); 53 mcaManager = new MultiComponentActionManager(this); 54 } 55 56 public InstanceDesignerPanel getInstanceDesignerPanel() { 57 return instanceDesignerPanel; 58 } 59 60 public SchemaModel getSchemaModel() { 61 return getInstanceDesignerPanel().getSchemaModel(); 62 } 63 64 public ComponentSelectionManager getComponentSelectionManager() { 65 return componentSelectionManager; 66 } 67 68 public MultiComponentActionManager getMultiComponentActionManager(){ 69 return mcaManager; 70 } 71 72 public boolean isUserInducedEventMode() { 73 return this.userInducedEventMode; 74 } 75 76 public void setUserInducedEventMode(boolean userInducedEventMode) { 77 this.userInducedEventMode = userInducedEventMode; 78 if(!userInducedEventMode) 79 this.userActedComponent = null; 80 } 81 82 ABEBaseDropPanel userActedComponent; 83 public void setUserInducedEventMode(boolean eventMode, ABEBaseDropPanel userActedComponent){ 84 setUserInducedEventMode(eventMode); 85 this.userActedComponent = userActedComponent; 86 } 87 88 public ABEBaseDropPanel getUserActedComponent(){ 89 return userActedComponent; 90 } 91 92 public void resetUserActedComponent() { 93 this.userActedComponent = null; 94 } 95 96 public JScrollPane getInstanceDesignerScrollPane() { 97 return instanceDesignerScrollPane; 98 } 99 100 public void setInstanceDesignerScrollPane(JScrollPane instanceDesignerScrollPane) { 101 this.instanceDesignerScrollPane = instanceDesignerScrollPane; 102 } 103 104 public TopComponent getTopComponent(){ 105 return topComponent; 106 } 107 108 public Lookup getLookup() { 109 return getSchemaDataObject().getNodeDelegate().getLookup(); 110 } 111 112 public DataObject getSchemaDataObject() { 113 return schemaDataObject; 114 } 115 116 void showPopupMenu() { 117 throw new UnsupportedOperationException ("Not yet implemented"); 118 } 119 120 public AXIModel getAXIModel(){ 121 return instanceDesignerPanel.getAXIModel(); 122 } 123 124 public NamespacePanel getNamespacePanel(){ 125 return getInstanceDesignerPanel().getNamespacePanel(); 126 } 127 128 private FocusTraversalManager focusTraversalManager; 129 public void setFocusTraversalManager(FocusTraversalManager focusTraversalManager) { 130 this.focusTraversalManager = focusTraversalManager; 131 } 132 133 public FocusTraversalManager getFocusTraversalManager() { 134 return this.focusTraversalManager; 135 } 136 137 PropertyChangeSupport pcs; 138 public void addPropertyChangeListener(PropertyChangeListener pcl){ 139 if(pcs == null) 140 pcs = new PropertyChangeSupport (this); 141 pcs.addPropertyChangeListener(pcl); 142 } 143 144 public void removePropertyChangeListener(PropertyChangeListener pcl){ 145 if(pcs == null) 146 return; 147 pcs.removePropertyChangeListener(pcl); 148 } 149 150 public void shutdown() { 151 pcs.firePropertyChange(InstanceDesignConstants.PROP_SHUTDOWN, null, true); 152 this.componentSelectionManager = null; 153 this.mcaManager = null; 154 this.pcs = null; 155 this.userActedComponent = null; 156 this.focusTraversalManager = null; 157 } 158 159 void initialize(TopComponent tc, DataObject schemaDataObject, 160 InstanceDesignerPanel instanceDesignerPanel, PaletteController paletteController) { 161 this.topComponent = tc; 162 this.schemaDataObject = schemaDataObject; 163 this.paletteController = paletteController; 164 this.instanceDesignerPanel = instanceDesignerPanel; 165 } 166 } 167 | Popular Tags |