Seite 1 von 1
Gelöst: Symbolleisten wieder sichtbar machen
Verfasst: Sa, 02.08.2014 15:37
von WSO
Hallo Zusammen,
Ich habe per Marko Symbolleisten ausgeblendet, kann sie aber nicht wieder auf dem gleich Weg wieder sichtbar machen.
Code: Alles auswählen
If glbExpertenmodus = False THEN
lmgr = oFormDocs.getCurrentController().Frame.LayoutManager
lmgr.setVisible(false)
' lmgr.hideElement("private:resource/menubar/menubar")
lmgr.hideElement("private:resource/statusbar/statusbar")
' lmgr.hideElement("private:resource/toolbar/formsnavigationbar")
lmgr.hideElement("private:resource/toolbar/standardbar")
lmgr.hideElement("private:resource/toolbar/formdesign")
lmgr.hideElement("private:resource/toolbar/formcontrols")
ELSE
lmgr = oFormDocs.getCurrentController().Frame.LayoutManager
lmgr.setVisible(true)
lmgr.showElement("private:resource/menubar/menubar")
lmgr.showElement("private:resource/statusbar/statusbar")
lmgr.showElement("private:resource/toolbar/formsnavigationbar")
lmgr.showElement("private:resource/toolbar/standardbar")
lmgr.showElement("private:resource/toolbar/formdesign")
lmgr.showElement("private:resource/toolbar/formcontrols")
End If
Ist recht lästig, da ich dummereise auch die Navigationsleiste ausgeblendet hatte und jetzt nicht mehr eingeblendet bekomme.
Kann mir da bitte jemand helfen?
Gruss,
WSO
Re: Symbolleisten wieder sichtbar machen
Verfasst: Mo, 04.08.2014 12:37
von balu
Mahlzeit WSO,
schau doch mal
hier, vielleicht hilft dir das weiter.
Gruß
balu
Re: Symbolleisten wieder sichtbar machen
Verfasst: Mo, 04.08.2014 13:19
von WSO
leider nicht.
finde keinen Grund, warum "hide" funktioniert und "show" nicht.
Re: Symbolleisten wieder sichtbar machen
Verfasst: Mo, 04.08.2014 16:07
von Rasakul
Hi WSO!
blöde Frage, aber hast du geprüft, ob du überhaupt in den Else-Zweig reinkommst?
LG
Rasakul
Re: Symbolleisten wieder sichtbar machen
Verfasst: Di, 05.08.2014 11:12
von WSO
Moin Rasakul,
klar, das war der erste Test.
Das IF / Else arbeitet korrekt.
Ich denke wir haben hier nen bug.
Gruss,
Wolfram
Re: Symbolleisten wieder sichtbar machen
Verfasst: Di, 05.08.2014 12:05
von balu
Hallo Wolfram,
deine Antworten sind ja so was von extrem komprimiert, das man damit gar nix anfangen kann.
leider nicht.
finde keinen Grund, warum "hide" funktioniert und "show" nicht.
Hast Du den Code aus dem verlinkten Thread nachgebaut? Und wenn ja, wie; und wo hast Du ihn angewendet?
Wenn ich deinen Code nur minimal auf das hier ändere,
Code: Alles auswählen
Sub Main
glbExpertenmodus = 0
If glbExpertenmodus = False THEN
lmgr = ThisComponent.getCurrentController().Frame.LayoutManager
lmgr.setVisible(false)
' lmgr.hideElement("private:resource/menubar/menubar")
lmgr.hideElement("private:resource/statusbar/statusbar")
' lmgr.hideElement("private:resource/toolbar/formsnavigationbar")
lmgr.hideElement("private:resource/toolbar/standardbar")
lmgr.hideElement("private:resource/toolbar/formdesign")
lmgr.hideElement("private:resource/toolbar/formcontrols")
ELSE
lmgr = ThisComponent.getCurrentController().Frame.LayoutManager
lmgr.setVisible(true)
lmgr.showElement("private:resource/menubar/menubar")
lmgr.showElement("private:resource/statusbar/statusbar")
lmgr.showElement("private:resource/toolbar/formsnavigationbar")
lmgr.showElement("private:resource/toolbar/standardbar")
lmgr.showElement("private:resource/toolbar/formdesign")
lmgr.showElement("private:resource/toolbar/formcontrols")
End If
End Sub
dann kann ich in Calc damit die Symbolleisten ein und ausblenden. Ich muss dazu nur
auf
ändern, und schon funzt es.
Also ich weiß beim besten willen einfach nicht wo dein Problem liegt! Wir sitzen nicht auf deinem Schoß um dir beim programmieren zusehen zu können. Gib uns mehr Input damit wir besser helfen können. Der
komplette Code der bei dir für das ein- und ausblenden verantwortlich ist, wäre ja schon mal nicht verkehrt, und sage uns wo Du ihn anwendest.
Ach ja! Nenn uns deine AOO oder LO Version, mit der genauen Versionsnummer.
Gruß
balu
Re: Symbolleisten wieder sichtbar machen
Verfasst: Di, 05.08.2014 18:34
von Karolus
Hallo
In manchen Fällen muss eine Symbolleiste erstmal "kreiert" werden bevor sie sichtbar gemacht werden kann.
Code: Alles auswählen
doc = desktop.getCurrentComponent()
lmgr = doc.getCurrentController().Frame.LayoutManager
toolbars = ("private:resource/toolbar/formdesign",
"private:resource/menubar/menubar",
"private:resource/toolbar/formsnavigationbar",
"private:resource/statusbar/statusbar")
def toggle(layoutmanager, symbolleiste):
if not layoutmanager.getElement(symbolleiste):
layoutmanager.createElement( symbolleiste )
if layoutmanager.isElementVisible(symbolleiste):
layoutmanager.hideElement(symbolleiste)
return
layoutmanager.showElement(symbolleiste)
layoutmanager.setVisible(True)
def main():
for leiste in toolbars:
toggle( lmgr, leiste)
Das ist jetzt python - für Übersetzungen nach Basic bin ich unterqualifiziert.
Karolus
Re: Symbolleisten wieder sichtbar machen
Verfasst: Mi, 06.08.2014 08:35
von Rasakul
Hi, guten Morgen!
bin zwar kein Experte, aber in StarBasic sollte dein Code dann so ungefähr ausschauen:
Code: Alles auswählen
Sub ShowBar(oForm as Object)
oController = oForm.getComponent().getCurrentController()
lmgr = oController.Frame.LayoutManager
Dim statusbar(5) As String
statusbar(0) = "private:resource/menubar/menubar"
statusbar(1) = "private:resource/statusbar/statusbar"
statusbar(2) = "private:resource/toolbar/formsnavigationbar"
statusbar(3) = "private:resource/toolbar/standardbar"
statusbar(4) = "private:resource/toolbar/formdesign"
statusbar(5) = "private:resource/toolbar/formcontrols"
For Each i In statusbar()
If Not(lmgr.requestElement(i)) Then
lmgr.createElement(i)
Endif
lmgr.showElement(i)
Next i
End sub
Hier noch die zugehörige API:
https://www.openoffice.org/api/docs/com ... nager.html
Hier findet man dann auch die Methoden, um z.B. die Leisten anzudocken
LG
Rasakul
Re: Symbolleisten wieder sichtbar machen
Verfasst: Mi, 06.08.2014 13:34
von WSO
Genau das war es!
Mit dem vorher ausgeführten "createElement" geht jetzt auch das "showElement".
Vielen Dank Gruss
WSO