Merge master.
[dcpomatic.git] / src / wx / wx_util.h
index 3a454c7c4f3cbd4d7d8cd205a48b8689a3d45496..bff11647edb653c92eade0b72ac6d3a939f04538 100644 (file)
 */
 
 #include <wx/wx.h>
+#include <wx/gbsizer.h>
 #include <boost/function.hpp>
 #include <boost/thread.hpp>
 
+class wxFilePickerCtrl;
+class wxSpinCtrl;
+class wxGridBagSizer;
+
 /** @file src/wx/wx_util.h
  *  @brief Some utility functions and classes.
  */
 
-extern void error_dialog (wxWindow *, std::string);
-extern wxStaticText* add_label_to_sizer (wxSizer *, wxWindow *, std::string, int prop = 0);
+extern void error_dialog (wxWindow *, wxString);
+extern bool confirm_dialog (wxWindow *, wxString);
+extern wxStaticText* add_label_to_sizer (wxSizer *, wxWindow *, wxString, int prop = 0);
+extern wxStaticText* add_label_to_grid_bag_sizer (wxGridBagSizer *, wxWindow *, wxString, wxGBPosition, wxGBSpan span = wxDefaultSpan);
 extern std::string wx_to_std (wxString);
 extern wxString std_to_wx (std::string);
+extern void dcpomatic_setup_i18n ();
 
-/** A wxStaticText whose content is computed in a separate thread, to avoid holding
+/** @class ThreadedStaticText
+ *
+ *  @brief A wxStaticText whose content is computed in a separate thread, to avoid holding
  *  up the GUI while work is done.
  */
 class ThreadedStaticText : public wxStaticText
 {
 public:
-       ThreadedStaticText (wxWindow* parent, std::string initial, boost::function<std::string ()> fn);
+       ThreadedStaticText (wxWindow* parent, wxString initial, boost::function<std::string ()> fn);
        ~ThreadedStaticText ();
 
 private:
        void run (boost::function<std::string ()> fn);
        void thread_finished (wxCommandEvent& ev);
 
+       /** Thread to do our work in */
        boost::thread* _thread;
        
        static const int _update_event_id;
 };
+
+extern std::string string_client_data (wxClientData* o);
+
+extern void checked_set (wxFilePickerCtrl* widget, std::string value);
+extern void checked_set (wxSpinCtrl* widget, int value);
+extern void checked_set (wxChoice* widget, int value);
+extern void checked_set (wxChoice* widget, std::string value);
+extern void checked_set (wxTextCtrl* widget, std::string value);
+extern void checked_set (wxCheckBox* widget, bool value);
+extern void checked_set (wxRadioButton* widget, bool value);
+extern void checked_set (wxStaticText* widget, std::string value);