diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-04-21 01:00:36 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-04-21 01:00:36 +0100 |
| commit | ff96cc9c9e33fbe9dea02ea2d397144f9c9ac8c9 (patch) | |
| tree | 30182f6187bb2ac4df9499f9b64e42aa9ae862dc /src/wx/wx_util.cc | |
| parent | 1a9453df58177ff006da99e9ef1ed77624aa7d42 (diff) | |
Hand-apply bd7102b476c631b1fa9067f18ce938d86073f6c8; single-file hashes.
Diffstat (limited to 'src/wx/wx_util.cc')
| -rw-r--r-- | src/wx/wx_util.cc | 46 |
1 files changed, 1 insertions, 45 deletions
diff --git a/src/wx/wx_util.cc b/src/wx/wx_util.cc index c4a7fd5bc..0119799d2 100644 --- a/src/wx/wx_util.cc +++ b/src/wx/wx_util.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net> + Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -117,50 +117,6 @@ std_to_wx (string s) return wxString (s.c_str(), wxConvUTF8); } -int const ThreadedStaticText::_update_event_id = 10000; - -/** @param parent Parent for the wxStaticText. - * @param initial Initial text for the wxStaticText while the computation is being run. - * @param fn Function which works out what the wxStaticText content should be and returns it. - */ -ThreadedStaticText::ThreadedStaticText (wxWindow* parent, wxString initial, boost::function<string ()> fn) - : wxStaticText (parent, wxID_ANY, initial) -{ - Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&ThreadedStaticText::thread_finished, this, _1), _update_event_id); - _thread = new thread (bind (&ThreadedStaticText::run, this, fn)); -} - -ThreadedStaticText::~ThreadedStaticText () -{ - _thread->interrupt (); - _thread->join (); - delete _thread; -} - -/** Run our thread and post the result to the GUI thread via AddPendingEvent */ -void -ThreadedStaticText::run (boost::function<string ()> fn) -try -{ - wxCommandEvent ev (wxEVT_COMMAND_TEXT_UPDATED, _update_event_id); - ev.SetString (std_to_wx (fn ())); - GetEventHandler()->AddPendingEvent (ev); -} -catch (...) -{ - /* Ignore exceptions; marginally better than the program quitting, but - only marginally. - */ -} - -/** Called in the GUI thread when our worker thread has finished */ -void -ThreadedStaticText::thread_finished (wxCommandEvent& ev) -{ - SetLabel (ev.GetString ()); - Finished (); -} - string string_client_data (wxClientData* o) { |
