summaryrefslogtreecommitdiff
path: root/qmake/include/private
Unidiff
Diffstat (limited to 'qmake/include/private') (more/less context) (ignore whitespace changes)
-rw-r--r--qmake/include/private/qapplication_p.h5
-rw-r--r--qmake/include/private/qcom_p.h6
-rw-r--r--qmake/include/private/qcomlibrary_p.h6
-rw-r--r--qmake/include/private/qcomplextext_p.h8
-rw-r--r--qmake/include/private/qcomponentfactory_p.h6
-rw-r--r--qmake/include/private/qcriticalsection_p.h4
-rw-r--r--qmake/include/private/qdir_p.h9
-rw-r--r--qmake/include/private/qeffects_p.h2
-rw-r--r--qmake/include/private/qeventloop_p.h70
-rw-r--r--qmake/include/private/qfontcodecs_p.h4
-rw-r--r--qmake/include/private/qfontdata_p.h3
-rw-r--r--qmake/include/private/qgfxdriverinterface_p.h18
-rw-r--r--qmake/include/private/qgpluginmanager_p.h8
-rw-r--r--qmake/include/private/qimageformatinterface_p.h8
-rw-r--r--qmake/include/private/qinputcontext_p.h5
-rw-r--r--qmake/include/private/qkbddriverinterface_p.h18
-rw-r--r--qmake/include/private/qlibrary_p.h5
-rw-r--r--qmake/include/private/qlock_p.h93
-rw-r--r--qmake/include/private/qmousedriverinterface_p.h18
-rw-r--r--qmake/include/private/qmutexpool_p.h44
-rw-r--r--qmake/include/private/qpluginmanager_p.h16
-rw-r--r--qmake/include/private/qpsprinter_p.h4
-rw-r--r--qmake/include/private/qrichtext_p.h59
-rw-r--r--qmake/include/private/qsettings_p.h2
-rw-r--r--qmake/include/private/qsharedmemory_p.h11
-rw-r--r--qmake/include/private/qsqldriverinterface_p.h17
-rw-r--r--qmake/include/private/qsqlextension_p.h41
-rw-r--r--qmake/include/private/qstyleinterface_p.h18
-rw-r--r--qmake/include/private/qsvgdevice_p.h8
-rw-r--r--qmake/include/private/qtextcodecinterface_p.h2
-rw-r--r--qmake/include/private/qtitlebar_p.h2
-rw-r--r--qmake/include/private/qucom_p.h76
-rw-r--r--qmake/include/private/qucomextra_p.h18
-rw-r--r--qmake/include/private/qwidgetinterface_p.h65
-rw-r--r--qmake/include/private/qwidgetresizehandler_p.h18
35 files changed, 510 insertions, 187 deletions
diff --git a/qmake/include/private/qapplication_p.h b/qmake/include/private/qapplication_p.h
index 6fab6b3..280992e 100644
--- a/qmake/include/private/qapplication_p.h
+++ b/qmake/include/private/qapplication_p.h
@@ -1,87 +1,88 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of some Qt private functions. 4** Definition of some Qt private functions.
5** 5**
6** Created : 000228 6** Created : 000228
7** 7**
8** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the kernel module of the Qt GUI Toolkit. 10** This file is part of the kernel module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License 22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software. 23** Agreement provided with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36**********************************************************************/ 36**********************************************************************/
37 37
38#ifndef QAPPLICATION_P_H 38#ifndef QAPPLICATION_P_H
39#define QAPPLICATION_P_H 39#define QAPPLICATION_P_H
40 40
41 41
42// 42//
43// W A R N I N G 43// W A R N I N G
44// ------------- 44// -------------
45// 45//
46// This file is not part of the Qt API. It exists for the convenience 46// This file is not part of the Qt API. It exists for the convenience
47// of qapplication_*.cpp, qwidget*.cpp, qcolor_x11.cpp, qfiledialog.cpp 47// of qapplication_*.cpp, qwidget*.cpp, qcolor_x11.cpp, qfiledialog.cpp
48// and many other. This header file may change from version to version 48// and many other. This header file may change from version to version
49// without notice, or even be removed. 49// without notice, or even be removed.
50// 50//
51// We mean it. 51// We mean it.
52// 52//
53// 53//
54 54
55#ifndef QT_H 55#ifndef QT_H
56#endif // QT_H 56#endif // QT_H
57 57
58class QWidget; 58class QWidget;
59class QObject; 59class QObject;
60class QClipboard; 60class QClipboard;
61class QKeyEvent; 61class QKeyEvent;
62class QMouseEvent; 62class QMouseEvent;
63class QWheelEvent; 63class QWheelEvent;
64 64
65extern Q_EXPORT bool qt_modal_state(); 65extern Q_EXPORT bool qt_modal_state();
66extern Q_EXPORT void qt_enter_modal( QWidget* ); 66extern Q_EXPORT void qt_enter_modal( QWidget* );
67extern Q_EXPORT void qt_leave_modal( QWidget* ); 67extern Q_EXPORT void qt_leave_modal( QWidget* );
68 68
69extern bool qt_is_gui_used; 69extern bool qt_is_gui_used;
70#ifndef QT_NO_CLIPBOARD 70#ifndef QT_NO_CLIPBOARD
71extern QClipboard *qt_clipboard; 71extern QClipboard *qt_clipboard;
72#endif 72#endif
73 73
74#if defined (Q_OS_WIN32) || defined (Q_OS_CYGWIN) 74#if defined (Q_OS_WIN32) || defined (Q_OS_CYGWIN)
75extern Qt::WindowsVersion qt_winver; 75extern Qt::WindowsVersion qt_winver;
76#elif defined (Q_OS_MAC)
77extern Qt::MacintoshVersion qt_macver;
76#endif 78#endif
77 79
78#if defined (Q_WS_X11) 80#if defined (Q_WS_X11)
79extern int qt_ncols_option; 81extern int qt_ncols_option;
80#endif 82#endif
81 83
82 84
83extern void qt_dispatchEnterLeave( QWidget*, QWidget* ); 85extern void qt_dispatchEnterLeave( QWidget*, QWidget* );
84 86extern bool qt_tryModalHelper( QWidget *, QWidget ** = 0 );
85
86 87
87#endif 88#endif
diff --git a/qmake/include/private/qcom_p.h b/qmake/include/private/qcom_p.h
index 6e7e1c8..5bed8c8c 100644
--- a/qmake/include/private/qcom_p.h
+++ b/qmake/include/private/qcom_p.h
@@ -1,133 +1,133 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** ... 4** ...
5** 5**
6** Copyright (C) 2001-2002 Trolltech AS. All rights reserved. 6** Copyright (C) 2001-2002 Trolltech AS. All rights reserved.
7** 7**
8** This file is part of the tools module of the Qt GUI Toolkit. 8** This file is part of the tools module of the Qt GUI Toolkit.
9** 9**
10** This file may be distributed under the terms of the Q Public License 10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file 11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file. 12** LICENSE.QPL included in the packaging of this file.
13** 13**
14** This file may be distributed and/or modified under the terms of the 14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software 15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the 16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file. 17** packaging of this file.
18** 18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License 20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software. 21** Agreement provided with the Software.
22** 22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25** 25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements. 27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information. 28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information. 29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30** 30**
31** Contact info@trolltech.com if any conditions of this licensing are 31** Contact info@trolltech.com if any conditions of this licensing are
32** not clear to you. 32** not clear to you.
33** 33**
34**********************************************************************/ 34**********************************************************************/
35 35
36#ifndef QCOM_H 36#ifndef QCOM_P_H
37#define QCOM_H 37#define QCOM_P_H
38 38
39// 39//
40// W A R N I N G 40// W A R N I N G
41// ------------- 41// -------------
42// 42//
43// This file is not part of the Qt API. It exists for the convenience 43// This file is not part of the Qt API. It exists for the convenience
44// of a number of Qt sources files. This header file may change from 44// of a number of Qt sources files. This header file may change from
45// version to version without notice, or even be removed. 45// version to version without notice, or even be removed.
46// 46//
47// We mean it. 47// We mean it.
48// 48//
49// 49//
50 50
51#ifndef QT_H 51#ifndef QT_H
52#include "qstringlist.h" 52#include "qstringlist.h"
53#include "quuid.h" 53#include "quuid.h"
54#endif // QT_H 54#endif // QT_H
55 55
56#ifndef QT_NO_COMPONENT 56#ifndef QT_NO_COMPONENT
57 57
58class QObject; 58class QObject;
59struct QUInterfaceDescription; 59struct QUInterfaceDescription;
60struct QUObject; 60struct QUObject;
61 61
62 #define QRESULT unsigned long 62 #define QRESULT unsigned long
63 #define QS_OK (QRESULT)0x00000000 63 #define QS_OK (QRESULT)0x00000000
64 #define QS_FALSE(QRESULT)0x00000001 64 #define QS_FALSE(QRESULT)0x00000001
65 65
66#define QE_NOTIMPL (QRESULT)0x80000001 66#define QE_NOTIMPL (QRESULT)0x80000001
67#define QE_OUTOFMEMORY (QRESULT)0x80000002 67#define QE_OUTOFMEMORY (QRESULT)0x80000002
68 #define QE_INVALIDARG(QRESULT)0x80000003 68 #define QE_INVALIDARG(QRESULT)0x80000003
69 #define QE_NOINTERFACE(QRESULT)0x80000004 69 #define QE_NOINTERFACE(QRESULT)0x80000004
70 #define QE_NOCOMPONENT(QRESULT)0x80000005 70 #define QE_NOCOMPONENT(QRESULT)0x80000005
71 71
72 72
73// {1D8518CD-E8F5-4366-99E8-879FD7E482DE} 73// {1D8518CD-E8F5-4366-99E8-879FD7E482DE}
74#ifndef IID_QUnknown 74#ifndef IID_QUnknown
75#define IID_QUnknown QUuid(0x1d8518cd, 0xe8f5, 0x4366, 0x99, 0xe8, 0x87, 0x9f, 0xd7, 0xe4, 0x82, 0xde) 75#define IID_QUnknown QUuid(0x1d8518cd, 0xe8f5, 0x4366, 0x99, 0xe8, 0x87, 0x9f, 0xd7, 0xe4, 0x82, 0xde)
76#endif 76#endif
77 77
78struct Q_EXPORT QUnknownInterface 78struct Q_EXPORT QUnknownInterface
79{ 79{
80 virtual QRESULT queryInterface( const QUuid&, QUnknownInterface** ) = 0; 80 virtual QRESULT queryInterface( const QUuid&, QUnknownInterface** ) = 0;
81 virtual ulong addRef() = 0; 81 virtual ulong addRef() = 0;
82 virtual ulong release() = 0; 82 virtual ulong release() = 0;
83}; 83};
84 84
85// {FBAC965E-A441-413F-935E-CDF582573FAB} 85// {FBAC965E-A441-413F-935E-CDF582573FAB}
86#ifndef IID_QDispatch 86#ifndef IID_QDispatch
87#define IID_QDispatch QUuid( 0xfbac965e, 0xa441, 0x413f, 0x93, 0x5e, 0xcd, 0xf5, 0x82, 0x57, 0x3f, 0xab) 87#define IID_QDispatch QUuid( 0xfbac965e, 0xa441, 0x413f, 0x93, 0x5e, 0xcd, 0xf5, 0x82, 0x57, 0x3f, 0xab)
88#endif 88#endif
89 89
90// the dispatch interface that inherits the unknown interface.. It is 90// the dispatch interface that inherits the unknown interface.. It is
91// used to explore interfaces during runtime and to do dynamic calls. 91// used to explore interfaces during runtime and to do dynamic calls.
92struct Q_EXPORT QDispatchInterface : public QUnknownInterface 92struct Q_EXPORT QDispatchInterface : public QUnknownInterface
93{ 93{
94 // returns the interface description of this dispatch interface. 94 // returns the interface description of this dispatch interface.
95 virtual const QUInterfaceDescription* interfaceDescription() const = 0; 95 virtual const QUInterfaceDescription* interfaceDescription() const = 0;
96 96
97 // returns the event description of this dispatch interface. 97 // returns the event description of this dispatch interface.
98 virtual const QUInterfaceDescription* eventsDescription() const = 0; 98 virtual const QUInterfaceDescription* eventsDescription() const = 0;
99 99
100 // invokes method id with parameters V*. Returns some sort of 100 // invokes method id with parameters V*. Returns some sort of
101 // exception code. 101 // exception code.
102 virtual QRESULT invoke( int id, QUObject* o ) = 0; 102 virtual QRESULT invoke( int id, QUObject* o ) = 0;
103 103
104 // installs listener as event listener 104 // installs listener as event listener
105 virtual void installListener( QDispatchInterface* listener ) = 0; 105 virtual void installListener( QDispatchInterface* listener ) = 0;
106 106
107 // remove listener as event listener 107 // remove listener as event listener
108 virtual void removeListener( QDispatchInterface* listener ) = 0; 108 virtual void removeListener( QDispatchInterface* listener ) = 0;
109}; 109};
110 110
111template <class T> 111template <class T>
112class QInterfacePtr 112class QInterfacePtr
113{ 113{
114public: 114public:
115 QInterfacePtr():iface(0){} 115 QInterfacePtr():iface(0){}
116 116
117 QInterfacePtr( T* i) { 117 QInterfacePtr( T* i) {
118 if ( (iface = i) ) 118 if ( (iface = i) )
119 iface->addRef(); 119 iface->addRef();
120 } 120 }
121 121
122 QInterfacePtr(const QInterfacePtr<T> &p) { 122 QInterfacePtr(const QInterfacePtr<T> &p) {
123 if ( (iface = p.iface) ) 123 if ( (iface = p.iface) )
124 iface->addRef(); 124 iface->addRef();
125 } 125 }
126 126
127 ~QInterfacePtr() { 127 ~QInterfacePtr() {
128 if ( iface ) 128 if ( iface )
129 iface->release(); 129 iface->release();
130 } 130 }
131 131
132 QInterfacePtr<T> &operator=(const QInterfacePtr<T> &p) { 132 QInterfacePtr<T> &operator=(const QInterfacePtr<T> &p) {
133 if ( iface != p.iface ) { 133 if ( iface != p.iface ) {
@@ -241,97 +241,97 @@ struct Q_EXPORT QComponentRegistrationInterface : public QUnknownInterface
241{ 241{
242 virtual bool registerComponents( const QString &filepath ) const = 0; 242 virtual bool registerComponents( const QString &filepath ) const = 0;
243 virtual bool unregisterComponents() const = 0; 243 virtual bool unregisterComponents() const = 0;
244}; 244};
245 245
246// internal class that wraps an initialized ulong 246// internal class that wraps an initialized ulong
247struct Q_EXPORT QtULong 247struct Q_EXPORT QtULong
248{ 248{
249 QtULong() : ref( 0 ) { } 249 QtULong() : ref( 0 ) { }
250 operator unsigned long () const { return ref; } 250 operator unsigned long () const { return ref; }
251 unsigned long& operator++() { return ++ref; } 251 unsigned long& operator++() { return ++ref; }
252 unsigned long operator++( int ) { return ref++; } 252 unsigned long operator++( int ) { return ref++; }
253 unsigned long& operator--() { return --ref; } 253 unsigned long& operator--() { return --ref; }
254 unsigned long operator--( int ) { return ref--; } 254 unsigned long operator--( int ) { return ref--; }
255 255
256 unsigned long ref; 256 unsigned long ref;
257}; 257};
258// default implementation of ref counting. A variable "ulong ref" has to be a member 258// default implementation of ref counting. A variable "ulong ref" has to be a member
259 259
260 260
261#define Q_REFCOUNT \ 261#define Q_REFCOUNT \
262 private: \ 262 private: \
263 QtULong qtrefcount; \ 263 QtULong qtrefcount; \
264 public: \ 264 public: \
265 ulong addRef() {return qtrefcount++;} \ 265 ulong addRef() {return qtrefcount++;} \
266 ulong release() {if(!--qtrefcount){delete this;return 0;}return qtrefcount;} 266 ulong release() {if(!--qtrefcount){delete this;return 0;}return qtrefcount;}
267 267
268#ifndef Q_EXPORT_COMPONENT 268#ifndef Q_EXPORT_COMPONENT
269#if defined(QT_THREAD_SUPPORT) 269#if defined(QT_THREAD_SUPPORT)
270#define QT_THREADED_BUILD 1 270#define QT_THREADED_BUILD 1
271#define Q_UCM_FLAGS_STRING "11" 271#define Q_UCM_FLAGS_STRING "11"
272#else 272#else
273#define QT_THREADED_BUILD 0 273#define QT_THREADED_BUILD 0
274#define Q_UCM_FLAGS_STRING "01" 274#define Q_UCM_FLAGS_STRING "01"
275#endif 275#endif
276 276
277#ifndef Q_EXTERN_C 277#ifndef Q_EXTERN_C
278#ifdef __cplusplus 278#ifdef __cplusplus
279#define Q_EXTERN_C extern "C" 279#define Q_EXTERN_C extern "C"
280#else 280#else
281#define Q_EXTERN_C extern 281#define Q_EXTERN_C extern
282#endif 282#endif
283#endif 283#endif
284 284
285// this is duplicated at Q_PLUGIN_VERIFICATION_DATA in qgplugin.h 285// this is duplicated at Q_PLUGIN_VERIFICATION_DATA in qgplugin.h
286// NOTE: if you change pattern, you MUST change the pattern in 286// NOTE: if you change pattern, you MUST change the pattern in
287// qcomlibrary.cpp as well. changing the pattern will break all 287// qcomlibrary.cpp as well. changing the pattern will break all
288// backwards compatibility as well (no old plugins will be loaded). 288// backwards compatibility as well (no old plugins will be loaded).
289#ifndef Q_UCM_VERIFICATION_DATA 289#ifndef Q_UCM_VERIFICATION_DATA
290# define Q_UCM_VERIFICATION_DATA \ 290# define Q_UCM_VERIFICATION_DATA \
291 static const char *qt_ucm_verification_data = \ 291 static const char *qt_ucm_verification_data = \
292 "pattern=""QT_UCM_VERIFICATION_DATA""\n" \ 292 "pattern=""QT_UCM_VERIFICATION_DATA""\n" \
293 "version="QT_VERSION_STR"\n" \ 293 "version="QT_VERSION_STR"\n" \
294 "flags="Q_UCM_FLAGS_STRING"\n" \ 294 "flags="Q_UCM_FLAGS_STRING"\n" \
295 "buildkey="QT_BUILD_KEY"\0"; 295 "buildkey="QT_BUILD_KEY"\0";
296#endif // Q_UCM_VERIFICATION_DATA 296#endif // Q_UCM_VERIFICATION_DATA
297 297
298// This macro expands to the default implementation of ucm_instantiate. 298// This macro expands to the default implementation of ucm_instantiate.
299#ifndef Q_CREATE_INSTANCE 299#ifndef Q_CREATE_INSTANCE
300 # define Q_CREATE_INSTANCE( IMPLEMENTATION ) \ 300 # define Q_CREATE_INSTANCE( IMPLEMENTATION ) \
301 IMPLEMENTATION *i = new IMPLEMENTATION; \ 301 IMPLEMENTATION *i = new IMPLEMENTATION; \
302 QUnknownInterface* iface = 0; \ 302 QUnknownInterface* iface = 0; \
303 i->queryInterface( IID_QUnknown, &iface );\ 303 i->queryInterface( IID_QUnknown, &iface );\
304 return iface; 304 return iface;
305#endif // Q_CREATE_INSTANCE 305#endif // Q_CREATE_INSTANCE
306 306
307# ifdef Q_WS_WIN 307# ifdef Q_WS_WIN
308 #ifdef Q_CC_BOR 308 #ifdef Q_CC_BOR
309 # define Q_EXPORT_COMPONENT() \ 309 # define Q_EXPORT_COMPONENT() \
310 Q_UCM_VERIFICATION_DATA \ 310 Q_UCM_VERIFICATION_DATA \
311 Q_EXTERN_C __declspec(dllexport) \ 311 Q_EXTERN_C __declspec(dllexport) \
312 const char * __stdcall qt_ucm_query_verification_data() \ 312 const char * __stdcall qt_ucm_query_verification_data() \
313 { return qt_ucm_verification_data; } \ 313 { return qt_ucm_verification_data; } \
314 Q_EXTERN_C __declspec(dllexport) QUnknownInterface* \ 314 Q_EXTERN_C __declspec(dllexport) QUnknownInterface* \
315 __stdcall ucm_instantiate() 315 __stdcall ucm_instantiate()
316 #else 316 #else
317 # define Q_EXPORT_COMPONENT() \ 317 # define Q_EXPORT_COMPONENT() \
318 Q_UCM_VERIFICATION_DATA \ 318 Q_UCM_VERIFICATION_DATA \
319 Q_EXTERN_C __declspec(dllexport) \ 319 Q_EXTERN_C __declspec(dllexport) \
320 const char *qt_ucm_query_verification_data() \ 320 const char *qt_ucm_query_verification_data() \
321 { return qt_ucm_verification_data; } \ 321 { return qt_ucm_verification_data; } \
322 Q_EXTERN_C __declspec(dllexport) QUnknownInterface* ucm_instantiate() 322 Q_EXTERN_C __declspec(dllexport) QUnknownInterface* ucm_instantiate()
323 #endif 323 #endif
324# else 324# else
325 #define Q_EXPORT_COMPONENT() \ 325 #define Q_EXPORT_COMPONENT() \
326 Q_UCM_VERIFICATION_DATA \ 326 Q_UCM_VERIFICATION_DATA \
327 Q_EXTERN_C \ 327 Q_EXTERN_C \
328 const char *qt_ucm_query_verification_data() \ 328 const char *qt_ucm_query_verification_data() \
329 { return qt_ucm_verification_data; } \ 329 { return qt_ucm_verification_data; } \
330 Q_EXTERN_C QUnknownInterface* ucm_instantiate() 330 Q_EXTERN_C QUnknownInterface* ucm_instantiate()
331# endif 331# endif
332# define Q_EXPORT_INTERFACE() Q_EXPORT_COMPONENT() 332# define Q_EXPORT_INTERFACE() Q_EXPORT_COMPONENT()
333#endif 333#endif
334 334
335#endif //QT_NO_COMPONENT 335#endif //QT_NO_COMPONENT
336 336
337#endif //QCOM_H 337#endif //QCOM_P_H
diff --git a/qmake/include/private/qcomlibrary_p.h b/qmake/include/private/qcomlibrary_p.h
index f52f679..3f440c0 100644
--- a/qmake/include/private/qcomlibrary_p.h
+++ b/qmake/include/private/qcomlibrary_p.h
@@ -1,79 +1,79 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of QComLibrary class 4** Definition of QComLibrary class
5** 5**
6** Copyright (C) 2001-2002 Trolltech AS. All rights reserved. 6** Copyright (C) 2001-2002 Trolltech AS. All rights reserved.
7** 7**
8** This file is part of the tools module of the Qt GUI Toolkit. 8** This file is part of the tools module of the Qt GUI Toolkit.
9** 9**
10** This file may be distributed under the terms of the Q Public License 10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file 11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file. 12** LICENSE.QPL included in the packaging of this file.
13** 13**
14** This file may be distributed and/or modified under the terms of the 14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software 15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the 16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file. 17** packaging of this file.
18** 18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License 20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software. 21** Agreement provided with the Software.
22** 22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25** 25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements. 27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information. 28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information. 29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30** 30**
31** Contact info@trolltech.com if any conditions of this licensing are 31** Contact info@trolltech.com if any conditions of this licensing are
32** not clear to you. 32** not clear to you.
33** 33**
34**********************************************************************/ 34**********************************************************************/
35 35
36#ifndef QUCOMLIBRARY_H 36#ifndef QCOMLIBRARY_P_H
37#define QUCOMLIBRARY_H 37#define QCOMLIBRARY_P_H
38 38
39// 39//
40// W A R N I N G 40// W A R N I N G
41// ------------- 41// -------------
42// 42//
43// This file is not part of the Qt API. It exists for the convenience 43// This file is not part of the Qt API. It exists for the convenience
44// of a number of Qt sources files. This header file may change from 44// of a number of Qt sources files. This header file may change from
45// version to version without notice, or even be removed. 45// version to version without notice, or even be removed.
46// 46//
47// We mean it. 47// We mean it.
48// 48//
49// 49//
50 50
51#ifndef QT_H 51#ifndef QT_H
52#include "qcom_p.h" 52#include "qcom_p.h"
53#include "qlibrary.h" 53#include "qlibrary.h"
54#endif // QT_H 54#endif // QT_H
55 55
56#ifndef QT_NO_COMPONENT 56#ifndef QT_NO_COMPONENT
57 57
58class Q_EXPORT QComLibrary : public QLibrary 58class Q_EXPORT QComLibrary : public QLibrary
59{ 59{
60public: 60public:
61 QComLibrary( const QString &filename ); 61 QComLibrary( const QString &filename );
62 ~QComLibrary(); 62 ~QComLibrary();
63 63
64 bool unload(); 64 bool unload();
65 QRESULT queryInterface( const QUuid &iid, QUnknownInterface **iface ); 65 QRESULT queryInterface( const QUuid &iid, QUnknownInterface **iface );
66 uint qtVersion(); 66 uint qtVersion();
67 67
68private: 68private:
69 void createInstanceInternal(); 69 void createInstanceInternal();
70 70
71 QUnknownInterface *entry; 71 QUnknownInterface *entry;
72 QLibraryInterface *libiface; 72 QLibraryInterface *libiface;
73 uint qt_version; 73 uint qt_version;
74 74
75}; 75};
76 76
77#endif //QT_NO_COMPONENT 77#endif //QT_NO_COMPONENT
78 78
79#endif // QUCOMLIBRARY_H 79#endif
diff --git a/qmake/include/private/qcomplextext_p.h b/qmake/include/private/qcomplextext_p.h
index 2132522..c3aeeb1 100644
--- a/qmake/include/private/qcomplextext_p.h
+++ b/qmake/include/private/qcomplextext_p.h
@@ -1,123 +1,121 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Internal header file. 4** Internal header file.
5** 5**
6** Created : 6** Copyright (C) 2001-2002 Trolltech AS. All rights reserved.
7**
8** Copyright (C) 2001 Trolltech AS. All rights reserved.
9** 7**
10** This file is part of the kernel module of the Qt GUI Toolkit. 8** This file is part of the kernel module of the Qt GUI Toolkit.
11** 9**
12** This file may be distributed under the terms of the Q Public License 10** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 11** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 12** LICENSE.QPL included in the packaging of this file.
15** 13**
16** This file may be distributed and/or modified under the terms of the 14** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 15** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 16** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 17** packaging of this file.
20** 18**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License 20** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software. 21** Agreement provided with the Software.
24** 22**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 25**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 27** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 28** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 29** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 30**
33** Contact info@trolltech.com if any conditions of this licensing are 31** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 32** not clear to you.
35** 33**
36**********************************************************************/ 34**********************************************************************/
37 35
38#ifndef QCOMPLEXTEXT_H 36#ifndef QCOMPLEXTEXT_P_H
39#define QCOMPLEXTEXT_H 37#define QCOMPLEXTEXT_P_H
40 38
41// 39//
42// W A R N I N G 40// W A R N I N G
43// ------------- 41// -------------
44// 42//
45// This file is not part of the Qt API. It exists for the convenience 43// This file is not part of the Qt API. It exists for the convenience
46// of Qt Remote Control. This header file may change from version to 44// of Qt Remote Control. This header file may change from version to
47// version without notice, or even be removed. 45// version without notice, or even be removed.
48// 46//
49// We mean it. 47// We mean it.
50// 48//
51// 49//
52 50
53#ifndef QT_H 51#ifndef QT_H
54#include <qstring.h> 52#include <qstring.h>
55#include <qpointarray.h> 53#include <qpointarray.h>
56#include <qfont.h> 54#include <qfont.h>
57#include <qpainter.h> 55#include <qpainter.h>
58#include <qptrlist.h> 56#include <qptrlist.h>
59#include <qshared.h> 57#include <qshared.h>
60#endif // QT_H 58#endif // QT_H
61 59
62#ifndef QT_NO_COMPLEXTEXT 60#ifndef QT_NO_COMPLEXTEXT
63 61
64// bidi helper classes. Internal to Qt 62// bidi helper classes. Internal to Qt
65struct Q_EXPORT QBidiStatus { 63struct Q_EXPORT QBidiStatus {
66 QBidiStatus() { 64 QBidiStatus() {
67 eor = QChar::DirON; 65 eor = QChar::DirON;
68 lastStrong = QChar::DirON; 66 lastStrong = QChar::DirON;
69 last = QChar:: DirON; 67 last = QChar:: DirON;
70 } 68 }
71 QChar::Direction eor; 69 QChar::Direction eor;
72 QChar::Direction lastStrong; 70 QChar::Direction lastStrong;
73 QChar::Direction last; 71 QChar::Direction last;
74}; 72};
75 73
76struct Q_EXPORT QBidiContext : public QShared { 74struct Q_EXPORT QBidiContext : public QShared {
77 // ### ref and deref parent? 75 // ### ref and deref parent?
78 QBidiContext( uchar level, QChar::Direction embedding, QBidiContext *parent = 0, bool override = FALSE ); 76 QBidiContext( uchar level, QChar::Direction embedding, QBidiContext *parent = 0, bool override = FALSE );
79 ~QBidiContext(); 77 ~QBidiContext();
80 78
81 unsigned char level; 79 unsigned char level;
82 bool override : 1; 80 bool override : 1;
83 QChar::Direction dir : 5; 81 QChar::Direction dir : 5;
84 82
85 QBidiContext *parent; 83 QBidiContext *parent;
86}; 84};
87 85
88struct Q_EXPORT QBidiControl { 86struct Q_EXPORT QBidiControl {
89 QBidiControl() { context = 0; } 87 QBidiControl() { context = 0; }
90 QBidiControl( QBidiContext *c, QBidiStatus s) 88 QBidiControl( QBidiContext *c, QBidiStatus s)
91 { context = c; if( context ) context->ref(); status = s; } 89 { context = c; if( context ) context->ref(); status = s; }
92 ~QBidiControl() { if ( context && context->deref() ) delete context; } 90 ~QBidiControl() { if ( context && context->deref() ) delete context; }
93 void setContext( QBidiContext *c ) { if ( context == c ) return; if ( context && context->deref() ) delete context; context = c; context->ref(); } 91 void setContext( QBidiContext *c ) { if ( context == c ) return; if ( context && context->deref() ) delete context; context = c; context->ref(); }
94 QBidiContext *context; 92 QBidiContext *context;
95 QBidiStatus status; 93 QBidiStatus status;
96}; 94};
97 95
98struct Q_EXPORT QTextRun { 96struct Q_EXPORT QTextRun {
99 QTextRun(int _start, int _stop, QBidiContext *context, QChar::Direction dir); 97 QTextRun(int _start, int _stop, QBidiContext *context, QChar::Direction dir);
100 98
101 int start; 99 int start;
102 int stop; 100 int stop;
103 // explicit + implicit levels here 101 // explicit + implicit levels here
104 uchar level; 102 uchar level;
105}; 103};
106 104
107class Q_EXPORT QComplexText { 105class Q_EXPORT QComplexText {
108public: 106public:
109 static QString shapedString( const QString &str, int from = 0, int len = -1, QPainter::TextDirection dir = QPainter::Auto, const QFontMetrics *fm = 0); 107 static QString shapedString( const QString &str, int from = 0, int len = -1, QPainter::TextDirection dir = QPainter::Auto, const QFontMetrics *fm = 0);
110 static QChar shapedCharacter(const QString &str, int pos, const QFontMetrics *fm = 0); 108 static QChar shapedCharacter(const QString &str, int pos, const QFontMetrics *fm = 0);
111 109
112 // positions non spacing marks relative to the base character at position pos. 110 // positions non spacing marks relative to the base character at position pos.
113 static QPointArray positionMarks( QFontPrivate *f, const QString &str, int pos, QRect *boundingRect = 0 ); 111 static QPointArray positionMarks( QFontPrivate *f, const QString &str, int pos, QRect *boundingRect = 0 );
114 112
115 static QPtrList<QTextRun> *bidiReorderLine( QBidiControl *control, const QString &str, int start, int len, 113 static QPtrList<QTextRun> *bidiReorderLine( QBidiControl *control, const QString &str, int start, int len,
116 QChar::Direction basicDir = QChar::DirON ); 114 QChar::Direction basicDir = QChar::DirON );
117 static QString bidiReorderString( const QString &str, QChar::Direction basicDir = QChar::DirON ); 115 static QString bidiReorderString( const QString &str, QChar::Direction basicDir = QChar::DirON );
118}; 116};
119 117
120 118
121#endif //QT_NO_COMPLEXTEXT 119#endif //QT_NO_COMPLEXTEXT
122 120
123#endif 121#endif
diff --git a/qmake/include/private/qcomponentfactory_p.h b/qmake/include/private/qcomponentfactory_p.h
index 1ac973f..d5c1743 100644
--- a/qmake/include/private/qcomponentfactory_p.h
+++ b/qmake/include/private/qcomponentfactory_p.h
@@ -1,73 +1,73 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of the QComponentFactory class 4** Definition of the QComponentFactory class
5** 5**
6** Created : 990101 6** Created : 990101
7** 7**
8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the tools module of the Qt GUI Toolkit. 10** This file is part of the tools module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License 22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software. 23** Agreement provided with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36**********************************************************************/ 36**********************************************************************/
37 37
38#ifndef QCOMPONENTFACTORY_H 38#ifndef QCOMPONENTFACTORY_P_H
39#define QCOMPONENTFACTORY_H 39#define QCOMPONENTFACTORY_P_H
40 40
41#ifndef QT_H 41#ifndef QT_H
42#include "qcom_p.h" 42#include "qcom_p.h"
43#endif // QT_H 43#endif // QT_H
44 44
45// 45//
46// W A R N I N G 46// W A R N I N G
47// ------------- 47// -------------
48// 48//
49// This file is not part of the Qt API. It exists for the convenience 49// This file is not part of the Qt API. It exists for the convenience
50// of a number of Qt sources files. This header file may change from 50// of a number of Qt sources files. This header file may change from
51// version to version without notice, or even be removed. 51// version to version without notice, or even be removed.
52// 52//
53// We mean it. 53// We mean it.
54// 54//
55// 55//
56 56
57#ifndef QT_NO_COMPONENT 57#ifndef QT_NO_COMPONENT
58 58
59class Q_EXPORT QComponentFactory 59class Q_EXPORT QComponentFactory
60{ 60{
61public: 61public:
62 static QRESULT createInstance( const QString &cid, const QUuid &iid, QUnknownInterface** instance, QUnknownInterface *outer = 0 ); 62 static QRESULT createInstance( const QString &cid, const QUuid &iid, QUnknownInterface** instance, QUnknownInterface *outer = 0 );
63 static QRESULT registerServer( const QString &filename ); 63 static QRESULT registerServer( const QString &filename );
64 static QRESULT unregisterServer( const QString &filename ); 64 static QRESULT unregisterServer( const QString &filename );
65 65
66 static bool registerComponent( const QUuid &cid, const QString &filename, const QString &name = QString::null, 66 static bool registerComponent( const QUuid &cid, const QString &filename, const QString &name = QString::null,
67 int version = 0, const QString &description = QString::null ); 67 int version = 0, const QString &description = QString::null );
68 static bool unregisterComponent( const QUuid &cid ); 68 static bool unregisterComponent( const QUuid &cid );
69}; 69};
70 70
71#endif // QT_NO_COMPONENT 71#endif // QT_NO_COMPONENT
72 72
73#endif // QCOMPONENTFACTORY_H 73#endif // QCOMPONENTFACTORY_P_H
diff --git a/qmake/include/private/qcriticalsection_p.h b/qmake/include/private/qcriticalsection_p.h
index 7d9feca..8dacc62 100644
--- a/qmake/include/private/qcriticalsection_p.h
+++ b/qmake/include/private/qcriticalsection_p.h
@@ -1,80 +1,80 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of QCriticalSection class 4** Definition of QCriticalSection class
5** 5**
6** Copyright (C) 2001-2002 Trolltech AS. All rights reserved. 6** Copyright (C) 2001-2002 Trolltech AS. All rights reserved.
7** 7**
8** This file is part of the Qt GUI Toolkit. 8** This file is part of the Qt GUI Toolkit.
9** 9**
10** This file may be distributed under the terms of the Q Public License 10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file 11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file. 12** LICENSE.QPL included in the packaging of this file.
13** 13**
14** This file may be distributed and/or modified under the terms of the 14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software 15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the 16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file. 17** packaging of this file.
18** 18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License 20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software. 21** Agreement provided with the Software.
22** 22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25** 25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements. 27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information. 28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information. 29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30** 30**
31** Contact info@trolltech.com if any conditions of this licensing are 31** Contact info@trolltech.com if any conditions of this licensing are
32** not clear to you. 32** not clear to you.
33** 33**
34**********************************************************************/ 34**********************************************************************/
35 35
36#ifndef QCRITICALSECTION_H 36#ifndef QCRITICALSECTION_P_H
37#define QCRITICALSECTION_H 37#define QCRITICALSECTION_P_H
38 38
39#ifndef QT_H 39#ifndef QT_H
40#endif // QT_H 40#endif // QT_H
41 41
42// 42//
43// W A R N I N G 43// W A R N I N G
44// ------------- 44// -------------
45// 45//
46// This file is not part of the Qt API. It exists for the convenience 46// This file is not part of the Qt API. It exists for the convenience
47// of Qt Remote Control. This header file may change from version to 47// of Qt Remote Control. This header file may change from version to
48// version without notice, or even be removed. 48// version without notice, or even be removed.
49// 49//
50// We mean it. 50// We mean it.
51// 51//
52// 52//
53 53
54#if defined(QT_THREAD_SUPPORT) 54#if defined(QT_THREAD_SUPPORT)
55 55
56#if defined(Q_WS_WIN) 56#if defined(Q_WS_WIN)
57 57
58/* 58/*
59 QCriticalSection 59 QCriticalSection
60*/ 60*/
61 61
62class QCriticalSectionPrivate; 62class QCriticalSectionPrivate;
63 63
64class QCriticalSection 64class QCriticalSection
65{ 65{
66public: 66public:
67 QCriticalSection(); 67 QCriticalSection();
68 ~QCriticalSection(); 68 ~QCriticalSection();
69 void enter(); 69 void enter();
70 void leave(); 70 void leave();
71 71
72private: 72private:
73 QCriticalSectionPrivate *d; 73 QCriticalSectionPrivate *d;
74}; 74};
75 75
76#endif 76#endif
77 77
78#endif 78#endif
79 79
80#endif 80#endif
diff --git a/qmake/include/private/qdir_p.h b/qmake/include/private/qdir_p.h
index 35dba28..a6c7c91 100644
--- a/qmake/include/private/qdir_p.h
+++ b/qmake/include/private/qdir_p.h
@@ -1,78 +1,79 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of some private QDir functions. 4** Definition of some private QDir functions.
5** 5**
6** Created : 2000.11.06 6** Created : 001106
7** 7**
8** Copyright (C) 2000 Trolltech AS. All rights reserved. 8** Copyright (C) 2000 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the tools module of the Qt GUI Toolkit. 10** This file is part of the tools module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License 22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software. 23** Agreement provided with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36**********************************************************************/ 36**********************************************************************/
37 37
38#ifndef QDIR_P_H 38#ifndef QDIR_P_H
39#define QDIR_P_H 39#define QDIR_P_H
40 40
41
42// 41//
43// W A R N I N G 42// W A R N I N G
44// ------------- 43// -------------
45// 44//
46// This file is not part of the Qt API. It exists for the convenience 45// This file is not part of the Qt API. It exists for the convenience
47// of qdir.cpp and qdir_*.cpp. 46// of qdir.cpp and qdir_*.cpp.
48// This header file may change from version to version without notice, 47// This header file may change from version to version without notice,
49// or even be removed. 48// or even be removed.
50// 49//
51// We mean it. 50// We mean it.
52// 51//
53// 52//
54 53
55#ifndef QT_H 54#ifndef QT_H
55#include "qregexp.h"
56#include "qvaluelist.h"
56#endif // QT_H 57#endif // QT_H
57 58
58extern QStringList qt_makeFilterList( const QString & ); 59extern QValueList<QRegExp> qt_makeFilterList( const QString & );
59 60extern bool qt_matchFilterList( const QValueList<QRegExp> &, const QString & );
60 61
61extern int qt_cmp_si_sortSpec; 62extern int qt_cmp_si_sortSpec;
62 63
63#if defined(Q_C_CALLBACKS) 64#if defined(Q_C_CALLBACKS)
64extern "C" { 65extern "C" {
65#endif 66#endif
66 67
67#ifdef Q_OS_TEMP 68#ifdef Q_OS_TEMP
68extern int __cdecl qt_cmp_si( const void *, const void * ); 69extern int __cdecl qt_cmp_si( const void *, const void * );
69#else 70#else
70extern int qt_cmp_si( const void *, const void * ); 71extern int qt_cmp_si( const void *, const void * );
71#endif 72#endif
72 73
73#if defined(Q_C_CALLBACKS) 74#if defined(Q_C_CALLBACKS)
74} 75}
75#endif 76#endif
76 77
77 78
78#endif // QDIR_P_H 79#endif // QDIR_P_H
diff --git a/qmake/include/private/qeffects_p.h b/qmake/include/private/qeffects_p.h
index 4178b6f..3b6c212 100644
--- a/qmake/include/private/qeffects_p.h
+++ b/qmake/include/private/qeffects_p.h
@@ -1,78 +1,78 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of QEffects functions 4** Definition of QEffects functions
5** 5**
6** Created : 2000.06.21 6** Created : 000621
7** 7**
8** Copyright (C) 2000 Trolltech AS. All rights reserved. 8** Copyright (C) 2000 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the widgets module of the Qt GUI Toolkit. 10** This file is part of the widgets module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License 22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software. 23** Agreement provided with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36**********************************************************************/ 36**********************************************************************/
37 37
38#ifndef QEFFECTS_P_H 38#ifndef QEFFECTS_P_H
39#define QEFFECTS_P_H 39#define QEFFECTS_P_H
40 40
41 41
42// 42//
43// W A R N I N G 43// W A R N I N G
44// ------------- 44// -------------
45// 45//
46// This file is not part of the Qt API. It exists for the convenience 46// This file is not part of the Qt API. It exists for the convenience
47// of qeffects.cpp, qcombobox.cpp, qpopupmenu.cpp and qtooltip.cpp. 47// of qeffects.cpp, qcombobox.cpp, qpopupmenu.cpp and qtooltip.cpp.
48// This header file may change from version to version without notice, 48// This header file may change from version to version without notice,
49// or even be removed. 49// or even be removed.
50// 50//
51// We mean it. 51// We mean it.
52// 52//
53// 53//
54 54
55#ifndef QT_H 55#ifndef QT_H
56#include "qnamespace.h" 56#include "qnamespace.h"
57#endif // QT_H 57#endif // QT_H
58 58
59#ifndef QT_NO_EFFECTS 59#ifndef QT_NO_EFFECTS
60class QWidget; 60class QWidget;
61 61
62struct QEffects 62struct QEffects
63{ 63{
64 enum Direction { 64 enum Direction {
65 LeftScroll= 0x0001, 65 LeftScroll= 0x0001,
66 RightScroll= 0x0002, 66 RightScroll= 0x0002,
67 UpScroll= 0x0004, 67 UpScroll= 0x0004,
68 DownScroll= 0x0008 68 DownScroll= 0x0008
69 }; 69 };
70 70
71 typedef uint DirFlags; 71 typedef uint DirFlags;
72}; 72};
73 73
74extern void Q_EXPORT qScrollEffect( QWidget*, QEffects::DirFlags dir = QEffects::DownScroll, int time = -1 ); 74extern void Q_EXPORT qScrollEffect( QWidget*, QEffects::DirFlags dir = QEffects::DownScroll, int time = -1 );
75extern void Q_EXPORT qFadeEffect( QWidget*, int time = -1 ); 75extern void Q_EXPORT qFadeEffect( QWidget*, int time = -1 );
76#endif // QT_NO_EFFECTS 76#endif // QT_NO_EFFECTS
77 77
78#endif // QEFFECTS_P_H 78#endif // QEFFECTS_P_H
diff --git a/qmake/include/private/qeventloop_p.h b/qmake/include/private/qeventloop_p.h
index b64d0df..3a5350e 100644
--- a/qmake/include/private/qeventloop_p.h
+++ b/qmake/include/private/qeventloop_p.h
@@ -1,74 +1,138 @@
1/****************************************************************************
2** $Id$
3**
4** Definition of QEventLoop class
5**
6** Copyright (C) 1992-2003 Trolltech AS. All rights reserved.
7**
8** This file is part of the kernel module of the Qt GUI Toolkit.
9**
10** This file may be distributed and/or modified under the terms of the
11** GNU General Public License version 2 as published by the Free Software
12** Foundation and appearing in the file LICENSE.GPL included in the
13** packaging of this file.
14**
15** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
16** licenses for Qt/Embedded may use this file in accordance with the
17** Qt Embedded Commercial License Agreement provided with the Software.
18**
19** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21**
22** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
23** information about Qt Commercial License Agreements.
24** See http://www.trolltech.com/gpl/ for GPL licensing information.
25**
26** Contact info@trolltech.com if any conditions of this licensing are
27** not clear to you.
28**
29**********************************************************************/
30
1#ifndef QEVENTLOOP_P_H 31#ifndef QEVENTLOOP_P_H
2#define QEVENTLOOP_P_H 32#define QEVENTLOOP_P_H
3 33
34//
35// W A R N I N G
36// -------------
37//
38// This file is not part of the Qt API. This header file may
39// change from version to version without notice, or even be
40// removed.
41//
42// We mean it.
43//
44//
45
4#include "qplatformdefs.h" 46#include "qplatformdefs.h"
47
48// SCO OpenServer redefines raise -> kill
49#if defined(raise)
50# undef raise
51#endif
52
5#include "qwindowdefs.h" 53#include "qwindowdefs.h"
6 54
7class QSocketNotifier; 55class QSocketNotifier;
8 56
9#if defined(Q_OS_UNIX) 57#if defined(Q_OS_UNIX) || defined (Q_WS_WIN)
10#include <qptrlist.h> 58#include <qptrlist.h>
59#endif // Q_OS_UNIX || Q_WS_WIN
11 60
61#if defined(Q_OS_UNIX)
12struct QSockNot 62struct QSockNot
13{ 63{
14 QSocketNotifier *obj; 64 QSocketNotifier *obj;
15 int fd; 65 int fd;
16 fd_set *queue; 66 fd_set *queue;
17}; 67};
18 68
19class QSockNotType 69class QSockNotType
20{ 70{
21public: 71public:
22 QSockNotType(); 72 QSockNotType();
23 ~QSockNotType(); 73 ~QSockNotType();
24 74
25 QPtrList<QSockNot> *list; 75 QPtrList<QSockNot> *list;
26 fd_set select_fds; 76 fd_set select_fds;
27 fd_set enabled_fds; 77 fd_set enabled_fds;
28 fd_set pending_fds; 78 fd_set pending_fds;
29 79
30}; 80};
31#endif // Q_OS_UNIX 81#endif // Q_OS_UNIX
32 82
83#if defined(Q_WS_WIN)
84struct QSockNot {
85 QSocketNotifier *obj;
86 int fd;
87};
88#endif // Q_WS_WIN
33 89
34class QEventLoopPrivate 90class QEventLoopPrivate
35{ 91{
36public: 92public:
37 QEventLoopPrivate() 93 QEventLoopPrivate()
38 { 94 {
39 reset(); 95 reset();
40 } 96 }
41 97
42 void reset() { 98 void reset() {
43 looplevel = 0; 99 looplevel = 0;
44 quitcode = 0; 100 quitcode = 0;
45 quitnow = FALSE; 101 quitnow = FALSE;
46 exitloop = FALSE; 102 exitloop = FALSE;
103 shortcut = FALSE;
47 } 104 }
48 105
49 int looplevel; 106 int looplevel;
50 int quitcode; 107 int quitcode;
51 bool quitnow; 108 unsigned int quitnow : 1;
52 bool exitloop; 109 unsigned int exitloop : 1;
110 unsigned int shortcut : 1;
53 111
54#if defined(Q_WS_MAC) 112#if defined(Q_WS_MAC)
55 EventLoopTimerRef select_timer; 113 EventLoopTimerRef select_timer;
56#endif 114#endif
57 115
58#if defined(Q_WS_X11) 116#if defined(Q_WS_X11)
59 int xfd; 117 int xfd;
60#endif // Q_WS_X11 118#endif // Q_WS_X11
61 119
62#if defined(Q_OS_UNIX) 120#if defined(Q_OS_UNIX)
63 int thread_pipe[2]; 121 int thread_pipe[2];
64 122
65 // pending socket notifiers list 123 // pending socket notifiers list
66 QPtrList<QSockNot> sn_pending_list; 124 QPtrList<QSockNot> sn_pending_list;
67 // highest fd for all socket notifiers 125 // highest fd for all socket notifiers
68 int sn_highest; 126 int sn_highest;
69 // 3 socket notifier types - read, write and exception 127 // 3 socket notifier types - read, write and exception
70 QSockNotType sn_vec[3]; 128 QSockNotType sn_vec[3];
71#endif 129#endif
130
131#ifdef Q_WS_WIN
132 // pending socket notifiers list
133 QPtrList<QSockNot> sn_pending_list;
134#endif // Q_WS_WIN
135
72}; 136};
73 137
74#endif // QEVENTLOOP_P_H 138#endif // QEVENTLOOP_P_H
diff --git a/qmake/include/private/qfontcodecs_p.h b/qmake/include/private/qfontcodecs_p.h
index 8222f98..54b0ac1 100644
--- a/qmake/include/private/qfontcodecs_p.h
+++ b/qmake/include/private/qfontcodecs_p.h
@@ -1,151 +1,151 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Font utilities for X11 4** Font utilities for X11
5** 5**
6** Created : 20001101 6** Created : 20001101
7** 7**
8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the tools module of the Qt GUI Toolkit. 10** This file is part of the tools module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License 22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software. 23** Agreement provided with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36**********************************************************************/ 36**********************************************************************/
37 37
38#ifndef QFONTCODECS_P_H 38#ifndef QFONTCODECS_P_H
39#define QFONTCODECS_P_H 39#define QFONTCODECS_P_H
40 40
41// 41//
42// W A R N I N G 42// W A R N I N G
43// ------------- 43// -------------
44// 44//
45// This file is not part of the Qt API. It exists for the convenience 45// This file is not part of the Qt API. It exists for the convenience
46// of qfontencodings_x11.cpp and qfont_x11.cpp. This header file may 46// of qfontencodings_x11.cpp and qfont_x11.cpp. This header file may
47// change from version to version without notice, or even be removed. 47// change from version to version without notice, or even be removed.
48// 48//
49// We mean it. 49// We mean it.
50// 50//
51// 51//
52 52
53#ifndef QT_H 53#ifndef QT_H
54#include <qglobal.h> 54#include "qglobal.h"
55#include <qtextcodec.h> 55#include "qtextcodec.h"
56#endif // QT_H 56#endif // QT_H
57 57
58 58
59#ifndef QT_NO_CODECS 59#ifndef QT_NO_CODECS
60#ifndef QT_NO_BIG_CODECS 60#ifndef QT_NO_BIG_CODECS
61 61
62 62
63class QJpUnicodeConv; 63class QJpUnicodeConv;
64 64
65 65
66class QFontJis0201Codec : public QTextCodec 66class QFontJis0201Codec : public QTextCodec
67{ 67{
68public: 68public:
69 QFontJis0201Codec(); 69 QFontJis0201Codec();
70 70
71 const char *name() const; 71 const char *name() const;
72 72
73 int mibEnum() const; 73 int mibEnum() const;
74 74
75#if !defined(Q_NO_USING_KEYWORD) 75#if !defined(Q_NO_USING_KEYWORD)
76 using QTextCodec::fromUnicode; 76 using QTextCodec::fromUnicode;
77#endif 77#endif
78 QCString fromUnicode(const QString& uc, int& lenInOut ) const; 78 QCString fromUnicode(const QString& uc, int& lenInOut ) const;
79 79
80 int heuristicContentMatch(const char *, int) const; 80 int heuristicContentMatch(const char *, int) const;
81 int heuristicNameMatch(const char* hint) const; 81 int heuristicNameMatch(const char* hint) const;
82 82
83#if !defined(Q_NO_USING_KEYWORD) 83#if !defined(Q_NO_USING_KEYWORD)
84 using QTextCodec::canEncode; 84 using QTextCodec::canEncode;
85#endif 85#endif
86 bool canEncode( QChar ) const; 86 bool canEncode( QChar ) const;
87}; 87};
88 88
89 89
90class QFontJis0208Codec : public QTextCodec 90class QFontJis0208Codec : public QTextCodec
91{ 91{
92public: 92public:
93 QFontJis0208Codec(); 93 QFontJis0208Codec();
94 ~QFontJis0208Codec(); 94 ~QFontJis0208Codec();
95 95
96 // Return the official name for the encoding. 96 // Return the official name for the encoding.
97 const char* name() const ; 97 const char* name() const ;
98 98
99 // Return the MIB enum for the encoding if it is listed in the 99 // Return the MIB enum for the encoding if it is listed in the
100 // IANA character-sets encoding file. 100 // IANA character-sets encoding file.
101 int mibEnum() const ; 101 int mibEnum() const ;
102 102
103 // Converts len characters from chars to Unicode. 103 // Converts len characters from chars to Unicode.
104 QString toUnicode(const char* chars, int len) const ; 104 QString toUnicode(const char* chars, int len) const ;
105 105
106 // Converts lenInOut characters (of type QChar) from the start of 106 // Converts lenInOut characters (of type QChar) from the start of
107 // the string uc, returning a QCString result, and also returning 107 // the string uc, returning a QCString result, and also returning
108 // the length of the result in lenInOut. 108 // the length of the result in lenInOut.
109#if !defined(Q_NO_USING_KEYWORD) 109#if !defined(Q_NO_USING_KEYWORD)
110 using QTextCodec::fromUnicode; 110 using QTextCodec::fromUnicode;
111#endif 111#endif
112 QCString fromUnicode(const QString& uc, int& lenInOut ) const; 112 QCString fromUnicode(const QString& uc, int& lenInOut ) const;
113 113
114 int heuristicContentMatch(const char *, int) const; 114 int heuristicContentMatch(const char *, int) const;
115 int heuristicNameMatch(const char* hint) const; 115 int heuristicNameMatch(const char* hint) const;
116 116
117#if !defined(Q_NO_USING_KEYWORD) 117#if !defined(Q_NO_USING_KEYWORD)
118 using QTextCodec::canEncode; 118 using QTextCodec::canEncode;
119#endif 119#endif
120 bool canEncode( QChar ) const; 120 bool canEncode( QChar ) const;
121 121
122private: 122private:
123 QJpUnicodeConv *convJP; 123 QJpUnicodeConv *convJP;
124}; 124};
125 125
126 126
127 127
128 128
129class QFontKsc5601Codec : public QTextCodec 129class QFontKsc5601Codec : public QTextCodec
130{ 130{
131public: 131public:
132 QFontKsc5601Codec(); 132 QFontKsc5601Codec();
133 133
134 // Return the official name for the encoding. 134 // Return the official name for the encoding.
135 const char* name() const ; 135 const char* name() const ;
136 136
137 // Return the MIB enum for the encoding if it is listed in the 137 // Return the MIB enum for the encoding if it is listed in the
138 // IANA character-sets encoding file. 138 // IANA character-sets encoding file.
139 int mibEnum() const ; 139 int mibEnum() const ;
140 140
141 // Converts len characters from chars to Unicode. 141 // Converts len characters from chars to Unicode.
142 QString toUnicode(const char* chars, int len) const ; 142 QString toUnicode(const char* chars, int len) const ;
143 143
144 // Converts lenInOut characters (of type QChar) from the start of 144 // Converts lenInOut characters (of type QChar) from the start of
145 // the string uc, returning a QCString result, and also returning 145 // the string uc, returning a QCString result, and also returning
146 // the length of the result in lenInOut. 146 // the length of the result in lenInOut.
147#if !defined(Q_NO_USING_KEYWORD) 147#if !defined(Q_NO_USING_KEYWORD)
148 using QTextCodec::fromUnicode; 148 using QTextCodec::fromUnicode;
149#endif 149#endif
150 QCString fromUnicode(const QString& uc, int& lenInOut ) const; 150 QCString fromUnicode(const QString& uc, int& lenInOut ) const;
151 151
diff --git a/qmake/include/private/qfontdata_p.h b/qmake/include/private/qfontdata_p.h
index 917d14f..1eaf80c 100644
--- a/qmake/include/private/qfontdata_p.h
+++ b/qmake/include/private/qfontdata_p.h
@@ -69,192 +69,193 @@ class QPaintDevice;
69class QCharStruct; 69class QCharStruct;
70#endif 70#endif
71 71
72// font description 72// font description
73struct QFontDef { 73struct QFontDef {
74 QFontDef() 74 QFontDef()
75 : pixelSize(0), pointSize(0), lbearing(SHRT_MIN), rbearing(SHRT_MIN), 75 : pixelSize(0), pointSize(0), lbearing(SHRT_MIN), rbearing(SHRT_MIN),
76 styleStrategy(QFont::PreferDefault), styleHint(QFont::AnyStyle), 76 styleStrategy(QFont::PreferDefault), styleHint(QFont::AnyStyle),
77 weight(0), italic(FALSE), underline(FALSE), strikeOut(FALSE), 77 weight(0), italic(FALSE), underline(FALSE), strikeOut(FALSE),
78 fixedPitch(FALSE), hintSetByUser(FALSE), rawMode(FALSE), dirty(TRUE) 78 fixedPitch(FALSE), hintSetByUser(FALSE), rawMode(FALSE), dirty(TRUE)
79 { ; } 79 { ; }
80 80
81 QString family; 81 QString family;
82 QString addStyle; 82 QString addStyle;
83 83
84 int pixelSize; 84 int pixelSize;
85 int pointSize; 85 int pointSize;
86 short lbearing; 86 short lbearing;
87 short rbearing; 87 short rbearing;
88 88
89 ushort styleStrategy; 89 ushort styleStrategy;
90 uchar styleHint; 90 uchar styleHint;
91 uchar weight; 91 uchar weight;
92 92
93 bool italic; 93 bool italic;
94 bool underline; 94 bool underline;
95 bool strikeOut; 95 bool strikeOut;
96 bool fixedPitch; 96 bool fixedPitch;
97 bool hintSetByUser; 97 bool hintSetByUser;
98 bool rawMode; 98 bool rawMode;
99 99
100 bool dirty; 100 bool dirty;
101}; 101};
102 102
103 103
104class QTextCodec; 104class QTextCodec;
105 105
106#ifdef Q_WS_X11 106#ifdef Q_WS_X11
107 107
108// this is a shared wrapper for XFontStruct (to prevent a font being freed by 108// this is a shared wrapper for XFontStruct (to prevent a font being freed by
109// the cache while it's being used) 109// the cache while it's being used)
110class QFontStruct : public QShared 110class QFontStruct : public QShared
111{ 111{
112public: 112public:
113 QFontStruct(Qt::HANDLE h, Qt::HANDLE xfth, Qt::HANDLE xftp, 113 QFontStruct(Qt::HANDLE h, Qt::HANDLE xfth, Qt::HANDLE xftp,
114 QCString n, QTextCodec *c, int a) : 114 QCString n, QTextCodec *c, int a) :
115 QShared(), handle(h), xfthandle(xfth), xftpattern(xftp), 115 QShared(), handle(h), xfthandle(xfth), xftpattern(xftp),
116 name(n), codec(c), cache_cost(a), scale( 1. ) 116 name(n), codec(c), cache_cost(a), scale( 1. )
117 { ; } 117 { ; }
118 118
119 ~QFontStruct(); 119 ~QFontStruct();
120 120
121 Qt::HANDLE handle, xfthandle, xftpattern; 121 Qt::HANDLE handle, xfthandle, xftpattern;
122 QCString name; 122 QCString name;
123 QTextCodec *codec; 123 QTextCodec *codec;
124 int cache_cost; 124 int cache_cost;
125 float scale; // needed for printing, to correctly scale font metrics for bitmap fonts 125 float scale; // needed for printing, to correctly scale font metrics for bitmap fonts
126}; 126};
127 127
128enum { widthCacheSize = 0x500 }; 128enum { widthCacheSize = 0x500 };
129 129
130class QFontX11Data // used as a QFontPrivate member 130class QFontX11Data // used as a QFontPrivate member
131{ 131{
132public: 132public:
133 // X fontstruct handles for each character set 133 // X fontstruct handles for each character set
134 QFontStruct *fontstruct[QFont::LastPrivateScript]; 134 QFontStruct *fontstruct[QFont::LastPrivateScript];
135 135
136 uchar widthCache[widthCacheSize]; 136 uchar widthCache[widthCacheSize];
137 137
138 QFontX11Data(); 138 QFontX11Data();
139 ~QFontX11Data(); 139 ~QFontX11Data();
140}; 140};
141 141
142#endif // Q_WS_X11 142#endif // Q_WS_X11
143 143
144 144
145#ifdef Q_WS_WIN 145#ifdef Q_WS_WIN
146 146
147class QFontStruct : public QShared 147class QFontStruct : public QShared
148{ 148{
149public: 149public:
150 QFontStruct( const QString &key ); 150 QFontStruct( const QString &key );
151 ~QFontStruct() { reset(); } 151 ~QFontStruct() { reset(); }
152 bool dirty() const { return hfont == 0; } 152 bool dirty() const { return hfont == 0; }
153 HDC dc() const; 153 HDC dc() const;
154 HFONT font() const { return hfont; } 154 HFONT font() const { return hfont; }
155 const TEXTMETRICA *textMetricA() const { return &tm.a; } 155 const TEXTMETRICA *textMetricA() const { return &tm.a; }
156 const TEXTMETRICW *textMetricW() const { return &tm.w; } 156 const TEXTMETRICW *textMetricW() const { return &tm.w; }
157 QString key() const { return k; } 157 QString key() const { return k; }
158 void reset(); 158 void reset();
159 159
160 QStringk; 160 QStringk;
161 HDC hdc; 161 HDC hdc;
162 HFONThfont; 162 HFONThfont;
163 uintstockFont:1; 163 uintstockFont:1;
164 uintpaintDevice:1; 164 uintpaintDevice:1;
165 uint useTextOutA:1;
165 union { 166 union {
166 TEXTMETRICWw; 167 TEXTMETRICWw;
167 TEXTMETRICAa; 168 TEXTMETRICAa;
168 } tm; 169 } tm;
169 int lw; 170 int lw;
170 int cache_cost; 171 int cache_cost;
171// friend void QFont::initFontInfo() const; 172// friend void QFont::initFontInfo() const;
172}; 173};
173 174
174#endif // Q_WS_WIN 175#endif // Q_WS_WIN
175 176
176#if defined( Q_WS_MAC ) 177#if defined( Q_WS_MAC )
177 178
178#if defined( Q_WS_MACX ) 179#if defined( Q_WS_MACX )
179# define QMAC_FONT_ATSUI 180# define QMAC_FONT_ATSUI
180#endif 181#endif
181#include "qt_mac.h" 182#include "qt_mac.h"
182class QMacFontInfo; 183class QMacFontInfo;
183 184
184class QFontStruct : public QShared 185class QFontStruct : public QShared
185{ 186{
186public: 187public:
187 inline QFontStruct() : QShared(), info(NULL), fnum(-1), cache_cost(0), internal_fi(NULL) { } 188 inline QFontStruct() : QShared(), info(NULL), fnum(-1), cache_cost(0), internal_fi(NULL) { }
188#if defined( QMAC_FONT_ATSUI ) && 0 189#if defined( QMAC_FONT_ATSUI ) && 0
189 ATSFontMetrics *info; 190 ATSFontMetrics *info;
190 int maxWidth() const { return (int)info->maxAdvanceWidth; } 191 int maxWidth() const { return (int)info->maxAdvanceWidth; }
191#else 192#else
192 FontInfo *info; 193 FontInfo *info;
193 int maxWidth() const { return info->widMax; } 194 int maxWidth() const { return info->widMax; }
194#endif 195#endif
195 int ascent() const { return (int)info->ascent; } 196 int ascent() const { return (int)info->ascent; }
196 int descent() const { return (int)info->descent; } 197 int descent() const { return (int)info->descent; }
197 int leading() const { return (int)info->leading; } 198 int leading() const { return (int)info->leading; }
198 int minLeftBearing() const { return 0; } 199 int minLeftBearing() const { return 0; }
199 int minRightBearing() const { return 0; } 200 int minRightBearing() const { return 0; }
200 201
201 short fnum; 202 short fnum;
202 int psize, cache_cost; 203 int psize, cache_cost;
203 QMacFontInfo *internal_fi; 204 QMacFontInfo *internal_fi;
204}; 205};
205 206
206#endif 207#endif
207 208
208#ifdef Q_WS_QWS 209#ifdef Q_WS_QWS
209class QFontStruct; 210class QFontStruct;
210class QGfx; 211class QGfx;
211#endif 212#endif
212 213
213typedef QCacheIterator<QFontStruct> QFontCacheIterator; 214typedef QCacheIterator<QFontStruct> QFontCacheIterator;
214class QFontCache : public QObject, public QCache<QFontStruct> 215class QFontCache : public QObject, public QCache<QFontStruct>
215{ 216{
216public: 217public:
217 QFontCache(); 218 QFontCache();
218 ~QFontCache(); 219 ~QFontCache();
219 220
220 bool insert(const QString &, const QFontStruct *, int c); 221 bool insert(const QString &, const QFontStruct *, int c);
221#ifndef Q_WS_MAC 222#ifndef Q_WS_MAC
222 void deleteItem(Item d); 223 void deleteItem(Item d);
223#endif 224#endif
224 void timerEvent(QTimerEvent *); 225 void timerEvent(QTimerEvent *);
225 226
226 227
227protected: 228protected:
228 229
229 230
230private: 231private:
231 int timer_id; 232 int timer_id;
232 bool fast; 233 bool fast;
233}; 234};
234 235
235 236
236// QFontPrivate - holds all data on which a font operates 237// QFontPrivate - holds all data on which a font operates
237class QFontPrivate : public QShared 238class QFontPrivate : public QShared
238{ 239{
239public: 240public:
240 static QFontCache *fontCache; 241 static QFontCache *fontCache;
241 242
242 243
243public: 244public:
244 245
245 QFontPrivate(); 246 QFontPrivate();
246 QFontPrivate(const QFontPrivate &fp); 247 QFontPrivate(const QFontPrivate &fp);
247 QFontPrivate( const QFontPrivate &fp, QPaintDevice *pd ); 248 QFontPrivate( const QFontPrivate &fp, QPaintDevice *pd );
248 ~QFontPrivate(); 249 ~QFontPrivate();
249 250
250 // requested font 251 // requested font
251 QFontDef request; 252 QFontDef request;
252 // actual font 253 // actual font
253 QFontDef actual; 254 QFontDef actual;
254 255
255 bool exactMatch; 256 bool exactMatch;
256 int lineWidth; 257 int lineWidth;
257 258
258 // common functions 259 // common functions
259 QString defaultFamily() const; 260 QString defaultFamily() const;
260 QString lastResortFamily() const; 261 QString lastResortFamily() const;
@@ -320,160 +321,160 @@ public:
320 static QCString fixXLFD( const QCString & ); 321 static QCString fixXLFD( const QCString & );
321 static bool fillFontDef(XFontStruct *, QFontDef *, int); 322 static bool fillFontDef(XFontStruct *, QFontDef *, int);
322 static bool fillFontDef(const QCString &, QFontDef *, int); 323 static bool fillFontDef(const QCString &, QFontDef *, int);
323 324
324 static inline bool isZero(char *x) 325 static inline bool isZero(char *x)
325 { 326 {
326 return (x[0] == '0' && x[1] == 0); 327 return (x[0] == '0' && x[1] == 0);
327 } 328 }
328 329
329 static inline bool isScalable( char **tokens ) 330 static inline bool isScalable( char **tokens )
330 { 331 {
331 return (isZero(tokens[PixelSize]) && 332 return (isZero(tokens[PixelSize]) &&
332 isZero(tokens[PointSize]) && 333 isZero(tokens[PointSize]) &&
333 isZero(tokens[AverageWidth])); 334 isZero(tokens[AverageWidth]));
334 } 335 }
335 336
336 static inline bool isSmoothlyScalable( char **tokens ) 337 static inline bool isSmoothlyScalable( char **tokens )
337 { 338 {
338 return (isZero(tokens[ResolutionX]) && isZero(tokens[ResolutionY])); 339 return (isZero(tokens[ResolutionX]) && isZero(tokens[ResolutionY]));
339 } 340 }
340 341
341 static inline bool isFixedPitch( char **tokens ) 342 static inline bool isFixedPitch( char **tokens )
342 { 343 {
343 return (tokens[Spacing][0] == 'm' || 344 return (tokens[Spacing][0] == 'm' ||
344 tokens[Spacing][0] == 'c' || 345 tokens[Spacing][0] == 'c' ||
345 tokens[Spacing][0] == 'M' || 346 tokens[Spacing][0] == 'M' ||
346 tokens[Spacing][0] == 'C'); 347 tokens[Spacing][0] == 'C');
347 } 348 }
348 349
349 // XLFD fields 350 // XLFD fields
350 enum FontFieldNames { 351 enum FontFieldNames {
351 Foundry, 352 Foundry,
352 Family, 353 Family,
353 Weight, 354 Weight,
354 Slant, 355 Slant,
355 Width, 356 Width,
356 AddStyle, 357 AddStyle,
357 PixelSize, 358 PixelSize,
358 PointSize, 359 PointSize,
359 ResolutionX, 360 ResolutionX,
360 ResolutionY, 361 ResolutionY,
361 Spacing, 362 Spacing,
362 AverageWidth, 363 AverageWidth,
363 CharsetRegistry, 364 CharsetRegistry,
364 CharsetEncoding, 365 CharsetEncoding,
365 NFontFields 366 NFontFields
366 }; 367 };
367 368
368#ifndef QT_NO_XFTFREETYPE 369#ifndef QT_NO_XFTFREETYPE
369 XftPattern *findXftFont(const QChar &, bool *, double *scale) const; 370 XftPattern *findXftFont(const QChar &, bool *, double *scale) const;
370 XftPattern *bestXftPattern(const QString &, const QString &, const QChar &, double *scale) const; 371 XftPattern *bestXftPattern(const QString &, const QString &, const QChar &, double *scale) const;
371#endif // QT_NO_XFTFREETYPE 372#endif // QT_NO_XFTFREETYPE
372 QCString findFont(QFont::Script, bool *, double *) const; 373 QCString findFont(QFont::Script, bool *, double *) const;
373 QCString bestFamilyMember(QFont::Script, const QString &, const QString &, 374 QCString bestFamilyMember(QFont::Script, const QString &, const QString &,
374 const QString &, int *, double *) const; 375 const QString &, int *, double *) const;
375 QCString bestMatch(const char *, int *, QFont::Script, double *) const; 376 QCString bestMatch(const char *, int *, QFont::Script, double *) const;
376 int fontMatchScore(const char *, QCString &, float *, int *, bool *, 377 int fontMatchScore(const char *, QCString &, float *, int *, bool *,
377 bool *, QFont::Script, double *) const; 378 bool *, QFont::Script, double *) const;
378 void initFontInfo(QFont::Script, double scale); 379 void initFontInfo(QFont::Script, double scale);
379 void load(QFont::Script = QFont::NoScript, bool = TRUE); 380 void load(QFont::Script = QFont::NoScript, bool = TRUE);
380 bool loadUnicode(QFont::Script, const QChar &); 381 bool loadUnicode(QFont::Script, const QChar &);
381 void computeLineWidth(); 382 void computeLineWidth();
382 383
383 int textWidth( const QString &str, int pos, int len, TextRun *cache ); 384 int textWidth( const QString &str, int pos, int len, TextRun *cache );
384 void textExtents( const QString &str, int pos, int len, QCharStruct *overall ); 385 void textExtents( const QString &str, int pos, int len, QCharStruct *overall );
385 void drawText( Display *dpy, int screen, Qt::HANDLE hd, Qt::HANDLE rendhd, 386 void drawText( Display *dpy, int screen, Qt::HANDLE hd, Qt::HANDLE rendhd,
386 GC gc, const QColor &pen, Qt::BGMode, const QColor &bgcolor, 387 GC gc, const QColor &pen, Qt::BGMode, const QColor &bgcolor,
387 int x, int y, const TextRun *cache, int pdWidth ); 388 int x, int y, const TextRun *cache, int pdWidth );
388 bool inFont( const QChar &ch ); 389 bool inFont( const QChar &ch );
389 390
390 QFontX11Data x11data; 391 QFontX11Data x11data;
391 static QFont::Script defaultScript; 392 static QFont::Script defaultScript;
392 int x11Screen; 393 int x11Screen;
393#endif // Q_WS_X11 394#endif // Q_WS_X11
394 395
395 QPaintDevice *paintdevice; 396 QPaintDevice *paintdevice;
396 397
397#ifdef Q_WS_WIN 398#ifdef Q_WS_WIN
398 void load(); 399 void load();
399 void initFontInfo(); 400 void initFontInfo();
400 HFONT create( bool *stockFont, HDC hdc = 0, bool compatMode = FALSE ); 401 HFONT create( bool *stockFont, HDC hdc = 0, bool compatMode = FALSE );
401 QFontStruct *fin; 402 QFontStruct *fin;
402 403
403 void buildCache( HDC hdc, const QString &str, int pos, int len, TextRun *cache ); 404 void buildCache( HDC hdc, const QString &str, int pos, int len, TextRun *cache );
404 void drawText( HDC hdc, int x, int y, TextRun *cache ); 405 void drawText( HDC hdc, int x, int y, TextRun *cache );
405#endif // Q_WS_WIN 406#endif // Q_WS_WIN
406 407
407#ifdef Q_WS_QWS 408#ifdef Q_WS_QWS
408 void load(); 409 void load();
409 QFontStruct *fin; 410 QFontStruct *fin;
410 int textWidth( const QString &str, int pos, int len, TextRun *cache ); 411 int textWidth( const QString &str, int pos, int len, TextRun *cache );
411 void drawText( QGfx *gfx, int x, int y, const TextRun *cache ); 412 void drawText( QGfx *gfx, int x, int y, const TextRun *cache );
412#endif 413#endif
413 414
414#if defined( Q_WS_MAC ) 415#if defined( Q_WS_MAC )
415 void macSetFont(QPaintDevice *); 416 void macSetFont(QPaintDevice *);
416 void drawText(int x, int y, QString s, int len, QPaintDevice *dev, const QRegion *rgn); 417 void drawText(int x, int y, const QString &s, int from, int len, QPaintDevice *dev, const QRegion *rgn, int dir);
417 void computeLineWidth(); 418 void computeLineWidth();
418 void load(); 419 void load();
419 QFontStruct *fin; 420 QFontStruct *fin;
420#endif 421#endif
421 422
422}; 423};
423 424
424inline QFontPrivate::QFontPrivate() 425inline QFontPrivate::QFontPrivate()
425 : QShared(), exactMatch(FALSE), lineWidth(1) 426 : QShared(), exactMatch(FALSE), lineWidth(1)
426{ 427{
427 428
428#if defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_MAC) 429#if defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_MAC)
429 fin = 0; 430 fin = 0;
430#endif // Q_WS_WIN || Q_WS_QWS 431#endif // Q_WS_WIN || Q_WS_QWS
431#if defined(Q_WS_X11) 432#if defined(Q_WS_X11)
432 x11Screen = QPaintDevice::x11AppScreen(); 433 x11Screen = QPaintDevice::x11AppScreen();
433#endif // Q_WS_X11 434#endif // Q_WS_X11
434 paintdevice = 0; 435 paintdevice = 0;
435} 436}
436 437
437inline QFontPrivate::QFontPrivate(const QFontPrivate &fp) 438inline QFontPrivate::QFontPrivate(const QFontPrivate &fp)
438 : QShared(), request(fp.request), actual(fp.actual), 439 : QShared(), request(fp.request), actual(fp.actual),
439exactMatch(fp.exactMatch), lineWidth(1) 440exactMatch(fp.exactMatch), lineWidth(1)
440{ 441{
441 Q_ASSERT(!fp.paintdevice); 442 Q_ASSERT(!fp.paintdevice);
442#if defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_MAC) 443#if defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_MAC)
443 fin = 0; 444 fin = 0;
444#endif // Q_WS_WIN || Q_WS_QWS 445#endif // Q_WS_WIN || Q_WS_QWS
445#if defined(Q_WS_X11) 446#if defined(Q_WS_X11)
446 x11Screen = fp.x11Screen; 447 x11Screen = fp.x11Screen;
447#endif // Q_WS_X11 448#endif // Q_WS_X11
448 paintdevice = 0; 449 paintdevice = 0;
449} 450}
450 451
451inline QFontPrivate::QFontPrivate( const QFontPrivate &fp, QPaintDevice *pd ) 452inline QFontPrivate::QFontPrivate( const QFontPrivate &fp, QPaintDevice *pd )
452 : QShared(), request(fp.request), actual(fp.actual), 453 : QShared(), request(fp.request), actual(fp.actual),
453exactMatch(fp.exactMatch), lineWidth(1) 454exactMatch(fp.exactMatch), lineWidth(1)
454{ 455{
455 456
456#if defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_MAC) 457#if defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_MAC)
457 fin = 0; 458 fin = 0;
458#endif // Q_WS_WIN || Q_WS_QWS 459#endif // Q_WS_WIN || Q_WS_QWS
459#if defined(Q_WS_X11) 460#if defined(Q_WS_X11)
460 x11Screen = pd->x11Screen(); 461 x11Screen = pd->x11Screen();
461#endif // Q_WS_X11 462#endif // Q_WS_X11
462 paintdevice = pd; 463 paintdevice = pd;
463} 464}
464 465
465#ifndef Q_WS_QWS 466#ifndef Q_WS_QWS
466inline QFontPrivate::~QFontPrivate() 467inline QFontPrivate::~QFontPrivate()
467{ 468{
468#if defined(Q_WS_WIN) 469#if defined(Q_WS_WIN)
469 if( fin ) 470 if( fin )
470 fin->deref(); 471 fin->deref();
471#endif 472#endif
472#if defined(Q_WS_MAC) 473#if defined(Q_WS_MAC)
473 if( fin && fin->deref() ) 474 if( fin && fin->deref() )
474 delete fin; 475 delete fin;
475#endif 476#endif
476} 477}
477#endif 478#endif
478 479
479#endif // QFONTDATA_P_H 480#endif // QFONTDATA_P_H
diff --git a/qmake/include/private/qgfxdriverinterface_p.h b/qmake/include/private/qgfxdriverinterface_p.h
index 1782ed4..e8259ac 100644
--- a/qmake/include/private/qgfxdriverinterface_p.h
+++ b/qmake/include/private/qgfxdriverinterface_p.h
@@ -1,56 +1,68 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of Qt/Embedded Graphics Driver Interface 4** Definition of Qt/Embedded Graphics Driver Interface
5** 5**
6** Created : 20020211 6** Created : 20020211
7** 7**
8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the kernel module of the Qt GUI Toolkit. 10** This file is part of the kernel module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed and/or modified under the terms of the 12** This file may be distributed and/or modified under the terms of the
13** GNU General Public License version 2 as published by the Free Software 13** GNU General Public License version 2 as published by the Free Software
14** Foundation and appearing in the file LICENSE.GPL included in the 14** Foundation and appearing in the file LICENSE.GPL included in the
15** packaging of this file. 15** packaging of this file.
16** 16**
17** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 17** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
18** licenses for Qt/Embedded may use this file in accordance with the 18** licenses for Qt/Embedded may use this file in accordance with the
19** Qt Embedded Commercial License Agreement provided with the Software. 19** Qt Embedded Commercial License Agreement provided with the Software.
20** 20**
21** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 21** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
22** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 22** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
23** 23**
24** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 24** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
25** information about Qt Commercial License Agreements. 25** information about Qt Commercial License Agreements.
26** See http://www.trolltech.com/gpl/ for GPL licensing information. 26** See http://www.trolltech.com/gpl/ for GPL licensing information.
27** 27**
28** Contact info@trolltech.com if any conditions of this licensing are 28** Contact info@trolltech.com if any conditions of this licensing are
29** not clear to you. 29** not clear to you.
30** 30**
31**********************************************************************/ 31**********************************************************************/
32 32
33#ifndef QGFXDRIVERINTERFACE_H 33#ifndef QGFXDRIVERINTERFACE_P_H
34#define QGFXDRIVERINTERFACE_H 34#define QGFXDRIVERINTERFACE_P_H
35
36//
37// W A R N I N G
38// -------------
39//
40// This file is not part of the Qt API. This header file may
41// change from version to version without notice, or even be
42// removed.
43//
44// We mean it.
45//
46//
35 47
36#ifndef QT_H 48#ifndef QT_H
37#include <private/qcom_p.h> 49#include <private/qcom_p.h>
38#endif // QT_H 50#endif // QT_H
39 51
40#ifndef QT_NO_COMPONENT 52#ifndef QT_NO_COMPONENT
41 53
42// {449EC6C6-DF3E-43E3-9E57-354A3D05AB34} 54// {449EC6C6-DF3E-43E3-9E57-354A3D05AB34}
43#ifndef IID_QGfxDriver 55#ifndef IID_QGfxDriver
44#define IID_QGfxDriver QUuid( 0x449ec6c6, 0xdf3e, 0x43e3, 0x9e, 0x57, 0x35, 0x4a, 0x3d, 0x05, 0xab, 0x34) 56#define IID_QGfxDriver QUuid( 0x449ec6c6, 0xdf3e, 0x43e3, 0x9e, 0x57, 0x35, 0x4a, 0x3d, 0x05, 0xab, 0x34)
45#endif 57#endif
46 58
47class QScreen; 59class QScreen;
48 60
49struct Q_EXPORT QGfxDriverInterface : public QFeatureListInterface 61struct Q_EXPORT QGfxDriverInterface : public QFeatureListInterface
50{ 62{
51 virtual QScreen* create( const QString& driver, int displayId ) = 0; 63 virtual QScreen* create( const QString& driver, int displayId ) = 0;
52}; 64};
53 65
54#endif // QT_NO_COMPONENT 66#endif // QT_NO_COMPONENT
55 67
56#endif // QGFXDRIVERINTERFACE_H 68#endif // QGFXDRIVERINTERFACE_P_H
diff --git a/qmake/include/private/qgpluginmanager_p.h b/qmake/include/private/qgpluginmanager_p.h
index e0c0e78..2e4e9c5 100644
--- a/qmake/include/private/qgpluginmanager_p.h
+++ b/qmake/include/private/qgpluginmanager_p.h
@@ -1,107 +1,107 @@
1/********************************************************************** 1/**********************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of QGPluginManager class 4** Definition of QGPluginManager class
5** 5**
6** Copyright (C) 2000-2001 Trolltech AS. All rights reserved. 6** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
7** 7**
8** This file is part of the tools module of the Qt GUI Toolkit. 8** This file is part of the tools module of the Qt GUI Toolkit.
9** 9**
10** This file may be distributed under the terms of the Q Public License 10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file 11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file. 12** LICENSE.QPL included in the packaging of this file.
13** 13**
14** This file may be distributed and/or modified under the terms of the 14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software 15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the 16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file. 17** packaging of this file.
18** 18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License 20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software. 21** Agreement provided with the Software.
22** 22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25** 25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements. 27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information. 28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information. 29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30** 30**
31** Contact info@trolltech.com if any conditions of this licensing are 31** Contact info@trolltech.com if any conditions of this licensing are
32** not clear to you. 32** not clear to you.
33** 33**
34**********************************************************************/ 34**********************************************************************/
35 35
36#ifndef QGPLUGINMANAGER_H 36#ifndef QGPLUGINMANAGER_P_H
37#define QGPLUGINMANAGER_H 37#define QGPLUGINMANAGER_P_H
38 38
39#ifndef QT_H 39#ifndef QT_H
40#include "qdict.h" 40#include "qdict.h"
41#include "qlibrary.h" 41#include "qlibrary.h"
42#include "quuid.h" 42#include "quuid.h"
43#include "qstringlist.h" 43#include "qstringlist.h"
44#include "qcom_p.h" 44#include "qcom_p.h"
45#endif // QT_H 45#endif // QT_H
46 46
47// 47//
48// W A R N I N G 48// W A R N I N G
49// ------------- 49// -------------
50// 50//
51// This file is not part of the Qt API. It exists for the convenience 51// This file is not part of the Qt API. It exists for the convenience
52// of a number of Qt sources files. This header file may change from 52// of a number of Qt sources files. This header file may change from
53// version to version without notice, or even be removed. 53// version to version without notice, or even be removed.
54// 54//
55// We mean it. 55// We mean it.
56// 56//
57// 57//
58 58
59#ifndef QT_NO_COMPONENT 59#ifndef QT_NO_COMPONENT
60 60
61#if defined(Q_TEMPLATEDLL) 61#if defined(Q_TEMPLATEDLL)
62// MOC_SKIP_BEGIN 62// MOC_SKIP_BEGIN
63Q_TEMPLATE_EXTERN template class Q_EXPORT QDict<QLibrary>; 63Q_TEMPLATE_EXTERN template class Q_EXPORT QDict<QLibrary>;
64// MOC_SKIP_END 64// MOC_SKIP_END
65#endif 65#endif
66 66
67class Q_EXPORT QGPluginManager 67class Q_EXPORT QGPluginManager
68{ 68{
69public: 69public:
70 QGPluginManager( const QUuid& id, const QStringList& paths = QString::null, const QString &suffix = QString::null, bool cs = TRUE ); 70 QGPluginManager( const QUuid& id, const QStringList& paths = QString::null, const QString &suffix = QString::null, bool cs = TRUE );
71 ~QGPluginManager(); 71 ~QGPluginManager();
72 72
73 void addLibraryPath( const QString& path ); 73 void addLibraryPath( const QString& path );
74 const QLibrary* library( const QString& feature ) const; 74 const QLibrary* library( const QString& feature ) const;
75 QStringList featureList() const; 75 QStringList featureList() const;
76 76
77 bool autoUnload() const; 77 bool autoUnload() const;
78 void setAutoUnload( bool ); 78 void setAutoUnload( bool );
79 79
80protected: 80protected:
81 bool enabled() const; 81 bool enabled() const;
82 bool addLibrary( QLibrary* plugin ); 82 bool addLibrary( QLibrary* plugin );
83 83
84 QRESULT queryUnknownInterface(const QString& feature, QUnknownInterface** iface) const; 84 QRESULT queryUnknownInterface(const QString& feature, QUnknownInterface** iface) const;
85 85
86 QUuid interfaceId; 86 QUuid interfaceId;
87 QDict<QLibrary> plugDict; // Dict to match feature with library 87 QDict<QLibrary> plugDict; // Dict to match feature with library
88 QDict<QLibrary> libDict; // Dict to match library file with library 88 QDict<QLibrary> libDict; // Dict to match library file with library
89 QStringList libList; 89 QStringList libList;
90 90
91 uint casesens : 1; 91 uint casesens : 1;
92 uint autounload : 1; 92 uint autounload : 1;
93}; 93};
94 94
95inline void QGPluginManager::setAutoUnload( bool unload ) 95inline void QGPluginManager::setAutoUnload( bool unload )
96{ 96{
97 autounload = unload; 97 autounload = unload;
98} 98}
99 99
100inline bool QGPluginManager::autoUnload() const 100inline bool QGPluginManager::autoUnload() const
101{ 101{
102 return autounload; 102 return autounload;
103} 103}
104 104
105#endif 105#endif
106 106
107#endif //QGPLUGINMANAGER_H 107#endif //QGPLUGINMANAGER_P_H
diff --git a/qmake/include/private/qimageformatinterface_p.h b/qmake/include/private/qimageformatinterface_p.h
index 5f7601c..fd4c256 100644
--- a/qmake/include/private/qimageformatinterface_p.h
+++ b/qmake/include/private/qimageformatinterface_p.h
@@ -1,75 +1,75 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of ??? 4** ...
5** 5**
6** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. 6** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
7** 7**
8** This file is part of the kernel module of the Qt GUI Toolkit. 8** This file is part of the kernel module of the Qt GUI Toolkit.
9** 9**
10** This file may be distributed under the terms of the Q Public License 10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file 11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file. 12** LICENSE.QPL included in the packaging of this file.
13** 13**
14** This file may be distributed and/or modified under the terms of the 14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software 15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the 16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file. 17** packaging of this file.
18** 18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License 20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software. 21** Agreement provided with the Software.
22** 22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25** 25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements. 27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information. 28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information. 29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30** 30**
31** Contact info@trolltech.com if any conditions of this licensing are 31** Contact info@trolltech.com if any conditions of this licensing are
32** not clear to you. 32** not clear to you.
33** 33**
34**********************************************************************/ 34**********************************************************************/
35 35
36#ifndef QIMAGEFORMATINTERFACE_H 36#ifndef QIMAGEFORMATINTERFACE_P_H
37#define QIMAGEFORMATINTERFACE_H 37#define QIMAGEFORMATINTERFACE_P_H
38 38
39#ifndef QT_H 39#ifndef QT_H
40#include <private/qcom_p.h> 40#include <private/qcom_p.h>
41#endif // QT_H 41#endif // QT_H
42 42
43 43
44// 44//
45// W A R N I N G 45// W A R N I N G
46// ------------- 46// -------------
47// 47//
48// This file is not part of the Qt API. It exists for the convenience 48// This file is not part of the Qt API. It exists for the convenience
49// of internal files. This header file may change from version to version 49// of internal files. This header file may change from version to version
50// without notice, or even be removed. 50// without notice, or even be removed.
51// 51//
52// We mean it. 52// We mean it.
53// 53//
54// 54//
55 55
56#ifndef QT_NO_COMPONENT 56#ifndef QT_NO_COMPONENT
57 57
58// {04903F05-54B1-4726-A849-FB5CB097CA87} 58// {04903F05-54B1-4726-A849-FB5CB097CA87}
59#ifndef IID_QImageFormat 59#ifndef IID_QImageFormat
60#define IID_QImageFormat QUuid( 0x04903f05, 0x54b1, 0x4726, 0xa8, 0x49, 0xfb, 0x5c, 0xb0, 0x97, 0xca, 0x87 ) 60#define IID_QImageFormat QUuid( 0x04903f05, 0x54b1, 0x4726, 0xa8, 0x49, 0xfb, 0x5c, 0xb0, 0x97, 0xca, 0x87 )
61#endif 61#endif
62 62
63class QImage; 63class QImage;
64 64
65struct Q_EXPORT QImageFormatInterface : public QFeatureListInterface 65struct Q_EXPORT QImageFormatInterface : public QFeatureListInterface
66{ 66{
67 virtual QRESULT loadImage( const QString &format, const QString &filename, QImage * ) = 0; 67 virtual QRESULT loadImage( const QString &format, const QString &filename, QImage * ) = 0;
68 virtual QRESULT saveImage( const QString &format, const QString &filename, const QImage & ) = 0; 68 virtual QRESULT saveImage( const QString &format, const QString &filename, const QImage & ) = 0;
69 69
70 virtual QRESULT installIOHandler( const QString & ) = 0; 70 virtual QRESULT installIOHandler( const QString & ) = 0;
71}; 71};
72 72
73#endif // QT_NO_COMPONENT 73#endif // QT_NO_COMPONENT
74 74
75#endif // QIMAGEFORMATINTERFACE_H 75#endif // QIMAGEFORMATINTERFACE_P_H
diff --git a/qmake/include/private/qinputcontext_p.h b/qmake/include/private/qinputcontext_p.h
index 9ac0d2b..4d94147 100644
--- a/qmake/include/private/qinputcontext_p.h
+++ b/qmake/include/private/qinputcontext_p.h
@@ -1,121 +1,124 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of ??? 4** Definition of ???
5** 5**
6** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. 6** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
7** 7**
8** This file is part of the kernel module of the Qt GUI Toolkit. 8** This file is part of the kernel module of the Qt GUI Toolkit.
9** 9**
10** This file may be distributed under the terms of the Q Public License 10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file 11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file. 12** LICENSE.QPL included in the packaging of this file.
13** 13**
14** This file may be distributed and/or modified under the terms of the 14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software 15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the 16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file. 17** packaging of this file.
18** 18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License 20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software. 21** Agreement provided with the Software.
22** 22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25** 25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements. 27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information. 28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information. 29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30** 30**
31** Contact info@trolltech.com if any conditions of this licensing are 31** Contact info@trolltech.com if any conditions of this licensing are
32** not clear to you. 32** not clear to you.
33** 33**
34**********************************************************************/ 34**********************************************************************/
35 35
36#ifndef QINPUTCONTEXT_P_H 36#ifndef QINPUTCONTEXT_P_H
37#define QINPUTCONTEXT_P_H 37#define QINPUTCONTEXT_P_H
38 38
39 39
40// 40//
41// W A R N I N G 41// W A R N I N G
42// ------------- 42// -------------
43// 43//
44// This file is not part of the Qt API. It exists for the convenience 44// This file is not part of the Qt API. It exists for the convenience
45// of internal files. This header file may change from version to version 45// of internal files. This header file may change from version to version
46// without notice, or even be removed. 46// without notice, or even be removed.
47// 47//
48// We mean it. 48// We mean it.
49// 49//
50// 50//
51 51
52#include <qglobal.h> 52#include <qglobal.h>
53 53
54class QKeyEvent; 54class QKeyEvent;
55class QWidget; 55class QWidget;
56class QFont; 56class QFont;
57class QString; 57class QString;
58 58
59 59
60#ifdef Q_WS_X11 60#ifdef Q_WS_X11
61#include "qarray.h" 61#include "qarray.h"
62#include "qwindowdefs.h" 62#include "qwindowdefs.h"
63#include "qt_x11.h" 63#include "qt_x11.h"
64#endif 64#endif
65 65
66#ifdef Q_WS_WIN 66#ifdef Q_WS_WIN
67#include <qt_windows.h> 67#include <qt_windows.h>
68#endif 68#endif
69 69
70#ifdef Q_WS_QWS 70#ifdef Q_WS_QWS
71class QWSIMEvent; 71class QWSIMEvent;
72#endif 72#endif
73 73
74class QInputContext 74class QInputContext
75{ 75{
76public: 76public:
77#ifdef Q_WS_X11 77#ifdef Q_WS_X11
78 QInputContext(QWidget *); // should be a toplevel widget 78 QInputContext(QWidget *); // should be a toplevel widget
79 ~QInputContext(); 79 ~QInputContext();
80 80
81 void setFocus(); 81 void setFocus();
82 void setComposePosition(int, int); 82 void setComposePosition(int, int);
83 void setComposeArea(int, int, int, int); 83 void setComposeArea(int, int, int, int);
84 void reset(); 84 void reset();
85 85
86 int lookupString(XKeyEvent *, QCString &, KeySym *, Status *) const; 86 int lookupString(XKeyEvent *, QCString &, KeySym *, Status *) const;
87 void setXFontSet(const QFont &); 87 void setXFontSet(const QFont &);
88 88
89 void *ic; 89 void *ic;
90 QString text, lastcompose; 90 QString text;
91 QWidget *focusWidget; 91 QWidget *focusWidget;
92 bool composing; 92 bool composing;
93 QFont font; 93 QFont font;
94 XFontSet fontset; 94 XFontSet fontset;
95 QMemArray<bool> selectedChars; 95 QMemArray<bool> selectedChars;
96#endif // Q_WS_X11 96#endif // Q_WS_X11
97 97
98#ifdef Q_WS_QWS 98#ifdef Q_WS_QWS
99 static void translateIMEvent( QWSIMEvent *, QWidget * ); 99 static void translateIMEvent( QWSIMEvent *, QWidget * );
100 static void reset(); 100 static void reset();
101private: 101private:
102 static QWidget* focusWidget; 102 static QWidget* focusWidget;
103 static QString* composition; 103 static QString* composition;
104#endif //Q_WS_QWS 104#endif //Q_WS_QWS
105 105
106#ifdef Q_WS_WIN 106#ifdef Q_WS_WIN
107 static void init(); 107 static void init();
108 static void shutdown(); 108 static void shutdown();
109 109
110 static void TranslateMessage( const MSG *msg); 110 static void TranslateMessage( const MSG *msg);
111 static LRESULT DefWindowProc( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); 111 static LRESULT DefWindowProc( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam );
112 112
113 static void setFont( const QWidget *w, const QFont & ); 113 static void setFont( const QWidget *w, const QFont & );
114 static void setFocusHint( int x, int y, int w, int h, const QWidget *widget ); 114 static void setFocusHint( int x, int y, int w, int h, const QWidget *widget );
115 static bool startComposition(); 115 static bool startComposition();
116 static bool endComposition( QWidget *fw = 0 ); 116 static bool endComposition( QWidget *fw = 0 );
117 static bool composition( LPARAM lparam ); 117 static bool composition( LPARAM lparam );
118
119 static void accept( QWidget *fw = 0 );
120 static void enable( bool );
118#endif 121#endif
119}; 122};
120 123
121#endif // QINPUTCONTEXT_P_H 124#endif // QINPUTCONTEXT_P_H
diff --git a/qmake/include/private/qkbddriverinterface_p.h b/qmake/include/private/qkbddriverinterface_p.h
index efc7ded..fe13487 100644
--- a/qmake/include/private/qkbddriverinterface_p.h
+++ b/qmake/include/private/qkbddriverinterface_p.h
@@ -1,56 +1,68 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of Qt/Embedded Keyboard Driver Interface 4** Definition of Qt/Embedded Keyboard Driver Interface
5** 5**
6** Created : 20020218 6** Created : 20020218
7** 7**
8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the kernel module of the Qt GUI Toolkit. 10** This file is part of the kernel module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed and/or modified under the terms of the 12** This file may be distributed and/or modified under the terms of the
13** GNU General Public License version 2 as published by the Free Software 13** GNU General Public License version 2 as published by the Free Software
14** Foundation and appearing in the file LICENSE.GPL included in the 14** Foundation and appearing in the file LICENSE.GPL included in the
15** packaging of this file. 15** packaging of this file.
16** 16**
17** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 17** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
18** licenses for Qt/Embedded may use this file in accordance with the 18** licenses for Qt/Embedded may use this file in accordance with the
19** Qt Embedded Commercial License Agreement provided with the Software. 19** Qt Embedded Commercial License Agreement provided with the Software.
20** 20**
21** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 21** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
22** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 22** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
23** 23**
24** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 24** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
25** information about Qt Commercial License Agreements. 25** information about Qt Commercial License Agreements.
26** See http://www.trolltech.com/gpl/ for GPL licensing information. 26** See http://www.trolltech.com/gpl/ for GPL licensing information.
27** 27**
28** Contact info@trolltech.com if any conditions of this licensing are 28** Contact info@trolltech.com if any conditions of this licensing are
29** not clear to you. 29** not clear to you.
30** 30**
31**********************************************************************/ 31**********************************************************************/
32 32
33#ifndef QKBDDRIVERINTERFACE_H 33#ifndef QKBDDRIVERINTERFACE_P_H
34#define QKBDDRIVERINTERFACE_H 34#define QKBDDRIVERINTERFACE_P_H
35
36//
37// W A R N I N G
38// -------------
39//
40// This file is not part of the Qt API. This header file may
41// change from version to version without notice, or even be
42// removed.
43//
44// We mean it.
45//
46//
35 47
36#ifndef QT_H 48#ifndef QT_H
37#include <private/qcom_p.h> 49#include <private/qcom_p.h>
38#endif // QT_H 50#endif // QT_H
39 51
40#ifndef QT_NO_COMPONENT 52#ifndef QT_NO_COMPONENT
41 53
42// {C7C838EA-FC3E-4905-92AD-F479E81F1D02} 54// {C7C838EA-FC3E-4905-92AD-F479E81F1D02}
43#ifndef IID_QKbdDriver 55#ifndef IID_QKbdDriver
44#define IID_QKbdDriver QUuid( 0xc7c838ea, 0xfc3e, 0x4905, 0x92, 0xad, 0xf4, 0x79, 0xe8, 0x1f, 0x1d, 0x02) 56#define IID_QKbdDriver QUuid( 0xc7c838ea, 0xfc3e, 0x4905, 0x92, 0xad, 0xf4, 0x79, 0xe8, 0x1f, 0x1d, 0x02)
45#endif 57#endif
46 58
47class QWSKeyboardHandler; 59class QWSKeyboardHandler;
48 60
49struct Q_EXPORT QKbdDriverInterface : public QFeatureListInterface 61struct Q_EXPORT QKbdDriverInterface : public QFeatureListInterface
50{ 62{
51 virtual QWSKeyboardHandler* create( const QString& driver, const QString& device ) = 0; 63 virtual QWSKeyboardHandler* create( const QString& driver, const QString& device ) = 0;
52}; 64};
53 65
54#endif // QT_NO_COMPONENT 66#endif // QT_NO_COMPONENT
55 67
56#endif // QKBDDRIVERINTERFACE_H 68#endif // QKBDDRIVERINTERFACE_P_H
diff --git a/qmake/include/private/qlibrary_p.h b/qmake/include/private/qlibrary_p.h
index c4dd565..1624ca5 100644
--- a/qmake/include/private/qlibrary_p.h
+++ b/qmake/include/private/qlibrary_p.h
@@ -1,84 +1,81 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of an internal QLibrary class 4** Definition of an internal QLibrary class
5** 5**
6** Created : 2000-01-01 6** Created : 000101
7** 7**
8** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the tools module of the Qt GUI Toolkit. 10** This file is part of the tools module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License 22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software. 23** Agreement provided with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36**********************************************************************/ 36**********************************************************************/
37 37
38#ifndef QLIBRARY_P_H 38#ifndef QLIBRARY_P_H
39#define QLIBRARY_P_H 39#define QLIBRARY_P_H
40 40
41// 41//
42// W A R N I N G 42// W A R N I N G
43// ------------- 43// -------------
44// 44//
45// This file is not part of the Qt API. It exists for the convenience 45// This file is not part of the Qt API. It exists for the convenience
46// of the QLibrary class. This header file may change from 46// of the QLibrary class. This header file may change from
47// version to version without notice, or even be removed. 47// version to version without notice, or even be removed.
48// 48//
49// We mean it. 49// We mean it.
50// 50//
51// 51//
52 52
53#include "qlibrary.h" 53#include "qlibrary.h"
54 54
55#ifndef QT_NO_LIBRARY 55#ifndef QT_NO_LIBRARY
56 56
57#ifndef QT_H 57#ifndef QT_H
58#if defined(Q_CC_GNU)
59#warning "avoid including header file \"qwindowdefs.h\" in directory 'tools'"
60#endif
61#include "qwindowdefs.h" 58#include "qwindowdefs.h"
62#endif // QT_H 59#endif // QT_H
63 60
64class QLibraryPrivate 61class QLibraryPrivate
65{ 62{
66public: 63public:
67 QLibraryPrivate( QLibrary *lib ); 64 QLibraryPrivate( QLibrary *lib );
68 65
69#ifdef Q_WS_WIN 66#ifdef Q_WS_WIN
70 HINSTANCE pHnd; 67 HINSTANCE pHnd;
71#else 68#else
72 void *pHnd; 69 void *pHnd;
73#endif 70#endif
74 71
75 bool loadLibrary(); 72 bool loadLibrary();
76 bool freeLibrary(); 73 bool freeLibrary();
77 void *resolveSymbol( const char * ); 74 void *resolveSymbol( const char * );
78 75
79private: 76private:
80 QLibrary *library; 77 QLibrary *library;
81}; 78};
82 79
83#endif // QT_NO_LIBRARY 80#endif // QT_NO_LIBRARY
84#endif // QLIBRARY_P_H 81#endif // QLIBRARY_P_H
diff --git a/qmake/include/private/qlock_p.h b/qmake/include/private/qlock_p.h
new file mode 100644
index 0000000..5c261aa
--- a/dev/null
+++ b/qmake/include/private/qlock_p.h
@@ -0,0 +1,93 @@
1/****************************************************************************
2** $Id$
3**
4** Definition of QLock class. This manages interprocess locking
5**
6** Created : 20000406
7**
8** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
9**
10** This file is part of the kernel module of the Qt GUI Toolkit.
11**
12** This file may be distributed and/or modified under the terms of the
13** GNU General Public License version 2 as published by the Free Software
14** Foundation and appearing in the file LICENSE.GPL included in the
15** packaging of this file.
16**
17** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
18** licenses for Qt/Embedded may use this file in accordance with the
19** Qt Embedded Commercial License Agreement provided with the Software.
20**
21** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
22** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
23**
24** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
25** information about Qt Commercial License Agreements.
26** See http://www.trolltech.com/gpl/ for GPL licensing information.
27**
28** Contact info@trolltech.com if any conditions of this licensing are
29** not clear to you.
30**
31**********************************************************************/
32
33#ifndef QLOCK_P_H
34#define QLOCK_P_H
35
36//
37// W A R N I N G
38// -------------
39//
40// This file is not part of the Qt API. This header file may
41// change from version to version without notice, or even be
42// removed.
43//
44// We mean it.
45//
46//
47
48#ifndef QT_H
49#include <qstring.h>
50#endif // QT_H
51
52class QLockData;
53
54class QLock
55{
56public:
57 QLock( const QString &filename, char id, bool create = FALSE );
58 ~QLock();
59
60 enum Type { Read, Write };
61
62 bool isValid() const;
63 void lock( Type type );
64 void unlock();
65 bool locked() const;
66
67private:
68 Type type;
69 QLockData *data;
70};
71
72
73// Nice class for ensuring the lock is released.
74// Just create one on the stack and the lock is automatically released
75// when QLockHolder is destructed.
76class QLockHolder
77{
78public:
79 QLockHolder( QLock *l, QLock::Type type ) : qlock(l) {
80 qlock->lock( type );
81 }
82 ~QLockHolder() { if ( locked() ) qlock->unlock(); }
83
84 void lock( QLock::Type type ) { qlock->lock( type ); }
85 void unlock() { qlock->unlock(); }
86 bool locked() const { return qlock->locked(); }
87
88private:
89 QLock *qlock;
90};
91
92#endif
93
diff --git a/qmake/include/private/qmousedriverinterface_p.h b/qmake/include/private/qmousedriverinterface_p.h
index fd76308..42a2e3e 100644
--- a/qmake/include/private/qmousedriverinterface_p.h
+++ b/qmake/include/private/qmousedriverinterface_p.h
@@ -1,56 +1,68 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of Qt/Embedded Mouse Driver Interface 4** Definition of Qt/Embedded Mouse Driver Interface
5** 5**
6** Created : 20020220 6** Created : 20020220
7** 7**
8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the kernel module of the Qt GUI Toolkit. 10** This file is part of the kernel module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed and/or modified under the terms of the 12** This file may be distributed and/or modified under the terms of the
13** GNU General Public License version 2 as published by the Free Software 13** GNU General Public License version 2 as published by the Free Software
14** Foundation and appearing in the file LICENSE.GPL included in the 14** Foundation and appearing in the file LICENSE.GPL included in the
15** packaging of this file. 15** packaging of this file.
16** 16**
17** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 17** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
18** licenses for Qt/Embedded may use this file in accordance with the 18** licenses for Qt/Embedded may use this file in accordance with the
19** Qt Embedded Commercial License Agreement provided with the Software. 19** Qt Embedded Commercial License Agreement provided with the Software.
20** 20**
21** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 21** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
22** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 22** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
23** 23**
24** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 24** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
25** information about Qt Commercial License Agreements. 25** information about Qt Commercial License Agreements.
26** See http://www.trolltech.com/gpl/ for GPL licensing information. 26** See http://www.trolltech.com/gpl/ for GPL licensing information.
27** 27**
28** Contact info@trolltech.com if any conditions of this licensing are 28** Contact info@trolltech.com if any conditions of this licensing are
29** not clear to you. 29** not clear to you.
30** 30**
31**********************************************************************/ 31**********************************************************************/
32 32
33#ifndef QMOUSEDRIVERINTERFACE_H 33#ifndef QMOUSEDRIVERINTERFACE_P_H
34#define QMOUSEDRIVERINTERFACE_H 34#define QMOUSEDRIVERINTERFACE_P_H
35
36//
37// W A R N I N G
38// -------------
39//
40// This file is not part of the Qt API. This header file may
41// change from version to version without notice, or even be
42// removed.
43//
44// We mean it.
45//
46//
35 47
36#ifndef QT_H 48#ifndef QT_H
37#include <private/qcom_p.h> 49#include <private/qcom_p.h>
38#endif // QT_H 50#endif // QT_H
39 51
40#ifndef QT_NO_COMPONENT 52#ifndef QT_NO_COMPONENT
41 53
42// {4367CF5A-F7CE-407B-8BB6-DF19AEDA2EBB} 54// {4367CF5A-F7CE-407B-8BB6-DF19AEDA2EBB}
43#ifndef IID_QMouseDriver 55#ifndef IID_QMouseDriver
44#define IID_QMouseDriver QUuid( 0x4367cf5a, 0xf7ce, 0x407b, 0x8b, 0xb6, 0xdf, 0x19, 0xae, 0xda, 0x2e, 0xbb) 56#define IID_QMouseDriver QUuid( 0x4367cf5a, 0xf7ce, 0x407b, 0x8b, 0xb6, 0xdf, 0x19, 0xae, 0xda, 0x2e, 0xbb)
45#endif 57#endif
46 58
47class QWSMouseHandler; 59class QWSMouseHandler;
48 60
49struct Q_EXPORT QMouseDriverInterface : public QFeatureListInterface 61struct Q_EXPORT QMouseDriverInterface : public QFeatureListInterface
50{ 62{
51 virtual QWSMouseHandler* create( const QString& driver, const QString &device ) = 0; 63 virtual QWSMouseHandler* create( const QString& driver, const QString &device ) = 0;
52}; 64};
53 65
54#endif // QT_NO_COMPONENT 66#endif // QT_NO_COMPONENT
55 67
56#endif // QMOUSEDRIVERINTERFACE_H 68#endif // QMOUSEDRIVERINTERFACE_P_H
diff --git a/qmake/include/private/qmutexpool_p.h b/qmake/include/private/qmutexpool_p.h
index 3d9fef7..fb84157 100644
--- a/qmake/include/private/qmutexpool_p.h
+++ b/qmake/include/private/qmutexpool_p.h
@@ -1,39 +1,75 @@
1#ifndef QMUTEXPOOL_H 1/****************************************************************************
2#define QMUTEXPOOL_H 2** $Id$
3**
4** ...
5**
6** Copyright (C) 2002 Trolltech AS. All rights reserved.
7**
8** This file is part of the tools module of the Qt GUI Toolkit.
9**
10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file.
13**
14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file.
18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software.
22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30**
31** Contact info@trolltech.com if any conditions of this licensing are
32** not clear to you.
33**
34**********************************************************************/
35
36#ifndef QMUTEXPOOL_P_H
37#define QMUTEXPOOL_P_H
3 38
4// 39//
5// W A R N I N G 40// W A R N I N G
6// ------------- 41// -------------
7// 42//
8// This file is not part of the Qt API. It exists for the convenience 43// This file is not part of the Qt API. It exists for the convenience
9// of QSettings. This header file may change from version to 44// of QSettings. This header file may change from version to
10// version without notice, or even be removed. 45// version without notice, or even be removed.
11// 46//
12// We mean it. 47// We mean it.
13// 48//
14// 49//
15 50
16#ifdef QT_THREAD_SUPPORT 51#ifdef QT_THREAD_SUPPORT
17 52
18#include "qmutex.h" 53#include "qmutex.h"
19#include "qmemarray.h" 54#include "qmemarray.h"
20 55
21class QMutexPool 56class QMutexPool
22{ 57{
23public: 58public:
24 QMutexPool( bool recursive = FALSE, int size = 17 ); 59 QMutexPool( bool recursive = FALSE, int size = 17 );
25 ~QMutexPool(); 60 ~QMutexPool();
26 61
27 QMutex *get( void *address ); 62 QMutex *get( void *address );
28 63
29private: 64private:
30 QMutex mutex; 65 QMutex mutex;
31 QMemArray<QMutex*> mutexes; 66 QMutex **mutexes;
67 int count;
32 bool recurs; 68 bool recurs;
33}; 69};
34 70
35extern QMutexPool *qt_global_mutexpool; 71extern QMutexPool *qt_global_mutexpool;
36 72
37#endif // QT_THREAD_SUPPORT 73#endif // QT_THREAD_SUPPORT
38 74
39#endif // QMUTEXPOOL_H 75#endif // QMUTEXPOOL_P_H
diff --git a/qmake/include/private/qpluginmanager_p.h b/qmake/include/private/qpluginmanager_p.h
index 4b64ba0..a8da10e 100644
--- a/qmake/include/private/qpluginmanager_p.h
+++ b/qmake/include/private/qpluginmanager_p.h
@@ -1,73 +1,73 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of QPluginManager class 4** Definition of QPluginManager class
5** 5**
6** Created : 2000-01-01 6** Created : 000101
7** 7**
8** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the tools module of the Qt GUI Toolkit. 10** This file is part of the tools module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License 22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software. 23** Agreement provided with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36**********************************************************************/ 36**********************************************************************/
37 37
38#ifndef QPLUGINMANAGER_H 38#ifndef QPLUGINMANAGER_P_H
39#define QPLUGINMANAGER_H 39#define QPLUGINMANAGER_P_H
40
41#ifndef QT_H
42#include "qgpluginmanager_p.h"
43#endif // QT_H
44 40
45// 41//
46// W A R N I N G 42// W A R N I N G
47// ------------- 43// -------------
48// 44//
49// This file is not part of the Qt API. It exists for the convenience 45// This file is not part of the Qt API. It exists for the convenience
50// of a number of Qt sources files. This header file may change from 46// of a number of Qt sources files. This header file may change from
51// version to version without notice, or even be removed. 47// version to version without notice, or even be removed.
52// 48//
53// We mean it. 49// We mean it.
54// 50//
55// 51//
56 52
53#ifndef QT_H
54#include "qgpluginmanager_p.h"
55#endif // QT_H
56
57#ifndef QT_NO_COMPONENT 57#ifndef QT_NO_COMPONENT
58 58
59template<class Type> 59template<class Type>
60class QPluginManager : public QGPluginManager 60class QPluginManager : public QGPluginManager
61{ 61{
62public: 62public:
63 QPluginManager( const QUuid& id, const QStringList& paths = QString::null, const QString &suffix = QString::null, bool cs = TRUE ) 63 QPluginManager( const QUuid& id, const QStringList& paths = QString::null, const QString &suffix = QString::null, bool cs = TRUE )
64 : QGPluginManager( id, paths, suffix, cs ) {} 64 : QGPluginManager( id, paths, suffix, cs ) {}
65 QRESULT queryInterface(const QString& feature, Type** iface) const 65 QRESULT queryInterface(const QString& feature, Type** iface) const
66 { 66 {
67 return queryUnknownInterface( feature, (QUnknownInterface**)iface ); 67 return queryUnknownInterface( feature, (QUnknownInterface**)iface );
68 } 68 }
69}; 69};
70 70
71#endif //QT_NO_COMPONENT 71#endif //QT_NO_COMPONENT
72 72
73#endif //QPLUGINMANAGER_H 73#endif //QPLUGINMANAGER_P_H
diff --git a/qmake/include/private/qpsprinter_p.h b/qmake/include/private/qpsprinter_p.h
index 27a4968..692cb44 100644
--- a/qmake/include/private/qpsprinter_p.h
+++ b/qmake/include/private/qpsprinter_p.h
@@ -1,89 +1,89 @@
1/********************************************************************** 1/**********************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of internal QPSPrinter class. 4** Definition of internal QPSPrinter class.
5** QPSPrinter implements PostScript (tm) output via QPrinter. 5** QPSPrinter implements PostScript (tm) output via QPrinter.
6** 6**
7** Created : 940927 7** Created : 940927
8** 8**
9** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. 9** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
10** 10**
11** This file is part of the kernel module of the Qt GUI Toolkit. 11** This file is part of the kernel module of the Qt GUI Toolkit.
12** 12**
13** This file may be distributed under the terms of the Q Public License 13** This file may be distributed under the terms of the Q Public License
14** as defined by Trolltech AS of Norway and appearing in the file 14** as defined by Trolltech AS of Norway and appearing in the file
15** LICENSE.QPL included in the packaging of this file. 15** LICENSE.QPL included in the packaging of this file.
16** 16**
17** This file may be distributed and/or modified under the terms of the 17** This file may be distributed and/or modified under the terms of the
18** GNU General Public License version 2 as published by the Free Software 18** GNU General Public License version 2 as published by the Free Software
19** Foundation and appearing in the file LICENSE.GPL included in the 19** Foundation and appearing in the file LICENSE.GPL included in the
20** packaging of this file. 20** packaging of this file.
21** 21**
22** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 22** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
23** licenses may use this file in accordance with the Qt Commercial License 23** licenses may use this file in accordance with the Qt Commercial License
24** Agreement provided with the Software. 24** Agreement provided with the Software.
25** 25**
26** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 26** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
27** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 27** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
28** 28**
29** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 29** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
30** information about Qt Commercial License Agreements. 30** information about Qt Commercial License Agreements.
31** See http://www.trolltech.com/qpl/ for QPL licensing information. 31** See http://www.trolltech.com/qpl/ for QPL licensing information.
32** See http://www.trolltech.com/gpl/ for GPL licensing information. 32** See http://www.trolltech.com/gpl/ for GPL licensing information.
33** 33**
34** Contact info@trolltech.com if any conditions of this licensing are 34** Contact info@trolltech.com if any conditions of this licensing are
35** not clear to you. 35** not clear to you.
36** 36**
37**********************************************************************/ 37**********************************************************************/
38 38
39#ifndef QPSPRINTER_P_H 39#ifndef QPSPRINTER_P_H
40#define QPSPRINTER_P_H 40#define QPSPRINTER_P_H
41 41
42 42
43// 43//
44// W A R N I N G 44// W A R N I N G
45// ------------- 45// -------------
46// 46//
47// This file is not part of the Qt API. It exists for the convenience 47// This file is not part of the Qt API. It exists for the convenience
48// of qpsprinter.cpp and qprinter_x11.cpp. 48// of qpsprinter.cpp and qprinter_x11.cpp.
49// This header file may change from version to version without notice, 49// This header file may change from version to version without notice,
50// or even be removed. 50// or even be removed.
51// 51//
52// We mean it. 52// We mean it.
53// 53//
54// 54//
55 55
56 56
57#ifndef QT_H 57#ifndef QT_H
58#include "qprinter.h" 58#include "qprinter.h"
59#include "qtextstream.h" 59#include "qtextstream.h"
60#endif // QT_H 60#endif // QT_H
61 61
62#ifndef QT_NO_PRINTER 62#ifndef QT_NO_PRINTER
63 63
64struct QPSPrinterPrivate; 64class QPSPrinterPrivate;
65 65
66class Q_EXPORT QPSPrinter : public QPaintDevice 66class Q_EXPORT QPSPrinter : public QPaintDevice
67{ 67{
68private: 68private:
69 // QPrinter uses these 69 // QPrinter uses these
70 QPSPrinter( QPrinter *, int ); 70 QPSPrinter( QPrinter *, int );
71 ~QPSPrinter(); 71 ~QPSPrinter();
72 72
73 bool cmd ( int, QPainter *, QPDevCmdParam * ); 73 bool cmd ( int, QPainter *, QPDevCmdParam * );
74 74
75 enum { NewPage = 100, AbortPrinting }; 75 enum { NewPage = 100, AbortPrinting };
76 76
77 friend class QPrinter; 77 friend class QPrinter;
78private: 78private:
79 // not used by QPrinter 79 // not used by QPrinter
80 QPSPrinterPrivate *d; 80 QPSPrinterPrivate *d;
81 81
82 // Disabled copy constructor and operator= 82 // Disabled copy constructor and operator=
83 QPSPrinter( const QPSPrinter & ); 83 QPSPrinter( const QPSPrinter & );
84 QPSPrinter &operator=( const QPSPrinter & ); 84 QPSPrinter &operator=( const QPSPrinter & );
85}; 85};
86 86
87#endif // QT_NO_PRINTER 87#endif // QT_NO_PRINTER
88 88
89#endif // QPSPRINTER_P_H 89#endif // QPSPRINTER_P_H
diff --git a/qmake/include/private/qrichtext_p.h b/qmake/include/private/qrichtext_p.h
index 8e29804..9ed87cf 100644
--- a/qmake/include/private/qrichtext_p.h
+++ b/qmake/include/private/qrichtext_p.h
@@ -63,363 +63,365 @@
63#include "qsize.h" 63#include "qsize.h"
64#include "qvaluelist.h" 64#include "qvaluelist.h"
65#include "qvaluestack.h" 65#include "qvaluestack.h"
66#include "qobject.h" 66#include "qobject.h"
67#include "qdict.h" 67#include "qdict.h"
68#include "qpixmap.h" 68#include "qpixmap.h"
69#include "qstylesheet.h" 69#include "qstylesheet.h"
70#include "qptrvector.h" 70#include "qptrvector.h"
71#include "qpainter.h" 71#include "qpainter.h"
72#include "qlayout.h" 72#include "qlayout.h"
73#include "qobject.h" 73#include "qobject.h"
74#include "private/qcomplextext_p.h" 74#include "private/qcomplextext_p.h"
75#include "qapplication.h" 75#include "qapplication.h"
76#endif // QT_H 76#endif // QT_H
77 77
78#ifndef QT_NO_RICHTEXT 78#ifndef QT_NO_RICHTEXT
79 79
80class QTextDocument; 80class QTextDocument;
81class QTextString; 81class QTextString;
82class QTextPreProcessor; 82class QTextPreProcessor;
83class QTextFormat; 83class QTextFormat;
84class QTextCursor; 84class QTextCursor;
85class QTextParagraph; 85class QTextParagraph;
86class QTextFormatter; 86class QTextFormatter;
87class QTextIndent; 87class QTextIndent;
88class QTextFormatCollection; 88class QTextFormatCollection;
89class QStyleSheetItem; 89class QStyleSheetItem;
90#ifndef QT_NO_TEXTCUSTOMITEM 90#ifndef QT_NO_TEXTCUSTOMITEM
91class QTextCustomItem; 91class QTextCustomItem;
92#endif 92#endif
93class QTextFlow; 93class QTextFlow;
94struct QBidiContext; 94struct QBidiContext;
95 95
96// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 96// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
97 97
98class Q_EXPORT QTextStringChar 98class Q_EXPORT QTextStringChar
99{ 99{
100 friend class QTextString; 100 friend class QTextString;
101 101
102public: 102public:
103 // this is never called, initialize variables in QTextString::insert()!!! 103 // this is never called, initialize variables in QTextString::insert()!!!
104 QTextStringChar() : lineStart( 0 ), type( Regular ), startOfRun( 0 ) {d.format=0;} 104 QTextStringChar() : lineStart( 0 ), type( Regular ), startOfRun( 0 ) {d.format=0;}
105 ~QTextStringChar(); 105 ~QTextStringChar();
106 106
107 QChar c; 107 QChar c;
108 enum Type { Regular=0, Custom=1, Anchor=2, CustomAnchor=3 }; 108 enum Type { Regular=0, Custom=1, Anchor=2, CustomAnchor=3 };
109 uint lineStart : 1; 109 uint lineStart : 1;
110 uint rightToLeft : 1; 110 uint rightToLeft : 1;
111 uint hasCursor : 1; 111 uint hasCursor : 1;
112 uint canBreak : 1; 112 uint canBreak : 1;
113 Type type : 2; 113 Type type : 2;
114 uint startOfRun : 1; 114 uint startOfRun : 1;
115 115
116 int x; 116 int x;
117 int height() const; 117 int height() const;
118 int ascent() const; 118 int ascent() const;
119 int descent() const; 119 int descent() const;
120 bool isCustom() const { return (type & Custom) != 0; } 120 bool isCustom() const { return (type & Custom) != 0; }
121 QTextFormat *format() const; 121 QTextFormat *format() const;
122#ifndef QT_NO_TEXTCUSTOMITEM 122#ifndef QT_NO_TEXTCUSTOMITEM
123 QTextCustomItem *customItem() const; 123 QTextCustomItem *customItem() const;
124#endif 124#endif
125 void setFormat( QTextFormat *f ); 125 void setFormat( QTextFormat *f );
126#ifndef QT_NO_TEXTCUSTOMITEM 126#ifndef QT_NO_TEXTCUSTOMITEM
127 void setCustomItem( QTextCustomItem *i ); 127 void setCustomItem( QTextCustomItem *i );
128#endif 128#endif
129 struct CustomData 129 struct CustomData
130 { 130 {
131 QTextFormat *format; 131 QTextFormat *format;
132#ifndef QT_NO_TEXTCUSTOMITEM 132#ifndef QT_NO_TEXTCUSTOMITEM
133 QTextCustomItem *custom; 133 QTextCustomItem *custom;
134#endif 134#endif
135 QString anchorName; 135 QString anchorName;
136 QString anchorHref; 136 QString anchorHref;
137 }; 137 };
138 138
139#ifndef QT_NO_TEXTCUSTOMITEM 139#ifndef QT_NO_TEXTCUSTOMITEM
140 void loseCustomItem(); 140 void loseCustomItem();
141#endif 141#endif
142 142
143 union { 143 union {
144 QTextFormat* format; 144 QTextFormat* format;
145 CustomData* custom; 145 CustomData* custom;
146 } d; 146 } d;
147 147
148 bool isAnchor() const { return ( type & Anchor) != 0; } 148 bool isAnchor() const { return ( type & Anchor) != 0; }
149 bool isLink() const { return isAnchor() && !!d.custom->anchorHref; } 149 bool isLink() const { return isAnchor() && !!d.custom->anchorHref; }
150 QString anchorName() const; 150 QString anchorName() const;
151 QString anchorHref() const; 151 QString anchorHref() const;
152 void setAnchor( const QString& name, const QString& href ); 152 void setAnchor( const QString& name, const QString& href );
153 153
154private: 154private:
155 QTextStringChar &operator=( const QTextStringChar & ) { 155 QTextStringChar &operator=( const QTextStringChar & ) {
156 //abort(); 156 //abort();
157 return *this; 157 return *this;
158 } 158 }
159 QTextStringChar( const QTextStringChar & ) {
160 }
159 friend class QComplexText; 161 friend class QComplexText;
160 friend class QTextParagraph; 162 friend class QTextParagraph;
161}; 163};
162 164
163#if defined(Q_TEMPLATEDLL) 165#if defined(Q_TEMPLATEDLL)
164// MOC_SKIP_BEGIN 166// MOC_SKIP_BEGIN
165Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<QTextStringChar>; 167Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<QTextStringChar>;
166// MOC_SKIP_END 168// MOC_SKIP_END
167#endif 169#endif
168 170
169class Q_EXPORT QTextString 171class Q_EXPORT QTextString
170{ 172{
171public: 173public:
172 174
173 QTextString(); 175 QTextString();
174 QTextString( const QTextString &s ); 176 QTextString( const QTextString &s );
175 virtual ~QTextString(); 177 virtual ~QTextString();
176 178
177 static QString toString( const QMemArray<QTextStringChar> &data ); 179 static QString toString( const QMemArray<QTextStringChar> &data, bool fixspaces = TRUE );
178 QString toString() const; 180 QString toString( bool fixspaces = TRUE ) const;
179 181
180 QTextStringChar &at( int i ) const; 182 QTextStringChar &at( int i ) const;
181#if defined(Q_STRICT_INLINING_RULES) 183#if defined(Q_STRICT_INLINING_RULES)
182 // This is for the IRIX MIPSpro o32 ABI - it fails, claiming the 184 // This is for the IRIX MIPSpro o32 ABI - it fails, claiming the
183 // implementation to be a redefinition. 185 // implementation to be a redefinition.
184 inline int length() const; 186 inline int length() const;
185#else 187#else
186 int length() const; 188 int length() const;
187#endif 189#endif
188 190
189 int width( int idx ) const; 191 int width( int idx ) const;
190 192
191 void insert( int index, const QString &s, QTextFormat *f ); 193 void insert( int index, const QString &s, QTextFormat *f );
192 void insert( int index, const QChar *unicode, int len, QTextFormat *f ); 194 void insert( int index, const QChar *unicode, int len, QTextFormat *f );
193 void insert( int index, QTextStringChar *c, bool doAddRefFormat = FALSE ); 195 void insert( int index, QTextStringChar *c, bool doAddRefFormat = FALSE );
194 void truncate( int index ); 196 void truncate( int index );
195 void remove( int index, int len ); 197 void remove( int index, int len );
196 void clear(); 198 void clear();
197 199
198 void setFormat( int index, QTextFormat *f, bool useCollection ); 200 void setFormat( int index, QTextFormat *f, bool useCollection );
199 201
200 void setBidi( bool b ) { bidi = b; } 202 void setBidi( bool b ) { bidi = b; }
201 bool isBidi() const; 203 bool isBidi() const;
202 bool isRightToLeft() const; 204 bool isRightToLeft() const;
203 QChar::Direction direction() const; 205 QChar::Direction direction() const;
204 void setDirection( QChar::Direction d ) { dir = d; bidiDirty = TRUE; } 206 void setDirection( QChar::Direction d ) { dir = d; bidiDirty = TRUE; }
205 207
206 QMemArray<QTextStringChar> subString( int start = 0, int len = 0xFFFFFF ) const; 208 QMemArray<QTextStringChar> subString( int start = 0, int len = 0xFFFFFF ) const;
207 QMemArray<QTextStringChar> rawData() const { return data.copy(); } 209 QMemArray<QTextStringChar> rawData() const { return data.copy(); }
208 210
209 void operator=( const QString &s ) { clear(); insert( 0, s, 0 ); } 211 void operator=( const QString &s ) { clear(); insert( 0, s, 0 ); }
210 void operator+=( const QString &s ) { insert( length(), s, 0 ); } 212 void operator+=( const QString &s ) { insert( length(), s, 0 ); }
211 void prepend( const QString &s ) { insert( 0, s, 0 ); } 213 void prepend( const QString &s ) { insert( 0, s, 0 ); }
212 214
213private: 215private:
214 void checkBidi() const; 216 void checkBidi() const;
215 217
216 QMemArray<QTextStringChar> data; 218 QMemArray<QTextStringChar> data;
217 uint bidiDirty : 1; 219 uint bidiDirty : 1;
218 uint bidi : 1; // true when the paragraph has right to left characters 220 uint bidi : 1; // true when the paragraph has right to left characters
219 uint rightToLeft : 1; 221 uint rightToLeft : 1;
220 uint dir : 5; 222 uint dir : 5;
221}; 223};
222 224
223inline bool QTextString::isBidi() const 225inline bool QTextString::isBidi() const
224{ 226{
225 if ( bidiDirty ) 227 if ( bidiDirty )
226 checkBidi(); 228 checkBidi();
227 return bidi; 229 return bidi;
228} 230}
229 231
230inline bool QTextString::isRightToLeft() const 232inline bool QTextString::isRightToLeft() const
231{ 233{
232 if ( bidiDirty ) 234 if ( bidiDirty )
233 checkBidi(); 235 checkBidi();
234 return rightToLeft; 236 return rightToLeft;
235} 237}
236 238
237inline QChar::Direction QTextString::direction() const 239inline QChar::Direction QTextString::direction() const
238{ 240{
239 return (QChar::Direction) dir; 241 return (QChar::Direction) dir;
240} 242}
241 243
242// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 244// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
243 245
244#if defined(Q_TEMPLATEDLL) 246#if defined(Q_TEMPLATEDLL)
245// MOC_SKIP_BEGIN 247// MOC_SKIP_BEGIN
246Q_TEMPLATE_EXTERN template class Q_EXPORT QValueStack<int>; 248Q_TEMPLATE_EXTERN template class Q_EXPORT QValueStack<int>;
247Q_TEMPLATE_EXTERN template class Q_EXPORT QValueStack<QTextParagraph*>; 249Q_TEMPLATE_EXTERN template class Q_EXPORT QValueStack<QTextParagraph*>;
248Q_TEMPLATE_EXTERN template class Q_EXPORT QValueStack<bool>; 250Q_TEMPLATE_EXTERN template class Q_EXPORT QValueStack<bool>;
249// MOC_SKIP_END 251// MOC_SKIP_END
250#endif 252#endif
251 253
252class Q_EXPORT QTextCursor 254class Q_EXPORT QTextCursor
253{ 255{
254public: 256public:
255 QTextCursor( QTextDocument *d = 0 ); 257 QTextCursor( QTextDocument *d = 0 );
256 QTextCursor( const QTextCursor &c ); 258 QTextCursor( const QTextCursor &c );
257 QTextCursor &operator=( const QTextCursor &c ); 259 QTextCursor &operator=( const QTextCursor &c );
258 virtual ~QTextCursor() {} 260 virtual ~QTextCursor() {}
259 261
260 bool operator==( const QTextCursor &c ) const; 262 bool operator==( const QTextCursor &c ) const;
261 bool operator!=( const QTextCursor &c ) const { return !(*this == c); } 263 bool operator!=( const QTextCursor &c ) const { return !(*this == c); }
262 264
263#if defined(Q_STRICT_INLINING_RULES) 265#if defined(Q_STRICT_INLINING_RULES)
264 // This is for the IRIX MIPSpro o32 ABI - it fails, claiming the 266 // This is for the IRIX MIPSpro o32 ABI - it fails, claiming the
265 // implementation to be a redefinition. 267 // implementation to be a redefinition.
266 inline QTextParagraph *paragraph() const; 268 inline QTextParagraph *paragraph() const;
267#else 269#else
268 QTextParagraph *paragraph() const; 270 QTextParagraph *paragraph() const;
269#endif 271#endif
270 272
271 void setParagraph( QTextParagraph*p ) { gotoPosition(p, 0 ); } 273 void setParagraph( QTextParagraph*p ) { gotoPosition(p, 0 ); }
272 QTextDocument *document() const; 274 QTextDocument *document() const;
273 int index() const; 275 int index() const;
274 void setIndex( int index ) { gotoPosition(paragraph(), index ); } 276 void setIndex( int index ) { gotoPosition(paragraph(), index ); }
275 277
276 void gotoPosition( QTextParagraph* p, int index = 0); 278 void gotoPosition( QTextParagraph* p, int index = 0);
277 void gotoLeft(); 279 void gotoLeft();
278 void gotoRight(); 280 void gotoRight();
279 void gotoNextLetter(); 281 void gotoNextLetter();
280 void gotoPreviousLetter(); 282 void gotoPreviousLetter();
281 void gotoUp(); 283 void gotoUp();
282 void gotoDown(); 284 void gotoDown();
283 void gotoLineEnd(); 285 void gotoLineEnd();
284 void gotoLineStart(); 286 void gotoLineStart();
285 void gotoHome(); 287 void gotoHome();
286 void gotoEnd(); 288 void gotoEnd();
287 void gotoPageUp( int visibleHeight ); 289 void gotoPageUp( int visibleHeight );
288 void gotoPageDown( int visibleHeight ); 290 void gotoPageDown( int visibleHeight );
289 void gotoNextWord(); 291 void gotoNextWord( bool onlySpace = FALSE );
290 void gotoPreviousWord(); 292 void gotoPreviousWord( bool onlySpace = FALSE );
291 void gotoWordLeft(); 293 void gotoWordLeft();
292 void gotoWordRight(); 294 void gotoWordRight();
293 295
294 void insert( const QString &s, bool checkNewLine, QMemArray<QTextStringChar> *formatting = 0 ); 296 void insert( const QString &s, bool checkNewLine, QMemArray<QTextStringChar> *formatting = 0 );
295 void splitAndInsertEmptyParagraph( bool ind = TRUE, bool updateIds = TRUE ); 297 void splitAndInsertEmptyParagraph( bool ind = TRUE, bool updateIds = TRUE );
296 bool remove(); 298 bool remove();
297 void indent(); 299 void indent();
298 300
299 bool atParagStart(); 301 bool atParagStart();
300 bool atParagEnd(); 302 bool atParagEnd();
301 303
302 int x() const; // x in current paragraph 304 int x() const; // x in current paragraph
303 int y() const; // y in current paragraph 305 int y() const; // y in current paragraph
304 306
305 int globalX() const; 307 int globalX() const;
306 int globalY() const; 308 int globalY() const;
307 309
308 QTextParagraph *topParagraph() const { return paras.isEmpty() ? para : paras.first(); } 310 QTextParagraph *topParagraph() const { return paras.isEmpty() ? para : paras.first(); }
309 int offsetX() const { return ox; } // inner document offset 311 int offsetX() const { return ox; } // inner document offset
310 int offsetY() const { return oy; } // inner document offset 312 int offsetY() const { return oy; } // inner document offset
311 int totalOffsetX() const; // total document offset 313 int totalOffsetX() const; // total document offset
312 int totalOffsetY() const; // total document offset 314 int totalOffsetY() const; // total document offset
313 315
314 bool place( const QPoint &pos, QTextParagraph *s ) { return place( pos, s, FALSE ); } 316 bool place( const QPoint &pos, QTextParagraph *s ) { return place( pos, s, FALSE ); }
315 bool place( const QPoint &pos, QTextParagraph *s, bool link ); 317 bool place( const QPoint &pos, QTextParagraph *s, bool link );
316 void restoreState(); 318 void restoreState();
317 319
318 320
319 int nestedDepth() const { return (int)indices.count(); } //### size_t/int cast 321 int nestedDepth() const { return (int)indices.count(); } //### size_t/int cast
320 void oneUp() { if ( !indices.isEmpty() ) pop(); } 322 void oneUp() { if ( !indices.isEmpty() ) pop(); }
321 void setValid( bool b ) { valid = b; } 323 void setValid( bool b ) { valid = b; }
322 bool isValid() const { return valid; } 324 bool isValid() const { return valid; }
323 325
324private: 326private:
325 enum Operation { EnterBegin, EnterEnd, Next, Prev, Up, Down }; 327 enum Operation { EnterBegin, EnterEnd, Next, Prev, Up, Down };
326 328
327 void push(); 329 void push();
328 void pop(); 330 void pop();
329 void processNesting( Operation op ); 331 bool processNesting( Operation op );
330 void invalidateNested(); 332 void invalidateNested();
331 void gotoIntoNested( const QPoint &globalPos ); 333 void gotoIntoNested( const QPoint &globalPos );
332 334
333 QTextParagraph *para; 335 QTextParagraph *para;
334 int idx, tmpIndex; 336 int idx, tmpIndex;
335 int ox, oy; 337 int ox, oy;
336 QValueStack<int> indices; 338 QValueStack<int> indices;
337 QValueStack<QTextParagraph*> paras; 339 QValueStack<QTextParagraph*> paras;
338 QValueStack<int> xOffsets; 340 QValueStack<int> xOffsets;
339 QValueStack<int> yOffsets; 341 QValueStack<int> yOffsets;
340 uint valid : 1; 342 uint valid : 1;
341 343
342}; 344};
343 345
344// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 346// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
345 347
346class Q_EXPORT QTextCommand 348class Q_EXPORT QTextCommand
347{ 349{
348public: 350public:
349 enum Commands { Invalid, Insert, Delete, Format, Style }; 351 enum Commands { Invalid, Insert, Delete, Format, Style };
350 352
351 QTextCommand( QTextDocument *d ) : doc( d ), cursor( d ) {} 353 QTextCommand( QTextDocument *d ) : doc( d ), cursor( d ) {}
352 virtual ~QTextCommand(); 354 virtual ~QTextCommand();
353 355
354 virtual Commands type() const; 356 virtual Commands type() const;
355 357
356 virtual QTextCursor *execute( QTextCursor *c ) = 0; 358 virtual QTextCursor *execute( QTextCursor *c ) = 0;
357 virtual QTextCursor *unexecute( QTextCursor *c ) = 0; 359 virtual QTextCursor *unexecute( QTextCursor *c ) = 0;
358 360
359protected: 361protected:
360 QTextDocument *doc; 362 QTextDocument *doc;
361 QTextCursor cursor; 363 QTextCursor cursor;
362 364
363}; 365};
364 366
365#if defined(Q_TEMPLATEDLL) 367#if defined(Q_TEMPLATEDLL)
366// MOC_SKIP_BEGIN 368// MOC_SKIP_BEGIN
367Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextCommand>; 369Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextCommand>;
368// MOC_SKIP_END 370// MOC_SKIP_END
369#endif 371#endif
370 372
371class Q_EXPORT QTextCommandHistory 373class Q_EXPORT QTextCommandHistory
372{ 374{
373public: 375public:
374 QTextCommandHistory( int s ) : current( -1 ), steps( s ) { history.setAutoDelete( TRUE ); } 376 QTextCommandHistory( int s ) : current( -1 ), steps( s ) { history.setAutoDelete( TRUE ); }
375 virtual ~QTextCommandHistory(); 377 virtual ~QTextCommandHistory();
376 378
377 void clear() { history.clear(); current = -1; } 379 void clear() { history.clear(); current = -1; }
378 380
379 void addCommand( QTextCommand *cmd ); 381 void addCommand( QTextCommand *cmd );
380 QTextCursor *undo( QTextCursor *c ); 382 QTextCursor *undo( QTextCursor *c );
381 QTextCursor *redo( QTextCursor *c ); 383 QTextCursor *redo( QTextCursor *c );
382 384
383 bool isUndoAvailable(); 385 bool isUndoAvailable();
384 bool isRedoAvailable(); 386 bool isRedoAvailable();
385 387
386 void setUndoDepth( int d ) { steps = d; } 388 void setUndoDepth( int d ) { steps = d; }
387 int undoDepth() const { return steps; } 389 int undoDepth() const { return steps; }
388 390
389 int historySize() const { return history.count(); } 391 int historySize() const { return history.count(); }
390 int currentPosition() const { return current; } 392 int currentPosition() const { return current; }
391 393
392private: 394private:
393 QPtrList<QTextCommand> history; 395 QPtrList<QTextCommand> history;
394 int current, steps; 396 int current, steps;
395 397
396}; 398};
397 399
398inline QTextCommandHistory::~QTextCommandHistory() 400inline QTextCommandHistory::~QTextCommandHistory()
399{ 401{
400 clear(); 402 clear();
401} 403}
402 404
403// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 405// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
404 406
405#ifndef QT_NO_TEXTCUSTOMITEM 407#ifndef QT_NO_TEXTCUSTOMITEM
406class Q_EXPORT QTextCustomItem 408class Q_EXPORT QTextCustomItem
407{ 409{
408public: 410public:
409 QTextCustomItem( QTextDocument *p ) 411 QTextCustomItem( QTextDocument *p )
410 : xpos(0), ypos(-1), width(-1), height(0), parent( p ) 412 : xpos(0), ypos(-1), width(-1), height(0), parent( p )
411 {} 413 {}
412 virtual ~QTextCustomItem(); 414 virtual ~QTextCustomItem();
413 virtual void draw(QPainter* p, int x, int y, int cx, int cy, int cw, int ch, const QColorGroup& cg, bool selected ) = 0; 415 virtual void draw(QPainter* p, int x, int y, int cx, int cy, int cw, int ch, const QColorGroup& cg, bool selected ) = 0;
414 416
415 virtual void adjustToPainter( QPainter* ); 417 virtual void adjustToPainter( QPainter* );
416 418
417 enum Placement { PlaceInline = 0, PlaceLeft, PlaceRight }; 419 enum Placement { PlaceInline = 0, PlaceLeft, PlaceRight };
418 virtual Placement placement() const; 420 virtual Placement placement() const;
419 bool placeInline() { return placement() == PlaceInline; } 421 bool placeInline() { return placement() == PlaceInline; }
420 422
421 virtual bool ownLine() const; 423 virtual bool ownLine() const;
422 virtual void resize( int nwidth ); 424 virtual void resize( int nwidth );
423 virtual void invalidate(); 425 virtual void invalidate();
424 virtual int ascent() const { return height; } 426 virtual int ascent() const { return height; }
425 427
@@ -610,328 +612,332 @@ private:
610 QRect geom; 612 QRect geom;
611 QTextTable* parent; 613 QTextTable* parent;
612 QTextDocument* richtext; 614 QTextDocument* richtext;
613 int row_; 615 int row_;
614 int col_; 616 int col_;
615 int rowspan_; 617 int rowspan_;
616 int colspan_; 618 int colspan_;
617 int stretch_; 619 int stretch_;
618 int maxw; 620 int maxw;
619 int minw; 621 int minw;
620 bool hasFixedWidth; 622 bool hasFixedWidth;
621 QBrush *background; 623 QBrush *background;
622 int cached_width; 624 int cached_width;
623 int cached_sizehint; 625 int cached_sizehint;
624 QMap<QString, QString> attributes; 626 QMap<QString, QString> attributes;
625 int align; 627 int align;
626}; 628};
627#endif 629#endif
628 630
629#if defined(Q_TEMPLATEDLL) 631#if defined(Q_TEMPLATEDLL)
630// MOC_SKIP_BEGIN 632// MOC_SKIP_BEGIN
631Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextTableCell>; 633Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextTableCell>;
632Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<QTextCursor*, int>; 634Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<QTextCursor*, int>;
633// MOC_SKIP_END 635// MOC_SKIP_END
634#endif 636#endif
635 637
636#ifndef QT_NO_TEXTCUSTOMITEM 638#ifndef QT_NO_TEXTCUSTOMITEM
637class Q_EXPORT QTextTable: public QTextCustomItem 639class Q_EXPORT QTextTable: public QTextCustomItem
638{ 640{
639 friend class QTextTableCell; 641 friend class QTextTableCell;
640 642
641public: 643public:
642 QTextTable( QTextDocument *p, const QMap<QString, QString> &attr ); 644 QTextTable( QTextDocument *p, const QMap<QString, QString> &attr );
643 virtual ~QTextTable(); 645 virtual ~QTextTable();
644 646
645 void adjustToPainter( QPainter *p ); 647 void adjustToPainter( QPainter *p );
646 void pageBreak( int y, QTextFlow* flow ); 648 void pageBreak( int y, QTextFlow* flow );
647 void draw( QPainter* p, int x, int y, int cx, int cy, int cw, int ch, 649 void draw( QPainter* p, int x, int y, int cx, int cy, int cw, int ch,
648 const QColorGroup& cg, bool selected ); 650 const QColorGroup& cg, bool selected );
649 651
650 bool noErase() const { return TRUE; } 652 bool noErase() const { return TRUE; }
651 bool ownLine() const { return TRUE; } 653 bool ownLine() const { return TRUE; }
652 Placement placement() const { return place; } 654 Placement placement() const { return place; }
653 bool isNested() const { return TRUE; } 655 bool isNested() const { return TRUE; }
654 void resize( int nwidth ); 656 void resize( int nwidth );
655 virtual void invalidate(); 657 virtual void invalidate();
656 658
657 virtual bool enter( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy, bool atEnd = FALSE ); 659 virtual bool enter( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy, bool atEnd = FALSE );
658 virtual bool enterAt( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy, const QPoint &pos ); 660 virtual bool enterAt( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy, const QPoint &pos );
659 virtual bool next( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy ); 661 virtual bool next( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy );
660 virtual bool prev( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy ); 662 virtual bool prev( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy );
661 virtual bool down( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy ); 663 virtual bool down( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy );
662 virtual bool up( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy ); 664 virtual bool up( QTextCursor *c, QTextDocument *&doc, QTextParagraph *&parag, int &idx, int &ox, int &oy );
663 665
664 QString richText() const; 666 QString richText() const;
665 667
666 int minimumWidth() const; 668 int minimumWidth() const;
667 669
668 QPtrList<QTextTableCell> tableCells() const { return cells; } 670 QPtrList<QTextTableCell> tableCells() const { return cells; }
669 671
670 bool isStretching() const { return stretch; } 672 bool isStretching() const { return stretch; }
671 673
672private: 674private:
673 void format( int w ); 675 void format( int w );
674 void addCell( QTextTableCell* cell ); 676 void addCell( QTextTableCell* cell );
675 677
676private: 678private:
677 QGridLayout* layout; 679 QGridLayout* layout;
678 QPtrList<QTextTableCell> cells; 680 QPtrList<QTextTableCell> cells;
679 int cachewidth; 681 int cachewidth;
680 int fixwidth; 682 int fixwidth;
681 int cellpadding; 683 int cellpadding;
682 int cellspacing; 684 int cellspacing;
683 int border; 685 int border;
684 int outerborder; 686 int outerborder;
685 int stretch; 687 int stretch;
686 int innerborder; 688 int innerborder;
687 int us_cp, us_ib, us_b, us_ob, us_cs; 689 int us_cp, us_ib, us_b, us_ob, us_cs;
688 QMap<QString, QString> attributes; 690 QMap<QString, QString> attributes;
689 QMap<QTextCursor*, int> currCell; 691 QMap<QTextCursor*, int> currCell;
690 Placement place; 692 Placement place;
691 void adjustCells( int y , int shift ); 693 void adjustCells( int y , int shift );
692 int pageBreakFor; 694 int pageBreakFor;
693}; 695};
694#endif 696#endif
695// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 697// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
696 698
697#ifndef QT_NO_TEXTCUSTOMITEM 699#ifndef QT_NO_TEXTCUSTOMITEM
698class QTextTableCell; 700class QTextTableCell;
699class QTextParagraph; 701class QTextParagraph;
700#endif 702#endif
701 703
702struct Q_EXPORT QTextDocumentSelection 704struct Q_EXPORT QTextDocumentSelection
703{ 705{
704 QTextCursor startCursor, endCursor; 706 QTextCursor startCursor, endCursor;
705 bool swapped; 707 bool swapped;
708 Q_DUMMY_COMPARISON_OPERATOR(QTextDocumentSelection)
706}; 709};
707 710
708#if defined(Q_TEMPLATEDLL) 711#if defined(Q_TEMPLATEDLL)
709// MOC_SKIP_BEGIN 712// MOC_SKIP_BEGIN
710Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QColor>; 713Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QColor>;
711Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, bool>; 714Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, bool>;
712Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QTextDocumentSelection>; 715Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QTextDocumentSelection>;
713Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextDocument>; 716Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrList<QTextDocument>;
714// MOC_SKIP_END 717// MOC_SKIP_END
715#endif 718#endif
716 719
717class Q_EXPORT QTextDocument : public QObject 720class Q_EXPORT QTextDocument : public QObject
718{ 721{
719 Q_OBJECT 722 Q_OBJECT
720 723
721#ifndef QT_NO_TEXTCUSTOMITEM 724#ifndef QT_NO_TEXTCUSTOMITEM
722 friend class QTextTableCell; 725 friend class QTextTableCell;
723#endif 726#endif
724 friend class QTextCursor; 727 friend class QTextCursor;
725 friend class QTextEdit; 728 friend class QTextEdit;
726 friend class QTextParagraph; 729 friend class QTextParagraph;
727 730
728public: 731public:
729 enum SelectionIds { 732 enum SelectionIds {
730 Standard = 0, 733 Standard = 0,
731 IMSelectionText = 31998, 734 IMSelectionText = 31998,
732 IMCompositionText= 31999, // this must be higher! 735 IMCompositionText= 31999, // this must be higher!
733 Temp = 32000 // This selection must not be drawn, it's used e.g. by undo/redo to 736 Temp = 32000 // This selection must not be drawn, it's used e.g. by undo/redo to
734 // remove multiple lines with removeSelectedText() 737 // remove multiple lines with removeSelectedText()
735 }; 738 };
736 739
737 QTextDocument( QTextDocument *p ); 740 QTextDocument( QTextDocument *p );
738 QTextDocument( QTextDocument *d, QTextFormatCollection *f ); 741 QTextDocument( QTextDocument *d, QTextFormatCollection *f );
739 virtual ~QTextDocument(); 742 virtual ~QTextDocument();
740 743
741 QTextDocument *parent() const { return par; } 744 QTextDocument *parent() const { return par; }
742 QTextParagraph *parentParagraph() const { return parentPar; } 745 QTextParagraph *parentParagraph() const { return parentPar; }
743 746
744 void setText( const QString &text, const QString &context ); 747 void setText( const QString &text, const QString &context );
745 QMap<QString, QString> attributes() const { return attribs; } 748 QMap<QString, QString> attributes() const { return attribs; }
746 void setAttributes( const QMap<QString, QString> &attr ) { attribs = attr; } 749 void setAttributes( const QMap<QString, QString> &attr ) { attribs = attr; }
747 750
748 QString text() const; 751 QString text() const;
749 QString text( int parag ) const; 752 QString text( int parag ) const;
750 QString originalText() const; 753 QString originalText() const;
751 754
752 int x() const; 755 int x() const;
753 int y() const; 756 int y() const;
754 int width() const; 757 int width() const;
755 int widthUsed() const; 758 int widthUsed() const;
756 int visibleWidth() const; 759 int visibleWidth() const;
757 int height() const; 760 int height() const;
758 void setWidth( int w ); 761 void setWidth( int w );
759 int minimumWidth() const; 762 int minimumWidth() const;
760 bool setMinimumWidth( int needed, int used = -1, QTextParagraph *parag = 0 ); 763 bool setMinimumWidth( int needed, int used = -1, QTextParagraph *parag = 0 );
761 764
762 void setY( int y ); 765 void setY( int y );
763 int leftMargin() const; 766 int leftMargin() const;
764 void setLeftMargin( int lm ); 767 void setLeftMargin( int lm );
765 int rightMargin() const; 768 int rightMargin() const;
766 void setRightMargin( int rm ); 769 void setRightMargin( int rm );
767 770
768 QTextParagraph *firstParagraph() const; 771 QTextParagraph *firstParagraph() const;
769 QTextParagraph *lastParagraph() const; 772 QTextParagraph *lastParagraph() const;
770 void setFirstParagraph( QTextParagraph *p ); 773 void setFirstParagraph( QTextParagraph *p );
771 void setLastParagraph( QTextParagraph *p ); 774 void setLastParagraph( QTextParagraph *p );
772 775
773 void invalidate(); 776 void invalidate();
774 777
775 void setPreProcessor( QTextPreProcessor *sh ); 778 void setPreProcessor( QTextPreProcessor *sh );
776 QTextPreProcessor *preProcessor() const; 779 QTextPreProcessor *preProcessor() const;
777 780
778 void setFormatter( QTextFormatter *f ); 781 void setFormatter( QTextFormatter *f );
779 QTextFormatter *formatter() const; 782 QTextFormatter *formatter() const;
780 783
781 void setIndent( QTextIndent *i ); 784 void setIndent( QTextIndent *i );
782 QTextIndent *indent() const; 785 QTextIndent *indent() const;
783 786
784 QColor selectionColor( int id ) const; 787 QColor selectionColor( int id ) const;
785 bool invertSelectionText( int id ) const; 788 bool invertSelectionText( int id ) const;
786 void setSelectionColor( int id, const QColor &c ); 789 void setSelectionColor( int id, const QColor &c );
787 void setInvertSelectionText( int id, bool b ); 790 void setInvertSelectionText( int id, bool b );
788 bool hasSelection( int id, bool visible = FALSE ) const; 791 bool hasSelection( int id, bool visible = FALSE ) const;
789 void setSelectionStart( int id, const QTextCursor &cursor ); 792 void setSelectionStart( int id, const QTextCursor &cursor );
790 bool setSelectionEnd( int id, const QTextCursor &cursor ); 793 bool setSelectionEnd( int id, const QTextCursor &cursor );
791 void selectAll( int id ); 794 void selectAll( int id );
792 bool removeSelection( int id ); 795 bool removeSelection( int id );
793 void selectionStart( int id, int &paragId, int &index ); 796 void selectionStart( int id, int &paragId, int &index );
794 QTextCursor selectionStartCursor( int id ); 797 QTextCursor selectionStartCursor( int id );
795 QTextCursor selectionEndCursor( int id ); 798 QTextCursor selectionEndCursor( int id );
796 void selectionEnd( int id, int &paragId, int &index ); 799 void selectionEnd( int id, int &paragId, int &index );
797 void setFormat( int id, QTextFormat *f, int flags ); 800 void setFormat( int id, QTextFormat *f, int flags );
798 int numSelections() const { return nSelections; } 801 int numSelections() const { return nSelections; }
799 void addSelection( int id ); 802 void addSelection( int id );
800 803
801 QString selectedText( int id, bool asRichText = FALSE ) const; 804 QString selectedText( int id, bool asRichText = FALSE ) const;
802 void removeSelectedText( int id, QTextCursor *cursor ); 805 void removeSelectedText( int id, QTextCursor *cursor );
803 void indentSelection( int id ); 806 void indentSelection( int id );
804 807
805 QTextParagraph *paragAt( int i ) const; 808 QTextParagraph *paragAt( int i ) const;
806 809
807 void addCommand( QTextCommand *cmd ); 810 void addCommand( QTextCommand *cmd );
808 QTextCursor *undo( QTextCursor *c = 0 ); 811 QTextCursor *undo( QTextCursor *c = 0 );
809 QTextCursor *redo( QTextCursor *c = 0 ); 812 QTextCursor *redo( QTextCursor *c = 0 );
810 QTextCommandHistory *commands() const { return commandHistory; } 813 QTextCommandHistory *commands() const { return commandHistory; }
811 814
812 QTextFormatCollection *formatCollection() const; 815 QTextFormatCollection *formatCollection() const;
813 816
814 bool find( QTextCursor &cursor, const QString &expr, bool cs, bool wo, bool forward); 817 bool find( QTextCursor &cursor, const QString &expr, bool cs, bool wo, bool forward);
815 818
816 void setTextFormat( Qt::TextFormat f ); 819 void setTextFormat( Qt::TextFormat f );
817 Qt::TextFormat textFormat() const; 820 Qt::TextFormat textFormat() const;
818 821
819 bool inSelection( int selId, const QPoint &pos ) const; 822 bool inSelection( int selId, const QPoint &pos ) const;
820 823
821 QStyleSheet *styleSheet() const { return sheet_; } 824 QStyleSheet *styleSheet() const { return sheet_; }
822#ifndef QT_NO_MIME 825#ifndef QT_NO_MIME
823 QMimeSourceFactory *mimeSourceFactory() const { return factory_; } 826 QMimeSourceFactory *mimeSourceFactory() const { return factory_; }
824#endif 827#endif
825 QString context() const { return contxt; } 828 QString context() const { return contxt; }
826 829
827 void setStyleSheet( QStyleSheet *s ); 830 void setStyleSheet( QStyleSheet *s );
828 void setDefaultFormat( const QFont &font, const QColor &color ); 831 void setDefaultFormat( const QFont &font, const QColor &color );
829#ifndef QT_NO_MIME 832#ifndef QT_NO_MIME
830 void setMimeSourceFactory( QMimeSourceFactory *f ) { if ( f ) factory_ = f; } 833 void setMimeSourceFactory( QMimeSourceFactory *f ) { if ( f ) factory_ = f; }
831#endif 834#endif
832 void setContext( const QString &c ) { if ( !c.isEmpty() ) contxt = c; } 835 void setContext( const QString &c ) { if ( !c.isEmpty() ) contxt = c; }
833 836
834 void setUnderlineLinks( bool b ); 837 void setUnderlineLinks( bool b );
835 bool underlineLinks() const { return underlLinks; } 838 bool underlineLinks() const { return underlLinks; }
836 839
837 void setPaper( QBrush *brush ) { if ( backBrush ) delete backBrush; backBrush = brush; } 840 void setPaper( QBrush *brush ) { if ( backBrush ) delete backBrush; backBrush = brush; }
838 QBrush *paper() const { return backBrush; } 841 QBrush *paper() const { return backBrush; }
839 842
840 void doLayout( QPainter *p, int w ); 843 void doLayout( QPainter *p, int w );
841 void draw( QPainter *p, const QRect& rect, const QColorGroup &cg, const QBrush *paper = 0 ); 844 void draw( QPainter *p, const QRect& rect, const QColorGroup &cg, const QBrush *paper = 0 );
845 void eraseParagraphEmptyArea( QTextParagraph *parag, QPainter *p, const QColorGroup &cg );
846 bool useDoubleBuffer( QTextParagraph *parag, QPainter *p );
847
842 void drawParagraph( QPainter *p, QTextParagraph *parag, int cx, int cy, int cw, int ch, 848 void drawParagraph( QPainter *p, QTextParagraph *parag, int cx, int cy, int cw, int ch,
843 QPixmap *&doubleBuffer, const QColorGroup &cg, 849 QPixmap *&doubleBuffer, const QColorGroup &cg,
844 bool drawCursor, QTextCursor *cursor, bool resetChanged = TRUE ); 850 bool drawCursor, QTextCursor *cursor, bool resetChanged = TRUE );
845 QTextParagraph *draw( QPainter *p, int cx, int cy, int cw, int ch, const QColorGroup &cg, 851 QTextParagraph *draw( QPainter *p, int cx, int cy, int cw, int ch, const QColorGroup &cg,
846 bool onlyChanged = FALSE, bool drawCursor = FALSE, QTextCursor *cursor = 0, 852 bool onlyChanged = FALSE, bool drawCursor = FALSE, QTextCursor *cursor = 0,
847 bool resetChanged = TRUE ); 853 bool resetChanged = TRUE );
848 854
849#ifndef QT_NO_TEXTCUSTOMITEM 855#ifndef QT_NO_TEXTCUSTOMITEM
850 void registerCustomItem( QTextCustomItem *i, QTextParagraph *p ); 856 void registerCustomItem( QTextCustomItem *i, QTextParagraph *p );
851 void unregisterCustomItem( QTextCustomItem *i, QTextParagraph *p ); 857 void unregisterCustomItem( QTextCustomItem *i, QTextParagraph *p );
852#endif 858#endif
853 859
854 void setFlow( QTextFlow *f ); 860 void setFlow( QTextFlow *f );
855 void takeFlow(); 861 void takeFlow();
856 QTextFlow *flow() const { return flow_; } 862 QTextFlow *flow() const { return flow_; }
857 bool isPageBreakEnabled() const { return pages; } 863 bool isPageBreakEnabled() const { return pages; }
858 void setPageBreakEnabled( bool b ) { pages = b; } 864 void setPageBreakEnabled( bool b ) { pages = b; }
859 865
860 void setUseFormatCollection( bool b ) { useFC = b; } 866 void setUseFormatCollection( bool b ) { useFC = b; }
861 bool useFormatCollection() const { return useFC; } 867 bool useFormatCollection() const { return useFC; }
862 868
863#ifndef QT_NO_TEXTCUSTOMITEM 869#ifndef QT_NO_TEXTCUSTOMITEM
864 QTextTableCell *tableCell() const { return tc; } 870 QTextTableCell *tableCell() const { return tc; }
865 void setTableCell( QTextTableCell *c ) { tc = c; } 871 void setTableCell( QTextTableCell *c ) { tc = c; }
866#endif 872#endif
867 873
868 void setPlainText( const QString &text ); 874 void setPlainText( const QString &text );
869 void setRichText( const QString &text, const QString &context ); 875 void setRichText( const QString &text, const QString &context );
870 QString richText() const; 876 QString richText() const;
871 QString plainText() const; 877 QString plainText() const;
872 878
873 bool focusNextPrevChild( bool next ); 879 bool focusNextPrevChild( bool next );
874 880
875 int alignment() const; 881 int alignment() const;
876 void setAlignment( int a ); 882 void setAlignment( int a );
877 883
878 int *tabArray() const; 884 int *tabArray() const;
879 int tabStopWidth() const; 885 int tabStopWidth() const;
880 void setTabArray( int *a ); 886 void setTabArray( int *a );
881 void setTabStops( int tw ); 887 void setTabStops( int tw );
882 888
883 void setUndoDepth( int d ) { commandHistory->setUndoDepth( d ); } 889 void setUndoDepth( int d ) { commandHistory->setUndoDepth( d ); }
884 int undoDepth() const { return commandHistory->undoDepth(); } 890 int undoDepth() const { return commandHistory->undoDepth(); }
885 891
886 int length() const; 892 int length() const;
887 void clear( bool createEmptyParag = FALSE ); 893 void clear( bool createEmptyParag = FALSE );
888 894
889 virtual QTextParagraph *createParagraph( QTextDocument *d, QTextParagraph *pr = 0, QTextParagraph *nx = 0, bool updateIds = TRUE ); 895 virtual QTextParagraph *createParagraph( QTextDocument *d, QTextParagraph *pr = 0, QTextParagraph *nx = 0, bool updateIds = TRUE );
890 void insertChild( QObject *o ) { QObject::insertChild( o ); } 896 void insertChild( QObject *o ) { QObject::insertChild( o ); }
891 void removeChild( QObject *o ) { QObject::removeChild( o ); } 897 void removeChild( QObject *o ) { QObject::removeChild( o ); }
892 void insertChild( QTextDocument *d ) { childList.append( d ); } 898 void insertChild( QTextDocument *d ) { childList.append( d ); }
893 void removeChild( QTextDocument *d ) { childList.removeRef( d ); } 899 void removeChild( QTextDocument *d ) { childList.removeRef( d ); }
894 QPtrList<QTextDocument> children() const { return childList; } 900 QPtrList<QTextDocument> children() const { return childList; }
895 901
896 bool hasFocusParagraph() const; 902 bool hasFocusParagraph() const;
897 QString focusHref() const; 903 QString focusHref() const;
898 QString focusName() const; 904 QString focusName() const;
899 905
900 void invalidateOriginalText() { oTextValid = FALSE; oText = ""; } 906 void invalidateOriginalText() { oTextValid = FALSE; oText = ""; }
901 907
902signals: 908signals:
903 void minimumWidthChanged( int ); 909 void minimumWidthChanged( int );
904 910
905private: 911private:
906 void init(); 912 void init();
907 QPixmap *bufferPixmap( const QSize &s ); 913 QPixmap *bufferPixmap( const QSize &s );
908 // HTML parser 914 // HTML parser
909 bool hasPrefix(const QChar* doc, int length, int pos, QChar c); 915 bool hasPrefix(const QChar* doc, int length, int pos, QChar c);
910 bool hasPrefix(const QChar* doc, int length, int pos, const QString& s); 916 bool hasPrefix(const QChar* doc, int length, int pos, const QString& s);
911#ifndef QT_NO_TEXTCUSTOMITEM 917#ifndef QT_NO_TEXTCUSTOMITEM
912 QTextCustomItem* parseTable( const QMap<QString, QString> &attr, const QTextFormat &fmt, 918 QTextCustomItem* parseTable( const QMap<QString, QString> &attr, const QTextFormat &fmt,
913 const QChar* doc, int length, int& pos, QTextParagraph *curpar ); 919 const QChar* doc, int length, int& pos, QTextParagraph *curpar );
914#endif 920#endif
915 bool eatSpace(const QChar* doc, int length, int& pos, bool includeNbsp = FALSE ); 921 bool eatSpace(const QChar* doc, int length, int& pos, bool includeNbsp = FALSE );
916 bool eat(const QChar* doc, int length, int& pos, QChar c); 922 bool eat(const QChar* doc, int length, int& pos, QChar c);
917 QString parseOpenTag(const QChar* doc, int length, int& pos, QMap<QString, QString> &attr, bool& emptyTag); 923 QString parseOpenTag(const QChar* doc, int length, int& pos, QMap<QString, QString> &attr, bool& emptyTag);
918 QString parseCloseTag( const QChar* doc, int length, int& pos ); 924 QString parseCloseTag( const QChar* doc, int length, int& pos );
919 QChar parseHTMLSpecialChar(const QChar* doc, int length, int& pos); 925 QChar parseHTMLSpecialChar(const QChar* doc, int length, int& pos);
920 QString parseWord(const QChar* doc, int length, int& pos, bool lower = TRUE); 926 QString parseWord(const QChar* doc, int length, int& pos, bool lower = TRUE);
921 QChar parseChar(const QChar* doc, int length, int& pos, QStyleSheetItem::WhiteSpaceMode wsm ); 927 QChar parseChar(const QChar* doc, int length, int& pos, QStyleSheetItem::WhiteSpaceMode wsm );
922 void setRichTextInternal( const QString &text, QTextCursor* cursor = 0 ); 928 void setRichTextInternal( const QString &text, QTextCursor* cursor = 0 );
923 void setRichTextMarginsInternal( QPtrList< QPtrVector<QStyleSheetItem> >& styles, QTextParagraph* stylesPar ); 929 void setRichTextMarginsInternal( QPtrList< QPtrVector<QStyleSheetItem> >& styles, QTextParagraph* stylesPar );
924 930
925private: 931private:
926 struct Q_EXPORT Focus { 932 struct Q_EXPORT Focus {
927 QTextParagraph *parag; 933 QTextParagraph *parag;
928 int start, len; 934 int start, len;
929 QString href; 935 QString href;
930 QString name; 936 QString name;
931 }; 937 };
932 938
933 int cx, cy, cw, vw; 939 int cx, cy, cw, vw;
934 QTextParagraph *fParag, *lParag; 940 QTextParagraph *fParag, *lParag;
935 QTextPreProcessor *pProcessor; 941 QTextPreProcessor *pProcessor;
936 QMap<int, QColor> selectionColors; 942 QMap<int, QColor> selectionColors;
937 QMap<int, QTextDocumentSelection> selections; 943 QMap<int, QTextDocumentSelection> selections;
@@ -974,302 +980,301 @@ private:
974 int *tArray; 980 int *tArray;
975 int tStopWidth; 981 int tStopWidth;
976 int uDepth; 982 int uDepth;
977 QString oText; 983 QString oText;
978 QPtrList<QTextDocument> childList; 984 QPtrList<QTextDocument> childList;
979 QColor linkColor; 985 QColor linkColor;
980 double scaleFontsFactor; 986 double scaleFontsFactor;
981 987
982 short list_tm,list_bm, list_lm, li_tm, li_bm, par_tm, par_bm; 988 short list_tm,list_bm, list_lm, li_tm, li_bm, par_tm, par_bm;
983#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator= 989#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
984 QTextDocument( const QTextDocument & ); 990 QTextDocument( const QTextDocument & );
985 QTextDocument &operator=( const QTextDocument & ); 991 QTextDocument &operator=( const QTextDocument & );
986#endif 992#endif
987}; 993};
988 994
989// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 995// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
990 996
991 997
992class Q_EXPORT QTextDeleteCommand : public QTextCommand 998class Q_EXPORT QTextDeleteCommand : public QTextCommand
993{ 999{
994public: 1000public:
995 QTextDeleteCommand( QTextDocument *d, int i, int idx, const QMemArray<QTextStringChar> &str, 1001 QTextDeleteCommand( QTextDocument *d, int i, int idx, const QMemArray<QTextStringChar> &str,
996 const QByteArray& oldStyle ); 1002 const QByteArray& oldStyle );
997 QTextDeleteCommand( QTextParagraph *p, int idx, const QMemArray<QTextStringChar> &str ); 1003 QTextDeleteCommand( QTextParagraph *p, int idx, const QMemArray<QTextStringChar> &str );
998 virtual ~QTextDeleteCommand(); 1004 virtual ~QTextDeleteCommand();
999 1005
1000 Commands type() const { return Delete; } 1006 Commands type() const { return Delete; }
1001 QTextCursor *execute( QTextCursor *c ); 1007 QTextCursor *execute( QTextCursor *c );
1002 QTextCursor *unexecute( QTextCursor *c ); 1008 QTextCursor *unexecute( QTextCursor *c );
1003 1009
1004protected: 1010protected:
1005 int id, index; 1011 int id, index;
1006 QTextParagraph *parag; 1012 QTextParagraph *parag;
1007 QMemArray<QTextStringChar> text; 1013 QMemArray<QTextStringChar> text;
1008 QByteArray styleInformation; 1014 QByteArray styleInformation;
1009 1015
1010}; 1016};
1011 1017
1012class Q_EXPORT QTextInsertCommand : public QTextDeleteCommand 1018class Q_EXPORT QTextInsertCommand : public QTextDeleteCommand
1013{ 1019{
1014public: 1020public:
1015 QTextInsertCommand( QTextDocument *d, int i, int idx, const QMemArray<QTextStringChar> &str, 1021 QTextInsertCommand( QTextDocument *d, int i, int idx, const QMemArray<QTextStringChar> &str,
1016 const QByteArray& oldStyleInfo ) 1022 const QByteArray& oldStyleInfo )
1017 : QTextDeleteCommand( d, i, idx, str, oldStyleInfo ) {} 1023 : QTextDeleteCommand( d, i, idx, str, oldStyleInfo ) {}
1018 QTextInsertCommand( QTextParagraph *p, int idx, const QMemArray<QTextStringChar> &str ) 1024 QTextInsertCommand( QTextParagraph *p, int idx, const QMemArray<QTextStringChar> &str )
1019 : QTextDeleteCommand( p, idx, str ) {} 1025 : QTextDeleteCommand( p, idx, str ) {}
1020 virtual ~QTextInsertCommand() {} 1026 virtual ~QTextInsertCommand() {}
1021 1027
1022 Commands type() const { return Insert; } 1028 Commands type() const { return Insert; }
1023 QTextCursor *execute( QTextCursor *c ) { return QTextDeleteCommand::unexecute( c ); } 1029 QTextCursor *execute( QTextCursor *c ) { return QTextDeleteCommand::unexecute( c ); }
1024 QTextCursor *unexecute( QTextCursor *c ) { return QTextDeleteCommand::execute( c ); } 1030 QTextCursor *unexecute( QTextCursor *c ) { return QTextDeleteCommand::execute( c ); }
1025 1031
1026}; 1032};
1027 1033
1028class Q_EXPORT QTextFormatCommand : public QTextCommand 1034class Q_EXPORT QTextFormatCommand : public QTextCommand
1029{ 1035{
1030public: 1036public:
1031 QTextFormatCommand( QTextDocument *d, int sid, int sidx, int eid, int eidx, const QMemArray<QTextStringChar> &old, QTextFormat *f, int fl ); 1037 QTextFormatCommand( QTextDocument *d, int sid, int sidx, int eid, int eidx, const QMemArray<QTextStringChar> &old, QTextFormat *f, int fl );
1032 virtual ~QTextFormatCommand(); 1038 virtual ~QTextFormatCommand();
1033 1039
1034 Commands type() const { return Format; } 1040 Commands type() const { return Format; }
1035 QTextCursor *execute( QTextCursor *c ); 1041 QTextCursor *execute( QTextCursor *c );
1036 QTextCursor *unexecute( QTextCursor *c ); 1042 QTextCursor *unexecute( QTextCursor *c );
1037 1043
1038protected: 1044protected:
1039 int startId, startIndex, endId, endIndex; 1045 int startId, startIndex, endId, endIndex;
1040 QTextFormat *format; 1046 QTextFormat *format;
1041 QMemArray<QTextStringChar> oldFormats; 1047 QMemArray<QTextStringChar> oldFormats;
1042 int flags; 1048 int flags;
1043 1049
1044}; 1050};
1045 1051
1046class Q_EXPORT QTextStyleCommand : public QTextCommand 1052class Q_EXPORT QTextStyleCommand : public QTextCommand
1047{ 1053{
1048public: 1054public:
1049 QTextStyleCommand( QTextDocument *d, int fParag, int lParag, const QByteArray& beforeChange ); 1055 QTextStyleCommand( QTextDocument *d, int fParag, int lParag, const QByteArray& beforeChange );
1050 virtual ~QTextStyleCommand() {} 1056 virtual ~QTextStyleCommand() {}
1051 1057
1052 Commands type() const { return Style; } 1058 Commands type() const { return Style; }
1053 QTextCursor *execute( QTextCursor *c ); 1059 QTextCursor *execute( QTextCursor *c );
1054 QTextCursor *unexecute( QTextCursor *c ); 1060 QTextCursor *unexecute( QTextCursor *c );
1055 1061
1056 static QByteArray readStyleInformation( QTextDocument* d, int fParag, int lParag ); 1062 static QByteArray readStyleInformation( QTextDocument* d, int fParag, int lParag );
1057 static void writeStyleInformation( QTextDocument* d, int fParag, const QByteArray& style ); 1063 static void writeStyleInformation( QTextDocument* d, int fParag, const QByteArray& style );
1058 1064
1059private: 1065private:
1060 int firstParag, lastParag; 1066 int firstParag, lastParag;
1061 QByteArray before; 1067 QByteArray before;
1062 QByteArray after; 1068 QByteArray after;
1063}; 1069};
1064 1070
1065// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1071// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1066 1072
1067struct Q_EXPORT QTextParagraphSelection 1073struct Q_EXPORT QTextParagraphSelection
1068{ 1074{
1069 int start, end; 1075 int start, end;
1076 Q_DUMMY_COMPARISON_OPERATOR(QTextParagraphSelection)
1070}; 1077};
1071 1078
1072struct Q_EXPORT QTextLineStart 1079struct Q_EXPORT QTextLineStart
1073{ 1080{
1074 QTextLineStart() : y( 0 ), baseLine( 0 ), h( 0 ) 1081 QTextLineStart() : y( 0 ), baseLine( 0 ), h( 0 )
1075#ifndef QT_NO_COMPLEXTEXT 1082#ifndef QT_NO_COMPLEXTEXT
1076 , bidicontext( 0 ) 1083 , bidicontext( 0 )
1077#endif 1084#endif
1078 { } 1085 { }
1079 QTextLineStart( ushort y_, ushort bl, ushort h_ ) : y( y_ ), baseLine( bl ), h( h_ ), 1086 QTextLineStart( ushort y_, ushort bl, ushort h_ ) : y( y_ ), baseLine( bl ), h( h_ ),
1080 w( 0 ) 1087 w( 0 )
1081#ifndef QT_NO_COMPLEXTEXT 1088#ifndef QT_NO_COMPLEXTEXT
1082 , bidicontext( 0 ) 1089 , bidicontext( 0 )
1083#endif 1090#endif
1084 { } 1091 { }
1085#ifndef QT_NO_COMPLEXTEXT 1092#ifndef QT_NO_COMPLEXTEXT
1086 QTextLineStart( QBidiContext *c, QBidiStatus s ) : y(0), baseLine(0), h(0), 1093 QTextLineStart( QBidiContext *c, QBidiStatus s ) : y(0), baseLine(0), h(0),
1087 status( s ), bidicontext( c ) { if ( bidicontext ) bidicontext->ref(); } 1094 status( s ), bidicontext( c ) { if ( bidicontext ) bidicontext->ref(); }
1088#endif 1095#endif
1089 1096
1090 virtual ~QTextLineStart() 1097 virtual ~QTextLineStart()
1091 { 1098 {
1092#ifndef QT_NO_COMPLEXTEXT 1099#ifndef QT_NO_COMPLEXTEXT
1093 if ( bidicontext && bidicontext->deref() ) 1100 if ( bidicontext && bidicontext->deref() )
1094 delete bidicontext; 1101 delete bidicontext;
1095#endif 1102#endif
1096 } 1103 }
1097 1104
1098#ifndef QT_NO_COMPLEXTEXT 1105#ifndef QT_NO_COMPLEXTEXT
1099 void setContext( QBidiContext *c ) { 1106 void setContext( QBidiContext *c ) {
1100 if ( c == bidicontext ) 1107 if ( c == bidicontext )
1101 return; 1108 return;
1102 if ( bidicontext && bidicontext->deref() ) 1109 if ( bidicontext && bidicontext->deref() )
1103 delete bidicontext; 1110 delete bidicontext;
1104 bidicontext = c; 1111 bidicontext = c;
1105 if ( bidicontext ) 1112 if ( bidicontext )
1106 bidicontext->ref(); 1113 bidicontext->ref();
1107 } 1114 }
1108 QBidiContext *context() const { return bidicontext; } 1115 QBidiContext *context() const { return bidicontext; }
1109#endif 1116#endif
1110 1117
1111public: 1118public:
1112 ushort y, baseLine, h; 1119 ushort y, baseLine, h;
1113#ifndef QT_NO_COMPLEXTEXT 1120#ifndef QT_NO_COMPLEXTEXT
1114 QBidiStatus status; 1121 QBidiStatus status;
1115#endif 1122#endif
1116 int w; 1123 int w;
1117 1124
1118private: 1125private:
1119#ifndef QT_NO_COMPLEXTEXT 1126#ifndef QT_NO_COMPLEXTEXT
1120 QBidiContext *bidicontext; 1127 QBidiContext *bidicontext;
1121#endif 1128#endif
1122}; 1129};
1123 1130
1124#if defined(Q_TEMPLATEDLL) 1131#if defined(Q_TEMPLATEDLL)
1125// MOC_SKIP_BEGIN 1132// MOC_SKIP_BEGIN
1126Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QTextParagraphSelection>; 1133Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QTextParagraphSelection>;
1127Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QTextLineStart*>; 1134Q_TEMPLATE_EXTERN template class Q_EXPORT QMap<int, QTextLineStart*>;
1128// MOC_SKIP_END 1135// MOC_SKIP_END
1129#endif 1136#endif
1130 1137
1131class Q_EXPORT QTextParagraphData 1138class Q_EXPORT QTextParagraphData
1132{ 1139{
1133public: 1140public:
1134 QTextParagraphData() {} 1141 QTextParagraphData() {}
1135 virtual ~QTextParagraphData(); 1142 virtual ~QTextParagraphData();
1136 virtual void join( QTextParagraphData * ); 1143 virtual void join( QTextParagraphData * );
1137}; 1144};
1138 1145
1139class Q_EXPORT QTextParagraphPseudoDocument 1146class QTextParagraphPseudoDocument;
1140{ 1147
1141public: 1148class QSyntaxHighlighter;
1142 QTextParagraphPseudoDocument();
1143 ~QTextParagraphPseudoDocument();
1144 QRect docRect;
1145 QTextFormatter *pFormatter;
1146 QTextCommandHistory *commandHistory;
1147 int minw;
1148 int wused;
1149};
1150 1149
1151//nase
1152class Q_EXPORT QTextParagraph 1150class Q_EXPORT QTextParagraph
1153{ 1151{
1154 friend class QTextDocument; 1152 friend class QTextDocument;
1155 friend class QTextCursor; 1153 friend class QTextCursor;
1154 friend class QSyntaxHighlighter;
1156 1155
1157public: 1156public:
1158 QTextParagraph( QTextDocument *d, QTextParagraph *pr = 0, QTextParagraph *nx = 0, bool updateIds = TRUE ); 1157 QTextParagraph( QTextDocument *d, QTextParagraph *pr = 0, QTextParagraph *nx = 0, bool updateIds = TRUE );
1159 virtual ~QTextParagraph(); 1158 virtual ~QTextParagraph();
1160 1159
1161 QTextString *string() const; 1160 QTextString *string() const;
1162 QTextStringChar *at( int i ) const; // maybe remove later 1161 QTextStringChar *at( int i ) const; // maybe remove later
1163 int leftGap() const; 1162 int leftGap() const;
1164 int length() const; // maybe remove later 1163 int length() const; // maybe remove later
1165 1164
1166 void setListStyle( QStyleSheetItem::ListStyle ls ) { lstyle = ls; changed = TRUE; } 1165 void setListStyle( QStyleSheetItem::ListStyle ls ) { lstyle = ls; changed = TRUE; }
1167 QStyleSheetItem::ListStyle listStyle() const { return lstyle; } 1166 QStyleSheetItem::ListStyle listStyle() const { return lstyle; }
1168 void setListItem( bool li ); 1167 void setListItem( bool li );
1169 bool isListItem() const { return litem; } 1168 bool isListItem() const { return litem; }
1170 void setListValue( int v ) { list_val = v; } 1169 void setListValue( int v ) { list_val = v; }
1171 int listValue() const { return list_val > 0 ? list_val : -1; } 1170 int listValue() const { return list_val > 0 ? list_val : -1; }
1172 1171
1173 void setListDepth( int depth ); 1172 void setListDepth( int depth );
1174 int listDepth() const { return ldepth; } 1173 int listDepth() const { return ldepth; }
1175 1174
1176// void setFormat( QTextFormat *fm ); 1175// void setFormat( QTextFormat *fm );
1177// QTextFormat *paragFormat() const; 1176// QTextFormat *paragFormat() const;
1178 1177
1178#if defined(Q_STRICT_INLINING_RULES)
1179 // This is for the IRIX MIPSpro o32 ABI - it fails, claiming the
1180 // implementation to be a redefinition.
1181 inline QTextDocument *document() const;
1182#else
1179 QTextDocument *document() const; 1183 QTextDocument *document() const;
1184#endif
1180 QTextParagraphPseudoDocument *pseudoDocument() const; 1185 QTextParagraphPseudoDocument *pseudoDocument() const;
1181 1186
1182 QRect rect() const; 1187 QRect rect() const;
1183 void setHeight( int h ) { r.setHeight( h ); } 1188 void setHeight( int h ) { r.setHeight( h ); }
1184 void show(); 1189 void show();
1185 void hide(); 1190 void hide();
1186 bool isVisible() const { return visible; } 1191 bool isVisible() const { return visible; }
1187 1192
1188 QTextParagraph *prev() const; 1193 QTextParagraph *prev() const;
1189 QTextParagraph *next() const; 1194 QTextParagraph *next() const;
1190 void setPrev( QTextParagraph *s ); 1195 void setPrev( QTextParagraph *s );
1191 void setNext( QTextParagraph *s ); 1196 void setNext( QTextParagraph *s );
1192 1197
1193 void insert( int index, const QString &s ); 1198 void insert( int index, const QString &s );
1194 void insert( int index, const QChar *unicode, int len ); 1199 void insert( int index, const QChar *unicode, int len );
1195 void append( const QString &s, bool reallyAtEnd = FALSE ); 1200 void append( const QString &s, bool reallyAtEnd = FALSE );
1196 void truncate( int index ); 1201 void truncate( int index );
1197 void remove( int index, int len ); 1202 void remove( int index, int len );
1198 void join( QTextParagraph *s ); 1203 void join( QTextParagraph *s );
1199 1204
1200 void invalidate( int chr ); 1205 void invalidate( int chr );
1201 1206
1202 void move( int &dy ); 1207 void move( int &dy );
1203 void format( int start = -1, bool doMove = TRUE ); 1208 void format( int start = -1, bool doMove = TRUE );
1204 1209
1205 bool isValid() const; 1210 bool isValid() const;
1206 bool hasChanged() const; 1211 bool hasChanged() const;
1207 void setChanged( bool b, bool recursive = FALSE ); 1212 void setChanged( bool b, bool recursive = FALSE );
1208 1213
1209 int lineHeightOfChar( int i, int *bl = 0, int *y = 0 ) const; 1214 int lineHeightOfChar( int i, int *bl = 0, int *y = 0 ) const;
1210 QTextStringChar *lineStartOfChar( int i, int *index = 0, int *line = 0 ) const; 1215 QTextStringChar *lineStartOfChar( int i, int *index = 0, int *line = 0 ) const;
1211 int lines() const; 1216 int lines() const;
1212 QTextStringChar *lineStartOfLine( int line, int *index = 0 ) const; 1217 QTextStringChar *lineStartOfLine( int line, int *index = 0 ) const;
1213 int lineY( int l ) const; 1218 int lineY( int l ) const;
1214 int lineBaseLine( int l ) const; 1219 int lineBaseLine( int l ) const;
1215 int lineHeight( int l ) const; 1220 int lineHeight( int l ) const;
1216 void lineInfo( int l, int &y, int &h, int &bl ) const; 1221 void lineInfo( int l, int &y, int &h, int &bl ) const;
1217 1222
1218 void setSelection( int id, int start, int end ); 1223 void setSelection( int id, int start, int end );
1219 void removeSelection( int id ); 1224 void removeSelection( int id );
1220 int selectionStart( int id ) const; 1225 int selectionStart( int id ) const;
1221 int selectionEnd( int id ) const; 1226 int selectionEnd( int id ) const;
1222 bool hasSelection( int id ) const; 1227 bool hasSelection( int id ) const;
1223 bool hasAnySelection() const; 1228 bool hasAnySelection() const;
1224 bool fullSelected( int id ) const; 1229 bool fullSelected( int id ) const;
1225 1230
1226 void setEndState( int s ); 1231 void setEndState( int s );
1227 int endState() const; 1232 int endState() const;
1228 1233
1229 void setParagId( int i ); 1234 void setParagId( int i );
1230 int paragId() const; 1235 int paragId() const;
1231 1236
1232 bool firstPreProcess() const; 1237 bool firstPreProcess() const;
1233 void setFirstPreProcess( bool b ); 1238 void setFirstPreProcess( bool b );
1234 1239
1235 void indent( int *oldIndent = 0, int *newIndent = 0 ); 1240 void indent( int *oldIndent = 0, int *newIndent = 0 );
1236 1241
1237 void setExtraData( QTextParagraphData *data ); 1242 void setExtraData( QTextParagraphData *data );
1238 QTextParagraphData *extraData() const; 1243 QTextParagraphData *extraData() const;
1239 1244
1240 QMap<int, QTextLineStart*> &lineStartList(); 1245 QMap<int, QTextLineStart*> &lineStartList();
1241 1246
1242 void setFormat( int index, int len, QTextFormat *f, bool useCollection = TRUE, int flags = -1 ); 1247 void setFormat( int index, int len, QTextFormat *f, bool useCollection = TRUE, int flags = -1 );
1243 1248
1244 void setAlignment( int a ); 1249 void setAlignment( int a );
1245 int alignment() const; 1250 int alignment() const;
1246 1251
1247 virtual void paint( QPainter &painter, const QColorGroup &cg, QTextCursor *cursor = 0, bool drawSelections = FALSE, 1252 virtual void paint( QPainter &painter, const QColorGroup &cg, QTextCursor *cursor = 0, bool drawSelections = FALSE,
1248 int clipx = -1, int clipy = -1, int clipw = -1, int cliph = -1 ); 1253 int clipx = -1, int clipy = -1, int clipw = -1, int cliph = -1 );
1249 1254
1250 virtual int topMargin() const; 1255 virtual int topMargin() const;
1251 virtual int bottomMargin() const; 1256 virtual int bottomMargin() const;
1252 virtual int leftMargin() const; 1257 virtual int leftMargin() const;
1253 virtual int firstLineMargin() const; 1258 virtual int firstLineMargin() const;
1254 virtual int rightMargin() const; 1259 virtual int rightMargin() const;
1255 virtual int lineSpacing() const; 1260 virtual int lineSpacing() const;
1256 1261
1257#ifndef QT_NO_TEXTCUSTOMITEM 1262#ifndef QT_NO_TEXTCUSTOMITEM
1258 void registerFloatingItem( QTextCustomItem *i ); 1263 void registerFloatingItem( QTextCustomItem *i );
1259 void unregisterFloatingItem( QTextCustomItem *i ); 1264 void unregisterFloatingItem( QTextCustomItem *i );
1260#endif 1265#endif
1261 1266
1262 void setFullWidth( bool b ) { fullWidth = b; } 1267 void setFullWidth( bool b ) { fullWidth = b; }
1263 bool isFullWidth() const { return fullWidth; } 1268 bool isFullWidth() const { return fullWidth; }
1264 1269
1265#ifndef QT_NO_TEXTCUSTOMITEM 1270#ifndef QT_NO_TEXTCUSTOMITEM
1266 QTextTableCell *tableCell() const; 1271 QTextTableCell *tableCell() const;
1267#endif 1272#endif
1268 1273
1269 QBrush *background() const; 1274 QBrush *background() const;
1270 1275
1271 int documentWidth() const; 1276 int documentWidth() const;
1272 int documentVisibleWidth() const; 1277 int documentVisibleWidth() const;
1273 int documentX() const; 1278 int documentX() const;
1274 int documentY() const; 1279 int documentY() const;
1275 QTextFormatCollection *formatCollection() const; 1280 QTextFormatCollection *formatCollection() const;
@@ -1503,212 +1508,224 @@ public:
1503 int minRightBearing() const; 1508 int minRightBearing() const;
1504 int width( const QChar &c ) const; 1509 int width( const QChar &c ) const;
1505 int width( const QString &str, int pos ) const; 1510 int width( const QString &str, int pos ) const;
1506 int height() const; 1511 int height() const;
1507 int ascent() const; 1512 int ascent() const;
1508 int descent() const; 1513 int descent() const;
1509 int leading() const; 1514 int leading() const;
1510 bool useLinkColor() const; 1515 bool useLinkColor() const;
1511 1516
1512 void setBold( bool b ); 1517 void setBold( bool b );
1513 void setItalic( bool b ); 1518 void setItalic( bool b );
1514 void setUnderline( bool b ); 1519 void setUnderline( bool b );
1515 void setStrikeOut( bool b ); 1520 void setStrikeOut( bool b );
1516 void setFamily( const QString &f ); 1521 void setFamily( const QString &f );
1517 void setPointSize( int s ); 1522 void setPointSize( int s );
1518 void setFont( const QFont &f ); 1523 void setFont( const QFont &f );
1519 void setColor( const QColor &c ); 1524 void setColor( const QColor &c );
1520 void setMisspelled( bool b ); 1525 void setMisspelled( bool b );
1521 void setVAlign( VerticalAlignment a ); 1526 void setVAlign( VerticalAlignment a );
1522 1527
1523 bool operator==( const QTextFormat &f ) const; 1528 bool operator==( const QTextFormat &f ) const;
1524 QTextFormatCollection *parent() const; 1529 QTextFormatCollection *parent() const;
1525 const QString &key() const; 1530 const QString &key() const;
1526 1531
1527 static QString getKey( const QFont &f, const QColor &c, bool misspelled, VerticalAlignment vAlign ); 1532 static QString getKey( const QFont &f, const QColor &c, bool misspelled, VerticalAlignment vAlign );
1528 1533
1529 void addRef(); 1534 void addRef();
1530 void removeRef(); 1535 void removeRef();
1531 1536
1532 QString makeFormatChangeTags( QTextFormat* defaultFormat, QTextFormat *f, const QString& oldAnchorHref, const QString& anchorHref ) const; 1537 QString makeFormatChangeTags( QTextFormat* defaultFormat, QTextFormat *f, const QString& oldAnchorHref, const QString& anchorHref ) const;
1533 QString makeFormatEndTags( QTextFormat* defaultFormat, const QString& anchorHref ) const; 1538 QString makeFormatEndTags( QTextFormat* defaultFormat, const QString& anchorHref ) const;
1534 1539
1535 static void setPainter( QPainter *p ); 1540 static void setPainter( QPainter *p );
1536 static QPainter* painter(); 1541 static QPainter* painter();
1537 1542
1538 bool fontSizesInPixels() { return usePixelSizes; } 1543 bool fontSizesInPixels() { return usePixelSizes; }
1539 1544
1540protected: 1545protected:
1541 virtual void generateKey(); 1546 virtual void generateKey();
1542 1547
1543private: 1548private:
1544 void update(); 1549 void update();
1545 static void applyFont( const QFont &f ); 1550 static void applyFont( const QFont &f );
1546 1551
1547private: 1552private:
1548 QFont fn; 1553 QFont fn;
1549 QColor col; 1554 QColor col;
1550 QFontMetrics fm; 1555 QFontMetrics fm;
1551 uint missp : 1; 1556 uint missp : 1;
1552 uint linkColor : 1; 1557 uint linkColor : 1;
1553 uint usePixelSizes : 1; 1558 uint usePixelSizes : 1;
1554 int leftBearing, rightBearing; 1559 int leftBearing, rightBearing;
1555 VerticalAlignment ha; 1560 VerticalAlignment ha;
1556 uchar widths[ 256 ]; 1561 uchar widths[ 256 ];
1557 int hei, asc, dsc; 1562 int hei, asc, dsc;
1558 QTextFormatCollection *collection; 1563 QTextFormatCollection *collection;
1559 int ref; 1564 int ref;
1560 QString k; 1565 QString k;
1561 int logicalFontSize; 1566 int logicalFontSize;
1562 int stdSize; 1567 int stdSize;
1563 static QPainter *pntr; 1568 static QPainter *pntr;
1564 static QFontMetrics *pntr_fm; 1569 static QFontMetrics *pntr_fm;
1565 static int pntr_asc; 1570 static int pntr_asc;
1566 static int pntr_hei; 1571 static int pntr_hei;
1567 static int pntr_ldg; 1572 static int pntr_ldg;
1568 static int pntr_dsc; 1573 static int pntr_dsc;
1569 1574
1570}; 1575};
1571 1576
1572// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1577// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1573 1578
1574#if defined(Q_TEMPLATEDLL) 1579#if defined(Q_TEMPLATEDLL)
1575// MOC_SKIP_BEGIN 1580// MOC_SKIP_BEGIN
1576Q_TEMPLATE_EXTERN template class Q_EXPORT QDict<QTextFormat>; 1581Q_TEMPLATE_EXTERN template class Q_EXPORT QDict<QTextFormat>;
1577// MOC_SKIP_END 1582// MOC_SKIP_END
1578#endif 1583#endif
1579 1584
1580class Q_EXPORT QTextFormatCollection 1585class Q_EXPORT QTextFormatCollection
1581{ 1586{
1582 friend class QTextDocument; 1587 friend class QTextDocument;
1583 friend class QTextFormat; 1588 friend class QTextFormat;
1584 1589
1585public: 1590public:
1586 QTextFormatCollection(); 1591 QTextFormatCollection();
1587 virtual ~QTextFormatCollection(); 1592 virtual ~QTextFormatCollection();
1588 1593
1589 void setDefaultFormat( QTextFormat *f ); 1594 void setDefaultFormat( QTextFormat *f );
1590 QTextFormat *defaultFormat() const; 1595 QTextFormat *defaultFormat() const;
1591 virtual QTextFormat *format( QTextFormat *f ); 1596 virtual QTextFormat *format( QTextFormat *f );
1592 virtual QTextFormat *format( QTextFormat *of, QTextFormat *nf, int flags ); 1597 virtual QTextFormat *format( QTextFormat *of, QTextFormat *nf, int flags );
1593 virtual QTextFormat *format( const QFont &f, const QColor &c ); 1598 virtual QTextFormat *format( const QFont &f, const QColor &c );
1594 virtual void remove( QTextFormat *f ); 1599 virtual void remove( QTextFormat *f );
1595 virtual QTextFormat *createFormat( const QTextFormat &f ) { return new QTextFormat( f ); } 1600 virtual QTextFormat *createFormat( const QTextFormat &f ) { return new QTextFormat( f ); }
1596 virtual QTextFormat *createFormat( const QFont &f, const QColor &c ) { return new QTextFormat( f, c, this ); } 1601 virtual QTextFormat *createFormat( const QFont &f, const QColor &c ) { return new QTextFormat( f, c, this ); }
1597 1602
1598 void updateDefaultFormat( const QFont &font, const QColor &c, QStyleSheet *sheet ); 1603 void updateDefaultFormat( const QFont &font, const QColor &c, QStyleSheet *sheet );
1599 QDict<QTextFormat> dict() const { return cKey; }
1600 1604
1601 QPaintDevice *paintDevice() const { return paintdevice; } 1605 QPaintDevice *paintDevice() const { return paintdevice; }
1602 void setPaintDevice( QPaintDevice * ); 1606 void setPaintDevice( QPaintDevice * );
1603 1607
1604private: 1608private:
1605 void updateKeys(); 1609 void updateKeys();
1606 1610
1607private: 1611private:
1608 QTextFormat *defFormat, *lastFormat, *cachedFormat; 1612 QTextFormat *defFormat, *lastFormat, *cachedFormat;
1609 QDict<QTextFormat> cKey; 1613 QDict<QTextFormat> cKey;
1610 QTextFormat *cres; 1614 QTextFormat *cres;
1611 QFont cfont; 1615 QFont cfont;
1612 QColor ccol; 1616 QColor ccol;
1613 QString kof, knf; 1617 QString kof, knf;
1614 int cflags; 1618 int cflags;
1615 1619
1616 QPaintDevice *paintdevice; 1620 QPaintDevice *paintdevice;
1617}; 1621};
1618 1622
1623class Q_EXPORT QTextParagraphPseudoDocument
1624{
1625public:
1626 QTextParagraphPseudoDocument();
1627 ~QTextParagraphPseudoDocument();
1628 QRect docRect;
1629 QTextFormatter *pFormatter;
1630 QTextCommandHistory *commandHistory;
1631 int minw;
1632 int wused;
1633 QTextFormatCollection collection;
1634};
1635
1619// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1636// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1620 1637
1621inline int QTextString::length() const 1638inline int QTextString::length() const
1622{ 1639{
1623 return data.size(); 1640 return data.size();
1624} 1641}
1625 1642
1626inline int QTextParagraph::length() const 1643inline int QTextParagraph::length() const
1627{ 1644{
1628 return str->length(); 1645 return str->length();
1629} 1646}
1630 1647
1631inline QRect QTextParagraph::rect() const 1648inline QRect QTextParagraph::rect() const
1632{ 1649{
1633 return r; 1650 return r;
1634} 1651}
1635 1652
1636inline QTextParagraph *QTextCursor::paragraph() const 1653inline QTextParagraph *QTextCursor::paragraph() const
1637{ 1654{
1638 return para; 1655 return para;
1639} 1656}
1640 1657
1641inline int QTextCursor::index() const 1658inline int QTextCursor::index() const
1642{ 1659{
1643 return idx; 1660 return idx;
1644} 1661}
1645 1662
1646 1663
1647// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1664// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1648 1665
1649inline int QTextDocument::x() const 1666inline int QTextDocument::x() const
1650{ 1667{
1651 return cx; 1668 return cx;
1652} 1669}
1653 1670
1654inline int QTextDocument::y() const 1671inline int QTextDocument::y() const
1655{ 1672{
1656 return cy; 1673 return cy;
1657} 1674}
1658 1675
1659inline int QTextDocument::width() const 1676inline int QTextDocument::width() const
1660{ 1677{
1661 return QMAX( cw, flow_->width() ); 1678 return QMAX( cw, flow_->width() );
1662} 1679}
1663 1680
1664inline int QTextDocument::visibleWidth() const 1681inline int QTextDocument::visibleWidth() const
1665{ 1682{
1666 return vw; 1683 return vw;
1667} 1684}
1668 1685
1669inline QTextParagraph *QTextDocument::firstParagraph() const 1686inline QTextParagraph *QTextDocument::firstParagraph() const
1670{ 1687{
1671 return fParag; 1688 return fParag;
1672} 1689}
1673 1690
1674inline QTextParagraph *QTextDocument::lastParagraph() const 1691inline QTextParagraph *QTextDocument::lastParagraph() const
1675{ 1692{
1676 return lParag; 1693 return lParag;
1677} 1694}
1678 1695
1679inline void QTextDocument::setFirstParagraph( QTextParagraph *p ) 1696inline void QTextDocument::setFirstParagraph( QTextParagraph *p )
1680{ 1697{
1681 fParag = p; 1698 fParag = p;
1682} 1699}
1683 1700
1684inline void QTextDocument::setLastParagraph( QTextParagraph *p ) 1701inline void QTextDocument::setLastParagraph( QTextParagraph *p )
1685{ 1702{
1686 lParag = p; 1703 lParag = p;
1687} 1704}
1688 1705
1689inline void QTextDocument::setWidth( int w ) 1706inline void QTextDocument::setWidth( int w )
1690{ 1707{
1691 cw = QMAX( w, minw ); 1708 cw = QMAX( w, minw );
1692 flow_->setWidth( cw ); 1709 flow_->setWidth( cw );
1693 vw = w; 1710 vw = w;
1694} 1711}
1695 1712
1696inline int QTextDocument::minimumWidth() const 1713inline int QTextDocument::minimumWidth() const
1697{ 1714{
1698 return minw; 1715 return minw;
1699} 1716}
1700 1717
1701inline void QTextDocument::setY( int y ) 1718inline void QTextDocument::setY( int y )
1702{ 1719{
1703 cy = y; 1720 cy = y;
1704} 1721}
1705 1722
1706inline int QTextDocument::leftMargin() const 1723inline int QTextDocument::leftMargin() const
1707{ 1724{
1708 return leftmargin; 1725 return leftmargin;
1709} 1726}
1710 1727
1711inline void QTextDocument::setLeftMargin( int lm ) 1728inline void QTextDocument::setLeftMargin( int lm )
1712{ 1729{
1713 leftmargin = lm; 1730 leftmargin = lm;
1714} 1731}
@@ -1735,192 +1752,198 @@ inline void QTextDocument::setPreProcessor( QTextPreProcessor * sh )
1735 1752
1736inline void QTextDocument::setFormatter( QTextFormatter *f ) 1753inline void QTextDocument::setFormatter( QTextFormatter *f )
1737{ 1754{
1738 delete pFormatter; 1755 delete pFormatter;
1739 pFormatter = f; 1756 pFormatter = f;
1740} 1757}
1741 1758
1742inline QTextFormatter *QTextDocument::formatter() const 1759inline QTextFormatter *QTextDocument::formatter() const
1743{ 1760{
1744 return pFormatter; 1761 return pFormatter;
1745} 1762}
1746 1763
1747inline void QTextDocument::setIndent( QTextIndent *i ) 1764inline void QTextDocument::setIndent( QTextIndent *i )
1748{ 1765{
1749 indenter = i; 1766 indenter = i;
1750} 1767}
1751 1768
1752inline QTextIndent *QTextDocument::indent() const 1769inline QTextIndent *QTextDocument::indent() const
1753{ 1770{
1754 return indenter; 1771 return indenter;
1755} 1772}
1756 1773
1757inline QColor QTextDocument::selectionColor( int id ) const 1774inline QColor QTextDocument::selectionColor( int id ) const
1758{ 1775{
1759 return selectionColors[ id ]; 1776 return selectionColors[ id ];
1760} 1777}
1761 1778
1762inline bool QTextDocument::invertSelectionText( int id ) const 1779inline bool QTextDocument::invertSelectionText( int id ) const
1763{ 1780{
1764 return selectionText[ id ]; 1781 return selectionText[ id ];
1765} 1782}
1766 1783
1767inline void QTextDocument::setSelectionColor( int id, const QColor &c ) 1784inline void QTextDocument::setSelectionColor( int id, const QColor &c )
1768{ 1785{
1769 selectionColors[ id ] = c; 1786 selectionColors[ id ] = c;
1770} 1787}
1771 1788
1772inline void QTextDocument::setInvertSelectionText( int id, bool b ) 1789inline void QTextDocument::setInvertSelectionText( int id, bool b )
1773{ 1790{
1774 selectionText[ id ] = b; 1791 selectionText[ id ] = b;
1775} 1792}
1776 1793
1777inline QTextFormatCollection *QTextDocument::formatCollection() const 1794inline QTextFormatCollection *QTextDocument::formatCollection() const
1778{ 1795{
1779 return fCollection; 1796 return fCollection;
1780} 1797}
1781 1798
1782inline int QTextDocument::alignment() const 1799inline int QTextDocument::alignment() const
1783{ 1800{
1784 return align; 1801 return align;
1785} 1802}
1786 1803
1787inline void QTextDocument::setAlignment( int a ) 1804inline void QTextDocument::setAlignment( int a )
1788{ 1805{
1789 align = a; 1806 align = a;
1790} 1807}
1791 1808
1792inline int *QTextDocument::tabArray() const 1809inline int *QTextDocument::tabArray() const
1793{ 1810{
1794 return tArray; 1811 return tArray;
1795} 1812}
1796 1813
1797inline int QTextDocument::tabStopWidth() const 1814inline int QTextDocument::tabStopWidth() const
1798{ 1815{
1799 return tStopWidth; 1816 return tStopWidth;
1800} 1817}
1801 1818
1802inline void QTextDocument::setTabArray( int *a ) 1819inline void QTextDocument::setTabArray( int *a )
1803{ 1820{
1804 tArray = a; 1821 tArray = a;
1805} 1822}
1806 1823
1807inline void QTextDocument::setTabStops( int tw ) 1824inline void QTextDocument::setTabStops( int tw )
1808{ 1825{
1809 tStopWidth = tw; 1826 tStopWidth = tw;
1810} 1827}
1811 1828
1812inline QString QTextDocument::originalText() const 1829inline QString QTextDocument::originalText() const
1813{ 1830{
1814 if ( oTextValid ) 1831 if ( oTextValid )
1815 return oText; 1832 return oText;
1816 return text(); 1833 return text();
1817} 1834}
1818 1835
1819inline void QTextDocument::setFlow( QTextFlow *f ) 1836inline void QTextDocument::setFlow( QTextFlow *f )
1820{ 1837{
1821 if ( flow_ ) 1838 if ( flow_ )
1822 delete flow_; 1839 delete flow_;
1823 flow_ = f; 1840 flow_ = f;
1824} 1841}
1825 1842
1826inline void QTextDocument::takeFlow() 1843inline void QTextDocument::takeFlow()
1827{ 1844{
1828 flow_ = 0; 1845 flow_ = 0;
1829} 1846}
1830 1847
1848inline bool QTextDocument::useDoubleBuffer( QTextParagraph *parag, QPainter *p )
1849{
1850 return ( !parag->document()->parent() || parag->document()->nextDoubleBuffered ) &&
1851 ( !p || !p->device() || p->device()->devType() != QInternal::Printer );
1852}
1853
1831// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1854// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1832 1855
1833inline QColor QTextFormat::color() const 1856inline QColor QTextFormat::color() const
1834{ 1857{
1835 return col; 1858 return col;
1836} 1859}
1837 1860
1838inline QFont QTextFormat::font() const 1861inline QFont QTextFormat::font() const
1839{ 1862{
1840 return fn; 1863 return fn;
1841} 1864}
1842 1865
1843inline bool QTextFormat::isMisspelled() const 1866inline bool QTextFormat::isMisspelled() const
1844{ 1867{
1845 return missp; 1868 return missp;
1846} 1869}
1847 1870
1848inline QTextFormat::VerticalAlignment QTextFormat::vAlign() const 1871inline QTextFormat::VerticalAlignment QTextFormat::vAlign() const
1849{ 1872{
1850 return ha; 1873 return ha;
1851} 1874}
1852 1875
1853inline bool QTextFormat::operator==( const QTextFormat &f ) const 1876inline bool QTextFormat::operator==( const QTextFormat &f ) const
1854{ 1877{
1855 return k == f.k; 1878 return k == f.k;
1856} 1879}
1857 1880
1858inline QTextFormatCollection *QTextFormat::parent() const 1881inline QTextFormatCollection *QTextFormat::parent() const
1859{ 1882{
1860 return collection; 1883 return collection;
1861} 1884}
1862 1885
1863inline void QTextFormat::addRef() 1886inline void QTextFormat::addRef()
1864{ 1887{
1865 ref++; 1888 ref++;
1866} 1889}
1867 1890
1868inline void QTextFormat::removeRef() 1891inline void QTextFormat::removeRef()
1869{ 1892{
1870 ref--; 1893 ref--;
1871 if ( !collection ) 1894 if ( !collection )
1872 return; 1895 return;
1873 if ( this == collection->defFormat ) 1896 if ( this == collection->defFormat )
1874 return; 1897 return;
1875 if ( ref == 0 ) 1898 if ( ref == 0 )
1876 collection->remove( this ); 1899 collection->remove( this );
1877} 1900}
1878 1901
1879inline const QString &QTextFormat::key() const 1902inline const QString &QTextFormat::key() const
1880{ 1903{
1881 return k; 1904 return k;
1882} 1905}
1883 1906
1884inline bool QTextFormat::useLinkColor() const 1907inline bool QTextFormat::useLinkColor() const
1885{ 1908{
1886 return linkColor; 1909 return linkColor;
1887} 1910}
1888 1911
1889 1912
1890// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1913// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1891 1914
1892inline QTextStringChar &QTextString::at( int i ) const 1915inline QTextStringChar &QTextString::at( int i ) const
1893{ 1916{
1894 return data[ i ]; 1917 return data[ i ];
1895} 1918}
1896 1919
1897// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1920// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1898 1921
1899inline QTextStringChar *QTextParagraph::at( int i ) const 1922inline QTextStringChar *QTextParagraph::at( int i ) const
1900{ 1923{
1901 return &str->at( i ); 1924 return &str->at( i );
1902} 1925}
1903 1926
1904inline bool QTextParagraph::isValid() const 1927inline bool QTextParagraph::isValid() const
1905{ 1928{
1906 return invalid == -1; 1929 return invalid == -1;
1907} 1930}
1908 1931
1909inline bool QTextParagraph::hasChanged() const 1932inline bool QTextParagraph::hasChanged() const
1910{ 1933{
1911 return changed; 1934 return changed;
1912} 1935}
1913 1936
1914inline void QTextParagraph::setBackgroundColor( const QColor & c ) 1937inline void QTextParagraph::setBackgroundColor( const QColor & c )
1915{ 1938{
1916 delete bgcol; 1939 delete bgcol;
1917 bgcol = new QColor( c ); 1940 bgcol = new QColor( c );
1918 setChanged( TRUE ); 1941 setChanged( TRUE );
1919} 1942}
1920 1943
1921inline void QTextParagraph::clearBackgroundColor() 1944inline void QTextParagraph::clearBackgroundColor()
1922{ 1945{
1923 delete bgcol; bgcol = 0; setChanged( TRUE ); 1946 delete bgcol; bgcol = 0; setChanged( TRUE );
1924} 1947}
1925 1948
1926inline void QTextParagraph::append( const QString &s, bool reallyAtEnd ) 1949inline void QTextParagraph::append( const QString &s, bool reallyAtEnd )
diff --git a/qmake/include/private/qsettings_p.h b/qmake/include/private/qsettings_p.h
index 18d118b..095291c 100644
--- a/qmake/include/private/qsettings_p.h
+++ b/qmake/include/private/qsettings_p.h
@@ -1,133 +1,133 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of QSettings related classes 4** Definition of QSettings related classes
5** 5**
6** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. 6** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
7** 7**
8** This file is part of the tools module of the Qt GUI Toolkit. 8** This file is part of the tools module of the Qt GUI Toolkit.
9** 9**
10** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 10** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
11** licenses for Windows may use this file in accordance with the Qt Commercial 11** licenses for Windows may use this file in accordance with the Qt Commercial
12** License Agreement provided with the Software. 12** License Agreement provided with the Software.
13** 13**
14** This file is not available for use under any other license without 14** This file is not available for use under any other license without
15** express written permission from the copyright holder. 15** express written permission from the copyright holder.
16** 16**
17** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 17** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
18** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 18** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19** 19**
20** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 20** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
21** information about Qt Commercial License Agreements. 21** information about Qt Commercial License Agreements.
22** 22**
23** Contact info@trolltech.com if any conditions of this licensing are 23** Contact info@trolltech.com if any conditions of this licensing are
24** not clear to you. 24** not clear to you.
25** 25**
26**********************************************************************/ 26**********************************************************************/
27 27
28#ifndef QSETTINGS_P_H 28#ifndef QSETTINGS_P_H
29#define QSETTINGS_P_H 29#define QSETTINGS_P_H
30 30
31// 31//
32// W A R N I N G 32// W A R N I N G
33// ------------- 33// -------------
34// 34//
35// This file is not part of the Qt API. It exists for the convenience 35// This file is not part of the Qt API. It exists for the convenience
36// of QSettings. This header file may change from version to 36// of QSettings. This header file may change from version to
37// version without notice, or even be removed. 37// version without notice, or even be removed.
38// 38//
39// We mean it. 39// We mean it.
40// 40//
41// 41//
42 42
43#ifndef QT_H 43#ifndef QT_H
44#include "qstringlist.h" 44#include "qstringlist.h"
45#include "qmap.h" 45#include "qmap.h"
46#include "qvaluestack.h" 46#include "qvaluestack.h"
47#endif // QT_H 47#endif // QT_H
48 48
49class QSettingsSysPrivate; 49class QSettingsSysPrivate;
50 50
51// QSettingsGroup is a map of key/value pairs 51// QSettingsGroup is a map of key/value pairs
52class QSettingsGroup : public QMap<QString,QString> 52class QSettingsGroup : public QMap<QString,QString>
53{ 53{
54public: 54public:
55 QSettingsGroup(); 55 QSettingsGroup();
56 56
57 bool modified; 57 bool modified;
58}; 58};
59 59
60// QSettingsHeading is a map of heading/group pairs 60// QSettingsHeading is a map of heading/group pairs
61class QSettingsHeading : public QMap<QString,QSettingsGroup> 61class QSettingsHeading : public QMap<QString,QSettingsGroup>
62{ 62{
63public: 63public:
64 QSettingsHeading::Iterator git; 64 QSettingsHeading::Iterator git;
65 void read(const QString &); 65 void read(const QString &);
66 void parseLine(QTextStream &); 66 void parseLine(QTextStream &);
67}; 67};
68 68
69 69
70class QSettingsPrivate 70class QSettingsPrivate
71{ 71{
72public: 72public:
73 QSettingsPrivate( QSettings::Format format ); 73 QSettingsPrivate( QSettings::Format format );
74 ~QSettingsPrivate(); 74 ~QSettingsPrivate();
75 75
76 QSettingsGroup readGroup(); 76 QSettingsGroup readGroup();
77 void removeGroup(const QString &); 77 void removeGroup(const QString &);
78 void writeGroup(const QString &, const QString &); 78 void writeGroup(const QString &, const QString &);
79 QDateTime modificationTime(); 79 QDateTime modificationTime();
80 80
81 QStringList searchPaths; 81 QStringList searchPaths;
82 QMap<QString,QSettingsHeading> headings; 82 QMap<QString,QSettingsHeading> headings;
83 QString group; 83 QString group;
84 QString heading; 84 QString heading;
85 85
86 /*### static data brings threading trouble 86 /*### static data brings threading trouble
87 static QString *defProduct; 87 static QString *defProduct;
88 static QString *defDomain; 88 static QString *defDomain;
89 */ 89 */
90 QValueStack<QString> groupStack; 90 QValueStack<QString> groupStack;
91 QString groupPrefix; 91 QString groupPrefix;
92 92
93 bool groupDirty :1; 93 bool groupDirty :1;
94 bool modified :1; 94 bool modified :1;
95 bool globalScope :1; 95 bool globalScope :1;
96 96
97#if defined(Q_WS_WIN) || defined(Q_OS_MAC) 97#if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC))
98 // system dependent implementations to use the 98 // system dependent implementations to use the
99 // system specific setting database (ie. registry on Windows) 99 // system specific setting database (ie. registry on Windows)
100 100
101 QSettingsSysPrivate *sysd; 101 QSettingsSysPrivate *sysd;
102 voidsysInit(); 102 voidsysInit();
103 voidsysClear(); 103 voidsysClear();
104 104
105#if !defined(Q_NO_BOOL_TYPE) 105#if !defined(Q_NO_BOOL_TYPE)
106 boolsysWriteEntry( const QString &, bool ); 106 boolsysWriteEntry( const QString &, bool );
107#endif 107#endif
108 boolsysWriteEntry( const QString &, double ); 108 boolsysWriteEntry( const QString &, double );
109 boolsysWriteEntry( const QString &, int ); 109 boolsysWriteEntry( const QString &, int );
110 boolsysWriteEntry( const QString &, const QString & ); 110 boolsysWriteEntry( const QString &, const QString & );
111 boolsysWriteEntry( const QString &, const QStringList & ); 111 boolsysWriteEntry( const QString &, const QStringList & );
112 boolsysWriteEntry( const QString &, const QStringList &, const QChar& sep ); 112 boolsysWriteEntry( const QString &, const QStringList &, const QChar& sep );
113 113
114 QStringList sysEntryList(const QString &) const; 114 QStringList sysEntryList(const QString &) const;
115 QStringList sysSubkeyList(const QString &) const; 115 QStringList sysSubkeyList(const QString &) const;
116 116
117 QStringList sysReadListEntry( const QString &, bool * = 0 ) const; 117 QStringList sysReadListEntry( const QString &, bool * = 0 ) const;
118 QStringList sysReadListEntry( const QString &, const QChar& sep, bool * = 0 ) const; 118 QStringList sysReadListEntry( const QString &, const QChar& sep, bool * = 0 ) const;
119 QStringsysReadEntry( const QString &, const QString &def = QString::null, bool * = 0 ) const; 119 QStringsysReadEntry( const QString &, const QString &def = QString::null, bool * = 0 ) const;
120 int sysReadNumEntry( const QString &, int def = 0, bool * = 0 ) const; 120 int sysReadNumEntry( const QString &, int def = 0, bool * = 0 ) const;
121 doublesysReadDoubleEntry( const QString &, double def = 0, bool * = 0 ) const; 121 doublesysReadDoubleEntry( const QString &, double def = 0, bool * = 0 ) const;
122 boolsysReadBoolEntry( const QString &, bool def = 0, bool * = 0 ) const; 122 boolsysReadBoolEntry( const QString &, bool def = 0, bool * = 0 ) const;
123 123
124 boolsysRemoveEntry( const QString & ); 124 boolsysRemoveEntry( const QString & );
125 125
126 boolsysSync(); 126 boolsysSync();
127 127
128 voidsysInsertSearchPath( QSettings::System, const QString & ); 128 voidsysInsertSearchPath( QSettings::System, const QString & );
129 voidsysRemoveSearchPath( QSettings::System, const QString & ); 129 voidsysRemoveSearchPath( QSettings::System, const QString & );
130#endif 130#endif
131}; 131};
132 132
133#endif // QSETTINGS_P_H 133#endif // QSETTINGS_P_H
diff --git a/qmake/include/private/qsharedmemory_p.h b/qmake/include/private/qsharedmemory_p.h
index 4a8339d..927de89 100644
--- a/qmake/include/private/qsharedmemory_p.h
+++ b/qmake/include/private/qsharedmemory_p.h
@@ -1,84 +1,87 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Includes system files for shared memory 4** Includes system files for shared memory
5** 5**
6** Created : 020124 6** Created : 020124
7** 7**
8** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. 8** Copyright (C) 2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the kernel module of the Qt GUI Toolkit. 10** This file is part of the kernel module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed and/or modified under the terms of the 12** This file may be distributed and/or modified under the terms of the
13** GNU General Public License version 2 as published by the Free Software 13** GNU General Public License version 2 as published by the Free Software
14** Foundation and appearing in the file LICENSE.GPL included in the 14** Foundation and appearing in the file LICENSE.GPL included in the
15** packaging of this file. 15** packaging of this file.
16** 16**
17** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 17** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
18** licenses for Qt/Embedded may use this file in accordance with the 18** licenses for Qt/Embedded may use this file in accordance with the
19** Qt Embedded Commercial License Agreement provided with the Software. 19** Qt Embedded Commercial License Agreement provided with the Software.
20** 20**
21** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 21** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
22** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 22** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
23** 23**
24** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 24** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
25** information about Qt Commercial License Agreements. 25** information about Qt Commercial License Agreements.
26** See http://www.trolltech.com/gpl/ for GPL licensing information. 26** See http://www.trolltech.com/gpl/ for GPL licensing information.
27** 27**
28** Contact info@trolltech.com if any conditions of this licensing are 28** Contact info@trolltech.com if any conditions of this licensing are
29** not clear to you. 29** not clear to you.
30** 30**
31**********************************************************************/ 31**********************************************************************/
32 32
33#ifndef QSHAREDMEMORY_P_H
34#define QSHAREDMEMORY_P_H
35
33// 36//
34// W A R N I N G 37// W A R N I N G
35// ------------- 38// -------------
36// 39//
37// This file is not part of the Qt API. It exists for the convenience 40// This file is not part of the Qt API. It exists for the convenience
38// of qapplication_qws.cpp and qgfxvnc_qws.cpp. This header file may 41// of qapplication_qws.cpp and qgfxvnc_qws.cpp. This header file may
39// change from version to version without notice, or even be removed. 42// change from version to version without notice, or even be removed.
40// 43//
44// We mean it.
45//
41// 46//
42
43#if !defined(QT_QSHM_H)
44#define QT_QSHM_H
45 47
46#include <qstring.h> 48#include <qstring.h>
47 49
48#if !defined (QT_QWS_NO_SHM) 50#if !defined (QT_QWS_NO_SHM)
49 51
50#include <sys/types.h> 52#include <sys/types.h>
51#include <sys/ipc.h> 53#include <sys/ipc.h>
52 54
53class QSharedMemory { 55class QSharedMemory {
54public: 56public:
55 QSharedMemory(){}; 57 QSharedMemory(){};
56 QSharedMemory(int, QString, char c = 'Q'); 58 QSharedMemory(int, QString, char c = 'Q');
57 ~QSharedMemory(){}; 59 ~QSharedMemory(){};
58 60
59 bool create(); 61 bool create();
60 void destroy(); 62 void destroy();
61 63
62 bool attach(); 64 bool attach();
63 void detach(); 65 void detach();
64 66
65 void setPermissions(mode_t mode); 67 void setPermissions(mode_t mode);
66 int size(); 68 int size();
67 void * base() { return shmBase; }; 69 void * base() { return shmBase; };
68 70
69private: 71private:
70 void *shmBase; 72 void *shmBase;
71 int shmSize; 73 int shmSize;
72 QString shmFile; 74 QString shmFile;
73 char character; 75 char character;
74#if defined(QT_POSIX_QSHM) 76#if defined(QT_POSIX_QSHM)
75 int shmFD; 77 int shmFD;
76#else 78#else
77 int shmId; 79 int shmId;
78 key_t key; 80 key_t key;
79 int idInitted; 81 int idInitted;
80#endif 82#endif
81}; 83};
82 84
83#endif 85#endif
86
84#endif 87#endif
diff --git a/qmake/include/private/qsqldriverinterface_p.h b/qmake/include/private/qsqldriverinterface_p.h
index 8957b86..8a39ddf 100644
--- a/qmake/include/private/qsqldriverinterface_p.h
+++ b/qmake/include/private/qsqldriverinterface_p.h
@@ -1,69 +1,82 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$
2** 3**
3** Definition of QSqlDriverInterface class 4** Definition of QSqlDriverInterface class
4** 5**
5** Created : 2000-11-03 6** Created : 2000-11-03
6** 7**
7** Copyright (C) 2000 Trolltech AS. All rights reserved. 8** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
8** 9**
9** This file is part of the sql module of the Qt GUI Toolkit. 10** This file is part of the sql module of the Qt GUI Toolkit.
10** 11**
11** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
12** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
13** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
14** 15**
15** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
16** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
17** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
18** packaging of this file. 19** packaging of this file.
19** 20**
20** Licensees holding valid Qt Enterprise Edition licenses may use this 21** Licensees holding valid Qt Enterprise Edition licenses may use this
21** file in accordance with the Qt Commercial License Agreement provided 22** file in accordance with the Qt Commercial License Agreement provided
22** with the Software. 23** with the Software.
23** 24**
24** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
25** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
26** 27**
27** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
28** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
29** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
30** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
31** 32**
32** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
33** not clear to you. 34** not clear to you.
34** 35**
35**********************************************************************/ 36**********************************************************************/
36 37
37#ifndef QSQLDRIVERINTERFACE_H 38#ifndef QSQLDRIVERINTERFACE_H
38#define QSQLDRIVERINTERFACE_H 39#define QSQLDRIVERINTERFACE_H
39 40
41//
42// W A R N I N G
43// -------------
44//
45// This file is not part of the Qt API. This header file may
46// change from version to version without notice, or even be
47// removed.
48//
49// We mean it.
50//
51//
52
40#ifndef QT_H 53#ifndef QT_H
41#include <private/qcom_p.h> 54#include <private/qcom_p.h>
42#endif // QT_H 55#endif // QT_H
43 56
44#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL ) 57#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
45#define QM_EXPORT_SQL 58#define QM_EXPORT_SQL
46#else 59#else
47#define QM_EXPORT_SQL Q_EXPORT 60#define QM_EXPORT_SQL Q_EXPORT
48#endif 61#endif
49 62
50#ifndef QT_NO_SQL 63#ifndef QT_NO_SQL
51 64
52#ifndef QT_NO_COMPONENT 65#ifndef QT_NO_COMPONENT
53 66
54// {EDDD5AD5-DF3C-400c-A711-163B72FE5F61} 67// {EDDD5AD5-DF3C-400c-A711-163B72FE5F61}
55#ifndef IID_QSqlDriverFactory 68#ifndef IID_QSqlDriverFactory
56#define IID_QSqlDriverFactory QUuid(0xeddd5ad5, 0xdf3c, 0x400c, 0xa7, 0x11, 0x16, 0x3b, 0x72, 0xfe, 0x5f, 0x61) 69#define IID_QSqlDriverFactory QUuid(0xeddd5ad5, 0xdf3c, 0x400c, 0xa7, 0x11, 0x16, 0x3b, 0x72, 0xfe, 0x5f, 0x61)
57#endif 70#endif
58 71
59class QSqlDriver; 72class QSqlDriver;
60 73
61struct QM_EXPORT_SQL QSqlDriverFactoryInterface : public QFeatureListInterface 74struct QM_EXPORT_SQL QSqlDriverFactoryInterface : public QFeatureListInterface
62{ 75{
63 virtual QSqlDriver* create( const QString& name ) = 0; 76 virtual QSqlDriver* create( const QString& name ) = 0;
64}; 77};
65 78
66#endif //QT_NO_COMPONENT 79#endif //QT_NO_COMPONENT
67#endif // QT_NO_SQL 80#endif // QT_NO_SQL
68 81
69#endif // QSQLDRIVERINTERFACE_H 82#endif // QSQLDRIVERINTERFACE_P_H
diff --git a/qmake/include/private/qsqlextension_p.h b/qmake/include/private/qsqlextension_p.h
index 597b266..3445b47 100644
--- a/qmake/include/private/qsqlextension_p.h
+++ b/qmake/include/private/qsqlextension_p.h
@@ -1,101 +1,128 @@
1/**************************************************************************** 1/****************************************************************************
2** 2**
3** Definition of the QSqlExtension class 3** Definition of the QSqlExtension class
4** 4**
5** Created : 2002-06-03 5** Created : 2002-06-03
6** 6**
7** Copyright (C) 2002 Trolltech AS. All rights reserved. 7** Copyright (C) 2002 Trolltech AS. All rights reserved.
8** 8**
9** This file is part of the sql module of the Qt GUI Toolkit. 9** This file is part of the sql module of the Qt GUI Toolkit.
10** 10**
11** This file may be distributed under the terms of the Q Public License 11** This file may be distributed under the terms of the Q Public License
12** as defined by Trolltech AS of Norway and appearing in the file 12** as defined by Trolltech AS of Norway and appearing in the file
13** LICENSE.QPL included in the packaging of this file. 13** LICENSE.QPL included in the packaging of this file.
14** 14**
15** This file may be distributed and/or modified under the terms of the 15** This file may be distributed and/or modified under the terms of the
16** GNU General Public License version 2 as published by the Free Software 16** GNU General Public License version 2 as published by the Free Software
17** Foundation and appearing in the file LICENSE.GPL included in the 17** Foundation and appearing in the file LICENSE.GPL included in the
18** packaging of this file. 18** packaging of this file.
19** 19**
20** Licensees holding valid Qt Enterprise Edition licenses may use this 20** Licensees holding valid Qt Enterprise Edition licenses may use this
21** file in accordance with the Qt Commercial License Agreement provided 21** file in accordance with the Qt Commercial License Agreement provided
22** with the Software. 22** with the Software.
23** 23**
24** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 24** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
25** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 25** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
26** 26**
27** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 27** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
28** information about Qt Commercial License Agreements. 28** information about Qt Commercial License Agreements.
29** See http://www.trolltech.com/qpl/ for QPL licensing information. 29** See http://www.trolltech.com/qpl/ for QPL licensing information.
30** See http://www.trolltech.com/gpl/ for GPL licensing information. 30** See http://www.trolltech.com/gpl/ for GPL licensing information.
31** 31**
32** Contact info@trolltech.com if any conditions of this licensing are 32** Contact info@trolltech.com if any conditions of this licensing are
33** not clear to you. 33** not clear to you.
34** 34**
35**********************************************************************/ 35**********************************************************************/
36 36
37#ifndef QSQLEXTENSION_P_H 37#ifndef QSQLEXTENSION_P_H
38#define QSQLEXTENSION_P_H 38#define QSQLEXTENSION_P_H
39 39
40// 40//
41// W A R N I N G 41// W A R N I N G
42// ------------- 42// -------------
43// 43//
44// This file is not part of the Qt API. It exists for the convenience 44// This file is not part of the Qt API. It exists for the convenience
45// of other Qt classes. This header file may change from version to 45// of other Qt classes. This header file may change from version to
46// version without notice, or even be removed. 46// version without notice, or even be removed.
47// 47//
48// We mean it. 48// We mean it.
49// 49//
50// 50//
51 51
52#ifndef QT_H 52#ifndef QT_H
53#include "qmap.h" 53#include "qmap.h"
54#include "qvaluevector.h"
54#include "qstring.h" 55#include "qstring.h"
55#include "qvariant.h" 56#include "qvariant.h"
57#include "qsql.h"
56#endif // QT_H 58#endif // QT_H
57 59
58#ifndef QT_NO_SQL 60#ifndef QT_NO_SQL
59 61
60#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL ) 62#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
61#define QM_EXPORT_SQL 63#define QM_EXPORT_SQL
64#define QM_TEMPLATE_EXTERN_SQL
62#else 65#else
63#define QM_EXPORT_SQL Q_EXPORT 66#define QM_EXPORT_SQL Q_EXPORT
67#define QM_TEMPLATE_EXTERN_SQL Q_TEMPLATE_EXTERN
64#endif 68#endif
65 69
70struct Param {
71 Param( const QVariant& v = QVariant(), QSql::ParameterType t = QSql::In ): value( v ), typ( t ) {}
72 QVariant value;
73 QSql::ParameterType typ;
74 Q_DUMMY_COMPARISON_OPERATOR(Param)
75};
76
77struct Holder {
78 Holder( const QString& hldr = QString::null, int pos = -1 ): holderName( hldr ), holderPos( pos ) {}
79 bool operator==( const Holder& h ) const { return h.holderPos == holderPos && h.holderName == holderName; }
80 bool operator!=( const Holder& h ) const { return h.holderPos != holderPos || h.holderName != holderName; }
81 QString holderName;
82 int holderPos;
83};
84
66#if defined(Q_TEMPLATEDLL) 85#if defined(Q_TEMPLATEDLL)
67Q_TEMPLATE_EXTERN template class QM_EXPORT_SQL QMap<QString,QVariant>; 86QM_TEMPLATE_EXTERN_SQL template class QM_EXPORT_SQL QMap<QString,Param>;
68Q_TEMPLATE_EXTERN template class QM_EXPORT_SQL QMap<int,QString>; 87QM_TEMPLATE_EXTERN_SQL template class QM_EXPORT_SQL QMap<int,QString>;
88QM_TEMPLATE_EXTERN_SQL template class QM_EXPORT_SQL QValueVector<Holder>;
69#endif 89#endif
70 90
71class QM_EXPORT_SQL QSqlExtension { 91class QM_EXPORT_SQL QSqlExtension {
72public: 92public:
73 QSqlExtension(); 93 QSqlExtension();
74 virtual ~QSqlExtension(); 94 virtual ~QSqlExtension();
75 virtual bool prepare( const QString& query ); 95 virtual bool prepare( const QString& query );
76 virtual bool exec(); 96 virtual bool exec();
77 virtual void bindValue( const QString& holder, const QVariant& value ); 97 virtual void bindValue( const QString& holder, const QVariant& value, QSql::ParameterType = QSql::In );
78 virtual void bindValue( int pos, const QVariant& value ); 98 virtual void bindValue( int pos, const QVariant& value, QSql::ParameterType = QSql::In );
79 virtual void addBindValue( const QVariant& value ); 99 virtual void addBindValue( const QVariant& value, QSql::ParameterType = QSql::In );
100 virtual QVariant parameterValue( const QString& holder );
101 virtual QVariant parameterValue( int pos );
80 void clearValues(); 102 void clearValues();
81 void clearIndex(); 103 void clearIndex();
82 104
83 enum BindMethod { BindByPosition, BindByName }; 105 enum BindMethod { BindByPosition, BindByName };
84 BindMethod bindMethod(); 106 BindMethod bindMethod();
85 BindMethod bindm; 107 BindMethod bindm;
86 int bindCount; 108 int bindCount;
87 109
88 QMap<int, QString> index; 110 QMap<int, QString> index;
89 QMap<QString, QVariant> values; 111 typedef QMap<QString, Param> ValueMap;
112 ValueMap values;
113
114 // convenience container for QSqlQuery
115 // to map holders <-> positions
116 typedef QValueVector<Holder> HolderVector;
117 HolderVector holders;
90}; 118};
91 119
92class QM_EXPORT_SQL QSqlDriverExtension 120class QM_EXPORT_SQL QSqlDriverExtension
93{ 121{
94public: 122public:
95 QSqlDriverExtension(); 123 QSqlDriverExtension();
96 virtual ~QSqlDriverExtension(); 124 virtual ~QSqlDriverExtension();
97 virtual bool isOpen() const = 0; 125 virtual bool isOpen() const = 0;
98}; 126};
99
100#endif 127#endif
101#endif 128#endif
diff --git a/qmake/include/private/qstyleinterface_p.h b/qmake/include/private/qstyleinterface_p.h
index 4aaedc7..24a43ad 100644
--- a/qmake/include/private/qstyleinterface_p.h
+++ b/qmake/include/private/qstyleinterface_p.h
@@ -1,61 +1,73 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** ... 4** ...
5** 5**
6** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 6** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
7** 7**
8** This file is part of the widgets module of the Qt GUI Toolkit. 8** This file is part of the widgets module of the Qt GUI Toolkit.
9** 9**
10** This file may be distributed under the terms of the Q Public License 10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file 11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file. 12** LICENSE.QPL included in the packaging of this file.
13** 13**
14** This file may be distributed and/or modified under the terms of the 14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software 15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the 16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file. 17** packaging of this file.
18** 18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License 20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software. 21** Agreement provided with the Software.
22** 22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25** 25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements. 27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information. 28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information. 29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30** 30**
31** Contact info@trolltech.com if any conditions of this licensing are 31** Contact info@trolltech.com if any conditions of this licensing are
32** not clear to you. 32** not clear to you.
33** 33**
34**********************************************************************/ 34**********************************************************************/
35 35
36#ifndef QSTYLEINTERFACE_H 36#ifndef QSTYLEINTERFACE_P_H
37#define QSTYLEINTERFACE_H 37#define QSTYLEINTERFACE_P_H
38
39//
40// W A R N I N G
41// -------------
42//
43// This file is not part of the Qt API. This header file may
44// change from version to version without notice, or even be
45// removed.
46//
47// We mean it.
48//
49//
38 50
39#ifndef QT_H 51#ifndef QT_H
40#include <private/qcom_p.h> 52#include <private/qcom_p.h>
41#endif // QT_H 53#endif // QT_H
42 54
43#ifndef QT_NO_STYLE 55#ifndef QT_NO_STYLE
44#ifndef QT_NO_COMPONENT 56#ifndef QT_NO_COMPONENT
45 57
46class QStyle; 58class QStyle;
47 59
48// {FC1B6EBE-053C-49c1-A483-C377739AB9A5} 60// {FC1B6EBE-053C-49c1-A483-C377739AB9A5}
49#ifndef IID_QStyleFactory 61#ifndef IID_QStyleFactory
50#define IID_QStyleFactory QUuid(0xfc1b6ebe, 0x53c, 0x49c1, 0xa4, 0x83, 0xc3, 0x77, 0x73, 0x9a, 0xb9, 0xa5) 62#define IID_QStyleFactory QUuid(0xfc1b6ebe, 0x53c, 0x49c1, 0xa4, 0x83, 0xc3, 0x77, 0x73, 0x9a, 0xb9, 0xa5)
51#endif 63#endif
52 64
53struct Q_EXPORT QStyleFactoryInterface : public QFeatureListInterface 65struct Q_EXPORT QStyleFactoryInterface : public QFeatureListInterface
54{ 66{
55 virtual QStyle* create( const QString& style ) = 0; 67 virtual QStyle* create( const QString& style ) = 0;
56}; 68};
57 69
58#endif //QT_NO_COMPONENT 70#endif //QT_NO_COMPONENT
59#endif //QT_NO_STYLE 71#endif //QT_NO_STYLE
60 72
61#endif //QSTYLEINTERFACE_H 73#endif //QSTYLEINTERFACE_P_H
diff --git a/qmake/include/private/qsvgdevice_p.h b/qmake/include/private/qsvgdevice_p.h
index c1cc389..3407705 100644
--- a/qmake/include/private/qsvgdevice_p.h
+++ b/qmake/include/private/qsvgdevice_p.h
@@ -1,134 +1,134 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of the QSvgDevice class 4** Definition of the QSvgDevice class
5** 5**
6** Created : 20001024 6** Created : 001024
7** 7**
8** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the xml module of the Qt GUI Toolkit. 10** This file is part of the xml module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition licenses may use this 21** Licensees holding valid Qt Enterprise Edition licenses may use this
22** file in accordance with the Qt Commercial License Agreement provided 22** file in accordance with the Qt Commercial License Agreement provided
23** with the Software. 23** with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36*****************************************************************************/ 36*****************************************************************************/
37 37
38#ifndef QSVGDEVICE_H 38#ifndef QSVGDEVICE_P_H
39#define QSVGDEVICE_H 39#define QSVGDEVICE_P_H
40 40
41// 41//
42// W A R N I N G 42// W A R N I N G
43// ------------- 43// -------------
44// 44//
45// This file is not part of the Qt API. It exists for the convenience 45// This file is not part of the Qt API. It exists for the convenience
46// of the QPicture class. This header file may change from 46// of the QPicture class. This header file may change from
47// version to version without notice, or even be removed. 47// version to version without notice, or even be removed.
48// 48//
49// We mean it. 49// We mean it.
50// 50//
51// 51//
52 52
53#ifndef QT_H 53#ifndef QT_H
54#include "qpaintdevice.h" 54#include "qpaintdevice.h"
55#include "qrect.h" 55#include "qrect.h"
56#include "qdom.h" 56#include "qdom.h"
57#endif // QT_H 57#endif // QT_H
58 58
59#if !defined(QT_MODULE_XML) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_XML ) 59#if !defined(QT_MODULE_XML) || defined( QT_LICENSE_PROFESSIONAL ) || defined( QT_INTERNAL_XML )
60#define QM_EXPORT_SVG 60#define QM_EXPORT_SVG
61#else 61#else
62#define QM_EXPORT_SVG Q_EXPORT 62#define QM_EXPORT_SVG Q_EXPORT
63#endif 63#endif
64 64
65#ifndef QT_NO_SVG 65#ifndef QT_NO_SVG
66 66
67class QPainter; 67class QPainter;
68class QDomNode; 68class QDomNode;
69class QDomNamedNodeMap; 69class QDomNamedNodeMap;
70struct QSvgDeviceState; 70struct QSvgDeviceState;
71class QSvgDevicePrivate; 71class QSvgDevicePrivate;
72 72
73class QM_EXPORT_SVG QSvgDevice : public QPaintDevice 73class QM_EXPORT_SVG QSvgDevice : public QPaintDevice
74{ 74{
75public: 75public:
76 QSvgDevice(); 76 QSvgDevice();
77 ~QSvgDevice(); 77 ~QSvgDevice();
78 78
79 bool play( QPainter *p ); 79 bool play( QPainter *p );
80 80
81 QString toString() const; 81 QString toString() const;
82 82
83 bool load( QIODevice *dev ); 83 bool load( QIODevice *dev );
84 bool save( QIODevice *dev ); 84 bool save( QIODevice *dev );
85 bool save( const QString &fileName ); 85 bool save( const QString &fileName );
86 86
87 QRect boundingRect() const; 87 QRect boundingRect() const;
88 void setBoundingRect( const QRect &r ); 88 void setBoundingRect( const QRect &r );
89 89
90protected: 90protected:
91 virtual bool cmd ( int, QPainter*, QPDevCmdParam* ); 91 virtual bool cmd ( int, QPainter*, QPDevCmdParam* );
92 virtual int metric( int ) const; 92 virtual int metric( int ) const;
93 93
94private: 94private:
95 // reading 95 // reading
96 bool play( const QDomNode &node ); 96 bool play( const QDomNode &node );
97 void saveAttributes(); 97 void saveAttributes();
98 void restoreAttributes(); 98 void restoreAttributes();
99 QColor parseColor( const QString &col ); 99 QColor parseColor( const QString &col );
100 double parseLen( const QString &str, bool *ok=0, bool horiz=TRUE ) const; 100 double parseLen( const QString &str, bool *ok=0, bool horiz=TRUE ) const;
101 int lenToInt( const QDomNamedNodeMap &map, const QString &attr, 101 int lenToInt( const QDomNamedNodeMap &map, const QString &attr,
102 int def=0 ) const; 102 int def=0 ) const;
103 void setStyleProperty( const QString &prop, const QString &val, 103 void setStyleProperty( const QString &prop, const QString &val,
104 QPen *pen, QFont *font, int *talign ); 104 QPen *pen, QFont *font, int *talign );
105 void setStyle( const QString &s ); 105 void setStyle( const QString &s );
106 void setTransform( const QString &tr ); 106 void setTransform( const QString &tr );
107 void drawPath( const QString &data ); 107 void drawPath( const QString &data );
108 108
109 // writing 109 // writing
110 void applyStyle( QDomElement *e, int c ) const; 110 void applyStyle( QDomElement *e, int c ) const;
111 void applyTransform( QDomElement *e ) const; 111 void applyTransform( QDomElement *e ) const;
112 112
113 // reading 113 // reading
114 QRect brect; // bounding rectangle 114 QRect brect; // bounding rectangle
115 QDomDocument doc; // document tree 115 QDomDocument doc; // document tree
116 QDomNode current; 116 QDomNode current;
117 QPoint curPt; 117 QPoint curPt;
118 QSvgDeviceState *curr; 118 QSvgDeviceState *curr;
119 QPainter *pt; // used by play() et al 119 QPainter *pt; // used by play() et al
120 120
121 // writing 121 // writing
122 bool dirtyTransform, dirtyStyle; 122 bool dirtyTransform, dirtyStyle;
123 123
124 QSvgDevicePrivate *d; 124 QSvgDevicePrivate *d;
125}; 125};
126 126
127inline QRect QSvgDevice::boundingRect() const 127inline QRect QSvgDevice::boundingRect() const
128{ 128{
129 return brect; 129 return brect;
130} 130}
131 131
132#endif // QT_NO_SVG 132#endif // QT_NO_SVG
133 133
134#endif // QSVGDEVICE_H 134#endif // QSVGDEVICE_P_H
diff --git a/qmake/include/private/qtextcodecinterface_p.h b/qmake/include/private/qtextcodecinterface_p.h
index d2a2cb9..76e77f7 100644
--- a/qmake/include/private/qtextcodecinterface_p.h
+++ b/qmake/include/private/qtextcodecinterface_p.h
@@ -1,79 +1,77 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of QTextCodecFactoryInterface interface 4** Definition of QTextCodecFactoryInterface interface
5** 5**
6** Copyright (C) 2001-2002 Trolltech AS. All rights reserved. 6** Copyright (C) 2001-2002 Trolltech AS. All rights reserved.
7** 7**
8** This file is part of the tools module of the Qt GUI Toolkit. 8** This file is part of the tools module of the Qt GUI Toolkit.
9** 9**
10** This file may be distributed under the terms of the Q Public License 10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file 11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file. 12** LICENSE.QPL included in the packaging of this file.
13** 13**
14** This file may be distributed and/or modified under the terms of the 14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software 15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the 16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file. 17** packaging of this file.
18** 18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License 20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software. 21** Agreement provided with the Software.
22** 22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25** 25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements. 27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information. 28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information. 29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30** 30**
31** Contact info@trolltech.com if any conditions of this licensing are 31** Contact info@trolltech.com if any conditions of this licensing are
32** not clear to you. 32** not clear to you.
33** 33**
34**********************************************************************/ 34**********************************************************************/
35 35
36#ifndef QTEXTCODECINTERFACE_P_H 36#ifndef QTEXTCODECINTERFACE_P_H
37#define QTEXTCODECINTERFACE_P_H 37#define QTEXTCODECINTERFACE_P_H
38 38
39
40// 39//
41// W A R N I N G 40// W A R N I N G
42// ------------- 41// -------------
43// 42//
44// This file is not part of the Qt API. It exists for the convenience 43// This file is not part of the Qt API. It exists for the convenience
45// of qpsprinter.cpp and qprinter_x11.cpp. 44// of qpsprinter.cpp and qprinter_x11.cpp.
46// This header file may change from version to version without notice, 45// This header file may change from version to version without notice,
47// or even be removed. 46// or even be removed.
48// 47//
49// We mean it. 48// We mean it.
50// 49//
51// 50//
52 51
53
54#ifndef QT_H 52#ifndef QT_H
55#include <private/qcom_p.h> 53#include <private/qcom_p.h>
56#endif // QT_H 54#endif // QT_H
57 55
58#ifndef QT_NO_TEXTCODEC 56#ifndef QT_NO_TEXTCODEC
59#ifndef QT_NO_COMPONENT 57#ifndef QT_NO_COMPONENT
60 58
61class QTextCodec; 59class QTextCodec;
62 60
63 61
64// {F55BFA60-F695-11D4-823E-009027DC0F37} 62// {F55BFA60-F695-11D4-823E-009027DC0F37}
65#ifndef IID_QTextCodecFactory 63#ifndef IID_QTextCodecFactory
66#define IID_QTextCodecFactory QUuid( 0xf55bfa60, 0xf695, 0x11d4, 0x82, 0x3e, 0x00, 0x90, 0x27, 0xdc, 0x0f, 0x37) 64#define IID_QTextCodecFactory QUuid( 0xf55bfa60, 0xf695, 0x11d4, 0x82, 0x3e, 0x00, 0x90, 0x27, 0xdc, 0x0f, 0x37)
67#endif 65#endif
68 66
69 67
70struct Q_EXPORT QTextCodecFactoryInterface : public QFeatureListInterface 68struct Q_EXPORT QTextCodecFactoryInterface : public QFeatureListInterface
71{ 69{
72 virtual QTextCodec *createForMib( int mib ) = 0; 70 virtual QTextCodec *createForMib( int mib ) = 0;
73 virtual QTextCodec *createForName( const QString &name ) = 0; 71 virtual QTextCodec *createForName( const QString &name ) = 0;
74}; 72};
75 73
76#endif // QT_NO_COMPONENT 74#endif // QT_NO_COMPONENT
77#endif // QT_NO_TEXTCODEC 75#endif // QT_NO_TEXTCODEC
78 76
79#endif // QTEXTCODECINTERFACE_P_H 77#endif // QTEXTCODECINTERFACE_P_H
diff --git a/qmake/include/private/qtitlebar_p.h b/qmake/include/private/qtitlebar_p.h
index dabb6bf..091845f 100644
--- a/qmake/include/private/qtitlebar_p.h
+++ b/qmake/include/private/qtitlebar_p.h
@@ -1,102 +1,102 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of some Qt private functions. 4** Definition of some Qt private functions.
5** 5**
6** Created : 2000-01-01 6** Created : 000101
7** 7**
8** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the widgets module of the Qt GUI Toolkit. 10** This file is part of the widgets module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License 22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software. 23** Agreement provided with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36**********************************************************************/ 36**********************************************************************/
37 37
38#ifndef QTITLEBAR_P_H 38#ifndef QTITLEBAR_P_H
39#define QTITLEBAR_P_H 39#define QTITLEBAR_P_H
40 40
41 41
42// 42//
43// W A R N I N G 43// W A R N I N G
44// ------------- 44// -------------
45// 45//
46// This file is not part of the Qt API. It exists for the convenience 46// This file is not part of the Qt API. It exists for the convenience
47// of qworkspace.cpp and qdockwindow.cpp. This header file may change 47// of qworkspace.cpp and qdockwindow.cpp. This header file may change
48// from version to version without notice, or even be removed. 48// from version to version without notice, or even be removed.
49// 49//
50// We mean it. 50// We mean it.
51// 51//
52// 52//
53 53
54 54
55#ifndef QT_H 55#ifndef QT_H
56#include "qbutton.h" 56#include "qbutton.h"
57#include "qlabel.h" 57#include "qlabel.h"
58#endif // QT_H 58#endif // QT_H
59 59
60#if !defined(QT_NO_TITLEBAR) 60#if !defined(QT_NO_TITLEBAR)
61 61
62class QToolTip; 62class QToolTip;
63class QTitleBarPrivate; 63class QTitleBarPrivate;
64class QPixmap; 64class QPixmap;
65 65
66class Q_EXPORT QTitleBar : public QWidget 66class Q_EXPORT QTitleBar : public QWidget
67{ 67{
68 Q_OBJECT 68 Q_OBJECT
69 Q_PROPERTY( bool autoRaise READ autoRaise WRITE setAutoRaise ) 69 Q_PROPERTY( bool autoRaise READ autoRaise WRITE setAutoRaise )
70 Q_PROPERTY( bool movable READ isMovable WRITE setMovable ) 70 Q_PROPERTY( bool movable READ isMovable WRITE setMovable )
71 71
72public: 72public:
73 QTitleBar (QWidget* w, QWidget* parent, const char* name=0); 73 QTitleBar (QWidget* w, QWidget* parent, const char* name=0);
74 ~QTitleBar(); 74 ~QTitleBar();
75 75
76 bool isActive() const; 76 bool isActive() const;
77 bool usesActiveColor() const; 77 bool usesActiveColor() const;
78 virtual QString visibleText() const; 78 virtual QString visibleText() const;
79 79
80 bool isMovable() const; 80 bool isMovable() const;
81 void setMovable(bool); 81 void setMovable(bool);
82 82
83 bool autoRaise() const; 83 bool autoRaise() const;
84 void setAutoRaise(bool); 84 void setAutoRaise(bool);
85 85
86 QWidget *window() const; 86 QWidget *window() const;
87 87
88 QSize sizeHint() const; 88 QSize sizeHint() const;
89 89
90#ifdef QT_NO_WIDGET_TOPEXTRA 90#ifdef QT_NO_WIDGET_TOPEXTRA
91 // We provide one, since titlebar is useless otherwise. 91 // We provide one, since titlebar is useless otherwise.
92 QString caption() const; 92 QString caption() const;
93#endif 93#endif
94 94
95public slots: 95public slots:
96 void setActive( bool ); 96 void setActive( bool );
97 void setCaption( const QString& title ); 97 void setCaption( const QString& title );
98 void setIcon( const QPixmap& icon ); 98 void setIcon( const QPixmap& icon );
99 99
100signals: 100signals:
101 void doActivate(); 101 void doActivate();
102 void doNormal(); 102 void doNormal();
diff --git a/qmake/include/private/qucom_p.h b/qmake/include/private/qucom_p.h
index d2ff48e..6b6ad40 100644
--- a/qmake/include/private/qucom_p.h
+++ b/qmake/include/private/qucom_p.h
@@ -1,499 +1,463 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of the QUcom interfaces 4** Definition of the QUcom interfaces
5** 5**
6** Created : 990101 6** Created : 990101
7** 7**
8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the tools module of the Qt GUI Toolkit. 10** This file is part of the tools module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License 22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software. 23** Agreement provided with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36**********************************************************************/ 36**********************************************************************/
37 37
38#ifndef QUCOM_H 38#ifndef QUCOM_P_H
39#define QUCOM_H 39#define QUCOM_P_H
40
41#ifndef QT_H
42#include <qstring.h>
43#include "quuid.h"
44#endif // QT_H
45 40
46// 41//
47// W A R N I N G 42// W A R N I N G
48// ------------- 43// -------------
49// 44//
50// This file is not part of the Qt API. It exists for the convenience 45// This file is not part of the Qt API. It exists for the convenience
51// of a number of Qt sources files. This header file may change from 46// of a number of Qt sources files. This header file may change from
52// version to version without notice, or even be removed. 47// version to version without notice, or even be removed.
53// 48//
54// We mean it. 49// We mean it.
55// 50//
56// 51//
57 52
53#ifndef QT_H
54#include <qstring.h>
55#include "quuid.h"
56#endif // QT_H
57
58#ifdef check 58#ifdef check
59#undef check 59#undef check
60#endif 60#endif
61 61
62struct QUObject; 62struct QUObject;
63struct QUInterfaceDescription; 63struct QUInterfaceDescription;
64struct QUnknownInterface; 64struct QUnknownInterface;
65struct QDispatchInterface; 65struct QDispatchInterface;
66 66
67 67
68struct Q_EXPORT QUBuffer 68struct Q_EXPORT QUBuffer
69{ 69{
70 virtual long read( char *data, ulong maxlen ) = 0; 70 virtual long read( char *data, ulong maxlen ) = 0;
71 virtual long write( const char *data, ulong len ) = 0; 71 virtual long write( const char *data, ulong len ) = 0;
72}; 72};
73 73
74 74
75// A type for a QUObject 75// A type for a QUObject
76struct Q_EXPORT QUType 76struct Q_EXPORT QUType
77{ 77{
78 virtual const QUuid *uuid() const = 0; 78 virtual const QUuid *uuid() const = 0;
79 virtual const char *desc() const = 0; 79 virtual const char *desc() const = 0;
80 80
81 81
82 virtual bool canConvertFrom( QUObject *, QUType * ) = 0; 82 virtual bool canConvertFrom( QUObject *, QUType * ) = 0;
83 // virtual private, only called by canConvertFrom 83 // virtual private, only called by canConvertFrom
84 virtual bool canConvertTo( QUObject *, QUType * ) = 0; 84 virtual bool canConvertTo( QUObject *, QUType * ) = 0;
85 85
86 86
87 virtual bool convertFrom( QUObject *, QUType * ) = 0; 87 virtual bool convertFrom( QUObject *, QUType * ) = 0;
88 // virtual private, only called by convertFrom 88 // virtual private, only called by convertFrom
89 virtual bool convertTo( QUObject *, QUType * ) = 0; 89 virtual bool convertTo( QUObject *, QUType * ) = 0;
90 90
91 virtual void clear( QUObject * ) = 0; 91 virtual void clear( QUObject * ) = 0;
92 92
93 virtual int serializeTo( QUObject *, QUBuffer * ) = 0; 93 virtual int serializeTo( QUObject *, QUBuffer * ) = 0;
94 virtual int serializeFrom( QUObject *, QUBuffer * ) = 0; 94 virtual int serializeFrom( QUObject *, QUBuffer * ) = 0;
95 95
96 static bool isEqual( const QUType *t1, const QUType *t2 ); 96 static bool isEqual( const QUType *t1, const QUType *t2 );
97 static bool check( QUObject* o, QUType* t ); 97 static bool check( QUObject* o, QUType* t );
98}; 98};
99 99
100 100
101// {DE56510E-4E9F-4b76-A3C2-D1E2EF42F1AC} 101// {DE56510E-4E9F-4b76-A3C2-D1E2EF42F1AC}
102extern Q_EXPORT const QUuid TID_QUType_Null; 102extern Q_EXPORT const QUuid TID_QUType_Null;
103struct Q_EXPORT QUType_Null : public QUType 103struct Q_EXPORT QUType_Null : public QUType
104{ 104{
105 const QUuid *uuid() const; 105 const QUuid *uuid() const;
106 const char *desc() const; 106 const char *desc() const;
107 107
108 bool canConvertFrom( QUObject *, QUType * ); 108 bool canConvertFrom( QUObject *, QUType * );
109 bool canConvertTo( QUObject *, QUType * ); 109 bool canConvertTo( QUObject *, QUType * );
110 bool convertFrom( QUObject *, QUType * ); 110 bool convertFrom( QUObject *, QUType * );
111 bool convertTo( QUObject *, QUType * ); 111 bool convertTo( QUObject *, QUType * );
112 void clear( QUObject * ); 112 void clear( QUObject * );
113 int serializeTo( QUObject *, QUBuffer * ); 113 int serializeTo( QUObject *, QUBuffer * );
114 int serializeFrom( QUObject *, QUBuffer * ); 114 int serializeFrom( QUObject *, QUBuffer * );
115}; 115};
116extern Q_EXPORT QUType_Null static_QUType_Null; 116extern Q_EXPORT QUType_Null static_QUType_Null;
117 117
118 118
119// The magic QUObject 119// The magic QUObject
120struct Q_EXPORT QUObject 120struct Q_EXPORT QUObject
121{ 121{
122public: // scary MSVC bug makes this necessary 122public: // scary MSVC bug makes this necessary
123 QUObject() : type( &static_QUType_Null ) {} 123 QUObject() : type( &static_QUType_Null ) {}
124 ~QUObject() { type->clear( this ); } 124 ~QUObject() { type->clear( this ); }
125 125
126 QUType *type; 126 QUType *type;
127 127
128 // the unavoidable union 128 // the unavoidable union
129 union 129 union
130 { 130 {
131 bool b; 131 bool b;
132 132
133 char c; 133 char c;
134 short s; 134 short s;
135 int i; 135 int i;
136 long l; 136 long l;
137 137
138 unsigned char uc; 138 unsigned char uc;
139 unsigned short us; 139 unsigned short us;
140 unsigned int ui; 140 unsigned int ui;
141 unsigned long ul; 141 unsigned long ul;
142 142
143 float f; 143 float f;
144 double d; 144 double d;
145 145
146 char byte[16]; 146 char byte[16];
147 147
148 struct { 148 struct {
149 char* data; 149 char* data;
150 unsigned long size; 150 unsigned long size;
151 } bytearray; 151 } bytearray;
152 152
153 void* ptr; 153 void* ptr;
154 154
155 struct { 155 struct {
156 void *ptr; 156 void *ptr;
157 bool owner; 157 bool owner;
158 } voidstar; 158 } voidstar;
159 159
160 struct { 160 struct {
161 char *ptr; 161 char *ptr;
162 bool owner; 162 bool owner;
163 } charstar; 163 } charstar;
164 164
165 struct { 165 struct {
166 char *ptr; 166 char *ptr;
167 bool owner; 167 bool owner;
168 } utf8; 168 } utf8;
169 169
170 struct { 170 struct {
171 char *ptr; 171 char *ptr;
172 bool owner; 172 bool owner;
173 } local8bit; 173 } local8bit;
174 174
175 QUnknownInterface* iface; 175 QUnknownInterface* iface;
176 QDispatchInterface* idisp; 176 QDispatchInterface* idisp;
177 177
178 } payload; 178 } payload;
179 179
180}; 180};
181 181
182 182
183// A parameter description describes one method parameters. A 183// A parameter description describes one method parameters. A
184// parameter has a name, a type and a flag describing whether it's an 184// parameter has a name, a type and a flag describing whether it's an
185// in parameter, an out parameter, or both ways 185// in parameter, an out parameter, or both ways
186struct Q_EXPORT QUParameter 186struct Q_EXPORT QUParameter
187{ 187{
188 const char* name; 188 const char* name;
189 QUType *type; 189 QUType *type;
190 const void* typeExtra; //Usually 0, UEnum* for QUType_enum, const char* for QUType_ptr, int* for QUType_varptr 190 const void* typeExtra; //Usually 0, UEnum* for QUType_enum, const char* for QUType_ptr, int* for QUType_varptr
191 enum { In = 1, Out = 2, InOut = In | Out }; 191 enum { In = 1, Out = 2, InOut = In | Out };
192 int inOut; 192 int inOut;
193}; 193};
194 194
195// A method description describes one method. A method has a name and 195// A method description describes one method. A method has a name and
196// an array of parameters. 196// an array of parameters.
197struct Q_EXPORT QUMethod 197struct Q_EXPORT QUMethod
198{ 198{
199 const char* name; 199 const char* name;
200 int count; 200 int count;
201 const QUParameter* parameters; 201 const QUParameter* parameters;
202}; 202};
203 203
204// A Property description. Not used yet in the example. 204// A Property description. Not used yet in the example.
205struct Q_EXPORT QUProperty 205struct Q_EXPORT QUProperty
206{ 206{
207 const char* name; 207 const char* name;
208 QUType* type; 208 QUType* type;
209 const void* typeExtra; //type dependend. Usually 0, but UEnum for QUTypeenum or const char* for QUTypeptr 209 const void* typeExtra; //type dependend. Usually 0, but UEnum for QUTypeenum or const char* for QUTypeptr
210 210
211 int set; // -1 undefined 211 int set; // -1 undefined
212 int get; // -1 undefined 212 int get; // -1 undefined
213 213
214 int designable; // -1 FALSE, -2 TRUE, else method 214 int designable; // -1 FALSE, -2 TRUE, else method
215 int stored; // -1 FALSE, -2 TRUE, else method 215 int stored; // -1 FALSE, -2 TRUE, else method
216}; 216};
217 217
218// An interface description describes one interface, that is all its 218// An interface description describes one interface, that is all its
219// methods and properties. 219// methods and properties.
220struct Q_EXPORT QUInterfaceDescription 220struct Q_EXPORT QUInterfaceDescription
221{ 221{
222 int methodCount; 222 int methodCount;
223 const QUMethod* methods; 223 const QUMethod* methods;
224 int propertyCount; 224 int propertyCount;
225 const QUProperty* properties; 225 const QUProperty* properties;
226}; 226};
227 227
228 228
229// A component description describe one component, that is its name, 229// A component description describe one component, that is its name,
230// vendor, release, info, its component uuid and all its interface 230// vendor, release, info, its component uuid and all its interface
231// uuids. 231// uuids.
232struct Q_EXPORT QUComponentDescription 232struct Q_EXPORT QUComponentDescription
233{ 233{
234 const char* name; 234 const char* name;
235 const char* vendor; 235 const char* vendor;
236 const char* release; 236 const char* release;
237 const char* info; 237 const char* info;
238 QUuid cid; 238 QUuid cid;
239 int count; 239 int count;
240 const QUuid* interfaces; 240 const QUuid* interfaces;
241}; 241};
242 242
243 243
244// A component server description describe one component server, that 244// A component server description describe one component server, that
245// is its name, vendor, release, info and the descriptions of all 245// is its name, vendor, release, info and the descriptions of all
246// components it can instantiate. 246// components it can instantiate.
247struct Q_EXPORT QUComponentServerDescription 247struct Q_EXPORT QUComponentServerDescription
248{ 248{
249 const char* name; 249 const char* name;
250 const char* vendor; 250 const char* vendor;
251 const char* release; 251 const char* release;
252 const char* info; 252 const char* info;
253 int count; 253 int count;
254 const QUComponentDescription* components; 254 const QUComponentDescription* components;
255}; 255};
256 256
257 257
258 258
259 struct Q_EXPORT QUEnumItem // - a name/value pair 259 struct Q_EXPORT QUEnumItem // - a name/value pair
260{ 260{
261 const char *key; 261 const char *key;
262 int value; 262 int value;
263}; 263};
264 264
265struct Q_EXPORT QUEnum 265struct Q_EXPORT QUEnum
266 { 266{
267 const char *name; // - enumerator name 267 const char *name; // - enumerator name
268 unsigned int count; // - number of values 268 unsigned int count; // - number of values
269 const QUEnumItem *items; // - the name/value pairs 269 const QUEnumItem *items; // - the name/value pairs
270 bool set; // whether enum has to be treated as a set 270 bool set; // whether enum has to be treated as a set
271}; 271};
272 272
273inline bool QUType::isEqual( const QUType *t1, const QUType *t2 ) { 273inline bool QUType::isEqual( const QUType *t1, const QUType *t2 ) {
274 return t1 == t2 || t1->uuid() == t2->uuid() || 274 return t1 == t2 || t1->uuid() == t2->uuid() ||
275 *(t1->uuid()) == *(t2->uuid()); 275 *(t1->uuid()) == *(t2->uuid());
276} 276}
277 277
278inline bool QUType::check( QUObject* o, QUType* t ) { 278inline bool QUType::check( QUObject* o, QUType* t ) {
279 return isEqual( o->type, t ) || t->convertFrom( o, o->type ); 279 return isEqual( o->type, t ) || t->convertFrom( o, o->type );
280} 280}
281 281
282 282
283 283
284// {7EE17B08-5419-47e2-9776-8EEA112DCAEC} 284// {7EE17B08-5419-47e2-9776-8EEA112DCAEC}
285extern Q_EXPORT const QUuid TID_QUType_enum; 285extern Q_EXPORT const QUuid TID_QUType_enum;
286struct Q_EXPORT QUType_enum : public QUType 286struct Q_EXPORT QUType_enum : public QUType
287{ 287{
288 const QUuid *uuid() const; 288 const QUuid *uuid() const;
289 const char *desc() const; 289 const char *desc() const;
290 290
291 void set( QUObject *, int ); 291 void set( QUObject *, int );
292 int &get( QUObject * o ) { return o->payload.i; } 292 int &get( QUObject * o ) { return o->payload.i; }
293 bool canConvertFrom( QUObject *, QUType * ); 293 bool canConvertFrom( QUObject *, QUType * );
294 bool canConvertTo( QUObject *, QUType * ); 294 bool canConvertTo( QUObject *, QUType * );
295 bool convertFrom( QUObject *, QUType * ); 295 bool convertFrom( QUObject *, QUType * );
296 bool convertTo( QUObject *, QUType * ); 296 bool convertTo( QUObject *, QUType * );
297 void clear( QUObject * ) {} 297 void clear( QUObject * ) {}
298 int serializeTo( QUObject *, QUBuffer * ); 298 int serializeTo( QUObject *, QUBuffer * );
299 int serializeFrom( QUObject *, QUBuffer * ); 299 int serializeFrom( QUObject *, QUBuffer * );
300}; 300};
301extern Q_EXPORT QUType_enum static_QUType_enum; 301extern Q_EXPORT QUType_enum static_QUType_enum;
302 302
303 303
304// {8AC26448-5AB4-49eb-968C-8F30AB13D732} 304// {8AC26448-5AB4-49eb-968C-8F30AB13D732}
305extern Q_EXPORT const QUuid TID_QUType_ptr; 305extern Q_EXPORT const QUuid TID_QUType_ptr;
306struct Q_EXPORT QUType_ptr : public QUType 306struct Q_EXPORT QUType_ptr : public QUType
307{ 307{
308 const QUuid *uuid() const; 308 const QUuid *uuid() const;
309 const char *desc() const; 309 const char *desc() const;
310 310
311 void set( QUObject *, const void* ); 311 void set( QUObject *, const void* );
312 void* &get( QUObject * o ) { return o->payload.ptr; } 312 void* &get( QUObject * o ) { return o->payload.ptr; }
313 bool canConvertFrom( QUObject *, QUType * ); 313 bool canConvertFrom( QUObject *, QUType * );
314 bool canConvertTo( QUObject *, QUType * ); 314 bool canConvertTo( QUObject *, QUType * );
315 bool convertFrom( QUObject *, QUType * ); 315 bool convertFrom( QUObject *, QUType * );
316 bool convertTo( QUObject *, QUType * ); 316 bool convertTo( QUObject *, QUType * );
317 void clear( QUObject * ) {} 317 void clear( QUObject * ) {}
318 int serializeTo( QUObject *, QUBuffer * ); 318 int serializeTo( QUObject *, QUBuffer * );
319 int serializeFrom( QUObject *, QUBuffer * ); 319 int serializeFrom( QUObject *, QUBuffer * );
320}; 320};
321extern Q_EXPORT QUType_ptr static_QUType_ptr; 321extern Q_EXPORT QUType_ptr static_QUType_ptr;
322 322
323// {97A2594D-6496-4402-A11E-55AEF2D4D25C} 323// {97A2594D-6496-4402-A11E-55AEF2D4D25C}
324extern Q_EXPORT const QUuid TID_QUType_iface; 324extern Q_EXPORT const QUuid TID_QUType_iface;
325struct Q_EXPORT QUType_iface : public QUType 325struct Q_EXPORT QUType_iface : public QUType
326{ 326{
327 const QUuid *uuid() const; 327 const QUuid *uuid() const;
328 const char *desc() const; 328 const char *desc() const;
329 329
330 void set( QUObject *, QUnknownInterface* ); 330 void set( QUObject *, QUnknownInterface* );
331 QUnknownInterface* &get( QUObject *o ){ return o->payload.iface; } 331 QUnknownInterface* &get( QUObject *o ){ return o->payload.iface; }
332 bool canConvertFrom( QUObject *, QUType * ); 332 bool canConvertFrom( QUObject *, QUType * );
333 bool canConvertTo( QUObject *, QUType * ); 333 bool canConvertTo( QUObject *, QUType * );
334 bool convertFrom( QUObject *, QUType * ); 334 bool convertFrom( QUObject *, QUType * );
335 bool convertTo( QUObject *, QUType * ); 335 bool convertTo( QUObject *, QUType * );
336 void clear( QUObject * ) {} 336 void clear( QUObject * ) {}
337 int serializeTo( QUObject *, QUBuffer * ); 337 int serializeTo( QUObject *, QUBuffer * );
338 int serializeFrom( QUObject *, QUBuffer * ); 338 int serializeFrom( QUObject *, QUBuffer * );
339}; 339};
340extern Q_EXPORT QUType_iface static_QUType_iface; 340extern Q_EXPORT QUType_iface static_QUType_iface;
341 341
342// {2F358164-E28F-4bf4-9FA9-4E0CDCABA50B} 342// {2F358164-E28F-4bf4-9FA9-4E0CDCABA50B}
343extern Q_EXPORT const QUuid TID_QUType_idisp; 343extern Q_EXPORT const QUuid TID_QUType_idisp;
344struct Q_EXPORT QUType_idisp : public QUType 344struct Q_EXPORT QUType_idisp : public QUType
345{ 345{
346 const QUuid *uuid() const; 346 const QUuid *uuid() const;
347 const char *desc() const; 347 const char *desc() const;
348 348
349 void set( QUObject *, QDispatchInterface* ); 349 void set( QUObject *, QDispatchInterface* );
350 QDispatchInterface* &get( QUObject *o ){ return o->payload.idisp; } 350 QDispatchInterface* &get( QUObject *o ){ return o->payload.idisp; }
351 bool canConvertFrom( QUObject *, QUType * ); 351 bool canConvertFrom( QUObject *, QUType * );
352 bool canConvertTo( QUObject *, QUType * ); 352 bool canConvertTo( QUObject *, QUType * );
353 bool convertFrom( QUObject *, QUType * ); 353 bool convertFrom( QUObject *, QUType * );
354 bool convertTo( QUObject *, QUType * ); 354 bool convertTo( QUObject *, QUType * );
355 void clear( QUObject * ) {} 355 void clear( QUObject * ) {}
356 int serializeTo( QUObject *, QUBuffer * ); 356 int serializeTo( QUObject *, QUBuffer * );
357 int serializeFrom( QUObject *, QUBuffer * ); 357 int serializeFrom( QUObject *, QUBuffer * );
358}; 358};
359extern Q_EXPORT QUType_idisp static_QUType_idisp; 359extern Q_EXPORT QUType_idisp static_QUType_idisp;
360 360
361// {CA42115D-13D0-456c-82B5-FC10187F313E} 361// {CA42115D-13D0-456c-82B5-FC10187F313E}
362extern Q_EXPORT const QUuid TID_QUType_bool; 362extern Q_EXPORT const QUuid TID_QUType_bool;
363struct Q_EXPORT QUType_bool : public QUType 363struct Q_EXPORT QUType_bool : public QUType
364{ 364{
365 const QUuid *uuid() const; 365 const QUuid *uuid() const;
366 const char *desc() const; 366 const char *desc() const;
367 367
368 void set( QUObject *, bool ); 368 void set( QUObject *, bool );
369 bool &get( QUObject *o ) { return o->payload.b; } 369 bool &get( QUObject *o ) { return o->payload.b; }
370 bool canConvertFrom( QUObject *, QUType * ); 370 bool canConvertFrom( QUObject *, QUType * );
371 bool canConvertTo( QUObject *, QUType * ); 371 bool canConvertTo( QUObject *, QUType * );
372 bool convertFrom( QUObject *, QUType * ); 372 bool convertFrom( QUObject *, QUType * );
373 bool convertTo( QUObject *, QUType * ); 373 bool convertTo( QUObject *, QUType * );
374 void clear( QUObject * ) {} 374 void clear( QUObject * ) {}
375 int serializeTo( QUObject *, QUBuffer * ); 375 int serializeTo( QUObject *, QUBuffer * );
376 int serializeFrom( QUObject *, QUBuffer * ); 376 int serializeFrom( QUObject *, QUBuffer * );
377}; 377};
378extern Q_EXPORT QUType_bool static_QUType_bool; 378extern Q_EXPORT QUType_bool static_QUType_bool;
379 379
380// {53C1F3BE-73C3-4c7d-9E05-CCF09EB676B5} 380// {53C1F3BE-73C3-4c7d-9E05-CCF09EB676B5}
381extern Q_EXPORT const QUuid TID_QUType_int; 381extern Q_EXPORT const QUuid TID_QUType_int;
382struct Q_EXPORT QUType_int : public QUType 382struct Q_EXPORT QUType_int : public QUType
383{ 383{
384 const QUuid *uuid() const; 384 const QUuid *uuid() const;
385 const char *desc() const; 385 const char *desc() const;
386 386
387 void set( QUObject *, int ); 387 void set( QUObject *, int );
388 int &get( QUObject *o ) { return o->payload.i; } 388 int &get( QUObject *o ) { return o->payload.i; }
389 bool canConvertFrom( QUObject *, QUType * ); 389 bool canConvertFrom( QUObject *, QUType * );
390 bool canConvertTo( QUObject *, QUType * ); 390 bool canConvertTo( QUObject *, QUType * );
391 bool convertFrom( QUObject *, QUType * ); 391 bool convertFrom( QUObject *, QUType * );
392 bool convertTo( QUObject *, QUType * ); 392 bool convertTo( QUObject *, QUType * );
393 void clear( QUObject * ) {} 393 void clear( QUObject * ) {}
394 int serializeTo( QUObject *, QUBuffer * ); 394 int serializeTo( QUObject *, QUBuffer * );
395 int serializeFrom( QUObject *, QUBuffer * ); 395 int serializeFrom( QUObject *, QUBuffer * );
396}; 396};
397extern Q_EXPORT QUType_int static_QUType_int; 397extern Q_EXPORT QUType_int static_QUType_int;
398 398
399// {5938712A-C496-11D5-8CB2-00C0F03BC0F3}
400extern Q_EXPORT const QUuid TID_QUType_uint;
401struct Q_EXPORT QUType_uint : public QUType
402{
403 const QUuid *uuid() const;
404 const char *desc() const;
405
406 void set( QUObject *, uint );
407 uint &get( QUObject *o ) { return o->payload.ui; }
408 bool canConvertFrom( QUObject *, QUType * );
409 bool canConvertTo( QUObject *, QUType * );
410 bool convertFrom( QUObject *, QUType * );
411 bool convertTo( QUObject *, QUType * );
412 void clear( QUObject * ) {}
413 int serializeTo( QUObject *, QUBuffer * );
414 int serializeFrom( QUObject *, QUBuffer * );
415};
416extern Q_EXPORT QUType_uint static_QUType_uint;
417 399
418// {2D0974E5-0BA6-4ec2-8837-C198972CB48C} 400// {2D0974E5-0BA6-4ec2-8837-C198972CB48C}
419extern Q_EXPORT const QUuid TID_QUType_double; 401extern Q_EXPORT const QUuid TID_QUType_double;
420struct Q_EXPORT QUType_double : public QUType 402struct Q_EXPORT QUType_double : public QUType
421{ 403{
422 const QUuid *uuid() const; 404 const QUuid *uuid() const;
423 const char *desc() const; 405 const char *desc() const;
424 406
425 void set( QUObject *, double ); 407 void set( QUObject *, double );
426 double &get( QUObject *o ) { return o->payload.d; } 408 double &get( QUObject *o ) { return o->payload.d; }
427 bool canConvertFrom( QUObject *, QUType * ); 409 bool canConvertFrom( QUObject *, QUType * );
428 bool canConvertTo( QUObject *, QUType * ); 410 bool canConvertTo( QUObject *, QUType * );
429 bool convertFrom( QUObject *, QUType * ); 411 bool convertFrom( QUObject *, QUType * );
430 bool convertTo( QUObject *, QUType * ); 412 bool convertTo( QUObject *, QUType * );
431 void clear( QUObject * ) {} 413 void clear( QUObject * ) {}
432 int serializeTo( QUObject *, QUBuffer * ); 414 int serializeTo( QUObject *, QUBuffer * );
433 int serializeFrom( QUObject *, QUBuffer * ); 415 int serializeFrom( QUObject *, QUBuffer * );
434}; 416};
435extern Q_EXPORT QUType_double static_QUType_double; 417extern Q_EXPORT QUType_double static_QUType_double;
436 418
437// {544C5175-6993-4486-B04D-CEC4D21BF4B9 }
438extern Q_EXPORT const QUuid TID_QUType_float;
439struct Q_EXPORT QUType_float : public QUType
440{
441 const QUuid *uuid() const;
442 const char *desc() const;
443
444 void set( QUObject *, float );
445 float &get( QUObject *o ) { return o->payload.f; }
446 bool canConvertFrom( QUObject *, QUType * );
447 bool canConvertTo( QUObject *, QUType * );
448 bool convertFrom( QUObject *, QUType * );
449 bool convertTo( QUObject *, QUType * );
450 void clear( QUObject * ) {}
451 int serializeTo( QUObject *, QUBuffer * );
452 int serializeFrom( QUObject *, QUBuffer * );
453};
454extern Q_EXPORT QUType_float static_QUType_float;
455 419
456// {EFCDD1D4-77A3-4b8e-8D46-DC14B8D393E9} 420// {EFCDD1D4-77A3-4b8e-8D46-DC14B8D393E9}
457extern Q_EXPORT const QUuid TID_QUType_charstar; 421extern Q_EXPORT const QUuid TID_QUType_charstar;
458struct Q_EXPORT QUType_charstar : public QUType 422struct Q_EXPORT QUType_charstar : public QUType
459{ 423{
460 const QUuid *uuid() const; 424 const QUuid *uuid() const;
461 const char *desc() const; 425 const char *desc() const;
462 426
463 void set( QUObject *, const char*, bool take = FALSE ); 427 void set( QUObject *, const char*, bool take = FALSE );
464 char* get( QUObject *o ){ return o->payload.charstar.ptr; } 428 char* get( QUObject *o ){ return o->payload.charstar.ptr; }
465 bool canConvertFrom( QUObject *, QUType * ); 429 bool canConvertFrom( QUObject *, QUType * );
466 bool canConvertTo( QUObject *, QUType * ); 430 bool canConvertTo( QUObject *, QUType * );
467 bool convertFrom( QUObject *, QUType * ); 431 bool convertFrom( QUObject *, QUType * );
468 bool convertTo( QUObject *, QUType * ); 432 bool convertTo( QUObject *, QUType * );
469 void clear( QUObject * ); 433 void clear( QUObject * );
470 int serializeTo( QUObject *, QUBuffer * ); 434 int serializeTo( QUObject *, QUBuffer * );
471 int serializeFrom( QUObject *, QUBuffer * ); 435 int serializeFrom( QUObject *, QUBuffer * );
472 436
473}; 437};
474extern Q_EXPORT QUType_charstar static_QUType_charstar; 438extern Q_EXPORT QUType_charstar static_QUType_charstar;
475 439
476// {44C2A547-01E7-4e56-8559-35AF9D2F42B7} 440// {44C2A547-01E7-4e56-8559-35AF9D2F42B7}
477extern const QUuid TID_QUType_QString; 441extern const QUuid TID_QUType_QString;
478 442
479struct Q_EXPORT QUType_QString : public QUType 443struct Q_EXPORT QUType_QString : public QUType
480{ 444{
481 const QUuid *uuid() const; 445 const QUuid *uuid() const;
482 const char *desc() const; 446 const char *desc() const;
483 447
484 void set( QUObject *, const QString & ); 448 void set( QUObject *, const QString & );
485 QString &get( QUObject * o ) { return *(QString*)o->payload.ptr; } 449 QString &get( QUObject * o ) { return *(QString*)o->payload.ptr; }
486 450
487 bool canConvertFrom( QUObject *, QUType * ); 451 bool canConvertFrom( QUObject *, QUType * );
488 bool canConvertTo( QUObject *, QUType * ); 452 bool canConvertTo( QUObject *, QUType * );
489 bool convertFrom( QUObject *, QUType * ); 453 bool convertFrom( QUObject *, QUType * );
490 bool convertTo( QUObject *, QUType * ); 454 bool convertTo( QUObject *, QUType * );
491 void clear( QUObject * ); 455 void clear( QUObject * );
492 int serializeTo( QUObject *, QUBuffer * ); 456 int serializeTo( QUObject *, QUBuffer * );
493 int serializeFrom( QUObject *, QUBuffer * ); 457 int serializeFrom( QUObject *, QUBuffer * );
494 458
495}; 459};
496extern Q_EXPORT QUType_QString static_QUType_QString; 460extern Q_EXPORT QUType_QString static_QUType_QString;
497 461
498 462
499#endif // QUCOM_H 463#endif // QUCOM_P_H
diff --git a/qmake/include/private/qucomextra_p.h b/qmake/include/private/qucomextra_p.h
index 3de6104..fe39692 100644
--- a/qmake/include/private/qucomextra_p.h
+++ b/qmake/include/private/qucomextra_p.h
@@ -1,93 +1,105 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of extra QUcom classes 4** Definition of extra QUcom classes
5** 5**
6** Created : 990101 6** Created : 990101
7** 7**
8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. 8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the kernel module of the Qt GUI Toolkit. 10** This file is part of the kernel module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License 22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software. 23** Agreement provided with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36**********************************************************************/ 36**********************************************************************/
37 37
38#ifndef QUCOMEXTRA_H 38#ifndef QUCOMEXTRA_P_H
39#define QUCOMEXTRA_H 39#define QUCOMEXTRA_P_H
40
41//
42// W A R N I N G
43// -------------
44//
45// This file is not part of the Qt API. This header file may
46// change from version to version without notice, or even be
47// removed.
48//
49// We mean it.
50//
51//
40 52
41#ifndef QT_H 53#ifndef QT_H
42#include <private/qucom_p.h> 54#include <private/qucom_p.h>
43#endif // QT_H 55#endif // QT_H
44 56
45 57
46class QVariant; 58class QVariant;
47 59
48#ifndef QT_NO_VARIANT 60#ifndef QT_NO_VARIANT
49// 6dc75d58-a1d9-4417-b591-d45c63a3a4ea 61// 6dc75d58-a1d9-4417-b591-d45c63a3a4ea
50extern const QUuid TID_QUType_QVariant; 62extern const QUuid TID_QUType_QVariant;
51 63
52struct Q_EXPORT QUType_QVariant : public QUType 64struct Q_EXPORT QUType_QVariant : public QUType
53{ 65{
54 const QUuid *uuid() const; 66 const QUuid *uuid() const;
55 const char *desc() const; 67 const char *desc() const;
56 68
57 void set( QUObject *, const QVariant & ); 69 void set( QUObject *, const QVariant & );
58 QVariant &get( QUObject * o ); 70 QVariant &get( QUObject * o );
59 71
60 bool canConvertFrom( QUObject *, QUType * ); 72 bool canConvertFrom( QUObject *, QUType * );
61 bool canConvertTo( QUObject *, QUType * ); 73 bool canConvertTo( QUObject *, QUType * );
62 bool convertFrom( QUObject *, QUType * ); 74 bool convertFrom( QUObject *, QUType * );
63 bool convertTo( QUObject *, QUType * ); 75 bool convertTo( QUObject *, QUType * );
64 void clear( QUObject * ); 76 void clear( QUObject * );
65 int serializeTo( QUObject *, QUBuffer * ); 77 int serializeTo( QUObject *, QUBuffer * );
66 int serializeFrom( QUObject *, QUBuffer * ); 78 int serializeFrom( QUObject *, QUBuffer * );
67}; 79};
68extern Q_EXPORT QUType_QVariant static_QUType_QVariant; 80extern Q_EXPORT QUType_QVariant static_QUType_QVariant;
69#endif //QT_NO_VARIANT 81#endif //QT_NO_VARIANT
70 82
71 83
72// {0x8d48b3a8, 0xbd7f, 0x11d5, 0x8d, 0x74, 0x00, 0xc0, 0xf0, 0x3b, 0xc0, 0xf3 } 84// {0x8d48b3a8, 0xbd7f, 0x11d5, 0x8d, 0x74, 0x00, 0xc0, 0xf0, 0x3b, 0xc0, 0xf3 }
73extern Q_EXPORT const QUuid TID_QUType_varptr; 85extern Q_EXPORT const QUuid TID_QUType_varptr;
74struct Q_EXPORT QUType_varptr : public QUType 86struct Q_EXPORT QUType_varptr : public QUType
75{ 87{
76 const QUuid *uuid() const; 88 const QUuid *uuid() const;
77 const char *desc() const; 89 const char *desc() const;
78 90
79 void set( QUObject *, const void* ); 91 void set( QUObject *, const void* );
80 void* &get( QUObject * o ) { return o->payload.ptr; } 92 void* &get( QUObject * o ) { return o->payload.ptr; }
81 bool canConvertFrom( QUObject *, QUType * ); 93 bool canConvertFrom( QUObject *, QUType * );
82 bool canConvertTo( QUObject *, QUType * ); 94 bool canConvertTo( QUObject *, QUType * );
83 bool convertFrom( QUObject *, QUType * ); 95 bool convertFrom( QUObject *, QUType * );
84 bool convertTo( QUObject *, QUType * ); 96 bool convertTo( QUObject *, QUType * );
85 void clear( QUObject * ) {} 97 void clear( QUObject * ) {}
86 int serializeTo( QUObject *, QUBuffer * ); 98 int serializeTo( QUObject *, QUBuffer * );
87 int serializeFrom( QUObject *, QUBuffer * ); 99 int serializeFrom( QUObject *, QUBuffer * );
88}; 100};
89extern Q_EXPORT QUType_varptr static_QUType_varptr; 101extern Q_EXPORT QUType_varptr static_QUType_varptr;
90 102
91 103
92#endif // QUCOMEXTRA_H 104#endif // QUCOMEXTRA_P_H
93 105
diff --git a/qmake/include/private/qwidgetinterface_p.h b/qmake/include/private/qwidgetinterface_p.h
index 5b5776b..78e9aad 100644
--- a/qmake/include/private/qwidgetinterface_p.h
+++ b/qmake/include/private/qwidgetinterface_p.h
@@ -1,111 +1,140 @@
1 /********************************************************************** 1/****************************************************************************
2** Copyright (C) 2000-2001 Trolltech AS. All rights reserved. 2** $Id$
3** 3**
4** This file is part of Qt Designer. 4** ...
5**
6** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
7**
8** This file is part of the widgets module of the Qt GUI Toolkit.
9**
10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file.
5** 13**
6** This file may be distributed and/or modified under the terms of the 14** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 15** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 16** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 17** packaging of this file.
10** 18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software.
22**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information.
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 29** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 30**
16** Contact info@trolltech.com if any conditions of this licensing are 31** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 32** not clear to you.
18** 33**
19**********************************************************************/ 34**********************************************************************/
20 35
21#ifndef QWIDGETINTERFACE_H 36#ifndef QWIDGETINTERFACE_P_H
22#define QWIDGETINTERFACE_H 37#define QWIDGETINTERFACE_P_H
23
24
25#ifndef QT_H
26#include <private/qcom_p.h>
27#include <qiconset.h>
28#endif // QT_H
29
30#ifndef QT_NO_WIDGETPLUGIN
31 38
32// 39//
33// W A R N I N G 40// W A R N I N G
34// ------------- 41// -------------
35// 42//
36// This file is not part of the Qt API. It exists for the convenience 43// This file is not part of the Qt API. It exists for the convenience
37// of a number of Qt sources files. This header file may change from 44// of a number of Qt sources files. This header file may change from
38// version to version without notice, or even be removed. 45// version to version without notice, or even be removed.
39// 46//
40// We mean it. 47// We mean it.
41// 48//
42// 49//
43 50
51#ifndef QT_H
52#include <private/qcom_p.h>
53#include <qiconset.h>
54#endif // QT_H
55
56#ifndef QT_NO_WIDGETPLUGIN
57
44class QWidget; 58class QWidget;
45 59
46// {55184143-f18f-42c0-a8eb-71c01516019a} 60// {55184143-f18f-42c0-a8eb-71c01516019a}
47#ifndef IID_QWidgetFactory 61#ifndef IID_QWidgetFactory
48#define IID_QWidgetFactory QUuid( 0x55184143, 0xf18f, 0x42c0, 0xa8, 0xeb, 0x71, 0xc0, 0x15, 0x16, 0x1, 0x9a ) 62#define IID_QWidgetFactory QUuid( 0x55184143, 0xf18f, 0x42c0, 0xa8, 0xeb, 0x71, 0xc0, 0x15, 0x16, 0x1, 0x9a )
49#endif 63#endif
50 64
51/*! To add custom widgets to the Qt Designer, implement that interface 65/*! To add custom widgets to the Qt Designer, implement that interface
52 in your custom widget plugin. 66 in your custom widget plugin.
53 67
54 You also have to implement the function featureList() (\sa 68 You also have to implement the function featureList() (\sa
55 QFeatureListInterface) and return there all widgets (names of it) 69 QFeatureListInterface) and return there all widgets (names of it)
56 which this interface provides. 70 which this interface provides.
57*/ 71*/
58 72
59struct QWidgetFactoryInterface : public QFeatureListInterface 73struct QWidgetFactoryInterface : public QFeatureListInterface
60{ 74{
61public: 75public:
62 76
63 /*! In the implementation create and return the widget \a widget 77 /*! In the implementation create and return the widget \a widget
64 here, use \a parent and \a name when creating the widget */ 78 here, use \a parent and \a name when creating the widget */
65 virtual QWidget* create( const QString &widget, QWidget* parent = 0, const char* name = 0 ) = 0; 79 virtual QWidget* create( const QString &widget, QWidget* parent = 0, const char* name = 0 ) = 0;
66 80
67 /*! In the implementation return the name of the group of the 81 /*! In the implementation return the name of the group of the
68 widget \a widget */ 82 widget \a widget */
69 virtual QString group( const QString &widget ) const = 0; 83 virtual QString group( const QString &widget ) const = 0;
70 84
71 /*! In the implementation return the iconset, which should be used 85 /*! In the implementation return the iconset, which should be used
72 in the Qt Designer menubar and toolbar to represent the widget 86 in the Qt Designer menubar and toolbar to represent the widget
73 \a widget */ 87 \a widget */
74 virtual QIconSet iconSet( const QString &widget ) const = 0; 88 virtual QIconSet iconSet( const QString &widget ) const = 0;
75 89
76 /*! In the implementation return the include file which is needed 90 /*! In the implementation return the include file which is needed
77 for the widget \a widget in the generated code which uic 91 for the widget \a widget in the generated code which uic
78 generates. */ 92 generates. */
79 virtual QString includeFile( const QString &widget ) const = 0; 93 virtual QString includeFile( const QString &widget ) const = 0;
80 94
81 /*! In the implementation return the text which should be 95 /*! In the implementation return the text which should be
82 displayed as tooltip for the widget \a widget */ 96 displayed as tooltip for the widget \a widget */
83 virtual QString toolTip( const QString &widget ) const = 0; 97 virtual QString toolTip( const QString &widget ) const = 0;
84 98
85 /*! In the implementation return the text which should be used for 99 /*! In the implementation return the text which should be used for
86 what's this help for the widget \a widget. */ 100 what's this help for the widget \a widget. */
87 virtual QString whatsThis( const QString &widget ) const = 0; 101 virtual QString whatsThis( const QString &widget ) const = 0;
88 102
89 /*! In the implementation return TRUE here, of the \a widget 103 /*! In the implementation return TRUE here, of the \a widget
90 should be able to contain other widget in the Qt Designer, else 104 should be able to contain other widget in the Qt Designer, else
91 FALSE. */ 105 FALSE. */
92 virtual bool isContainer( const QString &widget ) const = 0; 106 virtual bool isContainer( const QString &widget ) const = 0;
93}; 107};
94 108
95#if CONTAINER_CUSTOM_WIDGETS 109#ifdef QT_CONTAINER_CUSTOM_WIDGETS
96// {15976628-e3c3-47f4-b525-d124a3caf30e} 110// {15976628-e3c3-47f4-b525-d124a3caf30e}
97#ifndef IID_QWidgetContainer 111#ifndef IID_QWidgetContainer
98#define IID_QWidgetContainer QUuid( 0x15976628, 0xe3c3, 0x47f4, 0xb5, 0x25, 0xd1, 0x24, 0xa3, 0xca, 0xf3, 0x0e ) 112#define IID_QWidgetContainer QUuid( 0x15976628, 0xe3c3, 0x47f4, 0xb5, 0x25, 0xd1, 0x24, 0xa3, 0xca, 0xf3, 0x0e )
99#endif 113#endif
100 114
101struct QWidgetContainerInterfacePrivate : public QUnknownInterface 115struct QWidgetContainerInterfacePrivate : public QUnknownInterface
102{ 116{
103public: 117public:
104 virtual QWidget *containerOfWidget( QWidget *widget ) const = 0; 118 virtual QWidget *containerOfWidget( const QString &f, QWidget *container ) const = 0;
105 virtual QWidgetList containersOf( QWidget *widget ) const = 0; 119 virtual bool isPassiveInteractor( const QString &f, QWidget *container ) const = 0;
106 virtual bool isPassiveInteractor( QWidget *widget ) const = 0; 120
121 virtual bool supportsPages( const QString &f ) const = 0;
122
123 virtual QWidget *addPage( const QString &f, QWidget *container,
124 const QString &name, int index ) const = 0;
125 virtual void insertPage( const QString &f, QWidget *container,
126 const QString &name, int index, QWidget *page ) const = 0;
127 virtual void removePage( const QString &f, QWidget *container, int index ) const = 0;
128 virtual void movePage( const QString &f, QWidget *container, int fromIndex, int toIndex ) const = 0;
129 virtual int count( const QString &key, QWidget *container ) const = 0;
130 virtual int currentIndex( const QString &key, QWidget *container ) const = 0;
131 virtual QString pageLabel( const QString &key, QWidget *container, int index ) const = 0;
132 virtual QWidget *page( const QString &key, QWidget *container, int index ) const = 0;
133 virtual void renamePage( const QString &key, QWidget *container,
134 int index, const QString &newName ) const = 0;
135 virtual QWidgetList pages( const QString &f, QWidget *container ) const = 0;
107}; 136};
108#endif 137#endif
109 138
110#endif // QT_NO_WIDGETPLUGIN 139#endif // QT_NO_WIDGETPLUGIN
111#endif // QWIDGETINTERFACE_H 140#endif // QWIDGETINTERFACE_P_H
diff --git a/qmake/include/private/qwidgetresizehandler_p.h b/qmake/include/private/qwidgetresizehandler_p.h
index ca229db..9297832 100644
--- a/qmake/include/private/qwidgetresizehandler_p.h
+++ b/qmake/include/private/qwidgetresizehandler_p.h
@@ -1,113 +1,125 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Definition of the QWidgetResizeHandler class 4** Definition of the QWidgetResizeHandler class
5** 5**
6** Created : 001010 6** Created : 001010
7** 7**
8** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. 8** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
9** 9**
10** This file is part of the workspace module of the Qt GUI Toolkit. 10** This file is part of the workspace module of the Qt GUI Toolkit.
11** 11**
12** This file may be distributed under the terms of the Q Public License 12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file 13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file. 14** LICENSE.QPL included in the packaging of this file.
15** 15**
16** This file may be distributed and/or modified under the terms of the 16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software 17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the 18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file. 19** packaging of this file.
20** 20**
21** Licensees holding valid Qt Enterprise Edition licenses may use this 21** Licensees holding valid Qt Enterprise Edition licenses may use this
22** file in accordance with the Qt Commercial License Agreement provided 22** file in accordance with the Qt Commercial License Agreement provided
23** with the Software. 23** with the Software.
24** 24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27** 27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements. 29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information. 30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information. 31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32** 32**
33** Contact info@trolltech.com if any conditions of this licensing are 33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you. 34** not clear to you.
35** 35**
36**********************************************************************/ 36**********************************************************************/
37 37
38#ifndef QWIDGETRESIZEHANDLER_H 38#ifndef QWIDGETRESIZEHANDLER_P_H
39#define QWIDGETRESIZEHANDLER_H 39#define QWIDGETRESIZEHANDLER_P_H
40
41//
42// W A R N I N G
43// -------------
44//
45// This file is not part of the Qt API. This header file may
46// change from version to version without notice, or even be
47// removed.
48//
49// We mean it.
50//
51//
40 52
41#ifndef QT_H 53#ifndef QT_H
42#include "qobject.h" 54#include "qobject.h"
43#endif // QT_H 55#endif // QT_H
44#ifndef QT_NO_RESIZEHANDLER 56#ifndef QT_NO_RESIZEHANDLER
45class QMouseEvent; 57class QMouseEvent;
46class QKeyEvent; 58class QKeyEvent;
47 59
48class Q_EXPORT QWidgetResizeHandler : public QObject 60class Q_EXPORT QWidgetResizeHandler : public QObject
49{ 61{
50 Q_OBJECT 62 Q_OBJECT
51 63
52public: 64public:
53 QWidgetResizeHandler( QWidget *parent, QWidget *cw = 0, const char *name = 0 ); 65 QWidgetResizeHandler( QWidget *parent, QWidget *cw = 0, const char *name = 0 );
54 void setActive( bool b ) { active = b; if ( !active ) setMouseCursor( Nowhere ); } 66 void setActive( bool b ) { active = b; if ( !active ) setMouseCursor( Nowhere ); }
55 bool isActive() const { return active; } 67 bool isActive() const { return active; }
56 void setMovingEnabled( bool b ) { moving = b; } 68 void setMovingEnabled( bool b ) { moving = b; }
57 bool isMovingEnabled() const { return moving; } 69 bool isMovingEnabled() const { return moving; }
58 70
59 bool isButtonDown() const { return buttonDown; } 71 bool isButtonDown() const { return buttonDown; }
60 72
61 void setExtraHeight( int h ) { extrahei = h; } 73 void setExtraHeight( int h ) { extrahei = h; }
62 void setSizeProtection( bool b ) { sizeprotect = b; } 74 void setSizeProtection( bool b ) { sizeprotect = b; }
63 75
64 void doResize(); 76 void doResize();
65 void doMove(); 77 void doMove();
66 78
67signals: 79signals:
68 void activate(); 80 void activate();
69 81
70protected: 82protected:
71 bool eventFilter( QObject *o, QEvent *e ); 83 bool eventFilter( QObject *o, QEvent *e );
72 void mouseMoveEvent( QMouseEvent *e ); 84 void mouseMoveEvent( QMouseEvent *e );
73 void keyPressEvent( QKeyEvent *e ); 85 void keyPressEvent( QKeyEvent *e );
74 86
75private: 87private:
76 enum MousePosition { 88 enum MousePosition {
77 Nowhere, 89 Nowhere,
78 TopLeft, BottomRight, BottomLeft, TopRight, 90 TopLeft, BottomRight, BottomLeft, TopRight,
79 Top, Bottom, Left, Right, 91 Top, Bottom, Left, Right,
80 Center 92 Center
81 }; 93 };
82 94
83 QWidget *widget; 95 QWidget *widget;
84 QWidget *childWidget; 96 QWidget *childWidget;
85 QPoint moveOffset; 97 QPoint moveOffset;
86 QPoint invertedMoveOffset; 98 QPoint invertedMoveOffset;
87 MousePosition mode; 99 MousePosition mode;
88 int extrahei; 100 int extrahei;
89 int range; 101 int range;
90 uint buttonDown :1; 102 uint buttonDown :1;
91 uint moveResizeMode :1; 103 uint moveResizeMode :1;
92 uint active :1; 104 uint active :1;
93 uint sizeprotect :1; 105 uint sizeprotect :1;
94 uint moving :1; 106 uint moving :1;
95 107
96 void setMouseCursor( MousePosition m ); 108 void setMouseCursor( MousePosition m );
97 bool isMove() const { 109 bool isMove() const {
98 return moveResizeMode && mode == Center; 110 return moveResizeMode && mode == Center;
99 } 111 }
100 bool isResize() const { 112 bool isResize() const {
101 return moveResizeMode && !isMove(); 113 return moveResizeMode && !isMove();
102 } 114 }
103 115
104 private:// Disabled copy constructor and operator= 116 private:// Disabled copy constructor and operator=
105#if defined(Q_DISABLE_COPY) 117#if defined(Q_DISABLE_COPY)
106 QWidgetResizeHandler( const QWidgetResizeHandler & ); 118 QWidgetResizeHandler( const QWidgetResizeHandler & );
107 QWidgetResizeHandler& operator=( const QWidgetResizeHandler & ); 119 QWidgetResizeHandler& operator=( const QWidgetResizeHandler & );
108#endif 120#endif
109 121
110}; 122};
111 123
112#endif //QT_NO_RESIZEHANDLER 124#endif //QT_NO_RESIZEHANDLER
113#endif 125#endif