Class | Description |
AbstractPrinterLogic | Diese Klasse verwaltet die zentrale Steuerung des Printy-Assemblies. Da es sich hierbei um eine abstrakte Superklasse handelt, können in diesem Projekt drei verschiedene Optionen zur Einbindung verwendet werden: Direkter Zugriff auf das Executable über die KommandozeileIndirekter Zugriff über ein Library und dessen öffentlicher MethodeTeilweise Neuimplementierung des LibrariesIn diesem Projekt wird dafür die zweite Variante, der indirekte Zugriff über das Library, verwendet. Weiters ist es eine Aufgabe dieser Klasse, die Ein- und Ausgabeidateien zu verwalten. Dabei wird beim Setzen einer neuen Eingabedatei dessen kompletter Inhalt in eine temporärer Eingabedatei transferiert. Bei jedem Aufruf des Printers wird zusätzlich in eine temporäre Ausgabedatei geschrieben. Erst wenn die Datei gespeichert werden soll, wird der Inhalt der temporären Ausgabedatei in die endgültige Ausgabedatei geschrieben. |
Buffer | This is class net.stefanhauser.Printy.GUI.Buffer. |
CustomPrinterLogic | Diese Klasse stellt die Möglichkeit dar, die Printer-Logik teilweise nachzuimplementieren. Der Vorteil dieser Möglichkeit ist, dass die Grammatik nur bei Änderung der Eingabedatei neu gelesen werden muss. Zusätzlich muss die formatierte Ausgabe nicht erst in eine Datei geschrieben und im Anschluss wieder gelesen werden. Der Nachteil dieser Möglichkeit ist, dass durch den zusätzlichen kopierten Code eine Inkonsistenz bei der Wartung auftreten kann. |
DisplayGrammarControl | Dieses Steuerelement stellt eine Zusammenfassung mehrerer Steuerelemente dar. Darin enthalten sind unter anderem die RichTextBox, in welcher die Grammatik dargestellt wird, die Konsole, in welcher die Parameter dargestellt werden, und den Refresh-Button |
Errors | end Parser |
ExecutablePrinterLogic | Diese Klasse stellt die Möglichkeit dar, die Printy-Logik über ein Executable zu steuern. Diese Methode wird im Projekt PrintyUI nicht verwendet, da sie einerseits sehr langsam ist und das Executable durch bösartigen Code leicht ersetzt werden könnte |
HTMLForm | Diese Klasse stellt ein Fenster dar, mit dem alle Parameter eingestellt werden können, die mit dem HTML-Output zu tun haben. Dabei handelt es sich um folgende Parameter: htmlconfigindexoverviewstyleBis auf den Parameter "html" benötigen alle Parameter eine Dateispezifikation. Um die Parameter für das Interface IAdjustable zusammenzufassen, wird "html" verwendet |
LibraryPrinterLogic | Diese Klasse stellt die Möglichkeit dar, das Printy-Assembly als Library zu integrieren. Diese Möglichkeit wird im Projekt PrintyUI verwendet |
MainClass | Die Main-Klasse des PrintyUI-Assemblies, welche lediglich die Start-Methode enthält |
MainForm | Das Hauptfenster der Printy-Applikation |
ParameterManager | Diese Klasse verwaltet alle Parameter, die über die jeweiligen Steuerelemente gesteuert werden können. Dabei müssen diese Steuerelemente das Interface IAdjustable implementieren und sich über entsprechende Methoden registrieren. Sobald sich einer der registrierten Parameter ändert, wird die gesamte Printy-Logik ausgeführt und die Grammatik entsprechend den spezifizierten Parametern formatiert. |
Parser | This is class net.stefanhauser.Printy.GUI.Parser. |
Scanner | This is class net.stefanhauser.Printy.GUI.Scanner. |
Token | This is class net.stefanhauser.Printy.GUI.Token. |
abstract |
abstract |
Field | Description |
formattedOutput | Ein String, in dem sich die formatierte Grammatik befindet. Dieser String wird jedesmal nach einer Formatierung aus der temporären Ausgabedatei gefüllt. Der Inhalt des Strings kann dazu verwendet werden, die Grammatik in einer TextBox darzustellen. |
parameters | Die Parameter, mit denen die Grammatik formatiert werden soll. |
tmpInFile | This is tmpInFile, a member of class AbstractPrinterLogic. |
TmpInFile | Der Name der temporären Ein- bzw. Ausgabedateien |
tmpOutFile | This is tmpOutFile, a member of class AbstractPrinterLogic. |
TmpOutFile | Der Name der temporären Ein- bzw. Ausgabedateien |
protected | |
Data Member | |
static |
Constructor | Description |
AbstractPrinterLogic | Erzeugt eine neue Printer-Logik |
Method |
Method | Description |
CreateFormattedOutput | Erstellt eine Formatierung der Grammatik. |
DeleteTempFiles | Löscht die temporären Dateien |
FormatOutput | Mit dieser Methode wird die Grammatik formatiert. Das Ergebnis dieser Formatierung wird in die Datei tmpOutFile geschrieben. |
OnInputFileChanged | Wird aufgerufen, sobald sich die Eingabedatei geändert hat. |
OnOutputFileChanged | Wird aufgerufen, sobald sich die Ausgabedatei geändert hat. |
ReadFromInputFile | Liest den Inhalt einer neuen Eingabedatei in die temporäre Eingabedatei |
ReadOutputFromFile | Liest den Inhalt der temporären Ausgabedatei und schreibt diesen in das string-Feld formattedOutput. Diese Methode wird nach jeder Formatierung aufgerufen. |
WriteToOutputFile | Schreibt die gesamte formatierte Grammatik in eine Ausgabedatei |
Method | |
protected | |
abstract | |
virtual |
Property | Description |
CommandLine | Liefert die komplette Kommandozeile in einem String, inklusive dem Namen des Executables, sowie der Ein- als auch der Ausgabedatei. |
FormattedOutput | Liefert die Ausgabe, nachdem eine Grammatik formatiert worden ist. |
InputFile | Setzt oder liefert die Eingabedatei. Wird ein neuer Wert gesetzt, wird der Inhalt dieser Datei unmittelbar in die temporäre Input-Datei übertragen. |
Location | Die Location des Assemblies. Dieser Parameter ist notwendig, um eventuelle Leerzeichen im Pfad zu eliminieren und ausschließlich den Dateinamen selbst in der Konsole darstellen zu können. |
OutputFile | Setzt oder liefert die Ausgabedatei. Wird ein neuer Wert gesetzt, wird der Inhalt der temporären Ausgabedatei sofort in diese Datei übertragen. |
ParameterLine | Liefert alle gesetzten Parameter ausser die Dateinamen in einem String |
Property | |
virtual |
Event | Description |
OutputFileChanged | Eventhandler vom Typ FilenameEventHandler, die aufgerufen werden, wenn sich der Wert für die Ein- oder Ausgabedatei ändert |
Event |
protected | |
Data Member | |
static | |
Method | |
abstract | |
virtual | |
Property | |
Event |
Field | Description |
formattedOutput | Ein String, in dem sich die formatierte Grammatik befindet. Dieser String wird jedesmal nach einer Formatierung aus der temporären Ausgabedatei gefüllt. Der Inhalt des Strings kann dazu verwendet werden, die Grammatik in einer TextBox darzustellen. |
parameters | Die Parameter, mit denen die Grammatik formatiert werden soll. |
tmpInFile | This is tmpInFile, a member of class AbstractPrinterLogic. |
TmpInFile | Der Name der temporären Ein- bzw. Ausgabedateien |
tmpOutFile | This is tmpOutFile, a member of class AbstractPrinterLogic. |
TmpOutFile | Der Name der temporären Ein- bzw. Ausgabedateien |
Constructor | Description |
AbstractPrinterLogic | Erzeugt eine neue Printer-Logik |
Method | Description |
CreateFormattedOutput | Erstellt eine Formatierung der Grammatik. |
DeleteTempFiles | Löscht die temporären Dateien |
FormatOutput | Mit dieser Methode wird die Grammatik formatiert. Das Ergebnis dieser Formatierung wird in die Datei tmpOutFile geschrieben. |
OnInputFileChanged | Wird aufgerufen, sobald sich die Eingabedatei geändert hat. |
OnOutputFileChanged | Wird aufgerufen, sobald sich die Ausgabedatei geändert hat. |
ReadFromInputFile | Liest den Inhalt einer neuen Eingabedatei in die temporäre Eingabedatei |
ReadOutputFromFile | Liest den Inhalt der temporären Ausgabedatei und schreibt diesen in das string-Feld formattedOutput. Diese Methode wird nach jeder Formatierung aufgerufen. |
WriteToOutputFile | Schreibt die gesamte formatierte Grammatik in eine Ausgabedatei |
Property | Description |
CommandLine | Liefert die komplette Kommandozeile in einem String, inklusive dem Namen des Executables, sowie der Ein- als auch der Ausgabedatei. |
FormattedOutput | Liefert die Ausgabe, nachdem eine Grammatik formatiert worden ist. |
InputFile | Setzt oder liefert die Eingabedatei. Wird ein neuer Wert gesetzt, wird der Inhalt dieser Datei unmittelbar in die temporäre Input-Datei übertragen. |
Location | Die Location des Assemblies. Dieser Parameter ist notwendig, um eventuelle Leerzeichen im Pfad zu eliminieren und ausschließlich den Dateinamen selbst in der Konsole darstellen zu können. |
OutputFile | Setzt oder liefert die Ausgabedatei. Wird ein neuer Wert gesetzt, wird der Inhalt der temporären Ausgabedatei sofort in diese Datei übertragen. |
ParameterLine | Liefert alle gesetzten Parameter ausser die Dateinamen in einem String |
Event | Description |
OutputFileChanged | Eventhandler vom Typ FilenameEventHandler, die aufgerufen werden, wenn sich der Wert für die Ein- oder Ausgabedatei ändert |
protected | |
Data Member | |
static | |
Method | |
abstract | |
virtual | |
Property | |
Event |
Parameters | Description |
string[] parameters | Die Parameter zur Formatierung. |
Parameters | Description |
newFileName | Der Name der neuen Eingabedatei |
Parameters | Description |
newFileName | Der Name der neuen Ausgabedatei |
Parameters | Description |
string filename | Der Name der Ausgabedatei |