Wir schaffen Wissen – heute für morgen A.C.Mezger, Paul Scherrer Institut, Switzerland caQtDM, an EPICS display manager with Qt Paul Scherrer Institut.

Slides:



Advertisements
Similar presentations
Control System Studio (CSS)
Advertisements

RDz and Process Integration Using Menu Manager and HATS to customize your RDz installation David Myers.
Win8 on Intel Programming Course Desktop : WPF Cédric Andreolli Intel Software
Chapter 16 Graphical User Interfaces John Keyser’s Modifications of Slides by Bjarne Stroustrup
Processing Lecture. 1 What is processing?
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. The Web Services Modeling Toolkit Mick Kerrigan.
Goals Give you a feeling of what Eclipse is.
Next Generation MMI Requirements May 4, MMI - High Level Requirements run under UNIX and Windows NT (WNT) use a well defined ASCII definition for.
A graphical user interface (GUI) is a pictorial interface to a program. A good GUI can make programs easier to use by providing them with a consistent.
CS 112 GUI 06 May 2008 Bilkent. Java GUI API Containers: ◦ contain other GUI components. E.g, Window, Panel, Applet, Frame Dialog. Components: ◦ Buttons,
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Wir schaffen Wissen – heute für morgen caQtDM: a Qt-based EPICS display manager, status report Helge Brands, Anton Mezger, Paul Scherrer Institut At the.
1 Introduction to the Visual Studio.NET IDE Powerpoint slides modified from Deitel & Deitel.
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
ICS 665 Jesse Abdul. jQuery UI Overview  jQuery UI javascript library Includes all UI component functionality  jQuery UI CSS framework Includes standard.
Wir schaffen Wissen – heute für morgen A.C.Mezger An EPICS Display manager with Qt The EPICS display manager MEDM is a very powerful tool with many features.
Wir schaffen Wissen – heute für morgen A.C.Mezger An EPICS Display manager with Qt.
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 Nvu Jing Fu. What is nVu? Free web design and development tool WYSIWYG (/wiziwig/) software Other similar tools: Dreamweaver, Googlepages.
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
John Sinclair Oak Ridge National Laboratory
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Getting Started with Dreamweaver
CSCI 3327 Visual Basic Chapter 1: Introduction to Visual Basic
Chapter 3 Navigating a Project Goals & Objectives 1.Get familiar with the navigation of the project. How is everything structured? What settings can you.
Chapter 11-Multimedia Authoring Tools. Overview Introduction to multimedia authoring tools. Types of authoring tools. Cross-platform authoring notes.
Java Beans.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
INTRODUCTION TO FRONTPAGE. TOPICS TO BE DISCUSSED……….  Introduction Introduction  Features Features  Starting Front Page Starting Front Page  Components.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Deutsches Elektronen-Synchrotron DESY Helmholtz Association of German Research Centres Hamburg, Germany The European X-Ray Laser Project.
IE 411/511: Visual Programming for Industrial Applications
Visual Linker Final presentation.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
Website Development with Dreamweaver
Introduction to Matlab & Data Analysis
Selected Topics in Software Engineering - Distributed Software Development.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 3 Welcome Application Introduction to Visual Programming.
Prachi Chitnis.  The CSS feel  SDS – Synoptic Display Studio  ADL Converter  PV table, Probe…
Are you getting the benefits from ASP.NET and AJAX? Introduction to the CTC ASP.NET Webforms Generator.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Visual Linker ARD presentation. slide 2  Background and Vision  Problem Domain  Stakeholders  Functional Requirements  Non Functional.
Visual Linker Prototype presentation.
Presentation Name / 1 Visual C++ Builds and External Dependencies NAME.
The Abstract Window Toolkit (AWT) supports Graphical User Interface (GUI) programming. AWT features include: a rich set of user interface components; a.
EPICS Qt Fall Meeting October 2014 Saclay
Evolution of VisualDCT Jaka Bobnar Matej Sekoranja Igor Verstovsek
Graphics Concepts CS 2302, Fall /17/20142 Drawing in Android.
GUIs Basic Concepts. GUI GUI : Graphical User Interface Window/Frame : a window on the screen Controls/Widgets : GUI components.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
 2002 Prentice Hall. All rights reserved. 1 Chapter 2 – Introduction to the Visual Studio.NET IDE Outline 2.1Introduction 2.2Visual Studio.NET Integrated.
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
Jan Hatje, DESY CSS – Control System Studio EPICS collaboration meeting CSS – Control System Studio Update EPICS collaboration meeting 2008 Shanghai.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved. 1 Chapter 14 JavaFX Basics.
Developing GUIs With the Eclipse Visual Editor, SWT Edition David Gallardo.
LCG AA Meeting 30 June 2004 Ilka Antcheva Graphics User Interface in ROOT.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
BOY, A Modern Graphical Operator Interface Editor and Runtime Xihui Chen, Kay Kasemir RAD Control Group.
WIR SCHAFFEN WISSEN – HEUTE FÜR MORGEN caQtDM: future use of a display manager Helge Brands, Anton Mezger :: Paul Scherrer Institut, Switzerland Spring.
TIZEN Native UI Builder Fajri Koto
Qt GUI and IDE development in EPICS
Introducing the Windows Mobile development
Goals Give you a feeling of what Eclipse is.
Introduction to Computer CC111
Basic Controls and Plugins
CaQtDM: a Qt-based EPICS display manager, status report Helge Brands, Anton Mezger, Paul Scherrer Institut At the Paul Scherrer Institut the new Qt-based.
caQtDM: future use of a display manager
Chapter 2 – Introduction to the Visual Studio .NET IDE
Control System Studio (CSS)
The Basic Usage and The Event Handling in Glade.
Presentation transcript:

Wir schaffen Wissen – heute für morgen A.C.Mezger, Paul Scherrer Institut, Switzerland caQtDM, an EPICS display manager with Qt Paul Scherrer Institut Anton Mezger

A.C.Mezger, Paul Scherrer Institut, Villigen, Switzerland caQtDM: what is it ? Qt: a new system for building graphic user interfaces. Qt-Display manager, Qt-Designer, components Qt-Designer, the GUI designer adl2ui: translator medm (.adl) files to xml (.ui) files Few remarks and hints. Conclusion, where is it ? Demo (offline for those interested). Outline of the presentation slide 2

A.C.Mezger, Paul Scherrer Institut, Villigen, Switzerland caQtDM: what is it ? caQtDM a display manager using the Qt-Framework. replacement of MEDM, it reproduces its functionality + extensions (cameras, …) used at PSI for two control systems simultaneously: EPICS (CA) and an older home made CS used at the proton facility. functionality extendable through the Qt plugin-mechanism configured with the Qt-Designer using ui files or by writing scripts (pep files: home made) runs native on linux (x11) and on microsoft windows. slide 3

A.C.Mezger, Paul Scherrer Institut, Villigen, Switzerland Qt: a new system for writing graphic user interfaces What is the Qt-Framework (definition given by Wiki): Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface (GUI) (in which cases Qt is classified as a widget toolkit)cross-platformapplication framework application softwaregraphical user interface (GUI)widget toolkit Qt runs on the major desktop platforms and some of the mobile platforms. Qt comes with libraries, an integrated development environment (IDE) called QtCreator, with an user interface designer (Designer) and some third party libraries like qwt for 2D graphics and qwtplot3d for 3D graphics. The actual version we use is Qt For Qt 5 the C++ include file structure was changed and application software has to be adapted. slide 4

A.C.Mezger, Paul Scherrer Institut, Villigen, Switzerland Qt-Epics display manager: components Description file (.ui) Qt Designer Qt application = caQtdm plugged in widgets CAcaQtDM_Lib adl2uiMEDM.adl file Qt-Designer, the graphic user interface builder tool comes with Qt-SDK. Qt-Designer plugged in control system widgets / extensions developed in the context of our display manager. adl2ui tool to translate.adl files to xml.ui files used by Qt-designer developed in the context of our display manager, but can be modified easily when using other target widgets. caQtDM_Lib, the display and control system aware library class, used by applications, monitors with maximum default rate of 5 Hz caQtDM, the display manager glueying all together slide 5

A.C.Mezger, Paul Scherrer Institut, Villigen, Switzerland Qt-Designer, what can it do Qt-Designer = a tool for building graphic user interfaces with widgets like sliders, knobs, labels, buttons, …. Qt-Designer offers a plug-in mechanism for introducing your own widgets and build a rich environment with new entities. These are added to the widget box Many widgets have been integrated to be used for controls: Strip plot, cartesian plot, wheel switch, include, camera and many more Include (composite) widget is represented in Qt-designer with its contents Actually 30 widgets, including all MEDM objects. Widgets are not directly CS-aware, but provide the properties and methods to be used with applications. Application loads through a «designer» load call the ui file. slide 6

A.C.Mezger, Paul Scherrer Institut, Villigen, Switzerland Qt-Designer, what can it do However not a graphical editor like gimp, corel draw, … While widgets are used, you can only use widgets to draw objects. Drawing widget for rectangles, circles, ovals, lines, triangles has been created. Can overlap and can have transparency Property editor: slide 7

A.C.Mezger, Paul Scherrer Institut, Villigen, Switzerland Qt-Designer, what can it do Qt-Designer allows to make extensions having more interaction: Polylines, Polygones: widget created with an integrated editor for drawing with the mouse: Doubletab widget: a container widget allowing two dimensional selection: slide 8

A.C.Mezger, Paul Scherrer Institut, Villigen, Switzerland The.adl files: translation to xml files Translator (adl2ui) is based on parser code of MEDM and generates ui files: Parses the.adl file and produces includes, you also have to parse the underlying ui files: The Qt-Designer will show all the includes, but you have to be in the directory where these are situated. Problems: The widget ordering (in front or behind) is not always correct due to the widget principle (one can correct this in Qt-Designer) In Qt, the width of a text widget has to fit the text, but in MEDM the width is not always correctly set by the user (one can correct this in Qt- Designer) slide 9

A.C.Mezger, Paul Scherrer Institut, Villigen, Switzerland A few remarks and hints Edit with Qt-designer and execute display with caQtDM: Edition and active display together using the reload function of caQtDM. Stylesheets: Qt uses stylesheets at several levels and inheritance of styles (CSS), One can define styles at application level, at file level (mainwindow) and widget level Example: color for window: Qwidget#centralWidget {background: rgba(187, 187, 187, 255);} for included objects: Qwidget#centralWidget {background: rgba(187, 187, 187, 0);} Display rate: display manager uses a mechanism that limits the display rate, however by specifying the following option after the name of a pv one can change the display rate: channelname{monitor:{maxdisplayrate:20}} Layouts: resizable screens can be produced with Qt-Designer (possible but not easy) adl2ui produces non resizable screens slide 10

A.C.Mezger, Paul Scherrer Institut, Villigen, Switzerland Conclusion The Qt designer presents a good editor tool. With the plugin mechanism a rich environment can be created. caQtDM reproduces correctly the behavior of MEDM and is continuously extended. Many new widgets are integrated. Actually table, LEDS, toggles, cameras, double tabwidget as well as internal channels have been added. the.adl translator produces correct.ui files. Some few files have to be edited after translation. Resizing windows is possible, but needs a good knowledge of layouts and can be used for simple layouts. Other control systems can be integrated. At PSI the display manager services simultaneously 2 control systems (epics and a home made CS) EPICS 4 integration: interesting would be the standardisation of images / cameras ! slide 11

A.C.Mezger, Paul Scherrer Institut, Villigen, Switzerland Thank you for your attention Acknowledgments: The authors of MEDM for their code. Elettra people for providing some widgets. Download caQtDM from Demo on my laptop for those interested slide 12