1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Tools setting tab resizing improvement.

This commit is contained in:
Oleg Krasilnikov 2007-09-26 14:09:20 +00:00
parent b8fc578945
commit 8c4edac2ff
2 changed files with 22 additions and 5 deletions

View file

@ -29,6 +29,7 @@ import org.eclipse.cdt.managedbuilder.core.IResourceInfo;
import org.eclipse.cdt.managedbuilder.core.ITool; import org.eclipse.cdt.managedbuilder.core.ITool;
import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager; import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
import org.eclipse.cdt.managedbuilder.internal.macros.BuildMacroProvider; import org.eclipse.cdt.managedbuilder.internal.macros.BuildMacroProvider;
import org.eclipse.cdt.ui.newui.AbstractPage;
import org.eclipse.cdt.ui.newui.PageLayout; import org.eclipse.cdt.ui.newui.PageLayout;
import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResource;
import org.eclipse.jface.preference.IPreferencePageContainer; import org.eclipse.jface.preference.IPreferencePageContainer;
@ -50,6 +51,7 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.ScrollBar;
public class ToolSettingsTab extends AbstractCBuildPropertyTab implements IPreferencePageContainer { public class ToolSettingsTab extends AbstractCBuildPropertyTab implements IPreferencePageContainer {
@ -381,6 +383,13 @@ public class ToolSettingsTab extends AbstractCBuildPropertyTab implements IPrefe
} else { } else {
displayOptionsForTool(toolListElement); displayOptionsForTool(toolListElement);
} }
ScrollBar sb = containerSC.getHorizontalBar();
if (sb != null && sb.isVisible()) {
settingsPageContainer.pack(true);
containerSC.setMinSize(settingsPageContainer.getSize());
((AbstractPage)page).resize();
}
} }
} }

View file

@ -55,6 +55,7 @@ import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.TabFolder; import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TabItem; import org.eclipse.swt.widgets.TabItem;
import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchPart;
@ -136,6 +137,7 @@ implements
private Label errIcon; private Label errIcon;
private Label errMessage; private Label errMessage;
private Composite errPane; private Composite errPane;
private Composite parentComposite;
/* /*
* Bookeeping variables * Bookeeping variables
*/ */
@ -317,16 +319,16 @@ implements
} }
public void createWidgets(Composite c) { public void createWidgets(Composite c) {
Composite comp = new Composite(c, SWT.NONE); parentComposite = new Composite(c, SWT.NONE);
comp.setLayoutData(new GridData(GridData.FILL_BOTH)); parentComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
itabs.clear(); itabs.clear();
if (!isSingle()) { if (!isSingle()) {
comp.setLayout(new FillLayout()); parentComposite.setLayout(new FillLayout());
folder = new TabFolder(comp, SWT.NONE); folder = new TabFolder(parentComposite, SWT.NONE);
// folder.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_DARK_GRAY)); // folder.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_DARK_GRAY));
} }
loadExtensionsSynchronized(comp); loadExtensionsSynchronized(parentComposite);
// Set listener after data load, to avoid firing // Set listener after data load, to avoid firing
// selection event on not-initialized tab items // selection event on not-initialized tab items
@ -1007,4 +1009,10 @@ implements
((IPropertyChangeListener)part).propertyChange(new PropertyChangeEvent(res, PreferenceConstants.PREF_SHOW_CU_CHILDREN, null, null)); ((IPropertyChangeListener)part).propertyChange(new PropertyChangeEvent(res, PreferenceConstants.PREF_SHOW_CU_CHILDREN, null, null));
} }
} }
public void resize() {
Shell sh = parentComposite.getShell();
sh.setSize(sh.computeSize(SWT.DEFAULT, SWT.DEFAULT, true));
}
} }