src/qt3support/widgets/q3groupbox.h
changeset 0 1918ee327afb
child 4 3b1da2848fc7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/qt3support/widgets/q3groupbox.h	Mon Jan 11 14:00:40 2010 +0000
@@ -0,0 +1,159 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt3Support module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef Q3GROUPBOX_H
+#define Q3GROUPBOX_H
+
+#include <QtGui/qgroupbox.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Qt3SupportLight)
+
+class Q3GroupBoxPrivate;
+
+class Q_COMPAT_EXPORT Q3GroupBox : public QGroupBox
+{
+    Q_OBJECT
+public:
+    enum
+#if defined(Q_MOC_RUN)
+    FrameShape
+#else
+    DummyFrame
+#endif
+    {   Box = QFrame::Box, Sunken = QFrame::Sunken, Plain = QFrame::Plain,
+        Raised = QFrame::Raised, MShadow=QFrame::Shadow_Mask, NoFrame = QFrame::NoFrame,
+        Panel = QFrame::Panel, StyledPanel = QFrame::StyledPanel, HLine = QFrame::HLine,
+        VLine = QFrame::VLine,
+        WinPanel = QFrame::WinPanel,ToolBarPanel = QFrame::StyledPanel,
+        MenuBarPanel = QFrame::StyledPanel, PopupPanel = QFrame::StyledPanel,
+        LineEditPanel = QFrame::StyledPanel,TabWidgetPanel = QFrame::StyledPanel,
+        GroupBoxPanel = 0x0007,
+        MShape = QFrame::Shape_Mask};
+
+    typedef DummyFrame FrameShape;
+    Q_ENUMS(FrameShape)
+
+    Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation DESIGNABLE false)
+    Q_PROPERTY(int columns READ columns WRITE setColumns DESIGNABLE false)
+
+    Q_PROPERTY(QRect frameRect READ frameRect WRITE setFrameRect DESIGNABLE false)
+    Q_PROPERTY(FrameShape frameShape READ frameShape WRITE setFrameShape)
+    Q_PROPERTY(FrameShape frameShadow READ frameShadow WRITE setFrameShadow)
+    Q_PROPERTY(int lineWidth READ lineWidth WRITE setLineWidth)
+    Q_PROPERTY(int midLineWidth READ midLineWidth WRITE setMidLineWidth)
+    Q_PROPERTY(int margin READ margin WRITE setMargin)
+
+public:
+    explicit Q3GroupBox(QWidget* parent=0, const char* name=0);
+    explicit Q3GroupBox(const QString &title,
+	       QWidget* parent=0, const char* name=0);
+    Q3GroupBox(int strips, Qt::Orientation o,
+	       QWidget* parent=0, const char* name=0);
+    Q3GroupBox(int strips, Qt::Orientation o, const QString &title,
+	       QWidget* parent=0, const char* name=0);
+    ~Q3GroupBox();
+
+    virtual void setColumnLayout(int strips, Qt::Orientation o);
+
+    int columns() const;
+    void setColumns(int);
+
+    Qt::Orientation orientation() const;
+    void setOrientation(Qt::Orientation);
+
+    int insideMargin() const;
+    int insideSpacing() const;
+    void setInsideMargin(int m);
+    void setInsideSpacing(int s);
+
+    void addSpace(int);
+
+    void setFrameRect(QRect);
+    QRect frameRect() const;
+#ifdef qdoc
+    void setFrameShadow(FrameShape);
+    FrameShape frameShadow() const;
+    void setFrameShape(FrameShape);
+    FrameShape frameShape() const;
+#else
+    void setFrameShadow(DummyFrame);
+    DummyFrame frameShadow() const;
+    void setFrameShape(DummyFrame);
+    DummyFrame frameShape() const;
+#endif
+    void setFrameStyle(int);
+    int frameStyle() const;
+    int frameWidth() const;
+    void setLineWidth(int);
+    int lineWidth() const;
+    void setMargin(int margin) { setContentsMargins(margin, margin, margin, margin); }
+    int margin() const
+    { int margin; int dummy; getContentsMargins(&margin, &dummy, &dummy, &dummy);  return margin; }
+    void setMidLineWidth(int);
+    int midLineWidth() const;
+
+protected:
+    void childEvent(QChildEvent *);
+    void resizeEvent(QResizeEvent *);
+    void changeEvent(QEvent *);
+    bool event(QEvent *);
+
+private:
+    void skip();
+    void init();
+    void calculateFrame();
+    void insertWid(QWidget*);
+    void drawFrame(QPainter *p);
+
+    Q3GroupBoxPrivate * d;
+
+    Q_DISABLE_COPY(Q3GroupBox)
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // Q3GROUPBOX_H