* @param s Sizer to add to.
* @param p Parent window for the wxStaticText.
* @param t Text for the wxStaticText.
- * @param prop Properties to pass when calling Add() on the wxSizer.
+ * @param prop Proportion to pass when calling Add() on the wxSizer.
*/
wxStaticText *
add_label_to_sizer (wxSizer* s, wxWindow* p, string t, int prop)
SetLabel (ev.GetString ());
}
+string
+string_client_data (wxClientData* o)
+{
+ return wx_to_std (dynamic_cast<wxStringClientData*>(o)->GetData());
+}
+
void
checked_set (wxFilePickerCtrl* widget, string value)
{
if (widget->GetPath() != std_to_wx (value)) {
+ if (value.empty()) {
+ /* Hack to make wxWidgets clear the control when we are passed
+ an empty value.
+ */
+ value = " ";
+ }
widget->SetPath (std_to_wx (value));
}
}
}
void
-checked_set (wxComboBox* widget, int value)
+checked_set (wxChoice* widget, int value)
{
if (widget->GetSelection() != value) {
widget->SetSelection (value);
}
}
+void
+checked_set (wxChoice* widget, string value)
+{
+ wxClientData* o = 0;
+ if (widget->GetSelection() != -1) {
+ o = widget->GetClientObject (widget->GetSelection ());
+ }
+
+ if (!o || string_client_data(o) != value) {
+ for (unsigned int i = 0; i < widget->GetCount(); ++i) {
+ if (string_client_data (widget->GetClientObject (i)) == value) {
+ widget->SetSelection (i);
+ }
+ }
+ }
+}
+
void
checked_set (wxTextCtrl* widget, string value)
{