Class SimpleHierarchicalPortListPanel<TM extends SimpleHierarchicalPortTableModel<S,P,M>,S extends org.bidib.wizard.model.status.BidibStatus,P extends org.bidib.wizard.model.ports.Port<S>,L extends org.bidib.wizard.api.model.listener.PortListener<P>,M extends PortModelListener<P>>
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.bidib.wizard.mvc.main.view.panel.SimpleHierarchicalPortListPanel<TM,S,P,L,M>
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible,org.bidib.wizard.api.model.listener.PortListenerProvider<P>,org.bidib.wizard.api.model.listener.PortListListener,PendingChangesAware,ChangeLabelSupport
- Direct Known Subclasses:
BacklightPortListPanel,InputPortListPanel,LightPortListPanel,MotorPortListPanel,ServoPortListPanel,SoundPortListPanel,SwitchPairPortListPanel,SwitchPortListPanel
public abstract class SimpleHierarchicalPortListPanel<TM extends SimpleHierarchicalPortTableModel<S,P,M>,S extends org.bidib.wizard.model.status.BidibStatus,P extends org.bidib.wizard.model.ports.Port<S>,L extends org.bidib.wizard.api.model.listener.PortListener<P>,M extends PortModelListener<P>>
extends JPanel
implements org.bidib.wizard.api.model.listener.PortListListener, ChangeLabelSupport, org.bidib.wizard.api.model.listener.PortListenerProvider<P>, PendingChangesAware
- See Also:
-
Nested Class Summary
Nested 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 final org.slf4j.Loggerprotected Lprotected AbstractPortHierarchicalTable<P> protected TMFields 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
ConstructorsConstructorDescriptionSimpleHierarchicalPortListPanel(TM tableModel, String emptyTableText, io.reactivex.rxjava3.subjects.Subject<org.bidib.wizard.model.ports.event.PortConfigChangeEvent> portConfigChangeEventSubject, NodeSelectionProvider nodeSelectionProvider) -
Method Summary
Modifier and TypeMethodDescriptionvoidchangeLabel(org.bidib.wizard.common.script.node.types.TargetType portType) protected voidprotected PortListMenuListenercreatePortListMenuListener(AbstractPortHierarchicalTable<P> portTable, NodeSelectionProvider nodeSelectionProvider, Supplier<InsertPortsAware<TM>> insertPortsAware) protected AbstractPortHierarchicalTable<P> createPortTable(TM tableModel, String emptyTableText) protected voidcreateTable(TM tableModel, String emptyTableText, io.reactivex.rxjava3.subjects.Subject<org.bidib.wizard.model.ports.event.PortConfigChangeEvent> portConfigChangeEventSubject, NodeSelectionProvider nodeSelectionProvider) protected voidgetName()org.bidib.wizard.api.model.listener.PortListener<P> getPorts()Get the list of ports.protected SimplePortTableModel<S, P, M> booleanvoidprotected voidprotected voidvoidvoidSave the pending changes.voidsetPortListener(L listener) 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, paintComponent, 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, 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.bidib.wizard.api.model.listener.PortListListener
getPortClass
-
Field Details
-
LOGGER
protected final org.slf4j.Logger LOGGER -
tableModel
-
table
-
portListener
-
-
Constructor Details
-
SimpleHierarchicalPortListPanel
public SimpleHierarchicalPortListPanel(TM tableModel, String emptyTableText, io.reactivex.rxjava3.subjects.Subject<org.bidib.wizard.model.ports.event.PortConfigChangeEvent> portConfigChangeEventSubject, NodeSelectionProvider nodeSelectionProvider)
-
-
Method Details
-
getTableModel
-
createTable
protected void createTable(TM tableModel, String emptyTableText, io.reactivex.rxjava3.subjects.Subject<org.bidib.wizard.model.ports.event.PortConfigChangeEvent> portConfigChangeEventSubject, NodeSelectionProvider nodeSelectionProvider) -
createPortTable
-
createPortListMenuListener
protected PortListMenuListener createPortListMenuListener(AbstractPortHierarchicalTable<P> portTable, NodeSelectionProvider nodeSelectionProvider, Supplier<InsertPortsAware<TM>> insertPortsAware) -
setPortListener
-
getName
-
collapseAllRows
protected void collapseAllRows() -
expandAllRows
protected void expandAllRows() -
listChanged
public void listChanged()- Specified by:
listChangedin interfaceorg.bidib.wizard.api.model.listener.PortListListener
-
refreshPorts
public void refreshPorts()- Specified by:
refreshPortsin interfaceorg.bidib.wizard.api.model.listener.PortListListener
-
processListChanged
protected void processListChanged() -
packColumn
protected void packColumn() -
isPackLastColumn
- Returns:
- the last column must be packed after all rows are added.
-
changeLabel
public void changeLabel(org.bidib.wizard.common.script.node.types.TargetType portType) - Specified by:
changeLabelin interfaceChangeLabelSupport
-
getPorts
Get the list of ports.- Returns:
- the list of ports
-
getPortListener
- Specified by:
getPortListenerin interfaceorg.bidib.wizard.api.model.listener.PortListenerProvider<TM extends SimpleHierarchicalPortTableModel<S,P, M>>
-
hasPendingChanges
public boolean hasPendingChanges()- Specified by:
hasPendingChangesin interfacePendingChangesAware- Returns:
truepending changes detected,falseno pending changes detected
-
savePendingChanges
public void savePendingChanges()Description copied from interface:PendingChangesAwareSave the pending changes.- Specified by:
savePendingChangesin interfacePendingChangesAware
-