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 classprotected classprotected classNested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Colorprotected Colorprotected final Blockprotected Colorprotected Colorprotected Colorprotected booleanIs this block "connected" meaning is there a path from the starting block to this one?protected JPanelprotected booleanWhen mirrored, the inputs are positioned on the right, and the outputs on the left, which is opposite of standardprotected Colorprotected booleanIs 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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected BasicBlockUI.ParamPanelcreateEmpty(AnchorType ioType) Returns the list of anchor points created by this block UI.protected abstract Collection<AnchorDescriptor>The inputs/outputs for the blockprotected ShapegetBackgroundShape(int w, int h) getBlock()protected abstract IcongetIcon()The small icon for the header of the blockprotected abstract StringgetTitle()The title for the header of the blockprotected voidinitDetailsPanel(JPanel details) Override this to add contents to the details panelprotected voidinitEmptyDetailsPanel(JPanel bottom) protected voidinitHeader(JPanel header) Initialize the header panel.voidinstall(BlockComponent parent) Install this block ui onto the BlockComponent.booleanprotected abstract booleanReturning true from this will turn on a details panel beneath the inputs and outputs.booleanbooleanprotected voidpaintComponent(Graphics graphics) voidvoidsetBackgroundConnected(Color backgroundConnected) voidsetBackgroundUnconnected(Color backgroundUnconnected) voidsetBorderConnected(Color borderConnected) voidsetBorderSelected(Color borderSelected) voidsetBorderUnconnected(Color borderUnconnected) voidsetBounds(int x, int y, int width, int height) voidsetConnected(boolean connected) voidsetMirrored(boolean mirrored) voidsetPinHover(Color pinHover) voidsetSelected(boolean selected) Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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
Blockimplementations 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
Connectionobject. Please useLookupConnectionto avoid this problem. -
rebuildUI
public void rebuildUI() -
getBackgroundShape
-
paintComponent
- Overrides:
paintComponentin 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
-