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

function DropdownClass:Set(option)
	if self._Selected ~= option then
		self._Selected = option
		self._ChangedBind:Fire(option)
		self.Button.Option.Text = option.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._ChangedBind:Destroy()
	self._Changed = nil
	self._Options = nil
	self._Selected = nil
end
