Class AbstractDesignableWorkspace
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JTabbedPane
-
- com.jidesoft.swing.JideTabbedPane
-
- com.inductiveautomation.ignition.designer.designable.AbstractDesignableWorkspace
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.SwingConstants
- Direct Known Subclasses:
AbstractBlockWorkspace
,DefaultDesignableWorkspace
,StandaloneWorkspace
public abstract class AbstractDesignableWorkspace extends com.jidesoft.swing.JideTabbedPane
This abstract workspace provides the "guts" of workspaces that use a drag-and-drop style interface. This class extends from JideTabbedPane, so multiple drag-and-drop interfaces may be open at once.
Most workspaces that want this functionality should subclass from
DefaultDesignableWorkspace
instead of this one.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.jidesoft.swing.JideTabbedPane
com.jidesoft.swing.JideTabbedPane.ColorProvider, com.jidesoft.swing.JideTabbedPane.GradientColorProvider, com.jidesoft.swing.JideTabbedPane.IgnoreableSingleSelectionModel, com.jidesoft.swing.JideTabbedPane.NoFocusButton, com.jidesoft.swing.JideTabbedPane.PageLastFocusTracker, com.jidesoft.swing.JideTabbedPane.TabListCellRenderer
-
Nested classes/interfaces inherited from class javax.swing.JTabbedPane
javax.swing.JTabbedPane.AccessibleJTabbedPane, javax.swing.JTabbedPane.ModelListener
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected IDesignTool
currentTool
The currently selected tool.static java.lang.String
DESIGNABLE_CONTAINER_ICON_KEY
static java.lang.String
DESIGNTIME_PROPNAME
protected java.util.List<DesignableWorkspaceListener>
listeners
These listeners are notified when things happen to the designable workspace such as switching selected designable containers.protected LoggerEx
log
protected java.util.Map<DesignableContainer,DesignPanel>
openContainers
Holds all of the currently editing containersprotected java.util.List<javax.swing.JComponent>
selectedItems
The currently selected componentsprotected ISelectionControl
selectionControl
The current "selection control" - which is what typically adds handles to the selected components.protected IDesignTool
selectionTool
The standard tool - used for moving, resizing, and marquee selection-
Fields inherited from class com.jidesoft.swing.JideTabbedPane
_focusChangeListener, _tabEditingAllowed, _tabEditValidator, BOLDACTIVETAB_PROPERTY, BOX_STYLE_PROPERTY, BUTTON_CLOSE, BUTTON_EAST, BUTTON_LIST, BUTTON_NORTH, BUTTON_SOUTH, BUTTON_WEST, COLOR_THEME_DEFAULT, COLOR_THEME_OFFICE2003, COLOR_THEME_VSNET, COLOR_THEME_WIN2K, COLOR_THEME_WINXP, GRIPPER_PROPERTY, HIDE_IF_ONE_TAB_PROPERTY, ONENOTE_COLOR_PROVIDER, PROPERTY_COLOR_THEME, PROPERTY_CONTENT_BORDER_INSETS, PROPERTY_DRAG_OVER_DISABLED, PROPERTY_SELECTED_INDEX, PROPERTY_SHOW_CLOSE_BUTTON_ON_MOUSE_OVER, PROPERTY_TAB_AREA_INSETS, PROPERTY_TAB_COLOR_PROVIDER, PROPERTY_TAB_INSETS, PROPERTY_TAB_LEADING_COMPONENT, PROPERTY_TAB_RESIZE_MODE, PROPERTY_TAB_SHAPE, PROPERTY_TAB_TRAILING_COMPONENT, RESIZE_MODE_COMPRESSED, RESIZE_MODE_DEFAULT, RESIZE_MODE_FIT, RESIZE_MODE_FIXED, RESIZE_MODE_NONE, SCROLL_TAB_ON_WHEEL_PROPERTY, SHAPE_BOX, SHAPE_DEFAULT, SHAPE_ECLIPSE, SHAPE_ECLIPSE3X, SHAPE_EXCEL, SHAPE_FLAT, SHAPE_OFFICE2003, SHAPE_ROUNDED_FLAT, SHAPE_ROUNDED_VSNET, SHAPE_VSNET, SHAPE_WINDOWS, SHAPE_WINDOWS_SELECTED, SHOW_CLOSE_BUTTON_ON_TAB_PROPERTY, SHOW_CLOSE_BUTTON_PROPERTY, SHOW_ICONS_PROPERTY, SHOW_TAB_AREA_PROPERTY, SHOW_TAB_BUTTONS_PROPERTY, SHOW_TAB_CONTENT_PROPERTY, SHRINK_TAB_PROPERTY, TAB_CLOSABLE_PROPERTY, USE_DEFAULT_SHOW_CLOSE_BUTTON_ON_TAB_PROPERTY, USE_DEFAULT_SHOW_ICONS_PROPERTY
-
Fields inherited from class javax.swing.JTabbedPane
changeEvent, changeListener, model, SCROLL_TAB_LAYOUT, tabPlacement, WRAP_TAB_LAYOUT
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractDesignableWorkspace()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addDesignableWorkspaceListener(DesignableWorkspaceListener listener)
protected void
close(DesignableContainer container)
Closes the DesignPanel for the given container, if it is open.protected java.util.Optional<javax.swing.JComponent>
createWorkspaceHomeTab()
DesignableContainer
findDesignableContainer(ResourcePath resourcePath)
Finds a DesignableContainer that is currently open for editing in this workspace.javax.swing.JComponent
findDropTarget(java.util.List<javax.swing.JComponent> itemsUnderDrop, java.awt.dnd.DropTargetDragEvent event)
Override to allow dropping onto itemsint
getAcceptableDropActions(java.awt.dnd.DropTargetDragEvent event)
IDesignTool
getCurrentTool()
abstract java.awt.Color
getEditorBackground()
The background color for the design panelsabstract IGridSettings
getGridSettings()
Returns the settings for the grid/guide/snapping systemabstract DesignableDelegate
getItemDelegate(DesignableContainer container)
Called to provide the DesignableDelegate that is appropriate for the given DesignableContainerint
getOpenContainerCount()
DesignableContainer
getSelectedContainer()
The currently selected designable container, or null if none is selectedDesignPanel
getSelectedDesignPanel()
java.util.List<javax.swing.JComponent>
getSelectedItems()
Returns the current selection list.int
getSelectedItemsCount()
The number of items currently selectedISelectionControl
getSelectionControl()
javax.swing.JPopupMenu
getSelectionPopupMenu(java.util.List<javax.swing.JComponent> component)
Gives the workspace a chance to provide a popup menu for the currently selected itemsIDesignTool
getSelectionTool()
protected javax.swing.JPopupMenu
getTabPopupMenu(DesignableContainer container)
Return the popup menu to display for a given tab on right clickprotected abstract java.lang.String
getTabToolTip(DesignableContainer container)
Return the tooltip for the tab representing the given containervoid
handleDoubleClick(java.awt.Point p)
Called when the user double-clicks using the selection tool.boolean
handleDrop(java.lang.Object droppedOn, java.awt.dnd.DropTargetDropEvent event)
void
handleEditClick(java.awt.Point p)
Called when the user edit-clicks a component (clicks on an already selected component)boolean
isDesignTime()
boolean
isOpen(DesignableContainer container)
boolean
isOpen(ResourcePath resourcePath)
boolean
isZoomingEnabled()
Returns whether or not the zoom level of design panels can be altered.protected DesignPanel
newDesignPanel(DesignableContainer container)
protected LoggerEx
newLogger()
protected IDesignTool
newSelectionTool()
protected boolean
onBeforeClose(DesignableContainer container)
Provides subclasses a chance to intercept when a tab is closed.protected void
onClose(DesignableContainer container)
Provides subclasses a chance to handle when a tab is closedprotected void
onCurrentToolChanged(IDesignTool oldTool, IDesignTool newTool)
Provides AbstractDesignableWorkspace subclasses a way to be notified when the design tool has been changed.void
onEditorPaint(DesignPanel panel, java.awt.Graphics g)
Provides subclasses a chance to paint onto each tab's DesignPanel backgroundprotected void
open(DesignableContainer container)
void
openArbitraryTab(javax.swing.JComponent component, javax.swing.Icon icon, java.lang.String tabText, java.lang.String toolTipText)
void
paintInteractionLayerHigh(java.awt.Graphics2D g, DesignableContainer c)
void
paintInteractionLayerLow(java.awt.Graphics2D g, DesignableContainer c)
void
removeDesignableWorkspaceListener(DesignableWorkspaceListener listener)
protected void
removeTab(DesignableContainer container)
Closes the DesignPanel for the given container without saving.boolean
restrictMovementToParentBounds()
void
setCurrentTool(IDesignTool newTool)
void
setDesignTime(boolean designing)
void
setSelectedContainer(DesignableContainer container)
Selects this designable container's tab.void
setSelectedItems(java.util.List<javax.swing.JComponent> newSelection)
Sets the selection to the items in the list.void
setSelectedItems(javax.swing.JComponent... newSelection)
Sets the selection to the components in the listprotected abstract void
setStatusMessage(java.lang.String message)
Called when the tool or design panel has a status message to display.protected void
setupWorkspaceHomeTab(javax.swing.Icon icon, javax.swing.JComponent welcomePanel)
void
toggleItemSelection(javax.swing.JComponent... newSelection)
void
updateMouseLocation(int x, int y)
Called when the mouse moves over the design area.void
updateSelectionControl()
Called when the selection changes or the design tool changes (since the ISelectionControl is created by the IDesignTool), or the design tool notifies the system that it has changed itself.void
updateStatusBarText(java.awt.Point location, int inputMask)
-
Methods inherited from class com.jidesoft.swing.JideTabbedPane
add, addNotify, addTabEditingListener, calculateTabListPopupPosition, cancelTabEditing, clearVisComp, createFocusChangeListener, createNoFocusButton, createTabList, createTabListPopup, editTabAt, fireStateChanged, fireTabEditing, getCloseAction, getColorTheme, getContentBorderInsets, getDefaultColorTheme, getDefaultTabResizeMode, getDefaultTabStyle, getDisplayTitleAt, getEditingTabIndex, getIconForTab, getLastFocusedComponent, getPageLastFocusTrackers, getResourceString, getSelectedTabFont, getStringConverter, getTabAlignment, getTabAreaInsets, getTabAtLocation, getTabColorProvider, getTabEditingListeners, getTabEditingValidator, getTabHeight, getTabInsets, getTabLeadingComponent, getTabListCellRenderer, getTabResizeMode, getTabShape, getTabTrailingComponent, getUI, getUIClassID, hasFocusComponent, hideTabListPopup, insertTab, isAutoFocusOnTabHideClose, isAutoRequestFocus, isBoldActiveTab, isCloseTabOnMouseMiddleButton, isDragOverDisabled, isHideOneTab, isHideTrailingWhileNoButtons, isLayoutTrailingComponentBeforeButtons, isRightClickSelect, isScrollSelectedTabOnWheel, isShowCloseButton, isShowCloseButtonOnMouseOver, isShowCloseButtonOnSelectedTab, isShowCloseButtonOnTab, isShowGripper, isShowIconsOnTab, isShowTabArea, isShowTabButtons, isShowTabContent, isSuppressSetSelectedIndex, isSuppressStateChangedEvents, isTabClosableAt, isTabEditing, isTabEditingAllowed, isTabListPopupVisible, isTabShown, isUseDefaultShowCloseButtonOnTab, isUseDefaultShowIconsOnTab, moveSelectedTabTo, popupSelectedIndex, processMouseSelection, removeAll, removeNotify, removeTabAt, removeTabEditingListener, repaintContentBorder, repaintTabAreaAndContentBorder, requestFocusForVisibleComponent, resetDefaultCloseAction, scrollSelectedTabToVisible, setAutoFocusOnTabHideClose, setAutoRequestFocus, setBoldActiveTab, setCloseAction, setCloseTabOnMouseMiddleButton, setColorTheme, setComponentAt, setContentBorderInsets, setDragOverDisabled, setHideOneTab, setHideTrailingWhileNoButtons, setLayoutTrailingComponentBeforeButtons, setRightClickSelect, setScrollSelectedTabOnWheel, setSelectedIndex, setSelectedTabFont, setShowCloseButton, setShowCloseButtonOnMouseOver, setShowCloseButtonOnSelectedTab, setShowCloseButtonOnTab, setShowGripper, setShowIconsOnTab, setShowTabArea, setShowTabButtons, setShowTabContent, setStringConverter, setSuppressSetSelectedIndex, setSuppressStateChangedEvents, setTabAlignment, setTabAreaInsets, setTabClosableAt, setTabColorProvider, setTabEditingAllowed, setTabEditingValidator, setTabInsets, setTabLeadingComponent, setTabListCellRenderer, setTabResizeMode, setTabShape, setTabTrailingComponent, setUI, setUseDefaultShowCloseButtonOnTab, setUseDefaultShowIconsOnTab, showTabListPopup, stopTabEditing, updateUI
-
Methods inherited from class javax.swing.JTabbedPane
add, add, add, add, addChangeListener, addTab, addTab, addTab, createChangeListener, getAccessibleContext, getBackgroundAt, getBoundsAt, getChangeListeners, getComponentAt, getDisabledIconAt, getDisplayedMnemonicIndexAt, getForegroundAt, getIconAt, getMnemonicAt, getModel, getSelectedComponent, getSelectedIndex, getTabComponentAt, getTabCount, getTabLayoutPolicy, getTabPlacement, getTabRunCount, getTitleAt, getToolTipText, getToolTipTextAt, indexAtLocation, indexOfComponent, indexOfTab, indexOfTab, indexOfTabComponent, isEnabledAt, paramString, remove, remove, removeChangeListener, setBackgroundAt, setDisabledIconAt, setDisplayedMnemonicIndexAt, setEnabledAt, setForegroundAt, setIconAt, setMnemonicAt, setModel, setSelectedComponent, setTabComponentAt, setTabLayoutPolicy, setTabPlacement, setTitleAt, setToolTipTextAt
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
DESIGNABLE_CONTAINER_ICON_KEY
public static final java.lang.String DESIGNABLE_CONTAINER_ICON_KEY
- See Also:
- Constant Field Values
-
DESIGNTIME_PROPNAME
public static final java.lang.String DESIGNTIME_PROPNAME
- See Also:
- Constant Field Values
-
openContainers
protected transient java.util.Map<DesignableContainer,DesignPanel> openContainers
Holds all of the currently editing containers
-
selectionTool
protected transient IDesignTool selectionTool
The standard tool - used for moving, resizing, and marquee selection
-
currentTool
protected transient IDesignTool currentTool
The currently selected tool.
-
selectionControl
protected transient ISelectionControl selectionControl
The current "selection control" - which is what typically adds handles to the selected components. May be null.
-
listeners
protected transient java.util.List<DesignableWorkspaceListener> listeners
These listeners are notified when things happen to the designable workspace such as switching selected designable containers.
-
selectedItems
protected transient java.util.List<javax.swing.JComponent> selectedItems
The currently selected components
-
log
protected transient LoggerEx log
-
-
Method Detail
-
setupWorkspaceHomeTab
protected void setupWorkspaceHomeTab(javax.swing.Icon icon, javax.swing.JComponent welcomePanel)
-
createWorkspaceHomeTab
protected java.util.Optional<javax.swing.JComponent> createWorkspaceHomeTab()
-
openArbitraryTab
public void openArbitraryTab(javax.swing.JComponent component, javax.swing.Icon icon, java.lang.String tabText, java.lang.String toolTipText)
-
newSelectionTool
protected IDesignTool newSelectionTool()
-
updateStatusBarText
public void updateStatusBarText(java.awt.Point location, int inputMask)
-
setStatusMessage
protected abstract void setStatusMessage(java.lang.String message)
Called when the tool or design panel has a status message to display. Should be some sort of passive status display, not a popup.
-
newLogger
protected LoggerEx newLogger()
-
getSelectionTool
public IDesignTool getSelectionTool()
-
setSelectedContainer
public void setSelectedContainer(DesignableContainer container)
Selects this designable container's tab.- Parameters:
container
- the container to get the tab for- Throws:
java.lang.IllegalArgumentException
- if the container is not open.
-
getSelectedContainer
public DesignableContainer getSelectedContainer()
The currently selected designable container, or null if none is selected
-
getSelectedDesignPanel
@Nullable public DesignPanel getSelectedDesignPanel()
-
getSelectedItems
public java.util.List<javax.swing.JComponent> getSelectedItems()
Returns the current selection list. (defensive copy)
-
getSelectedItemsCount
public int getSelectedItemsCount()
The number of items currently selected
-
setSelectedItems
public void setSelectedItems(javax.swing.JComponent... newSelection)
Sets the selection to the components in the list
-
setSelectedItems
public void setSelectedItems(java.util.List<javax.swing.JComponent> newSelection)
Sets the selection to the items in the list.
-
toggleItemSelection
public void toggleItemSelection(javax.swing.JComponent... newSelection)
-
isOpen
public boolean isOpen(DesignableContainer container)
-
isOpen
public boolean isOpen(ResourcePath resourcePath)
-
getOpenContainerCount
public int getOpenContainerCount()
-
isDesignTime
public boolean isDesignTime()
-
isZoomingEnabled
public boolean isZoomingEnabled()
Returns whether or not the zoom level of design panels can be altered. Default is always true.
-
setDesignTime
public void setDesignTime(boolean designing)
-
findDesignableContainer
public DesignableContainer findDesignableContainer(ResourcePath resourcePath)
Finds a DesignableContainer that is currently open for editing in this workspace.- Parameters:
resourcePath
- The resource path of the resource container to look for- Returns:
- The container with the given id and scope, or null if that resource isn't currently open.
-
getTabToolTip
@Nullable protected abstract java.lang.String getTabToolTip(@Nonnull DesignableContainer container)
Return the tooltip for the tab representing the given container
-
getTabPopupMenu
@Nullable protected javax.swing.JPopupMenu getTabPopupMenu(@Nonnull DesignableContainer container)
Return the popup menu to display for a given tab on right click- Parameters:
container
- a selected container- Returns:
- the constructed menu (default has close, close others, and close all actions) or null for no menu
-
open
protected void open(DesignableContainer container)
-
newDesignPanel
protected DesignPanel newDesignPanel(DesignableContainer container)
-
close
protected void close(DesignableContainer container)
Closes the DesignPanel for the given container, if it is open.
-
removeTab
protected void removeTab(DesignableContainer container)
Closes the DesignPanel for the given container without saving. Used for reconnect
-
getCurrentTool
public IDesignTool getCurrentTool()
-
setCurrentTool
public void setCurrentTool(IDesignTool newTool)
-
onCurrentToolChanged
protected void onCurrentToolChanged(IDesignTool oldTool, IDesignTool newTool)
Provides AbstractDesignableWorkspace subclasses a way to be notified when the design tool has been changed.
-
updateSelectionControl
public void updateSelectionControl()
Called when the selection changes or the design tool changes (since the ISelectionControl is created by the IDesignTool), or the design tool notifies the system that it has changed itself.
Allows the currently installed IDesignTool to create a new ISelectionControl (handle set) and install it on the selection.
-
getSelectionControl
public ISelectionControl getSelectionControl()
-
onBeforeClose
protected boolean onBeforeClose(DesignableContainer container)
Provides subclasses a chance to intercept when a tab is closed. Return false to prevent the tab from closing.
-
onClose
protected void onClose(DesignableContainer container)
Provides subclasses a chance to handle when a tab is closed
-
onEditorPaint
public void onEditorPaint(DesignPanel panel, java.awt.Graphics g)
Provides subclasses a chance to paint onto each tab's DesignPanel background
-
getEditorBackground
public abstract java.awt.Color getEditorBackground()
The background color for the design panels
-
getGridSettings
public abstract IGridSettings getGridSettings()
Returns the settings for the grid/guide/snapping system
-
getSelectionPopupMenu
public javax.swing.JPopupMenu getSelectionPopupMenu(java.util.List<javax.swing.JComponent> component)
Gives the workspace a chance to provide a popup menu for the currently selected items
-
updateMouseLocation
public void updateMouseLocation(int x, int y)
Called when the mouse moves over the design area. Coordinates will be (-1, -1) when the mouse leaves the area.
-
getItemDelegate
public abstract DesignableDelegate getItemDelegate(DesignableContainer container)
Called to provide the DesignableDelegate that is appropriate for the given DesignableContainer
-
restrictMovementToParentBounds
public boolean restrictMovementToParentBounds()
-
getAcceptableDropActions
public int getAcceptableDropActions(java.awt.dnd.DropTargetDragEvent event)
-
findDropTarget
public javax.swing.JComponent findDropTarget(java.util.List<javax.swing.JComponent> itemsUnderDrop, java.awt.dnd.DropTargetDragEvent event)
Override to allow dropping onto items
-
handleDrop
public boolean handleDrop(java.lang.Object droppedOn, java.awt.dnd.DropTargetDropEvent event)
-
handleDoubleClick
public void handleDoubleClick(java.awt.Point p)
Called when the user double-clicks using the selection tool.
-
handleEditClick
public void handleEditClick(java.awt.Point p)
Called when the user edit-clicks a component (clicks on an already selected component)
-
addDesignableWorkspaceListener
public void addDesignableWorkspaceListener(DesignableWorkspaceListener listener)
-
removeDesignableWorkspaceListener
public void removeDesignableWorkspaceListener(DesignableWorkspaceListener listener)
-
paintInteractionLayerLow
public void paintInteractionLayerLow(java.awt.Graphics2D g, DesignableContainer c)
-
paintInteractionLayerHigh
public void paintInteractionLayerHigh(java.awt.Graphics2D g, DesignableContainer c)
-
-