Class TabbedPaneStateStore
SJTabbedPane (SD_sjtabbedpane).
What lives here per R_vaadin_first: things Vaadin's TabSheet
has no counterpart for — the JDK SingleSelectionModel facade,
the ChangeListener fan-out list, the parallel-indexed
TabbedPaneStateStore.TabMeta list (per-tab title/icon/tooltip/customComponent
shadow needed for the children-based render strategy — see SD_sjtabbedpane for
why we never use Tab.setLabel), the preventPeerEvents
loop guard, and headline shadows for tabPlacement +
tabLayoutPolicy that round-trip without a Vaadin counterpart
(only TOP placement is actually delivered; SCROLL policy is silently
accepted; WRAP/LEFT/RIGHT/BOTTOM WARN).
Selection itself lives on Vaadin TabSheet (R_vaadin_first source-of-truth); the
model below is a JDK-faithful pass-through whose state is kept
in lockstep with the peer via the bridge wired in
SJTabbedPane's ctor.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classOne entry per peer tab, parallel-indexed with the underlying TabSheet's tab strip. -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal List<ChangeListener> JDK-faithful model facade.Internal listener installed onmodelthat pushes to peer + re-fires throughchangeListeners.booleanLoop guard: set true around any peer-write so the resulting SelectedChangeEvent listener bails.intHeadline shadow — JDK default WRAP_TAB_LAYOUT.final List<TabbedPaneStateStore.TabMeta> intHeadline shadow — JDK default TOP. -
Method Summary
Modifier and TypeMethodDescriptionstatic TabbedPaneStateStoreof(com.vaadin.flow.component.Component target)
-
Field Details
-
tabMetas
-
model
JDK-faithful model facade. DefaultDefaultSingleSelectionModel; swappable viaSJTabbedPane.setModel, which rewiresmodelListener. -
modelListener
Internal listener installed onmodelthat pushes to peer + re-fires throughchangeListeners. -
changeListeners
-
preventPeerEvents
public boolean preventPeerEventsLoop guard: set true around any peer-write so the resulting SelectedChangeEvent listener bails. Pattern matches SJComboBox's peer-push protection. -
tabPlacement
public int tabPlacementHeadline shadow — JDK default TOP. Round-trips; only TOP is delivered. -
tabLayoutPolicy
public int tabLayoutPolicyHeadline shadow — JDK default WRAP_TAB_LAYOUT. Round-trips; only SCROLL is delivered (silently).
-
-
Method Details
-
of
-