def create_tab(self, type): """ this method is called by self.new_tab, which triggers on-click on new button creates a new tab get grid (Tabs()) from Tabs class fetches a label widget from Tabs.get_label_widget connects the close button in every tab :param type: type of action to choose for filechooser dialog :return: grid to be packed in tab body and label_widget to be set as tab title """ tab = Tabs(self.builder.get_object('window1'), type) label_widget = tab.get_label_widget() # connect label_widget's close button to close_tab() label_widget.get_children()[-1].connect('clicked', self.close_tab) label_widget.show_all() # set save, run, terminal button active if not save_button = self.builder.get_object('save') run_button = self.builder.get_object('run') terminal_button = self.builder.get_object('terminal') for button in [save_button, run_button, terminal_button]: button.set_sensitive(True) return tab, label_widget
def __init__(self, build): core.Language.__init__(self) Gtk.Notebook.__init__(self) self.notebook = Gtk.Notebook() self.footer = footer.Footer() self.builder = build self.filename = "" # add notebook to window() self.builder.get_object('notebook_holder').pack_end( self.notebook, True, True, 0) # add first tab # self.notebook.append_page(*self.create_tab()) # initialize the directory tree on cwd file_container = self.builder.get_object('files') dir_tree = directory_tree.Tree() treeview = dir_tree.create_tree_view() file_container.pack_start(Tabs.wrap_scrolled(treeview), True, True, 0) # disable save, run, terminal button (no tab opened yet) self.builder.get_object('save').set_sensitive(False) self.builder.get_object('run').set_sensitive(False) self.builder.get_object('terminal').set_sensitive(False)
def __init__(self, build): core.Language.__init__(self) Gtk.Notebook.__init__(self) self.notebook = Gtk.Notebook() self.footer = footer.Footer() self.builder = build self.filename = "" # add notebook to window() self.builder.get_object('notebook_holder').pack_end(self.notebook, True, True, 0) # add first tab # self.notebook.append_page(*self.create_tab()) # initialize the directory tree on cwd file_container = self.builder.get_object('files') dir_tree = directory_tree.Tree() treeview = dir_tree.create_tree_view() file_container.pack_start(Tabs.wrap_scrolled(treeview), True, True, 0) # disable save, run, terminal button (no tab opened yet) self.builder.get_object('save').set_sensitive(False) self.builder.get_object('run').set_sensitive(False) self.builder.get_object('terminal').set_sensitive(False)