1. Ich möchte gerne in einem Kontext-Menü zum Synedit Befehle einbauen wie "Dokumentationen zuklappen" oder "Regionen zuklappen".
Ich kann zwar den Text durchlaufen und entsprechenden Text identifizieren, aber mit welcher Funktion klappe ich nun die gewünschte Zeile (bzw. den Zeilenbereich) auf oder zu?
Habe da leider nichts gefunden?
2. Ich würde in einem zugeklappten Zustand teilweise gerne etwas anders anzeigen (z.B. "Dokumentation") bei XML-Doc- Kommentaren.
Geht das?
Auch da leider nichts gefunden. SynEdit ist eine Super-Komponente und scheint mir alles zu können, nur herauszufinden wie, erscheint mir hin und wieder schwierig...
Wie in Synedit software-seitig einzelne Folding-Bereiche zu- oder aufklappen
-
- Beiträge: 576
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 2.2.6
- CPU-Target: 32+64bit
- Wohnort: Dresden
Re: Wie in Synedit software-seitig einzelne Folding-Bereiche zu- oder aufklappen
Das schon mal gelesen?
https://wiki.freepascal.org/SynEdit#Fol ... _from_code
https://wiki.freepascal.org/SynEdit#Fol ... _from_code
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)
Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)
Re: Wie in Synedit software-seitig einzelne Folding-Bereiche zu- oder aufklappen
Danke für die Antwort.
ColdFoldcation hatte ich schon gesehen, damit kann man aber nur eine Zeile umschalten. Davon ist CodeFoldAction als "deprecated" markiert
Eine Möglichkeit den Foldstatus abzufragen gibt es aber nicht.
ColdFoldcation hatte ich schon gesehen, damit kann man aber nur eine Zeile umschalten. Davon ist CodeFoldAction als "deprecated" markiert
Eine Möglichkeit den Foldstatus abzufragen gibt es aber nicht.
-
- 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: Wie in Synedit software-seitig einzelne Folding-Bereiche zu- oder aufklappen
Im Moment nicht.
Du kannst dir Zugriff auf den FoldView verschaffen. Ist aber Implementation Detail.
Du kannst dir Zugriff auf den FoldView verschaffen. Ist aber Implementation Detail.
Re: Wie in Synedit software-seitig einzelne Folding-Bereiche zu- oder aufklappen
Ich habe mir (leider ganz unprofessionell) einfach in der Synedit-Unit eine Funktion ergänzt, welche die Information zurückliefert (müsste ich also bei der folgenden Lazarus-Version dort wieder anpassen).
Die aber nur funktioniert, wenn man im Synedit zuvor Carety auf iLine setzt, bevor ich die Abfrage starte:
Die aber nur funktioniert, wenn man im Synedit zuvor Carety auf iLine setzt, bevor ich die Abfrage starte:
Code: Alles auswählen
function TCustomSynEdit.IsFolded(iLine: integer): Boolean;
// iLine is 1 based as parameter
begin
Result := false;
if (iLine<=0) or (iLine>FTheLinesView.Count) then exit;
dec(iLine);
if FFoldedLinesView.FoldType[FFoldedLinesView.TextIndexToScreenLine(iLine)]
* [cfCollapsedFold, cfCollapsedHide] <> []
then
Result := True
else
if FFoldedLinesView.FoldType[FFoldedLinesView.TextIndexToScreenLine(iLine)]
* [cfFoldStart] <> []
then
Result := false;
end;