Tabelle.h 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808
  1. #ifndef Tabelle_H
  2. #define Tabelle_H
  3. #include "Array.h"
  4. #include "Zeichnung.h"
  5. namespace Framework
  6. {
  7. class Rahmen; //! Rahmen.h
  8. class AlphaFeld; //! AlphaFeld.h
  9. class VScrollBar; //! Scroll.h
  10. class HScrollBar; //! Scroll.h
  11. class Text; //! Text.h
  12. class ObjTabelle; //! aus dieser Datei
  13. //! Verwaltet eine Tabelle aus Zeichnungen
  14. class ObjTabelle : public ZeichnungHintergrund
  15. {
  16. public:
  17. class Style : public ZeichnungHintergrund::Style
  18. {
  19. public:
  20. //! Wenn dieser Flag gesetzt wird, so kann der
  21. //! Benutzer die Spalten mit der Maus vergrößern
  22. //! und verkleinern
  23. static const __int64 SpaltenBreiteChangeable = 0x00001000;
  24. //! Wenn dieser Flag gesetzt wird, so kann der
  25. //! Benutzer die Spalten mit der Maus vergrößern
  26. //! und verkleinern
  27. static const __int64 ZeilenHeightChangeable = 0x00002000;
  28. //! Wenn dieser Flag gesetzt wird, so kann der
  29. //! Nutzer trotz des Flags SpaltenBreiteÄnderbar
  30. //! die Spaltenbreite nicht kleiner machen als
  31. //! eine bestimmte Grenze
  32. static const __int64 SpaltenBreiteMin = 0x00004000;
  33. //! Wenn dieser Flag gesetzt wird, so kann der
  34. //! Nutzer trotz des Flags SpaltenBreiteÄnderbar
  35. //! die Spaltenbreite nicht größer machen als eine
  36. //! bestimmte Grenze
  37. static const __int64 SpaltenBreiteMax = 0x00008000;
  38. //! Wenn dieser Flag gesetzt wird, so kann der
  39. //! Nutzer trotz des Flags ZeilenHöheÄnderbar die
  40. //! Zeilenhöhe nicht kleiner machen als eine
  41. //! bestimmte Grenze
  42. static const __int64 ZeilenHeightMin = 0x00010000;
  43. //! Wenn dieser Flag gesetzt wird, so kann der
  44. //! Nutzer trotz des Flags ZeilenHöheÄnderbar die
  45. //! Zeilenhöhe nicht größer machen als eine
  46. //! bestimmte Grenze
  47. static const __int64 ZeilenHeightMax = 0x00020000;
  48. //! Wenn dieser Flag gesetzt wird, so kann der
  49. //! Nutzer die Reihenfolge der Spalten bestimmen,
  50. //! in dem er sie per Drag and Drop verschiebt
  51. static const __int64 SpaltenBeweglich = 0x00040000;
  52. //! Wenn dieser Flag gesetzt wird, so kann der
  53. //! Nutzer die Reihenfolge der Zeilen bestimmen,
  54. //! in dem er sie per Drag and Drop verschiebt
  55. static const __int64 ZeilenBeweglich = 0x00800000;
  56. //! Wenn dieser Flag gesetzt ist, so bekommt das
  57. //! Feld, dass der Benutzer durch den Flag Erlaubt
  58. //! auswählen kann einen anderen Rahmen
  59. static const __int64 AuswahlRahmen = 0x0080000;
  60. //! Wenn dieser Flag gesetzt ist, so bekommt das
  61. //! Feld, dass der Benutzer durch den Flag Erlaubt
  62. //! auswählen kann ein anderes AlphaFeld
  63. static const __int64 AuswahlBuffer = 0x00100000;
  64. //! Wenn dieser Flag gesetzt ist, so kann jedes
  65. //! Feld andere Rahmen und AlphaFelder beim
  66. //! Auswählen haben.
  67. static const __int64 AuswahlMultistyled = 0x00200000;
  68. //! Wenn dieser Flag gesetzt ist, so werden
  69. //! zwischen den Feldern Linien gezeichnet
  70. static const __int64 Raster = 0x00400000;
  71. //! Vereint die Flags: SpaltenBreiteÄnderbar,
  72. //! ZeilenHöheÄnderbar, SpaltenBeweglich,
  73. //! ZeilenBeweglich
  74. static const __int64 beweglich = SpaltenBreiteChangeable
  75. | ZeilenHeightChangeable
  76. | SpaltenBeweglich | ZeilenBeweglich;
  77. //! Vereint die Flags: SpaltenBreiteMax,
  78. //! SpaltenBreiteMin, ZeilenHöheMax,
  79. //! ZeilenHöheMax
  80. static const __int64 min_max = SpaltenBreiteMax | SpaltenBreiteMin
  81. | ZeilenHeightMax | ZeilenHeightMax;
  82. //! Vereint die Flags: VScroll, HScroll
  83. static const __int64 scroll = VScroll | HScroll;
  84. //! Vereint die Flags: Rahmen, Erlaubt,
  85. //! Sichtbar, SpaltenBeweglich,
  86. //! AuswahlBuffer, AuswahlRahmen, Raster
  87. static const __int64 normal
  88. = Rahmen | Erlaubt | Sichtbar | AuswahlBuffer | AuswahlRahmen
  89. | Raster | MEIgnoreInside | MEIgnoreParentInside
  90. | MEIgnoreSichtbar | MEIgnoreVerarbeitet;
  91. };
  92. private:
  93. RCArray<RCArray<Zeichnung>>* members;
  94. RCArray<Text>* spaltenNamen;
  95. RCArray<Text>* zeilenNamen;
  96. Array<int>* spaltenBreite;
  97. Array<int>* zeilenHeight;
  98. Array<int>* minSpaltenBreite;
  99. Array<int>* maxSpaltenBreite;
  100. Array<int>* minZeilenHeight;
  101. Array<int>* maxZeilenHeight;
  102. int spaltenAnzahl, zeilenAnzahl;
  103. int klickSpalte;
  104. int klickZeile;
  105. double mSpalte, mZeile;
  106. int mx, my;
  107. Punkt selected;
  108. int rasterFarbe;
  109. int rasterBreite;
  110. Rahmen* aRam;
  111. AlphaFeld* aAf;
  112. RCArray<RCArray<Rahmen>>* msaRam;
  113. RCArray<RCArray<AlphaFeld>>* msaAf;
  114. RCArray<Array<__int64>>* styles;
  115. //! Verarbeitet Maus Nachrichten
  116. //! \param me Das Ereignis, was durch die Mauseingabe ausgelößt wurde
  117. DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
  118. public:
  119. //! Konstruktor
  120. DLLEXPORT ObjTabelle();
  121. //! Destruktor
  122. DLLEXPORT virtual ~ObjTabelle();
  123. //! Fügt der Tabelle eine Spalte hinzu
  124. //! \param name Der Name der Spalte
  125. DLLEXPORT void addSpalte(const char* name);
  126. //! Fügt der Tabelle eine Spalte hinzu
  127. //! \param name Der Name der Spalte
  128. DLLEXPORT void addSpalte(Text* name);
  129. //! Fügt der Tabelle an einer bestimmten Position eine Spalte hinzu
  130. //! \param sNum Der Index der neuen Spalte
  131. //! \param name Der Name der neuen Spalte
  132. DLLEXPORT void addSpalte(int sNum, const char* name);
  133. //! Fügt der Tabelle an einer bestimmten Position eine Spalte hinzu
  134. //! \param sNum Der Index der neuen Spalte
  135. //! \param name Der Name der neuen Spalte
  136. DLLEXPORT void addSpalte(int sNum, Text* name);
  137. //! Fügt der Tabelle eine Zeile hinzu
  138. //! \param name Der Name der Zeile
  139. DLLEXPORT void addZeile(const char* name);
  140. //! Fügt der Tabelle eine Zeile hinzu
  141. //! \param name Der Name der Zeile
  142. DLLEXPORT void addZeile(Text* name);
  143. //! Fügt der Tabelle an einer bestimmten Position eine Zeile hinzu
  144. //! \param zNum Der Index der neuen Zeile
  145. //! \param name Der Name der neuen Zeile
  146. DLLEXPORT void addZeile(int zNum, const char* name);
  147. //! Fügt der Tabelle an einer bestimmten Position eine Zeile hinzu
  148. //! \param sNum Der Index der neuen Zeile
  149. //! \param name Der Name der neuen Zeile
  150. DLLEXPORT void addZeile(int zNum, Text* name);
  151. //! Entfernt eine Spalte
  152. //! \param sNum Der Index der Spalte
  153. DLLEXPORT void removeSpalte(int sNum);
  154. //! Entfernt eine Spalte
  155. //! \param name Der Name der Spalte
  156. DLLEXPORT void removeSpalte(const char* name);
  157. //! Entfernt eine Spalte
  158. //! \param name Der Name der Spalte
  159. DLLEXPORT void removeSpalte(Text* name);
  160. //! Entfernt eine Zeile
  161. //! \param zNum Der Index der Zeile
  162. DLLEXPORT void removeZeile(int zNum);
  163. //! Entfernt eine Zeile
  164. //! \param name Der Name der Zeile
  165. DLLEXPORT void removeZeile(const char* name);
  166. //! Entfernt eine Zeile
  167. //! \param name Der Name der Zeile
  168. DLLEXPORT void removeZeile(Text* name);
  169. //! Setzt den Index einer Spalte
  170. //! \param name Der Name der Spalte
  171. //! \param pos Der neue Index der Spalte
  172. DLLEXPORT void setSpaltePosition(const char* name, int pos);
  173. //! Setzt den Index einer Spalte
  174. //! \param name Der Name der Spalte
  175. //! \param pos Der neue Index der Spalte
  176. DLLEXPORT void setSpaltePosition(Text* name, int pos);
  177. //! Setzt den Index einer Spalte
  178. //! \param sNum Der alte Index der Spalte
  179. //! \param pos Der neue Index der Spalte
  180. DLLEXPORT void setSpaltePosition(int sNum, int pos);
  181. //! Setzt den Index einer Zeile
  182. //! \param name Der Name der Zeile
  183. //! \param pos Der neue Index der Zeile
  184. DLLEXPORT void setZeilePosition(const char* name, int pos);
  185. //! Setzt den Index einer Zeile
  186. //! \param name Der Name der Zeile
  187. //! \param pos Der neue Index der Zeile
  188. DLLEXPORT void setZeilePosition(Text* name, int pos);
  189. //! Setzt den Index einer Zeile
  190. //! \param zNum Der alte Index der Zeile
  191. //! \param pos Der neue Index der Zeile
  192. DLLEXPORT void setZeilePosition(int zNum, int pos);
  193. //! Setzt ein Zeichnung, welches in einem Bestimmten Feld sein soll
  194. //! Wenn bereits ein Zeichnung in dem Feld ist, wird es überschrieben.
  195. //! \param sNum Der Index der Spalte, in der das Zeichnung stehen soll
  196. //! \param zNum Der Index der Zeile, in der das Zeichnung stehen soll
  197. //! \param obj Das Zeichnung welches in dem Feld sein soll
  198. DLLEXPORT void setZeichnungZ(int sNum, int zNum, Zeichnung* obj);
  199. //! Setzt ein Zeichnung, welches in einem Bestimmten Feld sein soll
  200. //! Wenn bereits ein Zeichnung in dem Feld ist, wird es überschrieben.
  201. //! \param spaltenName Der Name der Spalte, in der das Zeichnung stehen
  202. //! soll \param zeilenName Der Name der Zeile, in der das Zeichnung
  203. //! stehen soll \param obj Das Zeichnung welches in dem Feld sein soll
  204. DLLEXPORT void setZeichnungZ(
  205. const char* spaltenName, const char* zeilenName, Zeichnung* obj);
  206. //! Setzt ein Zeichnung, welches in einem Bestimmten Feld sein soll
  207. //! Wenn bereits ein Zeichnung in dem Feld ist, wird es überschrieben.
  208. //! \param spaltenName Der Name der Spalte, in der das Zeichnung stehen
  209. //! soll \param zeilenName Der Name der Zeile, in der das Zeichnung
  210. //! stehen soll \param obj Das Zeichnung welches in dem Feld sein soll
  211. DLLEXPORT void setZeichnungZ(
  212. Text* spaltenName, Text* zeilenName, Zeichnung* obj);
  213. //! Setzt die Spalten Breite
  214. //! \param sNum Der Index der Spalte
  215. //! \param br Die Breite in Pixeln
  216. DLLEXPORT void setSpaltenBreite(int sNum, int br);
  217. //! Setzt die Spalten Breite
  218. //! \param name Der Name der Spalte
  219. //! \param br Die Breite in Pixeln
  220. DLLEXPORT void setSpaltenBreite(const char* name, int br);
  221. //! Setzt die Spalten Breite
  222. //! \param name Der Name der Spalte
  223. //! \param br Die Breite in Pixeln
  224. DLLEXPORT void setSpaltenBreite(Text* name, int br);
  225. //! Setzt die Zeilen Höhe
  226. //! \param zNum Der Index der Zeile
  227. //! \param hi Die Höhe in Pixeln
  228. DLLEXPORT void setZeilenHeight(int zNum, int hi);
  229. //! Setzt die Zeilen Höhe
  230. //! \param name Der Index der Zeile
  231. //! \param hi Die Höhe in Pixeln
  232. DLLEXPORT void setZeilenHeight(const char* name, int hi);
  233. //! Setzt die Zeilen Höhe
  234. //! \param name Der Index der Zeile
  235. //! \param hi Die Höhe in Pixeln
  236. DLLEXPORT void setZeilenHeight(Text* name, int hi);
  237. //! Setzt die minimale Spalten Breite (benötigt Flag:
  238. //! SpaltenBreiteÄnderbar, SpaltenBreiteMin) \param sNum Der Index der
  239. //! Spalte \param minBr Die minimale Breite in Pixeln
  240. DLLEXPORT void setMinSpaltenBreite(int sNum, int minBr);
  241. //! Setzt die minimale Spalten Breite (benötigt Flag:
  242. //! SpaltenBreiteÄnderbar, SpaltenBreiteMin) \param name Der Name der
  243. //! Spalte \param minBr Die minimale Breite in Pixeln
  244. DLLEXPORT void setMinSpaltenBreite(const char* name, int minBr);
  245. //! Setzt die minimale Spalten Breite (benötigt Flag:
  246. //! SpaltenBreiteÄnderbar, SpaltenBreiteMin) \param name Der Name der
  247. //! Spalte \param minBr Die minimale Breite in Pixeln
  248. DLLEXPORT void setMinSpaltenBreite(Text* name, int minBr);
  249. //! Setzt die maximale Spalten Breite (benötigt Flag:
  250. //! SpaltenBreiteÄnderbar, SpaltenBreiteMax) \param sNum Der Index der
  251. //! Spalte \param maxBr Die maximale Breite in Pixeln
  252. DLLEXPORT void setMaxSpaltenBreite(int sNum, int maxBr);
  253. //! Setzt die maximale Spalten Breite (benötigt Flag:
  254. //! SpaltenBreiteÄnderbar, SpaltenBreiteMax) \param name Der Name der
  255. //! Spalte \param maxBr Die maximale Breite in Pixeln
  256. DLLEXPORT void setMaxSpaltenBreite(const char* name, int maxBr);
  257. //! Setzt die maximale Spalten Breite (benötigt Flag:
  258. //! SpaltenBreiteÄnderbar, SpaltenBreiteMax) \param name Der Name der
  259. //! Spalte \param maxBr Die maximale Breite in Pixeln
  260. DLLEXPORT void setMaxSpaltenBreite(Text* name, int maxBr);
  261. //! Setzt die minimale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar,
  262. //! ZeienHöheMin) \param zNum Der Index der Zeile \param minHi Die
  263. //! minimale Höhe in Pixeln
  264. DLLEXPORT void setMinZeilenHeight(int zNum, int minHi);
  265. //! Setzt die minimale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar,
  266. //! ZeienHöheMin) \param name Der Name der Zeile \param minHi Die
  267. //! minimale Höhe in Pixeln
  268. DLLEXPORT void setMinZeilenHeight(const char* name, int minHi);
  269. //! Setzt die minimale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar,
  270. //! ZeienHöheMin) \param name Der Name der Zeile \param minHi Die
  271. //! minimale Höhe in Pixeln
  272. DLLEXPORT void setMinZeilenHeight(Text* name, int minHi);
  273. //! Setzt die maximale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar,
  274. //! ZeienHöheMax) \param zNum Der Index der Zeile \param maxHi Die
  275. //! maximale Höhe in Pixeln
  276. DLLEXPORT void setMaxZeilenHeight(int zNum, int maxHi);
  277. //! Setzt die maximale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar,
  278. //! ZeienHöheMax) \param name Der Name der Zeile \param maxHi Die
  279. //! maximale Höhe in Pixeln
  280. DLLEXPORT void setMaxZeilenHeight(const char* name, int maxHi);
  281. //! Setzt die maximale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar,
  282. //! ZeienHöheMax) \param name Der Name der Zeile \param maxHi Die
  283. //! maximale Höhe in Pixeln
  284. DLLEXPORT void setMaxZeilenHeight(Text* name, int maxHi);
  285. //! Legt fest, welches Feld ausgewählt ist (benötigt Flag: Erlaubt)
  286. //! \param sNum Der Index der Spalte des Feldes
  287. //! \param zNum Der Index der Zeile des Feldes
  288. DLLEXPORT void setAuswahl(int sNum, int zNum);
  289. //! Legt fest, welches Feld ausgewählt ist (benötigt Flag: Erlaubt)
  290. //! \param spaltenName Der Name der Spalte des Feldes
  291. //! \param zeilenName Der Name der Zeile des Feldes
  292. DLLEXPORT void setAuswahl(
  293. const char* spaltenName, const char* zeilenName);
  294. //! Legt fest, welches Feld ausgewählt ist (benötigt Flag: Erlaubt)
  295. //! \param spaltenName Der Name der Spalte des Feldes
  296. //! \param zeilenName Der Name der Zeile des Feldes
  297. DLLEXPORT void setAuswahl(Text* spaltenName, Text* zeilenName);
  298. //! Setzt dei Farbe des zwischen den Kästchen angezeigten Rasters
  299. //! \param f Die Farbe im A8R8G8B8 Format
  300. DLLEXPORT void setRasterFarbe(int f);
  301. //! Setzt due Breite des zwischen den Kästchen angezeigten Raseter
  302. //! \param br Die Breite in Pixeln
  303. DLLEXPORT void setRasterBreite(int br);
  304. //! Setzte den Zeiger auf einen Rahmen, der um das ausgewählte Kästchen
  305. //! gezeichnet wird \param ram Der Rahmen
  306. DLLEXPORT void setARahmenZ(Rahmen* ram);
  307. //! Setzt die farbe des Rahmens, der um das ausgewählte Kästchen
  308. //! gezeichnet wird \param f Die Farbe im A8R8G8B8 Format
  309. DLLEXPORT void setARFarbe(int f);
  310. //! Setzt die Breite des Rahmens, der um das ausgewählte Kästchen
  311. //! gezeichnet wird \param br Die Breite in Pixeln
  312. DLLEXPORT void setARBreite(int br);
  313. //! Setzt einen Zeiger auf das AlphaFeld, das für das ausgewählte
  314. //! Kästchen verwendet wird \param af Das AlphaFeld
  315. DLLEXPORT void setAAlphaFeldZ(AlphaFeld* af);
  316. //! Setzt die Farbe des AlphaFeldes, das für das ausgewählte Kästchen
  317. //! verwendet wird \param f Die Farbe im A8R8G8B8 Format
  318. DLLEXPORT void setAAfFarbe(int f);
  319. //! Setzt die Stärke des AlphaFeldes, das für das ausgewählte Kästchen
  320. //! verwendet wird \param st Die Stärke
  321. DLLEXPORT void setAAfStrength(int st);
  322. //! Setzt einen Zeiger auf einen Rahmen, der bei dem Flag
  323. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  324. //! verwendte wird \param sNum Der Index der Spalte des Kästchens \param
  325. //! zNum Der Index der Zeile des Kästchens \param ram Der Rahmen
  326. DLLEXPORT void setARahmenZ(int sNum, int zNum, Rahmen* ram);
  327. //! Setzt einen Zeiger auf einen Rahmen, der bei dem Flag
  328. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  329. //! verwendte wird \param spaltenName Der Name der Spalte des Kästchens
  330. //! \param zeilenName Der Name der Zeile des Kästchens
  331. //! \param ram Der Rahmen
  332. DLLEXPORT void setARahmenZ(
  333. const char* spaltenName, const char* zeilenName, Rahmen* ram);
  334. //! Setzt einen Zeiger auf einen Rahmen, der bei dem Flag
  335. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  336. //! verwendte wird \param spaltenName Der Name der Spalte des Kästchens
  337. //! \param zeilenName Der Name der Zeile des Kästchens
  338. //! \param ram Der Rahmen
  339. DLLEXPORT void setARahmenZ(
  340. Text* spaltenName, Text* zeilenName, Rahmen* ram);
  341. //! Setzt die Farbe von einem Rahmen, der bei dem Flag
  342. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  343. //! verwendte wird \param sNum Der Index der Spalte des Kästchens \param
  344. //! zNum Der Index der Zeile des Kästchens \param f Die Farbe im
  345. //! A8R8G8B8 Format
  346. DLLEXPORT void setARFarbe(int sNum, int zNum, int f);
  347. //! Setzt die Farbe von einem Rahmen, der bei dem Flag
  348. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  349. //! verwendte wird \param spaltenName Der Name der Spalte des Kästchens
  350. //! \param zeilenName Der Name der Zeile des Kästchens
  351. //! \param f Die Farbe im A8R8G8B8 Format
  352. DLLEXPORT void setARFarbe(
  353. const char* spaltenName, const char* zeilenName, int f);
  354. //! Setzt die Farbe von einem Rahmen, der bei dem Flag
  355. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  356. //! verwendte wird \param spaltenName Der Name der Spalte des Kästchens
  357. //! \param zeilenName Der Name der Zeile des Kästchens
  358. //! \param f Die Farbe im A8R8G8B8 Format
  359. DLLEXPORT void setARFarbe(Text* spaltenName, Text* zeilenName, int f);
  360. //! Setzt die Breite von einem Rahmen, der bei dem Flag
  361. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  362. //! verwendte wird \param sNum Der Index der Spalte des Kästchens \param
  363. //! zNum Der Index der Zeile des Kästchens \param br Die Breite in
  364. //! Pixeln
  365. DLLEXPORT void setARBreite(int sNum, int zNum, int br);
  366. //! Setzt die Breite von einem Rahmen, der bei dem Flag
  367. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  368. //! verwendte wird \param spaltenName Der Name der Spalte des Kästchens
  369. //! \param zeilenName Der Name der Zeile des Kästchens
  370. //! \param br Die Breite in Pixeln
  371. DLLEXPORT void setARBreite(
  372. const char* spaltenName, const char* zeilenName, int br);
  373. //! Setzt die Breite von einem Rahmen, der bei dem Flag
  374. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  375. //! verwendte wird \param spaltenName Der Name der Spalte des Kästchens
  376. //! \param zeilenName Der Name der Zeile des Kästchens
  377. //! \param br Die Breite in Pixeln
  378. DLLEXPORT void setARBreite(Text* spaltenName, Text* zeilenName, int br);
  379. //! Setzt den Farbüergang, der bei dem Flag AuswahlMultistyled bei der
  380. //! Auswahl eines bestimmten Kästchens verwendte wird \param sNum Der
  381. //! Index der Spalte des Kästchens \param zNum Der Index der Zeile des
  382. //! Kästchens \param af Der Farbübergang
  383. DLLEXPORT void setAAlphaFeldZ(int sNum, int zNum, AlphaFeld* af);
  384. //! Setzt den Farbüergang, der bei dem Flag AuswahlMultistyled bei der
  385. //! Auswahl eines bestimmten Kästchens verwendte wird \param spaltenName
  386. //! Der Name der Spalte des Kästchens \param zeilenName Der Name der
  387. //! Zeile des Kästchens \param af Der Farbübergang
  388. DLLEXPORT void setAAlphaFeldZ(
  389. const char* spaltenName, const char* zeilenName, AlphaFeld* af);
  390. //! Setzt den Farbüergang, der bei dem Flag AuswahlMultistyled bei der
  391. //! Auswahl eines bestimmten Kästchens verwendte wird \param spaltenName
  392. //! Der Name der Spalte des Kästchens \param zeilenName Der Name der
  393. //! Zeile des Kästchens \param af Der Farbübergang
  394. DLLEXPORT void setAAlphaFeldZ(
  395. Text* spaltenName, Text* zeilenName, AlphaFeld* af);
  396. //! Setzt die Farbe des Farbüergangs, der bei dem Flag
  397. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  398. //! verwendte wird \param sNum Der Index der Spalte des Kästchens \param
  399. //! zNum Der Index der Zeile des Kästchens \param f Die Farbe im
  400. //! A8R8G8B8 Format
  401. DLLEXPORT void setAAfFarbe(int sNum, int zNum, int f);
  402. //! Setzt die Farbe des Farbüergangs, der bei dem Flag
  403. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  404. //! verwendte wird \param spaltenName Der Name der Spalte des Kästchens
  405. //! \param zeilenName Der Name der Zeile des Kästchens
  406. //! \param f Die Farbe im A8R8G8B8 Format
  407. DLLEXPORT void setAAfFarbe(
  408. const char* spaltenName, const char* zeilenName, int f);
  409. //! Setzt die Farbe des Farbüergangs, der bei dem Flag
  410. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  411. //! verwendte wird \param spaltenName Der Name der Spalte des Kästchens
  412. //! \param zeilenName Der Name der Zeile des Kästchens
  413. //! \param f Die Farbe im A8R8G8B8 Format
  414. DLLEXPORT void setAAfFarbe(Text* spaltenName, Text* zeilenName, int f);
  415. //! Setzt die Stärke des Farbüergangs, der bei dem Flag
  416. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  417. //! verwendte wird \param sNum Der Index der Spalte des Kästchens \param
  418. //! zNum Der Index der Zeile des Kästchens \param st Die Stärke
  419. DLLEXPORT void setAAfStrength(int sNum, int zNum, int st);
  420. //! Setzt die Stärke des Farbüergangs, der bei dem Flag
  421. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  422. //! verwendte wird \param spaltenName Der Name der Spalte des Kästchens
  423. //! \param zeilenName Der Name der Zeile des Kästchens
  424. //! \param st Die Stärke
  425. DLLEXPORT void setAAfStrength(
  426. const char* spaltenName, const char* zeilenName, int st);
  427. //! Setzt die Stärke des Farbüergangs, der bei dem Flag
  428. //! AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens
  429. //! verwendte wird \param spaltenName Der Name der Spalte des Kästchens
  430. //! \param zeilenName Der Name der Zeile des Kästchens
  431. //! \param st Die Stärke
  432. DLLEXPORT void setAAfStrength(
  433. Text* spaltenName, Text* zeilenName, int st);
  434. //! Fügt Styles hinzu, die bei dem Flag AuswahlMultistyled bei der
  435. //! Auswahl eines bestimmten Kästchens verwendte werden \param sNum Der
  436. //! Index der Spalte des Kästchens \param zNum Der Index der Zeile des
  437. //! Kästchens \param style der Style, der hinzugefügt werden soll
  438. DLLEXPORT void addMsStyle(int sNum, int zNum, __int64 style);
  439. //! Fügt Styles hinzu, die bei dem Flag AuswahlMultistyled bei der
  440. //! Auswahl eines bestimmten Kästchens verwendte werden \param
  441. //! spaltenName Der Name der Spalte des Kästchens \param zeilenName Der
  442. //! Name der Zeile des Kästchens \param style der Style, der hinzugefügt
  443. //! werden soll
  444. DLLEXPORT void addMsStyle(
  445. const char* spaltenName, const char* zeilenName, __int64 style);
  446. //! Fügt Styles hinzu, die bei dem Flag AuswahlMultistyled bei der
  447. //! Auswahl eines bestimmten Kästchens verwendte werden \param
  448. //! spaltenName Der Name der Spalte des Kästchens \param zeilenName Der
  449. //! Name der Zeile des Kästchens \param style der Style, der hinzugefügt
  450. //! werden soll
  451. DLLEXPORT void addMsStyle(
  452. Text* spaltenName, Text* zeilenName, __int64 style);
  453. //! Setzt die Styles, die bei dem Flag AuswahlMultistyled bei der
  454. //! Auswahl eines bestimmten Kästchens verwendte werden \param sNum Der
  455. //! Index der Spalte des Kästchens \param zNum Der Index der Zeile des
  456. //! Kästchens \param style der Style, der verwendet werden soll
  457. DLLEXPORT void setMsStyle(int sNum, int zNum, __int64 style);
  458. //! Setzt die Styles, die bei dem Flag AuswahlMultistyled bei der
  459. //! Auswahl eines bestimmten Kästchens verwendte werden \param
  460. //! spaltenName Der Name der Spalte des Kästchens \param zeilenName Der
  461. //! Name der Zeile des Kästchens \param style der Style, der verwendet
  462. //! werden soll
  463. DLLEXPORT void setMsStyle(
  464. const char* spaltenName, const char* zeilenName, __int64 style);
  465. //! Setzt die Styles, die bei dem Flag AuswahlMultistyled bei der
  466. //! Auswahl eines bestimmten Kästchens verwendte werden \param
  467. //! spaltenName Der Name der Spalte des Kästchens \param zeilenName Der
  468. //! Name der Zeile des Kästchens \param style der Style, der verwendet
  469. //! werden soll
  470. DLLEXPORT void setMsStyle(
  471. Text* spaltenName, Text* zeilenName, __int64 style);
  472. //! Setzt die Styles, die bei dem Flag AuswahlMultistyled bei der
  473. //! Auswahl eines bestimmten Kästchens verwendte werden \param sNum Der
  474. //! Index der Spalte des Kästchens \param zNum Der Index der Zeile des
  475. //! Kästchens \param style der Style, der verwendet werden soll
  476. //! add_remove: 1, falls die übergebenen Styles hinzugefügt werden
  477. //! sollen. 0, fals sie entfernt werden sollen
  478. DLLEXPORT void setMsStyle(
  479. int sNum, int zNum, __int64 style, bool add_remove);
  480. //! Setzt die Styles, die bei dem Flag AuswahlMultistyled bei der
  481. //! Auswahl eines bestimmten Kästchens verwendte werden \param
  482. //! spaltenName Der Name der Spalte des Kästchens \param zeilenName Der
  483. //! Name der Zeile des Kästchens \param style der Style, der verwendet
  484. //! werden soll
  485. //! add_remove: 1, falls die übergebenen Styles hinzugefügt werden
  486. //! sollen. 0, fals sie entfernt werden sollen
  487. DLLEXPORT void setMsStyle(const char* spaltenName,
  488. const char* zeilenName,
  489. __int64 style,
  490. bool add_remove);
  491. //! Setzt die Styles, die bei dem Flag AuswahlMultistyled bei der
  492. //! Auswahl eines bestimmten Kästchens verwendte werden \param
  493. //! spaltenName Der Name der Spalte des Kästchens \param zeilenName Der
  494. //! Name der Zeile des Kästchens \param style der Style, der verwendet
  495. //! werden soll
  496. //! add_remove: 1, falls die übergebenen Styles hinzugefügt werden
  497. //! sollen. 0, fals sie entfernt werden sollen
  498. DLLEXPORT void setMsStyle(Text* spaltenName,
  499. Text* zeilenName,
  500. __int64 style,
  501. bool add_remove);
  502. //! Entfernt Styles von den Styles, die bei dem Flag AuswahlMultistyled
  503. //! bei der Auswahl eines bestimmten Kästchens verwendte werden \param
  504. //! sNum Der Index der Spalte des Kästchens \param zNum Der Index der
  505. //! Zeile des Kästchens \param style der Style, der entfernt werden soll
  506. DLLEXPORT void removeMsStyle(int sNum, int zNum, __int64 style);
  507. //! Entfernt Styles von den Styles, die bei dem Flag AuswahlMultistyled
  508. //! bei der Auswahl eines bestimmten Kästchens verwendte werden \param
  509. //! spaltenName Der Name der Spalte des Kästchens \param zeilenName Der
  510. //! Name der Zeile des Kästchens \param style der Style, der entfernt
  511. //! werden soll
  512. DLLEXPORT void removeMsStyle(
  513. const char* spaltenName, const char* zeilenName, __int64 style);
  514. //! Entfernt Styles von den Styles, die bei dem Flag AuswahlMultistyled
  515. //! bei der Auswahl eines bestimmten Kästchens verwendte werden \param
  516. //! spaltenName Der Name der Spalte des Kästchens \param zeilenName Der
  517. //! Name der Zeile des Kästchens \param style der Style, der entfernt
  518. //! werden soll
  519. DLLEXPORT void removeMsStyle(
  520. Text* spaltenName, Text* zeilenName, __int64 style);
  521. //! Aktualisiert das Objekt. Wird vom Framework aufgerufen
  522. //! \param tickVal Die Zeit in sekunden, die seit dem lezten Aufruf
  523. //! dieser Funktion vergangen ist \return 1, wenn sich etwas verändert
  524. //! hat und das Bild neu gezeichnet werden muss. 0 sonst
  525. DLLEXPORT bool tick(double tickVal) override;
  526. //! Verarbeitet Tastatur Nachrichten
  527. //! \param me Das Ereignis, was durch die Tastatureingabe ausgelößt
  528. //! wurde
  529. DLLEXPORT void doTastaturEreignis(TastaturEreignis& te) override;
  530. //! Zeichnet das Objekt nach zRObj, falls er sichtbar ist
  531. //! \param zRObj Das Bild, in welches gezeichnet werden soll
  532. DLLEXPORT void render(Bild& zRObj) override;
  533. //! Gibt die Anzahl der Spalten zurück
  534. DLLEXPORT int getSpaltenAnzahl() const;
  535. //! Gibt die Anzahl der Zeilen zurück
  536. DLLEXPORT int getZeilenAnzahl() const;
  537. //! Gibt den Index einer Spalte zurück
  538. //! \param name Der Name der Spalte
  539. DLLEXPORT int getSpaltenNummer(const char* name) const;
  540. //! Gibt den Index einer Spalte zurück
  541. //! \param name Der Name der Spalte
  542. DLLEXPORT int getSpaltenNummer(Text* name) const;
  543. //! Gibt den Namen einer Spalte zurück
  544. //! \param num Der Index der Splate
  545. DLLEXPORT Text* getSpaltenName(int num) const;
  546. //! Gibt den Namen einer Spalte ohne erhöhten reference Counter zurück
  547. //! \param num Der Index der Splate
  548. DLLEXPORT Text* zSpaltenName(int num) const;
  549. //! Gibt den Index einer Zeile zurück
  550. //! \param name Der Name der Zeile
  551. DLLEXPORT int getZeilenNummer(const char* name) const;
  552. //! Gibt den Index einer Zeile zurück
  553. //! \param name Der Name der Zeile
  554. DLLEXPORT int getZeilenNummer(Text* name) const;
  555. //! Gibt den Namen einer Zeile zurück
  556. //! \param num Der Index der Zeile
  557. DLLEXPORT Text* getZeilenName(int num) const;
  558. //! Gibt den Namen einer Zeile ohne erhöhten Reference Counter zurück
  559. //! \param num Der Index der Zeile
  560. DLLEXPORT Text* zZeilenName(int num) const;
  561. //! Sucht eine Zeichnung in der Tabelle und gibt den Index der Spalte
  562. //! als x und den der Zeile als y zurück. (-1, -1) falls das Objekt
  563. //! nicht gefunden wurde \param zObj Die Zeichnung (ohne erhöhten
  564. //! reference Counter)
  565. DLLEXPORT Punkt getZeichnungPosition(Zeichnung* zObj) const;
  566. //! Gibt die Zeichnung zurück, die in einem bestimmten Kästchen der
  567. //! Tabelle ist (ohne erhöhten reference Counter) \param sNum Der Index
  568. //! der Spalte \param zNum Der Index der Zeile
  569. DLLEXPORT Zeichnung* zZeichnung(int sNum, int zNum) const;
  570. //! Gibt die Zeichnung zurück, die in einem bestimmten Kästchen der
  571. //! Tabelle ist (ohne erhöhten reference Counter) \param spaltenName Der
  572. //! Name der Spalte des Kästchens \param zeilenName Der Name der Zeile
  573. //! des Kästchens
  574. DLLEXPORT Zeichnung* zZeichnung(
  575. const char* spaltenName, const char* zeilenName) const;
  576. //! Gibt die Zeichnung zurück, die in einem bestimmten Kästchen der
  577. //! Tabelle ist (ohne erhöhten reference Counter) \param spaltenName Der
  578. //! Name der Spalte des Kästchens \param zeilenName Der Name der Zeile
  579. //! des Kästchens
  580. DLLEXPORT Zeichnung* zZeichnung(
  581. Text* spaltenName, Text* zeilenName) const;
  582. //! Gibt die Zeichnung zurück, die in einem bestimmten Kästchen der
  583. //! Tabelle ist \param sNum Der Index der Spalte \param zNum Der Index
  584. //! der Zeile
  585. DLLEXPORT Zeichnung* getZeichnung(int sNum, int zNum) const;
  586. //! Gibt die Zeichnung zurück, die in einem bestimmten Kästchen der
  587. //! Tabelle ist \param spaltenName Der Name der Spalte des Kästchens
  588. //! \param zeilenName Der Name der Zeile des Kästchens
  589. DLLEXPORT Zeichnung* getZeichnung(
  590. const char* spaltenName, const char* zeilenName) const;
  591. //! Gibt die Zeichnung zurück, die in einem bestimmten Kästchen der
  592. //! Tabelle ist \param spaltenName Der Name der Spalte des Kästchens
  593. //! \param zeilenName Der Name der Zeile des Kästchens
  594. DLLEXPORT Zeichnung* getZeichnung(
  595. Text* spaltenName, Text* zeilenName) const;
  596. //! Gibt die Breite einer Spalte in Pixeln zurück
  597. //! \param num Der Index der Spalte
  598. DLLEXPORT int getSpaltenBreite(int num) const;
  599. //! Gibt die Breite einer Spalte in Pixeln zurück
  600. //! \param name Der Name der Spalte
  601. DLLEXPORT int getSpaltenBreite(const char* name) const;
  602. //! Gibt die Breite einer Spalte in Pixeln zurück
  603. //! \param name Der Name der Spalte
  604. DLLEXPORT int getSpaltenBreite(Text* name) const;
  605. //! Gibt die Höhe einer Zeile in Pixeln zurück
  606. //! \param num Der Index der Zeile
  607. DLLEXPORT int getZeilenHeight(int num) const;
  608. //! Gibt die Höhe einer Zeile in Pixeln zurück
  609. //! \param name Der Name der Zeile
  610. DLLEXPORT int getZeilenHeight(const char* name) const;
  611. //! Gibt die Höhe einer Zeile in Pixeln zurück
  612. //! \param name Der Name der Zeile
  613. DLLEXPORT int getZeilenHeight(Text* name) const;
  614. //! Gibt die minimale Spalten breite in Pixeln zurück
  615. //! \param num Der Index der Spalte
  616. DLLEXPORT int getMinSpaltenBreite(int num) const;
  617. //! Gibt die minimale Spalten breite in Pixeln zurück
  618. //! \param name Der Name der Spalte
  619. DLLEXPORT int getMinSpaltenBreite(const char* name) const;
  620. //! Gibt die minimale Spalten breite in Pixeln zurück
  621. //! \param name Der Name der Spalte
  622. DLLEXPORT int getMinSpaltenBreite(Text* name) const;
  623. //! Gibt die maximale Spalten breite in Pixeln zurück
  624. //! \param num Der Index der Spalte
  625. DLLEXPORT int getMaxSpaltenBreite(int num) const;
  626. //! Gibt die maximale Spalten breite in Pixeln zurück
  627. //! \param name Der Name der Spalte
  628. DLLEXPORT int getMaxSpaltenBreite(const char* name) const;
  629. //! Gibt die maximale Spalten breite in Pixeln zurück
  630. //! \param name Der Name der Spalte
  631. DLLEXPORT int getMaxSpaltenBreite(Text* name) const;
  632. //! Gibt die minimale Zeilen Höhe in Pixeln zurück
  633. //! \param num Der Index der Zeile
  634. DLLEXPORT int getMinZeilenHeight(int num) const;
  635. //! Gibt die minimale Zeilen Höhe in Pixeln zurück
  636. //! \param name Der Name der Zeile
  637. DLLEXPORT int getMinZeilenHeight(const char* name) const;
  638. //! Gibt die minimale Zeilen Höhe in Pixeln zurück
  639. //! \param name Der Name der Zeile
  640. DLLEXPORT int getMinZeilenHeight(Text* name) const;
  641. //! Gibt die maximale Zeilen Höhe in Pixeln zurück
  642. //! \param num Der Index der Zeile
  643. DLLEXPORT int getMaxZeilenHeight(int num) const;
  644. //! Gibt die maximale Zeilen Höhe in Pixeln zurück
  645. //! \param name Der Name der Zeile
  646. DLLEXPORT int getMaxZeilenHeight(const char* name) const;
  647. //! Gibt die maximale Zeilen Höhe in Pixeln zurück
  648. //! \param name Der Name der Zeile
  649. DLLEXPORT int getMaxZeilenHeight(Text* name) const;
  650. //! Gibt den index der Splate zurück, auf die die Maus zeigt
  651. //! \param mx Die x Koordinate der Mausposition basierend zum linken
  652. //! Rand der Tabelle in Pixeln
  653. DLLEXPORT double getMausSpalte(int mx) const;
  654. //! Gibt den Namen der Splate zurück, auf die die Maus zeigt
  655. //! \param mx Die x Koordinate der Mausposition basierend zum linken
  656. //! Rand der Tabelle in Pixeln
  657. DLLEXPORT Text* getMausSpaltenName(int mx) const;
  658. //! Gibt den Namen der Splate ohne erhöhten Reference Counter zurück,
  659. //! auf die die Maus zeigt \param mx Die x Koordinate der Mausposition
  660. //! basierend zum linken Rand der Tabelle in Pixeln
  661. DLLEXPORT Text* zMausSpaltenName(int mx) const;
  662. //! Gibt den index der Zeile zurück, auf die die Maus zeigt
  663. //! \param my Die Y Koordinate der Mausposition basierend zum oberen
  664. //! Rand der Tabelle in Pixeln
  665. DLLEXPORT double getMausZeile(int my) const;
  666. //! Gibt den Namen der Zeile zurück, auf die die Maus zeigt
  667. //! \param my Die Y Koordinate der Mausposition basierend zum oberen
  668. //! Rand der Tabelle in Pixeln
  669. DLLEXPORT Text* getMausZeilenName(int my) const;
  670. //! Gibt den Namen der Zeile ohne erhöhten Reference Counter zurück, auf
  671. //! die die Maus zeigt \param my Die Y Koordinate der Mausposition
  672. //! basierend zum oberen Rand der Tabelle in Pixeln
  673. DLLEXPORT Text* zMausZeilenName(int my) const;
  674. //! Gibt den Index der Spalte als x und den der Zeile als y des
  675. //! ausgewählten Feldes zurück
  676. DLLEXPORT const Punkt& getAuswahlPosition() const;
  677. //! Gibt die Farbe des Rasters im A8R8G8B8 Format zurück
  678. DLLEXPORT int getRasterFarbe() const;
  679. //! Gibt die Breite des Rasters in Pixeln zurück
  680. DLLEXPORT int getRasterBreite() const;
  681. //! Gibt einen Zeiger auf den Rahmen zurück, der bei dem ausgewählten
  682. //! Feld verwendet wird
  683. DLLEXPORT Rahmen* getARahmen() const;
  684. //! Gibt einen Zeiger auf den Rahmen ohne erhöhten Reference Counter
  685. //! zurück, der bei dem ausgewählten Feld verwendet wird
  686. DLLEXPORT Rahmen* zARahmen() const;
  687. //! Gibt einen Zeiger auf den Farbübergang zurück, der bei dem
  688. //! ausgewählten Feld verwendet wird
  689. DLLEXPORT AlphaFeld* getAAlphaFeld() const;
  690. //! Gibt einen Zeiger auf den Farbübergang ohne erhöhten Reference
  691. //! Counter zurück, der bei dem ausgewählten Feld verwendet wird
  692. DLLEXPORT AlphaFeld* zAAlphaFeld() const;
  693. //! Gibt einen Zeiger auf den Rahmen zurück, der bei dem Flag
  694. //! AuswahlMultistyled bei der auswahl eines bestimmten Kästchens
  695. //! verwendet wird \param sNum Der Index der Spalte \param zNum Der
  696. //! Index der Zeile
  697. DLLEXPORT Rahmen* getARahmen(int sNum, int zNum) const;
  698. //! Gibt einen Zeiger auf den Rahmen ohne erhöhten Reference Couner
  699. //! zurück, der bei dem Flag AuswahlMultistyled bei der auswahl eines
  700. //! bestimmten Kästchens verwendet wird \param sNum Der Index der Spalte
  701. //! \param zNum Der Index der Zeile
  702. DLLEXPORT Rahmen* zARahmen(int sNum, int zNum) const;
  703. //! Gibt einen Zeiger auf den Farbübergang zurück, der bei dem Flag
  704. //! AuswahlMultistyled bei der auswahl eines bestimmten Kästchens
  705. //! verwendet wird \param sNum Der Index der Spalte \param zNum Der
  706. //! Index der Zeile
  707. DLLEXPORT AlphaFeld* getAAlphaFeld(int sNum, int zNum) const;
  708. //! Gibt einen Zeiger auf den Farbübergang ohne erhöhten Reference
  709. //! Couner zurück, der bei dem Flag AuswahlMultistyled bei der auswahl
  710. //! eines bestimmten Kästchens verwendet wird \param sNum Der Index der
  711. //! Spalte \param zNum Der Index der Zeile
  712. DLLEXPORT AlphaFeld* zAAlphaFeld(int sNum, int zNum) const;
  713. //! Gibt einen Zeiger auf den Rahmen zurück, der bei dem Flag
  714. //! AuswahlMultistyled bei der auswahl eines bestimmten Kästchens
  715. //! verwendet wird \param spaltenName Der Name der Spalte \param
  716. //! zeilenName Der Name der Zeile
  717. DLLEXPORT Rahmen* getARahmen(
  718. const char* spaltenName, const char* zeilenName) const;
  719. //! Gibt einen Zeiger auf den Rahmen ohne erhöhten Reference Coune
  720. //! zurück, der bei dem Flag AuswahlMultistyled bei der auswahl eines
  721. //! bestimmten Kästchens verwendet wird \param spaltenName Der Name der
  722. //! Spalte \param zeilenName Der Name der Zeile
  723. DLLEXPORT Rahmen* zARahmen(
  724. const char* spaltenName, const char* zeilenName) const;
  725. //! Gibt einen Zeiger auf den Farbübergang zurück, der bei dem Flag
  726. //! AuswahlMultistyled bei der auswahl eines bestimmten Kästchens
  727. //! verwendet wird \param spaltenName Der Name der Spalte \param
  728. //! zeilenName Der Name der Zeile
  729. DLLEXPORT AlphaFeld* getAAlphaFeld(
  730. const char* spaltenName, const char* zeilenName) const;
  731. //! Gibt einen Zeiger auf den Farbübergang ohne erhöhten Reference Coune
  732. //! zurück, der bei dem Flag AuswahlMultistyled bei der auswahl eines
  733. //! bestimmten Kästchens verwendet wird \param spaltenName Der Name der
  734. //! Spalte \param zeilenName Der Name der Zeile
  735. DLLEXPORT AlphaFeld* zAAlphaFeld(
  736. const char* spaltenName, const char* zeilenName) const;
  737. //! Gibt einen Zeiger auf den Rahmen zurück, der bei dem Flag
  738. //! AuswahlMultistyled bei der auswahl eines bestimmten Kästchens
  739. //! verwendet wird \param spaltenName Der Name der Spalte \param
  740. //! zeilenName Der Name der Zeile
  741. DLLEXPORT Rahmen* getARahmen(Text* spaltenName, Text* zeilenName) const;
  742. //! Gibt einen Zeiger auf den Rahmen ohne erhöhten Reference Coune
  743. //! zurück, der bei dem Flag AuswahlMultistyled bei der auswahl eines
  744. //! bestimmten Kästchens verwendet wird \param spaltenName Der Name der
  745. //! Spalte \param zeilenName Der Name der Zeile
  746. DLLEXPORT Rahmen* zARahmen(Text* spaltenName, Text* zeilenName) const;
  747. //! Gibt einen Zeiger auf den Farbübergang zurück, der bei dem Flag
  748. //! AuswahlMultistyled bei der auswahl eines bestimmten Kästchens
  749. //! verwendet wird \param spaltenName Der Name der Spalte \param
  750. //! zeilenName Der Name der Zeile
  751. DLLEXPORT AlphaFeld* getAAlphaFeld(
  752. Text* spaltenName, Text* zeilenName) const;
  753. //! Gibt einen Zeiger auf den Farbübergang ohne erhöhten Reference Coune
  754. //! zurück, der bei dem Flag AuswahlMultistyled bei der auswahl eines
  755. //! bestimmten Kästchens verwendet wird \param spaltenName Der Name der
  756. //! Spalte \param zeilenName Der Name der Zeile
  757. DLLEXPORT AlphaFeld* zAAlphaFeld(
  758. Text* spaltenName, Text* zeilenName) const;
  759. //! Prüft ob bei dem Flag AuswahlMultistyled für ein bestimmtes Kästchen
  760. //! ein bestimmter Style gesetzt ist \param sNum Der Index der Spalte
  761. //! \param zNum Der Index der Zeile
  762. //! \param style Der Style, der gepfüft werden soll
  763. DLLEXPORT inline bool hatMsStyle(
  764. int sNum, int zNum, __int64 style) const;
  765. //! Prüft ob bei dem Flag AuswahlMultistyled für ein bestimmtes Kästchen
  766. //! ein bestimmter Style nicht gesetzt ist \param sNum Der Index der
  767. //! Spalte \param zNum Der Index der Zeile \param style Der Style, der
  768. //! gepfüft werden soll
  769. DLLEXPORT inline bool hatMsStyleNicht(
  770. int sNum, int zNum, __int64 style) const;
  771. //! Prüft ob bei dem Flag AuswahlMultistyled für ein bestimmtes Kästchen
  772. //! ein bestimmter Style gesetzt ist \param spaltenName Der Name der
  773. //! Spalte \param zeilenName Der Name der Zeile \param style Der Style,
  774. //! der gepfüft werden soll
  775. DLLEXPORT inline bool hatMsStyle(const char* spaltenName,
  776. const char* zeilenName,
  777. __int64 style) const;
  778. //! Prüft ob bei dem Flag AuswahlMultistyled für ein bestimmtes Kästchen
  779. //! ein bestimmter Style nicht gesetzt ist \param spaltenName Der Name
  780. //! der Spalte \param zeilenName Der Name der Zeile \param style Der
  781. //! Style, der gepfüft werden soll
  782. DLLEXPORT inline bool hatMsStyleNicht(const char* spaltenName,
  783. const char* zeilenName,
  784. __int64 style) const;
  785. //! Prüft ob bei dem Flag AuswahlMultistyled für ein bestimmtes Kästchen
  786. //! ein bestimmter Style gesetzt ist \param spaltenName Der Name der
  787. //! Spalte \param zeilenName Der Name der Zeile \param style Der Style,
  788. //! der gepfüft werden soll
  789. DLLEXPORT inline bool hatMsStyle(
  790. Text* spaltenName, Text* zeilenName, __int64 style) const;
  791. //! Prüft ob bei dem Flag AuswahlMultistyled für ein bestimmtes Kästchen
  792. //! ein bestimmter Style nicht gesetzt ist \param spaltenName Der Name
  793. //! der Spalte \param zeilenName Der Name der Zeile \param style Der
  794. //! Style, der gepfüft werden soll
  795. DLLEXPORT inline bool hatMsStyleNicht(
  796. Text* spaltenName, Text* zeilenName, __int64 style) const;
  797. //! Erzeugt eine Kopie der Tabelle, die ohne auswirkungen auf das
  798. //! Original verändert werden kann
  799. DLLEXPORT Zeichnung* dublizieren() const override;
  800. };
  801. } // namespace Framework
  802. #endif