From f293da6bc4f0f631c086d35666e3e8bfef19b8f2 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 10 Jan 2011 21:23:14 +0000 Subject: Rewrite with UI/engine split. Note some things aren't quite working right again yet... git-svn-id: http://svn.drobilla.net/lad/trunk/machina@2821 a436a847-0d15-0410-975c-d299462d15a1 --- src/gui/MachinaGUI.hpp | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) (limited to 'src/gui/MachinaGUI.hpp') diff --git a/src/gui/MachinaGUI.hpp b/src/gui/MachinaGUI.hpp index 75fdafd..58dc48f 100644 --- a/src/gui/MachinaGUI.hpp +++ b/src/gui/MachinaGUI.hpp @@ -15,18 +15,27 @@ * along with Machina. If not, see . */ -#ifndef MACHINA_GUI_H -#define MACHINA_GUI_H +#ifndef MACHINA_GUI_HPP +#define MACHINA_GUI_HPP #include #include -#include "machina-config.h" -#include "raul/SharedPtr.hpp" + #include "raul/Maid.hpp" +#include "raul/SharedPtr.hpp" +#include "raul/TimeStamp.hpp" + +#include "machina-config.h" using namespace std; -namespace Machina { class Machine; class Engine; class Evolver; } +namespace Machina { +class Machine; +class Engine; +class Evolver; +class Controller; +namespace Client { class ClientModel; class ClientObject; } +} class MachinaCanvas; @@ -46,8 +55,15 @@ public: void attach(); void quit() { _main_window->hide(); } + SharedPtr controller() { return _controller; } + inline void queue_refresh() { _refresh = true; } + void on_new_object(SharedPtr object); + void on_erase_object(SharedPtr object); + + SharedPtr client_model() { return _client_model; } + protected: void connect_widgets(); @@ -93,9 +109,11 @@ protected: Raul::TimeUnit _unit; - boost::shared_ptr _canvas; - boost::shared_ptr _engine; - + SharedPtr _canvas; + SharedPtr _engine; + SharedPtr _client_model; + SharedPtr _controller; + SharedPtr _maid; SharedPtr _evolver; @@ -144,4 +162,4 @@ protected: Gtk::ToolButton* _adjust_edge_button; }; -#endif // MACHINA_GUI_H +#endif // MACHINA_GUI_HPP -- cgit v1.2.1