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:
- Serialized Form
-
-
Nested Class Summary
-
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
Fields Modifier and Type Field Description protected org.slf4j.LoggerLOGGERprotected LportListenerprotected AbstractPortHierarchicalTable<P>tableprotected TMtableModel-
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
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
Constructor Summary
Constructors Constructor Description SimpleHierarchicalPortListPanel(TM tableModel, String emptyTableText, io.reactivex.rxjava3.subjects.PublishSubject<org.bidib.wizard.model.ports.event.PortConfigChangeEvent> portConfigChangeEventSubject, NodeSelectionProvider nodeSelectionProvider)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidchangeLabel(org.bidib.wizard.common.script.node.types.TargetType portType)protected voidcollapseAllRows()protected 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.PublishSubject<org.bidib.wizard.model.ports.event.PortConfigChangeEvent> portConfigChangeEventSubject, NodeSelectionProvider nodeSelectionProvider)protected voidexpandAllRows()StringgetName()org.bidib.wizard.api.model.listener.PortListener<P>getPortListener()protected abstract List<P>getPorts()Get the list of ports.protected SimplePortTableModel<S,P,M>getTableModel()booleanhasPendingChanges()protected AbstractHierarchicalEmptyTable.PackLastColumnEnumisPackLastColumn()voidlistChanged()protected voidpackColumn()protected voidprocessListChanged()voidrefreshPorts()voidsavePendingChanges()Save the pending changes.voidsetPortListener(L listener)-
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, 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, 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, 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
-
LOGGER
protected final org.slf4j.Logger LOGGER
-
tableModel
protected TM extends SimpleHierarchicalPortTableModel<S,P,M> tableModel
-
table
protected AbstractPortHierarchicalTable<P extends org.bidib.wizard.model.ports.Port<S>> table
-
-
Constructor Detail
-
SimpleHierarchicalPortListPanel
public SimpleHierarchicalPortListPanel(TM tableModel, String emptyTableText, io.reactivex.rxjava3.subjects.PublishSubject<org.bidib.wizard.model.ports.event.PortConfigChangeEvent> portConfigChangeEventSubject, NodeSelectionProvider nodeSelectionProvider)
-
-
Method Detail
-
getTableModel
protected SimplePortTableModel<S,P,M> getTableModel()
-
createTable
protected void createTable(TM tableModel, String emptyTableText, io.reactivex.rxjava3.subjects.PublishSubject<org.bidib.wizard.model.ports.event.PortConfigChangeEvent> portConfigChangeEventSubject, NodeSelectionProvider nodeSelectionProvider)
-
createPortTable
protected AbstractPortHierarchicalTable<P> createPortTable(TM tableModel, String emptyTableText)
-
createPortListMenuListener
protected PortListMenuListener createPortListMenuListener(AbstractPortHierarchicalTable<P> portTable, NodeSelectionProvider nodeSelectionProvider, Supplier<InsertPortsAware<TM>> insertPortsAware)
-
setPortListener
public void setPortListener(L listener)
-
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
protected AbstractHierarchicalEmptyTable.PackLastColumnEnum 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
-
getPortListener
public org.bidib.wizard.api.model.listener.PortListener<P> 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
-
-