123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- #ifndef ChatLeiste_H
- #define ChatLeiste_H
- #include <Klient.h>
- #include <Zeichnung.h>
- #include <TextFeld.h>
- #include <Fenster.h>
- #include <Knopf.h>
- #include <Scroll.h>
- #include <Tabelle.h>
- #include <GSLSoundV.h>
- #include <Rahmen.h>
- using namespace Framework;
- using namespace Network;
- class Chat : public virtual ReferenceCounter
- {
- protected:
- LRahmen* rahmen;
- TextFeld* verlauf;
- TextFeld* nachricht;
- TextFeld* name;
- Knopf* minimieren;
- Knopf* close;
- Punkt bildschirmGröße;
- GSL::GSLSoundV* msgSound;
- bool admin;
- double tickVal;
- bool sichtbar;
- int animation;
- int breite;
- int höhe;
- bool rend;
- public:
- // Konstruktor
- Chat();
- // Destruktor
- ~Chat();
- // nicht constant
- void setSichtbar(bool sichtbar);
- void entfernen();
- void addNachricht(const char* txt);
- void setAdmin();
- virtual void addSpieler(int accountId);
- virtual void removeSpieler(int accountId);
- virtual bool tick(double tickVal);
- virtual void doPublicMausEreignis(MausEreignis& me);
- virtual void doTastaturEreignis(TastaturEreignis& te);
- virtual void render(int x, Bild& zRObj);
- // constant
- TextFeld* getName() const;
- TextFeld* zName() const;
- virtual int getAccountId() const;
- virtual int getChatroomId() const;
- int getBreite() const;
- bool istSichtbar() const;
- };
- class ChatFenster : public Chat
- {
- private:
- int accountId;
- public:
- // Konstruktor
- ChatFenster(int accountId);
- // Destruktor
- ~ChatFenster();
- // nicht constant
- bool tick(double tickVal) override;
- void doPublicMausEreignis(MausEreignis& me) override;
- void doTastaturEreignis(TastaturEreignis& te) override;
- void render(int x, Bild& zRObj) override;
- // constant
- int getAccountId() const override;
- };
- class ChatroomFenster : public Chat
- {
- private:
- int chatroomId;
- ObjTabelle* spieler;
- Array< int >* neueSpieler;
- int neueSpielerAnzahl;
- Array< int >* alteSpieler;
- int alteSpielerAnzahl;
- TextFeld* spielerName;
- Knopf* einladen;
- public:
- // Konstruktor
- ChatroomFenster(int chatroomId);
- // Destruktor
- ~ChatroomFenster();
- // nicht constant
- void addSpieler(int accountId) override;
- void removeSpieler(int accountId) override;
- bool tick(double tickVal) override;
- void doPublicMausEreignis(MausEreignis& me) override;
- void doTastaturEreignis(TastaturEreignis& te) override;
- void render(int x, Bild& zRObj) override;
- bool druckFreund(void* obj, MausEreignis& me);
- bool druckEntfernen(void* obj, MausEreignis& me);
- // constant
- virtual int getChatroomId() const;
- };
- class ChatLeisteObj : public Zeichnung
- {
- private:
- RCArray< Chat >* chats;
- HScrollBar* hsb;
- Punkt bildschirmGröße;
- int anzahl;
- int nowME;
- public:
- // Konstruktor
- ChatLeisteObj();
- // Destruktor
- ~ChatLeisteObj();
- // nicht constant
- void chatNachricht(int vonAccount, const char* txt);
- void chatroomNachricht(int chatroomId, const char* txt);
- void addChat(int accountId, int chatroomId);
- void removeChat(int accountId, int chatroomId);
- void removeChat(Chat* zChat);
- void removeAll();
- void addSpieler(int chatroomId, int accountId);
- void removeSpieler(int chatroomId, int accountId);
- void setChatroomAdmin(int chatroomId);
- bool tick(double tickVal) override;
- void doTastaturEreignis(TastaturEreignis& te) override;
- void doPublicMausEreignis(MausEreignis& me) override;
- void render(Bild& zRObj) override;
- };
- class ChatLeiste : public virtual ReferenceCounter
- {
- private:
- Fenster* fenster;
- Knopf* minMax;
- ChatLeisteObj* chatLeiste;
- Punkt bildschirmGröße;
- Bild* minimierenBild;
- Bild* maximierenBild;
- double tickVal;
- int animation;
- bool rend;
- public:
- // Konstruktor
- ChatLeiste(Fenster* zNachLoginFenster);
- // Destruktor
- ~ChatLeiste();
- // nicht constant
- void chatNachricht(int vonAccount, const char* txt);
- void chatroomNachricht(int chatroomId, int vonAccount, const char* txt);
- void addChat(int accountId, int chatroomId);
- void removeChat(int accountId, int chatroomId);
- void removeChat(Chat* zChat);
- void removeAll();
- void addSpieler(int chatroomId, int accountId);
- void removeSpieler(int chatroomId, int accountId);
- void setChatroomAdmin(int chatroomId);
- bool tick(double tickVal);
- bool druckMinMax(MausEreignis& me);
- };
- // Nachrichten
- bool chatLeisteMinMaxME(void* p, void* obj, MausEreignis me);
- bool chatroomFensterFreundME(void* p, void* obj, MausEreignis me);
- bool chatroomFensterEntfernenME(void* p, void* obj, MausEreignis me);
- #endif
|