//..............................................................................
//
// Ninja UI - buttons
//

import "ui_Widget.jnc"
import "ui_Icon.jnc"

namespace ui {

//! \addtogroup api-ui
//! @{

//..............................................................................

class AbstractButton: Widget {
	string_t autoget property m_text;
	Icon* autoget property m_icon;
	bool autoget property m_isCheckable;
	bool bindable autoget property m_isChecked;

	event m_onClicked();
}

// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

class PushButton: AbstractButton {
	bool autoget property m_isFlat;

	construct(string_t text = null);

	construct(
		Icon* icon,
		string_t text = null
	);
}

// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

class CheckBox: AbstractButton {
	construct(string_t text = null);
}

// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

class RadioButton: AbstractButton {
	construct(string_t text = null);
}

//..............................................................................

//! @}

} // namespace ui
