diff options
Diffstat (limited to 'bundles/org.eclipse.wst.xsd.ui/src-adt/org/eclipse/wst/xsd/ui/internal/adt/design/editparts/BaseEditPart.java')
-rw-r--r-- | bundles/org.eclipse.wst.xsd.ui/src-adt/org/eclipse/wst/xsd/ui/internal/adt/design/editparts/BaseEditPart.java | 300 |
1 files changed, 0 insertions, 300 deletions
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-adt/org/eclipse/wst/xsd/ui/internal/adt/design/editparts/BaseEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src-adt/org/eclipse/wst/xsd/ui/internal/adt/design/editparts/BaseEditPart.java deleted file mode 100644 index 357e63489f..0000000000 --- a/bundles/org.eclipse.wst.xsd.ui/src-adt/org/eclipse/wst/xsd/ui/internal/adt/design/editparts/BaseEditPart.java +++ /dev/null @@ -1,300 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 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.adt.design.editparts; - -import java.util.List; - -import org.eclipse.core.runtime.Assert; -import org.eclipse.draw2d.geometry.Rectangle; -import org.eclipse.gef.AccessibleEditPart; -import org.eclipse.gef.EditPart; -import org.eclipse.gef.EditPartFactory; -import org.eclipse.gef.GraphicalViewer; -import org.eclipse.gef.editparts.AbstractGraphicalEditPart; -import org.eclipse.gef.editparts.ScalableRootEditPart; -import org.eclipse.gef.editparts.ZoomListener; -import org.eclipse.gef.editparts.ZoomManager; -import org.eclipse.jface.action.IAction; -import org.eclipse.swt.SWT; -import org.eclipse.swt.accessibility.AccessibleEvent; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.graphics.FontData; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.ide.FileStoreEditorInput; -import org.eclipse.wst.xsd.ui.internal.adt.design.editparts.model.IActionProvider; -import org.eclipse.wst.xsd.ui.internal.adt.design.editparts.model.IFeedbackHandler; -import org.eclipse.wst.xsd.ui.internal.adt.design.editpolicies.KeyBoardAccessibilityEditPolicy; -import org.eclipse.wst.xsd.ui.internal.adt.design.figures.IFigureFactory; -import org.eclipse.wst.xsd.ui.internal.adt.editor.CommonMultiPageEditor; -import org.eclipse.wst.xsd.ui.internal.adt.facade.IADTObject; -import org.eclipse.wst.xsd.ui.internal.adt.facade.IADTObjectListener; - -public abstract class BaseEditPart extends AbstractGraphicalEditPart implements IActionProvider, IADTObjectListener, IFeedbackHandler -{ - protected static final String[] EMPTY_ACTION_ARRAY = {}; - protected boolean isSelected = false; - protected boolean hasFocus = false; - protected static boolean isHighContrast = Display.getDefault().getHighContrast(); - protected AccessibleEditPart accessiblePart; - - public IFigureFactory getFigureFactory() - { - EditPartFactory factory = getViewer().getEditPartFactory(); - Assert.isTrue(factory instanceof IFigureFactory, "EditPartFactory must be an instanceof of IFigureFactory"); //$NON-NLS-1$ - return (IFigureFactory)factory; - } - - public String[] getActions(Object object) - { - Object model = getModel(); - if (model instanceof IActionProvider) - { - return ((IActionProvider)model).getActions(object); - } - return EMPTY_ACTION_ARRAY; - } - - protected void addActionsToList(List list, IAction[] actions) - { - for (int i = 0; i < actions.length; i++) - { - list.add(actions[i]); - } - } - - public void activate() - { - super.activate(); - Object model = getModel(); - if (model instanceof IADTObject) - { - IADTObject object = (IADTObject)model; - object.registerListener(this); - } - - if (getZoomManager() != null) - getZoomManager().addZoomListener(zoomListener); - - } - - public void deactivate() - { - try - { - Object model = getModel(); - if (model instanceof IADTObject) - { - IADTObject object = (IADTObject)model; - object.unregisterListener(this); - } - - if (getZoomManager() != null) - getZoomManager().removeZoomListener(zoomListener); - } - finally - { - super.deactivate(); - } - } - - public void propertyChanged(Object object, String property) - { - refresh(); - } - - public void refresh() { - - boolean doUpdateDesign = doUpdateDesign(); - if (doUpdateDesign) - { - super.refresh(); - } - } - - public void addFeedback() - { - isSelected = true; - refreshVisuals(); - } - - public void removeFeedback() - { - isSelected = false; - refreshVisuals(); - } - - public ZoomManager getZoomManager() - { - return ((ScalableRootEditPart)getRoot()).getZoomManager(); - } - - public Rectangle getZoomedBounds(Rectangle r) - { - double factor = getZoomManager().getZoom(); - int x = (int)Math.round(r.x * factor); - int y = (int)Math.round(r.y * factor); - int width = (int)Math.round(r.width * factor); - int height = (int)Math.round(r.height * factor); - - return new Rectangle(x, y, width, height); - } - - private ZoomListener zoomListener = new ZoomListener() - { - public void zoomChanged(double zoom) - { - handleZoomChanged(); - } - }; - - protected void handleZoomChanged() - { - refreshVisuals(); - } - - public IEditorPart getEditorPart() - { - IEditorPart editorPart = null; - IWorkbench workbench = PlatformUI.getWorkbench(); - if (workbench != null) - { - IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); - if (workbenchWindow != null) - { - if (workbenchWindow.getActivePage() != null) - { - editorPart = workbenchWindow.getActivePage().getActiveEditor(); - } - } - } -// Assert.isNotNull(editorPart); - return editorPart; - } - - protected void createEditPolicies() - { - installEditPolicy(KeyBoardAccessibilityEditPolicy.KEY, new KeyBoardAccessibilityEditPolicy() - { - public EditPart getRelativeEditPart(EditPart editPart, int direction) - { - return doGetRelativeEditPart(editPart, direction); - } - }); - } - - - public EditPart doGetRelativeEditPart(EditPart editPart, int direction) - { - return null; - } - - protected boolean isFileReadOnly() - { - IWorkbench workbench = PlatformUI.getWorkbench(); - if (workbench != null) - { - IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); - if (workbenchWindow != null) - { - IWorkbenchPage page = workbenchWindow.getActivePage(); - if (page != null) - { - IEditorPart editor = page.getActiveEditor(); - if (editor != null) - { - IEditorInput editorInput = editor.getEditorInput(); - if (!(editorInput instanceof IFileEditorInput || editorInput instanceof FileStoreEditorInput)) - { - return true; - } - } - } - } - } - return false; - } - - // For https://bugs.eclipse.org/bugs/show_bug.cgi?id=218281 - // Don't want to refresh the design when changes are made in the source view. - protected boolean doUpdateDesign() - { - IWorkbench workbench = PlatformUI.getWorkbench(); - if (workbench != null) - { - IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); - if (workbenchWindow != null) - { - IWorkbenchPage page = workbenchWindow.getActivePage(); - if (page != null) - { - IEditorPart editorPart = page.getActiveEditor(); - if (editorPart instanceof CommonMultiPageEditor) - { - CommonMultiPageEditor editor = (CommonMultiPageEditor) editorPart; - GraphicalViewer viewer = (GraphicalViewer)editor.getAdapter(GraphicalViewer.class); - // Need to ensure this is the same editor we are working with since the active editor may not be - // the current, eg. at startup, there can be another XSD Editor open on the source page, so we could end - // up not populating the design view initally - if (getViewer() == viewer) - { - // If source page is active, don't update the design - return !editor.isSourcePageActive(); - } - } - } - } - } - return true; - } - - /** - * Try to get the italic font for the current font - * @param font - * @return - */ - protected Font getItalicFont(Font font) - { - if (font != null && !font.isDisposed()) - { - FontData[] fd = font.getFontData(); - if (fd.length > 0) - { - fd[0].setStyle(fd[0].getStyle() | SWT.ITALIC); - return new Font(font.getDevice(), fd); - } - } - return font; - } - protected AccessibleEditPart getAccessibleEditPart() { - - if (accessiblePart ==null) - { - accessiblePart = new AccessibleGraphicalEditPart(){ - - public void getName(AccessibleEvent e) { - e.result = getReaderText(); - } - }; - } - return accessiblePart; - } -public String getReaderText() -{ - return ""; -} -} |