diff options
author | Christian Daniel <cd@maintech.de> | 2013-09-23 21:31:54 +0200 |
---|---|---|
committer | Christian Daniel <cd@maintech.de> | 2013-09-23 21:31:54 +0200 |
commit | 9fd7152f13157f88136a386779919ce57ac59e2b (patch) | |
tree | 749ea73a56a062b2893a181d5b99fa5dc766033e /sdrbase/gui/channelwindow.cpp | |
parent | 69673c7a642ee532d43a40c9cd273c2015323d5e (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.cpp | 36 |
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); +} |