Package org.eclipse.graphiti.ui.editor
Class DiagramComposite
java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Scrollable
org.eclipse.swt.widgets.Composite
org.eclipse.graphiti.ui.editor.GraphicalComposite
org.eclipse.graphiti.ui.editor.DiagramComposite
- All Implemented Interfaces:
EventListener,org.eclipse.core.runtime.IAdaptable,org.eclipse.gef.commands.CommandStackEventListener,org.eclipse.gef.commands.CommandStackListener,IDiagramContainer,IDiagramContainerUI,org.eclipse.swt.graphics.Drawable,org.eclipse.ui.ISelectionListener
An SWT composite that can display a Graphiti diagram. This implementation is
based on a custom
GraphicalComposite class that works much like the
GEF GraphicalEditorWithFlyoutPalette class.
A DiagramComposite can be used anywhere a regular SWT Composite can. A
DiagramComposite can participate in a parent transaction or create one of
it's own. If the DiagramComposites is managing it's own transaction, it is up
to the enclosing workbench part to call the appropriate methods on the
composite.- Since:
- 0.10
-
Field Summary
Fields inherited from class org.eclipse.swt.widgets.Control
handleFields inherited from class org.eclipse.swt.widgets.Widget
nativeZoomFields inherited from interface org.eclipse.graphiti.ui.editor.IDiagramContainerUI
DIAGRAM_CONTEXT_ID -
Constructor Summary
ConstructorsConstructorDescriptionDiagramComposite(org.eclipse.swt.widgets.Composite parent, int style) DiagramComposite(org.eclipse.ui.IWorkbenchPart ownedPart, org.eclipse.swt.widgets.Composite parent, int style) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Notify the container that it should shut down or clear it's state.voidCalled to configure the graphical viewer before it receives its contents.protected DiagramBehaviorprotected voidCreates the GraphicalViewer on the specifiedComposite.protected final org.eclipse.gef.ui.palette.PaletteViewerProvidervoidvoiddispose()voiddoSave(org.eclipse.core.runtime.IProgressMonitor monitor) Triggers that the diagram model is persisted.voidvoidgetAdapter(Class type) Returns the adapter for the specified key.Returns theDiagramBehaviorinstance associated with this container.Returns theIDiagramEditorInputinstance used for this container.Gets the diagram type provider.org.eclipse.gef.GraphicalEditPartprotected final org.eclipse.gef.ui.palette.FlyoutPaletteComposite.FlyoutPreferencesprotected final org.eclipse.gef.palette.PaletteRootfinal DefaultRefreshBehaviorGets all pictogram elements that are currently selected.org.eclipse.ui.IWorkbenchPartSitegetSite()Returns theIWorkbenchPartSiteof the EclipseIWorkbenchPartthat displays this container.getTitle()Gets the title for the container that is displaying the diagram.Returns the tooltip for the container.final DefaultUpdateBehaviororg.eclipse.ui.IWorkbenchPartReturns the instance of the EclipseIWorkbenchPartthat displays this container.doublevoidOverride to set the contents of the GraphicalViewer after it has been created.booleanisAlive()booleanbooleanisDirty()Returnstrueif the command stack is dirtyvoidRefreshes the title text of this container.voidRefreshes the title tool tip text of this part.voidselectPictogramElements(PictogramElement[] pictogramElements) Selects all the given pictogram elements in the container.voidsetDirectEditingActive(boolean directEditingActive) booleansetFocus()Sets the focus by delegating to the super class implementation in the GEF editor and additionally triggers a update of the diagram by delegating toDefaultUpdateBehavior.handleActivate().voidsetInput(org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain, IDiagramEditorInput input) voidsetInput(IDiagramEditorInput input) voidsetPictogramElementForSelection(PictogramElement pictogramElement) Sets the pictogram element which should be selected after the container refresh.voidsetPictogramElementsForSelection(PictogramElement[] pictogramElements) Sets the pictogram elements which should be selected after the container refresh.voidUpdates the UI of the container to correctly reflect the dirty state.Methods inherited from class org.eclipse.graphiti.ui.editor.GraphicalComposite
commandStackChanged, createActions, createControl, firePropertyChange, getActionRegistry, getCommandStack, getEditDomain, getGraphicalViewer, getPropertyActions, getSelectionActions, getSelectionSynchronizer, getStackActions, hookGraphicalViewer, init, initializeActionRegistry, selectionChanged, setActionRegistry, setEditDomain, setGraphicalViewer, stackChanged, updateActionsMethods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setLayout, setLayoutDeferred, setTabList, toStringMethods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar, setScrollbarsModeMethods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, updateMethods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, addTypedListener, checkWidget, getData, getData, getDisplay, getListeners, getStyle, getTypedListeners, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, removeTypedListener, reskin, setData, setDataMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.swt.graphics.Drawable
isAutoScalableMethods inherited from interface org.eclipse.graphiti.ui.editor.IDiagramContainerUI
commandStackChanged, getActionRegistry, getEditDomain, getGraphicalViewer, getSelectionActions, hookGraphicalViewer, setEditDomain, setGraphicalViewer
-
Constructor Details
-
DiagramComposite
public DiagramComposite(org.eclipse.ui.IWorkbenchPart ownedPart, org.eclipse.swt.widgets.Composite parent, int style) -
DiagramComposite
public DiagramComposite(org.eclipse.swt.widgets.Composite parent, int style)
-
-
Method Details
-
createDiagramBehavior
-
setInput
-
setInput
public void setInput(org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain, IDiagramEditorInput input) -
initializeGraphicalViewer
public void initializeGraphicalViewer()Description copied from class:GraphicalCompositeOverride to set the contents of the GraphicalViewer after it has been created.- Specified by:
initializeGraphicalViewerin interfaceIDiagramContainerUI- Overrides:
initializeGraphicalViewerin classGraphicalComposite- See Also:
-
#createGraphicalViewer(Composite)
-
createGraphicalViewer
protected void createGraphicalViewer()Description copied from class:GraphicalCompositeCreates the GraphicalViewer on the specifiedComposite.- Overrides:
createGraphicalViewerin classGraphicalComposite
-
configureGraphicalViewer
public void configureGraphicalViewer()Description copied from class:GraphicalCompositeCalled to configure the graphical viewer before it receives its contents. This is where the root editpart should be configured. Subclasses should extend or override this method as needed.- Specified by:
configureGraphicalViewerin interfaceIDiagramContainerUI- Overrides:
configureGraphicalViewerin classGraphicalComposite- Since:
- 0.12
-
refreshTitle
public void refreshTitle()Description copied from interface:IDiagramContainerRefreshes the title text of this container. It depends on the container type what and if anything is refreshed, for an editor e.g. the part tab will be refreshed.- Specified by:
refreshTitlein interfaceIDiagramContainer
-
refreshTitleToolTip
public void refreshTitleToolTip()Description copied from interface:IDiagramContainerRefreshes the title tool tip text of this part. It depends on the container type what and if anything is refreshed, for an editor e.g. the part tab tooltip will be refreshed.- Specified by:
refreshTitleToolTipin interfaceIDiagramContainer
-
updateDirtyState
public void updateDirtyState()Description copied from interface:IDiagramContainerUpdates the UI of the container to correctly reflect the dirty state. What (and if anything) happens depends on the container type. The default implementation in the editor e.g. does this by firing aIEditorPart#PROP_DIRTYproperty change.- Specified by:
updateDirtyStatein interfaceIDiagramContainer
-
getWorkbenchPart
public org.eclipse.ui.IWorkbenchPart getWorkbenchPart()Description copied from interface:IDiagramContainerUIReturns the instance of the EclipseIWorkbenchPartthat displays this container. E.g. for an editor this will be the editor itself.- Specified by:
getWorkbenchPartin interfaceIDiagramContainerUI- Specified by:
getWorkbenchPartin classGraphicalComposite- Returns:
- The
IWorkbenchPartthat is displaying the diagram.
-
close
public void close()Description copied from interface:IDiagramContainerNotify the container that it should shut down or clear it's state.- Specified by:
closein interfaceIDiagramContainer
-
getAdapter
Description copied from class:GraphicalCompositeReturns the adapter for the specified key.IMPORTANT certain requests, such as the property sheet, may be made before or after
#createPartControl(Composite)is called. The order is unspecified by the Workbench.- Specified by:
getAdapterin interfaceorg.eclipse.core.runtime.IAdaptable- Overrides:
getAdapterin classGraphicalComposite- See Also:
-
IAdaptable.getAdapter(java.lang.Class)
-
dispose
public void dispose()- Overrides:
disposein classGraphicalComposite- See Also:
-
IWorkbenchPart.dispose()
-
setFocus
public boolean setFocus()Sets the focus by delegating to the super class implementation in the GEF editor and additionally triggers a update of the diagram by delegating toDefaultUpdateBehavior.handleActivate().- Overrides:
setFocusin classGraphicalComposite
-
getUpdateBehavior
-
getRefreshBehavior
-
editingDomainInitialized
public void editingDomainInitialized() -
disableAdapters
public void disableAdapters() -
enableAdapters
public void enableAdapters() -
isDirty
public boolean isDirty()Description copied from class:GraphicalCompositeReturnstrueif the command stack is dirty- Specified by:
isDirtyin interfaceIDiagramContainer- Overrides:
isDirtyin classGraphicalComposite- Returns:
true, if container is dirty,falseotherwise- See Also:
-
ISaveablePart.isDirty()
-
createPaletteViewerProvider
protected final org.eclipse.gef.ui.palette.PaletteViewerProvider createPaletteViewerProvider() -
getPalettePreferences
protected final org.eclipse.gef.ui.palette.FlyoutPaletteComposite.FlyoutPreferences getPalettePreferences() -
getPaletteRoot
protected final org.eclipse.gef.palette.PaletteRoot getPaletteRoot() -
getSelectedPictogramElements
Description copied from interface:IDiagramContainerGets all pictogram elements that are currently selected.- Specified by:
getSelectedPictogramElementsin interfaceIDiagramContainer- Returns:
- all selected pictogram elements
-
selectPictogramElements
Description copied from interface:IDiagramContainerSelects all the given pictogram elements in the container.- Specified by:
selectPictogramElementsin interfaceIDiagramContainer- Parameters:
pictogramElements- The pictogram elements to select
-
setPictogramElementForSelection
Description copied from interface:IDiagramContainerSets the pictogram element which should be selected after the container refresh.- Specified by:
setPictogramElementForSelectionin interfaceIDiagramContainer- Parameters:
pictogramElement- The pictogram element to select
-
setPictogramElementsForSelection
Description copied from interface:IDiagramContainerSets the pictogram elements which should be selected after the container refresh.- Specified by:
setPictogramElementsForSelectionin interfaceIDiagramContainer- Parameters:
pictogramElements- The pictogram elements to select
-
getDiagramTypeProvider
Description copied from interface:IDiagramContainerGets the diagram type provider.- Specified by:
getDiagramTypeProviderin interfaceIDiagramContainer- Returns:
- The diagram type provider
-
getEditPartForPictogramElement
-
getZoomLevel
public double getZoomLevel() -
isAlive
public boolean isAlive() -
isDirectEditingActive
public boolean isDirectEditingActive() -
setDirectEditingActive
public void setDirectEditingActive(boolean directEditingActive) -
getDiagramEditorInput
Description copied from interface:IDiagramContainerUIReturns theIDiagramEditorInputinstance used for this container. Basically it is used as an EclipseIEditorInputobject only in case the container is an editor; for other types of containers the input is simply used as a holder for a URI pointing to a diagram.- Specified by:
getDiagramEditorInputin interfaceIDiagramContainerUI- Returns:
- The input containing the URI for the diagram
-
getSite
public org.eclipse.ui.IWorkbenchPartSite getSite()Description copied from interface:IDiagramContainerUIReturns theIWorkbenchPartSiteof the EclipseIWorkbenchPartthat displays this container. E.g. for an editor this will be the editor site.- Specified by:
getSitein interfaceIDiagramContainerUI- Returns:
- The site for the
IWorkbenchPartthat is displaying the diagram.
-
getTitle
Description copied from interface:IDiagramContainerGets the title for the container that is displaying the diagram.- Specified by:
getTitlein interfaceIDiagramContainer- Returns:
- The title as a
String
-
getTitleToolTip
Description copied from interface:IDiagramContainerReturns the tooltip for the container. For an editor that would e.g. be the string that is displayed when hovering over the editor title tab.- Specified by:
getTitleToolTipin interfaceIDiagramContainer- Returns:
- The tooltip as a
String
-
doSave
public void doSave(org.eclipse.core.runtime.IProgressMonitor monitor) Description copied from interface:IDiagramContainerTriggers that the diagram model is persisted.- Specified by:
doSavein interfaceIDiagramContainer
-
getDiagramBehavior
Description copied from interface:IDiagramContainerUIReturns theDiagramBehaviorinstance associated with this container.- Specified by:
getDiagramBehaviorin interfaceIDiagramContainer- Specified by:
getDiagramBehaviorin interfaceIDiagramContainerUI- Returns:
- The associated
DiagramBehaviorinstance
-