private void foldingSection() { final Composite group = createGroup(2, "Source folding"); Composite p0 = getFieldEditorParent(group); GridData gd = new GridData(); gd.horizontalSpan = 2; p0.setLayoutData(gd); enableFolding = new SpecialBoolFieldEditor(EDITOR_FOLDING_ENABLED, "Enable source folding", p0); enableFolding.load(); addField(enableFolding); final Composite composite = new Composite(group, SWT.NONE); GridLayout layout = new GridLayout(1, true); composite.setLayout(layout); GridData gd2 = new GridData(GridData.HORIZONTAL_ALIGN_FILL); gd2.grabExcessHorizontalSpace = true; composite.setLayoutData(gd2); final Composite p1 = getFieldEditorParent(composite); autoFoldImports = new BooleanFieldEditor(AUTO_FOLD_IMPORTS, "Automatically fold import lists", p1); autoFoldImports.load(); addField(autoFoldImports); final Composite p2 = getFieldEditorParent(composite); autoFoldComments = new BooleanFieldEditor(AUTO_FOLD_COMMENTS, "Automatically fold comments", p2); autoFoldComments.load(); addField(autoFoldComments); boolean enabled = EditorsUI.getPreferenceStore().getBoolean(EDITOR_FOLDING_ENABLED); autoFoldImports.setEnabled(enabled, p1); autoFoldComments.setEnabled(enabled, p2); // composite.setVisible(enabled); // composite.setEnabled(enabled); // ((GridData) composite.getLayoutData()).exclude = !enabled; enableFolding.setListener( new Listener() { @Override public void valueChanged(boolean oldValue, boolean newValue) { autoFoldImports.setEnabled(newValue, p1); autoFoldComments.setEnabled(newValue, p2); // composite.setVisible(newValue); // composite.setEnabled(newValue); // ((GridData) composite.getLayoutData()).exclude = !newValue; // group.layout(); } }); }
private void bracketHighlightingSection() { Group group = createGroup(1, "Bracket highlighting"); Composite p = getFieldEditorParent(group); GridData gd = new GridData(); gd.horizontalSpan = 1; p.setLayoutData(gd); bracketMatching = new SpecialBoolFieldEditor(MATCHING_BRACKET, "Enable matching bracket highlighting", p); bracketMatching.load(); addField(bracketMatching); Composite composite = new Composite(group, SWT.NONE); GridLayout layout = new GridLayout(1, true); composite.setLayout(layout); GridData gd2 = new GridData(GridData.HORIZONTAL_ALIGN_FILL); gd2.grabExcessHorizontalSpace = true; composite.setLayoutData(gd2); oppositeBracket = new Button(composite, SWT.RADIO); oppositeBracket.setText("Matching bracket only"); oppositeBracket.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { boolean selected = oppositeBracket.getSelection(); matchingBrackets.setSelection(!selected); enclosingBrackets.setSelection(!selected); } }); matchingBrackets = new Button(composite, SWT.RADIO); matchingBrackets.setText("Matching bracket and selected bracket"); matchingBrackets.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { boolean selected = matchingBrackets.getSelection(); oppositeBracket.setSelection(!selected); enclosingBrackets.setSelection(!selected); } }); enclosingBrackets = new Button(composite, SWT.RADIO); enclosingBrackets.setText("Enclosing brackets"); enclosingBrackets.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { boolean selected = enclosingBrackets.getSelection(); matchingBrackets.setSelection(!selected); oppositeBracket.setSelection(!selected); } }); IPreferenceStore store = EditorsUI.getPreferenceStore(); matchingBrackets.setSelection( store.getBoolean(SELECTED_BRACKET) && !store.getBoolean(ENCLOSING_BRACKETS)); enclosingBrackets.setSelection(store.getBoolean(ENCLOSING_BRACKETS)); oppositeBracket.setSelection( !store.getBoolean(SELECTED_BRACKET) && !store.getBoolean(ENCLOSING_BRACKETS)); boolean enabled = EditorsUI.getPreferenceStore().getBoolean(MATCHING_BRACKET); oppositeBracket.setEnabled(enabled); matchingBrackets.setEnabled(enabled); enclosingBrackets.setEnabled(enabled); bracketMatching.setListener( new Listener() { @Override public void valueChanged(boolean oldValue, boolean newValue) { oppositeBracket.setEnabled(newValue); matchingBrackets.setEnabled(newValue); enclosingBrackets.setEnabled(newValue); } }); }