Przeglądaj źródła

An neues Framework angepasst

Kolja Strohm 5 lat temu
rodzic
commit
df0c22dc26

BIN
Fertig/x32/smp.exe


BIN
Fertig/x64/smp.exe


+ 4 - 6
SMP/Programm/Beenden/Beenden.cpp

@@ -23,7 +23,7 @@ Beenden::Beenden( Schrift *s, Bildschirm *b )
 	f->setTSFarbe( 0xFFFFFFFF );
 	f->setSize( 300, 150 );
 
-	text = new TextFeld();
+    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 );
@@ -31,9 +31,9 @@ Beenden::Beenden( Schrift *s, Bildschirm *b )
 	text->setSchriftZ( s->getThis() );
 	text->setSchriftSize( 12 );
 	text->setSchriftFarbe( 0xFFFFFFFF );
-	f->addMember( text->getThis() );
+	f->addMember( text );
 
-	beenden = new Knopf( );
+	Knopf *beenden = new Knopf( );
 	beenden->setStyle( Knopf::Style::Normal );
 	beenden->setText( "Beenden" );
 	beenden->setSchriftZ( s->getThis() );
@@ -41,7 +41,7 @@ Beenden::Beenden( Schrift *s, Bildschirm *b )
 	beenden->setPosition( 190, 100 );
 	beenden->setMausEreignisParameter( this );
 	beenden->setMausEreignis( beendenBeendenMausEreignis );
-	f->addMember( beenden->getThis() );
+	f->addMember( beenden );
 
 	fenster = 0;
 	ref = 1;
@@ -52,8 +52,6 @@ Beenden::Beenden( Schrift *s, Bildschirm *b )
 Beenden::~Beenden()
 {
 	f->release();
-	text->release();
-	beenden->release();
 	if( fenster )
 		fenster->release();
 }

+ 0 - 2
SMP/Programm/Beenden/Beenden.h

@@ -10,8 +10,6 @@ class Beenden : public Abschnitt
 private:
 	Fenster *fenster;
 	Fenster *f;
-	TextFeld *text;
-	Knopf *beenden;
 	int ref;
 
 public:

+ 0 - 18
SMP/Programm/Login/Login.cpp

@@ -13,7 +13,6 @@ AktionThread::AktionThread( int ak, Bildschirm *zScreen, Programm *zProg )
 	this->ak = ak;
 	zB = zScreen;
 	zP = zProg;
-	ref = 1;
 	start();
 }
 
@@ -38,23 +37,6 @@ void AktionThread::thread()
 	release();
 }
 
-// constant
-
-// Reference Counting
-AktionThread *AktionThread::getThis()
-{
-	ref++;
-	return this;
-}
-
-AktionThread *AktionThread::release()
-{
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
-}
-
 
 // Inhalt der AdminAccount Klasse aus Login.h
 // Konstruktor

+ 0 - 5
SMP/Programm/Login/Login.h

@@ -14,7 +14,6 @@ private:
 	Bildschirm *zB;
 	Programm *zP;
 	int ak;
-	int ref;
 
 public:
 	// Konstruktor
@@ -24,10 +23,6 @@ public:
 	// nicht constant
 	virtual void thread();
 	// constant
-
-	// Reference Counting
-	AktionThread *getThis();
-	AktionThread *release();
 };
 
 class AdminAccount

+ 4 - 111
SMP/Programm/Server/Patch/PatchServer.cpp

@@ -8,6 +8,7 @@
 // Inhalt der PSUpdate Klasse aus PatchServer.h
 // Kontruktor
 PSUpdate::PSUpdate( PatchServer *zPSA, AdminAccount *account )
+    : Thread()
 {
     this->account = account;
     this->zPSA = zPSA;
@@ -15,7 +16,6 @@ PSUpdate::PSUpdate( PatchServer *zPSA, AdminAccount *account )
     gruppeId = 0;
     this->psc = 0;
     id = 0;
-    ref = 1;
 }
 
 // Destruktor
@@ -305,32 +305,15 @@ void PSUpdate::thread()
     run = 0;
 }
 
-// constant
-
-// Reference Counting
-PSUpdate *PSUpdate::getThis()
-{
-    ref++;
-    return this;
-}
-
-PSUpdate *PSUpdate::release()
-{
-    ref--;
-    if( !ref )
-        delete this;
-    return 0;
-}
-
 
 // Inhalt der PSDetails Klasse aus PatchServer.h
 // Konstruktor
 PSDetails::PSDetails( PatchServer *zPSA, MSKlient *mk )
+    : Thread()
 {
     this->zPSA = zPSA;
     this->mk = mk;
     id = 0;
-    ref = 1;
 }
 
 // Destruktor
@@ -376,31 +359,14 @@ void PSDetails::thread()
     run = 0;
 }
 
-// constant
-
-// Reference Counting
-PSDetails *PSDetails::getThis()
-{
-    ref++;
-    return this;
-}
-
-PSDetails *PSDetails::release()
-{
-    ref--;
-    if( !ref )
-        delete this;
-    return 0;
-}
-
 
 // Inhalt der PSSuche Klasse aus PatchServer.h
 // Konstruktor
 PSSuche::PSSuche( PatchServer *zPSA, MSKlient *mk )
+    : Thread()
 {
     this->zPSA = zPSA;
     this->mk = mk;
-    ref = 1;
 }
 
 // Destruktor
@@ -463,23 +429,6 @@ void PSSuche::thread()
     run = 0;
 }
 
-// constant
-
-// Reference Counting
-PSSuche *PSSuche::getThis()
-{
-    ref++;
-    return this;
-}
-
-PSSuche *PSSuche::release()
-{
-    ref--;
-    if( !ref )
-        delete this;
-    return 0;
-}
-
 
 TextFeld *getTabellenEintrag( const char *txt, Schrift *s, int farbe )
 {
@@ -887,21 +836,6 @@ void PatchServer::setSichtbar( bool s )
     {
         if( !suchen->isRunning() && liste->hatStyle( Fenster::Style::Sichtbar ) )
         {
-            for( int x = 0; x < tabelle->getSpaltenAnzahl(); x++ )
-            {
-                for( int y = 1; y < tabelle->getZeilenAnzahl(); y++ )
-                {
-                    Zeichnung *obj = tabelle->zZeichnung( x, y );
-                    if( obj )
-                    {
-                        if( x == tabelle->getSpaltenNummer( "auswahl" ) )
-                            ( (KontrollKnopf*)obj )->release();
-                        else
-                            ( (TextFeld*)obj )->release();
-                    }
-                    tabelle->setZeichnungZ( x, y, 0 );
-                }
-            }
             for( int y = 1; y < tabelle->getZeilenAnzahl(); y++ )
                 tabelle->removeZeile( 1 );
             weiter->removeStyle( Knopf::Style::Erlaubt );
@@ -909,7 +843,7 @@ void PatchServer::setSichtbar( bool s )
             tabelle->removeStyle( ObjTabelle::Style::Erlaubt );
             suchen->start();
         }
-        fenster->addMember( f );
+        fenster->addMember( f->getThis() );
     }
     else
         fenster->removeMember( f );
@@ -1045,7 +979,6 @@ void PatchServer::setUpdateProzent( int prozent, int gruppe )
             if( updateT->zZeichnung( 3, i ) != obj )
             {
                 updateT->lockZeichnung();
-                ( (TextFeld*)updateT->zZeichnung( 1, i ) )->release();
                 FBalken *fb = new FBalken();
                 fb->setStyle( FBalken::Style::Sichtbar | FBalken::Style::L_R | FBalken::Style::FFarbe | FBalken::Style::Hintergrund | FBalken::Style::Prozent | FBalken::Style::Rahmen | FBalken::Style::FRahmen );
                 fb->setFBgFarbe( 0xFF00FF00 );
@@ -1090,7 +1023,6 @@ void PatchServer::setUpdateFertig( bool error, int gruppe )
             if( gruppe == TextZuInt( updateT->zZeilenName( i )->getText(), 10 ) )
             {
                 updateT->lockZeichnung();
-                ( (FBalken*)updateT->zZeichnung( 1, i ) )->release();
                 TextFeld *uTS = new TextFeld();
                 uTS->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Rahmen | TextFeld::Style::Center );
                 uTS->setSchriftZ( schrift->getThis() );
@@ -1123,21 +1055,6 @@ bool PatchServer::aktualisierenMausEreignis( void *o, MausEreignis me )
         {
             if( !suchen->isRunning() )
             {
-                for( int x = 0; x < tabelle->getSpaltenAnzahl(); x++ )
-                {
-                    for( int y = 1; y < tabelle->getZeilenAnzahl(); y++ )
-                    {
-                        Zeichnung *obj = tabelle->zZeichnung( x, y );
-                        if( obj )
-                        {
-                            if( x == tabelle->getSpaltenNummer( "auswahl" ) )
-                                ( (KontrollKnopf*)obj )->release();
-                            else
-                                ( (TextFeld*)obj )->release();
-                        }
-                        tabelle->setZeichnungZ( x, y, 0 );
-                    }
-                }
                 for( int y = 1; y < tabelle->getZeilenAnzahl(); y++ )
                     tabelle->removeZeile( 1 );
                 weiter->removeStyle( Knopf::Style::Erlaubt );
@@ -1174,16 +1091,7 @@ bool PatchServer::aktualisierenMausEreignis( void *o, MausEreignis me )
             if( psc->getFileGroupInfoList( &list ) )
             {
                 for( int i = 1; i < updateT->getZeilenAnzahl(); )
-                {
-                    ( (TextFeld*)updateT->zZeichnung( 0, i ) )->release();
-                    if( updateT->zZeichnung( 3, i ) == obj )
-                        ( (FBalken*)updateT->zZeichnung( 1, i ) )->release();
-                    else
-                        ( (TextFeld*)updateT->zZeichnung( 1, i ) )->release();
-                    if( updateT->zZeichnung( 2, i ) )
-                        ( (KontrollKnopf*)updateT->zZeichnung( 2, i ) )->release();
                     updateT->removeZeile( i );
-                }
                 int anz = list.getEintragAnzahl();
                 for( int i = 0; i < anz; i++ )
                 {
@@ -1288,21 +1196,6 @@ bool PatchServer::zur
             liste->addStyle( Fenster::Style::Sichtbar );
             if( !suchen->isRunning() )
             {
-                for( int x = 0; x < tabelle->getSpaltenAnzahl(); x++ )
-                {
-                    for( int y = 1; y < tabelle->getZeilenAnzahl(); y++ )
-                    {
-                        Zeichnung *obj = tabelle->zZeichnung( x, y );
-                        if( obj )
-                        {
-                            if( x == tabelle->getSpaltenNummer( "auswahl" ) )
-                                ( (KontrollKnopf*)obj )->release();
-                            else
-                                ( (TextFeld*)obj )->release();
-                        }
-                        tabelle->setZeichnungZ( x, y, 0 );
-                    }
-                }
                 for( int y = 1; y < tabelle->getZeilenAnzahl(); y++ )
                     tabelle->removeZeile( 1 );
                 weiter->removeStyle( Knopf::Style::Erlaubt );

+ 0 - 15
SMP/Programm/Server/Patch/PatchServer.h

@@ -23,7 +23,6 @@ private:
 	int gruppeAnzahl;
 	int *gruppeId;
 	int id;
-	int ref;
 
 public:
 	// Kontruktor
@@ -35,10 +34,6 @@ public:
 	void setUpdateListe( int gAnzahl, Array< int > *gId );
 	virtual void thread();
 	// constant
-
-	// Reference Counting
-	PSUpdate *getThis();
-	PSUpdate *release();
 };
 
 class PSDetails : public Thread
@@ -47,7 +42,6 @@ private:
 	PatchServer *zPSA;
     MSKlient *mk;
 	int id;
-	int ref;
 
 public:
 	// Konstruktor
@@ -58,10 +52,6 @@ public:
 	void setServerId( int id );
 	virtual void thread();
 	// constant
-
-	// Reference Counting
-	PSDetails *getThis();
-	PSDetails *release();
 };
 
 class PSSuche : public Thread
@@ -69,7 +59,6 @@ class PSSuche : public Thread
 private:
 	PatchServer *zPSA;
 	MSKlient *mk;
-	int ref;
 
 public:
 	// Konstruktor
@@ -79,10 +68,6 @@ public:
 	// nicht constant
 	virtual void thread();
 	// constant
-
-	// Reference Counting
-	PSSuche *getThis();
-	PSSuche *release();
 };
 
 class PatchServer : public Abschnitt

+ 1 - 17
SMP/Programm/Version/Version.cpp

@@ -445,7 +445,7 @@ void Version::setSichtbar( bool s )
 {
 	sichtbar = s;
 	if( s )
-		fenster->addMember( f );
+		fenster->addMember( f->getThis() );
 	else
 		fenster->removeMember( f );
 }
@@ -744,13 +744,7 @@ bool Version::aktualisierenMausEreignis( void *o, MausEreignis me )
                 return 1;
             }
 			for( int i = 1; i < gruppeT->getZeilenAnzahl(); )
-			{
-				( (TextFeld*)gruppeT->zZeichnung( 0, i ) )->release();
-				( (TextFeld*)gruppeT->zZeichnung( 1, i ) )->release();
-				( (TextFeld*)gruppeT->zZeichnung( 2, i ) )->release();
-				( (KontrollKnopf*)gruppeT->zZeichnung( 3, i ) )->release();
 				gruppeT->removeZeile( i );
-			}
             Array< FileGroupInfo* > list;
             psc->getFileGroupInfoList( &list );
             int anz = list.getEintragAnzahl();
@@ -806,12 +800,7 @@ bool Version::aktualisierenMausEreignis( void *o, MausEreignis me )
                 return 1;
             }
 			for( int i = 1; i < systemT->getZeilenAnzahl(); )
-			{
-				( (TextFeld*)systemT->zZeichnung( 0, i ) )->release();
-				( (TextFeld*)systemT->zZeichnung( 1, i ) )->release();
-				( (KontrollKnopf*)systemT->zZeichnung( 2, i ) )->release();
 				systemT->removeZeile( i );
-			}
             RCArray< ReferenceCounting< std::pair< int, Text > > > list;
 			psc->getSystemInfoList( &list );
             int anz = list.getEintragAnzahl();
@@ -860,12 +849,7 @@ bool Version::aktualisierenMausEreignis( void *o, MausEreignis me )
                 return 1;
             }
 			for( int i = 1; i < dateiT->getZeilenAnzahl(); )
-			{
-				( (TextFeld*)dateiT->zZeichnung( 0, i ) )->release();
-				( (TextFeld*)dateiT->zZeichnung( 1, i ) )->release();
-				( (TextFeld*)dateiT->zZeichnung( 2, i ) )->release();
 				dateiT->removeZeile( i );
-			}
             RCArray< ReferenceCounting< FileInfo > > list;
             psc->getFileInfoList( system, gruppe, &list );
             int anz = list.getEintragAnzahl();