Fragen zu SynEdit

Rund um die LCL und andere Komponenten
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: Fragen zu SynEdit

Beitrag von martin_frb »

Ich denke kopieren sollte machbar sein, mit TLazSynDisplayView

TLazSynDisplayView ist prinzipiell dafür ausgelegt.
Das heißt TLazSynDisplayView ist das Konzept um so etwas zu implementieren. Implementieren musst du es selber.
Des weiteren kann es sein das die derzeitige Version noch nicht alle benötigten Eigenschaften hat. Die Klasse wird derzeit refaktored, und sollte dann als Basis bereitstehen.

Zum Beispiel:
TLazSynDisplayFold = class(TLazSynDisplayViewEx)
hängt derzeit die [...] an gefaltete Zeilen. (inklusive Farb-info)

Genauso kann man auch eine Escape Sequenz ausfiltern.
Und Farben ändern....

Was noch fehlt, aber kommt, ist die Möglichkeit das Caret (Cursor) und den Beginn/Ende der Selektion an die neuen Text Positionen anzupassen.

----
https://wiki.lazarus.freepascal.org/Red ... _component
"TextViews"

Hier kann der Text (Source) umgewandelt werden, in was immer am Ende angezeigt werden soll.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Fragen zu SynEdit

Beitrag von Mathias »

Dies muss ich mir mal genauer angucken.

Noch eine Frage, gibt es in SynEdit auch ein WordWarp ?
Würde gebraucht werdenl wen Zeichenketten vom COM Port ohne LineEnding reinkommen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Fragen zu SynEdit

Beitrag von Winni »

Hallo!

Das wurde neulich auf stackoverflow diskutiert:

https://stackoverflow.com/questions/544 ... -as-tmemos

Winni

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: Fragen zu SynEdit

Beitrag von martin_frb »

Mathias hat geschrieben:
Mi 29. Apr 2020, 17:19
Noch eine Frage, gibt es in SynEdit auch ein WordWarp ?
Noch nicht....

Aber ich hoffe bald etwas Zeit zu finden.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Fragen zu SynEdit

Beitrag von Mathias »

@martin_frb

Gehörst du zu den Entwicklern von SynEdit ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: Fragen zu SynEdit

Beitrag von sstvmaster »

Wenn ich mir das hier https://svn.freepascal.org/cgi-bin/view ... ot=lazarus so anschaue, dann würde ich sage ja.
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

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: Fragen zu SynEdit

Beitrag von martin_frb »

Mathias hat geschrieben:
Do 30. Apr 2020, 14:45
Gehörst du zu den Entwicklern von SynEdit ?
Kommt darauf an.

Ich bin maßgeblich an Entwicklung und Maintenance des Lazarus Fork von SynEdit beteiligt.

SynEdit selbst ist auch ein Eigenständiges Projekt.
Der Fork ist fast 20 Jahre her, d.h. das sich das er sich vom original deutlich unterscheidet. Mit dem Original habe ich wenig zu tun.
Vor ein paar Jahren hat mal jemand das original neu nach Lazarus portiert: https://wiki.lazarus.freepascal.org/Syn ... t_2.0_port
Kann sein das es für das Original (und ggf den Port) auch schon WordWrap gibt. (Das allerdings inkompatibel zur Lazarus Version ist).
Ob es im Original/Port eine Möglichkeit wie "TLazSynDisplayView " gibt, weiß ich nicht.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Fragen zu SynEdit

Beitrag von Mathias »

Ist das richtig, das SynEdit.Font.Style nicht funktioniert ?

Sowas hat keinen Einfluss.

Code: Alles auswählen

 SynEdit1.Font.Style := [fsBold, fsItalic];    
Size und Color funktionieren ohne Probleme.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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: Fragen zu SynEdit

Beitrag von martin_frb »

Das ist/war gewollt.

Code: Alles auswählen

procedure TCustomSynEdit.RecalcCharExtent;
....
        Style := [];        // Reserved for Highlighter
Obwohl das natürlich blöd ist wenn kein HL verwendet wird.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Fragen zu SynEdit

Beitrag von Mathias »

Könnte man die nicht mit einer Property aktivieren/deaktivieren ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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: Fragen zu SynEdit

Beitrag von martin_frb »

Die Zeile kann ganz raus.
Werde versuchen dran zu denken.

---EDIT
Das heist, muss testen ob das dann funktioniert. Weil da noch viel Code mit dem Font herum spielt....

---EDIT
Bitte Feature request im Bug tracker machen.

"unit LazSynTextArea;" setzt den Default Style auf [].
Und der Font ist dort nicht verfügbar, d.h. die Info vom Font.Style muss erst weitergeleitet werden.

Dass ändert aber nur "plain text" => Markierter Text wäre nicht "bold"
Das heißt jede SynEdit Farb-info (Selection, passende Klammern, Increment Suche, Syncro edit ....) muss dann von Hand auf Bold gesetzt werden...

Kann länger dauern biss ich dazu komme.

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: Fragen zu SynEdit

Beitrag von martin_frb »

martin_frb hat geschrieben:
Do 30. Apr 2020, 03:11
Mathias hat geschrieben:
Mi 29. Apr 2020, 17:19
Noch eine Frage, gibt es in SynEdit auch ein WordWarp ?
Noch nicht....

Aber ich hoffe bald etwas Zeit zu finden.
Habe etwas Zeit gefunden....

Allerdings: Entweder Fold *oder* Wrap.
Die beiden Module passen noch nicht zusammen.

Und Wrap braucht noch Tester....

Beispiel zum Verwenden: https://svn.freepascal.org/cgi-bin/view ... hrev=63296

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Fragen zu SynEdit

Beitrag von Mathias »

Habe etwas Zeit gefunden....
Ist dies schon in der aktuellen Trunk angekommen ?
Ich habe gesehen, das dort etwas an Synedit geändert wurde.
Nur wen ich es in meine Pakage einbaue, ist man auf eine aktuelle Trunk angewiesen. :wink:
Allerdings: Entweder Fold *oder* Wrap.
Das verstehe ich nicht ganz. :oops:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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: Fragen zu SynEdit

Beitrag von martin_frb »

Im Trunk => Ja.
WordWrop ist ein SynPlugin.
Der Link zeigt, wie man es zu einem SynEdit hinzufügt.


Wrap vs Fold.
Wenn Wrap benutzt wird, muss Fold abgeschaltet werden. Sonst kommt es zu Problemen. Ist noch auf der TODO, das beide zusammen arbeiten.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Fragen zu SynEdit

Beitrag von Mathias »

Für was ist Fold ?
Um eine art TreeView darzustellen ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten