12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #include "Beenden.h"
- #include <TextFeld.h>
- #include <Schrift.h>
- #include <Punkt.h>
- // Inhalt der Beenden Klasse aus Beenden.h
- // Konstruktor
- Beenden::Beenden( Schrift *s, Bildschirm *b )
- : Abschnitt( b )
- {
- f = new Fenster();
- f->setStyle( Fenster::Style::Sichtbar | Fenster::Style::Erlaubt | Fenster::Style::Titel | Fenster::Style::Rahmen | Fenster::Style::TitelBuffered );
- f->setRFarbe( 0xFFFFFFFF );
- f->setRBreite( 1 );
- f->setTitel( "Beenden" );
- f->setTAfFarbe( 0x1000FF00 );
- f->setTAfStrength( -15 );
- f->setTRBreite( 1 );
- f->setTRFarbe( 0xFFFFFFFF );
- f->zTTextFeld()->addStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center | TextFeld::Style::Rahmen );
- f->zTTextFeld()->setSize( 0, 20 );
- f->setTSchriftZ( dynamic_cast<Schrift *>( s->getThis() ) );
- f->setTSFarbe( 0xFFFFFFFF );
- f->setSize( 300, 150 );
- TextFeld *text = new TextFeld();
- text->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Mehrzeilig );
- text->setText( "Möchtest du das SMP wirklich beenden?" );
- text->setPosition( 10, 10 );
- text->setSize( 280, 70 );
- text->setSchriftZ( dynamic_cast<Schrift *>( s->getThis() ) );
- text->setSchriftSize( 12 );
- text->setSchriftFarbe( 0xFFFFFFFF );
- f->addMember( text );
- Knopf *beenden = new Knopf();
- beenden->setStyle( Knopf::Style::Normal );
- beenden->setText( "Beenden" );
- beenden->setSchriftZ( dynamic_cast<Schrift *>( s->getThis() ) );
- beenden->setSize( 100, 20 );
- beenden->setPosition( 190, 100 );
- beenden->setMausEreignisParameter( this );
- beenden->setMausEreignis( beendenBeendenMausEreignis );
- f->addMember( beenden );
- fenster = 0;
- s->release();
- }
- // Destruktor
- Beenden::~Beenden()
- {
- f->release();
- if( fenster )
- fenster->release();
- }
- // nicht constant
- void Beenden::setFenster( Fenster *f )
- {
- if( fenster )
- fenster->release();
- this->f->setPosition( f->getBreite() / 2 - 150, f->getHeight() / 2 - 75 );
- fenster = f;
- }
- void Beenden::setSichtbar( bool s )
- {
- sichtbar = s;
- if( !fenster )
- return;
- if( s )
- fenster->addMember( dynamic_cast<Zeichnung *>( f->getThis() ) );
- else
- fenster->removeMember( f );
- }
- bool Beenden::beendenMausEreignis( void *obj, MausEreignis me )
- {
- if( me.id == ME_RLinks )
- PostQuitMessage( 0 );
- return 1;
- }
- // Ereignisse
- bool beendenBeendenMausEreignis( void *p, void *obj, MausEreignis me )
- {
- if( !p )
- return 0;
- return ( (Beenden *)p )->beendenMausEreignis( obj, me );
- }
|