source: trunk/doc/html/qsplitter-h.html@ 208

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

reference documentation added

File size: 7.4 KB
Line 
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/qsplitter.h:1 -->
3<html>
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
6<title>qsplitter.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>qsplitter.h</h1>
33
34<p>This is the verbatim text of the qsplitter.h include file. It is provided only for illustration; the copyright remains with Trolltech.
35<hr>
36<pre>
37/****************************************************************************
38** $Id: qsplitter-h.html 2051 2007-02-21 10:04:20Z chehrlic $
39**
40** Definition of QSplitter class
41**
42** Created : 980105
43**
44** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
45**
46** This file is part of the widgets 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 or Qt Professional Edition
58** licenses may use this file in accordance with the Qt Commercial License
59** Agreement provided 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 QSPLITTER_H
75#define QSPLITTER_H
76
77#ifndef QT_H
78#include "qframe.h"
79#include "qvaluelist.h"
80#endif // QT_H
81
82#ifndef QT_NO_SPLITTER
83
84class QSplitterHandle;
85class QSplitterPrivate;
86class QSplitterLayoutStruct;
87class QTextStream;
88
89class Q_EXPORT QSplitter : public QFrame
90{
91 Q_OBJECT
92 Q_PROPERTY( Orientation orientation READ orientation WRITE setOrientation )
93 Q_PROPERTY( bool opaqueResize READ opaqueResize WRITE setOpaqueResize )
94 Q_PROPERTY( int handleWidth READ handleWidth WRITE setHandleWidth )
95 Q_PROPERTY( bool childrenCollapsible READ childrenCollapsible WRITE setChildrenCollapsible )
96
97public:
98 // ### Qt 4.0: remove Auto from public API
99 enum ResizeMode { Stretch, KeepSize, FollowSizeHint, Auto };
100
101 QSplitter( QWidget* parent = 0, const char* name = 0 );
102 QSplitter( Orientation, QWidget* parent = 0, const char* name = 0 );
103 ~QSplitter();
104
105 virtual void setOrientation( Orientation );
106 Orientation orientation() const { return orient; }
107
108 // ### Qt 4.0: make setChildrenCollapsible() and setCollapsible() virtual
109
110 void setChildrenCollapsible( bool );
111 bool childrenCollapsible() const;
112
113 void setCollapsible( QWidget *w, bool );
114 virtual void setResizeMode( QWidget *w, ResizeMode );
115 virtual void setOpaqueResize( bool = TRUE );
116 bool opaqueResize() const;
117
118 void moveToFirst( QWidget * );
119 void moveToLast( QWidget * );
120
121 void refresh() { recalc( TRUE ); }
122 QSize sizeHint() const;
123 QSize minimumSizeHint() const;
124
125 QValueList&lt;int&gt; sizes() const;
126 void setSizes( QValueList&lt;int&gt; );
127
128 int handleWidth() const;
129 void setHandleWidth( int );
130
131protected:
132 void childEvent( QChildEvent * );
133
134 bool event( QEvent * );
135 void resizeEvent( QResizeEvent * );
136
137 int idAfter( QWidget* ) const;
138
139 void moveSplitter( QCOORD pos, int id );
140 virtual void drawSplitter( QPainter*, QCOORD x, QCOORD y,
141 QCOORD w, QCOORD h );
142 void styleChange( QStyle&amp; );
143 int adjustPos( int, int );
144 virtual void setRubberband( int );
145 void getRange( int id, int *, int * );
146
147private:
148 enum { DefaultResizeMode = 3 };
149
150 void init();
151 void recalc( bool update = FALSE );
152 void doResize();
153 void storeSizes();
154 void getRange( int id, int *, int *, int *, int * );
155 void addContribution( int, int *, int *, bool );
156 int adjustPos( int, int, int *, int *, int *, int * );
157 bool collapsible( QSplitterLayoutStruct * );
158 void processChildEvents();
159 QSplitterLayoutStruct *findWidget( QWidget * );
160 QSplitterLayoutStruct *addWidget( QWidget *, bool prepend = FALSE );
161 void recalcId();
162 void doMove( bool backwards, int pos, int id, int delta, bool upLeft,
163 bool mayCollapse );
164 void setGeo( QWidget *w, int pos, int size, bool splitterMoved );
165 int findWidgetJustBeforeOrJustAfter( int id, int delta, int &amp;collapsibleSize );
166 void updateHandles();
167
168 inline QCOORD pick( const QPoint &amp;p ) const
169 { return orient == Horizontal ? p.x() : p.y(); }
170 inline QCOORD pick( const QSize &amp;s ) const
171 { return orient == Horizontal ? s.width() : s.height(); }
172
173 inline QCOORD trans( const QPoint &amp;p ) const
174 { return orient == Vertical ? p.x() : p.y(); }
175 inline QCOORD trans( const QSize &amp;s ) const
176 { return orient == Vertical ? s.width() : s.height(); }
177
178 QSplitterPrivate *d;
179
180 Orientation orient;
181 friend class QSplitterHandle;
182
183#ifndef QT_NO_TEXTSTREAM
184 friend Q_EXPORT QTextStream&amp; operator&lt;&lt;( QTextStream&amp;, const QSplitter&amp; );
185 friend Q_EXPORT QTextStream&amp; operator&gt;&gt;( QTextStream&amp;, QSplitter&amp; );
186#endif
187
188private:
189#if defined(Q_DISABLE_COPY)
190 QSplitter( const QSplitter &amp; );
191 QSplitter&amp; operator=( const QSplitter &amp; );
192#endif
193};
194
195#ifndef QT_NO_TEXTSTREAM
196Q_EXPORT QTextStream&amp; operator&lt;&lt;( QTextStream&amp;, const QSplitter&amp; );
197Q_EXPORT QTextStream&amp; operator&gt;&gt;( QTextStream&amp;, QSplitter&amp; );
198#endif
199
200#endif // QT_NO_SPLITTER
201
202#endif // QSPLITTER_H
203</pre>
204<!-- eof -->
205<p><address><hr><div align=center>
206<table width=100% cellspacing=0 border=0><tr>
207<td>Copyright &copy; 2007
208<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
209<td align=right><div align=right>Qt 3.3.8</div>
210</table></div></address></body>
211</html>
Note: See TracBrowser for help on using the repository browser.