#pragma once #include #include #include #include #include #include #include #include "KEDModel2DEditor.h" #include using namespace Framework; class KEDBildSeite { private: AuswahlListe *bilder; BildZ *bildObj; Knopf *bildLöschen; Knopf *importieren; Knopf *dateiLöschen; Knopf *neueDatei; DateiDialogTh *importDialog; Text *importPfad; int aktion; bool sichtbar; unsigned char alpha; unsigned char alpha2; double tickVal; int ref; public: // Konstruktor KEDBildSeite( Schrift *zSchrift, Knopf *zNeueDatei, Knopf *zDateiRemove ); // Destruktor ~KEDBildSeite(); // nicht constant int getAktion(); void setBildListe( RCArray< Text > *list ); void setBild( Bild *b ); void setSichtbar( bool s ); bool tick( double tv ); void doMausEreignis( MausEreignis &me ); void render( Bild &zRObj ); // constant Text *zBildImportPfad() const; Text *zBildAuswahl() const; // Reference Counting KEDBildSeite *getThis(); KEDBildSeite *release(); }; class KEDModellSeite { private: AuswahlListe *modelle; M2DVorschau *modelObj; Knopf *modelLöschen; Knopf *neuesModel; Knopf *dateiLöschen; Knopf *neueDatei; Knopf *bearbeiten; Model2DEditor::GUI *editor; Fenster *neuModelF; TextFeld *neuModelName; Knopf *neuModelOk; AuswahlListe *dateien; int aktion; bool sichtbar; unsigned char alpha; unsigned char alpha2; unsigned char alpha3; double tickVal; int ref; public: // Konstruktor KEDModellSeite( Schrift *zSchrift, Knopf *zNeueDatei, Knopf *zDateiRemove, AuswahlListe *dateien ); // Destruktor ~KEDModellSeite(); // nicht constant int getAktion(); bool neuModelOkME( MausEreignis &me ); void setModelListe( RCArray< Text > *list ); void setModel( Model2DData *mdl ); void setSichtbar( bool s ); bool tick( double tv ); void doMausEreignis( MausEreignis &me ); void doTastaturEreignis( TastaturEreignis &me ); void render( Bild &zRObj ); // constant Text *zModelAuswahl() const; Text *zNeuModelName() const; Model2DData *getModelData() const; // Reference Counting KEDModellSeite *getThis(); KEDModellSeite *release(); }; class KEDSoundSeite { private: AuswahlListe *sounds; GSL::GSLSoundV *sound; Knopf *soundLöschen; Knopf *importieren; Knopf *dateiLöschen; Knopf *neueDatei; Knopf *play; DateiDialogTh *importDialog; Text *importPfad; int aktion; bool sichtbar; unsigned char alpha; unsigned char alpha2; double tickVal; int ref; public: // Konstruktor KEDSoundSeite( Schrift *zSchrift, Knopf *zNeueDatei, Knopf *zDateiRemove ); // Destruktor ~KEDSoundSeite(); // nicht constant int getAktion(); void setSoundListe( RCArray< Text > *list ); void setSound( GSL::GSLSoundV *b ); void setSichtbar( bool s ); bool tick( double tv ); void doMausEreignis( MausEreignis &me ); void render( Bild &zRObj ); // constant Text *zSoundImportPfad() const; Text *zSoundAuswahl() const; // Reference Counting KEDSoundSeite *getThis(); KEDSoundSeite *release(); }; class KEDEditor : public Zeichnung { private: AuswahlListe *dateien; KEDBildSeite *bildSeite; KEDModellSeite *modelSeite; KEDSoundSeite *soundSeite; Fenster *neuDateiF; AuswahlBox *neuDateiTyp; TextFeld *neuDateiName; Knopf *neuDateiOk; Knopf *neueDatei; Knopf *dateiLöschen; int aktion; bool sichtbar; unsigned char alpha; unsigned char alpha2; double tickVal; int ref; public: // Konstruktor KEDEditor( Schrift *zSchrift ); // Destruktor ~KEDEditor(); // nicht constant int getAktion(); bool neuDateiOkME( MausEreignis &me ); void setDateiListe( RCArray< Text > *list ); void setBildListe( RCArray< Text > *list ); void setSoundListe( RCArray< Text > *list ); void setModel2dListe( RCArray< Text > *list ); void setBild( Bild *b ); void setSound( GSL::GSLSoundV *s ); void setModel2d( Model2DData *d ); void setSichtbar( bool s ); bool tick( double tv ) override; void doMausEreignis( MausEreignis &me ) override; void doTastaturEreignis( TastaturEreignis &te ) override; void render( Bild &zRObj ) override; // constant Text *zBildImportPfad() const; Text *zSoundImportPfad() const; Text *zDateiAuswahl() const; Text *zBildAuswahl() const; Text *zSoundAuswahl() const; Text *zModel2dAuswahl() const; Model2DData *getModelData() const; Text *zNeuModelName() const; int getNeuDateiTyp() const; Text *zNeuDateiName() const; bool istSichtbar() const; // Reference Counting KEDEditor *getThis(); KEDEditor *release(); };