easymacro/doc/docs/app/menus.md

178 lines
4.2 KiB
Markdown
Raw Normal View History

2023-04-23 11:31:58 -06:00
### **insert**
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)
```
2023-04-23 11:31:58 -06:00
!!! tip
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**
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)
```
2023-04-23 11:31:58 -06:00
<br>
### **Insertar en menú existente**
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')
```
2023-04-23 11:31:58 -06:00
<br>
### **debug**
Para saber los nombres de cualquier menú.
2023-04-23 11:31:58 -06:00
```py
menu = app.menus['calc']['tools']
menu.debug()
```
2023-04-23 11:31:58 -06:00
```sh
(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>