def init_sections_state(self): net_manager.init_devices() for section in self.vbox.get_children(): if section.show_or_hide(): section.section_show() section.init_state() else: section.section_hide() slider._append_page(Region(), "region") from setting_page_ui import SettingUI self.setting_page_ui = SettingUI(None, None) slider._append_page(self.setting_page_ui, "setting")
class Network(object): def __init__(self): #self.init_sections() self.__init_ui() slider._append_page(self.eventbox, "main") slider.connect_after("show", lambda w: self.init_sections_state()) slider._set_to_page("main") slider.show_all() Dispatcher.connect("to-setting-page", self.slide_to_setting_page) Dispatcher.connect("recheck-section", lambda w, i: self.__init_sections(0)) Dispatcher.connect("service-stop-do-more", lambda w: self.stop()) def init_sections_state(self): net_manager.init_devices() for section in self.vbox.get_children(): if section.show_or_hide(): section.section_show() section.init_state() else: section.section_hide() slider._append_page(Region(), "region") from setting_page_ui import SettingUI self.setting_page_ui = SettingUI(None, None) slider._append_page(self.setting_page_ui, "setting") def __init_sections(self, index): section_list = [ WiredSection, WirelessSection, DSLSection, MobileSection, VpnSection, Proxy ] if index == -1: container_remove_all(self.vbox) for section in section_list: section_ins = apply(section) self.vbox.pack_start(section_ins, False, True) else: for section in self.vbox.get_children(): if section.show_or_hide(): section.section_show() else: section.section_hide() def __init_ui(self): self.vbox = gtk.VBox(False, BETWEEN_SPACING) self.__init_sections(-1) self.vbox.set_size_request(WINDOW_WIDTH - 2 * TEXT_WINDOW_LEFT_PADDING, -1) scroll_win = ScrolledWindow(right_space=0, top_bottom_space=0) #scroll_win.connect("event", self.test) scroll_win.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) # FIXME UI a align to adjust ui ui_align = gtk.Alignment(0, 0, 0, 0) ui_align.set_padding(TEXT_WINDOW_TOP_PADDING, TEXT_WINDOW_TOP_PADDING, TEXT_WINDOW_LEFT_PADDING, TEXT_WINDOW_LEFT_PADDING) ui_align.add(self.vbox) scroll_win.add_with_viewport(ui_align) self.eventbox = gtk.EventBox() self.eventbox.set_above_child(False) self.eventbox.add(scroll_win) self.vbox.connect("expose-event", self.expose_callback) ui_align.connect("expose-event", self.expose_callback) def __pack_start(self, parent, child_list, expand=False, fill=False): for child in child_list: parent.pack_start(child, expand, fill) def expose_callback(self, widget, event): cr = widget.window.cairo_create() rect = widget.allocation cr.set_source_rgb(1, 1, 1) cr.rectangle(rect.x, rect.y, rect.width, rect.height) cr.fill() def slide_to_setting_page(self, widget, setting_module, hide_left): self.setting_page_ui.load_module(setting_module, hide_left) def refresh(self): #self.init_sections() self.__init_sections(-1) self.init_sections_state() self.eventbox.set_above_child(False) self.eventbox.queue_draw() def stop(self): for section in self.vbox.get_children(): section.set_active(False) self.eventbox.set_above_child(True) def get_main_page(self): return self.eventbox
class Network(object): def __init__(self): #self.init_sections() self.__init_ui() slider._append_page(self.eventbox, "main") slider.connect_after("show", lambda w: self.init_sections_state()) slider._set_to_page("main") slider.show_all() Dispatcher.connect("to-setting-page", self.slide_to_setting_page) Dispatcher.connect("recheck-section", lambda w, i: self.__init_sections(0)) Dispatcher.connect("service-stop-do-more", lambda w: self.stop()) def init_sections_state(self): net_manager.init_devices() for section in self.vbox.get_children(): if section.show_or_hide(): section.section_show() section.init_state() else: section.section_hide() slider._append_page(Region(), "region") from setting_page_ui import SettingUI self.setting_page_ui = SettingUI(None, None) slider._append_page(self.setting_page_ui, "setting") def __init_sections(self, index): section_list = [WiredSection, WirelessSection, DSLSection, MobileSection, VpnSection, Proxy] if index == -1: container_remove_all(self.vbox) for section in section_list: section_ins = apply(section) self.vbox.pack_start(section_ins, False, True) else: for section in self.vbox.get_children(): if section.show_or_hide(): section.section_show() else: section.section_hide() def __init_ui(self): self.vbox = gtk.VBox(False, BETWEEN_SPACING) self.__init_sections( -1) self.vbox.set_size_request(WINDOW_WIDTH - 2 * TEXT_WINDOW_LEFT_PADDING, -1) scroll_win = ScrolledWindow(right_space=0, top_bottom_space=0) #scroll_win.connect("event", self.test) scroll_win.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) # FIXME UI a align to adjust ui ui_align = gtk.Alignment(0, 0, 0, 0) ui_align.set_padding(TEXT_WINDOW_TOP_PADDING, TEXT_WINDOW_TOP_PADDING, TEXT_WINDOW_LEFT_PADDING, TEXT_WINDOW_LEFT_PADDING) ui_align.add(self.vbox) scroll_win.add_with_viewport(ui_align) self.eventbox = gtk.EventBox() self.eventbox.set_above_child(False) self.eventbox.add(scroll_win) self.vbox.connect("expose-event", self.expose_callback) ui_align.connect("expose-event", self.expose_callback) def __pack_start(self, parent, child_list, expand=False, fill=False): for child in child_list: parent.pack_start(child, expand, fill) def expose_callback(self, widget, event): cr = widget.window.cairo_create() rect = widget.allocation cr.set_source_rgb( 1, 1, 1) cr.rectangle(rect.x, rect.y, rect.width, rect.height) cr.fill() def slide_to_setting_page(self, widget, setting_module, hide_left): self.setting_page_ui.load_module(setting_module, hide_left) def refresh(self): #self.init_sections() self.__init_sections(-1) self.init_sections_state() self.eventbox.set_above_child(False) self.eventbox.queue_draw() def stop(self): for section in self.vbox.get_children(): section.set_active(False) self.eventbox.set_above_child(True) def get_main_page(self): return self.eventbox