summaryrefslogtreecommitdiffstats
path: root/addon/doxywizard/pagewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'addon/doxywizard/pagewidget.cpp')
-rw-r--r--addon/doxywizard/pagewidget.cpp86
1 files changed, 86 insertions, 0 deletions
diff --git a/addon/doxywizard/pagewidget.cpp b/addon/doxywizard/pagewidget.cpp
new file mode 100644
index 0000000..48ab092
--- /dev/null
+++ b/addon/doxywizard/pagewidget.cpp
@@ -0,0 +1,86 @@
+/******************************************************************************
+ *
+ *
+ *
+ * Copyright (C) 2000 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ */
+
+#include <stdio.h>
+
+#include <qtabwidget.h>
+#include <qlayout.h>
+#include "pagewidget.h"
+
+FrameLayout::FrameLayout(QWidget *parent,const char *name,WFlags f)
+ : QFrame(parent,name,f)
+{
+ lay = new QVBoxLayout(this,5,3,name);
+}
+
+FrameLayout::~FrameLayout()
+{
+}
+
+void FrameLayout::addStretch(int stretch)
+{
+ lay->addStretch(stretch);
+}
+
+void FrameLayout::addWidget(QWidget *w)
+{
+ lay->addWidget(w);
+}
+
+PageWidget::PageWidget( QTabWidget *parent, const char *name )
+ : QScrollView ( parent,name )
+{
+ // the Qt docs say that one has to insert the viewport() as a parent
+ // here but this does not work! Insert 0 does give the proper result!
+ lay = new FrameLayout(this);
+ addChild(lay);
+ setVScrollBarMode(QScrollView::Auto);
+ setHScrollBarMode(QScrollView::AlwaysOff);
+ m_parent=parent;
+ m_parent->addTab( this, name );
+}
+
+void PageWidget::addStretch(int stretch=0)
+{
+ lay->addStretch(stretch);
+ //printf("Viewport SizeHint %d,%d\n",viewport()->sizeHint().width(),viewport()->sizeHint().height());
+}
+
+void PageWidget::addWidget(QWidget *w)
+{
+ //printf("Adding widget height=%d\n",w->sizeHint().height());
+ lay->addWidget(w);
+}
+
+QWidget *PageWidget::getLayout() const
+{
+ return lay;
+}
+
+void PageWidget::resizeEvent(QResizeEvent *e)
+{
+ QScrollView::resizeEvent(e);
+ //printf("PageWidget::resizeEvent!\n");
+ lay->resize(viewport()->width(),QMAX(lay->height(),viewport()->height()));
+}
+
+void PageWidget::paintEvent(QPaintEvent *e)
+{
+ QScrollView::paintEvent(e);
+ //printf("PageWidget::paintEvent()\n");
+ lay->resize(viewport()->width(),QMAX(lay->height(),viewport()->height()));
+}
+
+
+