Meditor: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Osiris (Diskussion | Beiträge) |
Osiris (Diskussion | Beiträge) |
||
Zeile 13: | Zeile 13: | ||
In <span style="color:#00CC44">grün</span> Geschriebenes sind die selbst entwickelten Klassen. |
In <span style="color:#00CC44">grün</span> Geschriebenes sind die selbst entwickelten Klassen. |
||
− | + | ===Editor=== |
|
− | |||
... |
... |
||
− | + | |- org.eclipse.ui.texteditor.AbstractTextEditor |
|
− | |- org.eclipse.ui.texteditor.StatusTextEditor |
+ | |- org.eclipse.ui.texteditor.StatusTextEditor |
− | |- org.eclipse.ui.texteditor.AbstractDecoratedTextEditor |
+ | |- org.eclipse.ui.texteditor.AbstractDecoratedTextEditor |
− | |- org.eclipse.ui.editors.text.TextEditor |
+ | |- org.eclipse.ui.editors.text.TextEditor |
− | |- at.tugraz.itp.mltutor.meditor.editors.<span style="color:#00CC44">MatlabEditProjection</span> |
+ | |- at.tugraz.itp.mltutor.meditor.editors.<span style="color:#00CC44">MatlabEditProjection</span> |
− | |- at.tugraz.itp.mltutor.meditor.editors.<span style="color:#00CC44">MatlabEditor</span> |
+ | |- at.tugraz.itp.mltutor.meditor.editors.<span style="color:#00CC44">MatlabEditor</span> |
+ | |||
+ | |||
+ | ===Partitionierung des Dokuments=== |
||
+ | PartitionScanner ist <tt>MatlabPartitionScanner</tt>. |
||
+ | java.lang.Object |
||
+ | |- org.eclipse.jface.text.rules.RuleBasedScanner |
||
+ | |- org.eclipse.jface.text.rules.BufferedRuleBasedScanner |
||
+ | |- org.eclipse.jface.text.rules.RuleBasedPartitionScanner |
||
+ | |- at.tugraz.itp.mltutor.meditor.editors.<span style="color:#00CC44">MatlabPartitionScanner</span> |
||
+ | |||
+ | Der Partitioner ist <tt>DefaultPartitioner</tt>, ist aber <span style="color:#FF0000">deprecated</span>, sollte durch <tt>FastPartitioner</tt> ersetzt werden. |
||
Version vom 13. November 2005, 15:10 Uhr
Inhaltsverzeichnis
Ziel
Ein professioneller Editor für Matlab
Features:
- Syntax-Highlighting
- Automatische Einrückung
- Matching Brackets
- Templates?
Vorhandene Strukturen
In grün Geschriebenes sind die selbst entwickelten Klassen.
Editor
... |- org.eclipse.ui.texteditor.AbstractTextEditor |- org.eclipse.ui.texteditor.StatusTextEditor |- org.eclipse.ui.texteditor.AbstractDecoratedTextEditor |- org.eclipse.ui.editors.text.TextEditor |- at.tugraz.itp.mltutor.meditor.editors.MatlabEditProjection |- at.tugraz.itp.mltutor.meditor.editors.MatlabEditor
Partitionierung des Dokuments
PartitionScanner ist MatlabPartitionScanner.
java.lang.Object
|- org.eclipse.jface.text.rules.RuleBasedScanner
|- org.eclipse.jface.text.rules.BufferedRuleBasedScanner
|- org.eclipse.jface.text.rules.RuleBasedPartitionScanner
|- at.tugraz.itp.mltutor.meditor.editors.MatlabPartitionScanner
Der Partitioner ist DefaultPartitioner, ist aber deprecated, sollte durch FastPartitioner ersetzt werden.
Diverses
Anmerkungen zur Entwicklung
Folgende Plugins werden vom Meditor-Plugin benötigt (einzutragen bei Dependencies)
- org.eclipse.ui
- org.eclipse.core.runtime
- org.eclipse.ui.workbench.texteditor
- org.eclipse.jface.text
- org.eclipse.ui.editors
- org.eclipse.core.resources
- org.eclipse.ui.ide
- org.eclipse.ui.views
- org.eclipse.jdt.ui
Erstellen eines eigenen Editors (nur Anmerkungen)
- Klasse von AbstractTextEditor ableiten
- Klasse von SourceViewerConfiguration ableiten
Dies ist der Ausgangspunkt für das Hinzufügen von eigenen Funktionalitäten - Einen DocumentProvider erweitern um ein IDocument Objekt, welches die Datenrepräsentation darstellt, zu erhalten. Dies ist auch der Ausgangspunkt für Notifacations.
- Actions werden in der Funktion createActions() (Memberfunktion des erzeugten Editors) hinzugefügt.