|
@@ -14,7 +14,7 @@ using namespace Framework;
|
|
|
|
|
|
ObjTabelle::ObjTabelle()
|
|
|
: ZeichnungHintergrund(),
|
|
|
- zZeichnungs( new RCArray< Array< Zeichnung* > >() ),
|
|
|
+ members( new RCArray< RCArray< Zeichnung > >() ),
|
|
|
spaltenNamen( new RCArray< Text >() ),
|
|
|
zeilenNamen( new RCArray< Text >() ),
|
|
|
spaltenBreite( new Array< int >() ),
|
|
@@ -37,8 +37,7 @@ ObjTabelle::ObjTabelle()
|
|
|
aAf( 0 ),
|
|
|
msaRam( new RCArray< RCArray< Rahmen > >() ),
|
|
|
msaAf( new RCArray< RCArray< AlphaFeld > >() ),
|
|
|
- styles( new RCArray< Array< __int64 > >() ),
|
|
|
- ref( 1 )
|
|
|
+ styles( new RCArray< Array< __int64 > >() )
|
|
|
{
|
|
|
style = 0;
|
|
|
}
|
|
@@ -46,8 +45,8 @@ ObjTabelle::ObjTabelle()
|
|
|
|
|
|
ObjTabelle::~ObjTabelle()
|
|
|
{
|
|
|
- if( zZeichnungs )
|
|
|
- zZeichnungs->release();
|
|
|
+ if( members )
|
|
|
+ members->release();
|
|
|
if( spaltenNamen )
|
|
|
spaltenNamen->release();
|
|
|
if( zeilenNamen )
|
|
@@ -80,7 +79,7 @@ ObjTabelle::~ObjTabelle()
|
|
|
void ObjTabelle::addSpalte( const char *name )
|
|
|
{
|
|
|
lockZeichnung();
|
|
|
- zZeichnungs->add( new Array< Zeichnung* >(), spaltenAnzahl );
|
|
|
+ members->add( new RCArray< Zeichnung >(), spaltenAnzahl );
|
|
|
spaltenNamen->add( new Text( name ), spaltenAnzahl );
|
|
|
spaltenBreite->add( 100 );
|
|
|
msaRam->add( new RCArray< Rahmen >(), spaltenAnzahl );
|
|
@@ -93,7 +92,7 @@ void ObjTabelle::addSpalte( const char *name )
|
|
|
void ObjTabelle::addSpalte( Text *name )
|
|
|
{
|
|
|
lockZeichnung();
|
|
|
- zZeichnungs->add( new Array< Zeichnung* >(), spaltenAnzahl );
|
|
|
+ members->add( new RCArray< Zeichnung >(), spaltenAnzahl );
|
|
|
spaltenNamen->add( name, spaltenAnzahl );
|
|
|
spaltenBreite->add( 100 );
|
|
|
msaRam->add( new RCArray< Rahmen >(), spaltenAnzahl );
|
|
@@ -108,7 +107,7 @@ void ObjTabelle::addSpalte( int sNum, const char *name )
|
|
|
if( sNum > spaltenAnzahl )
|
|
|
return;
|
|
|
lockZeichnung();
|
|
|
- zZeichnungs->add( new Array< Zeichnung* >(), sNum );
|
|
|
+ members->add( new RCArray< Zeichnung >(), sNum );
|
|
|
spaltenNamen->add( new Text( name ), sNum );
|
|
|
spaltenBreite->add( 100, sNum );
|
|
|
minSpaltenBreite->add( 0, sNum );
|
|
@@ -126,7 +125,7 @@ void ObjTabelle::addSpalte( int sNum, Text *name )
|
|
|
if( sNum > spaltenAnzahl )
|
|
|
return;
|
|
|
lockZeichnung();
|
|
|
- zZeichnungs->add( new Array< Zeichnung* >(), sNum );
|
|
|
+ members->add( new RCArray< Zeichnung >(), sNum );
|
|
|
spaltenNamen->add( name, sNum );
|
|
|
spaltenBreite->add( 100, sNum );
|
|
|
minSpaltenBreite->add( 0, sNum );
|
|
@@ -170,8 +169,8 @@ void ObjTabelle::addZeile( int zNum, const char *name )
|
|
|
maxZeilenHeight->add( 100, zNum );
|
|
|
for( int i = 0; i < spaltenAnzahl; ++i )
|
|
|
{
|
|
|
- if( zZeichnungs->z( i ) )
|
|
|
- zZeichnungs->z( i )->add( 0, zNum );
|
|
|
+ if( members->z( i ) )
|
|
|
+ members->z( i )->add( 0, zNum );
|
|
|
if( msaRam->z( i ) )
|
|
|
msaRam->z( i )->add( 0, zNum );
|
|
|
if( msaAf->z( i ) )
|
|
@@ -195,8 +194,8 @@ void ObjTabelle::addZeile( int zNum, Text *name )
|
|
|
maxZeilenHeight->add( 100, zNum );
|
|
|
for( int i = 0; i < spaltenAnzahl; ++i )
|
|
|
{
|
|
|
- if( zZeichnungs->z( i ) )
|
|
|
- zZeichnungs->z( i )->add( 0, zNum );
|
|
|
+ if( members->z( i ) )
|
|
|
+ members->z( i )->add( 0, zNum );
|
|
|
if( msaRam->z( i ) )
|
|
|
msaRam->z( i )->add( 0, zNum );
|
|
|
if( msaAf->z( i ) )
|
|
@@ -214,7 +213,7 @@ void ObjTabelle::removeSpalte( int sNum )
|
|
|
if( sNum >= spaltenAnzahl )
|
|
|
return;
|
|
|
lockZeichnung();
|
|
|
- zZeichnungs->remove( sNum );
|
|
|
+ members->remove( sNum );
|
|
|
spaltenNamen->remove( sNum );
|
|
|
spaltenBreite->remove( sNum );
|
|
|
minSpaltenBreite->remove( sNum );
|
|
@@ -252,8 +251,8 @@ void ObjTabelle::removeZeile( int zNum )
|
|
|
maxZeilenHeight->remove( zNum );
|
|
|
for( int i = 0; i < spaltenAnzahl; ++i )
|
|
|
{
|
|
|
- if( zZeichnungs->z( i ) )
|
|
|
- zZeichnungs->z( i )->remove( zNum );
|
|
|
+ if( members->z( i ) )
|
|
|
+ members->z( i )->remove( zNum );
|
|
|
if( msaRam->z( i ) )
|
|
|
msaRam->z( i )->remove( zNum );
|
|
|
if( msaAf->z( i ) )
|
|
@@ -297,8 +296,8 @@ void ObjTabelle::setSpaltePosition( int sNum, int pos )
|
|
|
else
|
|
|
++insertPos;
|
|
|
lockZeichnung();
|
|
|
- zZeichnungs->add( zZeichnungs->get( sNum ), insertPos );
|
|
|
- zZeichnungs->remove( delPos );
|
|
|
+ members->add( members->get( sNum ), insertPos );
|
|
|
+ members->remove( delPos );
|
|
|
spaltenNamen->add( spaltenNamen->get( sNum ), insertPos );
|
|
|
spaltenNamen->remove( delPos );
|
|
|
spaltenBreite->add( spaltenBreite->hat( sNum ) ? spaltenBreite->get( sNum ) : 0, insertPos );
|
|
@@ -346,10 +345,10 @@ void ObjTabelle::setZeilePosition( int zNum, int pos )
|
|
|
maxZeilenHeight->remove( delPos );
|
|
|
for( int i = 0; i < spaltenAnzahl; ++i )
|
|
|
{
|
|
|
- if( zZeichnungs->z( i ) )
|
|
|
+ if( members->z( i ) )
|
|
|
{
|
|
|
- zZeichnungs->z( i )->add( zZeichnungs->z( i )->hat( zNum ) ? zZeichnungs->z( i )->get( zNum ) : 0, insertPos );
|
|
|
- zZeichnungs->z( i )->remove( delPos );
|
|
|
+ members->z( i )->add( members->z( i )->hat( zNum ) ? members->z( i )->get( zNum ) : 0, insertPos );
|
|
|
+ members->z( i )->remove( delPos );
|
|
|
}
|
|
|
if( msaRam->z( i ) )
|
|
|
{
|
|
@@ -371,14 +370,14 @@ void ObjTabelle::setZeilePosition( int zNum, int pos )
|
|
|
unlockZeichnung();
|
|
|
}
|
|
|
|
|
|
-void ObjTabelle::setZeichnungZ( int sNum, int zNum, Zeichnung *zObj )
|
|
|
+void ObjTabelle::setZeichnungZ( int sNum, int zNum, Zeichnung *obj )
|
|
|
{
|
|
|
if( sNum >= spaltenAnzahl || zNum >= zeilenAnzahl )
|
|
|
return;
|
|
|
lockZeichnung();
|
|
|
- if( !zZeichnungs->z( sNum ) )
|
|
|
- zZeichnungs->set( new Array< Zeichnung* >(), sNum );
|
|
|
- zZeichnungs->z( sNum )->set( zObj, zNum );
|
|
|
+ if( !members->z( sNum ) )
|
|
|
+ members->set( new RCArray< Zeichnung >(), sNum );
|
|
|
+ members->z( sNum )->set( obj, zNum );
|
|
|
rend = 1;
|
|
|
unlockZeichnung();
|
|
|
}
|
|
@@ -1045,7 +1044,7 @@ void ObjTabelle::render( Bild &zRObj )
|
|
|
{
|
|
|
if( hatStyleNicht( Style::Sichtbar ) )
|
|
|
return;
|
|
|
- ZeichnungHintergrund::render( zRObj );
|
|
|
+ ZeichnungHintergrund::render( zRObj );
|
|
|
lockZeichnung();
|
|
|
if( !zRObj.setDrawOptions( innenPosition, innenSize ) )
|
|
|
{
|
|
@@ -1061,13 +1060,13 @@ void ObjTabelle::render( Bild &zRObj )
|
|
|
int yPos = 0;
|
|
|
if( vertikalScrollBar && hatStyle( Style::VScroll ) )
|
|
|
yPos -= vertikalScrollBar->getScroll();
|
|
|
- Array< Zeichnung* > *tmp_zZeichnungs = zZeichnungs->z( s );
|
|
|
+ RCArray< Zeichnung > *tmp_zZeichnungs = members->z( s );
|
|
|
if( !tmp_zZeichnungs )
|
|
|
continue;
|
|
|
for( int z = 0; z < zeilenAnzahl && tmp_zZeichnungs; ++z )
|
|
|
{
|
|
|
int zHi = zeilenHeight->hat( z ) ? zeilenHeight->get( z ) : 0;
|
|
|
- Zeichnung *obj = tmp_zZeichnungs->hat( z ) ? tmp_zZeichnungs->get( z ) : 0;
|
|
|
+ Zeichnung *obj = tmp_zZeichnungs->hat( z ) ? tmp_zZeichnungs->z( z ) : 0;
|
|
|
if( obj )
|
|
|
{
|
|
|
obj->setPosition( xPos, yPos );
|
|
@@ -1204,12 +1203,12 @@ Punkt ObjTabelle::getZeichnungPosition( Zeichnung *zObj ) const
|
|
|
|
|
|
Zeichnung *ObjTabelle::zZeichnung( int sNum, int zNum ) const
|
|
|
{
|
|
|
- if( !zZeichnungs->z( sNum ) )
|
|
|
+ if( !members->z( sNum ) )
|
|
|
return 0;
|
|
|
- Array< Zeichnung* > *tmp = zZeichnungs->z( sNum );
|
|
|
+ RCArray< Zeichnung > *tmp = members->z( sNum );
|
|
|
if( !tmp->hat( zNum ) )
|
|
|
return 0;
|
|
|
- return tmp ? tmp->get( zNum ) : 0;
|
|
|
+ return tmp ? tmp->z( zNum ) : 0;
|
|
|
}
|
|
|
|
|
|
Zeichnung *ObjTabelle::zZeichnung( const char *spaltenName, const char *zeilenName ) const
|
|
@@ -1222,6 +1221,26 @@ Zeichnung *ObjTabelle::zZeichnung( Text *spaltenName, Text *zeilenName ) const
|
|
|
return zZeichnung( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ) );
|
|
|
}
|
|
|
|
|
|
+Zeichnung *ObjTabelle::getZeichnung( int sNum, int zNum ) const
|
|
|
+{
|
|
|
+ if( !members->z( sNum ) )
|
|
|
+ return 0;
|
|
|
+ RCArray< Zeichnung > *tmp = members->z( sNum );
|
|
|
+ if( !tmp->hat( zNum ) )
|
|
|
+ return 0;
|
|
|
+ return tmp ? tmp->get( zNum ) : 0;
|
|
|
+}
|
|
|
+
|
|
|
+Zeichnung *ObjTabelle::getZeichnung( const char *spaltenName, const char *zeilenName ) const
|
|
|
+{
|
|
|
+ return getZeichnung( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ) );
|
|
|
+}
|
|
|
+
|
|
|
+Zeichnung *ObjTabelle::getZeichnung( Text *spaltenName, Text *zeilenName ) const
|
|
|
+{
|
|
|
+ return getZeichnung( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ) );
|
|
|
+}
|
|
|
+
|
|
|
int ObjTabelle::getSpaltenBreite( int num ) const
|
|
|
{
|
|
|
return spaltenBreite->get( num );
|
|
@@ -1403,7 +1422,7 @@ int ObjTabelle::getRasterBreite() const
|
|
|
|
|
|
Rahmen *ObjTabelle::getARahmen() const
|
|
|
{
|
|
|
- return aRam ? aRam->getThis() : 0;
|
|
|
+ return aRam ? (Rahmen*)aRam->getThis() : 0;
|
|
|
}
|
|
|
|
|
|
Rahmen *ObjTabelle::zARahmen() const
|
|
@@ -1413,7 +1432,7 @@ Rahmen *ObjTabelle::zARahmen() const
|
|
|
|
|
|
AlphaFeld *ObjTabelle::getAAlphaFeld() const
|
|
|
{
|
|
|
- return aAf ? aAf->getThis() : 0;
|
|
|
+ return aAf ? (AlphaFeld*)aAf->getThis() : 0;
|
|
|
}
|
|
|
|
|
|
AlphaFeld *ObjTabelle::zAAlphaFeld() const
|
|
@@ -1562,8 +1581,8 @@ Zeichnung *ObjTabelle::dublizieren() const
|
|
|
if( maxZeilenHeight->hat( z ) )
|
|
|
obj->setMaxZeilenHeight( z, maxZeilenHeight->get( z ) );
|
|
|
}
|
|
|
- if( zZeichnungs->z( s ) && zZeichnungs->z( s )->hat( z ) )
|
|
|
- obj->setZeichnungZ( s, z, zZeichnungs->z( s )->get( z ) );
|
|
|
+ if( members->z( s ) && members->z( s )->hat( z ) )
|
|
|
+ obj->setZeichnungZ( s, z, members->z( s )->get( z ) );
|
|
|
if( styles->z( s ) && styles->z( s )->hat( z ) )
|
|
|
obj->setMsStyle( s, z, styles->z( s )->get( z ) );
|
|
|
if( msaRam->z( s ) && msaRam->z( s )->z( z ) )
|
|
@@ -1574,19 +1593,4 @@ Zeichnung *ObjTabelle::dublizieren() const
|
|
|
}
|
|
|
obj->setAuswahl( selected.x, selected.y );
|
|
|
return obj;
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-ObjTabelle *ObjTabelle::getThis()
|
|
|
-{
|
|
|
- ++ref;
|
|
|
- return this;
|
|
|
-}
|
|
|
-
|
|
|
-ObjTabelle *ObjTabelle::release()
|
|
|
-{
|
|
|
- --ref;
|
|
|
- if( !ref )
|
|
|
- delete this;
|
|
|
- return 0;
|
|
|
}
|