48 lines
1 KiB
C
48 lines
1 KiB
C
|
/*
|
||
|
GWEN
|
||
|
Copyright (c) 2010 Facepunch Studios
|
||
|
See license in Gwen.h
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
#ifndef GWEN_CONTROLS_RADIOBOTTONCONTROLLER_H
|
||
|
#define GWEN_CONTROLS_RADIOBOTTONCONTROLLER_H
|
||
|
|
||
|
#include "gwen_base.h"
|
||
|
#include "gwen_label.h"
|
||
|
#include "gwen_radiobutton.h"
|
||
|
|
||
|
|
||
|
namespace Gwen
|
||
|
{
|
||
|
namespace Controls
|
||
|
{
|
||
|
|
||
|
class GWEN_EXPORT RadioButtonController : public Base
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
GWEN_CONTROL( RadioButtonController, Base );
|
||
|
|
||
|
virtual void Render( Skin::Base* /*skin*/ ){};
|
||
|
virtual void OnRadioClicked( Base* pFromPanel );
|
||
|
|
||
|
virtual void OnChange();
|
||
|
|
||
|
virtual LabeledRadioButton* AddOption( const Gwen::String& strText, const Gwen::String& strOptionName = "" );
|
||
|
|
||
|
virtual LabeledRadioButton* GetSelected(){ return m_Selected; }
|
||
|
|
||
|
virtual const Gwen::String& GetSelectedName(){ return m_Selected->GetName(); }
|
||
|
virtual const TextObject& GetSelectedLabel(){ return m_Selected->GetLabel()->GetText(); }
|
||
|
|
||
|
Event::Caller onSelectionChange;
|
||
|
|
||
|
private:
|
||
|
|
||
|
LabeledRadioButton* m_Selected;
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
#endif
|