KSGSKlasse.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. class KSGSKlasseInstanz : public KSGSVariable
  13. {
  14. protected:
  15. RCArray< KSGSVariable > *lokaleVariablen;
  16. RCArray< KSGSFunktion > *funktionen;
  17. Array< bool > *varPublic;
  18. KSGScriptProcessor *obj;
  19. int typ;
  20. public:
  21. // Konstruktor
  22. KSGSKlasseInstanz( int typ, Array< KSGSVariableDef * > *zVars, RCArray< KSGSFunktion > *funcs, KSGScriptProcessor *zObj );
  23. // Destruktor
  24. virtual ~KSGSKlasseInstanz();
  25. // nicht constant
  26. virtual KSGSVariable *startFunktion( int id, bool zugriff, RCArray< KSGSVariable > *parameter ) override;
  27. virtual KSGSVariable *doOperator( int id, KSGSVariable *rechts ) override;
  28. virtual void setVariable( int id, KSGSVariable *var ) override;
  29. // constant
  30. virtual KSGSVariable *getVariable( int id, bool zugriff ) const override;
  31. virtual KSGSVariable *umwandelnIn( int typ ) const override;
  32. virtual int getTyp() const override;
  33. // verarbeiten
  34. virtual bool getBool() const override;
  35. virtual int getInt() const override;
  36. virtual double getDouble() const override;
  37. virtual Text *getText() const override;
  38. virtual Bild *getBild() const override;
  39. virtual MausEreignis getMausEreignis() const override;
  40. virtual TastaturEreignis getTastaturEreignis() const override;
  41. virtual TextFeld *getTextFeld() const override;
  42. virtual Knopf *getKnopf() const override;
  43. virtual Fenster *getFenster() const override;
  44. virtual BildZ *getBildZ() const override;
  45. virtual Animation2DData *getAnimation2DData() const override;
  46. virtual Animation2D *getAnimation2D() const override;
  47. virtual Zeichnung *getZeichnung() const override;
  48. virtual RCArray< KSGSVariable > *getArray() const override;
  49. // static
  50. static KSGSVariable *erstellVariable( KSGScriptProcessor *zObj, KSGSVariableDef *def );
  51. };
  52. class KSGSKlasse : public virtual ReferenceCounter
  53. {
  54. private:
  55. Array< KSGSVariableDef * > *var;
  56. RCArray< KSGSFunktion > *funktionen;
  57. int id;
  58. public:
  59. // Konstruktor
  60. __declspec( dllexport ) KSGSKlasse( int id );
  61. // Destruktor
  62. __declspec( dllexport ) ~KSGSKlasse();
  63. // nicht constant
  64. __declspec( dllexport ) void addVariable( KSGSVariableDef *var );
  65. __declspec( dllexport ) void addFunktion( KSGSFunktion *func );
  66. __declspec( dllexport ) KSGSKlasseInstanz *erstellInstanz( KSGScriptProcessor *zObj );
  67. // constant
  68. __declspec( dllexport ) int getId() const;
  69. };
  70. }
  71. #endif