//---------------------------------------------------------------------------- // EgalTech 2015-2015 //---------------------------------------------------------------------------- // File : LUA_GdbPartLayers.cpp Data : 29.01.15 Versione : 1.6a7 // Contenuto : Funzioni di gestione pezzi e layer relativi per LUA. // // // // Modifiche : 29.01.15 DS Creazione modulo. // // //---------------------------------------------------------------------------- //--------------------------- Include ---------------------------------------- #include "stdafx.h" #include "API.h" #include "LUA.h" #include "LUA_Base.h" #include "/EgtDev/Include/EInAPI.h" #include "/EgtDev/Include/EGkLuaAux.h" #include "/EgtDev/Include/EGnStringUtils.h" using namespace std ; //------------------------------------------------------------------------------- static int LuaGetCurrPart( lua_State* L) { // nessun parametro LuaClearStack( L) ; // recupero il pezzo corrente int nId = EgtGetCurrPart() ; // restituisco il risultato LuaSetReturn( L, nId) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetCurrLayer( lua_State* L) { // nessun parametro LuaClearStack( L) ; // recupero il layer corrente int nId = EgtGetCurrLayer() ; // restituisco il risultato LuaSetReturn( L, nId) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaSetCurrPartLayer( lua_State* L) { // 2 parametri : nPartId, nLayerId int nPartId ; LuaCheckParam( L, 1, nPartId) int nLayerId ; LuaCheckParam( L, 2, nLayerId) LuaClearStack( L) ; // imposto pezzo e layer correnti bool bOk = ( EgtSetCurrPartLayer( nPartId, nLayerId) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaResetCurrPartLayer( lua_State* L) { // nessun parametro LuaClearStack( L) ; // cerco primo pezzo e layer validi per essere dichiarati correnti bool bOk = ( EgtResetCurrPartLayer() != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetPartNbr( lua_State* L) { // nessuno o 1 parametro : [bOnlyVisible] bool bOnlyVisible = false ; LuaGetParam( L, 1, bOnlyVisible) ; LuaClearStack( L) ; // recupero numero pezzi int nNbr = EgtGetPartNbr( bOnlyVisible) ; // restituisco il risultato LuaSetReturn( L, nNbr) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetFirstPart( lua_State* L) { // nessuno o 1 parametro : [bOnlyVisible] bool bOnlyVisible = false ; LuaGetParam( L, 1, bOnlyVisible) ; LuaClearStack( L) ; // cerco primo pezzo int nId = EgtGetFirstPart( bOnlyVisible) ; // restituisco il risultato if ( nId != GDB_ID_NULL) LuaSetReturn( L, nId) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetNextPart( lua_State* L) { // 1 o 2 parametri : nPartId [, bOnlyVisible] int nPartId ; LuaCheckParam( L, 1, nPartId) bool bOnlyVisible = false ; LuaGetParam( L, 2, bOnlyVisible) ; LuaClearStack( L) ; // cerco pezzo successivo int nId = EgtGetNextPart( nPartId, bOnlyVisible) ; // restituisco il risultato if ( nId != GDB_ID_NULL) LuaSetReturn( L, nId) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetFirstLayer( lua_State* L) { // 1 o 2 parametri : nPartId [, bOnlyVisible] int nPartId ; LuaCheckParam( L, 1, nPartId) bool bOnlyVisible = false ; LuaGetParam( L, 2, bOnlyVisible) ; LuaClearStack( L) ; // cerco il primo layer del pezzo int nId = EgtGetFirstLayer( nPartId, bOnlyVisible) ; // restituisco il risultato if ( nId != GDB_ID_NULL) LuaSetReturn( L, nId) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetNextLayer( lua_State* L) { // 1 o 2 parametri : nLayerId [, bOnlyVisible] int nLayerId ; LuaCheckParam( L, 1, nLayerId) bool bOnlyVisible = false ; LuaGetParam( L, 2, bOnlyVisible) ; LuaClearStack( L) ; // cerco il prossimo layer (ovviamente dello stesso pezzo) int nId = EgtGetNextLayer( nLayerId, bOnlyVisible) ; // restituisco il risultato if ( nId != GDB_ID_NULL) LuaSetReturn( L, nId) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaSelectPartObjs( lua_State* L) { // 1 parametro : PartId int nPartId ; LuaCheckParam( L, 1, nPartId) LuaClearStack( L) ; // eseguo la selezione bool bOk = ( EgtSelectPartObjs( nPartId) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaDeselectPartObjs( lua_State* L) { // 1 parametro : PartId int nPartId ; LuaCheckParam( L, 1, nPartId) LuaClearStack( L) ; // eseguo la selezione bool bOk = ( EgtDeselectPartObjs( nPartId) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaSelectLayerObjs( lua_State* L) { // 1 parametro : LayerId int nLayerId ; LuaCheckParam( L, 1, nLayerId) LuaClearStack( L) ; // eseguo la selezione bool bOk = ( EgtSelectLayerObjs( nLayerId) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaDeselectLayerObjs( lua_State* L) { // 1 parametro : LayerId int nLayerId ; LuaCheckParam( L, 1, nLayerId) LuaClearStack( L) ; // eseguo la selezione bool bOk = ( EgtDeselectLayerObjs( nLayerId) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaSelectPathObjs( lua_State* L) { // 2 parametri : nId, bHaltOnFork int nId ; LuaCheckParam( L, 1, nId) bool bHaltOnFork ; LuaCheckParam( L, 2, bHaltOnFork) LuaClearStack( L) ; // eseguo la selezione bool bOk = ( EgtSelectPathObjs( nId, bHaltOnFork) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- bool LuaInstallGdbPartLayer( void) { bool bOk = true ; bOk = bOk && LuaRegisterFunction( "EgtGetCurrPart", LuaGetCurrPart) ; bOk = bOk && LuaRegisterFunction( "EgtGetCurrLayer", LuaGetCurrLayer) ; bOk = bOk && LuaRegisterFunction( "EgtSetCurrPartLayer", LuaSetCurrPartLayer) ; bOk = bOk && LuaRegisterFunction( "EgtResetCurrPartLayer", LuaResetCurrPartLayer) ; bOk = bOk && LuaRegisterFunction( "EgtGetPartNbr", LuaGetPartNbr) ; bOk = bOk && LuaRegisterFunction( "EgtGetFirstPart", LuaGetFirstPart) ; bOk = bOk && LuaRegisterFunction( "EgtGetNextPart", LuaGetNextPart) ; bOk = bOk && LuaRegisterFunction( "EgtGetFirstLayer", LuaGetFirstLayer) ; bOk = bOk && LuaRegisterFunction( "EgtGetNextLayer", LuaGetNextLayer) ; bOk = bOk && LuaRegisterFunction( "EgtSelectPartObjs", LuaSelectPartObjs) ; bOk = bOk && LuaRegisterFunction( "EgtDeselectPartObjs", LuaDeselectPartObjs) ; bOk = bOk && LuaRegisterFunction( "EgtSelectLayerObjs", LuaSelectLayerObjs) ; bOk = bOk && LuaRegisterFunction( "EgtDeselectLayerObjs", LuaDeselectLayerObjs) ; bOk = bOk && LuaRegisterFunction( "EgtSelectPathObjs", LuaSelectPathObjs) ; return bOk ; }