下面列出了java.awt.event.HierarchyBoundsListener#org.openide.awt.ToolbarPool 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void initToolbar() {
Toolbar toolbar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolbar.setBorder(b);
this.add(toolbar, BorderLayout.NORTH);
toolbar.add(ImportAction.get(ImportAction.class));
toolbar.add(((NodeAction) RemoveAction.get(RemoveAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(RemoveAllAction.get(RemoveAllAction.class));
toolbar.add(((NodeAction) SaveAsAction.get(SaveAsAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(SaveAllAction.get(SaveAllAction.class));
toolbar.add(StructuredViewAction.get(StructuredViewAction.class).getToolbarPresenter());
for (Toolbar tb : ToolbarPool.getDefault().getToolbars()) {
tb.setVisible(false);
}
initOrganizers();
}
private void initToolbar() {
Toolbar toolbar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolbar.setBorder(b);
this.add(toolbar, BorderLayout.NORTH);
toolbar.add(ImportAction.get(ImportAction.class));
toolbar.add(((NodeAction) RemoveAction.get(RemoveAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(RemoveAllAction.get(RemoveAllAction.class));
toolbar.add(((NodeAction) SaveAsAction.get(SaveAsAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(SaveAllAction.get(SaveAllAction.class));
toolbar.add(StructuredViewAction.get(StructuredViewAction.class).getToolbarPresenter());
for (Toolbar tb : ToolbarPool.getDefault().getToolbars()) {
tb.setVisible(false);
}
initOrganizers();
}
private void initToolbar() {
Toolbar toolbar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolbar.setBorder(b);
this.add(toolbar, BorderLayout.NORTH);
toolbar.add(ImportAction.get(ImportAction.class));
toolbar.add(((NodeAction) RemoveAction.get(RemoveAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(RemoveAllAction.get(RemoveAllAction.class));
toolbar.add(((NodeAction) SaveAsAction.get(SaveAsAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(SaveAllAction.get(SaveAllAction.class));
toolbar.add(StructuredViewAction.get(StructuredViewAction.class).getToolbarPresenter());
for (Toolbar tb : ToolbarPool.getDefault().getToolbars()) {
tb.setVisible(false);
}
initOrganizers();
}
@Override
public Dimension getMinimumSize() {
Dimension d = new Dimension(0,0);
d.height = toolbar.getMinimumSize().height;
if( toolbar.getComponentCount() <= 1 ) {
d.width += ToolbarPool.getDefault().getPreferredIconSize();
} else {
d.width += toolbar.getComponent(0).getMinimumSize().width;
if( toolbar.getComponentCount() > 1 )
d.width += toolbar.getComponent(1).getMinimumSize().width;
}
Insets insets = toolbar.getInsets();
if( null != insets )
d.width += insets.left + insets.right;
return d;
}
private void initToolbar() {
Toolbar toolbar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolbar.setBorder(b);
this.add(toolbar, BorderLayout.NORTH);
toolbar.add(ImportAction.get(ImportAction.class));
toolbar.add(((NodeAction) RemoveAction.get(RemoveAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(RemoveAllAction.get(RemoveAllAction.class));
toolbar.add(((NodeAction) SaveAsAction.get(SaveAsAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(SaveAllAction.get(SaveAllAction.class));
toolbar.add(StructuredViewAction.get(StructuredViewAction.class).getToolbarPresenter());
for (Toolbar tb : ToolbarPool.getDefault().getToolbars()) {
tb.setVisible(false);
}
initOrganizers();
}
private void initToolbar() {
Toolbar toolbar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolbar.setBorder(b);
this.add(toolbar, BorderLayout.NORTH);
toolbar.add(ImportAction.get(ImportAction.class));
toolbar.add(((NodeAction) SaveAsAction.get(SaveAsAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(SaveAllAction.get(SaveAllAction.class));
toolbar.add(((NodeAction) RemoveAction.get(RemoveAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(RemoveAllAction.get(RemoveAllAction.class));
toolbar.add(GarbageCollectAction.get(GarbageCollectAction.class).getToolbarPresenter());
for (Toolbar tb : ToolbarPool.getDefault().getToolbars()) {
tb.setVisible(false);
}
}
private void initToolbar() {
Toolbar toolbar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolbar.setBorder(b);
this.add(toolbar, BorderLayout.NORTH);
toolbar.add(ImportAction.get(ImportAction.class));
toolbar.add(((NodeAction) RemoveAction.get(RemoveAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(RemoveAllAction.get(RemoveAllAction.class));
toolbar.add(((NodeAction) SaveAsAction.get(SaveAsAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(SaveAllAction.get(SaveAllAction.class));
toolbar.add(StructuredViewAction.get(StructuredViewAction.class).getToolbarPresenter());
for (Toolbar tb : ToolbarPool.getDefault().getToolbars()) {
tb.setVisible(false);
}
initOrganizers();
}
private void initToolbar() {
Toolbar toolbar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolbar.setBorder(b);
this.add(toolbar, BorderLayout.NORTH);
toolbar.add(ImportAction.get(ImportAction.class));
toolbar.add(((NodeAction) RemoveAction.get(RemoveAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(RemoveAllAction.get(RemoveAllAction.class));
toolbar.add(((NodeAction) SaveAsAction.get(SaveAsAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(SaveAllAction.get(SaveAllAction.class));
toolbar.add(StructuredViewAction.get(StructuredViewAction.class).getToolbarPresenter());
for (Toolbar tb : ToolbarPool.getDefault().getToolbars()) {
tb.setVisible(false);
}
initOrganizers();
}
private void initToolbar() {
Toolbar toolbar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolbar.setBorder(b);
this.add(toolbar, BorderLayout.NORTH);
toolbar.add(ImportAction.get(ImportAction.class));
toolbar.add(((NodeAction) RemoveAction.get(RemoveAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(RemoveAllAction.get(RemoveAllAction.class));
toolbar.add(((NodeAction) SaveAsAction.get(SaveAsAction.class)).createContextAwareInstance(this.getLookup()));
toolbar.add(SaveAllAction.get(SaveAllAction.class));
toolbar.add(StructuredViewAction.get(StructuredViewAction.class).getToolbarPresenter());
for (Toolbar tb : ToolbarPool.getDefault().getToolbars()) {
tb.setVisible(false);
}
initOrganizers();
}
private FilterTopComponent() {
filterSettingsChangedEvent = new ChangedEvent<FilterTopComponent>(this);
initComponents();
setName(NbBundle.getMessage(FilterTopComponent.class, "CTL_FilterTopComponent"));
setToolTipText(NbBundle.getMessage(FilterTopComponent.class, "HINT_FilterTopComponent"));
// setIcon(Utilities.loadImage(ICON_PATH, true));
sequence = new FilterChain();
filterChain = new FilterChain();
initFilters();
manager = new ExplorerManager();
manager.setRootContext(new AbstractNode(new FilterChildren()));
associateLookup(ExplorerUtils.createLookup(manager, getActionMap()));
view = new CheckListView();
ToolbarPool.getDefault().setPreferredIconSize(16);
Toolbar toolBar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolBar.setBorder(b);
comboBox = new JComboBox();
toolBar.add(comboBox);
this.add(toolBar, BorderLayout.NORTH);
toolBar.add(SaveFilterSettingsAction.get(SaveFilterSettingsAction.class));
toolBar.add(RemoveFilterSettingsAction.get(RemoveFilterSettingsAction.class));
toolBar.addSeparator();
toolBar.add(MoveFilterUpAction.get(MoveFilterUpAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(MoveFilterDownAction.get(MoveFilterDownAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(RemoveFilterAction.get(RemoveFilterAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(NewFilterAction.get(NewFilterAction.class));
this.add(view, BorderLayout.CENTER);
filterSettings = new ArrayList<FilterSetting>();
updateComboBox();
comboBox.addActionListener(comboBoxActionListener);
setChain(filterChain);
}
private FilterTopComponent() {
filterSettingsChangedEvent = new ChangedEvent<FilterTopComponent>(this);
initComponents();
setName(NbBundle.getMessage(FilterTopComponent.class, "CTL_FilterTopComponent"));
setToolTipText(NbBundle.getMessage(FilterTopComponent.class, "HINT_FilterTopComponent"));
// setIcon(Utilities.loadImage(ICON_PATH, true));
sequence = new FilterChain();
filterChain = new FilterChain();
initFilters();
manager = new ExplorerManager();
manager.setRootContext(new AbstractNode(new FilterChildren()));
associateLookup(ExplorerUtils.createLookup(manager, getActionMap()));
view = new CheckListView();
ToolbarPool.getDefault().setPreferredIconSize(16);
Toolbar toolBar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolBar.setBorder(b);
comboBox = new JComboBox();
toolBar.add(comboBox);
this.add(toolBar, BorderLayout.NORTH);
toolBar.add(SaveFilterSettingsAction.get(SaveFilterSettingsAction.class));
toolBar.add(RemoveFilterSettingsAction.get(RemoveFilterSettingsAction.class));
toolBar.addSeparator();
toolBar.add(MoveFilterUpAction.get(MoveFilterUpAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(MoveFilterDownAction.get(MoveFilterDownAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(RemoveFilterAction.get(RemoveFilterAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(NewFilterAction.get(NewFilterAction.class));
this.add(view, BorderLayout.CENTER);
filterSettings = new ArrayList<FilterSetting>();
updateComboBox();
comboBox.addActionListener(comboBoxActionListener);
setChain(filterChain);
}
private FilterTopComponent() {
filterSettingsChangedEvent = new ChangedEvent<FilterTopComponent>(this);
initComponents();
setName(NbBundle.getMessage(FilterTopComponent.class, "CTL_FilterTopComponent"));
setToolTipText(NbBundle.getMessage(FilterTopComponent.class, "HINT_FilterTopComponent"));
// setIcon(Utilities.loadImage(ICON_PATH, true));
sequence = new FilterChain();
filterChain = new FilterChain();
initFilters();
manager = new ExplorerManager();
manager.setRootContext(new AbstractNode(new FilterChildren()));
associateLookup(ExplorerUtils.createLookup(manager, getActionMap()));
view = new CheckListView();
ToolbarPool.getDefault().setPreferredIconSize(16);
Toolbar toolBar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolBar.setBorder(b);
comboBox = new JComboBox();
toolBar.add(comboBox);
this.add(toolBar, BorderLayout.NORTH);
toolBar.add(SaveFilterSettingsAction.get(SaveFilterSettingsAction.class));
toolBar.add(RemoveFilterSettingsAction.get(RemoveFilterSettingsAction.class));
toolBar.addSeparator();
toolBar.add(MoveFilterUpAction.get(MoveFilterUpAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(MoveFilterDownAction.get(MoveFilterDownAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(RemoveFilterAction.get(RemoveFilterAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(NewFilterAction.get(NewFilterAction.class));
this.add(view, BorderLayout.CENTER);
filterSettings = new ArrayList<FilterSetting>();
updateComboBox();
comboBox.addActionListener(comboBoxActionListener);
setChain(filterChain);
}
/** Implements <code>WindowSystem</code> interface method. */
public synchronized void save() {
if( !loaded )
return; //nothing to save
if(DEBUG) {
debugLog("## PersistenceHandler.save"); // NOI18N
}
TopComponentTracker.getDefault().save();
ToolbarPool.getDefault().waitFinished();
WindowManagerConfig wmc = getConfig();
PersistenceManager.getDefault().saveWindowSystem(wmc);
}
public void actionPerformed(ActionEvent e) {
String name = ToolbarPool.getDefault().getConfiguration();
FileObject fo = FileUtil.getConfigFile( "Toolbars" ); //NOI18N
try {
fo.revert();
} catch (IOException ex) {
Logger.getLogger(ResetToolbarsAction.class.getName()).log( Level.FINE, null, ex );
}
ToolbarPool.getDefault().waitFinished();
ToolbarPool.getDefault().setConfiguration(name);
}
private void switchIconSize(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_switchIconSize
boolean state = checkSmallIcons.isSelected();
if (state) {
ToolbarPool.getDefault().setPreferredIconSize(16);
} else {
ToolbarPool.getDefault().setPreferredIconSize(24);
}
//Rebuild toolbar panel
//#43652: Find current toolbar configuration
String name = ToolbarPool.getDefault().getConfiguration();
ToolbarConfiguration tbConf = ToolbarConfiguration.findConfiguration(name);
if (tbConf != null) {
tbConf.refresh();
}
}
@Override
public void addNotify() {
super.addNotify();
ToolbarPool pool = ToolbarPool.getDefault();
checkSmallIcons.setSelected( pool.getPreferredIconSize() == 16 );
ToolbarConfiguration tc = ToolbarConfiguration.findConfiguration( pool.getConfiguration() );
if( null != tc ) {
tc.setToolbarButtonDragAndDropAllowed( true );
}
}
@Override
public void removeNotify() {
super.removeNotify();
ToolbarPool pool = ToolbarPool.getDefault();
final ToolbarConfiguration tc = ToolbarConfiguration.findConfiguration( pool.getConfiguration() );
if( null != tc ) {
tc.setToolbarButtonDragAndDropAllowed( false );
}
//remove empty toolbars
DataFolder folder = pool.getFolder();
DataObject[] children = folder.getChildren();
for( int i=0; i<children.length; i++ ) {
final DataFolder subFolder = children[i].getCookie( DataFolder.class );
if( null != subFolder && subFolder.getChildren().length == 0 ) {
SwingUtilities.invokeLater( new Runnable() {
@Override
public void run() {
try {
subFolder.delete();
ToolbarPool.getDefault().waitFinished();
if( null != tc ) {
tc.removeEmptyRows();
tc.save();
}
}
catch (IOException e) {
LOG.log(Level.WARNING, null, e);
}
}
});
}
}
}
/** @return preferred size */
@Override
public Dimension getPreferredSize () {
//#154970 for some reason the toolbar's preferred size keeps growing on GTK
//return new Dimension(GRIP_WIDTH,toolbar.getHeight() - BOTGAP - TOPGAP);
return new Dimension(GRIP_WIDTH,ToolbarPool.getDefault().getPreferredIconSize());
}
private FilterTopComponent() {
filterSettingsChangedEvent = new ChangedEvent<FilterTopComponent>(this);
initComponents();
setName(NbBundle.getMessage(FilterTopComponent.class, "CTL_FilterTopComponent"));
setToolTipText(NbBundle.getMessage(FilterTopComponent.class, "HINT_FilterTopComponent"));
// setIcon(Utilities.loadImage(ICON_PATH, true));
sequence = new FilterChain();
filterChain = new FilterChain();
initFilters();
manager = new ExplorerManager();
manager.setRootContext(new AbstractNode(new FilterChildren()));
associateLookup(ExplorerUtils.createLookup(manager, getActionMap()));
view = new CheckListView();
ToolbarPool.getDefault().setPreferredIconSize(16);
Toolbar toolBar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolBar.setBorder(b);
comboBox = new JComboBox();
toolBar.add(comboBox);
this.add(toolBar, BorderLayout.NORTH);
toolBar.add(SaveFilterSettingsAction.get(SaveFilterSettingsAction.class));
toolBar.add(RemoveFilterSettingsAction.get(RemoveFilterSettingsAction.class));
toolBar.addSeparator();
toolBar.add(MoveFilterUpAction.get(MoveFilterUpAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(MoveFilterDownAction.get(MoveFilterDownAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(RemoveFilterAction.get(RemoveFilterAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(NewFilterAction.get(NewFilterAction.class));
this.add(view, BorderLayout.CENTER);
filterSettings = new ArrayList<FilterSetting>();
updateComboBox();
comboBox.addActionListener(comboBoxActionListener);
setChain(filterChain);
}
private FilterTopComponent() {
filterSettingsChangedEvent = new ChangedEvent<>(this);
initComponents();
setName(NbBundle.getMessage(FilterTopComponent.class, "CTL_FilterTopComponent"));
setToolTipText(NbBundle.getMessage(FilterTopComponent.class, "HINT_FilterTopComponent"));
// setIcon(Utilities.loadImage(ICON_PATH, true));
sequence = new FilterChain();
filterChain = new FilterChain();
initFilters();
manager = new ExplorerManager();
manager.setRootContext(new AbstractNode(new FilterChildren()));
associateLookup(ExplorerUtils.createLookup(manager, getActionMap()));
view = new CheckListView();
ToolbarPool.getDefault().setPreferredIconSize(16);
Toolbar toolBar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolBar.setBorder(b);
comboBox = new JComboBox();
toolBar.add(comboBox);
this.add(toolBar, BorderLayout.NORTH);
toolBar.add(SaveFilterSettingsAction.get(SaveFilterSettingsAction.class));
toolBar.add(RemoveFilterSettingsAction.get(RemoveFilterSettingsAction.class));
toolBar.addSeparator();
toolBar.add(NewFilterAction.get(NewFilterAction.class));
toolBar.add(RemoveFilterAction.get(RemoveFilterAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(MoveFilterUpAction.get(MoveFilterUpAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(MoveFilterDownAction.get(MoveFilterDownAction.class).createContextAwareInstance(this.getLookup()));
this.add(view, BorderLayout.CENTER);
filterSettings = new ArrayList<>();
updateComboBox();
comboBox.addActionListener(comboBoxActionListener);
setChain(filterChain);
}
private FilterTopComponent() {
filterSettingsChangedEvent = new ChangedEvent<FilterTopComponent>(this);
initComponents();
setName(NbBundle.getMessage(FilterTopComponent.class, "CTL_FilterTopComponent"));
setToolTipText(NbBundle.getMessage(FilterTopComponent.class, "HINT_FilterTopComponent"));
// setIcon(Utilities.loadImage(ICON_PATH, true));
sequence = new FilterChain();
filterChain = new FilterChain();
initFilters();
manager = new ExplorerManager();
manager.setRootContext(new AbstractNode(new FilterChildren()));
associateLookup(ExplorerUtils.createLookup(manager, getActionMap()));
view = new CheckListView();
ToolbarPool.getDefault().setPreferredIconSize(16);
Toolbar toolBar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolBar.setBorder(b);
comboBox = new JComboBox();
toolBar.add(comboBox);
this.add(toolBar, BorderLayout.NORTH);
toolBar.add(SaveFilterSettingsAction.get(SaveFilterSettingsAction.class));
toolBar.add(RemoveFilterSettingsAction.get(RemoveFilterSettingsAction.class));
toolBar.addSeparator();
toolBar.add(MoveFilterUpAction.get(MoveFilterUpAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(MoveFilterDownAction.get(MoveFilterDownAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(RemoveFilterAction.get(RemoveFilterAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(NewFilterAction.get(NewFilterAction.class));
this.add(view, BorderLayout.CENTER);
filterSettings = new ArrayList<FilterSetting>();
updateComboBox();
comboBox.addActionListener(comboBoxActionListener);
setChain(filterChain);
}
private FilterTopComponent() {
filterSettingsChangedEvent = new ChangedEvent<FilterTopComponent>(this);
initComponents();
setName(NbBundle.getMessage(FilterTopComponent.class, "CTL_FilterTopComponent"));
setToolTipText(NbBundle.getMessage(FilterTopComponent.class, "HINT_FilterTopComponent"));
// setIcon(Utilities.loadImage(ICON_PATH, true));
sequence = new FilterChain();
filterChain = new FilterChain();
initFilters();
manager = new ExplorerManager();
manager.setRootContext(new AbstractNode(new FilterChildren()));
associateLookup(ExplorerUtils.createLookup(manager, getActionMap()));
view = new CheckListView();
ToolbarPool.getDefault().setPreferredIconSize(16);
Toolbar toolBar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolBar.setBorder(b);
comboBox = new JComboBox();
toolBar.add(comboBox);
this.add(toolBar, BorderLayout.NORTH);
toolBar.add(SaveFilterSettingsAction.get(SaveFilterSettingsAction.class));
toolBar.add(RemoveFilterSettingsAction.get(RemoveFilterSettingsAction.class));
toolBar.addSeparator();
toolBar.add(MoveFilterUpAction.get(MoveFilterUpAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(MoveFilterDownAction.get(MoveFilterDownAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(RemoveFilterAction.get(RemoveFilterAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(NewFilterAction.get(NewFilterAction.class));
this.add(view, BorderLayout.CENTER);
filterSettings = new ArrayList<FilterSetting>();
updateComboBox();
comboBox.addActionListener(comboBoxActionListener);
setChain(filterChain);
}
private FilterTopComponent() {
filterSettingsChangedEvent = new ChangedEvent<FilterTopComponent>(this);
initComponents();
setName(NbBundle.getMessage(FilterTopComponent.class, "CTL_FilterTopComponent"));
setToolTipText(NbBundle.getMessage(FilterTopComponent.class, "HINT_FilterTopComponent"));
// setIcon(Utilities.loadImage(ICON_PATH, true));
sequence = new FilterChain();
filterChain = new FilterChain();
initFilters();
manager = new ExplorerManager();
manager.setRootContext(new AbstractNode(new FilterChildren()));
associateLookup(ExplorerUtils.createLookup(manager, getActionMap()));
view = new CheckListView();
ToolbarPool.getDefault().setPreferredIconSize(16);
Toolbar toolBar = new Toolbar();
Border b = (Border) UIManager.get("Nb.Editor.Toolbar.border"); //NOI18N
toolBar.setBorder(b);
comboBox = new JComboBox();
toolBar.add(comboBox);
this.add(toolBar, BorderLayout.NORTH);
toolBar.add(SaveFilterSettingsAction.get(SaveFilterSettingsAction.class));
toolBar.add(RemoveFilterSettingsAction.get(RemoveFilterSettingsAction.class));
toolBar.addSeparator();
toolBar.add(MoveFilterUpAction.get(MoveFilterUpAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(MoveFilterDownAction.get(MoveFilterDownAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(RemoveFilterAction.get(RemoveFilterAction.class).createContextAwareInstance(this.getLookup()));
toolBar.add(NewFilterAction.get(NewFilterAction.class));
this.add(view, BorderLayout.CENTER);
filterSettings = new ArrayList<FilterSetting>();
updateComboBox();
comboBox.addActionListener(comboBoxActionListener);
setChain(filterChain);
}
/**
* Called if SNAP starts up. The method is not supposed to be called by clients directly.
* <p>
* Overrides should call {@code super.onStart()} as a first step unless they know what they are doing.
*/
public void onStart() {
engine = Engine.start(false);
String toolbarConfig = "Standard";
if (Config.instance().debug()) {
WindowManager.getDefault().setRole("developer");
toolbarConfig = "Developer";
}
// See src/main/resources/org/esa/snap/rcp/layer.xml
// See src/main/resources/org/esa/snap/rcp/toolbars/Standard.xml
// See src/main/resources/org/esa/snap/rcp/toolbars/Developer.xml
ToolbarPool.getDefault().setConfiguration(toolbarConfig);
}
@Override
public void componentOpened() {
super.componentOpened();
Toolbar tb = ToolbarPool.getDefault().findToolbar("SceneComposer-Tools");
if (tb != null) {
if (!tb.isVisible()) {
tb.setVisible(true);
}
}
if (currentRequest == null) {
close();
}
}
@Override
public void componentClosed() {
super.componentClosed();
if (currentRequest != null) {
SceneApplication.getApplication().closeScene(currentRequest);
}
Toolbar tb = ToolbarPool.getDefault().findToolbar("SceneComposer-Tools");
if (tb != null) {
if (tb.isVisible()) {
tb.setVisible(false);
}
}
}
private void showWindowSystem(final WindowSystemAccessor wsa) {
long start = System.currentTimeMillis();
if(DEBUG) {
debugLog("ShowWindowSystem--"); // NOI18N
}
// java.awt.Toolkit.getDefaultToolkit().addAWTEventListener(new java.awt.event.AWTEventListener() {
// public void eventDispatched(java.awt.event.AWTEvent event) {
//// debugLog("" + event.getID() + " " + event.getSource().getClass() + event.toString());
// Debug.log(org.netbeans.core.windows.Constants.class, event.toString());
// Debug.log(org.netbeans.core.windows.Constants.class, "keyboard focus=" + java.awt.KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner());
// }
// }, AWTEvent.FOCUS_EVENT_MASK);
hierarchy.getMainWindow().initializeComponents();
JFrame frame = hierarchy.getMainWindow().getFrame();
// Init toolbar.
ToolbarPool.getDefault().setConfiguration(wsa.getToolbarConfigurationName());
if(DEBUG) {
debugLog(wsa.getModeStructureAccessor().toString());
}
// Prepare main window (pack and set bounds).
hierarchy.getMainWindow().prepareWindow();
if(DEBUG) {
debugLog("Init view 4="+(System.currentTimeMillis() - start) + " ms"); // NOI18N
}
if(DEBUG) {
debugLog("Init view 2="+(System.currentTimeMillis() - start) + " ms"); // NOI18N
}
hierarchy.setSplitModesVisible(true);
if(DEBUG) {
debugLog("Init view 3="+(System.currentTimeMillis() - start) + " ms"); // NOI18N
}
if(wsa.getEditorAreaState() == Constants.EDITOR_AREA_JOINED) {
hierarchy.getMainWindow().setExtendedState(wsa.getMainWindowFrameStateJoined());
} else {
hierarchy.getMainWindow().setExtendedState(wsa.getMainWindowFrameStateSeparated());
}
// Shows main window
hierarchy.getMainWindow().setVisible(true);
hierarchy.setMaximizedModeView(hierarchy.getModeViewForAccessor(wsa.getMaximizedModeAccessor()));
// Init desktop.
hierarchy.updateDesktop(wsa);
// Show separate modes.
hierarchy.setSeparateModesVisible(true);
hierarchy.updateEditorAreaFrameState(wsa.getEditorAreaFrameState());
// Updates frame states of separate modes.
hierarchy.updateFrameStates();
// XXX PENDING
if(wsa.getEditorAreaState() == Constants.EDITOR_AREA_JOINED) {
// Ignore when main window is maximized.
if(frame.getExtendedState() != Frame.MAXIMIZED_BOTH) {
if (DEBUG) {
debugLog("do updateMainWindowBoundsSeparatedHelp");
}
updateMainWindowBoundsSeparatedHelp();
updateEditorAreaBoundsHelp();
// updateSeparateBoundsForView(hierarchy.getSplitRootElement());
}
}
// setting activate mode had to be done in Swing.invokeLater() because of split recalculations. (#40501)
// since the JSplitPane.resetToPrefferedSizes() rewrite, it's no longer necessary
// also should fix
hierarchy.activateMode(wsa.getActiveModeAccessor());
//#39238 in maximazed mode swing posts a lot of stuff to Awt thread using SwingUtilities.invokeLater
// for that reason the installation of window listeners and the update of splits kicked in too early when
// the window was not maximazed yet -> resulted in wrong calculation of splits and also bad reactions from the listeners
// which considered the automated change to maximazed mode to be issued by the user.
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
if (DEBUG) {
debugLog("Installing main window listeners.");
}
hierarchy.installMainWindowListeners();
}
});
if(DEBUG) {
debugLog("Init view 5="+(System.currentTimeMillis() - start) + " ms"); // NOI18N
}
}
public DnDSupport( ToolbarConfiguration config ) {
this.config = config;
dragSource.addDragSourceMotionListener(this);
dragRemoveCursor = Utilities.createCustomCursor( ToolbarPool.getDefault(),
ImageUtilities.loadImage( "org/netbeans/core/windows/resources/delete.gif"), "NO_ACTION_MOVE" ); //NOI18N
}
private boolean isInToolbarPanel( Point p ) {
Component c = ToolbarPool.getDefault();
SwingUtilities.convertPointFromScreen( p, c );
return c.contains( p );
}
private static final ToolbarPool getToolbarPool() {
return ToolbarPool.getDefault ();
}