xref: /core/officecfg/util/AcceleratorKeyChecker.fodt (revision 4917430c1c5e8105987e81d65d31df21955ad60e)
1<?xml version="1.0" encoding="UTF-8"?>
2
3<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.text">
4 <office:meta><meta:creation-date>2015-09-24T00:23:17.450000000</meta:creation-date><dc:date>2016-02-12T08:27:37.426000000</dc:date><meta:editing-duration>PT2H10M43S</meta:editing-duration><meta:editing-cycles>75</meta:editing-cycles><meta:generator>LibreOfficeDev/5.2.0.0.alpha0$Windows_x86 LibreOffice_project/f14d271d31e75de09821cf1766c7ab2a9c6e0461</meta:generator><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="11" meta:word-count="235" meta:character-count="1250" meta:non-whitespace-character-count="1030"/></office:meta>
5 <office:settings>
6  <config:config-item-set config:name="ooo:view-settings">
7   <config:config-item config:name="ViewAreaTop" config:type="long">0</config:config-item>
8   <config:config-item config:name="ViewAreaLeft" config:type="long">0</config:config-item>
9   <config:config-item config:name="ViewAreaWidth" config:type="long">26407</config:config-item>
10   <config:config-item config:name="ViewAreaHeight" config:type="long">15162</config:config-item>
11   <config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item>
12   <config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item>
13   <config:config-item-map-indexed config:name="Views">
14    <config:config-item-map-entry>
15     <config:config-item config:name="ViewId" config:type="string">view2</config:config-item>
16     <config:config-item config:name="ViewLeft" config:type="long">11382</config:config-item>
17     <config:config-item config:name="ViewTop" config:type="long">4362</config:config-item>
18     <config:config-item config:name="VisibleLeft" config:type="long">0</config:config-item>
19     <config:config-item config:name="VisibleTop" config:type="long">0</config:config-item>
20     <config:config-item config:name="VisibleRight" config:type="long">26405</config:config-item>
21     <config:config-item config:name="VisibleBottom" config:type="long">15161</config:config-item>
22     <config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
23     <config:config-item config:name="ViewLayoutColumns" config:type="short">1</config:config-item>
24     <config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item>
25     <config:config-item config:name="ZoomFactor" config:type="short">100</config:config-item>
26     <config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item>
27    </config:config-item-map-entry>
28   </config:config-item-map-indexed>
29  </config:config-item-set>
30  <config:config-item-set config:name="ooo:configuration-settings">
31   <config:config-item config:name="ProtectForm" config:type="boolean">false</config:config-item>
32   <config:config-item config:name="PrinterName" config:type="string"/>
33   <config:config-item config:name="EmbeddedDatabaseName" config:type="string"/>
34   <config:config-item config:name="CurrentDatabaseDataSource" config:type="string">Bröllopsgäster</config:config-item>
35   <config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item>
36   <config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item>
37   <config:config-item config:name="FloattableNomargins" config:type="boolean">false</config:config-item>
38   <config:config-item config:name="UnbreakableNumberings" config:type="boolean">false</config:config-item>
39   <config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item>
40   <config:config-item config:name="BackgroundParaOverDrawings" config:type="boolean">false</config:config-item>
41   <config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item>
42   <config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item>
43   <config:config-item config:name="CurrentDatabaseCommand" config:type="string"/>
44   <config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item>
45   <config:config-item config:name="PrinterSetup" config:type="base64Binary"/>
46   <config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item>
47   <config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item>
48   <config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item>
49   <config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item>
50   <config:config-item config:name="SurroundTextWrapSmall" config:type="boolean">false</config:config-item>
51   <config:config-item config:name="SmallCapsPercentage66" config:type="boolean">false</config:config-item>
52   <config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item>
53   <config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item>
54   <config:config-item config:name="UpdateFromTemplate" config:type="boolean">true</config:config-item>
55   <config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item>
56   <config:config-item config:name="PrinterIndependentLayout" config:type="string">high-resolution</config:config-item>
57   <config:config-item config:name="EmbedSystemFonts" config:type="boolean">false</config:config-item>
58   <config:config-item config:name="DoNotCaptureDrawObjsOnPage" config:type="boolean">false</config:config-item>
59   <config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">false</config:config-item>
60   <config:config-item config:name="IsLabelDocument" config:type="boolean">false</config:config-item>
61   <config:config-item config:name="AddFrameOffsets" config:type="boolean">false</config:config-item>
62   <config:config-item config:name="AddExternalLeading" config:type="boolean">true</config:config-item>
63   <config:config-item config:name="UseOldNumbering" config:type="boolean">false</config:config-item>
64   <config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item>
65   <config:config-item config:name="DoNotResetParaAttrsForNumFont" config:type="boolean">false</config:config-item>
66   <config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item>
67   <config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item>
68   <config:config-item config:name="UseFormerLineSpacing" config:type="boolean">false</config:config-item>
69   <config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">true</config:config-item>
70   <config:config-item config:name="UseFormerTextWrapping" config:type="boolean">false</config:config-item>
71   <config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/>
72   <config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item>
73   <config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">false</config:config-item>
74   <config:config-item config:name="EmbedFonts" config:type="boolean">false</config:config-item>
75   <config:config-item config:name="TableRowKeep" config:type="boolean">false</config:config-item>
76   <config:config-item config:name="TabsRelativeToIndent" config:type="boolean">true</config:config-item>
77   <config:config-item config:name="IgnoreTabsAndBlanksForLineCalculation" config:type="boolean">false</config:config-item>
78   <config:config-item config:name="RsidRoot" config:type="int">1854555</config:config-item>
79   <config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item>
80   <config:config-item config:name="ClipAsCharacterAnchoredWriterFlyFrames" config:type="boolean">false</config:config-item>
81   <config:config-item config:name="UnxForceZeroExtLeading" config:type="boolean">false</config:config-item>
82   <config:config-item config:name="UseOldPrinterMetrics" config:type="boolean">false</config:config-item>
83   <config:config-item config:name="TabAtLeftIndentForParagraphsInList" config:type="boolean">false</config:config-item>
84   <config:config-item config:name="Rsid" config:type="int">3406469</config:config-item>
85   <config:config-item config:name="ApplyParagraphMarkFormatToNumbering" config:type="boolean">false</config:config-item>
86   <config:config-item config:name="MathBaselineAlignment" config:type="boolean">true</config:config-item>
87   <config:config-item config:name="InvertBorderSpacing" config:type="boolean">false</config:config-item>
88   <config:config-item config:name="PropLineSpacingShrinksFirstLine" config:type="boolean">true</config:config-item>
89   <config:config-item config:name="CollapseEmptyCellPara" config:type="boolean">true</config:config-item>
90   <config:config-item config:name="TabOverflow" config:type="boolean">true</config:config-item>
91   <config:config-item config:name="StylesNoDefault" config:type="boolean">false</config:config-item>
92   <config:config-item config:name="SubtractFlysAnchoredAtFlys" config:type="boolean">false</config:config-item>
93   <config:config-item config:name="ClippedPictures" config:type="boolean">false</config:config-item>
94   <config:config-item config:name="TabOverMargin" config:type="boolean">false</config:config-item>
95   <config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item>
96   <config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item>
97   <config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item>
98   <config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item>
99   <config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item>
100   <config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item>
101   <config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item>
102   <config:config-item config:name="PrintTextPlaceholder" config:type="boolean">false</config:config-item>
103   <config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item>
104   <config:config-item config:name="PrintHiddenText" config:type="boolean">false</config:config-item>
105   <config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item>
106   <config:config-item config:name="PrintProspectRTL" config:type="boolean">false</config:config-item>
107   <config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item>
108   <config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item>
109   <config:config-item config:name="PrintFaxName" config:type="string"/>
110   <config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item>
111   <config:config-item config:name="PrintEmptyPages" config:type="boolean">false</config:config-item>
112  </config:config-item-set>
113 </office:settings>
114 <office:scripts>
115  <office:script script:language="ooo:Basic">
116   <ooo:libraries xmlns:ooo="http://openoffice.org/2004/office" xmlns:xlink="http://www.w3.org/1999/xlink">
117    <ooo:library-embedded ooo:name="Standard"/>
118    <ooo:library-embedded ooo:name="AcceleratorKeyCheck">
119     <ooo:module ooo:name="AccNameProvider">
120      <ooo:source-code>REM  *****  BASIC  *****
121Dim ROLEMAP As Object
122
123Sub Main
124&apos;	msgbox getNameOfAccessibleRole(40)
125&apos;	msgbox getNameOfAccessibleRole(57)
126End Sub
127
128Function getNameOfAccessibleRole(sID As Integer)
129	If IsNull(ROLEMAP) Then
130		initializeRoleMap
131	End If
132	If ROLEMAP.containsKey(sID) Then
133		getNameOfAccessibleRole = ROLEMAP.get(sID)
134	Else
135		MsgBox &quot;Could not find the name for the AccessibleRole: &quot; &amp; sID
136	End If
137End Function
138
139Sub initializeRoleMap
140	ROLEMAP = com.sun.star.container.EnumerableMap.create(&quot;short&quot;, &quot;string&quot;)
141	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.UNKNOWN, &quot;UNKNOWN&quot;)
142	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.ALERT, &quot;ALERT&quot;)
143	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.COLUMN_HEADER, &quot;COLUMN_HEADER&quot;)
144	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.CANVAS, &quot;CANVAS&quot;)
145	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.CHECK_BOX, &quot;CHECK_BOX&quot;)
146	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.CHECK_MENU_ITEM, &quot;CHECK_MENU_ITEM&quot;)
147	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.COLOR_CHOOSER, &quot;COLOR_CHOOSER&quot;)
148	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.COMBO_BOX, &quot;COMBO_BOX&quot;)
149	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.DATE_EDITOR, &quot;DATE_EDITOR&quot;)
150	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.DESKTOP_ICON, &quot;DESKTOP_ICON&quot;)
151	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.DESKTOP_PANE, &quot;DESKTOP_PANE&quot;)
152	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.DIRECTORY_PANE, &quot;DIRECTORY_PANE&quot;)
153	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.DIALOG, &quot;DIALOG&quot;)
154	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.DOCUMENT, &quot;DOCUMENT&quot;)
155	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.EMBEDDED_OBJECT, &quot;EMBEDDED_OBJECT&quot;)
156	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.END_NOTE, &quot;END_NOTE&quot;)
157	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.FILE_CHOOSER, &quot;FILE_CHOOSER&quot;)
158	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.FILLER, &quot;FILLER&quot;)
159	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.FONT_CHOOSER, &quot;FONT_CHOOSER&quot;)
160	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.FOOTER, &quot;FOOTER&quot;)
161	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.FOOTNOTE, &quot;FOOTNOTE&quot;)
162	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.FRAME, &quot;FRAME&quot;)
163	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.GLASS_PANE, &quot;GLASS_PANE&quot;)
164	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.GRAPHIC, &quot;GRAPHIC&quot;)
165	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.GROUP_BOX, &quot;GROUP_BOX&quot;)
166	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.HEADER, &quot;HEADER&quot;)
167	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.HEADING, &quot;HEADING&quot;)
168	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.HYPER_LINK, &quot;HYPER_LINK&quot;)
169	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.ICON, &quot;ICON&quot;)
170	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.INTERNAL_FRAME, &quot;INTERNAL_FRAME&quot;)
171	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.LABEL, &quot;LABEL&quot;)
172	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.LAYERED_PANE, &quot;LAYERED_PANE&quot;)
173	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.LIST, &quot;LIST&quot;)
174	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.LIST_ITEM, &quot;LIST_ITEM&quot;)
175	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.MENU, &quot;MENU&quot;)
176	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.MENU_BAR, &quot;MENU_BAR&quot;)
177	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.MENU_ITEM, &quot;MENU_ITEM&quot;)
178	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.OPTION_PANE, &quot;OPTION_PANE&quot;)
179	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.PAGE_TAB, &quot;PAGE_TAB&quot;)
180	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.PAGE_TAB_LIST, &quot;PAGE_TAB_LIST&quot;)
181	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.PANEL, &quot;PANEL&quot;)
182	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.PARAGRAPH, &quot;PARAGRAPH&quot;)
183	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.PASSWORD_TEXT, &quot;PASSWORD_TEXT&quot;)
184	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.POPUP_MENU, &quot;POPUP_MENU&quot;)
185	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON, &quot;PUSH_BUTTON&quot;)
186	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.PROGRESS_BAR, &quot;PROGRESS_BAR&quot;)
187	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.RADIO_BUTTON, &quot;RADIO_BUTTON&quot;)
188	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.RADIO_MENU_ITEM, &quot;RADIO_MENU_ITEM&quot;)
189	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.ROW_HEADER, &quot;ROW_HEADER&quot;)
190	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.ROOT_PANE, &quot;ROOT_PANE&quot;)
191	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.SCROLL_BAR, &quot;SCROLL_BAR&quot;)
192	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.SCROLL_PANE, &quot;SCROLL_PANE&quot;)
193	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.SHAPE, &quot;SHAPE&quot;)
194	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.SEPARATOR, &quot;SEPARATOR&quot;)
195	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.SLIDER, &quot;SLIDER&quot;)
196	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.SPIN_BOX, &quot;SPIN_BOX&quot;)
197	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.SPLIT_PANE, &quot;SPLIT_PANE&quot;)
198	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.STATUS_BAR, &quot;STATUS_BAR&quot;)
199	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.TABLE, &quot;TABLE&quot;)
200	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.TABLE_CELL, &quot;TABLE_CELL&quot;)
201	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.TEXT, &quot;TEXT&quot;)
202	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.TEXT_FRAME, &quot;TEXT_FRAME&quot;)
203	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.TOGGLE_BUTTON, &quot;TOGGLE_BUTTON&quot;)
204	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.TOOL_BAR, &quot;TOOL_BAR&quot;)
205	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.TOOL_TIP, &quot;TOOL_TIP&quot;)
206	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.TREE, &quot;TREE&quot;)
207	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.VIEW_PORT, &quot;VIEW_PORT&quot;)
208	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.WINDOW, &quot;WINDOW&quot;)
209	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.BUTTON_DROPDOWN, &quot;BUTTON_DROPDOWN&quot;)
210	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.BUTTON_MENU, &quot;BUTTON_MENU&quot;)
211	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.CAPTION, &quot;CAPTION&quot;)
212	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.CHART, &quot;CHART&quot;)
213	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.EDIT_BAR, &quot;EDIT_BAR&quot;)
214	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.FORM, &quot;FORM&quot;)
215	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.IMAGE_MAP, &quot;IMAGE_MAP&quot;)
216	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.NOTE, &quot;NOTE&quot;)
217	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.PAGE, &quot;PAGE&quot;)
218	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.RULER, &quot;RULER&quot;)
219	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.SECTION, &quot;SECTION&quot;)
220	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.TREE_ITEM, &quot;TREE_ITEM&quot;)
221	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.TREE_TABLE, &quot;TREE_TABLE&quot;)
222	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.COMMENT, &quot;COMMENT&quot;)
223	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.COMMENT_END, &quot;COMMENT_END&quot;)
224	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.DOCUMENT_PRESENTATION, &quot;DOCUMENT_PRESENTATION&quot;)
225	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.DOCUMENT_SPREADSHEET, &quot;DOCUMENT_SPREADSHEET&quot;)
226	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.DOCUMENT_TEXT, &quot;DOCUMENT_TEXT&quot;)
227	ROLEMAP.put (com.sun.star.accessibility.AccessibleRole.STATIC, &quot;STATIC&quot;)
228End Sub
229
230      </ooo:source-code>
231     </ooo:module>
232     <ooo:module ooo:name="__testMenu">
233      <ooo:source-code>REM  *****  BASIC  *****
234Option Explicit
235
236Dim oReportCursor As Object
237Dim oReportDoc As Object
238Dim oReportTable As Object
239Dim oComponentName As String
240Dim sMenuName As String
241Dim hasSubMenu As String
242Dim keybinding1 As Object
243Dim keybinding2 As Object
244Dim accKeyBinding As String
245
246Sub testmenus
247Dim sAccName As String
248Dim i As Integer, j As Integer, iMenuBarIndex As Integer
249Dim oAccChild As Object, oAccContext As Object, accMenu As Object
250Dim ComponentsToCheck As Variant, oComponent As Object
251
252	GlobalScope.BasicLibraries.LoadLibrary(&quot;Tools&quot;)
253
254	oReportDoc = CreateNewDocument(&quot;swriter&quot;)
255	oReportCursor = oReportDoc.getText().createTextCursor()
256
257	ComponentsToCheck() = Array(&quot;Writer&quot;, &quot;Calc&quot;, &quot;Impress&quot;,&quot;Draw&quot;, &quot;Math&quot;)
258	For Each oComponentName In ComponentsToCheck
259		oComponent = CreateNewDocument(&quot;s&quot; &amp; LCase(oComponentName))
260		AccReportHeading(oComponentName, 1)
261
262		oAccContext = getAccessibleContextOfDocument(oComponent)
263
264		For i = 0 To oAccContext.getAccessibleChildCount -1
265			oAccChild = oAccContext.getAccessibleChild(i).getAccessibleContext()
266			sAccName = getNameOfAccessibleRole(oAccChild.AccessibleRole)
267			If sAccName = &quot;MENU_BAR&quot; Then
268				iMenuBarIndex = i
269				AccReportHeading(&quot;Top Level Menu&quot;)
270				insertReportTable(Array(&quot;Name&quot;, &quot;Accelerator key&quot;, &quot;Has submenu&quot;), oComponentName &amp; &quot;-Top_Level_Menu&quot;)
271				For j = 0 To oAccChild.getAccessibleChildCount -1
272					hasSubMenu = &quot;&quot;
273					accMenu = oAccChild.getAccessibleChild(j).getAccessibleContext()
274					sMenuName = accMenu.AccessibleName
275					keybinding1 = accMenu.getAccessibleActionKeyBinding(0).getAccessibleKeyBinding(0)
276					If accMenu.getAccessibleActionKeyBinding(0).getAccessibleKeyBindingCount() &gt; 1 Then
277						keybinding2 = accMenu.getAccessibleActionKeyBinding(0).getAccessibleKeyBinding(1)
278					End If
279					accKeyBinding = makeKeyStrokeReadable(keybinding1(0), True)
280					If accMenu.AccessibleChildCount &gt; 0 Then hasSubMenu = &quot;Yes&quot;
281					insertReportTableContent(Array(sMenuName, accKeyBinding, hasSubMenu))
282				Next
283			End If
284		Next
285		AddMenuTables oAccContext.getAccessibleChild(iMenuBarIndex).getAccessibleContext
286
287		DisposeDocument(oComponent)
288	Next
289	CheckTableAndMarkupDuplicates
290End Sub
291
292Sub AddMenuTables(accMenuBar)
293Dim i As Integer, accMenu As Object
294	For i = 0 To accMenuBar.getAccessibleChildCount-1
295		accMenu = accMenuBar.getAccessibleChild(i)
296		sMenuName = accMenu.AccessibleName
297		AccReportHeading(accMenu.AccessibleName)
298		insertReportTable(Array(&quot;Name&quot;, &quot;Accelerator key&quot;, &quot;Has submenu&quot;), oComponentName &amp; &quot;-&quot; &amp; sMenuName)
299		FillMenuTable accMenu, 2
300		HandleSubMenues accMenu
301	Next
302End Sub
303
304Sub HandleSubMenues(accMenu, Optional HeadingLevel as Integer)
305Dim i As Integer, accMenuItem As Object, sSubMenuName As String
306	If isMissing(HeadingLevel) Then HeadingLevel = 3
307	For i = 0 To accMenu.getAccessibleChildCount-1
308		accMenuItem = accMenu.getAccessibleChild(i)
309		If getNameOfAccessibleRole(accMenuItem.getAccessibleRole) = &quot;MENU&quot; Then
310			sSubMenuName = accMenuItem.AccessibleName
311			AccReportHeading(sSubMenuName, HeadingLevel)
312			insertReportTable(Array(&quot;Name&quot;, &quot;Accelerator key&quot;, &quot;Has submenu&quot;), oComponentName  &amp; &quot;-&quot; &amp; sMenuName  &amp; &quot;-&quot; &amp; sSubMenuName)
313			FillMenuTable accMenuItem
314			&apos; Take care of submenues of submenues
315			&apos; Example in Writer: Insert - Shape - Line
316			HandleSubMenues accMenuItem, HeadingLevel + 1
317		End If
318	Next
319End Sub
320
321Sub FillMenuTable(accMenu)
322Dim i As Integer, accMenuItem As Object
323	&apos;Check if it is a menu, and open it
324	If getNameOfAccessibleRole(accMenu.getAccessibleRole) = &quot;MENU&quot; Then
325		accMenu.doAccessibleAction(0)
326	End If
327	For i = 0 To accMenu.getAccessibleChildCount-1
328		accMenuItem = accMenu.getAccessibleChild(i)
329		Select Case getNameOfAccessibleRole(accMenuItem.getAccessibleRole)
330		Case &quot;MENU_ITEM&quot;, &quot;CHECK_MENU_ITEM&quot;, &quot;RADIO_MENU_ITEM&quot;
331			hasSubMenu = &quot;&quot;
332			sMenuName = accMenuItem.AccessibleName
333			keybinding1 = accMenuItem.getAccessibleActionKeyBinding(0).getAccessibleKeyBinding(0)
334			accKeyBinding = makeKeyStrokeReadable(keybinding1(0))
335			insertReportTableContent(Array(sMenuName, accKeyBinding, hasSubMenu))
336		Case &quot;MENU&quot;
337			hasSubMenu = &quot;Yes&quot;
338			sMenuName = accMenuItem.AccessibleName
339			keybinding1 = accMenuItem.getAccessibleActionKeyBinding(0).getAccessibleKeyBinding(0)
340			accKeyBinding = makeKeyStrokeReadable(keybinding1(0))
341			insertReportTableContent(Array(sMenuName, accKeyBinding, hasSubMenu))
342		End Select
343	Next
344End Sub
345
346Function getAccessibleContextOfDocument(oDoc)
347Dim oContainerWindow As Object
348	oContainerWindow = oDoc.getCurrentController().getFrame().getContainerWindow()
349	getAccessibleContextOfDocument = oContainerWindow.getAccessibleContext()
350End Function
351
352Function makeKeyStrokeReadable(oKeyStroke, Optional bIgnoreAltModifier)
353Dim sModifiers As String, sMod As String
354	If isMissing(bIgnoreAltModifier) Then bIgnoreAltModifier = false
355
356	sModifiers = cStr(oKeyStroke.Modifiers)
357	Select Case sModifiers
358	Case &quot;1&quot;
359		sMod = &quot;Shift + &quot;
360	Case &quot;2&quot;
361		sMod = &quot;Ctrl + &quot;
362	Case &quot;3&quot;
363		sMod = &quot;Ctrl + Shift + &quot;
364	Case &quot;4&quot;
365		If bIgnoreAltModifier Then
366			sMod = &quot;&quot;
367		Else
368			sMod = &quot;Alt + &quot;
369		End If
370	Case &quot;5&quot;
371		sMod = &quot;Shift + Alt + &quot;
372	Case &quot;6&quot;
373		sMod = &quot;Ctrl + Alt + &quot;
374	Case &quot;7&quot;
375		sMod = &quot;Ctrl + Shift + Alt + &quot;
376	Case &quot;0&quot;
377		sMod = &quot;&quot;
378	Case Else
379		sMod = &quot;Are you using Mac? Not sure if this is supported on Mac? Your modifier is: &quot; &amp; sModifiers
380	End Select
381	makeKeyStrokeReadable = sMod &amp; UCase(oKeyStroke.KeyChar)
382End Function
383
384Sub AccReport(sString)
385	oReportCursor.setString(sString)
386	oReportCursor.collapseToEnd()
387End Sub
388
389Sub AccReportHeading(sString as string, Optional HeadingLevel as integer)
390If IsMissing(HeadingLevel) Then HeadingLevel = 2
391	oReportCursor.collapseToEnd()
392	oReportCursor.ParaStyleName = &quot;Heading &quot; &amp; HeadingLevel
393	oReportCursor.setString(sString &amp; chr(13))
394	oReportCursor.collapseToEnd()
395End Sub
396
397Sub insertReportTable(sColumns(), sTableName As String)
398Dim noColumns As Integer, i As Integer
399Dim oCell As Object
400	noColumns = UBound(sColumns)
401  	oReportTable = oReportDoc.createInstance (&quot;com.sun.star.text.TextTable&quot;)
402  	oReportTable.initialize(2, noColumns+1)
403	oReportTable.HeaderRowCount = 1
404	oReportTable.RepeatHeadline = true
405	sTableName = Replace(sTableName, &quot; &quot;, &quot;_&quot;)
406	sTableName = Replace(sTableName, &quot;.&quot;, &quot;&quot;)
407	oReportTable.Name = sTableName
408	oReportCursor.getText().insertTextContent(oReportCursor, oReportTable, False)
409
410	For i = 0 To noColumns
411		oCell = oReportTable.getCellByPosition( i, 0 )
412		oCell.setString(sColumns(i))
413	Next
414End Sub
415
416Sub insertReportTableContent(sColumns())
417Dim noColumns As Integer, iRows As Integer, i As Integer
418Dim oCell As Object
419	noColumns = UBound(sColumns)
420  	iRows = oReportTable.getRows().Count
421  	If iRows = 2 Then
422  		oCell = oReportTable.getCellByPosition(0, iRows-1)
423  		If oCell.getString() &lt;&gt; &quot;&quot; Then
424			oReportTable.getRows().insertByIndex(iRows,1)
425		Else
426			iRows = iRows-1
427		End If
428  	Else
429		oReportTable.getRows().insertByIndex(iRows,1)
430	End If
431
432	For i = 0 To noColumns
433		oCell = oReportTable.getCellByPosition( i, iRows )
434		oCell.setString(sColumns(i))
435	Next
436End Sub
437
438Sub CheckTableAndMarkupDuplicates
439Dim iTable As Integer, oTable As Object
440Dim i As Integer, j As Integer
441Dim sAccKey1 As String, sAccKey2 As String
442	For iTable = 0 To oReportDoc.TextTables.Count-1
443		oTable = oReportDoc.TextTables(iTable)
444		&apos;First row is a header so we can start at the second row (1)
445		For i = 1 To oTable.getRows.Count-1
446			For j = i + 1 To oTable.getRows.Count-1
447				sAccKey1 = oTable.getCellByPosition(1, i).getString()
448				sAccKey2 = oTable.getCellByPosition(1, j).getString()
449				If sAccKey1 = sAccKey2 Then
450					If oTable.getCellByPosition(2, i).getString() = &quot;Yes&quot; Then
451						oTable.getRows().getByIndex(i).BackColor = RGB(255, 0, 0)
452					Else
453						oTable.getRows().getByIndex(i).BackColor = RGB(255, 255, 0)
454					End If
455					If oTable.getCellByPosition(2, j).getString() = &quot;Yes&quot; Then
456						oTable.getRows().getByIndex(j).BackColor = RGB(255, 0, 0)
457					Else
458						oTable.getRows().getByIndex(j).BackColor = RGB(255, 255,0)
459					End If
460				End If
461			Next
462		Next
463	Next
464End Sub
465
466      </ooo:source-code>
467     </ooo:module>
468    </ooo:library-embedded>
469   </ooo:libraries>
470  </office:script>
471 </office:scripts>
472 <office:font-face-decls>
473  <style:font-face style:name="OpenSymbol" svg:font-family="OpenSymbol" style:font-charset="x-symbol"/>
474  <style:font-face style:name="Lucida Sans1" svg:font-family="&apos;Lucida Sans&apos;" style:font-family-generic="swiss"/>
475  <style:font-face style:name="Liberation Serif" svg:font-family="&apos;Liberation Serif&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
476  <style:font-face style:name="Liberation Sans" svg:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="swiss" style:font-pitch="variable"/>
477  <style:font-face style:name="Lucida Sans" svg:font-family="&apos;Lucida Sans&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
478  <style:font-face style:name="Microsoft YaHei" svg:font-family="&apos;Microsoft YaHei&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
479  <style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/>
480 </office:font-face-decls>
481 <office:styles>
482  <style:default-style style:family="graphic">
483   <style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/>
484   <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false">
485    <style:tab-stops/>
486   </style:paragraph-properties>
487   <style:text-properties style:use-window-font-color="true" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="sv" fo:country="SE" style:letter-kerning="true" style:font-name-asian="SimSun" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Lucida Sans" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/>
488  </style:default-style>
489  <style:default-style style:family="paragraph">
490   <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page"/>
491   <style:text-properties style:use-window-font-color="true" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="sv" fo:country="SE" style:letter-kerning="true" style:font-name-asian="SimSun" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Lucida Sans" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2"/>
492  </style:default-style>
493  <style:default-style style:family="table">
494   <style:table-properties table:border-model="collapsing"/>
495  </style:default-style>
496  <style:default-style style:family="table-row">
497   <style:table-row-properties fo:keep-together="auto"/>
498  </style:default-style>
499  <style:style style:name="Standard" style:family="paragraph" style:class="text">
500   <style:text-properties fo:language="en" fo:country="US" style:font-size-asian="10.5pt"/>
501  </style:style>
502  <style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text">
503   <style:paragraph-properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" loext:contextual-spacing="false" fo:keep-with-next="always"/>
504   <style:text-properties style:font-name="Liberation Sans" fo:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="14pt" style:font-name-asian="Microsoft YaHei" style:font-family-asian="&apos;Microsoft YaHei&apos;" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="14pt" style:font-name-complex="Lucida Sans" style:font-family-complex="&apos;Lucida Sans&apos;" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="14pt"/>
505  </style:style>
506  <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text">
507   <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.247cm" loext:contextual-spacing="false" fo:line-height="120%"/>
508  </style:style>
509  <style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list">
510   <style:text-properties style:font-size-asian="12pt" style:font-name-complex="Lucida Sans1" style:font-family-complex="&apos;Lucida Sans&apos;" style:font-family-generic-complex="swiss"/>
511  </style:style>
512  <style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
513   <style:paragraph-properties fo:margin-top="0.212cm" fo:margin-bottom="0.212cm" loext:contextual-spacing="false" text:number-lines="false" text:line-number="0"/>
514   <style:text-properties fo:font-size="12pt" fo:font-style="italic" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-name-complex="Lucida Sans1" style:font-family-complex="&apos;Lucida Sans&apos;" style:font-family-generic-complex="swiss" style:font-size-complex="12pt" style:font-style-complex="italic"/>
515  </style:style>
516  <style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index">
517   <style:paragraph-properties text:number-lines="false" text:line-number="0"/>
518   <style:text-properties style:font-size-asian="12pt" style:font-name-complex="Lucida Sans1" style:font-family-complex="&apos;Lucida Sans&apos;" style:font-family-generic-complex="swiss"/>
519  </style:style>
520  <style:style style:name="Heading_20_1" style:display-name="Heading 1" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="1" style:class="text">
521   <style:paragraph-properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" loext:contextual-spacing="false"/>
522   <style:text-properties fo:font-size="130%" fo:font-weight="bold" style:font-size-asian="130%" style:font-weight-asian="bold" style:font-size-complex="130%" style:font-weight-complex="bold"/>
523  </style:style>
524  <style:style style:name="Quotations" style:family="paragraph" style:parent-style-name="Standard" style:class="html">
525   <style:paragraph-properties fo:margin-left="1cm" fo:margin-right="1cm" fo:margin-top="0cm" fo:margin-bottom="0.499cm" loext:contextual-spacing="false" fo:text-indent="0cm" style:auto-text-indent="false"/>
526  </style:style>
527  <style:style style:name="Title" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="chapter">
528   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
529   <style:text-properties fo:font-size="28pt" fo:font-weight="bold" style:font-size-asian="28pt" style:font-weight-asian="bold" style:font-size-complex="28pt" style:font-weight-complex="bold"/>
530  </style:style>
531  <style:style style:name="Subtitle" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="chapter">
532   <style:paragraph-properties fo:margin-top="0.106cm" fo:margin-bottom="0.212cm" loext:contextual-spacing="false" fo:text-align="center" style:justify-single-word="false"/>
533   <style:text-properties fo:font-size="18pt" style:font-size-asian="18pt" style:font-size-complex="18pt"/>
534  </style:style>
535  <style:style style:name="Heading_20_2" style:display-name="Heading 2" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="2" style:class="text">
536   <style:paragraph-properties fo:margin-top="0.353cm" fo:margin-bottom="0.212cm" loext:contextual-spacing="false"/>
537   <style:text-properties fo:font-size="115%" fo:font-weight="bold" style:font-size-asian="115%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/>
538  </style:style>
539  <style:style style:name="Heading_20_3" style:display-name="Heading 3" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="3" style:class="text">
540   <style:paragraph-properties fo:margin-top="0.247cm" fo:margin-bottom="0.212cm" loext:contextual-spacing="false"/>
541   <style:text-properties fo:font-size="101%" fo:font-weight="bold" style:font-size-asian="101%" style:font-weight-asian="bold" style:font-size-complex="101%" style:font-weight-complex="bold"/>
542  </style:style>
543  <style:style style:name="Bullet_20_Symbols" style:display-name="Bullet Symbols" style:family="text">
544   <style:text-properties style:font-name="OpenSymbol" fo:font-family="OpenSymbol" style:font-charset="x-symbol" style:font-name-asian="OpenSymbol" style:font-family-asian="OpenSymbol" style:font-charset-asian="x-symbol" style:font-name-complex="OpenSymbol" style:font-family-complex="OpenSymbol" style:font-charset-complex="x-symbol"/>
545  </style:style>
546  <text:outline-style style:name="Outline">
547   <text:outline-level-style text:level="1" style:num-format="">
548    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
549     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.762cm" fo:text-indent="-0.762cm" fo:margin-left="0.762cm"/>
550    </style:list-level-properties>
551   </text:outline-level-style>
552   <text:outline-level-style text:level="2" style:num-format="">
553    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
554     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.016cm" fo:text-indent="-1.016cm" fo:margin-left="1.016cm"/>
555    </style:list-level-properties>
556   </text:outline-level-style>
557   <text:outline-level-style text:level="3" style:num-format="">
558    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
559     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.27cm" fo:text-indent="-1.27cm" fo:margin-left="1.27cm"/>
560    </style:list-level-properties>
561   </text:outline-level-style>
562   <text:outline-level-style text:level="4" style:num-format="">
563    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
564     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.524cm" fo:text-indent="-1.524cm" fo:margin-left="1.524cm"/>
565    </style:list-level-properties>
566   </text:outline-level-style>
567   <text:outline-level-style text:level="5" style:num-format="">
568    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
569     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.778cm" fo:text-indent="-1.778cm" fo:margin-left="1.778cm"/>
570    </style:list-level-properties>
571   </text:outline-level-style>
572   <text:outline-level-style text:level="6" style:num-format="">
573    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
574     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.032cm" fo:text-indent="-2.032cm" fo:margin-left="2.032cm"/>
575    </style:list-level-properties>
576   </text:outline-level-style>
577   <text:outline-level-style text:level="7" style:num-format="">
578    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
579     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.286cm" fo:text-indent="-2.286cm" fo:margin-left="2.286cm"/>
580    </style:list-level-properties>
581   </text:outline-level-style>
582   <text:outline-level-style text:level="8" style:num-format="">
583    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
584     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.54cm" fo:text-indent="-2.54cm" fo:margin-left="2.54cm"/>
585    </style:list-level-properties>
586   </text:outline-level-style>
587   <text:outline-level-style text:level="9" style:num-format="">
588    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
589     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.794cm" fo:text-indent="-2.794cm" fo:margin-left="2.794cm"/>
590    </style:list-level-properties>
591   </text:outline-level-style>
592   <text:outline-level-style text:level="10" style:num-format="">
593    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
594     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.048cm" fo:text-indent="-3.048cm" fo:margin-left="3.048cm"/>
595    </style:list-level-properties>
596   </text:outline-level-style>
597  </text:outline-style>
598  <text:notes-configuration text:note-class="footnote" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/>
599  <text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/>
600  <text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/>
601 </office:styles>
602 <office:automatic-styles>
603  <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Text_20_body">
604   <style:text-properties officeooo:rsid="001c4c5b" officeooo:paragraph-rsid="001c4c5b"/>
605  </style:style>
606  <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Text_20_body">
607   <style:text-properties officeooo:rsid="0027107a" officeooo:paragraph-rsid="0027107a"/>
608  </style:style>
609  <style:style style:name="P3" style:family="paragraph" style:parent-style-name="Text_20_body">
610   <style:text-properties fo:font-weight="normal" officeooo:rsid="0027b74d" officeooo:paragraph-rsid="0027b74d" style:font-weight-asian="normal" style:font-weight-complex="normal"/>
611  </style:style>
612  <style:style style:name="P4" style:family="paragraph" style:parent-style-name="Text_20_body">
613   <style:text-properties fo:font-weight="normal" officeooo:rsid="0027107a" officeooo:paragraph-rsid="0027107a" style:font-weight-asian="normal" style:font-weight-complex="normal"/>
614  </style:style>
615  <style:style style:name="P5" style:family="paragraph" style:parent-style-name="Heading_20_1">
616   <style:text-properties officeooo:rsid="001c4c5b" officeooo:paragraph-rsid="001c4c5b"/>
617  </style:style>
618  <style:style style:name="P6" style:family="paragraph" style:parent-style-name="Standard">
619   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
620   <style:text-properties style:text-line-through-style="none" style:text-line-through-type="none" style:font-name="Liberation Sans" fo:font-size="12pt" fo:font-style="normal" style:text-underline-style="none" fo:font-weight="normal"/>
621  </style:style>
622  <style:style style:name="P7" style:family="paragraph" style:parent-style-name="Heading_20_1">
623   <style:text-properties officeooo:rsid="001c4c5b" officeooo:paragraph-rsid="001c4c5b"/>
624  </style:style>
625  <style:style style:name="P8" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L1">
626   <style:text-properties officeooo:rsid="0027107a" officeooo:paragraph-rsid="0027107a"/>
627  </style:style>
628  <style:style style:name="P9" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L1">
629   <style:text-properties fo:font-weight="normal" officeooo:rsid="0027107a" officeooo:paragraph-rsid="0027107a" style:font-weight-asian="normal" style:font-weight-complex="normal"/>
630  </style:style>
631  <style:style style:name="P10" style:family="paragraph" style:parent-style-name="Text_20_body" style:list-style-name="L1">
632   <style:text-properties fo:font-weight="normal" officeooo:rsid="0027b74d" officeooo:paragraph-rsid="0027b74d" style:font-weight-asian="normal" style:font-weight-complex="normal"/>
633  </style:style>
634  <style:style style:name="P11" style:family="paragraph">
635   <style:paragraph-properties fo:text-align="center"/>
636   <style:text-properties style:text-line-through-style="none" style:text-line-through-type="none" style:font-name="Liberation Sans" fo:font-size="12pt" fo:font-style="normal" style:text-underline-style="none" fo:font-weight="normal"/>
637  </style:style>
638  <style:style style:name="T1" style:family="text">
639   <style:text-properties officeooo:rsid="0023a8b2"/>
640  </style:style>
641  <style:style style:name="T2" style:family="text">
642   <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
643  </style:style>
644  <style:style style:name="T3" style:family="text">
645   <style:text-properties fo:font-weight="bold" officeooo:rsid="002ae357" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
646  </style:style>
647  <style:style style:name="T4" style:family="text">
648   <style:text-properties fo:font-weight="normal" style:font-weight-asian="normal" style:font-weight-complex="normal"/>
649  </style:style>
650  <style:style style:name="T5" style:family="text">
651   <style:text-properties officeooo:rsid="00290da0"/>
652  </style:style>
653  <style:style style:name="T6" style:family="text">
654   <style:text-properties officeooo:rsid="002ae357"/>
655  </style:style>
656  <style:style style:name="T7" style:family="text">
657   <style:text-properties officeooo:rsid="002c2869"/>
658  </style:style>
659  <text:list-style style:name="L1">
660   <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
661    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
662     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.27cm" fo:text-indent="-0.635cm" fo:margin-left="1.27cm"/>
663    </style:list-level-properties>
664   </text:list-level-style-bullet>
665   <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
666    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
667     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.905cm" fo:text-indent="-0.635cm" fo:margin-left="1.905cm"/>
668    </style:list-level-properties>
669   </text:list-level-style-bullet>
670   <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
671    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
672     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.54cm" fo:text-indent="-0.635cm" fo:margin-left="2.54cm"/>
673    </style:list-level-properties>
674   </text:list-level-style-bullet>
675   <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
676    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
677     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.175cm" fo:text-indent="-0.635cm" fo:margin-left="3.175cm"/>
678    </style:list-level-properties>
679   </text:list-level-style-bullet>
680   <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
681    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
682     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.81cm" fo:text-indent="-0.635cm" fo:margin-left="3.81cm"/>
683    </style:list-level-properties>
684   </text:list-level-style-bullet>
685   <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
686    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
687     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.445cm" fo:text-indent="-0.635cm" fo:margin-left="4.445cm"/>
688    </style:list-level-properties>
689   </text:list-level-style-bullet>
690   <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
691    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
692     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.08cm" fo:text-indent="-0.635cm" fo:margin-left="5.08cm"/>
693    </style:list-level-properties>
694   </text:list-level-style-bullet>
695   <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
696    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
697     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.715cm" fo:text-indent="-0.635cm" fo:margin-left="5.715cm"/>
698    </style:list-level-properties>
699   </text:list-level-style-bullet>
700   <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
701    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
702     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="6.35cm" fo:text-indent="-0.635cm" fo:margin-left="6.35cm"/>
703    </style:list-level-properties>
704   </text:list-level-style-bullet>
705   <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
706    <style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
707     <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="6.985cm" fo:text-indent="-0.635cm" fo:margin-left="6.985cm"/>
708    </style:list-level-properties>
709   </text:list-level-style-bullet>
710  </text:list-style>
711  <style:style style:name="gr1" style:family="graphic">
712   <style:graphic-properties style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="from-top" style:horizontal-pos="from-left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" style:flow-with-text="false"/>
713  </style:style>
714  <style:page-layout style:name="pm1">
715   <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm">
716    <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
717   </style:page-layout-properties>
718   <style:header-style/>
719   <style:footer-style/>
720  </style:page-layout>
721 </office:automatic-styles>
722 <office:master-styles>
723  <style:master-page style:name="Standard" style:page-layout-name="pm1"/>
724 </office:master-styles>
725 <office:body>
726  <office:text>
727   <office:forms form:automatic-focus="false" form:apply-design-mode="false">
728    <form:form form:name="Form" form:apply-filter="true" form:command-type="table" form:control-implementation="ooo:com.sun.star.form.component.Form" office:target-frame="" xlink:href="" xlink:type="simple">
729     <form:properties>
730      <form:property form:property-name="PropertyChangeNotificationEnabled" office:value-type="boolean" office:boolean-value="true"/>
731     </form:properties>
732     <form:button form:name="Push Button 1" form:control-implementation="ooo:com.sun.star.form.component.CommandButton" xml:id="control1" form:id="control1" form:label="Generate report" office:target-frame="" xlink:href="" form:image-data="" form:delay-for-repeat="PT0.050000000S" form:image-position="center">
733      <form:properties>
734       <form:property form:property-name="DefaultControl" office:value-type="string" office:string-value="com.sun.star.form.control.CommandButton"/>
735      </form:properties>
736      <office:event-listeners>
737       <script:event-listener script:language="ooo:script" script:event-name="form:performaction" xlink:href="vnd.sun.star.script:AcceleratorKeyCheck.__testMenu.testmenus?language=Basic&amp;location=document" xlink:type="simple"/>
738      </office:event-listeners>
739     </form:button>
740    </form:form>
741   </office:forms>
742   <text:sequence-decls>
743    <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
744    <text:sequence-decl text:display-outline-level="0" text:name="Table"/>
745    <text:sequence-decl text:display-outline-level="0" text:name="Text"/>
746    <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
747   </text:sequence-decls>
748   <text:h text:style-name="P5" text:outline-level="1">Accelerator key check</text:h>
749   <text:p text:style-name="P1">This document contains some code to traverse the menus and generate a reports the contents of the main menu items and it&apos;s accelerator keys. If there is a duplicate and the menu item has a sub menu then that means that the user won't be able to reach the second menu item with the same accelerator key. Therefore it will be marked with a <text:span text:style-name="T2">red</text:span> background color. If it has the same key <text:span text:style-name="T6">but don&apos;t have a sub-menu it is marked with a </text:span><text:span text:style-name="T3">yellow</text:span><text:span text:style-name="T6"> background, this is still a problem </text:span>that should be fixed but the <text:span text:style-name="T7">problem</text:span> is just not <text:span text:style-name="T1">quite </text:span>as severe.</text:p>
750   <text:p text:style-name="P1"><draw:control text:anchor-type="as-char" svg:y="0cm" draw:z-index="0" draw:style-name="gr1" draw:text-style-name="P11" svg:width="3.89cm" svg:height="1.324cm" draw:control="control1"/></text:p>
751   <text:p text:style-name="P2">If nothing happens when you press Generate report then the macros have probably been blocked for security reasons. To allow the report tobe generated you need change this setting. To do this:</text:p>
752   <text:list xml:id="list8718540425442089522" text:style-name="L1">
753    <text:list-item>
754     <text:p text:style-name="P8">Go to <text:span text:style-name="T2">Tools</text:span> → <text:span text:style-name="T2">Options</text:span> (or if your&apos;e using Mac <text:span text:style-name="T2">LibreOffice → Preferences...</text:span><text:span text:style-name="T4">)</text:span></text:p>
755    </text:list-item>
756    <text:list-item>
757     <text:p text:style-name="P8"><text:span text:style-name="T4">In the tree list to the left of the dialog navigate to </text:span><text:span text:style-name="T2">LibreOffice → Security</text:span></text:p>
758    </text:list-item>
759    <text:list-item>
760     <text:p text:style-name="P8">Click on the button <text:span text:style-name="T2">Macro security</text:span><text:span text:style-name="T4">...</text:span></text:p>
761    </text:list-item>
762    <text:list-item>
763     <text:p text:style-name="P8"><text:span text:style-name="T4">Set the Security Level to </text:span><text:span text:style-name="T2">Medium</text:span></text:p>
764    </text:list-item>
765    <text:list-item>
766     <text:p text:style-name="P9">Close and reopen this document</text:p>
767    </text:list-item>
768    <text:list-item>
769     <text:p text:style-name="P10">You will get a warning that the document contains macros, click the button <text:span text:style-name="T2">Enable Macros</text:span>. </text:p>
770    </text:list-item>
771   </text:list>
772   <text:p text:style-name="P3">Of course you need to pay attention when this dialog shows up and don&apos;t <text:span text:style-name="T5">blindly </text:span>allow macros to run if you don&apos;t know where it comes from and what it does.</text:p>
773  </office:text>
774 </office:body>
775</office:document>
776