1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-09-08 11:03:28 +02:00

- fixed some layout problems

This commit is contained in:
Alena Laskavaia 2010-03-22 03:42:59 +00:00
parent 53e15f64c2
commit 1276c82216
2 changed files with 46 additions and 15 deletions

View file

@ -63,6 +63,8 @@ public class CodanPreferencePage extends FieldEditorOverlayPage implements
.getSelection(); .getSelection();
if (s.getFirstElement() instanceof IProblem) if (s.getFirstElement() instanceof IProblem)
setSelectedProblem((IProblem) s.getFirstElement()); setSelectedProblem((IProblem) s.getFirstElement());
else
setSelectedProblem(null);
} }
} }
} }
@ -85,14 +87,26 @@ public class CodanPreferencePage extends FieldEditorOverlayPage implements
CheckedTreeEditor checkedTreeEditor = new ProblemsTreeEditor( CheckedTreeEditor checkedTreeEditor = new ProblemsTreeEditor(
getFieldEditorParent(), profile); getFieldEditorParent(), profile);
addField(checkedTreeEditor); addField(checkedTreeEditor);
final TabFolder tabFolder = new TabFolder(getFieldEditorParent(), checkedTreeEditor.getTreeViewer().addSelectionChangedListener(
SWT.TOP); problemSelectionListener);
}
/*
* (non-Javadoc)
*
* @see
* org.eclipse.cdt.codan.internal.ui.preferences.FieldEditorOverlayPage#
* createContents(org.eclipse.swt.widgets.Composite)
*/
@Override
protected Control createContents(Composite parent) {
Composite comp = (Composite) super.createContents(parent);
final TabFolder tabFolder = new TabFolder(comp, SWT.TOP);
tabFolder.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); tabFolder.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
// createMainTab(tabFolder); // createMainTab(tabFolder);
createParamtersTab(tabFolder); createParamtersTab(tabFolder);
createScopeTab(tabFolder); createScopeTab(tabFolder);
checkedTreeEditor.getTreeViewer().addSelectionChangedListener( return comp;
problemSelectionListener);
} }
/** /**
@ -108,11 +122,14 @@ public class CodanPreferencePage extends FieldEditorOverlayPage implements
Control control = children[i]; Control control = children[i];
control.dispose(); control.dispose();
} }
ParametersComposite comp = new ParametersComposite(parametersTab, if (problem != null) {
problem); ParametersComposite comp = new ParametersComposite(parametersTab,
comp.setLayoutData(new GridData(GridData.FILL_BOTH)); problem);
parametersTab.pack(true); comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
parametersTab.layout(true); parametersTab.pack(true);
getFieldEditorParent().layout(true);
getFieldEditorParent().redraw();
}
} }
/** /**
@ -164,12 +181,14 @@ public class CodanPreferencePage extends FieldEditorOverlayPage implements
* *
*/ */
private void saveProblemEdits() { private void saveProblemEdits() {
if (selectedProblem==null) return; if (selectedProblem == null)
return;
Control[] children = parametersTab.getChildren(); Control[] children = parametersTab.getChildren();
for (int i = 0; i < children.length; i++) { for (int i = 0; i < children.length; i++) {
Control control = children[i]; Control control = children[i];
if (control instanceof ParametersComposite) { if (control instanceof ParametersComposite) {
((ParametersComposite) control).save((IProblemWorkingCopy) selectedProblem); // XXX ((ParametersComposite) control)
.save((IProblemWorkingCopy) selectedProblem); // XXX
} }
} }
} }

View file

@ -20,6 +20,7 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
/** /**
* @author Alena * @author Alena
@ -54,6 +55,8 @@ public class ParametersComposite extends Composite {
*/ */
private void createFieldEditorsForParameters( private void createFieldEditorsForParameters(
IProblemParameterInfo info) { IProblemParameterInfo info) {
if (info == null)
return;
switch (info.getType()) { switch (info.getType()) {
case TYPE_STRING: case TYPE_STRING:
StringFieldEditor fe = new StringFieldEditor(info.getKey(), StringFieldEditor fe = new StringFieldEditor(info.getKey(),
@ -67,10 +70,15 @@ public class ParametersComposite extends Composite {
} }
}; };
IProblemParameterInfo info = problem.getParameterInfo(); IProblemParameterInfo info = problem.getParameterInfo();
initPrefStore(info); if (info == null) {
page.setPreferenceStore(pref); Label label = new Label(this, 0);
page.createControl(parent); label.setText("No Parameters");
page.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); } else {
initPrefStore(info);
page.setPreferenceStore(pref);
page.createControl(parent);
page.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
}
} }
public void save(IProblemWorkingCopy problemwc) { public void save(IProblemWorkingCopy problemwc) {
@ -85,6 +93,8 @@ public class ParametersComposite extends Composite {
*/ */
private void savePrefStore(IProblemParameterInfo info, private void savePrefStore(IProblemParameterInfo info,
IProblemWorkingCopy problemwc) { IProblemWorkingCopy problemwc) {
if (info == null)
return;
String key = info.getKey(); String key = info.getKey();
Object parameter = problem.getParameter(key); Object parameter = problem.getParameter(key);
if (parameter instanceof String) { if (parameter instanceof String) {
@ -98,6 +108,8 @@ public class ParametersComposite extends Composite {
* @param info * @param info
*/ */
private void initPrefStore(IProblemParameterInfo info) { private void initPrefStore(IProblemParameterInfo info) {
if (info == null)
return;
String key = info.getKey(); String key = info.getKey();
Object parameter = problem.getParameter(key); Object parameter = problem.getParameter(key);
if (parameter instanceof String) { if (parameter instanceof String) {