Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/properties/GeneralViewSection.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/properties/GeneralViewSection.java379
1 files changed, 0 insertions, 379 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/properties/GeneralViewSection.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/properties/GeneralViewSection.java
deleted file mode 100644
index 85884e39d..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/properties/GeneralViewSection.java
+++ /dev/null
@@ -1,379 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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.facesconfig.ui.pageflow.properties;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-/**
- * This class defines the general tab for pageflow attributes. This class
- * defines the controls shown in this sectin and their event handler. For
- * MultiPageEditorPart, if it support getAdapter(IEditorPart.class) to get the
- * current active editor, then, this section can get the different
- * PropertySheetPage for different sub EditorPart.
- *
- * @author Xiao-guang Zhang
- */
-public class GeneralViewSection implements ISection,
- ISelectionChangedListener {
- /** the pagebook */
- private PageBook pageBook = null;
-
- /**
- * A data structure used to store the information about a single page within
- * a MultiPageEditorPart
- */
- protected static class PageRec {
-
- /**
- * The part including editorpart, or Control
- */
- public IWorkbenchPart part;
-
- /**
- * The page.
- */
- public IPropertySheetPage page;
-
- /**
- * Creates a new page record initialized to the given part and page.
- *
- * @param part
- * @param page
- */
- public PageRec(IWorkbenchPart part, IPropertySheetPage page) {
- this.part = part;
- this.page = page;
- }
-
- /**
- * Disposes of this page record by <code>null</code>ing its fields.
- */
- public void dispose() {
- part = null;
- page = null;
- }
- }
-
- /**
- * Map from parts to part records (key type: <code>IWorkbenchPart</code>;
- * value type: <code>PartRec</code>).
- */
- private Map mapPartToRec = new HashMap();
-
- /**
- * The page record for the default page.
- */
- private PageRec defaultPageRec;
-
- /**
- * The page rec which provided the current page or <code>null</code>
- */
- private PageRec activeRec;
-
- /*
- * (non-Javadoc)
- *
- * @see com.createControls(Composite, TabbedPropertySheetPage)
- */
- public void createControls(Composite parent,
- TabbedPropertySheetPage tabbedPropertySheetPage) {
- FillLayout layout = new FillLayout();
- layout.marginWidth = ITabbedPropertyConstants.HSPACE;
- layout.marginHeight = ITabbedPropertyConstants.VSPACE;
-
- // composite.setLayout(layout);
- parent.setLayout(layout);
- // pagebook
- pageBook = new PageBook(parent, SWT.BORDER);
-
- // create a default property page.
- createDefaultPage();
-
- // Show the default page
- if (defaultPageRec != null) {
- showPageRec(defaultPageRec);
- }
- }
-
- /**
- * Shows page contained in the given page record in this view. The page
- * record must be one from this pagebook view.
- * <p>
- * The <code>PageBookView</code> implementation of this method asks the
- * pagebook control to show the given page's control, and records that the
- * given page is now current. Subclasses may extend.
- * </p>
- *
- * @param pageRec
- * the page record containing the page to show
- */
- protected void showPageRec(PageRec pageRec) {
- // If already showing do nothing
- if (activeRec == pageRec) {
- return;
- }
- // If the page is the same, just set activeRec to pageRec
- if (activeRec != null && pageRec != null
- && activeRec.page == pageRec.page) {
- activeRec = pageRec;
- return;
- }
-
- // Show new page.
- activeRec = pageRec;
- Control pageControl = activeRec.page.getControl();
- if (pageControl != null && !pageControl.isDisposed()) {
- // Verify that the page control is not disposed
- // If we are closing, it may have already been disposed
- pageBook.showPage(pageControl);
- }
- }
-
- /**
- * Creates a page for a given part. Adds it to the pagebook but does not
- * show it.
- *
- * @param part
- * The part we are making a page for.
- * @return IWorkbenchPart
- */
- private PageRec createPage(IWorkbenchPart part) {
- PageRec rec = doCreatePage(part);
- if (rec != null) {
- mapPartToRec.put(part, rec);
- }
- return rec;
- }
-
- /*
- * (non-Javadoc) Method declared on PageBookView.
- */
- /**
- * @param part
- * @return PageRec for part
- */
- protected PageRec doCreatePage(IWorkbenchPart part) {
- // FIXME: Because the PropertySheetPage of StructuredTextEditor has a
- // bug:
- // the editor can't be opened twice if the property view is shown.
- // This bug only exists in WTP 1.0.0 version.
- if (part instanceof StructuredTextEditor) {
- return null;
- }
- // Try to get an property page.
- Object obj = part.getAdapter(IPropertySheetPage.class);
- if (obj instanceof IPropertySheetPage) {
- IPropertySheetPage page = (IPropertySheetPage) obj;
-
- page.createControl(getPageBook());
-
- return new PageRec(part, page);
- }
- // There is no content property page
- return null;
- }
-
- private void createDefaultPage() {
- // Create the default PropertySheetPage rec.
- IPropertySheetPage defaultPage = new PropertySheetPage();
- defaultPage.createControl(getPageBook());
-
- defaultPageRec = new PageRec(null, defaultPage);
- }
-
- /**
- * Returns the pagebook control for this view.
- *
- * @return the pagebook control, or <code>null</code> if not initialized
- */
- protected PageBook getPageBook() {
- return pageBook;
- }
-
- /**
- * Returns the page record for the given part.
- *
- * @param part
- * the part
- * @return the corresponding page record, or <code>null</code> if not
- * found
- */
- protected PageRec getPageRec(Object part) {
- return (PageRec) mapPartToRec.get(part);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see ISection#setInput(IWorkbenchPart, ISelection)
- */
- public void setInput(IWorkbenchPart part, ISelection selection) {
- if (part instanceof MultiPageEditorPart) {
- IEditorPart subPage = (IEditorPart) part
- .getAdapter(IEditorPart.class);
- if (subPage != null) {
- // get or Create a PropertySheetPage for the part.
- PageRec rec = getPageRec(subPage);
- if (rec == null) {
- rec = createPage(subPage);
- }
-
- // Show the page.
- if (rec != null) {
- showPageRec(rec);
- } else {
- showPageRec(defaultPageRec);
- }
- }
- }
- activeRec.page.selectionChanged(part, selection);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see ISection#aboutToBeShown()
- */
- public void aboutToBeShown() {
- refresh();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see ISection#aboutToBeHidden()
- */
- public void aboutToBeHidden() {
- // do nothing
- }
-
- /*
- * (non-Javadoc)
- *
- * @see ISection#dispose()
- */
- public void dispose() {
- // Deref all of the pages.
- activeRec = null;
- if (defaultPageRec != null) {
- // check for null since the default page may not have
- // been created (ex. perspective never visible)
- defaultPageRec.page.dispose();
- defaultPageRec = null;
- }
- Map clone = (Map) ((HashMap) mapPartToRec).clone();
- Iterator iter = clone.values().iterator();
- while (iter.hasNext()) {
- PageRec rec = (PageRec) iter.next();
- removePage(rec);
- }
- }
-
- /**
- * Removes a page record. If it is the last reference to the page dispose of
- * it - otherwise just decrement the reference count.
- *
- * @param rec
- */
- private void removePage(PageRec rec) {
- mapPartToRec.remove(rec.part);
-
- Control control = rec.page.getControl();
- if (control != null && !control.isDisposed()) {
- // Dispose the page's control so pages don't have to do this in
- // their
- // dispose method.
- // The page's control is a child of this view's control so if this
- // view
- // is closed, the page's control will already be disposed.
- control.dispose();
- }
-
- // free the page
- doDestroyPage(rec.part, rec);
- }
-
- /**
- * Destroys a page in the pagebook for a particular part.
- *
- * @param part
- * the input part
- * @param rec
- * a page record for the part
- */
- protected void doDestroyPage(IWorkbenchPart part, PageRec rec) {
- IPropertySheetPage page = rec.page;
- page.dispose();
- rec.dispose();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see ISection#getMinimumHeight()
- */
- public int getMinimumHeight() {
- return SWT.DEFAULT;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.xtools.common.ui.properties.ISection#shouldUseExtraSpace()
- */
- public boolean shouldUseExtraSpace() {
- /**
- * here should return true, otherwise, the component controls will not
- * fill the whole panel of the tab.
- */
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.xtools.common.ui.properties.ISection#refresh()
- */
- public void refresh() {
- return;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
- */
- public void selectionChanged(SelectionChangedEvent event) {
- setInput((IWorkbenchPart) event.getSource(), event.getSelection());
- }
-}

Back to the top