local SettingsPreviewCtrl = class("SettingsPreviewCtrl", BaseCtrl)
SettingsPreviewCtrl._mapNodeConfig = {
	MainView = {
		sCtrlName = "Game.UI.Settings.PreviewMainViewCtrl"
	},
	btnClose = {
		sComponentName = "UIButton",
		callback = "OnBtnClick_Close"
	},
	btnConfirm = {
		sComponentName = "UIButton",
		callback = "OnBtnClick_Confirm"
	},
	txtBtnCancel = {
		sComponentName = "TMP_Text",
		sLanguageId = "MessageBox_Cancel"
	},
	txtBtnConfirm = {
		sComponentName = "TMP_Text",
		sLanguageId = "MessageBox_Confirm"
	},
	txtSliderTip = {
		sComponentName = "TMP_Text",
		sLanguageId = "Settings_Widescreen_Tips"
	},
	txtSliderCount = {sComponentName = "TMP_Text"},
	Slider = {
		sComponentName = "Slider",
		callback = "OnValueChange_Widescreen"
	}
}
SettingsPreviewCtrl._mapEventConfig = {}
function SettingsPreviewCtrl:Open(nType)
	self._mapNode.MainView:Refresh()
	self.nValue = NovaAPI.GetAdaptedAreaCustomWidth()
	NovaAPI.SetTMPText(self._mapNode.txtSliderCount, self.nValue)
end
function SettingsPreviewCtrl:Awake()
end
function SettingsPreviewCtrl:OnEnable()
	local tbParam = self:GetPanelParam()
	if type(tbParam) == "table" then
		self:Open()
	end
end
function SettingsPreviewCtrl:OnDisable()
end
function SettingsPreviewCtrl:OnDestroy()
end
function SettingsPreviewCtrl:OnBtnClick_Close()
	NovaAPI.SetSliderValue(self._mapNode.Slider, self.nValue)
	EventManager.Hit(EventId.ClosePanel, PanelId.SettingsPreview)
end
function SettingsPreviewCtrl:OnBtnClick_Confirm()
	EventManager.Hit(EventId.ClosePanel, PanelId.SettingsPreview)
end
function SettingsPreviewCtrl:OnValueChange_Widescreen(_, value)
	local curValue, _ = math.modf(value)
	NovaAPI.SetTMPText(self._mapNode.txtSliderCount, curValue)
end
return SettingsPreviewCtrl
