You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
3.9 KiB
146 lines
3.9 KiB
local _;
|
|
|
|
VUHDO_DRAG_PANEL = nil;
|
|
DESIGN_MISC_PANEL_NUM = nil;
|
|
INTERNAL_MODEL_CURRENT_TYPE_COMBO = VUHDO_ID_TYPE_GROUP;
|
|
INTERNAL_MODEL_CURRENT_VALUE_COMBO = nil;
|
|
local VUHDO_CURRENT_GROUP_ID;
|
|
|
|
|
|
|
|
--
|
|
function VUHDO_panelSetupRemoveGroupOnClick(aPanel)
|
|
local tPanelNum, tModelNum = VUHDO_getComponentPanelNumModelNum(aPanel)
|
|
VUHDO_removeFromModel(tPanelNum, tModelNum);
|
|
VUHDO_redrawAllPanels(false);
|
|
end
|
|
|
|
|
|
|
|
--
|
|
function VUHDO_panelSetupChooseGroupOnClick(aButton)
|
|
local tGroupOrderPanel = aButton:GetParent();
|
|
local tPanelNum, tModelNum = VUHDO_getComponentPanelNumModelNum(tGroupOrderPanel);
|
|
local tGroupSelectPanel = VUHDO_getGroupSelectPanel(tPanelNum, tModelNum);
|
|
|
|
tGroupOrderPanel:Hide();
|
|
tGroupSelectPanel:Show();
|
|
end
|
|
|
|
|
|
|
|
--
|
|
function VUHDO_groupSelectOkayOnClick(aButton)
|
|
local tGroupSelectPanel = aButton:GetParent();
|
|
local tPanelNum, tModelNum = VUHDO_getComponentPanelNumModelNum(tGroupSelectPanel);
|
|
local tGroupOrderPanel = VUHDO_getGroupOrderPanel(tPanelNum, tModelNum);
|
|
|
|
tGroupSelectPanel:Hide();
|
|
VUHDO_redrawPanel(tPanelNum, false);
|
|
|
|
tGroupOrderPanel:Show();
|
|
VUHDO_reloadUI(false);
|
|
end
|
|
|
|
|
|
|
|
local function VUHDO_getComboModelAndType(aComboBox)
|
|
local tPanelNum, tModelNum = VUHDO_getComponentPanelNumModelNum(aComboBox:GetParent());
|
|
local tModel = VUHDO_PANEL_MODELS[tPanelNum][tModelNum];
|
|
local tType = VUHDO_ID_MEMBER_TYPES[tModel] or VUHDO_ID_TYPE_SPECIAL;
|
|
return tType, tModel;
|
|
end
|
|
|
|
|
|
|
|
--
|
|
function VUHDO_groupSelectTypeComboSetModel(aTypeCombo)
|
|
INTERNAL_MODEL_CURRENT_TYPE_COMBO, _ = VUHDO_getComboModelAndType(aTypeCombo);
|
|
end
|
|
|
|
|
|
|
|
--
|
|
local tComboModels = { };
|
|
local function getOrCreateComboModelForType(aType)
|
|
if not tComboModels[aType] then
|
|
tComboModels[aType] = { };
|
|
|
|
for _, tModel in ipairs(VUHDO_ID_TYPE_MEMBERS[aType]) do
|
|
tinsert(tComboModels[aType], { tModel, VUHDO_HEADER_TEXTS[tModel] });
|
|
end
|
|
end
|
|
|
|
return tComboModels[aType];
|
|
end
|
|
|
|
|
|
function VUHDO_groupSelectValueComboSetModel(aValueCombo)
|
|
local tType, tModel = VUHDO_getComboModelAndType(aValueCombo);
|
|
|
|
local tComboModel = getOrCreateComboModelForType(tType);
|
|
|
|
INTERNAL_MODEL_CURRENT_VALUE_COMBO = tModel;
|
|
VUHDO_setComboModel(aValueCombo, "INTERNAL_MODEL_CURRENT_VALUE_COMBO", tComboModel);
|
|
end
|
|
|
|
|
|
|
|
function VUHDO_panelConfigNotifyTypeSelect(aPanel, aValue)
|
|
local tPanelNum, tModelNum = VUHDO_getComponentPanelNumModelNum(aPanel);
|
|
local tCurrentValue = VUHDO_PANEL_MODELS[tPanelNum][tModelNum];
|
|
local tCurrentType = VUHDO_ID_MEMBER_TYPES[tCurrentValue] or VUHDO_ID_TYPE_SPECIAL;
|
|
|
|
if tCurrentType ~= aValue then
|
|
VUHDO_PANEL_MODELS[tPanelNum][tModelNum] = VUHDO_ID_TYPE_MEMBERS[aValue][1];
|
|
local tValueCombo = _G[aPanel:GetName() .. "VlCombo"];
|
|
VUHDO_groupSelectValueComboSetModel(tValueCombo);
|
|
VUHDO_lnfComboBoxInitFromModel(tValueCombo);
|
|
end
|
|
end
|
|
|
|
|
|
|
|
function VUHDO_panelConfigNotifyValueSelect(aPanel, aValue)
|
|
local tPanelNum, tModelNum = VUHDO_getComponentPanelNumModelNum(aPanel);
|
|
VUHDO_PANEL_MODELS[tPanelNum][tModelNum] = aValue;
|
|
end
|
|
|
|
|
|
--
|
|
function VUHDO_PanelSetupGroupOrderSetStandard(aPanel)
|
|
VUHDO_getGroupOrderLabel2(aPanel):SetText(VUHDO_I18N_ME);
|
|
end
|
|
|
|
|
|
|
|
--
|
|
function VUHDO_PanelSetupGroupOrderSetDragging(aPanel)
|
|
local tPanelNum, tModelNum = VUHDO_getComponentPanelNumModelNum(aPanel);
|
|
local tText = VUHDO_getHeaderText(VUHDO_PANEL_MODELS[tPanelNum][tModelNum]);
|
|
|
|
VUHDO_getGroupOrderLabel2(aPanel):SetText(tText);
|
|
end
|
|
|
|
|
|
|
|
--
|
|
function VUHDO_panelSetupGroupDragOnMouseDown(aDragArea)
|
|
local tGroupPanel = aDragArea:GetParent();
|
|
|
|
VUHDO_PanelSetupGroupOrderSetDragging(tGroupPanel);
|
|
tGroupPanel:StartMoving();
|
|
VUHDO_DRAG_PANEL = tGroupPanel;
|
|
end
|
|
|
|
|
|
|
|
--
|
|
function VUHDO_panelSetupGroupDragOnMouseUp(aDragArea)
|
|
local tGroupPanel = aDragArea:GetParent();
|
|
tGroupPanel:StopMovingOrSizing();
|
|
VUHDO_DRAG_PANEL = nil;
|
|
VUHDO_PanelSetupGroupOrderSetStandard(tGroupPanel);
|
|
VUHDO_reorderGroupsAfterDragged(tGroupPanel);
|
|
end
|
|
|
|
|