Beispiel #1
0
def taurusTrendDlgMain():
    from taurus.qt.qtgui.application import TaurusApplication
    import taurus.core
    import sys

    # prepare options
    parser = taurus.core.util.argparse.get_taurus_parser()
    parser.set_usage("%prog [options] <model>")
    parser.set_description(
        'a Taurus application for plotting trends of scalars')
    parser.add_option("-x", "--x-axis-mode", dest="x_axis_mode", default='t', metavar="t|d|e",
                      help="interpret X values as timestamps (t), time deltas (d) or event numbers (e). Accepted values: t|d|e")
    parser.add_option("-b", "--buffer", dest="max_buffer_size", default='10000',
                      help="maximum number of values to be plotted (when reached, the oldest values will be discarded)")
    parser.add_option("-a", "--use-archiving",
                      action="store_true", dest="use_archiving", default=False)
    parser.add_option("--demo", action="store_true", dest="demo",
                      default=False, help="show a demo of the widget")
    parser.add_option("--window-name", dest="window_name",
                      default="Taurus Trend", help="Name of the window")
    app = TaurusApplication(
        cmd_line_parser=parser, app_name="Taurus Trend", app_version=taurus.Release.version)
    args = app.get_command_line_args()
    options = app.get_command_line_options()

    # check & process options
    stackModeMap = dict(t='datetime', d='deltatime', e='event')
    if options.x_axis_mode.lower() not in stackModeMap:
        parser.print_help(sys.stderr)
        sys.exit(1)

    stackMode = stackModeMap[options.x_axis_mode.lower()]

    if options.use_archiving:
        raise NotImplementedError('Archiving support is not yet implemented')

    if options.demo:
        args.append('eval:rand()')

    taurusparam = TaurusTrendParam()
    taurusparam.stackMode = stackMode
    taurusparam.maxBufferSize = int(options.max_buffer_size)
    taurusparam.useArchiving = options.use_archiving

    w = TaurusTrendDialog(wintitle=options.window_name,
                          taurusparam=taurusparam)

    # set model
    if len(args) > 0:
        w.setModel(args)
    else:
        parser.print_help(sys.stderr)
        sys.exit(1)

    w.show()
    sys.exit(app.exec_())
Beispiel #2
0
 def __init__(self,
              parent=None,
              designMode=False,
              taurusparam=None,
              toolbar=True,
              **kwargs):
     '''see :class:`guiqwt.plot.CurveDialog` for other valid initialization parameters'''
     CurveDialog.__init__(self, parent=parent, toolbar=toolbar, **kwargs)
     TaurusBaseWidget.__init__(self, 'TaurusTrendDialog')
     self.deprecated(rel='4.1',
                     dep='TaurusTrendDialog',
                     alt='TaurusTrend / taurus tpg trend launcher')
     self.setWindowFlags(Qt.Qt.Widget)
     self._designMode = designMode
     self._modelNames = CaselessList()
     from guiqwt.styles import style_generator
     self.style = style_generator()
     self.setSupportedMimeTypes(
         [TAURUS_MODEL_LIST_MIME_TYPE, TAURUS_ATTR_MIME_TYPE])
     from taurus.qt.qtgui.extra_guiqwt.tools import TaurusModelChooserTool, AutoScrollTool
     self.add_tool(TaurusModelChooserTool, singleModel=False)
     self.add_tool(AutoScrollTool)
     self.setModifiableByUser(self._modifiableByUser)
     if taurusparam is None:
         taurusparam = TaurusTrendParam()
     self.defaultTaurusparam = taurusparam
     self.setContextMenuPolicy(Qt.Qt.CustomContextMenu)
     self.registerConfigDelegate(self.get_tool(AutoScrollTool))