29 #ifndef _GG_ThreeButtonDlg_h_
30 #define _GG_ThreeButtonDlg_h_
62 ThreeButtonDlg(
X x,
Y y,
X w,
Y h,
const std::string& msg,
const boost::shared_ptr<Font>& font,
Clr color,
63 Clr border_color,
Clr button_color,
Clr text_color, std::size_t buttons,
const std::string& zero =
"",
64 const std::string& one =
"",
const std::string& two =
"");
67 ThreeButtonDlg(
X w,
Y h,
const std::string& msg,
const boost::shared_ptr<Font>& font,
Clr color,
68 Clr border_color,
Clr button_color,
Clr text_color, std::size_t buttons,
const std::string& zero =
"",
69 const std::string& one =
"",
const std::string& two =
"");
73 Clr ButtonColor()
const;
74 std::size_t Result()
const;
75 std::size_t DefaultButton()
const;
76 std::size_t EscapeButton()
const;
80 virtual void Render();
81 virtual void KeyPress(
Key key, boost::uint32_t key_code_point,
Flags<ModKey> mod_keys);
83 void SetButtonColor(
Clr color);
84 void SetDefaultButton(std::size_t i);
85 void SetEscapeButton(std::size_t i);
88 static const std::size_t NO_BUTTON;
96 std::size_t NumButtons()
const;
97 void Init(
const std::string& msg,
const boost::shared_ptr<Font>& font, std::size_t buttons,
98 const std::string& zero =
"",
const std::string& one =
"",
const std::string& two =
"");
99 void ConnectSignals();
100 void Button0Clicked();
101 void Button1Clicked();
102 void Button2Clicked();
108 std::size_t m_default;
109 std::size_t m_escape;
110 std::size_t m_result;