//---------------------------------------------------------------------------- // EgalTech 2014-2014 //---------------------------------------------------------------------------- // File : LUA_GdbObjAttribs.cpp Data : 30.09.14 Versione : 1.5i5 // Contenuto : Funzioni di trasformazione geometrica per LUA. // // // // Modifiche : 30.09.14 DS Creazione modulo. // // //---------------------------------------------------------------------------- //--------------------------- Include ---------------------------------------- #include "stdafx.h" #include "LUA.h" #include "API.h" #include "/EgtDev/Include/EInAPI.h" #include "/EgtDev/Include/EgnStringUtils.h" #include "/EgtDev/Extern/Lua/Include/lua.hpp" using namespace std ; //------------------------------------------------------------------------------- static int LuaSetLevel( lua_State* L) { // 2 parametri : Id, Livello int nId ; LuaCheckParam( L, 1, nId) string sLevel ; LuaCheckParam( L, 2, sLevel) ToUpper( sLevel) ; int nLevel = GDB_LV_USER ; if ( sLevel == "SYSTEM") nLevel = GDB_LV_SYSTEM ; else if ( sLevel == "TEMP") nLevel = GDB_LV_TEMP ; LuaClearStack( L) ; // imposto lo stato bool bOk = ( EgtSetLevel( nId, nLevel) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaRevertLevel( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // porto il livello al valore precedente bool bOk = ( EgtRevertLevel( nId) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetLevel( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // recupero il livello int nLevel ; if ( EgtGetLevel( nId, &nLevel) != FALSE) // restituisco il risultato LuaSetReturn( L, nLevel) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetCalcLevel( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // recupero il livello int nLevel ; if ( EgtGetCalcLevel( nId, &nLevel) != FALSE) // restituisco il risultato LuaSetReturn( L, nLevel) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaSetMode( lua_State* L) { // 2 parametri : Id, Mode int nId ; LuaCheckParam( L, 1, nId) string sMode ; LuaCheckParam( L, 2, sMode) ToUpper( sMode) ; int nMode = GDB_MD_STD ; if ( sMode == "LOCKED") nMode = GDB_MD_LOCKED ; else if ( sMode == "HIDDEN") nMode = GDB_MD_HIDDEN ; LuaClearStack( L) ; // imposto il modo bool bOk = ( EgtSetMode( nId, nMode) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaRevertMode( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // porto il modo al valore precedente bool bOk = ( EgtRevertMode( nId) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetMode( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // recupero il modo int nMode ; if ( EgtGetMode( nId, &nMode) != FALSE) // restituisco il risultato LuaSetReturn( L, nMode) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetCalcMode( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // recupero il modo calcolato (ovvero proprio ed ereditato) int nMode ; if ( EgtGetCalcMode( nId, &nMode) != FALSE) // restituisco il risultato LuaSetReturn( L, nMode) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaSetStatus( lua_State* L) { // 2 parametri : Id, Stato int nId ; LuaCheckParam( L, 1, nId) string sStatus ; LuaCheckParam( L, 2, sStatus) ToUpper( sStatus) ; int nStatus = GDB_ST_ON ; if ( sStatus == "OFF") nStatus = GDB_ST_OFF ; else if ( sStatus == "SEL") nStatus = GDB_ST_SEL ; LuaClearStack( L) ; // imposto lo stato bool bOk = ( EgtSetStatus( nId, nStatus) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaRevertStatus( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // porto lo stato al valore precedente bool bOk = ( EgtRevertStatus( nId) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetStatus( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // recupero lo stato int nStatus ; if ( EgtGetStatus( nId, &nStatus) != FALSE) // restituisco il risultato LuaSetReturn( L, nStatus) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetCalcStatus( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // recupero lo stato int nStatus ; if ( EgtGetCalcStatus( nId, &nStatus) != FALSE) // restituisco il risultato LuaSetReturn( L, nStatus) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaSetMark( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // imposto l'evidenziazione bool bOk = ( EgtSetMark( nId) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaResetMark( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // cancello l'evidenziazione bool bOk = ( EgtResetMark( nId) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetMark( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // recupero lo stato di evidenziazione BOOL nMark ; if ( EgtGetMark( nId, &nMark) != FALSE) // restituisco il risultato LuaSetReturn( L, ( nMark != FALSE)) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetCalcMark( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // recupero lo stato calcolato di evidenziazione BOOL nMark ; if ( EgtGetCalcMark( nId, &nMark) != FALSE) // restituisco il risultato LuaSetReturn( L, ( nMark != FALSE)) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaStdColor( lua_State* L) { // 1 parametro : Nome string sName ; LuaCheckParam( L, 1, sName) LuaClearStack( L) ; // recupero il colore con il nome indicato Color cCol ; if ( GetStdColor( sName, cCol)) { // restituisco il risultato LuaSetReturn( L, cCol) ; } else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaSetColor( lua_State* L) { // 2 parametri : Id/s, Colore INTVECTOR vId ; LuaCheckParam( L, 1, vId) Color cCol ; LuaCheckParam( L, 2, cCol) LuaClearStack( L) ; // assegno il colore int vCol[4] ; cCol.GetInt( vCol) ; bool bOk = true ; for ( size_t i = 0 ; i < vId.size() && bOk ; ++ i) { if ( EgtSetColor( vId[i], vCol) == FALSE) bOk = false ; } // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaResetColor( lua_State* L) { // 1 parametro : Id/s INTVECTOR vId ; LuaCheckParam( L, 1, vId) LuaClearStack( L) ; // tolgo il colore bool bOk = true ; for ( size_t i = 0 ; i < vId.size() && bOk ; ++ i) { if ( EgtResetColor( vId[i]) == FALSE) bOk = false ; } // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetColor( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // recupero il colore int vCol[4] ; if ( EgtGetColor( nId, vCol) != FALSE) { Color cCol( vCol) ; // restituisco il risultato LuaSetReturn( L, cCol) ; } else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetCalcColor( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // recupero il colore int vCol[4] ; if ( EgtGetCalcColor( nId, vCol) != FALSE) { Color cCol( vCol) ; // restituisco il risultato LuaSetReturn( L, cCol) ; } else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaSetName( lua_State* L) { // 2 parametri : Id, Name int nId ; LuaCheckParam( L, 1, nId) string sName ; LuaCheckParam( L, 2, sName) LuaClearStack( L) ; // assegno il nome bool bOk = EgtSetName( nId, sName) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetName( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // recupero il nome string sName ; bool bOk = EgtGetName( nId, sName) ; // restituisco il risultato if ( bOk) LuaSetReturn( L, sName) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaExistsName( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // verifico esistenza nome bool bOk = ( EgtExistsName( nId) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaRemoveName( lua_State* L) { // 1 parametro : Id int nId ; LuaCheckParam( L, 1, nId) LuaClearStack( L) ; // verifico esistenza nome bool bOk = ( EgtRemoveName( nId) != FALSE) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaSetInfo( lua_State* L) { // 3 parametri : Id, Key, Info int nId ; LuaCheckParam( L, 1, nId) string sKey ; LuaCheckParam( L, 2, sKey) string sInfo ; LuaCheckParam( L, 3, sInfo) LuaClearStack( L) ; // assegno la info bool bOk = EgtSetInfo( nId, sKey, sInfo) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaGetInfo( lua_State* L) { // 2 parametri : Id, Key int nId ; LuaCheckParam( L, 1, nId) string sKey ; LuaCheckParam( L, 2, sKey) LuaClearStack( L) ; // recupero l'info string sInfo ; bool bOk = EgtGetInfo( nId, sKey, sInfo) ; // restituisco il risultato if ( bOk) LuaSetReturn( L, sInfo) ; else LuaSetReturn( L) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaExistsInfo( lua_State* L) { // 2 parametri : Id, Key int nId ; LuaCheckParam( L, 1, nId) string sKey ; LuaCheckParam( L, 2, sKey) LuaClearStack( L) ; // verifico esistenza info bool bOk = EgtExistsInfo( nId, sKey) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- static int LuaRemoveInfo( lua_State* L) { // 2 parametri : Id, Key int nId ; LuaCheckParam( L, 1, nId) string sKey ; LuaCheckParam( L, 2, sKey) LuaClearStack( L) ; // rimuovo info bool bOk = EgtRemoveInfo( nId, sKey) ; // restituisco il risultato LuaSetReturn( L, bOk) ; return 1 ; } //------------------------------------------------------------------------------- bool LuaInstallGdbObjAttribs( lua_State* L) { try { lua_register( L, "EgtSetLevel", LuaSetLevel) ; lua_register( L, "EgtRevertLevel", LuaRevertLevel) ; lua_register( L, "EgtGetLevel", LuaGetLevel) ; lua_register( L, "EgtGetCalcLevel", LuaGetCalcLevel) ; lua_register( L, "EgtSetMode", LuaSetMode) ; lua_register( L, "EgtRevertMode", LuaRevertMode) ; lua_register( L, "EgtGetMode", LuaGetMode) ; lua_register( L, "EgtGetCalcMode", LuaGetCalcMode) ; lua_register( L, "EgtSetStatus", LuaSetStatus) ; lua_register( L, "EgtRevertStatus", LuaRevertStatus) ; lua_register( L, "EgtGetStatus", LuaGetStatus) ; lua_register( L, "EgtGetCalcStatus", LuaGetCalcStatus) ; lua_register( L, "EgtSetMark", LuaSetMark) ; lua_register( L, "EgtResetMark", LuaResetMark) ; lua_register( L, "EgtGetMark", LuaGetMark) ; lua_register( L, "EgtGetCalcMark", LuaGetCalcMark) ; lua_register( L, "EgtStdColor", LuaStdColor) ; lua_register( L, "EgtSetColor", LuaSetColor) ; lua_register( L, "EgtResetColor", LuaResetColor) ; lua_register( L, "EgtGetColor", LuaGetColor) ; lua_register( L, "EgtGetCalcColor", LuaGetCalcColor) ; lua_register( L, "EgtSetName", LuaSetName) ; lua_register( L, "EgtGetName", LuaGetName) ; lua_register( L, "EgtExistsName", LuaExistsName) ; lua_register( L, "EgtRemoveName", LuaRemoveName) ; lua_register( L, "EgtSetInfo", LuaSetInfo) ; lua_register( L, "EgtGetInfo", LuaGetInfo) ; lua_register( L, "EgtExistsInfo", LuaExistsInfo) ; lua_register( L, "EgtRemoveInfo", LuaRemoveInfo) ; } catch ( ...) { return false ; } return true ; }