def init(self): # Load plugins self.update_blocks() for plugin in System.get_plugins(): plugin.load(self.main_window) self.main_window.menu.update_recent_files( System.get_preferences().recent_files) self.main_window.menu.update_examples(System.get_list_of_examples())
def test_update_examples(self): System.get_list_of_examples().append("language/framework/test") System.get_list_of_examples().append("language/framework/test1") self.menu.update_examples(System.get_list_of_examples()) System.get_list_of_examples().append("test") self.menu.update_examples(System.get_list_of_examples()) # language self.menu.example_menu.get_children()[0].activate() # extension self.menu.example_menu.get_children()[0].get_children()[0].activate()
def test_update_examples(self): System.get_list_of_examples().append("language/framework/test") System.get_list_of_examples().append("language/framework/test1") self.menu.update_examples() System.get_list_of_examples().append("test") self.menu.update_examples() example_menu = self.menu.example_menu language = example_menu.get_children()[0].get_submenu() extension = language.get_children()[0].get_submenu() example = extension.get_children()[0] example.emit("activate")
def update_examples(self): for widget in self.example_menu.get_children(): self.example_menu.remove(widget) # Create submenu list_of_examples = System.get_list_of_examples() submenu = None for example in list_of_examples: directory_list = example.split("/") name = "" extension = "" language = "" if len(directory_list) >= 3: name = directory_list.pop() extension = directory_list.pop() language = directory_list.pop() # first, the language submenu language_menu_item = self.__get_child_by_name( self.example_menu, language) if language_menu_item is None: language_menu_item = Gtk.MenuItem.new_with_label(language) language_menu_item.set_name(language) self.example_menu.append(language_menu_item) language_menu = Gtk.Menu() language_menu_item.set_submenu(language_menu) else: language_menu = language_menu_item.get_submenu() extension_menu_item = self.__get_child_by_name( language_menu, extension) if extension_menu_item is None: extension_menu_item = Gtk.MenuItem.new_with_label(extension) extension_menu_item.set_name(extension) language_menu.append(extension_menu_item) extension_menu = Gtk.Menu() extension_menu_item.set_submenu(extension_menu) else: extension_menu = extension_menu_item.get_submenu() menu_item = Gtk.MenuItem.new_with_label(name) extension_menu.append(menu_item) menu_item.connect("activate", self.__load_example, example) self.example_menu.show_all()