|
@@ -9,15 +9,15 @@
|
|
|
// Konstruktor
|
|
|
Einstellungen::Einstellungen( Schrift *zSchrift, Fenster *zF )
|
|
|
{
|
|
|
- f = initFenster( zF->getBreite() / 2 - 250, zF->getHeight() / 2 - 250, 500, 500, zSchrift,
|
|
|
- Fenster::Style::normal | Fenster::Style::BodyHAlpha | Fenster::Style::BodyHintergrund |
|
|
|
- Fenster::Style::TitelHintergrund | Fenster::Style::TitelHAlpha, "Einstellungen" );
|
|
|
- f->removeStyle( Fenster::Style::Sichtbar );
|
|
|
- f->setKBgFarbe( 0xe0000000 );
|
|
|
- f->setTBgFarbe( 0xe0000000 );
|
|
|
- f->setSBgFarbe( 0xF0000000 );
|
|
|
- f->setClosingMeParam( this );
|
|
|
- f->setClosingMe( einstellungenSchließenME );
|
|
|
+ f = initFenster( zF->getBreite() / 2 - 250, zF->getHeight() / 2 - 250, 500, 500, zSchrift,
|
|
|
+ Fenster::Style::normal | Fenster::Style::BodyHAlpha | Fenster::Style::BodyHintergrund |
|
|
|
+ Fenster::Style::TitelHintergrund | Fenster::Style::TitelHAlpha, "Einstellungen" );
|
|
|
+ f->removeStyle( Fenster::Style::Sichtbar );
|
|
|
+ f->setKBgFarbe( 0xe0000000 );
|
|
|
+ f->setTBgFarbe( 0xe0000000 );
|
|
|
+ f->setSBgFarbe( 0xF0000000 );
|
|
|
+ f->setClosingMeParam( this );
|
|
|
+ f->setClosingMe( einstellungenSchließenME );
|
|
|
TextFeld *gat = initTextFeld( 5, 5, 300, 20, zSchrift, TextFeld::Style::Text, "Grafik Engine (Neustart erforderlich)" );
|
|
|
f->addMember( gat );
|
|
|
AuswahlBox *graphicAPI = initAuswahlBox( 5, 25, 100, 20, zSchrift, AuswahlBox::Style::Normal | AuswahlBox::Style::Hintergrund, { "Aktuellste", "DirectX 9" } );
|
|
@@ -34,6 +34,7 @@ Einstellungen::Einstellungen( Schrift *zSchrift, Fenster *zF )
|
|
|
graphicAPI->setAuswahl( 3 );
|
|
|
graphicAPI->setEventAktion( [ this ]( void *p, AuswahlBox * b, int unused, int auswahl )
|
|
|
{
|
|
|
+ userOptions->addWert( "GraphicAPI", "BEST" );
|
|
|
switch( auswahl )
|
|
|
{
|
|
|
case 1:
|
|
@@ -55,20 +56,41 @@ Einstellungen::Einstellungen( Schrift *zSchrift, Fenster *zF )
|
|
|
maxFPS = initTextFeld( 5, 70, 50, 20, zSchrift, TextFeld::Style::TextFeld, userOptions->wertExistiert( "MaxFPS" ) ? userOptions->zWert( "MaxFPS" )->getText() : "30" );
|
|
|
maxFPS->setTastaturEreignis( _nurNummernTE );
|
|
|
f->addMember( maxFPS->getThis() );
|
|
|
- TextFeld *gst = initTextFeld( 5, 95, 200, 20, zSchrift, TextFeld::Style::Text, "GUI Lautstärke (0 bis 100)" );
|
|
|
+ TextFeld * gst = initTextFeld( 5, 95, 200, 20, zSchrift, TextFeld::Style::Text, "GUI Lautstärke (0 bis 100)" );
|
|
|
f->addMember( gst );
|
|
|
guiSound = initTextFeld( 5, 115, 50, 20, zSchrift, TextFeld::Style::TextFeld, userOptions->wertExistiert( "GUISound" ) ? userOptions->zWert( "GUISound" )->getText() : "100" );
|
|
|
guiSound->setTastaturEreignis( _nurNummernTE );
|
|
|
f->addMember( guiSound->getThis() );
|
|
|
- ok = initKnopf( 390, 450, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Ok" );
|
|
|
- ok->setMausEreignisParameter( this );
|
|
|
- ok->setMausEreignis( einstellungenOkME );
|
|
|
- f->addMember( ok->getThis() );
|
|
|
+ TextFeld * mt = initTextFeld( 255, 5, 200, 20, zSchrift, TextFeld::Style::Text, "Monitor (Neustart erforderlich)" );
|
|
|
+ f->addMember( mt );
|
|
|
+ AuswahlBox * monitorAuswahl = initAuswahlBox( 255, 25, 200, 20, zSchrift, AuswahlBox::Style::Normal | AuswahlBox::Style::Hintergrund, {} );
|
|
|
+ Monitor m = getMonitor( 0 );
|
|
|
+ int index = 0;
|
|
|
+ do
|
|
|
+ {
|
|
|
+ monitorAuswahl->addEintrag( Text( "Monitor " ) + ++index + " (" + m.breite + "x" + m.height + ")" );
|
|
|
+ m = getMonitor( index );
|
|
|
+ } while( m.existiert );
|
|
|
+ if( userOptions->wertExistiert( "Monitor" ) )
|
|
|
+ monitorAuswahl->setAuswahl( *userOptions->zWert( "Monitor" ) );
|
|
|
+ monitorAuswahl->setEventAktion( [ this ]( void *p, AuswahlBox * b, int unused, int auswahl )
|
|
|
+ {
|
|
|
+ if( !userOptions->wertExistiert( "Monitor" ) )
|
|
|
+ userOptions->addWert( "Monitor", Text( auswahl ) );
|
|
|
+ else
|
|
|
+ userOptions->setWert( "Monitor", Text( auswahl ) );
|
|
|
+ } );
|
|
|
+ ok = initKnopf( 390, 450, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Ok" );
|
|
|
+ ok->setMausEreignisParameter( this );
|
|
|
+ ok->setMausEreignis( einstellungenOkME );
|
|
|
+ f->addMember( ok->getThis() );
|
|
|
+
|
|
|
// add AuswahlBoxen
|
|
|
f->addMember( graphicAPI );
|
|
|
+ f->addMember( monitorAuswahl );
|
|
|
|
|
|
- zF->addMember( f->getThis() );
|
|
|
- ref = 1;
|
|
|
+ zF->addMember( f->getThis() );
|
|
|
+ ref = 1;
|
|
|
}
|
|
|
|
|
|
// Destruktor
|
|
@@ -76,27 +98,27 @@ Einstellungen::~Einstellungen()
|
|
|
{
|
|
|
maxFPS->release();
|
|
|
guiSound->release();
|
|
|
- f->release();
|
|
|
- ok->release();
|
|
|
+ f->release();
|
|
|
+ ok->release();
|
|
|
}
|
|
|
|
|
|
// nicht constant
|
|
|
void Einstellungen::setSichtbar()
|
|
|
{
|
|
|
- f->setStyle( Fenster::Style::Sichtbar, f->hatStyleNicht( Fenster::Style::Sichtbar ) );
|
|
|
+ f->setStyle( Fenster::Style::Sichtbar, f->hatStyleNicht( Fenster::Style::Sichtbar ) );
|
|
|
}
|
|
|
|
|
|
bool Einstellungen::closeME( MausEreignis &me )
|
|
|
{
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- f->removeStyle( Fenster::Style::Sichtbar );
|
|
|
- return 1;
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
+ f->removeStyle( Fenster::Style::Sichtbar );
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
-bool Einstellungen::okME( MausEreignis &me )
|
|
|
+bool Einstellungen::okME( MausEreignis & me )
|
|
|
{
|
|
|
- if( me.id == ME_RLinks )
|
|
|
- {
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
+ {
|
|
|
int fps = *maxFPS->zText();
|
|
|
int sound = *guiSound->zText();
|
|
|
if( fps > 0 && sound >= 0 && sound <= 100 )
|
|
@@ -114,37 +136,37 @@ bool Einstellungen::okME( MausEreignis &me )
|
|
|
hauptScreen->unlock();
|
|
|
userOptions->speichern();
|
|
|
}
|
|
|
- }
|
|
|
- return 1;
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
// Reference Counting
|
|
|
Einstellungen *Einstellungen::getThis()
|
|
|
{
|
|
|
- ref++;
|
|
|
- return this;
|
|
|
+ ref++;
|
|
|
+ return this;
|
|
|
}
|
|
|
|
|
|
Einstellungen *Einstellungen::release()
|
|
|
{
|
|
|
- ref--;
|
|
|
- if( !ref )
|
|
|
- delete this;
|
|
|
- return 0;
|
|
|
+ ref--;
|
|
|
+ if( !ref )
|
|
|
+ delete this;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
|
|
|
// Ereignisse
|
|
|
bool einstellungenSchließenME( void *p, void *obj, MausEreignis me )
|
|
|
{
|
|
|
- if( !p )
|
|
|
- return 1;
|
|
|
- return ( (Einstellungen*)p )->closeME( me );
|
|
|
+ if( !p )
|
|
|
+ return 1;
|
|
|
+ return ( (Einstellungen *)p )->closeME( me );
|
|
|
}
|
|
|
|
|
|
bool einstellungenOkME( void *p, void *obj, MausEreignis me )
|
|
|
{
|
|
|
- if( !p )
|
|
|
- return 1;
|
|
|
- return ( (Einstellungen*)p )->okME( me );
|
|
|
+ if( !p )
|
|
|
+ return 1;
|
|
|
+ return ( (Einstellungen *)p )->okME( me );
|
|
|
}
|