source: trunk/doc/html/qdockarea-h.html

Last change on this file was 190, checked in by rudi, 14 years ago

reference documentation added

File size: 7.8 KB
RevLine 
[190]1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qdockarea.h:1 -->
3<html>
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
6<title>qdockarea.h Include File</title>
7<style type="text/css"><!--
8fn { margin-left: 1cm; text-indent: -1cm; }
9a:link { color: #004faf; text-decoration: none }
10a:visited { color: #672967; text-decoration: none }
11body { background: #ffffff; color: black; }
12--></style>
13</head>
14<body>
15
16<table border="0" cellpadding="0" cellspacing="0" width="100%">
17<tr bgcolor="#E5E5E5">
18<td valign=center>
19 <a href="index.html">
20<font color="#004faf">Home</font></a>
21 | <a href="classes.html">
22<font color="#004faf">All&nbsp;Classes</font></a>
23 | <a href="mainclasses.html">
24<font color="#004faf">Main&nbsp;Classes</font></a>
25 | <a href="annotated.html">
26<font color="#004faf">Annotated</font></a>
27 | <a href="groups.html">
28<font color="#004faf">Grouped&nbsp;Classes</font></a>
29 | <a href="functions.html">
30<font color="#004faf">Functions</font></a>
31</td>
32<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qdockarea.h</h1>
33
34<p>This is the verbatim text of the qdockarea.h include file. It is provided only for illustration; the copyright remains with Trolltech.
35<hr>
36<pre>
37/****************************************************************************
38** $Id: qdockarea-h.html 2051 2007-02-21 10:04:20Z chehrlic $
39**
40** Definition of the QDockArea class
41**
42** Created : 001010
43**
44** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
45**
46** This file is part of the workspace module of the Qt GUI Toolkit.
47**
48** This file may be distributed under the terms of the Q Public License
49** as defined by Trolltech ASA of Norway and appearing in the file
50** LICENSE.QPL included in the packaging of this file.
51**
52** This file may be distributed and/or modified under the terms of the
53** GNU General Public License version 2 as published by the Free Software
54** Foundation and appearing in the file LICENSE.GPL included in the
55** packaging of this file.
56**
57** Licensees holding valid Qt Enterprise Edition licenses may use this
58** file in accordance with the Qt Commercial License Agreement provided
59** with the Software.
60**
61** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
62** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
63**
64** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
65** information about Qt Commercial License Agreements.
66** See http://www.trolltech.com/qpl/ for QPL licensing information.
67** See http://www.trolltech.com/gpl/ for GPL licensing information.
68**
69** Contact info@trolltech.com if any conditions of this licensing are
70** not clear to you.
71**
72**********************************************************************/
73
74#ifndef QDOCKAREA_H
75#define QDOCKAREA_H
76
77#ifndef QT_H
78#include "qwidget.h"
79#include "qptrlist.h"
80#include "qdockwindow.h"
81#include "qlayout.h"
82#include "qvaluelist.h"
83#include "qguardedptr.h"
84#include "qtextstream.h"
85#endif // QT_H
86
87#ifndef QT_NO_MAINWINDOW
88
89class QSplitter;
90class QBoxLayout;
91class QDockAreaLayout;
92class QMouseEvent;
93class QDockWindowResizeHandle;
94class QDockAreaPrivate;
95
96class Q_EXPORT QDockAreaLayout : public QLayout
97{
98 Q_OBJECT
99 friend class QDockArea;
100
101public:
102 QDockAreaLayout( QWidget* parent, Qt::Orientation o, QPtrList&lt;QDockWindow&gt; *wl, int space = -1, int margin = -1, const char *name = 0 )
103 : QLayout( parent, space, margin, name ), orient( o ), dockWindows( wl ), parentWidget( parent ) { init(); }
104 ~QDockAreaLayout() {}
105
106 void addItem( QLayoutItem * ) {}
107 bool hasHeightForWidth() const;
108 int heightForWidth( int ) const;
109 int widthForHeight( int ) const;
110 QSize sizeHint() const;
111 QSize minimumSize() const;
112 QLayoutIterator iterator();
113 QSizePolicy::ExpandData expanding() const { return QSizePolicy::NoDirection; }
114 void invalidate();
115 Qt::Orientation orientation() const { return orient; }
116 QValueList&lt;QRect&gt; lineList() const { return lines; }
117 QPtrList&lt;QDockWindow&gt; lineStarts() const { return ls; }
118
119protected:
120 void setGeometry( const QRect&amp; );
121
122private:
123 void init();
124 int layoutItems( const QRect&amp;, bool testonly = FALSE );
125 Qt::Orientation orient;
126 bool dirty;
127 int cached_width, cached_height;
128 int cached_hfw, cached_wfh;
129 QPtrList&lt;QDockWindow&gt; *dockWindows;
130 QWidget *parentWidget;
131 QValueList&lt;QRect&gt; lines;
132 QPtrList&lt;QDockWindow&gt; ls;
133#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
134 QDockAreaLayout( const QDockAreaLayout &amp; );
135 QDockAreaLayout &amp;operator=( const QDockAreaLayout &amp; );
136#endif
137};
138
139class Q_EXPORT QDockArea : public QWidget
140{
141 Q_OBJECT
142 Q_ENUMS( HandlePosition )
143 Q_PROPERTY( Orientation orientation READ orientation )
144 Q_PROPERTY( int count READ count )
145 Q_PROPERTY( bool empty READ isEmpty )
146 Q_PROPERTY( HandlePosition handlePosition READ handlePosition )
147
148 friend class QDockWindow;
149 friend class QDockWindowResizeHandle;
150 friend class QDockAreaLayout;
151
152public:
153 enum HandlePosition { Normal, Reverse };
154
155 QDockArea( Orientation o, HandlePosition h = Normal, QWidget* parent=0, const char* name=0 );
156 ~QDockArea();
157
158 void moveDockWindow( QDockWindow *w, const QPoint &amp;globalPos, const QRect &amp;rect, bool swap );
159 void removeDockWindow( QDockWindow *w, bool makeFloating, bool swap, bool fixNewLines = TRUE );
160 void moveDockWindow( QDockWindow *w, int index = -1 );
161 bool hasDockWindow( QDockWindow *w, int *index = 0 );
162
163 void invalidNextOffset( QDockWindow *dw );
164
165 Orientation orientation() const { return orient; }
166 HandlePosition handlePosition() const { return hPos; }
167
168 bool eventFilter( QObject *, QEvent * );
169 bool isEmpty() const;
170 int count() const;
171 QPtrList&lt;QDockWindow&gt; dockWindowList() const;
172
173 bool isDockWindowAccepted( QDockWindow *dw );
174 void setAcceptDockWindow( QDockWindow *dw, bool accept );
175
176public slots:
177 void lineUp( bool keepNewLines );
178
179private:
180 struct DockWindowData
181 {
182 int index;
183 int offset;
184 int line;
185 QSize fixedExtent;
186 QGuardedPtr&lt;QDockArea&gt; area;
187 };
188
189 int findDockWindow( QDockWindow *w );
190 int lineOf( int index );
191 DockWindowData *dockWindowData( QDockWindow *w );
192 void dockWindow( QDockWindow *dockWindow, DockWindowData *data );
193 void updateLayout();
194 void invalidateFixedSizes();
195 int maxSpace( int hint, QDockWindow *dw );
196 void setFixedExtent( int d, QDockWindow *dw );
197 bool isLastDockWindow( QDockWindow *dw );
198
199private:
200 Orientation orient;
201 QPtrList&lt;QDockWindow&gt; *dockWindows;
202 QDockAreaLayout *layout;
203 HandlePosition hPos;
204 QPtrList&lt;QDockWindow&gt; forbiddenWidgets;
205 QDockAreaPrivate *d;
206
207private: // Disabled copy constructor and operator=
208#if defined(Q_DISABLE_COPY)
209 QDockArea( const QDockArea &amp; );
210 QDockArea&amp; operator=( const QDockArea &amp; );
211#endif
212
213};
214
215#ifndef QT_NO_TEXTSTREAM
216Q_EXPORT QTextStream &amp;operator&lt;&lt;( QTextStream &amp;, const QDockArea &amp; );
217Q_EXPORT QTextStream &amp;operator&gt;&gt;( QTextStream &amp;, QDockArea &amp; );
218#endif
219
220#define Q_DEFINED_QDOCKAREA
221#include "qwinexport.h"
222#endif
223
224#endif //QT_NO_MAINWINDOW
225</pre>
226<!-- eof -->
227<p><address><hr><div align=center>
228<table width=100% cellspacing=0 border=0><tr>
229<td>Copyright &copy; 2007
230<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
231<td align=right><div align=right>Qt 3.3.8</div>
232</table></div></address></body>
233</html>
Note: See TracBrowser for help on using the repository browser.