Liste.h 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #ifndef Liste_H
  2. #define Liste_H
  3. #include "Zeichnung.h"
  4. #include "Array.h"
  5. namespace Framework
  6. {
  7. class LRahmen; // Rahmen.h
  8. class AlphaFeld; // AlphaFeld.h
  9. class Bild; // Bild.h
  10. class Text; // Text.h
  11. class TextFeld; // TextFeld.h
  12. class VScrollBar; // Scroll.h
  13. struct TastaturEreignis; // TastaturEreignis.h
  14. struct MausEreignis; // MausEreignis.h
  15. class Schrift; // Schrift.h
  16. class AuswahlListe; // aus dieser datei
  17. class AuswahlListe : public ZeichnungHintergrund
  18. {
  19. public:
  20. class Style : public ZeichnungHintergrund::Style
  21. {
  22. public:
  23. const static __int64 FeldRahmen = 0x0001000;
  24. const static __int64 FeldHintergrund = 0x0002000;
  25. const static __int64 FeldHBild = 0x0004000;
  26. const static __int64 FeldHAlpha = 0x0008000;
  27. const static __int64 FeldBuffer = 0x0010000;
  28. const static __int64 AuswahlHintergrund = 0x0020000;
  29. const static __int64 AuswahlHBild = 0x0040000;
  30. const static __int64 AuswahlHAlpha = 0x0080000;
  31. const static __int64 AuswahlBuffer = 0x0100000;
  32. const static __int64 AuswahlRahmen = 0x0200000;
  33. const static __int64 MultiStyled = 0x0400000;
  34. const static __int64 MultiSelect = 0x0800000;
  35. const static __int64 Ausgewählt = 0x1000000;
  36. const static __int64 Normal = Sichtbar | Erlaubt | Rahmen | FeldHAlpha | FeldHintergrund | FeldRahmen | AuswahlBuffer | AuswahlRahmen;
  37. };
  38. private:
  39. RCArray< TextFeld > *tfListe;
  40. int einträge, auswahl;
  41. int ahFarbe;
  42. Bild *ahBild;
  43. AlphaFeld *aBuffer;
  44. LRahmen *aRahmen;
  45. Array< __int64 > *styles;
  46. Array< int > *ahFarbeListe;
  47. RCArray< Bild > *ahBildListe;
  48. RCArray< AlphaFeld > *aBufferListe;
  49. RCArray< LRahmen > *aRahmenListe;
  50. Schrift *schrift;
  51. int ref;
  52. public:
  53. // Konstruktor
  54. __declspec( dllexport ) AuswahlListe();
  55. // Destruktor
  56. __declspec( dllexport ) ~AuswahlListe();
  57. // nicht constant
  58. __declspec( dllexport ) void update(); // aktualisiert die Auswahl Liste
  59. __declspec( dllexport ) void addEintrag( Text *txt ); // fügt einen Eintrag hinzu
  60. __declspec( dllexport ) void addEintrag( const char *txt );
  61. __declspec( dllexport ) void addEintrag( TextFeld *tf );
  62. __declspec( dllexport ) void addEintrag( int pos, Text *txt ); // fügt einen Eintrag bei position pos ein
  63. __declspec( dllexport ) void addEintrag( int pos, const char *txt );
  64. __declspec( dllexport ) void addEintrag( int pos, TextFeld *tf );
  65. __declspec( dllexport ) void setEintrag( int pos, Text *txt ); // ändert den pos - ten Eintrag
  66. __declspec( dllexport ) void setEintrag( int pos, unsigned char *txt );
  67. __declspec( dllexport ) void setEintrag( int pos, TextFeld *tf );
  68. __declspec( dllexport ) void setEintragPos( int vpos, int npos ); // taucht den Eintrag vpos mit dem Eintrag npos
  69. __declspec( dllexport ) void löscheEintrag( int pos ); // löscht den Eintrag pos
  70. __declspec( dllexport ) void setSchriftZ( Schrift *schrift ); // legt die Schrift der Einträge fest
  71. __declspec( dllexport ) void setVScrollZuEintrag( int eintrag ); // scrollt zum Eintrag
  72. __declspec( dllexport ) void updateVScroll(); // scrollt zur Curser Position oder nach Unten
  73. __declspec( dllexport ) void setALRZ( LRahmen *rahmen ); // setzt einen Zeiger zum Auswahl Rahmen (nur ohne MulitStyled)
  74. __declspec( dllexport ) void setALRBreite( int br ); // setzt die Breite des Auswahl Rahmens (nur ohne MultiStyled)
  75. __declspec( dllexport ) void setALRFarbe( int fc ); // setzt die Farbe des Auswahl Rahmens (nur ohne MultiStyled)
  76. __declspec( dllexport ) void setAAFZ( AlphaFeld *buffer ); // setzt einen Zeiger zum Auswahl AlpaFeld (nur ohne MultiStyled)
  77. __declspec( dllexport ) void setAAFStärke( int st ); // setzt die Stärke des Auswahl Hintergrund Buffers (nur ohne MultiStyled)
  78. __declspec( dllexport ) void setAAFFarbe( int fc ); // setzt die Farbe des Auswahl Hintergrund Buffers (nur ohne MultiStyled)
  79. __declspec( dllexport ) void setAHBild( Bild *bild ); // setzt das Auswahl Hintergrund Bild (nur ohne MultiStyled)
  80. __declspec( dllexport ) void setAHBildZ( Bild *bild ); // setzt einen Zeiger zum Auswahl Hintergrund Bild (nur ohne MultiStyled)
  81. __declspec( dllexport ) void setAHFarbe( int fc ); // setzt die Auswahl Hintergrundfarbe (nur ohne MultiStyled)
  82. __declspec( dllexport ) void setALRZ( int pos, LRahmen *rahmen ); // setzt einen Zeiger zum Auswahl Rahmen (nur mit MulitStyled)
  83. __declspec( dllexport ) void setALRBreite( int pos, int br ); // setzt die Breite des Auswahl Rahmens (nur mit MultiStyled)
  84. __declspec( dllexport ) void setALRFarbe( int pos, int fc ); // setzt die Farbe des Auswahl Rahmens (nur mit MultiStyled)
  85. __declspec( dllexport ) void setAAFZ( int pos, AlphaFeld *buffer ); // setzt einen Zeiger zum Auswahl AlpaFeld (nur mit MultiStyled)
  86. __declspec( dllexport ) void setAAFStärke( int pos, int st ); // setzt die Stärke des Auswahl Hintergrund Buffers (nur mit MultiStyled)
  87. __declspec( dllexport ) void setAAFFarbe( int pos, int fc ); // setzt die Farbe des Auswahl Hintergrund Buffers (nur mit MultiStyled)
  88. __declspec( dllexport ) void setAHBild( int pos, Bild *bild ); // setzt das Auswahl Hintergrund Bild (nur mit MultiStyled)
  89. __declspec( dllexport ) void setAHBildZ( int pos, Bild *bild ); // setzt einen Zeiger zum Auswahl Hintergrund Bild (nur mit MultiStyled)
  90. __declspec( dllexport ) void setAHFarbe( int pos, int fc ); // setzt die Auswahl Hintergrundfarbe (nur mit MultiStyled)
  91. __declspec( dllexport ) void setMsStyle( int pos, __int64 style ); // setzt den Style des Eintrags (nur mit MultiStyled)
  92. __declspec( dllexport ) void setMsStyle( int pos, __int64 style, bool add_löschen );
  93. __declspec( dllexport ) void addMsStyle( int pos, __int64 style );
  94. __declspec( dllexport ) void löscheMsStyle( int pos, __int64 style );
  95. __declspec( dllexport ) void doMausEreignis( MausEreignis &me ) override;
  96. __declspec( dllexport ) void doTastaturEreignis( TastaturEreignis &te ) override;
  97. __declspec( dllexport ) void render( Bild &zRObj ) override; // zeichnet nach zRObj
  98. __declspec( dllexport ) int getKlickEintrag( int my );
  99. __declspec( dllexport ) void setAuswahl( int ausw ); // setzt die Auswahl
  100. __declspec( dllexport ) void deSelect(); // deselectiert die Auswahl
  101. // constant
  102. __declspec( dllexport ) int getEintragAnzahl() const; // gibt die Anzahl der Einträge zurück
  103. __declspec( dllexport ) int getAuswahl() const; // gibt den ersten ausgewählten Eintrag zurück
  104. __declspec( dllexport ) int getEintragPos( Text *eintragText ); // gibt die Position des eintrages mit dem entsprechenden Textes zurück
  105. __declspec( dllexport ) TextFeld *getEintrag( int pos ) const; // gibt den pos- ten Eintrag zurück
  106. __declspec( dllexport ) TextFeld *zEintrag( int pos ) const;
  107. __declspec( dllexport ) LRahmen *getARahmen() const; // gibt den Auswahl Rahmen zurück (ohne MultiStyled)
  108. __declspec( dllexport ) LRahmen *zARahmen() const;
  109. __declspec( dllexport ) int getAHFarbe() const; // gibt die Auswahl Hintergrund Farbe zurück (ohne MultiStyled)
  110. __declspec( dllexport ) Bild *getAHBild() const; // gibt das Auswahl Hintergrund Bild zurück (ohne MultiStyled)
  111. __declspec( dllexport ) Bild *zAHBild() const;
  112. __declspec( dllexport ) AlphaFeld *getABuffer() const; // gibt den Auswahl Buffer zurück (ohne MultiStyled)
  113. __declspec( dllexport ) AlphaFeld *zABuffer() const;
  114. __declspec( dllexport ) LRahmen *getARahmen( int pos ) const; // gibt den Auswahl Rahmen zurück (mit MultiStyled)
  115. __declspec( dllexport ) LRahmen *zARahmen( int pos ) const;
  116. __declspec( dllexport ) int getAHFarbe( int pos ) const; // gibt die Auswahl Hintergrund Farbe zurück (mit MultiStyled)
  117. __declspec( dllexport ) Bild *getAHBild( int pos ) const; // gibt das Auswahl Hintergrund Bild zurück (mit MultiStyled)
  118. __declspec( dllexport ) Bild *zAHBild( int pos ) const;
  119. __declspec( dllexport ) AlphaFeld *getABuffer( int pos ) const; // gibt den Auswahl Buffer zurück (mit MultiStyled)
  120. __declspec( dllexport ) AlphaFeld *zABuffer( int pos ) const;
  121. __declspec( dllexport ) inline bool hatMsStyle( int pos, __int64 style ) const; // prüft ob style vorhanden (mit MultiStyled)
  122. __declspec( dllexport ) inline bool hatMsStyleNicht( int pos, __int64 style ) const; // prüft obt style nicht vorhanden (mit MultiStyled)
  123. // Reference Counting
  124. __declspec( dllexport ) AuswahlListe *getThis();
  125. __declspec( dllexport ) AuswahlListe *release();
  126. };
  127. }
  128. #endif