protected void setEditorLanguageObject(ILanguageObject theEditorLangObj) { getEditor().setLanguageObject(savedSelection); if (!editor.isEnabled()) { editor.setEnabled(true); } }
@Override public void create() { super.create(); editor = createEditor(pnlEditorDetail); editor .getModel() .addModelListener( new ILanguageObjectEditorModelListener() { public void modelChanged(LanguageObjectEditorModelEvent theEvent) { handleModelChanged(); } }); lblTitle.setText(editor.getTitle()); Composite pnlEditorButtons = new Composite(pnlEditor, SWT.NONE); pnlEditorButtons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_CENTER)); pnlEditorButtons.setLayout(new GridLayout()); // // pnlEditorButtons contents // btnSet = new Button(pnlEditorButtons, SWT.NONE); btnSet.setEnabled(false); btnSet.setText(Util.getString(PREFIX + "btnSet")); // $NON-NLS-1$ btnSet.setToolTipText(Util.getString(PREFIX + "btnSet.tip")); // $NON-NLS-1$ btnSet.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent theEvent) { handleSetSelected(); } }); btnReset = new Button(pnlEditorButtons, SWT.NONE); btnReset.setEnabled(false); btnReset.setText(Util.getString(PREFIX + "btnReset")); // $NON-NLS-1$ btnReset.setToolTipText(Util.getString(PREFIX + "btnReset.tip")); // $NON-NLS-1$ btnReset.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent theEvent) { handleResetSelected(); } }); setLanguageObject(null); // needed to establish the viewer input // select root tree node after all construction is finished Display.getDefault() .asyncExec( new Runnable() { public void run() { treeViewer.selectRoot(); } }); }
protected void handleDeleteSelected() { editor.clear(); treeViewer.deleteSelection(); // update SQL text setCurrentSql(treeViewer.getLanguageObject()); editor.acceptFocus(); }
void handleModelChanged() { boolean isEnabled = false; boolean isComplete = false; boolean hasChanged = false; isEnabled = editor.isEnabled(); if (isEnabled) { isComplete = editor.isComplete(); } if (isComplete) { hasChanged = editor.hasChanged(); } boolean state = (isEnabled && isComplete && hasChanged); btnSet.setEnabled(state); btnReset.setEnabled(state); setCurrentSql(treeViewer.getLanguageObject()); // set enable/disable status of buttons setEnabledStatus(); }
protected void handleTreeSelection() { IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); Object selectedObj = selection.getFirstElement(); if (selectedObj == null) { savedSelection = null; if (editor.isEnabled()) { editor.setEnabled(false); } } else { // selection with either be a LanguageObject or an Undefined object (String) savedSelection = (selectedObj instanceof ILanguageObject) ? (ILanguageObject) selectedObj : null; } setEditorLanguageObject(savedSelection); // set enable/disable status of buttons setEnabledStatus(); }
protected void handleSetSelected() { editor.save(); // need the editor's language object in order to update tree. // the language object should never be null. if it was this handler should not have been called ILanguageObject langObj = editor.getLanguageObject(); CoreArgCheck.isNotNull( langObj, Util.getString( PREFIX + "nullLangObj", // $NON-NLS-1$ new Object[] {"handleSetSelected"})); // $NON-NLS-1$ // update tree treeViewer.modifySelectedItem(langObj, false); // update SQL text setCurrentSql(treeViewer.getLanguageObject()); // put focus back on editor from the set button editor.acceptFocus(); }
protected void handleResetSelected() { editor.reset(); // put focus back on editor from the reset button editor.acceptFocus(); }