def __init__(self, gw, dataitem, cellspec={}, **opts): browsers.GriddedPlugin.__init__(self, gw, dataitem, cellspec=cellspec) _dprint(1, "started with", dataitem.udi, dataitem.data) self._has_data = False self.rid = 0 self.c00 = 0. self._wtop = QHBox(self.wparent()) self._parmlist = [] self._solverdict = {} self._parmdict = {} #all names off the nodes except parms self._nodedict = {} self._currentparm = None self._request = None self.swapsort = True self.sorted = 0 # Initialize subscribe state self._callbackparm = curry(self._update_parmlist) self._callbacksolver = curry(self._update_solverlist) self.parmtable = QTable(self._wtop, "parmtable") QWhatsThis.add(self._wtop, parmfiddler_instructions) self.parmtable.setShowGrid(False) self.parmtable.setFocusStyle(QTable.FollowStyle) self.parmtable.setSelectionMode(QTable.MultiRow) self._menu = QPopupMenu(self.parmtable) self._menu.insertItem(pixmaps.publish.iconset(), "Publish", self.publish_selected) self._menu.insertItem(pixmaps.table.iconset(), "Funklet", self.parmSelected) tooltip = "invert publishing of all selected rows" QToolTip.add(self._menu, tooltip) tooltip = "Double Click to get complete funklet, right mouse for more options" QToolTip.add(self.parmtable, tooltip) QObject.connect(self.parmtable, SIGNAL("selectionChanged()"), self.parmSetIndex) QObject.connect(self.parmtable, SIGNAL("doubleClicked(int, int, int, const QPoint &)"), self.parmSelected) QObject.connect(self.parmtable, SIGNAL("clicked(int, int, int, const QPoint &)"), self.parmClicked) QObject.connect( self.parmtable, SIGNAL("contextMenuRequested ( int, int, const QPoint &)"), self.rightMouse) self.sliderframe = QVBox(self.wtop()) # self.c00frame = QHBox(self.sliderframe); self.labelParm = QLabel("no parm selected", self.sliderframe, "labelParm") self.c00Text = QLabel(self.sliderframe, "c00text") tooltip = "Selected Parm" QToolTip.add(self.labelParm, tooltip) alignment = Qt.AlignLeft | Qt.SingleLine self.c00Text.setAlignment(alignment) self.labelParm.setAlignment(alignment) style = QFrame.StyledPanel | QFrame.Sunken self.c00Text.setFrameStyle(style) self.slider1 = QSlider(self.sliderframe, "slider1") tooltip = "Adjust c00 of selected Parm and reexecute" QToolTip.add(self.slider1, tooltip) self.slider1.setMinValue(-50) self.slider1.setMaxValue(50) self.slider1.setTickInterval(5) self.slider1.setTickmarks(QSlider.Both) self.slider1.setTracking(True) self.slider1.setEnabled(False) QObject.connect(self.slider1, SIGNAL("valueChanged(int)"), self.changeC00Text) QObject.connect(self.slider1, SIGNAL("sliderReleased()"), self.updateC00) self.spinframe = QHBox(self.sliderframe) self.labelSpin = QLabel("stepsize:", self.spinframe, "labelSpin") self.stepsizeList = QComboBox(False, self.spinframe, "stepsizeList") tooltip = "Adjust stepsize of slider" QToolTip.add(self.stepsizeList, tooltip) QObject.connect(self.stepsizeList, SIGNAL("activated(int)"), self.changeStepsize) self.fillstepsizelist() self.stepsize = 1. self.enable_exec = QCheckBox("reexecute", self.sliderframe, "enable_exec") tooltip = "If checked, node is executed after change" QToolTip.add(self.enable_exec, tooltip) self.enable_exec.setEnabled(False) self.enable_multi = QCheckBox("multi", self.sliderframe, "multi") tooltip = "If checked, multiple parms can be adjusted at the same time" QToolTip.add(self.enable_multi, tooltip) self.enable_multi.setEnabled(True) self.enable_multi.setChecked(True) QObject.connect(self.enable_multi, SIGNAL("clicked()"), self.toggle_multi) self.ButtonFrame = QHBox(self.sliderframe) self.buttonOk = QPushButton(self.ButtonFrame, "buttonOk") self.buttonOk.setText('Execute') tooltip = "executes node" QToolTip.add(self.buttonOk, tooltip) self.buttonReset = QPushButton(self.ButtonFrame, "buttonReset") self.buttonReset.setText('Zero') tooltip = "sets all coefficients of selected Parm to 0" QToolTip.add(self.buttonReset, tooltip) self.buttonOk.setEnabled(False) self.buttonReset.setEnabled(False) QObject.connect(self.buttonOk, SIGNAL("clicked()"), self.do_reexecute) QObject.connect(self.buttonReset, SIGNAL("clicked()"), self.resetfunklet) # form a caption and set contents (name, ni) = meqds.parse_node_udi(dataitem.udi) caption = "Fiddle from <b>%s</b>" % (name or '#' + str(ni), ) self._node = ni self._name = name # setup widgets self.set_widgets(self.wtop(), caption, icon=self.icon()) if dataitem.data is not None: self.set_data(dataitem)
def __init__(self, gw, dataitem, cellspec={}, **opts): browsers.GriddedPlugin.__init__(self, gw, dataitem, cellspec=cellspec) _dprint(1, "started with", dataitem.udi, dataitem.data) self._has_data = False self.rid = 0 self.c00 = 0.0 self._wtop = QHBox(self.wparent()) self._parmlist = [] self._solverdict = {} self._parmdict = {} # all names off the nodes except parms self._nodedict = {} self._currentparm = None self._request = None self.swapsort = True self.sorted = 0 # Initialize subscribe state self._callbackparm = curry(self._update_parmlist) self._callbacksolver = curry(self._update_solverlist) self.parmtable = QTable(self._wtop, "parmtable") QWhatsThis.add(self._wtop, parmfiddler_instructions) self.parmtable.setShowGrid(False) self.parmtable.setFocusStyle(QTable.FollowStyle) self.parmtable.setSelectionMode(QTable.MultiRow) self._menu = QPopupMenu(self.parmtable) self._menu.insertItem(pixmaps.publish.iconset(), "Publish", self.publish_selected) self._menu.insertItem(pixmaps.table.iconset(), "Funklet", self.parmSelected) tooltip = "invert publishing of all selected rows" QToolTip.add(self._menu, tooltip) tooltip = "Double Click to get complete funklet, right mouse for more options" QToolTip.add(self.parmtable, tooltip) QObject.connect(self.parmtable, SIGNAL("selectionChanged()"), self.parmSetIndex) QObject.connect(self.parmtable, SIGNAL("doubleClicked(int, int, int, const QPoint &)"), self.parmSelected) QObject.connect(self.parmtable, SIGNAL("clicked(int, int, int, const QPoint &)"), self.parmClicked) QObject.connect(self.parmtable, SIGNAL("contextMenuRequested ( int, int, const QPoint &)"), self.rightMouse) self.sliderframe = QVBox(self.wtop()) # self.c00frame = QHBox(self.sliderframe); self.labelParm = QLabel("no parm selected", self.sliderframe, "labelParm") self.c00Text = QLabel(self.sliderframe, "c00text") tooltip = "Selected Parm" QToolTip.add(self.labelParm, tooltip) alignment = Qt.AlignLeft | Qt.SingleLine self.c00Text.setAlignment(alignment) self.labelParm.setAlignment(alignment) style = QFrame.StyledPanel | QFrame.Sunken self.c00Text.setFrameStyle(style) self.slider1 = QSlider(self.sliderframe, "slider1") tooltip = "Adjust c00 of selected Parm and reexecute" QToolTip.add(self.slider1, tooltip) self.slider1.setMinValue(-50) self.slider1.setMaxValue(50) self.slider1.setTickInterval(5) self.slider1.setTickmarks(QSlider.Both) self.slider1.setTracking(True) self.slider1.setEnabled(False) QObject.connect(self.slider1, SIGNAL("valueChanged(int)"), self.changeC00Text) QObject.connect(self.slider1, SIGNAL("sliderReleased()"), self.updateC00) self.spinframe = QHBox(self.sliderframe) self.labelSpin = QLabel("stepsize:", self.spinframe, "labelSpin") self.stepsizeList = QComboBox(False, self.spinframe, "stepsizeList") tooltip = "Adjust stepsize of slider" QToolTip.add(self.stepsizeList, tooltip) QObject.connect(self.stepsizeList, SIGNAL("activated(int)"), self.changeStepsize) self.fillstepsizelist() self.stepsize = 1.0 self.enable_exec = QCheckBox("reexecute", self.sliderframe, "enable_exec") tooltip = "If checked, node is executed after change" QToolTip.add(self.enable_exec, tooltip) self.enable_exec.setEnabled(False) self.enable_multi = QCheckBox("multi", self.sliderframe, "multi") tooltip = "If checked, multiple parms can be adjusted at the same time" QToolTip.add(self.enable_multi, tooltip) self.enable_multi.setEnabled(True) self.enable_multi.setChecked(True) QObject.connect(self.enable_multi, SIGNAL("clicked()"), self.toggle_multi) self.ButtonFrame = QHBox(self.sliderframe) self.buttonOk = QPushButton(self.ButtonFrame, "buttonOk") self.buttonOk.setText("Execute") tooltip = "executes node" QToolTip.add(self.buttonOk, tooltip) self.buttonReset = QPushButton(self.ButtonFrame, "buttonReset") self.buttonReset.setText("Zero") tooltip = "sets all coefficients of selected Parm to 0" QToolTip.add(self.buttonReset, tooltip) self.buttonOk.setEnabled(False) self.buttonReset.setEnabled(False) QObject.connect(self.buttonOk, SIGNAL("clicked()"), self.do_reexecute) QObject.connect(self.buttonReset, SIGNAL("clicked()"), self.resetfunklet) # form a caption and set contents (name, ni) = meqds.parse_node_udi(dataitem.udi) caption = "Fiddle from <b>%s</b>" % (name or "#" + str(ni),) self._node = ni self._name = name # setup widgets self.set_widgets(self.wtop(), caption, icon=self.icon()) if dataitem.data is not None: self.set_data(dataitem)
def __init__(self, gw, dataitem, cellspec={}, **opts): self.rid1 = 0 self.rid2 = 0 self.rid3 = 0 self.rid4 = 0 browsers.GriddedPlugin.__init__(self, gw, dataitem, cellspec=cellspec) _dprint(1, "started with", dataitem.udi, dataitem.data) self._has_data = False self._request = None self._wtop = QVBox(self.wparent()) udi_root = dataitem.udi if not udi_root.endswith('/request'): # not a direct request object udi_root += '/request' self.reqView = browsers.HierBrowser(self.wtop(), "", "", udi_root=udi_root) QObject.connect(self.reqView.wtop(), PYSIGNAL("displayDataItem()"), self.wtop(), PYSIGNAL("displayDataItem()")) self.reqView.set_refresh_func(dataitem.refresh_func) buttonbox = QHBox(self.wtop()) self.buttonDef = QPushButton(buttonbox, "buttonDef") self.buttonDef.setText('&NewRequest') self.buttonLoop = QPushButton(buttonbox, "buttonLoop") self.buttonLoop.setText('&Loop') self.doLoop = False self.buttonOk = QPushButton(buttonbox, "buttonOk") self.buttonOk.setText("&Execute") self.buttonOk.setIconSet(pixmaps.reexecute.iconset()) self.buttonOk.setAccel(Qt.ALT + Qt.Key_E) buttonRefresh = QPushButton(buttonbox, "buttonRefresh") buttonRefresh.setText("&Refresh") buttonRefresh.setIconSet(pixmaps.refresh.iconset()) buttonRefresh.setAccel(Qt.ALT + Qt.Key_R) QObject.connect(self.buttonDef, SIGNAL("clicked()"), self._newreq) QObject.connect(self.buttonLoop, SIGNAL("clicked()"), self._startLoop) QObject.connect(self.buttonOk, SIGNAL("clicked()"), self._reexecute) QObject.connect(buttonRefresh, SIGNAL("clicked()"), self.wtop(), PYSIGNAL("refresh()")) QObject.connect(self.wtop(), PYSIGNAL("refresh()"), self._refresh) ### refresh initially disabled, until we get data in self.buttonOk.setEnabled(0) # form a caption and set contents (name, ni) = meqds.parse_node_udi(dataitem.udi) caption = "Reexecute <b>%s</b>" % (name or '#' + str(ni), ) self._node = ni self._name = name # setup widgets self.set_widgets(self.wtop(), caption, icon=self.icon()) # connect font signal QObject.connect(self.wtop(), PYSIGNAL("fontChanged()"), self.reqView.wtop(), PYSIGNAL("fontChanged()")) # add menu entry context_menu = self.cell_menu() if context_menu is not None: context_menu.insertSeparator() menu = browsers.PrecisionPopupMenu( context_menu, prec=self.reqView.get_precision()) context_menu.insertItem(pixmaps.precplus.iconset(), 'Number format', menu) QWidget.connect(menu,PYSIGNAL("setPrecision()"),\ self.reqView.set_precision) # set data if dataitem.data is not None: self.set_data(dataitem)
def __init__(self,gw,dataitem,cellspec={},**opts): self.rid1 = 0 self.rid2 = 0 self.rid3 = 0 self.rid4 = 0 browsers.GriddedPlugin.__init__(self,gw,dataitem,cellspec=cellspec); _dprint(1,"started with",dataitem.udi,dataitem.data); self._has_data = False; self._request = None; self._wtop = QVBox(self.wparent()); udi_root = dataitem.udi; if not udi_root.endswith('/request'): # not a direct request object udi_root += '/request'; self.reqView = browsers.HierBrowser(self.wtop(),"","",udi_root=udi_root); QObject.connect(self.reqView.wtop(),PYSIGNAL("displayDataItem()"), self.wtop(),PYSIGNAL("displayDataItem()")); self.reqView.set_refresh_func(dataitem.refresh_func); buttonbox = QHBox(self.wtop()); self.buttonDef = QPushButton(buttonbox, "buttonDef") self.buttonDef.setText('&NewRequest') self.buttonLoop = QPushButton(buttonbox, "buttonLoop"); self.buttonLoop.setText('&Loop'); self.doLoop = False; self.buttonOk = QPushButton(buttonbox,"buttonOk"); self.buttonOk.setText("&Execute"); self.buttonOk.setIconSet(pixmaps.reexecute.iconset()); self.buttonOk.setAccel(Qt.ALT+Qt.Key_E); buttonRefresh = QPushButton(buttonbox,"buttonRefresh"); buttonRefresh.setText("&Refresh"); buttonRefresh.setIconSet(pixmaps.refresh.iconset()); buttonRefresh.setAccel(Qt.ALT+Qt.Key_R); QObject.connect(self.buttonDef,SIGNAL("clicked()"),self._newreq); QObject.connect(self.buttonLoop,SIGNAL("clicked()"),self._startLoop) QObject.connect(self.buttonOk,SIGNAL("clicked()"),self._reexecute); QObject.connect(buttonRefresh,SIGNAL("clicked()"), self.wtop(),PYSIGNAL("refresh()")); QObject.connect(self.wtop(),PYSIGNAL("refresh()"),self._refresh); ### refresh initially disabled, until we get data in self.buttonOk.setEnabled(0); # form a caption and set contents (name,ni) = meqds.parse_node_udi(dataitem.udi); caption = "Reexecute <b>%s</b>" % (name or '#'+str(ni),); self._node = ni; self._name = name; # setup widgets self.set_widgets(self.wtop(),caption,icon=self.icon()); # connect font signal QObject.connect(self.wtop(),PYSIGNAL("fontChanged()"), self.reqView.wtop(),PYSIGNAL("fontChanged()")); # add menu entry context_menu = self.cell_menu(); if context_menu is not None: context_menu.insertSeparator(); menu = browsers.PrecisionPopupMenu(context_menu,prec=self.reqView.get_precision()); context_menu.insertItem(pixmaps.precplus.iconset(),'Number format',menu); QWidget.connect(menu,PYSIGNAL("setPrecision()"),\ self.reqView.set_precision); # set data if dataitem.data is not None: self.set_data(dataitem);