Editor.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #pragma once
  2. #include <Schrift.h>
  3. #include <Text.h>
  4. #include <MausEreignis.h>
  5. #include <TastaturEreignis.h>
  6. #include "../Include/KSGScript.h"
  7. #include <Zeit.h>
  8. using namespace Framework;
  9. namespace KSGScript
  10. {
  11. class KSGScriptEditor;
  12. class ColorParser;
  13. class Editor : public KSGScriptEditor
  14. {
  15. private:
  16. Schrift *schrift;
  17. Text *script;
  18. ColorParser *parser;
  19. ZeitMesser zm;
  20. bool errorDetection;
  21. bool warningDetection;
  22. double tickVal;
  23. int reloadCounter;
  24. int cPos;
  25. int begF;
  26. int colors[ COLOR_ANZAHL ];
  27. bool mausKlick;
  28. int ref;
  29. void updateHScroll( int pos );
  30. void updateVScroll( int pos );
  31. public:
  32. // Konstructor
  33. Editor();
  34. // Destructor
  35. ~Editor();
  36. // Setzt die zu verwendende Schrift
  37. // s: Die Schrift
  38. void setSchriftZ( Schrift *s ) override;
  39. // Setzt den Text (das Script was verändert werden soll)
  40. // txt: Der Text
  41. void setText( Framework::Text *txt ) override;
  42. // Gibt den aktuellen Text zurück
  43. Text *zText() const override;
  44. // Schaltet die Fehlererkennung ein oder aus
  45. // on: 1, um die Fehlererkennung einzuschalten, 0 um sie auszuschalten
  46. void setErrorDetection( bool on = 1 ) override;
  47. // Schaltet die Warnungserkennung ein oder aus
  48. // on: 1, um die Warnungserkennung einzuschalten, 0 um sie auszuschalten
  49. void setWarningDetection( bool on = 1 ) override;
  50. // gibt 1 zurück, wenn die Fehlererkennung eingeschaltet ist
  51. bool getErrorDetection() const override;
  52. // gibt 1 zurück, wenn die Warnungserkennung eingeschaltet ist
  53. bool getWarningDetection() const override;
  54. // Verarbeitet ein Maus Ereignis. Wird vom Framework automatisch aufgerufen.
  55. // me: Das Ereignis
  56. void doMausEreignis( MausEreignis &me ) override;
  57. // Verarbeitet ein Tastatur Ereignis. Wird vom Framework automatisch aufgerufen
  58. // te: Das Ereignis
  59. void doTastaturEreignis( TastaturEreignis &te ) override;
  60. // Updated den Editor
  61. // tickVal: Die vergangene Zeit in Sekunden, die seit dem Letzten Aufruf dieser Funktion verstrichen ist
  62. // return: 1, wenn das Bild neu gezeichnet werden muss. 0 sonnst
  63. bool tick( double tickVal ) override;
  64. // Zeichnet den Editor nach rObj
  65. void render( Bild &rObj ) override;
  66. // Setzt die Farbe eines Bestimmten Codetyps
  67. // color: Die Farbe in 0xAARRGGBB Format
  68. // cType: Der Codetyp, der die Farbe bekommen soll
  69. void setTextColor( int color, ColorType cType ) override;
  70. // Reference Counting
  71. KSGScriptEditor *getThis() override;
  72. KSGScriptEditor *release() override;
  73. };
  74. }