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