summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.includes.imp3
-rw-r--r--src/gui/App.cpp42
-rw-r--r--src/gui/App.hpp25
-rw-r--r--src/gui/Arc.cpp9
-rw-r--r--src/gui/Arc.hpp6
-rw-r--r--src/gui/BreadCrumbs.cpp5
-rw-r--r--src/gui/BreadCrumbs.hpp5
-rw-r--r--src/gui/ConnectWindow.cpp8
-rw-r--r--src/gui/ConnectWindow.hpp5
-rw-r--r--src/gui/GraphBox.cpp65
-rw-r--r--src/gui/GraphBox.hpp30
-rw-r--r--src/gui/GraphCanvas.cpp54
-rw-r--r--src/gui/GraphCanvas.hpp35
-rw-r--r--src/gui/GraphPortModule.cpp23
-rw-r--r--src/gui/GraphPortModule.hpp11
-rw-r--r--src/gui/GraphTreeWindow.cpp24
-rw-r--r--src/gui/GraphTreeWindow.hpp25
-rw-r--r--src/gui/GraphView.cpp28
-rw-r--r--src/gui/GraphView.hpp27
-rw-r--r--src/gui/GraphWindow.cpp13
-rw-r--r--src/gui/GraphWindow.hpp16
-rw-r--r--src/gui/LoadGraphWindow.cpp29
-rw-r--r--src/gui/LoadGraphWindow.hpp25
-rw-r--r--src/gui/LoadPluginWindow.cpp35
-rw-r--r--src/gui/LoadPluginWindow.hpp28
-rw-r--r--src/gui/MessagesWindow.cpp13
-rw-r--r--src/gui/MessagesWindow.hpp16
-rw-r--r--src/gui/NewSubgraphWindow.cpp22
-rw-r--r--src/gui/NewSubgraphWindow.hpp20
-rw-r--r--src/gui/NodeMenu.cpp33
-rw-r--r--src/gui/NodeMenu.hpp23
-rw-r--r--src/gui/NodeModule.cpp28
-rw-r--r--src/gui/NodeModule.hpp18
-rw-r--r--src/gui/ObjectMenu.cpp14
-rw-r--r--src/gui/ObjectMenu.hpp26
-rw-r--r--src/gui/PluginMenu.cpp11
-rw-r--r--src/gui/PluginMenu.hpp8
-rw-r--r--src/gui/Port.cpp33
-rw-r--r--src/gui/Port.hpp12
-rw-r--r--src/gui/PortMenu.cpp22
-rw-r--r--src/gui/PortMenu.hpp22
-rw-r--r--src/gui/PropertiesWindow.cpp34
-rw-r--r--src/gui/PropertiesWindow.hpp37
-rw-r--r--src/gui/RDFS.cpp3
-rw-r--r--src/gui/RenameWindow.cpp17
-rw-r--r--src/gui/RenameWindow.hpp23
-rw-r--r--src/gui/Style.cpp10
-rw-r--r--src/gui/Style.hpp8
-rw-r--r--src/gui/SubgraphModule.cpp11
-rw-r--r--src/gui/SubgraphModule.hpp4
-rw-r--r--src/gui/ThreadedLoader.cpp17
-rw-r--r--src/gui/ThreadedLoader.hpp19
-rw-r--r--src/gui/URIEntry.cpp13
-rw-r--r--src/gui/URIEntry.hpp10
-rw-r--r--src/gui/WidgetFactory.cpp2
-rw-r--r--src/gui/WidgetFactory.hpp4
-rw-r--r--src/gui/Window.hpp5
-rw-r--r--src/gui/WindowFactory.cpp8
-rw-r--r--src/gui/WindowFactory.hpp5
-rw-r--r--src/gui/ingen_gui.cpp8
-rw-r--r--src/gui/ingen_gui_lv2.cpp4
-rw-r--r--src/gui/rgba.hpp1
62 files changed, 903 insertions, 237 deletions
diff --git a/.includes.imp b/.includes.imp
index 65bf186b..a1986d0f 100644
--- a/.includes.imp
+++ b/.includes.imp
@@ -9,6 +9,7 @@
{ "symbol": [ "sched_param", "private", "<sched.h>", "public" ] },
{ "symbol": [ "clockid_t", "private", "<time.h>", "public" ] },
{ "symbol": [ "clockid_t", "private", "<sys/types.h>", "public" ] },
+ { "symbol": [ "GdkEvent", "private", "<gdk/gdk.h>", "public" ] },
{ "symbol": [ "LilvWorld", "private", "\"lilv/lilv.h\"", "public" ] },
{ "symbol": [ "boost::intrusive::constant_time_size", "private",
@@ -19,4 +20,6 @@
{ "include": [ "<ext/alloc_traits.h>", "private", "<string>", "public", ] },
{ "include": [ "<ext/alloc_traits.h>", "private", "<vector>", "public", ] },
+ { "include": [ "<gdk/gdkevents.h>", "private", "<gdk/gdk.h>", "public", ] },
+ { "include": [ "<gdk/gdktypes.h>", "private", "<gdk/gdk.h>", "public", ] }
]
diff --git a/src/gui/App.cpp b/src/gui/App.cpp
index ecc20455..dc51df1d 100644
--- a/src/gui/App.cpp
+++ b/src/gui/App.cpp
@@ -18,57 +18,65 @@
#include "ConnectWindow.hpp"
#include "GraphTreeWindow.hpp"
-#include "GraphWindow.hpp"
-#include "LoadPluginWindow.hpp"
#include "MessagesWindow.hpp"
-#include "NodeModule.hpp"
#include "Port.hpp"
#include "RDFS.hpp"
#include "Style.hpp"
-#include "SubgraphModule.hpp"
#include "ThreadedLoader.hpp"
#include "WidgetFactory.hpp"
#include "WindowFactory.hpp"
#include "rgba.hpp"
-#include "ganv/Edge.hpp"
+#include "ingen/Atom.hpp"
+#include "ingen/ColorContext.hpp"
#include "ingen/Configuration.hpp"
#include "ingen/EngineBase.hpp"
+#include "ingen/FilePath.hpp"
+#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
#include "ingen/Log.hpp"
#include "ingen/QueuedInterface.hpp"
#include "ingen/StreamWriter.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/World.hpp"
#include "ingen/client/ClientStore.hpp"
-#include "ingen/client/GraphModel.hpp"
-#include "ingen/client/ObjectModel.hpp"
+#include "ingen/client/PluginModel.hpp"
#include "ingen/client/PortModel.hpp"
#include "ingen/client/SigClientInterface.hpp"
#include "ingen/runtime_paths.hpp"
#include "lilv/lilv.h"
-#include "raul/Path.hpp"
#include "suil/suil.h"
#include <boost/variant/get.hpp>
-#include <gtk/gtkwindow.h>
+#include <glib.h>
+#include <glibmm/main.h>
+#include <glibmm/miscutils.h>
+#include <glibmm/propertyproxy.h>
+#include <gtk/gtk.h>
+#include <gtkmm/aboutdialog.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/main.h>
+#include <gtkmm/messagedialog.h>
+#include <gtkmm/rc.h>
#include <gtkmm/stock.h>
+#include <gtkmm/widget.h>
+#include <sigc++/functors/mem_fun.h>
+#include <algorithm>
#include <cassert>
-#include <fstream>
+#include <cstdio>
+#include <exception>
+#include <functional>
+#include <iostream>
+#include <map>
#include <memory>
#include <string>
#include <utility>
-namespace Raul { class Deletable; }
-
namespace ingen {
-
-namespace client { class PluginModel; }
-
namespace gui {
-class Port;
-
Gtk::Main* App::_main = nullptr;
App::App(ingen::World& world)
diff --git a/src/gui/App.hpp b/src/gui/App.hpp
index cef884d6..c09d1cd5 100644
--- a/src/gui/App.hpp
+++ b/src/gui/App.hpp
@@ -17,35 +17,42 @@
#ifndef INGEN_GUI_APP_HPP
#define INGEN_GUI_APP_HPP
-#include "ingen/Atom.hpp"
#include "ingen/Message.hpp"
+#include "ingen/Properties.hpp"
#include "ingen/Resource.hpp"
#include "ingen/Status.hpp"
+#include "ingen/URI.hpp"
#include "ingen/World.hpp"
#include "ingen/ingen.h"
#include "lilv/lilv.h"
-#include "raul/Deletable.hpp"
-#include <gtkmm/aboutdialog.h>
-#include <gtkmm/main.h>
-#include <gtkmm/window.h>
+#include <sigc++/signal.h>
+#include <cstdint>
+#include <memory>
#include <string>
#include <unordered_map>
+namespace Gtk {
+class AboutDialog;
+class Main;
+class Widget;
+class Window;
+} // namespace Gtk
+
namespace ingen {
+class Atom;
+class Forge;
class Interface;
class Log;
class Serialiser;
class StreamWriter;
-class World;
+class URIs;
namespace client {
class ClientStore;
-class GraphModel;
-class PluginModel;
class PortModel;
class SigClientInterface;
@@ -54,8 +61,6 @@ class SigClientInterface;
namespace gui {
class ConnectWindow;
-class GraphCanvas;
-class GraphTreeView;
class GraphTreeWindow;
class MessagesWindow;
class Port;
diff --git a/src/gui/Arc.cpp b/src/gui/Arc.cpp
index 60425ab9..c9260d12 100644
--- a/src/gui/Arc.cpp
+++ b/src/gui/Arc.cpp
@@ -16,14 +16,23 @@
#include "Arc.hpp"
+#include "ingen/URI.hpp"
#include "ingen/client/ArcModel.hpp"
#include "ingen/client/BlockModel.hpp"
+#include "ingen/client/PortModel.hpp"
+
+#include <glib-object.h>
#include <memory>
#define NS_INTERNALS "http://drobilla.net/ns/ingen-internals#"
namespace ingen {
+
+namespace client {
+class ObjectModel;
+} // namespace client
+
namespace gui {
Arc::Arc(Ganv::Canvas& canvas,
diff --git a/src/gui/Arc.hpp b/src/gui/Arc.hpp
index ad40d6bf..746f6d61 100644
--- a/src/gui/Arc.hpp
+++ b/src/gui/Arc.hpp
@@ -19,9 +19,13 @@
#include "ganv/Edge.hpp"
-#include <cassert>
#include <memory>
+namespace Ganv {
+class Canvas;
+class Node;
+} // namespace Ganv
+
namespace ingen {
namespace client { class ArcModel; }
diff --git a/src/gui/BreadCrumbs.cpp b/src/gui/BreadCrumbs.cpp
index d265443d..5b90c55d 100644
--- a/src/gui/BreadCrumbs.cpp
+++ b/src/gui/BreadCrumbs.cpp
@@ -17,10 +17,15 @@
#include "BreadCrumbs.hpp"
#include "App.hpp"
+#include "GraphView.hpp"
#include "ingen/client/SigClientInterface.hpp"
+#include "raul/Symbol.hpp"
#include <boost/variant/get.hpp>
+#include <glibmm/signalproxy.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
#include <string>
diff --git a/src/gui/BreadCrumbs.hpp b/src/gui/BreadCrumbs.hpp
index 6fcce24c..0b553faa 100644
--- a/src/gui/BreadCrumbs.hpp
+++ b/src/gui/BreadCrumbs.hpp
@@ -20,12 +20,15 @@
#include "GraphView.hpp"
#include "ingen/Message.hpp"
+#include "ingen/URI.hpp"
#include "ingen/client/GraphModel.hpp"
#include "raul/Path.hpp"
#include <gtkmm/box.h>
#include <gtkmm/label.h>
+#include <gtkmm/object.h>
#include <gtkmm/togglebutton.h>
+#include <sigc++/signal.h>
#include <cassert>
#include <list>
@@ -35,6 +38,8 @@
namespace ingen {
namespace gui {
+class App;
+
/** Collection of breadcrumb buttons forming a path.
* This doubles as a cache for GraphViews.
*
diff --git a/src/gui/ConnectWindow.cpp b/src/gui/ConnectWindow.cpp
index bf686308..8534c89c 100644
--- a/src/gui/ConnectWindow.cpp
+++ b/src/gui/ConnectWindow.cpp
@@ -26,22 +26,17 @@
#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
#include "ingen/Log.hpp"
-#include "ingen/Module.hpp"
#include "ingen/QueuedInterface.hpp"
#include "ingen/URIs.hpp"
#include "ingen/World.hpp"
#include "ingen/client/ClientStore.hpp"
-#include "ingen/client/GraphModel.hpp"
+#include "ingen/client/GraphModel.hpp" // IWYU pragma: keep
#include "ingen/client/SigClientInterface.hpp"
#include "ingen/client/SocketClient.hpp"
-#include "ingen/fmt.hpp"
#include "ingen/paths.hpp"
-#include "ingen_config.h"
#include "raul/Path.hpp"
#include "raul/Process.hpp"
-#include <boost/format/alt_sstream.hpp>
-#include <boost/optional/optional.hpp>
#include <boost/variant/get.hpp>
#include <glib.h>
#include <glibmm/main.h>
@@ -64,7 +59,6 @@
#include <limits>
#include <memory>
-#include <ostream>
#include <string>
#include <sys/time.h>
#include <utility>
diff --git a/src/gui/ConnectWindow.hpp b/src/gui/ConnectWindow.hpp
index 0eaf7bb3..6fc4dbfb 100644
--- a/src/gui/ConnectWindow.hpp
+++ b/src/gui/ConnectWindow.hpp
@@ -20,15 +20,18 @@
#include "Window.hpp"
#include "ingen/Message.hpp"
+#include "ingen/Status.hpp"
+#include "ingen/URI.hpp"
#include <glibmm/refptr.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/dialog.h>
#include <cstdint>
#include <memory>
#include <string>
namespace Gtk {
-class Builder;
class Button;
class Entry;
class Image;
diff --git a/src/gui/GraphBox.cpp b/src/gui/GraphBox.cpp
index fedde2f9..9fef803b 100644
--- a/src/gui/GraphBox.cpp
+++ b/src/gui/GraphBox.cpp
@@ -14,6 +14,8 @@
along with Ingen. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "GraphBox.hpp"
+
#include "App.hpp"
#include "BreadCrumbs.hpp"
#include "ConnectWindow.hpp"
@@ -21,35 +23,84 @@
#include "GraphTreeWindow.hpp"
#include "GraphView.hpp"
#include "GraphWindow.hpp"
-#include "LoadGraphWindow.hpp"
-#include "LoadPluginWindow.hpp"
#include "MessagesWindow.hpp"
-#include "NewSubgraphWindow.hpp"
-#include "Style.hpp"
#include "ThreadedLoader.hpp"
#include "WidgetFactory.hpp"
#include "WindowFactory.hpp"
-#include "ingen_config.h"
+#include "ganv/canvas.h"
+#include "ingen/Atom.hpp"
#include "ingen/Configuration.hpp"
+#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
-#include "ingen/Log.hpp"
+#include "ingen/Properties.hpp"
+#include "ingen/Resource.hpp"
+#include "ingen/URI.hpp"
+#include "ingen/URIs.hpp"
+#include "ingen/World.hpp"
+#include "ingen/client/BlockModel.hpp"
#include "ingen/client/ClientStore.hpp"
#include "ingen/client/GraphModel.hpp"
+#include "ingen/client/ObjectModel.hpp"
+#include "ingen/client/PluginModel.hpp"
+#include "ingen/client/PortModel.hpp"
#include "ingen/fmt.hpp"
+#include "raul/Path.hpp"
+#include "raul/Symbol.hpp"
-#include <boost/format.hpp>
+#include <gdk/gdk.h>
#include <glib/gstdio.h>
+#include <glibmm/convert.h>
#include <glibmm/fileutils.h>
+#include <glibmm/miscutils.h>
+#include <glibmm/propertyproxy.h>
+#include <glibmm/refptr.h>
+#include <glibmm/signalproxy.h>
+#include <glibmm/ustring.h>
+#include <gtkmm/alignment.h>
+#include <gtkmm/box.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/button.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/checkmenuitem.h>
+#include <gtkmm/clipboard.h>
+#include <gtkmm/container.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/filechooser.h>
+#include <gtkmm/filechooserdialog.h>
+#include <gtkmm/filefilter.h>
+#include <gtkmm/label.h>
+#include <gtkmm/menuitem.h>
+#include <gtkmm/messagedialog.h>
+#include <gtkmm/object.h>
+#include <gtkmm/paned.h>
+#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/statusbar.h>
#include <gtkmm/stock.h>
+#include <gtkmm/textbuffer.h>
+#include <gtkmm/textview.h>
+#include <gtkmm/toolitem.h>
+#include <gtkmm/widget.h>
+#include <sigc++/adaptors/retype_return.h>
+#include <sigc++/connection.h>
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
+
#ifdef HAVE_WEBKIT
#include <webkit/webkit.h>
#endif
#include <cassert>
+#include <cstdint>
+#include <cstdio>
+#include <limits>
+#include <map>
#include <memory>
#include <sstream>
#include <string>
+#include <utility>
+#include <vector>
namespace ingen {
diff --git a/src/gui/GraphBox.hpp b/src/gui/GraphBox.hpp
index 2bb04c54..b8f2cce0 100644
--- a/src/gui/GraphBox.hpp
+++ b/src/gui/GraphBox.hpp
@@ -17,28 +17,38 @@
#ifndef INGEN_GUI_GRAPH_BOX_HPP
#define INGEN_GUI_GRAPH_BOX_HPP
-#include "Window.hpp"
-
#include "ingen/ingen.h"
+#include <gdk/gdk.h>
+#include <glibmm/ustring.h>
#include <gtkmm/alignment.h>
#include <gtkmm/box.h>
-#include <gtkmm/builder.h>
-#include <gtkmm/menushell.h>
-#include <gtkmm/messagedialog.h>
-#include <gtkmm/paned.h>
#include <gtkmm/scrolledwindow.h>
-#include <gtkmm/statusbar.h>
+#include <sigc++/connection.h>
#include <memory>
#include <string>
+namespace Glib {
+template <class T> class RefPtr;
+} // namespace Glib
+
+namespace Gtk {
+class Builder;
+class CheckMenuItem;
+class HPaned;
+class Label;
+class MenuItem;
+class Statusbar;
+} // namespace Gtk
+
namespace Raul {
class Path;
} // namespace Raul
namespace ingen {
+class Atom;
class URI;
namespace client {
@@ -49,14 +59,10 @@ class ObjectModel;
namespace gui {
+class App;
class BreadCrumbs;
-class LoadGraphBox;
-class LoadPluginWindow;
-class NewSubgraphWindow;
-class GraphDescriptionWindow;
class GraphView;
class GraphWindow;
-class SubgraphModule;
/** A window for a graph.
*
diff --git a/src/gui/GraphCanvas.cpp b/src/gui/GraphCanvas.cpp
index a7351483..c833f20f 100644
--- a/src/gui/GraphCanvas.cpp
+++ b/src/gui/GraphCanvas.cpp
@@ -19,8 +19,6 @@
#include "GraphCanvas.hpp"
#include "GraphPortModule.hpp"
#include "GraphWindow.hpp"
-#include "LoadPluginWindow.hpp"
-#include "NewSubgraphWindow.hpp"
#include "NodeModule.hpp"
#include "PluginMenu.hpp"
#include "Port.hpp"
@@ -30,29 +28,75 @@
#include "WindowFactory.hpp"
#include "ganv/Canvas.hpp"
-#include "ganv/Circle.hpp"
+#include "ganv/Edge.hpp"
+#include "ganv/Module.hpp"
+#include "ganv/Node.hpp"
+#include "ganv/Port.hpp"
+#include "ganv/canvas.h"
+#include "ganv/edge.h"
+#include "ganv/module.h"
+#include "ganv/types.h"
+#include "ingen/Arc.hpp"
+#include "ingen/Atom.hpp"
#include "ingen/ClashAvoider.hpp"
#include "ingen/Configuration.hpp"
+#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
#include "ingen/Log.hpp"
+#include "ingen/Node.hpp"
+#include "ingen/Parser.hpp"
#include "ingen/Serialiser.hpp"
+#include "ingen/Store.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/World.hpp"
+#include "ingen/client/ArcModel.hpp"
#include "ingen/client/BlockModel.hpp"
#include "ingen/client/ClientStore.hpp"
#include "ingen/client/GraphModel.hpp"
+#include "ingen/client/ObjectModel.hpp"
#include "ingen/client/PluginModel.hpp"
-#include "ingen/ingen.h"
-#include "lv2/atom/atom.h"
+#include "ingen/client/PortModel.hpp"
+#include "ingen/paths.hpp"
+#include "raul/Symbol.hpp"
+#include "sord/sordmm.hpp"
#include <boost/optional/optional.hpp>
+#include <gdk/gdk.h>
+#include <gdk/gdkkeysyms-compat.h>
+#include <gdkmm/window.h>
+#include <glib.h>
+#include <glibmm/refptr.h>
+#include <glibmm/signalproxy.h>
+#include <glibmm/ustring.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/checkmenuitem.h>
+#include <gtkmm/clipboard.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/image.h>
+#include <gtkmm/layout.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/menu_elems.h>
+#include <gtkmm/menuitem.h>
+#include <gtkmm/menushell.h>
+#include <gtkmm/object.h>
#include <gtkmm/stock.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
#include <algorithm>
#include <cassert>
+#include <cstdio>
+#include <cstring>
+#include <initializer_list>
+#include <limits>
#include <map>
#include <memory>
+#include <mutex>
#include <set>
+#include <sstream>
#include <string>
+#include <vector>
using std::string;
diff --git a/src/gui/GraphCanvas.hpp b/src/gui/GraphCanvas.hpp
index ffeac64d..e413c194 100644
--- a/src/gui/GraphCanvas.hpp
+++ b/src/gui/GraphCanvas.hpp
@@ -17,27 +17,48 @@
#ifndef INGEN_GUI_GRAPHCANVAS_HPP
#define INGEN_GUI_GRAPHCANVAS_HPP
-#include "NodeModule.hpp"
-
#include "ganv/Canvas.hpp"
-#include "ganv/Module.hpp"
-#include "ingen/Node.hpp"
-#include "ingen/client/ArcModel.hpp"
+#include "ingen/Properties.hpp"
+#include "ingen/Resource.hpp"
+#include "ingen/URI.hpp"
#include "lilv/lilv.h"
#include "raul/Path.hpp"
+#include <gdk/gdk.h>
+
+#include <cstdint>
#include <map>
#include <memory>
#include <set>
#include <string>
+#include <utility>
+
+namespace Ganv {
+class Module;
+class Node;
+class Port;
+} // namespace Ganv
+
+namespace Gtk {
+class CheckMenuItem;
+class Menu;
+class MenuItem;
+} // namespace Gtk
namespace ingen {
-namespace client { class GraphModel; }
+namespace client {
+class ArcModel;
+class BlockModel;
+class GraphModel;
+class ObjectModel;
+class PluginModel;
+class PortModel;
+} // namespace client
namespace gui {
-class NodeModule;
+class App;
class PluginMenu;
/** Graph canvas widget.
diff --git a/src/gui/GraphPortModule.cpp b/src/gui/GraphPortModule.cpp
index 3c8c17f1..3206f80b 100644
--- a/src/gui/GraphPortModule.cpp
+++ b/src/gui/GraphPortModule.cpp
@@ -17,25 +17,32 @@
#include "App.hpp"
#include "GraphCanvas.hpp"
#include "GraphPortModule.hpp"
-#include "GraphWindow.hpp"
#include "Port.hpp"
-#include "PortMenu.hpp"
-#include "RenameWindow.hpp"
-#include "Style.hpp"
-#include "WidgetFactory.hpp"
-#include "WindowFactory.hpp"
+
+#include "ingen/Atom.hpp"
+#include "ingen/Forge.hpp"
+#include "ingen/Properties.hpp"
+#include "ingen/URIs.hpp"
+#include "ingen/World.hpp"
+#include "raul/Symbol.hpp"
#include "ingen/Configuration.hpp"
#include "ingen/Interface.hpp"
-#include "ingen/client/BlockModel.hpp"
-#include "ingen/client/GraphModel.hpp"
+#include "ingen/client/GraphModel.hpp" // IWYU pragma: keep
+#include "ingen/client/PortModel.hpp"
+
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
#include <cassert>
+#include <cstdint>
+#include <map>
#include <memory>
#include <string>
#include <utility>
namespace ingen {
+
namespace gui {
GraphPortModule::GraphPortModule(
diff --git a/src/gui/GraphPortModule.hpp b/src/gui/GraphPortModule.hpp
index 06e40dff..5ce7ea57 100644
--- a/src/gui/GraphPortModule.hpp
+++ b/src/gui/GraphPortModule.hpp
@@ -17,14 +17,19 @@
#ifndef INGEN_GUI_GRAPHPORTMODULE_HPP
#define INGEN_GUI_GRAPHPORTMODULE_HPP
-#include "Port.hpp"
-
#include "ganv/Module.hpp"
+#include "ingen/URI.hpp"
+
+#include <gdk/gdk.h>
+#include <glib.h>
#include <memory>
#include <string>
namespace ingen {
+
+class Atom;
+
namespace client {
class PortModel;
} // namespace client
@@ -33,9 +38,9 @@ class PortModel;
namespace ingen {
namespace gui {
+class App;
class GraphCanvas;
class Port;
-class PortMenu;
/** A "module" to represent a graph's port on its own canvas.
*
diff --git a/src/gui/GraphTreeWindow.cpp b/src/gui/GraphTreeWindow.cpp
index 0c805b5f..e1ef158f 100644
--- a/src/gui/GraphTreeWindow.cpp
+++ b/src/gui/GraphTreeWindow.cpp
@@ -16,14 +16,34 @@
#include "App.hpp"
#include "GraphTreeWindow.hpp"
-#include "SubgraphModule.hpp"
+#include "Window.hpp"
#include "WindowFactory.hpp"
+
+#include "ingen/Atom.hpp"
+#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
#include "ingen/Log.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/client/ClientStore.hpp"
#include "ingen/client/GraphModel.hpp"
#include "raul/Path.hpp"
-
+#include "raul/Symbol.hpp"
+
+#include <glibmm/propertyproxy.h>
+#include <glibmm/signalproxy.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/cellrenderer.h>
+#include <gtkmm/cellrenderertoggle.h>
+#include <gtkmm/object.h>
+#include <gtkmm/treeiter.h>
+#include <gtkmm/treepath.h>
+#include <gtkmm/treeviewcolumn.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
+
+#include <cassert>
+#include <cstdint>
#include <memory>
namespace ingen {
diff --git a/src/gui/GraphTreeWindow.hpp b/src/gui/GraphTreeWindow.hpp
index 9e11b15d..1a719a81 100644
--- a/src/gui/GraphTreeWindow.hpp
+++ b/src/gui/GraphTreeWindow.hpp
@@ -19,20 +19,37 @@
#include "Window.hpp"
-#include <gtkmm/builder.h>
+#include "ingen/URI.hpp"
+
+#include <gdk/gdk.h>
+#include <glibmm/refptr.h>
+#include <glibmm/ustring.h>
#include <gtkmm/treemodel.h>
+#include <gtkmm/treemodelcolumn.h>
+#include <gtkmm/treeselection.h>
#include <gtkmm/treestore.h>
#include <gtkmm/treeview.h>
+#include <gtkmm/window.h>
+
+#include <memory>
-namespace Raul { class Path; }
+namespace Gtk {
+class Builder;
+} // namespace Gtk
namespace ingen {
-namespace client { class ClientStore; class ObjectModel; }
+class Atom;
+
+namespace client {
+class ClientStore;
+class ObjectModel;
+class GraphModel;
+} // namespace client
namespace gui {
-class GraphWindow;
+class App;
class GraphTreeView;
/** Window with a TreeView of all loaded graphs.
diff --git a/src/gui/GraphView.cpp b/src/gui/GraphView.cpp
index 5f81a309..bd493499 100644
--- a/src/gui/GraphView.cpp
+++ b/src/gui/GraphView.cpp
@@ -16,18 +16,36 @@
#include "App.hpp"
#include "GraphCanvas.hpp"
-#include "GraphTreeWindow.hpp"
#include "GraphView.hpp"
-#include "LoadPluginWindow.hpp"
-#include "NewSubgraphWindow.hpp"
#include "WidgetFactory.hpp"
-#include "ingen/Interface.hpp"
+#include "ingen/Atom.hpp"
+#include "ingen/Forge.hpp"
+#include "ingen/Properties.hpp"
+#include "ingen/URI.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/client/GraphModel.hpp"
+#include <glibmm/propertyproxy.h>
+#include <glibmm/refptr.h>
+#include <glibmm/signalproxy.h>
+#include <gtkmm/adjustment.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/layout.h>
+#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/spinbutton.h>
+#include <gtkmm/toggletoolbutton.h>
+#include <gtkmm/toolbar.h>
+#include <gtkmm/toolitem.h>
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
+
#include <cassert>
-#include <fstream>
+#include <cstdint>
+#include <map>
#include <memory>
+#include <utility>
namespace ingen {
diff --git a/src/gui/GraphView.hpp b/src/gui/GraphView.hpp
index 29571b67..0b6aee1e 100644
--- a/src/gui/GraphView.hpp
+++ b/src/gui/GraphView.hpp
@@ -18,36 +18,35 @@
#define INGEN_GUI_GRAPHVIEW_HPP
#include <gtkmm/box.h>
-#include <gtkmm/builder.h>
-#include <gtkmm/scrolledwindow.h>
-#include <gtkmm/spinbutton.h>
-#include <gtkmm/toggletoolbutton.h>
-#include <gtkmm/toolbar.h>
-#include <gtkmm/toolitem.h>
-#include <gtkmm/toolitem.h>
#include <memory>
+namespace Glib {
+template <class T> class RefPtr;
+} // namespace Glib
+
+namespace Gtk {
+class Builder;
+class ScrolledWindow;
+class SpinButton;
+class ToggleToolButton;
+class ToolItem;
+class Toolbar;
+} // namespace Gtk
+
namespace ingen {
class Atom;
class URI;
namespace client {
-class PortModel;
-class MetadataModel;
class GraphModel;
-class ObjectModel;
} // namespace client
namespace gui {
class App;
-class LoadPluginWindow;
-class NewSubgraphWindow;
class GraphCanvas;
-class GraphDescriptionWindow;
-class SubgraphModule;
/** The graph specific contents of a GraphWindow (ie the canvas and whatever else).
*
diff --git a/src/gui/GraphWindow.cpp b/src/gui/GraphWindow.cpp
index 086886ef..38273a8e 100644
--- a/src/gui/GraphWindow.cpp
+++ b/src/gui/GraphWindow.cpp
@@ -14,14 +14,17 @@
along with Ingen. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "ingen/client/ClientStore.hpp"
-#include "ingen/client/GraphModel.hpp"
+#include "GraphWindow.hpp"
-#include "App.hpp"
+#include "GraphBox.hpp"
#include "GraphCanvas.hpp"
#include "GraphView.hpp"
-#include "GraphWindow.hpp"
-#include "WindowFactory.hpp"
+#include "Window.hpp"
+
+#include <glibmm/propertyproxy.h>
+#include <glibmm/refptr.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/layout.h>
namespace ingen {
namespace gui {
diff --git a/src/gui/GraphWindow.hpp b/src/gui/GraphWindow.hpp
index 96775d82..290e0e00 100644
--- a/src/gui/GraphWindow.hpp
+++ b/src/gui/GraphWindow.hpp
@@ -20,19 +20,33 @@
#include "GraphBox.hpp"
#include "Window.hpp"
-#include <gtkmm/builder.h>
+#include <gdk/gdk.h>
+#include <gtkmm/window.h>
#include <memory>
#include <string>
+namespace Glib {
+template <class T> class RefPtr;
+} // namespace Glib
+
+namespace Gtk {
+class Builder;
+} // namespace Gtk
+
namespace ingen {
+class Atom;
+
namespace client {
class GraphModel;
+class PortModel;
} // namespace client
namespace gui {
+class App;
+
/** A window for a graph.
*
* \ingroup GUI
diff --git a/src/gui/LoadGraphWindow.cpp b/src/gui/LoadGraphWindow.cpp
index 0a238c98..bdd6c349 100644
--- a/src/gui/LoadGraphWindow.cpp
+++ b/src/gui/LoadGraphWindow.cpp
@@ -17,23 +17,42 @@
#include "LoadGraphWindow.hpp"
#include "App.hpp"
-#include "GraphView.hpp"
-#include "Style.hpp"
#include "ThreadedLoader.hpp"
+#include "ingen/Atom.hpp"
#include "ingen/Configuration.hpp"
-#include "ingen/Interface.hpp"
-#include "ingen/client/BlockModel.hpp"
+#include "ingen/FilePath.hpp"
+#include "ingen/Forge.hpp"
+#include "ingen/URI.hpp"
+#include "ingen/URIs.hpp"
+#include "ingen/World.hpp"
#include "ingen/client/ClientStore.hpp"
#include "ingen/client/GraphModel.hpp"
#include "ingen/runtime_paths.hpp"
+#include "raul/Path.hpp"
#include <boost/optional/optional.hpp>
+#include <glibmm/fileutils.h>
#include <glibmm/miscutils.h>
+#include <glibmm/propertyproxy.h>
+#include <glibmm/refptr.h>
+#include <glibmm/signalproxy.h>
+#include <glibmm/slisthandle.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/button.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/filefilter.h>
+#include <gtkmm/label.h>
+#include <gtkmm/radiobutton.h>
+#include <gtkmm/spinbutton.h>
+#include <gtkmm/window.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
#include <list>
+#include <map>
#include <memory>
-#include <ostream>
+#include <sstream>
#include <string>
#include <utility>
diff --git a/src/gui/LoadGraphWindow.hpp b/src/gui/LoadGraphWindow.hpp
index ab287578..f18998c7 100644
--- a/src/gui/LoadGraphWindow.hpp
+++ b/src/gui/LoadGraphWindow.hpp
@@ -17,15 +17,26 @@
#ifndef INGEN_GUI_LOADGRAPHWINDOW_HPP
#define INGEN_GUI_LOADGRAPHWINDOW_HPP
-#include "ingen/Node.hpp"
+#include "ingen/Properties.hpp"
+#include "raul/Symbol.hpp"
-#include <gtkmm/builder.h>
-#include <gtkmm/button.h>
-#include <gtkmm/entry.h>
+#include <glibmm/ustring.h>
#include <gtkmm/filechooserdialog.h>
-#include <gtkmm/label.h>
-#include <gtkmm/radiobutton.h>
-#include <gtkmm/spinbutton.h>
+
+#include <memory>
+
+namespace Glib {
+template <class T> class RefPtr;
+} // namespace Glib
+
+namespace Gtk {
+class Builder;
+class Button;
+class Entry;
+class Label;
+class RadioButton;
+class SpinButton;
+} // namespace Gtk
namespace ingen {
diff --git a/src/gui/LoadPluginWindow.cpp b/src/gui/LoadPluginWindow.cpp
index 04f0bd38..67115cf3 100644
--- a/src/gui/LoadPluginWindow.cpp
+++ b/src/gui/LoadPluginWindow.cpp
@@ -15,21 +15,46 @@
*/
#include "App.hpp"
-#include "GraphCanvas.hpp"
-#include "GraphView.hpp"
-#include "GraphWindow.hpp"
#include "LoadPluginWindow.hpp"
-#include "ingen_config.h"
+#include "Window.hpp"
+#include "ingen/Atom.hpp"
+#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/client/ClientStore.hpp"
#include "ingen/client/GraphModel.hpp"
+#include "ingen/client/PluginModel.hpp"
+#include "ingen/paths.hpp"
+#include "lilv/lilv.h"
+#include "raul/Path.hpp"
+#include "raul/Symbol.hpp"
+
+#include <gdk/gdkkeysyms-compat.h>
+#include <glibmm/listhandle.h>
+#include <glibmm/propertyproxy.h>
+#include <glibmm/signalproxy.h>
+#include <glibmm/ustring.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/button.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/combobox.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/messagedialog.h>
+#include <gtkmm/treeiter.h>
+#include <gtkmm/treeview.h>
+#include <gtkmm/treeviewcolumn.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
#include <algorithm>
-#include <cassert>
+#include <cctype>
#include <cstddef>
#include <memory>
+#include <sstream>
#include <string>
+#include <utility>
using std::string;
diff --git a/src/gui/LoadPluginWindow.hpp b/src/gui/LoadPluginWindow.hpp
index cd1bec8a..46c5e816 100644
--- a/src/gui/LoadPluginWindow.hpp
+++ b/src/gui/LoadPluginWindow.hpp
@@ -19,22 +19,40 @@
#include "Window.hpp"
-#include "ingen/Node.hpp"
+#include "ingen/Properties.hpp"
+#include "ingen/URI.hpp"
#include "ingen/client/ClientStore.hpp"
-#include "ingen_config.h"
-#include <gtkmm/builder.h>
-#include <gtkmm/combobox.h>
+#include <gdk/gdk.h>
+#include <glibmm/refptr.h>
+#include <gtkmm/entry.h>
#include <gtkmm/liststore.h>
#include <gtkmm/treemodel.h>
-#include <gtkmm/treeview.h>
+#include <gtkmm/treemodelcolumn.h>
+#include <gtkmm/treeselection.h>
+#include <gtkmm/window.h>
#include <map>
#include <memory>
#include <string>
+namespace Glib {
+class ustring;
+} // namespace Glib
+
+namespace Gtk {
+class Builder;
+class Button;
+class CheckButton;
+class ComboBox;
+class TreeView;
+class TreeViewColumn;
+} // namespace Gtk
+
namespace ingen {
+class Atom;
+
namespace client {
class GraphModel;
class PluginModel;
diff --git a/src/gui/MessagesWindow.cpp b/src/gui/MessagesWindow.cpp
index 0f0dcce5..2e0fdb61 100644
--- a/src/gui/MessagesWindow.cpp
+++ b/src/gui/MessagesWindow.cpp
@@ -17,8 +17,21 @@
#include "MessagesWindow.hpp"
#include "App.hpp"
+#include "Window.hpp"
#include "ingen/URIs.hpp"
+#include "lv2/urid/urid.h"
+
+#include <gdkmm/color.h>
+#include <glibmm/propertyproxy.h>
+#include <glibmm/signalproxy.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/button.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/textbuffer.h>
+#include <gtkmm/texttagtable.h>
+#include <gtkmm/textview.h>
+#include <sigc++/functors/mem_fun.h>
#include <cstdio>
#include <cstdlib>
diff --git a/src/gui/MessagesWindow.hpp b/src/gui/MessagesWindow.hpp
index add87455..ab82193d 100644
--- a/src/gui/MessagesWindow.hpp
+++ b/src/gui/MessagesWindow.hpp
@@ -19,11 +19,11 @@
#include "Window.hpp"
-#include "lv2/log/log.h"
+#include "lv2/urid/urid.h"
-#include <gtkmm/builder.h>
-#include <gtkmm/button.h>
-#include <gtkmm/textview.h>
+#include <glibmm/refptr.h>
+#include <gtkmm/texttag.h>
+#include <gtkmm/window.h>
#include <cstdarg>
#include <map>
@@ -31,9 +31,17 @@
#include <sstream>
#include <string>
+namespace Gtk {
+class Builder;
+class Button;
+class TextView;
+} // namespace Gtk
+
namespace ingen {
namespace gui {
+class App;
+
/** Messages Window.
*
* Loaded from XML as a derived object.
diff --git a/src/gui/NewSubgraphWindow.cpp b/src/gui/NewSubgraphWindow.cpp
index cf98519a..b6f1ccc1 100644
--- a/src/gui/NewSubgraphWindow.cpp
+++ b/src/gui/NewSubgraphWindow.cpp
@@ -17,13 +17,33 @@
#include "NewSubgraphWindow.hpp"
#include "App.hpp"
-#include "GraphView.hpp"
+#include "Window.hpp"
+#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
+#include "ingen/Resource.hpp"
+#include "ingen/URI.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/client/ClientStore.hpp"
#include "ingen/client/GraphModel.hpp"
+#include "ingen/paths.hpp"
+#include "raul/Path.hpp"
+#include "raul/Symbol.hpp"
+
+#include <glibmm/propertyproxy.h>
+#include <glibmm/refptr.h>
+#include <glibmm/signalproxy.h>
+#include <glibmm/ustring.h>
+#include <gtkmm/adjustment.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/button.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/label.h>
+#include <gtkmm/spinbutton.h>
+#include <sigc++/functors/mem_fun.h>
#include <cstdint>
+#include <map>
#include <string>
#include <utility>
diff --git a/src/gui/NewSubgraphWindow.hpp b/src/gui/NewSubgraphWindow.hpp
index ff078029..9897e6c2 100644
--- a/src/gui/NewSubgraphWindow.hpp
+++ b/src/gui/NewSubgraphWindow.hpp
@@ -19,16 +19,24 @@
#include "Window.hpp"
-#include "ingen/Node.hpp"
+#include "ingen/Properties.hpp"
-#include <gtkmm/builder.h>
-#include <gtkmm/button.h>
-#include <gtkmm/entry.h>
-#include <gtkmm/label.h>
-#include <gtkmm/spinbutton.h>
+#include <gtkmm/window.h>
#include <memory>
+namespace Glib {
+template <class T> class RefPtr;
+} // namespace Glib
+
+namespace Gtk {
+class Builder;
+class Button;
+class Entry;
+class Label;
+class SpinButton;
+} // namespace Gtk
+
namespace ingen {
namespace client { class GraphModel; }
diff --git a/src/gui/NodeMenu.cpp b/src/gui/NodeMenu.cpp
index dcf7c9ef..d0cb2e65 100644
--- a/src/gui/NodeMenu.cpp
+++ b/src/gui/NodeMenu.cpp
@@ -17,27 +17,50 @@
#include "NodeMenu.hpp"
#include "App.hpp"
-#include "WidgetFactory.hpp"
-#include "WindowFactory.hpp"
+#include "ObjectMenu.hpp"
+#include "ingen/Atom.hpp"
+#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
-#include "ingen/Log.hpp"
-#include "ingen/URIMap.hpp"
+#include "ingen/Properties.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/client/BlockModel.hpp"
+#include "ingen/client/ObjectModel.hpp"
#include "ingen/client/PluginModel.hpp"
#include "ingen/client/PortModel.hpp"
-#include "lv2/presets/presets.h"
+#include "raul/Symbol.hpp"
#include <glib.h>
+#include <glibmm/convert.h>
+#include <glibmm/miscutils.h>
+#include <glibmm/refptr.h>
+#include <glibmm/signalproxy.h>
+#include <glibmm/ustring.h>
+#include <gtkmm/box.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/checkmenuitem.h>
+#include <gtkmm/dialog.h>
#include <gtkmm/entry.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/filechooser.h>
#include <gtkmm/filechooserdialog.h>
#include <gtkmm/image.h>
+#include <gtkmm/label.h>
+#include <gtkmm/menu_elems.h>
+#include <gtkmm/menuitem.h>
+#include <gtkmm/menushell.h>
+#include <gtkmm/object.h>
+#include <gtkmm/separatormenuitem.h>
#include <gtkmm/stock.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
#include <cstdint>
+#include <map>
#include <memory>
#include <string>
#include <utility>
+#include <vector>
namespace ingen {
namespace gui {
diff --git a/src/gui/NodeMenu.hpp b/src/gui/NodeMenu.hpp
index 381dbf14..8a1e5f06 100644
--- a/src/gui/NodeMenu.hpp
+++ b/src/gui/NodeMenu.hpp
@@ -19,18 +19,35 @@
#include "ObjectMenu.hpp"
-#include "ingen/client/BlockModel.hpp"
+#include "ingen/URI.hpp"
-#include <gtkmm/builder.h>
#include <gtkmm/menu.h>
-#include <gtkmm/menushell.h>
+#include <sigc++/connection.h>
+#include <sigc++/signal.h>
#include <memory>
#include <string>
+namespace Glib {
+template <class T> class RefPtr;
+} // namespace Glib
+
+namespace Gtk {
+class Builder;
+class CheckMenuItem;
+class MenuItem;
+} // namespace Gtk
+
namespace ingen {
+
+namespace client {
+class BlockModel;
+} // namespace client
+
namespace gui {
+class App;
+
/** Menu for a Node.
*
* \ingroup GUI
diff --git a/src/gui/NodeModule.cpp b/src/gui/NodeModule.cpp
index daa8df41..fe111572 100644
--- a/src/gui/NodeModule.cpp
+++ b/src/gui/NodeModule.cpp
@@ -17,32 +17,52 @@
#include "NodeModule.hpp"
#include "App.hpp"
+#include "GraphBox.hpp"
#include "GraphCanvas.hpp"
#include "GraphWindow.hpp"
#include "NodeMenu.hpp"
#include "Port.hpp"
-#include "RenameWindow.hpp"
-#include "Style.hpp"
#include "SubgraphModule.hpp"
#include "WidgetFactory.hpp"
#include "WindowFactory.hpp"
-#include "ingen_config.h"
+#include "ganv/Port.hpp"
#include "ingen/Atom.hpp"
#include "ingen/Configuration.hpp"
+#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
#include "ingen/Log.hpp"
+#include "ingen/Properties.hpp"
+#include "ingen/Resource.hpp"
+#include "ingen/URIs.hpp"
+#include "ingen/World.hpp"
#include "ingen/client/BlockModel.hpp"
-#include "ingen/client/GraphModel.hpp"
+#include "ingen/client/GraphModel.hpp" // IWYU pragma: keep
#include "ingen/client/PluginModel.hpp"
#include "ingen/client/PluginUI.hpp"
+#include "ingen/client/PortModel.hpp"
#include "lv2/atom/util.h"
+#include "raul/Path.hpp"
+#include "raul/Symbol.hpp"
+#include <glibmm/main.h>
+#include <glibmm/signalproxy.h>
+#include <glibmm/ustring.h>
+#include <gtkmm/container.h>
#include <gtkmm/eventbox.h>
+#include <gtkmm/widget.h>
+#include <gtkmm/window.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/adaptors/retype_return.h>
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
#include <cassert>
+#include <map>
#include <memory>
#include <string>
+#include <utility>
+#include <vector>
namespace ingen {
diff --git a/src/gui/NodeModule.hpp b/src/gui/NodeModule.hpp
index b4378fac..1ca7955c 100644
--- a/src/gui/NodeModule.hpp
+++ b/src/gui/NodeModule.hpp
@@ -17,13 +17,24 @@
#ifndef INGEN_GUI_NODEMODULE_HPP
#define INGEN_GUI_NODEMODULE_HPP
-#include "Port.hpp"
-
#include "ganv/Module.hpp"
+#include "ingen/URI.hpp"
+
+#include <gdk/gdk.h>
+#include <glib.h>
+#include <cstdint>
#include <memory>
+namespace Gtk {
+class Widget;
+class Window;
+} // namespace Gtk
+
namespace ingen {
+
+class Atom;
+
namespace client {
class BlockModel;
class PluginUI;
@@ -34,9 +45,10 @@ class PortModel;
namespace ingen {
namespace gui {
+class App;
class GraphCanvas;
-class Port;
class NodeMenu;
+class Port;
/** A module in a graphn.
*
diff --git a/src/gui/ObjectMenu.cpp b/src/gui/ObjectMenu.cpp
index 935ff683..5f78144f 100644
--- a/src/gui/ObjectMenu.cpp
+++ b/src/gui/ObjectMenu.cpp
@@ -17,13 +17,25 @@
#include "ObjectMenu.hpp"
#include "App.hpp"
-#include "WidgetFactory.hpp"
#include "WindowFactory.hpp"
+#include "ingen/Atom.hpp"
#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
+#include "ingen/Properties.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/client/ObjectModel.hpp"
+#include <glibmm/refptr.h>
+#include <glibmm/signalproxy.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/checkmenuitem.h>
+#include <gtkmm/menuitem.h>
+#include <gtkmm/separatormenuitem.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
+
#include <cstdint>
#include <memory>
diff --git a/src/gui/ObjectMenu.hpp b/src/gui/ObjectMenu.hpp
index 834fec1b..214c8307 100644
--- a/src/gui/ObjectMenu.hpp
+++ b/src/gui/ObjectMenu.hpp
@@ -17,22 +17,34 @@
#ifndef INGEN_GUI_OBJECTMENU_HPP
#define INGEN_GUI_OBJECTMENU_HPP
-#include "ingen/client/ObjectModel.hpp"
+#include "ingen/URI.hpp"
-#include <gtkmm/builder.h>
-#include <gtkmm/checkmenuitem.h>
#include <gtkmm/menu.h>
-#include <gtkmm/menuitem.h>
#include <memory>
+namespace Glib {
+template <class T> class RefPtr;
+} // namespace Glib
+
+namespace Gtk {
+class Builder;
+class CheckMenuItem;
+class MenuItem;
+class SeparatorMenuItem;
+} // namespace Gtk
+
namespace ingen {
+
+class Atom;
+
+namespace client {
+class ObjectModel;
+} // namespace client
+
namespace gui {
class App;
-class ObjectControlWindow;
-class ObjectPropertiesWindow;
-class GraphCanvas;
/** Menu for a Object.
*
diff --git a/src/gui/PluginMenu.cpp b/src/gui/PluginMenu.cpp
index 849e652e..7ddfd075 100644
--- a/src/gui/PluginMenu.cpp
+++ b/src/gui/PluginMenu.cpp
@@ -15,9 +15,20 @@
*/
#include "PluginMenu.hpp"
+
#include "ingen/Log.hpp"
+#include "ingen/URIs.hpp"
+#include "ingen/World.hpp"
#include "ingen/client/PluginModel.hpp"
+#include <glibmm/ustring.h>
+#include <gtkmm/menu_elems.h>
+#include <gtkmm/menuitem.h>
+#include <gtkmm/menushell.h>
+#include <gtkmm/object.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
+
#include <memory>
#include <utility>
diff --git a/src/gui/PluginMenu.hpp b/src/gui/PluginMenu.hpp
index cfdf9f76..2cf130bb 100644
--- a/src/gui/PluginMenu.hpp
+++ b/src/gui/PluginMenu.hpp
@@ -17,10 +17,10 @@
#ifndef INGEN_GUI_PLUGINMENU_HPP
#define INGEN_GUI_PLUGINMENU_HPP
-#include "ingen/World.hpp"
#include "lilv/lilv.h"
#include <gtkmm/menu.h>
+#include <sigc++/signal.h>
#include <cstddef>
#include <map>
@@ -28,8 +28,14 @@
#include <set>
#include <string>
+namespace Gtk {
+class MenuItem;
+} // namespace Gtk
+
namespace ingen {
+class World;
+
namespace client { class PluginModel; }
namespace gui {
diff --git a/src/gui/Port.cpp b/src/gui/Port.cpp
index 062b9936..65b415e3 100644
--- a/src/gui/Port.cpp
+++ b/src/gui/Port.cpp
@@ -17,26 +17,51 @@
#include "Port.hpp"
#include "App.hpp"
+#include "GraphBox.hpp"
#include "GraphWindow.hpp"
#include "PortMenu.hpp"
#include "RDFS.hpp"
#include "Style.hpp"
#include "WidgetFactory.hpp"
#include "WindowFactory.hpp"
-#include "ingen_config.h"
#include "rgba.hpp"
-#include "ganv/Module.hpp"
+#include "ingen/Atom.hpp"
#include "ingen/Configuration.hpp"
-#include "ingen/Interface.hpp"
+#include "ingen/Forge.hpp"
#include "ingen/Log.hpp"
+#include "ingen/Properties.hpp"
+#include "ingen/URI.hpp"
#include "ingen/URIMap.hpp"
-#include "ingen/client/GraphModel.hpp"
+#include "ingen/URIs.hpp"
+#include "ingen/World.hpp"
+#include "ingen/client/BlockModel.hpp"
+#include "ingen/client/GraphModel.hpp" // IWYU pragma: keep
+#include "ingen/client/ObjectModel.hpp"
+#include "ingen/client/PluginModel.hpp"
#include "ingen/client/PortModel.hpp"
+#include "lilv/lilv.h"
+#include "raul/Path.hpp"
+#include "raul/Symbol.hpp"
+#include "sord/sordmm.hpp"
+
+#include <glibmm/signalproxy.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/menu_elems.h>
+#include <gtkmm/menuitem.h>
+#include <gtkmm/menushell.h>
+#include <gtkmm/object.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
#include <cassert>
+#include <cmath>
+#include <cstdint>
+#include <map>
#include <memory>
#include <string>
+#include <utility>
namespace ingen {
diff --git a/src/gui/Port.hpp b/src/gui/Port.hpp
index 245b0565..534734ad 100644
--- a/src/gui/Port.hpp
+++ b/src/gui/Port.hpp
@@ -19,12 +19,20 @@
#include "ganv/Port.hpp"
-#include <gtkmm/menu.h>
+#include <gdk/gdk.h>
+#include <glib.h>
-#include <cassert>
#include <memory>
#include <string>
+namespace Ganv {
+class Module;
+} // namespace Ganv
+
+namespace Gtk {
+class Menu;
+} // namespace Gtk
+
namespace ingen {
class URI;
diff --git a/src/gui/PortMenu.cpp b/src/gui/PortMenu.cpp
index c07162ff..8a6acfce 100644
--- a/src/gui/PortMenu.cpp
+++ b/src/gui/PortMenu.cpp
@@ -17,11 +17,29 @@
#include "PortMenu.hpp"
#include "App.hpp"
-#include "WindowFactory.hpp"
+#include "ObjectMenu.hpp"
+#include "ingen/Atom.hpp"
+#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
-#include "ingen/client/GraphModel.hpp"
+#include "ingen/Properties.hpp"
+#include "ingen/Resource.hpp"
+#include "ingen/URIs.hpp"
+#include "ingen/client/BlockModel.hpp"
+#include "ingen/client/GraphModel.hpp" // IWYU pragma: keep
+#include "ingen/client/ObjectModel.hpp"
#include "ingen/client/PortModel.hpp"
+#include "ingen/paths.hpp"
+#include "raul/Path.hpp"
+#include "raul/Symbol.hpp"
+
+#include <glibmm/refptr.h>
+#include <glibmm/signalproxy.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/checkmenuitem.h>
+#include <gtkmm/menuitem.h>
+#include <gtkmm/separatormenuitem.h>
+#include <sigc++/functors/mem_fun.h>
#include <memory>
#include <string>
diff --git a/src/gui/PortMenu.hpp b/src/gui/PortMenu.hpp
index 7a9c6225..75a25cde 100644
--- a/src/gui/PortMenu.hpp
+++ b/src/gui/PortMenu.hpp
@@ -19,15 +19,29 @@
#include "ObjectMenu.hpp"
-#include "ingen/client/PortModel.hpp"
-
-#include <gtkmm/builder.h>
#include <gtkmm/menu.h>
-#include <gtkmm/menushell.h>
+
+#include <memory>
+
+namespace Glib {
+template <class T> class RefPtr;
+} // namespace Glib
+
+namespace Gtk {
+class Builder;
+class MenuItem;
+} // namespace Gtk
namespace ingen {
+
+namespace client {
+class PortModel;
+} // namespace client
+
namespace gui {
+class App;
+
/** Menu for a Port.
*
* \ingroup GUI
diff --git a/src/gui/PropertiesWindow.cpp b/src/gui/PropertiesWindow.cpp
index 86118b23..afcfa827 100644
--- a/src/gui/PropertiesWindow.cpp
+++ b/src/gui/PropertiesWindow.cpp
@@ -18,16 +18,44 @@
#include "PropertiesWindow.hpp"
#include "RDFS.hpp"
#include "URIEntry.hpp"
+#include "Window.hpp"
+#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
#include "ingen/Log.hpp"
+#include "ingen/Properties.hpp"
#include "ingen/URIMap.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/World.hpp"
-#include "ingen/client/BlockModel.hpp"
-#include "ingen/client/PluginModel.hpp"
-
+#include "ingen/client/ObjectModel.hpp"
+#include "lilv/lilv.h"
+#include "lv2/urid/urid.h"
+#include "raul/Path.hpp"
+#include "sord/sordmm.hpp"
+
+#include <glibmm/containers.h>
+#include <glibmm/propertyproxy.h>
+#include <glibmm/signalproxy.h>
+#include <glibmm/ustring.h>
+#include <gtkmm/alignment.h>
+#include <gtkmm/bin.h>
+#include <gtkmm/box.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/button.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/combobox.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/enums.h>
#include <gtkmm/label.h>
+#include <gtkmm/object.h>
+#include <gtkmm/scrolledwindow.h>
#include <gtkmm/spinbutton.h>
+#include <gtkmm/table.h>
+#include <gtkmm/treeiter.h>
+#include <gtkmm/widget.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
#include <algorithm>
#include <cfloat>
diff --git a/src/gui/PropertiesWindow.hpp b/src/gui/PropertiesWindow.hpp
index 6bd14340..780c2ba1 100644
--- a/src/gui/PropertiesWindow.hpp
+++ b/src/gui/PropertiesWindow.hpp
@@ -19,22 +19,39 @@
#include "Window.hpp"
-#include "ingen/client/BlockModel.hpp"
-
-#include <gtkmm/alignment.h>
-#include <gtkmm/box.h>
-#include <gtkmm/builder.h>
-#include <gtkmm/button.h>
-#include <gtkmm/checkbutton.h>
-#include <gtkmm/combobox.h>
+#include "ingen/Atom.hpp"
+#include "ingen/URI.hpp"
+#include "lv2/urid/urid.h"
+
+#include <glibmm/refptr.h>
#include <gtkmm/liststore.h>
-#include <gtkmm/scrolledwindow.h>
-#include <gtkmm/table.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treemodelcolumn.h>
+#include <gtkmm/window.h>
+#include <sigc++/connection.h>
#include <map>
+#include <memory>
#include <set>
#include <string>
+namespace Glib {
+class ustring;
+} // namespace Glib
+
+namespace Gtk {
+class Alignment;
+class Bin;
+class Builder;
+class Button;
+class CheckButton;
+class ComboBox;
+class ScrolledWindow;
+class Table;
+class VBox;
+class Widget;
+} // namespace Gtk
+
namespace ingen {
namespace client { class ObjectModel; }
diff --git a/src/gui/RDFS.cpp b/src/gui/RDFS.cpp
index f72d5400..5a676cad 100644
--- a/src/gui/RDFS.cpp
+++ b/src/gui/RDFS.cpp
@@ -16,7 +16,8 @@
#include "ingen/Forge.hpp"
#include "ingen/Log.hpp"
-#include "ingen/Resource.hpp"
+#include "ingen/Properties.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/World.hpp"
#include "ingen/client/ObjectModel.hpp"
#include "lilv/lilv.h"
diff --git a/src/gui/RenameWindow.cpp b/src/gui/RenameWindow.cpp
index dc49e535..af213129 100644
--- a/src/gui/RenameWindow.cpp
+++ b/src/gui/RenameWindow.cpp
@@ -17,12 +17,27 @@
#include "RenameWindow.hpp"
#include "App.hpp"
+#include "Window.hpp"
+#include "ingen/Atom.hpp"
#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/client/ClientStore.hpp"
#include "ingen/client/ObjectModel.hpp"
-#include "lv2/core/lv2.h"
+#include "ingen/paths.hpp"
+#include "raul/Path.hpp"
+#include "raul/Symbol.hpp"
+
+#include <glibmm/propertyproxy.h>
+#include <glibmm/refptr.h>
+#include <glibmm/signalproxy.h>
+#include <glibmm/ustring.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/button.h>
+#include <gtkmm/entry.h>
+#include <gtkmm/label.h>
+#include <sigc++/functors/mem_fun.h>
#include <memory>
#include <string>
diff --git a/src/gui/RenameWindow.hpp b/src/gui/RenameWindow.hpp
index b2734a0c..004ca784 100644
--- a/src/gui/RenameWindow.hpp
+++ b/src/gui/RenameWindow.hpp
@@ -19,16 +19,27 @@
#include "Window.hpp"
-#include "ingen/client/ObjectModel.hpp"
-
-#include <gtkmm/builder.h>
-#include <gtkmm/button.h>
-#include <gtkmm/entry.h>
-#include <gtkmm/label.h>
+#include <gtkmm/window.h>
#include <memory>
+namespace Glib {
+template <class T> class RefPtr;
+} // namespace Glib
+
+namespace Gtk {
+class Builder;
+class Button;
+class Entry;
+class Label;
+} // namespace Gtk
+
namespace ingen {
+
+namespace client {
+class ObjectModel;
+} // namespace client
+
namespace gui {
/** Rename window. Handles renaming of any (Ingen) object.
diff --git a/src/gui/Style.cpp b/src/gui/Style.cpp
index fa6b974b..5be83688 100644
--- a/src/gui/Style.cpp
+++ b/src/gui/Style.cpp
@@ -17,18 +17,10 @@
#include "Style.hpp"
#include "App.hpp"
-#include "Port.hpp"
-#include "ganv/Port.hpp"
-#include "ingen/Log.hpp"
-#include "ingen/Parser.hpp"
-#include "ingen/client/PluginModel.hpp"
+#include "ingen/URIs.hpp"
#include "ingen/client/PortModel.hpp"
-#include <cassert>
-#include <cstdlib>
-#include <fstream>
-#include <map>
#include <string>
namespace ingen {
diff --git a/src/gui/Style.hpp b/src/gui/Style.hpp
index e5423734..bc94d64a 100644
--- a/src/gui/Style.hpp
+++ b/src/gui/Style.hpp
@@ -20,13 +20,15 @@
#include <cstdint>
#include <string>
-namespace ingen { namespace client { class PortModel; } }
-
namespace ingen {
+
+namespace client {
+class PortModel;
+} // namespace client
+
namespace gui {
class App;
-class Port;
class Style
{
diff --git a/src/gui/SubgraphModule.cpp b/src/gui/SubgraphModule.cpp
index 76e285b2..fee602b5 100644
--- a/src/gui/SubgraphModule.cpp
+++ b/src/gui/SubgraphModule.cpp
@@ -17,18 +17,19 @@
#include "SubgraphModule.hpp"
#include "App.hpp"
-#include "GraphCanvas.hpp"
-#include "GraphWindow.hpp"
#include "NodeModule.hpp"
-#include "Port.hpp"
#include "WindowFactory.hpp"
+#include "ingen/Atom.hpp"
+#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
+#include "ingen/Resource.hpp"
+#include "ingen/URIs.hpp"
+#include "ingen/client/BlockModel.hpp"
#include "ingen/client/GraphModel.hpp"
#include <cassert>
#include <memory>
-#include <utility>
namespace ingen {
@@ -36,6 +37,8 @@ using client::GraphModel;
namespace gui {
+class GraphWindow;
+
SubgraphModule::SubgraphModule(GraphCanvas& canvas,
const std::shared_ptr<const GraphModel>& graph)
: NodeModule(canvas, graph), _graph(graph)
diff --git a/src/gui/SubgraphModule.hpp b/src/gui/SubgraphModule.hpp
index 5ff57bcc..11a24e52 100644
--- a/src/gui/SubgraphModule.hpp
+++ b/src/gui/SubgraphModule.hpp
@@ -17,16 +17,16 @@
#ifndef INGEN_GUI_SUBGRAPHMODULE_HPP
#define INGEN_GUI_SUBGRAPHMODULE_HPP
-#include "GraphPortModule.hpp"
#include "NodeModule.hpp"
+#include <gdk/gdk.h>
+
#include <memory>
namespace ingen {
namespace client {
class GraphModel;
-class PortModel;
} // namespace client
namespace gui {
diff --git a/src/gui/ThreadedLoader.cpp b/src/gui/ThreadedLoader.cpp
index 1289d98c..ff12e028 100644
--- a/src/gui/ThreadedLoader.cpp
+++ b/src/gui/ThreadedLoader.cpp
@@ -19,17 +19,32 @@
#include "App.hpp"
#include "ingen/Log.hpp"
-#include "ingen/Module.hpp"
+#include "ingen/Parser.hpp"
+#include "ingen/Properties.hpp"
+#include "ingen/Serialiser.hpp"
+#include "ingen/URI.hpp"
#include "ingen/World.hpp"
#include "ingen/client/GraphModel.hpp"
+#include "raul/Path.hpp"
+#include "raul/Symbol.hpp"
+
+#include <boost/optional/optional.hpp>
+#include <glibmm/ustring.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/adaptors/retype_return.h>
+#include <sigc++/functors/mem_fun.h>
#include <cassert>
#include <memory>
#include <string>
+#include <utility>
using boost::optional;
namespace ingen {
+
+class Interface;
+
namespace gui {
ThreadedLoader::ThreadedLoader(App& app, std::shared_ptr<Interface> engine)
diff --git a/src/gui/ThreadedLoader.hpp b/src/gui/ThreadedLoader.hpp
index 9189dbd6..ebb84c40 100644
--- a/src/gui/ThreadedLoader.hpp
+++ b/src/gui/ThreadedLoader.hpp
@@ -18,22 +18,29 @@
#define INGEN_GUI_THREADEDLOADER_HPP
#include "ingen/FilePath.hpp"
-#include "ingen/Interface.hpp"
-#include "ingen/Parser.hpp"
-#include "ingen/Serialiser.hpp"
#include "raul/Semaphore.hpp"
-#include <boost/optional/optional.hpp>
-#include <sigc++/sigc++.h>
+#include <sigc++/functors/slot.h>
#include <list>
#include <memory>
#include <mutex>
#include <thread>
-#include <utility>
+
+namespace boost {
+template <class T> class optional;
+} // namespace boost
+
+namespace Raul {
+class Path;
+class Symbol;
+} // namespace Raul
namespace ingen {
+class Interface;
+class Parser;
+class Properties;
class URI;
namespace client { class GraphModel; }
diff --git a/src/gui/URIEntry.cpp b/src/gui/URIEntry.cpp
index 9de9f7ce..036e7a0b 100644
--- a/src/gui/URIEntry.cpp
+++ b/src/gui/URIEntry.cpp
@@ -19,6 +19,19 @@
#include "App.hpp"
#include "RDFS.hpp"
+#include "ingen/World.hpp"
+
+#include <gdk/gdk.h>
+#include <glibmm/helperlist.h>
+#include <gtkmm/button.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/menu_elems.h>
+#include <gtkmm/menuitem.h>
+#include <gtkmm/menushell.h>
+#include <gtkmm/object.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
+
#include <map>
#include <utility>
diff --git a/src/gui/URIEntry.hpp b/src/gui/URIEntry.hpp
index 535f0805..cc8f96a3 100644
--- a/src/gui/URIEntry.hpp
+++ b/src/gui/URIEntry.hpp
@@ -20,14 +20,20 @@
#include "ingen/URI.hpp"
#include "lilv/lilv.h"
+#include <gdk/gdk.h>
+#include <glibmm/signalproxy.h>
+#include <glibmm/ustring.h>
#include <gtkmm/box.h>
-#include <gtkmm/button.h>
#include <gtkmm/entry.h>
-#include <gtkmm/menu.h>
#include <set>
#include <string>
+namespace Gtk {
+class Button;
+class Menu;
+} // namespace Gtk
+
namespace ingen {
namespace gui {
diff --git a/src/gui/WidgetFactory.cpp b/src/gui/WidgetFactory.cpp
index 154bcd3f..2bd7b5fd 100644
--- a/src/gui/WidgetFactory.cpp
+++ b/src/gui/WidgetFactory.cpp
@@ -16,7 +16,7 @@
#include "WidgetFactory.hpp"
-#include "ingen/Log.hpp"
+#include "ingen/FilePath.hpp"
#include "ingen/runtime_paths.hpp"
#include <cstdlib>
diff --git a/src/gui/WidgetFactory.hpp b/src/gui/WidgetFactory.hpp
index 0f2d7a27..11ef71d1 100644
--- a/src/gui/WidgetFactory.hpp
+++ b/src/gui/WidgetFactory.hpp
@@ -19,12 +19,10 @@
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
-#include <gtkmm/builder.h>
+#include <gtkmm/builder.h> // IWYU pragma: keep
#include <string>
-namespace Gtk { class Builder; }
-
namespace ingen {
namespace gui {
diff --git a/src/gui/Window.hpp b/src/gui/Window.hpp
index f5b323f0..acf75942 100644
--- a/src/gui/Window.hpp
+++ b/src/gui/Window.hpp
@@ -17,6 +17,7 @@
#ifndef INGEN_GUI_WINDOW_HPP
#define INGEN_GUI_WINDOW_HPP
+#include <gdk/gdk.h>
#include <gdk/gdkkeysyms.h>
#include <gtkmm/dialog.h>
#include <gtkmm/window.h>
@@ -43,7 +44,7 @@ public:
virtual void init_window(App& app) { _app = &app; }
bool on_key_press_event(GdkEventKey* event) override {
- if (event->keyval == GDK_w && event->state & GDK_CONTROL_MASK) {
+ if (event->keyval == GDK_KEY_w && event->state & GDK_CONTROL_MASK) {
hide();
return true;
}
@@ -71,7 +72,7 @@ public:
virtual void init_dialog(App& app) { _app = &app; }
bool on_key_press_event(GdkEventKey* event) override {
- if (event->keyval == GDK_w && event->state & GDK_CONTROL_MASK) {
+ if (event->keyval == GDK_KEY_w && event->state & GDK_CONTROL_MASK) {
hide();
return true;
}
diff --git a/src/gui/WindowFactory.cpp b/src/gui/WindowFactory.cpp
index 80f61235..4e48f157 100644
--- a/src/gui/WindowFactory.cpp
+++ b/src/gui/WindowFactory.cpp
@@ -15,6 +15,7 @@
*/
#include "App.hpp"
+#include "GraphBox.hpp"
#include "GraphView.hpp"
#include "GraphWindow.hpp"
#include "LoadGraphWindow.hpp"
@@ -26,7 +27,14 @@
#include "WindowFactory.hpp"
#include "ingen/Log.hpp"
+#include "ingen/client/BlockModel.hpp"
#include "ingen/client/GraphModel.hpp"
+#include "ingen/client/ObjectModel.hpp"
+
+#include <gdkmm/window.h>
+#include <glibmm/signalproxy.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
#include <cassert>
#include <memory>
diff --git a/src/gui/WindowFactory.hpp b/src/gui/WindowFactory.hpp
index e6968bad..5230f516 100644
--- a/src/gui/WindowFactory.hpp
+++ b/src/gui/WindowFactory.hpp
@@ -17,7 +17,10 @@
#ifndef INGEN_GUI_WINDOWFACTORY_HPP
#define INGEN_GUI_WINDOWFACTORY_HPP
-#include "ingen/Node.hpp"
+#include "ingen/Properties.hpp"
+#include "raul/Path.hpp"
+
+#include <gdk/gdk.h>
#include <cstddef>
#include <map>
diff --git a/src/gui/ingen_gui.cpp b/src/gui/ingen_gui.cpp
index 5830fbba..118a9000 100644
--- a/src/gui/ingen_gui.cpp
+++ b/src/gui/ingen_gui.cpp
@@ -14,12 +14,18 @@
along with Ingen. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "App.hpp"
+
+#include "ingen/Atom.hpp"
#include "ingen/Configuration.hpp"
+#include "ingen/Interface.hpp"
#include "ingen/Module.hpp"
#include "ingen/QueuedInterface.hpp"
+#include "ingen/URI.hpp"
+#include "ingen/World.hpp"
#include "ingen/client/SigClientInterface.hpp"
-#include "App.hpp"
+#include <glibmm/thread.h>
#include <memory>
diff --git a/src/gui/ingen_gui_lv2.cpp b/src/gui/ingen_gui_lv2.cpp
index a9d62c44..8efd65bc 100644
--- a/src/gui/ingen_gui_lv2.cpp
+++ b/src/gui/ingen_gui_lv2.cpp
@@ -27,7 +27,7 @@
#include "ingen/URIs.hpp"
#include "ingen/World.hpp"
#include "ingen/client/ClientStore.hpp"
-#include "ingen/client/GraphModel.hpp"
+#include "ingen/client/GraphModel.hpp" // IWYU pragma: keep
#include "ingen/client/SigClientInterface.hpp"
#include "ingen/ingen.h"
#include "ingen/paths.hpp"
@@ -35,11 +35,9 @@
#include "lv2/atom/atom.h"
#include "lv2/atom/util.h"
#include "lv2/core/lv2.h"
-#include "lv2/core/lv2.h"
#include "lv2/log/log.h"
#include "lv2/ui/ui.h"
#include "lv2/urid/urid.h"
-#include "lv2/urid/urid.h"
#include "raul/Path.hpp"
#include <cstdint>
diff --git a/src/gui/rgba.hpp b/src/gui/rgba.hpp
index ffd63f82..bd8de2d2 100644
--- a/src/gui/rgba.hpp
+++ b/src/gui/rgba.hpp
@@ -18,6 +18,7 @@
#define INGEN_GUI_RGBA_HPP
#include <cmath>
+#include <cstdint>
namespace ingen {
namespace gui {