From 0578b35b87a4288b68b84c55df0c91ec4b22468c Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Thu, 16 Jul 2009 20:45:58 +0000 Subject: [PATCH] bug 236556: Did a little refactoring introducing BUTTON_INDEX constants instead hardcoded numbers --- .../cdt/ui/newui/AbstractLangsListTab.java | 196 +++++++++--------- 1 file changed, 103 insertions(+), 93 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java index 9d19fc433a0..2f93d45fcab 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java @@ -90,9 +90,17 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { protected ICLanguageSetting [] ls; // all languages known private boolean fHadSomeModification; + private static final int BUTTON_INDEX_ADD = 0; + private static final int BUTTON_INDEX_EDIT = 1; + private static final int BUTTON_INDEX_DELETE = 2; + private static final int BUTTON_INDEX_EXPORT = 3; + // there is a separator instead of button #4 + private static final int BUTTON_INDEX_MOVEUP = 5; + private static final int BUTTON_INDEX_MOVEDOWN = 6; + protected final static String[] BUTTONS = {ADD_STR, EDIT_STR, DEL_STR, UIMessages.getString("AbstractLangsListTab.2"), //$NON-NLS-1$ - null, MOVEUP_STR, MOVEDOWN_STR }; + null, MOVEUP_STR, MOVEDOWN_STR }; protected final static String[] BUTTSYM = {ADD_STR, EDIT_STR, DEL_STR, UIMessages.getString("AbstractLangsListTab.2")}; //$NON-NLS-1$ @@ -121,14 +129,14 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { sashForm.setLayout(layout); addTree(sashForm).setLayoutData(new GridData(GridData.FILL_VERTICAL)); - table = new Table(sashForm, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.FULL_SELECTION); - gd = new GridData(GridData.FILL_BOTH); - gd.widthHint = 150; - table.setLayoutData(gd); - table.setHeaderVisible(isHeaderVisible()); - table.setLinesVisible(true); + table = new Table(sashForm, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.FULL_SELECTION); + gd = new GridData(GridData.FILL_BOTH); + gd.widthHint = 150; + table.setLayoutData(gd); + table.setHeaderVisible(isHeaderVisible()); + table.setLinesVisible(true); - sashForm.setWeights(DEFAULT_SASH_WEIGHTS); + sashForm.setWeights(DEFAULT_SASH_WEIGHTS); sashForm.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { @@ -151,7 +159,7 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { } }); - tv = new TableViewer(table); + tv = new TableViewer(table); tv.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { @@ -160,73 +168,77 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { public void dispose() {} public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {} }); - - tv.setLabelProvider(new RichLabelProvider()); - - table.addSelectionListener(new SelectionAdapter() { - @Override + + tv.setLabelProvider(new RichLabelProvider()); + + table.addSelectionListener(new SelectionAdapter() { + @Override public void widgetSelected(SelectionEvent e) { - updateButtons(); - } - @Override + updateButtons(); + } + + @Override public void widgetDefaultSelected(SelectionEvent e) { - if (buttonIsEnabled(1) && table.getSelectionIndex() != -1) - buttonPressed(1); - } - }); - - table.addControlListener(new ControlListener() { + if (buttonIsEnabled(1) && table.getSelectionIndex() != -1) + buttonPressed(1); + } + }); + + table.addControlListener(new ControlListener() { public void controlMoved(ControlEvent e) { setColumnToFit(); } public void controlResized(ControlEvent e) { setColumnToFit(); }}); - - setupLabel(usercomp, EMPTY_STR, 1, 0); - - lb1 = new Label(usercomp, SWT.BORDER | SWT.CENTER); - lb1.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - lb1.setToolTipText(UIMessages.getString("EnvironmentTab.15")); //$NON-NLS-1$ - lb1.addMouseListener(new MouseAdapter() { + + setupLabel(usercomp, EMPTY_STR, 1, 0); + + lb1 = new Label(usercomp, SWT.BORDER | SWT.CENTER); + lb1.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + lb1.setToolTipText(UIMessages.getString("EnvironmentTab.15")); //$NON-NLS-1$ + lb1.addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { CDTPrefUtil.spinDMode(); update(); - }}); + } + }); - showBIButton = setupCheck(usercomp, UIMessages.getString("AbstractLangsListTab.0"), 1, GridData.FILL_HORIZONTAL); //$NON-NLS-1$ - showBIButton.addSelectionListener(new SelectionAdapter() { - @Override + showBIButton = setupCheck(usercomp, + UIMessages.getString("AbstractLangsListTab.0"), 1, GridData.FILL_HORIZONTAL); //$NON-NLS-1$ + showBIButton.addSelectionListener(new SelectionAdapter() { + @Override public void widgetSelected(SelectionEvent e) { - update(); - } - }); - - lb2 = new Label(usercomp, SWT.BORDER | SWT.CENTER); - lb2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - lb2.setToolTipText(UIMessages.getString("EnvironmentTab.23")); //$NON-NLS-1$ - lb2.addMouseListener(new MouseAdapter() { + update(); + } + }); + + lb2 = new Label(usercomp, SWT.BORDER | SWT.CENTER); + lb2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + lb2.setToolTipText(UIMessages.getString("EnvironmentTab.23")); //$NON-NLS-1$ + lb2.addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { CDTPrefUtil.spinWMode(); updateLbs(null, lb2); - }}); + } + }); - additionalTableSet(); - initButtons((getKind() == ICSettingEntry.MACRO) ? BUTTSYM : BUTTONS); - updateData(getResDesc()); + additionalTableSet(); + initButtons((getKind() == ICSettingEntry.MACRO) ? BUTTSYM : BUTTONS); + updateData(getResDesc()); } - /** - * Updates state for all buttons - * Called when table selection changes. - */ - @Override + /** + * Updates state for all buttons + * Called when table selection changes. + */ + @Override protected void updateButtons() { - int index = table.getSelectionIndex(); - int[] ids = table.getSelectionIndices(); - boolean canAdd = langTree.getItemCount() > 0; + int index = table.getSelectionIndex(); + int[] ids = table.getSelectionIndices(); + boolean canAdd = langTree.getItemCount() > 0; boolean canExport = index != -1; boolean canEdit = canExport && ids.length == 1; boolean canDelete = canExport; @@ -236,11 +248,11 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { if (ent.isReadOnly()) canEdit = false; if (ent.isReadOnly()) canDelete = false; if (exported.contains(ent)) - buttonSetText(3, UIMessages.getString("AbstractLangsListTab.4")); //$NON-NLS-1$ + buttonSetText(BUTTON_INDEX_EXPORT, UIMessages.getString("AbstractLangsListTab.4")); //$NON-NLS-1$ else - buttonSetText(3, UIMessages.getString("AbstractLangsListTab.2")); //$NON-NLS-1$ + buttonSetText(BUTTON_INDEX_EXPORT, UIMessages.getString("AbstractLangsListTab.2")); //$NON-NLS-1$ } else { - buttonSetText(3, UIMessages.getString("AbstractLangsListTab.2")); //$NON-NLS-1$ + buttonSetText(BUTTON_INDEX_EXPORT, UIMessages.getString("AbstractLangsListTab.2")); //$NON-NLS-1$ } boolean canMoveUp = false; boolean canMoveDown = false; @@ -248,55 +260,54 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { canMoveUp = canEdit && index > 0 && !ent.isBuiltIn(); canMoveDown = canEdit && (index < table.getItemCount() - 1) && !ent.isBuiltIn(); } - if (canMoveDown && showBIButton.getSelection()) { - ent = (ICLanguageSettingEntry)(table.getItem(index+1).getData()); - if (ent.isBuiltIn()) canMoveDown = false; // cannot exchange with built in - } - buttonSetEnabled(0, canAdd); // add - buttonSetEnabled(1, canEdit); // edit - buttonSetEnabled(2, canDelete); // delete - buttonSetEnabled(3, canExport && !page.isMultiCfg()); // export - // there is a separator instead of button #4 - buttonSetEnabled(5, canMoveUp && !page.isMultiCfg()); // up - buttonSetEnabled(6, canMoveDown && !page.isMultiCfg()); // down - } + if (canMoveDown && showBIButton.getSelection()) { + ent = (ICLanguageSettingEntry)(table.getItem(index+1).getData()); + if (ent.isBuiltIn()) canMoveDown = false; // cannot exchange with built in + } + buttonSetEnabled(BUTTON_INDEX_ADD, canAdd); + buttonSetEnabled(BUTTON_INDEX_EDIT, canEdit); + buttonSetEnabled(BUTTON_INDEX_DELETE, canDelete); + buttonSetEnabled(BUTTON_INDEX_EXPORT, canExport && !page.isMultiCfg()); + buttonSetEnabled(BUTTON_INDEX_MOVEUP, canMoveUp && !page.isMultiCfg()); + buttonSetEnabled(BUTTON_INDEX_MOVEDOWN, canMoveDown && !page.isMultiCfg()); + } private Tree addTree(Composite comp) { langTree = new Tree(comp, SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL); langTree.setLayoutData(new GridData(GridData.FILL_VERTICAL)); langTree.setHeaderVisible(true); - + langTree.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { TreeItem[] items = langTree.getSelection(); if (items.length > 0) { - ICLanguageSetting ls = (ICLanguageSetting)items[0].getData(); + ICLanguageSetting ls = (ICLanguageSetting) items[0].getData(); if (ls != null) { lang = ls; update(); } } - }}); + } + }); langTree.addPaintListener(new PaintListener() { public void paintControl(PaintEvent e) { int x = langTree.getBounds().width - 5; if (langCol.getWidth() != x) langCol.setWidth(x); - }}); - + } + }); + langCol = new TreeColumn(langTree, SWT.NONE); langCol.setText(UIMessages.getString("AbstractLangsListTab.1")); //$NON-NLS-1$ langCol.setWidth(200); langCol.setResizable(false); - langTree.getAccessible().addAccessibleListener( - new AccessibleAdapter() { - @Override - public void getName(AccessibleEvent e) { - e.result = UIMessages.getString("AbstractLangsListTab.1"); //$NON-NLS-1$ - } - } - ); + langTree.getAccessible().addAccessibleListener(new AccessibleAdapter() { + @Override + public void getName(AccessibleEvent e) { + e.result = UIMessages.getString("AbstractLangsListTab.1"); //$NON-NLS-1$ + } + }); return langTree; } @@ -306,7 +317,7 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { public abstract int getKind(); public abstract ICLanguageSettingEntry doAdd(); public abstract ICLanguageSettingEntry doEdit(ICLanguageSettingEntry ent); - public void additionalTableSet() {} // may be not overwritten + public void additionalTableSet() {} // may be not overwritten /** * Called when language changed or item added/edited/removed. @@ -315,7 +326,7 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { * Note, this method is rewritten in Symbols tab. */ public void update() { update(0); } - + public void update(int shift) { if (lang != null) { int x = table.getSelectionIndex(); @@ -512,18 +523,18 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { int ids[] = table.getSelectionIndices(); switch (i) { - case 0: // add + case BUTTON_INDEX_ADD: toAllCfgs = false; toAllLang = false; performAdd(doAdd()); break; - case 1: // edit + case BUTTON_INDEX_EDIT: performEdit(n); break; - case 2: // delete + case BUTTON_INDEX_DELETE: performDelete(n); break; - case 3: // toggle export + case BUTTON_INDEX_EXPORT: if (n == -1) return; for (int x=ids.length-1; x>=0; x--) { old = (ICLanguageSettingEntry)(table.getItem(ids[x]).getData()); @@ -536,13 +547,12 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { updateExport(); update(); break; - // there is a separator instead of button #4 - case 5: // move up - case 6: // move down + case BUTTON_INDEX_MOVEUP: + case BUTTON_INDEX_MOVEDOWN: old = (ICLanguageSettingEntry)(table.getItem(n).getData()); int x = shownEntries.indexOf(old); if (x < 0) break; - if (i == 6) x++; // "down" simply means "up underlying item" + if (i == BUTTON_INDEX_MOVEDOWN) x++; // "down" simply means "up underlying item" old = shownEntries.get(x); ICLanguageSettingEntry old2 = shownEntries.get(x - 1); shownEntries.remove(x); @@ -551,7 +561,7 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab { shownEntries.add(x, old2); setSettingEntries(getKind(), shownEntries, false); - update(i == 5 ? -1 : 1); + update(i == BUTTON_INDEX_MOVEUP ? -1 : 1); break; default: break;