Class BasicBlockUI
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.inductiveautomation.ignition.designer.blockandconnector.blockui.BasicBlockUI
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
This is the "reference" UI used by the alarm pipeline editor. Developers are free to create their own UI styles by
following the interfaces defined on Block. If you'd like a block style that looks like the ones found in the alarm
pipelines, using this UI will save a lot of effort.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class
protected class
protected class
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Color
protected Color
protected final Block
protected Color
protected Color
protected Color
protected boolean
Is this block "connected" meaning is there a path from the starting block to this one?protected JPanel
protected boolean
When mirrored, the inputs are positioned on the right, and the outputs on the left, which is opposite of standardprotected Color
protected boolean
Is this block "selected" meaning it is highlighted for moving around and editingFields 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
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected BasicBlockUI.ParamPanel
createEmpty
(AnchorType ioType) Returns the list of anchor points created by this block UI.protected abstract Collection<AnchorDescriptor>
The inputs/outputs for the blockprotected Shape
getBackgroundShape
(int w, int h) getBlock()
protected abstract Icon
getIcon()
The small icon for the header of the blockprotected abstract String
getTitle()
The title for the header of the blockprotected void
initDetailsPanel
(JPanel details) Override this to add contents to the details panelprotected void
initEmptyDetailsPanel
(JPanel bottom) protected void
initHeader
(JPanel header) Initialize the header panel.void
install
(BlockComponent parent) Install this block ui onto the BlockComponent.boolean
protected abstract boolean
Returning true from this will turn on a details panel beneath the inputs and outputs.boolean
boolean
protected void
paintComponent
(Graphics graphics) void
void
setBackgroundConnected
(Color backgroundConnected) void
setBackgroundUnconnected
(Color backgroundUnconnected) void
setBorderConnected
(Color borderConnected) void
setBorderSelected
(Color borderSelected) void
setBorderUnconnected
(Color borderUnconnected) void
setBounds
(int x, int y, int width, int height) void
setConnected
(boolean connected) void
setMirrored
(boolean mirrored) void
setPinHover
(Color pinHover) void
setSelected
(boolean selected) Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, 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
add, add, add, add, add, 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, remove, remove, removeAll, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
backgroundUnconnected
-
backgroundConnected
-
borderConnected
-
borderSelected
-
borderUnconnected
-
pinHover
-
header
-
connected
protected boolean connectedIs this block "connected" meaning is there a path from the starting block to this one? -
selected
protected boolean selectedIs this block "selected" meaning it is highlighted for moving around and editing -
mirrored
protected boolean mirroredWhen mirrored, the inputs are positioned on the right, and the outputs on the left, which is opposite of standard -
block
-
-
Constructor Details
-
BasicBlockUI
-
-
Method Details
-
getBlock
-
install
Install this block ui onto the BlockComponent. Expected to be used duringBlock.initUI(BlockComponent)
-
setBounds
public void setBounds(int x, int y, int width, int height) -
getAnchors
The inputs/outputs for the block -
getTitle
The title for the header of the block -
getIcon
The small icon for the header of the block -
isDetailsPanelRequired
protected abstract boolean isDetailsPanelRequired()Returning true from this will turn on a details panel beneath the inputs and outputs. If you return true from this, you should also override and implementinitDetailsPanel(JPanel)
-
initDetailsPanel
Override this to add contents to the details panel -
getAnchorPoints
Returns the list of anchor points created by this block UI. Intended to be used by
Block
implementations as the return value forBlock.getAnchorPoints()
WARNING These anchor points will be re-created when the UI changes (for example, due to a block structure change event). This means that you cannot hang onto them, e.g. in a
Connection
object. Please useLookupConnection
to avoid this problem. -
rebuildUI
public void rebuildUI() -
getBackgroundShape
-
paintComponent
- Overrides:
paintComponent
in classJComponent
-
isMirrored
public boolean isMirrored() -
setMirrored
public void setMirrored(boolean mirrored) -
setConnected
public void setConnected(boolean connected) -
isConnected
public boolean isConnected() -
setSelected
public void setSelected(boolean selected) -
isSelected
public boolean isSelected() -
initHeader
Initialize the header panel. Default implementation adds icon and title label -
getBackgroundUnconnected
-
setBackgroundUnconnected
-
getBackgroundConnected
-
setBackgroundConnected
-
getBorderConnected
-
setBorderConnected
-
getBorderSelected
-
setBorderSelected
-
getBorderUnconnected
-
setBorderUnconnected
-
getPinHover
-
setPinHover
-
initEmptyDetailsPanel
-
createEmpty
-