ObjektOptionen.cpp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. #include "ObjektOptionen.h"
  2. #include "../../../../Initialisierung/Initialisierung.h"
  3. #include <Textur2D.h>
  4. using namespace Editor;
  5. ObjektTool::ObjektTool( Schrift *zSchrift, KarteDaten *daten )
  6. : RightTool()
  7. {
  8. dialog = 0;
  9. dialog2 = 0;
  10. this->daten = daten;
  11. schrift = zSchrift->getThis();
  12. objekte = new AuswahlListe();
  13. objekte->setStyle( ( AuswahlListe::Style::Normal & ~AuswahlListe::Style::FeldHAlpha ) | AuswahlBox::Style::VScroll );
  14. objekte->setRahmenFarbe( 0xFFFFFFFF );
  15. objekte->setRahmenBreite( 1 );
  16. objekte->setSchriftZ( zSchrift->getThis() );
  17. objekte->setSize( 290, 200 );
  18. objekte->setAAFFarbe( 0x5500FF00 );
  19. objekte->setAAFStrength( -5 );
  20. objekte->setALRFarbe( 0xFF00FF00 );
  21. objekte->setALRBreite( 1 );
  22. objekte->setVertikalKlickScroll( 1 );
  23. int anz = daten->getObjektAnzahl();
  24. for( int i = 0; i < anz; i++ )
  25. {
  26. const ObjektDaten *o = daten->getObjekt( i );
  27. objekte->addEintrag( Text( o->id ) );
  28. }
  29. neuesObjekt = initKnopf( 0, 205, 290, 20, zSchrift, Knopf::Style::Normal, "Neues Objekt erstellen" );
  30. neuesObjekt->setMausEreignis( [ this ]( void *p, void *o, MausEreignis me )
  31. {
  32. if( me.id == ME_RLinks )
  33. {
  34. cs.lock();
  35. if( dialog )
  36. dialog->release();
  37. dialog = new ResourceDialog( new TextRenderer( schrift->getThis() ), SELECT_MODEL2D, (KarteDaten *)this->daten->getThis(), [ this ]( const char *modelPath )
  38. {
  39. if( !modelPath )
  40. return;
  41. cs.lock();
  42. if( dialog2 )
  43. dialog2->release();
  44. dialog2 = dialog;
  45. dialog = new ResourceDialog( new TextRenderer( schrift->getThis() ), SELECT_TEXTUR, (KarteDaten *)this->daten->getThis(), [ this, modelPath ]( const char *texturPath )
  46. {
  47. if( !texturPath )
  48. return;
  49. this->daten->getResourceIdFromPath( modelPath, [ this, texturPath ]( int modelId )
  50. {
  51. this->daten->getResourceIdFromPath( texturPath, [ this, modelId ]( int texturId )
  52. {
  53. ObjektDaten o = ObjektDaten();
  54. o.m2d = modelId;
  55. o.bild = texturId;
  56. o.scale = 1;
  57. o.maxStabilität = 100;
  58. o.maxEnergie = 100;
  59. o.energieRadius = 0;
  60. o.reparatur = 0;
  61. o.akkuLeistung = 0;
  62. o.team = this->daten->getTeam( 0 )->id;
  63. o.pos.x = 0;
  64. o.pos.y = 0;
  65. o.rot = 0;
  66. o.style = 0;
  67. this->daten->addObjekt( o, [ this ]( int id )
  68. {
  69. objekte->addEintrag( Text( id ) );
  70. selectObject( id );
  71. } );
  72. } );
  73. } );
  74. }, screenSize );
  75. cs.unlock();
  76. }, screenSize );
  77. cs.unlock();
  78. }
  79. return 1;
  80. } );
  81. model = new M2DVorschau();
  82. model->setStyle( M2DVorschau::Style::Rahmen | M2DVorschau::Style::UsrRot | M2DVorschau::Style::UsrScale | M2DVorschau::Style::Erlaubt );
  83. model->setSize( 290, 290 );
  84. model->setPosition( 0, 230 );
  85. changeModel = initKnopf( 0, 520, 142, 20, zSchrift, Knopf::Style::Normal, "Model ändern" );
  86. changeModel->setMausEreignis( [ this ]( void *p, void *o, MausEreignis me )
  87. {
  88. if( me.id == ME_RLinks )
  89. {
  90. cs.lock();
  91. if( dialog )
  92. dialog->release();
  93. dialog = new ResourceDialog( new TextRenderer( schrift->getThis() ), SELECT_MODEL2D, (KarteDaten *)this->daten->getThis(), [ this ]( const char *path )
  94. {
  95. if( !path )
  96. return;
  97. modelPath = path;
  98. Model2DData *data = this->daten->loadModelFromPath( modelPath );
  99. Textur2D *textur = new Textur2D();
  100. textur->setTexturZ( this->daten->loadBildFromPath( texturPath ) );
  101. model->postAction( [ this, data, textur ]()
  102. {
  103. model->setModel2D( data );
  104. model->zModel()->setTextur( textur );
  105. } );
  106. }, screenSize );
  107. cs.unlock();
  108. }
  109. return 1;
  110. } );
  111. changeTextur = initKnopf( 147, 520, 143, 20, zSchrift, Knopf::Style::Normal, "Textur ändern" );
  112. changeTextur->setMausEreignis( [ this ]( void *p, void *o, MausEreignis me )
  113. {
  114. if( me.id == ME_RLinks )
  115. {
  116. cs.lock();
  117. if( dialog )
  118. dialog->release();
  119. dialog = new ResourceDialog( new TextRenderer( schrift->getThis() ), SELECT_TEXTUR, (KarteDaten *)this->daten->getThis(), [ this ]( const char *path )
  120. {
  121. if( !path )
  122. return;
  123. texturPath = path;
  124. Textur2D *textur = new Textur2D();
  125. textur->setTexturZ( this->daten->loadBildFromPath( texturPath ) );
  126. model->postAction( [ this, textur ]()
  127. {
  128. model->zModel()->setTextur( textur );
  129. } );
  130. }, screenSize );
  131. cs.unlock();
  132. }
  133. return 1;
  134. } );
  135. stabilitätT = initTextFeld( 0, 545, 100, 20, zSchrift, TextFeld::Style::Text, "Stabilität: " );
  136. stabilität = initTextFeld( 100, 545, 50, 20, zSchrift, TextFeld::Style::TextFeld, "" );
  137. energieT = initTextFeld( 0, 570, 100, 20, zSchrift, TextFeld::Style::Text, "Energie: " );
  138. energie = initTextFeld( 100, 570, 50, 20, zSchrift, TextFeld::Style::TextFeld, "" );
  139. energieRadiusT = initTextFeld( 0, 595, 100, 20, zSchrift, TextFeld::Style::Text, "Radius: " );
  140. energieRadius = initTextFeld( 100, 595, 50, 20, zSchrift, TextFeld::Style::TextFeld, "" );
  141. reparaturT = initTextFeld( 0, 620, 100, 20, zSchrift, TextFeld::Style::Text, "Reparatur: " );
  142. reparatur = initTextFeld( 100, 620, 50, 20, zSchrift, TextFeld::Style::TextFeld, "" );
  143. akkuLeistungT = initTextFeld( 0, 645, 100, 20, zSchrift, TextFeld::Style::Text, "Akku: " );
  144. akkuLeistung = initTextFeld( 100, 645, 50, 20, zSchrift, TextFeld::Style::TextFeld, "" );
  145. team = initAuswahlBox( 0, 670, 150, 20, zSchrift, AuswahlBox::Style::Normal | AuswahlBox::Style::Hintergrund, {} );
  146. anz = daten->getTeamAnzahl();
  147. for( int i = 0; i < anz; i++ )
  148. team->addEintrag( daten->getTeamName( i ) );
  149. verwundbar = initKontrollKnopf( 0, 695, 145, 20, zSchrift, KontrollKnopf::Style::Normal, "Verwundbar" );
  150. beweglich = initKontrollKnopf( 150, 695, 145, 20, zSchrift, KontrollKnopf::Style::Normal, "Beweglich" );
  151. collision = initKontrollKnopf( 0, 720, 145, 20, zSchrift, KontrollKnopf::Style::Normal, "Kollision" );
  152. laserCollision = initKontrollKnopf( 150, 720, 145, 20, zSchrift, KontrollKnopf::Style::Normal, "Laser Kollision" );
  153. neutral = initKontrollKnopf( 0, 745, 145, 20, zSchrift, KontrollKnopf::Style::Normal, "Neutral" );
  154. erfahrung = initKontrollKnopf( 150, 745, 145, 20, zSchrift, KontrollKnopf::Style::Normal, "Treffer Erfahrung" );
  155. lebensAnzeige = initKontrollKnopf( 0, 770, 145, 20, zSchrift, KontrollKnopf::Style::Normal, "Lebensanzeige" );
  156. speichern = initKnopf( 0, 795, 100, 20, zSchrift, Knopf::Style::Normal, "Speichern" );
  157. speichern->setMausEreignis( [ this ]( void *p, void *o, MausEreignis me )
  158. {
  159. if( me.id == ME_RLinks )
  160. {
  161. ObjektDaten *o = this->daten->getObjekt( this->daten->getObjektIndexById( *objekte->zEintrag( objekte->getAuswahl() )->zText() ) );
  162. this->daten->getResourceIdFromPath( modelPath, [ this, o ]( int id )
  163. {
  164. o->m2d = id;
  165. this->daten->getResourceIdFromPath( texturPath, [ this, o ]( int id )
  166. {
  167. o->bild = id;
  168. o->maxStabilität = *stabilität->zText();
  169. o->maxEnergie = *energie->zText();
  170. o->energieRadius = *energieRadius->zText();
  171. o->reparatur = *reparatur->zText();
  172. o->akkuLeistung = *akkuLeistung->zText();
  173. o->team = team->getAuswahl();
  174. o->style = 0;
  175. if( verwundbar->hatStyle( KontrollKnopf::Style::Selected ) )
  176. o->style |= 0x1;
  177. if( beweglich->hatStyle( KontrollKnopf::Style::Selected ) )
  178. o->style |= 0x2;
  179. if( collision->hatStyle( KontrollKnopf::Style::Selected ) )
  180. o->style |= 0x4;
  181. if( laserCollision->hatStyle( KontrollKnopf::Style::Selected ) )
  182. o->style |= 0x8;
  183. if( neutral->hatStyle( KontrollKnopf::Style::Selected ) )
  184. o->style |= 0x10;
  185. if( erfahrung->hatStyle( KontrollKnopf::Style::Selected ) )
  186. o->style |= 0x20;
  187. if( lebensAnzeige->hatStyle( KontrollKnopf::Style::Selected ) )
  188. o->style |= 0x40;
  189. o->update();
  190. } );
  191. } );
  192. }
  193. return 1;
  194. } );
  195. löschen = initKnopf( 105, 795, 100, 20, zSchrift, Knopf::Style::Normal, "Löschen" );
  196. löschen->setMausEreignis( [ this ]( void *p, void *o, MausEreignis me )
  197. {
  198. if( me.id == ME_RLinks )
  199. {
  200. int ausw = objekte->getAuswahl();
  201. this->daten->removeObjekt( this->daten->getObjektIndexById( *objekte->zEintrag( objekte->getAuswahl() )->zText() ) );
  202. selectObject( 0 );
  203. objekte->removeEintrag( ausw );
  204. }
  205. return 1;
  206. } );
  207. selectObject( 0 );
  208. }
  209. ObjektTool::~ObjektTool()
  210. {
  211. cs.lock();
  212. if( dialog )
  213. dialog->release();
  214. if( dialog2 )
  215. dialog2->release();
  216. cs.unlock();
  217. objekte->release();
  218. neuesObjekt->release();
  219. model->release();
  220. changeModel->release();
  221. changeTextur->release();
  222. stabilitätT->release();
  223. stabilität->release();
  224. energieT->release();
  225. energie->release();
  226. energieRadiusT->release();
  227. energieRadius->release();
  228. reparaturT->release();
  229. reparatur->release();
  230. akkuLeistungT->release();
  231. akkuLeistung->release();
  232. team->release();
  233. verwundbar->release();
  234. beweglich->release();
  235. collision->release();
  236. laserCollision->release();
  237. neutral->release();
  238. erfahrung->release();
  239. lebensAnzeige->release();
  240. speichern->release();
  241. löschen->release();
  242. daten->release();
  243. schrift->release();
  244. }
  245. void ObjektTool::doPublicMausEreignis( MausEreignis & me )
  246. {
  247. bool vera = me.verarbeitet;
  248. if( hatStyleNicht( Zeichnung::Style::Sichtbar ) )
  249. me.verarbeitet = 1;
  250. Punkt tmpM( me.mx, me.my );
  251. me.mx = me.mx + screenSize.x - 300;
  252. me.my = me.my;
  253. cs.lock();
  254. if( dialog )
  255. dialog->doPublicMausEreignis( me );
  256. cs.unlock();
  257. me.mx = tmpM.x;
  258. me.my = tmpM.y;
  259. me.mx -= pos.x;
  260. me.my -= pos.y;
  261. team->doPublicMausEreignis( me );
  262. int ausw = objekte->getAuswahl();
  263. objekte->doPublicMausEreignis( me );
  264. if( objekte->getAuswahl() != ausw && objekte->getAuswahl() >= 0 )
  265. selectObject( *objekte->zEintrag( objekte->getAuswahl() )->zText() );
  266. if( objekte->getAuswahl() != ausw && objekte->getAuswahl() < 0 )
  267. selectObject( 0 );
  268. neuesObjekt->doPublicMausEreignis( me );
  269. model->doPublicMausEreignis( me );
  270. changeModel->doPublicMausEreignis( me );
  271. changeTextur->doPublicMausEreignis( me );
  272. stabilität->doPublicMausEreignis( me );
  273. energie->doPublicMausEreignis( me );
  274. energieRadius->doPublicMausEreignis( me );
  275. reparatur->doPublicMausEreignis( me );
  276. akkuLeistung->doPublicMausEreignis( me );
  277. verwundbar->doPublicMausEreignis( me );
  278. beweglich->doPublicMausEreignis( me );
  279. collision->doPublicMausEreignis( me );
  280. laserCollision->doPublicMausEreignis( me );
  281. neutral->doPublicMausEreignis( me );
  282. erfahrung->doPublicMausEreignis( me );
  283. lebensAnzeige->doPublicMausEreignis( me );
  284. speichern->doPublicMausEreignis( me );
  285. löschen->doPublicMausEreignis( me );
  286. me.mx += pos.x;
  287. me.my += pos.y;
  288. if( hatStyleNicht( Zeichnung::Style::Sichtbar ) )
  289. me.verarbeitet = vera;
  290. }
  291. void ObjektTool::doTastaturEreignis( TastaturEreignis & te )
  292. {
  293. if( hatStyleNicht( Zeichnung::Style::Sichtbar ) )
  294. return;
  295. cs.lock();
  296. if( dialog )
  297. dialog->doTastaturEreignis( te );
  298. cs.unlock();
  299. model->doTastaturEreignis( te );
  300. stabilität->doTastaturEreignis( te );
  301. energie->doTastaturEreignis( te );
  302. energieRadius->doTastaturEreignis( te );
  303. reparatur->doTastaturEreignis( te );
  304. akkuLeistung->doTastaturEreignis( te );
  305. }
  306. bool ObjektTool::tick( double tickVal )
  307. {
  308. if( hatStyleNicht( Zeichnung::Style::Sichtbar ) )
  309. return RightTool::tick( tickVal );
  310. cs.lock();
  311. if( dialog )
  312. rend |= dialog->tick( tickVal );
  313. cs.unlock();
  314. rend |= objekte->tick( tickVal );
  315. rend |= neuesObjekt->tick( tickVal );
  316. rend |= model->tick( tickVal );
  317. rend |= changeModel->tick( tickVal );
  318. rend |= changeTextur->tick( tickVal );
  319. rend |= stabilität->tick( tickVal );
  320. rend |= energie->tick( tickVal );
  321. rend |= energieRadius->tick( tickVal );
  322. rend |= reparatur->tick( tickVal );
  323. rend |= akkuLeistung->tick( tickVal );
  324. rend |= team->tick( tickVal );
  325. rend |= verwundbar->tick( tickVal );
  326. rend |= beweglich->tick( tickVal );
  327. rend |= collision->tick( tickVal );
  328. rend |= laserCollision->tick( tickVal );
  329. rend |= neutral->tick( tickVal );
  330. rend |= erfahrung->tick( tickVal );
  331. rend |= lebensAnzeige->tick( tickVal );
  332. rend |= speichern->tick( tickVal );
  333. rend |= löschen->tick( tickVal );
  334. return RightTool::tick( tickVal );
  335. }
  336. void ObjektTool::render( Bild & rObj )
  337. {
  338. screenSize = rObj.getSize();
  339. if( hatStyleNicht( Zeichnung::Style::Sichtbar ) )
  340. return;
  341. if( rObj.setDrawOptions( pos, gr ) )
  342. {
  343. objekte->render( rObj );
  344. neuesObjekt->render( rObj );
  345. model->render( rObj );
  346. changeModel->render( rObj );
  347. changeTextur->render( rObj );
  348. stabilitätT->render( rObj );
  349. stabilität->render( rObj );
  350. energieT->render( rObj );
  351. energie->render( rObj );
  352. energieRadiusT->render( rObj );
  353. energieRadius->render( rObj );
  354. reparaturT->render( rObj );
  355. reparatur->render( rObj );
  356. akkuLeistungT->render( rObj );
  357. akkuLeistung->render( rObj );
  358. verwundbar->render( rObj );
  359. beweglich->render( rObj );
  360. collision->render( rObj );
  361. laserCollision->render( rObj );
  362. neutral->render( rObj );
  363. erfahrung->render( rObj );
  364. lebensAnzeige->render( rObj );
  365. speichern->render( rObj );
  366. löschen->render( rObj );
  367. team->render( rObj );
  368. rObj.releaseDrawOptions();
  369. }
  370. }
  371. void ObjektTool::renderDialogs( Bild & rObj )
  372. {
  373. cs.lock();
  374. if( dialog )
  375. dialog->render( rObj );
  376. cs.unlock();
  377. }
  378. void ObjektTool::selectObject( int id )
  379. {
  380. if( id == 0 )
  381. {
  382. model->removeStyle( M2DVorschau::Style::Sichtbar );
  383. changeModel->removeStyle( M2DVorschau::Style::Sichtbar );
  384. changeTextur->removeStyle( M2DVorschau::Style::Sichtbar );
  385. stabilitätT->removeStyle( M2DVorschau::Style::Sichtbar );
  386. stabilität->removeStyle( M2DVorschau::Style::Sichtbar );
  387. energieT->removeStyle( M2DVorschau::Style::Sichtbar );
  388. energie->removeStyle( M2DVorschau::Style::Sichtbar );
  389. energieRadiusT->removeStyle( M2DVorschau::Style::Sichtbar );
  390. energieRadius->removeStyle( M2DVorschau::Style::Sichtbar );
  391. reparaturT->removeStyle( M2DVorschau::Style::Sichtbar );
  392. reparatur->removeStyle( M2DVorschau::Style::Sichtbar );
  393. akkuLeistungT->removeStyle( M2DVorschau::Style::Sichtbar );
  394. akkuLeistung->removeStyle( M2DVorschau::Style::Sichtbar );
  395. team->removeStyle( M2DVorschau::Style::Sichtbar );
  396. verwundbar->removeStyle( KontrollKnopf::Style::Sichtbar );
  397. beweglich->removeStyle( KontrollKnopf::Style::Sichtbar );
  398. collision->removeStyle( KontrollKnopf::Style::Sichtbar );
  399. laserCollision->removeStyle( KontrollKnopf::Style::Sichtbar );
  400. neutral->removeStyle( KontrollKnopf::Style::Sichtbar );
  401. erfahrung->removeStyle( KontrollKnopf::Style::Sichtbar );
  402. lebensAnzeige->removeStyle( KontrollKnopf::Style::Sichtbar );
  403. speichern->removeStyle( M2DVorschau::Style::Sichtbar );
  404. löschen->removeStyle( KontrollKnopf::Style::Sichtbar );
  405. }
  406. else
  407. {
  408. int index = 0;
  409. int anz = objekte->getEintragAnzahl();
  410. for( int i = 0; i < anz; i++ )
  411. {
  412. if( objekte->zEintrag( i )->zText()->istGleich( Text( id ) ) )
  413. break;
  414. index++;
  415. }
  416. objekte->setAuswahl( index );
  417. ObjektDaten *o = daten->getObjekt( daten->getObjektIndexById( id ) );
  418. model->setModel2D( daten->loadModelFromRessource( o->m2d ) );
  419. model->zModel()->addStyle( Model2D::Style::Sichtbar | Model2D::Style::Textur | Model2D::Style::Erlaubt );
  420. modelPath = daten->getResource( daten->getResourceIndexById( o->m2d ) )->path;
  421. Textur2D * textur = new Textur2D();
  422. textur->setTexturZ( daten->loadBildFromRessource( o->bild ) );
  423. texturPath = daten->getResource( daten->getResourceIndexById( o->bild ) )->path;
  424. model->zModel()->setTextur( textur );
  425. stabilität->setText( Text( o->maxStabilität ) );
  426. energie->setText( Text( o->maxEnergie ) );
  427. energieRadius->setText( Text( o->energieRadius ) );
  428. reparatur->setText( Text( o->reparatur ) );
  429. akkuLeistung->setText( Text( o->akkuLeistung ) );
  430. team->setAuswahl( Text( o->team ) );
  431. model->addStyle( M2DVorschau::Style::Sichtbar );
  432. verwundbar->setStyle( KontrollKnopf::Style::Selected, ( o->style | 0x1 ) == o->style );
  433. beweglich->setStyle( KontrollKnopf::Style::Selected, ( o->style | 0x2 ) == o->style );
  434. collision->setStyle( KontrollKnopf::Style::Selected, ( o->style | 0x4 ) == o->style );
  435. laserCollision->setStyle( KontrollKnopf::Style::Selected, ( o->style | 0x8 ) == o->style );
  436. neutral->setStyle( KontrollKnopf::Style::Selected, ( o->style | 0x10 ) == o->style );
  437. erfahrung->setStyle( KontrollKnopf::Style::Selected, ( o->style | 0x20 ) == o->style );
  438. lebensAnzeige->setStyle( KontrollKnopf::Style::Selected, ( o->style | 0x40 ) == o->style );
  439. changeModel->addStyle( M2DVorschau::Style::Sichtbar );
  440. changeTextur->addStyle( M2DVorschau::Style::Sichtbar );
  441. stabilitätT->addStyle( M2DVorschau::Style::Sichtbar );
  442. stabilität->addStyle( M2DVorschau::Style::Sichtbar );
  443. energieT->addStyle( M2DVorschau::Style::Sichtbar );
  444. energie->addStyle( M2DVorschau::Style::Sichtbar );
  445. energieRadiusT->addStyle( M2DVorschau::Style::Sichtbar );
  446. energieRadius->addStyle( M2DVorschau::Style::Sichtbar );
  447. reparaturT->addStyle( M2DVorschau::Style::Sichtbar );
  448. reparatur->addStyle( M2DVorschau::Style::Sichtbar );
  449. akkuLeistungT->addStyle( M2DVorschau::Style::Sichtbar );
  450. akkuLeistung->addStyle( M2DVorschau::Style::Sichtbar );
  451. team->addStyle( M2DVorschau::Style::Sichtbar );
  452. verwundbar->addStyle( KontrollKnopf::Style::Sichtbar );
  453. beweglich->addStyle( KontrollKnopf::Style::Sichtbar );
  454. collision->addStyle( KontrollKnopf::Style::Sichtbar );
  455. laserCollision->addStyle( KontrollKnopf::Style::Sichtbar );
  456. neutral->addStyle( KontrollKnopf::Style::Sichtbar );
  457. erfahrung->addStyle( KontrollKnopf::Style::Sichtbar );
  458. lebensAnzeige->addStyle( KontrollKnopf::Style::Sichtbar );
  459. speichern->addStyle( M2DVorschau::Style::Sichtbar );
  460. löschen->addStyle( KontrollKnopf::Style::Sichtbar );
  461. }
  462. }