Wir schaffen Wissen – heute für morgen A.C.Mezger An EPICS Display manager with Qt.

Slides:



Advertisements
Similar presentations
CS 497C – Introduction to UNIX Lecture 37: - X Windows Chin-Chih Chang
Advertisements

Wir schaffen Wissen – heute für morgen A.C.Mezger, Paul Scherrer Institut, Switzerland caQtDM, an EPICS display manager with Qt Paul Scherrer Institut.
Minitab® 15 Tips and Tricks
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. The Web Services Modeling Toolkit Mick Kerrigan.
Next Generation MMI Requirements May 4, MMI - High Level Requirements run under UNIX and Windows NT (WNT) use a well defined ASCII definition for.
© by Pearson Education, Inc. All Rights Reserved.
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
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.
Lesson 21 Getting Started with PowerPoint Essentials
3.2 Presentation Software End Show Creating slide shows including audio,video and digital images End Show.
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.
With Alex Conger – President of Webmajik.com FrontPage 2002 Level I (Intro & Training) FrontPage 2002 Level I (Intro & Training)
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
Written by Liron Blecher
Lesson 15 Getting Started with PowerPoint Essentials
© Cheltenham Computer Training Using Freelance Graphics - Slide No. 1 A First Look at Freelance Graphics Using Freelance for Windows.
Microsoft Wang Li, Wang Yini, Li YIcheng.  This is a presentation about Microsoft Windows7 guidelines  Wang Li K8wali00  Li Yicheng K8liyi00  Wang.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
IE 411/511: Visual Programming for Industrial Applications
Introduction to Matlab & Data Analysis
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Basic Controls & Properties Chapter 2. Overview u VB-IDE u Basic Controls  Command Button  Label  Text Box  Picture Box u Program Editor  Setting.
SIMPLE PROBLEM SOLVING in Java: a Problem Set Framework Viera K. Proulx Richard Rasala Jason Jay Rodrigues CCSCNE 2002 Conference.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 3 Welcome Application Introduction to Visual Programming.
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. word 2010 Chapter 3 Formatting Documents.
Prachi Chitnis.  The CSS feel  SDS – Synoptic Display Studio  ADL Converter  PV table, Probe…
Laboratory Exercise # 9 – Inserting Graphics to Documents Office Productivity Tools 1 Laboratory Exercise # 9 Inserting Graphics to Documents Objectives:
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 3.1 Test-Driving the Welcome Application 3.2.
Chapter 2 – Introduction to the Visual Studio .NET IDE
Return to Outline Copyright © 2011 by Maribeth H. Price 3-1 Labeling and annotation.
Miscellaneous 1 Miscellaneous 2 Slide ShowEditingGraphics
The Abstract Window Toolkit (AWT) supports Graphical User Interface (GUI) programming. AWT features include: a rich set of user interface components; a.
PowerPoint Lesson 6 Working with Tables and Charts Microsoft Office 2010 Advanced Cable / Morrison 1.
EPICS Qt Fall Meeting October 2014 Saclay
Chapter Eleven The X Window System. 2 Lesson A Starting and Navigating an X Window System.
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.
 2002 Prentice Hall. All rights reserved. 1 Chapter 2 – Introduction to the Visual Studio.NET IDE Outline 2.1Introduction 2.2Visual Studio.NET Integrated.
ElVis Improvements Summer 2008 Eric Zatz PPPL Summer Intern Mentor – Eliot Feibush August 11, 2008.
SILKWeb: A Sketching Tool for Informal Web Page Design Mark Newman, James Landay, Francis Li, Kalpana Joshi July 9, 1998 C&C Research Labs, NEC
User focused applications with epicsQt Andrew Rhyder Andrew Starritt 1.
INFORMATION SYSTEM – SOFTWARE TOPIC: GRAPHICAL USER INTERFACE.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved. 1 Chapter 14 JavaFX Basics.
Correlator GUI Sonja Vrcic Socorro, April 3, 2006.
Developing GUIs With the Eclipse Visual Editor, SWT Edition David Gallardo.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
LCG AA Meeting 30 June 2004 Ilka Antcheva Graphics User Interface in ROOT.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 2 The Visual Basic.NET Integrated Development Environment.
Graphics Lab: MyPaint Dan Maselko 1. MyPaint Description  For this assignment you will be implementing a very simple paint program.  You should be able.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
Unity Application Generator How Can I… Export variables of a Control module with all parameters, modify the some of the parameters like Initial values.
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.
1 The Presenter Console Andre Fischer Software Engineer Impress Sun Microsystems 1.
Qt GUI and IDE development in EPICS
Working in the Forms Developer Environment
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.
Qt Programming.
caQtDM: future use of a display manager
Lesson 21 Getting Started with PowerPoint Essentials
Chapter 2 – Introduction to the Visual Studio .NET IDE
The Basic Usage and The Event Handling in Glade.
Lesson 20 Getting Started with PowerPoint Essentials
Microsoft Publisher 2016.
Presentation transcript:

Wir schaffen Wissen – heute für morgen A.C.Mezger An EPICS Display manager with Qt

A.C.Mezger Seite 2  Qt: a new system for writing graphic user interfaces.  Qt: Architecture of MEDM and caQtdm  Qt-Designer: what can it do.  Translator: parsing of.adl files.  Basic principles.  Some hints.  Conclusion.  Demo. Outline of the presentation

A.C.Mezger Qt: a new system for writing graphic user interfaces What is Qt (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 toolkitcross-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 used is Qt 4.8.2

A.C.Mezger Architecture of MEDM and caQtdm Motif and Xt libraries MEDM edit modeMEDM execute mode Description file (.adl) = medm specific MEDMcaQtdm Description file (.ui) = Qt specific, however using XML (standardized format) Qt DesignerQt application = caQtdm Qt libraries X11Underlying graphics system (X11, Windows, …) Motif widgets & X11 graphics Qt (custom) widgets (C++) CA translator

A.C.Mezger Qt-Designer, what can it do a tool for building graphic user interfaces with widgets like sliders, knobs, labels, buttons, … and you can introduce your own widgets: stripchart, cartesian plot, composite file, related display, … while widgets are used, you can only use widgets to draw objects.  Drawing widget for rectangles, circles, ovals, lines, triangles can be created.  Polylines, Polygones widget has an integrated editor for drawing with the mouse.

A.C.Mezger The.adl files: translation Translator (adl2ui) is based on parser code of MEDM and generates ui files. Two modes exist: 1. Parse all composite files from a main.adl file and produce one flat file: Normally not very useful 2. Parse the.adl file and produces “includes”, you have also to parse the underlying ui files: The 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. In Qt, the width of a text widget has to fit the text, but in MEDM the width was not always adjusted

A.C.Mezger Basic principles 1.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);} 2.Building a DM synoptic: Translate an existing medm file. A default stylesheet will be automatically included. The DM uses the same stylesheet. Only few definitions are implemented (window color, table color and font, default caLineEdit and caTextEntry colors, QPushButton colors) Copy an existing file and modify it with the designer Start from scratch with the designer:  Copy and paste the contents of the default stylesheet to the mainwindow stylesheet, change the color definition inside.  Drop the objects to your window and customize them (colors, channels,) 3.Load the file into the DM (the reload function is convenient during edition)

A.C.Mezger Tips and Tricks 1.Use transparent background for files that will be included: Qwidget#centralWidget {background: rgba(187, 187, 187, 0);} 2.Follow the style guide of Andreas Luedeke: (in particular about where the author of the display is mentioned) 3.Use the reload function when developing screens with the designer 4.Be careful with in front and behind widgets. When drawing a rectangle in front of a widget that should be active. It will not be active. 5.You may use also other widgets than just the control widgets: split windows, tabbed windows, dock windows. 6.Start designer with the command qtdesigner, Start caQtDM with the command startDM. The appropriate architecture will be used (32, 64 bits, SL5 or SL6) 7.If you use designer and caQtDM remote, use –graphicssystem native on the command line, otherwise response is slow 8.Maximum display rate is 5Hz, but can be changed for individual channels by specifying {“monitor”:{“maxdisplayrate”:20}} after pv name

A.C.Mezger the.adl translator produces correct.ui files. Some few files have to be edited after translation. caQtDM reproduces correctly the behavior of MEDM. However some «bugs» will still be found. More widgets are easily integrated. Actually table, led widgets, cameras and internal channels have been added. The Qt designer presents a good editor tool. Resizing windows is possible, but needs a good knowledge of layouts and can be used for simple layouts. Demo Conclusion Seite 9

A.C.Mezger Seite 10  Thank you for your attention Acknowledgments: The authors of MEDM for their code. Elettra people for providing some widgets.