1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #include "Nachricht.h"
- #include <Schrift.h>
- #include <Text.h>
- #include <MausEreignis.h>
- #include <TastaturEreignis.h>
- #include <TextFeld.h>
- #include "../../../Initialisierung/Initialisierung.h"
- // Inhalt der Fehler Klasse aus Fehler.h
- // Konstruktor
- // zS: Die zu verwendende Schrift
- // nachricht: Der Fehler, der angezeigt werden soll
- // maxSize: Die Bildschirmgröße in Pixeln
- Nachricht::Nachricht( TextRenderer *zS, char *nachricht, Punkt maxSize, std::function< void() > onClose )
- : Dialog( zS )
- {
- Text *tmp = new Text( nachricht );
- zS->setSchriftSize( 12 );
- zS->textFormatieren( tmp, 300 );
- int br = zS->getTextBreite( tmp->getText() );
- int hö = zS->getTextHeight( tmp->getText() );
- setSize( br + 12, hö + 63 );
- setPosition( maxSize / 2 - getSize() / 2 );
- this->text = initTextFeld( 5, 5, br, hö, zS->zSchrift(), TextFeld::Style::Text, tmp->getText() );
- addMember( text );
- tmp->release();
- ok = initKnopf( br - 94, hö + 12, 100, 20, zS->zSchrift(), Knopf::Style::Normal, "Ok" );
- addMember( ok );
- bool *verl = &verlassen;
- auto me = [ verl, onClose ]( void *param, void *obj, MausEreignis me ) -> bool
- {
- if( me.id == ME_RLinks && !me.verarbeitet )
- {
- *verl = 1;
- if( onClose )
- onClose();
- }
- return 1;
- };
- ok->setMausEreignis( me );
- setClosingMe( me );
- }
- // Destruktor
- Nachricht::~Nachricht()
- {
- text->release();
- ok->release();
- }
|