wiki:NewAppFramework

Version 2 (modified by Kevin Milner, 12 years ago) (diff)

--

Brainstorming page for new app framework.

Base Classes for Applications

  • OpenSHA_App extends JFrame
    • base class for all applications.
    • requires name and handles version loading.
    • methods for adding menu items and such
    • has convenience methods for bug tracking/exception handling
  • TwoPaneApp extends OpenSHA_App
    • Simple two pane application base class for apps like the Scenario ShakeMap app and GMT plotting app
  • ThreePaneApp extends OpenSHA_App
    • Simple three pane application base class for apps like the BCR application which use the right/left/bottom pane approach, but not an actual plot window
  • FunctionPlottingApp extends ThreePaneApp
    • 3 paned application where the left pane is a JFreeChart plot (including button panel), with methods for adding curves and such

Misc Other Classes

  • interface/abstract class ControlPanel
    • interface for control panels...name, get component, etc
  • ControlPanelSelector extends JComboBox
    • widget for selecting ControlPanel objects.
    • handles events/displaying of panels