123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #include "Interface.h"
- #include "../../Initialisierung/Initialisierung.h"
- #include "RightTools\SpielerOptionen\SpielerOptionen.h"
- #include "RightTools\TeamOptionen\TeamOptionen.h"
- #include "RightTools/ObjektOptionen/ObjektOptionen.h"
- #include <MausEreignis.h>
- using namespace Editor;
- // Inhalt der Interface Klasse aus Interface.h
- // Konstruktor
- // zS: Ein Zeiger auf die zu verwendende Schrift
- Interface::Interface( UIInit &uiFactory, Punkt maxSize )
- : ReferenceCounter()
- {
- beenden = initKnopf( 10, 10, 100, 20, uiFactory, Knopf::Style::Normal, "beenden" );
- right = new RightTools( uiFactory, maxSize );
- verlassen = 0;
- this->uiFactory = uiFactory;
- daten = 0;
- }
- // Destruktor
- Interface::~Interface()
- {
- if( daten )
- daten->release();
- beenden->release();
- right->release();
- }
- void Interface::setDaten( KarteDaten *daten )
- {
- if( this->daten )
- this->daten->release();
- this->daten = daten;
- right->addTool( new SpielerTool( uiFactory, dynamic_cast<KarteDaten *>( daten->getThis() ) ), "Spieler" );
- right->addTool( new TeamTool( uiFactory, dynamic_cast<KarteDaten *>( daten->getThis() ) ), "Teams" );
- right->addTool( new ObjektTool( uiFactory, dynamic_cast<KarteDaten *>( daten->getThis() ) ), "Objekte" );
- }
- // Verarbeitet eine Mausnachricht
- // me: Die Nachricht die verarbeitet werden soll
- void Interface::doPublicMausEreignis( MausEreignis &me )
- {
- bool vera = me.verarbeitet;
- beenden->doPublicMausEreignis( me );
- if( me.verarbeitet && !vera && me.id == ME_RLinks )
- {
- verlassen = 1;
- }
- right->doPublicMausEreignis( me );
- }
- // Verarbeitet eine Tastaturnachricht
- // te: Die Nachricht die verarbeitet werden soll
- void Interface::doTastaturEreignis( TastaturEreignis &te )
- {
- right->doTastaturEreignis( te );
- }
- bool Interface::tick( double time )
- {
- rend |= beenden->tick( time );
- rend |= right->tick( time );
- return __super::tick( time );
- }
- // Zeichnet das Interface nach uRObj
- // zRObj: Das Bild in das gezeichnet werden soll
- void Interface::render( Bild &zRObj )
- {
- beenden->render( zRObj );
- right->render( zRObj );
- }
- // Setzt das Interface in den Initialisierungszustand zurück
- void Interface::reset()
- {
- verlassen = 0;
- }
- // Gibt zurück, ob der Benutzer den Editor verlassen möchte
- bool Interface::hatVerlassen() const
- {
- return verlassen;
- }
|