#ifndef FreundesListe_H #define FreundesListe_H #include #include #include #include #include #include #include using namespace Framework; class FreundData : public Thread { private: LRahmen *rahmen; AlphaFeld *auswahlBuffer; TextFeld *name; TextFeld *status; Knopf *entfernen; Knopf *ansehen; Knopf *nachricht; Knopf *einladen; int accountId; bool einladenSichtbar; bool online; bool ausgewählt; int höhe; int animation; unsigned char auswahlAlpha; double tickVal; bool rend; public: // Konstruktor FreundData( int accountId, LRahmen *rahmen, AlphaFeld *auswahlBuffer, Schrift *zSchrift ); // Destruktor ~FreundData(); // nicht constant void thread(); void setName( char *txt ); void setStatus( char *txt ); void setOnline( bool online ); void setAusgewählt( bool ausw ); void remove(); void zeigeEinladeKnopf( bool zeigen ); void doMausEreignis( MausEreignis &me ); bool tick( double tickVal ); void render( int yPos, Bild &zRObj ); // constant bool istOnline() const; bool istAusgewählt() const; char *zName() const; Text *getName() const; char *zStatus() const; Text *getStatus() const; int getAccountId() const; int getHeight() const; }; class FreundesListeObj : public Zeichnung { private: RCArray< FreundData > *members; LRahmen *memberRahmen; AlphaFeld *auswahlBuffer; Schrift *schrift; VScrollBar *vsb; Punkt bildschirmGröße; bool einladenSichtbar; int memberNummer; public: // Konstruktor FreundesListeObj( Schrift *zSchrift ); // Destruktor ~FreundesListeObj(); // nicht constant void addMember( int accountId ); void removeMember( int accountId ); void removeMember( FreundData *member ); void removeAll(); void setName( int accountId, char *txt ); void setStatus( int accountId, char *txt ); void setOnline( int accountId, bool online ); void zeigeEinladeKnopf( bool zeigen ); bool tick( double tickVal ) override; void doMausEreignis( MausEreignis &me ) override; void render( Bild &zRObj ) override; // constant bool istFreund( int accId ) const; }; class FreundesListe : public Thread { private: Fenster *fenster; TextFeld *überschrift; TextFeld *accountName; Knopf *minMax; Knopf *neuerFreund; Knopf *neuerChat; FreundesListeObj *freundesListe; Punkt bildschirmGröße; Fenster *neuerFreundFenster; TextFeld *neuerFreundSpielerName; Knopf *neuerFreundFertig; Fenster *neuerChatFenster; TextFeld *neuerChatName; Knopf *neuerChatFertig; TextFeld *neuesChatroomName; Knopf *neuesChatroomFertig; Bild *minimierenBild; Bild *maximierenBild; int animation; double tickVal; bool neuerFreundSichtbar; bool neuerChatSichtbar; bool rend; public: // Konstruktor FreundesListe( Schrift *zSchrift, Fenster *zNachLoginFenster ); // Destruktor ~FreundesListe(); // nicht constant void addMember( int accountId ); void removeMember( int accountId ); void removeMember( FreundData *member ); void removeAll(); void setName( int accountId, char *txt ); void setStatus( int accountId, char *txt ); void setOnline( int accountId, bool online ); void setAnimation( int animation ); void thread(); void zeigeEinladeKnopf( bool zeigen ); bool tick( double tickVal ); bool druckMinMax( MausEreignis &me ); bool druckName( TastaturEreignis &te ); bool druckNeuerFreund( MausEreignis &me ); bool druckNeuerChat( MausEreignis &me ); bool druckNeuerFreundSpielerName( TastaturEreignis &te ); bool druckNeuerFreundFertig( MausEreignis &me ); bool druckNeuerChatName( TastaturEreignis &te ); bool druckNeuerChatFertig( MausEreignis &me ); bool druckNeuesChatroomName( TastaturEreignis &te ); bool druckNeuesChatroomFertig( MausEreignis &me ); // constant bool istFreund( int accId ) const; }; // Nachrichten bool freundesListeMinMaxME( void *p, void *obj, MausEreignis me ); bool freundesListeNameTE( void *p, void *obj, TastaturEreignis te ); bool freundesListeNeuerFreundME( void *p, void *obj, MausEreignis me ); bool freundesListeNeuerChatME( void *p, void *obj, MausEreignis me ); bool freundesListeNeuerFreundSpielerNameTE( void *p, void *obj, TastaturEreignis te ); bool freundesListeNeuerFreundFertigME( void *p, void *obj, MausEreignis me ); bool freundesListeNeuerChatNameTE( void *p, void *obj, TastaturEreignis te ); bool freundesListeNeuerChatFertigME( void *p, void *obj, MausEreignis me ); bool freundesListeNeuesChatroomNameTE( void *p, void *obj, TastaturEreignis te ); bool freundesListeNeuesChatroomFertigME( void *p, void *obj, MausEreignis me ); #endif