Initialisierung.cpp 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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. return ret;
  99. }
  100. BildZ *initBildZ( int x, int y, int br, int hö, int style, Bild *b )
  101. {
  102. BildZ *ret = new BildZ();
  103. ret->addStyle( style );
  104. ret->setPosition( x, y );
  105. ret->setSize( br, hö );
  106. if( b )
  107. ret->setBildZ( b );
  108. if( ( style | BildZ::Style::Rahmen ) == style )
  109. {
  110. ret->setRahmenBreite( 1 );
  111. ret->setRahmenFarbe( 0xFFFFFFFF );
  112. }
  113. return ret;
  114. }
  115. AuswahlBox *initAuswahlBox( int x, int y, int br, int hö, Schrift *zSchrift, __int64 style, std::initializer_list< const char * > values )
  116. {
  117. AuswahlBox *ret = new AuswahlBox();
  118. ret->addStyle( style );
  119. ret->setPosition( x, y );
  120. ret->setSize( br, hö );
  121. if( ( style | AuswahlBox::Style::Hintergrund ) == style )
  122. ret->setHintergrundFarbe( 0xFF000000 );
  123. if( ( style | AuswahlBox::Style::Erlaubt ) == style )
  124. ret->setMausEreignis( _ret1ME );
  125. if( zSchrift )
  126. ret->setSchriftZ( zSchrift->getThis() );
  127. if( ( style | AuswahlBox::Style::Rahmen ) == style )
  128. {
  129. ret->setRahmenBreite( 1 );
  130. ret->setRahmenFarbe( 0xFFFFFFFF );
  131. }
  132. if( ( style | AuswahlBox::Style::MaxHeight ) == style )
  133. ret->setMaxAuskappHeight( 100 );
  134. if( ( style | AuswahlBox::Style::MausRahmen ) == style )
  135. {
  136. ret->setMausRahmenBreite( 1 );
  137. ret->setMausRahmenFarbe( 0xFF005500 );
  138. }
  139. if( ( style | AuswahlBox::Style::MausBuffer ) == style )
  140. {
  141. ret->setMausAlphaFeldFarbe( 0x00008700 );
  142. ret->setMausAlphaFeldStrength( -8 );
  143. }
  144. if( ( style | AuswahlBox::Style::AuswahlRahmen ) == style )
  145. {
  146. ret->setAuswRahmenBreite( 1 );
  147. ret->setAuswRahmenFarbe( 0xFF00FF00 );
  148. }
  149. if( ( style | AuswahlBox::Style::AuswahlBuffer ) == style )
  150. {
  151. ret->setAuswAlphaFeldFarbe( 0x0000FF00 );
  152. ret->setAuswAlphaFeldStrength( -8 );
  153. }
  154. for( auto i = values.begin(); i != values.end(); i++ )
  155. {
  156. ret->addEintrag( *i );
  157. }
  158. return ret;
  159. }
  160. ObjTabelle *initObjTabelle( int x, int y, int br, int hö, Schrift *zSchrift, int style, std::initializer_list< OBJTabelleSpalteIni > spalten, int überschriftHöhe )
  161. {
  162. ObjTabelle *ret = new ObjTabelle();
  163. ret->addStyle( style );
  164. ret->setPosition( x, y );
  165. ret->setSize( br, hö );
  166. if( ( style | ObjTabelle::Style::Erlaubt ) == style )
  167. ret->setMausEreignis( _ret1ME );
  168. if( ( style | ObjTabelle::Style::Rahmen ) == style )
  169. {
  170. ret->setRahmenBreite( 1 );
  171. ret->setRahmenFarbe( 0xFFFFFFFF );
  172. }
  173. if( ( style | ObjTabelle::Style::Raster ) == style )
  174. {
  175. ret->setRasterBreite( 1 );
  176. ret->setRasterFarbe( 0xFFFFFFFF );
  177. }
  178. if( ( style | ObjTabelle::Style::VScroll ) == style )
  179. ret->setVertikalKlickScroll( 5 );
  180. if( ( style | ObjTabelle::Style::HScroll ) == style )
  181. ret->setHorizontalKlickScroll( 5 );
  182. for( auto i = spalten.begin(); i != spalten.end(); i++ )
  183. {
  184. ret->addSpalte( i->name );
  185. ret->setSpaltenBreite( i->name, i->breite );
  186. if( ( style | ObjTabelle::Style::SpaltenBreiteMin ) == style )
  187. ret->setMinSpaltenBreite( i->name, i->minBreite );
  188. if( ( style | ObjTabelle::Style::SpaltenBreiteMax ) == style )
  189. ret->setMaxSpaltenBreite( i->name, i->maxBreite );
  190. if( überschriftHöhe )
  191. {
  192. if( ret->getZeilenNummer( "Überschrift" ) < 0 )
  193. {
  194. ret->addZeile( 0, "Überschrift" );
  195. ret->setZeilenHeight( 0, 20 );
  196. }
  197. ret->setZeichnungZ( i->name, "Überschrift", initTextFeld( 0, 0, i->breite, 20, zSchrift, TextFeld::Style::Text, i->name ) );
  198. }
  199. }
  200. return ret;
  201. }
  202. void initToolTip( Zeichnung *obj, const char *txt, Schrift *zSchrift, Bildschirm *zBs )
  203. {
  204. obj->setToolTipText( txt, zBs, zSchrift );
  205. obj->zToolTip()->addStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Rahmen | TextFeld::Style::Hintergrund | TextFeld::Style::HAlpha | TextFeld::Style::Mehrzeilig );
  206. obj->zToolTip()->setHintergrundFarbe( 0xA0000000 );
  207. obj->zToolTip()->setRahmenFarbe( 0xFFFFFFFF );
  208. }