예제 #1
0
파일: Logger.py 프로젝트: mugen8085/Bonus
    def __init__(self, parent=None):

        self.log_level = 0
        self._auto_scroll = True
        self.filter_id = None
        if parent:
            self.window_id = parent
        else:
            self.window_id = dpg.add_window(label="mvLogger",
                                            pos=(10, 150),
                                            width=800,
                                            height=200)
        self.count = 0
        self.flush_count = 1000

        with dpg.group(horizontal=True, parent=self.window_id):
            dpg.add_checkbox(label="Auto-scroll",
                             default_value=True,
                             callback=lambda sender: self.auto_scroll(
                                 dpg.get_value(sender)))
            dpg.add_button(label="Clear",
                           callback=lambda: dpg.delete_item(
                               self.filter_id, children_only=True))

        dpg.add_input_text(label="Filter",
                           callback=lambda sender: dpg.set_value(
                               self.filter_id, dpg.get_value(sender)),
                           parent=self.window_id)
        self.child_id = dpg.add_child(parent=self.window_id,
                                      autosize_x=True,
                                      autosize_y=True)
        self.filter_id = dpg.add_filter_set(parent=self.child_id)

        with dpg.theme() as self.trace_theme:
            dpg.add_theme_color(dpg.mvThemeCol_Text, (0, 255, 0, 255))

        with dpg.theme() as self.debug_theme:
            dpg.add_theme_color(dpg.mvThemeCol_Text, (64, 128, 255, 255))

        with dpg.theme() as self.info_theme:
            dpg.add_theme_color(dpg.mvThemeCol_Text, (255, 255, 255, 255))

        with dpg.theme() as self.warning_theme:
            dpg.add_theme_color(dpg.mvThemeCol_Text, (255, 255, 0, 255))

        with dpg.theme() as self.error_theme:
            dpg.add_theme_color(dpg.mvThemeCol_Text, (255, 0, 0, 255))

        with dpg.theme() as self.critical_theme:
            dpg.add_theme_color(dpg.mvThemeCol_Text, (255, 0, 0, 255))
예제 #2
0
def child(name: str,
          tip: str = "",
          parent: str = "",
          before: str = "",
          width: int = 0,
          height: int = 0,
          border: bool = True):
    try:
        yield gui.add_child(name,
                            tip=tip,
                            parent=parent,
                            before=before,
                            width=width,
                            height=height,
                            border=border)
    finally:
        gui.end()
예제 #3
0
파일: logger.py 프로젝트: filipecn/maldives
 def init(self, parent):
     self.window_id = parent
     with dpg.group(horizontal=True, parent=self.window_id):
         dpg.add_checkbox(label="Auto-scroll",
                          default_value=True,
                          callback=lambda sender: self.auto_scroll(
                              dpg.get_value(sender)))
         dpg.add_same_line()
         dpg.add_button(label="Clear",
                        callback=lambda: dpg.delete_item(
                            self.filter_id, children_only=True))
         dpg.add_same_line()
         dpg.add_input_text(label="Filter",
                            callback=lambda sender: dpg.set_value(
                                self.filter_id, dpg.get_value(sender)))
     self.child_id = dpg.add_child(parent=self.window_id,
                                   autosize_x=True,
                                   autosize_y=True)
     self.filter_id = dpg.add_filter_set(parent=self.child_id)
예제 #4
0
    def __init__(self):

        self.log_level = 0
        self._auto_scroll = True
        self.filter_id = None
        self.window_id = dpg.add_window(label="mvLogger", pos=(200, 200), width=500, height=500)
        self.count = 0
        self.flush_count = 1000
        self.level_options = {"Trace": 0, "Debug": 1, "Info": 2,  "Warning": 3, "Error": 4, "Critical": 5}

        with dpg.group(horizontal=True, parent=self.window_id):
            dpg.add_checkbox(label="Auto-scroll", default_value=True,
                             callback=lambda sender: self.auto_scroll(dpg.get_value(sender)))
            dpg.add_button(label="Clear", callback=lambda: dpg.delete_item(self.filter_id, children_only=True))
        dpg.add_input_text(label="Filter", callback=lambda sender: dpg.set_value(self.filter_id, dpg.get_value(sender)),
                           parent=self.window_id)
        dpg.add_radio_button(list(self.level_options.keys()), parent=self.window_id,
                             callback=lambda sender: self.set_level(self.level_options[dpg.get_value(sender)]))
        dpg.add_same_line(parent=self.window_id)
        self.child_id = dpg.add_child(parent=self.window_id, autosize_x=True, autosize_y=True)
        self.filter_id = dpg.add_filter_set(parent=self.child_id)

        with dpg.theme() as self.trace_theme:
            dpg.add_theme_color(dpg.mvThemeCol_Text, (0, 255, 0, 255))

        with dpg.theme() as self.debug_theme:
            dpg.add_theme_color(dpg.mvThemeCol_Text, (64, 128, 255, 255))

        with dpg.theme() as self.info_theme:
            dpg.add_theme_color(dpg.mvThemeCol_Text, (255, 255, 255, 255))

        with dpg.theme() as self.warning_theme:
            dpg.add_theme_color(dpg.mvThemeCol_Text, (255, 255, 0, 255))

        with dpg.theme() as self.error_theme:
            dpg.add_theme_color(dpg.mvThemeCol_Text, (255, 0, 0, 255))

        with dpg.theme() as self.critical_theme:
            dpg.add_theme_color(dpg.mvThemeCol_Text, (255, 0, 0, 255))
예제 #5
0
 def __setup_add_widget__(self, dpg_args) -> None:
     dpgcore.add_child(self.id, **dpg_args)