KSGSKlasse.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #ifndef KSGSKlasse_H
  2. #define KSGSKlasse_H
  3. #include <Knopf.h>
  4. #include <Fenster.h>
  5. #include <Bild.h>
  6. #include <Animation.h>
  7. #include "KSGSFunktion.h"
  8. #include "../Include/KSGScript.h"
  9. namespace KSGScript
  10. {
  11. class KSGSKlasse; // aus dieser Datei
  12. #ifdef WIN32
  13. #pragma vtordisp(push, 2)
  14. #endif
  15. class KSGSKlasseInstanz : public KSGSVariable
  16. {
  17. protected:
  18. RCArray< KSGSVariable > *lokaleVariablen;
  19. RCArray< KSGSFunktion > *funktionen;
  20. Array< bool > *varPublic;
  21. KSGScriptProcessor *obj;
  22. int typ;
  23. public:
  24. // Konstruktor
  25. KSGSKlasseInstanz( int typ, Array< KSGSVariableDef * > *zVars, RCArray< KSGSFunktion > *funcs, KSGScriptProcessor *zObj );
  26. // Destruktor
  27. virtual ~KSGSKlasseInstanz();
  28. // nicht constant
  29. virtual KSGSVariable *startFunktion( int id, bool zugriff, RCArray< KSGSVariable > *parameter ) override;
  30. virtual KSGSVariable *doOperator( int id, KSGSVariable *rechts ) override;
  31. virtual void setVariable( int id, KSGSVariable *var ) override;
  32. // constant
  33. virtual KSGSVariable *getVariable( int id, bool zugriff ) const override;
  34. virtual KSGSVariable *umwandelnIn( int typ ) const override;
  35. virtual int getTyp() const override;
  36. // verarbeiten
  37. virtual bool getBool() const override;
  38. virtual int getInt() const override;
  39. virtual double getDouble() const override;
  40. virtual Text *getText() const override;
  41. virtual Bild *getBild() const override;
  42. virtual MausEreignis getMausEreignis() const override;
  43. virtual TastaturEreignis getTastaturEreignis() const override;
  44. virtual TextFeld *getTextFeld() const override;
  45. virtual Knopf *getKnopf() const override;
  46. virtual Fenster *getFenster() const override;
  47. virtual BildZ *getBildZ() const override;
  48. virtual Animation2DData *getAnimation2DData() const override;
  49. virtual Animation2D *getAnimation2D() const override;
  50. virtual Zeichnung *getZeichnung() const override;
  51. virtual RCArray< KSGSVariable > *getArray() const override;
  52. // static
  53. static KSGSVariable *erstellVariable( KSGScriptProcessor *zObj, KSGSVariableDef *def );
  54. };
  55. #ifdef WIN32
  56. #pragma vtordisp(pop)
  57. #endif
  58. class KSGSKlasse : public virtual ReferenceCounter
  59. {
  60. private:
  61. Array< KSGSVariableDef * > *var;
  62. RCArray< KSGSFunktion > *funktionen;
  63. int id;
  64. public:
  65. // Konstruktor
  66. __declspec( dllexport ) KSGSKlasse( int id );
  67. // Destruktor
  68. __declspec( dllexport ) ~KSGSKlasse();
  69. // nicht constant
  70. __declspec( dllexport ) void addVariable( KSGSVariableDef *var );
  71. __declspec( dllexport ) void addFunktion( KSGSFunktion *func );
  72. __declspec( dllexport ) KSGSKlasseInstanz *erstellInstanz( KSGScriptProcessor *zObj );
  73. // constant
  74. __declspec( dllexport ) int getId() const;
  75. };
  76. }
  77. #endif