[taurus] 02/06: Imported Upstream version 3.6.0+dfsg
Frédéric-Emmanuel Picca
picca at moszumanska.debian.org
Sun Jul 26 09:39:52 UTC 2015
This is an automated email from the git hooks/post-receive script.
picca pushed a commit to branch master
in repository taurus.
commit 44698d50ccd5b3f58a28decb50079f92742d84b1
Author: Picca Frédéric-Emmanuel <picca at debian.org>
Date: Fri Jul 24 17:38:33 2015 +0200
Imported Upstream version 3.6.0+dfsg
---
PKG-INFO | 13 +-
doc/auto_rst4api.py | 4 +-
doc/buildmock.py | 336 +++++++++++++++++
doc/man/tau2taurus.1 | 6 +-
doc/man/taurusconfigbrowser.1 | 6 +-
doc/man/tauruscurve.1 | 6 +-
doc/man/taurusdemo.1 | 4 +-
doc/man/taurusdesigner.1 | 6 +-
doc/man/taurusdevicepanel.1 | 6 +-
doc/man/taurusdoc.1 | 6 +-
doc/man/taurusform.1 | 6 +-
doc/man/taurusgui.1 | 6 +-
doc/man/taurusimage.1 | 6 +-
doc/man/tauruspanel.1 | 6 +-
doc/man/taurusplot.1 | 6 +-
doc/man/taurusremotelogmonitor.1 | 4 +-
doc/man/taurustrend.1 | 6 +-
doc/man/taurustrend1d.1 | 6 +-
doc/man/taurustrend2d.1 | 6 +-
doc/man/taurusui.1 | 4 +-
doc/man/taurusuic4.1 | 6 +-
doc/mock.zip | Bin 0 -> 2128510 bytes
doc/source/_static/taurus_showcase01.png | Bin 0 -> 293767 bytes
doc/source/_static/taurusgui-extapp.png | Bin 0 -> 30118 bytes
doc/source/_templates/layout.html | 8 +-
doc/source/conf.py | 77 +++-
doc/source/contents.rst | 18 -
doc/source/docs.rst | 22 ++
doc/source/index.html | 11 -
doc/source/index.rst | 78 ++--
doc/source/sphinxext/taurusextension.py | 4 +-
doc/source/users/getting_started.rst | 18 +-
doc/source/users/introduction.rst | 6 +-
doc/source/users/ui/forms.rst | 4 +-
doc/source/users/ui/plot.rst | 2 +-
doc/source/users/ui/taurusgui.rst | 30 ++
doc/thumbnails.zip | Bin 0 -> 881911 bytes
lib/taurus/__init__.py | 4 +-
lib/taurus/console/__init__.py | 4 +-
lib/taurus/console/enums.py | 4 +-
lib/taurus/console/list.py | 4 +-
lib/taurus/console/table.py | 4 +-
lib/taurus/console/util/__init__.py | 4 +-
lib/taurus/core/__init__.py | 4 +-
lib/taurus/core/epics/__init__.py | 4 +-
lib/taurus/core/epics/epicsfactory.py | 4 +-
lib/taurus/core/evaluation/__init__.py | 4 +-
lib/taurus/core/evaluation/dev_example.py | 4 +-
lib/taurus/core/evaluation/evalfactory.py | 4 +-
lib/taurus/core/evaluation/ipap_example.py | 4 +-
lib/taurus/core/init_bkcomp.py | 4 +-
lib/taurus/core/init_lightweight.py | 4 +-
lib/taurus/core/release.py | 17 +-
lib/taurus/core/resource/__init__.py | 4 +-
lib/taurus/core/resource/resfactory.py | 4 +-
lib/taurus/core/simulation/__init__.py | 4 +-
lib/taurus/core/simulation/simfactory.py | 4 +-
lib/taurus/core/tango/__init__.py | 4 +-
lib/taurus/core/tango/enums.py | 4 +-
lib/taurus/core/tango/img/__init__.py | 7 +-
lib/taurus/core/tango/img/img.py | 31 +-
lib/taurus/core/tango/search.py | 4 +-
lib/taurus/core/tango/starter.py | 16 +-
lib/taurus/core/tango/tangoattribute.py | 8 +-
lib/taurus/core/tango/tangoconfiguration.py | 4 +-
lib/taurus/core/tango/tangodatabase.py | 4 +-
lib/taurus/core/tango/tangodevice.py | 4 +-
lib/taurus/core/tango/tangofactory.py | 4 +-
lib/taurus/core/taurusattribute.py | 4 +-
lib/taurus/core/taurusbasetypes.py | 4 +-
lib/taurus/core/taurusconfiguration.py | 4 +-
lib/taurus/core/taurusdatabase.py | 4 +-
lib/taurus/core/taurusdevice.py | 12 +-
lib/taurus/core/taurusexception.py | 4 +-
lib/taurus/core/taurusfactory.py | 4 +-
lib/taurus/core/taurushelper.py | 4 +-
lib/taurus/core/tauruslistener.py | 4 +-
lib/taurus/core/taurusmanager.py | 4 +-
lib/taurus/core/taurusmodel.py | 4 +-
lib/taurus/core/taurusoperation.py | 4 +-
lib/taurus/core/tauruspollingtimer.py | 8 +-
lib/taurus/core/taurusvalidator.py | 4 +-
lib/taurus/core/util/__init__.py | 4 +-
lib/taurus/core/util/argparse/__init__.py | 4 +-
lib/taurus/core/util/argparse/taurusargparse.py | 4 +-
lib/taurus/core/util/codecs.py | 18 +-
lib/taurus/core/util/colors.py | 4 +-
lib/taurus/core/util/console.py | 4 +-
lib/taurus/core/util/constant.py | 4 +-
lib/taurus/core/util/containers.py | 4 +-
lib/taurus/core/util/decorator/decorator.py | 4 +-
lib/taurus/core/util/decorator/deprecated.py | 4 +-
lib/taurus/core/util/decorator/memoize.py | 4 +-
lib/taurus/core/util/decorator/typecheck.py | 4 +-
lib/taurus/core/util/enumeration.py | 4 +-
lib/taurus/core/util/event.py | 4 +-
lib/taurus/core/util/eventfilters.py | 4 +-
lib/taurus/core/util/excepthook.py | 4 +-
lib/taurus/core/util/init_bkcomp.py | 4 +-
lib/taurus/core/util/init_lightweight.py | 4 +-
lib/taurus/core/util/lock.py | 4 +-
lib/taurus/core/util/log.py | 4 +-
lib/taurus/core/util/object.py | 4 +-
lib/taurus/core/util/prop.py | 4 +-
lib/taurus/core/util/property_parser.py | 4 +-
lib/taurus/core/util/propertyfile.py | 4 +-
lib/taurus/core/util/remotelogmonitor.py | 4 +-
lib/taurus/core/util/report/__init__.py | 4 +-
lib/taurus/core/util/report/report.py | 4 +-
lib/taurus/core/util/safeeval.py | 4 +-
lib/taurus/core/util/singleton.py | 4 +-
lib/taurus/core/util/sourcecode.py | 4 +-
lib/taurus/core/util/tablepprint.py | 4 +-
lib/taurus/core/util/tb.py | 4 +-
.../graphic/jdraw => core/util}/test/__init__.py | 7 +-
lib/taurus/core/util/test/test_codecs.py | 4 +-
lib/taurus/core/util/test/test_timer.py | 4 +-
lib/taurus/core/util/threadpool.py | 95 +++--
lib/taurus/core/util/timer.py | 4 +-
lib/taurus/core/util/user.py | 4 +-
lib/taurus/core/util/whichexecutable.py | 4 +-
lib/taurus/core/util/wrap.py | 4 +-
lib/taurus/core/utils/__init__.py | 4 +-
lib/taurus/external/__init__.py | 4 +-
lib/taurus/external/argparse/__init__.py | 4 +-
lib/taurus/external/enum/__init__.py | 4 +-
lib/taurus/external/ordereddict/__init__.py | 4 +-
lib/taurus/external/pint/__init__.py | 4 +-
lib/taurus/external/qt/Qt.py | 4 +-
lib/taurus/external/qt/QtCore.py | 4 +-
lib/taurus/external/qt/QtDesigner.py | 4 +-
lib/taurus/external/qt/QtGui.py | 4 +-
lib/taurus/external/qt/QtHelp.py | 4 +-
lib/taurus/external/qt/QtNetwork.py | 4 +-
lib/taurus/external/qt/QtSvg.py | 4 +-
lib/taurus/external/qt/QtUiTools.py | 4 +-
lib/taurus/external/qt/QtWebKit.py | 4 +-
lib/taurus/external/qt/Qwt5.py | 4 +-
lib/taurus/external/qt/__init__.py | 4 +-
lib/taurus/external/qt/uic.py | 4 +-
lib/taurus/external/test/__init__.py | 4 +-
lib/taurus/external/test/test_qt.py | 13 +-
lib/taurus/external/unittest/__init__.py | 4 +-
lib/taurus/qt/Qt.py | 4 +-
lib/taurus/qt/QtCore.py | 4 +-
lib/taurus/qt/QtDesigner.py | 4 +-
lib/taurus/qt/QtGui.py | 4 +-
lib/taurus/qt/QtNetwork.py | 4 +-
lib/taurus/qt/QtSvg.py | 4 +-
lib/taurus/qt/QtUiTools.py | 4 +-
lib/taurus/qt/QtWebKit.py | 4 +-
lib/taurus/qt/Qwt5.py | 4 +-
lib/taurus/qt/__init__.py | 4 +-
lib/taurus/qt/qtcore/__init__.py | 4 +-
lib/taurus/qt/qtcore/communication/__init__.py | 4 +-
.../qt/qtcore/communication/communication.py | 4 +-
lib/taurus/qt/qtcore/configuration/__init__.py | 4 +-
.../qt/qtcore/configuration/configuration.py | 4 +-
lib/taurus/qt/qtcore/mimetypes/__init__.py | 4 +-
lib/taurus/qt/qtcore/mimetypes/mimetypes.py | 4 +-
lib/taurus/qt/qtcore/model/__init__.py | 4 +-
lib/taurus/qt/qtcore/model/taurusdatabasemodel.py | 4 +-
lib/taurus/qt/qtcore/model/taurusmodel.py | 4 +-
lib/taurus/qt/qtcore/tango/__init__.py | 4 +-
lib/taurus/qt/qtcore/taurusqlistener.py | 4 +-
lib/taurus/qt/qtcore/util/__init__.py | 4 +-
lib/taurus/qt/qtcore/util/emitter.py | 2 +-
lib/taurus/qt/qtcore/util/properties.py | 4 +-
lib/taurus/qt/qtcore/util/tauruslog.py | 4 +-
lib/taurus/qt/qtdesigner/__init__.py | 4 +-
lib/taurus/qt/qtdesigner/containerplugin.py | 4 +-
lib/taurus/qt/qtdesigner/extraguiqwtplugin.py | 4 +-
lib/taurus/qt/qtdesigner/taurusdesigner.py | 4 +-
lib/taurus/qt/qtdesigner/taurusplugin/__init__.py | 4 +-
.../qt/qtdesigner/taurusplugin/taurusplugin.py | 4 +-
lib/taurus/qt/qtdesigner/tauruspluginplugin.py | 4 +-
lib/taurus/qt/qtgui/__init__.py | 4 +-
lib/taurus/qt/qtgui/application/__init__.py | 4 +-
.../qt/qtgui/application/taurusapplication.py | 4 +-
lib/taurus/qt/qtgui/base/__init__.py | 4 +-
lib/taurus/qt/qtgui/base/taurusbase.py | 4 +-
lib/taurus/qt/qtgui/base/tauruscontroller.py | 4 +-
lib/taurus/qt/qtgui/base/taurusqattribute.py | 4 +-
lib/taurus/qt/qtgui/button/__init__.py | 4 +-
lib/taurus/qt/qtgui/button/qbuttonbox.py | 4 +-
lib/taurus/qt/qtgui/button/taurusbutton.py | 4 +-
lib/taurus/qt/qtgui/button/test/__init__.py | 4 +-
lib/taurus/qt/qtgui/button/test/res/__init__.py | 4 +-
.../qt/qtgui/button/test/test_taurusbutton.py | 4 +-
lib/taurus/qt/qtgui/compact/__init__.py | 4 +-
lib/taurus/qt/qtgui/compact/abstractswitcher.py | 4 +-
lib/taurus/qt/qtgui/compact/basicswitcher.py | 4 +-
lib/taurus/qt/qtgui/console/__init__.py | 4 +-
lib/taurus/qt/qtgui/console/taurusconsole.py | 4 +-
.../qt/qtgui/console/taurusconsoleapplication.py | 4 +-
.../qt/qtgui/console/taurusconsoleextensions.py | 4 +-
.../qt/qtgui/console/taurusconsolefactory.py | 4 +-
lib/taurus/qt/qtgui/console/taurusconsolewidget.py | 4 +-
lib/taurus/qt/qtgui/console/taurusconsolewindow.py | 4 +-
lib/taurus/qt/qtgui/container/__init__.py | 4 +-
lib/taurus/qt/qtgui/container/qcontainer.py | 4 +-
.../qt/qtgui/container/taurusbasecontainer.py | 4 +-
lib/taurus/qt/qtgui/container/taurusframe.py | 4 +-
lib/taurus/qt/qtgui/container/taurusgroupbox.py | 4 +-
lib/taurus/qt/qtgui/container/taurusgroupwidget.py | 4 +-
lib/taurus/qt/qtgui/container/taurusmainwindow.py | 73 +++-
lib/taurus/qt/qtgui/container/taurusscrollarea.py | 4 +-
lib/taurus/qt/qtgui/container/tauruswidget.py | 4 +-
lib/taurus/qt/qtgui/dialog/__init__.py | 4 +-
.../qt/qtgui/dialog/taurusconfigurationdialog.py | 4 +-
lib/taurus/qt/qtgui/dialog/taurusinputdialog.py | 4 +-
lib/taurus/qt/qtgui/dialog/taurusmessagebox.py | 4 +-
lib/taurus/qt/qtgui/display/__init__.py | 4 +-
lib/taurus/qt/qtgui/display/demo/__init__.py | 4 +-
.../qt/qtgui/display/demo/qpixmapwidgetdemo.py | 4 +-
.../qt/qtgui/display/demo/tauruslabeldemo.py | 4 +-
lib/taurus/qt/qtgui/display/demo/tauruslcddemo.py | 4 +-
lib/taurus/qt/qtgui/display/demo/taurusleddemo.py | 4 +-
lib/taurus/qt/qtgui/display/qfallback.py | 4 +-
lib/taurus/qt/qtgui/display/qled.py | 6 +-
lib/taurus/qt/qtgui/display/qlogo.py | 4 +-
lib/taurus/qt/qtgui/display/qpixmapwidget.py | 4 +-
lib/taurus/qt/qtgui/display/qsevensegment.py | 4 +-
lib/taurus/qt/qtgui/display/taurusboolled.py | 4 +-
lib/taurus/qt/qtgui/display/taurusconfiglabel.py | 4 +-
lib/taurus/qt/qtgui/display/tauruslabel.py | 4 +-
lib/taurus/qt/qtgui/display/tauruslcd.py | 4 +-
lib/taurus/qt/qtgui/display/tauruslcdvalue.py | 4 +-
lib/taurus/qt/qtgui/display/taurusled.py | 4 +-
lib/taurus/qt/qtgui/display/taurusstateled.py | 4 +-
lib/taurus/qt/qtgui/display/taurusvaluelabel.py | 4 +-
lib/taurus/qt/qtgui/display/test/__init__.py | 4 +-
.../qt/qtgui/display/test/test_tauruslabel.py | 6 +-
lib/taurus/qt/qtgui/editor/__init__.py | 4 +-
lib/taurus/qt/qtgui/editor/tauruseditor.py | 4 +-
lib/taurus/qt/qtgui/extra_guiqwt/__init__.py | 4 +-
lib/taurus/qt/qtgui/extra_guiqwt/builder.py | 4 +-
lib/taurus/qt/qtgui/extra_guiqwt/curve.py | 4 +-
lib/taurus/qt/qtgui/extra_guiqwt/curvesmodel.py | 4 +-
lib/taurus/qt/qtgui/extra_guiqwt/image.py | 10 +-
lib/taurus/qt/qtgui/extra_guiqwt/plot.py | 16 +-
lib/taurus/qt/qtgui/extra_guiqwt/styles.py | 4 +-
lib/taurus/qt/qtgui/extra_guiqwt/taurustrend2d.py | 4 +-
lib/taurus/qt/qtgui/extra_guiqwt/tools.py | 4 +-
.../qt/qtgui/extra_macroexecutor/__init__.py | 4 +-
lib/taurus/qt/qtgui/extra_nexus/__init__.py | 4 +-
.../qt/qtgui/extra_nexus/taurusnexuswidget.py | 4 +-
lib/taurus/qt/qtgui/extra_pool/__init__.py | 4 +-
lib/taurus/qt/qtgui/extra_sardana/__init__.py | 4 +-
lib/taurus/qt/qtgui/extra_xterm/__init__.py | 4 +-
lib/taurus/qt/qtgui/extra_xterm/qxtermwidget.py | 4 +-
lib/taurus/qt/qtgui/gauge/__init__.py | 4 +-
lib/taurus/qt/qtgui/gauge/demo/__init__.py | 4 +-
lib/taurus/qt/qtgui/gauge/demo/qmeterdemo.py | 4 +-
lib/taurus/qt/qtgui/gauge/qmeter.py | 4 +-
lib/taurus/qt/qtgui/gauge/taurusgauge.py | 4 +-
lib/taurus/qt/qtgui/graphic/__init__.py | 4 +-
lib/taurus/qt/qtgui/graphic/jdraw/__init__.py | 4 +-
lib/taurus/qt/qtgui/graphic/jdraw/jdraw.py | 4 +-
lib/taurus/qt/qtgui/graphic/jdraw/jdraw_parser.py | 4 +-
lib/taurus/qt/qtgui/graphic/jdraw/jdraw_view.py | 4 +-
lib/taurus/qt/qtgui/graphic/jdraw/test/__init__.py | 4 +-
.../qt/qtgui/graphic/jdraw/test/res/__init__.py | 4 +-
lib/taurus/qt/qtgui/graphic/taurusgraphic.py | 4 +-
lib/taurus/qt/qtgui/graphic/taurusgraphicview.py | 4 +-
lib/taurus/qt/qtgui/help/__init__.py | 4 +-
lib/taurus/qt/qtgui/help/aboutdialog.py | 4 +-
lib/taurus/qt/qtgui/help/assistant.py | 4 +-
lib/taurus/qt/qtgui/help/helppanel.py | 4 +-
lib/taurus/qt/qtgui/image/__init__.py | 4 +-
lib/taurus/qt/qtgui/image/taurusqub.py | 4 +-
lib/taurus/qt/qtgui/input/__init__.py | 4 +-
lib/taurus/qt/qtgui/input/choicedlg.py | 4 +-
lib/taurus/qt/qtgui/input/qwheel.py | 45 ++-
lib/taurus/qt/qtgui/input/tauruscheckbox.py | 4 +-
lib/taurus/qt/qtgui/input/tauruscombobox.py | 4 +-
lib/taurus/qt/qtgui/input/tauruslineedit.py | 4 +-
lib/taurus/qt/qtgui/input/taurusspinbox.py | 4 +-
lib/taurus/qt/qtgui/input/tauruswheel.py | 63 ++--
lib/taurus/qt/qtgui/model/__init__.py | 4 +-
lib/taurus/qt/qtgui/model/qbasemodel.py | 4 +-
lib/taurus/qt/qtgui/panel/__init__.py | 4 +-
lib/taurus/qt/qtgui/panel/qdataexportdialog.py | 33 +-
lib/taurus/qt/qtgui/panel/qdoublelist.py | 4 +-
lib/taurus/qt/qtgui/panel/qrawdatachooser.py | 4 +-
lib/taurus/qt/qtgui/panel/report/__init__.py | 4 +-
lib/taurus/qt/qtgui/panel/report/albareport.py | 4 +-
lib/taurus/qt/qtgui/panel/report/basicreport.py | 4 +-
.../qt/qtgui/panel/taurusattributechooser.py | 4 +-
lib/taurus/qt/qtgui/panel/taurusconfigbrowser.py | 4 +-
lib/taurus/qt/qtgui/panel/taurusconfigeditor.py | 4 +-
.../qt/qtgui/panel/taurusconfigurationpanel.py | 4 +-
lib/taurus/qt/qtgui/panel/taurusdevicepanel.py | 4 +-
lib/taurus/qt/qtgui/panel/taurusfilterpanel.py | 4 +-
lib/taurus/qt/qtgui/panel/taurusform.py | 4 +-
lib/taurus/qt/qtgui/panel/taurusinputpanel.py | 4 +-
lib/taurus/qt/qtgui/panel/taurusmessagepanel.py | 4 +-
lib/taurus/qt/qtgui/panel/taurusmodelchooser.py | 4 +-
lib/taurus/qt/qtgui/panel/taurusmodellist.py | 4 +-
lib/taurus/qt/qtgui/panel/taurusvalue.py | 6 +-
lib/taurus/qt/qtgui/panel/test/__init__.py | 4 +-
lib/taurus/qt/qtgui/panel/test/test_taurusform.py | 4 +-
lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py | 4 +-
lib/taurus/qt/qtgui/plot/__init__.py | 4 +-
lib/taurus/qt/qtgui/plot/arrayedit.py | 4 +-
lib/taurus/qt/qtgui/plot/curveStatsDlg.py | 4 +-
lib/taurus/qt/qtgui/plot/curveprops.py | 4 +-
.../qt/qtgui/plot/curvesAppearanceChooserDlg.py | 4 +-
lib/taurus/qt/qtgui/plot/monitor.py | 4 +-
lib/taurus/qt/qtgui/plot/qwtdialog.py | 6 +-
lib/taurus/qt/qtgui/plot/qwtplot.py | 4 +-
lib/taurus/qt/qtgui/plot/scales.py | 4 +-
lib/taurus/qt/qtgui/plot/taurusarrayedit.py | 4 +-
lib/taurus/qt/qtgui/plot/taurusplot.py | 81 +++--
lib/taurus/qt/qtgui/plot/taurusplotconf.py | 4 +-
lib/taurus/qt/qtgui/plot/taurustrend.py | 4 +-
lib/taurus/qt/qtgui/resource/__init__.py | 4 +-
.../qt/qtgui/resource/taurus_resource_utils.py | 4 +-
lib/taurus/qt/qtgui/style/__init__.py | 4 +-
lib/taurus/qt/qtgui/style/nebula.py | 4 +-
lib/taurus/qt/qtgui/table/__init__.py | 4 +-
lib/taurus/qt/qtgui/table/qdictionary.py | 4 +-
lib/taurus/qt/qtgui/table/qlogtable.py | 4 +-
lib/taurus/qt/qtgui/table/qtable.py | 4 +-
lib/taurus/qt/qtgui/table/taurusdbtable.py | 4 +-
.../qt/qtgui/table/taurusdevicepropertytable.py | 4 +-
lib/taurus/qt/qtgui/table/taurusgrid.py | 4 +-
lib/taurus/qt/qtgui/table/taurustable.py | 4 +-
lib/taurus/qt/qtgui/table/taurusvaluestable.py | 4 +-
lib/taurus/qt/qtgui/table/taurusvaluestable_ro.py | 4 +-
.../qt/qtgui/taurusgui/PermanentCustomPanelsDlg.py | 4 +-
lib/taurus/qt/qtgui/taurusgui/__init__.py | 4 +-
lib/taurus/qt/qtgui/taurusgui/appsettingswizard.py | 4 +-
lib/taurus/qt/qtgui/taurusgui/conf/__init__.py | 4 +-
lib/taurus/qt/qtgui/taurusgui/conf/gui_noconf.py | 4 +-
lib/taurus/qt/qtgui/taurusgui/conf/gui_pureconf.py | 4 +-
lib/taurus/qt/qtgui/taurusgui/conf/gui_selfconf.py | 4 +-
.../taurusgui/conf/tgconf_example01/__init__.py | 4 +-
.../taurusgui/conf/tgconf_example01/config.py | 4 +-
.../taurusgui/conf/tgconf_macrogui/__init__.py | 4 +-
.../qtgui/taurusgui/conf/tgconf_macrogui/config.py | 4 +-
lib/taurus/qt/qtgui/taurusgui/macrolistener.py | 4 +-
.../qt/qtgui/taurusgui/paneldescriptionwizard.py | 4 +-
lib/taurus/qt/qtgui/taurusgui/taurusgui.py | 169 ++++++++-
lib/taurus/qt/qtgui/taurusgui/utils.py | 4 +-
lib/taurus/qt/qtgui/test/__init__.py | 4 +-
lib/taurus/qt/qtgui/test/base.py | 13 +-
lib/taurus/qt/qtgui/tree/__init__.py | 4 +-
lib/taurus/qt/qtgui/tree/qtree.py | 4 +-
lib/taurus/qt/qtgui/tree/taurusdbtree.py | 4 +-
lib/taurus/qt/qtgui/tree/taurusdevicetree.py | 4 +-
lib/taurus/qt/qtgui/tree/taurustree.py | 4 +-
lib/taurus/qt/qtgui/util/__init__.py | 4 +-
lib/taurus/qt/qtgui/util/qdraganddropdebug.py | 4 +-
lib/taurus/qt/qtgui/util/taurusaction.py | 9 +-
lib/taurus/qt/qtgui/util/taurusactionfactory.py | 4 +-
lib/taurus/qt/qtgui/util/tauruscolor.py | 4 +-
lib/taurus/qt/qtgui/util/taurusropepatch.py | 4 +-
lib/taurus/qt/qtgui/util/taurusscreenshot.py | 4 +-
lib/taurus/qt/qtgui/util/tauruswidgetfactory.py | 4 +-
lib/taurus/qt/qtgui/util/tauruswidgettree.py | 4 +-
lib/taurus/qt/qtgui/util/test/__init__.py | 14 +-
lib/taurus/qt/qtgui/util/test/test_ui/__init__.py | 4 +-
.../test/test_ui/mywidget3}/__init__.py | 14 +-
.../util/test/test_ui/mywidget3/ui/MyWidget3.ui | 32 ++
lib/taurus/qt/qtgui/util/test/test_ui/test_ui.py | 19 +-
lib/taurus/qt/qtgui/util/ui.py | 13 +-
lib/taurus/qt/qtgui/util/widgetgen.py | 4 +-
lib/taurus/qt/qtopengl/__init__.py | 4 +-
lib/taurus/qt/uic/__init__.py | 4 +-
lib/taurus/qt/uic/pyuic4/taurus.py | 4 +-
lib/taurus/qt/uic/tau2taurus_map.py | 4 +-
lib/taurus/tauruscustomsettings.py | 4 +-
lib/taurus/test/__init__.py | 4 +-
lib/taurus/test/base.py | 4 +-
lib/taurus/test/fuzzytest.py | 4 +-
lib/taurus/test/moduleexplorer.py | 9 +-
lib/taurus/test/resource.py | 4 +-
lib/taurus/test/skip.py | 4 +-
lib/taurus/test/test_import.py | 4 +-
lib/taurus/test/testsuite.py | 4 +-
lib/taurus/web/__init__.py | 4 +-
lib/taurus/web/examples/tornado/demo.py | 4 +-
lib/taurus/web/examples/tornado/machinestatus.py | 4 +-
lib/taurus/web/taurustornado.py | 4 +-
setup.py | 398 ++++++++++++++-------
386 files changed, 2125 insertions(+), 1141 deletions(-)
diff --git a/PKG-INFO b/PKG-INFO
index dd677d3..5d9242e 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,15 +1,16 @@
Metadata-Version: 1.1
Name: taurus
-Version: 3.4.0
-Summary: A library designed to provide an abstraction layer over PyTango.
-Home-page: http://packages.python.org/taurus
+Version: 3.6.0
+Summary: A framework for scientific/industrial CLIs and GUIs
+Home-page: http://www.taurus-scada.org
Author: Carlos Pascual-Izarra
Author-email: cpascual at cells.es
License: LGPL
Download-URL: http://pypi.python.org/packages/source/t/taurus
-Description: Taurus stands for TAngo User interface 'R' US. It
- is a python framework for both CLI and GUI tango applications.
- It is build on top of PyTango and PyQt.
+Description: Taurus is a python framework for control and data
+ acquisition CLIs and GUIs in scientific/industrial environments.
+ It supports multiple control systems or data sources: Tango, EPICS, spec...
+ New control system libraries can be integrated through plugins.
Keywords: CLI,GUI,PyTango,Tango,Shell
Platform: Linux
Platform: Windows XP/2000/NT
diff --git a/doc/auto_rst4api.py b/doc/auto_rst4api.py
index 863a039..a21dbcb 100644
--- a/doc/auto_rst4api.py
+++ b/doc/auto_rst4api.py
@@ -3,9 +3,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/doc/buildmock.py b/doc/buildmock.py
new file mode 100644
index 0000000..acff6c4
--- /dev/null
+++ b/doc/buildmock.py
@@ -0,0 +1,336 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+#############################################################################
+##
+## This file is part of Taurus
+##
+## http://taurus-scada.org
+##
+## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
+##
+## Taurus is free software: you can redistribute it and/or modify
+## it under the terms of the GNU Lesser General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## Taurus is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with Taurus. If not, see <http://www.gnu.org/licenses/>.
+##
+###########################################################################
+
+# ----------------------------------------------------------------------------
+# This class also borrows much code from the build_mock_qt.py script from
+# qarbon (http://qarbon.rtfd.org/)
+#
+# Copyright (c) 2013 European Synchrotron Radiation Facility, Grenoble, France
+#
+# ----------------------------------------------------------------------------
+
+''' Creates a tree of dirs and restructured text stub files for documenting
+the API of a python module with sphinx'''
+
+from __future__ import with_statement
+
+import os
+import sys
+import glob
+import re
+import inspect
+import shutil
+
+# Define templates
+
+module_init_template = """\
+from __future__ import print_function
+
+{imports}
+
+class _MockMeta(type):
+ def __getattr__(self, name):
+ return _Mock()
+
+class _Mock(object):
+ __metaclass__ = _MockMeta
+ def __init__(self, *a, **kw):
+ object.__init__(self)
+ for k,v in kw.iteritems():
+ setattr(self, k, v)
+ def __getattr__(*a, **kw): return _Mock()
+ def __call__(*a, **kw): return _Mock()
+ def __getitem__(*a, **kw): return _Mock()
+ def __int__(*a, **kw): return 1
+ def __contains__(*a, **kw): return False
+ def __len__(*a, **kw): return 1
+ def __iter__(*a, **kw): return iter([])
+ def __exit__(*a, **kw): return False
+ def __complex__(*a, **kw): return 1j
+ def __float__(*a, **kw): return 1.0
+ def __bool__(*a, **kw): return True
+ def __nonzero__(*a, **kw): return True
+ def __oct__(*a, **kw): return 1
+ def __hex__(*a, **kw): return 0x1
+ def __long__(*a, **kw): return long(1)
+ def __index__(*a, **kw): return 1
+"""
+
+import_template = """import {name} as {asname}"""
+mock_template = """{name} = _Mock()"""
+
+klass_template = """\
+class {klass}({super_klass}):
+ pass
+{members}"""
+
+function_template = """def {function}(*a,**k): return _Mock()"""
+member_template = """ {name} = {value!r}"""
+constant_template = """{name} = {value!r}"""
+specialfloats_template = """{name} = float('{value!r}')"""
+
+
+def abspath(*path):
+ """A method to determine absolute path for a given relative path to the
+ directory where this .py script is located"""
+ this_dir = os.path.dirname(os.path.abspath(__file__))
+ return os.path.abspath(os.path.join(this_dir, *path))
+
+def _import(name):
+ __import__(name)
+ return sys.modules[name]
+
+def _is_pseudo_enum(obj):
+ if not isinstance(obj, int):
+ return False
+ try:
+ int(repr(obj))
+ return False
+ except:
+ return True
+
+def _is_special_float(obj):
+ if not isinstance(obj, float):
+ return False
+ return repr(obj) in ('inf', 'nan', '-inf')
+
+def _discard_element(name, exclude, include):
+ if name in include:
+ return False
+ return name in exclude or name.startswith("__")
+
+def build_class(k_name, k, exclude=(), include=()):
+ '''return the source text for a mock class based on a given class'''
+ methods = []
+ members = []
+
+ for element_name in dir(k):
+ if _discard_element(element_name, exclude, include):
+ continue
+ try:
+ element = getattr(k, element_name)
+ except AttributeError:
+ continue
+ if _is_special_float(element):
+ members.append(specialfloats_template.format(name=element_name,
+ value=element))
+ elif isinstance(element, (int, float, bool, str, unicode)):
+ try: # make sure that the repr makes sense
+ type(element)(repr(element))
+ except: # skip it (the _Mock.__getattr__ will deal with it)
+ continue
+ members.append(member_template.format(name=element_name,
+ value=element))
+ members = "\n".join(members)
+
+ klass_str = klass_template.format(klass=k_name,
+ super_klass='_Mock',
+ members=members)
+ return klass_str
+
+def build_module(module_name, imports=(), out_prefix='mock',
+ exclude=(), include=()):
+ '''generate a mock package for a given module'''
+ rel_dir = module_name.split(".")
+ abs_dir = abspath(out_prefix, *rel_dir)
+ if os.path.isdir(abs_dir):
+ return
+ os.makedirs(abs_dir)
+ module = _import(module_name)
+ fake_module_filename = os.path.join(abs_dir, "__init__.py")
+
+ klasses = []
+ constants = []
+ mocks = []
+ imports = set([import_template.format(name=m, asname=m) for m in imports])
+ for element_name in sorted(dir(module)):
+ if _discard_element(element_name, exclude, include):
+ continue
+ element = getattr(module, element_name)
+ # internal imports (from the same package)
+ if (inspect.ismodule(element) and
+ element.__name__.split('.')[0] == module_name.split('.')[0]):
+ # add the module to the imports set #@TODO: this does not work
+ #imports.add(import_template.format(name=element.__name__,
+ # asname=element_name))
+ # @todo: The above lines were commented because they created
+ # problems with circular imports. So for now we just mock them
+ mocks.append(mock_template.format(name=element_name))
+ # make sure that the module is built
+ build_module(element.__name__, imports=(),
+ out_prefix=out_prefix, exclude=exclude,
+ include=include)
+ # classes
+ elif inspect.isclass(element):
+ klasses.append(build_class(element_name, element,
+ exclude=exclude, include=include))
+ # inf, and NaN constants
+ elif _is_special_float(element):
+ constants.append(specialfloats_template.format(name=element_name,
+ value=element))
+ # enumerations-like objects
+ elif (_is_pseudo_enum(element)):
+ constants.append(mock_template.format(name=element_name))
+ # constants
+ elif isinstance(element, (int, float, bool, str, unicode)):
+ try: # make sure that the repr makes sense
+ type(element)(repr(element))
+ except: # cannot write anything better than a mock
+ constants.append(mock_template.format(name=element_name))
+ constants.append(constant_template.format(name=element_name,
+ value=element))
+ # final catch-all: it covers modules, functions and other elements
+ # that aren't caught by any of the above
+ elif (element_name not in imports):
+ mocks.append(mock_template.format(name=element_name))
+
+
+ imports = "\n".join(sorted(imports))
+
+ module_init = module_init_template.format(imports=imports)
+ mocks = "\n\n".join(mocks)
+ constants = "\n\n".join(constants)
+ klasses = "\n\n".join(klasses)
+ with open(fake_module_filename, "w") as f:
+ f.write(module_init)
+ f.write("\n\n")
+ f.write(mocks)
+ f.write("\n\n")
+ f.write(constants)
+ f.write("\n\n")
+ f.write(klasses)
+ f.write("\n\n")
+
+def guess_submodules_from_package(module_name, exclude=(), include=()):
+ '''returns a list of submodule names found in a given package name.
+ If module_name is not implemented as a package, it returns an empty list'''
+ if module_name in exclude:
+ return []
+ module = _import(module_name)
+ try:
+ modulefile = inspect.getfile(module)
+ except TypeError:
+ return []
+ if not (modulefile.endswith('__init__.py') or
+ modulefile.endswith('__init__.pyc') ):
+ return []
+
+ pkgdir, _ = os.path.split(modulefile)
+ # explore pkgdir to find subdirs with __init__.py files
+ g = glob.glob(os.path.join(pkgdir, '*', '__init__.py'))
+ names = [re.findall(r".+\/(.*)\/__init__.py", s)[0] for s in g]
+ # explore pkgdir to find .py files
+ g = glob.glob(os.path.join(pkgdir, '*.py'))
+ names += [re.findall(r".+\/(.*).py", s)[0] for s in g]
+ # explore pkgdir to find .pyc files
+ g = glob.glob(os.path.join(pkgdir, '*.pyc'))
+ names += [re.findall(r".+\/(.*).pyc", s)[0] for s in g]
+ # explore pkgdir to find .so files
+ g = glob.glob(os.path.join(pkgdir, '*.so'))
+ names += [re.findall(r".+\/(.*).so", s)[0] for s in g]
+ # build list with full module names and filter out non-importable submodules
+ full_module_names = []
+ for sm_name in names:
+ name = '.'.join((module_name, sm_name))
+ # skip __main__ and __init__, etc and excluded (unless included)
+ if ( name not in include and
+ (name in exclude or sm_name.startswith('__')) ):
+ continue
+ # check if the module is indeed importable
+ try:
+ print name
+ _import(name)
+ full_module_names.append(name)
+ except:
+ print '!'
+ pass
+ return full_module_names
+
+def build_full_module(module_name, exclude=(), include=(), out_prefix='mock'):
+ '''build a full mocked package (modules and submodules, recursively) for the
+ given module'''
+ rel_dir = module_name.split(".")
+ abs_dir = abspath(out_prefix, *rel_dir)
+ if os.path.isdir(abs_dir):
+ shutil.rmtree(abs_dir)
+
+ build_module(module_name, imports=(), exclude=exclude, include=include,
+ out_prefix=out_prefix)
+
+ #recursive call for submodules
+ for name in guess_submodules_from_package(module_name, exclude=exclude):
+ build_full_module(name, exclude=exclude, include=include,
+ out_prefix=out_prefix)
+
+def _zipdir(basedir, archivename):
+ '''function to zip directories. Adapted from:
+ http://stackoverflow.com/questions/296499
+ '''
+ from zipfile import ZipFile, ZIP_DEFLATED
+ from contextlib import closing
+ assert os.path.isdir(basedir)
+ with closing(ZipFile(archivename, "w", ZIP_DEFLATED)) as z:
+ for root, dirs, files in os.walk(basedir):
+ #NOTE: ignore empty directories
+ for fn in files:
+ absfn = os.path.join(root, fn)
+ zfn = absfn[len(basedir)+len(os.sep):] #XXX: relative path
+ z.write(absfn, zfn)
+
+def build_mocks_for_taurus(output='mock.zip'):
+ '''builds mocks for the packages required by taurus. The mocks are written
+ into the given output directory (or a zip file if output ends with ".zip")
+ '''
+ import sys
+ import tempfile
+
+ if output.endswith('.zip'):
+ zfile, outdir = output, tempfile.mkdtemp()
+ else:
+ zfile, outdir = None, output
+
+ module_names = ['PyTango', 'PyMca', 'numpy', 'PyQt4', 'sip', 'lxml',
+ 'guidata', 'guiqwt', 'spyderlib', 'IPython', 'ply']
+ #module_names = ['numpy']
+
+ exclude = ['exec', 'None',
+ 'spyderlib.scientific_startup',
+ 'spyderlib.spyder',
+ 'spyderlib.widgets.externalshell.start_ipython_kernel']
+ include = ['__version__']
+
+ for module_name in module_names:
+ build_full_module(module_name, exclude=exclude, include=include,
+ out_prefix=outdir)
+ if zfile:
+ _zipdir(outdir, zfile) # compress the dir into the zip file
+ shutil.rmtree(outdir) # delete the dir
+ print '\nMocks written in %s' % output
+
+
+
+if __name__ == "__main__":
+ build_mocks_for_taurus()
\ No newline at end of file
diff --git a/doc/man/tau2taurus.1 b/doc/man/tau2taurus.1
index 3826f0f..f415ee5 100644
--- a/doc/man/tau2taurus.1
+++ b/doc/man/tau2taurus.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAU2TAURUS "1" "February 2015" "tau2taurus 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAU2TAURUS "1" "July 2015" "tau2taurus 3.6.0" "User Commands"
.SH NAME
-tau2taurus \- manual page for tau2taurus 3.4.0
+tau2taurus \- manual page for tau2taurus 3.6.0
.SH SYNOPSIS
.B tau2taurus
[\fI\,options\/\fR] \fI\,inputfile\/\fR
diff --git a/doc/man/taurusconfigbrowser.1 b/doc/man/taurusconfigbrowser.1
index c82f435..b2faeb8 100644
--- a/doc/man/taurusconfigbrowser.1
+++ b/doc/man/taurusconfigbrowser.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUSCONFIGEDITOR "1" "February 2015" "taurusconfigeditor 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUSCONFIGEDITOR "1" "July 2015" "taurusconfigeditor 3.6.0" "User Commands"
.SH NAME
-taurusconfigeditor \- manual page for taurusconfigeditor 3.4.0
+taurusconfigeditor \- manual page for taurusconfigeditor 3.6.0
.SH SYNOPSIS
.B taurusconfigbrowser
[\fI\,options\/\fR] [\fI\,INIFILENAME\/\fR]
diff --git a/doc/man/tauruscurve.1 b/doc/man/tauruscurve.1
index 0c6aef4..bae0d51 100644
--- a/doc/man/tauruscurve.1
+++ b/doc/man/tauruscurve.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUS "1" "February 2015" "Taurus Curve Dialog 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUS "1" "July 2015" "Taurus Curve Dialog 3.6.0" "User Commands"
.SH NAME
-Taurus \- manual page for Taurus Curve Dialog 3.4.0
+Taurus \- manual page for Taurus Curve Dialog 3.6.0
.SH SYNOPSIS
.B tauruscurve
[\fI\,options\/\fR] [\fI\,<model1> \/\fR[\fI\,<model2>\/\fR] ...]
diff --git a/doc/man/taurusdemo.1 b/doc/man/taurusdemo.1
index dad6426..a4ecdf9 100644
--- a/doc/man/taurusdemo.1
+++ b/doc/man/taurusdemo.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUSDEMO "1" "February 2015" "taurusdemo 1.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUSDEMO "1" "July 2015" "taurusdemo 1.0" "User Commands"
.SH NAME
taurusdemo \- manual page for taurusdemo 1.0
.SH SYNOPSIS
diff --git a/doc/man/taurusdesigner.1 b/doc/man/taurusdesigner.1
index a1aecb3..a3670c9 100644
--- a/doc/man/taurusdesigner.1
+++ b/doc/man/taurusdesigner.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUSDESIGNER "1" "February 2015" "taurusdesigner 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUSDESIGNER "1" "July 2015" "taurusdesigner 3.6.0" "User Commands"
.SH NAME
-taurusdesigner \- manual page for taurusdesigner 3.4.0
+taurusdesigner \- manual page for taurusdesigner 3.6.0
.SH SYNOPSIS
.B taurusdesigner
[\fI\,options\/\fR] \fI\,<ui file(s)>\/\fR
diff --git a/doc/man/taurusdevicepanel.1 b/doc/man/taurusdevicepanel.1
index d699e04..898d80b 100644
--- a/doc/man/taurusdevicepanel.1
+++ b/doc/man/taurusdevicepanel.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUSDEVICEPANEL "1" "February 2015" "TaurusDevicePanel 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUSDEVICEPANEL "1" "July 2015" "TaurusDevicePanel 3.6.0" "User Commands"
.SH NAME
-TaurusDevicePanel \- manual page for TaurusDevicePanel 3.4.0
+TaurusDevicePanel \- manual page for TaurusDevicePanel 3.6.0
.SH SYNOPSIS
.B taurusdevicepanel
[\fI\,options\/\fR] [\fI\,devname \/\fR[\fI\,attrs\/\fR]]
diff --git a/doc/man/taurusdoc.1 b/doc/man/taurusdoc.1
index 15ccacb..cfbedb0 100644
--- a/doc/man/taurusdoc.1
+++ b/doc/man/taurusdoc.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUSDOC "1" "February 2015" "taurusdoc 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUSDOC "1" "July 2015" "taurusdoc 3.6.0" "User Commands"
.SH NAME
-taurusdoc \- manual page for taurusdoc 3.4.0
+taurusdoc \- manual page for taurusdoc 3.6.0
.SH SYNOPSIS
.B taurusdoc
[\fI\,options\/\fR]
diff --git a/doc/man/taurusform.1 b/doc/man/taurusform.1
index 21d7e70..fbc8a12 100644
--- a/doc/man/taurusform.1
+++ b/doc/man/taurusform.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUSFORM "1" "February 2015" "taurusform 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUSFORM "1" "July 2015" "taurusform 3.6.0" "User Commands"
.SH NAME
-taurusform \- manual page for taurusform 3.4.0
+taurusform \- manual page for taurusform 3.6.0
.SH SYNOPSIS
.B taurusform
[\fI\,options\/\fR] [\fI\,model1 \/\fR[\fI\,model2 \/\fR...]]
diff --git a/doc/man/taurusgui.1 b/doc/man/taurusgui.1
index 918d3a0..f2c699f 100644
--- a/doc/man/taurusgui.1
+++ b/doc/man/taurusgui.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUSGUI "1" "February 2015" "taurusgui 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUSGUI "1" "July 2015" "taurusgui 3.6.0" "User Commands"
.SH NAME
-taurusgui \- manual page for taurusgui 3.4.0
+taurusgui \- manual page for taurusgui 3.6.0
.SH SYNOPSIS
.B taurusgui
[\fI\,options\/\fR] \fI\,confname\/\fR
diff --git a/doc/man/taurusimage.1 b/doc/man/taurusimage.1
index 59ad39d..015d424 100644
--- a/doc/man/taurusimage.1
+++ b/doc/man/taurusimage.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUS "1" "February 2015" "Taurus Image Dialog 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUS "1" "July 2015" "Taurus Image Dialog 3.6.0" "User Commands"
.SH NAME
-Taurus \- manual page for Taurus Image Dialog 3.4.0
+Taurus \- manual page for Taurus Image Dialog 3.6.0
.SH SYNOPSIS
.B taurusimage
[\fI\,options\/\fR] \fI\,<model>\/\fR
diff --git a/doc/man/tauruspanel.1 b/doc/man/tauruspanel.1
index 80eecb2..20e3940 100644
--- a/doc/man/tauruspanel.1
+++ b/doc/man/tauruspanel.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUSPANEL "1" "February 2015" "tauruspanel 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUSPANEL "1" "July 2015" "tauruspanel 3.6.0" "User Commands"
.SH NAME
-tauruspanel \- manual page for tauruspanel 3.4.0
+tauruspanel \- manual page for tauruspanel 3.6.0
.SH SYNOPSIS
.B tauruspanel
[\fI\,options\/\fR] [\fI\,devname\/\fR]
diff --git a/doc/man/taurusplot.1 b/doc/man/taurusplot.1
index 61cebef..f3e4f21 100644
--- a/doc/man/taurusplot.1
+++ b/doc/man/taurusplot.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUSPLOT "1" "February 2015" "taurusplot 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUSPLOT "1" "July 2015" "taurusplot 3.6.0" "User Commands"
.SH NAME
-taurusplot \- manual page for taurusplot 3.4.0
+taurusplot \- manual page for taurusplot 3.6.0
.SH SYNOPSIS
.B taurusplot
[\fI\,options\/\fR] [\fI\,<model1> \/\fR[\fI\,<model2>\/\fR] ...]
diff --git a/doc/man/taurusremotelogmonitor.1 b/doc/man/taurusremotelogmonitor.1
index d0c8e6d..822084a 100644
--- a/doc/man/taurusremotelogmonitor.1
+++ b/doc/man/taurusremotelogmonitor.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUS "1" "February 2015" "Taurus remote logger 1.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUS "1" "July 2015" "Taurus remote logger 1.0" "User Commands"
.SH NAME
Taurus \- manual page for Taurus remote logger 1.0
.SH SYNOPSIS
diff --git a/doc/man/taurustrend.1 b/doc/man/taurustrend.1
index 13d372f..3ed406d 100644
--- a/doc/man/taurustrend.1
+++ b/doc/man/taurustrend.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUSTREND "1" "February 2015" "taurustrend 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUSTREND "1" "July 2015" "taurustrend 3.6.0" "User Commands"
.SH NAME
-taurustrend \- manual page for taurustrend 3.4.0
+taurustrend \- manual page for taurustrend 3.6.0
.SH SYNOPSIS
.B taurustrend
[\fI\,options\/\fR] [\fI\,<model1> \/\fR[\fI\,<model2>\/\fR] ...]
diff --git a/doc/man/taurustrend1d.1 b/doc/man/taurustrend1d.1
index 774fafb..206c71a 100644
--- a/doc/man/taurustrend1d.1
+++ b/doc/man/taurustrend1d.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUS "1" "February 2015" "Taurus Trend 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUS "1" "July 2015" "Taurus Trend 3.6.0" "User Commands"
.SH NAME
-Taurus \- manual page for Taurus Trend 3.4.0
+Taurus \- manual page for Taurus Trend 3.6.0
.SH SYNOPSIS
.B taurustrend1d
[\fI\,options\/\fR] \fI\,<model>\/\fR
diff --git a/doc/man/taurustrend2d.1 b/doc/man/taurustrend2d.1
index fa58089..14739b2 100644
--- a/doc/man/taurustrend2d.1
+++ b/doc/man/taurustrend2d.1
@@ -1,7 +1,7 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUS "1" "February 2015" "Taurus Trend 2D 3.4.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUS "1" "July 2015" "Taurus Trend 2D 3.6.0" "User Commands"
.SH NAME
-Taurus \- manual page for Taurus Trend 2D 3.4.0
+Taurus \- manual page for Taurus Trend 2D 3.6.0
.SH SYNOPSIS
.B taurustrend2d
[\fI\,options\/\fR] \fI\,<model>\/\fR
diff --git a/doc/man/taurusui.1 b/doc/man/taurusui.1
index 645a40f..3772368 100644
--- a/doc/man/taurusui.1
+++ b/doc/man/taurusui.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUSUI "1" "February 2015" "taurusui 1.0" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUSUI "1" "July 2015" "taurusui 1.0" "User Commands"
.SH NAME
taurusui \- manual page for taurusui 1.0
.SH SYNOPSIS
diff --git a/doc/man/taurusuic4.1 b/doc/man/taurusuic4.1
index 0383b74..aef93d2 100644
--- a/doc/man/taurusuic4.1
+++ b/doc/man/taurusuic4.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.4.
-.TH TAURUSUIC4 "1" "February 2015" "taurusuic4 *******************************************************************************" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6.
+.TH TAURUSUIC4 "1" "July 2015" "taurusuic4 *******************************************************************************" "User Commands"
.SH NAME
taurusuic4 \- manual page for taurusuic4 *******************************************************************************
.SH SYNOPSIS
@@ -44,4 +44,4 @@ generate an additional taurus python file
taurusuic4 is deprecated since SEP11 (http://sf.net/p/sardana/wiki/SEP11)
Consider using the taurus.qt.qtgui.util.UILoadable decorator instead
*******************************************************************************
-taurusuic4 3.4.0
+taurusuic4 3.6.0
diff --git a/doc/mock.zip b/doc/mock.zip
new file mode 100644
index 0000000..6dc47bf
Binary files /dev/null and b/doc/mock.zip differ
diff --git a/doc/source/_static/taurus_showcase01.png b/doc/source/_static/taurus_showcase01.png
new file mode 100644
index 0000000..aedfa7c
Binary files /dev/null and b/doc/source/_static/taurus_showcase01.png differ
diff --git a/doc/source/_static/taurusgui-extapp.png b/doc/source/_static/taurusgui-extapp.png
new file mode 100644
index 0000000..89f4697
Binary files /dev/null and b/doc/source/_static/taurusgui-extapp.png differ
diff --git a/doc/source/_templates/layout.html b/doc/source/_templates/layout.html
index 0243cb9..1eb1940 100644
--- a/doc/source/_templates/layout.html
+++ b/doc/source/_templates/layout.html
@@ -1,10 +1,10 @@
{% extends "sphinxdoc/layout.html" %}
{% block rootrellink %}
- <li><a href="{{ pathto('index') }}">home</a>| </li>
- <li><a href="{{ pathto('devel/examples') }}">examples</a>| </li>
- <li><a href="{{ pathto('users/screenshots') }}">screenshots</a>| </li>
- <li><a href="{{ pathto('contents') }}">documentation </a> »</li>
+ <li><a href="http://taurus-scada.org">home</a>| </li>
+ <li><a href="http://sourceforge.net/projects/sardana/">project</a>| </li>
+ <li><a href="https://pypi.python.org/pypi/taurus">download</a>| </li>
+ <li><a href="http://taurus.readthedocs.org">documentation </a> »</li>
{% endblock %}
{% block relbar1 %}
diff --git a/doc/source/conf.py b/doc/source/conf.py
index adc3fea..4691848 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -3,9 +3,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -24,6 +24,24 @@
##
##############################################################################
import sys, os
+
+
+# declare some useful absolute paths
+_this_dir = os.path.dirname(os.path.abspath(__file__))
+_setup_dir = os.path.abspath(os.path.join(_this_dir, os.path.pardir,
+ os.path.pardir))
+_lib_dir = os.path.join(_setup_dir, 'lib')
+_doc_dir = os.path.join(_setup_dir, 'doc')
+_api_dir = os.path.join(_doc_dir, 'source', 'devel', 'api')
+_mock_path = os.path.join(_doc_dir, 'mock.zip')
+
+
+# append mock dir to the sys path (mocks will be used if needed)
+sys.path.append(_mock_path)
+
+# Import code from src distribution
+sys.path.insert(0, os.path.abspath(_lib_dir))
+
import taurus
# If extensions (or modules to document with autodoc) are in another directory,
@@ -31,6 +49,59 @@ import taurus
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.append(os.path.abspath('sphinxext'))
+# -- RTD hack -----------------------------------------------------------------
+# This code is to allow RTD to build the catalog and the api
+# it has no effect on local builds
+
+on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
+if on_rtd:
+ import imp
+
+ def _build_catalog():
+ #import setup.py as a module
+ name = 'setup'
+ data = imp.find_module(name, [_setup_dir])
+ setupmod = imp.load_module(name, *data)
+ catalog = setupmod.build_catalog()
+ #build
+ fname = os.path.join(_doc_dir, 'source', 'devel', 'catalog.html')
+ catalog.fname = fname
+ catalog.builder_target_dir = _this_dir
+ catalog.thumbnails_source = os.path.join(_doc_dir, 'thumbnails.zip')
+ catalog.verbose = True
+ catalog.out = sys.stdout
+ catalog.run()
+
+ def _build_doc_api():
+ #import auto_rst4api from the doc dir
+ name = 'auto_rst4api'
+ data = imp.find_module(name, [_doc_dir])
+ auto_rst4api = imp.load_module(name, *data)
+ API_Creator = auto_rst4api.Auto_rst4API_Creator
+ # prepare api creator
+ excl = ['_[^\.]*[^_]', '.*.extra_sardana', '.*.extra_pool',
+ '.*.extra_macroexecutor', 'taurus.external']
+ rstCreator = API_Creator(exclude_patterns=excl,
+ templatespath=_doc_dir,
+ overwrite_old=True,
+ verbose=True)
+ # clean previously existing rst files
+ rstCreator.cleanAutogenerated(_api_dir)
+ # generate api
+ import taurus
+ r = rstCreator.documentModule('taurus', _api_dir)
+ # report
+ print("Auto Creation of API docs Finished with %i warnings:" % len(r))
+ for i in r:
+ print(i)
+
+ #build the api and the catalog
+ _build_catalog()
+ _build_doc_api()
+
+# ------------------------------------------------------------------------------
+
+
# -- General configuration -----------------------------------------------------
#autosummary_generate = True
@@ -243,7 +314,7 @@ intersphinx_mapping = {
'http://docs.python.org/dev': None,
'http://docs.scipy.org/doc/scipy/reference' : None,
'http://docs.scipy.org/doc/numpy' : None,
- 'http://www.tango-controls.org/static/PyTango/latest/doc/html' : None,
+ 'http://www.esrf.fr/computing/cs/tango/tango_doc/kernel_doc/pytango/latest/': None,
'http://pyqt.sourceforge.net/Docs/PyQt4/' : None,
}
diff --git a/doc/source/contents.rst b/doc/source/contents.rst
deleted file mode 100644
index c258839..0000000
--- a/doc/source/contents.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-
-.. currentmodule:: taurus
-
-.. _contents:
-
-========
-Contents
-========
-
-.. toctree::
- :maxdepth: 2
-
- users/index.rst
- devel/index.rst
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
\ No newline at end of file
diff --git a/doc/source/docs.rst b/doc/source/docs.rst
new file mode 100644
index 0000000..ad00e5b
--- /dev/null
+++ b/doc/source/docs.rst
@@ -0,0 +1,22 @@
+
+.. currentmodule:: taurus
+
+.. _docs:
+
+====================
+Taurus documentation
+====================
+Taurus is a free, open source, multi-platform pure Python module for creating
+and supporting Graphical User Interfaces for experiment control and data
+acquisition.
+
+.. toctree::
+ :maxdepth: 2
+
+ users/index.rst
+ devel/index.rst
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+
diff --git a/doc/source/index.html b/doc/source/index.html
deleted file mode 100644
index 2a3a9a5..0000000
--- a/doc/source/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!-- This is just a pypi redirection page.
- Is is not intended to be part of taurus documentation. -->
-<html>
-<head>
-<title>Taurus documentation</title>
-<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.tango-controls.org/static/taurus/latest/doc/html/index.html">
-<body>
-taurus documentation is too big to be hosted by PyPi.<br/>
-We are redirecting you the proper page.
-</body>
-</html>
diff --git a/doc/source/index.rst b/doc/source/index.rst
index afa4d59..53ba773 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -1,69 +1,57 @@
-.. Tau documentation master file, created by
- sphinx-quickstart on Thu Dec 10 10:39:03 2009.
- You can adapt this file completely to your liking, but it should at least
- contain the root `toctree` directive.
-Welcome to Taurus's |version| documentation!
+Welcome to Taurus's Home Page!
=============================================
- |image1| |image2| |image3|
+ |image1|
-.. sidebar:: Latest news
+Taurus is a python framework for control and data acquisition CLIs and GUIs
+in scientific/industrial environments.
+It supports multiple control systems or data sources: Tango_, EPICS_, spec...
+New control system libraries can be integrated through plugins.
- 2015-02-04
- Taurus 3.4.0 released!
-
- 2014-07-11
- Taurus 3.3.0 released!
-
- 2014-02-14
- Taurus 3.2.0 released!
+For non-programmers: Taurus allows the creation of fully-featured GUI (with
+forms, plots, synoptics, etc) from scratch in a few minutes using a "wizard",
+which can also be customized and expanded by drag-and-dropping elements
+around at execution time.
- 2013-07-25
- Taurus 3.1.0 released!
+For programmers: Taurus gives full control to more advanced users to create
+and customize CLIs and GUIs programmatically using Python and a very simple
+and economical API which abstracts data sources as "models".
- 2012-04-24
- Taurus 3.0.0 released!
+Of course, Taurus is Free Software (under LGPL). You can download it from PyPi_,
+access its Documentation_ or get support from its community and the latest code
+from the `project page <http://sourceforge.net/projects/sardana>`_.
- 2011-03-23
- Taurus 2.1.1 released!
+Projects related to Taurus
+---------------------------
+- Taurus uses PyQt_ for the GUIs (Pyside_ support planned)
+- Tango_ is supported vis PyTango_
+- Taurus is part of the Sardana_ suite
-Taurus is a python framework for both CLI and GUI tango applications. It is
-build on top of PyTango_ and PyQt_. Taurus stands for TAngo User interface 'R' US.
-Taurus was originally known as Tau. Since version 2 the name was
-changed to Taurus.
-
-An :ref:`introduction` guide will help you getting started with the basic taurus
-concepts.
-
-For sampling, see the :ref:`screenshots` and :ref:`examples` directory.
-
-.. |image1| image:: _static/taurusform_example02.png
- :align: middle
- :height: 180
-
-.. |image2| image:: _static/taurusplot03.png
- :align: middle
- :height: 180
-
-.. |image3| image:: _static/taurus_tree01.png
+.. |image1| image:: _static/taurus_showcase01.png
:align: middle
:height: 180
-
.. toctree::
:hidden:
- contents
+ Home Page <http://www.taurus-scada.org>
+ Project Page <http://sourceforge.net/projects/tauruslib>
+ Download from PyPI <http://pypi.python.org/pypi/taurus>
+ docs
:Last Update: |today|
.. _Tango: http://www.tango-controls.org/
.. _PyTango: http://packages.python.org/PyTango/
-.. _Qt: http://qt.nokia.com/products/
+.. _EPICS: http://www.aps.anl.gov/epics/
.. _PyQt: http://www.riverbankcomputing.co.uk/software/pyqt/
-.. _IPython: http://ipython.scipy.org/
-.. _ATK: http://www.tango-controls.org/Documents/gui/atk/tango-application-toolkit
+.. _Sardana: http://sardana-controls.org
+.. _PySide: http://pyside.org
+.. _LGPL: http://www.gnu.org/licenses/lgpl.html
+.. _PyPi: http://pypi.python.org/pypi/taurus
+.. _Documentation: http://taurus.readthedocs.org
+
diff --git a/doc/source/sphinxext/taurusextension.py b/doc/source/sphinxext/taurusextension.py
index cd7b993..4fe97aa 100644
--- a/doc/source/sphinxext/taurusextension.py
+++ b/doc/source/sphinxext/taurusextension.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/doc/source/users/getting_started.rst b/doc/source/users/getting_started.rst
index ca15592..bb758f3 100644
--- a/doc/source/users/getting_started.rst
+++ b/doc/source/users/getting_started.rst
@@ -69,24 +69,20 @@ necessary to run taurus on your windows machine
Working from Git
----------------
-Sometimes it is convenient to work directly from the git source without
-installing. Taurus code is hosted in a `subdirectory
-<http://sourceforge.net/p/sardana/sardana.git/ci/master/tree/taurus/>`_ of the
-`main Sardana git repository <http://sourceforge.net/p/sardana/sardana.git>`_
+Sometimes it is convenient to work directly from the git source without
+installing.
-You can clone sardana from our main git repository::
+You can clone taurus from our main git repository::
- git clone git://git.code.sf.net/p/sardana/sardana.git sardana
-
-and you will find the taurus code in the `sardana/taurus` directory.
+ git clone git://git.code.sf.net/p/tauruslib/taurus.git taurus
Then, if you decide to work directly from Git code (without installing):
- 1. add <sardana_root_dir>/taurus/lib to PYTHONPATH
- 2. add <sardana_root_dir>/taurus/scripts to PATH
+ 1. add <taurus_root_dir>/lib to PYTHONPATH
+ 2. add <taurus_root_dir>/scripts to PATH
3. build the resources::
- cd <sardana_root_dir>/taurus
+ cd <taurus_root_dir>
python setup.py build_resources
diff --git a/doc/source/users/introduction.rst b/doc/source/users/introduction.rst
index ea2c113..10922f0 100644
--- a/doc/source/users/introduction.rst
+++ b/doc/source/users/introduction.rst
@@ -16,8 +16,10 @@ applications (CLIs and GUIs) to Tango_ device servers.
Nevertheless, due to its Tango roots, this documentation may assume
that you are using Tango.
-Taurus is developed as a part of the Sardana_ project, which aims to provide an
-integrated SCADA, but it can be used independently of the rest of Sardana.
+Taurus was developed within the Sardana_ project, but since it has being found
+to be useful for other projects not related to Sardana, it has been
+moved to a separate project (although both projects are kept in sync and share
+most of their developers).
For its Tango interface, Taurus uses PyTango_ which is a python binding
for the Tango_ library. It provides an abstraction layer that allows Tango to be
diff --git a/doc/source/users/ui/forms.rst b/doc/source/users/ui/forms.rst
index 49cbb1e..f819c8d 100644
--- a/doc/source/users/ui/forms.rst
+++ b/doc/source/users/ui/forms.rst
@@ -115,10 +115,10 @@ and *how* it is shown in the form.
- You can alter *what* is shown in two ways:
- right-clicking in the form and selecting the `Modify contents` option in the
- context menu. A :ref:`TauruModelChooser <modelchooser>` widget will let you
+ context menu. A :ref:`TaurusModelChooser <modelchooser>` widget will let you
modify the list of taurus models being represented by the form.
- Dropping models that you drag from another taurus widget (typically another
- TaurusForm, or a :ref:`TauruModelChooser <modelchooser>`). See the `Drag and
+ TaurusForm, or a :ref:`TaurusModelChooser <modelchooser>`). See the `Drag and
Drop support`_ section for more details.
- Regarding *how* it is shown, you can change which widget is used for
diff --git a/doc/source/users/ui/plot.rst b/doc/source/users/ui/plot.rst
index 84292ec..9956774 100644
--- a/doc/source/users/ui/plot.rst
+++ b/doc/source/users/ui/plot.rst
@@ -161,7 +161,7 @@ stored in a file, or even against some attribute of the control system...
...then the `Input data selection` option from the `TaurusPlot context menu`_ is for you!
From the `Attributes` tab of the import data dialog, you can choose which Tango attributes are
-plotted, thanks to a :ref:`TauruModelChooser <modelchooser>` widget.
+plotted, thanks to a :ref:`TaurusModelChooser <modelchooser>` widget.
.. figure:: /_static/taurusmodelchooser01.png
:align: center
diff --git a/doc/source/users/ui/taurusgui.rst b/doc/source/users/ui/taurusgui.rst
index 4bc6332..0c4ffd1 100644
--- a/doc/source/users/ui/taurusgui.rst
+++ b/doc/source/users/ui/taurusgui.rst
@@ -239,6 +239,36 @@ panel-crowded applications.
Also note that you can find a button in the application toolbar for
showing/hiding each synoptic panel.
+.. _externalapps:
+
+External Application Launchers
+------------------------------
+
+TaurusGui-based applications allow you to add and remove launchers for
+"external applications". An external application is some other program
+already installed in the system which will be launched as an independent
+process (i.e., the TaurusGui just provides a convenience launcher for some
+related but independent program).
+
+External application launchers may be pre-defined in the application and new
+ones can be added and removed at any moment by using the corresponding
+option of the `Tools->External Applications` menu.
+
+.. figure:: /_static/taurusgui-extapp.png
+ :align: center
+
+ External application editor. You can associate a command, a text and
+ an icon to a new launcher
+
+Just as with the `custom panels <panelcreation>`, when you close the application
+(or when you save a :ref:`perspective <perspectives>`), a dialog will be
+shown if you have created any custom launchers. In this dialog you can choose
+which of the custom launchers you want to keep for future use and which are
+only meant for the current session.
+
+.. tip:: You may find external application launchers useful for launching some
+ arbitrary python script that automates some task related to the
+ purpose of the GUI.
.. _macrostuff:
diff --git a/doc/thumbnails.zip b/doc/thumbnails.zip
new file mode 100644
index 0000000..0cf0971
Binary files /dev/null and b/doc/thumbnails.zip differ
diff --git a/lib/taurus/__init__.py b/lib/taurus/__init__.py
index 6862570..0c1a58d 100644
--- a/lib/taurus/__init__.py
+++ b/lib/taurus/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/console/__init__.py b/lib/taurus/console/__init__.py
index dcfa585..ca26083 100644
--- a/lib/taurus/console/__init__.py
+++ b/lib/taurus/console/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/console/enums.py b/lib/taurus/console/enums.py
index 4621895..d12aae3 100644
--- a/lib/taurus/console/enums.py
+++ b/lib/taurus/console/enums.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/console/list.py b/lib/taurus/console/list.py
index a9b1cfb..80b8208 100644
--- a/lib/taurus/console/list.py
+++ b/lib/taurus/console/list.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/console/table.py b/lib/taurus/console/table.py
index 3ac0a14..238d12d 100644
--- a/lib/taurus/console/table.py
+++ b/lib/taurus/console/table.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/console/util/__init__.py b/lib/taurus/console/util/__init__.py
index b7a624b..9a620ef 100644
--- a/lib/taurus/console/util/__init__.py
+++ b/lib/taurus/console/util/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/__init__.py b/lib/taurus/core/__init__.py
index 6677cbb..0295f9b 100644
--- a/lib/taurus/core/__init__.py
+++ b/lib/taurus/core/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/epics/__init__.py b/lib/taurus/core/epics/__init__.py
index 56dd24a..5ae00d2 100644
--- a/lib/taurus/core/epics/__init__.py
+++ b/lib/taurus/core/epics/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/epics/epicsfactory.py b/lib/taurus/core/epics/epicsfactory.py
index b6922ea..d214c93 100644
--- a/lib/taurus/core/epics/epicsfactory.py
+++ b/lib/taurus/core/epics/epicsfactory.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/evaluation/__init__.py b/lib/taurus/core/evaluation/__init__.py
index baf1402..bb2ee60 100644
--- a/lib/taurus/core/evaluation/__init__.py
+++ b/lib/taurus/core/evaluation/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/evaluation/dev_example.py b/lib/taurus/core/evaluation/dev_example.py
index 65773ff..811cdc7 100644
--- a/lib/taurus/core/evaluation/dev_example.py
+++ b/lib/taurus/core/evaluation/dev_example.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/evaluation/evalfactory.py b/lib/taurus/core/evaluation/evalfactory.py
index f2e3636..6521057 100644
--- a/lib/taurus/core/evaluation/evalfactory.py
+++ b/lib/taurus/core/evaluation/evalfactory.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/evaluation/ipap_example.py b/lib/taurus/core/evaluation/ipap_example.py
index 1299f4c..12f29d0 100644
--- a/lib/taurus/core/evaluation/ipap_example.py
+++ b/lib/taurus/core/evaluation/ipap_example.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/init_bkcomp.py b/lib/taurus/core/init_bkcomp.py
index cd6f900..97003c3 100644
--- a/lib/taurus/core/init_bkcomp.py
+++ b/lib/taurus/core/init_bkcomp.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/init_lightweight.py b/lib/taurus/core/init_lightweight.py
index 994f2d4..5f58b67 100644
--- a/lib/taurus/core/init_lightweight.py
+++ b/lib/taurus/core/init_lightweight.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/release.py b/lib/taurus/core/release.py
index c15de62..68c4a67 100644
--- a/lib/taurus/core/release.py
+++ b/lib/taurus/core/release.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -53,15 +53,16 @@ name = 'taurus'
# bdist_deb does not accept underscores (a Debian convention).
-version_info = (3,4,0,'rc',0)
+version_info = (3,6,0,'rc',0)
version = '.'.join(map(str, version_info[:3]))
revision = str(version_info[4])
-description = "A library designed to provide an abstraction layer over PyTango."
+description = "A framework for scientific/industrial CLIs and GUIs"
-long_description = """Taurus stands for TAngo User interface 'R' US. It
-is a python framework for both CLI and GUI tango applications.
-It is build on top of PyTango and PyQt."""
+long_description = """Taurus is a python framework for control and data
+acquisition CLIs and GUIs in scientific/industrial environments.
+It supports multiple control systems or data sources: Tango, EPICS, spec...
+New control system libraries can be integrated through plugins."""
license = 'LGPL'
@@ -70,7 +71,7 @@ authors = {'Tiago' : ('Tiago Coutinho','tiago.coutinho at esrf.fr'),
'Reszela' : ('Zbigniew Reszela','zreszela at cells.es') }
-url = 'http://packages.python.org/taurus'
+url = 'http://www.taurus-scada.org'
download_url = 'http://pypi.python.org/packages/source/t/taurus'
diff --git a/lib/taurus/core/resource/__init__.py b/lib/taurus/core/resource/__init__.py
index 08dda71..795eb7e 100644
--- a/lib/taurus/core/resource/__init__.py
+++ b/lib/taurus/core/resource/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/resource/resfactory.py b/lib/taurus/core/resource/resfactory.py
index d815ebb..c280644 100644
--- a/lib/taurus/core/resource/resfactory.py
+++ b/lib/taurus/core/resource/resfactory.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/simulation/__init__.py b/lib/taurus/core/simulation/__init__.py
index 432c236..cc53e92 100644
--- a/lib/taurus/core/simulation/__init__.py
+++ b/lib/taurus/core/simulation/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/simulation/simfactory.py b/lib/taurus/core/simulation/simfactory.py
index ea62fca..25ab7f6 100644
--- a/lib/taurus/core/simulation/simfactory.py
+++ b/lib/taurus/core/simulation/simfactory.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/tango/__init__.py b/lib/taurus/core/tango/__init__.py
index 2938c66..1b35051 100644
--- a/lib/taurus/core/tango/__init__.py
+++ b/lib/taurus/core/tango/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/tango/enums.py b/lib/taurus/core/tango/enums.py
index adcd55a..08fc9c8 100644
--- a/lib/taurus/core/tango/enums.py
+++ b/lib/taurus/core/tango/enums.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/tango/img/__init__.py b/lib/taurus/core/tango/img/__init__.py
index 0ede2a0..a6be985 100644
--- a/lib/taurus/core/tango/img/__init__.py
+++ b/lib/taurus/core/tango/img/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -38,4 +38,5 @@ def registerExtensions():
factory.registerDeviceClass('ImgGrabber', ImgGrabber)
factory.registerDeviceClass('ImgBeamAnalyzer', ImgBeamAnalyzer)
factory.registerDeviceClass('CCDPVCAM', CCDPVCAM)
- factory.registerDeviceClass('Falcon', Falcon)
\ No newline at end of file
+ factory.registerDeviceClass('Falcon', Falcon)
+ factory.registerDeviceClass('LimaCCDs', LimaCCDs)
diff --git a/lib/taurus/core/tango/img/img.py b/lib/taurus/core/tango/img/img.py
index 7099d07..455b720 100644
--- a/lib/taurus/core/tango/img/img.py
+++ b/lib/taurus/core/tango/img/img.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -27,7 +27,7 @@
2D detectors"""
__all__ = ['ImageDevice', 'ImageCounterDevice', 'PyImageViewer', 'ImgGrabber',
- 'CCDPVCAM', 'ImgBeamAnalyzer', 'Falcon']
+ 'CCDPVCAM', 'ImgBeamAnalyzer', 'Falcon', 'LimaCCDs']
__docformat__ = 'restructuredtext'
@@ -35,6 +35,7 @@ __docformat__ = 'restructuredtext'
from taurus.core.taurusbasetypes import TaurusEventType
from taurus.core.tango import TangoDevice
from taurus.core.util.containers import CaselessDict, CaselessList
+from threading import RLock
class ImageDevice(TangoDevice):
"""A class encapsulating a generic image device"""
@@ -143,4 +144,26 @@ class ImgBeamAnalyzer(ImageCounterDevice):
def __init__(self, name, image_name='roiimage', **kw):
self.call__init__(ImageCounterDevice, name, image_name, **kw)
-
+
+class LimaCCDs(ImageCounterDevice):
+
+ def __init__(self, name, image_name='video_last_image', **kw):
+ self.call__init__(ImageCounterDevice, name, image_name, **kw)
+ self.rlock = RLock()
+ self.processing = False
+
+ def getImageIDAttrName(self):
+ return 'video_last_image_counter'
+
+ def eventReceived(self, evt_src, evt_type, evt_value):
+ if evt_src == self._image_id_attr and self.processing == False:
+ if evt_type == TaurusEventType.Change:
+ with self.rlock:
+ self.processing = True
+ attr_image = self.getAttribute('video_last_image')
+ evt_value = attr_image.read(False)
+ attr_image.fireEvent(evt_type, evt_value)
+ self.processing = False
+
+ else:
+ ImageCounterDevice.eventReceived(self, evt_src, evt_type, evt_value)
diff --git a/lib/taurus/core/tango/search.py b/lib/taurus/core/tango/search.py
index 5e4026a..0cc8428 100644
--- a/lib/taurus/core/tango/search.py
+++ b/lib/taurus/core/tango/search.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/tango/starter.py b/lib/taurus/core/tango/starter.py
index a21c4a1..79888f7 100644
--- a/lib/taurus/core/tango/starter.py
+++ b/lib/taurus/core/tango/starter.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -88,7 +88,10 @@ class Starter(object):
if self.isRunning():
time.sleep(1)
else:
- time.sleep(3) #TODO: figure out why we have to wait here
+ ##############################################################
+ # TODO: this workaround doesn't seem necessary (see isRunning)
+ #time.sleep(3)
+ ##############################################################
_log.info('Server %s has been stopped' % self.ds_name)
return
_log.warning('Server %s did not stop within %d seconds'%
@@ -107,7 +110,10 @@ class Starter(object):
(self.ds_name, i))
if self.isRunning():
_log.info('Server %s has been started' % self.ds_name)
- time.sleep(3) #TODO: figure out why we have to wait here
+ ##############################################################
+ # TODO: this workaround doesn't seem necessary (see isRunning)
+ #time.sleep(3)
+ ##############################################################
return
else:
time.sleep(1)
@@ -173,6 +179,8 @@ class Starter(object):
def isRunning(self):
+ # TODO: In case the sleeps in startDS and stopDS need to be re-added,
+ # we should study another implementation for this method.
if self.dserver is None:
return False
try:
diff --git a/lib/taurus/core/tango/tangoattribute.py b/lib/taurus/core/tango/tangoattribute.py
old mode 100644
new mode 100755
index 60a2f2c..1639578
--- a/lib/taurus/core/tango/tangoattribute.py
+++ b/lib/taurus/core/tango/tangoattribute.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -184,7 +184,7 @@ class TangoAttribute(TaurusAttribute):
attrvalue = float(value)
elif type == DataType.DevFloat:
# We encode to float, but rounding to Tango::DevFloat precision
- # see: http://sf.net/p/sardana/tickets/162
+ # see: http://sf.net/p/tauruslib/tickets/61
attrvalue = float(numpy.float32(value))
elif PyTango.is_int_type(type):
#attrvalue = int(value)
@@ -196,7 +196,7 @@ class TangoAttribute(TaurusAttribute):
attrvalue = str(value).lower() == 'true'
elif type == DataType.DevUChar:
attrvalue = chr(value)
- elif type == DataType.DevState:
+ elif type == DataType.DevState or type == DataType.DevEncoded:
attrvalue = value
else:
attrvalue = str(value)
diff --git a/lib/taurus/core/tango/tangoconfiguration.py b/lib/taurus/core/tango/tangoconfiguration.py
index 05d78ab..2380892 100644
--- a/lib/taurus/core/tango/tangoconfiguration.py
+++ b/lib/taurus/core/tango/tangoconfiguration.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/tango/tangodatabase.py b/lib/taurus/core/tango/tangodatabase.py
index a881040..f6c501b 100644
--- a/lib/taurus/core/tango/tangodatabase.py
+++ b/lib/taurus/core/tango/tangodatabase.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/tango/tangodevice.py b/lib/taurus/core/tango/tangodevice.py
index 59565b5..2a7114c 100644
--- a/lib/taurus/core/tango/tangodevice.py
+++ b/lib/taurus/core/tango/tangodevice.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/tango/tangofactory.py b/lib/taurus/core/tango/tangofactory.py
index a4a5c81..a9ada49 100644
--- a/lib/taurus/core/tango/tangofactory.py
+++ b/lib/taurus/core/tango/tangofactory.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/taurusattribute.py b/lib/taurus/core/taurusattribute.py
index 8db537c..1f66be5 100644
--- a/lib/taurus/core/taurusattribute.py
+++ b/lib/taurus/core/taurusattribute.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/taurusbasetypes.py b/lib/taurus/core/taurusbasetypes.py
index a94c348..f336ee3 100644
--- a/lib/taurus/core/taurusbasetypes.py
+++ b/lib/taurus/core/taurusbasetypes.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/taurusconfiguration.py b/lib/taurus/core/taurusconfiguration.py
index 472506a..70dfba9 100644
--- a/lib/taurus/core/taurusconfiguration.py
+++ b/lib/taurus/core/taurusconfiguration.py
@@ -3,9 +3,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/taurusdatabase.py b/lib/taurus/core/taurusdatabase.py
index e0a5dd2..79f579e 100644
--- a/lib/taurus/core/taurusdatabase.py
+++ b/lib/taurus/core/taurusdatabase.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/taurusdevice.py b/lib/taurus/core/taurusdevice.py
index 442518f..9b4b6ef 100644
--- a/lib/taurus/core/taurusdevice.py
+++ b/lib/taurus/core/taurusdevice.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -242,14 +242,14 @@ class TaurusDevice(TaurusModel):
return self.getAttribute(child_name)
def eventReceived(self, event_src, event_type, event_value):
- new_sw_state = TaurusSWDevState.Uninitialized
-
if event_type == TaurusEventType.Config:
return
value = self.decode(event_value)
-
if value.value != self._deviceSwState.value:
- self.debug("SW Device State changed %s -> %s" % (TaurusSWDevState.whatis(self._deviceSwState.value), TaurusSWDevState.whatis(new_sw_state)))
+ msg = "SW Device State changed %s -> %s" %\
+ (TaurusSWDevState.whatis(self._deviceSwState.value),
+ TaurusSWDevState.whatis(value.value))
+ self.debug(msg)
self._deviceSwState = value
self.fireEvent(TaurusEventType.Change, value)
diff --git a/lib/taurus/core/taurusexception.py b/lib/taurus/core/taurusexception.py
index ad3e9ae..46da9ec 100644
--- a/lib/taurus/core/taurusexception.py
+++ b/lib/taurus/core/taurusexception.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/taurusfactory.py b/lib/taurus/core/taurusfactory.py
index 19b627f..29ca8ea 100644
--- a/lib/taurus/core/taurusfactory.py
+++ b/lib/taurus/core/taurusfactory.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/taurushelper.py b/lib/taurus/core/taurushelper.py
index 9aa55a8..dae7c93 100644
--- a/lib/taurus/core/taurushelper.py
+++ b/lib/taurus/core/taurushelper.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/tauruslistener.py b/lib/taurus/core/tauruslistener.py
index f53baf1..3455d17 100644
--- a/lib/taurus/core/tauruslistener.py
+++ b/lib/taurus/core/tauruslistener.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/taurusmanager.py b/lib/taurus/core/taurusmanager.py
index d62c854..d140b26 100644
--- a/lib/taurus/core/taurusmanager.py
+++ b/lib/taurus/core/taurusmanager.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/taurusmodel.py b/lib/taurus/core/taurusmodel.py
index 7589ec4..4f11b9d 100644
--- a/lib/taurus/core/taurusmodel.py
+++ b/lib/taurus/core/taurusmodel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/taurusoperation.py b/lib/taurus/core/taurusoperation.py
index a4538d7..25117af 100644
--- a/lib/taurus/core/taurusoperation.py
+++ b/lib/taurus/core/taurusoperation.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/tauruspollingtimer.py b/lib/taurus/core/tauruspollingtimer.py
index bd0a458..e8eb563 100644
--- a/lib/taurus/core/tauruspollingtimer.py
+++ b/lib/taurus/core/tauruspollingtimer.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -108,8 +108,10 @@ class TaurusPollingTimer(Logger):
attr_dict = self.dev_dict.get(dev)
if attr_dict is None:
return
- if attr_name not in attr_dict:
+ if attr_name in attr_dict:
del attr_dict[attr_name]
+ if not attr_dict:
+ del self.dev_dict[dev]
self.attr_nb -= 1
if self.attr_nb < 1:
self.stop()
diff --git a/lib/taurus/core/taurusvalidator.py b/lib/taurus/core/taurusvalidator.py
index 01a5baa..33df99f 100644
--- a/lib/taurus/core/taurusvalidator.py
+++ b/lib/taurus/core/taurusvalidator.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/__init__.py b/lib/taurus/core/util/__init__.py
index 684c575..fa13d8b 100644
--- a/lib/taurus/core/util/__init__.py
+++ b/lib/taurus/core/util/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/argparse/__init__.py b/lib/taurus/core/util/argparse/__init__.py
index a4bfb51..3e8e7de 100644
--- a/lib/taurus/core/util/argparse/__init__.py
+++ b/lib/taurus/core/util/argparse/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/argparse/taurusargparse.py b/lib/taurus/core/util/argparse/taurusargparse.py
index c9ad402..d8eda87 100644
--- a/lib/taurus/core/util/argparse/taurusargparse.py
+++ b/lib/taurus/core/util/argparse/taurusargparse.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/codecs.py b/lib/taurus/core/util/codecs.py
index 4337d12..0ce4d8c 100644
--- a/lib/taurus/core/util/codecs.py
+++ b/lib/taurus/core/util/codecs.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -86,6 +86,8 @@ class Codec(Logger):
"""Constructor"""
Logger.__init__(self, self.__class__.__name__)
+ # TODO: similar code exists in encode and decode methods from different
+ # codecs. It should be implemented in this base class 'Codec'.
def encode(self, data, *args, **kwargs):
"""encodes the given data. This method is abstract an therefore must
be implemented in the subclass.
@@ -123,7 +125,10 @@ class NullCodec(Codec):
:param data: (sequence[str, obj]) a sequence of two elements where the first item is the encoding format of the second item object
:return: (sequence[str, obj]) a sequence of two elements where the first item is the encoding format of the second item object"""
- return data
+ format = 'null'
+ if len(data[0]):
+ format += '_%s' % data[0]
+ return format, data[1]
def decode(self, data, *args, **kwargs):
"""decodes with Null encoder. Just returns the given data
@@ -131,7 +136,10 @@ class NullCodec(Codec):
:param data: (sequence[str, obj]) a sequence of two elements where the first item is the encoding format of the second item object
:return: (sequence[str, obj]) a sequence of two elements where the first item is the encoding format of the second item object"""
- return data
+ if not data[0].startswith('null'):
+ return data
+ format = data[0].partition('_')[2]
+ return format, data[1]
class ZIPCodec(Codec):
@@ -744,7 +752,7 @@ class CodecPipeline(Codec, list):
Codec.__init__(self)
list.__init__(self)
-
+
f = CodecFactory()
for i in format.split('_'):
codec = f.getCodec(i)
diff --git a/lib/taurus/core/util/colors.py b/lib/taurus/core/util/colors.py
index 81204e5..94c754b 100644
--- a/lib/taurus/core/util/colors.py
+++ b/lib/taurus/core/util/colors.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/console.py b/lib/taurus/core/util/console.py
index 4ae3db8..1679b99 100644
--- a/lib/taurus/core/util/console.py
+++ b/lib/taurus/core/util/console.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/constant.py b/lib/taurus/core/util/constant.py
index e7d5bf7..37c5aca 100644
--- a/lib/taurus/core/util/constant.py
+++ b/lib/taurus/core/util/constant.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/containers.py b/lib/taurus/core/util/containers.py
index 0fa00be..f0b8f32 100644
--- a/lib/taurus/core/util/containers.py
+++ b/lib/taurus/core/util/containers.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/decorator/decorator.py b/lib/taurus/core/util/decorator/decorator.py
index 7065a71..df109a2 100644
--- a/lib/taurus/core/util/decorator/decorator.py
+++ b/lib/taurus/core/util/decorator/decorator.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/decorator/deprecated.py b/lib/taurus/core/util/decorator/deprecated.py
index 0fc53c7..3e4393d 100644
--- a/lib/taurus/core/util/decorator/deprecated.py
+++ b/lib/taurus/core/util/decorator/deprecated.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/decorator/memoize.py b/lib/taurus/core/util/decorator/memoize.py
index 7db9c05..4dbb1d2 100644
--- a/lib/taurus/core/util/decorator/memoize.py
+++ b/lib/taurus/core/util/decorator/memoize.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/decorator/typecheck.py b/lib/taurus/core/util/decorator/typecheck.py
index f8b7c63..932008c 100644
--- a/lib/taurus/core/util/decorator/typecheck.py
+++ b/lib/taurus/core/util/decorator/typecheck.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/enumeration.py b/lib/taurus/core/util/enumeration.py
index 736c853..d0adc7a 100644
--- a/lib/taurus/core/util/enumeration.py
+++ b/lib/taurus/core/util/enumeration.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/event.py b/lib/taurus/core/util/event.py
index b30dae3..7748225 100644
--- a/lib/taurus/core/util/event.py
+++ b/lib/taurus/core/util/event.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/eventfilters.py b/lib/taurus/core/util/eventfilters.py
index 4e01b8f..8dc52a1 100644
--- a/lib/taurus/core/util/eventfilters.py
+++ b/lib/taurus/core/util/eventfilters.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/excepthook.py b/lib/taurus/core/util/excepthook.py
index 8d4d1f8..1cbb626 100644
--- a/lib/taurus/core/util/excepthook.py
+++ b/lib/taurus/core/util/excepthook.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/init_bkcomp.py b/lib/taurus/core/util/init_bkcomp.py
index dc56ecf..2dedc28 100644
--- a/lib/taurus/core/util/init_bkcomp.py
+++ b/lib/taurus/core/util/init_bkcomp.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/init_lightweight.py b/lib/taurus/core/util/init_lightweight.py
index e12c7c7..a52b250 100644
--- a/lib/taurus/core/util/init_lightweight.py
+++ b/lib/taurus/core/util/init_lightweight.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/lock.py b/lib/taurus/core/util/lock.py
index ca55ca3..ed547a8 100644
--- a/lib/taurus/core/util/lock.py
+++ b/lib/taurus/core/util/lock.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/log.py b/lib/taurus/core/util/log.py
index 56b3340..aa98e87 100644
--- a/lib/taurus/core/util/log.py
+++ b/lib/taurus/core/util/log.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/object.py b/lib/taurus/core/util/object.py
index 735d076..d61bb2d 100644
--- a/lib/taurus/core/util/object.py
+++ b/lib/taurus/core/util/object.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/prop.py b/lib/taurus/core/util/prop.py
index 2316d1d..647c428 100644
--- a/lib/taurus/core/util/prop.py
+++ b/lib/taurus/core/util/prop.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/property_parser.py b/lib/taurus/core/util/property_parser.py
index 591316e..b5e4fc6 100644
--- a/lib/taurus/core/util/property_parser.py
+++ b/lib/taurus/core/util/property_parser.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/propertyfile.py b/lib/taurus/core/util/propertyfile.py
index 356013e..14082b9 100644
--- a/lib/taurus/core/util/propertyfile.py
+++ b/lib/taurus/core/util/propertyfile.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/remotelogmonitor.py b/lib/taurus/core/util/remotelogmonitor.py
index ed9a052..87940b5 100644
--- a/lib/taurus/core/util/remotelogmonitor.py
+++ b/lib/taurus/core/util/remotelogmonitor.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/report/__init__.py b/lib/taurus/core/util/report/__init__.py
index eb69308..b0f01bf 100644
--- a/lib/taurus/core/util/report/__init__.py
+++ b/lib/taurus/core/util/report/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/report/report.py b/lib/taurus/core/util/report/report.py
index ca11e0e..229fdde 100644
--- a/lib/taurus/core/util/report/report.py
+++ b/lib/taurus/core/util/report/report.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/safeeval.py b/lib/taurus/core/util/safeeval.py
index 75be46e..77cd312 100644
--- a/lib/taurus/core/util/safeeval.py
+++ b/lib/taurus/core/util/safeeval.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/singleton.py b/lib/taurus/core/util/singleton.py
index c76800d..ba8edc1 100644
--- a/lib/taurus/core/util/singleton.py
+++ b/lib/taurus/core/util/singleton.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/sourcecode.py b/lib/taurus/core/util/sourcecode.py
index 036f579..ef26040 100644
--- a/lib/taurus/core/util/sourcecode.py
+++ b/lib/taurus/core/util/sourcecode.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/tablepprint.py b/lib/taurus/core/util/tablepprint.py
index 9c69ff3..0e166ef 100644
--- a/lib/taurus/core/util/tablepprint.py
+++ b/lib/taurus/core/util/tablepprint.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/tb.py b/lib/taurus/core/util/tb.py
index dceda92..ff11cc1 100644
--- a/lib/taurus/core/util/tb.py
+++ b/lib/taurus/core/util/tb.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/graphic/jdraw/test/__init__.py b/lib/taurus/core/util/test/__init__.py
similarity index 86%
copy from lib/taurus/qt/qtgui/graphic/jdraw/test/__init__.py
copy to lib/taurus/core/util/test/__init__.py
index 810fb34..5551527 100644
--- a/lib/taurus/qt/qtgui/graphic/jdraw/test/__init__.py
+++ b/lib/taurus/core/util/test/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -22,3 +22,6 @@
## along with Taurus. If not, see <http://www.gnu.org/licenses/>.
##
#############################################################################
+
+"""
+"""
\ No newline at end of file
diff --git a/lib/taurus/core/util/test/test_codecs.py b/lib/taurus/core/util/test/test_codecs.py
index e3c13a9..71f1fbb 100644
--- a/lib/taurus/core/util/test/test_codecs.py
+++ b/lib/taurus/core/util/test/test_codecs.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/test/test_timer.py b/lib/taurus/core/util/test/test_timer.py
index c067f47..9ae1898 100644
--- a/lib/taurus/core/util/test/test_timer.py
+++ b/lib/taurus/core/util/test/test_timer.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/threadpool.py b/lib/taurus/core/util/threadpool.py
index 37d036c..445e4ff 100644
--- a/lib/taurus/core/util/threadpool.py
+++ b/lib/taurus/core/util/threadpool.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -31,7 +31,7 @@ __docformat__ = "restructuredtext"
from threading import Thread, currentThread
from Queue import Queue
-from time import sleep
+from time import sleep, time
from traceback import extract_stack, format_list
from prop import propertx
@@ -51,7 +51,7 @@ class ThreadPool(Logger):
self.jobs = Queue(Qsize)
self.size = Psize
self.accept = True
-
+
@propertx
def size():
def set(self, newSize):
@@ -99,6 +99,15 @@ class ThreadPool(Logger):
@property
def qsize(self): return self.jobs.qsize()
+ def getNumOfBusyWorkers(self):
+ ''' Get the number of workers that are in busy mode.
+ '''
+ n = 0
+ for w in self.workers:
+ if w.isBusy():
+ n += 1
+ return n
+
class Worker(Thread, Logger):
@@ -109,12 +118,14 @@ class Worker(Thread, Logger):
self.daemon = daemon
self.pool = pool
self.cmd=''
+ self.busy = False
def run(self):
get = self.pool.jobs.get
while True:
cmd, args, kw, callback, th_id, stack = get()
if cmd:
+ self.busy = True
self.cmd = cmd.__name__
try:
if callback:
@@ -127,11 +138,15 @@ class Worker(Thread, Logger):
"from thread %s:\n%s",
self.cmd, th_id, orig_stack, exc_info=1)
finally:
+ self.busy = False
self.cmd = ''
else:
self.pool.workers.remove(self)
return
+ def isBusy(self):
+ return self.busy
+
if __name__=='__main__':
def easyJob(*arg, **kw):
@@ -150,20 +165,58 @@ if __name__=='__main__':
def show(*arg, **kw):
print 'callback : %s' % arg[0]
- pool = ThreadPool(5, 50)
- print "\n\t\t... let's add some jobs ...\n"
- for j in range(5):
- if j==1: pool.add(badJob)
- for i in range(5,0,-1):
- pool.add(longJob, show, i)
- pool.add(easyJob, show, i)
- print '''
- \t\t... and now, we're waiting for the %i workers to get the %i jobs done ...
- ''' % (pool.size, pool.qsize)
- sleep(15)
- print "\n\t\t... ok, that may take a while, let's get some reinforcement ...\n"
- sleep(5)
- pool.size=50
- print '\n\t\t... Joining ...\n'
- pool.join()
- print '\n\t\t... Ok ...\n'
+ def test_1(**kwargs):
+ workers = kwargs.pop('workers', 5)
+ jobqueue = kwargs.pop('jobqueue', 10)
+ pool = ThreadPool(name='ThreadPool', Psize=workers, Qsize=jobqueue)
+ print "\n\t\t... let's add some jobs ...\n"
+ for j in range(5):
+ if j==1: pool.add(badJob)
+ for i in range(5, 0, -1):
+ pool.add(longJob, show, i)
+ pool.add(easyJob, show, i)
+ print '''
+ \t\t... and now, we're waiting for the %i workers to get the %i jobs done ...
+ ''' % (pool.size, pool.qsize)
+ sleep(15)
+ print "\n\t\t... ok, that may take a while, let's get some reinforcement ...\n"
+ sleep(5)
+ pool.size=50
+ print '\n\t\t... Joining ...\n'
+ pool.join()
+ print '\n\t\t... Ok ...\n'
+
+ def test_2(**kwargs):
+ workers = kwargs.pop('workers', 5)
+ jobqueue = kwargs.pop('jobqueue', 10)
+ numjobs = kwargs.pop('numjobs', 10)
+ sleep_t = kwargs.pop('sleep_t', 1)
+ #from taurus.core.util.threadpool import ThreadPool
+ pool = ThreadPool(name='ThreadPool', Psize=workers, Qsize=jobqueue)
+ print "\n\t\t... Check the number of busy workers ...\n"
+ print "Num of busy workers = %s" % (pool.getNumOfBusyWorkers())
+ print "\n\t\t... let's add some jobs ...\n"
+ for i in range(numjobs):
+ pool.add(easyJob, None, sleep_t)
+ print '\n\t\t... Monitoring the busy workers ...\n'
+ t0 = time()
+ while pool.getNumOfBusyWorkers() > 0 :
+ print "busy workers = %s" % (pool.getNumOfBusyWorkers())
+ sleep(0.5)
+ t1 = time()
+ print "Run %s jobs of 1 second took %.3f" % (numjobs, t1-t0)
+ print '\n\t\t... Joining ...\n'
+ pool.join()
+ print '\n\t\t... Ok ...\n'
+
+ def main(argv):
+ kwargs = {}
+ for arg in argv:
+ k, v = arg.split('=')
+ kwargs[k] = int(v)
+ # Run test
+ test_1(**kwargs)
+ test_2(**kwargs)
+
+ import sys
+ main(sys.argv[1:])
diff --git a/lib/taurus/core/util/timer.py b/lib/taurus/core/util/timer.py
index 1e263d1..fd87aa0 100644
--- a/lib/taurus/core/util/timer.py
+++ b/lib/taurus/core/util/timer.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/user.py b/lib/taurus/core/util/user.py
index 1bb73be..fe55d3e 100644
--- a/lib/taurus/core/util/user.py
+++ b/lib/taurus/core/util/user.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/whichexecutable.py b/lib/taurus/core/util/whichexecutable.py
index 0a099f5..6399481 100644
--- a/lib/taurus/core/util/whichexecutable.py
+++ b/lib/taurus/core/util/whichexecutable.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/util/wrap.py b/lib/taurus/core/util/wrap.py
index 1ef099b..bf82c22 100644
--- a/lib/taurus/core/util/wrap.py
+++ b/lib/taurus/core/util/wrap.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/core/utils/__init__.py b/lib/taurus/core/utils/__init__.py
index 1b5d690..9ec35d7 100644
--- a/lib/taurus/core/utils/__init__.py
+++ b/lib/taurus/core/utils/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/__init__.py b/lib/taurus/external/__init__.py
index c050b0b..f36e7b8 100644
--- a/lib/taurus/external/__init__.py
+++ b/lib/taurus/external/__init__.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/argparse/__init__.py b/lib/taurus/external/argparse/__init__.py
index e64d5f1..85129e6 100644
--- a/lib/taurus/external/argparse/__init__.py
+++ b/lib/taurus/external/argparse/__init__.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/enum/__init__.py b/lib/taurus/external/enum/__init__.py
index 911320c..827e9c0 100644
--- a/lib/taurus/external/enum/__init__.py
+++ b/lib/taurus/external/enum/__init__.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/ordereddict/__init__.py b/lib/taurus/external/ordereddict/__init__.py
index a2a399a..caf0c37 100644
--- a/lib/taurus/external/ordereddict/__init__.py
+++ b/lib/taurus/external/ordereddict/__init__.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/pint/__init__.py b/lib/taurus/external/pint/__init__.py
index fc86581..5bebb89 100644
--- a/lib/taurus/external/pint/__init__.py
+++ b/lib/taurus/external/pint/__init__.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/qt/Qt.py b/lib/taurus/external/qt/Qt.py
index 29311cb..c6dfebb 100644
--- a/lib/taurus/external/qt/Qt.py
+++ b/lib/taurus/external/qt/Qt.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/qt/QtCore.py b/lib/taurus/external/qt/QtCore.py
index c4e7e5e..c276dfd 100644
--- a/lib/taurus/external/qt/QtCore.py
+++ b/lib/taurus/external/qt/QtCore.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/qt/QtDesigner.py b/lib/taurus/external/qt/QtDesigner.py
index a1f50c7..e38e3e0 100644
--- a/lib/taurus/external/qt/QtDesigner.py
+++ b/lib/taurus/external/qt/QtDesigner.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/qt/QtGui.py b/lib/taurus/external/qt/QtGui.py
index 3a380b1..bbbf023 100644
--- a/lib/taurus/external/qt/QtGui.py
+++ b/lib/taurus/external/qt/QtGui.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/qt/QtHelp.py b/lib/taurus/external/qt/QtHelp.py
index d21608b..ce467bf 100644
--- a/lib/taurus/external/qt/QtHelp.py
+++ b/lib/taurus/external/qt/QtHelp.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/qt/QtNetwork.py b/lib/taurus/external/qt/QtNetwork.py
index b272f85..f807a32 100644
--- a/lib/taurus/external/qt/QtNetwork.py
+++ b/lib/taurus/external/qt/QtNetwork.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/qt/QtSvg.py b/lib/taurus/external/qt/QtSvg.py
index 917f621..a806a57 100644
--- a/lib/taurus/external/qt/QtSvg.py
+++ b/lib/taurus/external/qt/QtSvg.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/qt/QtUiTools.py b/lib/taurus/external/qt/QtUiTools.py
index 1f42605..4360ca3 100644
--- a/lib/taurus/external/qt/QtUiTools.py
+++ b/lib/taurus/external/qt/QtUiTools.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/qt/QtWebKit.py b/lib/taurus/external/qt/QtWebKit.py
index 3765429..2135721 100644
--- a/lib/taurus/external/qt/QtWebKit.py
+++ b/lib/taurus/external/qt/QtWebKit.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/qt/Qwt5.py b/lib/taurus/external/qt/Qwt5.py
index 0c58e51..aba6c69 100644
--- a/lib/taurus/external/qt/Qwt5.py
+++ b/lib/taurus/external/qt/Qwt5.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/qt/__init__.py b/lib/taurus/external/qt/__init__.py
index 4c8a229..d7ddbd9 100644
--- a/lib/taurus/external/qt/__init__.py
+++ b/lib/taurus/external/qt/__init__.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/qt/uic.py b/lib/taurus/external/qt/uic.py
index b4fb2e4..2f37e80 100644
--- a/lib/taurus/external/qt/uic.py
+++ b/lib/taurus/external/qt/uic.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/test/__init__.py b/lib/taurus/external/test/__init__.py
index c050b0b..f36e7b8 100644
--- a/lib/taurus/external/test/__init__.py
+++ b/lib/taurus/external/test/__init__.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/external/test/test_qt.py b/lib/taurus/external/test/test_qt.py
index c7d2d1c..00935b7 100644
--- a/lib/taurus/external/test/test_qt.py
+++ b/lib/taurus/external/test/test_qt.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -102,9 +102,12 @@ class QtTestCase(unittest.TestCase):
return self.__test_qt_module("QtGui")
def test_icons(self):
- from taurus.external.qt.QtGui import QIcon
- icon = QIcon.fromTheme("folder-open")
- self.assertFalse(icon.isNull())
+ '''check that theme icons work'''
+ from taurus.qt.qtgui.resource import getThemeIcon
+ icon = getThemeIcon("folder-open")
+ msg = ('Theme icons not available ' +
+ '(if PyQt<4.6, make sure to build resources first!)')
+ self.assertFalse(icon.isNull(), msg)
def main():
diff --git a/lib/taurus/external/unittest/__init__.py b/lib/taurus/external/unittest/__init__.py
index 308b227..c03c354 100644
--- a/lib/taurus/external/unittest/__init__.py
+++ b/lib/taurus/external/unittest/__init__.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/Qt.py b/lib/taurus/qt/Qt.py
index 5b1c3c6..fe51e01 100644
--- a/lib/taurus/qt/Qt.py
+++ b/lib/taurus/qt/Qt.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/QtCore.py b/lib/taurus/qt/QtCore.py
index 5a8f747..e495d96 100644
--- a/lib/taurus/qt/QtCore.py
+++ b/lib/taurus/qt/QtCore.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/QtDesigner.py b/lib/taurus/qt/QtDesigner.py
index 95f7d9f..5a12bcc 100644
--- a/lib/taurus/qt/QtDesigner.py
+++ b/lib/taurus/qt/QtDesigner.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/QtGui.py b/lib/taurus/qt/QtGui.py
index 0c9dac5..3173fa8 100644
--- a/lib/taurus/qt/QtGui.py
+++ b/lib/taurus/qt/QtGui.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/QtNetwork.py b/lib/taurus/qt/QtNetwork.py
index c956ddc..8c32056 100644
--- a/lib/taurus/qt/QtNetwork.py
+++ b/lib/taurus/qt/QtNetwork.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/QtSvg.py b/lib/taurus/qt/QtSvg.py
index b5d6bd1..6cd41d2 100644
--- a/lib/taurus/qt/QtSvg.py
+++ b/lib/taurus/qt/QtSvg.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/QtUiTools.py b/lib/taurus/qt/QtUiTools.py
index 4e628c5..33060e7 100644
--- a/lib/taurus/qt/QtUiTools.py
+++ b/lib/taurus/qt/QtUiTools.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/QtWebKit.py b/lib/taurus/qt/QtWebKit.py
index ae03f74..a6746c8 100644
--- a/lib/taurus/qt/QtWebKit.py
+++ b/lib/taurus/qt/QtWebKit.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/Qwt5.py b/lib/taurus/qt/Qwt5.py
index 784ba34..d88d9e3 100644
--- a/lib/taurus/qt/Qwt5.py
+++ b/lib/taurus/qt/Qwt5.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/__init__.py b/lib/taurus/qt/__init__.py
index 103a25c..c8595b5 100644
--- a/lib/taurus/qt/__init__.py
+++ b/lib/taurus/qt/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/__init__.py b/lib/taurus/qt/qtcore/__init__.py
index 283a37b..39c21a4 100644
--- a/lib/taurus/qt/qtcore/__init__.py
+++ b/lib/taurus/qt/qtcore/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/communication/__init__.py b/lib/taurus/qt/qtcore/communication/__init__.py
index f4adf5d..eb8be41 100644
--- a/lib/taurus/qt/qtcore/communication/__init__.py
+++ b/lib/taurus/qt/qtcore/communication/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/communication/communication.py b/lib/taurus/qt/qtcore/communication/communication.py
index 21c5973..13746f5 100644
--- a/lib/taurus/qt/qtcore/communication/communication.py
+++ b/lib/taurus/qt/qtcore/communication/communication.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/configuration/__init__.py b/lib/taurus/qt/qtcore/configuration/__init__.py
index 353f0b8..155bd62 100644
--- a/lib/taurus/qt/qtcore/configuration/__init__.py
+++ b/lib/taurus/qt/qtcore/configuration/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/configuration/configuration.py b/lib/taurus/qt/qtcore/configuration/configuration.py
index cb8a2c8..0227f35 100644
--- a/lib/taurus/qt/qtcore/configuration/configuration.py
+++ b/lib/taurus/qt/qtcore/configuration/configuration.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/mimetypes/__init__.py b/lib/taurus/qt/qtcore/mimetypes/__init__.py
index f88e88f..0f90702 100644
--- a/lib/taurus/qt/qtcore/mimetypes/__init__.py
+++ b/lib/taurus/qt/qtcore/mimetypes/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/mimetypes/mimetypes.py b/lib/taurus/qt/qtcore/mimetypes/mimetypes.py
index 3c8de23..b937054 100644
--- a/lib/taurus/qt/qtcore/mimetypes/mimetypes.py
+++ b/lib/taurus/qt/qtcore/mimetypes/mimetypes.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/model/__init__.py b/lib/taurus/qt/qtcore/model/__init__.py
index d037e71..a696457 100644
--- a/lib/taurus/qt/qtcore/model/__init__.py
+++ b/lib/taurus/qt/qtcore/model/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/model/taurusdatabasemodel.py b/lib/taurus/qt/qtcore/model/taurusdatabasemodel.py
index 8e7022a..25e9ef8 100644
--- a/lib/taurus/qt/qtcore/model/taurusdatabasemodel.py
+++ b/lib/taurus/qt/qtcore/model/taurusdatabasemodel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/model/taurusmodel.py b/lib/taurus/qt/qtcore/model/taurusmodel.py
index 644ee24..5e2efc8 100644
--- a/lib/taurus/qt/qtcore/model/taurusmodel.py
+++ b/lib/taurus/qt/qtcore/model/taurusmodel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/tango/__init__.py b/lib/taurus/qt/qtcore/tango/__init__.py
index 8d0cc05..c4dcead 100644
--- a/lib/taurus/qt/qtcore/tango/__init__.py
+++ b/lib/taurus/qt/qtcore/tango/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/taurusqlistener.py b/lib/taurus/qt/qtcore/taurusqlistener.py
index e37de4c..a674286 100644
--- a/lib/taurus/qt/qtcore/taurusqlistener.py
+++ b/lib/taurus/qt/qtcore/taurusqlistener.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/util/__init__.py b/lib/taurus/qt/qtcore/util/__init__.py
index c913ca2..09b8922 100644
--- a/lib/taurus/qt/qtcore/util/__init__.py
+++ b/lib/taurus/qt/qtcore/util/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/util/emitter.py b/lib/taurus/qt/qtcore/util/emitter.py
index ac71c53..8298a61 100644
--- a/lib/taurus/qt/qtcore/util/emitter.py
+++ b/lib/taurus/qt/qtcore/util/emitter.py
@@ -2,7 +2,7 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
## http://www.tango-controls.org/static/tau/latest/doc/html/index.html
##
diff --git a/lib/taurus/qt/qtcore/util/properties.py b/lib/taurus/qt/qtcore/util/properties.py
index 2a6a497..843804b 100644
--- a/lib/taurus/qt/qtcore/util/properties.py
+++ b/lib/taurus/qt/qtcore/util/properties.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtcore/util/tauruslog.py b/lib/taurus/qt/qtcore/util/tauruslog.py
index b320249..69cf441 100644
--- a/lib/taurus/qt/qtcore/util/tauruslog.py
+++ b/lib/taurus/qt/qtcore/util/tauruslog.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtdesigner/__init__.py b/lib/taurus/qt/qtdesigner/__init__.py
index 17e1ebc..fff6519 100644
--- a/lib/taurus/qt/qtdesigner/__init__.py
+++ b/lib/taurus/qt/qtdesigner/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtdesigner/containerplugin.py b/lib/taurus/qt/qtdesigner/containerplugin.py
index a679c50..2b75647 100644
--- a/lib/taurus/qt/qtdesigner/containerplugin.py
+++ b/lib/taurus/qt/qtdesigner/containerplugin.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtdesigner/extraguiqwtplugin.py b/lib/taurus/qt/qtdesigner/extraguiqwtplugin.py
index a4314eb..e32da5d 100644
--- a/lib/taurus/qt/qtdesigner/extraguiqwtplugin.py
+++ b/lib/taurus/qt/qtdesigner/extraguiqwtplugin.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtdesigner/taurusdesigner.py b/lib/taurus/qt/qtdesigner/taurusdesigner.py
index f0003cf..3e7f127 100644
--- a/lib/taurus/qt/qtdesigner/taurusdesigner.py
+++ b/lib/taurus/qt/qtdesigner/taurusdesigner.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtdesigner/taurusplugin/__init__.py b/lib/taurus/qt/qtdesigner/taurusplugin/__init__.py
index 7854a2e..2121a3d 100644
--- a/lib/taurus/qt/qtdesigner/taurusplugin/__init__.py
+++ b/lib/taurus/qt/qtdesigner/taurusplugin/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtdesigner/taurusplugin/taurusplugin.py b/lib/taurus/qt/qtdesigner/taurusplugin/taurusplugin.py
index c0402df..09d6d00 100644
--- a/lib/taurus/qt/qtdesigner/taurusplugin/taurusplugin.py
+++ b/lib/taurus/qt/qtdesigner/taurusplugin/taurusplugin.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtdesigner/tauruspluginplugin.py b/lib/taurus/qt/qtdesigner/tauruspluginplugin.py
index 086763b..82c0928 100644
--- a/lib/taurus/qt/qtdesigner/tauruspluginplugin.py
+++ b/lib/taurus/qt/qtdesigner/tauruspluginplugin.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/__init__.py b/lib/taurus/qt/qtgui/__init__.py
index b06ab26..e8a8ebc 100644
--- a/lib/taurus/qt/qtgui/__init__.py
+++ b/lib/taurus/qt/qtgui/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/application/__init__.py b/lib/taurus/qt/qtgui/application/__init__.py
index 8e63555..ad39dcd 100644
--- a/lib/taurus/qt/qtgui/application/__init__.py
+++ b/lib/taurus/qt/qtgui/application/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/application/taurusapplication.py b/lib/taurus/qt/qtgui/application/taurusapplication.py
index 2b6220f..b123bd7 100644
--- a/lib/taurus/qt/qtgui/application/taurusapplication.py
+++ b/lib/taurus/qt/qtgui/application/taurusapplication.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/base/__init__.py b/lib/taurus/qt/qtgui/base/__init__.py
index e3b7dcd..6caebb3 100644
--- a/lib/taurus/qt/qtgui/base/__init__.py
+++ b/lib/taurus/qt/qtgui/base/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/base/taurusbase.py b/lib/taurus/qt/qtgui/base/taurusbase.py
index 58e9530..3ee23e5 100644
--- a/lib/taurus/qt/qtgui/base/taurusbase.py
+++ b/lib/taurus/qt/qtgui/base/taurusbase.py
@@ -3,9 +3,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/base/tauruscontroller.py b/lib/taurus/qt/qtgui/base/tauruscontroller.py
index 440f72f..e0342aa 100644
--- a/lib/taurus/qt/qtgui/base/tauruscontroller.py
+++ b/lib/taurus/qt/qtgui/base/tauruscontroller.py
@@ -3,9 +3,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/base/taurusqattribute.py b/lib/taurus/qt/qtgui/base/taurusqattribute.py
index 0ed4cbc..382adde 100644
--- a/lib/taurus/qt/qtgui/base/taurusqattribute.py
+++ b/lib/taurus/qt/qtgui/base/taurusqattribute.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/button/__init__.py b/lib/taurus/qt/qtgui/button/__init__.py
index 28439e5..69bbade 100644
--- a/lib/taurus/qt/qtgui/button/__init__.py
+++ b/lib/taurus/qt/qtgui/button/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/button/qbuttonbox.py b/lib/taurus/qt/qtgui/button/qbuttonbox.py
index 19cf7ab..7a89fcb 100644
--- a/lib/taurus/qt/qtgui/button/qbuttonbox.py
+++ b/lib/taurus/qt/qtgui/button/qbuttonbox.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/button/taurusbutton.py b/lib/taurus/qt/qtgui/button/taurusbutton.py
index b6f47fb..9e049d1 100644
--- a/lib/taurus/qt/qtgui/button/taurusbutton.py
+++ b/lib/taurus/qt/qtgui/button/taurusbutton.py
@@ -3,9 +3,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/button/test/__init__.py b/lib/taurus/qt/qtgui/button/test/__init__.py
index 538a327..e097032 100644
--- a/lib/taurus/qt/qtgui/button/test/__init__.py
+++ b/lib/taurus/qt/qtgui/button/test/__init__.py
@@ -1,8 +1,8 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/button/test/res/__init__.py b/lib/taurus/qt/qtgui/button/test/res/__init__.py
index d36d30e..9503bca 100644
--- a/lib/taurus/qt/qtgui/button/test/res/__init__.py
+++ b/lib/taurus/qt/qtgui/button/test/res/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/button/test/test_taurusbutton.py b/lib/taurus/qt/qtgui/button/test/test_taurusbutton.py
index 3dbb82b..b40e5d0 100644
--- a/lib/taurus/qt/qtgui/button/test/test_taurusbutton.py
+++ b/lib/taurus/qt/qtgui/button/test/test_taurusbutton.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/compact/__init__.py b/lib/taurus/qt/qtgui/compact/__init__.py
index 6729529..3e453f4 100644
--- a/lib/taurus/qt/qtgui/compact/__init__.py
+++ b/lib/taurus/qt/qtgui/compact/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2013 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/compact/abstractswitcher.py b/lib/taurus/qt/qtgui/compact/abstractswitcher.py
index 8334dd6..2a890af 100644
--- a/lib/taurus/qt/qtgui/compact/abstractswitcher.py
+++ b/lib/taurus/qt/qtgui/compact/abstractswitcher.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2013 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/compact/basicswitcher.py b/lib/taurus/qt/qtgui/compact/basicswitcher.py
index a355b4d..2753541 100644
--- a/lib/taurus/qt/qtgui/compact/basicswitcher.py
+++ b/lib/taurus/qt/qtgui/compact/basicswitcher.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2013 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/console/__init__.py b/lib/taurus/qt/qtgui/console/__init__.py
index 0886060..dd60b84 100644
--- a/lib/taurus/qt/qtgui/console/__init__.py
+++ b/lib/taurus/qt/qtgui/console/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/console/taurusconsole.py b/lib/taurus/qt/qtgui/console/taurusconsole.py
index 97fe691..f87cb37 100644
--- a/lib/taurus/qt/qtgui/console/taurusconsole.py
+++ b/lib/taurus/qt/qtgui/console/taurusconsole.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/console/taurusconsoleapplication.py b/lib/taurus/qt/qtgui/console/taurusconsoleapplication.py
index 9f749a5..f69e02a 100644
--- a/lib/taurus/qt/qtgui/console/taurusconsoleapplication.py
+++ b/lib/taurus/qt/qtgui/console/taurusconsoleapplication.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/console/taurusconsoleextensions.py b/lib/taurus/qt/qtgui/console/taurusconsoleextensions.py
index 325c2bf..cdbe0f1 100644
--- a/lib/taurus/qt/qtgui/console/taurusconsoleextensions.py
+++ b/lib/taurus/qt/qtgui/console/taurusconsoleextensions.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/console/taurusconsolefactory.py b/lib/taurus/qt/qtgui/console/taurusconsolefactory.py
index ff7f4f6..6ca57cd 100644
--- a/lib/taurus/qt/qtgui/console/taurusconsolefactory.py
+++ b/lib/taurus/qt/qtgui/console/taurusconsolefactory.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/console/taurusconsolewidget.py b/lib/taurus/qt/qtgui/console/taurusconsolewidget.py
index 2ff1c47..1276aa4 100644
--- a/lib/taurus/qt/qtgui/console/taurusconsolewidget.py
+++ b/lib/taurus/qt/qtgui/console/taurusconsolewidget.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/console/taurusconsolewindow.py b/lib/taurus/qt/qtgui/console/taurusconsolewindow.py
index 13fdad0..aa14233 100644
--- a/lib/taurus/qt/qtgui/console/taurusconsolewindow.py
+++ b/lib/taurus/qt/qtgui/console/taurusconsolewindow.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/container/__init__.py b/lib/taurus/qt/qtgui/container/__init__.py
index 9613f40..bf7bad0 100644
--- a/lib/taurus/qt/qtgui/container/__init__.py
+++ b/lib/taurus/qt/qtgui/container/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/container/qcontainer.py b/lib/taurus/qt/qtgui/container/qcontainer.py
index c85d5e4..7c3faf8 100644
--- a/lib/taurus/qt/qtgui/container/qcontainer.py
+++ b/lib/taurus/qt/qtgui/container/qcontainer.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/container/taurusbasecontainer.py b/lib/taurus/qt/qtgui/container/taurusbasecontainer.py
index 5ab285b..7f73194 100644
--- a/lib/taurus/qt/qtgui/container/taurusbasecontainer.py
+++ b/lib/taurus/qt/qtgui/container/taurusbasecontainer.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/container/taurusframe.py b/lib/taurus/qt/qtgui/container/taurusframe.py
index 9edffcb..cb76e79 100644
--- a/lib/taurus/qt/qtgui/container/taurusframe.py
+++ b/lib/taurus/qt/qtgui/container/taurusframe.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/container/taurusgroupbox.py b/lib/taurus/qt/qtgui/container/taurusgroupbox.py
index 5d8fa6d..d8ce215 100644
--- a/lib/taurus/qt/qtgui/container/taurusgroupbox.py
+++ b/lib/taurus/qt/qtgui/container/taurusgroupbox.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/container/taurusgroupwidget.py b/lib/taurus/qt/qtgui/container/taurusgroupwidget.py
index 45e01fb..ef9bcde 100644
--- a/lib/taurus/qt/qtgui/container/taurusgroupwidget.py
+++ b/lib/taurus/qt/qtgui/container/taurusgroupwidget.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/container/taurusmainwindow.py b/lib/taurus/qt/qtgui/container/taurusmainwindow.py
index dad3bb7..4ae2103 100644
--- a/lib/taurus/qt/qtgui/container/taurusmainwindow.py
+++ b/lib/taurus/qt/qtgui/container/taurusmainwindow.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -45,13 +45,17 @@ from taurus.qt.qtgui.dialog import protectTaurusMessageBox
class CommandArgsLineEdit(Qt.QLineEdit):
''' An specialized QLineEdit that can transform its text from/to command argument lists'''
- def __init__(self, *args):
+ def __init__(self, extapp, *args):
Qt.QLineEdit.__init__(self, *args)
-
+ self._extapp = extapp
+ self.connect(self, Qt.SIGNAL("textEdited(QString)"), self.setCmdText)
+
def setCmdText(self, cmdargs):
if not isinstance(cmdargs, (basestring, Qt.QString)):
cmdargs = " ".join(cmdargs)
self.setText(cmdargs)
+ self._extapp.setCmdArgs(self.getCmdArgs(), False)
+
def getCmdArgs(self):
import shlex
return shlex.split(str(self.text()))
@@ -84,11 +88,34 @@ class ConfigurationDialog(Qt.QDialog, BaseConfigurableClass):
self.externalAppsPage.setWidgetResizable(True)
self._tabwidget.addTab(self.externalAppsPage, "External Application Paths")
label = "Command line for %s"%unicode(extapp.text())
- editWidget = CommandArgsLineEdit(" ".join(extapp.cmdArgs()))
+ editWidget = CommandArgsLineEdit(extapp, " ".join(extapp.cmdArgs()))
#editWidget = Qt.QLineEdit(" ".join(extapp.cmdArgs()))
self.externalAppsPage.widget().layout().addRow(label, editWidget)
- self.connect(editWidget, Qt.SIGNAL("textEdited(QString)"), extapp.setCmdArgs)
self.connect(extapp, Qt.SIGNAL("cmdArgsChanged"), editWidget.setCmdText)
+
+ def deleteExternalAppConfig(self, extapp):
+ '''Remove the given external application configuration from
+ the "External Apps" tab of the configuration dialog
+
+ :param extapp: (ExternalAppAction) the external application that is to
+ be included in the configuration menu.
+ '''
+ from taurus.external.qt import Qt
+ layout = self.externalAppsPage.widget().layout()
+ for cnt in reversed(range(layout.count())):
+ widget = layout.itemAt(cnt).widget()
+ if widget is not None:
+ text = str(widget.text()) # command1
+ if isinstance(widget, Qt.QLabel):
+ dialog_text = "Command line for %s" % unicode(extapp.text())
+ if text == dialog_text:
+ layout.removeWidget(widget)
+ widget.close()
+ else:
+ cmdargs = " ".join(extapp.cmdArgs())
+ if text == cmdargs:
+ layout.removeWidget(widget)
+ widget.close()
def show(self):
''' calls :meth:`Qt.QDialog.show` only if there is something to configure'''
@@ -726,7 +753,9 @@ class TaurusMainWindow(Qt.QMainWindow, TaurusBaseContainer):
self.saveSettings() #save current window state before closing
if hasattr(self,"socketServer"):
self.socketServer.close()
-
+ Qt.QMainWindow.closeEvent(self, event)
+ TaurusBaseContainer.closeEvent(self, event)
+
#print "\n\n------ MAIN WINDOW CLOSED ------ \n\n"
def addExternalAppLauncher(self, extapp, toToolBar=True, toMenu=True):
@@ -748,7 +777,8 @@ class TaurusMainWindow(Qt.QMainWindow, TaurusBaseContainer):
'''
if not isinstance(extapp, ExternalAppAction):
extapp = ExternalAppAction(extapp, parent = self)
- if extapp.parentWidget() is None: extapp.setParent(self)
+ if extapp.parentWidget() is None:
+ extapp.setParent(self)
self.configurationDialog.addExternalAppConfig(extapp)
self.configurationAction.setEnabled(True)
@@ -768,7 +798,32 @@ class TaurusMainWindow(Qt.QMainWindow, TaurusBaseContainer):
self.externalAppsMenu.addAction(extapp)
#register this action for config
self.registerConfigDelegate(extapp, "_extApp[%s]"%str(extapp.text()))
-
+
+ def deleteExternalAppLauncher(self, action):
+ '''
+ Remove launchers for an external application to the Tools Menu
+ and/or to the Tools ToolBar.
+
+ :param extapp: (ExternalAppAction) the external application
+ to be removed passed as a :class:`ExternalAppAction`
+ '''
+ self.configurationDialog.deleteExternalAppConfig(action)
+ try:
+ # if is in ToolBar
+ self.extAppsBar.removeAction(action)
+ self.extAppsBar.update()
+ except:
+ pass
+ try:
+ # if is in Menu
+ self.externalAppsMenu.removeAction(action)
+ self.externalAppsMenu.update
+ except:
+ pass
+ #unregister this action for config
+ self.unregisterConfigurableItem("_extApp[%s]" % str(action.text()),
+ raiseOnError=False)
+
def _onChangeTangoHostAction(self):
'''
slot called when the Change Tango Host is triggered. It prompts for a
diff --git a/lib/taurus/qt/qtgui/container/taurusscrollarea.py b/lib/taurus/qt/qtgui/container/taurusscrollarea.py
index d91eb7f..37b3470 100644
--- a/lib/taurus/qt/qtgui/container/taurusscrollarea.py
+++ b/lib/taurus/qt/qtgui/container/taurusscrollarea.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/container/tauruswidget.py b/lib/taurus/qt/qtgui/container/tauruswidget.py
index bccbe1d..4d182e6 100644
--- a/lib/taurus/qt/qtgui/container/tauruswidget.py
+++ b/lib/taurus/qt/qtgui/container/tauruswidget.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/dialog/__init__.py b/lib/taurus/qt/qtgui/dialog/__init__.py
index 7c43618..39f0961 100644
--- a/lib/taurus/qt/qtgui/dialog/__init__.py
+++ b/lib/taurus/qt/qtgui/dialog/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/dialog/taurusconfigurationdialog.py b/lib/taurus/qt/qtgui/dialog/taurusconfigurationdialog.py
index 5384e94..e339e00 100644
--- a/lib/taurus/qt/qtgui/dialog/taurusconfigurationdialog.py
+++ b/lib/taurus/qt/qtgui/dialog/taurusconfigurationdialog.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/dialog/taurusinputdialog.py b/lib/taurus/qt/qtgui/dialog/taurusinputdialog.py
index 786aa12..001a486 100644
--- a/lib/taurus/qt/qtgui/dialog/taurusinputdialog.py
+++ b/lib/taurus/qt/qtgui/dialog/taurusinputdialog.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/dialog/taurusmessagebox.py b/lib/taurus/qt/qtgui/dialog/taurusmessagebox.py
index 59bed83..08f3e3d 100644
--- a/lib/taurus/qt/qtgui/dialog/taurusmessagebox.py
+++ b/lib/taurus/qt/qtgui/dialog/taurusmessagebox.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/__init__.py b/lib/taurus/qt/qtgui/display/__init__.py
index 1b180ac..b796efd 100644
--- a/lib/taurus/qt/qtgui/display/__init__.py
+++ b/lib/taurus/qt/qtgui/display/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/demo/__init__.py b/lib/taurus/qt/qtgui/display/demo/__init__.py
index f9423cd..c0f5fce 100644
--- a/lib/taurus/qt/qtgui/display/demo/__init__.py
+++ b/lib/taurus/qt/qtgui/display/demo/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/demo/qpixmapwidgetdemo.py b/lib/taurus/qt/qtgui/display/demo/qpixmapwidgetdemo.py
index 1e78ff4..463c3cf 100644
--- a/lib/taurus/qt/qtgui/display/demo/qpixmapwidgetdemo.py
+++ b/lib/taurus/qt/qtgui/display/demo/qpixmapwidgetdemo.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/demo/tauruslabeldemo.py b/lib/taurus/qt/qtgui/display/demo/tauruslabeldemo.py
index 92ede2e..02b67c9 100644
--- a/lib/taurus/qt/qtgui/display/demo/tauruslabeldemo.py
+++ b/lib/taurus/qt/qtgui/display/demo/tauruslabeldemo.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/demo/tauruslcddemo.py b/lib/taurus/qt/qtgui/display/demo/tauruslcddemo.py
index 00e991c..fe23097 100644
--- a/lib/taurus/qt/qtgui/display/demo/tauruslcddemo.py
+++ b/lib/taurus/qt/qtgui/display/demo/tauruslcddemo.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/demo/taurusleddemo.py b/lib/taurus/qt/qtgui/display/demo/taurusleddemo.py
index 930be90..6af4e66 100644
--- a/lib/taurus/qt/qtgui/display/demo/taurusleddemo.py
+++ b/lib/taurus/qt/qtgui/display/demo/taurusleddemo.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/qfallback.py b/lib/taurus/qt/qtgui/display/qfallback.py
index 9f98326..103eea9 100644
--- a/lib/taurus/qt/qtgui/display/qfallback.py
+++ b/lib/taurus/qt/qtgui/display/qfallback.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/qled.py b/lib/taurus/qt/qtgui/display/qled.py
index 576df22..1066147 100644
--- a/lib/taurus/qt/qtgui/display/qled.py
+++ b/lib/taurus/qt/qtgui/display/qled.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -34,7 +34,7 @@ import sys
from taurus.external.qt import Qt
from taurus.core.util.enumeration import Enumeration
from taurus.qt.qtgui.resource import getPixmap
-from .qpixmapwidget import QPixmapWidget
+from taurus.qt.qtgui.display.qpixmapwidget import QPixmapWidget
LedColor = Enumeration("LedColor", ["BLUE", "GREEN", "RED", "YELLOW", "ORANGE", "MAGENTA", "GRENOBLE", "BLACK", "WHITE"])
LedStatus = Enumeration("LedStatus", ["ON", "OFF"])
diff --git a/lib/taurus/qt/qtgui/display/qlogo.py b/lib/taurus/qt/qtgui/display/qlogo.py
index d213f8b..981f923 100644
--- a/lib/taurus/qt/qtgui/display/qlogo.py
+++ b/lib/taurus/qt/qtgui/display/qlogo.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/qpixmapwidget.py b/lib/taurus/qt/qtgui/display/qpixmapwidget.py
index 22a1beb..fcad541 100644
--- a/lib/taurus/qt/qtgui/display/qpixmapwidget.py
+++ b/lib/taurus/qt/qtgui/display/qpixmapwidget.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/qsevensegment.py b/lib/taurus/qt/qtgui/display/qsevensegment.py
index 6cfd230..c2bac78 100644
--- a/lib/taurus/qt/qtgui/display/qsevensegment.py
+++ b/lib/taurus/qt/qtgui/display/qsevensegment.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/taurusboolled.py b/lib/taurus/qt/qtgui/display/taurusboolled.py
index 30c9bc2..a0af537 100644
--- a/lib/taurus/qt/qtgui/display/taurusboolled.py
+++ b/lib/taurus/qt/qtgui/display/taurusboolled.py
@@ -3,9 +3,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/taurusconfiglabel.py b/lib/taurus/qt/qtgui/display/taurusconfiglabel.py
index b08405c..59fdcea 100644
--- a/lib/taurus/qt/qtgui/display/taurusconfiglabel.py
+++ b/lib/taurus/qt/qtgui/display/taurusconfiglabel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/tauruslabel.py b/lib/taurus/qt/qtgui/display/tauruslabel.py
index e36f8f3..ebd96c5 100644
--- a/lib/taurus/qt/qtgui/display/tauruslabel.py
+++ b/lib/taurus/qt/qtgui/display/tauruslabel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/tauruslcd.py b/lib/taurus/qt/qtgui/display/tauruslcd.py
index 00b955e..4c2a3b9 100644
--- a/lib/taurus/qt/qtgui/display/tauruslcd.py
+++ b/lib/taurus/qt/qtgui/display/tauruslcd.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/tauruslcdvalue.py b/lib/taurus/qt/qtgui/display/tauruslcdvalue.py
index 850e483..3661740 100644
--- a/lib/taurus/qt/qtgui/display/tauruslcdvalue.py
+++ b/lib/taurus/qt/qtgui/display/tauruslcdvalue.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/taurusled.py b/lib/taurus/qt/qtgui/display/taurusled.py
index 70f6de9..1d8ceac 100644
--- a/lib/taurus/qt/qtgui/display/taurusled.py
+++ b/lib/taurus/qt/qtgui/display/taurusled.py
@@ -3,9 +3,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/taurusstateled.py b/lib/taurus/qt/qtgui/display/taurusstateled.py
index 3e0b995..d978ec2 100644
--- a/lib/taurus/qt/qtgui/display/taurusstateled.py
+++ b/lib/taurus/qt/qtgui/display/taurusstateled.py
@@ -3,9 +3,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/taurusvaluelabel.py b/lib/taurus/qt/qtgui/display/taurusvaluelabel.py
index 7247bb5..325d621 100644
--- a/lib/taurus/qt/qtgui/display/taurusvaluelabel.py
+++ b/lib/taurus/qt/qtgui/display/taurusvaluelabel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/test/__init__.py b/lib/taurus/qt/qtgui/display/test/__init__.py
index d36d30e..9503bca 100644
--- a/lib/taurus/qt/qtgui/display/test/__init__.py
+++ b/lib/taurus/qt/qtgui/display/test/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/display/test/test_tauruslabel.py b/lib/taurus/qt/qtgui/display/test/test_tauruslabel.py
index db2ae70..c07256b 100644
--- a/lib/taurus/qt/qtgui/display/test/test_tauruslabel.py
+++ b/lib/taurus/qt/qtgui/display/test/test_tauruslabel.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -49,7 +49,7 @@ class Bug169_Test(BaseWidgetTestCase, unittest.TestCase):
AttributeError: type object 'TaurusConfigurationProxy' has no attribute
'buildModelName'.
- See: http://sf.net/p/sardana/tickets/169/
+ See: http://sf.net/p/tauruslib/tickets/65/
.. seealso: :class:`taurus.qt.qtgui.test.base.BaseWidgetTestCase`
diff --git a/lib/taurus/qt/qtgui/editor/__init__.py b/lib/taurus/qt/qtgui/editor/__init__.py
index e0d4851..c2e37c4 100644
--- a/lib/taurus/qt/qtgui/editor/__init__.py
+++ b/lib/taurus/qt/qtgui/editor/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/editor/tauruseditor.py b/lib/taurus/qt/qtgui/editor/tauruseditor.py
index 0d4f0be..a712733 100644
--- a/lib/taurus/qt/qtgui/editor/tauruseditor.py
+++ b/lib/taurus/qt/qtgui/editor/tauruseditor.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_guiqwt/__init__.py b/lib/taurus/qt/qtgui/extra_guiqwt/__init__.py
index d913f6d..6bc4c9c 100644
--- a/lib/taurus/qt/qtgui/extra_guiqwt/__init__.py
+++ b/lib/taurus/qt/qtgui/extra_guiqwt/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_guiqwt/builder.py b/lib/taurus/qt/qtgui/extra_guiqwt/builder.py
index fd46670..1685ecd 100644
--- a/lib/taurus/qt/qtgui/extra_guiqwt/builder.py
+++ b/lib/taurus/qt/qtgui/extra_guiqwt/builder.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_guiqwt/curve.py b/lib/taurus/qt/qtgui/extra_guiqwt/curve.py
index 76a6605..d78b646 100644
--- a/lib/taurus/qt/qtgui/extra_guiqwt/curve.py
+++ b/lib/taurus/qt/qtgui/extra_guiqwt/curve.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_guiqwt/curvesmodel.py b/lib/taurus/qt/qtgui/extra_guiqwt/curvesmodel.py
index 005150f..a205f41 100644
--- a/lib/taurus/qt/qtgui/extra_guiqwt/curvesmodel.py
+++ b/lib/taurus/qt/qtgui/extra_guiqwt/curvesmodel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_guiqwt/image.py b/lib/taurus/qt/qtgui/extra_guiqwt/image.py
index ebffb74..e20a766 100644
--- a/lib/taurus/qt/qtgui/extra_guiqwt/image.py
+++ b/lib/taurus/qt/qtgui/extra_guiqwt/image.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -98,7 +98,7 @@ class TaurusBaseImageItem(TaurusBaseComponent):
See:
- http://code.google.com/p/guiqwt/issues/detail?id=44 and
- https://sourceforge.net/tracker/?func=detail&atid=484769&aid=3603991&group_id=57612
- - https://sourceforge.net/p/sardana/tickets/70/
+ - https://sourceforge.net/p/tauruslib/tickets/33/
'''
try:
dtype = data.dtype
@@ -109,7 +109,7 @@ class TaurusBaseImageItem(TaurusBaseComponent):
if dtype not in (float, numpy.double, numpy.int32, numpy.uint16,
numpy.int16, numpy.uint8, numpy.int8, bool):
- #note: numpy.uint32 was not included because of https://sourceforge.net/p/sardana/tickets/70/
+ #note: numpy.uint32 was not included because of https://sourceforge.net/p/tauruslib/tickets/33/
try:
self.debug('casting to numpy.int32')
v = numpy.int32(v)
@@ -152,7 +152,7 @@ class TaurusEncodedBaseImageItem(TaurusBaseImageItem):
if dtype not in (float, numpy.double, numpy.int32, numpy.uint16,
numpy.int16, numpy.uint8, numpy.int8, bool):
- #note: numpy.uint32 was not included because of https://sourceforge.net/p/sardana/tickets/70/
+ #note: numpy.uint32 was not included because of https://sourceforge.net/p/tauruslib/tickets/33/
try:
self.debug('casting to numpy.int32')
v = numpy.int32(v)
diff --git a/lib/taurus/qt/qtgui/extra_guiqwt/plot.py b/lib/taurus/qt/qtgui/extra_guiqwt/plot.py
index 72ea88a..db4bb25 100644
--- a/lib/taurus/qt/qtgui/extra_guiqwt/plot.py
+++ b/lib/taurus/qt/qtgui/extra_guiqwt/plot.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -63,7 +63,8 @@ class TaurusCurveDialog(CurveDialog, TaurusBaseWidget):
from taurus.qt.qtgui.extra_guiqwt.tools import TaurusCurveChooserTool
self.add_tool(TaurusCurveChooserTool)
self.setModifiableByUser(self._modifiableByUser)
-
+ self.setContextMenuPolicy(Qt.Qt.CustomContextMenu)
+
def keyPressEvent(self,event):
if(event.key() == Qt.Qt.Key_Escape):
event.ignore()
@@ -203,7 +204,8 @@ class TaurusTrendDialog(CurveDialog, TaurusBaseWidget):
if taurusparam is None:
taurusparam = TaurusTrendParam()
self.defaultTaurusparam = taurusparam
-
+ self.setContextMenuPolicy(Qt.Qt.CustomContextMenu)
+
def keyPressEvent(self,event):
if(event.key() == Qt.Qt.Key_Escape):
event.ignore()
@@ -417,7 +419,8 @@ class TaurusImageDialog(ImageDialog, TaurusBaseWidget):
from taurus.qt.qtgui.extra_guiqwt.tools import TaurusModelChooserTool
self.add_tool(TaurusModelChooserTool, singleModel=True)
self.setModifiableByUser(True)
-
+ self.setContextMenuPolicy(Qt.Qt.CustomContextMenu)
+
def keyPressEvent(self,event):
if(event.key() == Qt.Qt.Key_Escape):
event.ignore()
@@ -623,5 +626,4 @@ def taurusImageDlgMain():
if __name__ == "__main__":
# taurusCurveDlgMain()
taurusTrendDlgMain()
-# taurusImageDlgMain()
-
+# taurusImageDlgMain()
diff --git a/lib/taurus/qt/qtgui/extra_guiqwt/styles.py b/lib/taurus/qt/qtgui/extra_guiqwt/styles.py
index 77f1854..26183f6 100644
--- a/lib/taurus/qt/qtgui/extra_guiqwt/styles.py
+++ b/lib/taurus/qt/qtgui/extra_guiqwt/styles.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_guiqwt/taurustrend2d.py b/lib/taurus/qt/qtgui/extra_guiqwt/taurustrend2d.py
index 73f39e8..6f36f35 100644
--- a/lib/taurus/qt/qtgui/extra_guiqwt/taurustrend2d.py
+++ b/lib/taurus/qt/qtgui/extra_guiqwt/taurustrend2d.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_guiqwt/tools.py b/lib/taurus/qt/qtgui/extra_guiqwt/tools.py
index bae8d11..5ecd2bd 100644
--- a/lib/taurus/qt/qtgui/extra_guiqwt/tools.py
+++ b/lib/taurus/qt/qtgui/extra_guiqwt/tools.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_macroexecutor/__init__.py b/lib/taurus/qt/qtgui/extra_macroexecutor/__init__.py
index e87a243..ecba5e5 100644
--- a/lib/taurus/qt/qtgui/extra_macroexecutor/__init__.py
+++ b/lib/taurus/qt/qtgui/extra_macroexecutor/__init__.py
@@ -1,8 +1,8 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_nexus/__init__.py b/lib/taurus/qt/qtgui/extra_nexus/__init__.py
index adadae1..9657ed7 100644
--- a/lib/taurus/qt/qtgui/extra_nexus/__init__.py
+++ b/lib/taurus/qt/qtgui/extra_nexus/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_nexus/taurusnexuswidget.py b/lib/taurus/qt/qtgui/extra_nexus/taurusnexuswidget.py
index 1a75bda..8143ed4 100644
--- a/lib/taurus/qt/qtgui/extra_nexus/taurusnexuswidget.py
+++ b/lib/taurus/qt/qtgui/extra_nexus/taurusnexuswidget.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_pool/__init__.py b/lib/taurus/qt/qtgui/extra_pool/__init__.py
index 728e07b..be1ace3 100644
--- a/lib/taurus/qt/qtgui/extra_pool/__init__.py
+++ b/lib/taurus/qt/qtgui/extra_pool/__init__.py
@@ -1,8 +1,8 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_sardana/__init__.py b/lib/taurus/qt/qtgui/extra_sardana/__init__.py
index 2953ab8..3e35df3 100644
--- a/lib/taurus/qt/qtgui/extra_sardana/__init__.py
+++ b/lib/taurus/qt/qtgui/extra_sardana/__init__.py
@@ -1,8 +1,8 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_xterm/__init__.py b/lib/taurus/qt/qtgui/extra_xterm/__init__.py
index 3d6cc03..1fcf5d0 100644
--- a/lib/taurus/qt/qtgui/extra_xterm/__init__.py
+++ b/lib/taurus/qt/qtgui/extra_xterm/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/extra_xterm/qxtermwidget.py b/lib/taurus/qt/qtgui/extra_xterm/qxtermwidget.py
index 05dcf23..c8b255d 100644
--- a/lib/taurus/qt/qtgui/extra_xterm/qxtermwidget.py
+++ b/lib/taurus/qt/qtgui/extra_xterm/qxtermwidget.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/gauge/__init__.py b/lib/taurus/qt/qtgui/gauge/__init__.py
index c5b4855..31968cb 100644
--- a/lib/taurus/qt/qtgui/gauge/__init__.py
+++ b/lib/taurus/qt/qtgui/gauge/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/gauge/demo/__init__.py b/lib/taurus/qt/qtgui/gauge/demo/__init__.py
index 7ea2ec7..ae329fb 100644
--- a/lib/taurus/qt/qtgui/gauge/demo/__init__.py
+++ b/lib/taurus/qt/qtgui/gauge/demo/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/gauge/demo/qmeterdemo.py b/lib/taurus/qt/qtgui/gauge/demo/qmeterdemo.py
index bdc5351..5005dc9 100644
--- a/lib/taurus/qt/qtgui/gauge/demo/qmeterdemo.py
+++ b/lib/taurus/qt/qtgui/gauge/demo/qmeterdemo.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/gauge/qmeter.py b/lib/taurus/qt/qtgui/gauge/qmeter.py
index 9d21b06..78800f9 100644
--- a/lib/taurus/qt/qtgui/gauge/qmeter.py
+++ b/lib/taurus/qt/qtgui/gauge/qmeter.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/gauge/taurusgauge.py b/lib/taurus/qt/qtgui/gauge/taurusgauge.py
index e232367..174c938 100644
--- a/lib/taurus/qt/qtgui/gauge/taurusgauge.py
+++ b/lib/taurus/qt/qtgui/gauge/taurusgauge.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/graphic/__init__.py b/lib/taurus/qt/qtgui/graphic/__init__.py
index a15f26b..68229bf 100644
--- a/lib/taurus/qt/qtgui/graphic/__init__.py
+++ b/lib/taurus/qt/qtgui/graphic/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/graphic/jdraw/__init__.py b/lib/taurus/qt/qtgui/graphic/jdraw/__init__.py
index 5094a3f..c17174a 100644
--- a/lib/taurus/qt/qtgui/graphic/jdraw/__init__.py
+++ b/lib/taurus/qt/qtgui/graphic/jdraw/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/graphic/jdraw/jdraw.py b/lib/taurus/qt/qtgui/graphic/jdraw/jdraw.py
index 7157411..1e0e4c1 100644
--- a/lib/taurus/qt/qtgui/graphic/jdraw/jdraw.py
+++ b/lib/taurus/qt/qtgui/graphic/jdraw/jdraw.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/graphic/jdraw/jdraw_parser.py b/lib/taurus/qt/qtgui/graphic/jdraw/jdraw_parser.py
index 425ea33..84c6156 100644
--- a/lib/taurus/qt/qtgui/graphic/jdraw/jdraw_parser.py
+++ b/lib/taurus/qt/qtgui/graphic/jdraw/jdraw_parser.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/graphic/jdraw/jdraw_view.py b/lib/taurus/qt/qtgui/graphic/jdraw/jdraw_view.py
index be92f70..5497e1b 100644
--- a/lib/taurus/qt/qtgui/graphic/jdraw/jdraw_view.py
+++ b/lib/taurus/qt/qtgui/graphic/jdraw/jdraw_view.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/graphic/jdraw/test/__init__.py b/lib/taurus/qt/qtgui/graphic/jdraw/test/__init__.py
index 810fb34..b5472aa 100644
--- a/lib/taurus/qt/qtgui/graphic/jdraw/test/__init__.py
+++ b/lib/taurus/qt/qtgui/graphic/jdraw/test/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/graphic/jdraw/test/res/__init__.py b/lib/taurus/qt/qtgui/graphic/jdraw/test/res/__init__.py
index 7d2077d..fdef775 100644
--- a/lib/taurus/qt/qtgui/graphic/jdraw/test/res/__init__.py
+++ b/lib/taurus/qt/qtgui/graphic/jdraw/test/res/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/graphic/taurusgraphic.py b/lib/taurus/qt/qtgui/graphic/taurusgraphic.py
index f93e07c..e69c8ef 100644
--- a/lib/taurus/qt/qtgui/graphic/taurusgraphic.py
+++ b/lib/taurus/qt/qtgui/graphic/taurusgraphic.py
@@ -3,9 +3,9 @@ import PyTango
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/graphic/taurusgraphicview.py b/lib/taurus/qt/qtgui/graphic/taurusgraphicview.py
index 190a385..4d62414 100644
--- a/lib/taurus/qt/qtgui/graphic/taurusgraphicview.py
+++ b/lib/taurus/qt/qtgui/graphic/taurusgraphicview.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/help/__init__.py b/lib/taurus/qt/qtgui/help/__init__.py
index 91112ec..e9cf2e4 100644
--- a/lib/taurus/qt/qtgui/help/__init__.py
+++ b/lib/taurus/qt/qtgui/help/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/help/aboutdialog.py b/lib/taurus/qt/qtgui/help/aboutdialog.py
index 1c0db62..5dfff2e 100644
--- a/lib/taurus/qt/qtgui/help/aboutdialog.py
+++ b/lib/taurus/qt/qtgui/help/aboutdialog.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/help/assistant.py b/lib/taurus/qt/qtgui/help/assistant.py
index aedd808..30b1455 100644
--- a/lib/taurus/qt/qtgui/help/assistant.py
+++ b/lib/taurus/qt/qtgui/help/assistant.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/help/helppanel.py b/lib/taurus/qt/qtgui/help/helppanel.py
index ad7bafe..701f9c2 100644
--- a/lib/taurus/qt/qtgui/help/helppanel.py
+++ b/lib/taurus/qt/qtgui/help/helppanel.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/image/__init__.py b/lib/taurus/qt/qtgui/image/__init__.py
index b0e9035..994241a 100644
--- a/lib/taurus/qt/qtgui/image/__init__.py
+++ b/lib/taurus/qt/qtgui/image/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/image/taurusqub.py b/lib/taurus/qt/qtgui/image/taurusqub.py
index e60c743..22d8b7a 100644
--- a/lib/taurus/qt/qtgui/image/taurusqub.py
+++ b/lib/taurus/qt/qtgui/image/taurusqub.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/input/__init__.py b/lib/taurus/qt/qtgui/input/__init__.py
index a5b3ae3..cc5c7b0 100644
--- a/lib/taurus/qt/qtgui/input/__init__.py
+++ b/lib/taurus/qt/qtgui/input/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/input/choicedlg.py b/lib/taurus/qt/qtgui/input/choicedlg.py
index 78f5d64..e72ebb6 100644
--- a/lib/taurus/qt/qtgui/input/choicedlg.py
+++ b/lib/taurus/qt/qtgui/input/choicedlg.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/input/qwheel.py b/lib/taurus/qt/qtgui/input/qwheel.py
index 2279a5b..54c56ff 100644
--- a/lib/taurus/qt/qtgui/input/qwheel.py
+++ b/lib/taurus/qt/qtgui/input/qwheel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -31,11 +31,10 @@ __docformat__ = 'restructuredtext'
import os
import math
+import numpy
from taurus.external.qt import Qt
-#from taurus.qt.qtgui.resource.qrc_extra_icons import *
-
class _ArrowButton(Qt.QPushButton):
"""Private class to be used by QWheelEdit for an arrow button"""
@@ -201,14 +200,12 @@ class QWheelEdit(Qt.QFrame):
self._previous_value = 0
self._value = 0
self._value_str = '0'
- self._minValue = float('-inf')
- self._maxValue = float('+inf')
+ self._minValue = numpy.finfo('d').min # -inf
+ self._maxValue = numpy.finfo('d').max # inf
self._editor = None
self._editing = False
self._showArrowButtons = True
self._setDigits(QWheelEdit.DefaultIntDigitCount, QWheelEdit.DefaultDecDigitCount)
-
- self._setMinMax( self._getMinPossibleValue(), self._getMaxPossibleValue())
self._setValue(0)
self._build()
@@ -259,7 +256,7 @@ class QWheelEdit(Qt.QFrame):
signLabel = _DigitLabel('+')
signLabel.setFocusPolicy(Qt.Qt.NoFocus)
- signLabel.setAlignment(Qt.Qt.AlignRight)
+ signLabel.setAlignment(Qt.Qt.AlignRight|Qt.Qt.AlignVCenter)
self._digitLabels.append(signLabel)
l.addWidget(signLabel, 1, 0)
l.setRowMinimumHeight(1, signLabel.minimumSizeHint().height())
@@ -371,24 +368,33 @@ class QWheelEdit(Qt.QFrame):
def _setDigits(self, int_nb=None, dec_nb=None):
"""_setDigits(self, int_nb=None, dec_nb=None) -> None
-
- Sets the number of digits that this widget shows.
-
+
+ Sets the number of digits that this widget shows. It will ensure that
+ the current value can be displayed (i.e., int_nb will be forced to be
+ large enough for displaying the integer representation of the value)
+
@param[in] int_nb (int) number of integer digits (optional, default is
None, meaning use the existing number of integer digits
@param[in] dec_nb (int) number of decimal digits (optional, default is
None, meaning use the existing number of decimal digits
"""
+
if not int_nb is None:
self._intDigitCount = int_nb
if not dec_nb is None:
self._decDigitCount = dec_nb
+
+ # make sure that the current value can be displayed
+ self._intDigitCount = max(self._intDigitCount, len("%d" % self._value))
+
self._digitCount = self._intDigitCount + self._decDigitCount
total_chars = self._digitCount
total_chars += 1 # for sign
if self._decDigitCount > 0:
total_chars += 1 # for dot
self._valueFormat = '%%+0%d.%df' % (total_chars, self._decDigitCount)
+ self._setMinMax( self._getMinPossibleValue(),
+ self._getMaxPossibleValue())
# we call setValue to update the self._value_str
self._setValue(self.getValue())
@@ -403,10 +409,11 @@ class QWheelEdit(Qt.QFrame):
@return (str) a proper string representation of the given value
"""
if v is None:
- return (self._valueFormat % 0).replace('0', '-')
- ret = self._valueFormat % v
- if ret.endswith('nan'):
- ret = ret.replace('0',' ')
+ ret = (self._valueFormat % 0).replace('0', '-')
+ else:
+ ret = self._valueFormat % v
+ if ret.endswith('nan'):
+ ret = ret.replace('0',' ')
self._value_str = ret
return ret
@@ -739,7 +746,7 @@ class QWheelEdit(Qt.QFrame):
rect = Qt.QRect(l.cellRect(1, 0).topLeft(), l.cellRect(1,
l.columnCount() - 1).bottomRight())
ed.setGeometry(rect)
- ed.setAlignment(Qt.Qt.AlignRight);
+ ed.setAlignment(Qt.Qt.AlignRight)
ed.setMaxLength(self.getDigitCount() + 2)
ed.setText(self.getValueStr())
ed.selectAll()
@@ -888,8 +895,8 @@ def main():
button_layout.addWidget(resetbutton)
isb.setValue(arrowWidget.getIntDigitCount())
dsb.setValue(arrowWidget.getDecDigitCount())
- minv.setRange(float('-inf'), float('+inf'))
- maxv.setRange(float('-inf'), float('+inf'))
+ minv.setRange(numpy.finfo('d').min, numpy.finfo('d').max)
+ maxv.setRange(numpy.finfo('d').min, numpy.finfo('d').max)
minv.setValue(arrowWidget.getMinValue())
maxv.setValue(arrowWidget.getMaxValue())
showarrowbutton.setChecked(arrowWidget.getShowArrowButtons())
diff --git a/lib/taurus/qt/qtgui/input/tauruscheckbox.py b/lib/taurus/qt/qtgui/input/tauruscheckbox.py
index 7a16138..ba7c3e1 100644
--- a/lib/taurus/qt/qtgui/input/tauruscheckbox.py
+++ b/lib/taurus/qt/qtgui/input/tauruscheckbox.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/input/tauruscombobox.py b/lib/taurus/qt/qtgui/input/tauruscombobox.py
index 46f9379..efe5810 100644
--- a/lib/taurus/qt/qtgui/input/tauruscombobox.py
+++ b/lib/taurus/qt/qtgui/input/tauruscombobox.py
@@ -3,9 +3,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/input/tauruslineedit.py b/lib/taurus/qt/qtgui/input/tauruslineedit.py
index 36a0fac..b677776 100644
--- a/lib/taurus/qt/qtgui/input/tauruslineedit.py
+++ b/lib/taurus/qt/qtgui/input/tauruslineedit.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/input/taurusspinbox.py b/lib/taurus/qt/qtgui/input/taurusspinbox.py
index e7b8533..15c509b 100644
--- a/lib/taurus/qt/qtgui/input/taurusspinbox.py
+++ b/lib/taurus/qt/qtgui/input/taurusspinbox.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/input/tauruswheel.py b/lib/taurus/qt/qtgui/input/tauruswheel.py
index a962621..6495961 100644
--- a/lib/taurus/qt/qtgui/input/tauruswheel.py
+++ b/lib/taurus/qt/qtgui/input/tauruswheel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -29,9 +29,10 @@ __all__ = ["TaurusWheelEdit" ]
__docformat__ = 'restructuredtext'
+import taurus
from taurus.external.qt import Qt
-import taurus.core
+from taurus.core.taurusbasetypes import TaurusEventType
from taurus.qt.qtgui.base import TaurusBaseWritableWidget
from qwheel import QWheelEdit
@@ -51,30 +52,44 @@ class TaurusWheelEdit(QWheelEdit, TaurusBaseWritableWidget):
#-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
def handleEvent(self, evt_src, evt_type, evt_value):
- if evt_type == taurus.core.taurusbasetypes.TaurusEventType.Config and not evt_value is None:
- f = evt_value.format.lower()
- if f[-1] not in ('d', 'f', 'g'):
- raise ValueError("'%s' format unsupported" % f)
- f = f.replace('g','f')
- if 'd' == f[-1]:
- dec_nb = 0
- try: total = int(f[1:-1])
- except: total = 6
+ if evt_type == TaurusEventType.Config and evt_value is not None:
+ import re
+ # match the format string to "%[width][.precision][f_type]"
+ m = re.match(r'%([0-9]+)?(\.([0-9]+))?([df])', evt_value.format)
+ if m is None:
+ raise ValueError("'%s' format unsupported" % evt_value.format)
+
+ width, _, precision, f_type = m.groups()
+
+ if width is None:
+ width = self.DefaultIntDigitCount + \
+ self.DefaultDecDigitCount + 1
+ else:
+ width = int(width)
+
+ if precision is None:
+ precision = self.DefaultDecDigitCount
+ else:
+ precision = int(precision)
+
+ dec_nb = precision
+
+ if dec_nb == 0 or f_type == 'd':
+ int_nb = width
else:
- f = map(int, f[1:-1].split('.', 1))
- total = f[0]
- if len(f)>1:
- dec_nb = f[1]
- else:
- dec_nb = 2
- int_nb = total-dec_nb
+ int_nb = width - dec_nb - 1 # account for decimal sep
+
self.setDigitCount(int_nb=int_nb, dec_nb=dec_nb)
- try: self.setMinValue(float(evt_value.min_value))
- except: pass
- try: self.setMaxValue(float(evt_value.max_value))
- except: pass
+ try:
+ self.setMinValue(float(evt_value.min_value))
+ except:
+ pass
+ try:
+ self.setMaxValue(float(evt_value.max_value))
+ except:
+ pass
TaurusBaseWritableWidget.handleEvent(self, evt_src, evt_type, evt_value)
-
+
def updateStyle(self):
TaurusBaseWritableWidget.updateStyle(self)
if self.hasPendingOperations():
diff --git a/lib/taurus/qt/qtgui/model/__init__.py b/lib/taurus/qt/qtgui/model/__init__.py
index f5cfc48..19f1b59 100644
--- a/lib/taurus/qt/qtgui/model/__init__.py
+++ b/lib/taurus/qt/qtgui/model/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/model/qbasemodel.py b/lib/taurus/qt/qtgui/model/qbasemodel.py
index e891a15..3812009 100644
--- a/lib/taurus/qt/qtgui/model/qbasemodel.py
+++ b/lib/taurus/qt/qtgui/model/qbasemodel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/__init__.py b/lib/taurus/qt/qtgui/panel/__init__.py
index 338fa5d..4d326b2 100644
--- a/lib/taurus/qt/qtgui/panel/__init__.py
+++ b/lib/taurus/qt/qtgui/panel/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/qdataexportdialog.py b/lib/taurus/qt/qtgui/panel/qdataexportdialog.py
index 140e5a0..ecd2cb9 100644
--- a/lib/taurus/qt/qtgui/panel/qdataexportdialog.py
+++ b/lib/taurus/qt/qtgui/panel/qdataexportdialog.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -50,7 +50,7 @@ class QDataExportDialog(Qt.QDialog):
allInSingleFile = "All sets in a single file (table like)"
allInMultipleFiles = "All set in multiple files"
- def __init__(self, parent=None, datadict=None):
+ def __init__(self, parent=None, datadict=None, sortedNames=None):
super(QDataExportDialog,self).__init__(parent)
self.loadUi()
self._xIsTime = False
@@ -59,17 +59,21 @@ class QDataExportDialog(Qt.QDialog):
Qt.QObject.connect(self.exportBT,Qt.SIGNAL("clicked()"),self.exportData)
Qt.QObject.connect(self.dataSetCB,Qt.SIGNAL("currentIndexChanged(const QString&)"),self.onDataSetCBChange)
- self.setDataSets(datadict)
+ self.setDataSets(datadict, sortedNames)
+
- def setDataSets(self, datadict):
+ def setDataSets(self, datadict, sortedNames=None):
"""Used to set the sets that are to be offered for exporting. It overwrites previous values.
"""
if datadict is None: return
+ if sortedNames is None:
+ sortedNames = sorted(self.datadict.keys())
+ self.sortedNames = sortedNames
self.datatime=datetime.now()
self.datadict=datadict
self.dataSetCB.clear()
- self.dataSetCB.insertItems(0,sorted(self.datadict.keys()))
+ self.dataSetCB.insertItems(0, sortedNames)
if len(self.datadict.keys()) > 1:
self.dataSetCB.insertItems(0,[self.allInSingleFile, self.allInMultipleFiles])
@@ -118,7 +122,7 @@ class QDataExportDialog(Qt.QDialog):
outputdir=Qt.QFileDialog.getExistingDirectory (self, 'Export Directory', Qt.QString())
if not outputdir:return False
preffix=os.path.join(str(outputdir),"set")
- for i,k in zip(range(len(self.datadict)),sorted(self.datadict.keys())):
+ for i,k in zip(range(len(self.datadict)), self.sortedNames):
ofile="%s%03i.dat"%(preffix,i+1)
try:
self.exportCurrentData(set=k,ofile=ofile,verbose=False,AllowCloseAfter=False)
@@ -143,9 +147,12 @@ class QDataExportDialog(Qt.QDialog):
header = "# DATASET= "
body = ""
previous = None
- for curve_name in sorted(self.datadict.keys()):
+ for curve_name in self.sortedNames:
xdata, ydata = self.datadict[curve_name]
- if (previous is not None) and (previous != xdata):
+ if previous is None:
+ previous = xdata
+ header +=' "abscissa"'
+ elif previous != xdata:
if (key==self.allInSingleFile):
self.dataTE.clear()
Qt.QMessageBox.critical(self,\
@@ -158,17 +165,17 @@ class QDataExportDialog(Qt.QDialog):
self.dataTE.insertPlainText("Unable to display because abscissas are different.\n"\
"Curves will be saved each one in its own file")
return
- else:
- previous = xdata
- header +=' "abscissa", "%s"' % curve_name
+ header +=' , "%s"' % curve_name
+
header+="\n# SNAPSHOT_TIME= %s\n"%self.datatime.isoformat('_')
#if we reached this point x axes are equal, so fill the editor with the data
for i, x in enumerate(previous):
if self.xIsTime():
+ t=datetime.fromtimestamp(x)
body += "%s" % t.isoformat('_')
else:
body += "%g" % x
- for curve_name in sorted(self.datadict.keys()):
+ for curve_name in self.sortedNames:
xdata, ydata = self.datadict[curve_name]
body += ("\t%g" % ydata[i])
body+="\n"
diff --git a/lib/taurus/qt/qtgui/panel/qdoublelist.py b/lib/taurus/qt/qtgui/panel/qdoublelist.py
index 48e2d8a..be50e7a 100644
--- a/lib/taurus/qt/qtgui/panel/qdoublelist.py
+++ b/lib/taurus/qt/qtgui/panel/qdoublelist.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/qrawdatachooser.py b/lib/taurus/qt/qtgui/panel/qrawdatachooser.py
index 7ba9ce1..5d8d15d 100644
--- a/lib/taurus/qt/qtgui/panel/qrawdatachooser.py
+++ b/lib/taurus/qt/qtgui/panel/qrawdatachooser.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/report/__init__.py b/lib/taurus/qt/qtgui/panel/report/__init__.py
index 208f8eb..369b6eb 100644
--- a/lib/taurus/qt/qtgui/panel/report/__init__.py
+++ b/lib/taurus/qt/qtgui/panel/report/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/report/albareport.py b/lib/taurus/qt/qtgui/panel/report/albareport.py
index 53604ea..ef0fe12 100644
--- a/lib/taurus/qt/qtgui/panel/report/albareport.py
+++ b/lib/taurus/qt/qtgui/panel/report/albareport.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/report/basicreport.py b/lib/taurus/qt/qtgui/panel/report/basicreport.py
index 57dcb46..43d0665 100644
--- a/lib/taurus/qt/qtgui/panel/report/basicreport.py
+++ b/lib/taurus/qt/qtgui/panel/report/basicreport.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/taurusattributechooser.py b/lib/taurus/qt/qtgui/panel/taurusattributechooser.py
index f3cd813..3fdcdeb 100644
--- a/lib/taurus/qt/qtgui/panel/taurusattributechooser.py
+++ b/lib/taurus/qt/qtgui/panel/taurusattributechooser.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/taurusconfigbrowser.py b/lib/taurus/qt/qtgui/panel/taurusconfigbrowser.py
index d99fcbd..521d750 100644
--- a/lib/taurus/qt/qtgui/panel/taurusconfigbrowser.py
+++ b/lib/taurus/qt/qtgui/panel/taurusconfigbrowser.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/taurusconfigeditor.py b/lib/taurus/qt/qtgui/panel/taurusconfigeditor.py
index 93b6377..3e442d4 100644
--- a/lib/taurus/qt/qtgui/panel/taurusconfigeditor.py
+++ b/lib/taurus/qt/qtgui/panel/taurusconfigeditor.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/taurusconfigurationpanel.py b/lib/taurus/qt/qtgui/panel/taurusconfigurationpanel.py
index 1b64e2d..6c60028 100644
--- a/lib/taurus/qt/qtgui/panel/taurusconfigurationpanel.py
+++ b/lib/taurus/qt/qtgui/panel/taurusconfigurationpanel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/taurusdevicepanel.py b/lib/taurus/qt/qtgui/panel/taurusdevicepanel.py
index e2bb4ee..73df63f 100644
--- a/lib/taurus/qt/qtgui/panel/taurusdevicepanel.py
+++ b/lib/taurus/qt/qtgui/panel/taurusdevicepanel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/taurusfilterpanel.py b/lib/taurus/qt/qtgui/panel/taurusfilterpanel.py
index b4c77e3..70275ce 100644
--- a/lib/taurus/qt/qtgui/panel/taurusfilterpanel.py
+++ b/lib/taurus/qt/qtgui/panel/taurusfilterpanel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/taurusform.py b/lib/taurus/qt/qtgui/panel/taurusform.py
index 83ba242..99c2ec5 100644
--- a/lib/taurus/qt/qtgui/panel/taurusform.py
+++ b/lib/taurus/qt/qtgui/panel/taurusform.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/taurusinputpanel.py b/lib/taurus/qt/qtgui/panel/taurusinputpanel.py
index eb4fe44..e975240 100644
--- a/lib/taurus/qt/qtgui/panel/taurusinputpanel.py
+++ b/lib/taurus/qt/qtgui/panel/taurusinputpanel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/taurusmessagepanel.py b/lib/taurus/qt/qtgui/panel/taurusmessagepanel.py
index 807d65c..1826d56 100644
--- a/lib/taurus/qt/qtgui/panel/taurusmessagepanel.py
+++ b/lib/taurus/qt/qtgui/panel/taurusmessagepanel.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/taurusmodelchooser.py b/lib/taurus/qt/qtgui/panel/taurusmodelchooser.py
index 67ef89b..d96264d 100644
--- a/lib/taurus/qt/qtgui/panel/taurusmodelchooser.py
+++ b/lib/taurus/qt/qtgui/panel/taurusmodelchooser.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/taurusmodellist.py b/lib/taurus/qt/qtgui/panel/taurusmodellist.py
index 0664fa1..d8c0dda 100644
--- a/lib/taurus/qt/qtgui/panel/taurusmodellist.py
+++ b/lib/taurus/qt/qtgui/panel/taurusmodellist.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/taurusvalue.py b/lib/taurus/qt/qtgui/panel/taurusvalue.py
index cd492d9..85b00d0 100644
--- a/lib/taurus/qt/qtgui/panel/taurusvalue.py
+++ b/lib/taurus/qt/qtgui/panel/taurusvalue.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -318,7 +318,7 @@ class TaurusValue(Qt.QWidget, TaurusBaseWidget):
used, it returns the switcher's writeWidget instead of None.
'''
if followCompact and self.isCompact():
- return self._readWidget.writeWidget
+ return getattr(self._readWidget,'writeWidget', None)
return self._writeWidget
def unitsWidget(self):
diff --git a/lib/taurus/qt/qtgui/panel/test/__init__.py b/lib/taurus/qt/qtgui/panel/test/__init__.py
index d36d30e..9503bca 100644
--- a/lib/taurus/qt/qtgui/panel/test/__init__.py
+++ b/lib/taurus/qt/qtgui/panel/test/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/test/test_taurusform.py b/lib/taurus/qt/qtgui/panel/test/test_taurusform.py
index e20963c..641d037 100644
--- a/lib/taurus/qt/qtgui/panel/test/test_taurusform.py
+++ b/lib/taurus/qt/qtgui/panel/test/test_taurusform.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py b/lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py
index 0c26855..8a93bcc 100644
--- a/lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py
+++ b/lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/plot/__init__.py b/lib/taurus/qt/qtgui/plot/__init__.py
index 2c5d19e..f7b4795 100644
--- a/lib/taurus/qt/qtgui/plot/__init__.py
+++ b/lib/taurus/qt/qtgui/plot/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/plot/arrayedit.py b/lib/taurus/qt/qtgui/plot/arrayedit.py
index 24d15aa..016d138 100644
--- a/lib/taurus/qt/qtgui/plot/arrayedit.py
+++ b/lib/taurus/qt/qtgui/plot/arrayedit.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/plot/curveStatsDlg.py b/lib/taurus/qt/qtgui/plot/curveStatsDlg.py
index 2208dca..997a7f0 100644
--- a/lib/taurus/qt/qtgui/plot/curveStatsDlg.py
+++ b/lib/taurus/qt/qtgui/plot/curveStatsDlg.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/plot/curveprops.py b/lib/taurus/qt/qtgui/plot/curveprops.py
index 2faa83b..91345ba 100644
--- a/lib/taurus/qt/qtgui/plot/curveprops.py
+++ b/lib/taurus/qt/qtgui/plot/curveprops.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/plot/curvesAppearanceChooserDlg.py b/lib/taurus/qt/qtgui/plot/curvesAppearanceChooserDlg.py
index 106dccb..ebb043e 100644
--- a/lib/taurus/qt/qtgui/plot/curvesAppearanceChooserDlg.py
+++ b/lib/taurus/qt/qtgui/plot/curvesAppearanceChooserDlg.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/plot/monitor.py b/lib/taurus/qt/qtgui/plot/monitor.py
index 2d4410d..343e8a9 100644
--- a/lib/taurus/qt/qtgui/plot/monitor.py
+++ b/lib/taurus/qt/qtgui/plot/monitor.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/plot/qwtdialog.py b/lib/taurus/qt/qtgui/plot/qwtdialog.py
index c44f88d..4c1424a 100644
--- a/lib/taurus/qt/qtgui/plot/qwtdialog.py
+++ b/lib/taurus/qt/qtgui/plot/qwtdialog.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -148,7 +148,7 @@ class TaurusPlotConfigDialog(Qt.QDialog):
#qwt QwtPlot.axis enum type to relate our GUI combo name and qwt axis name (enum type).
axes = [self.ui.y1ModeComboBox, self.ui.y2ModeComboBox, self.ui.xModeComboBox]
for axis in range(len(axes)):
- scaleType = self.parent.axisScaleEngine(axis).transformation().type()
+ scaleType = self.parent.getAxisTransformationType(axis)
if scaleType == Qwt5.QwtScaleTransformation.Linear:
axes[axis].setCurrentIndex(0)
elif scaleType == Qwt5.QwtScaleTransformation.Log10:
diff --git a/lib/taurus/qt/qtgui/plot/qwtplot.py b/lib/taurus/qt/qtgui/plot/qwtplot.py
index 5800069..e7c4b7d 100644
--- a/lib/taurus/qt/qtgui/plot/qwtplot.py
+++ b/lib/taurus/qt/qtgui/plot/qwtplot.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/plot/scales.py b/lib/taurus/qt/qtgui/plot/scales.py
index 046c590..36d085c 100644
--- a/lib/taurus/qt/qtgui/plot/scales.py
+++ b/lib/taurus/qt/qtgui/plot/scales.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/plot/taurusarrayedit.py b/lib/taurus/qt/qtgui/plot/taurusarrayedit.py
index 3faac8a..cbc9c20 100644
--- a/lib/taurus/qt/qtgui/plot/taurusarrayedit.py
+++ b/lib/taurus/qt/qtgui/plot/taurusarrayedit.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/plot/taurusplot.py b/lib/taurus/qt/qtgui/plot/taurusplot.py
index ab53298..9a1ddf1 100644
--- a/lib/taurus/qt/qtgui/plot/taurusplot.py
+++ b/lib/taurus/qt/qtgui/plot/taurusplot.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -67,13 +67,16 @@ class DummyLock(object):
#from taurus.core.util.log import TraceIt, DebugIt, InfoIt, WarnIt
-DFT_CURVE_PENS = [Qt.QPen(Qt.Qt.red, 2),
- Qt.QPen(Qt.Qt.blue, 2),
- Qt.QPen(Qt.Qt.green, 2),
- Qt.QPen(Qt.Qt.magenta, 2),
- Qt.QPen(Qt.Qt.cyan, 2),
- Qt.QPen(Qt.Qt.yellow, 2),
- Qt.QPen(Qt.Qt.black, 2)]
+DFT_CURVE_PENS = [Qt.QPen(Qt.Qt.red),
+ Qt.QPen(Qt.Qt.blue),
+ Qt.QPen(Qt.Qt.green),
+ Qt.QPen(Qt.Qt.magenta),
+ Qt.QPen(Qt.Qt.cyan),
+ Qt.QPen(Qt.Qt.yellow),
+ Qt.QPen(Qt.Qt.black)]
+
+for __p in DFT_CURVE_PENS:
+ __p.setWidth(1) # TODO: we would like this to be 2, but bug #171 forces 1
class TaurusZoomer(Qwt5.QwtPlotZoomer):
'''A QwtPlotZoomer that displays the label assuming that X values are timestamps'''
@@ -668,11 +671,22 @@ class TaurusCurve(Qwt5.QwtPlotCurve, TaurusBaseComponent):
if prop.sStyle is not None: s.setStyle(Qwt5.QwtSymbol.Style(prop.sStyle))
if prop.sSize is not None: s.setSize(prop.sSize)
if prop.sColor is not None:
- s.brush().setColor(Qt.QColor(prop.sColor))
- s.pen().setColor(s.brush().color()) #the symbol pen color is the same as the symbol filling
+ b = s.brush()
+ p = s.pen()
+ color = Qt.QColor(prop.sColor)
+ p.setColor(color)
+ b.setColor(color)
+ b.setStyle(Qt.Qt.NoBrush)
+ s.setBrush(b)
+ s.setPen(p)
if prop.sFill is not None:
- if prop.sFill: s.brush().setStyle(Qt.Qt.SolidPattern)
- else: s.brush().setStyle(Qt.Qt.NoBrush)
+ b = s.brush()
+ if prop.sFill:
+ b.setStyle(Qt.Qt.SolidPattern)
+ s.setBrush(b)
+ else:
+ s.brush().setStyle(Qt.Qt.NoBrush)
+ s.setBrush(b)
p = Qt.QPen(self.pen())
if prop.lStyle is not None: p.setStyle(prop.lStyle)
if prop.lWidth is not None: p.setWidth(prop.lWidth)
@@ -754,12 +768,12 @@ class TaurusCurve(Qwt5.QwtPlotCurve, TaurusBaseComponent):
if self.isFilteredWhenLog():
#filter out the nonpossitive elements if the scale is logarithmic
if self.plot():
- type_ = self.plot().axisScaleEngine(self.xAxis()).transformation().type()
+ type_ = self.plot().getAxisTransformationType(self.xAxis())
if type_ == Qwt5.QwtScaleTransformation.Log10:
x,y = numpy.array(x),numpy.array(y)
valid = x>0 #this is an array of bools representing valid entries
x , y = x[valid], y[valid]
- type_ = self.plot().axisScaleEngine(self.yAxis()).transformation().type()
+ type_ = self.plot().getAxisTransformationType(self.yAxis())
if type_ == Qwt5.QwtScaleTransformation.Log10:
x,y = numpy.array(x),numpy.array(y)
valid = y>0 #this is an array of bools representing valid entries
@@ -986,12 +1000,15 @@ class TaurusPlot(Qwt5.QwtPlot, TaurusBaseWidget):
self._curvePens = LoopList(DFT_CURVE_PENS)
self._gridPen = Qt.QPen(Qt.Qt.gray, 1)
self._supportedConfigVersions = ["tpc-1","tpc-1.1"] #the latest element of this list is considered the current version
+
# Logger.__init__(self)
# Qwt5.QwtPlot.__init__(self, parent)
#dictionary for default axes naming
self._axesnames = {Qwt5.QwtPlot.xBottom:'X',Qwt5.QwtPlot.xTop:'X2',
Qwt5.QwtPlot.yLeft:'Y1', Qwt5.QwtPlot.yRight:'Y2'}
+ # cache for the values of the axis transformation
+ self.__transformations = {}
#Data Import Dialog (it will only be initialised if required)
self.DataImportDlg=None
@@ -1212,6 +1229,29 @@ class TaurusPlot(Qwt5.QwtPlot, TaurusBaseWidget):
# self.info('Dropped data is invalid (%s)'%repr(modelname))
# return
+ def getAxisTransformationType(self, axis):
+ """Retrieve the transformation type for a given axis (cached)
+
+ :param axis: (Qwt5.QwtPlot.Axis) the axis
+
+ :return: (Qwt5.QwtScaleTransformation.Type)
+
+ .. note:: this method helps to avoid a memory leak in Qwt (see
+ http://sf.net/p/tauruslib/tickets/171 )
+ """
+ try:
+ return self.__transformations[axis]
+ except KeyError:
+ t = self.axisScaleEngine(axis).transformation().type()
+ self.__transformations[axis] = t
+ return t
+
+ def setAxisScaleEngine(self, axis, scaleEngine):
+ """ reimplemented from :meth:`Qwt5.QwtPlot.setAxisScaleEngine` to store
+ a cache of the transformation type """
+ self.__transformations[axis] = scaleEngine.transformation().type()
+ return Qwt5.QwtPlot.setAxisScaleEngine(self, axis, scaleEngine)
+
def getCurveTitle(self, curvename):
'''return the current title associated to a given curve name
@@ -2139,9 +2179,9 @@ class TaurusPlot(Qwt5.QwtPlot, TaurusBaseWidget):
y1Min, y1Max= self.getAxisScale(Qwt5.QwtPlot.yLeft)
y2Min, y2Max= self.getAxisScale(Qwt5.QwtPlot.yRight)
axesdict= {'xMin': xMin, 'xMax': xMax, 'y1Min': y1Min, 'y1Max': y1Max, 'y2Min': y2Min, 'y2Max': y2Max,
- 'xMode': int(self.axisScaleEngine(Qwt5.QwtPlot.xBottom).transformation().type()),
- 'y1Mode':int(self.axisScaleEngine(Qwt5.QwtPlot.yLeft).transformation().type()),
- 'y2Mode':int(self.axisScaleEngine(Qwt5.QwtPlot.yRight).transformation().type()),
+ 'xMode': int(self.getAxisTransformationType(Qwt5.QwtPlot.xBottom)),
+ 'y1Mode':int(self.getAxisTransformationType(Qwt5.QwtPlot.yLeft)),
+ 'y2Mode':int(self.getAxisTransformationType(Qwt5.QwtPlot.yRight)),
'xDyn': self.getXDynScale(),
'xIsTime':self.getXIsTime()
}
@@ -2427,7 +2467,7 @@ class TaurusPlot(Qwt5.QwtPlot, TaurusBaseWidget):
if not Qwt5.QwtPlot.axisValid(axis):
self.error("TaurusPlot.setScale() invalid axis: " + axis)
if scale is None:
- currentType = self.axisScaleEngine(axis).transformation().type()
+ currentType = self.getAxisTransformationType(axis)
if currentType == Qwt5.QwtScaleTransformation.Linear:
scale = Qwt5.QwtScaleTransformation.Log10
elif currentType == Qwt5.QwtScaleTransformation.Log10:
@@ -2535,7 +2575,8 @@ class TaurusPlot(Qwt5.QwtPlot, TaurusBaseWidget):
if klass is None:
from taurus.qt.qtgui.panel import QDataExportDialog
klass = QDataExportDialog
- dialog = klass(parent=self, datadict=frozendata)
+ dialog = klass(parent=self, datadict=frozendata,
+ sortedNames=self.getCurveNamesSorted())
dialog.setXIsTime(self.getXIsTime())
return dialog.exec_()
diff --git a/lib/taurus/qt/qtgui/plot/taurusplotconf.py b/lib/taurus/qt/qtgui/plot/taurusplotconf.py
index bb9b32a..f032c57 100644
--- a/lib/taurus/qt/qtgui/plot/taurusplotconf.py
+++ b/lib/taurus/qt/qtgui/plot/taurusplotconf.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/plot/taurustrend.py b/lib/taurus/qt/qtgui/plot/taurustrend.py
index 718c6d0..c1fae42 100644
--- a/lib/taurus/qt/qtgui/plot/taurustrend.py
+++ b/lib/taurus/qt/qtgui/plot/taurustrend.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/resource/__init__.py b/lib/taurus/qt/qtgui/resource/__init__.py
index d97aa8f..707b30d 100644
--- a/lib/taurus/qt/qtgui/resource/__init__.py
+++ b/lib/taurus/qt/qtgui/resource/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/resource/taurus_resource_utils.py b/lib/taurus/qt/qtgui/resource/taurus_resource_utils.py
index e278886..9f7df3a 100644
--- a/lib/taurus/qt/qtgui/resource/taurus_resource_utils.py
+++ b/lib/taurus/qt/qtgui/resource/taurus_resource_utils.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/style/__init__.py b/lib/taurus/qt/qtgui/style/__init__.py
index f2f5f2e..6467301 100644
--- a/lib/taurus/qt/qtgui/style/__init__.py
+++ b/lib/taurus/qt/qtgui/style/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/style/nebula.py b/lib/taurus/qt/qtgui/style/nebula.py
index 346a892..c151675 100644
--- a/lib/taurus/qt/qtgui/style/nebula.py
+++ b/lib/taurus/qt/qtgui/style/nebula.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/table/__init__.py b/lib/taurus/qt/qtgui/table/__init__.py
index 052e4b8..c9ef11e 100644
--- a/lib/taurus/qt/qtgui/table/__init__.py
+++ b/lib/taurus/qt/qtgui/table/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/table/qdictionary.py b/lib/taurus/qt/qtgui/table/qdictionary.py
index 4bcaad7..ccf3c86 100644
--- a/lib/taurus/qt/qtgui/table/qdictionary.py
+++ b/lib/taurus/qt/qtgui/table/qdictionary.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/table/qlogtable.py b/lib/taurus/qt/qtgui/table/qlogtable.py
index d2b20c2..56e4d2c 100644
--- a/lib/taurus/qt/qtgui/table/qlogtable.py
+++ b/lib/taurus/qt/qtgui/table/qlogtable.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/table/qtable.py b/lib/taurus/qt/qtgui/table/qtable.py
index 3ee46f9..2e7437d 100644
--- a/lib/taurus/qt/qtgui/table/qtable.py
+++ b/lib/taurus/qt/qtgui/table/qtable.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/table/taurusdbtable.py b/lib/taurus/qt/qtgui/table/taurusdbtable.py
index a596612..6bf8e3f 100644
--- a/lib/taurus/qt/qtgui/table/taurusdbtable.py
+++ b/lib/taurus/qt/qtgui/table/taurusdbtable.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/table/taurusdevicepropertytable.py b/lib/taurus/qt/qtgui/table/taurusdevicepropertytable.py
index 417d1c1..9901ec3 100644
--- a/lib/taurus/qt/qtgui/table/taurusdevicepropertytable.py
+++ b/lib/taurus/qt/qtgui/table/taurusdevicepropertytable.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/table/taurusgrid.py b/lib/taurus/qt/qtgui/table/taurusgrid.py
index 18ecfe6..5048dfa 100644
--- a/lib/taurus/qt/qtgui/table/taurusgrid.py
+++ b/lib/taurus/qt/qtgui/table/taurusgrid.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/table/taurustable.py b/lib/taurus/qt/qtgui/table/taurustable.py
index ed85951..185b1db 100644
--- a/lib/taurus/qt/qtgui/table/taurustable.py
+++ b/lib/taurus/qt/qtgui/table/taurustable.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/table/taurusvaluestable.py b/lib/taurus/qt/qtgui/table/taurusvaluestable.py
index e3950c0..ffcea9b 100644
--- a/lib/taurus/qt/qtgui/table/taurusvaluestable.py
+++ b/lib/taurus/qt/qtgui/table/taurusvaluestable.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/table/taurusvaluestable_ro.py b/lib/taurus/qt/qtgui/table/taurusvaluestable_ro.py
index 5508fca..82a9d64 100644
--- a/lib/taurus/qt/qtgui/table/taurusvaluestable_ro.py
+++ b/lib/taurus/qt/qtgui/table/taurusvaluestable_ro.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/PermanentCustomPanelsDlg.py b/lib/taurus/qt/qtgui/taurusgui/PermanentCustomPanelsDlg.py
index 41df27d..9eb692d 100644
--- a/lib/taurus/qt/qtgui/taurusgui/PermanentCustomPanelsDlg.py
+++ b/lib/taurus/qt/qtgui/taurusgui/PermanentCustomPanelsDlg.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/__init__.py b/lib/taurus/qt/qtgui/taurusgui/__init__.py
index 2dbf96f..bf1f5fb 100644
--- a/lib/taurus/qt/qtgui/taurusgui/__init__.py
+++ b/lib/taurus/qt/qtgui/taurusgui/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/appsettingswizard.py b/lib/taurus/qt/qtgui/taurusgui/appsettingswizard.py
index b40c52f..d97f36a 100644
--- a/lib/taurus/qt/qtgui/taurusgui/appsettingswizard.py
+++ b/lib/taurus/qt/qtgui/taurusgui/appsettingswizard.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/conf/__init__.py b/lib/taurus/qt/qtgui/taurusgui/conf/__init__.py
index a18b97e..d833fbc 100644
--- a/lib/taurus/qt/qtgui/taurusgui/conf/__init__.py
+++ b/lib/taurus/qt/qtgui/taurusgui/conf/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/conf/gui_noconf.py b/lib/taurus/qt/qtgui/taurusgui/conf/gui_noconf.py
index 2f8d7af..65af63b 100755
--- a/lib/taurus/qt/qtgui/taurusgui/conf/gui_noconf.py
+++ b/lib/taurus/qt/qtgui/taurusgui/conf/gui_noconf.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/conf/gui_pureconf.py b/lib/taurus/qt/qtgui/taurusgui/conf/gui_pureconf.py
index f0b9173..7d0e2c3 100644
--- a/lib/taurus/qt/qtgui/taurusgui/conf/gui_pureconf.py
+++ b/lib/taurus/qt/qtgui/taurusgui/conf/gui_pureconf.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/conf/gui_selfconf.py b/lib/taurus/qt/qtgui/taurusgui/conf/gui_selfconf.py
index 1d639cd..8e32451 100755
--- a/lib/taurus/qt/qtgui/taurusgui/conf/gui_selfconf.py
+++ b/lib/taurus/qt/qtgui/taurusgui/conf/gui_selfconf.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_example01/__init__.py b/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_example01/__init__.py
index 893bb8c..729d964 100644
--- a/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_example01/__init__.py
+++ b/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_example01/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_example01/config.py b/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_example01/config.py
index 99ab32e..e03d005 100644
--- a/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_example01/config.py
+++ b/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_example01/config.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_macrogui/__init__.py b/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_macrogui/__init__.py
index 893bb8c..729d964 100644
--- a/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_macrogui/__init__.py
+++ b/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_macrogui/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_macrogui/config.py b/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_macrogui/config.py
index 006c81e..e7dee2b 100644
--- a/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_macrogui/config.py
+++ b/lib/taurus/qt/qtgui/taurusgui/conf/tgconf_macrogui/config.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/macrolistener.py b/lib/taurus/qt/qtgui/taurusgui/macrolistener.py
index eb02a97..b4bcb09 100644
--- a/lib/taurus/qt/qtgui/taurusgui/macrolistener.py
+++ b/lib/taurus/qt/qtgui/taurusgui/macrolistener.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/paneldescriptionwizard.py b/lib/taurus/qt/qtgui/taurusgui/paneldescriptionwizard.py
index 3129504..607b5c1 100644
--- a/lib/taurus/qt/qtgui/taurusgui/paneldescriptionwizard.py
+++ b/lib/taurus/qt/qtgui/taurusgui/paneldescriptionwizard.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/taurusgui/taurusgui.py b/lib/taurus/qt/qtgui/taurusgui/taurusgui.py
index d3fefbd..406a397 100644
--- a/lib/taurus/qt/qtgui/taurusgui/taurusgui.py
+++ b/lib/taurus/qt/qtgui/taurusgui/taurusgui.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -46,10 +46,13 @@ from taurus.qt.qtcore.communication import SharedDataManager
from taurus.qt.qtgui.util import TaurusWidgetFactory
from taurus.qt.qtgui.base import TaurusBaseWidget, TaurusBaseComponent
from taurus.qt.qtgui.container import TaurusMainWindow
-from taurus.qt.qtgui.taurusgui.utils import ExternalApp, PanelDescription, \
- ToolBarDescription, AppletDescription
+from taurus.qt.qtgui.taurusgui.utils import (ExternalApp, PanelDescription,
+ ToolBarDescription,
+ AppletDescription)
+from taurus.qt.qtgui.taurusgui.appsettingswizard import ExternalAppEditor
from taurus.qt.qtgui.panel import QDoubleListDlg
from taurus.qt.qtgui.util.ui import UILoadable
+from taurus.qt.qtgui.taurusgui.utils import ExternalAppAction
@UILoadable(with_ui='ui')
@@ -197,6 +200,10 @@ class DockWidgetPanel(Qt.QDockWidget, TaurusBaseWidget):
configdict['widget'] = self.widget().createConfig()
return configdict
+ def closeEvent(self, event):
+ Qt.QDockWidget.closeEvent(self, event)
+ TaurusBaseWidget.closeEvent(self, event)
+
class TaurusGui(TaurusMainWindow):
'''
@@ -268,11 +275,18 @@ class TaurusGui(TaurusMainWindow):
self.defaultConfigRecursionDepth = configRecursionDepth
self.__panels = {}
+ self.__external_app = {}
+ self.__external_app_actions = {}
+ self._external_app_names = []
+ self.__permanent_ext_apps = []
self.__synoptics = []
self.__instrumentToPanelMap = {}
self.__panelToInstrumentMap = {}
self.setDockNestingEnabled(True)
+ self.registerConfigProperty(self._getPermanentExternalApps,
+ self._setPermanentExternalApps,
+ 'permanentexternalapps')
self.registerConfigProperty(self._getPermanentCustomPanels, self._setPermanentCustomPanels, 'permanentCustomPanels')
self.registerConfigProperty(self.getAllInstrumentAssociations, self.setAllInstrumentAssociations, 'instrumentAssociation')
@@ -283,12 +297,12 @@ class TaurusGui(TaurusMainWindow):
Qt.qApp.SDM = SharedDataManager(self)
self.__initPanelsMenu()
- self.__initViewMenu()
- self.__initPanelsToolBar()
self.__initQuickAccessToolBar()
self.__initJorgBar()
self.__initSharedDataConnections()
self.__initToolsMenu()
+ self.__initViewMenu()
+ self.__initPanelsToolBar()
self.loadConfiguration(confname)
@@ -314,6 +328,18 @@ class TaurusGui(TaurusMainWindow):
except:
pass
TaurusMainWindow.closeEvent(self, event)
+ for n, panel in self.__panels.items():
+ panel.closeEvent(event)
+ panel.widget().closeEvent(event)
+ if not event.isAccepted():
+ result = Qt.QMessageBox.question(
+ self, 'Closing error',
+ "Panel '%s' cannot be closed. Proceed closing?" % n,
+ Qt.QMessageBox.Yes | Qt.QMessageBox.No)
+ if result == Qt.QMessageBox.Yes:
+ event.accept()
+ else:
+ break
def __updatePanelsMenu(self):
'''dynamically fill the panels menus'''
@@ -390,9 +416,77 @@ class TaurusGui(TaurusMainWindow):
def __initToolsMenu(self):
if self.toolsMenu is None:
self.toolsMenu = Qt.QMenu("Tools")
- self.toolsMenu.addAction(getIcon(":/apps/preferences-system-session.svg"), "manage instrument-panel associations", self.onShowAssociationDialog)
- self.toolsMenu.addAction(getThemeIcon("document-save"), "Export current Panel configuration to XML", self.onExportCurrentPanelConfiguration)
- self.toolsMenu.addAction(getIcon(":/actions/data-transfer.svg"), "Show Shared Data Manager connections", self.showSDMInfo)
+ tm = self.toolsMenu
+ tm.addAction(getIcon(":/apps/preferences-system-session.svg"), "manage instrument-panel associations", self.onShowAssociationDialog)
+ tm.addAction(getThemeIcon("document-save"), "Export current Panel configuration to XML", self.onExportCurrentPanelConfiguration)
+ tm.addAction(getIcon(":/actions/data-transfer.svg"), "Show Shared Data Manager connections", self.showSDMInfo)
+
+ # tools->external apps submenu
+ self.addExternalApplicationAction = self.externalAppsMenu.addAction(
+ getThemeIcon('list-add'),
+ 'Add external application launcher...',
+ self.createExternalApp)
+ self.removeExternalApplicationAction = self.externalAppsMenu.addAction(
+ getThemeIcon('list-remove'),
+ 'Remove external appication launcher...',
+ self.removeExternalApp)
+ self.externalAppsMenu.addSeparator()
+
+ def createExternalApp(self):
+ '''Add a new external application on execution time'''
+ app_editor = ExternalAppEditor(self)
+ name, xml, ok = app_editor.getDialog()
+ if name in self._external_app_names:
+ msg = ('The "%s" external application exists in your GUI.'
+ ' If you want to create a new one, '
+ 'please use other text label' % name)
+ taurus.warning(msg)
+ return
+
+ if ok:
+ extapp = ExternalApp.fromXml(xml)
+ action = extapp.getAction()
+ action_name = str(action.text())
+ self.__external_app[action_name] = extapp
+ self._addExternalAppLauncher(name, action)
+
+ def _addExternalAppLauncher(self, name, action):
+ action_name = str(action.text())
+ self.__external_app_actions[action_name] = action
+ self.addExternalAppLauncher(action)
+ self._external_app_names.append(name)
+
+ def removeExternalApp(self, name=None):
+ '''Remove the given external application from the GUI.
+
+ :param name: (str or None) the name of the external application to be
+ removed
+ If None given, the user will be prompted
+ '''
+ apps = self.__external_app.keys() + self.__permanent_ext_apps
+ if name is None:
+ items = sorted(apps)
+ msg1 = "Remove External application"
+ msg2 = ("External application to be removed "
+ "(only custom external applications can be removed).")
+ name, ok = Qt.QInputDialog.getItem (self, msg1, msg2, items, 0,
+ False)
+ if not ok:
+ return
+ name = unicode(name)
+ if name not in apps:
+ msg = ('Cannot remove the external application "%s"'
+ ' (not found)' % name)
+ self.debug(msg)
+ return
+ if name in self.__external_app.keys():
+ self.__external_app.pop(name)
+ else:
+ self.__permanent_ext_apps.remove(name)
+ action = self.__external_app_actions.pop(name)
+ self._external_app_names.remove(name)
+ self.deleteExternalAppLauncher(action)
+ self.debug('External application "%s" removed' % name)
def setCustomWidgetMap(self, map):
'''
@@ -423,7 +517,9 @@ class TaurusGui(TaurusMainWindow):
def createConfig(self, *args, **kwargs):
'''reimplemented from TaurusMainWindow.createConfig'''
self.updatePermanentCustomPanels(showAlways=False)
- return TaurusMainWindow.createConfig(self, *args, **kwargs)
+ self.updatePermanentExternalApplications(showAlways=False)
+ cfg = TaurusMainWindow.createConfig(self, *args, **kwargs)
+ return cfg
def removePanel(self, name=None):
''' remove the given panel from the GUI.
@@ -544,6 +640,22 @@ class TaurusGui(TaurusMainWindow):
'''
return copy.deepcopy(self.__panels.keys())
+ def _setPermanentExternalApps(self, permExternalApps):
+ '''creates empty panels for restoring custom panels.
+
+ :param permCustomPanels: (list<str>) list of names of custom panels
+ '''
+ #first create the panels if they don't actually exist
+ for name in permExternalApps:
+ if name not in self._external_app_names:
+ # create empty action
+ self.__permanent_ext_apps.append(name)
+ action = ExternalAppAction('', name)
+ self._addExternalAppLauncher(name, action)
+
+ def _getPermanentExternalApps(self):
+ return self.__permanent_ext_apps
+
def _setPermanentCustomPanels(self, permCustomPanels):
'''creates empty panels for restoring custom panels.
@@ -592,6 +704,36 @@ class TaurusGui(TaurusMainWindow):
self.__panels[name].setPermanent(False)
self.unregisterConfigurableItem(name, raiseOnError=False)
+ def updatePermanentExternalApplications(self, showAlways=True):
+ '''
+ Shows a dialog for selecting which new externals applications
+ should be permanently stored in the configuration.
+
+ :param showAlways: (bool) forces showing the dialog
+ '''
+ #check if there are some newly created external applications that may
+ # be made permanent
+ #permanet_ext_app = list(self._external_app_names)
+ if len(self.__external_app) > 0 or showAlways:
+ msg = 'Select which of the external applications should be stored'
+ dlg = QDoubleListDlg(winTitle='Stored external applications',
+ mainLabel=msg,
+ label1='Temporary (to be discarded)',
+ label2='Permanent (to be stored)',
+ list1=self.__external_app.keys(),
+ list2=self.__permanent_ext_apps)
+ result = dlg.exec_()
+ if result == Qt.QDialog.Accepted:
+ # update the temporally external applications
+ for name in dlg.getAll2():
+ self.__permanent_ext_apps.append(str(name))
+ if name in self.__external_app:
+ self.__external_app.pop(str(name))
+
+ for name in dlg.getAll1():
+ self.unregisterConfigurableItem("_extApp[%s]" % str(name),
+ raiseOnError=False)
+
def createCustomPanel(self, paneldesc=None):
'''
Creates a panel from a Panel Description and sets it as "custom panel".
@@ -1030,6 +1172,7 @@ class TaurusGui(TaurusMainWindow):
EXTERNAL_APPS.append(ea)
for a in EXTERNAL_APPS:
+ self._external_app_names.append(str(a.getAction().text()))
self.addExternalAppLauncher(a.getAction())
@@ -1057,7 +1200,11 @@ class TaurusGui(TaurusMainWindow):
for panel in self.__panels.values():
panel.toggleViewAction().setEnabled(modifiable)
panel.setFeatures(dwfeat)
- for action in (self.newPanelAction, self.showAllPanelsAction, self.hideAllPanelsAction):
+ for action in (self.newPanelAction, self.showAllPanelsAction,
+ self.hideAllPanelsAction,
+ self.addExternalApplicationAction,
+ self.removeExternalApplicationAction,
+ ):
action.setEnabled(modifiable)
self._lockviewAction.setChecked(not modifiable)
diff --git a/lib/taurus/qt/qtgui/taurusgui/utils.py b/lib/taurus/qt/qtgui/taurusgui/utils.py
index fcb2c0b..44464a7 100644
--- a/lib/taurus/qt/qtgui/taurusgui/utils.py
+++ b/lib/taurus/qt/qtgui/taurusgui/utils.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/test/__init__.py b/lib/taurus/qt/qtgui/test/__init__.py
index 6c69e43..a50aaed 100644
--- a/lib/taurus/qt/qtgui/test/__init__.py
+++ b/lib/taurus/qt/qtgui/test/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/test/base.py b/lib/taurus/qt/qtgui/test/base.py
index 3c01885..06c45f5 100644
--- a/lib/taurus/qt/qtgui/test/base.py
+++ b/lib/taurus/qt/qtgui/test/base.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -58,18 +58,15 @@ class BaseWidgetTestCase(object):
- The widget must be instantiated
"""
- if self._klass is None:
- self.skipTest('klass is None')
- return
-
unittest.TestCase.setUp(self)
app = TaurusApplication.instance()
if app is None:
app = TaurusApplication([])
self._app = app
-
- self._widget = self._klass(*self.initargs, **self.initkwargs)
+
+ if self._klass is not None:
+ self._widget = self._klass(*self.initargs, **self.initkwargs)
@skipUnlessGui()
diff --git a/lib/taurus/qt/qtgui/tree/__init__.py b/lib/taurus/qt/qtgui/tree/__init__.py
index 4779c0b..93576b1 100644
--- a/lib/taurus/qt/qtgui/tree/__init__.py
+++ b/lib/taurus/qt/qtgui/tree/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/tree/qtree.py b/lib/taurus/qt/qtgui/tree/qtree.py
index d50cddd..603d04d 100644
--- a/lib/taurus/qt/qtgui/tree/qtree.py
+++ b/lib/taurus/qt/qtgui/tree/qtree.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/tree/taurusdbtree.py b/lib/taurus/qt/qtgui/tree/taurusdbtree.py
index ff35f39..eb903de 100644
--- a/lib/taurus/qt/qtgui/tree/taurusdbtree.py
+++ b/lib/taurus/qt/qtgui/tree/taurusdbtree.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/tree/taurusdevicetree.py b/lib/taurus/qt/qtgui/tree/taurusdevicetree.py
index c00ef68..7f18130 100644
--- a/lib/taurus/qt/qtgui/tree/taurusdevicetree.py
+++ b/lib/taurus/qt/qtgui/tree/taurusdevicetree.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/tree/taurustree.py b/lib/taurus/qt/qtgui/tree/taurustree.py
index 1b1b112..8697233 100644
--- a/lib/taurus/qt/qtgui/tree/taurustree.py
+++ b/lib/taurus/qt/qtgui/tree/taurustree.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/util/__init__.py b/lib/taurus/qt/qtgui/util/__init__.py
index cc1d7b2..44c8730 100644
--- a/lib/taurus/qt/qtgui/util/__init__.py
+++ b/lib/taurus/qt/qtgui/util/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/util/qdraganddropdebug.py b/lib/taurus/qt/qtgui/util/qdraganddropdebug.py
index cbf1a12..c767e01 100644
--- a/lib/taurus/qt/qtgui/util/qdraganddropdebug.py
+++ b/lib/taurus/qt/qtgui/util/qdraganddropdebug.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/util/taurusaction.py b/lib/taurus/qt/qtgui/util/taurusaction.py
index c61359c..68255f4 100644
--- a/lib/taurus/qt/qtgui/util/taurusaction.py
+++ b/lib/taurus/qt/qtgui/util/taurusaction.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -74,7 +74,7 @@ class ExternalAppAction(Qt.QAction, BaseConfigurableClass):
self.setToolTip("Launches %s (external application)"%text)
self.registerConfigProperty(self.cmdArgs, self.setCmdArgs, 'cmdArgs')
- def setCmdArgs(self, cmdargs):
+ def setCmdArgs(self, cmdargs, emitsignal=True):
'''Sets the command args for executing this external application.
It emits the "cmdArgsChanged" signal with the new cmdArgs list
@@ -88,7 +88,8 @@ class ExternalAppAction(Qt.QAction, BaseConfigurableClass):
import shlex
cmdargs = shlex.split(str(cmdargs))
self.__cmdargs = cmdargs
- self.emit(Qt.SIGNAL("cmdArgsChanged"), self.__cmdargs)
+ if emitsignal:
+ self.emit(Qt.SIGNAL("cmdArgsChanged"), self.__cmdargs)
def cmdArgs(self):
return self.__cmdargs
diff --git a/lib/taurus/qt/qtgui/util/taurusactionfactory.py b/lib/taurus/qt/qtgui/util/taurusactionfactory.py
index 686d98d..53ced98 100644
--- a/lib/taurus/qt/qtgui/util/taurusactionfactory.py
+++ b/lib/taurus/qt/qtgui/util/taurusactionfactory.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/util/tauruscolor.py b/lib/taurus/qt/qtgui/util/tauruscolor.py
index fd2a2eb..eb450ef 100644
--- a/lib/taurus/qt/qtgui/util/tauruscolor.py
+++ b/lib/taurus/qt/qtgui/util/tauruscolor.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/util/taurusropepatch.py b/lib/taurus/qt/qtgui/util/taurusropepatch.py
index d19dd4e..4c7a429 100644
--- a/lib/taurus/qt/qtgui/util/taurusropepatch.py
+++ b/lib/taurus/qt/qtgui/util/taurusropepatch.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/util/taurusscreenshot.py b/lib/taurus/qt/qtgui/util/taurusscreenshot.py
index 0d8e96e..8dea6e6 100644
--- a/lib/taurus/qt/qtgui/util/taurusscreenshot.py
+++ b/lib/taurus/qt/qtgui/util/taurusscreenshot.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/util/tauruswidgetfactory.py b/lib/taurus/qt/qtgui/util/tauruswidgetfactory.py
index 6ec4822..8a45c5f 100644
--- a/lib/taurus/qt/qtgui/util/tauruswidgetfactory.py
+++ b/lib/taurus/qt/qtgui/util/tauruswidgetfactory.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/util/tauruswidgettree.py b/lib/taurus/qt/qtgui/util/tauruswidgettree.py
index f451c35..dbaecc4 100644
--- a/lib/taurus/qt/qtgui/util/tauruswidgettree.py
+++ b/lib/taurus/qt/qtgui/util/tauruswidgettree.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/util/test/__init__.py b/lib/taurus/qt/qtgui/util/test/__init__.py
index d36d30e..bfa1d38 100644
--- a/lib/taurus/qt/qtgui/util/test/__init__.py
+++ b/lib/taurus/qt/qtgui/util/test/__init__.py
@@ -2,23 +2,25 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
-##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## This file is part of Taurus
+##
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
-##
+##
## Taurus is free software: you can redistribute it and/or modify
## it under the terms of the GNU Lesser General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
-##
+##
## Taurus is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU Lesser General Public License for more details.
-##
+##
## You should have received a copy of the GNU Lesser General Public License
## along with Taurus. If not, see <http://www.gnu.org/licenses/>.
##
#############################################################################
+
+"""tests for taurus.qt.qtgui.util"""
diff --git a/lib/taurus/qt/qtgui/util/test/test_ui/__init__.py b/lib/taurus/qt/qtgui/util/test/test_ui/__init__.py
index bd93378..c8c1e55 100644
--- a/lib/taurus/qt/qtgui/util/test/test_ui/__init__.py
+++ b/lib/taurus/qt/qtgui/util/test/test_ui/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtgui/test/__init__.py b/lib/taurus/qt/qtgui/util/test/test_ui/mywidget3/__init__.py
similarity index 75%
copy from lib/taurus/qt/qtgui/test/__init__.py
copy to lib/taurus/qt/qtgui/util/test/test_ui/mywidget3/__init__.py
index 6c69e43..9ffe6b5 100644
--- a/lib/taurus/qt/qtgui/test/__init__.py
+++ b/lib/taurus/qt/qtgui/util/test/test_ui/mywidget3/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -23,4 +23,12 @@
##
#############################################################################
-from .base import BaseWidgetTestCase, GenericWidgetTestCase
+from taurus.external.qt import Qt
+from taurus.qt.qtgui.util.ui import UILoadable
+
+ at UILoadable
+class MyWidget3(Qt.QWidget):
+
+ def __init__(self, parent=None):
+ Qt.QWidget.__init__(self, parent)
+ self.loadUi()
diff --git a/lib/taurus/qt/qtgui/util/test/test_ui/mywidget3/ui/MyWidget3.ui b/lib/taurus/qt/qtgui/util/test/test_ui/mywidget3/ui/MyWidget3.ui
new file mode 100644
index 0000000..7dcbbfa
--- /dev/null
+++ b/lib/taurus/qt/qtgui/util/test/test_ui/mywidget3/ui/MyWidget3.ui
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <widget class="QPushButton" name="my_button">
+ <property name="geometry">
+ <rect>
+ <x>120</x>
+ <y>80</y>
+ <width>91</width>
+ <height>27</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>PushButton</string>
+ </property>
+ </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/lib/taurus/qt/qtgui/util/test/test_ui/test_ui.py b/lib/taurus/qt/qtgui/util/test/test_ui/test_ui.py
index 3c0ee31..29d3b3e 100644
--- a/lib/taurus/qt/qtgui/util/test/test_ui/test_ui.py
+++ b/lib/taurus/qt/qtgui/util/test/test_ui/test_ui.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -30,6 +30,8 @@ import os.path
from taurus.external import unittest
from taurus.external.qt import Qt
from taurus.qt.qtgui.util.ui import UILoadable
+from taurus.qt.qtgui.test import BaseWidgetTestCase
+from mywidget3 import MyWidget3
class UILoadableTestCase(unittest.TestCase):
@@ -77,6 +79,19 @@ class UILoadableTestCase(unittest.TestCase):
"widget has a my_button member")
self.assertEquals(widget.ui.my_button.text(), "This is MY2 button",
"button text differs from expected")
+
+
+class Bug151_TestCase(BaseWidgetTestCase, unittest.TestCase):
+ '''Test for bug 151: https://sourceforge.net/p/tauruslib/tickets/151/'''
+ def test_bug151(self):
+ '''Check inheritance of UILoadable classes across packages (bug #151)
+ '''
+ class Bug151_Widget(MyWidget3):
+ pass
+ try:
+ Bug151_Widget()
+ except:
+ self.fail('Inheriting from UILoadable from another package fails')
def main():
diff --git a/lib/taurus/qt/qtgui/util/ui.py b/lib/taurus/qt/qtgui/util/ui.py
index a7fed1d..0c93973 100644
--- a/lib/taurus/qt/qtgui/util/ui.py
+++ b/lib/taurus/qt/qtgui/util/ui.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -55,6 +55,10 @@ def loadUi(obj, filename=None, path=None, with_ui=None):
[default: None, meaning calculate path with algorithm explained
before]
:type path: str
+ :param with_ui: if True, the objects defined in the ui file will be
+ accessible as submembers of an ui member of the widget. If
+ False, such objects will directly be members of the widget.
+ :type with_ui: bool
"""
if path is None:
obj_file = sys.modules[obj.__module__].__file__
@@ -147,9 +151,14 @@ def UILoadable(klass=None, with_ui=None):
return functools.partial(UILoadable, with_ui=with_ui)
klass_name = klass.__name__
+ klass_file = sys.modules[klass.__module__].__file__
+ klass_path = os.path.join(os.path.dirname(klass_file), 'ui')
+
def _loadUi(self, filename=None, path=None):
if filename is None:
filename = klass_name + os.path.extsep + 'ui'
+ if path is None:
+ path = klass_path
return loadUi(self, filename=filename, path=path, with_ui=with_ui)
klass.loadUi = _loadUi
diff --git a/lib/taurus/qt/qtgui/util/widgetgen.py b/lib/taurus/qt/qtgui/util/widgetgen.py
index 8f65d3d..757950a 100644
--- a/lib/taurus/qt/qtgui/util/widgetgen.py
+++ b/lib/taurus/qt/qtgui/util/widgetgen.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/qtopengl/__init__.py b/lib/taurus/qt/qtopengl/__init__.py
index 4f08023..9afdcc0 100644
--- a/lib/taurus/qt/qtopengl/__init__.py
+++ b/lib/taurus/qt/qtopengl/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/uic/__init__.py b/lib/taurus/qt/uic/__init__.py
index a4eff0e..1130eca 100644
--- a/lib/taurus/qt/uic/__init__.py
+++ b/lib/taurus/qt/uic/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/uic/pyuic4/taurus.py b/lib/taurus/qt/uic/pyuic4/taurus.py
index e431c28..9c616e6 100644
--- a/lib/taurus/qt/uic/pyuic4/taurus.py
+++ b/lib/taurus/qt/uic/pyuic4/taurus.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/qt/uic/tau2taurus_map.py b/lib/taurus/qt/uic/tau2taurus_map.py
index 520e276..ae082d1 100644
--- a/lib/taurus/qt/uic/tau2taurus_map.py
+++ b/lib/taurus/qt/uic/tau2taurus_map.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/tauruscustomsettings.py b/lib/taurus/tauruscustomsettings.py
index 1950ace..971e9c2 100644
--- a/lib/taurus/tauruscustomsettings.py
+++ b/lib/taurus/tauruscustomsettings.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/test/__init__.py b/lib/taurus/test/__init__.py
index 2f4ae9b..5418d26 100644
--- a/lib/taurus/test/__init__.py
+++ b/lib/taurus/test/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/test/base.py b/lib/taurus/test/base.py
index be378ff..31a5c61 100644
--- a/lib/taurus/test/base.py
+++ b/lib/taurus/test/base.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/test/fuzzytest.py b/lib/taurus/test/fuzzytest.py
index f18c998..95625da 100644
--- a/lib/taurus/test/fuzzytest.py
+++ b/lib/taurus/test/fuzzytest.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/test/moduleexplorer.py b/lib/taurus/test/moduleexplorer.py
index f3f7353..f1d18d8 100644
--- a/lib/taurus/test/moduleexplorer.py
+++ b/lib/taurus/test/moduleexplorer.py
@@ -3,9 +3,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -166,7 +166,10 @@ class ModuleExplorer(object):
'''
mname = info['modulename']
try:
- ret = [(mname, el) for el in info[key]]
+ if not isinstance(info[key], list):
+ ret = [(mname, info[key])]
+ else:
+ ret = [(mname, el) for el in info[key]]
except KeyError:
return []
for sminfo in info['submodules'].itervalues():
diff --git a/lib/taurus/test/resource.py b/lib/taurus/test/resource.py
index fd2c328..bcd1842 100644
--- a/lib/taurus/test/resource.py
+++ b/lib/taurus/test/resource.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/test/skip.py b/lib/taurus/test/skip.py
index a71a7bf..ed52c1e 100644
--- a/lib/taurus/test/skip.py
+++ b/lib/taurus/test/skip.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/test/test_import.py b/lib/taurus/test/test_import.py
index f1eb16b..a1f98f3 100644
--- a/lib/taurus/test/test_import.py
+++ b/lib/taurus/test/test_import.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/test/testsuite.py b/lib/taurus/test/testsuite.py
index 3450398..0cdcdef 100644
--- a/lib/taurus/test/testsuite.py
+++ b/lib/taurus/test/testsuite.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/web/__init__.py b/lib/taurus/web/__init__.py
index 836f149..b8e01ed 100644
--- a/lib/taurus/web/__init__.py
+++ b/lib/taurus/web/__init__.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/web/examples/tornado/demo.py b/lib/taurus/web/examples/tornado/demo.py
index 04d265b..7fac5c5 100644
--- a/lib/taurus/web/examples/tornado/demo.py
+++ b/lib/taurus/web/examples/tornado/demo.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/web/examples/tornado/machinestatus.py b/lib/taurus/web/examples/tornado/machinestatus.py
index 161ef5c..059ee2a 100644
--- a/lib/taurus/web/examples/tornado/machinestatus.py
+++ b/lib/taurus/web/examples/tornado/machinestatus.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/lib/taurus/web/taurustornado.py b/lib/taurus/web/taurustornado.py
index 5e63ad6..54abfad 100644
--- a/lib/taurus/web/taurustornado.py
+++ b/lib/taurus/web/taurustornado.py
@@ -2,9 +2,9 @@
#############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
diff --git a/setup.py b/setup.py
index 63073a9..e028014 100644
--- a/setup.py
+++ b/setup.py
@@ -2,9 +2,9 @@
##############################################################################
##
-## This file is part of Taurus, a Tango User Interface Library
+## This file is part of Taurus
##
-## http://www.tango-controls.org/static/taurus/latest/doc/html/index.html
+## http://taurus-scada.org
##
## Copyright 2011 CELLS / ALBA Synchrotron, Bellaterra, Spain
##
@@ -35,6 +35,7 @@ import StringIO
from distutils import log
from distutils.core import setup, Command
from distutils.command.build import build as dftbuild
+from distutils.command.clean import clean as dftclean
from distutils.command.install import install as dftinstall
from distutils.command.install_lib import install_lib as dftinstall_lib
from distutils.command.install_scripts import install_scripts as dftinstall_scripts
@@ -395,14 +396,14 @@ class build_resources(Command):
out.flush()
f = file(qrc_filename, 'w')
try:
- qresource_prefix = ""
+ qres_prefix = ""
if len(local_bases) > 2:
- qresource_prefix = "/" + "/".join(local_bases[2:])
- f.write('<RCC>\n <qresource prefix="%s">\n' % qresource_prefix)
+ qres_prefix = "/" + "/".join(local_bases[2:])
+ f.write('<RCC>\n <qresource prefix="%s">\n' % qres_prefix)
else:
f.write('<RCC>\n <qresource>\n')
- qresource_prefix = ":" + qresource_prefix
- qresource_prefix += "/"
+ qres_prefix = ":" + qres_prefix
+ qres_prefix += "/"
for elem in local_elems:
rel_elem = os.path.join(base_dir, elem)
f.write(' <file alias="%s">%s</file>\n' % (elem, rel_elem))
@@ -703,50 +704,50 @@ class install(dftinstall):
sub_commands.append(('install_html', has_html))
-class build_doc_api(Command):
+class clean(dftclean):
+ def run(self):
+ dftclean.run(self)
- user_options = []
+ # This is a very crude approach to clean the garbage created by taurus
+ # outside of the build dir when running the build command
+ # see: https://sourceforge.net/p/sardana/tickets/324/
+ import glob
+ from distutils.dir_util import remove_tree
- description = "\"build\" sphinx RST files for API"
+ # collect the garbage *files* to be deleted
+ garbage = []
- def initialize_options (self):
- if self.distribution.verbose:
- self.out = sys.stdout
- else:
- self.out = StringIO.StringIO()
+ resource = abspath('lib', 'taurus', 'qt', 'qtgui', 'resource')
+ garbage.extend(glob.glob(os.path.join(resource, '*.rcc')))
+ garbage.extend(glob.glob(os.path.join(resource, '*.qrc')))
+ garbage.append(os.path.join(resource, 'catalog.html'))
+ jdraw = abspath('lib', 'taurus', 'qt', 'qtgui', 'graphic', 'jdraw')
+ garbage.append(os.path.join(jdraw, 'jdraw_lextab.py'))
+ garbage.append(os.path.join(jdraw, 'jdraw_yacctab.py'))
- def finalize_options (self):
- pass
+ doc_devel = abspath('doc', 'source', 'devel')
+ garbage.append(os.path.join(doc_devel, 'catalog.html'))
- def run(self):
- #print("SKIPPING API");return
- buildcmd = self.get_finalized_command('build_doc')
- name = "auto_rst4api"
- data = imp.find_module(name, [abspath('doc')])
- auto_rst4api = imp.load_module(name, *data)
-
- docpreffix = abspath('doc', 'source', 'devel', 'api')
- templatespath = abspath('doc')
- excl = ['.*\.ui', '_[^\.]*[^_]', '.*.extra_sardana', '.*.extra_pool',
- '.*.extra_macroexecutor', 'taurus.external']
- rstCreator = auto_rst4api.Auto_rst4API_Creator(exclude_patterns=excl,
- templatespath=templatespath,
- overwrite_old=buildcmd.all_files,
- verbose=self.distribution.verbose)
- if buildcmd.all_files:
- rstCreator.cleanAutogenerated(docpreffix) #@todo: This may need to be called *only* if --fres-env or --all-files options are given
-
- # import taurus module from the source to autogenerate the api docs
- name = 'taurus'
- data = imp.find_module(name, [abspath('lib')])
- taurus = imp.load_module(name, *data)
-
- r = rstCreator.documentModule('taurus', docpreffix)
- out = self.out
- print("Auto Creation of API docs Finished with %i warnings:" % len(r), file=out)
- for i in r:
- print(i, file=out)
+ doc = abspath('doc')
+ garbage.append(os.path.join(doc, '~thumbnails.zip'))
+
+ # delete the garbage files
+ for fn in garbage:
+ if os.path.exists(fn):
+ log.info("removing '%s'", fn)
+ if self.dry_run:
+ continue
+ os.remove(fn)
+ else:
+ log.debug("'%s' does not exist -- can't clean it", fn)
+
+ # now delete the api dir
+ api_dir = os.path.join(doc_devel, 'api')
+ if os.path.exists(api_dir):
+ remove_tree(api_dir, dry_run=self.dry_run)
+ else:
+ log.debug("'%s' does not exist -- can't clean it", api_dir)
cmdclass = { 'build' : build,
@@ -756,27 +757,45 @@ cmdclass = { 'build' : build,
'install_man' : install_man,
'install_html' : install_html,
'install_scripts' : install_scripts,
- 'build_doc_api' : build_doc_api }
+ 'clean' : clean }
if sphinx:
from sphinx.setup_command import BuildDoc
class build_catalog(object):
+ '''builds an html catalog of icons. It links to png thumbnails that are
+ created in the _static dir
+ '''
AllowedExt = build_resources.AllowedExt
- HTML_IL = """<tr height="30"><td width="30" align="center"><img width="24" src="%s" alt="%s"/></td><td width="400">%s%s</td><td width="400">%s</td><td width="200">%s</td></tr>\n"""
+ HTML_IL = '<tr height="30">' \
+ '<td width="30" align="center">' \
+ '<img width="24" src="{thumbnail}"' \
+ ' alt="{res_relpath}"/></td>' \
+ '<td width="400">{qres_prefix}{icon_name}</td>' \
+ '<td width="400">{res_relpath}</td>' \
+ '<td width="200">{theme}</td></tr>\n'
HTML_T = '<table border="1" cellspacing="0" cellpadding="2">\n' \
'<th colspan="4">Resource: "%s" Directory: "%s"</th>\n' \
- '<tr><th>Preview</th><th>Resouce</th><th>File name</th><th>Theme</th></tr>\n'
+ '<tr><th>Preview</th><th>Resouce</th><th>File name</th>' \
+ '<th>Theme</th></tr>\n'
def run(self):
- self.resource_dir = abspath('lib', 'taurus', 'qt', 'qtgui', 'resource')
- self.taurus = os.path.join(self.resource_dir, 'taurus.png')
+ self.resource_dir = abspath('lib', 'taurus', 'qt', 'qtgui',
+ 'resource')
+ pngs_dir = os.path.abspath(os.path.join(self.builder_target_dir,
+ '_static',
+ 'icon_thumbnails') )
+ devel_dir = os.path.abspath(os.path.join(self.builder_target_dir,
+ 'devel') )
+ self.thumbnails_relpath = os.path.relpath(pngs_dir, devel_dir)
+
orig_dir = os.path.abspath(os.curdir)
os.chdir(self.resource_dir)
-
- catalog = file('catalog.html', 'w')
+
+ # create temporary catalog file (to be removed at end of build_doc)
+ catalog = file(self.fname, 'w')
catalog.write("<html><head>\n<title>taurus Icon Catalog</title>\n" \
"<style>table { border-collapse: collapse; }</style>\n</head>\n<body>\n")
@@ -798,7 +817,89 @@ if sphinx:
catalog.write("""</body></html>""")
catalog.close()
os.chdir(orig_dir)
-
+
+ #make thumbnails
+ try:
+ if self.thumbnails_source == 'wand':
+ from wand.image import Image
+ def transform(ifname, ofname):
+ with Image(filename=ifname) as img:
+ img.transform(resize='24x')
+ img.save(filename=ofname)
+ return True
+ return False
+ elif self.thumbnails_source == 'qt':
+ import PyQt4.Qt
+ if PyQt4.Qt.qApp.instance() is None:
+ self.app = PyQt4.Qt.QApplication([])
+ from PyQt4 import Qt
+ def transform(ifname, ofname):
+ pixmap = Qt.QPixmap(ifname)
+ p = pixmap.scaledToWidth(24, Qt.Qt.SmoothTransformation)
+ return p.save(ofname)
+ else:
+ if not os.path.isabs(self.thumbnails_source):
+ m = 'Absolute path required for Thumbnails dir or zip'
+ raise ValueError(m)
+ shutil.rmtree(pngs_dir, ignore_errors=True)
+ if self.thumbnails_source.lower().endswith('.zip'):
+ from zipfile import ZipFile
+ zfile = ZipFile(self.thumbnails_source)
+ zfile.extractall(pngs_dir)
+ else:
+ shutil.copytree(self.thumbnails_source, pngs_dir)
+ def transform(ifname, ofname):
+ #just check if the required thumbnail exists
+ return os.path.isfile(ofname)
+
+ print("\tCreating PNG thumbnails for icon catalog")
+ os.path.walk(self.resource_dir, self._make_thumbnails,
+ (self.resource_dir, pngs_dir, transform) )
+ # create a zipped file for the thumbnails
+ fname = abspath('doc', '~thumbnails.zip')
+ if os.path.isfile(fname):
+ os.remove(fname)
+ self._zipdir(pngs_dir, fname)
+
+ except ImportError, e:
+ print("\tCannot create PNG thumbnails for icon catalog: %s" %
+ repr(e))
+
+ @staticmethod
+ def _make_thumbnails(arg, dirname, fnames):
+ '''create thumbnails. To be called by a walker'''
+ resource, target, transform = arg
+ relpath = os.path.relpath(dirname, start=resource)
+ path = os.path.join(target, relpath)
+ if not os.path.isdir(path):
+ os.makedirs(path)
+ for fname in fnames:
+ fbase, f_ext = os.path.splitext(fname)
+ if f_ext[1:] in build_catalog.AllowedExt:
+ full_source_fname = os.path.join(dirname, fname)
+ target_fname = fbase + ".png"
+ full_target_fname = os.path.join(path, target_fname)
+ if not os.path.isfile(full_target_fname):
+ ok = transform(full_source_fname, full_target_fname)
+ print(ok and "[OK]" or "[FAIL]", full_source_fname,
+ '->', full_target_fname)
+
+ @staticmethod
+ def _zipdir(basedir, archivename):
+ '''function to zip the contents of basedir into archivename.
+ Adapted from: http://stackoverflow.com/questions/296499
+ '''
+ from zipfile import ZipFile, ZIP_DEFLATED
+ from contextlib import closing
+ assert os.path.isdir(basedir)
+ with closing(ZipFile(archivename, "w", ZIP_DEFLATED)) as z:
+ for root, dirs, files in os.walk(basedir):
+ #NOTE: ignore empty directories
+ for fn in files:
+ absfn = os.path.join(root, fn)
+ zfn = absfn[len(basedir)+len(os.sep):]
+ z.write(absfn, zfn)
+
def getThemeIcon(self, resource):
try:
import PyQt4.Qt
@@ -820,8 +921,15 @@ if sphinx:
html += self.HTML_T % (':/', '')
anchor = '<a href="#_base">Base icons</a>'
try:
- taurus_relpath = os.path.relpath(self.taurus)
- html += self.HTML_IL % (taurus_relpath, taurus_relpath, ":/", taurus_relpath, taurus_relpath, self.getThemeIcon("taurus.png"))
+ taurus_relpath = 'taurus.png'
+ png_relpath = os.path.join(self.thumbnails_relpath,
+ taurus_relpath)
+ html += self.HTML_IL.format(thumbnail=png_relpath,
+ res_relpath=taurus_relpath,
+ qres_prefix=":/",
+ icon_name=taurus_relpath,
+ theme=self.getThemeIcon("taurus.png")
+ )
except Exception, e:
print("[FAILED]\nDescription:\n%s" % str(e), file=out)
import traceback
@@ -861,20 +969,26 @@ if sphinx:
html = ''
anchor = ''
try:
- qresource_prefix = ""
+ qres_prefix = ""
if len(local_bases) > 2:
- qresource_prefix = "/" + "/".join(local_bases[2:])
- qresource_prefix = ":" + qresource_prefix
- qresource_prefix += "/"
+ qres_prefix = "/" + "/".join(local_bases[2:])
+ qres_prefix = ":" + qres_prefix
+ qres_prefix += "/"
- html += '<h2><a name="%s">%s (%s)</a></h2>\n' % (base_dir, qresource_prefix, base_dir)
- html += self.HTML_T % (qresource_prefix , base_dir)
- anchor = '<a href="#%s">%s (%s)</a>' % (base_dir, base_dir, qresource_prefix)
+ html += '<h2><a name="%s">%s (%s)</a></h2>\n' % (base_dir, qres_prefix, base_dir)
+ html += self.HTML_T % (qres_prefix , base_dir)
+ anchor = '<a href="#%s">%s (%s)</a>' % (base_dir, base_dir, qres_prefix)
for elem in local_elems:
rel_elem = os.path.join(base_dir, elem)
base_elem, _ = os.path.splitext(rel_elem)
- rel_png_elem = base_elem + ".png"
- html += self.HTML_IL % (rel_png_elem, rel_elem, qresource_prefix, elem, rel_elem, self.getThemeIcon(elem))
+ png_relpath = os.path.join(self.thumbnails_relpath,
+ base_elem + ".png")
+ html += self.HTML_IL.format(thumbnail=png_relpath,
+ res_relpath=rel_elem,
+ qres_prefix=qres_prefix,
+ icon_name=rel_elem,
+ theme=self.getThemeIcon(elem)
+ )
except Exception, e:
print("[FAILED]\nDescription:\n%s" % str(e), file=out)
raise e
@@ -883,21 +997,29 @@ if sphinx:
result[0].append(html)
result[1].append(anchor)
return result
+
class build_doc(BuildDoc):
user_options = BuildDoc.user_options + \
- [('external-img-tools', None,
- "Use external tools for converting the icon catalog (useful if QApplication cannot be used while building, but requires inkscape and imagemagick)")]
- boolean_options = BuildDoc.boolean_options + ['external-img-tools']
+ [('thumbnails-source=', None,
+ ('Source for catalog thumbnails. Use "qt" for ' +
+ 'transforming the icons in the resource dir using ' +
+ 'QPixmap (this is the default). Use "wand" to ' +
+ 'transform using the wand module. Or provide an ' +
+ 'absolute path to either a dir or a zipfile ' +
+ 'containing a tree of pre-transformed thumbnails') ),
+ ('skip-api', None, 'skip api doc creation'),
+ ('skip-catalog', None, 'skip icon catalog creation')
+ ]
+ boolean_options = BuildDoc.boolean_options + ['skip-api',
+ 'skip-catalog'
+ ]
def initialize_options (self):
BuildDoc.initialize_options(self)
- self.external_img_tools = False
-
- def has_doc_api(self):
- return True
-
- sub_commands = BuildDoc.sub_commands + [(('build_doc_api', has_doc_api))]
+ self.thumbnails_source = 'qt'
+ self.skip_api = False
+ self.skip_catalog = False
def run(self):
try:
@@ -905,82 +1027,84 @@ if sphinx:
except Exception, e:
self.warn("Failed to build doc. Reason: %s" % str(e))
- def doit(self):
- if self.distribution.verbose:
- out = sys.stdout
- else:
- out = StringIO.StringIO()
-
+ def _build_doc_api(self, api_dir, doc_dir):
+ if self.skip_api:
+ return
+
+ #import auto_rst4api from the doc dir
+ name = 'auto_rst4api'
+ data = imp.find_module(name, [doc_dir])
+ auto_rst4api = imp.load_module(name, *data)
+ API_Creator = auto_rst4api.Auto_rst4API_Creator
+
+ # prepare api creator
+ excl = ['_[^\.]*[^_]', '.*.extra_sardana', '.*.extra_pool',
+ '.*.extra_macroexecutor', 'taurus.external']
+ rstCreator = API_Creator(exclude_patterns=excl,
+ templatespath=doc_dir,
+ overwrite_old=True,
+ verbose=self.distribution.verbose)
+ # clean previously existing rst files
+ rstCreator.cleanAutogenerated(api_dir)
+
+ # generate api
+ # IMPORTANT: 'taurus' here is already the one from source, since we went
+ # through doc/conf.py already and inserted the lib dir in the
+ # path
+ import taurus
+ r = rstCreator.documentModule('taurus', api_dir)
+
+ # report
+ print("Auto Creation of API docs Finished with %i warnings:" % len(r))
+ for i in r:
+ print(i)
+
+ def _build_catalog(self, fname):
+ if self.skip_catalog:
+ return
catalog = build_catalog()
+ catalog.fname = fname
+ catalog.builder_target_dir = self.builder_target_dir
+ catalog.thumbnails_source = self.thumbnails_source
catalog.verbose = self.distribution.verbose
- catalog.out = out
+ catalog.out = self.out
catalog.run()
-
- resource = abspath('lib', 'taurus', 'qt', 'qtgui', 'resource')
- tango_catalog = os.path.join(resource, 'catalog.html')
- build_dir = os.path.abspath(self.builder_target_dir)
- target = abspath('doc', 'source', 'devel')
- target_catalog = os.path.join(target, 'catalog.html')
-
- # copy the icon catalog.html to the doc directory
- refresh = self.fresh_env or self.all_files
- if not os.path.isfile(target_catalog) or refresh:
- print("copying", tango_catalog, '->', target_catalog, file=out)
- shutil.copyfile(tango_catalog, target_catalog)
-
- # make sure the python path is pointing to the newly built
- # code so that the documentation is built on this and not a
- # previously installed version
- build_cmd = self.get_finalized_command('build')
- build_lib = os.path.abspath(build_cmd.build_lib)
- sys.path.insert(0, build_lib)
+
+ def doit(self):
+ if self.distribution.verbose:
+ self.out = sys.stdout
+ else:
+ self.out = StringIO.StringIO()
+
+ _catalog_file = abspath('doc', 'source', 'devel', 'catalog.html')
+ _api_dir = abspath('doc', 'source', 'devel', 'api')
+ _lib_dir = abspath('lib')
+ _doc_dir = abspath('doc')
+ _mock_path = os.path.join(_doc_dir, 'mock.zip')
+ # append mock dir to the sys path (mocks will be used if needed)
+ sys.path.append(_mock_path)
+ # Import taurus from src distribution
+ sys.path.insert(0, os.path.abspath(_lib_dir))
+
try:
for cmd_name in self.get_sub_commands():
self.run_command(cmd_name)
+ self._build_doc_api(_api_dir, _doc_dir)
+ self._build_catalog(_catalog_file)
BuildDoc.run(self)
finally:
sys.path.pop(0)
-
- # copy the tango icons to the build directory of documentation
- target = os.path.join(build_dir, 'devel')
-
- if not self.external_img_tools:
- import PyQt4.Qt
- if PyQt4.Qt.qApp.instance() is None:
- self.app = PyQt4.Qt.QApplication([])
-
- print("\tBuilding PNGs for icon catalog")
- os.path.walk(resource, svg_to_png, (resource, target, self.external_img_tools))
- return
+ print('Removing temporary api dir: ', _api_dir)
+ shutil.rmtree(_api_dir, ignore_errors=True)
+ print('Removing temporary catalog file', _catalog_file)
+ try:
+ os.remove(_catalog_file)
+ except:
+ pass
cmdclass['build_doc'] = build_doc
-def svg_to_png(arg, dirname, fnames):
- resource, target, external_img_tools = arg
- if not external_img_tools:
- import PyQt4.Qt
- relpath = os.path.relpath(dirname, start=resource)
- path = os.path.join(target, relpath)
- if not os.path.isdir(path):
- os.makedirs(path)
- for fname in fnames:
- fbase, f_ext = os.path.splitext(fname)
- if f_ext[1:] in build_catalog.AllowedExt:
- full_source_fname = os.path.join(dirname, fname)
- target_fname = fbase + ".png"
- full_target_fname = os.path.join(path, target_fname)
- if not os.path.isfile(full_target_fname):
- if external_img_tools:
- cmd = "inkscape -z '%s' -e '%s' -w 24 >/dev/null 2>/dev/null" % (full_source_fname, full_target_fname)
- ok = not(os.system(cmd))
- if not ok:
- cmd = "convert -resize 24 '%s' '%s' >/dev/null 2>/dev/null" % (full_source_fname, full_target_fname)
- ok = not(os.system(cmd))
- else:
- pixmap = PyQt4.Qt.QPixmap(full_source_fname)
- pix = pixmap.scaledToWidth(24, PyQt4.Qt.Qt.SmoothTransformation)
- ok = pix.save(full_target_fname)
- print(ok and "[OK]" or "[FAIL]", full_source_fname, '->', full_target_fname)
+
def main():
setup(name='taurus',
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/taurus.git
More information about the debian-science-commits
mailing list