From 005617bd8530542d0e96922044a6d96f66ee7891 Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nwpope@utu.fi>
Date: Wed, 5 Jun 2019 21:48:06 +0300
Subject: [PATCH] Add initial control window

---
 applications/gui/CMakeLists.txt      |  1 +
 applications/gui/src/ctrl_window.cpp | 16 ++++++++++++++++
 applications/gui/src/ctrl_window.hpp | 25 +++++++++++++++++++++++++
 applications/gui/src/main.cpp        |  4 ++++
 4 files changed, 46 insertions(+)
 create mode 100644 applications/gui/src/ctrl_window.cpp
 create mode 100644 applications/gui/src/ctrl_window.hpp

diff --git a/applications/gui/CMakeLists.txt b/applications/gui/CMakeLists.txt
index 652495e9e..c4ea2272f 100644
--- a/applications/gui/CMakeLists.txt
+++ b/applications/gui/CMakeLists.txt
@@ -4,6 +4,7 @@
 
 set(GUISRC
 	src/main.cpp
+	src/ctrl_window.cpp
 )
 
 add_executable(ftl-gui ${GUISRC})
diff --git a/applications/gui/src/ctrl_window.cpp b/applications/gui/src/ctrl_window.cpp
new file mode 100644
index 000000000..3ab9285ed
--- /dev/null
+++ b/applications/gui/src/ctrl_window.cpp
@@ -0,0 +1,16 @@
+#include "ctrl_window.hpp"
+
+#include <nanogui/layout.h>
+
+using ftl::gui::ControlWindow;
+
+
+ControlWindow::ControlWindow(nanogui::Widget *parent, ftl::ctrl::Master *ctrl)
+		: nanogui::Window(parent, "Control"), ctrl_(ctrl) {
+	setLayout(new nanogui::GroupLayout());
+}
+
+ControlWindow::~ControlWindow() {
+
+}
+
diff --git a/applications/gui/src/ctrl_window.hpp b/applications/gui/src/ctrl_window.hpp
new file mode 100644
index 000000000..973ffe1aa
--- /dev/null
+++ b/applications/gui/src/ctrl_window.hpp
@@ -0,0 +1,25 @@
+#ifndef _FTL_GUI_CTRLWINDOW_HPP_
+#define _FTL_GUI_CTRLWINDOW_HPP_
+
+#include <nanogui/window.h>
+#include <ftl/master.hpp>
+
+namespace ftl {
+namespace gui {
+
+/**
+ * Manage connected nodes and add new connections.
+ */
+class ControlWindow : public nanogui::Window {
+	public:
+	ControlWindow(nanogui::Widget *parent, ftl::ctrl::Master *ctrl);
+	~ControlWindow();
+
+	private:
+	ftl::ctrl::Master *ctrl_;
+};
+
+}
+}
+
+#endif  // _FTL_GUI_CTRLWINDOW_HPP_
diff --git a/applications/gui/src/main.cpp b/applications/gui/src/main.cpp
index fba870c53..a62a091db 100644
--- a/applications/gui/src/main.cpp
+++ b/applications/gui/src/main.cpp
@@ -16,6 +16,8 @@
 #include <nanogui/combobox.h>
 #include <nanogui/label.h>
 
+#include "ctrl_window.hpp"
+
 using std::string;
 using ftl::rgbd::RGBDSource;
 
@@ -188,6 +190,8 @@ class FTLApplication : public nanogui::Screen {
 			
 		});
 
+		window = new ftl::gui::ControlWindow(this, controller);
+
 		setVisible(true);
 		performLayout();
 	}
-- 
GitLab