diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/guiutils/CollapsableSection.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/guiutils/CollapsableSection.java | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/guiutils/CollapsableSection.java b/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/guiutils/CollapsableSection.java deleted file mode 100644 index f787c2240..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/guiutils/CollapsableSection.java +++ /dev/null @@ -1,148 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Sybase, Inc. and others. - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Sybase, Inc. - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.jsf.common.ui.internal.guiutils; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.ScrolledComposite; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.ui.forms.events.ExpansionAdapter; -import org.eclipse.ui.forms.events.ExpansionEvent; -import org.eclipse.ui.forms.widgets.ExpandableComposite; -import org.eclipse.ui.forms.widgets.FormToolkit; -import org.eclipse.ui.forms.widgets.Section; - -/** - * Creates a class to be used to build a control for a collapseable area inside - * a scrollable composite. This will take care of scrollbar resize. - * - * Example use: - * - * CollapsableSection cs = new CollapsableSection(toolkit, scomp, "General", - * true) { public void setCollapsableContent(Composite composite) { // place - * your content on this composite.... } }); cs.createControl(composite, - * horizontalSpan); - * - * @author mengbo - * - */ -public abstract class CollapsableSection { - // internal fields needed for doing the section and computing the scrollbar - // on a collapse. - private FormToolkit _toolkit; - - private Section _section; - - private ScrolledComposite _scomp; - - private String _title; - - private int _expansionStyle; - - /** - * Creates a class to be used to build the control for a collapseable area. - * - * @param toolkit - * - * @param scomp - * the scrollable composite used inside the container. This is - * used to force resizing of the bars on dinking the control. - * @param title - * the string to place next to the collapsable icon. - * @param bCollapsed - * should this area start collapsed? - */ - public CollapsableSection(FormToolkit toolkit, ScrolledComposite scomp, - String title, boolean bCollapsed) { - _toolkit = toolkit; - _scomp = scomp; - _title = title; - _expansionStyle = ExpandableComposite.TWISTIE - | ExpandableComposite.FOCUS_TITLE; - if (bCollapsed) { - _expansionStyle |= ExpandableComposite.COMPACT; - } else { - _expansionStyle |= ExpandableComposite.EXPANDED; - } - } - - /** - * Build the GUI parts of the Collapsable area into the given composite. - * NOTE: you must set the layout on this composite before adding swt - * widgets. - * - * @param composite - */ - abstract public void setCollapsableContent(Composite composite); - - /** - * A convient way to build the widget into a control and place it on the - * page. NOTE: this method will build the Section and call - * setCollapsableContent with a composite to fill in the inner area. - * - * @param parent - * @param horizontalSpan - * how many columns should this control span. - * @return Control that was added to the composite. - */ - public Control createControl(Composite parent, int horizontalSpan) { - _section = _toolkit.createSection(parent, _expansionStyle); - _section.clientVerticalSpacing = 5; // space between the dink and the - // controls in when opened. - // _section.marginHeight = 5; // indents the entire section. - // _section.marginWidth = 5; // indents the entire section. - _section.setText(_title); - _toolkit.createCompositeSeparator(_section); - _section.addExpansionListener(new ExpansionAdapter() { - public void expansionStateChanged(ExpansionEvent event) { - SWTUtils.computeScrollArea(_scomp, (Composite) _scomp - .getContent()); - } - }); - - Composite content = new Composite(_section, SWT.NULL); - setCollapsableContent(content); - - _section.setClient(content); - GridData gd = new GridData(GridData.FILL_HORIZONTAL); - gd.horizontalSpan = horizontalSpan; - _section.setLayoutData(gd); - - return _section; - } - - /** - * Programmatically changes expanded state. - * - * @param expanded - * the new expanded state - */ - public void setExpanded(boolean expanded) { - if (_section != null) { - _section.setExpanded(expanded); - - // NOTE: internal calling of expanding doesn't fire - // the event to resize. We do it here. - SWTUtils.computeScrollArea(_scomp, (Composite) _scomp.getContent()); - } - } - - /** - * Return the internal Section control for more advanced things. - * - * @return Section - */ - public Section getSection() { - return _section; - } -} |