2022-08-17 22:02:54 -05:00
|
|
|
|
2023-04-23 11:31:58 -06:00
|
|
|
### **insert**
|
2022-08-17 22:02:54 -05:00
|
|
|
|
|
|
|
Insertar nuevo menú en Calc.
|
|
|
|
|
|
|
|
En la propiedad `CommandURL` es posible establecer tanto un comando UNO de LibreOffice, como un diccionario con los datos de una macro.
|
|
|
|
|
|
|
|
El nombre del menú es importante para cuando se quiera eliminar.
|
|
|
|
|
2023-04-23 11:31:58 -06:00
|
|
|
```py
|
|
|
|
nombre_menu = 'zaz.my.menu'
|
|
|
|
menu = {
|
|
|
|
'Label': 'My menu',
|
|
|
|
'CommandURL': nombre_menu,
|
|
|
|
'Submenu': [
|
|
|
|
{
|
|
|
|
'Label': 'Open Macros Dialog...',
|
|
|
|
'CommandURL': 'MacroDialog',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'Label': '-',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'Label': 'My macro',
|
|
|
|
'CommandURL': {'library': 'test', 'name': 'hola'},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'Label': 'Execute macro...',
|
|
|
|
'CommandURL': 'RunMacro',
|
|
|
|
'ShortCut': 'Shift+Ctrl+Alt+E',
|
|
|
|
},
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
menus_calc = app.menus['calc']
|
|
|
|
menus_calc.insert(menu)
|
2022-08-17 22:02:54 -05:00
|
|
|
```
|
|
|
|
|
2023-04-23 11:31:58 -06:00
|
|
|
!!! tip
|
2022-08-17 22:02:54 -05:00
|
|
|
|
2023-04-23 11:31:58 -06:00
|
|
|
Para controlar los menús de las demás aplicaciones, solo hay que cambiar el nombre de la aplicación.
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
### **remove**
|
2022-08-17 22:02:54 -05:00
|
|
|
|
|
|
|
Eliminar un menú existente.
|
|
|
|
|
2023-04-23 11:31:58 -06:00
|
|
|
```py
|
|
|
|
nombre_menu = 'zaz.my.menu'
|
|
|
|
menus_calc = app.menus['calc']
|
|
|
|
menus_calc.remove(nombre_menu)
|
2022-08-17 22:02:54 -05:00
|
|
|
```
|
|
|
|
|
2023-04-23 11:31:58 -06:00
|
|
|
<br>
|
|
|
|
|
|
|
|
### **Insertar en menú existente**
|
2022-08-17 22:02:54 -05:00
|
|
|
|
|
|
|
Dentro del menú Herramientas (`tools`), después de la opción `Macros...`
|
|
|
|
|
2023-04-23 11:31:58 -06:00
|
|
|
```py
|
|
|
|
menu = app.menus['calc']['tools']
|
|
|
|
|
|
|
|
menu_nombre = 'zaz.my.menu'
|
|
|
|
menu_nuevo = {
|
|
|
|
'Label': 'My menu',
|
|
|
|
'CommandURL': menu_nombre,
|
|
|
|
'Submenu': [
|
|
|
|
{
|
|
|
|
'Label': 'Open Macros Dialog...',
|
|
|
|
'CommandURL': 'MacroDialog',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'Label': '-',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'Label': 'My macro',
|
|
|
|
'CommandURL': {'library': 'test', 'name': 'hello'},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'Label': 'Execute macro...',
|
|
|
|
'CommandURL': 'RunMacro',
|
|
|
|
'ShortCut': 'Shift+Ctrl+Alt+E',
|
|
|
|
},
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
if menu_nombre in menu:
|
|
|
|
menu.remove(menu_nombre)
|
|
|
|
else:
|
|
|
|
menu.insert(menu_nuevo, '.uno:MacrosMenu')
|
2022-08-17 22:02:54 -05:00
|
|
|
```
|
|
|
|
|
2023-04-23 11:31:58 -06:00
|
|
|
<br>
|
|
|
|
|
|
|
|
### **debug**
|
2022-08-17 22:02:54 -05:00
|
|
|
|
|
|
|
Para saber los nombres de cualquier menú.
|
|
|
|
|
2023-04-23 11:31:58 -06:00
|
|
|
```py
|
|
|
|
menu = app.menus['calc']['tools']
|
|
|
|
menu.debug()
|
2022-08-17 22:02:54 -05:00
|
|
|
```
|
|
|
|
|
2023-04-23 11:31:58 -06:00
|
|
|
```sh
|
2022-08-17 22:02:54 -05:00
|
|
|
(0) .uno:SpellDialog
|
|
|
|
(1) .uno:SpellOnline
|
|
|
|
(2) .uno:ThesaurusDialog
|
|
|
|
(3) .uno:LanguageMenu
|
|
|
|
├─ (0) .uno:SetLanguageAllTextMenu
|
|
|
|
├─ (1) ----------
|
|
|
|
├─ (2) .uno:Hyphenate
|
|
|
|
├─ (3) .uno:ChineseConversion
|
|
|
|
├─ (4) .uno:HangulHanjaConversion
|
|
|
|
├─ (5) ----------
|
|
|
|
├─ (6) .uno:MoreDictionaries
|
|
|
|
(4) ----------
|
|
|
|
(5) .uno:AutoCorrectDlg
|
|
|
|
(6) .uno:AutoComplete
|
|
|
|
(7) .uno:ImageMapDialog
|
|
|
|
(8) ----------
|
|
|
|
(9) .uno:RedactDoc
|
|
|
|
(10) .uno:AutoRedactDoc
|
|
|
|
(11) ----------
|
|
|
|
(12) .uno:GoalSeekDialog
|
|
|
|
(13) .uno:SolverDialog
|
|
|
|
(14) .uno:AuditMenu
|
|
|
|
├─ (0) .uno:ShowPrecedents
|
|
|
|
├─ (1) .uno:ShowDependents
|
|
|
|
├─ (2) ----------
|
|
|
|
├─ (3) .uno:ClearArrows
|
|
|
|
├─ (4) .uno:ClearArrowPrecedents
|
|
|
|
├─ (5) .uno:ClearArrowDependents
|
|
|
|
├─ (6) ----------
|
|
|
|
├─ (7) .uno:ShowErrors
|
|
|
|
├─ (8) .uno:RefreshArrows
|
|
|
|
├─ (9) ----------
|
|
|
|
├─ (10) .uno:AuditingFillMode
|
|
|
|
├─ (11) .uno:AutoRefreshArrows
|
|
|
|
├─ (12) .uno:ShowInvalid
|
|
|
|
(15) .uno:ScenarioManager
|
|
|
|
(16) ----------
|
|
|
|
(17) .uno:ToolsFormsMenu
|
|
|
|
├─ (0) .uno:SwitchControlDesignMode
|
|
|
|
├─ (1) .uno:UseWizards
|
|
|
|
├─ (2) ----------
|
|
|
|
├─ (3) .uno:ControlProperties
|
|
|
|
├─ (4) .uno:FormProperties
|
|
|
|
├─ (5) ----------
|
|
|
|
├─ (6) .uno:ShowFmExplorer
|
|
|
|
├─ (7) .uno:TabDialog
|
|
|
|
├─ (8) .uno:AddField
|
|
|
|
├─ (9) ----------
|
|
|
|
├─ (10) .uno:OpenReadOnly
|
|
|
|
├─ (11) .uno:AutoControlFocus
|
|
|
|
(18) ----------
|
|
|
|
(19) .uno:ShareDocument
|
|
|
|
(20) .uno:Protect
|
|
|
|
(21) .uno:ToolProtectionDocument
|
|
|
|
(22) ----------
|
|
|
|
(23) .uno:MacrosMenu
|
|
|
|
├─ (0) .uno:MacroRecorder
|
|
|
|
├─ (1) .uno:RunMacro
|
|
|
|
├─ (2) .uno:BasicIDEAppear
|
|
|
|
├─ (3) .uno:ScriptOrganizer
|
|
|
|
├─ (4) ----------
|
|
|
|
├─ (5) .uno:MacroSignature
|
|
|
|
├─ (6) .uno:MacroOrganizer?TabId:short=1
|
|
|
|
├─ (7) ----------
|
|
|
|
├─ (8) .uno:OpenXMLFilterSettings
|
|
|
|
(24) .uno:DevelopmentToolsDockingWindow
|
|
|
|
(25) ----------
|
|
|
|
(26) service:com.sun.star.deployment.ui.PackageManagerDialog
|
|
|
|
(27) .uno:ConfigureDialog
|
|
|
|
(28) .uno:OptionsTreeDialog
|
|
|
|
```
|
2023-04-23 11:31:58 -06:00
|
|
|
|
|
|
|
<br>
|