DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
selection_panel.SelectionPanel Class Reference
Inheritance diagram for selection_panel.SelectionPanel:
[legend]
Collaboration diagram for selection_panel.SelectionPanel:
[legend]

Public Member Functions

ComposeResult compose (self)
 
 save_menu_state (self)
 
 restore_menu_state (self)
 
None on_button_pressed (self, Button.Pressed event)
 

Static Protected Attributes

 _current_menu = None
 
list _saved_states = None
 
dict _menu_ids
 

Detailed Description

Selection panel structure. Allows user to select between different configuration views

Definition at line 8 of file selection_panel.py.

Member Function Documentation

◆ compose()

ComposeResult selection_panel.SelectionPanel.compose ( self)
Compose the selection panel for use in the app

Definition at line 17 of file selection_panel.py.

17 def compose(self) -> ComposeResult:
18 """Compose the selection panel for use in the app
19 """
20 # There has to be a better way of doing this
21 with Horizontal(id="buttons"):
22 for label, id in self._menu_ids.items():
23 yield Button(label, id=id)
24
25 if self._current_menu is None:
26 self._current_menu = list(self._menu_ids.values())[0]
27
28 if self._saved_states is None:
29 self._saved_states = [None]*len(self._menu_ids)
30
31 with ContentSwitcher(initial=self._current_menu):
32 for i, id in enumerate(self._menu_ids.values()):
33
34 menu = SelectionMenu(id=id)
35 yield menu
36
37

◆ on_button_pressed()

None selection_panel.SelectionPanel.on_button_pressed ( self,
Button.Pressed event )
Swap between different configuration views via button. Currently bound here for...reasons

Definition at line 53 of file selection_panel.py.

53 def on_button_pressed(self, event: Button.Pressed)->None:
54 """Swap between different configuration views via button. Currently bound here for...reasons
55 """
56 self.query_one(ContentSwitcher).current = event.button.id
57 self._current_menu = event.button.id
58 # Also swap this around so refreshing is smoother!

◆ restore_menu_state()

selection_panel.SelectionPanel.restore_menu_state ( self)

Definition at line 45 of file selection_panel.py.

45 def restore_menu_state(self):
46 # for i, menu in enumerate(self._menu_ids.values()):
47 # selection_menu = self.query_one(f"#{menu}", SelectionMenu)
48 # selection_menu.restore_tree_state(self._saved_states[i])
49
50 self.query_one(ContentSwitcher).current = self._current_menu
51
52

◆ save_menu_state()

selection_panel.SelectionPanel.save_menu_state ( self)

Definition at line 39 of file selection_panel.py.

39 def save_menu_state(self):
40 # for i, menu in enumerate(self._menu_ids.values()):
41 # selection_menu = self.query_one(f"#{menu}", SelectionMenu)
42 # self._saved_states[i] = selection_menu.save_tree_state()
43 self._current_menu = self.query_one(ContentSwitcher).current
44

Member Data Documentation

◆ _current_menu

selection_panel.SelectionPanel._current_menu = None
staticprotected

Definition at line 12 of file selection_panel.py.

◆ _menu_ids

dict selection_panel.SelectionPanel._menu_ids
staticprotected
Initial value:
= {"Class View" : "class-selection",
"Session View" : "relation-selection"}

Definition at line 14 of file selection_panel.py.

◆ _saved_states

list selection_panel.SelectionPanel._saved_states = None
staticprotected

Definition at line 13 of file selection_panel.py.


The documentation for this class was generated from the following file: