Files
wnsrc/lua/vgui/dcolorcombo.lua
lifestorm 94063e4369 Upload
2024-08-04 22:55:00 +03:00

88 lines
1.6 KiB
Lua

--[[
| This file was obtained through the combined efforts
| of Madbluntz & Plymouth Antiquarian Society.
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
| Maloy, DrPepper10 @ RIP, Atle!
|
| Visit for more: https://plymouth.thetwilightzone.ru/
--]]
local PANEL = {}
AccessorFunc( PANEL, "m_Color", "Color" )
function PANEL:Init()
self:SetSize( 256, 256 )
self:BuildControls()
self:SetColor( color_white )
end
function PANEL:BuildControls()
--
-- Mixer
--
local mixer = self:Add( "DColorMixer" )
mixer:Dock( FILL )
mixer:DockMargin( 8, 0, 8, 8 )
mixer:SetPalette( false )
mixer:SetAlphaBar( false )
mixer:SetWangs( false )
mixer.ValueChanged = function( slf, color )
self.m_bEditing = true
self:OnValueChanged( color )
self.m_Color = color
self.m_bEditing = false
end
self.Mixer = mixer
self:AddSheet( "", mixer, "icon16/color_wheel.png" )
--
-- Palettes
--
local ctrl = self:Add( "DColorPalette" )
ctrl:Dock( FILL )
ctrl:DockMargin( 8, 0, 8, 8 )
ctrl:SetButtonSize( 16 )
ctrl:SetNumRows( 35 )
ctrl:Reset()
ctrl.OnValueChanged = function( slf, color )
self.m_bEditing = true
self.Mixer:SetColor( color )
self:OnValueChanged( color )
self.m_Color = color
self.m_bEditing = false
end
self.Palette = ctrl
self:AddSheet( "", ctrl, "icon16/palette.png" )
end
function PANEL:IsEditing()
return self.m_bEditing
end
function PANEL:OnValueChanged( newcol )
-- For override
end
function PANEL:SetColor( newcol )
self.m_Color = newcol
self.Mixer:SetColor( newcol )
self.Palette:SetColor( newcol )
end
derma.DefineControl( "DColorCombo", "", PANEL, "DPropertySheet" )