Development Status

This project is in an early alpha state. Currently this document is used to collect To-Dos and coordinate the activities.

To-Do

Window Management
Manage registration of windows.
  • Windows get registrated.
  • Stacked position is calculated.
  • Event listener are attached.
  • A menu bar is created by parsing the configuraiton file /application.xml.
Finished.
Manage focus listeners to set the active window in the menu bar.
  • The window menu shows almost the correct windows, including the radio button indicating the foremost window.
  • All actions work, accelerator keys work. On Mac OS X, the windows don't get maximized.
Finished.
Manage the Mac OS X screen menu bar (s. Menu Bar Abstraction).
  • The screen menu bar is set and the application name is correctly set.
Finished.
Menu Bar Abstraction
Define an abstract menu bar, that predefines the menus "File", "Edit" (taken from the currently active editable), "Window" and "Help".

This works almost. Only Mac OS X specific features are not yet integrated.
Finished.
Display individual menu bars for the windows, that means on Windows, the frames should have only the usual menus (File, Edit etc.) and the frame-specific Menus. On Macintosh the inactive Menus and Menu-Items should be greyed out. Almost finished.*
Display Preferences, About and Quit in the platform dependent positions. Almost finished.*
Workflow appears to be imperfect. The menu bar is slowly created, so that it is visible how the menus are added. It also appears to be difficult that it is important to respect a certain order when using the framework (register -> getMenuBarManager -> setMenus...) Almost finished. Debug code needs to be removed.
Editable Management
Manage editables. Create a robust editable interface, and implement an editable facade for JTextComponents. Almost Finished.**
Manage the creation of the edit menu. Almost Finished.**
Manage the creation of a popup contextual window. Almost Finished.**
Application Events
Register to the Mac OS X dependent application events (open document, print document etc.). Not started.
Additionals
Make the framework configurable and i18n safe. Not started.
Make the whole menu bar (and maybe additionally the window layout) configurable. Especially the menu bar -- not just the default actions -- should be configured using a XML file. Menu Actions should be tagged "sticky", so that they appear in the menu bars of all frames. Not started.
Hide non-API method from JavaDoc visibility by either making them package protected, private or hiding the functionality in an invisible class (for example an inner class) Not started.
Create a useful package structure. Requires a clean API (with hidden non-API methods!) Not started.
Create a better interface. The Editable management appears to be imperfect, if one has to use the ApplicationManager.registerWindow(JFrame, Editable[]) method. This must be possible on the fly! Not started.

Remarks:

* Doesn't compile and possibly run on Windows.

** API is not complete, and will be changed in the future.