Pulsante nella barra strumenti
Pulsante nella barra strumenti
Salve,
In un pulsante inserito nella barra strumenti si riesce ad avere nessun controllo Abilitato/Disabilitato
La macro nel file allegato funziona, serve per spostarsi tra i fogli
La mia richiesta è solo per estetica/didattica, per fare in modo che se mi trovo nel primo foglio si disabiliti il pulsante "Prec" come da immagine
In un pulsante inserito nella barra strumenti si riesce ad avere nessun controllo Abilitato/Disabilitato
La macro nel file allegato funziona, serve per spostarsi tra i fogli
La mia richiesta è solo per estetica/didattica, per fare in modo che se mi trovo nel primo foglio si disabiliti il pulsante "Prec" come da immagine
- Allegati
-
- nascondiFogli.ods
- (82.28 KiB) Scaricato 11 volte
-
- 230306-170850.png (26.19 KiB) Visto 165 volte
OpenOffice 4.1 su Win10
Re: Pulsante nella barra strumenti
Dalle risposte ricevute presumo non ci sia una soluzione
Spero di essere più fortunato la prossima


Spero di essere più fortunato la prossima

OpenOffice 4.1 su Win10
Re: Pulsante nella barra strumenti
Magari la soluzione c'è, ma non un utente del forum che la conosce.
-------------------
Libre Office 7.4 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.4 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Pulsante nella barra strumenti
"Magari la soluzione c'è, ma non un utente del forum che la conosce."
Probabilmente la richiesta in forma didattica potrebbe essere interessante.
Cercando nel lungo elenco dei GetProcessServiceManager.getAvailableServiceNames del Process Service Manager mi sono imbattuto nel com.sun.star.frame.ToolbarController.
Andando sulle API:
ToolbarController Service Reference
is an abstract service for a component which offers a more complex user interface to users within a toolbar.
A generic toolbar function is represented as a button which has a state (enabled,disabled and selected, not selected). A toolbar controller can be added to a toolbar and provide information or functions within a more sophisticated user interface.
A typical example for toolbar controller is the font chooser within the toolbar. It provides all available fonts in a dropdown box and shows the current chosen font.
Altra API e' ToolbarControllerFactory, mentre non si trova esposta nelle API com.sun.star.ui.ToolBarFactory.
Probabilmente bisognerebbe trovare il contenitore di tutte le Toolbar, ciclare o getByName per avere la propria toolbar, trovare i pulsanti e quindi applicare il relativo stato.
Spero che qualcuno che ne sa molto più di me possa dare un interessante input.
Un caro saluto a tutti

Probabilmente la richiesta in forma didattica potrebbe essere interessante.
Cercando nel lungo elenco dei GetProcessServiceManager.getAvailableServiceNames del Process Service Manager mi sono imbattuto nel com.sun.star.frame.ToolbarController.
Andando sulle API:
ToolbarController Service Reference
is an abstract service for a component which offers a more complex user interface to users within a toolbar.
A generic toolbar function is represented as a button which has a state (enabled,disabled and selected, not selected). A toolbar controller can be added to a toolbar and provide information or functions within a more sophisticated user interface.
A typical example for toolbar controller is the font chooser within the toolbar. It provides all available fonts in a dropdown box and shows the current chosen font.
Altra API e' ToolbarControllerFactory, mentre non si trova esposta nelle API com.sun.star.ui.ToolBarFactory.
Probabilmente bisognerebbe trovare il contenitore di tutte le Toolbar, ciclare o getByName per avere la propria toolbar, trovare i pulsanti e quindi applicare il relativo stato.
Spero che qualcuno che ne sa molto più di me possa dare un interessante input.
Un caro saluto a tutti


Nicola con LibreOffice 7.1 (x64) su Windows 11
Re: Pulsante nella barra strumenti
Condivido la richiesta

Spero che qualcuno che ne sa molto più di me possa dare un interessante input.

OpenOffice 4.1 su Win10
Re: Pulsante nella barra strumenti
Salve
continuando a cercare sull'argomento, poiché sviluppare codice è un po come fare il detective, ho trovato una cosa che mi sembra interessante:
[Solved] Macro to Open a Toolbar I just created?
https://forum.openoffice.org/en/forum/v ... 904aa5249b
da hanya :
Ovviamente ora il passo successivo è far girare il codice in modalità debug e vedere gli oggetti che genera per poterli gestire.
Invito chi può a dare ulteriori stimoli alla discussione.
Trovo anche "5.44.1.1. My first toolbar" pag. 132 in Useful Macro Information For OpenOffice.org By Andrew Pitonyak che studiandolo può dare utili informazioni.
continuando a cercare sull'argomento, poiché sviluppare codice è un po come fare il detective, ho trovato una cosa che mi sembra interessante:
[Solved] Macro to Open a Toolbar I just created?
https://forum.openoffice.org/en/forum/v ... 904aa5249b
da hanya :
Codice: Seleziona tutto
Sub ToolbarTest
oDoc = ThisComponent
sResId = FindToolbar(oDoc, "Controls")
if not isnull(sResId) then
oManager = oDoc.getCurrentController().getFrame().LayoutManager
oManager.createElement(sResId)
oManager.showElement(sResId)
end if
End Sub
Function FindToolbar(oDoc, sName As String)
oManager = oDoc.getUIConfigurationManager()
aElements = oManager.getUIElementsInfo(_
com.sun.star.ui.UIElementType.TOOLBAR)
itemset = nothing
for i = 0 to ubound(aElements) step 1
a = aElements(i)
if GetPropertyValueByName(a, "UIName") = sName then
itemset = a
exit for
end if
next
if not isnull(itemset) then
FindToolbar = GetPropertyValueByName(itemset, "ResourceURL")
else
FindToolbar = nothing
end if
End Function
Function GetPropertyValueByName(aElements, sName) As Variant
found = nothing
for i = 0 to ubound(aElements) step 1
if aElements(i).Name = sName then
found = aElements(i).Value
end if
next
GetPropertyValueByName = found
End Function
Invito chi può a dare ulteriori stimoli alla discussione.
Trovo anche "5.44.1.1. My first toolbar" pag. 132 in Useful Macro Information For OpenOffice.org By Andrew Pitonyak che studiandolo può dare utili informazioni.
Nicola con LibreOffice 7.1 (x64) su Windows 11
Re: Pulsante nella barra strumenti
Tramite LayoutManager riesco ad abilitare e disabilitare la barra personalizzata con tutti i comandi che ne fanno parte, ma non dei singoli elementi, anche se si riesce ad accedere alle loro proprietà, sicuramente mi sfugge qualcosa, ad ogni modo ho aggirato l'ostacolo anche se non mi piace l'attuale soluzione , creando due barre personalizzate, una per il comando prec e l'altra per il comando succ.
All'apertura del file i pulsanti sono entrambi abilitati ma poi cliccando su di essi si disabilita quello cliccato e viceversa.
All'apertura del file i pulsanti sono entrambi abilitati ma poi cliccando su di essi si disabilita quello cliccato e viceversa.
- Allegati
-
- nascondiFogli_gaetano.ods
- (85.13 KiB) Scaricato 2 volte
-
- prec_succ.PNG (2.38 KiB) Visto 48 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Pulsante nella barra strumenti
Buonasera a tutti. Ho passato alcune ore nei giorni scorsi su questo quesito. Ho provato un pò tutte le proprietà e i metodi che sono riuscito a vedere con la macro xray, ma sono riuscito solo a disabilitare tutto il toolbar. Dei singoli elementi sono solo riuscito a scoprire le proprietà quali nome, dimensione dell'icona etc... senza possibilità di modificare i parametri.
Ottimo stratagemma quello di @Gaetanopr
Ottimo stratagemma quello di @Gaetanopr
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui