“jddd” a java doocs data display for the xfel

23
ICALEPCS, 15.10. 2007 1 jddd” a Java DOOCS jddd” a Java DOOCS Data Display for the Data Display for the XFEL XFEL Editor for a Graphical User Interface Editor for a Graphical User Interface of of DOOCS & TINE DOOCS & TINE and Runtime Engine and Runtime Engine Elke Sombrowski Elke Sombrowski

Upload: mandar

Post on 09-Jan-2016

23 views

Category:

Documents


0 download

DESCRIPTION

“jddd” a Java DOOCS Data Display for the XFEL Editor for a Graphical User Interface of DOOCS & TINE and Runtime Engine Elke Sombrowski. Motivation The “old” ddd (DOOCS Data Display) Considerations about what we need in future The new jddd (Java DOOCS Data Display) The jddd editor - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 1

““jddd” a Java DOOCS Data jddd” a Java DOOCS Data Display for the XFELDisplay for the XFEL

Editor for a Graphical User InterfaceEditor for a Graphical User Interface of DOOCS & TINE of DOOCS & TINE and Runtime Engineand Runtime Engine

Elke SombrowskiElke Sombrowski

Page 2: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 2

Content

Motivation

The “old” ddd (DOOCS Data Display)

Considerations about what we need in future

The new jddd (Java DOOCS Data Display)

The jddd editor

Reusable components in jddd

Special features of jddd

How to start jddd

Experience & Outlook

Page 3: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 3

Motivation

We don't want do design all panels in the controls group

Non-programmers / subsystem experts should develop graphical controls panels

We already have ddd (C++) since 10 yearssynapical displays editorbut ddd needs an “update”

Page 4: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 4

ddd

The “old” ddd-Editor

Page 5: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 5

dddddd ScreenshotFlash: ~ 1300 control panels

Page 6: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 6

ddd

UNIX / C++ version:+ Editor: simple creation of control panels with a set of

standard components: text, buttons, graphical

components, values, dials, plots, “If”, animated components

+ Control panels are saved in text-files and parsed at runtime

- Some new editor features are difficult to implement (e.g. undo functionality)

- Open look library is no longer supported

Page 7: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 7

jddd

What we need in Future:Keep the good things of ddd: simple Editor

Editor with modern look&feel and functionality

Improved components (plots with math functions, ...)

New components (TabbedPane, ...)

Platform independence

More flexible usage:

Reuse of displays in other applications

Web interface (Applet)

Convertibility of the old text-files to a new format

Page 8: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 8

jddd

jddd implementation: Use JAVA

Standard JAVA technology (Swing, Java Beans)

Save panels in standard xml file format

Options for jddd editor:

- use Eclipse or Netbeans and write Plugins

- develop a GUI Editor based on the Netbeans visual library

→ we decided to write a completely new editor, because we want to be independent of external libraries and we want to have the highest flexibility

Page 9: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 9

jddd Editor

Editor Window

ComponentInspector

ComponentPalette

ComponentProperties

Page 10: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 10

jddd components

Pane Components:– TabbedPane– LayeredPane– IncludeComponent– DynamicList

Static Components:– Label– Line– Oval– Rectangle– Triangle– Icon

Dynamic Components:• Button• Value• Dial• CheckBox• ProgressBar• Slider• StatusRegister• Audio• ColouredIndicator• LocationChooser• CameraImage• TextArea

Logic Components:• If• Switch

Plot Component:• PlotSpectrum

New Components

Page 11: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 11

jddd components

Pane Components

IncludeComponentLibrary component which can be used in multiple panels

steerer.xml

TabbedPane

Page 12: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 12

jddd components

ColouredIndicator- colour(variable in contr. sys)

Dynamic Components

CheckboxDialSliderProgressBarStatusRegister

Audio Component- plays .wav file- plays dynamic beep f(variable in contr. sys)

Page 13: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 13

jddd components

Dynamic ComponentLocationChooser: changes the base address of the

whole panel

Page 14: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 14

jddd componentsLogic ComponentSwitch: selects one of multiple layers

Cases

Page 15: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 15

jddd components

Plot ComponentPlots with mathematical functions, autoscale

Page 16: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 16

jddd special features

Special Features:Rotated components

Drag & Drop

Tooltips

Layers

Applet

Use jddd for high level applications

Convert old text-files to new xml file format

Page 17: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 17

jddd special features

Rotated Components

Page 18: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 18

jddd special features

Drag & DropA control system address can be dragged & dropped from one component to another.

Page 19: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 19

jddd special features

Layers

Page 20: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 20

jddd special features

jddd for high level applications:1) Export jddd panels as Java source code:• Export as JFrame or JPanel• Disadvantage: Panels can't be revised with the jddd editor after

the export.

2) Use jddd panels as Java Beans:Create a java application and add the following lines to insert a jddd panel as Java Bean:jdddPanel panel = new jdddpanel();panel.setXmlFile(new java.io.File("/home/ttflinac/jdddFileName.xml"));

To access components of the jddd panel:DOOCSOval oval1 = (DOOCSOval)panel.getDoocsComponent("LayeredPane1/Oval1");oval1.setDoocsFillColor(Color.orange);

Page 21: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 21

Import FLASH PanelsOld ddd panel converted to new jddd panel.

Page 22: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 22

How to start jddd

http://jddd.desy.de/

Java Web Start

Page 23: “jddd” a Java DOOCS Data Display for the XFEL

ICALEPCS, 15.10. 2007 23

Experience & Outlook

General Experience:Java has proved to be a good choice for GUI developmentJava / jdoocs API is fast enoughJava Webstart works fine

Outlook:Replace ddd by jddd as fast as possibleSave xml-files in a subversioning systemand many more ideas...

Thank you for your attention!