def __init__(self, thedocument, mainwin, parent, readonly=False, filterdims=None, filterdtype=None): """Initialise widget: thedocument: document to show mainwin: main window of application (or None if readonly) parent: parent of widget. readonly: for choosing datasets only filterdims: if set, only show datasets with dimensions given filterdtype: if set, only show datasets with type given """ qt4.QWidget.__init__(self, parent) self.layout = qt4.QVBoxLayout() self.setLayout(self.layout) # options for navigator are in this layout self.optslayout = qt4.QHBoxLayout() # grouping options - use a menu to choose the grouping self.grpbutton = qt4.QPushButton("Group") self.grpmenu = qt4.QMenu() self.grouping = setting.settingdb.get("navtree_grouping", "filename") self.grpact = qt4.QActionGroup(self) self.grpact.setExclusive(True) for name in self.grpnames: a = self.grpmenu.addAction(self.grpentries[name]) a.grpname = name a.setCheckable(True) if name == self.grouping: a.setChecked(True) self.grpact.addAction(a) self.connect(self.grpact, qt4.SIGNAL("triggered(QAction*)"), self.slotGrpChanged) self.grpbutton.setMenu(self.grpmenu) self.grpbutton.setToolTip("Group datasets with property given") self.optslayout.addWidget(self.grpbutton) # filtering by entering text self.optslayout.addWidget(qt4.QLabel("Filter")) self.filteredit = LineEditWithClear() self.filteredit.setToolTip("Enter text here to filter datasets") self.connect(self.filteredit, qt4.SIGNAL("textChanged(const QString&)"), self.slotFilterChanged) self.optslayout.addWidget(self.filteredit) self.layout.addLayout(self.optslayout) # the actual widget tree self.navtree = DatasetsNavigatorTree( thedocument, mainwin, self.grouping, None, readonly=readonly, filterdims=filterdims, filterdtype=filterdtype) self.layout.addWidget(self.navtree)
def __init__(self, thedocument, mainwin, parent, readonly=False, filterdims=None, filterdtype=None): """Initialise widget: thedocument: document to show mainwin: main window of application (or None if readonly) parent: parent of widget. readonly: for choosing datasets only filterdims: if set, only show datasets with dimensions given filterdtype: if set, only show datasets with type given """ qt4.QWidget.__init__(self, parent) self.layout = qt4.QVBoxLayout() self.setLayout(self.layout) # options for navigator are in this layout self.optslayout = qt4.QHBoxLayout() # grouping options - use a menu to choose the grouping self.grpbutton = qt4.QPushButton(_("Group")) self.grpmenu = qt4.QMenu() self.grouping = setting.settingdb.get("navtree_grouping", "filename") self.grpact = qt4.QActionGroup(self) self.grpact.setExclusive(True) for name in self.grpnames: a = self.grpmenu.addAction(self.grpentries[name]) a.grpname = name a.setCheckable(True) if name == self.grouping: a.setChecked(True) self.grpact.addAction(a) self.connect(self.grpact, qt4.SIGNAL("triggered(QAction*)"), self.slotGrpChanged) self.grpbutton.setMenu(self.grpmenu) self.grpbutton.setToolTip(_("Group datasets with property given")) self.optslayout.addWidget(self.grpbutton) # filtering by entering text self.optslayout.addWidget(qt4.QLabel(_("Filter"))) self.filteredit = LineEditWithClear() self.filteredit.setToolTip(_("Enter text here to filter datasets")) self.connect(self.filteredit, qt4.SIGNAL("textChanged(const QString&)"), self.slotFilterChanged) self.optslayout.addWidget(self.filteredit) self.layout.addLayout(self.optslayout) # the actual widget tree self.navtree = DatasetsNavigatorTree(thedocument, mainwin, self.grouping, None, readonly=readonly, filterdims=filterdims, filterdtype=filterdtype) self.layout.addWidget(self.navtree)
class DatasetBrowser(qt4.QWidget): """Widget which shows the document's datasets.""" # how datasets can be grouped grpnames = ("none", "filename", "type", "size", "tags") grpentries = { "none": _("None"), "filename": _("Filename"), "type": _("Type"), "size": _("Size"), "tags": _("Tags"), } def __init__(self, thedocument, mainwin, parent, readonly=False, filterdims=None, filterdtype=None): """Initialise widget: thedocument: document to show mainwin: main window of application (or None if readonly) parent: parent of widget. readonly: for choosing datasets only filterdims: if set, only show datasets with dimensions given filterdtype: if set, only show datasets with type given """ qt4.QWidget.__init__(self, parent) self.layout = qt4.QVBoxLayout() self.setLayout(self.layout) # options for navigator are in this layout self.optslayout = qt4.QHBoxLayout() # grouping options - use a menu to choose the grouping self.grpbutton = qt4.QPushButton(_("Group")) self.grpmenu = qt4.QMenu() self.grouping = setting.settingdb.get("navtree_grouping", "filename") self.grpact = qt4.QActionGroup(self) self.grpact.setExclusive(True) for name in self.grpnames: a = self.grpmenu.addAction(self.grpentries[name]) a.grpname = name a.setCheckable(True) if name == self.grouping: a.setChecked(True) self.grpact.addAction(a) self.connect(self.grpact, qt4.SIGNAL("triggered(QAction*)"), self.slotGrpChanged) self.grpbutton.setMenu(self.grpmenu) self.grpbutton.setToolTip(_("Group datasets with property given")) self.optslayout.addWidget(self.grpbutton) # filtering by entering text self.optslayout.addWidget(qt4.QLabel(_("Filter"))) self.filteredit = LineEditWithClear() self.filteredit.setToolTip(_("Enter text here to filter datasets")) self.connect(self.filteredit, qt4.SIGNAL("textChanged(const QString&)"), self.slotFilterChanged) self.optslayout.addWidget(self.filteredit) self.layout.addLayout(self.optslayout) # the actual widget tree self.navtree = DatasetsNavigatorTree( thedocument, mainwin, self.grouping, None, readonly=readonly, filterdims=filterdims, filterdtype=filterdtype) self.layout.addWidget(self.navtree) def slotGrpChanged(self, action): """Grouping changed by user.""" self.navtree.changeGrouping(action.grpname) setting.settingdb["navtree_grouping"] = action.grpname def slotFilterChanged(self, filtertext): """Filtering changed by user.""" self.navtree.changeFilter(unicode(filtertext)) def selectDataset(self, dsname): """Find, and if possible select dataset name.""" self.navtree.selectDataset(dsname)
class DatasetBrowser(qt4.QWidget): """Widget which shows the document's datasets.""" # how datasets can be grouped grpnames = ("none", "filename", "type", "size", "tags") grpentries = { "none": _("None"), "filename": _("Filename"), "type": _("Type"), "size": _("Size"), "tags": _("Tags"), } def __init__(self, thedocument, mainwin, parent, readonly=False, filterdims=None, filterdtype=None): """Initialise widget: thedocument: document to show mainwin: main window of application (or None if readonly) parent: parent of widget. readonly: for choosing datasets only filterdims: if set, only show datasets with dimensions given filterdtype: if set, only show datasets with type given """ qt4.QWidget.__init__(self, parent) self.layout = qt4.QVBoxLayout() self.setLayout(self.layout) # options for navigator are in this layout self.optslayout = qt4.QHBoxLayout() # grouping options - use a menu to choose the grouping self.grpbutton = qt4.QPushButton(_("Group")) self.grpmenu = qt4.QMenu() self.grouping = setting.settingdb.get("navtree_grouping", "filename") self.grpact = qt4.QActionGroup(self) self.grpact.setExclusive(True) for name in self.grpnames: a = self.grpmenu.addAction(self.grpentries[name]) a.grpname = name a.setCheckable(True) if name == self.grouping: a.setChecked(True) self.grpact.addAction(a) self.connect(self.grpact, qt4.SIGNAL("triggered(QAction*)"), self.slotGrpChanged) self.grpbutton.setMenu(self.grpmenu) self.grpbutton.setToolTip(_("Group datasets with property given")) self.optslayout.addWidget(self.grpbutton) # filtering by entering text self.optslayout.addWidget(qt4.QLabel(_("Filter"))) self.filteredit = LineEditWithClear() self.filteredit.setToolTip(_("Enter text here to filter datasets")) self.connect(self.filteredit, qt4.SIGNAL("textChanged(const QString&)"), self.slotFilterChanged) self.optslayout.addWidget(self.filteredit) self.layout.addLayout(self.optslayout) # the actual widget tree self.navtree = DatasetsNavigatorTree(thedocument, mainwin, self.grouping, None, readonly=readonly, filterdims=filterdims, filterdtype=filterdtype) self.layout.addWidget(self.navtree) def slotGrpChanged(self, action): """Grouping changed by user.""" self.navtree.changeGrouping(action.grpname) setting.settingdb["navtree_grouping"] = action.grpname def slotFilterChanged(self, filtertext): """Filtering changed by user.""" self.navtree.changeFilter(unicode(filtertext)) def selectDataset(self, dsname): """Find, and if possible select dataset name.""" self.navtree.selectDataset(dsname)