Requirements - ControlSystemStudio/phoebus GitHub Wiki
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