EgtGeomKernel 1.5c6 :
- aggiunta gestione attributi Level, Mode e Status - aggiunti comandi per assegnarli.
This commit is contained in:
+106
-4
@@ -128,11 +128,17 @@ GdbExecutor::Execute( const string& sCmd1, const string& sCmd2, const STRVECTOR&
|
||||
return ExecuteCurveBez( sCmd2, vsParams) ;
|
||||
else if ( sCmd1 == "CC" || sCmd1 == "CURVECOMPO")
|
||||
return ExecuteCurveCompo( sCmd2, vsParams) ;
|
||||
else if ( sCmd1 == "LEV" || sCmd1 == "LEVEL")
|
||||
return ExecuteLevel( sCmd2, vsParams) ;
|
||||
else if ( sCmd1 == "MOD" || sCmd1 == "MODE")
|
||||
return ExecuteMode( sCmd2, vsParams) ;
|
||||
else if ( sCmd1 == "STA" || sCmd1 == "STATUS")
|
||||
return ExecuteStatus( sCmd2, vsParams) ;
|
||||
else if ( sCmd1 == "COL" || sCmd1 == "COLOR")
|
||||
return ExecuteColor( sCmd2, vsParams) ;
|
||||
else if ( sCmd1 == "NA" || sCmd1 == "NAME")
|
||||
else if ( sCmd1 == "NAM" || sCmd1 == "NAME")
|
||||
return ExecuteName( sCmd2, vsParams) ;
|
||||
else if ( sCmd1 == "INFO")
|
||||
else if ( sCmd1 == "INF" || sCmd1 == "INFO")
|
||||
return ExecuteInfo( sCmd2, vsParams) ;
|
||||
else if ( sCmd1 == "COPY")
|
||||
return ExecuteCopy( sCmd2, vsParams) ;
|
||||
@@ -919,6 +925,102 @@ GdbExecutor::GetColorParam( const std::string& sParam, Color& cCol)
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
GdbExecutor::ExecuteLevel( const string& sCmd2, const STRVECTOR& vsParams)
|
||||
{
|
||||
// devono essere 2 parametri ( Id, Livello)
|
||||
if ( vsParams.size() != 2)
|
||||
return false ;
|
||||
// recupero lista Id
|
||||
STRVECTOR vsNames ;
|
||||
if ( ! GetNamesParam( vsParams[0], vsNames))
|
||||
return false ;
|
||||
// recupero livello
|
||||
string sLevel = vsParams[1] ;
|
||||
ToUpper( sLevel) ;
|
||||
int nLevel ;
|
||||
if ( sLevel == "USER")
|
||||
nLevel = GDB_LV_USER ;
|
||||
else if ( sLevel == "SYSTEM")
|
||||
nLevel = GDB_LV_SYSTEM ;
|
||||
else if ( sLevel == "TEMP")
|
||||
nLevel = GDB_LV_TEMP ;
|
||||
else
|
||||
return false ;
|
||||
// esecuzione impostazione livello
|
||||
STRVECTOR::iterator Iter ;
|
||||
for ( Iter = vsNames.begin() ; Iter != vsNames.end() ; ++Iter) {
|
||||
if ( ! m_pGDB->SetLevel( GetIdParam( *Iter), nLevel))
|
||||
return false ;
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
GdbExecutor::ExecuteMode( const string& sCmd2, const STRVECTOR& vsParams)
|
||||
{
|
||||
// devono essere 2 parametri ( Id, Modo)
|
||||
if ( vsParams.size() != 2)
|
||||
return false ;
|
||||
// recupero lista Id
|
||||
STRVECTOR vsNames ;
|
||||
if ( ! GetNamesParam( vsParams[0], vsNames))
|
||||
return false ;
|
||||
// recupero modo
|
||||
string sMode = vsParams[1] ;
|
||||
ToUpper( sMode) ;
|
||||
int nMode ;
|
||||
if ( sMode == "STD")
|
||||
nMode = GDB_MD_STD ;
|
||||
else if ( sMode == "LOCKED")
|
||||
nMode = GDB_MD_LOCKED ;
|
||||
else if ( sMode == "HIDDEN")
|
||||
nMode = GDB_MD_HIDDEN ;
|
||||
else
|
||||
return false ;
|
||||
// esecuzione impostazione modo
|
||||
STRVECTOR::iterator Iter ;
|
||||
for ( Iter = vsNames.begin() ; Iter != vsNames.end() ; ++Iter) {
|
||||
if ( ! m_pGDB->SetMode( GetIdParam( *Iter), nMode))
|
||||
return false ;
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
GdbExecutor::ExecuteStatus( const string& sCmd2, const STRVECTOR& vsParams)
|
||||
{
|
||||
// devono essere 2 parametri ( Id, Stato)
|
||||
if ( vsParams.size() != 2)
|
||||
return false ;
|
||||
// recupero lista Id
|
||||
STRVECTOR vsNames ;
|
||||
if ( ! GetNamesParam( vsParams[0], vsNames))
|
||||
return false ;
|
||||
// recupero stato
|
||||
string sStat = vsParams[1] ;
|
||||
ToUpper( sStat) ;
|
||||
int nStat ;
|
||||
if ( sStat == "ON")
|
||||
nStat = GDB_ST_ON ;
|
||||
else if ( sStat == "SEL")
|
||||
nStat = GDB_ST_SEL ;
|
||||
else if ( sStat == "OFF")
|
||||
nStat = GDB_ST_OFF ;
|
||||
else
|
||||
return false ;
|
||||
// esecuzione impostazione stato
|
||||
STRVECTOR::iterator Iter ;
|
||||
for ( Iter = vsNames.begin() ; Iter != vsNames.end() ; ++Iter) {
|
||||
if ( ! m_pGDB->SetStatus( GetIdParam( *Iter), nStat))
|
||||
return false ;
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
GdbExecutor::ExecuteColor( const string& sCmd2, const STRVECTOR& vsParams)
|
||||
@@ -1499,11 +1601,11 @@ GdbExecutor::OutGroupScl( int nId, int nFlag)
|
||||
bNext = Iter.GoToFirstInGroup( nId) ;
|
||||
while ( bNext) {
|
||||
nGdbType = Iter.GetGdbType() ;
|
||||
if ( nGdbType == GDB_GEO) {
|
||||
if ( nGdbType == GDB_TY_GEO) {
|
||||
if ( ! m_OutScl.PutGeoObj( Iter.GetGeoObj(), nFlag))
|
||||
return false ;
|
||||
}
|
||||
else if ( nGdbType == GDB_GROUP) {
|
||||
else if ( nGdbType == GDB_TY_GROUP) {
|
||||
if ( ! OutGroupScl( Iter.GetId(), nFlag))
|
||||
return false ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user