This chapter explains how to migrate from an application written using tau to taurus.
The first step in the migration is to translate the .ui files created with the Qt designer using the tau widgets. The .ui file generated by the designer is basically just an XML file describing the GUI you designed. Taurus comes with a tool called tau2taurus which can be located in the scripts directory.
This tool receives as parameters an output .ui file and an input .ui file. When executed, it replaces all occurences of tau with the proper taurus. It uses the tau2taurus.csv file to identify which new taurus class replaces the old tau class. Let’s say your project contains an .ui file called mainwindow.ui that was created using the designer with the tau widgets and you want to migrate it to taurus. On the command line just execute:
tau2taurus -o mainwindow2.ui mainwindow.ui
Caution
the output file CAN be the same as the input file. However we advise to use different files to be able to go back to the old .ui file if necessary
You should now reopen the generated file with taurusdesigner to fix any problems (some widget properties may have ceased to exist).
Now that you have successfully converted all .ui files it’s time to regenerate the python code from them. Taurus comes with a tool called taurusuic4 [1] that converts the .ui file into python code.
Hint
executing tau2taurus --help gives you help on command line parameters
Continuing with the previous example, just type in the command line:
taurusuic4 -x -o ui_mainwindow.py mainwindow2.ui
Important
taurusuic4 uses pyuic4 behind the scenes. In order to make it work properly it has to do some nasty code changes depending on the pyuic4 version you have installed. Therefore, for taurusuic4 to work as expected, you MUST give the .ui input file as the last parameter in the command line
Hint
giving -x option makes the python code executable from the command line. This makes it possible to execute the generated python file directly from the command line:
python ui_mainwindow.py
The third step and final step in the migration is to change your python code to replace all references to tau with taurus. Unfortunately there is no tool to do this so this step must be done manually by you. The following table describes the replacement classes.
Old package | Old class | New package | New class |
---|---|---|---|
tau | * | taurus | * |
tau.core | Tau* | taurus.core | Taurus* |
tau.core | * | taurus.core | * |
tau.core.resources | * | taurus.core.resource | * |
tau.core.simulation | * | taurus.core.simulation | * |
tau.core.tango | * | taurus.core.tango | * |
tau.core.utils | * | taurus.core.util | * |
tau.widget | AbstractGraphicsFactory | taurus.qt.qtgui.graphic | TaurusBaseGraphicsFactory |
tau.widget | ActionFactory | taurus.qt.qtgui.util | ActionFactory |
tau.widget | BaseConfigurableClass | taurus.qt.qtcore.configuration | BaseConfigurableClass |
tau.widget | Led | taurus.qt.qtgui.display | QLed |
tau.widget | LedColor | taurus.qt.qtgui.display | LedColor |
tau.widget | LedSize | taurus.qt.qtgui.display | LedSize |
tau.widget | LedStatus | taurus.qt.qtgui.display | LedStatus |
tau.widget | QT_ATTRIBUTE_QUALITY_PALETTE | taurus.qt.qtgui.util | QT_ATTRIBUTE_QUALITY_PALETTE |
tau.widget | QT_DEVICE_STATE_PALETTE | taurus.qt.qtgui.util | QT_DEVICE_STATE_PALETTE |
tau.widget | Release | taurus.core | Release |
tau.widget | TauAttrForm | taurus.qt.qtgui.panel | TaurusAttrForm |
tau.widget | TauAttrListComboBox | taurus.qt.qtgui.input | TaurusAttrListComboBox |
tau.widget | TauBaseComponent | taurus.qt.qtgui.base | TaurusBaseComponent |
tau.widget | TauBaseConfigurableClass | None | None |
tau.widget | TauBaseContainer | taurus.qt.qtgui.container | TaurusBaseContainer |
tau.widget | TauBaseWidget | taurus.qt.qtgui.base | TaurusBaseWidget |
tau.widget | TauBaseWritableWidget | taurus.qt.qtgui.base | TaurusBaseWritableWidget |
tau.widget | TauBoolLed | taurus.qt.qtgui.display | TaurusLed [2]_ |
tau.widget | TauButtonBox | taurus.qt.qtgui.button | QButtonBox |
tau.widget | TauCircularGauge | taurus.qt.qtgui.gauge | TaurusCircularGauge |
tau.widget | TauClassTable | None | None |
tau.widget | TauCommandButton | taurus.qt.qtgui.button | TaurusCommandButton |
tau.widget | TauCommandsForm | taurus.qt.qtgui.panel | TaurusCommandsForm |
tau.widget | TauConfigLabel | taurus.qt.qtgui.display | TaurusLabel [3]_ |
tau.widget | TauConfigLineEdit | taurus.qt.qtgui.input | TaurusConfigLineEdit |
tau.widget | TauDevTree | taurus.qt.qtgui.tree | TaurusDevtree |
tau.widget | TauEllipseStateItem | taurus.qt.qtgui.graphic | TaurusEllipseStateItem |
tau.widget | TauForm | taurus.qt.qtgui.panel | TaurusForm |
tau.widget | TauFrame | taurus.qt.qtgui.container | TaurusFrame |
tau.widget | TauGraphicsAttributeItem | taurus.qt.qtgui.graphic | TaurusGraphicsAttributeItem |
tau.widget | TauGraphicsItem | taurus.qt.qtgui.graphic | TaurusGraphicsItem |
tau.widget | TauGraphicsScene | taurus.qt.qtgui.graphic | TaurusGraphicsScene |
tau.widget | TauGraphicsStateItem | taurus.qt.qtgui.graphic | TaurusGraphicsStateItem |
tau.widget | TauGraphicsView | taurus.qt.qtgui.graphic | TaurusGraphicsView |
tau.widget | TauGrid | taurus.qt.qtgui.table | TaurusGrid |
tau.widget | TauGroupBox | taurus.qt.qtgui.container | TaurusGroupBox |
tau.widget | TauGroupStateItem | taurus.qt.qtgui.graphic | TaurusGroupStateItem |
tau.widget | TauJDrawSynopticsView | taurus.qt.qtgui.graphic | TaurusJDrawSynopticsView |
tau.widget | TauLCDValue | taurus.qt.qtgui.display | TaurusLCD |
tau.widget | TauLauncherButton | taurus.qt.qtgui.button | TaurusLauncherButton |
tau.widget | TauLimitSwitch | taurus.qt.qgui.display | TaurusLed [2]_ |
tau.widget | TauLinearGauge | taurus.qt.qtgui.gauge | TaurusLinearGauge |
tau.widget | TauLoggerTable | taurus.qt.qtgui.table | TaurusLoggerTable |
tau.widget | TauLoggerWidget | taurus.qt.qtgui.table | TaurusLoggerWidget |
tau.widget | TauLogo | taurus.qt.qtgui.display | QLogo |
tau.widget | TauMainWindow | taurus.qt.qtgui.container | TaurusMainWindow |
tau.widget | TauPolygonStateItem | taurus.qt.qtgui.graphic | TaurusPolygonStateItem |
tau.widget | TauPropTable | taurus.qt.qtgui.table | TaurusPropTable |
tau.widget | TauQueryComboBox | None | None |
tau.widget | TauRectStateItem | taurus.qt.qtgui.graphic | TaurusRectStateItem |
tau.widget | TauScrollArea | taurus.qt.qtgui.container | TaurusScrollArea |
tau.widget | TauStateLabel | taurus.qt.qtgui.display | TaurusLabel [4]_ |
tau.widget | TauStateLed | taurus.qt.qtgui.display | TaurusLed [2]_ |
tau.widget | TauTextAttributeItem | taurus.qt.qtgui.graphic | TaurusTextAttributeItem |
tau.widget | TauTextStateItem | taurus.qt.qtgui.graphic | TaurusTextStateItem |
tau.widget | TauValue | taurus.qt.qtgui.panel | TaurusValue |
tau.widget | TauValueCheckBox | taurus.qt.qtgui.input | TaurusValueCheckBox |
tau.widget | TauValueComboBox | taurus.qt.qtgui.input | TaurusValueComboBox |
tau.widget | TauValueLabel | taurus.qt.qtgui.display | TaurusLabel [4]_ |
tau.widget | TauValueLineEdit | taurus.qt.qtgui.input | TaurusValueLineEdit |
tau.widget | TauValueSpinBox | taurus.qt.qtgui.input | TaurusValueSpinBox |
tau.widget | TauValuesFrame | taurus.qt.qtgui.container | TaurusValuesFrame |
tau.widget | TauValuesTable | taurus.qt.qtgui.table | TaurusValuesTable |
tau.widget | TauWheelEdit | taurus.qt.qtgui.input | TaurusWheelEdit |
tau.widget | TauWidget | taurus.qt.qtgui.container | TaurusWidget |
tau.widget | TauWidgetFactory | taurus.qt.qtgui.util | TaurusWidgetFactory |
tau.widget.actions | AttributeAllConfigAction | taurus.qt.qtgui.util | AttributeAllConfigAction |
tau.widget.actions | AttributeDisplayAction | taurus.qt.qtgui.util | AttributeDisplayAction |
tau.widget.actions | AttributeHistoryAction | taurus.qt.qtgui.util | AttributeHistoryAction |
tau.widget.actions | AttributeImageDisplayAction | taurus.qt.qtgui.util | AttributeImageDisplayAction |
tau.widget.actions | AttributeMenu | taurus.qt.qtgui.util | AttributeMenu |
tau.widget.actions | AttributeMonitorDeviceAction | taurus.qt.qtgui.util | AttributeMonitorDeviceAction |
tau.widget.actions | AttributeRangesAction | taurus.qt.qtgui.util | AttributeRangesAction |
tau.widget.actions | AttributeUnitsAction | taurus.qt.qtgui.util | AttributeUnitsAction |
tau.widget.actions | ConfigurationMenu | taurus.qt.qtgui.util | ConfigurationMenu |
tau.widget.actions | SeparatorAction | taurus.qt.qtgui.util | SeparatorAction |
tau.widget.actions | TauAction | taurus.qt.qtgui.util | TauAction |
tau.widget.actions | TauMenu | taurus.qt.qtgui.util | TauMenu |
tau.widget.configbrowser | ConfigViewer | taurus.qt.qtgui.panel | QConfigViewer |
tau.widget.dialog | AttrChooser | taurus.qt.qtgui.panel | TaurusAttributeChooser |
tau.widget.dialog | DataExportDlg | taurus.qt.qtgui.panel | QDataExportDialog |
tau.widget.dialog | RawDataWidget | taurus.qt.qtgui.panel | QRawDataWidget |
tau.widget.edit | WheelEdit | taurus.qt.qtgui.input | QWheelEdit |
tau.widget.qwt | TauArrayEditor | taurus.qt.qtgui.plot | TaurusArrayEditor |
tau.widget.qwt | TauPlot | taurus.qt.qtgui.plot | TaurusPlot |
tau.widget.qwt | TauTrend | taurus.qt.qtgui.plot | TaurusTrend |
tau.widget.utils | initTauQtLogger | taurus.qt.qtcore.util | initTaurusQtLogger |
tau.widget.utils | getQtLogger | taurus.qt.qtcore.util | getQtLogger |
tau.widget.extra_xterm | XTermWidget | taurus.qt.qtgui.extra_xterm | QXTermWidget |
tau.widget.extra_tauservers | TauServersWidget | taurus.qt.qtgui.extra_tauservers | TaurusServersWidget |
tau.widget.extra_motor | TauMotorH | taurus.qt.qtgui.extra_pool | TaurusMotorH |
tau.widget.extra_motor | TauMotorH2 | taurus.qt.qtgui.extra_pool | TaurusMotorH2 |
tau.widget.extra_motor | TauMotorV | taurus.qt.qtgui.extra_pool | TaurusMotorV |
tau.widget.extra_motor | TauMotorV2 | taurus.qt.qtgui.extra_pool | TaurusMotorV2 |
tau.widget.extra_motor | PoolMotorSlim | taurus.qt.qtgui.extra_pool | PoolMotorSlim |
tau.widget.macroexecutor | TauMacroExecutorWidget | taurus.qt.qtgui.extra_macroexecutor | TaurusMacroExecutorWidget |
tau.widget.macroexecutor | TauMacroExecutor | taurus.qt.qtgui.extra_macroexecutor | TaurusMacroExecutor |
tau.widget.macroexecutor | TauSequencer | taurus.qt.qtgui.extra_macroexecutor | TaurusSequencer |
tau.widget.macroexecutor | TauMacroConfigurationDialog | taurus.qt.qtgui.extra_macroexecutor | TaurusMacroConfigurationDialog |
tau.widget.macroexecutor | TauMacroDescriptionViewer | taurus.qt.qtgui.extra_macroexecutor | TaurusMacroDescriptionViewer |
tau.widget.macroexecutor | DoorOutput | taurus.qt.qtgui.extra_macroexecutor | DoorOutput |
tau.widget.macroexecutor | DoorDebug | taurus.qt.qtgui.extra_macroexecutor | DoorDebug |
tau.widget.macroexecutor | DoorResult | taurus.qt.qtgui.extra_macroexecutor | DoorResult |