Meditor: Unterschied zwischen den Versionen

Aus Physik
Zur Navigation springen Zur Suche springen
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:'''
+
===Editor===
 
 
...
 
...
|- org.eclipse.ui.texteditor.AbstractTextEditor
+
|- 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

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)

  1. Klasse von AbstractTextEditor ableiten
  2. Klasse von SourceViewerConfiguration ableiten
    Dies ist der Ausgangspunkt für das Hinzufügen von eigenen Funktionalitäten
  3. Einen DocumentProvider erweitern um ein IDocument Objekt, welches die Datenrepräsentation darstellt, zu erhalten. Dies ist auch der Ausgangspunkt für Notifacations.
  4. Actions werden in der Funktion createActions() (Memberfunktion des erzeugten Editors) hinzugefügt.