[[start]]
 

PLEditor Pre-Alpha 1.0

Die Anzeige ist in Zwei Bereiche aufgeilt. Einmal das Gatter und einmal das Text Feld


Text Feld

Das Text Feld ist der Bereich wo der Text angezeigt und Bearbeitet werden kann. Im Moment gibt es Folgende Eigenschaften.

Am Anfang hatte ich eine TStringList genutzt, jedoch später in der Entwicklung bin ich zu meiner eigenen Liste gewechselt: TPLineList. Eigentlich nur aus einen Grund: Ich wollte gerne die Möglichkeit einbauen, das jeder Buchstabe anders aussehen kann. Das ist mit einer TStringList nur eingeschränkt möglich. Zwar konnte ich da schon Texte Markieren oder auch Hervorheben, aber das wahr Problematisch, wenn sich der Text geändert hat.

Ich überlege auch noch im Moment die Möglichkeit einzubauen, das der User sich entscheiden kann, was er nutzen möchte, ob nun TStringList oder TPLineList. Aber die Änderungen würde jedoch im Moment zu viel Zeit und Geduld kosten. Daher werde ich das Später machen. Hier erstmal die die Funktionen im Überblick


  1. 30 Tastenkombinationen werden unterstützt.
  2. KeyManger, darüber kann jeder Tastenkombination geändert/angepasst werden.
  3. Sprungmarken können gesetzt und auch wieder gelöscht werden.
  4. Grafik im Hintergrund anzeigbar.
  5. Die Grafik kann Vergrößert aber auch Zentriert oder Normal angezeigt werden.
  6. Rückgängig Funktion(Undo)
  7. Einfache Rechtschreibprüfung über aspell
  8. Hintergrund Buffer
  9. Speicher/Laden Funktion
  10. Konfigations Dialog um das Aussehen der Komponente anzupassen
  11. Eine Suche Funktion, die Ab dem Cursor suchen kann,
  oder erst am anfang oder aber auch Ganze Wörter oder nur Teilwörter suchen kann.
  
  Außerdem kann auch noch die Großkleinschreibung Aktiviert bzw. Deaktiviert werden.

Gatter

Das Gatter zeigt zum einen die Sprungmarken und zum anderen die Zeilen Nummern an. Aufwusch können auch Linen Angezeigt werden.

Warum schreibe ich eine Text Editor Komponente ?

Ich möchte natürlich erstmal sehen, wie sowas überhaupt geht. Also ich möchte mich durch weitere Projekt weiter Bilden. Der Eigentliche Grund ist aber: Als ich versucht habe im TMemo eine Hintergrund Grafik Anzuzeigen und das klappe nicht. Habe ich mich entschieden eine eigene Editor Komponente zu schreiben.

Am Anfang hatte ich Probleme mit dem Scrollen. Das wahr Lästig. An dieser Stelle möchte ich mich noch mal für Traude aus dem DelphiGL Forum herzlich bedanken. Für das einfache aber Toll Beispiel Projekt. Was er mir gezeigt hat, wie das Vertikal Scrollen Funktionieren könnte. Hier ist der Link zum Thread im DelphiGL Forum http://www.delphigl.com/forum/viewtopic.php?t=7500&start=0

Einschränkungen

Leider gibt es auch noch ein paar Einschränkungen. Allerdings nur wegen dem Scrollen. Jede Zeile MUSS gleich Groß sein. Dem zufolge können auch nur schrift arten genommen werden, die gleich Groß sind. Die Schrift art/Größe kann nicht innerhalb des Textes beeinflusst werden.

Jeder Buchstabe kann zwar anders aussehen, dank der PLLineList. Aber die Größe und Name der Schrift kann und sollte auch nicht geändert werden.

Für die Zukunft

01 Code-Folding
Der Code soll sich einklappen und ausklappen lassen

02 Code-highlight
Code soll Hervorgehoben werden können.

03 Ersetzten Funktion

04 Export Funktion nach: RTF, HTML

History

Eintrag 01: Sontag, 12.Oktober.2008


01 Bei der Seitenleiste(Gatter) kann jetzt jede Spalte anders aussehen. Ermöglich wird das durch eine Style Liste. Da werden jetzt die Einträge erstellt und diese wiederholen sich dann im Gatter.
02 Einstellungen vom Konfiguations Dialog können jetzt übernommen werden, wenn auf OK gedrückt wird
03 Konfiguations Dialog angepasst, an Punkt 01
04 Ein Paar kleinere Fehler behoben

Zum Schluss

Einen Soruce-Code gibt es noch nicht, da ich noch einige sachen ein bzw. auch andere sachen umbauen wollte. Es kann noch eine weile dauern, bis es einen Soruce-Code gibt.

Wer mir allerdings Helfen möchte, wie auch immer, dem Stelle ich natürlich den Soruce-Code zu Verfügung. Der Soruce-Code ist allerdings recht umfangreich und auch nicht sonderlich Sauber und klar geschrieben. Das wird sich mit der Zeit aber noch ändern.

Ein Bild zum Schluss

Bild 01



Bild 02



Bild 03



Bild 04, Konfiguations Dialog


 
start.txt · Zuletzt geändert: 2008/10/12 18:23 von pluto
 
Falls nicht anders bezeichnet ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki