Display Builder Update

Slides:



Advertisements
Similar presentations
Chapter 3 – Web Design Tables & Page Layout
Advertisements

Using Macros and Visual Basic for Applications (VBA) with Excel
EXCEL Spreadsheet Basics
Site Modules > Page Builder Access the Page Builder module through the Site Modules top navigation link. Access Page Builder from the Site Modules navigation.
Intermediate Level Course. Text Format The text styles, bold, italics, underlining, superscript and subscript, can be easily added to selected text. Text.
ORNL is managed by UT-Battelle for the US Department of Energy Control System Studio: BOY Details Kay Kasemir ORNL/SNS A lot of material.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS A lot of material from Nadine Utzel, ITER and BOY online help.
© by Pearson Education, Inc. All Rights Reserved. continued …
Web Content Management System Website Maintenance Demonstration Introduction to Macromedia Contribute Jamie Uprichard.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
1 Introduction to the Visual Studio.NET IDE Powerpoint slides modified from Deitel & Deitel.
MS-Access XP Lesson 5. Creating a Query with Expression Builder Eg. Consider the following table. Table Name: Overtime Fields & Data types: Emp No (Number),
Key Applications Module Lesson 16 — Excel Essentials Computer Literacy BASICS.
IE 411/511: Visual Programming for Industrial Applications
1 Macromedia Dreamweaver Outline Introduction Macromedia Dreamweaver Text Styles Images and Links Symbols and Lines Tables Forms Scripting in Dreamweaver.
ORNL is managed by UT-Battelle for the US Department of Energy Control System Studio: BOY Kay Kasemir ORNL/SNS A lot of material from.
Microsoft Word 2000 Presentation 5. Major Word Topics Columns Tables Lists.
Domain 3 Understanding the Adobe Dreamweaver CS5 Interface.
Chapter One An Introduction to Visual Basic 2010 Programming with Microsoft Visual Basic th Edition.
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…
Microsoft Expression Web-Illustrated Unit E: Working with Pictures.
© 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
Microsoft Access 2000 Presentation 3 Creating Databases Part II (Creating Forms)
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS A lot of material from Nadine Utzel, ITER and BOY online help.
Not Yet Another EPICS Display Manager!? Kay Kasemir, Xihui Chen Kobe EPICS Meeting October.
 2002 Prentice Hall. All rights reserved. 1 Chapter 2 – Introduction to the Visual Studio.NET IDE Outline 2.1Introduction 2.2Visual Studio.NET Integrated.
Jan Hatje, DESY CSS – Control System Studio EPICS collaboration meeting CSS – Control System Studio Update EPICS collaboration meeting 2008 Shanghai.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS A lot of material from Nadine Utzel, ITER and BOY online help.
Introducing Dreamweaver. Dreamweaver The web development application used to create web pages Part of the Adobe creative suite.
CIT 256 CSS Intro & Dreamweaver Built-in Layouts Dr. Beryl Hoffman.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS A lot of material from Nadine Utzel, ITER and BOY online help.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
CSS Synoptic Display Comments Kay Kasemir, July 2009.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
Adobe ® Photoshop ® CS6 Chapter 1 Editing a Photo.
BOY, A Modern Graphical Operator Interface Editor and Runtime Xihui Chen, Kay Kasemir RAD Control Group.
Mind Mapping with Bubbl.us. The Bubbl.us Homepage Click to create a bubbl.us account Sign in or, To access, type
C# Programming: From Problem Analysis to Program Design1 Visual Studio Configuration C# Programming: From Problem Analysis to Program Design 4th Edition.
Dive Into® Visual Basic 2010 Express
Creating a Presentation
Working in the Forms Developer Environment
Display Builder Update
With Microsoft FrontPage 2000
Microsoft Visual Basic 2005 BASICS
Chapter 1: An Introduction to Visual Basic 2015
Chapter 2 – Introduction to the Visual Studio .NET IDE
3.01 Apply Controls Associated With Visual Studio Form
3.01 Apply Controls Associated With Visual Studio Form
EET 2259 Unit 3 Editing and Debugging VIs
Introduction to the Visual C# 2005 Express Edition IDE
Windows Desktop Applications
DreamWeaver CS4.
Chapter 1 Editing a Photo
Chapter 2 Adding Web Pages, Links, and Images
Chapter 2 – Introduction to the Visual Studio .NET IDE
Lesson 18 Getting Started with Excel Essentials
Tutorial 6 Creating Dynamic Pages
Control System Studio (CSS)
SAMPLE PRESENTATION Company Name presents PowerPoint Basics
DREAMWEAVER MX 2004 Chapter 3 Working with Tables
The Basic Usage and The Event Handling in Glade.
Introduction to Word Chapter 3
Learning Objectives • Understanding Layers. • Working with Layers.
Project 4 Creating an Image Map.
Key Applications Module Lesson 16 — Excel Essentials
Kay Kasemir, ORNL/SNS Kunal Shroff
Microsoft Excel 2007 – Level 2
Presentation transcript:

Display Builder Update Kay Kasemir, Megan Grodowitz Amanda Carpenter May 2016, ESS EPICS Meeting

CS-Studio ‘BOY’

Issue: Too much on UI Thread Load *.opi file Load embedded *.opi (Linking Container) Handle PV updates Execute scripts  CS-Studio “freezes”

BOY code: Change step by step? Difficult: Based on GEditorF SWT/Draw2d UI Thread Risky: BOY is used in operation Unintended side effects (Linking Container, macros, views) Rewrite Model Representation JavaFX Editor Runtime PV

Display builder Update Editor Runtime PV “Looks like BOY”, but better Model: Widgets, Properties, file format Representation: On-screen objects, JavaFX (or SWT) Runtime: PVs, scripts Representation JavaFX Model BOY Update

Load Displays: BOY vs. Display Builder UI thread (BOY) vs. Background threads (Display Builder) boy_delay1.mov vs. builder_delay1.mov (Both BOY and display.builder have 2 sec delay in file access to simulate slow file access)

Model Widgets Properties Persistence Macros Colors, Fonts Editor Runtime PV Widgets Arc, Rectangle, Label, LED, TextUpdate, .. Group (contains other widgets) Embedded Display Properties Allow changes from any thread Change notification Controlled order Persistence Loads existing *.opi files Saves in defined order Macros For ‘text’ as well as ‘x’, ‘visible’, .. Colors, Fonts Representation JavaFX Model TODO Many more properties and widgets Defaults based on ‘class’ property

Representation Java FX SWT Fixed the font size problem! Editor Runtime PV Java FX For all widgets SWT Very few widgets, just to show it’s possible Fixed the font size problem! BOY “point size” vs. pixel Representation JavaFX Model TODO Many more widgets Many properties Web Representation?

Runtime Common Widget Runtime EmbeddedDisplay Runtime Editor Runtime PV Common Widget Runtime Loads model in background Creates representation on UI thread Handles PVs and scripts (rules) in background One Jython interpreter & thread per window Throttles UI updates EmbeddedDisplay Runtime Keeps hosted display private ActionButton Runtime Replaces current or opens new window Representation JavaFX Model TODO ??

Compare BOY and display.builder

File Format Similar Concise Useful order

Widget Model: Consolidate, Refine Rectangle, Rounded Rectangle Rectangle w/ corner width, height LED with different PV behavior LED for binary PV or ‘bit’ MultiStateLED for N states

Properties: Arrays and Structures “trace_0_color”, .., “state_value_11” Actual arrays and structures: “traces[0].color”, “states[11].value” Array size only limited by memory

Keyboard Navigation in JavaFX ‘Tab’  move in widget order ‘Shift-Cursor’  move in on-screen order .. was impossible because of SWT/Draw2d mix

Alarm-sensitive Border Space-efficient, distinguishable Minor: Single-line Major: Double-line Invalid/Disconnected: Broken line .. now without widget body resize

Plotting Basics of Image and XYPlot “work”

https://twitter.com/LeedeMora, SciPy2015 on YouTube Image Widget Default color map: Viridis “perceptually uniform” https://twitter.com/LeedeMora, SciPy2015 on YouTube

Editor

Editor Palette Properties Tracker to move/resize Toolbar Selection Runtime PV Palette Properties In defined order No more off-screen value column Tracker to move/resize Snap-to-Grid Snap-to-Geometry (parallelized) Toolbar Un-do Front/back Align top/center/.., distribute Selection Rubberband, multi-widget, In and out of ‘Group’ Outline (Widget Tree) Representation JavaFX Model TODO Rulers?

Context-based Inline Editor In editor, Double-click widget for PV Name (Any widget with PV) Text (Label Widget)

Image Widget Property Comparison

Color Map Editor Comparison

Poly Editor ‘Append’ Mode ‘Edit’ Mode Toggle between modes Add points Delete last point ‘Edit’ Mode Move Add Delete points Toggle between modes

Scripts Execute in background Minimal script compatibility: val = PVUtil.getDouble(pvs[0]) pos = 100 + 20*val widget.setPropertyValue(“x”, pos) Weren’t kidding when telling you to avoid scripts because compatibility is not guaranteed. http://imgs.xkcd.com/comics/workflow.png

Rule & Script Dialog Streamlining All rules of a widget in one dialog

You should still avoid scripts .. but if you ignore this advice, you’ll find they work better than before (Long running script example)

Status Examined ~200 SNS Instrument screens Many screens complete or nearly complete! Missing widgets: Menu Button Byte Monitor .. Missing Properties XYPlot Image (Intensity Graph) Some need manual work Scripts, Rules

Outlook Implement most BOY-type Widgets & Properties Priority based on SNS instrument needs Plan to add vtype.pv.mqtt IoT Continue to allow Standalone Editor, Runtime Use outside of CS-Studio Eclipse Project?

Boy, Only Better Status Separate Model, Representation, Runtime Background threads, less freezing Minimal script compatibility Status Reads existing files Handles basic instrument displays 1/3 of BOY widgets with essential features First release end-2016

Present current state of Model Design Time Data Flow Add Widget, Set Property Editor Present current state of Model Update File Save Representation Model JFX Notify of changes

Present current state of Model Runtime Data Flow Runtime PV Scripts, (Rules) UI Event Present current state of Model Enter Text, Push Button File Update Load Representation Model JFX Notify of changes