Scroll Module area instead of replacing widgets
Change-Id: Id06eaabee294e032a71e7b28255a9b818763737e Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30638 Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de> Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de> Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
This commit is contained in:
parent
23c9aa6038
commit
d8621bdc2c
@ -102,12 +102,12 @@ class ModuleItem(QTreeWidgetItem):
|
||||
|
||||
|
||||
class ModuleOverview(QTreeWidget):
|
||||
itemChanged = pyqtSignal(str, str, str, str)
|
||||
# current module/param, prev module/param
|
||||
itemChanged = pyqtSignal(str, str)
|
||||
def __init__(self, node, parent=None):
|
||||
super().__init__(parent)
|
||||
self._node = node
|
||||
self._modules = {}
|
||||
self.last_was_clear = False
|
||||
|
||||
#self.setHeaderHidden(True)
|
||||
#self.setChildIndicatorPolicy(QTreeWidgetItem.DontShowIndicator)
|
||||
@ -145,15 +145,7 @@ class ModuleOverview(QTreeWidget):
|
||||
return super().mouseReleaseEvent(event)
|
||||
|
||||
def handleCurrentItemChanged(self, current, previous):
|
||||
if previous is None or self.last_was_clear:
|
||||
pmod = ''
|
||||
pparam = ''
|
||||
self.last_was_clear = False
|
||||
else:
|
||||
pmod = previous.module
|
||||
pparam = previous.param or ''
|
||||
cparam = current.param or ''
|
||||
self.itemChanged.emit(current.module, cparam, pmod, pparam)
|
||||
self.itemChanged.emit(current.module, current.param or '')
|
||||
|
||||
def setToDisconnected(self):
|
||||
for module in self._modules.values():
|
||||
@ -184,8 +176,6 @@ class ModuleOverview(QTreeWidget):
|
||||
selected = self.selectedItems()
|
||||
if not selected:
|
||||
return
|
||||
prev = selected[0]
|
||||
pmod, pparam = prev.module, prev.param
|
||||
self.clearSelection()
|
||||
self.itemChanged.emit('', '', pmod, pparam)
|
||||
self.itemChanged.emit('', '')
|
||||
self.last_was_clear = True
|
||||
|
@ -6,7 +6,6 @@ from frappy.gui.qt import QCursor, QFont, QFontMetrics, QIcon, QInputDialog, \
|
||||
toHtmlEscaped
|
||||
|
||||
from frappy.errors import SECoPError
|
||||
from frappy.gui.modulectrl import ModuleCtrl
|
||||
from frappy.gui.moduleoverview import ModuleOverview
|
||||
from frappy.gui.modulewidget import ModuleWidget
|
||||
from frappy.gui.paramview import ParameterView
|
||||
@ -98,7 +97,6 @@ class NodeWidget(QWidget):
|
||||
|
||||
self.detailed = False
|
||||
self._modules = OrderedDict()
|
||||
self._detailedModules = {}
|
||||
self._detailedParams = {}
|
||||
self._activePlots = {}
|
||||
|
||||
@ -127,16 +125,10 @@ class NodeWidget(QWidget):
|
||||
widget.showDetails(self.detailed)
|
||||
self.noPlots.connect(widget.plotsPresent)
|
||||
self._modules[module] = widget
|
||||
details = ModuleCtrl(node, module)
|
||||
self._detailedModules[module] = details
|
||||
viewLayout.addWidget(details)
|
||||
details.setHidden(True)
|
||||
self._detailedParams[module] = {}
|
||||
for param in node.getParameters(module):
|
||||
view = ParameterView(node, module, param)
|
||||
self._detailedParams[module][param] = view
|
||||
view.setHidden(True)
|
||||
viewLayout.addWidget(view)
|
||||
viewLayout.addWidget(widget)
|
||||
|
||||
self._initNodeInfo()
|
||||
@ -178,24 +170,14 @@ class NodeWidget(QWidget):
|
||||
def getSecNode(self):
|
||||
return self._node
|
||||
|
||||
def changeViewContent(self, module, param, prevmod, prevparam):
|
||||
if prevmod == '':
|
||||
for mod in self._modules.values():
|
||||
mod.setHidden(True)
|
||||
elif prevparam == '':
|
||||
self._detailedModules[prevmod].setHidden(True)
|
||||
def changeViewContent(self, module, param):
|
||||
if module == '' and param == '':
|
||||
return # for now, don't do anything when resetting selection
|
||||
if param == '':
|
||||
self.view.ensureWidgetVisible(self._modules[module])
|
||||
else:
|
||||
self._detailedParams[prevmod][prevparam].setHidden(True)
|
||||
if module == '':
|
||||
# no module -> reset to overview
|
||||
for mod in self._modules.values():
|
||||
mod.setHidden(False)
|
||||
elif param == '':
|
||||
# set to single module view
|
||||
self._detailedModules[module].setHidden(False)
|
||||
else:
|
||||
# set to single param view
|
||||
self._detailedParams[module][param].setHidden(False)
|
||||
pw = self._modules[module]._paramWidgets[param][0]
|
||||
self.view.ensureWidgetVisible(pw)
|
||||
|
||||
def _treeContextMenu(self, pos):
|
||||
index = self.tree.indexAt(pos)
|
||||
|
Loading…
x
Reference in New Issue
Block a user