diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditorOutlinePage.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditorOutlinePage.java | 545 |
1 files changed, 0 insertions, 545 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditorOutlinePage.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditorOutlinePage.java deleted file mode 100644 index 82ca489ab..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/PageflowEditorOutlinePage.java +++ /dev/null @@ -1,545 +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; - -import org.eclipse.draw2d.IFigure; -import org.eclipse.draw2d.LightweightSystem; -import org.eclipse.draw2d.MarginBorder; -import org.eclipse.draw2d.Viewport; -import org.eclipse.draw2d.parts.ScrollableThumbnail; -import org.eclipse.gef.ContextMenuProvider; -import org.eclipse.gef.EditDomain; -import org.eclipse.gef.EditPart; -import org.eclipse.gef.EditPartListener; -import org.eclipse.gef.EditPartViewer; -import org.eclipse.gef.LayerConstants; -import org.eclipse.gef.RootEditPart; -import org.eclipse.gef.editparts.ScalableFreeformRootEditPart; -import org.eclipse.gef.editparts.ScalableRootEditPart; -import org.eclipse.gef.ui.parts.TreeViewer; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.action.IToolBarManager; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin; -import org.eclipse.jst.jsf.facesconfig.ui.pageflow.editpart.PageflowTreePartFactory; -import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowElement; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Canvas; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.ui.part.EditorPart; -import org.eclipse.ui.part.Page; -import org.eclipse.ui.part.PageBook; -import org.eclipse.ui.views.contentoutline.IContentOutlinePage; - -/** - * This is an implementation of an outline page showing an overview figure and - * an tree outline of the main graphical viewer provided by the current active - * page of an multi page editor. - * - */ -public class PageflowEditorOutlinePage extends Page implements - IContentOutlinePage { - /** the pageflow editor */ - private final PageflowEditor editor; - - /** the outlineContent for the tree viewer */ - private PageflowElement outlineContent = null; - - /** the control of the overview */ - private Canvas overview = null; - - /** the root edit part (outlineContent for the thumbnail) */ - private RootEditPart overviewContent = null; - - /** the thumbnail */ - private ScrollableThumbnail thumbnail = null; - - /** the tree viewer */ - private TreeViewer treeViewer = null; - - /** the control of the tree view */ - private Control outline = null; - - /** the pagebook */ - private PageBook pageBook = null; - - /** action for showing the tree page */ - private IAction showOutlineAction = null; - - /** action for showing the overview page */ - private IAction showOverviewAction = null; - - /** the LightweightSystem */ - private LightweightSystem lws = null; - - /** the edit domain */ - private EditDomain editDomain = null; - - /** - * Creates a new PageflowEditorOutlinePage instance. - * - * @param editor - - * Pageflow Editor - */ - public PageflowEditorOutlinePage(EditorPart editor) { - super(); - this.editor = (PageflowEditor) editor; - } - - /* - * (non-Javadoc) - * - * @see ISelectionProvider#addSelectionChangedListener(ISelectionChangedListener) - */ - public void addSelectionChangedListener(ISelectionChangedListener listener) { - getTreeViewer().addSelectionChangedListener(listener); - } - - /* - * (non-Javadoc) - * - * @see IPage#createControl(Composite) - */ - public void createControl(Composite parent) { - // pagebook - pageBook = new PageBook(parent, SWT.NONE); - - // tree viewer control - outline = getTreeViewer().createControl(pageBook); - configureEditPartViewer(getTreeViewer()); - - // overview canvas - overview = new Canvas(pageBook, SWT.NONE); - lws = new LightweightSystem(overview); - - // create actions - IToolBarManager tbm = getSite().getActionBars().getToolBarManager(); - showOutlineAction = new Action() { - public void run() { - showPage(outline); - } - }; - showOutlineAction.setImageDescriptor(EditorPlugin.getDefault() - .getImageDescriptor("facesconfig/Pageflow_Outline.gif")); //$NON-NLS-1$ - tbm.add(showOutlineAction); - showOverviewAction = new Action() { - public void run() { - showPage(overview); - } - }; - showOverviewAction.setImageDescriptor(EditorPlugin.getDefault() - .getImageDescriptor("facesconfig/Pageflow_Outline_Overview.gif")); //$NON-NLS-1$ - tbm.add(showOverviewAction); - - // initialize outline page - initializeOutlineViewer(); - - // initialize overview - initializeOverview(); - - // initialize pagebook - showPage(outline); - } - - /** - * Configures the outline viewer - */ - private void initializeOutlineViewer() { - if (null != getEditDomain()) { - getEditDomain().addViewer(getTreeViewer()); - } - // getTreeViewer().setEditPartFactory(new PageflowTreePartFactory()); - - // synchronize selections - editor.getSelectionSynchronizer().addViewer(getTreeViewer()); - - // add content - getTreeViewer().setContents(getOutlineContent()); - } - - /** - * Shows the spcified page. - * - * @param id - - * control id of pagebook in outline page. it is can be _outline - * or _overview - */ - protected void showPage(Control id) { - if (id == outline) { - showOutlineAction.setChecked(true); - showOverviewAction.setChecked(false); - pageBook.showPage(outline); - if (thumbnail != null) { - thumbnail.setVisible(false); - } - } else if (id == overview) { - showOutlineAction.setChecked(false); - showOverviewAction.setChecked(true); - pageBook.showPage(overview); - if (thumbnail != null) { - thumbnail.setVisible(true); - } - } - } - - /** - * Returns the current edit domain. - * - * @return - the edit domain - */ - public EditDomain getEditDomain() { - return editDomain; - } - - /* - * (non-Javadoc) - * - * @see IPage#dispose() - */ - public void dispose() { - editor.getSelectionSynchronizer().removeViewer(getTreeViewer()); - - if (null != thumbnail) { - thumbnail.deactivate(); - } - - super.dispose(); - } - - /** - * initialize Overview. - * - */ - private void initializeOverview() { - // check if control was created - if (null == lws) { - return; - } - - // deactivate old thumbnail - if (null != thumbnail) { - thumbnail.deactivate(); - } - - // create empty thumbnail - thumbnail = new ScrollableThumbnail(); - thumbnail.setBorder(new MarginBorder(3)); - lws.setContents(thumbnail); - - // initialize thumbnail - if (null != getOverviewContent()) { - Viewport viewport = null; - IFigure source = null; - if (getOverviewContent() instanceof ScalableFreeformRootEditPart) { - viewport = (Viewport) ((ScalableFreeformRootEditPart) getOverviewContent()) - .getFigure(); - source = ((ScalableFreeformRootEditPart) getOverviewContent()) - .getLayer(LayerConstants.PRINTABLE_LAYERS); - } - if (getOverviewContent() instanceof ScalableRootEditPart) { - viewport = (Viewport) ((ScalableRootEditPart) getOverviewContent()) - .getFigure(); - source = ((ScalableRootEditPart) getOverviewContent()) - .getLayer(LayerConstants.PRINTABLE_LAYERS); - } - - if (null != viewport && null != source) { - thumbnail.setViewport(viewport); - thumbnail.setSource(source); - } - } - } - - /** - * Returns the outlineContent. - * - * @return - the outlineContent - */ - public PageflowElement getOutlineContent() { - return outlineContent; - } - - /* - * (non-Javadoc) - * - * @see IPage#getControl() - */ - public Control getControl() { - return pageBook; - } - - /** - * Returns the root edit part - * - * @return - the root edit part - */ - public RootEditPart getOverviewContent() { - return overviewContent; - } - - /* - * (non-Javadoc) - * - * @see ISelectionProvider#getSelection() - */ - public ISelection getSelection() { - return getTreeViewer().getSelection(); - } - - /** - * Returns the tree viewer. - * - * @return - the tree viewer - */ - public TreeViewer getTreeViewer() { - if (null == treeViewer) { - treeViewer = new TreeViewer(); - treeViewer.setEditPartFactory(new PageflowTreePartFactory()); - } - - return treeViewer; - } - - /* - * (non-Javadoc) - * - * @see ISelectionProvider#removeSelectionChangedListener(ISelectionChangedListener) - */ - public void removeSelectionChangedListener( - ISelectionChangedListener listener) { - getTreeViewer().removeSelectionChangedListener(listener); - } - - /** - * Sets the outlineContent. - * - * @param element - - * Pageflow Element - */ - public void setOutlineContent(PageflowElement element) { - if (outlineContent != element) { - outlineContent = element; - - // refresh viewer - if (null != getTreeViewer().getControl()) { - getTreeViewer().setContents(element); - - // bugfix: something is overwriting visibility - if (null != pageBook) { - if (showOverviewAction.isChecked()) { - showPage(outline); - showPage(overview); - } else { - showPage(outline); - } - } - } - } - } - - /* - * (non-Javadoc) - * - * @see IPage#setFocus() - */ - public void setFocus() { - if (getControl() != null) { - getControl().setFocus(); - } - } - - /** - * Sets the root edit part. - * - * @param part - - * root edit part for pageflow model - */ - public void setOverviewContent(RootEditPart part) { - if (overviewContent != part) { - overviewContent = part; - // reinitialize thumbnail - // if (null != thumbnail && thumbnail.isVisible()) - initializeOverview(); - } - } - - /* - * (non-Javadoc) - * - * @see ISelectionProvider#setSelection(ISelection) - */ - public void setSelection(ISelection selection) { - getTreeViewer().setSelection(selection); - } - - /** - * Initializes this outline page from a given editor page. - * - * @param newPage - - * Pageflow EditorPage - */ - public void initialize(PageflowEditor newPage) { - if (null != newPage.getGraphicalViewer()) { - setOverviewContent(newPage.getGraphicalViewer().getRootEditPart()); - EditPart currentContent = newPage.getGraphicalViewer() - .getContents(); - setOutlineContent(null != currentContent ? (PageflowElement) currentContent - .getModel() - : null); - setEditDomain(newPage.getEditDomain()); - getViewerContentListener().setViewer(newPage.getGraphicalViewer()); - } else { - setOverviewContent(null); - setOutlineContent(null); - setEditDomain(null); - } - } - - /** - * Sets the edit domain. - * - * @param domain - - * editor's edit domain - */ - public void setEditDomain(EditDomain domain) { - if (editDomain != domain) { - // refresh viewer - if (null != getTreeViewer()) { - if (null != editDomain) { - editDomain.removeViewer(getTreeViewer()); - } - if (null != domain) { - domain.addViewer(getTreeViewer()); - } - } - editDomain = domain; - } - } - - /** - * the current viewer content listener - */ - private final ViewerContentListener viewerContentListener = new ViewerContentListener(); - - /** - * This class listens for changes of the content of an EditPartViewer. If - * the content changed, it will update the outline viewer. - * <p> - * Important: this class has to be disposed with - * <code>setViewer(null)</code>. - * - * @author Gunnar Wagenknecht - */ - private class ViewerContentListener implements EditPartListener { - /* the viewer */ - private EditPartViewer _viewer; - - /** - * Sets a new viewer. <code>null</code> is allowed to dispose. - * - * @param viewer - */ - public void setViewer(EditPartViewer viewer) { - if (null != this._viewer) - this._viewer.getRootEditPart().removeEditPartListener(this); - - this._viewer = viewer; - - if (null != this._viewer) - this._viewer.getRootEditPart().addEditPartListener(this); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.gef.EditPartListener#childAdded(org.eclipse.gef.EditPart, - * int) - */ - public void childAdded(EditPart child, int index) { - // this is out event, update the viewers - if (child.getModel() instanceof PageflowElement) - setOutlineContent((PageflowElement) child.getModel()); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.gef.EditPartListener#partActivated(org.eclipse.gef.EditPart) - */ - public void partActivated(EditPart editpart) { - // do nothing - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.gef.EditPartListener#partDeactivated(org.eclipse.gef.EditPart) - */ - public void partDeactivated(EditPart editpart) { - // do nothing - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.gef.EditPartListener#removingChild(org.eclipse.gef.EditPart, - * int) - */ - public void removingChild(EditPart child, int index) { - // do nothing - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.gef.EditPartListener#selectedStateChanged(org.eclipse.gef.EditPart) - */ - public void selectedStateChanged(EditPart editpart) { - // do nothing - } - } - - /** - * Returns the viewer content listener. - * - * @return the viewer content listener - */ - private ViewerContentListener getViewerContentListener() { - return viewerContentListener; - } - - /** - * Configures the specified <code>EditPartViewer</code>. - * - * @param viewer - */ - protected void configureEditPartViewer(EditPartViewer viewer) { - // configure the shared key handler - if (viewer.getKeyHandler() != null) { - viewer.getKeyHandler().setParent(editor.getSharedKeyHandler()); - } - - // configure the context menu - ContextMenuProvider provider = new PageflowEditorContextMenuProvider( - viewer, editor.getActionRegistry()); - viewer.setContextMenu(provider); - getSite().registerContextMenu( - EditorPlugin.getPluginId() - + ".pageflow.editor.outlineview.contextmenu", provider, //$NON-NLS-1$ - getSite().getSelectionProvider()); - } - -} |