Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.xsd.ui/src-adt-xsd/org/eclipse/wst/xsd/ui/internal/dialogs/XSDGraphViewerDialog.java')
-rw-r--r--bundles/org.eclipse.wst.xsd.ui/src-adt-xsd/org/eclipse/wst/xsd/ui/internal/dialogs/XSDGraphViewerDialog.java416
1 files changed, 0 insertions, 416 deletions
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-adt-xsd/org/eclipse/wst/xsd/ui/internal/dialogs/XSDGraphViewerDialog.java b/bundles/org.eclipse.wst.xsd.ui/src-adt-xsd/org/eclipse/wst/xsd/ui/internal/dialogs/XSDGraphViewerDialog.java
deleted file mode 100644
index 33adbdeff4..0000000000
--- a/bundles/org.eclipse.wst.xsd.ui/src-adt-xsd/org/eclipse/wst/xsd/ui/internal/dialogs/XSDGraphViewerDialog.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsd.ui.internal.dialogs;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.gef.EditPartFactory;
-import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.PopupDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.wst.xsd.ui.internal.adapters.XSDAdapterFactory;
-import org.eclipse.wst.xsd.ui.internal.adt.design.editparts.RootContentEditPart;
-import org.eclipse.wst.xsd.ui.internal.adt.design.editparts.RootEditPart;
-import org.eclipse.wst.xsd.ui.internal.adt.typeviz.design.figures.TypeVizFigureFactory;
-import org.eclipse.wst.xsd.ui.internal.common.actions.OpenInNewEditor;
-import org.eclipse.wst.xsd.ui.internal.common.util.Messages;
-import org.eclipse.wst.xsd.ui.internal.design.editparts.XSDEditPartFactory;
-import org.eclipse.wst.xsd.ui.internal.editor.XSDEditorPlugin;
-import org.eclipse.xsd.XSDConcreteComponent;
-import org.eclipse.xsd.XSDSchema;
-
-public class XSDGraphViewerDialog extends PopupDialog
-{
- protected Object model;
- protected ScrollingGraphicalViewer viewer;
- protected IOpenInNewEditor openInNewEditorHelper;
- private OpenEditorLinkListener linkListener;
- private Label nsInfoLabel;
- private Hyperlink link;
- private String infoText;
- private Font infoFont;
- private String uniqueID;
- private PreviewControlListener moveListener;
-
- private static String X_ORIGIN = "DIALOG_X_ORIGIN"; //$NON-NLS-1$
- private static String Y_ORIGIN = "DIALOG_Y_ORIGIN"; //$NON-NLS-1$
- private boolean isHighContrast = false;
-
- public XSDGraphViewerDialog(Shell parentShell, String titleText, String infoText, Object model, String ID)
- {
- // INFOPOPUP_SHELLSTYLE works properly on both Windows and Linux.
- super(parentShell, INFOPOPUP_SHELLSTYLE, true, true, true, true, false, titleText, infoText);
- setModel(model);
- linkListener = new OpenEditorLinkListener();
- this.infoText = infoText;
- this.uniqueID = ID;
- Assert.isTrue(ID != null && ID.length() > 0);
- moveListener = new PreviewControlListener();
- try
- {
- isHighContrast = Display.getDefault().getHighContrast();
- }
- catch (Exception e) {
- // ignore
- }
- create();
- }
-
- public void setOpenExternalEditor(IOpenInNewEditor helper)
- {
- this.openInNewEditorHelper = helper;
- }
-
- protected void fillDialogMenu(IMenuManager dialogMenu)
- {
- super.fillDialogMenu(dialogMenu);
- dialogMenu.add(new Separator());
- dialogMenu.add(new ClosePopup());
- dialogMenu.add(new Separator());
- dialogMenu.add(new SetOpenInEditor());
- }
-
- protected Control createDialogArea(Composite parent)
- {
- viewer = new ScrollingGraphicalViewer();
- Composite c = (Composite)super.createDialogArea(parent);
-
- if (isHighContrast)
- {
- c.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
- }
- else
- {
- c.setBackground(ColorConstants.white);
- }
- c.setLayout(new FillLayout());
-
- RootEditPart root = new RootEditPart();
- viewer.setRootEditPart(root);
-
- viewer.createControl(c);
-
- // The graphical viewer tool tip processing creates an extra shell which
- // interferes with the PopupDialog's deactivation logic.
- removeMouseListeners(viewer.getControl());
-
- if (isHighContrast)
- {
- viewer.getControl().setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
- }
- else
- {
- viewer.getControl().setBackground(ColorConstants.white);
- }
- EditPartFactory editPartFactory = new XSDEditPartFactory(new TypeVizFigureFactory());
- viewer.setEditPartFactory(editPartFactory);
-
- RootContentEditPart rootContentEditPart = new RootContentEditPart();
- rootContentEditPart.setModel(model);
- viewer.setContents(rootContentEditPart);
-
- getShell().addControlListener(moveListener);
- return c;
- }
-
- private void removeMouseListeners(Control control)
- {
- Listener[] listeners = control.getListeners(SWT.MouseEnter);
- control.removeListener(SWT.MouseEnter, listeners[0]);
-
- listeners = control.getListeners(SWT.MouseExit);
- control.removeListener(SWT.MouseExit, listeners[0]);
-
- listeners = control.getListeners(SWT.MouseHover);
- control.removeListener(SWT.MouseHover, listeners[0]);
-
- listeners = control.getListeners(SWT.MouseMove);
- control.removeListener(SWT.MouseMove, listeners[0]);
-
- listeners = control.getListeners(SWT.MouseDown);
- control.removeListener(SWT.MouseDown, listeners[0]);
-
- listeners = control.getListeners(SWT.MouseUp);
- control.removeListener(SWT.MouseUp, listeners[0]);
-
- listeners = control.getListeners(SWT.MouseDoubleClick);
- control.removeListener(SWT.MouseDoubleClick, listeners[0]);
- }
-
- protected Control createInfoTextArea(Composite parent)
- {
- Composite infoComposite = new Composite(parent, SWT.NONE);
- GridLayout gridLayout = new GridLayout(2, false);
- gridLayout.marginHeight = 0;
- gridLayout.marginWidth = 0;
- infoComposite.setLayout(gridLayout);
- GridData gd = new GridData(GridData.FILL_BOTH);
- infoComposite.setLayoutData(gd);
-
- nsInfoLabel = new Label(infoComposite, SWT.LEFT);
- nsInfoLabel.setText(infoText);
-
- Font font = nsInfoLabel.getFont();
- FontData[] fontDatas = font.getFontData();
- for (int i = 0; i < fontDatas.length; i++)
- {
- fontDatas[i].setHeight(fontDatas[i].getHeight() * 9 / 10);
- }
- infoFont = new Font(nsInfoLabel.getDisplay(), fontDatas);
- nsInfoLabel.setFont(infoFont);
- gd = new GridData(GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING);
- nsInfoLabel.setLayoutData(gd);
- nsInfoLabel.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
-
- link = new Hyperlink(infoComposite, SWT.RIGHT);
- // Remove mnemonic ampersand. It would be better to have a separate string in the future.
- String label = Messages._UI_ACTION_OPEN_IN_NEW_EDITOR.replaceAll("&", "");
- link.setText(label);
- link.setFont(infoFont);
- link.addHyperlinkListener(linkListener);
- return infoComposite;
- }
-
- private void setModel(Object model)
- {
- Assert.isTrue(model instanceof XSDConcreteComponent);
- this.model = XSDAdapterFactory.getInstance().adapt((XSDConcreteComponent) model);
- }
-
- protected class SetOpenInEditor extends Action
- {
- public SetOpenInEditor()
- {
- super(Messages._UI_ACTION_OPEN_IN_NEW_EDITOR);
- }
-
- public void run()
- {
- if (openInNewEditorHelper != null)
- {
- try
- {
- openInNewEditorHelper.openXSDEditor();
- }
- catch (Exception e)
- {
-
- }
- }
- }
- }
-
- private class ClosePopup extends Action {
- public ClosePopup()
- {
- super(Messages._UI_ACTION_CLOSE_SCHEMA_PREVIEW_POPUP);
- }
-
- public void run()
- {
- close();
- }
- }
-
- protected IDialogSettings getDialogSettings()
- {
- IDialogSettings settings= XSDEditorPlugin.getDefault().getDialogSettings().getSection(uniqueID);
- if (settings == null)
- settings= XSDEditorPlugin.getDefault().getDialogSettings().addNewSection(uniqueID);
-
- return settings;
- }
-
- protected Point getInitialLocation(Point initialSize)
- {
- Point result = super.getInitialLocation(initialSize);
-
- IDialogSettings settings = getDialogSettings();
- if (settings != null)
- {
- try
- {
-
- String prefix = uniqueID == null ? getClass().getName() : uniqueID;
- int x = settings.getInt(prefix + X_ORIGIN);
- int y = settings.getInt(prefix + Y_ORIGIN);
- result = new Point(x, y);
- Shell parent = getParentShell();
- if (parent != null)
- {
- Point parentLocation = parent.getLocation();
- result.x += parentLocation.x;
- result.y += parentLocation.y;
- }
- }
- catch (NumberFormatException e)
- {
- }
- }
- return result;
- }
-
- protected void saveDialogBounds(Shell shell)
- {
- IDialogSettings settings = getDialogSettings();
- if (settings != null)
- {
- Point shellLocation = shell.getLocation();
- Shell parent = getParentShell();
- if (parent != null)
- {
- Point parentLocation = parent.getLocation();
- shellLocation.x -= parentLocation.x;
- shellLocation.y -= parentLocation.y;
- }
- String prefix = uniqueID == null ? getClass().getName() : uniqueID;
- settings.put(prefix + X_ORIGIN, shellLocation.x);
- settings.put(prefix + Y_ORIGIN, shellLocation.y);
- }
- }
-
-
- public boolean close()
- {
- if (getShell() == null || getShell().isDisposed())
- {
- return true;
- }
-
- getShell().removeControlListener(moveListener);
- if (link != null)
- link.removeHyperlinkListener(linkListener);
- if (infoFont != null)
- infoFont.dispose();
- infoFont = null;
- return super.close();
- }
-
- private final class OpenEditorLinkListener implements IHyperlinkListener
- {
-
- public void linkActivated(HyperlinkEvent e)
- {
- new SetOpenInEditor().run();
- close();
- }
-
- public void linkEntered(HyperlinkEvent e)
- {
- link.setForeground(ColorConstants.lightBlue);
- }
-
- public void linkExited(HyperlinkEvent e)
- {
- link.setForeground(link.getParent().getForeground());
- }
-
- }
-
- protected class PreviewControlListener implements ControlListener
- {
-
- public void controlMoved(ControlEvent e)
- {
- saveDialogBounds(getShell());
- }
-
- public void controlResized(ControlEvent e)
- {
- }
- }
-
- /**
- * @deprecated since 1.2.101
- * @param xsdComponent
- * @param schema
- * @param editorName
- */
- public static void openNonXSDResourceSchema(XSDConcreteComponent xsdComponent, XSDSchema schema, String editorName)
- {
- openInlineSchema(getCurrentEditorInput(), xsdComponent, schema, editorName);
- }
-
- public static void openInlineSchema(IEditorInput editorInput, XSDConcreteComponent xsdComponent, XSDSchema schema, String editorName)
- {
- OpenInNewEditor.openInlineSchema(editorInput, xsdComponent, schema, editorName);
- }
-
- /**
- * @deprecated
- */
- public static void openXSDEditor(XSDConcreteComponent xsdComponent)
- {
- openXSDEditor(getCurrentEditorInput(), xsdComponent.getSchema(), xsdComponent);
- }
-
- public static void openXSDEditor(IEditorInput editorInput, XSDSchema schema, XSDConcreteComponent xsdComponent)
- {
- OpenInNewEditor.openXSDEditor(editorInput, schema, xsdComponent);
- }
-
- private static IEditorInput getCurrentEditorInput()
- {
- try
- {
- IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- IWorkbenchPage page = null;
- if (workbenchWindow != null)
- {
- page = workbenchWindow.getActivePage();
- if (page != null)
- {
- IEditorPart editorPart = page.getActiveEditor();
- if (editorPart != null)
- {
- return editorPart.getEditorInput();
- }
- }
- }
- }
- catch (Exception e)
- {
-
- }
- return null;
- }
-
- protected Control getFocusControl()
- {
- return link;
- }
-}

Back to the top