예제 #1
0
파일: main.py 프로젝트: avivorly/dark
    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()
예제 #2
0
    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
예제 #3
0
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
예제 #4
0
파일: TabTable.py 프로젝트: Zaffy/emma
    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
예제 #5
0
파일: TabTable.py 프로젝트: Zaffy/emma
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