Initialisierung.cpp 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. #include "Initialisierung.h"
  2. #include <ToolTip.h>
  3. #include <Bildschirm.h>
  4. #include <MausEreignis.h>
  5. Knopf *initKnopf( int x, int y, int br, int hö, Schrift *zSchrift, int style, const char *titel )
  6. {
  7. Knopf *ret = new Knopf();
  8. ret->addStyle( style );
  9. ret->setPosition( x, y );
  10. ret->setSize( br, hö );
  11. if( zSchrift )
  12. ret->setSchriftZ( zSchrift->getThis() );
  13. if( titel )
  14. ret->setText( titel );
  15. return ret;
  16. }
  17. KontrollKnopf *initKontrollKnopf( int x, int y, int br, int hö, Schrift *zSchrift, int style, const char *txt )
  18. {
  19. KontrollKnopf *ret = new KontrollKnopf();
  20. ret->addStyle( style );
  21. if( zSchrift )
  22. ret->setSchriftZ( zSchrift->getThis() );
  23. if( txt )
  24. {
  25. ret->setText( txt );
  26. ret->setSText( txt );
  27. }
  28. ret->setSFarbe( 0xFFFFFFFF );
  29. ret->setSSize( 12 );
  30. if( ret->hatStyle( TextFeld::Style::Buffered ) )
  31. {
  32. ret->setAlphaFeldFarbe( 0x5500FF00 );
  33. ret->setAlphaFeldStrength( -5 );
  34. }
  35. if( ret->hatStyle( TextFeld::Style::Rahmen ) )
  36. {
  37. ret->setRahmenBreite( 1 );
  38. ret->setRahmenFarbe( 0xFF00FF00 );
  39. }
  40. ret->setPosition( x, y );
  41. ret->setSize( br, hö );
  42. ret->loadData( "data/bilder/system.ltdb" );
  43. ret->setMausEreignis( _ret1ME );
  44. return ret;
  45. }
  46. Fenster *initFenster( int x, int y, int br, int hö, Schrift *zSchrift, int style, const char *titel )
  47. {
  48. Fenster *ret = new Fenster();
  49. ret->addStyle( style );
  50. ret->setPosition( x, y );
  51. ret->setSize( br, hö );
  52. if( ret->hatStyle( Fenster::Style::Rahmen ) )
  53. {
  54. ret->setRBreite( 1 );
  55. ret->setRFarbe( 0xFFFFFFFF );
  56. }
  57. if( ret->hatStyle( Fenster::Style::Titel ) )
  58. {
  59. if( titel )
  60. ret->setTitel( titel );
  61. if( zSchrift )
  62. ret->setTSchriftZ( zSchrift->getThis() );
  63. ret->setTSFarbe( 0xFFFFFFFF );
  64. ret->zTTextFeld()->setSize( 0, 20 );
  65. ret->zTTextFeld()->addStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center | TextFeld::Style::Rahmen );
  66. ret->setTRFarbe( 0xFF00FF00 );
  67. ret->setTRBreite( 1 );
  68. if( ret->hatStyle( Fenster::Style::TitelBuffered ) )
  69. {
  70. ret->setTAfFarbe( 0x1000FF00 );
  71. ret->setTAfStrength( -15 );
  72. }
  73. }
  74. return ret;
  75. }
  76. TextFeld *initTextFeld( int x, int y, int br, int hö, Schrift *zSchrift, int style, const char *txt )
  77. {
  78. TextFeld *ret = new TextFeld();
  79. ret->setStyle( style );
  80. if( zSchrift )
  81. ret->setSchriftZ( zSchrift->getThis() );
  82. if( txt )
  83. ret->setText( txt );
  84. ret->setSchriftFarbe( 0xFFFFFFFF );
  85. ret->setSchriftSize( 12 );
  86. if( ret->hatStyle( TextFeld::Style::Buffered ) )
  87. {
  88. ret->setAlphaFeldFarbe( 0x5500FF00 );
  89. ret->setAlphaFeldStrength( -5 );
  90. }
  91. if( ret->hatStyle( TextFeld::Style::Rahmen ) )
  92. {
  93. ret->setRahmenBreite( 1 );
  94. ret->setRahmenFarbe( 0xFF00FF00 );
  95. }
  96. ret->setPosition( x, y );
  97. ret->setSize( br, hö );
  98. if( br < 0 )
  99. ret->setSize( ret->getNeededWidth(), hö );
  100. return ret;
  101. }
  102. BildZ *initBildZ( int x, int y, int br, int hö, int style, Bild *b )
  103. {
  104. BildZ *ret = new BildZ();
  105. ret->addStyle( style );
  106. ret->setPosition( x, y );
  107. ret->setSize( br, hö );
  108. if( b )
  109. ret->setBildZ( b );
  110. if( ( style | BildZ::Style::Rahmen ) == style )
  111. {
  112. ret->setRahmenBreite( 1 );
  113. ret->setRahmenFarbe( 0xFFFFFFFF );
  114. }
  115. return ret;
  116. }
  117. AuswahlBox *initAuswahlBox( int x, int y, int br, int hö, Schrift *zSchrift, __int64 style, std::initializer_list< const char * > values )
  118. {
  119. AuswahlBox *ret = new AuswahlBox();
  120. ret->addStyle( style );
  121. ret->setPosition( x, y );
  122. ret->setSize( br, hö );
  123. if( ( style | AuswahlBox::Style::Hintergrund ) == style )
  124. ret->setHintergrundFarbe( 0xFF000000 );
  125. if( ( style | AuswahlBox::Style::Erlaubt ) == style )
  126. ret->setMausEreignis( _ret1ME );
  127. if( zSchrift )
  128. ret->setSchriftZ( zSchrift->getThis() );
  129. if( ( style | AuswahlBox::Style::Rahmen ) == style )
  130. {
  131. ret->setRahmenBreite( 1 );
  132. ret->setRahmenFarbe( 0xFFFFFFFF );
  133. }
  134. if( ( style | AuswahlBox::Style::MaxHeight ) == style )
  135. ret->setMaxAuskappHeight( 100 );
  136. if( ( style | AuswahlBox::Style::MausRahmen ) == style )
  137. {
  138. ret->setMausRahmenBreite( 1 );
  139. ret->setMausRahmenFarbe( 0xFF005500 );
  140. }
  141. if( ( style | AuswahlBox::Style::MausBuffer ) == style )
  142. {
  143. ret->setMausAlphaFeldFarbe( 0x00008700 );
  144. ret->setMausAlphaFeldStrength( -8 );
  145. }
  146. if( ( style | AuswahlBox::Style::AuswahlRahmen ) == style )
  147. {
  148. ret->setAuswRahmenBreite( 1 );
  149. ret->setAuswRahmenFarbe( 0xFF00FF00 );
  150. }
  151. if( ( style | AuswahlBox::Style::AuswahlBuffer ) == style )
  152. {
  153. ret->setAuswAlphaFeldFarbe( 0x0000FF00 );
  154. ret->setAuswAlphaFeldStrength( -8 );
  155. }
  156. for( auto i = values.begin(); i != values.end(); i++ )
  157. {
  158. ret->addEintrag( *i );
  159. }
  160. return ret;
  161. }
  162. ObjTabelle *initObjTabelle( int x, int y, int br, int hö, Schrift *zSchrift, int style, std::initializer_list< OBJTabelleSpalteIni > spalten, int überschriftHöhe )
  163. {
  164. ObjTabelle *ret = new ObjTabelle();
  165. ret->addStyle( style );
  166. ret->setPosition( x, y );
  167. ret->setSize( br, hö );
  168. if( ( style | ObjTabelle::Style::Erlaubt ) == style )
  169. ret->setMausEreignis( _ret1ME );
  170. if( ( style | ObjTabelle::Style::Rahmen ) == style )
  171. {
  172. ret->setRahmenBreite( 1 );
  173. ret->setRahmenFarbe( 0xFFFFFFFF );
  174. }
  175. if( ( style | ObjTabelle::Style::Raster ) == style )
  176. {
  177. ret->setRasterBreite( 1 );
  178. ret->setRasterFarbe( 0xFFFFFFFF );
  179. }
  180. if( ( style | ObjTabelle::Style::VScroll ) == style )
  181. ret->setVertikalKlickScroll( 5 );
  182. if( ( style | ObjTabelle::Style::HScroll ) == style )
  183. ret->setHorizontalKlickScroll( 5 );
  184. for( auto i = spalten.begin(); i != spalten.end(); i++ )
  185. {
  186. ret->addSpalte( i->name );
  187. ret->setSpaltenBreite( i->name, i->breite );
  188. if( ( style | ObjTabelle::Style::SpaltenBreiteMin ) == style )
  189. ret->setMinSpaltenBreite( i->name, i->minBreite );
  190. if( ( style | ObjTabelle::Style::SpaltenBreiteMax ) == style )
  191. ret->setMaxSpaltenBreite( i->name, i->maxBreite );
  192. if( überschriftHöhe )
  193. {
  194. if( ret->getZeilenNummer( "Überschrift" ) < 0 )
  195. {
  196. ret->addZeile( 0, "Überschrift" );
  197. ret->setZeilenHeight( 0, 20 );
  198. }
  199. ret->setZeichnungZ( i->name, "Überschrift", initTextFeld( 0, 0, i->breite, 20, zSchrift, TextFeld::Style::Text, i->name ) );
  200. }
  201. }
  202. return ret;
  203. }
  204. void initToolTip( Zeichnung *obj, const char *txt, Schrift *zSchrift, Bildschirm *zBs )
  205. {
  206. obj->setToolTipText( txt, zBs, zSchrift );
  207. obj->zToolTip()->addStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Rahmen | TextFeld::Style::Hintergrund | TextFeld::Style::HAlpha | TextFeld::Style::Mehrzeilig );
  208. obj->zToolTip()->setHintergrundFarbe( 0xA0000000 );
  209. obj->zToolTip()->setRahmenFarbe( 0xFFFFFFFF );
  210. }