Перейти к основному содержимому

MantleCheckBox

Тумблер с текстом и кружком. Может быть привязан к ConVar: тогда значение синхронизируется автоматически.

Пример

local frame = vgui.Create('MantleFrame')
frame:SetSize(600, 500)
frame:Center()
frame:MakePopup()

local checkbox = vgui.Create('MantleCheckBox', frame)
checkbox:SetWide(300)
checkbox:Center()
checkbox:SetTxt('Переключение')

Чтение состояния

local frame = vgui.Create('MantleFrame')
frame:SetSize(600, 500)
frame:Center()
frame:MakePopup()

local checkbox = vgui.Create('MantleCheckBox', frame)
checkbox:SetWide(300)
checkbox:Center()
checkbox:SetTxt('Тест')

print(checkbox:GetBool())

Установка значения

local frame = vgui.Create('MantleFrame')
frame:SetSize(600, 500)
frame:Center()
frame:MakePopup()

local checkbox = vgui.Create('MantleCheckBox', frame)
checkbox:SetWide(300)
checkbox:Center()
checkbox:SetTxt('Включён сразу')

checkbox:SetValue(true)

print(checkbox:GetBool()) -- true

Привязка к ConVar

При создании элемента значение с ConVar считывается и меняется от 0 до 1.

local frame = vgui.Create('MantleFrame')
frame:SetSize(600, 500)
frame:Center()
frame:MakePopup()

local checkbox = vgui.Create('MantleCheckBox', frame)
checkbox:SetWide(300)
checkbox:Center()
checkbox:SetTxt('Интерфейс')
checkbox:SetConvar('cl_drawhud')

Обработка изменения

Переопределите :OnChange. Он вызывается при любом изменении: нажатие, SetValue, синхронизация с ConVar.

local frame = vgui.Create('MantleFrame')
frame:SetSize(600, 500)
frame:Center()
frame:MakePopup()

local checkbox = vgui.Create('MantleCheckBox', frame)
checkbox:SetWide(300)
checkbox:Center()
checkbox:SetTxt('Звук')
checkbox.OnChange = function(self, value)
if value then
print('Звук включён')
else
print('Звук выключен')
end
end

Методы

МетодОписание
:SetTxt(string text)Текст
:SetValue(bool value)Установить состояние (вкл/выкл)
:GetBool()Текущее состояние тумблера
:SetConvar(string convar)Привязать к ConVar
:OnChange(panel self, bool new_value)Вызывается при переключении

Примечания

  • При удалении элемента таймер синхронизации тумблера с ConVar удаляется автоматически.