GUI Frame by yurtgc548


									         The GUI Frame

                              Vito Baggiolini
on behalf of the GUI Framework Project Team

                          SASG Presentation, 8/10/04 Vito Baggiolini AB/CO
            GUI Framework Project
• Purpose:
   – Shared, supported components, easier maintenance
   – More functionality and easier to use than Swing
• Scope: All new Java GUIs for Accelerator Control
• Objectives/Deliverables:
   – Frame, general purpose components, accelerator-specific
     components, GUI utilities, connection to accelerator equipment
   – Support for for L&F (functionality, no decisions on scheme)
• Milestones:
   – First version end of month, Stable version end of November
• Team:
   – ½ staff (Grzegorz Kruk), 1 Tech Student (January 2005)
   – Technical collaboration with Lionel Mestre
   – Myself for coordination and technical choices

                                     SASG Presentation, 8/10/04 Vito Baggiolini AB/CO
             Implementation Strategy
• Requirements/Functionality
   – Operations (SPS + MCR) requirements
   – Projects (LSA, CESAR, LEIR) requirements
   – Contacts with SASG (via Eugenia)
• Target developments
   – Applications structured as groups/hierarchies of Frames
   – Launched from Console Manager
   – Deployment with Java Webstart
• Implementation/Technology
   –   “Java Desktop Network Components” (JDNC)
   –   High-level Components (complete functionality, easy to use)
   –   Open source project promoted by SUN
   –   Swing based, lead by one of the Swing founders
   –   Planned integration in future version JDK Libraries
                                       SASG Presentation, 8/10/04 Vito Baggiolini AB/CO
                        The GUI Frame
Empty Frame:
• Menubar & toolbar
  (easy to set default menu and

• Central working Area
  (contains your application)

• BottomArea
  (contains Console and StatusLine)

• Frame belongs to a hierarchy of Frames
    – Common behavior (e.g. iconification whole hierarchy)
    – Possible to have one shared console
    – Shared information (“context”) SASG Presentation, 8/10/04 Vito Baggiolini AB/CO
• Configurable Logging Window
   –   Logging and tracing output (configurable level)
   –   Exception stack traces (configurable depth)
   –   Programs use standard logging API
   –   Console can be closed/opened

• Status Line (always visible)

• ProgressPanel
   – For slow tasks

                                        SASG Presentation, 8/10/04 Vito Baggiolini AB/CO

   SASG Presentation, 8/10/04 Vito Baggiolini AB/CO
                  JDNC Functionality
• Java Desktop Network Components
• Opensource, lead by SUN
• Goal
   – “Rich, data-centric, Java desktop clients for J2EE-based
     network services”.
   – “Significantly reduce the effort and expertise required”
• Swing extensions (functionality missing in Swing)
   – E.g. Integration of data (XML, JavaBean compatible objects)
   – E.g. Action infrastructure (global and context-sensitive)
• High-level components, e.g.
   –   Tables and TreeTables with sorting, high-lighting, filtering
   –   Editor
   –   Form input panels
   –   …
                                         SASG Presentation, 8/10/04 Vito Baggiolini AB/CO
  Other GUI Framework components
• JDNC components
   – (C.f. last slide)
• General Purpose Functionality developed in-house
   – Task execution and progress visualization
   – Graphical display component (JDataviewer)
   – Misc components (Settings Dialog, Error Dialogs, …)
• Accelerator-specific components
   – Knobs, Working sets, cycle/trigger selection, …
   – Data-driven configuration, easy to connect to our equipment

                                     SASG Presentation, 8/10/04 Vito Baggiolini AB/CO
             Deliverables and Dates
• Alpha version available today
   –   Currently validated by Greg through LSA applications (TI-8)
   –   Validation by ex-PS developer in our section
   –   Validation planned by MCR operator working for LEIR
   –   Restricted support (demo applications and personal contacts)
• Release candidate version by end of October
   – Available to early adopters
   – Minor API changes might still occur

• Version with stable behavior and API end of November

                                       SASG Presentation, 8/10/04 Vito Baggiolini AB/CO

• Frame based on requirements and experience of
  operations and major projects

• Based on new Sun Project (JDNC)

• Release candidate available end of October
  (alpha today)

                               SASG Presentation, 8/10/04 Vito Baggiolini AB/CO

To top