#pragma once #include #include #include #include #include "../Include/KSGScript.h" #include using namespace Framework; namespace KSGScript { class KSGScriptEditor; class ColorParser; class Editor : public KSGScriptEditor { private: TextRenderer *textRd; Text *script; ColorParser *parser; ZeitMesser zm; bool errorDetection; bool warningDetection; double tickVal; int reloadCounter; int cPos; int begF; int colors[ COLOR_ANZAHL ]; bool mausKlick; void updateHScroll( int pos ); void updateVScroll( int pos ); public: // Konstructor Editor(); // Destructor ~Editor(); // Setzt die zu verwendende Schrift // s: Die Schrift void setSchriftZ( Schrift *s ) override; // Setzt den zu verwendenden Text Renderer // t: Der Text Renderer void setTextRendererZ( TextRenderer *t ) override; // Setzt den Text (das Script was verändert werden soll) // txt: Der Text void setText( Framework::Text *txt ) override; // Gibt den aktuellen Text zurück Text *zText() const override; // Schaltet die Fehlererkennung ein oder aus // on: 1, um die Fehlererkennung einzuschalten, 0 um sie auszuschalten void setErrorDetection( bool on = 1 ) override; // Schaltet die Warnungserkennung ein oder aus // on: 1, um die Warnungserkennung einzuschalten, 0 um sie auszuschalten void setWarningDetection( bool on = 1 ) override; // gibt 1 zurück, wenn die Fehlererkennung eingeschaltet ist bool getErrorDetection() const override; // gibt 1 zurück, wenn die Warnungserkennung eingeschaltet ist bool getWarningDetection() const override; // Verarbeitet ein Maus Ereignis. Wird vom Framework automatisch aufgerufen. // me: Das Ereignis void doMausEreignis( MausEreignis &me ) override; // Verarbeitet ein Tastatur Ereignis. Wird vom Framework automatisch aufgerufen // te: Das Ereignis void doTastaturEreignis( TastaturEreignis &te ) override; // Updated den Editor // tickVal: Die vergangene Zeit in Sekunden, die seit dem Letzten Aufruf dieser Funktion verstrichen ist // return: 1, wenn das Bild neu gezeichnet werden muss. 0 sonnst bool tick( double tickVal ) override; // Zeichnet den Editor nach rObj void render( Bild &rObj ) override; // Setzt die Farbe eines Bestimmten Codetyps // color: Die Farbe in 0xAARRGGBB Format // cType: Der Codetyp, der die Farbe bekommen soll void setTextColor( int color, ColorType cType ) override; // Reference Counting Zeichnung *getThis() override; Zeichnung *release() override; }; }