Beispiel #1
0
    def datasetselected(self):
        """ Action : One or more DataSets were selected from the list """

        #print('Selection changed')
        self.currentdset = self.ui.dataGroupSelect.currentText() + '/' + \
            self.ui.dataSetList.currentItem().text()

        #        print('Current Selection : {}'.format(self.currentdset))
        self.allselect = ['/' + str(self.ui.dataGroupSelect.currentText() +\
            '/' + i.text()) for i in self.ui.dataSetList.selectedItems()]

        if len(self.allselect) == 0:
            self.allselect = None
            self.ui.currentDatasetText.setText('')
            attrs = {}
            self.ui.dataSetAttribs.setRowCount(0)
            self.ui.dataSetMemo.setText('')
        else:
            if len(self.allselect) == 1:
                self.ui.currentDatasetText.setText(self.currentdset)
            else:
                self.ui.currentDatasetText.setText(self.currentdset + ' ( + ' +\
                    str(len(self.allselect)-1) + ' others)' )

            self.ui.dataSetAttribs.setSortingEnabled(False)
            self.ui.dataSetAttribs.setRowCount(0)
            self.ui.dataSetAttribs.setColumnCount(2)

            attrs = _h5utils.retrieve_dataset_attribute_dict(
                self.path + self.filename, self.currentdset)

            for count, key in enumerate(attrs.keys()):
                self.ui.dataSetAttribs.insertRow(
                    self.ui.dataSetAttribs.rowCount())
                self.ui.dataSetAttribs.setItem(count, 0,
                                               _QTableWidgetItem(str(key)))
                temp = attrs[key]
                if isinstance(temp, _np.bytes_):
                    self.ui.dataSetAttribs.setItem(
                        count, 1, _QTableWidgetItem(temp.decode()))
                else:
                    self.ui.dataSetAttribs.setItem(
                        count, 1, _QTableWidgetItem(str(temp)))

            self.ui.dataSetAttribs.setSortingEnabled(True)
            self.ui.dataSetAttribs.sortItems(0)

            try:
                self.ui.dataSetMemo.setText(attrs['Memo'].decode())
            except:
                pass
Beispiel #2
0
    def datasetselected(self):
        """ Action : One or more DataSets were selected from the list """

        #print('Selection changed')
        self.currentdset = self.ui.dataGroupSelect.currentText() + '/' + \
            self.ui.dataSetList.currentItem().text()

#        print('Current Selection : {}'.format(self.currentdset))
        self.allselect = ['/' + str(self.ui.dataGroupSelect.currentText() +\
            '/' + i.text()) for i in self.ui.dataSetList.selectedItems()]


        if len(self.allselect) == 0:
            self.allselect = None
            self.ui.currentDatasetText.setText('')
            attrs = {}
            self.ui.dataSetAttribs.setRowCount(0)
            self.ui.dataSetMemo.setText('')
        else:
            if len(self.allselect) == 1:
                self.ui.currentDatasetText.setText(self.currentdset)
            else:
                self.ui.currentDatasetText.setText(self.currentdset + ' ( + ' +\
                    str(len(self.allselect)-1) + ' others)' )

            self.ui.dataSetAttribs.setSortingEnabled(False)
            self.ui.dataSetAttribs.setRowCount(0)
            self.ui.dataSetAttribs.setColumnCount(2)

            attrs = _h5utils.retrieve_dataset_attribute_dict(self.path + self.filename,self.currentdset)

            for count, key in enumerate(attrs.keys()):
                self.ui.dataSetAttribs.insertRow(self.ui.dataSetAttribs.rowCount())
                self.ui.dataSetAttribs.setItem(count,0,_QTableWidgetItem(str(key)))
                temp = attrs[key]
                if isinstance(temp,_np.bytes_):
                    self.ui.dataSetAttribs.setItem(count,1,_QTableWidgetItem(temp.decode()))
                else:
                    self.ui.dataSetAttribs.setItem(count,1,_QTableWidgetItem(str(temp)))

            self.ui.dataSetAttribs.setSortingEnabled(True)
            self.ui.dataSetAttribs.sortItems(0)

            try:
                self.ui.dataSetMemo.setText(attrs['Memo'].decode())
            except:
                pass
Beispiel #3
0
    def populate_attrs(self, attr_dict=None):
        """ Populate attribute and memo boxes for currently selected dataset """

        self.ui.tableAttributes.setRowCount(0)
        self.ui.tableAttributes.setColumnCount(2)
        self.ui.tableAttributes.setSortingEnabled(False)
        self.ui.textDescription.setText('')

        if attr_dict:
            try:
                self.ui.textDescription.setText(attr_dict[HdfLoad.config['attr_description']])
            except (KeyError, AttributeError) as error_msg:
                print('{}\nNo memo at key {}'.format(error_msg, HdfLoad.config['attr_description']))

            for num, key in enumerate(attr_dict):
                self.ui.tableAttributes.insertRow(self.ui.tableAttributes.rowCount())
                self.ui.tableAttributes.setItem(num, 0, _QTableWidgetItem(key))
                self.ui.tableAttributes.setItem(num, 1, _QTableWidgetItem(str(attr_dict[key])))
Beispiel #4
0
    def populate_attrs(self, attr_dict=None):
        """ Populate attribute for currently selected group """
        self.ui.tableAttributes.blockSignals(
            True)  #block udpate signals for auto-filled forms
        self.ui.tableAttributes.setRowCount(0)
        self.ui.tableAttributes.setColumnCount(2)
        self.ui.tableAttributes.setSortingEnabled(False)

        if attr_dict:
            for num, key in enumerate(attr_dict):
                self.ui.tableAttributes.insertRow(
                    self.ui.tableAttributes.rowCount())
                key_item = _QTableWidgetItem(key)
                key_item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
                self.ui.tableAttributes.setItem(num, 0, key_item)

                val_item = _QTableWidgetItem(str(attr_dict[key]))
                val_item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEditable
                                  | Qt.ItemIsEnabled)
                self.ui.tableAttributes.setItem(num, 1, val_item)

        self.ui.tableAttributes.blockSignals(False)
Beispiel #5
0
    def create_table(self):
        try:
            """Create table."""
            if self.table_df is None:
                return

            df = self.table_df

            _n_columns = len(df.columns)
            _n_rows = len(df.index)

            if _n_columns != 0:
                self.ui.tb_general.setColumnCount(_n_columns)
                self.ui.tb_general.setHorizontalHeaderLabels(
                    df.columns)

            if _n_rows != 0:
                self.ui.tb_general.setRowCount(_n_rows)
                lista0 = np.asarray(df.index.tolist(), dtype='<U32')            
                self.ui.tb_general.setVerticalHeaderLabels(lista0)
                
            for idx in range(_n_rows):
                for _jdx in range(_n_columns):
                    if (_jdx == 0) | (_jdx == 1) | (_jdx == 3):
                        self.ui.tb_general.setItem(
                         idx, _jdx,
                         _QTableWidgetItem(
                            '{0:1g}'.format(df.iloc[idx, _jdx])))
                    if _jdx == 2:
                        self.ui.tb_general.setItem(
                            idx, _jdx,
                            _QTableWidgetItem(
                                (df.iloc[idx, _jdx])))

            _QApplication.processEvents()

            self.ui.tb_general.resizeColumnsToContents()
        except:
            traceback.print_exc(file=sys.stdout)