public void init(Editor editor) { // required by tool loader this.editor = editor; editor.addWindowListener(new WindowAdapter() { public void windowOpened(WindowEvent e) { init(); } public void windowClosed(WindowEvent e) { DisconnectServers(); } // this ensure that Disconnect is done on closed "Editors" }); editor.addComponentListener( new ComponentListener() { public void componentResized( ComponentEvent e ) {} public void componentMoved( ComponentEvent e ) {} public void componentShown( ComponentEvent e ) {} public void componentHidden( ComponentEvent e ) { DisconnectServers(); } } );}
if (PreferencesData.getBoolean("manicken.apiWebServer.DoDisconnectOnOtherEditors", true)) IDEhelper.DoDisconnectOnOtherEditors(editor);if (PreferencesData.getBoolean("manicken.apiWebServer.closeOtherEditors", false)) IDEhelper.CloseOtherEditors(editor);
Timer timer = new Timer();timer.schedule(new TimerTask(){ @Override public void run() { StartServers(); OpenPreviousMidi(); }}, 1000);
public static void CloseOtherEditors(Editor thisEditor){ Base _base = (Base) Reflect.GetField("base", thisEditor); List<Editor> editors = _base.getEditors(); boolean anyStopped = false; for (int ei = 0; ei < editors.size(); ei++) { Editor _editor = editors.get(ei); if (thisEditor == _editor) continue; _base.handleClose(_editor); // close other }}public static void DoDisconnectOnOtherEditors(Editor thisEditor){ Base _base = (Base) Reflect.GetField("base", thisEditor); List<Editor> editors = _base.getEditors(); boolean anyStopped = false; for (int ei = 0; ei < editors.size(); ei++) { Editor _editor = editors.get(ei); if (thisEditor == _editor) continue; _editor.setVisible(false); // this triggers the componentHidden event _editor.setVisible(true); } // this makes the last editor window topmost thisEditor.setVisible(false); thisEditor.setVisible(true);}