#include "Nachricht.h" #include #include #include #include #include #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() {}