1 / 14

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

Tau: PyQT GUI for Tango TANGO Collaboration Meeting April 18, 2008. Tiago Coutinho - ALBA. Agenda. Concept core widget model Demo Current applications Requirements Future Conclusions. Tau. widget. core. PyTango. Tango. CORBA. Concept.

marlow
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Tau: PyQT GUI for Tango Tau: PyQT GUI for TangoTANGO Collaboration MeetingApril 18, 2008 Tiago Coutinho - ALBA

  2. 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

  3. TANGO Collaboration Meeting 2008, April 17th and 18th 2008, Elettra Tau: PyQT GUI for Tango Tau widget core PyTango Tango CORBA 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

  4. 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. 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. 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. 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. 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. 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. 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 ? ? ? ? ? ?

More Related