Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tau: PyQT GUI for Tango TANGO Collaboration Meeting April 18, 2008

Similar presentations


Presentation on theme: "Tau: PyQT GUI for Tango TANGO Collaboration Meeting April 18, 2008"— Presentation transcript:

1 Tau: PyQT GUI for Tango TANGO Collaboration Meeting April 18, 2008
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Tau: PyQT GUI for Tango Tau: PyQT GUI for Tango TANGO Collaboration Meeting April 18, 2008 We are growing a lot in python know how We wanted a GUI platform that takes advantage of this We did not have time to develop our own GUI editor so instead we extended the existing one Tiago Coutinho - ALBA

2 Agenda Concept Demo Current applications Requirements Future
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Tau: PyQT GUI for Tango Agenda Concept core widget model Demo Current applications Requirements Future Conclusions For those who dared to forget what sardana is What we had 1.5 years ago What we have now The foreseen future This is the part where I get on my knees and beg for collaboration

3 Concept A framework for both CLI and GUI Tango applications
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Tau: PyQT GUI for Tango Concept A framework for both CLI and GUI Tango applications Built on top of PyTango Originally known as PyTauico & PyTauiwi Two major libraries: core widget CORBA Tango PyTango Tau core widget

4 Concept (cont.) core the “model” part of a MVC oriented arquitecture
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Tau: PyQT GUI for Tango Concept (cont.) core the “model” part of a MVC oriented arquitecture Completely QT independent the heart: TangoFactory old AttributeFactory and DeviceFactory ensures single object for single identity model discovery implements naming validation polling engine logging framework the models: Hierarquichal Implement TauModel interface automatic event subscription ( change & configuration ) must obey the naming convention

5 Concept (cont.) model Database Device Attribute
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Tau: PyQT GUI for Tango Concept (cont.) model Database (tango://)?<host>:<port> Ex: tango://controls01:10000 or controls01:10000 Device (<database>/)?(<devicename>|<devicealias>) Ex: controls01:10000/motor/icepapctrl/1 Attribute <device>/<attrname> Ex: motor/icepapctrl/1/velocity

6 Concept (cont.) model Configuration Property Command
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Tau: PyQT GUI for Tango Concept (cont.) model Configuration <attribute>?configuration=<confname> Ex: motor/icepapctrl/1/velocity?configuration=label Property <class>?property=<propname> <device>?property=<propname> <attribute>?property=<propname> Ex: motor/icepapctrl/1?property=channel_id Command <device>?command=<cmdname> Ex: motor/icepapctrl/1?command=DefinePosition

7 Concept (cont.) widget built on top of tau.core and PyQt
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Tau: PyQT GUI for Tango Concept (cont.) widget built on top of tau.core and PyQt tango widget behavior rules: colors on state and/or quality, writability on attribute type, etc look & feel exception handling hierarquical widgets that match model hierarchy automatic event registration (CHANGE & ATTR_CONF) QT Designer ‘friendly’ Basic widgets are done Easy to write your own custom widgets. python widgetgen.py <classname> <superclass> <outputfile> [<qtfile>]

8 TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra
Tau: PyQT GUI for Tango

9 TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra
Tau: PyQT GUI for Tango

10 TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra
Tau: PyQT GUI for Tango

11 Requirements Core Widget Python 2.4 PyTango 3.0.4* Qt & PyQT 4.2
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Tau: PyQT GUI for Tango Requirements Core Python 2.4 PyTango 3.0.4* Widget Qt & PyQT 4.2 4.3 if you want synoptics Qwt & PyQwt 5.0.1 If you want plotting widgets numpy *It’s not out yet!

12 Future core: widgets: test framework Developers manual
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Tau: PyQT GUI for Tango Future core: missing objects: command, property widgets: missing basic widgets: list, combo, spinner, table migration of non basic widgets: Image, OpenGL widgets Complete set of JDraw synoptics features test framework Developers manual Tango idependency Part of a larger plan tango://motor/ctrl/slit to spec://slit Dam! maybe we will have to rename Tau. Again!

13 Conclusions Users (developers) are happy They are developing GUIs:
TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Tau: PyQT GUI for Tango Conclusions Users (developers) are happy They are developing GUIs: Rich Small development effort Good logging support Most of the time is spent in QT designer and JDraw Still a lot of work to be done to reach an ATK level of maturity and stability

14 TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra
Tau: PyQT GUI for Tango Questions ? ? ? ? ? ?


Download ppt "Tau: PyQT GUI for Tango TANGO Collaboration Meeting April 18, 2008"

Similar presentations


Ads by Google