4a618e287b
- aggiunta gestione selezione per percorso.
239 lines
7.0 KiB
C++
239 lines
7.0 KiB
C++
//----------------------------------------------------------------------------
|
|
// 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 "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
|
|
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
|
|
LuaGetFirstVisiblePart( lua_State* L)
|
|
{
|
|
// nessun parametro
|
|
LuaClearStack( L) ;
|
|
// cerco primo pezzo e layer validi per essere dichiarati correnti
|
|
int nId = EgtGetFirstVisiblePart() ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, nId) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetNextVisiblePart( lua_State* L)
|
|
{
|
|
// 1 parametro : nPartId
|
|
int nPartId ;
|
|
LuaCheckParam( L, 1, nPartId)
|
|
LuaClearStack( L) ;
|
|
// cerco primo pezzo e layer validi per essere dichiarati correnti
|
|
int nId = EgtGetNextVisiblePart( nPartId) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, nId) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetFirstVisibleLayer( lua_State* L)
|
|
{
|
|
// 1 parametro : nPartId
|
|
int nPartId ;
|
|
LuaCheckParam( L, 1, nPartId)
|
|
LuaClearStack( L) ;
|
|
// cerco il primo layer visibile del pezzo
|
|
int nId = EgtGetFirstVisibleLayer( nPartId) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, nId) ;
|
|
return 1 ;
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------
|
|
static int
|
|
LuaGetNextVisibleLayer( lua_State* L)
|
|
{
|
|
// 1 parametro : nLayerId
|
|
int nLayerId ;
|
|
LuaCheckParam( L, 1, nLayerId)
|
|
LuaClearStack( L) ;
|
|
// cerco il prossimo layer visibile (ovviamente dello stesso pezzo)
|
|
int nId = EgtGetNextVisibleLayer( nLayerId) ;
|
|
// restituisco il risultato
|
|
LuaSetReturn( L, nId) ;
|
|
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( lua_State* L)
|
|
{
|
|
try {
|
|
lua_register( L, "EgtGetCurrPart", LuaGetCurrPart) ;
|
|
lua_register( L, "EgtGetCurrLayer", LuaGetCurrLayer) ;
|
|
lua_register( L, "EgtSetCurrPartLayer", LuaSetCurrPartLayer) ;
|
|
lua_register( L, "EgtResetCurrPartLayer", LuaResetCurrPartLayer) ;
|
|
lua_register( L, "EgtGetFirstVisiblePart", LuaGetFirstVisiblePart) ;
|
|
lua_register( L, "EgtGetNextVisiblePart", LuaGetNextVisiblePart) ;
|
|
lua_register( L, "EgtGetFirstVisibleLayer", LuaGetFirstVisibleLayer) ;
|
|
lua_register( L, "EgtGetNextVisibleLayer", LuaGetNextVisibleLayer) ;
|
|
lua_register( L, "EgtSelectPartObjs", LuaSelectPartObjs) ;
|
|
lua_register( L, "EgtDeselectPartObjs", LuaDeselectPartObjs) ;
|
|
lua_register( L, "EgtSelectLayerObjs", LuaSelectLayerObjs) ;
|
|
lua_register( L, "EgtDeselectLayerObjs", LuaDeselectLayerObjs) ;
|
|
lua_register( L, "EgtSelectPathObjs", LuaSelectPathObjs) ;
|
|
}
|
|
catch ( ...) {
|
|
return false ;
|
|
}
|
|
return true ;
|
|
}
|