1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #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
- // tr: Die zu verwendende Schrift
- // nachricht: Der Fehler, der angezeigt werden soll
- // maxSize: Die Bildschirmgröße in Pixeln
- Nachricht::Nachricht(TextRenderer* tr, UIInit& uiFactory, const char* nachricht, Punkt maxSize, std::function< void() > onClose)
- : Dialog(tr)
- {
- Text* tmp = new Text(nachricht);
- tr->setSchriftSize(12);
- tr->textFormatieren(tmp, 300);
- int br = tr->getTextBreite(tmp->getText());
- int hö = tr->getTextHeight(tmp->getText());
- setSize(br + 12, hö + 63);
- setPosition(maxSize / 2 - getSize() / 2);
- TextFeld* text = initTextFeld(5, 5, br, hö, uiFactory, TextFeld::Style::Text, tmp->getText());
- addMember(text);
- tmp->release();
- Knopf* ok = initKnopf(br - 94, hö + 12, 100, 20, uiFactory, 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()
- {}
|