#include "UIDialog.h" #include "UIInitialization.h" #include "TextFeld.h" #include "Schrift.h" #include "Knopf.h" using namespace Framework; UIDialog::UIDialog( Schrift *schrift ) : Fenster() { setStyle( Fenster::Style::normal | Fenster::Style::BodyHintergrund | Fenster::Style::TitelHintergrund | Fenster::Style::ClosingHintergrund ); setKBgFarbe( 0xFF000000 ); setTBgFarbe( 0xFF000000 ); setSBgFarbe( 0xFF000000 ); setMausEreignis( _ret1ME ); setTastaturEreignis( _ret1TE ); setRBreite( 1 ); setRFarbe( 0xFFFFFFFF ); setTitel( "" ); setTSchriftZ( schrift ); setTSFarbe( 0xFFFFFFFF ); zTTextFeld()->setSize( 0, 20 ); zTTextFeld()->addStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center | TextFeld::Style::Rahmen ); setTRFarbe( 0xFF00FF00 ); setTRBreite( 1 ); setTAfFarbe( 0x1000FF00 ); setTAfStrength( -15 ); setSKAfFarbe( 0xFF00FF00 ); setSKAfStrength( 30 ); setClosingMe( [ this ]( void *p, void *o, MausEreignis me ) { if( me.id == ME_RLinks ) removeStyle( Fenster::Style::Sichtbar ); return 1; } ); } UIDialog::~UIDialog() {} UIMessageDialog::UIMessageDialog( const char *titel, const char *message, Schrift *schrift ) : UIDialog( schrift ) { setTitel( titel ); UIInit init = defaultUI( schrift, 0 ); TextFeld *msg = init.createTextFeld( init.initParam ); msg->setStyle( TextFeld::Style::Text ); msg->setText( message ); msg->setPosition( 5, 5 ); TextRenderer tr( schrift->getThis() ); tr.textFormatieren( msg->zText(), 590 ); int br = tr.getTextBreite( message ); int hö = tr.getTextHeight( message ); msg->setSize( br, hö ); Knopf *ok = init.createKnopf( init.initParam ); ok->setText( "Ok" ); ok->setMausEreignis( [ this ]( void *p, void *o, MausEreignis me ) { if( me.id == ME_RLinks ) removeStyle( Fenster::Style::Sichtbar ); return 1; } ); ok->setPosition( br - 100, hö + 5 ); ok->setSize( 100, 20 ); addMember( ok ); addMember( msg ); setSize( br + 10, hö + 55 ); } UIMessageDialog::~UIMessageDialog() {}