diff options
author | David Robillard <d@drobilla.net> | 2013-01-12 23:38:03 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2013-01-12 23:38:03 +0000 |
commit | 1dad5b5aaa139993fe19e266d08dfc55844e6804 (patch) | |
tree | fd2bed5971853b429f1b74369a778a4d608e6925 /src/gui/MachinaGUI.hpp | |
parent | 8f048287d06afd7d3c2e90f4a503d7666a9cb6fa (diff) | |
download | machina-1dad5b5aaa139993fe19e266d08dfc55844e6804.tar.gz machina-1dad5b5aaa139993fe19e266d08dfc55844e6804.tar.bz2 machina-1dad5b5aaa139993fe19e266d08dfc55844e6804.zip |
Remove Raul::SharedPtr and switch to std::shared_ptr.
Use project local short type aliases for shared_ptr and friends.
Move Raul::Disposable and Raul::Manageable into Raul::Maid.
Use sets to store machina nodes and edges to avoid O(n) searches.
git-svn-id: http://svn.drobilla.net/lad/trunk/machina@4939 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/MachinaGUI.hpp')
-rw-r--r-- | src/gui/MachinaGUI.hpp | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/src/gui/MachinaGUI.hpp b/src/gui/MachinaGUI.hpp index c48ac93..f9b0857 100644 --- a/src/gui/MachinaGUI.hpp +++ b/src/gui/MachinaGUI.hpp @@ -22,52 +22,55 @@ #include <gtkmm.h> -#include "raul/Maid.hpp" -#include "raul/SharedPtr.hpp" #include "raul/TimeStamp.hpp" +#include "machina/types.hpp" #include "machina_config.h" using namespace std; namespace Machina { + class Machine; class Engine; class Evolver; class Controller; + namespace Client { -class ClientModel; class ClientObject; -} +class ClientModel; +class ClientObject; } +namespace GUI { + class MachinaCanvas; class MachinaGUI { public: - MachinaGUI(SharedPtr<Machina::Engine> engine); + MachinaGUI(SPtr<Machina::Engine> engine); ~MachinaGUI(); - boost::shared_ptr<MachinaCanvas> canvas() { return _canvas; } - boost::shared_ptr<Machina::Engine> engine() { return _engine; } + SPtr<MachinaCanvas> canvas() { return _canvas; } + SPtr<Machina::Engine> engine() { return _engine; } Raul::Forge& forge() { return _forge; } - SharedPtr<Raul::Maid> maid() { return _maid; } + SPtr<Raul::Maid> maid() { return _maid; } Gtk::Window* window() { return _main_window; } void attach(); void quit() { _main_window->hide(); } - SharedPtr<Machina::Controller> controller() { return _controller; } + SPtr<Machina::Controller> controller() { return _controller; } inline void queue_refresh() { _refresh = true; } - void on_new_object(SharedPtr<Machina::Client::ClientObject> object); - void on_erase_object(SharedPtr<Machina::Client::ClientObject> object); + void on_new_object(SPtr<Machina::Client::ClientObject> object); + void on_erase_object(SPtr<Machina::Client::ClientObject> object); - SharedPtr<Machina::Client::ClientModel> client_model() { + SPtr<Machina::Client::ClientModel> client_model() { return _client_model; } @@ -88,8 +91,8 @@ protected: void arrange(); void load_target_clicked(); - void random_mutation(SharedPtr<Machina::Machine> machine); - void mutate(SharedPtr<Machina::Machine> machine, unsigned mutation); + void random_mutation(SPtr<Machina::Machine> machine); + void mutate(SPtr<Machina::Machine> machine, unsigned mutation); void zoom(double z); void update_toolbar(); @@ -116,13 +119,13 @@ protected: Raul::TimeUnit _unit; - SharedPtr<MachinaCanvas> _canvas; - SharedPtr<Machina::Engine> _engine; - SharedPtr<Machina::Client::ClientModel> _client_model; - SharedPtr<Machina::Controller> _controller; + SPtr<MachinaCanvas> _canvas; + SPtr<Machina::Engine> _engine; + SPtr<Machina::Client::ClientModel> _client_model; + SPtr<Machina::Controller> _controller; - SharedPtr<Raul::Maid> _maid; - SharedPtr<Machina::Evolver> _evolver; + SPtr<Raul::Maid> _maid; + SPtr<Machina::Evolver> _evolver; Raul::Forge _forge; @@ -171,4 +174,7 @@ protected: Gtk::ToolButton* _adjust_edge_button; }; +} // namespace Machina +} // namespace GUI + #endif // MACHINA_GUI_HPP |