123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640 |
- #ifndef AuswahlBox_H
- #define AuswahlBox_H
- #include "Array.h"
- #include "Zeichnung.h"
- namespace Framework
- {
- class TextFeld; //! TextFeld.h
- class VScrollBar; //! Scroll.h
- class Rahmen; //! Rahmen.h
- class Knopf; //! Knopf.h
- class AlphaFeld; //! AlphaFeld.h
- class Text; //! Tet.h
- class Schrift; //! Schrift.h
- class TextRenderer;
- //! Eine Zeichnung des 2D GUI Frameworks. Repräsentiert eine Box, aus der
- //! der Nutzer durch ausklappen verschiedene Werte auswählen kann
- class AuswahlBox : public ZeichnungHintergrund
- {
- public:
- class Style : public ZeichnungHintergrund::Style
- {
- public:
- static const __int64 FeldRahmen
- = 0x000001000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert
- //! aus der Liste einen Rahmen
- static const __int64 FeldHintergrund
- = 0x000002000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert
- //! aus der Liste einen Hintergrund
- static const __int64 FeldHBild
- = 0x000004000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert
- //! aus der Liste ein Bild als Hintergrund
- static const __int64 FeldHAlpha
- = 0x000008000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert
- //! aus der Liste einen Transparenten Hintergrund
- static const __int64 FeldBuffer
- = 0x000010000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert
- //! aus der Liste einen Farbübergang
- static const __int64 AuswahlHintergrund
- = 0x000020000; //! Wenn dieser Flag gesetzt ist, bekommt der
- //! Wert, der gerade ausgewählt ist einen
- //! Hintergrund
- static const __int64 AuswahlHBild
- = 0x000040000; //! Wenn dieser Flag gesetzt ist, bekommt der
- //! Wert, der gerade ausgewählt ist ein
- //! Hintergrundbild
- static const __int64 AuswahlHAlpha
- = 0x000080000; //! Wenn dieser Flag gesetzt ist, bekommt der
- //! Wert, der gerade ausgewählt ist einen
- //! transparenten Hintergrund
- static const __int64 AuswahlBuffer
- = 0x000100000; //! Wenn dieser Flag gesetzt ist, bekommt der
- //! Wert, der gerade ausgewählt ist einen
- //! Farbübergang
- static const __int64 AuswahlRahmen
- = 0x000200000; //! Wenn dieser Flag gesetzt ist, bekommt der
- //! Wert, der gerade ausgewählt ist einen Rahmen
- static const __int64 MultiStyled
- = 0x000400000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert
- //! seine eigenen Hintergründe unt Rahmen und
- //! nicht alle die selben
- static const __int64 MaxHeight
- = 0x004000000; //! Legt eine maximale Höhe der ausgeklappten
- //! Liste fest. Es erscheint automatisch eine
- //! Scrollbar wenn mehr Elemente da sind als
- //! sichtbar sein können
- static const __int64 MausHintergrund
- = 0x008000000; //! Wenn dieser Flag gesetzt ist, hat ein
- //! Element, wo die Maus drau zeigt, einen
- //! Hintergrund
- static const __int64 MausHBild
- = 0x010000000; //! Wenn dieser Flag gesetzt ist, hat ein
- //! Element, wo die Maus drauf zeigt, ein
- //! Hintergrundbild
- static const __int64 MausHAlpha
- = 0x020000000; //! Wenn dieser Flag gesetzt ist, hat ein
- //! Element, wo die Maus drauf zeigt, einen
- //! transparenten Hintergrund
- static const __int64 MausBuffer
- = 0x040000000; //! Wenn dieser Flag gesetzt ist, hat ein
- //! Element, wo die Maus drauf zeigt, einen
- //! Farbübergang
- static const __int64 MausRahmen
- = 0x080000000; //! Wenn dieser Flag gesetzt ist, hat ein
- //! Element, wo die Maus drauf zeigt, einen
- //! Rahmen
- // const int NachObenAusklappen = 0x100000000;
- // const int AutoAusklappRichtung = 0x200000000;
- static const __int64 Normal
- = Sichtbar | Erlaubt | Rahmen | FeldRahmen | AuswahlBuffer
- | AuswahlRahmen | MaxHeight | VScroll | MausRahmen | MausBuffer
- | Hintergrund | MEIgnoreParentInside
- | MEIgnoreVerarbeitet; //! Normaler Style: Sichtbar, Erlaubt,
- //! Rahmen, FeldRahmen, AuswahlBuffer,
- //! AuswahlRahmen, MaxHöhe, VScroll,
- //! MausRahmen, MausBuffer
- };
- private:
- TextRenderer* textRd;
- Array<__int64>* msStyle;
- RCArray<TextFeld>* members;
- Knopf* ausfahren;
- Rahmen* auswRahmen;
- int auswBgF;
- Bild* auswBgB;
- AlphaFeld* auswAf;
- RCArray<Rahmen>* msAuswRahmen;
- Array<int>* msAuswBgF;
- RCArray<Bild>* msAuswBgB;
- RCArray<AlphaFeld>* msAuswAf;
- Rahmen* mausRahmen;
- int mausBgF;
- Bild* mausBgB;
- AlphaFeld* mausAf;
- RCArray<Rahmen>* msMausRahmen;
- Array<int>* msMausBgF;
- RCArray<Bild>* msMausBgB;
- RCArray<AlphaFeld>* msMausAf;
- int anzahl;
- int auswahl;
- bool ausgeklappt;
- int ausklappHeight;
- int ausklapMaxHeight;
- int eintragHeight;
- double tickval;
- int mausEintrag;
- bool scrollAnzeigen;
- void* eAkP;
- std::function<void(void*, AuswahlBox*, int, int)> eAk;
- //! Verarbeitet Maus Nachrichten
- //! \param me Das Ereignis, was durch die Mauseingabe ausgelößt wurde
- DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
- public:
- //! Konstruktor
- DLLEXPORT AuswahlBox();
- //! Destruktor
- DLLEXPORT virtual ~AuswahlBox();
- //! Setzt den Parameter der Rückruffunktion, die aufgerufen wird, wenn
- //! der Benutzer ein neues element auswählt \param p Der Parameter
- DLLEXPORT void setEventParam(void* p);
- //! Setzt die Rückruffunktion, die Aufgerufen wird, wenn der Benutzer
- //! ein neues Element auswählt \param eAk Die Rückruffunktion Aufruf:
- //! eAk( parameter, this, 0, auswahlIndex )
- DLLEXPORT void setEventAktion(
- std::function<void(void*, AuswahlBox*, int, int)> event);
- //! Setzt den verwendeten TextRenderer
- //! \param textRd Der Textrenderer
- DLLEXPORT void setTextRendererZ(TextRenderer* textRd);
- //! Setzt die verwendete Schrift
- //! \param schrift Die Schrift
- DLLEXPORT void setSchriftZ(Schrift* schrift);
- //! Fügt der Liste einen auswählbaren Eintrag hinzu. Der erste Eintrag
- //! ist zu Beginn automatisch ausgewählt \param txt Der Text des
- //! Eintrags
- DLLEXPORT void addEintrag(const char* txt);
- //! Fügt der Liste einen auswählbaren Eintrag hinzu. Der erste Eintrag
- //! ist zu Beginn automatisch ausgewählt \param txt Der Text des
- //! Eintrags
- DLLEXPORT void addEintrag(Text* txt);
- //! Fügt der Liste einen auswählbaren Eintrag hinzu. Der erste Eintrag
- //! ist zu Beginn automatisch ausgewählt \param txt Ein Zeiger auf den
- //! Eintrag
- DLLEXPORT void addEintragZ(TextFeld* txt);
- //! Ändert den Text eines Eintrags
- //! \param i Der Index des Eintrags
- //! \param txt Der neue Text
- DLLEXPORT void setEintrag(int i, const char* txt);
- //! Ändert den Text eines Eintrags
- //! \param i Der Index des Eintrags
- //! \param txt Der neue Text
- DLLEXPORT void setEintrag(int i, Text* txt);
- //! Ändert einen Eintrag
- //! \param i Der Index des Eintrags
- //! \param txt Ein Zeiger auf den neuen Eintrag
- DLLEXPORT void setEintragZ(int i, TextFeld* txt);
- //! Löscht einen Eintrag
- //! \param i Der Index des Eintrags
- DLLEXPORT void removeEintrag(int i);
- //! Setzt einen Zeiger auf den Knopf, der zum aus und einklappen der
- //! Liste verwendet wird \param ausK Der Knopf
- DLLEXPORT void setAusklappKnopfZ(Knopf* ausK);
- //! Setzt einen Zeiger auf einen Rahmen, der für einen bestimmten
- //! Eintrag benutzt wird \param i Der Index des Eintrags \param rahmen
- //! Der Rahemn
- DLLEXPORT void setEintragRahmenZ(int i, Rahmen* rahmen);
- //! Setzt die Farbe eines Rahmens, der für einen bestimmten Eintrag
- //! benutzt wird \param i Der Index des Eintrags \param f Die farbe im
- //! A8R8G8B8 Format
- DLLEXPORT void setEintragRahmenFarbe(int i, int f);
- //! Setzt die Breite eines Rahmens, der für einen bestimmten Eintrag
- //! benutzt wird \param i Der Index des Eintrags \param rbr Die Breite
- //! des Rahmens in Pixeln
- DLLEXPORT void setEintragRahmenBreite(int i, int rbr);
- //! Setzt eine Hintergrund Farbe, die für einen bestimmten Eintrag
- //! benutzt wird \param i Der Index des Eintrags \param f Die farbe im
- //! A8R8G8B8 Format
- DLLEXPORT void setEintragHintergrundFarbe(int i, int f);
- //! Setzt einen zeiger auf ein Hintergrund Bild, das für einen
- //! bestimmten Eintrag benutzt wird \param i Der Index des Eintrags
- //! \param bgB Das Hintergrund Bild
- DLLEXPORT void setEintragHintergrundBildZ(int i, Bild* bgB);
- //! Setzt ein Hintergrund Bild durch Kopieren, das für einen bestimmten
- //! Eintrag benutzt wird \param i Der Index des Eintrags \param bgB Das
- //! Hintergrund Bild
- DLLEXPORT void setEintragHintergrundBild(int i, Bild* bgB);
- //! Setzt einen zeiger auf einen Farbübergangn, der für einen bestimmten
- //! Eintrag benutzt wird \param i Der Index des Eintrags \param af Der
- //! Farbübergang
- DLLEXPORT void setEintragAlphaFeldZ(int i, AlphaFeld* af);
- //! Setzt dei Farbe eines Farbübergangns, der für einen bestimmten
- //! Eintrag benutzt wird \param i Der Index des Eintrags \param afF Die
- //! Farbe im A8R8G8B8 Format
- DLLEXPORT void setEintragAlphaFeldFarbe(int i, int afF);
- //! Setzt dei Stärke eines Farbübergangns, der für einen bestimmten
- //! Eintrag benutzt wird \param i Der Index des Eintrags \param afSt Die
- //! Stärke
- DLLEXPORT void setEintragAlphaFeldStrength(int i, int afSt);
- //! Setzt eienen Zeiger auf einen Rahmen, der bei dem ausgewählten
- //! Eintrag verwendet wird \param rahmen Der Rahmen
- DLLEXPORT void setAuswRahmenZ(Rahmen* rahmen);
- //! Setzt die Farbe eines Rahmens, der bei dem ausgewählten Eintrag
- //! verwendet wird \param f Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setAuswRahmenFarbe(int f);
- //! Setzt die Breite eines Rahmens, der bei dem ausgewählten Eintrag
- //! verwendet wird \param rbr Die Breite in Pixeln
- DLLEXPORT void setAuswRahmenBreite(int rbr);
- //! Setzt die Hintergrund Farbe, die bei dem ausgewählten Eintrag
- //! verwendet wird \param f Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setAuswHintergrundFarbe(int f);
- //! Setzt den Zeiger auf ein Hintergrund Bild, das bei dem ausgewählten
- //! Eintrag verwendet wird \param bgB Das Bild
- DLLEXPORT void setAuswHintergrundBildZ(Bild* bgB);
- //! Setzt ein Hintergrund Bild durch kopieren, das bei dem ausgewählten
- //! Eintrag verwendet wird \param bgB Das Bild
- DLLEXPORT void setAuswHintergrundBild(Bild* bgB);
- //! Setzt den Zeiger auf einen Farbübergang, der bei dem ausgewählten
- //! Eintrag verwendet wird \param af Der Farbübergang
- DLLEXPORT void setAuswAlphaFeldZ(AlphaFeld* af);
- //! Setzt die Farbe eines Farbübergangs, der bei dem ausgewählten
- //! Eintrag verwendet wird \param afF Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setAuswAlphaFeldFarbe(int afF);
- //! Setzt die Stärke eines Farbübergangs, der bei dem ausgewählten
- //! Eintrag verwendet wird \param afSt Die Stärke
- DLLEXPORT void setAuswAlphaFeldStrength(int afSt);
- //! Setzt eienen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled
- //! bei der Auswahl eines bestimmten Eintrags verwendet wird \param i
- //! Der Index des Eintrags \param rahmen Der Rahmen
- DLLEXPORT void setMsAuswRahmenZ(int i, Rahmen* rahmen);
- //! Setzt die Farbe einens Rahmens, der bei dem Flag MultiStyled bei der
- //! Auswahl eines bestimmten Eintrags verwendet wird \param i Der Index
- //! des Eintrags \param f Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setMsAuswRahmenFarbe(int i, int f);
- //! Setzt die Breite einens Rahmens, der bei dem Flag MultiStyled bei
- //! der Auswahl eines bestimmten Eintrags verwendet wird \param i Der
- //! Index des Eintrags \param rbr Die Breite in Pixeln
- DLLEXPORT void setMsAuswRahmenBreite(int i, int rbr);
- //! Setzt die Hintergrundfarbe, die bei dem Flag MultiStyled bei der
- //! Auswahl eines bestimmten Eintrags verwendet wird \param i Der Index
- //! des Eintrags \param f Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setMsAuswHintergrundFarbe(int i, int f);
- //! Setzt eienen Zeiger auf eine Hintergrund Bild, das bei dem Flag
- //! MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
- //! \param i Der Index des Eintrags
- //! \param bgB Das Bild
- DLLEXPORT void setMsAuswHintergrundBildZ(int i, Bild* bgB);
- //! Setzt eien Hintergrund Bild durch kopieren, das bei dem Flag
- //! MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
- //! \param i Der Index des Eintrags
- //! \param bgB Das Bild
- DLLEXPORT void setMsAuswHintergrundBild(int i, Bild* bgB);
- //! Setzt eienen Zeiger auf einen Farbverlauf, der bei dem Flag
- //! MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
- //! \param i Der Index des Eintrags
- //! \param af Der Farbverlauf
- DLLEXPORT void setMsAuswAlphaFeldZ(int i, AlphaFeld* af);
- //! Setzt die Farbe eines Farbverlaufs, der bei dem Flag MultiStyled bei
- //! der Auswahl eines bestimmten Eintrags verwendet wird \param i Der
- //! Index des Eintrags \param afF Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setMsAuswAlphaFeldFarbe(int i, int afF);
- //! Setzt die Stärke eines Farbverlaufs, der bei dem Flag MultiStyled
- //! bei der Auswahl eines bestimmten Eintrags verwendet wird \param i
- //! Der Index des Eintrags \param afSt Die Stärke
- DLLEXPORT void setMsAuswAlphaFeldStrength(int i, int afSt);
- //! Setzt einen Zeiger auf einen Rahmen, der bei dem Eintrag verwendet
- //! wird, auf den die Maus zeigt \param rahmen Der Rahmen
- DLLEXPORT void setMausRahmenZ(Rahmen* rahmen);
- //! Setzt die Farbe eines Rahmens, der bei dem Eintrag verwendet wird,
- //! auf den die Maus zeigt \param f Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setMausRahmenFarbe(int f);
- //! Setzt die Breite eines Rahmens, der bei dem Eintrag verwendet wird,
- //! auf den die Maus zeigt \param rbr Die Breite des Rahmens in Pixeln
- DLLEXPORT void setMausRahmenBreite(int rbr);
- //! Setzt die Hintergrund Farbe, die bei dem Eintrag verwendet wird, auf
- //! den die Maus zeigt \param f Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setMausHintergrundFarbe(int f);
- //! Setzt einen Zeiger auf ein Hintergrund Bild, das bei dem Eintrag
- //! verwendet wird, auf den die Maus zeigt \param bgB Das Bild
- DLLEXPORT void setMausHintergrundBildZ(Bild* bgB);
- //! Setzt ein Hintergrund Bild durch kopieren, das bei dem Eintrag
- //! verwendet wird, auf den die Maus zeigt \param bgB Das Bild
- DLLEXPORT void setMausHintergrundBild(Bild* bgB);
- //! Setzt einen Farbverlauf, der bei dem Eintrag verwendet wird, auf den
- //! die Maus zeigt \param af Der Farbverlauf
- DLLEXPORT void setMausAlphaFeldZ(AlphaFeld* af);
- //! Setzt die Farbe eines Farbverlaufs, der bei dem Eintrag verwendet
- //! wird, auf den die Maus zeigt \param afF Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setMausAlphaFeldFarbe(int afF);
- //! Setzt die Stärke eines Farbverlaufs, der bei dem Eintrag verwendet
- //! wird, auf den die Maus zeigt \param afSt Die Stärke
- DLLEXPORT void setMausAlphaFeldStrength(int afSt);
- //! Setzt einen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled
- //! bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
- //! \param i Der Index des Eintrags
- //! \param rahmen Der Rahmen
- DLLEXPORT void setMsMausRahmenZ(int i, Rahmen* rahmen);
- //! Setzt die Farbe eines Rahmes, der bei dem Flag MultiStyled bei einem
- //! bestimmten Eintrag verwendet wird, auf den die Maus zeigt \param i
- //! Der Index des Eintrags \param f Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setMsMausRahmenFarbe(int i, int f);
- //! Setzt die Breite eines Rahmes, der bei dem Flag MultiStyled bei
- //! einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
- //! \param i Der Index des Eintrags
- //! \param rbr Die Breite in Pixeln
- DLLEXPORT void setMsMausRahmenBreite(int i, int rbr);
- //! Setzt die Hintergrund Farbe, die bei dem Flag MultiStyled bei einem
- //! bestimmten Eintrag verwendet wird, auf den die Maus zeigt \param i
- //! Der Index des Eintrags \param f Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setMsMausHintergrundFarbe(int i, int f);
- //! Setzt einen Zeiger auf Hintergrund Bild, das bei dem Flag
- //! MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die
- //! Maus zeigt \param i Der Index des Eintrags \param bgB Das Bild
- DLLEXPORT void setMsMausHintergrundBildZ(int i, Bild* bgB);
- //! Setzt ein Hintergrund Bild durch kopieren, das bei dem Flag
- //! MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die
- //! Maus zeigt \param i Der Index des Eintrags \param bgB Das Bild
- DLLEXPORT void setMsMausHintergrundBild(int i, Bild* bgB);
- //! Setzt einen Zeiger auf einen Farbübergang, der bei dem Flag
- //! MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die
- //! Maus zeigt \param i Der Index des Eintrags \param af Der Farbverlauf
- DLLEXPORT void setMsMausAlphaFeldZ(int i, AlphaFeld* af);
- //! Setzt die Farbe einens Farbübergangs, der bei dem Flag MultiStyled
- //! bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
- //! \param i Der Index des Eintrags
- //! \param afF Die Farbe im A8R8G8B8 Format
- DLLEXPORT void setMsMausAlphaFeldFarbe(int i, int afF);
- //! Setzt die Stärke einens Farbübergangs, der bei dem Flag MultiStyled
- //! bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
- //! \param i Der Index des Eintrags
- //! \param afSt Die Stärke
- DLLEXPORT void setMsMausAlphaFeldStrength(int i, int afSt);
- //! Wählt ein Element aus
- //! \param i Der Index des Elements
- DLLEXPORT void setAuswahl(int i);
- //! Klappt die Liste zum Auswählen aus
- DLLEXPORT void ausklappen();
- //! Klappt die Liste zum Auswählen ein
- DLLEXPORT void einklappen();
- //! Scrollt in der Liste zu einem bestimmten Eintrag
- //! \param i Der Index des Eintrags
- DLLEXPORT void scrollZuEintrag(int i);
- //! Setzt die maximale Ausklapp Höhe der Liste
- //! \param maxHeight Die maximale Höhe in Pixeln
- DLLEXPORT void setMaxAuskappHeight(int maxHeight);
- //! Setzt die Höhe der Einträge
- //! \param height Die Höhe in Pixeln
- DLLEXPORT void setEintragHeight(int height);
- //! Fügt Styles zu einem bestimmten Eintrag hinzu, falls der Flag
- //! MultiStyled gesetzt wurde \param i Der Index des Eintrags \param
- //! abStyle Der Style, der hinzugefügt werden soll
- DLLEXPORT void addMsStyle(int i, __int64 abStyle);
- //! Setzt Styles eines bestimmten Eintrags, falls der Flag MultiStyled
- //! gesetzt wurde \param i Der Index des Eintrags \param abStyle Der
- //! Style \param add 1, falls die Styles hinzugefügt werden sollen und
- //! 0, falls sie entfernt werden sollen
- DLLEXPORT void setMsStyle(int i, __int64 abStyle, bool add);
- //! Ersetzt die Styles eines bestimmten Eintrags, falls der Flag
- //! MultiStyled gesetzt wurde \param i Der Index des Eintrags \param
- //! abStyle Der neue Style
- DLLEXPORT void setMsStyle(int i, __int64 abStyle);
- //! Entfernt Styles von einem bestimmten Eintrag, falls der Flag
- //! MultiStyled gesetzt wurde \param i Der Index des Eintrags \param
- //! abStyle Der Style, der entfernt werden soll
- DLLEXPORT void removeMsStyle(int i, __int64 abStyle);
- //! Aktualisiert das Objekt. Wird vom Framework aufgerufen
- //! \param tickVal Die Zeit in sekunden, die seit dem lezten Aufruf
- //! dieser Funktion vergangen ist \return 1, wenn sich etwas verändert
- //! hat und das Bild neu gezeichnet werden muss. 0 sonst
- DLLEXPORT bool tick(double tickVal) override;
- //! Verarbeitet Tastatur Nachrichten
- //! \param me Das Ereignis, was durch die Tastatureingabe ausgelößt
- //! wurde
- DLLEXPORT void doTastaturEreignis(TastaturEreignis& te) override;
- //! Zeichnet das Objekt nach zRObj, falls es sichtbar ist
- //! \param zRObj Das Bild, in welches gezeichnet werden soll
- DLLEXPORT void render(Bild& zRObj) override;
- //! Gibt den Index eines Eintrags zurück
- //! \param txt Der Text des Eintrags
- DLLEXPORT int getEintragPos(const char* txt) const;
- //! Gibt den Index eines Eintrags zurück
- //! \param txt Der Text des Eintrags
- DLLEXPORT int getEintragPos(Text* txt) const;
- //! Gibt den Text eines Eintrags zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT Text* getEintragText(int i) const;
- //! Gibt den Text eines Eintrags ohne erhöhten Reference Counter zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT Text* zEintragText(int i) const;
- //! Gibt einen Eintrag zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT TextFeld* getEintrag(int i) const;
- //! Gibt einen Eintrag ohne erhöhten Reference Counter zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT TextFeld* zEintrag(int i) const;
- //! Gibt den Index des Ausgewählten Eintrags zurück
- DLLEXPORT int getAuswahl() const;
- //! Gibt die Anzahl der Einträge zurück
- DLLEXPORT int getEintragAnzahl() const;
- //! Gibt zurück, ob die Liste gerade Ausgeklappt ist
- DLLEXPORT bool istAusgeklappt() const;
- //! Gibt die maximale Höhe der ausgeklappten Liste zurück
- DLLEXPORT int getMaxHeight() const;
- //! Gibt die Höhe eines Eintrags zurück
- DLLEXPORT int getEintragHeight() const;
- //! Gibt den Knopf zurück, der zum aus- und einklappen dr Liste
- //! verwendet wird
- DLLEXPORT Knopf* getAusklappKnopf() const;
- //! Gibt den Knopf ohne erhöhten Reference Counter zurück, der zum aus-
- //! und einklappen dr Liste verwendet wird
- DLLEXPORT Knopf* zAusklappKnopf() const;
- //! Gibt den Rahmen eines Eintrags zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT Rahmen* getEintragRahmen(int i) const;
- //! Gibt den Rahmen eines Eintrags ohne erhöhten Reference Counter
- //! zurück \param i Der Index des Eintrags
- DLLEXPORT Rahmen* zEintragRahmen(int i) const;
- //! Gibt die Farbe eines Rahmens eines Eintrags im A8R8G8B8 Format
- //! zurück \param i Der Index des Eintrags
- DLLEXPORT int getEintragRahmenFarbe(int i) const;
- //! Gibt die Breite eines Rahmens eines Eintrags zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT int getEintragRahmenBreite(int i) const;
- //! Gibt den Farbübergang eines Eintrags zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT AlphaFeld* getEintragAlphaFeld(int i) const;
- //! Gibt den Farbübergang eines Eintrags ohne erhöhten Reference Counter
- //! zurück \param i Der Index des Eintrags
- DLLEXPORT AlphaFeld* zEintragAlphaFeld(int i) const;
- //! Gibt die Farbe eines Farbübergangs eines Eintrags im A8R8G8B8 Format
- //! zurück \param i Der Index des Eintrags
- DLLEXPORT int getEintragAlphaFeldFarbe(int i) const;
- //! Gibt die Stärke eines Farbübergangs eines Eintrags zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT int getEintragAlphaFeldStrength(int i) const;
- //! Gibt die Hintergrund Farbe eines Eintrags im A8R8G8B8 Format zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT int getEintragHintergrundFarbe(int i) const;
- //! Gibt das Hintergrund Bild eines Eintrags zurück
- //! \param i Der Index des Eintrags
- DLLEXPORT Bild* getEintragHintergrundBild(int i) const;
- //! Gibt das Hintergrund Bild eines Eintrags ohne erhöhten Reference
- //! Counter zurück \param i Der Index des Eintrags
- DLLEXPORT Bild* zEintragHintergrundBild(int i) const;
- //! Gibt den Rahmen zurück, der bei der Auswahl eines Eintrags verwendet
- //! wird
- DLLEXPORT Rahmen* getAuswRahmen() const;
- //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der bei der
- //! Auswahl eines Eintrags verwendet wird
- DLLEXPORT Rahmen* zAuswRahmen() const;
- //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der bei der
- //! Auswahl eines Eintrags verwendet wird
- DLLEXPORT int getAuswRahmenFarbe() const;
- //! Gibt die Breite des Rahmens zurück, der bei der Auswahl eines
- //! Eintrags verwendet wird
- DLLEXPORT int getAuswRahmenBreite() const;
- //! Gibt den Farbübergang zurück, der bei der Auswahl eines Eintrags
- //! verwendet wird
- DLLEXPORT AlphaFeld* getAuswAlphaFeld() const;
- //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der
- //! bei der Auswahl eines Eintrags verwendet wird
- DLLEXPORT AlphaFeld* zAuswAlphaFeld() const;
- //! Gibt die Farbe des Farbübergangs zurück, der bei der Auswahl eines
- //! Eintrags verwendet wird
- DLLEXPORT int getAuswAlphaFeldFarbe() const;
- //! Gibt die Stärke des Farbübergangs zurück, der bei der Auswahl eines
- //! Eintrags verwendet wird
- DLLEXPORT int getAuswAlphaFeldStrength() const;
- //! Gibt die Hintergrundfarbe im A8R8G8B8 Format zurück, die bei der
- //! Auswahl eines Eintrags verwendet wird
- DLLEXPORT int getAuswHintergrundFarbe() const;
- //! Gibt das Hintergrundbild zurück, das bei der Auswahl eines Eintrags
- //! verwendet wird
- DLLEXPORT Bild* getAuswHintergrundBild() const;
- //! Gibt das Hintergrundbild ohne erhöhten Reference Counter zurück, das
- //! bei der Auswahl eines Eintrags verwendet wird
- DLLEXPORT Bild* zAuswHintergrundBild() const;
- //! Gibt den Rahmen zurück, der bei dem Flag MultiStyled bei der auswahl
- //! eines bestimmten Eintrags verwendet wird \param i Der Index des
- //! Eintrags
- DLLEXPORT Rahmen* getMsAuswRahmen(int i) const;
- //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der bei dem
- //! Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet
- //! wird \param i Der Index des Eintrags
- DLLEXPORT Rahmen* zMsAuswRahmen(int i) const;
- //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der bei dem
- //! Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet
- //! wird \param i Der Index des Eintrags
- DLLEXPORT int getMsAuswRahmenFarbe(int i) const;
- //! Gibt die Breite des Rahmens zurück, der bei dem Flag MultiStyled bei
- //! der auswahl eines bestimmten Eintrags verwendet wird \param i Der
- //! Index des Eintrags
- DLLEXPORT int getMsAuswRahmenBreite(int i) const;
- //! Gibt den Farbübergang zurück, der bei dem Flag MultiStyled bei der
- //! auswahl eines bestimmten Eintrags verwendet wird \param i Der Index
- //! des Eintrags
- DLLEXPORT AlphaFeld* getMsAuswAlphaFeld(int i) const;
- //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der
- //! bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags
- //! verwendet wird \param i Der Index des Eintrags
- DLLEXPORT AlphaFeld* zMsAuswAlphaFeld(int i) const;
- //! Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der bei
- //! dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags
- //! verwendet wird \param i Der Index des Eintrags
- DLLEXPORT int getMsAuswAlphaFeldFarbe(int i) const;
- //! Gibt die Stärke des Farbübergangs zurück, der bei dem Flag
- //! MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
- //! \param i Der Index des Eintrags
- DLLEXPORT int getMsAuswAlphaFeldStrength(int i) const;
- //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die bei dem
- //! Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet
- //! wird \param i Der Index des Eintrags
- DLLEXPORT int getMsAuswHintergrundFarbe(int i) const;
- //! Gibt das Hintergrund Bild zurück, das bei dem Flag MultiStyled bei
- //! der auswahl eines bestimmten Eintrags verwendet wird \param i Der
- //! Index des Eintrags
- DLLEXPORT Bild* getMsAuswHintergrundBild(int i) const;
- //! Gibt das Hintergrund Bild ohne erhöhten Reference Counter zurück,
- //! das bei dem Flag MultiStyled bei der auswahl eines bestimmten
- //! Eintrags verwendet wird \param i Der Index des Eintrags
- DLLEXPORT Bild* zMsAuswHintergrundBild(int i) const;
- //! Gibt den Rahmen zurück, der verwendet wird, wenn die Maus auf einen
- //! Eintrag zeigt
- DLLEXPORT Rahmen* getMausRahmen() const;
- //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der
- //! verwendet wird, wenn die Maus auf einen Eintrag zeigt
- DLLEXPORT Rahmen* zMausRahmen() const;
- //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der verwendet
- //! wird, wenn die Maus auf einen Eintrag zeigt
- DLLEXPORT int getMausRahmenFarbe() const;
- //! Gibt die Breite des Rahmens zurück, der verwendet wird, wenn die
- //! Maus auf einen Eintrag zeigt
- DLLEXPORT int getMausRahmenBreite() const;
- //! Gibt den Farbübergang zurück, der verwendet wird, wenn die Maus auf
- //! einen Eintrag zeigt
- DLLEXPORT AlphaFeld* getMausAlphaFeld() const;
- //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der
- //! verwendet wird, wenn die Maus auf einen Eintrag zeigt
- DLLEXPORT AlphaFeld* zMausAlphaFeld() const;
- //! Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der
- //! verwendet wird, wenn die Maus auf einen Eintrag zeigt
- DLLEXPORT int getMausAlphaFeldFarbe() const;
- //! Gibt die Breite des Farbübergangs zurück, der verwendet wird, wenn
- //! die Maus auf einen Eintrag zeigt
- DLLEXPORT int getMausAlphaFeldStrength() const;
- //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die verwendet
- //! wird, wenn die Maus auf einen Eintrag zeigt
- DLLEXPORT int getMausHintergrundFarbe() const;
- //! Gibt das Hintergrund Bild zurück, das verwendet wird, wenn die Maus
- //! auf einen Eintrag zeigt
- DLLEXPORT Bild* getMausHintergrundBild() const;
- //! Gibt das Hintergrund Bild ohne erhöhten Reference Counter zurück,
- //! das verwendet wird, wenn die Maus auf einen Eintrag zeigt
- DLLEXPORT Bild* zMausHintergrundBild() const;
- //! Gibt den Rahmen zurück, der bei dem Flag Multistyle verwendet wird,
- //! wenn die Maus auf einen bestimmten Eintrag zeigt \param i Der Index
- //! des Eintrags
- DLLEXPORT Rahmen* getMsMausRahmen(int i) const;
- //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der bei dem
- //! Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten
- //! Eintrag zeigt \param i Der Index des Eintrags
- DLLEXPORT Rahmen* zMsMausRahmen(int i) const;
- //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der bei dem
- //! Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten
- //! Eintrag zeigt \param i Der Index des Eintrags
- DLLEXPORT int getMsMausRahmenFarbe(int i) const;
- //! Gibt die Breite des Rahmens zurück, der bei dem Flag Multistyle
- //! verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
- //! \param i Der Index des Eintrags
- DLLEXPORT int getMsMausRahmenBreite(int i) const;
- //! Gibt den Farbübergang zurück, der bei dem Flag Multistyle verwendet
- //! wird, wenn die Maus auf einen bestimmten Eintrag zeigt \param i Der
- //! Index des Eintrags
- DLLEXPORT AlphaFeld* getMsMausAlphaFeld(int i) const;
- //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der
- //! bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen
- //! bestimmten Eintrag zeigt \param i Der Index des Eintrags
- DLLEXPORT AlphaFeld* zMsMausAlphaFeld(int i) const;
- //! Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der bei
- //! dem Flag Multistyle verwendet wird, wenn die Maus auf einen
- //! bestimmten Eintrag zeigt \param i Der Index des Eintrags
- DLLEXPORT int getMsMausAlphaFeldFarbe(int i) const;
- //! Gibt die Stärke des Farbübergangs zurück, der bei dem Flag
- //! Multistyle verwendet wird, wenn die Maus auf einen bestimmten
- //! Eintrag zeigt \param i Der Index des Eintrags
- DLLEXPORT int getMsMausAlphaFeldStrength(int i) const;
- //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die bei dem
- //! Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten
- //! Eintrag zeigt \param i Der Index des Eintrags
- DLLEXPORT int getMsMausHintergrundFarbe(int i) const;
- //! Gibt das Hintergrund Bild zurück, das bei dem Flag Multistyle
- //! verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
- //! \param i Der Index des Eintrags
- DLLEXPORT Bild* getMsMausHintergrundBild(int i) const;
- //! Gibt das Hintergrund Bild ohne erhöhten Reference Counter zurück,
- //! das bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen
- //! bestimmten Eintrag zeigt \param i Der Index des Eintrags
- DLLEXPORT Bild* zMsMausHintergrundBild(int i) const;
- //! Prüft, ob ein Punkt in diesem Objekt liegt
- //! \param x die x koordinate des punktes
- //! \param y die y koordinate des punktes
- //! \return 1, wenn der punkt innen ist, 0 sonst
- DLLEXPORT bool istPunktInnen(int x, int y) const override;
- //! Prüft, ob bei dem Flag MultiStyled für einen Bestimmten Eintrag ein
- //! bestimmter Style gesetzt wurde \param i Der Index des Eintrags
- //! \param abStyle Der Style
- DLLEXPORT inline bool hatMsStyle(int i, __int64 abStyle) const;
- //! Prüft, ob bei dem Flag MultiStyled für einen Bestimmten Eintrag ein
- //! bestimmter Style nicht gesetzt wurde \param i Der Index des Eintrags
- //! \param abStyle Der Style
- DLLEXPORT inline bool hatMsStyleNicht(int i, __int64 abStyle) const;
- DLLEXPORT Zeichnung*
- dublizieren() const override; //! Erzeugt eine Kopie des Zeichnungs
- };
- } // namespace Framework
- #endif
|