e23999b6a3
- numerose modifiche e correzioni - aggiunta registrazione comandi in formato lua - aggiunto valutatore di espressioni.
260 lines
7.2 KiB
C++
260 lines
7.2 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2015
|
|
//----------------------------------------------------------------------------
|
|
// File : LUA_GdbObjSelection.cpp Data : 08.01.15 Versione : 1.6a1
|
|
// Contenuto : Funzioni di selezione oggetti del DB geometrico per LUA.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 08.01.15 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
|
|
LuaSelectObj( lua_State* L)
|
|
{
|
|
// 1 parametro : Id
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
LuaClearStack( L) ;
|
|
// eseguo la selezione
|
|
bool bOk = ( EgtSelectObj( nId) != FALSE) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaDeselectObj( lua_State* L)
|
|
{
|
|
// 1 parametro : Id
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
LuaClearStack( L) ;
|
|
// eseguo la selezione
|
|
bool bOk = ( EgtDeselectObj( nId) != FALSE) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaSelectAll( lua_State* L)
|
|
{
|
|
// 1 parametro : bOnlyIfVisible
|
|
bool bOnlyIfVisible ;
|
|
LuaCheckParam( L, 1, bOnlyIfVisible)
|
|
LuaClearStack( L) ;
|
|
// eseguo la selezione
|
|
bool bOk = ( EgtSelectAll( bOnlyIfVisible) != FALSE) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaDeselectAll( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// eseguo la selezione
|
|
bool bOk = ( EgtDeselectAll() != FALSE) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
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
|
|
LuaIsSelectedObj( lua_State* L)
|
|
{
|
|
// 1 parametro : Id
|
|
int nId ;
|
|
LuaCheckParam( L, 1, nId)
|
|
LuaClearStack( L) ;
|
|
// eseguo la selezione
|
|
bool bOk = ( EgtIsSelectedObj( nId) != FALSE) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, bOk) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetSelectedObjNbr( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// eseguo la selezione
|
|
int nNbr = EgtGetSelectedObjNbr() ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, nNbr) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetFirstSelectedObj( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// recupero il primo oggetto selezionato
|
|
int nId = EgtGetFirstSelectedObj() ;
|
|
// restituisco il risultato
|
|
if ( nId != GDB_ID_NULL)
|
|
LuaSetReturn( L, nId) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetNextSelectedObj( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// recupero il successivo oggetto selezionato
|
|
int nId = EgtGetNextSelectedObj() ;
|
|
// restituisco il risultato
|
|
if ( nId != GDB_ID_NULL)
|
|
LuaSetReturn( L, nId) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetLastSelectedObj( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// recupero l'ultimo oggetto selezionato
|
|
int nId = EgtGetLastSelectedObj() ;
|
|
// restituisco il risultato
|
|
if ( nId != GDB_ID_NULL)
|
|
LuaSetReturn( L, nId) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetPrevSelectedObj( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// recupero il precedente oggetto selezionato
|
|
int nId = EgtGetPrevSelectedObj() ;
|
|
// restituisco il risultato
|
|
if ( nId != GDB_ID_NULL)
|
|
LuaSetReturn( L, nId) ;
|
|
else
|
|
LuaSetReturn( L) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
bool
|
|
LuaInstallGdbObjSelection( lua_State* L)
|
|
{
|
|
try {
|
|
lua_register( L, "EgtSelectObj", LuaSelectObj) ;
|
|
lua_register( L, "EgtDeselectObj", LuaDeselectObj) ;
|
|
lua_register( L, "EgtSelectAll", LuaSelectAll) ;
|
|
lua_register( L, "EgtDeselectAll", LuaDeselectAll) ;
|
|
lua_register( L, "EgtSelectPartObjs", LuaSelectPartObjs) ;
|
|
lua_register( L, "EgtDeselectPartObjs", LuaDeselectPartObjs) ;
|
|
lua_register( L, "EgtSelectLayerObjs", LuaSelectLayerObjs) ;
|
|
lua_register( L, "EgtDeselectLayerObjs", LuaDeselectLayerObjs) ;
|
|
lua_register( L, "EgtIsSelectedObj", LuaIsSelectedObj) ;
|
|
lua_register( L, "EgtGetSelectedObjNbr", LuaGetSelectedObjNbr) ;
|
|
lua_register( L, "EgtGetFirstSelectedObj", LuaGetFirstSelectedObj) ;
|
|
lua_register( L, "EgtGetNextSelectedObj", LuaGetNextSelectedObj) ;
|
|
lua_register( L, "EgtGetLastSelectedObj", LuaGetLastSelectedObj) ;
|
|
lua_register( L, "EgtGetPrevSelectedObj", LuaGetPrevSelectedObj) ;
|
|
}
|
|
catch ( ...) {
|
|
return false ;
|
|
}
|
|
return true ;
|
|
}
|