Internship 2010: New Context Menu Implementation
This project wants to exchange the old resource based context menus with a XML file based implementation. The menu bar, status bar and toolbars are already specified by XML files, can be accessed and customized by a UNO API.
This is a rough overview about the work which has to be done. Context menus are handled very differently by the application code. There are context menus which are created at run time and processed by internal code. Most of the context menu code use a generic class in the sfx2 project (SfxPopupMenuManager) to create/open a resource based menu.
- Create a popup menu XML file format (should based on the menu bar format) - DONE
- Implement a XML reader/writer for the popup menu XML file format - DONE
- Extend the UI configuration API to manipulate popup menus - DONE
- Extend the LayoutManager to create context menus - CODE MUST BE ADAPTED TO LATEST LAYOUTMANAGER CHANGES DONE IN DEV300m94
- Remove the old SFX2 based code - PARTLY DONE
- Adapt the application code to use the new API for context menus (formerly used sfx code) - DONE
- Convert all context menus from resources to XML files (the old conversion code inside framework can be used) - DONE FOR MOST CONTEXT MENUS (NOT ALL CAN BE CONVERTED - SOME ARE FILLED AT RUNTIME)
- Optional: Extend the customization dialog so users are able to customize their context menus. - WORK IN PROGRESS (WAITING FOR FEEDBACK FROM UX TEAM)
- Optional: Extend the Addons.xcu file to merge entries into context menus - STATUS UNKNOWN
- Create a CWS which will contain all the changes of the project.
- The CWS is called contextmenu1
- Issue for the project: i113382
- The project is accepted for the summer internship
- Ariel was kind enough to work further on this feature (although Internship ended 14th of November 2010)