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, RelatedDal|object 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 22 of file modify_config_relations.py.

Constructor & Destructor Documentation

◆ __init__()

None cider.widgets.modify_config_relations.SingleRelationshipModifier.__init__ ( self,
str relationship_type,
RelatedDal | object 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 23 of file modify_config_relations.py.

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

Member Function Documentation

◆ button_pressed()

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

Definition at line 67 of file modify_config_relations.py.

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

◆ compose()

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

Definition at line 39 of file modify_config_relations.py.

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

◆ current_dal()

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

Definition at line 36 of file modify_config_relations.py.

36 def current_dal(self):
37 return self._current_related_dal
38

◆ select_changed()

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

Definition at line 55 of file modify_config_relations.py.

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

Member Data Documentation

◆ _config_controller

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

Definition at line 42 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 32 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 43 of file modify_config_relations.py.

◆ _relationship_name

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

Definition at line 33 of file modify_config_relations.py.

◆ _relationship_type

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

Definition at line 31 of file modify_config_relations.py.


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