New Context Menu Implementation in chart2
From Apache OpenOffice Wiki
This page describes the work done on porting chart2 module to the new context menu implementation.
Naming Scheme
The names for the XML files, the UI name, and macro definitions were chosen with the following guidelines in mind:
- the name in the user interface (stored in OpenOffice.org regsitry, in the source tree on the file officecfg/registry/data/org/openoffice/Office/UI/ChartWindowState.xcu) should be congruent with the current names already in use (on the status bar control and the “Select Chart Element” list box, and defined in chart2/source/controller/dialogs/Strings.src)
- the resource URL should be API- and extension-developer user-friendly, for this reason it follows the UI name
- macros defined in chart2/source/controller/main/contextmenu.hxx follow instead the enum chart::ObjectType, so that the developers can easy recognize the context menus by its ObjectTYpe
UI (ChartWindowState.xcu) | ResourceURL | ObjectType | Define (contextmenu.hxx) |
---|---|---|---|
Chart Area | private:resource/contextmenu/area | OBJECTTYPE_PAGE | CHART2_CONTEXTMENU_PAGE |
Axis | private:resource/contextmenu/axis | OBJECTTYPE_AXIS | CHART2_CONTEXTMENU_AXIS |
Chart | private:resource/contextmenu/chart | OBJECTTYPE_DIAGRAM | CHART2_CONTEXTMENU_DIAGRAM |
Label | private:resource/contextmenu/datalabel | OBJECTTYPE_DATA_LABEL | CHART2_CONTEXTMENU_DATA_LABEL |
Data Labels | private:resource/contextmenu/datalabels | OBJECTTYPE_DATA_LABELS | CHART2_CONTEXTMENU_DATA_LABELS |
Data Point | private:resource/contextmenu/datapoint | OBJECTTYPE_DATA_POINT | CHART2_CONTEXTMENU_DATA_POINT |
Data Series | private:resource/contextmenu/dataseries | OBJECTTYPE_DATA_SERIES: | CHART2_CONTEXTMENU_DATA_SERIES |
Chart Floor | private:resource/contextmenu/floor | OBJECTTYPE_DIAGRAM_FLOOR | CHART2_CONTEXTMENU_DIAGRAM_FLOOR |
Legend | private:resource/contextmenu/legend | OBJECTTYPE_LEGEND | CHART2_CONTEXTMENU_LEGEND |
Legend Key | private:resource/contextmenu/legendkey | OBJECTTYPE_LEGEND_ENTRY | CHART2_CONTEXTMENU_LEGEND_ENTRY |
Mayor Grid | private:resource/contextmenu/mayorgrid | OBJECTTYPE_GRID | CHART2_CONTEXTMENU_GRID |
Mean Value Line | private:resource/contextmenu/meanvalueline | OBJECTTYPE_DATA_AVERAGE_LINE | CHART2_CONTEXTMENU_DATA_AVERAGE_LINE |
Minor Grid | private:resource/contextmenu/minorgrid | OBJECTTYPE_SUBGRID | CHART2_CONTEXTMENU_SUBGRID |
No Selection | private:resource/contextmenu/nosel | OBJECTTYPE_UNKNOWN | CHART2_CONTEXTMENU_NO_SEL |
Drawing Object | private:resource/contextmenu/shape | OBJECTTYPE_SHAPE | CHART2_CONTEXTMENU_SHAPE |
Drawing Object Edit Mode | private:resource/contextmenu/shapeedit | OBJECTTYPE_SHAPE | CHART2_CONTEXTMENU_SHAPE_EDIT |
Stock Gain | private:resource/contextmenu/stockgain | OBJECTTYPE_DATA_STOCK_GAIN | CHART2_CONTEXTMENU_DATA_STOCK_GAIN |
Stock Loss | private:resource/contextmenu/stockloss | OBJECTTYPE_DATA_STOCK_LOSS | CHART2_CONTEXTMENU_DATA_STOCK_LOSS |
Title | private:resource/contextmenu/title | OBJECTTYPE_TITLE | CHART2_CONTEXTMENU_TITLE |
Trend Line | private:resource/contextmenu/trendline | OBJECTTYPE_DATA_CURVE | CHART2_CONTEXTMENU_DATA_CURVE |
Equation | private:resource/contextmenu/trendlnequation | OBJECTTYPE_DATA_CURVE_EQUATION | CHART2_CONTEXTMENU_DATA_CURVE_EQUATION |
Chart Wall | private:resource/contextmenu/wall | OBJECTTYPE_DIAGRAM_WALL | CHART2_CONTEXTMENU_DIAGRAM_WALL |
Error Barrs | private:resource/contextmenu/yerrorbars | OBJECTTYPE_DATA_ERRORS
OBJECTTYPE_DATA_ERRORS_X OBJECTTYPE_DATA_ERRORS_Y OBJECTTYPE_DATA_ERRORS_Z |
CHART2_CONTEXTMENU_DATA_ERRORS_Y |