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

Slides:



Advertisements
Similar presentations
Web Applications Development Using Coldbox Platform Eddie Johnston.
Advertisements

© 2015 Dbvisit Software Limited | dbvisit.com An Introduction to Dbvisit Standby.
Tango at Petra III Teresa Núñez Hasylab-DESY Tango Meeting ESRF,
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
Introduction to Java Swing “We are the sultans of swing” – Mark Knopfler.
Object Matching With Faces CS460 Project Presentation By Sam Buyarski.
Table-Driven Acceptance Testing Mario Aquino Principal Software Engineer Object Computing, Inc.
DIRAC Web User Interface A.Casajus (Universitat de Barcelona) M.Sapunov (CPPM Marseille) On behalf of the LHCb DIRAC Team.
The Sardana device pool for SPEC lovers - BLISS Seminar - January 15, 2007 The Sardana device pool for SPEC lovers BLISS Seminar January 15, 2007 Tiago.
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
Building an Offline Smart Client using Domain-Driven Design Principles Tim McCarthy.
Dessy, 17 september 2007 Tango Meeting Development of Tango Client Applications in Python Tiago Coutinho and Josep Ribas.
Credit Hours Agenda IntroductionProblem Statement Objectives Project PlanMethodology Work Breakdown Structure Requirements and specificationSoftware Requirements.
Building Applications with the KNS. The History of the KNS KFS spent a large amount of development time up front, using the best talent from each of the.
"Witness of a new dancer". 14 October TANGO at ALBA Alba team: Presented by DFC. Witness of a new dancer.
CSS – Control System Studio
ROOT’s graphics on iOS. ROOT’s graphics (general scheme):
E.Bertino, L.Matino Object-Oriented Database Systems 1 Chapter 5. Evolution Seoul National University Department of Computer Engineering OOPSLA Lab.
Petra III Status Teresa Núñez Hasylab-DESY Tango Meeting DESY,
The TANGO Logging Service Status Implementation details Possible enhancements.
Graphical Enablement In this presentation… –What is graphical enablement? –Introduction to newlook dialogs and tools used to graphical enable System i.
5-Oct-051 Tango collaboration status ICALEPCS 2005 Geneva (October 2005)
QPE A Graphical Editor for Modeling using Queueing Petri Nets Christofer Dutz.
EPICS to TANGO Translator Rok Šabjan on behalf of Rok Štefanič Presented at ICALEPCS, Knoxville, October.
April 27, 2006 The New GANGA GUI 26th LHCb Software Week C L Tan
March 19th 2007 TANGO collaboration 1 POGO-7 Pascal Verdier ESRF- Hamburg - 25 th of October 2010 A Short History of Pogo A Short History of Pogo New Technology.
PHP vs. Python. Similarities are interpreted, high level languages with dynamic typing are Open Source are supported by large developer communities are.
Devanshu Bawa Customization Specialist Logo Business Solutions.
Cross Language Clone Analysis Team 2 February 3, 2011.
Kappa Workgroup Meeting | Bessy | Nov 28-29, 2011Session 4: Beamline GUIs 1 Beamline GUIs at ALBA Guifre Cuni on behalf of the Controls Group.
Foot switch project GUI software design. Oscilloscope Communication Uses VISA protocol for scope communication. – Common on Tektronix Oscilloscope platforms.
SRM “Multiple Inheritance for PyTango Device Classes” 21st Tango Meeting, 14th May A Multiple Inheritance Mechanism for PyTango Device Classes Sergi.
CIT 590 Intro to Programming Lecture 10 (object oriented programming)
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
An Introduction to Epics/Tango Steve Hunt Alceli EPICS Meeting 2008 INFN Legnaro 15 Oct 17:15.
Ch. 31 Q and A IS 333 Spring 2016 Victor Norman. SNMP, MIBs, and ASN.1 SNMP defines the protocol used to send requests and get responses. MIBs are like.
Mobilizing Your SAS® Business Analytic Reports Falko Schulz Sr. Systems Engineer SAS Australia & New Zealand.
“This improved a lot since I started using Tango (three years ago) from scratch so I'm happy to see the efforts from the developers. Still there is room.
Sergi Rubio Manrique “Archiving System at ALBA”. Tango Meeting. ALBA. October 16 th, MMVIII 1 Archiving ALBA Sergi Rubio Manrique.
Tango - Icalepcs 2009 ESRF. E Taurel - Icalepcs TANGO kernel status and evolution Brief introduction What's new since Icalepcs 2007 New projects.
1 30 th Tango collaboration meeting, June 2016 SPYC Project : CLI and scripting solution on top of Tango SPYC project : Command Line Interface and.
Re Write POGO using openArchitectureWare Technology ● Pogo History ● OpenArchitectureWare technology ● Generated code ● Project status.
Tango Collaboration Meeting May 13 th 2009Sardana Status Report Sardana Status Report Tango Collaboration Meeting May 13 th, 2009 Tiago Coutinho - ALBA.
Qt GUI and IDE development in EPICS
TANGO Harmonization Meeting (Edinburgh)
The BLISS Framework 4.
Overview of TANGO Control system
Object Oriented Programming
Device Pool Status Report TANGO Collaboration Meeting April 17, 2008
Archiving System News Tango Meeting (Elettra, April 2008)
Python, PyTango + QT Designer Operations perspective on automation
Recent trends in estimation methodologies
ABRT (Automatic Bug Reporting Tool)
                                                                       TANGO Collaboration Experience for running a multi-site international software project.
Pipeline Execution Environment
Tau developers aproach
Open-O Client Project Proposal
The BLISS Framework 4.
Pegasus Status Update April 2001
Overview of Basic 3D Experience (Enovia V6) Concepts
Sébastien Gara, Tango meeting 2016
Use Cases.
PANIC/PyAlarm at SOLARIS – S2Innovation in action
Tango in a Nutshell 31/12/2018.
JavaServer Faces: The Fundamentals
Windows Ribbon Framework
…and web frameworks in general
TANGO from an EPICS perspective
Presentation transcript:

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

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

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

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

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

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

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>]

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

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

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

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!

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!

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

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