KEDEditor.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. #pragma once
  2. #include <Liste.h>
  3. #include <Bild.h>
  4. #include <Knopf.h>
  5. #include <DateiDialog.h>
  6. #include <Fenster.h>
  7. #include <AuswahlBox.h>
  8. #include <M2DVorschau.h>
  9. #include "KEDModel2DEditor.h"
  10. #include <GSLSoundV.h>
  11. using namespace Framework;
  12. class KEDBildSeite : public virtual ReferenceCounter
  13. {
  14. private:
  15. AuswahlListe *bilder;
  16. BildZ *bildObj;
  17. Knopf *bildLöschen;
  18. Knopf *importieren;
  19. Knopf *dateiLöschen;
  20. Knopf *neueDatei;
  21. DateiDialogTh *importDialog;
  22. Text *importPfad;
  23. int aktion;
  24. bool sichtbar;
  25. unsigned char alpha;
  26. unsigned char alpha2;
  27. double tickVal;
  28. public:
  29. // Konstruktor
  30. KEDBildSeite( Knopf *zNeueDatei, Knopf *zDateiRemove );
  31. // Destruktor
  32. ~KEDBildSeite();
  33. // nicht constant
  34. int getAktion();
  35. void setBildListe( RCArray< Text > *list );
  36. void setBild( Bild *b );
  37. void setSichtbar( bool s );
  38. bool tick( double tv );
  39. void doPublicMausEreignis( MausEreignis &me );
  40. void render( Bild &zRObj );
  41. // constant
  42. Text *zBildImportPfad() const;
  43. Text *zBildAuswahl() const;
  44. };
  45. class KEDModellSeite : public virtual ReferenceCounter
  46. {
  47. private:
  48. AuswahlListe *modelle;
  49. M2DVorschau *modelObj;
  50. Knopf *modelLöschen;
  51. Knopf *neuesModel;
  52. Knopf *dateiLöschen;
  53. Knopf *neueDatei;
  54. Knopf *bearbeiten;
  55. Model2DEditor::GUI *editor;
  56. Fenster *neuModelF;
  57. TextFeld *neuModelName;
  58. Knopf *neuModelOk;
  59. AuswahlListe *dateien;
  60. int aktion;
  61. bool sichtbar;
  62. unsigned char alpha;
  63. unsigned char alpha2;
  64. unsigned char alpha3;
  65. double tickVal;
  66. public:
  67. // Konstruktor
  68. KEDModellSeite( Knopf *zNeueDatei, Knopf *zDateiRemove, AuswahlListe *dateien );
  69. // Destruktor
  70. ~KEDModellSeite();
  71. // nicht constant
  72. int getAktion();
  73. bool neuModelOkME( MausEreignis &me );
  74. void setModelListe( RCArray< Text > *list );
  75. void setModel( Model2DData *mdl );
  76. void setSichtbar( bool s );
  77. bool tick( double tv );
  78. void doPublicMausEreignis( MausEreignis &me );
  79. void doTastaturEreignis( TastaturEreignis &me );
  80. void render( Bild &zRObj );
  81. // constant
  82. Text *zModelAuswahl() const;
  83. Text *zNeuModelName() const;
  84. Model2DData *getModelData() const;
  85. };
  86. class KEDSoundSeite : public virtual ReferenceCounter
  87. {
  88. private:
  89. AuswahlListe *sounds;
  90. GSL::GSLSoundV *sound;
  91. Knopf *soundLöschen;
  92. Knopf *importieren;
  93. Knopf *dateiLöschen;
  94. Knopf *neueDatei;
  95. Knopf *play;
  96. DateiDialogTh *importDialog;
  97. Text *importPfad;
  98. int aktion;
  99. bool sichtbar;
  100. unsigned char alpha;
  101. unsigned char alpha2;
  102. double tickVal;
  103. public:
  104. // Konstruktor
  105. KEDSoundSeite( Knopf *zNeueDatei, Knopf *zDateiRemove );
  106. // Destruktor
  107. ~KEDSoundSeite();
  108. // nicht constant
  109. int getAktion();
  110. void setSoundListe( RCArray< Text > *list );
  111. void setSound( GSL::GSLSoundV *b );
  112. void setSichtbar( bool s );
  113. bool tick( double tv );
  114. void doPublicMausEreignis( MausEreignis &me );
  115. void render( Bild &zRObj );
  116. // constant
  117. Text *zSoundImportPfad() const;
  118. Text *zSoundAuswahl() const;
  119. };
  120. class KEDEditor : public Zeichnung
  121. {
  122. private:
  123. AuswahlListe *dateien;
  124. KEDBildSeite *bildSeite;
  125. KEDModellSeite *modelSeite;
  126. KEDSoundSeite *soundSeite;
  127. Fenster *neuDateiF;
  128. AuswahlBox *neuDateiTyp;
  129. TextFeld *neuDateiName;
  130. Knopf *neuDateiOk;
  131. Knopf *neueDatei;
  132. Knopf *dateiLöschen;
  133. int aktion;
  134. bool sichtbar;
  135. unsigned char alpha;
  136. unsigned char alpha2;
  137. double tickVal;
  138. public:
  139. // Konstruktor
  140. KEDEditor();
  141. // Destruktor
  142. ~KEDEditor();
  143. // nicht constant
  144. int getAktion();
  145. bool neuDateiOkME( MausEreignis &me );
  146. void setDateiListe( RCArray< Text > *list );
  147. void setBildListe( RCArray< Text > *list );
  148. void setSoundListe( RCArray< Text > *list );
  149. void setModel2dListe( RCArray< Text > *list );
  150. void setBild( Bild *b );
  151. void setSound( GSL::GSLSoundV *s );
  152. void setModel2d( Model2DData *d );
  153. void setSichtbar( bool s );
  154. bool tick( double tv ) override;
  155. void doPublicMausEreignis( MausEreignis &me ) override;
  156. void doTastaturEreignis( TastaturEreignis &te ) override;
  157. void render( Bild &zRObj ) override;
  158. // constant
  159. Text *zBildImportPfad() const;
  160. Text *zSoundImportPfad() const;
  161. Text *zDateiAuswahl() const;
  162. Text *zBildAuswahl() const;
  163. Text *zSoundAuswahl() const;
  164. Text *zModel2dAuswahl() const;
  165. Model2DData *getModelData() const;
  166. Text *zNeuModelName() const;
  167. int getNeuDateiTyp() const;
  168. Text *zNeuDateiName() const;
  169. bool istSichtbar() const;
  170. };