85964d5525
- cambiata funzione visibilita' ferramenta che riceve un boolean
242 lines
8.8 KiB
Lua
242 lines
8.8 KiB
Lua
--
|
|
-- EEEEEEEEEE GGGGGG TTTTTTTTTTTTTT
|
|
-- EEEEEEEEEE GGGGGGGGGG TTTTTTTTTTTTTT
|
|
-- EEEE GGGG GGGG TTTT
|
|
-- EEEE GGGG TTTT
|
|
-- EEEEEEE GGGG GGGGGGG TTTT
|
|
-- EEEEEEE GGGG GGGGGGG TTTT
|
|
-- EEEE GGGG GGGG TTTT
|
|
-- EEEE GGGG GGGG TTTT
|
|
-- EEEEEEEEEE GGGGGGGGGG TTTT
|
|
-- EEEEEEEEEE GGGGGG TTTT
|
|
--
|
|
-- by Egalware s.r.l.
|
|
-- Window project software by Egalware s.r.l. 2023/05/02
|
|
|
|
require( 'EgtBase')
|
|
_ENV = EgtProtectGlobal()
|
|
EgtEnableDebug( false)
|
|
|
|
-- Imposto direttorio per librerie
|
|
local sBaseDir = EgtGetSourceDir()
|
|
EgtOutLog("BaseDir=" .. sBaseDir)
|
|
EgtAddToPackagePath( sBaseDir .. '?.lua')
|
|
EgtAddToPackagePath( sBaseDir .. 'WinLib\\' .. '?.lua')
|
|
|
|
_G.package.loaded.WinConst = nil
|
|
require( 'WinConst')
|
|
_G.package.loaded.WinCreate = nil
|
|
local WinCreate = require( 'WinCreate')
|
|
_G.package.loaded.WinCalculate = nil
|
|
local WinCalculate = require( 'WinCalculate')
|
|
_G.package.loaded.WinManageProject = nil
|
|
local WinManageProject = require( 'WinManageProject')
|
|
|
|
-- WDG
|
|
|
|
-- funzioni
|
|
----------------------------------------------------------------------------------
|
|
local function GetVariableList( sName)
|
|
local List = {}
|
|
local nIndex = 1
|
|
while WDG[sName .. nIndex] do
|
|
table.insert(List, WDG['JOINT' .. nIndex])
|
|
nIndex = nIndex + 1
|
|
end
|
|
return List
|
|
end
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function CleanVariableList( sName)
|
|
local nIndex = 1
|
|
while WDG[sName .. nIndex] do
|
|
WDG[sName .. nIndex] = nil
|
|
nIndex = nIndex + 1
|
|
end
|
|
end
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function SetProfilePath()
|
|
_G.sProfilePath = WDG.PROFILEPATH
|
|
end
|
|
_G.SetProfilePath = SetProfilePath
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCreate_ImportProfile()
|
|
_G.sProfile = WDG.PROFILE
|
|
--WinCreate.ImportProfile( WDG.PROFILE)
|
|
-- TODO da decommentare e sostituire alla riga sopra quando la modifica è nel programma
|
|
if _G.sProfilePath then
|
|
WinCreate.ImportProfile( _G.sProfilePath .. '\\' .. WDG.PROFILE .. '.nge')
|
|
end
|
|
end
|
|
_G.WinCreate_ImportProfile = WinCreate_ImportProfile
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function FindThresholds( nGrpId)
|
|
local tThresholds = {}
|
|
local tHash = {}
|
|
-- scorro tutti i profili del telaio
|
|
local nCurrId = EgtGetFirstInGroup( nGrpId)
|
|
while nCurrId do
|
|
-- verifico se di tipo bottom
|
|
local nBottomType = EgtGetInfo( nCurrId, WIN_BOTTOM, 'i') or WIN_THRESHOLD_TYPES.NULL
|
|
if nBottomType ~= WIN_THRESHOLD_TYPES.NULL then
|
|
-- recupero il nome
|
|
local vNames = EgtSplitString( EgtGetName( nCurrId), '_')
|
|
local sName = vNames[#vNames]
|
|
if not tHash[sName] then
|
|
table.insert( tThresholds, { nType = nBottomType, sName = sName})
|
|
tHash[sName] = 1
|
|
end
|
|
end
|
|
nCurrId = EgtGetNext( nCurrId)
|
|
end
|
|
return tThresholds
|
|
end
|
|
|
|
local function GetProfileThresholdsList()
|
|
local tThresholds = {}
|
|
if _G.sProfile == WDG.PROFILE then
|
|
-- se profilo corrente
|
|
local nProfileGrp = EgtGetFirstNameInGroup( GDB_ID.ROOT, WIN_PROFILE)
|
|
local nFrameGrp = EgtGetFirstNameInGroup( nProfileGrp, WIN_FRAME)
|
|
tThresholds = FindThresholds( nFrameGrp)
|
|
else
|
|
-- importo temporaneamente il profilo
|
|
local nLastId = EgtGetLastInGroup( GDB_ID.ROOT)
|
|
local bOk = EgtInsertFile( _G.sProfilePath .. '\\' .. WDG.PROFILE .. '.nge')
|
|
local nCurrId = EgtGetNext( nLastId or GDB_ID.NULL) or EgtGetFirstInGroup( GDB_ID.ROOT)
|
|
while nCurrId do
|
|
if EgtGetName( nCurrId) == WIN_FRAME then
|
|
tThresholds = FindThresholds( nCurrId)
|
|
end
|
|
-- passo al successivo e cancello il corrente
|
|
local nOldId = nCurrId
|
|
nCurrId = EgtGetNext( nCurrId)
|
|
EgtErase( nOldId)
|
|
end
|
|
end
|
|
WDG.THRESHOLDSLIST = tThresholds
|
|
end
|
|
_G.GetProfileThresholdsList = GetProfileThresholdsList
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCreate_CreateFrame()
|
|
local JointList = GetVariableList( 'JOINT')
|
|
WDG.AREAID = WinCreate.CreateFrame( WDG.FRAMETYPE, JointList, WDG.WIDTH, WDG.HEIGHT, WDG.HEIGHT2)
|
|
CleanVariableList('JOINT')
|
|
end
|
|
_G.WinCreate_CreateFrame = WinCreate_CreateFrame
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCreate_AddSash()
|
|
local JointList = GetVariableList( 'JOINT')
|
|
WDG.AREAID = WinCreate.AddSash( WDG.AREAID, {WDG.JOINTBL, WDG.JOINTBR, WDG.JOINTTR, WDG.JOINTTL, WDG.JOINTBL}, WDG.SASHTYPE, WDG.OPENINGTYPE)
|
|
CleanVariableList( 'JOINT')
|
|
end
|
|
_G.WinCreate_AddSash = WinCreate_AddSash
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCreate_AddHardware()
|
|
WinCreate.AddHardware( WDG.AREAID, WDG.FAVOURITE, WDG.HANDLE)
|
|
end
|
|
_G.WinCreate_AddHardware = WinCreate_AddHardware
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCreate_AddFill()
|
|
WDG.AREAID = WinCreate.AddFill( WDG.AREAID, WDG.FILLTYPE)
|
|
end
|
|
_G.WinCreate_AddFill = WinCreate_AddFill
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCreate_AddBottomRail()
|
|
WinCreate.AddBottomRail( WDG.AREAID, WDG.NBR)
|
|
end
|
|
_G.WinCreate_AddBottomRail = WinCreate_AddBottomRail
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCreate_AddThreshold()
|
|
WinCreate.AddThreshold( WDG.AREAID, WDG.THRESHOLDPROFILE)
|
|
end
|
|
_G.WinCreate_AddThreshold = WinCreate_AddThreshold
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCreate_AddSplits()
|
|
local AreaIndex = 1
|
|
while WDG['AREAID' .. AreaIndex] do
|
|
WDG['AREAID' .. AreaIndex] = nil
|
|
AreaIndex = AreaIndex + 1
|
|
end
|
|
local PositionList = {}
|
|
local PositionIndex = 1
|
|
while WDG['POSITION' .. PositionIndex] do
|
|
table.insert( PositionList, WDG['POSITION' .. PositionIndex])
|
|
PositionIndex = PositionIndex + 1
|
|
end
|
|
local AreaList = WinCreate.AddSplits(WDG.AREAID, WDG.SPLITORIENTATION, WDG.MEASURETYPE, PositionList, WDG.PROPORTION, WDG.SPLITTYPE)
|
|
for AreaIndex = 1, #AreaList do
|
|
WDG['AREAID' .. AreaIndex] = AreaList[ AreaIndex]
|
|
end
|
|
PositionIndex = 1
|
|
while WDG['POSITION' .. PositionIndex] do
|
|
WDG['POSITION' .. PositionIndex] = nil
|
|
PositionIndex = PositionIndex + 1
|
|
end
|
|
end
|
|
_G.WinCreate_AddSplits = WinCreate_AddSplits
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCalculate_SetCalcSolid()
|
|
WinCalculate.SetCalcSolid( WDG.VALUE)
|
|
end
|
|
_G.WinCalculate_SetCalcSolid = WinCalculate_SetCalcSolid
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCalculate_SetSimplifiedSolid()
|
|
WinCalculate.SetSimplifiedSolid( WDG.VALUE)
|
|
end
|
|
_G.WinCalculate_SetSimplifiedSolid = WinCalculate_SetSimplifiedSolid
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCalculate_CreatePartFromArea()
|
|
WinCalculate.CreatePartFromArea( WDG.FRAMEID)
|
|
end
|
|
_G.WinCalculate_CreatePartFromArea = WinCalculate_CreatePartFromArea
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCalculate_AddHardware()
|
|
WinCalculate.AddHardware( WDG.FRAMEID)
|
|
end
|
|
_G.WinCalculate_AddHardware = WinCalculate_AddHardware
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCreate_GetHardwareOptionPath()
|
|
WDG.HWDOPTPATH = WinCalculate.AddHardwareForSash( WDG.AREAID, true)
|
|
end
|
|
_G.WinCreate_GetHardwareOptionPath = WinCreate_GetHardwareOptionPath
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinCalculate_AddAccessories()
|
|
WinCalculate.AddAccessories( WDG.FRAMEID, WDG.DRAW)
|
|
end
|
|
_G.WinCalculate_AddAccessories = WinCalculate_AddAccessories
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinGetImage()
|
|
-- sistemo la vista
|
|
EgtSetView( SCE_VD.TOP, false)
|
|
EgtZoom( SCE_ZM.ALL, false)
|
|
-- salvo immagine
|
|
EgtGetImage( SCE_SM.SH, EgtStdColor('WHITE'), EgtStdColor('WHITE'), 1920, 1080, WDG.FILE)
|
|
end
|
|
_G.WinGetImage = WinGetImage
|
|
|
|
----------------------------------------------------------------------------------
|
|
local function WinSetAuxGrpStatus()
|
|
-- recupero il gruppo aux della ferramenta e accessori e assegno stato
|
|
local nAuxGrp = EgtGetFirstNameInGroup( GDB_ID.ROOT, WIN_AUX) or GDB_ID.NULL
|
|
EgtSetStatus( nAuxGrp, EgtIf( WDG.AUXSTATUS, GDB_ST.ON, GDB_ST.OFF))
|
|
end
|
|
_G.WinSetAuxGrpStatus = WinSetAuxGrpStatus
|