summaryrefslogtreecommitdiff
path: root/plugingui
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2017-04-23 10:00:42 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2017-04-23 10:00:42 +0200
commit28934c6bc1a55b993f54b5ff7e3c809767f694d2 (patch)
tree27ffe36abc76d1ee1ee5bbad4fd257d1cf7a9265 /plugingui
parentb2daadf6fe64715705617e6a9b11163359b7d927 (diff)
Fix dist target.
Diffstat (limited to 'plugingui')
-rw-r--r--plugingui/Makefile.am18
-rw-r--r--plugingui/tests/Makefile.am38
-rw-r--r--plugingui/tests/filebrowsertest.cc146
-rw-r--r--plugingui/tests/framewidgettest.cc191
-rw-r--r--plugingui/tests/resizetest.cc146
-rw-r--r--plugingui/tests/tabwidgettest.cc167
6 files changed, 16 insertions, 690 deletions
diff --git a/plugingui/Makefile.am b/plugingui/Makefile.am
index f6bd705..a7ee485 100644
--- a/plugingui/Makefile.am
+++ b/plugingui/Makefile.am
@@ -133,19 +133,26 @@ plugingui_SOURCES = \
rcgen_SOURCES = rcgen.cc
EXTRA_DIST = \
+ $(nodist_libdggui_la_SOURCES) \
+ $(RES) \
+ abouttab.h \
button.h \
button_base.h \
canvas.h \
checkbox.h \
colour.h \
combobox.h \
- drawable.h \
dialog.h \
directory.h \
+ diskstreamingframecontent.h \
+ drawable.h \
+ drumkitframecontent.h \
eventhandler.h \
filebrowser.h \
font.h \
+ frame.h \
guievent.h \
+ humanizerframecontent.h \
image.h \
imagecache.h \
knob.h \
@@ -156,24 +163,31 @@ EXTRA_DIST = \
listbox.h \
listboxbasic.h \
listboxthin.h \
+ maintab.h \
+ mainwindow.h \
nativewindow.h \
- nativewindow.h \
+ nativewindow_cocoa.h \
+ nativewindow_pugl.h \
nativewindow_win32.h \
nativewindow_x11.h \
painter.h \
pixelbuffer.h \
pluginconfig.h \
+ powerbutton.h \
progressbar.h \
resource.h \
resource_data.h \
scrollbar.h \
slider.h \
stackedwidget.h \
+ statusframecontent.h \
tabbutton.h \
tabwidget.h \
textedit.h \
texture.h \
texturedbox.h \
+ toggle.h \
+ utf8.h \
verticalline.h \
widget.h \
window.h \
diff --git a/plugingui/tests/Makefile.am b/plugingui/tests/Makefile.am
deleted file mode 100644
index 63d8c61..0000000
--- a/plugingui/tests/Makefile.am
+++ /dev/null
@@ -1,38 +0,0 @@
-noinst_PROGRAMS = resizetest tabwidgettest framewidgettest \
- filebrowsertest
-
-resizetest_LDADD = $(top_srcdir)/plugingui/libdggui.la
-resizetest_CXXFLAGS = \
- -I$(top_srcdir)/plugingui \
- -I$(top_srcdir)/src \
- -I$(top_srcdir)/hugin
-resizetest_SOURCES = \
- resizetest.cc \
- $(top_srcdir)/hugin/hugin.c
-
-tabwidgettest_LDADD = $(top_srcdir)/plugingui/libdggui.la
-tabwidgettest_CXXFLAGS = \
- -I$(top_srcdir)/plugingui \
- -I$(top_srcdir)/src \
- -I$(top_srcdir)/hugin
-tabwidgettest_SOURCES = \
- tabwidgettest.cc \
- $(top_srcdir)/hugin/hugin.c
-
-filebrowsertest_LDADD = $(top_srcdir)/plugingui/libdggui.la
-filebrowsertest_CXXFLAGS = \
- -I$(top_srcdir)/plugingui \
- -I$(top_srcdir)/src \
- -I$(top_srcdir)/hugin
-filebrowsertest_SOURCES = \
- filebrowsertest.cc \
- $(top_srcdir)/hugin/hugin.c
-
-framewidgettest_LDADD = $(top_srcdir)/plugingui/libdggui.la
-framewidgettest_CXXFLAGS = \
- -I$(top_srcdir)/plugingui \
- -I$(top_srcdir)/src \
- -I$(top_srcdir)/hugin
-framewidgettest_SOURCES = \
- framewidgettest.cc \
- $(top_srcdir)/hugin/hugin.c
diff --git a/plugingui/tests/filebrowsertest.cc b/plugingui/tests/filebrowsertest.cc
deleted file mode 100644
index c558fab..0000000
--- a/plugingui/tests/filebrowsertest.cc
+++ /dev/null
@@ -1,146 +0,0 @@
-/* -*- Mode: c++ -*- */
-/***************************************************************************
- * filebrowsertest.cc
- *
- * Sat Apr 15 22:24:06 CEST 2017
- * Copyright 2017 Bent Bisballe Nyeng
- * deva@aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * DrumGizmo 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 Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <iostream>
-
-#include <platform.h>
-
-#if DG_PLATFORM == DG_PLATFORM_WINDOWS
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#endif
-#include <unistd.h>
-
-#include <hugin.hpp>
-#include <window.h>
-#include <button.h>
-#include <label.h>
-#include <filebrowser.h>
-
-class TestWindow
- : public GUI::Window
-{
-public:
- TestWindow()
- : GUI::Window(nullptr)
- {
- setCaption("FileBrowserTest Window");
- CONNECT(eventHandler(), closeNotifier,
- this, &TestWindow::closeEventHandler);
-
- CONNECT(file_browser.eventHandler(), closeNotifier,
- this, &TestWindow::dialogCloseEventHandler);
-
- CONNECT(&file_browser, fileSelectNotifier,
- this, &TestWindow::fileSelected);
-
- CONNECT(&file_browser, fileSelectCancelNotifier,
- this, &TestWindow::fileCanceled);
-
-
- button.move(0, 0);
- button.resize(120, 30);
- button.setText("Browse...");
-
- label.move(0, 40);
- label.resize(120, 30);
- label.setText("Filename will be shown here.");
-
- CONNECT(&button, clickNotifier,
- this, &TestWindow::dialogShow);
- }
-
- void fileSelected(const std::string& filename)
- {
- label.setText(filename);
- }
-
- void fileCanceled()
- {
- label.setText("[Canceled]");
- }
-
- void closeEventHandler()
- {
- closing = true;
- }
-
- void dialogCloseEventHandler()
- {
- file_browser.hide();
- }
-
- void dialogShow()
- {
- file_browser.show();
- file_browser.resize(300, 300);
- }
-
- bool processEvents()
- {
- eventHandler()->processEvents();
- return !closing;
- }
-
- void repaintEvent(GUI::RepaintEvent* repaintEvent)
- {
- GUI::Painter painter(*this);
-
- label.resize(width(), 30);
-
- //painter.clear();
- painter.setColour(GUI::Colour(0,1,0));
- painter.drawFilledRectangle(0, 0, width(), height());
- }
-
-private:
- bool closing{false};
-
- GUI::Button button{this};
- GUI::Label label{this};
-
- GUI::FileBrowser file_browser{this};
-};
-
-int main()
-{
- INFO(example, "We are up and running");
-
- TestWindow test_window;
- test_window.show();
- test_window.resize(300,300);
-
- while(test_window.processEvents())
- {
-#if DG_PLATFORM == DG_PLATFORM_WINDOWS
- SleepEx(50, FALSE);
-#else
- usleep(50000);
-#endif
- }
-
- return 0;
-}
diff --git a/plugingui/tests/framewidgettest.cc b/plugingui/tests/framewidgettest.cc
deleted file mode 100644
index 2b94688..0000000
--- a/plugingui/tests/framewidgettest.cc
+++ /dev/null
@@ -1,191 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * framewidgettest.cc
- *
- * Sat Feb 11 23:36:04 CET 2017
- * Copyright 2017 André Nusser
- * andre.nusser@googlemail.com
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * DrumGizmo 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 Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <iostream>
-
-#include <platform.h>
-
-#if DG_PLATFORM == DG_PLATFORM_WINDOWS
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#endif
-#include <unistd.h>
-
-#include <button.h>
-#include <checkbox.h>
-#include <frame.h>
-#include <hugin.hpp>
-#include <label.h>
-#include <layout.h>
-#include <window.h>
-#include <painter.h>
-
-// TODO: fix segfault on close
-
-class Widget1 : public GUI::Widget
-{
-public:
- Widget1(GUI::Widget* parent) : GUI::Widget(parent)
- {
- layout.setResizeChildren(true);
- layout.setHAlignment(GUI::HAlignment::center);
-
- label1.setText("Label1");
- label1.setAlignment(GUI::TextAlignment::left);
- layout.addItem(&label1);
-
- label2.setText("Label2");
- label2.setAlignment(GUI::TextAlignment::center);
- layout.addItem(&label2);
-
- label3.setText("Label3");
- label3.setAlignment(GUI::TextAlignment::right);
- layout.addItem(&label3);
- }
-
-private:
- GUI::VBoxLayout layout{this};
- GUI::Label label1{this};
- GUI::Label label2{this};
- GUI::Label label3{this};
-};
-
-class Widget2 : public GUI::Widget
-{
-public:
- Widget2(GUI::Widget* parent) : GUI::Widget(parent)
- {
- layout.setSpacing(10);
- layout.setResizeChildren(true);
- layout.setVAlignment(GUI::VAlignment::top);
-
- label1.setText("Label1");
- label1.setAlignment(GUI::TextAlignment::right);
- layout.addItem(&label1);
-
- label2.setText("Label2");
- label2.setAlignment(GUI::TextAlignment::left);
- layout.addItem(&label2);
-
- layout.addItem(&checkbox);
- }
-
-private:
- GUI::HBoxLayout layout{this};
- GUI::Label label1{this};
- GUI::Label label2{this};
- GUI::CheckBox checkbox{this};
-};
-
-class TestWindow : public GUI::Window
-{
-public:
- TestWindow() : GUI::Window(nullptr)
- {
- setCaption("FrameWidgetTest Window");
- CONNECT(eventHandler(), closeNotifier, this,
- &TestWindow::closeEventHandler);
- CONNECT(this, sizeChangeNotifier, this, &TestWindow::sizeChanged);
-
- layout.setSpacing(10);
- layout.setResizeChildren(true);
- layout.setHAlignment(GUI::HAlignment::center);
-
- layout.addItem(&frame1);
- layout.addItem(&frame2);
- layout.addItem(&frame3);
- layout.addItem(&frame4);
-
- frame1.setTitle("Frame 1 Title");
- frame2.setTitle("Frame 2 Title");
- frame3.setTitle("Frame 3 Title");
- frame4.setTitle("Frame 4 Title");
-
- frame1.setContent(&w1_1);
- frame2.setContent(&w1_2);
- frame3.setContent(&w2_1);
- frame4.setContent(&w2_2);
- }
-
- void sizeChanged(std::size_t width, std::size_t height)
- {
- // TODO: Do we have to do anything here?
- }
-
- void closeEventHandler()
- {
- closing = true;
- }
-
- bool processEvents()
- {
- eventHandler()->processEvents();
- return !closing;
- }
-
- void repaintEvent(GUI::RepaintEvent* repaintEvent) override
- {
- GUI::Painter painter(*this);
- painter.setColour(GUI::Colour(0.85));
- painter.drawFilledRectangle(0, 0, width() - 1, height() - 1);
- }
-
-private:
- bool closing{false};
-
- GUI::VBoxLayout layout{this};
-
- GUI::FrameWidget frame1{this, true};
- GUI::FrameWidget frame2{this, false};
- GUI::FrameWidget frame3{this, true};
- GUI::FrameWidget frame4{this, false};
-
- Widget1 w1_1{this};
- Widget1 w1_2{this};
-
- Widget2 w2_1{this};
- Widget2 w2_2{this};
-};
-
-int main()
-{
- INFO(example, "We are up and running");
-
- TestWindow test_window;
- test_window.show();
- test_window.resize(300, 300);
-
- while(test_window.processEvents())
- {
-#ifdef WIN32
- SleepEx(50, FALSE);
-#else
- usleep(50000);
-#endif
- }
-
- return 0;
-}
diff --git a/plugingui/tests/resizetest.cc b/plugingui/tests/resizetest.cc
deleted file mode 100644
index f5ba01b..0000000
--- a/plugingui/tests/resizetest.cc
+++ /dev/null
@@ -1,146 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * resizetest.cc
- *
- * Sun Feb 5 20:05:24 CET 2017
- * Copyright 2017 Bent Bisballe Nyeng
- * deva@aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * DrumGizmo 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 Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <iostream>
-
-#include <platform.h>
-
-#if DG_PLATFORM == DG_PLATFORM_WINDOWS
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#endif
-#include <unistd.h>
-
-#include <hugin.hpp>
-#include <window.h>
-#include <font.h>
-#include <painter.h>
-
-class TestWindow
- : public GUI::Window
-{
-public:
- TestWindow()
- : GUI::Window(nullptr)
- {
- setCaption("ResizeTest Window");
- CONNECT(eventHandler(), closeNotifier,
- this, &TestWindow::closeEventHandler);
- CONNECT(this, sizeChangeNotifier, this, &TestWindow::sizeChanged);
- CONNECT(this, positionChangeNotifier, this, &TestWindow::positionChanged);
- }
-
- void sizeChanged(std::size_t width, std::size_t height)
- {
- reportedSize = std::make_pair(width, height);
- repaintEvent(nullptr);
- }
-
- void positionChanged(int x, int y)
- {
- reportedPosition = std::make_pair(x, y);
- repaintEvent(nullptr);
- }
-
- void closeEventHandler()
- {
- closing = true;
- }
-
- bool processEvents()
- {
- eventHandler()->processEvents();
- return !closing;
- }
-
- void repaintEvent(GUI::RepaintEvent* repaintEvent)
- {
- GUI::Painter painter(*this);
-
- //painter.clear();
- painter.setColour(GUI::Colour(0,1,0));
- painter.drawFilledRectangle(0, 0, width(), height());
-
- auto currentSize = std::make_pair(width(), height());
- auto currentPosition = std::make_pair(x(), y());
-
- {
- painter.setColour(GUI::Colour(1,0,0));
- char str[64];
- sprintf(str, "reported: (%d, %d); (%d, %d)",
- (int)reportedPosition.first,
- (int)reportedPosition.second,
- (int)reportedSize.first,
- (int)reportedSize.second);
- auto stringWidth = font.textWidth(str);
- auto stringHeight = font.textHeight(str);
- painter.drawText(reportedSize.first / 2 - stringWidth / 2,
- reportedSize.second / 2 + stringHeight / 2 - 7,
- font, str, false);
- }
-
- {
- painter.setColour(GUI::Colour(1,0,0));
- char str[64];
- sprintf(str, "current: (%d, %d); (%d, %d)",
- (int)currentPosition.first,
- (int)currentPosition.second,
- (int)currentSize.first,
- (int)currentSize.second);
- auto stringWidth = font.textWidth(str);
- auto stringHeight = font.textHeight(str);
- painter.drawText(currentSize.first / 2 - stringWidth / 2,
- currentSize.second / 2 + stringHeight / 2 + 7,
- font, str, false);
- }
- }
-
-private:
- bool closing{false};
- GUI::Font font{":font.png"};
- std::pair<std::size_t, std::size_t> reportedSize;
- std::pair<int, int> reportedPosition;
-};
-
-int main()
-{
- INFO(example, "We are up and running");
-
- TestWindow test_window;
- test_window.show();
- test_window.resize(300,300);
-
- while(test_window.processEvents())
- {
-#if DG_PLATFORM == DG_PLATFORM_WINDOWS
- SleepEx(50, FALSE);
-#else
- usleep(50000);
-#endif
- }
-
- return 0;
-}
diff --git a/plugingui/tests/tabwidgettest.cc b/plugingui/tests/tabwidgettest.cc
deleted file mode 100644
index 292991c..0000000
--- a/plugingui/tests/tabwidgettest.cc
+++ /dev/null
@@ -1,167 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * tabwidgettest.cc
- *
- * Thu Feb 9 19:20:06 CET 2017
- * Copyright 2017 Bent Bisballe Nyeng
- * deva@aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * DrumGizmo 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 Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include <iostream>
-
-#include <platform.h>
-
-#if DG_PLATFORM == DG_PLATFORM_WINDOWS
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#endif
-#include <unistd.h>
-
-#include <hugin.hpp>
-#include <window.h>
-#include <tabwidget.h>
-#include <label.h>
-#include <layout.h>
-#include <button.h>
-#include <painter.h>
-
-class Widget1
- : public GUI::Widget
-{
-public:
- Widget1(GUI::Widget* parent)
- : GUI::Widget(parent)
- {
- layout.setResizeChildren(true);
- layout.setHAlignment(GUI::HAlignment::center);
-
- label1.setText("Label1");
- label1.setAlignment(GUI::TextAlignment::left);
- layout.addItem(&label1);
-
- label2.setText("Label2");
- label2.setAlignment(GUI::TextAlignment::center);
- layout.addItem(&label2);
-
- label3.setText("Label3");
- label3.setAlignment(GUI::TextAlignment::right);
- layout.addItem(&label3);
- }
-
-private:
- GUI::VBoxLayout layout{this};
- GUI::Label label1{this};
- GUI::Label label2{this};
- GUI::Label label3{this};
-};
-
-class Widget2
- : public GUI::Button
-{
-public:
- Widget2(GUI::Widget* parent)
- : GUI::Button(parent)
- {
- setText("Widget2");
- }
-};
-
-class Widget3
- : public GUI::Widget
-{
-public:
- Widget3(GUI::Widget* parent)
- : GUI::Widget(parent)
- {
- label.move(100, 80);
- label.resize(100, 20);
- label.setText("Widget3");
- }
-private:
- GUI::Label label{this};
-};
-
-class TestWindow
- : public GUI::Window
-{
-public:
- TestWindow()
- : GUI::Window(nullptr)
- {
- setCaption("TabWidgetTest Window");
- CONNECT(eventHandler(), closeNotifier,
- this, &TestWindow::closeEventHandler);
- CONNECT(this, sizeChangeNotifier, this, &TestWindow::sizeChanged);
- tabs.move(0, 0);
- tabs.addTab("Tab1", &widget1);
- tabs.addTab("Tab2", &widget2);
- tabs.addTab("Tab3", &widget3);
-}
-
- void sizeChanged(std::size_t width, std::size_t height)
- {
- tabs.resize(this->width(), this->height());
- }
-
- void closeEventHandler()
- {
- closing = true;
- }
-
- bool processEvents()
- {
- eventHandler()->processEvents();
- return !closing;
- }
-
- void repaintEvent(GUI::RepaintEvent* repaintEvent) override
- {
- GUI::Painter painter(*this);
- painter.setColour(GUI::Colour(0.85));
- painter.drawFilledRectangle(0, 0, width() - 1, height() - 1);
- }
-
-private:
- bool closing{false};
- GUI::TabWidget tabs{this};
- Widget1 widget1{this};
- Widget2 widget2{this};
- Widget3 widget3{this};
-};
-
-int main()
-{
- INFO(example, "We are up and running");
-
- TestWindow test_window;
- test_window.show();
- test_window.resize(300,300);
-
- while(test_window.processEvents())
- {
-#if DG_PLATFORM == DG_PLATFORM_WINDOWS
- SleepEx(50, FALSE);
-#else
- usleep(50000);
-#endif
- }
-
- return 0;
-}