Esempio n. 1
0
    def __init__(self, fetcher, parent=None):

        NulogBaseFragmentView.__init__(self, fetcher)

        self.info_area = InfoArea(self.parent())

        self.colsort_actions = []
        self.colsort_menu = QMenu(self)
        self.hide_count = False
        self.ready = False
Esempio n. 2
0
    def __init__(self, fetcher, parent):
        TableView.__init__(self, parent)
        NulogBaseFragmentView.__init__(self, fetcher)

        # Disable edition
        self.setEditTriggers(QAbstractItemView.NoEditTriggers)

        # Define the callback when headers are clicked (sorting function)
        self.connect(self.header, SIGNAL('sectionPressed(int)'), self.sortView)

        self.header.setSortIndicatorShown(True)
Esempio n. 3
0
    def updateData(self, result):
        if not NulogBaseFragmentView.updateData(self, result):
            return False

        for row in xrange(len(self.data)):
            if self.result['args'].has_key('start'):
                self.my_model.setHeaderData(row, Qt.Vertical, QVariant('%d' % (self.result['args']['start'] + row + 1)))

        # TODO: this function si buggy, please debug it and use it!
        #self.setPaddings()

        stretch_index = None
        # shows a symbol to know if this is the sorted column
        if self.result['args'].has_key('sortby') and self.result['args'].has_key('sort'):
            col_no = 0
            for col, name in enumerate(self.columns):
                if name in self.stretch_list:
                    stretch_index = col_no
                if self.result['args']['sortby'] == name:
                    if self.result['args']['sort'] == 'ASC':
                        self.header.setSortIndicator(col_no, Qt.AscendingOrder)
                    else:
                        self.header.setSortIndicator(col_no, Qt.DescendingOrder)
                col_no += 1

        self.header.setResizeMode(QHeaderView.ResizeToContents)
        # Resize sections to contents
        self.header.resizeSections(QHeaderView.ResizeToContents)
        # Resize automaticaly
        if stretch_index != None:
            self.header.setResizeMode(stretch_index, QHeaderView.Stretch)

        # Give the control of the size back to the user
        #self.header.setResizeMode(QHeaderView.Interactive)


        # Update the context menu of headers
        self.updateHeadersActions()
        self.emit(SIGNAL("showButtons"))
Esempio n. 4
0
    def updateData(self, result):

        if self.is_closed:
            return

        if not NulogBaseFragmentView.updateData(self, result):
            return False

        if len(self.columns) != len(self.colsort_actions):
            self.setColsortActions()

        if self.result['args'].has_key('sortby'):
            for i, col in enumerate(self.columns):
                self.colsort_actions[i].setChecked(self.result['args']['sortby'] == col)

        self.ready = False

        if self.result['args'].has_key('start') and self.result['args']['start'] == 0 and \
                self.chart_type == PIECHART:
            self.fetcher.count(self.updateData_bis)
            return True
        else:
            self.ready = True
            return True