"GELÖST" Extension/ Makro, Dialog-Editor und Hilfeseiten

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

frankes
**
Beiträge: 25
Registriert: Sa, 05.07.2003 15:19
Kontaktdaten:

"GELÖST" Extension/ Makro, Dialog-Editor und Hilfeseiten

Beitrag von frankes »

Für eine Libreoffice Extension in Starbasic würde ich gerne auch Hilfeseiten erstellen.
Dabei dachte ich, dass ich diese mit dem zugehörigen Dialog (erstellt im Dialogeditor) koppeln könnte.
Leider führt meine Suche im Netz zu mehr Fragen als Antworten.

So scheitert es bei mir schon an den Wissen, was der Dialogeditor unter der HIlfe-URL versteht.
Die Umstellung bei LO auf eine webbasierte HIfle und fehlende Informationen dazu bringen mich auch nicht weiter.

Lange Rede, kurzer Sinn: Ich komme nicht weiter.

Vielleicht habt ihr mir ja ein paar Antworten auf folgende Fragen:
  • Wie wird eine Hilfeseite vom Dialogeditor aus aufgerufen. Das Feld "Hilfe-URL" ist mir bekannt. Aber was gehört dort rein?
  • Zwar habe ich Anleitungen zum alten Hilfesystem gefunden, aber ein richtiges Beispiel für den Aufbau der Hilfeseiten wäre für mich sehr hilfreich. Vielleicht hat mir da jemand eine Vorlage.
  • Wenn das neue Hilfesystem auch für Extensions verwendet wird, wo finde ich dazu Informationen?

Danke im voraus.
Zuletzt geändert von frankes am Di, 14.01.2020 19:29, insgesamt 1-mal geändert.
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Extension/ Makro, Dialog-Editor und Hilfeseiten

Beitrag von Stephan »

Das Feld "Hilfe-URL" ist mir bekannt. Aber was gehört dort rein?
Die Adresse der Hilfeseite die aufgerufen werden soll, diese entspricht wie bei gewöhnlichen Dokumenten:

Code: Alles auswählen

ThisComponent.URL
(bei einem selbst erstellten Hilfesystem kennt man die Adresse ja ohnehin, weil man die Hilfe-Seiten selbst erstellt hat)

z.B. ist in LO (Windows) die Hilfeseite "MediaWiki-Optionen" der mitgelieferten MediaWikiExtension:
vnd.sun.star.help:///com.sun.wiki-publisher/wikisettings.xhp?Language=de&System=WIN&UseDB=no&DbPAR=
•Zwar habe ich Anleitungen zum alten Hilfesystem gefunden, aber ein richtiges Beispiel für den Aufbau der Hilfeseiten wäre für mich sehr hilfreich.

es gibt eine uralte Beispielextension von SUN (ist angehängt)
•Wenn das neue Hilfesystem auch für Extensions verwendet wird, wo finde ich dazu Informationen?
Was ist das "neue" Hilfesystem?

Es ist in jedem Falle möglich die Hilfe-Seiten die per genannter Extension "dummyhelp.oxt" installiert werden, über URL anzusprechen (getestet in LO 6.2.5), wie eingangs beschrieben, die URL wäre im konkreten Fall:
vnd.sun.star.help://en/en.ext.dummy/page1.xhp?Language=de&System=WIN&UseDB=no



Gruß
Stephan
Dateianhänge
dummyhelp.oxt
(7.27 KiB) 129-mal heruntergeladen
frankes
**
Beiträge: 25
Registriert: Sa, 05.07.2003 15:19
Kontaktdaten:

Re: Extension/ Makro, Dialog-Editor und Hilfeseiten

Beitrag von frankes »

Hallo Stephan

Vielen Dank für die Hilfe.
vnd.sun.star.help und weitere Recherche im Internet haben mich ein wenig weiter gebracht, auch wenn es immer noch viele Fragezeichen gibt.

Aber mit

Code: Alles auswählen

Sub main
  url="vnd.sun.star.help://en/org.glasir.LOTTeMathe/page1.xhp?Language=en&System=WIN&UseDB=no"
  doc= StarDesktop.loadComponentFromURL(url, "_blank",0,Array())

End sub
konnte ich doch schon einiges austesten und meine eigene Hilfeseite ansprechen.

Die URL funktioniert soweit auch bei einem help button im Dialog Designer. Bei anderen Dialog Objekten konnte ich aber noch keine Änderung feststellen. Dachte, dass diese eventuell über die Kontexthilfe oder F1 abrufbar ist. Funktioniert bei mir aber leider nicht.

Interessant finde ich, dass das Hilfesystem im Dialog-Editor anscheinend die URL Parameter Language, system und UseDB benötigt, um zumindest den Language-Parameter sofort wieder zu ignorieren.

Aber ich bin noch beim Experimentieren. Vielleicht übersehe ich etwas.
Was ist das "neue" Hilfesystem?
Tja, dass hat mir das Experimentieren inzwischen bestätigt.
Die Hilfe für Libreoffice wird seit 6.x (x bitte selbst nachschlagen) webbasiert mit html Dateien verwirklicht. Diese werden dann im Standard-Browser angezeigt und aus dem Internet bezogen. Es gibt nachwievor die Möglichkeit der Offline Hilfe, bei der die html Dateien auf dem eigenen Rechnern gespeichert werden.

Nur halt nicht für Extensions. Hier findet die Hilfe über das alte Hilfesystem statt. Gut daran zu erkennen, dass dann kein Browser gestartet wird, sondern das bekannte Hilfefenster erscheint.

Es könnte also an dieser Zweiteilung des Hilfesystems liegen, das F1 und die Kontexthilfe nicht auf die Parameter des Dialogs reagieren, sondern stur die "neue Hilfe" öffnen.

Mal sehen, ob ich in diesem Fall die Hilfe wirklich über das alte HIlfesystem realisiere, oder lieber gleich den Hilfe-Button auf eine Webseite verlinke.
Brächte zumindest den Vorteil, kontinuierlich an der Hilfe zu arbeiten, ohne dass ein Update fällig wird.

Frank
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Extension/ Makro, Dialog-Editor und Hilfeseiten

Beitrag von Stephan »

Mal sehen, ob ich in diesem Fall die Hilfe wirklich über das alte HIlfesystem realisiere, oder lieber gleich den Hilfe-Button auf eine Webseite verlinke.
Wie wäre es denn mit PDF? Das verwende ich seit Jahren für die Hilfe in eigenen Extensions.


Gruß
Stephan
frankes
**
Beiträge: 25
Registriert: Sa, 05.07.2003 15:19
Kontaktdaten:

Re: Extension/ Makro, Dialog-Editor und Hilfeseiten

Beitrag von frankes »

Jetzt hast du mich neugierig gemacht.
Legst du die PDF einfach nur bei, oder hast du es geschafft dieses z.B. über einen Button im Dialog zugänglich zu machen?

Beim Browseraufruf bin ich zur Zeit auf der Suche nach einer systemunabhängigen Lösung. Also für Apple, Windows und Linux den Standardbrowser zu starten.
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Extension/ Makro, Dialog-Editor und Hilfeseiten

Beitrag von balu »

Hallo.

Wichtiges vorweg!
Im Anhang befindet sich eine Datei. Aber BITTE zu erst den folgenden Text lesen, auch wenn es sehr viel ist. Das dient dem gesamten Verständnis.

Also los gehts!

Natürlich kommt es immer auf den Umfang des Dialog an, und ob auch z.B. Bilder bei der Hilfe mit eingebunden werden sollen. Aber ich war mal einen ganz anderen, und wie ich finde "einfacheren" Weg gegangen.

Okay, der Vorschlag von Stephan mit dem PDF, das natürlich in der Datei eingebettet sein muss, ist auch eine .... wie soll man sagen .... Alternative oder eine andere Möglichkeit. Die natürlich auch ihre Vorteile hat.

Also zu meiner Methode (oder wie man das nun nennen will).
Da man ja schon einen Dialog erstellt hat, kann man das doch auch für die Hilfe machen.

Das Grundprinzip ähnelt einer "Kontext-Hilfe". Das heisst, drückt man im Dialog auf einen Button der als Hilfe klar und deutlich markiert/hervorgehoben ist, dann popt ein weiteres Dialogfenster auf. Hat man die Hilfe gelesen, dann kann man es einfach durch einen OK-Button wieder schließen.

Besteht der Dialog aus mehreren Seiten, dann bekommt jede Seite ihren eigenen Hilfe-Button. Und dabei ruft dieser Hilfe-Button nur die Hilfe-Seite auf, die nur für diese Seite zuständig ist.

Und ferner, sollte eine Hilfe-Seite in verschiedene Themen aufgeteilt sein, aber noch immer nur für diese eine bestimmte Seite gültig sein, dann kann man die Hilfe-Seite doch so gestallten, das man erkennt:

"A-ha! Da stehen ja noch weitere Unterkategorien zur Verfügung."

Ich muss gestehen, für eine rein Text basierende Hilfe geht das schon, aber der im Vorfeld zu leistende Arbeitsaufwand kann schon "fummelig" sein.

Kommen wir zum Makro und die für dieses Thema hier wichtigen Dialoge.

BASIC-Modul *Anfang*
Die übliche Variablen deklaration und defenition.
Zeile 70 bis 78 wird ein Button-Array befüllt.

BASIC-Modul *HilfeDialoge*
Ist für alle Hilfe-Seiten für alle Dialog-Seiten zuständig.

DIALOG-Modul *DlgFarbeHilfe*
Ist etwas anders "gestylt", da die dazugehörige Dialog-Seite und das dazugehörige Tabellenblatt andere Rahmenbedingungen setzen.
Es ist aber ein mehrseitiger Dialog. Das sieht man aber schon alleine an den verschiedenen Themen "Reiter", die so aufgebaut und gestylt sind, als wären es Karteireiter.

DIALOG-Modul *HilfeSeiten*
Hier gilt fast das gleiche wie bei dem anderen Dialog vorhin. Hier ist aber das Styling etwas anders, weil etwas größer.

Für beide Dialoge bezüglich "Reiter" gillt das folgende.

Diese Reiter sind recht primitiv gehalten, aber die Arbeit die dahinter steckt, war nicht wenig. Denn erst wenn man den Hauptdialog vom Tabellenblatt aus her aufruft, kann man das System ehern erkennen, und erahnen was da für eine Fummelige Arbeit dahinter steckt. Denn wenn man auf einen anderen, als die Grundeinstellung vorgibt, drauf klickt, ändert sich nicht nur die Farbe des Textfeldes. Nein! Auch die "Verbingslasche" vom Textfeld zum Reiter wandert mit und ändert die Farbe.

Wie gesagt, prinzipiell ein einfaches System, aber doch mit reichlich Arbeit verbunden. Schaut man sich die einzelnen Dialog-Seiten der Hilfe genauer an, dann sieht man wie ich das gelöst habe. Klar könnte man auch die "Verbingslaschen" per Makro Ein- beziehungsweise Ausschalten, aber das war mir zu dem Zeitpunkt einfach zu blöde und mit noch mehr Arbeit verbunden. Und derjenige für den die Dateien vorgesehen waren, war mit dieser Lösung sehr Glücklich. :mrgreen:

Ach ja! Noch was wichtiges!
Die angehängte Datei ist nur eine DEMO!!!
Das heisst:
Mit ihr kann alles gemacht werden wie mit dem kompletten Dateien-System. Blos der eigentliche Zweck DIESER Datei kann nict vollends ausgeführt werden, weil dazu eine weitere, eine 2. Datei dazugehört. Wenn ihr also auf der Dialog-Seite mit dem Titel "Datei erstellen" seit, kommt es früher oder Später zu Fehlermeldungen die ich erstellt habe, wenn ihr bestimmte Button Aktionen ausführt.

Nein!
Das is keine mutwillige Demo-Einschränkung, sondern das ist im Original genau so. Denn es dient unter anderem dazu die versehentlich schon geöffnete Datei die benötigt wird vor der Überschreibung zu schützen, und auch das nur die passende Datei geöffnet wird. Will man beispielsweise eine Bilddatei öffnen, bedeutet das Fehlermeldung. Es ist so gesehen ein mehrfacher Schutzmechanismus.

Erstellt hatte ich die Datei unter OO.o 3.2.1, unter AOO bis zur 4.x.x (hatte verschiedene getestet gehabt, deshalb x), und unter LO 5.1.5.2 gabs bis jetzt keine Ptobleme. Ich kann aber nicht sagen wie das bei LO über der 5.1.x.x hinaus aussieht.

Und falls mich jemand fragen würde, warum ich die gesamte Datei angehängt habe, und nicht eine verkürzte Beispieldatei?
So sei folgendes dazu gesagt.
Ich hatte die Datei halt griffbereit. Es war mir jetzt einfacher und schneller "ein paar" Zeilen zu schreiben, als eine extra Datei zu erstellen. Und ist doch auch mal ganz nett, wenn die Zusammenhänge in einer Datei besser zu sehen und zu verstehen sind ;-)


Klar ist so ein Hilfe-System, wie das meinige, auf eine gewisse Art und Weise auch recht anspruchsvoll. Aber prinzipiell braucht man doch nur ein extra BASIC-Modul das allein nur für die Hilfe-Dialoge zuständig isz, und ein zusätzliches DIALOG-Modul wo der Hilfe-Dialog untergebracht ist. Und diese beiden Module kann man doch auch in anderen Dateien einbinden, also erst Exportieren und dann Importieren. Nur mal so als Anregung.

Viel Spaß beim Makro stöbern, auch wenn es nicht schön dokumentiert ist.



Gruß
balu
Dateianhänge
Startdatei_Forums-Demo_0.0.ods
(75.59 KiB) 157-mal heruntergeladen
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
frankes
**
Beiträge: 25
Registriert: Sa, 05.07.2003 15:19
Kontaktdaten:

Re: Extension/ Makro, Dialog-Editor und Hilfeseiten

Beitrag von frankes »

Hallo Balu

Vielen Dank für die Anregung.
Das in dem HIlfedialog viel Arbeit steckt, kann jeder nachvollziehen, der selbst schon versuchte, einen benutzerfreundlichen Dialog zu erstellen.

Der Kontextbezug ist in deiner Hilfe wirklich super gegeben und gefällt mir sehr gut. Leider werde ich nicht umhinkommen, bei meiner Hilfe auch auf Bilder zurückzugreifen, da der Funktionsumfang recht groß wird.
Nachwievor eine sehr frühe alpha aber es erklärt warum die Hilfe recht umfangreich wird: https://glasir.de/lotte

Ansonsten arbeite ich mich gerade durch deinen Code, um andere Lösungsansätze für eigene Lösungen kennenzulernen.
Man kann halt immer wieder was dazu lernen :)
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Extension/ Makro, Dialog-Editor und Hilfeseiten

Beitrag von balu »

Hallo frankes,
Der Kontextbezug ist in deiner Hilfe wirklich super gegeben und gefällt mir sehr gut.
Danke schön :-) *freu*

Leider werde ich nicht umhinkommen, bei meiner Hilfe auch auf Bilder zurückzugreifen, da der Funktionsumfang recht groß wird.
Theoretisch ist das auch möglich.
Ich gehe jetzt einfach mal davon aus Das Du wohl so kleine Icons gesehen hast, z.B. das Fragezeichen für Hilfe. Und ob Du es glaubst oder nicht, die sind genau so in der Datei eingebettet wie das von Stephan erwähnte PDF. Jedoch hatte ich in mühseliger Handarbeit die Icons eingebettet, nach einer Anleitung hier aus dem Forum.

Es spielt so gesehen keine Rolle was man in der Datei einbettet, man muss nur wissen das es überhaupt geht. Die Methode wie man das macht, ist aber ein anderes Thema. Und ich glaube das es jetzt mittlerweile wohl eine Lösung gibt wie man das per Makro machen kann. also nicht mehr den mühseligen Handweg. Doch dazu kann ich jetzt nichts genaues sagen. Meine Datei hatte ich so um 2014 das letzte mal bearbeitet. Und so ca. 2 Jahre früher hatte ich das mit dem einbetten gemacht, slso schon wirklich seeeehr lange her.

In meinem Makro ist aber auch die Technik drin, um auf eingebette Objekte zuzugreifen, die ich auch von Stephan hier ausm Forum habe.

Vielleicht kann Stephan ja was zu dem aktuellen Stand des einbetten per Makro sagen.

Ansonsten arbeite ich mich gerade durch deinen Code, um andere Lösungsansätze für eigene Lösungen kennenzulernen.
Man kann halt immer wieder was dazu lernen :)
Aber ob Du was von mir aus meinem Code lernen kannst, ist eine andere Frage :lol:
Jedoch ist das ja nicht verboten, denn dazu ist sie ja jetzt da. Aber eins wäre bestimmtz ganz interessant zu erforschen, und zwar mein "Captcha-System". Ich Fand das damals als ein nettes Gimmick, und der "Auftraggeber" war damit auch sehr zu frieden.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Extension/ Makro, Dialog-Editor und Hilfeseiten

Beitrag von Stephan »

Legst du die PDF einfach nur bei, oder hast du es geschafft dieses z.B. über einen Button im Dialog zugänglich zu machen?
Das entsprechende PDF lege ich in einen Ordner der Extension und entpacke es beim Aufruf temporär. Als Beispiel kannst Du Dir die Extension "mottco" ansehen, dort ist das so umgesetzt:
http://calc-info.de/makros.htm#mottco


Gruß
Stephan
frankes
**
Beiträge: 25
Registriert: Sa, 05.07.2003 15:19
Kontaktdaten:

Re: Extension/ Makro, Dialog-Editor und Hilfeseiten

Beitrag von frankes »

Danke Stephan

Spannend, jetzt weiß ich auch, woran es lag, dass ich keine PDF-Dateien aufrufen konnte :-)
Und ich finde bereits weitere nützliche Beispiele in deinem mottco code :-)

Verstehen wollte ich das Hilfesystem, erhalten habe ich zusätzlich 3 Alternativen und Lösungsansätze diese umzusetzen.
Dazu weiteres gelernt.
Macht vier Lösungsansätze eine Hilfe umzusetzen, von denen es einer wird.

Euch vielen Dank für die Zeit und Mühe.

Frank
Antworten