DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
cider.widgets.modify_config_relations.SingleRelationshipModifier Class Reference
Inheritance diagram for cider.widgets.modify_config_relations.SingleRelationshipModifier:
[legend]
Collaboration diagram for cider.widgets.modify_config_relations.SingleRelationshipModifier:
[legend]

Public Member Functions

None __init__ (self, str relationship_type, Any current_related_dal, str relationship_name, ConsoleRenderable|RichCast|str renderable="", *, bool expand=False, bool shrink=False, bool markup=True, str|None name=None, str|None id=None, str|None classes=None, bool disabled=False)
 
 current_dal (self)
 
 compose (self)
 
None select_changed (self, Select.Changed event)
 
None button_pressed (self, Button.Pressed event)
 

Protected Attributes

 _relationship_type = relationship_type
 
 _current_related_dal = current_related_dal
 
 _relationship_name = relationship_name
 
ConfigurationController _config_controller = main_screen.query_one(ConfigurationController)
 
RichLogWError _logger = main_screen.query_one("#main_log")
 

Detailed Description

Definition at line 18 of file modify_config_relations.py.

Constructor & Destructor Documentation

◆ __init__()

None cider.widgets.modify_config_relations.SingleRelationshipModifier.__init__ ( self,
str relationship_type,
Any current_related_dal,
str relationship_name,
ConsoleRenderable | RichCast | str renderable = "",
* ,
bool expand = False,
bool shrink = False,
bool markup = True,
str | None name = None,
str | None id = None,
str | None classes = None,
bool disabled = False )

Definition at line 19 of file modify_config_relations.py.

22 classes: str | None = None, disabled: bool = False) -> None:
23
24 super().__init__(renderable, expand=expand, shrink=shrink, markup=markup,
25 name=name, id=id, classes=classes, disabled=disabled)
26
27 self._relationship_type = relationship_type
28 self._current_related_dal = current_related_dal
29 self._relationship_name = relationship_name
30

Member Function Documentation

◆ button_pressed()

None cider.widgets.modify_config_relations.SingleRelationshipModifier.button_pressed ( self,
Button.Pressed event )

Definition at line 63 of file modify_config_relations.py.

63 def button_pressed(self, event: Button.Pressed)->None:
64 if event.button.id=="delete_rel":
65 # Pop dal [if it's empty will just delete]
66 try:
67 self._config_controller.pop_dal_relationship(self._relationship_name, self._current_related_dal)
68 except:
69 self._logger.write("[bold blue]Info:[/bold blue] [blue]Removing duplicate")
70 self.remove()
71
72

◆ compose()

cider.widgets.modify_config_relations.SingleRelationshipModifier.compose ( self)

Definition at line 35 of file modify_config_relations.py.

35 def compose(self):
36 # Need to get the main screen etc.
37 main_screen = self.app.get_screen("main")
38 self._config_controller: ConfigurationController = main_screen.query_one(ConfigurationController)
39 self._logger: RichLogWError = main_screen.query_one("#main_log")
40
41 # yield Grid(
42 # Actual dropdown menu
43 yield Select([(repr(rel), rel) for
44 rel in self._config_controller.get_dals_of_class(self._relationship_type)],
45 value=self._current_related_dal, id="select_obj")
46 # Need a delete button
47 yield Button("Delete", id="delete_rel", variant="error")
48
49

◆ current_dal()

cider.widgets.modify_config_relations.SingleRelationshipModifier.current_dal ( self)

Definition at line 32 of file modify_config_relations.py.

32 def current_dal(self):
33 return self._current_related_dal
34

◆ select_changed()

None cider.widgets.modify_config_relations.SingleRelationshipModifier.select_changed ( self,
Select.Changed event )

Definition at line 51 of file modify_config_relations.py.

51 def select_changed(self, event: Select.Changed)->None:
52 # Want to update the DAL
53 # HACK I really hate this, currently select can't deal with complex types
54 # Rather than change the low down stuff we convert to dal here
55 self._current_related_dal = event.value
56 try:
57 self._config_controller.modify_current_dal_relationship(self._relationship_name, self._current_related_dal)
58 except Exception as e:
59 self._logger.write_error(e)
60
61

Member Data Documentation

◆ _config_controller

ConfigurationController cider.widgets.modify_config_relations.SingleRelationshipModifier._config_controller = main_screen.query_one(ConfigurationController)
protected

Definition at line 38 of file modify_config_relations.py.

◆ _current_related_dal

cider.widgets.modify_config_relations.SingleRelationshipModifier._current_related_dal = current_related_dal
protected

Definition at line 28 of file modify_config_relations.py.

◆ _logger

RichLogWError cider.widgets.modify_config_relations.SingleRelationshipModifier._logger = main_screen.query_one("#main_log")
protected

Definition at line 39 of file modify_config_relations.py.

◆ _relationship_name

cider.widgets.modify_config_relations.SingleRelationshipModifier._relationship_name = relationship_name
protected

Definition at line 29 of file modify_config_relations.py.

◆ _relationship_type

cider.widgets.modify_config_relations.SingleRelationshipModifier._relationship_type = relationship_type
protected

Definition at line 27 of file modify_config_relations.py.


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