June ACAT2002, Moscow Cross-Platform Qt-Based Implementation of Low Level GUI Layer of ROOT V.Fine BNL, Upton.

Slides:



Advertisements
Similar presentations
Introduction to Linux Video task 1. Five reasons to use Linux Data security Price Reliability It is modified for the needs of a user It is easy to use.
Advertisements

AXURE RP The only tool that gives you the features to go from wireframes to rich prototypes and detailed specifications all in a familiar, easy to use.
9/28/2005 ROOT 2005 Workshop CERN 1 Qt and ROOT by Valeri Fine STAR Brookhaven National Laboratory.
Slide 1 IBPhoenix Prague 2006 Making your own Firebird PowerTool (with Python) Pavel Císař IBPhoenix.
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
Quicktime Howell Istance School of Computing De Montfort University.
Software Reuse Building software from reusable components Objectives
ACAT 2002, Moscow June 28, 2002 V.Fine Brookhaven National Laboratory Session IV: Innovative (Algorithms and) Tools V.Fine, BNL, USA & JINR, Dubna.
CVS Selim Çıracı Ahmet Kara Metin Tekkalmaz. CVS – Open Source Version Control System Outline What are Version Control Systems? And why do we need them?
55 CHAPTER SYSTEM SOFTWARE. © 2005 The McGraw-Hill Companies, Inc. All Rights Reserved. 5-2 Competencies Describe the differences between system software.
Linux GUI X-Windows System. X-Windows System A stable and extremely powerful GUI system that provides a complete Client/Server framework. The X-org foundation.
Code Development on NT Some notes on experience gained in developing cross-platform (NT/Unix) HEP software for the Linear Collider Detector More of a.
Basic Unix Dr Tim Cutts Team Leader Systems Support Group Infrastructure Management Team.
PaperCut NG Chris Dance. Copyright © PaperCut Software Pty. Ltd. 2 Overview Overview of PaperCut NG Why we offer a Mac Version The story of our.
Cross-platform approach to create the interactive application based on ROOT and Qt GUI libraries Rene Brun (CERN) Valeri Fine (BNL,
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
 Advantages  Easy to learn  Graphical Advantages  Help and Support  Widely used  Software compatibility  Customisable  Customisable Hardware 
Oct ROOT 2002, CERN, Geneva Qt-Based Implementation of Low Level ROOT Graphical Layer By V.Fine.
Qt Igor November 8, 2002 Friday’s HENP Group Meeting.
Standardize on Team Foundation Server across the enterprise with Teamprise Corey Steffen General Manager
Plans for the coming releases. GUI/Win32/OpenGL Finalize/consolidate event recorder Consolidate TBrowser (e.g. browsing ROOT classes) and make it default.
Perforce (Version Control Software). Perforce is an enterprise version management system in which users connect to a shared file repository. Perforce.
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.
Zubanov Alexei, 2006 Aug 07 – Sep 28 QtROOT package extension with Coin3D lib.
1 ITSK 2611 Welcome. 2 Operating System 3 What is an OS Resource Manager –Disk –Memory –CPU Device Manager –Printers –Video Card –Sound Card Utility.
Valeri Fine (BNL, STAR) Whether it is feasible to benefit just from the two best technologies Using the Qt framework to create GUI.
Seisan meets Java Lars Ottemoller 1) and Jens Havskov 2) 1)British Geological Survey, UK 2)University of Bergen, Norway.
SB ScriptBasic Introduction to ScriptBasic There are more people writing programs in BASIC than the number of people capable programming.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
Visual Linker Final presentation.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
CakePHP is an open source web development framework. It follows Model-View- Controller and is developed using PHP. IT is the basic for user to create.
CMSBrownBag,05/29/2007 B.Mangano How to “use” CMSSW on own Linux Box and be happy In this context “use” means: - check-out pre-compiled CMSSW code - run.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
AE6382 Secure Shell Usually referred to as ssh, the name refers to both a program and a protocol. The program ssh is one of the most useful networking.
ALICE DCS Meeting.- 05/02/2007 De Cataldo, Franco - INFN Bari - 1 ALICE dcsUI Version 3.0 -dcsUI v3.0 is ready and will be soon posted on the ACC site.
FLUKA GUI Status FLUKA Meeting CERN, 10/7/2006.
PALMS update Marco Mambelli 18/9/ PALMS project OASIS provides the infrastructure to host the software in CVMFS but the users need more guidance.
CMake refactoring P. Hristov 19/03/2014. History I  Recursive makefiles (F.Carminati):  Problems in dependencies  Slow  "Recursive Makefiles.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Technical Presentation
Overview of PVSS 3.6 Oliver Holme IT-CO. 16/11/2006JCOP Project Team Meeting New features in 3.6 New Installer for PVSS on Windows New Qt User Interface.
Operating Systems. What is an operating system? The software that manages your computer: Maintains your files finds files copies files deletes files links.
Introducing Software Computer Concepts Unit A. Introducing Software What is an Operating System? OS is the master controller for all the activities that.
SWGData and Software Access - 1 UCB, Nov 15/16, 2006 THEMIS SCIENCE WORKING TEAM MEETING Data and Software Access Ken Bromund GST Inc., at NASA/GSFC.
Chapter 14 The User View of Operating Systems The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition,
Using the Qt to create complex interactive HENP applications at STAR by V.Fine, J.Lauret, V.Perevoztchikov.
Jericho CSCI 7818 September 5, 2001 Carissa Mills.
1 Presentation Title Test-driven development (TDD) Overview David Wu.
H.G.Essel: Go4 - J. Adamczewski, M. Al-Turany, D. Bertini, H.G.Essel, S.Linev ROOT 2002 GSI Online Offline Object Oriented Go4.
D R A T D R A T ABSTRACT Every semester each department at Iowa State University has to assign its faculty members and teaching assistants (TAs) to the.
TOPIC 7.0 LINUX SERVICES AND CONFIGURATION. ROOT USER Root user is called “super user” because it has power far beyond those of mortal user. As root,
K. Harrison CERN, 22nd September 2004 GANGA: ADA USER INTERFACE - Ganga release status - Job-Options Editor - Python support for AJDL - Job Builder - Python.
Unix Advanced Shells Chapter 10. Unix Shells u Command Line Interpreter –once logged in, login gives control to a shell –it prompts for input, then parses,
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
PTA Linux Series Copyright Professional Training Academy, CSIS, University of Limerick, 2006 © Workshop I Introduction to Linux Professional Training Academy.
TODAY Android Studio Installation Getting started Creating your 1 st App Beginning to understanding Intents.
GLAST 1 Event Display VRVS meeting Glast software collaboration Pisa experience with ROOT N Lumb and G Spandre INFN-Pisa.
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
LCG AA Meeting 26 April 2006 User Interface Developments in ROOT Ilka Antcheva on behalf of ROOT GUI Work Package.
LCG AA Internal Review 30 March 2005 ROOT Graphical User Interface Ilka Antcheva, Bertrand Bellenot, Valeri Fine, Valeriy Onuchin, Fons Rademakers.
Qt Development Frameworks Past, Present and Future by Knut Yrvin – Dec 2009.
Build and Test system for FairRoot
Outline SOAP and Web Services in relation to Distributed Objects
QtRoot project status and examples of its use at STAR
Outline SOAP and Web Services in relation to Distributed Objects
Chapter 2: Operating-System Structures
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Presentation transcript:

June ACAT2002, Moscow Cross-Platform Qt-Based Implementation of Low Level GUI Layer of ROOT V.Fine BNL, Upton

June ACAT2002, Moscow Why ROOT is multi-platform ? Just to be healthy ! Just because there are plenty of Windows users around

June ACAT2002, Moscow ROOT for different platforms

June ACAT2002, Moscow ROOT low level GUI interface TVirtualX TGX11TGWIN32TGWin32GDK ROOT (TG ROOT (TVirtualPad) 3 different implementations to develop and support

June ACAT2002, Moscow ROOT Qt-based GUI interface TVirtualX TQt ROOT only one (!) implementation

June ACAT2002, Moscow What is Qt

June ACAT2002, Moscow Why Qt ? It does what it promises ! Myself have been confused no time with Qt documentation and functionality But it is not my (ROOT user) business to make the ROOT team life more easy. The plain implementation of TVirtualX that doesn’t bring any new feature can not justify the efforts to introduce a new extra layer and external dependency of the ROOT package

June ACAT2002, Moscow (ROOT + Qt) based applications The question is: “How easy can one create a complex application that uses ROOT to do what only ROOT can provide (namely the features coming from the built-in C++ interpreter) and use Qt to create cross-platform GUI ? ”

June ACAT2002, Moscow libQtgui library Qt-based ROOT consists of a standard ROOT installation with the addition of two additional shared libraries The libQtGui library contains implementations of abstract interfaces provided by the TGuiFactory ROOT class: TCanvasImp TBrowserImp TContextMenuImp TControlBarImp TInspectorImp 1 day to implement ! 2 days to implement 0.5 day to implement

June ACAT2002, Moscow Qt designer to create ROOT embedded canvases

June ACAT2002, Moscow A test application to combine ROOT and Qt Widget

June ACAT2002, Moscow Where to get Qt-ROOT from

June ACAT2002, Moscow Qt-ROOT FAQ

June ACAT2002, Moscow Qt-ROOT CVS The source code is available via CVS repository as well. To check out the sources, you need to be running CVS 1.10 or later (check by doing cvs -v), and have your $CVSROOT set to The password for user cvs is cvs. Two cvs commands will do the job: cvs -d login cvs -d co root AFS access will be provided also.

June ACAT2002, Moscow Conclusion There are enough evidences the present approach allows the ROOT developers as well as ROOT users to work with code that has no X11/WIN32 graphics subsystem dependencies and at the same time opens unrestricted access to a rich set of ready-to- use commercial and free GUI Qt-based widgets. The Qt-based version was tested on Unix and Windows.

June ACAT2002, Moscow Thank you Special thanks: 1.Torre Wenaus, Yuri Fisyak, Victor Perevoztchikov 2.Anton Fokin 3.Christian Holm ChristensenChristian Holm Christensen 4.ROOT team 5.ROOT folks from ROOTTALK

June ACAT2002, Moscow 0. Long lasting application No penalty 1. Very wide used on Linux system (KDE) 2. Shipped with the source code and installation script (no technical to take over but legal issue). 1. What is accepted level: 1. one pixel was that reliable level 2. dialog window is a mandatory attibute of any system ROOT is designed like we 20 years ago 2. Qt - quality library of Widget weel-though separation of the automaically generated GUI and user-provided custom actions. (Tha tallow to share GUI across applications) 3. Functionality: They treat MS a GUI standard 3. What ROOT may end up with. The best scenario we will ned up with somethin Qt alike but in many years. 4. Price: 1. Free for non-commercial applcation on X11 platform 2. True cross platform (code designed and debugged on with free UNIX will work in Windows 3. This allow to minimiz the number of Windows license 4. Windows license is really cheap anyway (acad. price $700/developer) our experiecne did prove this worth to buy. It is much faster and better to create GUI with Qt rather struggle with TG 4.1. Lack of documentation 4.2. Lack of functionality 5 License. Qt 2. restrictive Qt 3. can be accepted