SynEdit - Eigenschaften und Ereignisse

Rund um die LCL und andere Komponenten
Antworten
lzuser
Beiträge: 97
Registriert: Sa 20. Jun 2009, 16:00
OS, Lazarus, FPC: Win10 20H2, Laz 2.0.8 auch Linux Mint Mate 20, Laz 2.0.6
CPU-Target: 64Bit

SynEdit - Eigenschaften und Ereignisse

Beitrag von lzuser »

Wo finde ich eine Beschreibung der Eigenschaften und Ereignisse der Komponente SynEdit?
Wie kann man die xml-Dateien in den kleinen docs dazu lesen? Firefox zeigt nur den Quelltext.
Insbesondere interessiert mich zuerst, wie ich die Darstellung beeinflussen kann:
Bereich vor den Zeilennummern (mit/ohne)
Mit/ohne Zeilennummern
Bereich zwischen Zeilennummern und Text (mit/ohne)
Was kann dort alles dargestellt werden?
Einiges kenne ich aus der Arbeit mit dem Lazarus-Editor, aber nicht alles und nicht alle Möglichkeiten sind mir klar.
Gibt es kein fertiges Kontext-Menü wie beim Memo?

Ich lese gern, deutsch ginge schneller.
Danke für Hinweise.

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: SynEdit - Eigenschaften und Ereignisse

Beitrag von theo »

Ich wüsste nicht, wo das dokumentiert wäre.

Der Bereich von dem du sprichst, nennt sich "Gutter". Dort gibt es versch. "Parts".
Da ist wohl tüfteln angesagt.

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: SynEdit - Eigenschaften und Ereignisse

Beitrag von martin_frb »

Die xml Dateien sind für fpdoc.

KontextMenu muss man selber machen. Copy and Paste TAction sollten erkannt werden.

Gutter.Parts (RightGutter.Parts) am besten im Objekt Inspector erkunden.

Der Property Editor listet alle Klassen die als Parts eingefügt werden können.
Jede Klasse kann beliebig oft verwendet werden (macht aber meistens keinen Sinn, außer der Divider (Vertikale Trennlinie)).

SynEdit hat Code für die Bookmarks. Für alle anderen "Marks" (Breakpoints, Kompiler Error/Warnung) muss man eigenen Code schreiben. (afaik/iirc ide/sourcemarks.pp)

Im eigenem Code:

Code: Alles auswählen

  lg := SynEdit1.Gutter.Parts.ByClass[TSynGutterLineNumber];
  if lg <> nil then TSynGutterLineNumber(lg).ShowOnlyLineNumbersMultiplesOf := 10;

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: SynEdit - Eigenschaften und Ereignisse

Beitrag von wp_xyz »

martin_frb hat geschrieben:Die xml Dateien sind für fpdoc.

Man erhält den wesentlichen Inhalt angezeigt, wenn man mit der Maus über den entsprechenden Bezeichner im Quelltext fährt.

Ich experimentiere mit diesem Feature gerade für TAChart und bin, nachdem ich es einmal verstanden habe, voll begeistert. Ein echtes Mitmachprojekt. Wenn man über "View" > "FPDoc editor" den Dokumentations-Editor öffnet, dann kann man für den Bezeichner, der gerade den Text-Cursor enthält, den Hilfetext selbst schreiben: Lasche "Short" > "Create Help Item", Text in Zeile "Short" eintippen, evtl. noch in "Description", "Speichern". Zur Kontrolle mit der Maus nochmals über den Bezeichner fahren, und man sieht sofort den neuen Hilfetext. Wenn man fertig ist, einen Patch erzeugen und im Bugtracker hochladen, damit ein Entwickler die Änderungen in Trunk einpflegt, wodurch die Änderungen dann auch in die chm-Datei der nächsten Version aufgenommen werden. Eine Bitte allerdings: Nur Patches für die Trunk-Version einschicken, sonst gibt's ein Chaos.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: SynEdit - Eigenschaften und Ereignisse

Beitrag von mschnell »

martin_frb hat geschrieben:Wenn man fertig ist, einen Patch erzeugen und im Bugtracker hochladen, damit ein Entwickler die Änderungen in Trunk einpflegt, wodurch die Änderungen dann auch in die chm-Datei der nächsten Version aufgenommen werden.

Ist das tatsächlich schon einmal passiert ?

Ich habe ähnliche Versuche (allerdings nicht für Lazarus, sondern für FPC) aufgegeben. Ein Problem für mich war auch dass ich das, was ich da gebastelt habe, nicht in Funktion sehen kann, bevor es veröffentlicht wird. So etwas tue ich grundsätzlich nicht :( .

-Michael
Zuletzt geändert von mschnell am Mi 13. Feb 2019, 14:24, insgesamt 1-mal geändert.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: SynEdit - Eigenschaften und Ereignisse

Beitrag von wp_xyz »

mschnell hat geschrieben:
wp_xyz hat geschrieben:
martin_frb hat geschrieben:Wenn man fertig ist, einen Patch erzeugen und im Bugtracker hochladen, damit ein Entwickler die Änderungen in Trunk einpflegt, wodurch die Änderungen dann auch in die chm-Datei der nächsten Version aufgenommen werden.

Ist das tatsächlich schon einmal passiert ?

Gerade in letzter Zeit, darum bin ich ja auch darauf gestoßen:
https://bugs.freepascal.org/view.php?id=35051
https://bugs.freepascal.org/view.php?id=35009
https://bugs.freepascal.org/view.php?id=34994
und mehr...
Ein Problem für mich war auch dass ich das, was ich da gebastelt habe, nicht in Funktion sehen kann, bevor es veröffentlicht wird.

Zunächst sieht man die Änderung sofort, wenn man mit der Maus über den Bezeichner im Quelltext fährt. Außerdem habe ich mir für TAChart eine Batch-Datei geschrieben, die mit Hilfe von fpdoc die chm-Datei erstellt; das dauert ein paar Sekunden.

Meine Aussage gilt nicht für FPC, weil dort in der Standardinstallation die Hilfetexte nicht vorhanden sind.

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: SynEdit - Eigenschaften und Ereignisse

Beitrag von martin_frb »

mschnell hat geschrieben:
martin_frb hat geschrieben:Wenn man fertig ist, einen Patch erzeugen und im Bugtracker hochladen, damit ein Entwickler die Änderungen in Trunk einpflegt, wodurch die Änderungen dann auch in die chm-Datei der nächsten Version aufgenommen werden.

Ist das tatsächlich schon einmal passiert ?

Ja. Aber...

Man sollte vorher fragen ob das geplante Feature grundsätzlich in Frage kommt.

Bei Hilfe Dateien ist das wahrscheinlich. Hier gilt aber erst mal ein paar Test-Änderungen vorgeben. Vielleicht ist das Format falsch oder die Ausdrucksweise.

Bei anderen Features kann es sein, das es bestimmte Design Vorgaben gibt. Das andere Zukunftspläne nicht behindert werden dürfen.

Und Geduld. Entwickler können Busy, oder im Urlaub sein. Ja es ist nicht gut wenn man warten muss. Aber manchmal passiert das.

Antworten