예제 #1
0
 def __init__(self, parent=None):
     self.lastView = None
     self.w = None
     self.fdialog = None
     import platform
     QW.control_log = MSG.Q7Log()
     QW.__init__(self, QW.VIEW_CONTROL, self, None, None)
     self.versions = {
         'pycgnsversion': 'pyCGNS v%s' % config.version,
         #                       'chloneversion':'CHLone %s'%config.CHLONE_VERSION,
         'vtkversion': 'VTK v%s' % config.VTK_VERSION,
         'cythonversion': 'Cython v%s' % config.CYTHON_VERSION,
         'hdf5version': 'HDF5 v%s' % config.HDF5_VERSION,
         'numpyversion': 'numpy v%s' % config.NUMPY_VERSION,
         'pythonversion': 'python v%s' % platform.python_version(),
         'pyqtversion': 'PyQt v%s' % config.PYQT_VERSION,
         'qtversion': 'Qt v%s' % config.QT_VERSION,
     }
     self.getHistory()
     self.bAbout.clicked.connect(self.about)
     self.bOptionView.clicked.connect(self.option)
     self.bTreeLoadLast.clicked.connect(self.loadlast)
     self.lockable(self.bTreeLoadLast)
     self.bTreeLoad.clicked.connect(self.load)
     self.bLog.clicked.connect(self.logView)
     self.lockable(self.bTreeLoad)
     self.bEditTree.clicked.connect(self.edit)
     self.lockable(self.bEditTree)
     self.bInfo.clicked.connect(self.infoControl)
     self.bPatternView.setDisabled(True)
     # self.bResetScrollBars.clicked.connect(self.resetScrolls)
     self.bClose.clicked.connect(self.close)
     # QObject.connect(self.controlTable,
     #                SIGNAL("cellClicked(int,int)"),
     #                self.clickedLine)
     self.controlTable.cellClicked.connect(self.clickedLine)
     self.initControlTable()
     self.controlTable.setItemDelegate(Q7ControlItemDelegate(self))
     self.signals = Q7SignalPool()
     self.signals.loadFile.connect(self.loadStart)
     self.signals.saveFile.connect(self.saving)
     self.signals.cancel.connect(self.cancelUnlock)
     self.signals.loadCompleted.connect(self.loadCompleted)
     self.setContextMenuPolicy(Qt.CustomContextMenu)
     self.popupmenu = QMenu()
     self.transientRecurse = False
     self.transientVTK = False
     self.copyPasteBuffer = None
     self.wOption = None
     self.selectForLinkDst = None
     self.newtreecount = 1
     self.help = None
     self._patternwindow = None
     self._toolswindow = None
     self.query = None
     Q7Query.loadUserQueries()
     Q7Query.fillQueries()
     Q7Query.loadUserFunctions()
예제 #2
0
파일: woption.py 프로젝트: wperkins/pyCGNS
 def __init__(self, parent):
     Q7Window.__init__(self, Q7Window.VIEW_OPTION, parent, None, None)
     self.bApply.clicked.connect(self.accept)
     self.bInfo.clicked.connect(self.infoOptionView)
     self.bClose.clicked.connect(self.close)
     self.bReset.clicked.connect(self.reset)
     self.bResetIgnored.clicked.connect(self.resetIgnored)
     self.bResetFonts.clicked.connect(self.resetFonts)
     self.getOptions()
예제 #3
0
 def __init__(self, control, node, fgprintindex):
     Q7Window.__init__(self, Q7Window.VIEW_FORM, control, node.sidsPath(),
                       fgprintindex)
     self._node = node
     self._operatorlist = ['']
     for t in self._node.sidsTypeList():
         self.eType.addItem(t)
     self.bClose.clicked.connect(self.reject)
     self.bInfo.clicked.connect(self.infoFormView)
     self.cFortranOrderOff.setChecked(False)
     self.cFortranOrderOff.setDisabled(True)
     for dt in node.sidsDataType(all=True):
         self.cDataType.addItem(dt)
예제 #4
0
 def __init__(self, control, fgprint, diag):
     Q7Window.__init__(self, Q7Window.VIEW_DIFF, control, None, fgprint)
     self._depthExpanded = 0
     self._lastEntered = None
     self._fgprint = fgprint
     (ldiag, lmerge) = self.diagAnalysis(diag)
     self.treeview.expanded[QModelIndex].connect(self.expandNode)
     self.treeview.collapsed.connect(self.collapseNode)
     self.treeview.clicked[QModelIndex].connect(self.clickedNode)
     self.treeview.customContextMenuRequested[QPoint].connect(
         self.clickedNode)
     # QObject.connect(self.treeview,
     #                 SIGNAL("expanded(QModelIndex)"),
     #                 self.expandNode)
     # QObject.connect(self.treeview,
     #                 SIGNAL("collapsed()"),
     #                 self.collapseNode)
     # QObject.connect(self.treeview,
     #                 SIGNAL("clicked(QModelIndex)"),
     #                 self.clickedNode)
     # QObject.connect(self.treeview,
     #                 SIGNAL("customContextMenuRequested(QPoint)"),
     #                 self.clickedNode)
     self.bClose.clicked.connect(self.leave)
     self.bInfo.clicked.connect(self.infoTreeView)
     self.bZoomIn.clicked.connect(self.expandLevel)
     self.bZoomOut.clicked.connect(self.collapseLevel)
     self.bZoomAll.clicked.connect(self.expandMinMax)
     self.bSaveDiff.clicked.connect(self.savediff)
     self.bSelectA.clicked.connect(self.showSelected)
     self.bSelectB.clicked.connect(self.showSelected)
     self.bSelectOrderSwap.clicked.connect(self.swapSelected)
     self.setContextMenuPolicy(Qt.CustomContextMenu)
     self.popupmenu = QMenu()
     self.proxyA = self._fgprint.model
     self.treeview.setModel(self.proxyA)
     self.treeview.setItemDelegate(
         Q7MergeItemDelegate(self.treeview, self._fgprint.model, ldiag,
                             lmerge))
     self.treeview.setControlWindow(self, self._fgprint.model)
     self.treeview.hideColumn(NMT.COLUMN_FLAG_LINK)
     self.treeview.hideColumn(NMT.COLUMN_FLAG_CHECK)
     self.treeview.hideColumn(NMT.COLUMN_FLAG_SELECT)
     self._fgprint.model.addA = True
     self._fgprint.model.addB = True
     self._A = QIcon(QPixmap(":/images/icons/user-A.png"))
     self._B = QIcon(QPixmap(":/images/icons/user-B.png"))
     self._order = 0  # A first
예제 #5
0
 def __init__(self, parent, fgindex, master):
     QW.__init__(self, QW.VIEW_LINK, parent, None, fgindex)
     self.bClose.clicked.connect(self.reject)
     self._lk2col = [4, 2, 3, 1, 0]
     self._col2lk = [4, 3, 1, 2, 0]
     self._master = master
     self._links = self.FG.links
     self.linkTable.setItemDelegate(Q7LinkItemDelegate(self,
                                                       self.FG.model))
     self.setLabel(self.eDirSource, self.FG.filedir)
     self.setLabel(self.eFileSource, self.FG.filename)
     self.bInfo.clicked.connect(self.infoLinkView)
     self.bAddLink.clicked.connect(self.newLink)
     self.bDeleteLink.clicked.connect(self.removeLink)
     self.bDuplicateLink.clicked.connect(self.duplicateLink)
     self.bSave.clicked.connect(self.infoLinkView)
     self.bCheckLink.clicked.connect(self.checkLinks)
     self.bLoadTree.clicked.connect(self.loadLinkFile)
예제 #6
0
파일: wpattern.py 프로젝트: ogiorgis/pyCGNS
 def __init__(self, control, fgprint):
     QW.__init__(self, QW.VIEW_PATTERN, control, None, None)
     self.bClose.clicked.connect(self.reject)
     self.bSave.clicked.connect(self.patternsave)
     self.bInfo.clicked.connect(self.infoPatternView)
     self.bCopy.clicked.connect(self.copyPatternInBuffer)
     self.bDelete.clicked.connect(self.deletelocal)
     self.bSave.setDisabled(True)
     self.bDelete.setDisabled(True)
     self.bAdd.setDisabled(True)
     self._profiles = {}
     self._profiles['SIDS'] = CGNS.PAT.SIDS.profile
     self.loadUserProfiles()
     self._modified = False
     self._initialized = False
     self._selected = None
     self._master = control
     self.patternTable._panel = self
예제 #7
0
파일: wquery.py 프로젝트: wperkins/pyCGNS
 def __init__(self, control, fgindex, treeview):
     Q7Window.__init__(self, Q7Window.VIEW_QUERY, control, '/', fgindex)
     self.bClose.clicked.connect(self.reject)
     self.bRun.clicked.connect(self.runCurrent)
     self.bAdd.clicked.connect(self.queryAdd)
     self.bDel.clicked.connect(self.queryDel)
     self.bRevert.clicked.connect(self.queryRevert)
     self.bCommitDoc.clicked.connect(self.queryCommit)
     self.bRevertDoc.clicked.connect(self.queryRevert)
     self.bSave.clicked.connect(self.queriesSave)
     self.bSaveAsScript.clicked.connect(self.queryScriptSave)
     self._master = treeview
     #
     self.cQueryName.currentIndexChanged.connect(self.changeCurrentQuery)
     self.cQueryGroup.currentIndexChanged.connect(self.changeCurrentGroup)
     #
     # QObject.connect(self.cQueryName,
     #                SIGNAL("currentIndexChanged(int)"),
     #                self.changeCurrentQuery)
     # QObject.connect(self.cQueryGroup,
     #                SIGNAL("currentIndexChanged(int)"),
     #                self.changeCurrentGroup)
     self.cQueryName.editTextChanged.connect(self.checkNewQueryName)
     #
     self.eText.textChanged.connect(self.changeText)
     self.eQueryDoc.textChanged.connect(self.changeText)
     #
     # QObject.connect(self.cQueryName,
     #                SIGNAL("editTextChanged()"),
     #                self.checkNewQueryName)
     # QObject.connect(self.cQueryName,
     #                SIGNAL("editTextChanged(QString)"),
     #                self.checkNewQueryName)
     # QObject.connect(self.eText,
     #                SIGNAL("textChanged()"),
     #                self.changeText)
     # QObject.connect(self.eQueryDoc,
     #                SIGNAL("textChanged()"),
     #                self.changeText)
     self.bInfo.clicked.connect(self.infoQueryView)
     self.bAdd.setEnabled(False)
     self.setCurrentQuery()
     self._modified = False
     self.showQuery()
예제 #8
0
 def __init__(self, parent, data, fgindex):
     QW.__init__(self, QW.VIEW_DIAG, parent._control, None, fgindex)
     self._currentItem = 0
     self._filterItems = {}
     self.bClose.clicked.connect(self.reject)
     self.bExpandAll.clicked.connect(self.expand)
     self.bInfo.clicked.connect(self.infoDiagView)
     self.bCollapseAll.clicked.connect(self.collapse)
     self.bPrevious.clicked.connect(self.previousfiltered)
     self.bNext.clicked.connect(self.nextfiltered)
     self.cWarnings.clicked.connect(self.warnings)
     self.bSave.clicked.connect(self.diagnosticssave)
     self.bWhich.clicked.connect(self.grammars)
     self.cFilter.currentIndexChanged[int].connect(self.filterChange)
     # QObject.connect(self.cFilter,
     #                 SIGNAL("currentIndexChanged(int)"),
     #                 self.filterChange)
     self._data = data
     self._parent = parent
     self.diagTable.keyPressEvent = self.diagTableKeyPressEvent
     self.filterChange()
예제 #9
0
파일: wquery.py 프로젝트: wperkins/pyCGNS
 def __init__(self, parent, model, fgindex):
     Q7Window.__init__(self, Q7Window.VIEW_SELECT,
                       parent._control, None, fgindex)
     self.bClose.clicked.connect(self.reject)
     self._parent = parent
     self._model = model
     self._data = model.getSelected()
     self._tb = self.selectionTable
     self.bSave.clicked.connect(self.selectionsave)
     self.bInfo.clicked.connect(self.infoSelectView)
     self.cShowPath.stateChanged.connect(self.colCheck)
     self.cShowSIDS.stateChanged.connect(self.colCheck)
     # QObject.connect(self.cShowPath,
     #                SIGNAL("stateChanged(int)"),self.colCheck)
     # QObject.connect(self.cShowSIDS,
     #                SIGNAL("stateChanged(int)"),self.colCheck)
     self.bFirst.clicked.connect(self.sClear)
     self._tb.setItemDelegate(Q7SelectionItemDelegate(self, self.FG.model))
     self.bRemoveToSelect.clicked.connect(self.sRemove)
     self.bReverse.clicked.connect(self.sReverse)
     self.bSelectAll.clicked.connect(self.sAll)
     self.bUnselectAll.clicked.connect(self.sClear)
예제 #10
0
 def __init__(self, control, fgprintindexA, fgprintindexB, diag):
     Q7Window.__init__(self, Q7Window.VIEW_DIFF, control, None,
                       fgprintindexA)
     self._depthExpanded = 0
     self._lastEntered = None
     self._fgidxA = fgprintindexA
     self._fgidxB = fgprintindexB
     ldiag = self.diagAnalysis(diag)
     self.treeviewA.expanded[QModelIndex].connect(self.expandNode)
     self.treeviewA.collapsed.connect(self.collapseNode)
     self.treeviewA.clicked[QModelIndex].connect(self.clickedNode)
     self.treeviewA.customContextMenuRequested[QPoint].connect(
         self.clickedNode)
     self.treeviewB.expanded[QModelIndex].connect(self.expandNode)
     self.treeviewB.collapsed.connect(self.collapseNode)
     self.treeviewB.clicked[QModelIndex].connect(self.clickedNode)
     self.treeviewB.customContextMenuRequested[QPoint].connect(
         self.clickedNode)
     # QObject.connect(self.treeviewA,
     #                 SIGNAL("expanded(QModelIndex)"),
     #                 self.expandNode)
     # QObject.connect(self.treeviewA,
     #                 SIGNAL("collapsed()"),
     #                 self.collapseNode)
     # QObject.connect(self.treeviewA,
     #                 SIGNAL("clicked(QModelIndex)"),
     #                 self.clickedNode)
     # QObject.connect(self.treeviewA,
     #                 SIGNAL("customContextMenuRequested(QPoint)"),
     #                 self.clickedNode)
     # QObject.connect(self.treeviewB,
     #                 SIGNAL("expanded(QModelIndex)"),
     #                 self.expandNode)
     # QObject.connect(self.treeviewB,
     #                 SIGNAL("collapsed()"),
     #                 self.collapseNode)
     # QObject.connect(self.treeviewB,
     #                 SIGNAL("clicked(QModelIndex)"),
     #                 self.clickedNode)
     # QObject.connect(self.treeviewB,
     #                 SIGNAL("customContextMenuRequested(QPoint)"),
     #                 self.clickedNode)
     # QObject.connect(self.bLockScroll,
     #                 SIGNAL("clicked()"),
     #                 self.syncScrolls)
     self.bLockScroll.clicked.connect(self.syncScrolls)
     self.bClose.clicked.connect(self.leave)
     self.bInfo.clicked.connect(self.infoTreeView)
     self.bZoomIn.clicked.connect(self.expandLevel)
     self.bZoomOut.clicked.connect(self.collapseLevel)
     self.bZoomAll.clicked.connect(self.expandMinMax)
     self.bSaveDiff.clicked.connect(self.savediff)
     self.setContextMenuPolicy(Qt.CustomContextMenu)
     self.popupmenu = QMenu()
     self.proxyA = Q7DiffTreeModel(self._fgidxA)
     self.proxyB = Q7DiffTreeModel(self._fgidxB)
     self.proxyA.setDiag(ldiag)
     self.proxyB.setDiag(ldiag)
     self.treeviewA.setModel(self.proxyA)
     self.treeviewB.setModel(self.proxyB)
     fga = Q7FingerPrint.getByIndex(self._fgidxA)
     fgb = Q7FingerPrint.getByIndex(self._fgidxB)
     model_a = fga.model
     model_b = fgb.model
     self.treeviewA.setItemDelegate(
         Q7DiffItemDelegate(self.treeviewA, model_a, ldiag))
     self.treeviewB.setItemDelegate(
         Q7DiffItemDelegate(self.treeviewB, model_b, ldiag))
     self.treeviewA.setControlWindow(self, model_a)
     self.treeviewB.setControlWindow(self, model_b)
     self.treeviewA.hideColumn(NMT.COLUMN_FLAG_LINK)
     self.treeviewA.hideColumn(NMT.COLUMN_FLAG_CHECK)
     self.treeviewA.hideColumn(NMT.COLUMN_FLAG_SELECT)
     self.treeviewA.hideColumn(NMT.COLUMN_FLAG_USER)
     self.treeviewB.hideColumn(NMT.COLUMN_FLAG_LINK)
     self.treeviewB.hideColumn(NMT.COLUMN_FLAG_CHECK)
     self.treeviewB.hideColumn(NMT.COLUMN_FLAG_SELECT)
     self.treeviewB.hideColumn(NMT.COLUMN_FLAG_USER)
     self.wvsa = self.treeviewA.verticalScrollBar()
     self.wvsb = self.treeviewB.verticalScrollBar()
     self.uvsa = self.verticalScrollBarA
     self.uvsb = self.verticalScrollBarB
     self.uvsa.setToolTip("%s/%s" % (fga.filedir, fga.filename))
     self.uvsb.setToolTip("%s/%s" % (fgb.filedir, fgb.filename))
     self.syncScrolls(True)
예제 #11
0
파일: wtree.py 프로젝트: ogiorgis/pyCGNS
    def __init__(self, control, path, fgprintindex):
        Q7Window.__init__(self, Q7Window.VIEW_TREE, control, path, fgprintindex)
        self._depthExpanded = 0
        self._lastEntered = None
        self.lastdiag = None
        self._linkwindow = None
        self._querywindow = None
        self._vtkwindow = None
        self._selectwindow = None
        self._column = {NMT.COLUMN_SIDS: OCTXT.ShowSIDSColumn,
                        NMT.COLUMN_FLAG_LINK: OCTXT.ShowLinkColumn,
                        NMT.COLUMN_FLAG_SELECT: OCTXT.ShowSelectColumn,
                        NMT.COLUMN_FLAG_CHECK: OCTXT.ShowCheckColumn,
                        NMT.COLUMN_FLAG_USER: OCTXT.ShowUserColumn,
                        NMT.COLUMN_SHAPE: OCTXT.ShowShapeColumn,
                        NMT.COLUMN_DATATYPE: OCTXT.ShowDataTypeColumn}
        self.selectForLinkSrc = None  # one link source per tree view allowed

        #self.treeview.expanded[QModelIndex].connect(self.expandNode)
        self.treeview.collapsed.connect(self.collapseNode)
        self.treeview.pressed[QModelIndex].connect(self.clickedPressedNode)
        self.treeview.customContextMenuRequested.connect(self.clickedNode)

        # QObject.connect(self.treeview,
        #                SIGNAL("expanded(QModelIndex)"),
        #                self.expandNode)
        # QObject.connect(self.treeview,
        #                SIGNAL("collapsed()"),
        #                self.collapseNode)
        # QObject.connect(self.treeview,
        #                SIGNAL("pressed(QModelIndex)"),
        #                self.clickedPressedNode)
        # QObject.connect(self.treeview,
        #                SIGNAL("customContextMenuRequested(QPoint)"),
        #                self.clickedNode)

        self.bSave.clicked.connect(self.savetree)
        self.lockable(self.bSave)
        self.bQueryView.clicked.connect(self.queryview)
        self.lockable(self.bQueryView)
        self.bSaveAs.clicked.connect(self.savetreeas)
        self.lockable(self.bSaveAs)
        self.bInfo.clicked.connect(self.infoTreeView)
        self.bZoomIn.clicked.connect(self.expandLevel)
        self.bZoomOut.clicked.connect(self.collapseLevel)
        self.bZoomAll.clicked.connect(self.expandMinMax)
        self.bFormView.clicked.connect(self.formview)
        self.bMarkAll.clicked.connect(self.markall)
        self.bUnmarkAll_1.clicked.connect(self.unmarkall)
        self.bUnmarkAll_2.clicked.connect(self.unmarkall)
        self.bPreviousMark.clicked.connect(self.previousmark)
        self.bNextMark.clicked.connect(self.nextmark)
        self.bSwapMarks.clicked.connect(self.swapmarks)
        self.bMarksAsList.clicked.connect(self.selectionlist)
        self.bVTKView.clicked.connect(self.vtkview)
        self.lockable(self.bVTKView)
        self.bScreenShot.clicked.connect(self.screenshot)
        self.bCheck.clicked.connect(self.check)
        self.bCheckList.clicked.connect(self.checklist)
        self.bClearChecks.clicked.connect(self.clearchecks)
        self.bLinkView.clicked.connect(self.linklist)
        self.bPatternView.clicked.connect(self.patternlist)
        self.bToolsView.clicked.connect(self.tools)
        self.setContextMenuPolicy(Qt.CustomContextMenu)
        self.popupmenu = QMenu()
        self.diagview = None
        lmodel = self.FG.model
        self.treeview.setModel(lmodel)
        self.treeview.setItemDelegate(Q7TreeItemDelegate(self.treeview, lmodel))
        self.treeview.setControlWindow(self, self.FG.index)
        if (self._control.transientRecurse or OCTXT.RecursiveTreeDisplay):
            self.expandMinMax()
        if (self._control.transientVTK): self.vtkview()
        self._control.transientRecurse = False
        self._control.transientVTK = False
        self.clearchecks()
        #
        self.bCheckList.setDisabled(True)
        if (not OCTXT._HasProPackage):
            self.bToolsView.setDisabled(True)
        self.bCheckView.setDisabled(True)
        self.bPatternDB.setDisabled(True)
        self.bAddLink.clicked.connect(self.linkadd)
        self.bSelectLinkSrc.clicked.connect(self.linkselectsrc)
        self.bSelectLinkDst.clicked.connect(self.linkselectdst)
        self.bAddLink.setDisabled(True)
        self.lineEdit.returnPressed.connect(self.jumpToNode)
        # QObject.connect(self.lineEdit,
        #                SIGNAL("returnPressed()"),
        #                self.jumpToNode)
        tvh = self.treeview.header()
        tvh.setContextMenuPolicy(Qt.CustomContextMenu)
        tvh.customContextMenuRequested.connect(self.headerMenu)
        self._hmenu = QMenu()
        self._hmenu._idx = {}
        self._tlist = (('SIDS type', NMT.COLUMN_SIDS),
                       ('Link flag', NMT.COLUMN_FLAG_LINK),
                       ('Mark flag', NMT.COLUMN_FLAG_SELECT),
                       ('Check flag', NMT.COLUMN_FLAG_CHECK),
                       ('User flag', NMT.COLUMN_FLAG_USER),
                       ('Shape', NMT.COLUMN_SHAPE),
                       ('Data type', NMT.COLUMN_DATATYPE))
        for (tag, idx) in self._tlist:
            a = QAction(tag, self._hmenu, checkable=True)
            self._hmenu._idx[idx] = a
            if (self._column[idx]):
                a.setChecked(True)
            else:
                a.setChecked(False)
            self._hmenu.addAction(a)
            self.treeview.setColumnHidden(idx, not self._column[idx])
        self._recursiveAddNewNode = False
        self.updateTreeStatus()
예제 #12
0
 def __init__(self, parent, data, fgprint):
     Q7Window.__init__(self, Q7Window.VIEW_INFO, parent, None, None)
     self.bClose.clicked.connect(self.reject)
     self.bInfo.clicked.connect(self.infoInfoView)
     self._fgprint = fgprint
     self._data = data
예제 #13
0
파일: wtools.py 프로젝트: ogiorgis/pyCGNS
 def __init__(self, parent, fgprint, master):
     Q7Window.__init__(self, Q7Window.VIEW_TOOLS, parent, None, None)
     self.bClose.clicked.connect(self.reject)
     self.bInfo.clicked.connect(self.infoToolsView)
     self.bDiff.clicked.connect(self.diffAB)
     self.bMerge.clicked.connect(self.mergeAB)
     self._master = master
     self._fgprint = fgprint
     self._model = fgprint.model
     self._treeview = master.treeview
     self.cGroup.currentIndexChanged.connect(self.fillqueries)
     if HAS_PY2:
         self.cQuery.currentTextChanged[unicode].connect(self.checkquery)
     else:
         self.cQuery.currentTextChanged[str].connect(self.checkquery)
     # QObject.connect(self.cGroup,
     #                SIGNAL("currentIndexChanged(int)"),
     #                self.fillqueries)
     # QObject.connect(self.cQuery,
     #                SIGNAL("valueChanged(int)"),
     #                self.checkquery)
     qlist = Q7Query.queriesNamesList()
     qlist.sort()
     for q in qlist:
         self.cQuery.addItem(q)
     gqlist = Q7Query.queriesGroupsList()
     for gq in gqlist:
         self.cGroup.addItem(gq)
     # ix=-1#self.cQuery.findText()self.querymodel.getCurrentQuery())
     # if (ix!=-1): self.cQuery.setCurrentIndex(ix)
     self.bApply.clicked.connect(self.applyquery)
     pal = self.bApplyBox.palette()
     pal.setColor(QPalette.WindowText, QColor('red'))
     self.bApplyBox.setPalette(pal)
     self.lockable(self.bApply)
     self.bOperateDoc.clicked.connect(self.querydoc)
     self.bRunSearch.clicked.connect(self.runsearch)
     if self._control.query is not None:
         ix = self.cQuery.findText(self._control.query,
                                   flags=Qt.MatchStartsWith)
         if ix != -1:
             self.cQuery.setCurrentIndex(ix)
         self.applyquery()
         self.selectionlist()
     self.sLevel.valueChanged[int].connect(self.updateCriteria)
     if HAS_PY2:
         self.cSIDStype.editTextChanged[unicode].connect(
             self.updateSIDStypeEntry)
     else:
         self.cSIDStype.editTextChanged[str].connect(
             self.updateSIDStypeEntry)
     # QObject.connect(self.sLevel,
     #                SIGNAL("valueChanged(int)"),
     #                self.updateCriteria)
     # QObject.connect(self.cSIDStype,
     #                SIGNAL("editTextChanged(QString)"),
     #                self.updateSIDStypeEntry)
     self.criteria = []
     for l in range(3):
         self.criteria.append(Q7Criteria())
         self.criteria[-1].name = ''
         self.criteria[-1].sidstype = ''
         self.criteria[-1].value = ''
         self.criteria[-1].shape = ''
         self.criteria[-1].rgx_name = False
         self.criteria[-1].not_name = False
         self.criteria[-1].rgx_sids = False
         self.criteria[-1].not_sids = False
     self.criteria[0].title = 'Ancestor criteria'
     self.criteria[1].title = 'Current node criteria'
     self.criteria[2].title = 'Children criteria'
     self.previousLevel = 1
     self.cSIDStype.addItems([''] + CGK.cgnstypes)
     self.cDataType.addItems([''] + list(CGK.adftypes))
     self.updateCriteria()