Skip to content

Requirements

Will Rogers edited this page Jun 12, 2018 · 3 revisions

General

  • CS-Studio Eclipse and CS-Studio Phoebus should share as much code as possible

The Phoebus framework

Services

  • adapters: a pluggable service allowing an object to be used for a specific purpose
    • example: if a GUI element adapts to a PV, it can be used to open a probe with that PV
  • autocomplete: a way to provide suggestions when typing
  • email: the ability to send emails with attachments
  • jobs: a service to support background execution of runnables and callables including progress information and cancelability
  • preferences
  • selection: any application can get access to the item or items currently selected

Workbench

  • SPI-based interfaces used for defining an application's use of the Phoebus framework, such as toolbars, menus, registering a file extension
  • docking functionality:
    • there is one main window with an optional toolbar, menu and status bar
    • all top-level windows contain a number of panes
    • each pane can contain a number of tabs
    • a pane can be split horizontally or vertically
    • a pane may be fixed to prevent the tabs being changed
    • the arrangement of windows and tabs can be saved and restored
  • a status bar that can be used for reporting

Utilities

  • macros: utility code for defining and resolving macros
  • persistence: code for persisting and retrieving information
  • UI utilities:
    • pop-up dialogs
    • pop-overs for lightweight dialogs
    • context menu service
  • help opens an internal browser: a combination of top-level information, applications help and preference settings. Applications can contribute their own help by creating doc/index.rst
  • undo and redo stack
  • java.util.logging configuration UI