function DropdownClass.Set(J,C)if J._Selected~=C then J._Selected=C J._ChangedBind:Fire(C)J.Button.Option.Text=C.Label.Text end J:Show(false)end function DropdownClass.Get(C)return C._Selected end function DropdownClass.Show(J,C)J.Button.Arrow.Image=C and ARROW_UP or ARROW_DOWN J.ListFrame.Visible=C end function DropdownClass.Destroy(C)C._Maid:Sweep()C._Changed=nil C._Options=nil C._Selected=nil C.Button:Destroy()end
-- Public Methods

function DropdownClass:Set(option)
	if self._Selected ~= option then
		self._Selected = option
		self._ChangedBind:Fire(option)
		self.Button.Option.Text = option.Label.Text
	end
	self:Show(false)
end

function DropdownClass:Get()
	return self._Selected
end

function DropdownClass:Show(bool)
	self.Button.Arrow.Image = bool and ARROW_UP or ARROW_DOWN
	self.ListFrame.Visible = bool
end

function DropdownClass:Destroy()
	self._Maid:Sweep()
	self._Changed = nil
	self._Options = nil
	self._Selected = nil
	self.Button:Destroy()
end
