summaryrefslogtreecommitdiffstats
path: root/sdrbase/gui/channelwindow.cpp
diff options
context:
space:
mode:
authorChristian Daniel <cd@maintech.de>2013-09-23 21:31:54 +0200
committerChristian Daniel <cd@maintech.de>2013-09-23 21:31:54 +0200
commit9fd7152f13157f88136a386779919ce57ac59e2b (patch)
tree749ea73a56a062b2893a181d5b99fa5dc766033e /sdrbase/gui/channelwindow.cpp
parent69673c7a642ee532d43a40c9cd273c2015323d5e (diff)
major rewrite and changes... far too many to put into individual commits
Diffstat (limited to 'sdrbase/gui/channelwindow.cpp')
-rw-r--r--sdrbase/gui/channelwindow.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/sdrbase/gui/channelwindow.cpp b/sdrbase/gui/channelwindow.cpp
new file mode 100644
index 0000000..2849bf7
--- /dev/null
+++ b/sdrbase/gui/channelwindow.cpp
@@ -0,0 +1,36 @@
+#include <QBoxLayout>
+#include <QSpacerItem>
+#include <QPainter>
+#include <QResizeEvent>
+#include "gui/channelwindow.h"
+#include "gui/rollupwidget.h"
+
+ChannelWindow::ChannelWindow(QWidget* parent) :
+ QScrollArea(parent)
+{
+ m_container = new QWidget(this);
+ m_layout = new QBoxLayout(QBoxLayout::TopToBottom, m_container);
+ setWidget(m_container);
+ setWidgetResizable(true);
+ setBackgroundRole(QPalette::Base);
+ m_layout->setMargin(3);
+ m_layout->setSpacing(3);
+}
+
+void ChannelWindow::addRollupWidget(QWidget* rollupWidget)
+{
+ rollupWidget->setParent(m_container);
+ m_container->layout()->addWidget(rollupWidget);
+}
+
+void ChannelWindow::resizeEvent(QResizeEvent* event)
+{
+ if(event->size().height() > event->size().width()) {
+ m_layout->setDirection(QBoxLayout::TopToBottom);
+ m_layout->setAlignment(Qt::AlignTop);
+ } else {
+ m_layout->setDirection(QBoxLayout::LeftToRight);
+ m_layout->setAlignment(Qt::AlignLeft);
+ }
+ QScrollArea::resizeEvent(event);
+}