From dc0396f6af740f034c59c3515b02683161543f57 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Fri, 2 Aug 2019 17:33:44 +0000 Subject: [PATCH] EgtExecutor : - aggiunte Exe e lua ChangeTextHeight e ChangeTextItalic - aggiunte Exe TextGetHeight e TextGetItalic. --- EXE_GdbModify.cpp | 70 +++++++++++++++++++++++++++++++++++++++++++++-- EXE_GeoSnap.cpp | 30 ++++++++++++++++++++ LUA_GdbModify.cpp | 34 +++++++++++++++++++++++ 3 files changed, 132 insertions(+), 2 deletions(-) diff --git a/EXE_GdbModify.cpp b/EXE_GdbModify.cpp index 4300f2d..d55a2c5 100644 --- a/EXE_GdbModify.cpp +++ b/EXE_GdbModify.cpp @@ -138,8 +138,17 @@ ExeModifyText( int nId, const string& sNewText) if ( pTXT == nullptr) return false ; // eseguo l'operazione + bool bOk = pTXT->ModifyText( sNewText) ; ExeSetModified() ; - return pTXT->ModifyText( sNewText) ; + // se richiesto, salvo il comando Lua equivalente + if ( IsCmdLog()) { + string sLua = "EgtModifyText(" + ToString( nId) + ",'" + + StringToLuaString( sNewText) + "')" + + " -- Ok=" + ToString( bOk) ; + LOG_INFO( GetCmdLogger(), sLua.c_str()) ; + } + // restituisco risultato + return bOk ; } //------------------------------------------------------------------------------- @@ -153,8 +162,65 @@ ExeChangeTextFont( int nId, const string& sNewFont) if ( pTXT == nullptr) return false ; // eseguo l'operazione + bool bOk = pTXT->ChangeFont( sNewFont) ; ExeSetModified() ; - return pTXT->ChangeFont( sNewFont) ; + // se richiesto, salvo il comando Lua equivalente + if ( IsCmdLog()) { + string sLua = "EgtChangeTextFont(" + ToString( nId) + ",'" + + StringToLuaString( sNewFont) + "')" + + " -- Ok=" + ToString( bOk) ; + LOG_INFO( GetCmdLogger(), sLua.c_str()) ; + } + // restituisco risultato + return bOk ; +} + +//------------------------------------------------------------------------------- +bool +ExeChangeTextHeight( int nId, double dH) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, false) + // recupero il testo + IExtText* pTXT = GetExtText( pGeomDB->GetGeoObj( nId)) ; + if ( pTXT == nullptr) + return false ; + // eseguo l'operazione + bool bOk = pTXT->ChangeHeight( dH) ; + ExeSetModified() ; + // se richiesto, salvo il comando Lua equivalente + if ( IsCmdLog()) { + string sLua = "EgtChangeTextHeight(" + ToString( nId) + "," + + ToString( dH) + ")" + + " -- Ok=" + ToString( bOk) ; + LOG_INFO( GetCmdLogger(), sLua.c_str()) ; + } + // restituisco risultato + return bOk ; +} + +//------------------------------------------------------------------------------- +bool +ExeChangeTextItalic( int nId, bool bItl) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, false) + // recupero il testo + IExtText* pTXT = GetExtText( pGeomDB->GetGeoObj( nId)) ; + if ( pTXT == nullptr) + return false ; + // eseguo l'operazione + bool bOk = pTXT->ChangeItalic( bItl) ; + ExeSetModified() ; + // se richiesto, salvo il comando Lua equivalente + if ( IsCmdLog()) { + string sLua = "EgtChangeTextItalic(" + ToString( nId) + "," + + ( bItl ? "true" : "false") + ")" + + " -- Ok=" + ToString( bOk) ; + LOG_INFO( GetCmdLogger(), sLua.c_str()) ; + } + // restituisco risultato + return bOk ; } //------------------------------------------------------------------------------- diff --git a/EXE_GeoSnap.cpp b/EXE_GeoSnap.cpp index 66e4451..328fcf9 100644 --- a/EXE_GeoSnap.cpp +++ b/EXE_GeoSnap.cpp @@ -1470,6 +1470,36 @@ ExeTextGetFont( int nId, string& sFont) return true ; } +//---------------------------------------------------------------------------- +bool +ExeTextGetHeight( int nId, double& dH) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, false) + // recupero il testo + const IExtText* pTxt = GetExtText( pGeomDB->GetGeoObj( nId)) ; + if ( pTxt == nullptr) + return false ; + // recupero l'altezza + dH = pTxt->GetHeight() ; + return true ; +} + +//---------------------------------------------------------------------------- +bool +ExeTextGetItalic( int nId, bool& bItl) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, false) + // recupero il testo + const IExtText* pTxt = GetExtText( pGeomDB->GetGeoObj( nId)) ; + if ( pTxt == nullptr) + return false ; + // recupero l'altezza + bItl = pTxt->GetItalic() ; + return true ; +} + //------------------------------------------------------------------------------- // Geo Transforms //------------------------------------------------------------------------------- diff --git a/LUA_GdbModify.cpp b/LUA_GdbModify.cpp index e0cc7c1..dc4dc43 100644 --- a/LUA_GdbModify.cpp +++ b/LUA_GdbModify.cpp @@ -105,6 +105,38 @@ LuaChangeTextFont( lua_State* L) return 1 ; } +//------------------------------------------------------------------------------- +static int +LuaChangeTextHeight( lua_State* L) +{ + // 2 parametri : Id, dNewH + int nId ; + LuaCheckParam( L, 1, nId) + double dNewH ; + LuaCheckParam( L, 2, dNewH) + LuaClearStack( L) ; + // modifica del testo + bool bOk = ExeChangeTextHeight( nId, dNewH) ; + LuaSetParam( L, bOk) ; + return 1 ; +} + +//------------------------------------------------------------------------------- +static int +LuaChangeTextItalic( lua_State* L) +{ + // 2 parametri : Id, bNewItalic + int nId ; + LuaCheckParam( L, 1, nId) + bool bNewItalic ; + LuaCheckParam( L, 2, bNewItalic) + LuaClearStack( L) ; + // modifica del testo + bool bOk = ExeChangeTextItalic( nId, bNewItalic) ; + LuaSetParam( L, bOk) ; + return 1 ; +} + //------------------------------------------------------------------------------- static int LuaFlipText( lua_State* L) @@ -183,6 +215,8 @@ LuaInstallGdbModify( LuaMgr& luaMgr) bOk = bOk && luaMgr.RegisterFunction( "EgtInvertVector", LuaInvertVector) ; bOk = bOk && luaMgr.RegisterFunction( "EgtModifyText", LuaModifyText) ; bOk = bOk && luaMgr.RegisterFunction( "EgtChangeTextFont", LuaChangeTextFont) ; + bOk = bOk && luaMgr.RegisterFunction( "EgtChangeTextHeight", LuaChangeTextHeight) ; + bOk = bOk && luaMgr.RegisterFunction( "EgtChangeTextItalic", LuaChangeTextItalic) ; bOk = bOk && luaMgr.RegisterFunction( "EgtFlipText", LuaFlipText) ; bOk = bOk && luaMgr.RegisterFunction( "EgtMirrorText", LuaMirrorText) ; bOk = bOk && luaMgr.RegisterFunction( "EgtExplodeText", LuaExplodeText) ;