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.JideTabbedPaneThis 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
DefaultDesignableWorkspaceinstead 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 IDesignToolcurrentToolThe currently selected tool.static java.lang.StringDESIGNABLE_CONTAINER_ICON_KEYstatic java.lang.StringDESIGNTIME_PROPNAMEprotected java.util.List<DesignableWorkspaceListener>listenersThese listeners are notified when things happen to the designable workspace such as switching selected designable containers.protected LoggerExlogprotected java.util.Map<DesignableContainer,DesignPanel>openContainersHolds all of the currently editing containersprotected java.util.List<javax.swing.JComponent>selectedItemsThe currently selected componentsprotected ISelectionControlselectionControlThe current "selection control" - which is what typically adds handles to the selected components.protected IDesignToolselectionToolThe 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 protectedAbstractDesignableWorkspace()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddDesignableWorkspaceListener(DesignableWorkspaceListener listener)protected voidclose(DesignableContainer container)Closes the DesignPanel for the given container, if it is open.protected java.util.Optional<javax.swing.JComponent>createWorkspaceHomeTab()DesignableContainerfindDesignableContainer(ResourcePath resourcePath)Finds a DesignableContainer that is currently open for editing in this workspace.javax.swing.JComponentfindDropTarget(java.util.List<javax.swing.JComponent> itemsUnderDrop, java.awt.dnd.DropTargetDragEvent event)Override to allow dropping onto itemsintgetAcceptableDropActions(java.awt.dnd.DropTargetDragEvent event)IDesignToolgetCurrentTool()java.awt.ColorgetEditorBackground()The background color for the design panelsabstract IGridSettingsgetGridSettings()Returns the settings for the grid/guide/snapping systemabstract DesignableDelegategetItemDelegate(DesignableContainer container)Called to provide the DesignableDelegate that is appropriate for the given DesignableContainerintgetOpenContainerCount()DesignableContainergetSelectedContainer()The currently selected designable container, or null if none is selectedDesignPanelgetSelectedDesignPanel()java.util.List<javax.swing.JComponent>getSelectedItems()Returns the current selection list.intgetSelectedItemsCount()The number of items currently selectedISelectionControlgetSelectionControl()javax.swing.JPopupMenugetSelectionPopupMenu(java.util.List<javax.swing.JComponent> component)Gives the workspace a chance to provide a popup menu for the currently selected itemsIDesignToolgetSelectionTool()protected javax.swing.JPopupMenugetTabPopupMenu(DesignableContainer container)Return the popup menu to display for a given tab on right clickprotected abstract java.lang.StringgetTabToolTip(DesignableContainer container)Return the tooltip for the tab representing the given containervoidhandleDoubleClick(java.awt.Point p)Called when the user double-clicks using the selection tool.booleanhandleDrop(java.lang.Object droppedOn, java.awt.dnd.DropTargetDropEvent event)voidhandleEditClick(java.awt.Point p)Called when the user edit-clicks a component (clicks on an already selected component)booleanisDesignTime()booleanisOpen(DesignableContainer container)booleanisOpen(ResourcePath resourcePath)booleanisZoomingEnabled()Returns whether or not the zoom level of design panels can be altered.protected DesignPanelnewDesignPanel(DesignableContainer container)protected LoggerExnewLogger()protected IDesignToolnewSelectionTool()protected booleanonBeforeClose(DesignableContainer container)Provides subclasses a chance to intercept when a tab is closed.protected voidonClose(DesignableContainer container)Provides subclasses a chance to handle when a tab is closedprotected voidonCurrentToolChanged(IDesignTool oldTool, IDesignTool newTool)Provides AbstractDesignableWorkspace subclasses a way to be notified when the design tool has been changed.voidonEditorPaint(DesignPanel panel, java.awt.Graphics g)Provides subclasses a chance to paint onto each tab's DesignPanel backgroundprotected voidopen(DesignableContainer container)voidopenArbitraryTab(javax.swing.JComponent component, javax.swing.Icon icon, java.lang.String tabText, java.lang.String toolTipText)voidpaintInteractionLayerHigh(java.awt.Graphics2D g, DesignableContainer c)voidpaintInteractionLayerLow(java.awt.Graphics2D g, DesignableContainer c)voidremoveDesignableWorkspaceListener(DesignableWorkspaceListener listener)protected voidremoveTab(DesignableContainer container)Closes the DesignPanel for the given container without saving.booleanrestrictMovementToParentBounds()voidsetCurrentTool(IDesignTool newTool)voidsetDesignTime(boolean designing)voidsetSelectedContainer(DesignableContainer container)Selects this designable container's tab.voidsetSelectedItems(java.util.List<javax.swing.JComponent> newSelection)Sets the selection to the items in the list.voidsetSelectedItems(javax.swing.JComponent... newSelection)Sets the selection to the components in the listprotected abstract voidsetStatusMessage(java.lang.String message)Called when the tool or design panel has a status message to display.protected voidsetupWorkspaceHomeTab(javax.swing.Icon icon, javax.swing.JComponent welcomePanel)voidtoggleItemSelection(javax.swing.JComponent... newSelection)voidupdateMouseLocation(int x, int y)Called when the mouse moves over the design area.voidupdateSelectionControl()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.voidupdateStatusBarText(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 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)
-
-