def start_process(self): if self.result_box_group: # Qgroup to include the results window when not poped self.result_box_group.deleteLater() # improve memory self.result_box_group = None self.old_box = self.result_box starter = self.sandbox.starter if starter: try: extras = starter.module.run() self.result_box = ResultView(self, extras) if self.modes['outer_window']: w = QMainWindow(self) w.setCentralWidget(self.result_box) w.show() else: g = QGroupBox() gl = QHBoxLayout() g.setLayout(gl) gl.addWidget(self.result_box) self.result_box_group = g self.layout().addWidget(g, 5) except: self.pop_errors([format_exc()]) else: self.statusBar().showMessage('please define starter', 2000) self.sandbox.force_stater() self.start_process()
def __init__(self, emma, table): """ @param emma: Emma """ super(TabTable, self).__init__() self.notebook = gtk.Notebook() self.tab_label.set_text('Table: %s' % table.name) self.emma = emma self.table = table self.status_text = gtk.Label() self.table.connect('changed', self.table_changed) # # DATA # self.data_view = ResultView() self.data_view.enable_sorting = True self.notebook.append_page(self.data_view, gtk.Label('Data')) # # FIELDS # self.table_fields = table.get_table_fields_widget() if self.table_fields: self.notebook.append_page(self.table_fields, gtk.Label('Fields')) # # INDEXES # if self.table.is_table: self.table_indexes = table.get_table_indexes_widget() if self.table_indexes: self.notebook.append_page(self.table_indexes, gtk.Label('Indexes')) # # PROPERTIES # self.table_properties = table.get_table_properties_widget() if self.table_properties: self.notebook.append_page(self.table_properties, gtk.Label('Properties')) # # CREATE TABLE/VIEW SQL # sql_create_tab = gtk.ScrolledWindow() sql_create_tab.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.table_textview = gtk.TextView() sql_create_tab.add(self.table_textview) self.notebook.append_page(sql_create_tab, gtk.Label('SQL: Create')) self.load() self.notebook.set_current_page(0) vbox = gtk.VBox() self.toolbar = table.get_table_toolbar(self) if self.toolbar: vbox.pack_start(self.toolbar, False, True) vbox.pack_start(self.notebook, True, True) vbox.pack_end(self.create_statusbar(), False, True) vbox.show_all() self.ui = vbox
class TabTable(BaseTab): def __init__(self, emma, table): """ @param emma: Emma """ super(TabTable, self).__init__() self.notebook = gtk.Notebook() self.tab_label.set_text('Table: %s' % table.name) self.emma = emma self.table = table self.status_text = gtk.Label() self.table.connect('changed', self.table_changed) # # DATA # self.data_view = ResultView() self.data_view.enable_sorting = True self.notebook.append_page(self.data_view, gtk.Label('Data')) # # FIELDS # self.table_fields = table.get_table_fields_widget() if self.table_fields: self.notebook.append_page(self.table_fields, gtk.Label('Fields')) # # INDEXES # if self.table.is_table: self.table_indexes = table.get_table_indexes_widget() if self.table_indexes: self.notebook.append_page(self.table_indexes, gtk.Label('Indexes')) # # PROPERTIES # self.table_properties = table.get_table_properties_widget() if self.table_properties: self.notebook.append_page(self.table_properties, gtk.Label('Properties')) # # CREATE TABLE/VIEW SQL # sql_create_tab = gtk.ScrolledWindow() sql_create_tab.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.table_textview = gtk.TextView() sql_create_tab.add(self.table_textview) self.notebook.append_page(sql_create_tab, gtk.Label('SQL: Create')) self.load() self.notebook.set_current_page(0) vbox = gtk.VBox() self.toolbar = table.get_table_toolbar(self) if self.toolbar: vbox.pack_start(self.toolbar, False, True) vbox.pack_start(self.notebook, True, True) vbox.pack_end(self.create_statusbar(), False, True) vbox.show_all() self.ui = vbox def create_statusbar(self): hbox = gtk.HBox() hbox.pack_start(self.status_text, False, True) return hbox def update(self, *args): self.table.refresh() self.load() def load(self): self.data_view.load_data(self.table.get_all_records()) self.status_text.set_text(self.table.get_table_status_string()) self.table_textview.get_buffer().set_text( self.table.get_create_table()) if self.table_properties: self.table_properties.update() if self.table_fields: self.table_fields.refresh() if self.table.is_table: if self.table_indexes: self.table_indexes.refresh() def table_changed(self, table): print 'Table `%s` fired CHANGED event!' % table.name
def __init__(self, emma, table): """ @param emma: Emma """ super(TabTable, self).__init__() self.notebook = gtk.Notebook() self.tab_label.set_text('Table: %s' % table.name) self.emma = emma self.table = table self.status_text = gtk.Label() self.table.connect('changed', self.table_changed) # # DATA # self.data_view = ResultView() self.data_view.enable_sorting = True self.notebook.append_page(self.data_view, gtk.Label('Data')) # # FIELDS # self.table_fields = table.get_table_fields_widget() if self.table_fields: self.notebook.append_page(self.table_fields, gtk.Label('Fields')) # # INDEXES # if self.table.is_table: self.table_indexes = table.get_table_indexes_widget() if self.table_indexes: self.notebook.append_page(self.table_indexes, gtk.Label('Indexes')) # # PROPERTIES # self.table_properties = table.get_table_properties_widget() if self.table_properties: self.notebook.append_page(self.table_properties, gtk.Label('Properties')) # # CREATE TABLE/VIEW SQL # sql_create_tab = gtk.ScrolledWindow() sql_create_tab.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.table_textview = gtk.TextView() sql_create_tab.add(self.table_textview) self.notebook.append_page(sql_create_tab, gtk.Label('SQL: Create')) self.load() self.notebook.set_current_page(0) vbox = gtk.VBox() self.toolbar = table.get_table_toolbar(self) if self.toolbar: vbox.pack_start(self.toolbar, False, True) vbox.pack_start(self.notebook, True, True) vbox.pack_end(self.create_statusbar(), False, True) vbox.show_all() self.ui = vbox
class TabTable(BaseTab): def __init__(self, emma, table): """ @param emma: Emma """ super(TabTable, self).__init__() self.notebook = gtk.Notebook() self.tab_label.set_text('Table: %s' % table.name) self.emma = emma self.table = table self.status_text = gtk.Label() self.table.connect('changed', self.table_changed) # # DATA # self.data_view = ResultView() self.data_view.enable_sorting = True self.notebook.append_page(self.data_view, gtk.Label('Data')) # # FIELDS # self.table_fields = table.get_table_fields_widget() if self.table_fields: self.notebook.append_page(self.table_fields, gtk.Label('Fields')) # # INDEXES # if self.table.is_table: self.table_indexes = table.get_table_indexes_widget() if self.table_indexes: self.notebook.append_page(self.table_indexes, gtk.Label('Indexes')) # # PROPERTIES # self.table_properties = table.get_table_properties_widget() if self.table_properties: self.notebook.append_page(self.table_properties, gtk.Label('Properties')) # # CREATE TABLE/VIEW SQL # sql_create_tab = gtk.ScrolledWindow() sql_create_tab.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.table_textview = gtk.TextView() sql_create_tab.add(self.table_textview) self.notebook.append_page(sql_create_tab, gtk.Label('SQL: Create')) self.load() self.notebook.set_current_page(0) vbox = gtk.VBox() self.toolbar = table.get_table_toolbar(self) if self.toolbar: vbox.pack_start(self.toolbar, False, True) vbox.pack_start(self.notebook, True, True) vbox.pack_end(self.create_statusbar(), False, True) vbox.show_all() self.ui = vbox def create_statusbar(self): hbox = gtk.HBox() hbox.pack_start(self.status_text, False, True) return hbox def update(self, *args): self.table.refresh() self.load() def load(self): self.data_view.load_data(self.table.get_all_records()) self.status_text.set_text(self.table.get_table_status_string()) self.table_textview.get_buffer().set_text(self.table.get_create_table()) if self.table_properties: self.table_properties.update() if self.table_fields: self.table_fields.refresh() if self.table.is_table: if self.table_indexes: self.table_indexes.refresh() def table_changed(self, table): print 'Table `%s` fired CHANGED event!' % table.name