From 93850c202de8b073a1ce1dd8bd246d407bce4e2f Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 30 Sep 2008 16:50:21 +0000 Subject: Flatten ingen source directory heirarchy a bit. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1551 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/gui/App.hpp | 173 --------------------------------------------------- 1 file changed, 173 deletions(-) delete mode 100644 src/libs/gui/App.hpp (limited to 'src/libs/gui/App.hpp') diff --git a/src/libs/gui/App.hpp b/src/libs/gui/App.hpp deleted file mode 100644 index 4a4b6580..00000000 --- a/src/libs/gui/App.hpp +++ /dev/null @@ -1,173 +0,0 @@ -/* This file is part of Ingen. - * Copyright (C) 2007 Dave Robillard - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef INGEN_APP_HPP -#define INGEN_APP_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace Ingen { - class Engine; - namespace Shared { - class EngineInterface; - class ClientInterface; - class World; - } - namespace Client { - class PatchModel; - class PluginModel; - class ClientStore; - class SigClientInterface; - } - namespace Serialisation { - class Serialiser; - } -} - -/** \defgroup GUI GTK GUI - */ - -namespace Ingen { -namespace GUI { - -class MessagesWindow; -class PatchCanvas; -class PatchTreeView; -class PatchTreeWindow; -class ConnectWindow; -class Configuration; -class ThreadedLoader; -class WindowFactory; -class Port; - - -/** Singleton master class most everything is contained within. - * - * This is a horrible god-object, but it's shrinking in size as things are - * moved out. Hopefully it will go away entirely some day.. - * - * \ingroup GUI - */ -class App -{ -public: - ~App(); - - void error_message(const std::string& msg); - - void attach(SharedPtr client, - SharedPtr handle=SharedPtr()); - - void detach(); - - void register_callbacks(); - bool gtk_main_iteration(); - - void show_about(); - void quit(); - - void port_activity(Port* port); - void activity_port_destroyed(Port* port); - - bool signal() const { return _enable_signal; } - bool disable_signals() { bool old = _enable_signal; _enable_signal = false; return old; } - void enable_signals(bool b) { _enable_signal = b; } - - ConnectWindow* connect_window() const { return _connect_window; } - MessagesWindow* messages_dialog() const { return _messages_window; } - PatchTreeWindow* patch_tree() const { return _patch_tree_window; } - Configuration* configuration() const { return _configuration; } - WindowFactory* window_factory() const { return _window_factory; } - - Glib::RefPtr icon_from_path(const std::string& path, int size); - - const SharedPtr& engine() const { return _world->engine; } - const SharedPtr& client() const { return _client; } - const SharedPtr& store() const { return _store; } - const SharedPtr& loader() const { return _loader; } - - const SharedPtr& serialiser(); - - static inline App& instance() { assert(_instance); return *_instance; } - - static void run(int argc, char** argv, Ingen::Shared::World* world); - - Ingen::Shared::World* world() { return _world; } - -protected: - - /** This is needed for the icon map. */ - template - struct LexicalCompare { - bool operator()(const std::pair& p1, const std::pair& p2) { - return (p1.first < p2.first) || - ((p1.first == p2.first) && (p1.second < p2.second)); - } - }; - - typedef std::map< std::pair, - Gdk::Pixbuf*, - LexicalCompare > Icons; - Icons _icons; - - App(Ingen::Shared::World* world); - - bool animate(); - void error_response(int32_t id, const std::string& str); - - static void* icon_destroyed(void* data); - - static App* _instance; - - SharedPtr _client; - SharedPtr _handle; - SharedPtr _store; - SharedPtr _serialiser; - SharedPtr _loader; - - Configuration* _configuration; - - ConnectWindow* _connect_window; - MessagesWindow* _messages_window; - PatchTreeWindow* _patch_tree_window; - Gtk::AboutDialog* _about_dialog; - WindowFactory* _window_factory; - - Ingen::Shared::World* _world; - - typedef std::map ActivityPorts; - ActivityPorts _activity_ports; - - bool _enable_signal; -}; - - -} // namespace GUI -} // namespace Ingen - -#endif // INGEN_APP_HPP - -- cgit v1.2.1