summaryrefslogtreecommitdiffstats
path: root/kdgantt/KDGanttSemiSizingControl.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdgantt/KDGanttSemiSizingControl.h')
-rw-r--r--kdgantt/KDGanttSemiSizingControl.h90
1 files changed, 90 insertions, 0 deletions
diff --git a/kdgantt/KDGanttSemiSizingControl.h b/kdgantt/KDGanttSemiSizingControl.h
new file mode 100644
index 00000000..6fb56e32
--- /dev/null
+++ b/kdgantt/KDGanttSemiSizingControl.h
@@ -0,0 +1,90 @@
+/* -*- Mode: C++ -*-
+ $Id$
+*/
+
+/****************************************************************************
+ ** Copyright (C) 2002-2004 Klarälvdalens Datakonsult AB. All rights reserved.
+ **
+ ** This file is part of the KDGantt library.
+ **
+ ** This file may be distributed and/or modified under the terms of the
+ ** GNU General Public License version 2 as published by the Free Software
+ ** Foundation and appearing in the file LICENSE.GPL included in the
+ ** packaging of this file.
+ **
+ ** Licensees holding valid commercial KDGantt licenses may use this file in
+ ** accordance with the KDGantt Commercial License Agreement provided with
+ ** the Software.
+ **
+ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ **
+ ** See http://www.klaralvdalens-datakonsult.se/Public/products/ for
+ ** information about KDGantt Commercial License Agreements.
+ **
+ ** Contact info@klaralvdalens-datakonsult.se if any conditions of this
+ ** licensing are not clear to you.
+ **
+ ** As a special exception, permission is given to link this program
+ ** with any edition of Qt, and distribute the resulting executable,
+ ** without including the source code for Qt in the source distribution.
+ **
+ **********************************************************************/
+
+
+#ifndef KDGANTTSEMISIZINGCONTROL_H
+#define KDGANTTSEMISIZINGCONTROL_H
+
+#include "KDGanttSizingControl.h"
+#include <qlayout.h>
+class QPushButton;
+class QBoxLayout;
+
+class KDGanttSemiSizingControl : public KDGanttSizingControl
+{
+ Q_PROPERTY( ArrowPosition arrowPosition READ arrowPosition WRITE setArrowPosition )
+ Q_ENUMS( ArrowPosition )
+ Q_OBJECT
+
+public:
+ enum ArrowPosition { Before, After };
+
+ KDGanttSemiSizingControl( QWidget* parent = 0, const char* name = 0 );
+ KDGanttSemiSizingControl( Orientation orientation, QWidget* parent = 0,
+ const char* name = 0 );
+ KDGanttSemiSizingControl( ArrowPosition arrowPosition,
+ Orientation orientation, QWidget* parent = 0,
+ const char* name = 0 );
+
+ void setMinimizedWidget( QWidget* widget );
+ void setMaximizedWidget( QWidget* widget );
+ QWidget* minimizedWidget() const;
+ QWidget* maximizedWidget() const;
+
+ void setOrientation( Qt::Orientation orientation );
+ Qt::Orientation orientation() const;
+
+ void setArrowPosition( ArrowPosition arrowPosition );
+ ArrowPosition arrowPosition() const;
+
+public slots:
+ virtual void minimize( bool minimize );
+ virtual void restore( bool restore );
+
+protected:
+ void setup();
+ void init();
+ enum Direction {Left, Right, Up, Down };
+ QPixmap pixmap( Direction );
+
+private:
+ Orientation _orient;
+ ArrowPosition _arrowPos;
+ QWidget* _minimizedWidget;
+ QWidget* _maximizedWidget;
+ QBoxLayout* _layout;
+ QPushButton* _but;
+};
+
+
+#endif