3from textual.widgets
import Static, Input, Select, Button
4from textual.containers
import Container, Horizontal
5from textual.screen
import ModalScreen
6from textual.app
import ComposeResult
8from daqconf.cider.widgets.configuration_controller
import ConfigurationController
9from daqconf.cider.widgets.custom_rich_log
import RichLogWError
17 with Container(id=
"object_add_box"):
18 with Horizontal(id=
"select"):
19 yield Input(id=
"uid_input", placeholder=
"Object ID")
21 id=
"class_select", allow_blank=
True)
24 yield Button(
"Add Object", id=
"add_obj", variant=
"success")
25 yield Button(
"Cancel", id=
"cancel", variant=
"error")
28 if event.button.id==
"add_obj":
31 self.app.screen.dismiss()
34 input = self.query_one(Input)
35 selection = self.query_one(Select)
38 config_class = selection.value
40 if uid
and not selection.is_blank():
46 selection_menu = self.
_main_screen.query_exactly_one(
"SelectionPanel")
47 selection_menu.refresh(recompose=
True)
48 selection_menu.restore_menu_state()
49 self.app.screen.dismiss()
53 css_file_path = f
"{environ.get('DAQCONF_SHARE')}/config/textual_dbe/textual_css"
55 CSS_PATH = f
"{css_file_path}/add_object_layout.tcss"
57 Splash screen for adding configuration
64 message_box = self.query_one(AddNewObject)
ComposeResult compose(self)
on_button_pressed(self, Button.Pressed event)
ConfigurationController _config_controller