This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: qt, mtrr
Originator
Lorenzo Delana (brainstorm@penguinpowered.com)
Organization
none
Confidential
so, I get this...
g++ -c -I/trash/qt-1.44/include -I/usr/X11R6/include -pipe -O2 -fno-strength-reduce -O2 -fno-strength-reduce -fPIC -save-temps -o widgets/qmenubar.o widgets/qmenubar.cpp
g++: Warning: -pipe ignored since -save-temps specified
widgets/qmenubar.cpp: In method `int QMenuBar::calculateRects(int = -1)':
widgets/qmenubar.cpp:541: Internal compiler error.
widgets/qmenubar.cpp:541: Please submit a full bug report.
widgets/qmenubar.cpp:541: See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make[1]: *** [widgets/qmenubar.o] Error 1
make[1]: Leaving directory `/trash/qt-1.44/src'
make: *** [src] Error 2
--------
Attach files: qmenubar.cpp, qmenubar.s, qmenubar.ii
Some hardware details of my machine:
- K7 Athlon 500Mhz
- K7V Asus motherboard with VIA Apollo Pro chipset
- 128MB RAM 100Mhz
- Viper 550 AGP
- UDMA(33) enabled for Via chipset
Kernel:
- version 2.2.14 + patches ( kern from SuSE 6.4 )
- no SMP, no MTRR, K6 processor family
^^Attach: .config (kernel configuration list)
Software:
- Debian frozen, potato
ii g++ 2.95.2-13 The GNU C++ compiler.
ii libg++2.8 2.90.29-2 The GNU C++ extension library - old runtime
ii libg++2.8.1.3 2.95.2-13 The GNU C++ extension library - runtime vers
ii libg++2.8.1.3- 2.95.2-13 The GNU C++ extension library - debugging fi
ii libg++2.8.1.3- 2.95.2-13 The GNU C++ extension library - development
ii libg++2.8.2-gl 2.91.66-4 The GNU C++ extension library - old runtime
ii libg++27 2.7.2.1-14.4 The GNU C++ libraries (ELF version).
ii libg++27-altde 2.7.2.1-14.4 The GNU C++ libraries (ELF version).
brainstorm:/trash/qt-1.44# gcc -v
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.2/specs
gcc version 2.95.2 20000220 (Debian GNU/Linux)
brainstorm:/trash/qt-1.44# dpkg -l | grep libc
ii libc5 5.4.46-3 The Linux C library version 5 (run-time libr
ii libc5-altdev 5.4.46-3 The Linux C library version 5 (alternative d
ii libc6 2.1.3-10 GNU C Library: Shared libraries and Timezone
ii libc6-dev 2.1.3-10 GNU C Library: Development Libraries and Hea
ii libcw 3.11.6-5 The Cool widget library used by cooledit/coo
ii libgpmg1 1.17.8-18 General Purpose Mouse Library [libc6]
ii xlib6 3.3.6-10 shared libraries required by libc5 X clients
ii xpm4.7 3.4k-5 the X PixMap library, compiled with libc5
---
ok,
if y want other info, ask...
PS. you think that this is a true gcc bug...in other words, and Internal Error of gcc ever implies a bug in compiler?, thanks.
bye.
# 1 "widgets/qmenubar.cpp"
# 1 "widgets/qmenubar.h" 1
# 1 "widgets/qpopupmenu.h" 1
# 1 "widgets/qtableview.h" 1
# 1 "widgets/qframe.h" 1
# 1 "/trash/qt-1.44/include/qwidget.h" 1
# 1 "/trash/qt-1.44/include/qwindowdefs.h" 1
# 1 "/trash/qt-1.44/include/qobjectdefs.h" 1
# 1 "/trash/qt-1.44/include/qglobal.h" 1
# 83 "/trash/qt-1.44/include/qglobal.h"
# 115 "/trash/qt-1.44/include/qglobal.h"
# 157 "/trash/qt-1.44/include/qglobal.h"
# 187 "/trash/qt-1.44/include/qglobal.h"
# 267 "/trash/qt-1.44/include/qglobal.h"
# 293 "/trash/qt-1.44/include/qglobal.h"
typedef unsigned char uchar;
typedef unsigned short ushort;
typedef unsigned uint;
typedef unsigned long ulong;
typedef char *pchar;
typedef uchar *puchar;
typedef const char *pcchar;
const bool FALSE = 0;
const bool TRUE = !0;
inline int qRound( double d )
{
return d > 0.0 ? int(d+0.5) : int(d-0.5);
}
typedef char INT8;
typedef unsigned char UINT8;
typedef short INT16;
typedef unsigned short UINT16;
typedef int INT32;
typedef unsigned int UINT32;
typedef char Q_INT8;
typedef unsigned char Q_UINT8;
typedef short Q_INT16;
typedef unsigned short Q_UINT16;
typedef int Q_INT32;
typedef unsigned int Q_UINT32;
class QDataStream;
const char *qVersion();
bool qSysInfo( int *wordSize, bool *bigEndian );
# 410 "/trash/qt-1.44/include/qglobal.h"
void debug( const char *, ... )
__attribute__ ((format (printf, 1, 2)))
;
void warning( const char *, ... )
__attribute__ ((format (printf, 1, 2)))
;
void fatal( const char *, ... )
__attribute__ ((format (printf, 1, 2)))
;
bool chk_pointer( bool c, const char *, int );
enum QtMsgType { QtDebugMsg, QtWarningMsg, QtFatalMsg };
typedef void (*msg_handler)(QtMsgType, const char *);
msg_handler qInstallMsgHandler( msg_handler );
void qSuppressObsoleteWarnings( bool = TRUE );
void qObsolete( const char *obj, const char *oldfunc,
const char *newfunc );
void qObsolete( const char *obj, const char *oldfunc );
void qObsolete( const char *message );
# 28 "/trash/qt-1.44/include/qobjectdefs.h" 2
class QObject;
class QMetaObject;
class QSignal;
class QConnection;
class QEvent;
# 86 "/trash/qt-1.44/include/qobjectdefs.h"
class QListM_QConnection;
class QDictM_QListM_QConnection;
class QListM_QObject;
class QDictM_QMetaData;
# 29 "/trash/qt-1.44/include/qwindowdefs.h" 2
class QApplication;
class QPaintDevice;
class QPaintDeviceMetrics;
class QWidget;
class QWidgetMapper;
class QWindow;
class QDialog;
class QColor;
class QColorGroup;
class QPalette;
class QCursor;
class QPoint;
class QSize;
class QRect;
class QPointArray;
class QPainter;
class QRegion;
class QFont;
class QFontMetrics;
class QFontInfo;
class QPen;
class QBrush;
class QWMatrix;
class QPixmap;
class QBitmap;
class QMovie;
class QImage;
class QImageIO;
class QPicture;
class QPrinter;
class QAccel;
class QTimer;
class QClipboard;
class QListM_QWidget;
# 93 "/trash/qt-1.44/include/qwindowdefs.h"
# 137 "/trash/qt-1.44/include/qwindowdefs.h"
# 154 "/trash/qt-1.44/include/qwindowdefs.h"
typedef unsigned int WId;
typedef unsigned int HANDLE;
typedef struct _XDisplay Display;
typedef union _XEvent XEvent;
typedef struct _XGC *GC;
typedef struct _XRegion *Region;
Display *qt_xdisplay();
int qt_xscreen();
WId qt_xrootwin();
GC qt_xget_readonly_gc( bool monochrome=FALSE );
GC qt_xget_temp_gc( bool monochrome=FALSE );
typedef short QCOORD;
const int QCOORD_MIN = -32768;
const int QCOORD_MAX = 32767;
typedef unsigned int QRgb;
char *qAppName();
typedef void (*CleanUpFunction)();
void qAddPostRoutine( CleanUpFunction );
void *qt_find_obj_child( QObject *, const char *, const char * );
enum GUIStyle {
MacStyle,
WindowsStyle,
Win3Style,
PMStyle,
MotifStyle
};
typedef uint WFlags;
const uint WState_Created = 0x00000001;
const uint WState_Disabled = 0x00000002;
const uint WState_Visible = 0x00000004;
const uint WState_DoHide = 0x00000008;
const uint WState_ClickToFocus = 0x00000010;
const uint WState_TrackMouse = 0x00000020;
const uint WState_BlockUpdates = 0x00000040;
const uint WState_PaintEvent = 0x00000080;
const uint WType_TopLevel = 0x00000100;
const uint WType_Modal = 0x00000200;
const uint WType_Popup = 0x00000400;
const uint WType_Desktop = 0x00000800;
const uint WStyle_Customize = 0x00001000;
const uint WStyle_NormalBorder = 0x00002000;
const uint WStyle_DialogBorder = 0x00004000;
const uint WStyle_NoBorder = 0x00000000;
const uint WStyle_Title = 0x00008000;
const uint WStyle_SysMenu = 0x00010000;
const uint WStyle_Minimize = 0x00020000;
const uint WStyle_Maximize = 0x00040000;
const uint WStyle_MinMax = WStyle_Minimize | WStyle_Maximize;
const uint WStyle_Tool = 0x00080000;
const uint WStyle_Mask = 0x000ff000;
const uint WCursorSet = 0x00100000;
const uint WDestructiveClose = 0x00200000;
const uint WPaintDesktop = 0x00400000;
const uint WPaintUnclipped = 0x00800000;
const uint WPaintClever = 0x01000000;
const uint WConfigPending = 0x02000000;
const uint WResizeNoErase = 0x04000000;
const uint WRecreated = 0x08000000;
const uint WExportFontMetrics = 0x10000000;
const uint WExportFontInfo = 0x20000000;
const uint WFocusSet = 0x40000000;
const uint WState_TabToFocus = 0x80000000;
class QFocusData;
struct QWExtra {
GUIStyle guistyle;
short minw, minh;
short maxw, maxh;
short incw, inch;
char *caption;
char *iconText;
QPixmap *icon;
QPixmap *bg_pix;
QFocusData *focusData;
void * xic;
char bg_mode;
uint dnd : 1;
uint sizegrip : 1;
uint propagateFont: 2;
uint propagatePalette: 2;
};
enum RasterOp
{ CopyROP, OrROP, XorROP, EraseROP,
NotCopyROP, NotOrROP, NotXorROP, NotEraseROP, NotROP };
const int AlignLeft = 0x0001;
const int AlignRight = 0x0002;
const int AlignHCenter = 0x0004;
const int AlignTop = 0x0008;
const int AlignBottom = 0x0010;
const int AlignVCenter = 0x0020;
const int AlignCenter = AlignVCenter | AlignHCenter;
const int SingleLine = 0x0040;
const int DontClip = 0x0080;
const int ExpandTabs = 0x0100;
const int ShowPrefix = 0x0200;
const int WordBreak = 0x0400;
const int GrayText = 0x0800;
const int DontPrint = 0x1000;
const int ColorMode_Mask = 0x00000003;
const int AutoColor = 0x00000000;
const int ColorOnly = 0x00000003;
const int MonoOnly = 0x00000002;
const int AlphaDither_Mask = 0x0000000c;
const int ThresholdAlphaDither = 0x00000000;
const int OrderedAlphaDither = 0x00000004;
const int DiffuseAlphaDither = 0x00000008;
const int Dither_Mask = 0x00000030;
const int DiffuseDither = 0x00000000;
const int OrderedDither = 0x00000010;
const int ThresholdDither = 0x00000020;
const int DitherMode_Mask = 0x000000c0;
const int AutoDither = 0x00000000;
const int PreferDither = 0x00000040;
const int AvoidDither = 0x00000080;
# 28 "/trash/qt-1.44/include/qwidget.h" 2
# 1 "/trash/qt-1.44/include/qobject.h" 1
# 1 "/trash/qt-1.44/include/qstring.h" 1
# 1 "/trash/qt-1.44/include/qarray.h" 1
# 1 "/trash/qt-1.44/include/qgarray.h" 1
# 1 "/trash/qt-1.44/include/qshared.h" 1
struct QShared
{
QShared() { count = 1; }
void ref() { count++; }
bool deref() { return !--count; }
uint count;
};
# 28 "/trash/qt-1.44/include/qgarray.h" 2
class QGArray
{
friend class QBuffer;
public:
struct array_data : public QShared {
array_data() { data=0; len=0; }
char *data;
uint len;
};
QGArray();
protected:
QGArray( int, int );
QGArray( int size );
QGArray( const QGArray &a );
virtual ~QGArray();
QGArray &operator=( const QGArray &a ) { return assign( a ); }
virtual void detach() { duplicate(*this); }
char *data() const { return shd->data; }
uint nrefs() const { return shd->count; }
uint size() const { return shd->len; }
bool isEqual( const QGArray &a ) const;
bool resize( uint newsize );
bool fill( const char *d, int len, uint sz );
QGArray &assign( const QGArray &a );
QGArray &assign( const char *d, uint len );
QGArray &duplicate( const QGArray &a );
QGArray &duplicate( const char *d, uint len );
void store( const char *d, uint len );
array_data *sharedBlock() const { return shd; }
void setSharedBlock( array_data *p ) { shd=(array_data*)p; }
QGArray &setRawData( const char *d, uint len );
void resetRawData( const char *d, uint len );
int find( const char *d, uint index, uint sz ) const;
int contains( const char *d, uint sz ) const;
char *at( uint index ) const;
bool setExpand( uint index, const char *d, uint sz );
protected:
virtual array_data *newData() { return new array_data; }
virtual void deleteData( array_data *p ) { delete p; }
private:
static void msg_index( uint );
array_data *shd;
};
inline char *QGArray::at( uint index ) const
{
if ( index >= size() ) {
msg_index( index );
index = 0;
}
return &shd->data[index];
}
# 28 "/trash/qt-1.44/include/qarray.h" 2
# 1 "/trash/qt-1.44/include/qgeneric.h" 1
# 34 "/trash/qt-1.44/include/qarray.h" 2
# 96 "/trash/qt-1.44/include/qarray.h"
template<class type> class QArrayT : public QGArray
{
protected:
QArrayT( int, int ) : QGArray( 0, 0 ) {}
public:
QArrayT() {}
QArrayT( int size ) : QGArray(size*sizeof(type)) {}
QArrayT( const QArrayT<type> &a ) : QGArray(a) {}
~QArrayT() {}
QArrayT<type> &operator=(const QArrayT<type> &a)
{ return (QArrayT<type>&)QGArray::assign(a); }
type *data() const { return (type *)QGArray::data(); }
uint nrefs() const { return QGArray::nrefs(); }
uint size() const { return QGArray::size()/sizeof(type); }
bool isEmpty() const { return QGArray::size() == 0; }
bool isNull() const { return QGArray::data() == 0; }
bool resize( uint size ) { return QGArray::resize(size*sizeof(type)); }
bool truncate( uint pos ) { return QGArray::resize(pos*sizeof(type)); }
bool fill( const type &d, int size=-1 )
{ return QGArray::fill((char*)&d,size,sizeof(type) ); }
void detach() { QGArray::detach(); }
QArrayT<type> copy() const
{ QArrayT<type> tmp; return tmp.duplicate(*this); }
QArrayT<type>& assign( const QArrayT<type>& a )
{ return (QArrayT<type>&)QGArray::assign(a); }
QArrayT<type>& assign( const type *a, uint n )
{ return (QArrayT<type>&)QGArray::assign((char*)a,n*sizeof(type)); }
QArrayT<type>& duplicate( const QArrayT<type>& a )
{ return (QArrayT<type>&)QGArray::duplicate(a); }
QArrayT<type>& duplicate( const type *a, uint n )
{ return (QArrayT<type>&)QGArray::duplicate((char*)a,n*sizeof(type)); }
QArrayT<type>& setRawData( const type *a, uint n )
{ return (QArrayT<type>&)QGArray::setRawData((char*)a,
n*sizeof(type)); }
void resetRawData( const type *a, uint n )
{ QGArray::resetRawData((char*)a,n*sizeof(type)); }
int find( const type &d, uint i=0 ) const
{ return QGArray::find((char*)&d,i,sizeof(type)); }
int contains( const type &d ) const
{ return QGArray::contains((char*)&d,sizeof(type)); }
type& operator[]( int i ) const
{ return (type &)(*(type *)QGArray::at(i*sizeof(type))); }
type& at( uint i ) const
{ return (type &)(*(type *)QGArray::at(i*sizeof(type))); }
operator const type*() const { return (const type *)QGArray::data(); }
bool operator==( const QArrayT<type> &a ) const { return isEqual(a); }
bool operator!=( const QArrayT<type> &a ) const { return !isEqual(a); }
};
# 29 "/trash/qt-1.44/include/qstring.h" 2
# 1 "/usr/include/string.h" 1 3
# 1 "/usr/include/features.h" 1 3
# 138 "/usr/include/features.h" 3
# 196 "/usr/include/features.h" 3
# 1 "/usr/include/sys/cdefs.h" 1 3
# 71 "/usr/include/sys/cdefs.h" 3
# 103 "/usr/include/sys/cdefs.h" 3
# 250 "/usr/include/features.h" 2 3
# 1 "/usr/include/gnu/stubs.h" 1 3
# 278 "/usr/include/features.h" 2 3
# 26 "/usr/include/string.h" 2 3
extern "C" {
# 1 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
# 131 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
typedef unsigned int size_t;
# 271 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
# 283 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
# 317 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
# 33 "/usr/include/string.h" 2 3
extern void * memcpy (void * __restrict __dest,
__const void * __restrict __src, size_t __n) throw () ;
extern void * memmove (void * __dest, __const void * __src,
size_t __n) throw () ;
extern void * memccpy (void * __dest, __const void * __src,
int __c, size_t __n) throw () ;
extern void * memset (void * __s, int __c, size_t __n) throw () ;
extern int memcmp (__const void * __s1, __const void * __s2,
size_t __n) throw () ;
extern void * memchr (__const void * __s, int __c, size_t __n) throw () ;
extern char *strcpy (char *__restrict __dest,
__const char *__restrict __src) throw () ;
extern char *strncpy (char *__restrict __dest,
__const char *__restrict __src, size_t __n) throw () ;
extern char *strcat (char *__restrict __dest,
__const char *__restrict __src) throw () ;
extern char *strncat (char *__restrict __dest,
__const char *__restrict __src, size_t __n) throw () ;
extern int strcmp (__const char *__s1, __const char *__s2) throw () ;
extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) throw () ;
extern int strcoll (__const char *__s1, __const char *__s2) throw () ;
extern size_t strxfrm (char *__restrict __dest,
__const char *__restrict __src, size_t __n) throw () ;
# 107 "/usr/include/string.h" 3
extern char *__strdup (__const char *__s) throw () ;
extern char *strdup (__const char *__s) throw () ;
# 143 "/usr/include/string.h" 3
extern char *strchr (__const char *__s, int __c) throw () ;
extern char *strrchr (__const char *__s, int __c) throw () ;
extern size_t strcspn (__const char *__s, __const char *__reject) throw () ;
extern size_t strspn (__const char *__s, __const char *__accept) throw () ;
extern char *strpbrk (__const char *__s, __const char *__accept) throw () ;
extern char *strstr (__const char *__haystack, __const char *__needle) throw () ;
extern char *strtok (char *__restrict __s,
__const char *__restrict __delim) throw () ;
extern char *__strtok_r (char *__restrict __s,
__const char *__restrict __delim,
char **__restrict __save_ptr) throw () ;
extern char *strtok_r (char *__restrict __s,
__const char *__restrict __delim,
char **__restrict __save_ptr) throw () ;
# 203 "/usr/include/string.h" 3
extern size_t strlen (__const char *__s) throw () ;
extern char *strerror (int __errnum) throw () ;
extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen) throw () ;
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) throw () ;
extern void __bzero (void * __s, size_t __n) throw () ;
extern void bcopy (__const void * __src, void * __dest, size_t __n) throw () ;
extern void bzero (void * __s, size_t __n) throw () ;
extern int bcmp (__const void * __s1, __const void * __s2, size_t __n) throw () ;
extern char *index (__const char *__s, int __c) throw () ;
extern char *rindex (__const char *__s, int __c) throw () ;
extern int __ffs (int __i) throw () __attribute__ ((const));
extern int ffs (int __i) throw () __attribute__ ((const));
extern int __strcasecmp (__const char *__s1, __const char *__s2) throw () ;
extern int strcasecmp (__const char *__s1, __const char *__s2) throw () ;
extern int strncasecmp (__const char *__s1, __const char *__s2,
size_t __n) throw () ;
# 277 "/usr/include/string.h" 3
extern char *strsep (char **__restrict __stringp,
__const char *__restrict __delim) throw () ;
# 319 "/usr/include/string.h" 3
# 347 "/usr/include/string.h" 3
}
# 32 "/trash/qt-1.44/include/qstring.h" 2
# 54 "/trash/qt-1.44/include/qstring.h"
void *qmemmove( void *dst, const void *src, uint len );
char *qstrdup( const char * );
inline uint cstrlen( const char *str )
{ return strlen(str); }
inline uint qstrlen( const char *str )
{ return str ? strlen(str) : 0; }
inline char *cstrcpy( char *dst, const char *src )
{ return strcpy(dst,src); }
inline char *qstrcpy( char *dst, const char *src )
{ return src ? strcpy(dst, src) : 0; }
char *qstrncpy( char *dst, const char *src, uint len );
inline int cstrcmp( const char *str1, const char *str2 )
{ return strcmp(str1,str2); }
inline int qstrcmp( const char *str1, const char *str2 )
{ return (str1 && str2) ? strcmp(str1,str2) : (int)((long)str2 - (long)str1); }
inline int cstrncmp( const char *str1, const char *str2, uint len )
{ return strncmp(str1,str2,len); }
inline int qstrncmp( const char *str1, const char *str2, uint len )
{ return (str1 && str2) ? strncmp(str1,str2,len) :
(int)((long)str2 - (long)str1); }
int qstricmp( const char *, const char * );
int qstrnicmp( const char *, const char *, uint len );
UINT16 qchecksum( const char *s, uint len );
Q_UINT16 qChecksum( const char *s, uint len );
QDataStream &operator<<( QDataStream &, const QArrayT<char> & );
QDataStream &operator>>( QDataStream &, QArrayT<char> & );
class QRegExp;
class QString : public QArrayT<char>
{
public:
QString() {}
QString( int size );
QString( const QString &s ) : QArrayT<char> ( s ) {}
QString( const char *str );
QString( const char *str, uint maxlen );
QString &operator=( const QString &s );
QString &operator=( const char *str );
bool isNull() const;
bool isEmpty() const;
uint length() const;
bool resize( uint newlen );
bool truncate( uint pos );
bool fill( char c, int len = -1 );
QString copy() const;
QString &sprintf( const char *format, ... );
int find( char c, int index=0, bool cs=TRUE ) const;
int find( const char *str, int index=0, bool cs=TRUE ) const;
int find( const QRegExp &, int index=0 ) const;
int findRev( char c, int index=-1, bool cs=TRUE) const;
int findRev( const char *str, int index=-1, bool cs=TRUE) const;
int findRev( const QRegExp &, int index=-1 ) const;
int contains( char c, bool cs=TRUE ) const;
int contains( const char *str, bool cs=TRUE ) const;
int contains( const QRegExp & ) const;
QString left( uint len ) const;
QString right( uint len ) const;
QString mid( uint index, uint len) const;
QString leftJustify( uint width, char fill=' ', bool trunc=FALSE)const;
QString rightJustify( uint width, char fill=' ',bool trunc=FALSE)const;
QString lower() const;
QString upper() const;
QString stripWhiteSpace() const;
QString simplifyWhiteSpace() const;
QString &insert( uint index, const char * );
QString &insert( uint index, char );
QString &append( const char * );
QString &prepend( const char * );
QString &remove( uint index, uint len );
QString &replace( uint index, uint len, const char * );
QString &replace( const QRegExp &, const char * );
short toShort( bool *ok=0 ) const;
ushort toUShort( bool *ok=0 ) const;
int toInt( bool *ok=0 ) const;
uint toUInt( bool *ok=0 ) const;
long toLong( bool *ok=0 ) const;
ulong toULong( bool *ok=0 ) const;
float toFloat( bool *ok=0 ) const;
double toDouble( bool *ok=0 ) const;
QString &setStr( const char *s );
QString &setNum( short );
QString &setNum( ushort );
QString &setNum( int );
QString &setNum( uint );
QString &setNum( long );
QString &setNum( ulong );
QString &setNum( float, char f='g', int prec=6 );
QString &setNum( double, char f='g', int prec=6 );
bool setExpand( uint index, char c );
operator const char *() const;
QString &operator+=( const char *str );
QString &operator+=( char c );
};
QDataStream &operator<<( QDataStream &, const QString & );
QDataStream &operator>>( QDataStream &, QString & );
inline QString &QString::operator=( const QString &s )
{ return (QString&)assign( s ); }
inline QString &QString::operator=( const char *str )
{ return (QString&)duplicate( str, qstrlen (str)+1 ); }
inline bool QString::isNull() const
{ return data() == 0; }
inline bool QString::isEmpty() const
{ return data() == 0 || *data() == '\0'; }
inline uint QString::length() const
{ return qstrlen ( data() ); }
inline bool QString::truncate( uint pos )
{ return resize(pos+1); }
inline QString QString::copy() const
{ return QString( data() ); }
inline QString &QString::prepend( const char *s )
{ return insert(0,s); }
inline QString &QString::append( const char *s )
{ return operator+=(s); }
inline QString &QString::setNum( short n )
{ return setNum((long)n); }
inline QString &QString::setNum( ushort n )
{ return setNum((ulong)n); }
inline QString &QString::setNum( int n )
{ return setNum((long)n); }
inline QString &QString::setNum( uint n )
{ return setNum((ulong)n); }
inline QString &QString::setNum( float n, char f, int prec )
{ return setNum((double)n,f,prec); }
inline QString::operator const char *() const
{ return (const char *)data(); }
inline bool operator==( const QString &s1, const QString &s2 )
{ return qstrcmp (s1.data(),s2.data()) == 0; }
inline bool operator==( const QString &s1, const char *s2 )
{ return qstrcmp (s1.data(),s2) == 0; }
inline bool operator==( const char *s1, const QString &s2 )
{ return qstrcmp (s1,s2.data()) == 0; }
inline bool operator!=( const QString &s1, const QString &s2 )
{ return qstrcmp (s1.data(),s2.data()) != 0; }
inline bool operator!=( const QString &s1, const char *s2 )
{ return qstrcmp (s1.data(),s2) != 0; }
inline bool operator!=( const char *s1, const QString &s2 )
{ return qstrcmp (s1,s2.data()) != 0; }
inline bool operator<( const QString &s1, const char *s2 )
{ return qstrcmp (s1.data(),s2) < 0; }
inline bool operator<( const char *s1, const QString &s2 )
{ return qstrcmp (s1,s2.data()) < 0; }
inline bool operator<=( const QString &s1, const char *s2 )
{ return qstrcmp (s1.data(),s2) <= 0; }
inline bool operator<=( const char *s1, const QString &s2 )
{ return qstrcmp (s1,s2.data()) <= 0; }
inline bool operator>( const QString &s1, const char *s2 )
{ return qstrcmp (s1.data(),s2) > 0; }
inline bool operator>( const char *s1, const QString &s2 )
{ return qstrcmp (s1,s2.data()) > 0; }
inline bool operator>=( const QString &s1, const char *s2 )
{ return qstrcmp (s1.data(),s2) >= 0; }
inline bool operator>=( const char *s1, const QString &s2 )
{ return qstrcmp (s1,s2.data()) >= 0; }
inline QString operator+( const QString &s1, const QString &s2 )
{
QString tmp( s1.data() );
tmp += s2;
return tmp;
}
inline QString operator+( const QString &s1, const char *s2 )
{
QString tmp( s1.data() );
tmp += s2;
return tmp;
}
inline QString operator+( const char *s1, const QString &s2 )
{
QString tmp( s1 );
tmp += s2;
return tmp;
}
inline QString operator+( const QString &s1, char c2 )
{
QString tmp( s1.data() );
tmp += c2;
return tmp;
}
inline QString operator+( char c1, const QString &s2 )
{
QString tmp;
tmp += c1;
tmp += s2;
return tmp;
}
# 29 "/trash/qt-1.44/include/qobject.h" 2
# 1 "/trash/qt-1.44/include/qevent.h" 1
# 1 "/trash/qt-1.44/include/qrect.h" 1
# 1 "/trash/qt-1.44/include/qsize.h" 1
# 1 "/trash/qt-1.44/include/qpoint.h" 1
class QPoint
{
public:
QPoint() {}
QPoint( int xpos, int ypos );
bool isNull() const;
int x() const;
int y() const;
void setX( int x );
void setY( int y );
QCOORD &rx();
QCOORD &ry();
QPoint &operator+=( const QPoint &p );
QPoint &operator-=( const QPoint &p );
QPoint &operator*=( int c );
QPoint &operator*=( double c );
QPoint &operator/=( int c );
QPoint &operator/=( double c );
friend inline bool operator==( const QPoint &, const QPoint & );
friend inline bool operator!=( const QPoint &, const QPoint & );
friend inline QPoint operator+( const QPoint &, const QPoint & );
friend inline QPoint operator-( const QPoint &, const QPoint & );
friend inline QPoint operator*( const QPoint &, int );
friend inline QPoint operator*( int, const QPoint & );
friend inline QPoint operator*( const QPoint &, double );
friend inline QPoint operator*( double, const QPoint & );
friend inline QPoint operator-( const QPoint & );
friend QPoint operator/( const QPoint &, int );
friend QPoint operator/( const QPoint &, double );
static void warningDivByZero();
private:
QCOORD xp;
QCOORD yp;
};
QDataStream &operator<<( QDataStream &, const QPoint & );
QDataStream &operator>>( QDataStream &, QPoint & );
inline QPoint::QPoint( int xpos, int ypos )
{ xp=(QCOORD)xpos; yp=(QCOORD)ypos; }
inline bool QPoint::isNull() const
{ return xp == 0 && yp == 0; }
inline int QPoint::x() const
{ return xp; }
inline int QPoint::y() const
{ return yp; }
inline void QPoint::setX( int x )
{ xp = (QCOORD)x; }
inline void QPoint::setY( int y )
{ yp = (QCOORD)y; }
inline QCOORD &QPoint::rx()
{ return xp; }
inline QCOORD &QPoint::ry()
{ return yp; }
inline QPoint &QPoint::operator+=( const QPoint &p )
{ xp+=p.xp; yp+=p.yp; return *this; }
inline QPoint &QPoint::operator-=( const QPoint &p )
{ xp-=p.xp; yp-=p.yp; return *this; }
inline QPoint &QPoint::operator*=( int c )
{ xp*=(QCOORD)c; yp*=(QCOORD)c; return *this; }
inline QPoint &QPoint::operator*=( double c )
{ xp=(QCOORD)(xp*c); yp=(QCOORD)(yp*c); return *this; }
inline bool operator==( const QPoint &p1, const QPoint &p2 )
{ return p1.xp == p2.xp && p1.yp == p2.yp; }
inline bool operator!=( const QPoint &p1, const QPoint &p2 )
{ return p1.xp != p2.xp || p1.yp != p2.yp; }
inline QPoint operator+( const QPoint &p1, const QPoint &p2 )
{ return QPoint(p1.xp+p2.xp, p1.yp+p2.yp); }
inline QPoint operator-( const QPoint &p1, const QPoint &p2 )
{ return QPoint(p1.xp-p2.xp, p1.yp-p2.yp); }
inline QPoint operator*( const QPoint &p, int c )
{ return QPoint(p.xp*c, p.yp*c); }
inline QPoint operator*( int c, const QPoint &p )
{ return QPoint(p.xp*c, p.yp*c); }
inline QPoint operator*( const QPoint &p, double c )
{ return QPoint((QCOORD)(p.xp*c), (QCOORD)(p.yp*c)); }
inline QPoint operator*( double c, const QPoint &p )
{ return QPoint((QCOORD)(p.xp*c), (QCOORD)(p.yp*c)); }
inline QPoint operator-( const QPoint &p )
{ return QPoint(-p.xp, -p.yp); }
# 212 "/trash/qt-1.44/include/qpoint.h"
# 28 "/trash/qt-1.44/include/qsize.h" 2
class QSize
{
public:
QSize() { wd = ht = -1; }
QSize( int w, int h );
bool isNull() const;
bool isEmpty() const;
bool isValid() const;
int width() const;
int height() const;
void setWidth( int w );
void setHeight( int h );
void transpose();
QSize expandedTo( const QSize & ) const;
QSize boundedTo( const QSize & ) const;
QCOORD &rwidth();
QCOORD &rheight();
QSize &operator+=( const QSize & );
QSize &operator-=( const QSize & );
QSize &operator*=( int c );
QSize &operator*=( float c );
QSize &operator/=( int c );
QSize &operator/=( float c );
friend inline bool operator==( const QSize &, const QSize & );
friend inline bool operator!=( const QSize &, const QSize & );
friend inline QSize operator+( const QSize &, const QSize & );
friend inline QSize operator-( const QSize &, const QSize & );
friend inline QSize operator*( const QSize &, int );
friend inline QSize operator*( int, const QSize & );
friend inline QSize operator*( const QSize &, float );
friend inline QSize operator*( float, const QSize & );
friend QSize operator/( const QSize &, int );
friend QSize operator/( const QSize &, float );
static void warningDivByZero();
private:
QCOORD wd;
QCOORD ht;
};
QDataStream &operator<<( QDataStream &, const QSize & );
QDataStream &operator>>( QDataStream &, QSize & );
inline QSize::QSize( int w, int h )
{ wd=(QCOORD)w; ht=(QCOORD)h; }
inline bool QSize::isNull() const
{ return wd==0 && ht==0; }
inline bool QSize::isEmpty() const
{ return wd<1 || ht<1; }
inline bool QSize::isValid() const
{ return wd>=0 && ht>=0; }
inline int QSize::width() const
{ return wd; }
inline int QSize::height() const
{ return ht; }
inline void QSize::setWidth( int w )
{ wd=(QCOORD)w; }
inline void QSize::setHeight( int h )
{ ht=(QCOORD)h; }
inline QCOORD &QSize::rwidth()
{ return wd; }
inline QCOORD &QSize::rheight()
{ return ht; }
inline QSize &QSize::operator+=( const QSize &s )
{ wd+=s.wd; ht+=s.ht; return *this; }
inline QSize &QSize::operator-=( const QSize &s )
{ wd-=s.wd; ht-=s.ht; return *this; }
inline QSize &QSize::operator*=( int c )
{ wd*=(QCOORD)c; ht*=(QCOORD)c; return *this; }
inline QSize &QSize::operator*=( float c )
{ wd=(QCOORD)(wd*c); ht=(QCOORD)(ht*c); return *this; }
inline bool operator==( const QSize &s1, const QSize &s2 )
{ return s1.wd == s2.wd && s1.ht == s2.ht; }
inline bool operator!=( const QSize &s1, const QSize &s2 )
{ return s1.wd != s2.wd || s1.ht != s2.ht; }
inline QSize operator+( const QSize & s1, const QSize & s2 )
{ return QSize(s1.wd+s2.wd, s1.ht+s2.ht); }
inline QSize operator-( const QSize &s1, const QSize &s2 )
{ return QSize(s1.wd-s2.wd, s1.ht-s2.ht); }
inline QSize operator*( const QSize &s, int c )
{ return QSize(s.wd*c, s.ht*c); }
inline QSize operator*( int c, const QSize &s )
{ return QSize(s.wd*c, s.ht*c); }
inline QSize operator*( const QSize &s, float c )
{ return QSize((QCOORD)(s.wd*c), (QCOORD)(s.ht*c)); }
inline QSize operator*( float c, const QSize &s )
{ return QSize((QCOORD)(s.wd*c), (QCOORD)(s.ht*c)); }
# 209 "/trash/qt-1.44/include/qsize.h"
inline QSize QSize::expandedTo( const QSize & otherSize ) const
{
return QSize( (( wd ) > ( otherSize.wd ) ? ( wd ) : ( otherSize.wd )) , (( ht ) > ( otherSize.ht ) ? ( ht ) : ( otherSize.ht )) );
}
inline QSize QSize::boundedTo( const QSize & otherSize ) const
{
return QSize( (( wd ) < ( otherSize.wd ) ? ( wd ) : ( otherSize.wd )) , (( ht ) < ( otherSize.ht ) ? ( ht ) : ( otherSize.ht )) );
}
# 28 "/trash/qt-1.44/include/qrect.h" 2
class QRect
{
public:
QRect() { x1 = y1 = 0; x2 = y2 = -1; }
QRect( const QPoint &topleft, const QPoint &bottomright );
QRect( const QPoint &topleft, const QSize &size );
QRect( int left, int top, int width, int height );
bool isNull() const;
bool isEmpty() const;
bool isValid() const;
QRect normalize() const;
int left() const;
int top() const;
int right() const;
int bottom() const;
int x() const;
int y() const;
void setLeft( int pos );
void setTop( int pos );
void setRight( int pos );
void setBottom( int pos );
void setX( int x );
void setY( int y );
QPoint topLeft() const;
QPoint bottomRight() const;
QPoint topRight() const;
QPoint bottomLeft() const;
QPoint center() const;
void rect( int *x, int *y, int *w, int *h ) const;
void coords( int *x1, int *y1, int *x2, int *y2 ) const;
void moveTopLeft( const QPoint &p );
void moveBottomRight( const QPoint &p );
void moveTopRight( const QPoint &p );
void moveBottomLeft( const QPoint &p );
void moveCenter( const QPoint &p );
void moveBy( int dx, int dy );
void setRect( int x, int y, int w, int h );
void setCoords( int x1, int y1, int x2, int y2 );
QSize size() const;
int width() const;
int height() const;
void setWidth( int w );
void setHeight( int h );
void setSize( const QSize &s );
bool contains( const QPoint &p, bool proper=FALSE ) const;
bool contains( const QRect &r, bool proper=FALSE ) const;
QRect unite( const QRect &r ) const;
QRect intersect( const QRect &r ) const;
bool intersects( const QRect &r ) const;
friend bool operator==( const QRect &, const QRect & );
friend bool operator!=( const QRect &, const QRect & );
private:
QCOORD x1;
QCOORD y1;
QCOORD x2;
QCOORD y2;
};
bool operator==( const QRect &, const QRect & );
bool operator!=( const QRect &, const QRect & );
QDataStream &operator<<( QDataStream &, const QRect & );
QDataStream &operator>>( QDataStream &, QRect & );
inline QRect::QRect( int left, int top, int width, int height )
{
x1 = (QCOORD)left;
y1 = (QCOORD)top;
x2 = (QCOORD)(left+width-1);
y2 = (QCOORD)(top+height-1);
}
inline bool QRect::isNull() const
{ return x2 == x1-1 && y2 == y1-1; }
inline bool QRect::isEmpty() const
{ return x1 > x2 || y1 > y2; }
inline bool QRect::isValid() const
{ return x1 <= x2 && y1 <= y2; }
inline int QRect::left() const
{ return x1; }
inline int QRect::top() const
{ return y1; }
inline int QRect::right() const
{ return x2; }
inline int QRect::bottom() const
{ return y2; }
inline int QRect::x() const
{ return x1; }
inline int QRect::y() const
{ return y1; }
inline void QRect::setLeft( int pos )
{ x1 = (QCOORD)pos; }
inline void QRect::setTop( int pos )
{ y1 = (QCOORD)pos; }
inline void QRect::setRight( int pos )
{ x2 = (QCOORD)pos; }
inline void QRect::setBottom( int pos )
{ y2 = (QCOORD)pos; }
inline void QRect::setX( int x )
{ x1 = (QCOORD)x; }
inline void QRect::setY( int y )
{ y1 = (QCOORD)y; }
inline QPoint QRect::topLeft() const
{ return QPoint(x1, y1); }
inline QPoint QRect::bottomRight() const
{ return QPoint(x2, y2); }
inline QPoint QRect::topRight() const
{ return QPoint(x2, y1); }
inline QPoint QRect::bottomLeft() const
{ return QPoint(x1, y2); }
inline QPoint QRect::center() const
{ return QPoint((x1+x2)/2, (y1+y2)/2); }
inline int QRect::width() const
{ return x2 - x1 + 1; }
inline int QRect::height() const
{ return y2 - y1 + 1; }
inline QSize QRect::size() const
{ return QSize(x2-x1+1, y2-y1+1); }
# 29 "/trash/qt-1.44/include/qevent.h" 2
class QEvent
{
public:
QEvent( int type )
: t(type), posted(FALSE) {}
~QEvent() { if ( posted ) peErrMsg(); }
int type() const { return t; }
protected:
int t;
bool posted;
private:
void peErrMsg();
};
class QTimerEvent : public QEvent
{
public:
QTimerEvent( int timerId )
: QEvent(1 ), id(timerId) {}
int timerId() const { return id; }
protected:
int id;
};
enum ButtonState {
NoButton = 0x00,
LeftButton = 0x01,
RightButton = 0x02,
MidButton = 0x04,
MouseButtonMask = 0x07,
ShiftButton = 0x08,
ControlButton = 0x10,
AltButton = 0x20,
KeyButtonMask = 0x38
};
class QMouseEvent : public QEvent
{
public:
QMouseEvent( int type, const QPoint &pos, int button, int state )
: QEvent(type), p(pos), b(button),s((ushort)state) {}
QMouseEvent( int type, const QPoint &pos, const QPoint&globalPos, int button, int state )
: QEvent(type), p(pos), b(button),s((ushort)state) {g = globalPos;}
const QPoint &pos() const { return p; }
const QPoint &globalPos() const { return g; }
int x() const { return p.x(); }
int y() const { return p.y(); }
int globalX() const { return g.x(); }
int globalY() const { return g.y(); }
int button() const { return b; }
int state() const { return s; }
protected:
QPoint p;
static QPoint g;
int b;
ushort s;
};
class QKeyEvent : public QEvent
{
public:
QKeyEvent( int type, int key, int ascii, int state )
: QEvent(type), k((ushort)key), s((ushort)state), a((uchar)ascii),
accpt(TRUE) {}
int key() const { return k; }
int ascii() const { return a; }
int state() const { return s; }
bool isAccepted() const { return accpt; }
void accept() { accpt = TRUE; }
void ignore() { accpt = FALSE; }
protected:
ushort k, s;
uchar a;
char accpt;
};
class QFocusEvent : public QEvent
{
public:
QFocusEvent( int type )
: QEvent(type) {}
bool gotFocus() const { return type() == 8 ; }
bool lostFocus() const { return type() == 9 ; }
};
class QPaintEvent : public QEvent
{
public:
QPaintEvent( const QRect &paintRect )
: QEvent(12 ), r(paintRect) {}
const QRect &rect() const { return r; }
protected:
QRect r;
};
class QMoveEvent : public QEvent
{
public:
QMoveEvent( const QPoint &pos, const QPoint &oldPos )
: QEvent(13 ), p(pos), oldp(oldPos) {}
const QPoint &pos() const { return p; }
const QPoint &oldPos()const { return oldp;}
protected:
QPoint p, oldp;
};
class QResizeEvent : public QEvent
{
public:
QResizeEvent( const QSize &size, const QSize &oldSize )
: QEvent(14 ), s(size), olds(oldSize) {}
const QSize &size() const { return s; }
const QSize &oldSize()const { return olds;}
protected:
QSize s, olds;
};
class QCloseEvent : public QEvent
{
public:
QCloseEvent()
: QEvent(19 ), accpt(FALSE) {}
bool isAccepted() const { return accpt; }
void accept() { accpt = TRUE; }
void ignore() { accpt = FALSE; }
protected:
bool accpt;
};
class QShowEvent : public QEvent
{
public:
QShowEvent(bool spontaneous)
: QEvent(17 ), spont(spontaneous) {}
bool spontaneous() const { return spont; }
protected:
bool spont;
};
class QHideEvent : public QEvent
{
public:
QHideEvent(bool spontaneous)
: QEvent(18 ), spont(spontaneous) {}
bool spontaneous() const { return spont; }
protected:
bool spont;
};
class QDragMoveEvent : public QEvent
{
public:
QDragMoveEvent( const QPoint& pos )
: QEvent(61 ), p(pos), accpt(FALSE), d(0),
rect( p,QSize( 1, 1 ) ) {}
const QPoint& pos() const { return p; }
bool isAccepted() const { return accpt; }
void accept() { accpt = TRUE; }
void ignore() { accpt = FALSE; }
void accept( const QRect & r) { accpt = TRUE; rect = r; }
void ignore( const QRect & r) { accpt =FALSE; rect = r; }
QRect answerRect() const { return rect; }
const char * format( int n = 0 );
bool provides( const char * );
QArrayT<char> data( const char * );
protected:
QDragMoveEvent( const QPoint& pos, int type )
: QEvent(type), p(pos), accpt(FALSE), d(0),
rect( p,QSize( 1, 1 ) ) {}
QPoint p;
bool accpt;
void * d;
QRect rect;
};
class QDragEnterEvent : public QDragMoveEvent
{
public:
QDragEnterEvent( const QPoint& pos ) :
QDragMoveEvent(pos, 60 ) { }
};
class QDragResponseEvent : public QEvent
{
public:
QDragResponseEvent( bool accepted )
: QEvent(64 ), a(accepted) {}
bool dragAccepted() const { return a; }
protected:
bool a;
};
class QDragLeaveEvent : public QEvent
{
public:
QDragLeaveEvent()
: QEvent(62 ) {}
};
class QDropEvent : public QEvent
{
public:
QDropEvent( const QPoint& pos )
: QEvent(63 ), p(pos), accpt(FALSE) {}
const QPoint &pos() const { return p; }
bool isAccepted() const { return accpt; }
void accept() { accpt = TRUE; }
void ignore() { accpt = FALSE; }
QArrayT<char> data( const char * );
protected:
QPoint p;
bool accpt;
};
class QChildEvent : public QEvent
{
public:
QChildEvent( int type, QWidget *child )
: QEvent(type), c(child) {}
QWidget *child() const { return c; }
bool inserted() const { return t == 70 ; }
bool removed() const { return t == 71 ; }
protected:
QWidget *c;
};
class QCustomEvent : public QEvent
{
public:
QCustomEvent( int type, void *data )
: QEvent(type), d(data) {}
void *data() const { return d; }
private:
void *d;
};
# 30 "/trash/qt-1.44/include/qobject.h" 2
class QObject
{
public:
QObject( QObject *parent=0, const char *name=0 );
virtual ~QObject();
virtual bool event( QEvent * );
virtual bool eventFilter( QObject *, QEvent * );
const char * tr( const char * ) const;
virtual QMetaObject *metaObject() const { return metaObj; }
virtual const char *className() const;
bool isA( const char * ) const;
bool inherits( const char * ) const;
const char *name() const { return objname; }
const char *name( const char * defaultName ) const { return objname
? objname
: defaultName; }
void setName( const char *name );
bool isWidgetType() const { return isWidget; }
bool highPriority() const { return hiPriority; }
bool signalsBlocked() const { return blockSig; }
void blockSignals( bool b );
int startTimer( int interval );
void killTimer( int id );
void killTimers();
const QListM_QObject *children() const { return childObjects; }
QListM_QObject *queryList( const char *inheritsClass = 0,
const char *objName = 0,
bool regexpMatch = TRUE,
bool recursiveSearch = TRUE );
void insertChild( QObject * );
void removeChild( QObject * );
void installEventFilter( const QObject * );
void removeEventFilter( const QObject * );
static bool connect( const QObject *sender, const char *signal,
const QObject *receiver, const char *member );
bool connect( const QObject *sender, const char *signal,
const char *member ) const;
static bool disconnect( const QObject *sender, const char *signal,
const QObject *receiver, const char *member );
bool disconnect( const char *signal=0,
const QObject *receiver=0, const char *member=0 );
bool disconnect( const QObject *receiver, const char *member=0 );
void dumpObjectTree();
void dumpObjectInfo();
protected :
void destroyed();
public:
QObject *parent() const { return parentObj; }
protected:
bool activate_filters( QEvent * );
QListM_QConnection *receivers( const char *signal ) const;
void activate_signal( const char *signal );
void activate_signal( const char *signal, short );
void activate_signal( const char *signal, int );
void activate_signal( const char *signal, long );
void activate_signal( const char *signal, const char * );
const QObject *sender();
virtual void initMetaObject();
virtual void timerEvent( QTimerEvent * );
virtual void connectNotify( const char *signal );
virtual void disconnectNotify( const char *signal );
virtual bool checkConnectArgs( const char *signal, const QObject *receiver,
const char *member );
static void badSuperclassWarning( const char *className,
const char *superclassName );
uint isSignal : 1;
uint isWidget : 1;
uint hiPriority : 1;
uint pendTimer : 1;
uint pendEvent : 1;
uint blockSig : 1;
private :
void cleanupEventFilter();
private:
QMetaObject *queryMetaObject() const;
static QMetaObject *metaObj;
char *objname;
QObject *parentObj;
QListM_QObject *childObjects;
QDictM_QListM_QConnection *connections;
QListM_QObject *senderObjects;
QListM_QObject *eventFilters;
QObject *sigSender;
friend class QApplication;
friend class QWidget;
friend class QSignal;
friend class QSenderObject;
private:
QObject( const QObject & );
QObject &operator=( const QObject & );
};
inline bool QObject::connect( const QObject *sender, const char *signal,
const char *member ) const
{
return connect( sender, signal, this, member );
}
inline bool QObject::disconnect( const char *signal,
const QObject *receiver, const char *member )
{
return disconnect( this, signal, receiver, member );
}
inline bool QObject::disconnect( const QObject *receiver, const char *member )
{
return disconnect( this, 0, receiver, member );
}
inline const QObject *QObject::sender()
{
return sigSender;
}
class QSenderObject : public QObject
{
public:
void setSender( QObject *s ) { sigSender=s; }
};
# 29 "/trash/qt-1.44/include/qwidget.h" 2
# 1 "/trash/qt-1.44/include/qpaintdevice.h" 1
union QPDevCmdParam;
class QPaintDevice
{
public:
virtual ~QPaintDevice();
int devType() const;
bool isExtDev() const;
bool paintingActive() const;
HANDLE handle() const;
Display *x11Display() const;
static Display *x__Display();
static int x11Screen();
static int x11Depth();
static int x11Cells();
static HANDLE x11Colormap();
static bool x11DefaultColormap();
static void *x11Visual();
static bool x11DefaultVisual();
protected:
QPaintDevice( uint devflags );
static Display *dpy;
HANDLE hd;
virtual bool cmd( int, QPainter *, QPDevCmdParam * );
virtual int metric( int ) const;
virtual int fontMet( QFont *, int, const char * = 0, int = 0 ) const;
virtual int fontInf( QFont *, int ) const;
uint devFlags;
friend class QColor;
friend class QPainter;
friend class QPaintDeviceMetrics;
friend void bitBlt( QPaintDevice *, int, int,
const QPaintDevice *,
int, int, int, int, RasterOp, bool );
private:
static Display *x_display;
static int x_screen;
static int x_depth;
static int x_cells;
static HANDLE x_colormap;
static bool x_defcmap;
static void *x_visual;
static bool x_defvisual;
private:
QPaintDevice( const QPaintDevice & );
QPaintDevice &operator=( const QPaintDevice & );
};
void bitBlt( QPaintDevice *dst, int dx, int dy,
const QPaintDevice *src, int sx=0, int sy=0, int sw=-1, int sh=-1,
RasterOp = CopyROP, bool ignoreMask=FALSE );
void bitBlt( QPaintDevice *dst, int dx, int dy,
const QImage *src, int sx=0, int sy=0, int sw=-1, int sh=-1,
int conversion_flags=0 );
inline int QPaintDevice::devType() const
{ return devFlags & 0x0f ; }
inline bool QPaintDevice::isExtDev() const
{ return (devFlags & 0x10 ) != 0; }
inline bool QPaintDevice::paintingActive() const
{ return (devFlags & 0x20 ) != 0; }
inline HANDLE QPaintDevice::handle() const { return hd; }
inline Display *QPaintDevice::x11Display() const { return dpy; }
inline Display *QPaintDevice::x__Display() { return x_display; }
inline int QPaintDevice::x11Screen() { return x_screen; }
inline int QPaintDevice::x11Depth() { return x_depth; }
inline int QPaintDevice::x11Cells() { return x_cells; }
inline HANDLE QPaintDevice::x11Colormap() { return x_colormap; }
inline bool QPaintDevice::x11DefaultColormap() { return x_defcmap; }
inline void *QPaintDevice::x11Visual() { return x_visual; }
inline bool QPaintDevice::x11DefaultVisual() { return x_defvisual; }
inline void bitBlt( QPaintDevice *dst, const QPoint &dp,
const QPaintDevice *src, const QRect &sr =QRect(0,0,-1,-1),
RasterOp rop=CopyROP, bool ignoreMask=FALSE )
{
bitBlt( dst, dp.x(), dp.y(), src, sr.x(), sr.y(), sr.width(), sr.height(),
rop, ignoreMask );
}
# 30 "/trash/qt-1.44/include/qwidget.h" 2
# 1 "/trash/qt-1.44/include/qpalette.h" 1
# 1 "/trash/qt-1.44/include/qcolor.h" 1
const QRgb RGB_DIRTY = 0x80000000;
const QRgb RGB_INVALID = 0x40000000;
const QRgb RGB_DIRECT = 0x20000000;
const QRgb RGB_MASK = 0x00ffffff;
inline int qRed( QRgb rgb )
{ return (int)(rgb & 0xff); }
inline int qGreen( QRgb rgb )
{ return (int)((rgb >> 8) & 0xff); }
inline int qBlue( QRgb rgb )
{ return (int)((rgb >> 16) & 0xff); }
inline QRgb qRgb( int r, int g, int b )
{ return (uint)(r & 0xff) |((uint)(g & 0xff) << 8) |((uint)(b & 0xff) << 16); }
inline int qGray( int r, int g, int b )
{ return (r*11+g*16+b*5)/32; }
inline int qGray( QRgb rgb )
{ return qGray( qRed(rgb), qGreen(rgb), qBlue(rgb) ); }
class QColor
{
public:
enum Spec { Rgb, Hsv };
QColor();
QColor( int r, int g, int b );
QColor( int x, int y, int z, Spec );
QColor( QRgb rgb, uint pixel=0xffffffff);
QColor( const char *name );
QColor( const QColor & );
QColor &operator=( const QColor & );
bool isValid() const;
bool isDirty() const;
void setNamedColor( const char *name );
void rgb( int *r, int *g, int *b ) const;
QRgb rgb() const;
void setRgb( int r, int g, int b );
void setRgb( QRgb rgb );
int red() const;
int green() const;
int blue() const;
void hsv( int *h, int *s, int *v ) const;
void setHsv( int h, int s, int v );
QColor light( int f = 150 ) const;
QColor dark( int f = 200 ) const;
bool operator==( const QColor &c ) const;
bool operator!=( const QColor &c ) const;
static bool lazyAlloc();
static void setLazyAlloc( bool );
uint alloc();
uint pixel() const;
static int maxColors();
static int numBitPlanes();
static int enterAllocContext();
static void leaveAllocContext();
static int currentAllocContext();
static void destroyAllocContext( int );
static void initialize();
static void cleanup();
private:
void setSystemNamedColor( const char *name );
static void initGlobalColors();
static bool color_init;
static bool globals_init;
static bool lalloc;
uint pix;
QRgb rgbVal;
};
inline QColor::QColor()
{ rgbVal = RGB_INVALID; pix = 0; }
inline QColor::QColor( int r, int g, int b )
{ setRgb( r, g, b ); }
inline bool QColor::isValid() const
{ return (rgbVal & RGB_INVALID) == 0; }
inline bool QColor::isDirty() const
{ return (rgbVal & RGB_DIRTY) != 0; }
inline QRgb QColor::rgb() const
{ return rgbVal & RGB_MASK; }
inline int QColor::red() const
{ return qRed(rgbVal); }
inline int QColor::green() const
{ return qGreen(rgbVal); }
inline int QColor::blue() const
{ return qBlue(rgbVal); }
inline uint QColor::pixel() const
{ return (rgbVal & RGB_DIRTY) == 0 ? pix : ((QColor*)this)->alloc(); }
inline bool QColor::lazyAlloc()
{ return lalloc; }
inline bool QColor::operator==( const QColor &c ) const
{
return (((rgbVal | c.rgbVal) & RGB_DIRECT) == 0 &&
(rgbVal & 0x00ffffff) == (c.rgbVal & 0x00ffffff)) ||
((rgbVal & c.rgbVal & RGB_DIRECT) != 0 &&
(rgbVal & 0x00ffffff) == (c.rgbVal & 0x00ffffff) && pix == c.pix);
}
inline bool QColor::operator!=( const QColor &c ) const
{
return !operator==(c);
}
extern const QColor color0;
extern const QColor color1;
extern const QColor black;
extern const QColor white;
extern const QColor darkGray;
extern const QColor gray;
extern const QColor lightGray;
extern const QColor red;
extern const QColor green;
extern const QColor blue;
extern const QColor cyan;
extern const QColor magenta;
extern const QColor yellow;
extern const QColor darkRed;
extern const QColor darkGreen;
extern const QColor darkBlue;
extern const QColor darkCyan;
extern const QColor darkMagenta;
extern const QColor darkYellow;
QDataStream &operator<<( QDataStream &, const QColor & );
QDataStream &operator>>( QDataStream &, QColor & );
# 29 "/trash/qt-1.44/include/qpalette.h" 2
class QColorGroup
{
public:
QColorGroup();
QColorGroup( const QColor &foreground, const QColor &background,
const QColor &light, const QColor &dark, const QColor &mid,
const QColor &text, const QColor &base);
~QColorGroup();
const QColor &foreground() const { return fg_col; }
const QColor &background() const { return bg_col; }
const QColor &light() const { return light_col; }
QColor midlight() const { return bg_col.light( 115 ); }
const QColor &dark() const { return dark_col; }
const QColor &mid() const { return mid_col; }
const QColor &text() const { return text_col; }
const QColor &base() const { return base_col; }
bool operator==( const QColorGroup &g ) const;
bool operator!=( const QColorGroup &g ) const
{ return !(operator==(g)); }
private:
QColor fg_col;
QColor bg_col;
QColor light_col;
QColor dark_col;
QColor mid_col;
QColor text_col;
QColor base_col;
};
class QPalette
{
public:
QPalette();
QPalette( const QColor &background );
QPalette( const QColorGroup &normal, const QColorGroup &disabled,
const QColorGroup &active );
QPalette( const QPalette & );
~QPalette();
QPalette &operator=( const QPalette & );
QPalette copy() const;
const QColorGroup &normal() const { return data->normal; }
const QColorGroup &disabled() const { return data->disabled; }
const QColorGroup &active() const { return data->active; }
void setNormal( const QColorGroup & );
void setDisabled( const QColorGroup & );
void setActive( const QColorGroup & );
bool operator==( const QPalette &p ) const;
bool operator!=( const QPalette &p ) const
{ return !(operator==(p)); }
bool isCopyOf( const QPalette & );
int serialNumber() const { return data->ser_no; }
private:
void detach();
struct QPalData : public QShared {
QColorGroup normal;
QColorGroup disabled;
QColorGroup active;
int ser_no;
} *data;
};
QDataStream &operator<<( QDataStream &, const QColorGroup & );
QDataStream &operator>>( QDataStream &, QColorGroup & );
QDataStream &operator<<( QDataStream &, const QPalette & );
QDataStream &operator>>( QDataStream &, QPalette & );
# 31 "/trash/qt-1.44/include/qwidget.h" 2
# 1 "/trash/qt-1.44/include/qcursor.h" 1
struct QCursorData;
class QCursor
{
public:
QCursor();
QCursor( int shape );
QCursor( const QBitmap &bitmap, const QBitmap &mask,
int hotX=-1, int hotY=-1 );
QCursor( const QCursor & );
~QCursor();
QCursor &operator=( const QCursor & );
int shape() const;
void setShape( int );
const QBitmap *bitmap() const;
const QBitmap *mask() const;
QPoint hotSpot() const;
HANDLE handle() const;
static QPoint pos();
static void setPos( int x, int y );
static void setPos( const QPoint & );
static void initialize();
static void cleanup();
private:
void update() const;
QCursorData *data;
};
inline void QCursor::setPos( const QPoint &p )
{
setPos( p.x(), p.y() );
}
enum QCursorShape {
ArrowCursor, UpArrowCursor, CrossCursor, WaitCursor, IbeamCursor,
SizeVerCursor, SizeHorCursor, SizeBDiagCursor, SizeFDiagCursor,
SizeAllCursor, BlankCursor, LastCursor=BlankCursor, BitmapCursor=24 };
extern const QCursor arrowCursor;
extern const QCursor upArrowCursor;
extern const QCursor crossCursor;
extern const QCursor waitCursor;
extern const QCursor ibeamCursor;
extern const QCursor sizeVerCursor;
extern const QCursor sizeHorCursor;
extern const QCursor sizeBDiagCursor;
extern const QCursor sizeFDiagCursor;
extern const QCursor sizeAllCursor;
extern const QCursor blankCursor;
QDataStream &operator<<( QDataStream &, const QCursor & );
QDataStream &operator>>( QDataStream &, QCursor & );
# 32 "/trash/qt-1.44/include/qwidget.h" 2
# 1 "/trash/qt-1.44/include/qfont.h" 1
class QStrList;
struct QFontDef;
struct QFontData;
class QFontInternal;
class QFont
{
public:
enum StyleHint { Helvetica, Times, Courier, OldEnglish, System, AnyStyle,
SansSerif = Helvetica,
Serif = Times,
TypeWriter = Courier,
Decorative = OldEnglish};
enum Weight { Light = 25, Normal = 50, DemiBold = 63,
Bold = 75, Black = 87 };
enum CharSet { Latin1, ISO_8859_1 = Latin1, AnyCharSet,
Latin2, ISO_8859_2 = Latin2,
Latin3, ISO_8859_3 = Latin3,
Latin4, ISO_8859_4 = Latin4,
Latin5, ISO_8859_5 = Latin5,
Latin6, ISO_8859_6 = Latin6,
Latin7, ISO_8859_7 = Latin7,
Latin8, ISO_8859_8 = Latin8,
Latin9, ISO_8859_9 = Latin9,
KOI8R };
QFont();
QFont( const char *family, int pointSize = 12,
int weight = Normal, bool italic = FALSE );
QFont( const char *family, int pointSize,
int weight, bool italic, CharSet charSet );
QFont( const QFont & );
virtual ~QFont();
QFont &operator=( const QFont & );
const char *family() const;
void setFamily( const char * );
int pointSize() const;
void setPointSize( int );
int weight() const;
void setWeight( int );
bool bold() const;
void setBold( bool );
bool italic() const;
void setItalic( bool );
bool underline() const;
void setUnderline( bool );
bool strikeOut() const;
void setStrikeOut( bool );
bool fixedPitch() const;
void setFixedPitch( bool );
StyleHint styleHint() const;
void setStyleHint( StyleHint );
CharSet charSet() const;
void setCharSet( CharSet );
bool rawMode() const;
void setRawMode( bool );
bool exactMatch() const;
bool operator==( const QFont & ) const;
bool operator!=( const QFont & ) const;
bool isCopyOf( const QFont & ) const;
HANDLE handle( HANDLE=0 ) const;
const char* rawName() const;
QString key() const;
static const QFont &defaultFont();
static void setDefaultFont( const QFont & );
static const char *substitute( const char *familyName );
static void insertSubstitution( const char *, const char * );
static void removeSubstitution( const char * );
static void listSubstitutions( QStrList * );
static void initialize();
static void cleanup();
static void cacheStatistics();
protected:
bool dirty() const;
QString defaultFamily() const;
QString lastResortFamily() const;
QString lastResortFont() const;
int deciPointSize() const;
private:
QFont( QFontData * );
QFont( bool );
void init();
void detach();
void initFontInfo() const;
void load( HANDLE=0 ) const;
friend class QFontMetrics;
friend class QFontInfo;
friend class QPainter;
friend QDataStream &operator<<( QDataStream &, const QFont & );
friend QDataStream &operator>>( QDataStream &, QFont & );
QFontData *d;
static QFont *defFont;
};
inline bool QFont::bold() const
{ return weight() > Normal; }
inline void QFont::setBold( bool enable )
{ setWeight( enable ? Bold : Normal ); }
QDataStream &operator<<( QDataStream &, const QFont & );
QDataStream &operator>>( QDataStream &, QFont & );
# 33 "/trash/qt-1.44/include/qwidget.h" 2
# 1 "/trash/qt-1.44/include/qfontmetrics.h" 1
class QFontMetrics
{
public:
QFontMetrics( const QFont & );
QFontMetrics( const QFontMetrics & );
~QFontMetrics();
QFontMetrics &operator=( const QFontMetrics & );
int ascent() const;
int descent() const;
int height() const;
int leading() const;
int lineSpacing() const;
int minLeftBearing() const;
int minRightBearing() const;
int maxWidth() const;
bool inFont(char) const;
int leftBearing(char) const;
int rightBearing(char) const;
int width( const char *, int len = -1 ) const;
int width( char ) const;
QRect boundingRect( const char *, int len = -1 ) const;
QRect boundingRect( char ) const;
QRect boundingRect( int x, int y, int w, int h, int flags,
const char *str, int len=-1, int tabstops=0,
int *tabarray=0, char **intern=0 ) const;
QSize size( int flags,
const char *str, int len=-1, int tabstops=0,
int *tabarray=0, char **intern=0 ) const;
int underlinePos() const;
int strikeOutPos() const;
int lineWidth() const;
const QFont &font() const;
private:
QFontMetrics( const QWidget * );
QFontMetrics( const QPainter * );
static void reset( const QWidget * );
static void reset( const QPainter * );
const QFontDef *spec() const;
void *fontStruct() const;
int printerAdjusted(int) const;
enum Type { FontInternal, Widget, Painter };
union {
int flags;
void *dummy;
} t;
union {
QFontInternal *f;
QWidget *w;
QPainter *p;
} u;
int type() const { return t.flags & 0xff; }
bool underlineFlag() const { return (t.flags & 0x100) != 0; }
bool strikeOutFlag() const { return (t.flags & 0x200) != 0; }
void setUnderlineFlag() { t.flags |= 0x100; }
void setStrikeOutFlag() { t.flags |= 0x200; }
friend class QWidget;
friend class QPainter;
};
# 34 "/trash/qt-1.44/include/qwidget.h" 2
# 1 "/trash/qt-1.44/include/qfontinfo.h" 1
class QFontInfo
{
public:
QFontInfo( const QFont & );
QFontInfo( const QFontInfo & );
~QFontInfo();
QFontInfo &operator=( const QFontInfo & );
const char *family() const;
int pointSize() const;
bool italic() const;
int weight() const;
bool bold() const;
bool underline() const;
bool strikeOut() const;
bool fixedPitch() const;
QFont::StyleHint styleHint() const;
QFont::CharSet charSet() const;
bool rawMode() const;
bool exactMatch() const;
const QFont &font() const;
private:
QFontInfo( const QWidget * );
QFontInfo( const QPainter * );
static void reset( const QWidget * );
static void reset( const QPainter * );
const QFontDef *spec() const;
enum Type { FontInternal, Widget, Painter };
union {
int flags;
void *dummy;
} t;
union {
QFontInternal *f;
QWidget *w;
QPainter *p;
} u;
int type() const { return t.flags & 0xff; }
bool underlineFlag() const { return (t.flags & 0x100) != 0; }
bool strikeOutFlag() const { return (t.flags & 0x200) != 0; }
bool exactMatchFlag() const { return (t.flags & 0x400) != 0; }
void setUnderlineFlag() { t.flags |= 0x100; }
void setStrikeOutFlag() { t.flags |= 0x200; }
void setExactMatchFlag() { t.flags |= 0x400; }
friend class QWidget;
friend class QPainter;
};
inline bool QFontInfo::bold() const
{ return weight() > QFont::Normal; }
# 35 "/trash/qt-1.44/include/qwidget.h" 2
class QWidget : public QObject, public QPaintDevice
{
public: QMetaObject *metaObject() const { return metaObj; } const char *className() const; protected: void initMetaObject(); private: static QMetaObject *metaObj;
public:
QWidget( QWidget *parent=0, const char *name=0, WFlags f=0 );
~QWidget();
WId winId() const;
GUIStyle style() const;
virtual void setStyle( GUIStyle );
bool isTopLevel() const;
bool isModal() const;
bool isPopup() const;
bool isDesktop() const;
bool isEnabled() const;
bool isEnabledTo(QWidget*) const;
bool isEnabledToTLW() const;
public :
virtual void setEnabled( bool );
public:
const QRect &frameGeometry() const;
const QRect &geometry() const;
int x() const;
int y() const;
QPoint pos() const;
QSize size() const;
int width() const;
int height() const;
QRect rect() const;
QRect childrenRect() const;
QSize minimumSize() const;
QSize maximumSize() const;
void setMinimumSize( const QSize & );
void setMinimumSize( int minw, int minh );
void setMaximumSize( const QSize & );
void setMaximumSize( int maxw, int maxh );
void setMinimumWidth( int minw );
void setMinimumHeight( int minh );
void setMaximumWidth( int maxw );
void setMaximumHeight( int maxh );
void setMask(QBitmap);
void setMask(const QRegion&);
void clearMask();
QSize sizeIncrement() const;
void setSizeIncrement( const QSize & );
void setSizeIncrement( int w, int h );
void setFixedSize( const QSize & );
void setFixedSize( int w, int h );
void setFixedWidth( int w );
void setFixedHeight( int h );
QPoint mapToGlobal( const QPoint & ) const;
QPoint mapFromGlobal( const QPoint & ) const;
QPoint mapToParent( const QPoint & ) const;
QPoint mapFromParent( const QPoint & ) const;
QWidget *topLevelWidget() const;
enum BackgroundMode { FixedColor, FixedPixmap, NoBackground,
PaletteForeground, PaletteBackground, PaletteLight,
PaletteMidlight, PaletteDark, PaletteMid,
PaletteText, PaletteBase };
BackgroundMode backgroundMode() const;
void setBackgroundMode( BackgroundMode );
const QColor &backgroundColor() const;
const QColor &foregroundColor() const;
virtual void setBackgroundColor( const QColor & );
const QPixmap *backgroundPixmap() const;
virtual void setBackgroundPixmap( const QPixmap & );
const QColorGroup &colorGroup() const;
const QPalette &palette() const;
virtual void setPalette( const QPalette & );
const QFont &font() const;
virtual void setFont( const QFont & );
QFontMetrics fontMetrics() const;
QFontInfo fontInfo() const;
enum PropagationMode { NoChildren, AllChildren,
SameFont, SamePalette = SameFont };
PropagationMode fontPropagation() const;
void setFontPropagation( PropagationMode );
PropagationMode palettePropagation() const;
void setPalettePropagation( PropagationMode );
const QCursor &cursor() const;
virtual void setCursor( const QCursor & );
const char *caption() const;
const QPixmap *icon() const;
const char *iconText() const;
bool hasMouseTracking() const;
public :
void setCaption( const char * );
void setIcon( const QPixmap & );
void setIconText( const char * );
void setMouseTracking( bool enable );
public:
enum FocusPolicy
{ NoFocus = 0, TabFocus = 0x1, ClickFocus = 0x2, StrongFocus = 0x3 };
bool isActiveWindow() const;
void setActiveWindow();
bool isFocusEnabled() const;
FocusPolicy focusPolicy() const;
void setFocusPolicy( FocusPolicy );
bool hasFocus() const;
void setFocus();
void clearFocus();
static void setTabOrder( QWidget *, QWidget * );
void setFocusProxy( QWidget * );
QWidget * focusProxy() const;
void grabMouse();
void grabMouse( const QCursor & );
void releaseMouse();
void grabKeyboard();
void releaseKeyboard();
static QWidget *mouseGrabber();
static QWidget *keyboardGrabber();
bool isUpdatesEnabled() const;
public :
void setUpdatesEnabled( bool enable );
void update();
void update( int x, int y, int w, int h);
void update( const QRect& );
void repaint( bool erase=TRUE );
void repaint( int x, int y, int w, int h, bool erase=TRUE );
void repaint( const QRect &, bool erase=TRUE );
virtual void show();
virtual void hide();
void iconify();
public:
virtual bool close( bool forceKill=FALSE );
bool isVisible() const;
bool isVisibleTo(QWidget*) const;
bool isVisibleToTLW() const;
public :
void raise();
void lower();
virtual void move( int x, int y );
void move( const QPoint & );
virtual void resize( int w, int h );
void resize( const QSize & );
virtual void setGeometry( int x, int y, int w, int h );
void setGeometry( const QRect & );
public:
virtual QSize sizeHint() const;
virtual void adjustSize();
void recreate( QWidget *parent, WFlags, const QPoint &,
bool showIt=FALSE );
void erase();
void erase( int x, int y, int w, int h );
void erase( const QRect & );
void scroll( int dx, int dy );
void drawText( int x, int y, const char * );
void drawText( const QPoint &, const char * );
QWidget *focusWidget() const;
void setAcceptDrops( bool on );
bool acceptDrops() const;
public:
QWidget *parentWidget() const;
bool testWFlags( WFlags n ) const;
static QWidget *find( WId );
static QWidgetMapper *wmapper();
protected:
bool event( QEvent * );
virtual void mousePressEvent( QMouseEvent * );
virtual void mouseReleaseEvent( QMouseEvent * );
virtual void mouseDoubleClickEvent( QMouseEvent * );
virtual void mouseMoveEvent( QMouseEvent * );
virtual void keyPressEvent( QKeyEvent * );
virtual void keyReleaseEvent( QKeyEvent * );
virtual void focusInEvent( QFocusEvent * );
virtual void focusOutEvent( QFocusEvent * );
virtual void enterEvent( QEvent * );
virtual void leaveEvent( QEvent * );
virtual void paintEvent( QPaintEvent * );
virtual void moveEvent( QMoveEvent * );
virtual void resizeEvent( QResizeEvent * );
virtual void closeEvent( QCloseEvent * );
virtual bool x11Event( XEvent * );
protected:
virtual void styleChange( GUIStyle );
virtual void enabledChange( bool );
virtual void backgroundColorChange( const QColor & );
virtual void backgroundPixmapChange( const QPixmap & );
virtual void paletteChange( const QPalette & );
virtual void fontChange( const QFont & );
bool acceptFocus() const;
void setAcceptFocus( bool );
int metric( int ) const;
void create( WId );
void create( WId, bool initializeWindow, bool destroyOldWindow );
void destroy( bool destroyWindow, bool destroySubWindows );
WFlags getWFlags() const;
void setWFlags( WFlags );
void clearWFlags( WFlags n );
void setFRect( const QRect & );
void setCRect( const QRect & );
virtual bool focusNextPrevChild( bool next );
QWExtra *extraData();
QFocusData *focusData();
void setSizeGrip( bool );
private :
void focusProxyDestroyed();
private:
void setWinId( WId );
bool create();
bool destroy();
void showWindow();
void hideWindow();
void createExtra();
void createSysExtra();
void deleteExtra();
void deleteSysExtra();
void internalMove( int, int );
void internalResize( int, int );
void internalSetGeometry( int, int, int, int );
void deferMove( const QPoint & );
void deferResize( const QSize & );
void cancelMove();
void cancelResize();
void sendDeferredEvents();
void reparentFocusWidgets( QWidget *parent );
QFocusData *focusData( bool create );
void setBackgroundColorFromMode();
void setBackgroundColorDirect( const QColor & );
void setBackgroundModeDirect( BackgroundMode );
void setBackgroundEmpty();
WId winid;
WFlags flags;
QRect frect;
QRect crect;
QColor bg_col;
QPalette pal;
QFont fnt;
QCursor curs;
QWExtra *extra;
QWidget *focusChild;
static void createMapper();
static void destroyMapper();
static QListM_QWidget *wList();
static QListM_QWidget *tlwList();
static QWidgetMapper *mapper;
friend class QApplication;
friend class QPainter;
friend class QFontMetrics;
friend class QFontInfo;
friend class QETWidget;
private:
QWidget( const QWidget & );
QWidget &operator=( const QWidget & );
};
inline bool QWidget::testWFlags( WFlags f ) const
{ return (flags & f) != 0; }
inline WId QWidget::winId() const
{ return winid; }
inline bool QWidget::isTopLevel() const
{ return testWFlags(WType_TopLevel); }
inline bool QWidget::isModal() const
{ return testWFlags(WType_Modal); }
inline bool QWidget::isPopup() const
{ return testWFlags(WType_Popup); }
inline bool QWidget::isDesktop() const
{ return testWFlags(WType_Desktop); }
inline bool QWidget::isEnabled() const
{ return !testWFlags(WState_Disabled); }
inline const QRect &QWidget::frameGeometry() const
{ return frect; }
inline const QRect &QWidget::geometry() const
{ return crect; }
inline int QWidget::x() const
{ return frect.x(); }
inline int QWidget::y() const
{ return frect.y(); }
inline QPoint QWidget::pos() const
{ return frect.topLeft(); }
inline QSize QWidget::size() const
{ return crect.size(); }
inline int QWidget::width() const
{ return crect.width(); }
inline int QWidget::height() const
{ return crect.height(); }
inline QRect QWidget::rect() const
{ return QRect(0,0,crect.width(),crect.height()); }
inline void QWidget::setSizeIncrement( const QSize &s )
{ setSizeIncrement(s.width(),s.height()); }
inline void QWidget::setMinimumSize( const QSize &s )
{ setMinimumSize(s.width(),s.height()); }
inline void QWidget::setMaximumSize( const QSize &s )
{ setMaximumSize(s.width(),s.height()); }
inline const QColor &QWidget::backgroundColor() const
{ return bg_col; }
inline const QPalette &QWidget::palette() const
{ return pal; }
inline const QFont &QWidget::font() const
{ return fnt; }
inline QFontMetrics QWidget::fontMetrics() const
{ return QFontMetrics(this); }
inline QFontInfo QWidget::fontInfo() const
{ return QFontInfo(this); }
inline bool QWidget::hasMouseTracking() const
{ return testWFlags(WState_TrackMouse); }
inline bool QWidget::isFocusEnabled() const
{ return testWFlags(WState_TabToFocus|WState_ClickToFocus); }
inline QWidget::FocusPolicy QWidget::focusPolicy() const
{ return (FocusPolicy)((testWFlags(WState_TabToFocus) ? (int)TabFocus : 0) +
(testWFlags(WState_ClickToFocus)?(int)ClickFocus:0)); }
inline bool QWidget::isUpdatesEnabled() const
{ return !testWFlags(WState_BlockUpdates); }
inline void QWidget::update( const QRect &r )
{ update( r.x(), r.y(), r.width(), r.height() ); }
inline void QWidget::repaint( bool erase )
{ repaint( 0, 0, crect.width(), crect.height(), erase ); }
inline void QWidget::repaint( const QRect &r, bool erase )
{ repaint( r.x(), r.y(), r.width(), r.height(), erase ); }
inline void QWidget::erase()
{ erase( 0, 0, crect.width(), crect.height() ); }
inline void QWidget::erase( const QRect &r )
{ erase( r.x(), r.y(), r.width(), r.height() ); }
inline bool QWidget::isVisible() const
{ return testWFlags(WState_Visible); }
inline void QWidget::move( const QPoint &p )
{ move( p.x(), p.y() ); }
inline void QWidget::resize( const QSize &s )
{ resize( s.width(), s.height()); }
inline void QWidget::setGeometry( const QRect &r )
{ setGeometry( r.left(), r.top(), r.width(), r.height() ); }
inline void QWidget::drawText( const QPoint &p, const char *s )
{ drawText( p.x(), p.y(), s ); }
inline QWidget *QWidget::parentWidget() const
{ return (QWidget *)QObject::parent(); }
inline QWidgetMapper *QWidget::wmapper()
{ return mapper; }
inline bool QWidget::acceptFocus() const
{ return testWFlags(WState_ClickToFocus|WState_TabToFocus); }
inline WFlags QWidget::getWFlags() const
{ return flags; }
inline void QWidget::setWFlags( WFlags f )
{ flags |= f; }
inline void QWidget::clearWFlags( WFlags f )
{ flags &= ~f; }
# 28 "widgets/qframe.h" 2
class QFrame : public QWidget
{
public: QMetaObject *metaObject() const { return metaObj; } const char *className() const; protected: void initMetaObject(); private: static QMetaObject *metaObj;
public:
QFrame( QWidget *parent=0, const char *name=0, WFlags f=0,
bool allowLines=TRUE );
enum { NoFrame = 0,
Box = 0x0001,
Panel = 0x0002,
WinPanel = 0x0003,
HLine = 0x0004,
VLine = 0x0005,
MShape = 0x000f,
Plain = 0x0010,
Raised = 0x0020,
Sunken = 0x0030,
MShadow = 0x00f0 };
int frameStyle() const;
int frameShape() const;
int frameShadow() const;
void setFrameStyle( int );
bool lineShapesOk() const;
int lineWidth() const;
void setLineWidth( int );
int margin() const;
void setMargin( int );
int midLineWidth() const;
void setMidLineWidth( int );
int frameWidth() const;
QRect frameRect() const;
QRect contentsRect() const;
QSize sizeHint() const;
protected:
void setFrameRect( const QRect & );
void paintEvent( QPaintEvent * );
void resizeEvent( QResizeEvent * );
virtual void drawFrame( QPainter * );
virtual void drawContents( QPainter * );
virtual void frameChanged();
private:
void updateFrameWidth();
QRect frect;
int fstyle;
short lwidth;
short mwidth;
short fwidth;
short lineok;
private:
QFrame( const QFrame & );
QFrame &operator=( const QFrame & );
};
inline int QFrame::frameStyle() const
{ return fstyle; }
inline int QFrame::frameShape() const
{ return fstyle & MShape; }
inline int QFrame::frameShadow() const
{ return fstyle & MShadow; }
inline bool QFrame::lineShapesOk() const
{ return lineok; }
inline int QFrame::lineWidth() const
{ return lwidth; }
inline int QFrame::midLineWidth() const
{ return mwidth & 0x00ff; }
inline int QFrame::margin() const
{ return ((int)mwidth) >> 8; }
inline int QFrame::frameWidth() const
{ return fwidth; }
# 28 "widgets/qtableview.h" 2
class QScrollBar;
class CornerSquare;
class QTableView : public QFrame
{
public: QMetaObject *metaObject() const { return metaObj; } const char *className() const; protected: void initMetaObject(); private: static QMetaObject *metaObj;
public:
void setBackgroundColor( const QColor & );
void setPalette( const QPalette & );
void show();
void repaint( bool erase=TRUE );
void repaint( int x, int y, int w, int h, bool erase=TRUE );
void repaint( const QRect &, bool erase=TRUE );
protected:
QTableView( QWidget *parent=0, const char *name=0, WFlags f=0 );
~QTableView();
int numRows() const;
void setNumRows( int );
int numCols() const;
void setNumCols( int );
int topCell() const;
void setTopCell( int row );
int leftCell() const;
void setLeftCell( int col );
void setTopLeftCell( int row, int col );
int xOffset() const;
void setXOffset( int );
int yOffset() const;
void setYOffset( int );
void setOffset( int x, int y, bool updateScrBars = TRUE );
virtual int cellWidth( int col );
virtual int cellHeight( int row );
int cellWidth() const;
int cellHeight() const;
void setCellWidth( int );
void setCellHeight( int );
virtual int totalWidth();
virtual int totalHeight();
uint tableFlags() const;
bool testTableFlags( uint f ) const;
void setTableFlags( uint f );
void clearTableFlags( uint f = ~0 );
bool autoUpdate() const;
void setAutoUpdate( bool );
void updateCell( int row, int column, bool erase=TRUE );
QRect cellUpdateRect() const;
QRect viewRect() const;
int lastRowVisible() const;
int lastColVisible() const;
bool rowIsVisible( int row ) const;
bool colIsVisible( int col ) const;
const QScrollBar *verticalScrollBar() const;
const QScrollBar *horizontalScrollBar() const;
private :
void horSbValue( int );
void horSbSliding( int );
void horSbSlidingDone();
void verSbValue( int );
void verSbSliding( int );
void verSbSlidingDone();
protected:
virtual void paintCell( QPainter *, int row, int col ) = 0;
virtual void setupPainter( QPainter * );
void paintEvent( QPaintEvent * );
void resizeEvent( QResizeEvent * );
int findRow( int yPos ) const;
int findCol( int xPos ) const;
bool rowYPos( int row, int *yPos ) const;
bool colXPos( int col, int *xPos ) const;
int maxXOffset();
int maxYOffset();
int maxColOffset();
int maxRowOffset();
int minViewX() const;
int minViewY() const;
int maxViewX() const;
int maxViewY() const;
int viewWidth() const;
int viewHeight() const;
void scroll( int xPixels, int yPixels );
void updateScrollBars();
void updateTableSize();
private:
void coverCornerSquare( bool );
void snapToGrid( bool horizontal, bool vertical );
void setHorScrollBar( bool on, bool update = TRUE );
void setVerScrollBar( bool on, bool update = TRUE );
void updateView();
int findRawRow( int yPos, int *cellMaxY, int *cellMinY = 0,
bool goOutsideView = FALSE ) const;
int findRawCol( int xPos, int *cellMaxX, int *cellMinX = 0,
bool goOutsideView = FALSE ) const;
int maxColsVisible() const;
void updateScrollBars( uint );
void updateFrameSize();
void doAutoScrollBars();
void showOrHideScrollBars();
int nRows;
int nCols;
int xOffs, yOffs;
int xCellOffs, yCellOffs;
short xCellDelta, yCellDelta;
short cellH, cellW;
uint obsoleteUpd : 1;
uint eraseInPaint : 1;
uint verSliding : 1;
uint verSnappingOff : 1;
uint horSliding : 1;
uint horSnappingOff : 1;
uint coveringCornerSquare : 1;
uint sbDirty : 8;
uint inSbUpdate : 1;
uint tFlags;
QRect cellUpdateR;
QScrollBar *vScrollBar;
QScrollBar *hScrollBar;
CornerSquare *cornerSquare;
private:
QTableView( const QTableView & );
QTableView &operator=( const QTableView & );
};
const uint Tbl_vScrollBar = 0x00000001;
const uint Tbl_hScrollBar = 0x00000002;
const uint Tbl_autoVScrollBar = 0x00000004;
const uint Tbl_autoHScrollBar = 0x00000008;
const uint Tbl_autoScrollBars = 0x0000000C;
const uint Tbl_clipCellPainting = 0x00000100;
const uint Tbl_cutCellsV = 0x00000200;
const uint Tbl_cutCellsH = 0x00000400;
const uint Tbl_cutCells = 0x00000600;
const uint Tbl_scrollLastHCell = 0x00000800;
const uint Tbl_scrollLastVCell = 0x00001000;
const uint Tbl_scrollLastCell = 0x00001800;
const uint Tbl_smoothHScrolling = 0x00002000;
const uint Tbl_smoothVScrolling = 0x00004000;
const uint Tbl_smoothScrolling = 0x00006000;
const uint Tbl_snapToHGrid = 0x00008000;
const uint Tbl_snapToVGrid = 0x00010000;
const uint Tbl_snapToGrid = 0x00018000;
inline int QTableView::numRows() const
{ return nRows; }
inline int QTableView::numCols() const
{ return nCols; }
inline int QTableView::topCell() const
{ return yCellOffs; }
inline int QTableView::leftCell() const
{ return xCellOffs; }
inline int QTableView::xOffset() const
{ return xOffs; }
inline int QTableView::yOffset() const
{ return yOffs; }
inline int QTableView::cellHeight() const
{ return cellH; }
inline int QTableView::cellWidth() const
{ return cellW; }
inline uint QTableView::tableFlags() const
{ return tFlags; }
inline bool QTableView::testTableFlags( uint f ) const
{ return (tFlags & f) != 0; }
inline QRect QTableView::cellUpdateRect() const
{ return cellUpdateR; }
inline bool QTableView::autoUpdate() const
{ return isUpdatesEnabled(); }
inline void QTableView::repaint( bool erase )
{ repaint( 0, 0, width(), height(), erase ); }
inline void QTableView::repaint( const QRect &r, bool erase )
{ repaint( r.x(), r.y(), r.width(), r.height(), erase ); }
inline void QTableView::updateScrollBars()
{ updateScrollBars( 0 ); }
# 28 "widgets/qpopupmenu.h" 2
# 1 "widgets/qmenudata.h" 1
class QPopupMenu;
# 1 "/trash/qt-1.44/include/qpixmap.h" 1
class QPixmap : public QPaintDevice
{
friend class QPaintDevice;
friend class QPainter;
public:
enum ColorMode { Auto, Color, Mono };
QPixmap();
QPixmap( int w, int h, int depth=-1 );
QPixmap( const QSize &, int depth=-1 );
QPixmap( const char *fileName, const char *format=0, ColorMode mode=Auto );
QPixmap( const char *fileName, const char *format, int conversion_flags );
QPixmap( const char *xpm[] );
QPixmap( const QPixmap & );
~QPixmap();
QPixmap &operator=( const QPixmap & );
QPixmap &operator=( const QImage & );
bool isNull() const;
int width() const { return data->w; }
int height() const { return data->h; }
QSize size() const { return QSize(data->w,data->h); }
QRect rect() const { return QRect(0,0,data->w,data->h); }
int depth() const { return data->d; }
static int defaultDepth();
void fill( const QColor &fillColor=white );
void fill( const QWidget *, int xofs, int yofs );
void fill( const QWidget *, const QPoint &ofs );
void resize( int width, int height );
void resize( const QSize & );
const QBitmap *mask() const;
void setMask( const QBitmap & );
bool selfMask() const;
QBitmap createHeuristicMask( bool clipTight = TRUE ) const;
static QPixmap grabWindow( WId, int x=0, int y=0, int w=-1, int h=-1 );
QPixmap xForm( const QWMatrix & ) const;
static QWMatrix trueMatrix( const QWMatrix &, int w, int h );
QImage convertToImage() const;
bool convertFromImage( const QImage &, ColorMode mode=Auto );
bool convertFromImage( const QImage &, int conversion_flags );
static const char *imageFormat( const char *fileName );
bool load( const char *fileName, const char *format=0,
ColorMode mode=Auto );
bool load( const char *fileName, const char *format,
int conversion_flags );
bool loadFromData( const uchar *buf, uint len,
const char *format=0,
ColorMode mode=Auto );
bool loadFromData( const uchar *buf, uint len,
const char *format,
int conversion_flags );
bool loadFromData( QArrayT<char> data,
const char *format=0,
int conversion_flags=0 );
bool save( const char *fileName, const char *format ) const;
int serialNumber() const;
enum Optimization { NoOptim, NormalOptim, BestOptim };
Optimization optimization() const;
void setOptimization( Optimization );
static Optimization defaultOptimization();
static void setDefaultOptimization( Optimization );
bool isOptimized() const;
void optimize( bool );
static bool isGloballyOptimized();
static void optimizeGlobally( bool );
virtual void detach();
bool isQBitmap() const;
protected:
QPixmap( int w, int h, const uchar *data, bool isXbitmap );
int metric( int ) const;
struct QPixmapData : public QShared {
QCOORD w, h;
short d;
uint unused : 1;
uint optim : 1;
uint uninit : 1;
uint bitmap : 1;
uint selfmask : 1;
int ser_no;
QBitmap *mask;
void *ximage;
void *maskgc;
Optimization opt;
} *data;
private:
void init( int, int, int );
void deref();
QPixmap copy() const;
static bool optimAll;
static Optimization defOpt;
friend void bitBlt( QPaintDevice *, int, int,
const QPaintDevice *,
int, int, int, int, RasterOp, bool );
friend void bitBlt( QPaintDevice *, int, int,
const QImage* src,
int, int, int, int, int conversion_flags );
};
inline bool QPixmap::isNull() const
{
return hd == 0;
}
inline void QPixmap::fill( const QWidget *w, const QPoint &ofs )
{
fill( w, ofs.x(), ofs.y() );
}
inline void QPixmap::resize( const QSize &s )
{
resize( s.width(), s.height() );
}
inline const QBitmap *QPixmap::mask() const
{
return data->mask;
}
inline bool QPixmap::selfMask() const
{
return data->selfmask;
}
inline int QPixmap::serialNumber() const
{
return data->ser_no;
}
inline QPixmap::Optimization QPixmap::optimization() const
{
return data->opt;
}
inline bool QPixmap::isOptimized() const
{
return data->optim;
}
inline bool QPixmap::isQBitmap() const
{
return data->bitmap;
}
QDataStream &operator<<( QDataStream &, const QPixmap & );
QDataStream &operator>>( QDataStream &, QPixmap & );
# 37 "widgets/qmenudata.h" 2
# 1 "/trash/qt-1.44/include/qsignal.h" 1
class QSignal : private QObject
{
public:
QSignal( QObject *parent=0, const char *name=0 );
const char *name() const { return QObject::name(); }
void setName( const char *name ) { QObject::setName(name); }
bool connect( const QObject *receiver, const char *member );
bool disconnect( const QObject *receiver, const char *member=0 );
bool isBlocked() const { return QObject::signalsBlocked(); }
void block( bool b ) { QObject::blockSignals( b ); }
void activate() { activate_signal("x()"); }
private:
void dummy();
public: QMetaObject *metaObject() const { return metaObj; } const char *className() const; protected: void initMetaObject(); private: static QMetaObject *metaObj;
private:
QSignal( const QSignal & );
QSignal &operator=( const QSignal & );
};
# 38 "widgets/qmenudata.h" 2
class QMenuItem
{
friend class QMenuData;
public:
QMenuItem();
~QMenuItem();
int id() const { return ident; }
const char *text() const { return text_data; }
QPixmap *pixmap() const { return pixmap_data; }
QPopupMenu *popup() const { return popup_menu; }
int key() const { return accel_key; }
QSignal *signal() const { return signal_data; }
bool isSeparator() const { return is_separator; }
bool isEnabled() const { return is_enabled; }
bool isChecked() const { return is_checked; }
bool isDirty() const { return is_dirty; }
void setText( const char *text ) { text_data = text; }
void setDirty( bool d ) { is_dirty = d; }
private:
int ident;
QString text_data;
QPixmap *pixmap_data;
QPopupMenu *popup_menu;
int accel_key;
QSignal *signal_data;
uint is_separator : 1;
uint is_enabled : 1;
uint is_checked : 1;
uint is_dirty : 1;
private:
QMenuItem( const QMenuItem & );
QMenuItem &operator=( const QMenuItem & );
};
# 1 "/trash/qt-1.44/include/qlist.h" 1
# 1 "/trash/qt-1.44/include/qglist.h" 1
# 1 "/trash/qt-1.44/include/qcollection.h" 1
typedef void *GCI;
typedef int (*GCF)(GCI,void*);
class QGVector;
class QGList;
class QGDict;
class QCollection
{
public:
bool autoDelete() const { return del_item; }
void setAutoDelete( bool enable ) { del_item = enable; }
virtual uint count() const = 0;
virtual void clear() = 0;
protected:
QCollection() { del_item = FALSE; }
QCollection(const QCollection &) { del_item = FALSE; }
virtual ~QCollection() {}
bool del_item;
virtual GCI newItem( GCI );
virtual void deleteItem( GCI );
};
# 28 "/trash/qt-1.44/include/qglist.h" 2
class QLNode
{
friend class QGList;
friend class QGListIterator;
public:
GCI getData() { return data; }
private:
GCI data;
QLNode *prev;
QLNode *next;
QLNode( GCI d ) { data = d; }
};
class QGList : public QCollection
{
friend class QGListIterator;
friend class QGVector;
public:
uint count() const;
QDataStream &read( QDataStream & );
QDataStream &write( QDataStream & ) const;
protected:
QGList();
QGList( const QGList & );
~QGList();
QGList &operator=( const QGList & );
void inSort( GCI );
void append( GCI );
bool insertAt( uint index, GCI );
void relinkNode( QLNode * );
bool removeNode( QLNode * );
bool remove( GCI = 0 );
bool removeRef( GCI = 0 );
bool removeFirst();
bool removeLast();
bool removeAt( uint index );
GCI takeNode( QLNode * );
GCI take();
GCI takeAt( uint index );
GCI takeFirst();
GCI takeLast();
void clear();
int findRef( GCI, bool = TRUE );
int find( GCI, bool = TRUE );
uint containsRef( GCI ) const;
uint contains( GCI ) const;
GCI at( uint index );
int at() const;
QLNode *currentNode() const;
GCI get() const;
GCI cfirst() const;
GCI clast() const;
GCI first();
GCI last();
GCI next();
GCI prev();
void toVector( QGVector * ) const;
virtual int compareItems( GCI, GCI );
virtual QDataStream &read( QDataStream &, GCI & );
virtual QDataStream &write( QDataStream &, GCI ) const;
private:
void prepend( GCI );
QLNode *firstNode;
QLNode *lastNode;
QLNode *curNode;
int curIndex;
uint numNodes;
QGList *iterators;
QLNode *locate( uint );
QLNode *unlink();
};
inline uint QGList::count() const
{
return numNodes;
}
inline bool QGList::removeFirst()
{
first();
return remove();
}
inline bool QGList::removeLast()
{
last();
return remove();
}
inline int QGList::at() const
{
return curIndex;
}
inline GCI QGList::at( uint index )
{
QLNode *n = locate( index );
return n ? n->data : 0;
}
inline QLNode *QGList::currentNode() const
{
return curNode;
}
inline GCI QGList::get() const
{
return curNode ? curNode->data : 0;
}
inline GCI QGList::cfirst() const
{
return firstNode ? firstNode->data : 0;
}
inline GCI QGList::clast() const
{
return lastNode ? lastNode->data : 0;
}
QDataStream &operator>>( QDataStream &, QGList & );
QDataStream &operator<<( QDataStream &, const QGList & );
class QGListIterator
{
friend class QGList;
protected:
QGListIterator( const QGList & );
QGListIterator( const QGListIterator & );
QGListIterator &operator=( const QGListIterator & );
~QGListIterator();
bool atFirst() const;
bool atLast() const;
GCI toFirst();
GCI toLast();
GCI get() const;
GCI operator()();
GCI operator++();
GCI operator+=(uint);
GCI operator--();
GCI operator-=(uint);
protected:
QGList *list;
private:
QLNode *curNode;
};
inline bool QGListIterator::atFirst() const
{
return curNode == list->firstNode;
}
inline bool QGListIterator::atLast() const
{
return curNode == list->lastNode;
}
inline GCI QGListIterator::get() const
{
return curNode ? curNode->data : 0;
}
# 28 "/trash/qt-1.44/include/qlist.h" 2
# 93 "/trash/qt-1.44/include/qlist.h"
# 123 "/trash/qt-1.44/include/qlist.h"
template<class type> class QListT : public QGList
{
public:
QListT() {}
QListT( const QListT<type> &l ) : QGList(l) {}
~QListT() { clear(); }
QListT<type> &operator=(const QListT<type> &l)
{ return (QListT<type>&)QGList::operator=(l); }
uint count() const { return QGList::count(); }
bool isEmpty() const { return QGList::count() == 0; }
bool insert( uint i, const type *d){ return QGList::insertAt(i,(GCI)d); }
void inSort( const type *d ) { QGList::inSort((GCI)d); }
void append( const type *d ) { QGList::append((GCI)d); }
bool remove( uint i ) { return QGList::removeAt(i); }
bool remove() { return QGList::remove((GCI)0); }
bool remove( const type *d ) { return QGList::remove((GCI)d); }
bool removeRef( const type *d ) { return QGList::removeRef((GCI)d); }
void removeNode( QLNode *n ) { QGList::removeNode(n); }
bool removeFirst() { return QGList::removeFirst(); }
bool removeLast() { return QGList::removeLast(); }
type *take( uint i ) { return (type *)QGList::takeAt(i); }
type *take() { return (type *)QGList::take(); }
type *takeNode( QLNode *n ) { return (type *)QGList::takeNode(n); }
void clear() { QGList::clear(); }
int find( const type *d ) { return QGList::find((GCI)d); }
int findNext( const type *d ) { return QGList::find((GCI)d,FALSE); }
int findRef( const type *d ) { return QGList::findRef((GCI)d); }
int findNextRef( const type *d ){ return QGList::findRef((GCI)d,FALSE);}
uint contains( const type *d ) const { return QGList::contains((GCI)d); }
uint containsRef( const type *d ) const
{ return QGList::containsRef((GCI)d); }
type *at( uint i ) { return (type *)QGList::at(i); }
int at() const { return QGList::at(); }
type *current() const { return (type *)QGList::get(); }
QLNode *currentNode() const { return QGList::currentNode(); }
type *getFirst() const { return (type *)QGList::cfirst(); }
type *getLast() const { return (type *)QGList::clast(); }
type *first() { return (type *)QGList::first(); }
type *last() { return (type *)QGList::last(); }
type *next() { return (type *)QGList::next(); }
type *prev() { return (type *)QGList::prev(); }
void toVector( QGVector *vec )const{ QGList::toVector(vec); }
private:
void deleteItem( GCI d ) { if ( del_item ) delete (type *)d; }
};
template<class type> class QListIteratorT : public QGListIterator
{
public:
QListIteratorT(const QListT<type> &l) :QGListIterator((QGList &)l) {}
~QListIteratorT() {}
uint count() const { return list->count(); }
bool isEmpty() const { return list->count() == 0; }
bool atFirst() const { return QGListIterator::atFirst(); }
bool atLast() const { return QGListIterator::atLast(); }
type *toFirst() { return (type *)QGListIterator::toFirst(); }
type *toLast() { return (type *)QGListIterator::toLast(); }
operator type *() const { return (type *)QGListIterator::get(); }
type *current() const { return (type *)QGListIterator::get(); }
type *operator()() { return (type *)QGListIterator::operator()();}
type *operator++() { return (type *)QGListIterator::operator++(); }
type *operator+=(uint j) { return (type *)QGListIterator::operator+=(j);}
type *operator--() { return (type *)QGListIterator::operator--(); }
type *operator-=(uint j) { return (type *)QGListIterator::operator-=(j);}
QListIteratorT<type>& operator=(const QListIteratorT<type>&it)
{ QGListIterator::operator=(it); return *this; }
};
# 80 "widgets/qmenudata.h" 2
typedef class QListM_QMenuItem : public QGList { public: QListM_QMenuItem () {} QListM_QMenuItem ( const QListM_QMenuItem &l ) : QGList(l) {} ~ QListM_QMenuItem () { clear(); } QListM_QMenuItem &operator=(const QListM_QMenuItem &l) { return ( QListM_QMenuItem &)QGList::operator=(l); } uint count() const { return QGList::count(); } bool isEmpty() const { return QGList::count() == 0; } bool insert( uint i, const QMenuItem *d){ return QGList::insertAt(i,(GCI)d); } void inSort( const QMenuItem *d ) { QGList::inSort((GCI)d); } void append( const QMenuItem *d ) { QGList::append((GCI)d); } bool remove( uint i ) { return QGList::removeAt(i); } bool remove() { return QGList::remove((GCI)0); } bool remove( const QMenuItem *d ) { return QGList::remove((GCI)d); } bool removeRef( const QMenuItem *d ) { return QGList::removeRef((GCI)d); } void removeNode( QLNode *n ) { QGL!
ist::removeNode(n); } bool removeFirst() { return QGList::removeFirst(); } bool removeLast() { return QGList::removeLast(); } QMenuItem *take( uint i ) { return ( QMenuItem *)QGList::takeAt(i); } QMenuItem *take() { return ( QMenuItem *)QGList::take(); } QMenuItem *takeNode( QLNode *n ) { return ( QMenuItem *)QGList::takeNode(n);} void clear() { QGList::clear(); } int find( const QMenuItem *d ) { return QGList::find((GCI)d); } int findNext( const QMenuItem *d ) { return QGList::find((GCI)d,FALSE);} int findRef( const QMenuItem *d ) { return QGList::findRef((GCI)d); } int findNextRef( const QMenuItem *d ){ return QGList::findRef((GCI)d,FALSE);} uint contains( const QMenuItem *d ) const { return QGList::contains((GCI)d); } uint containsRef( const QMenuItem *d ) const { return QGList::containsRef((GCI)d);} QMenuItem *at( uint i ) { return ( QMenuItem *)QGList::at(i); } int at() const { return QGList!
::at(); } QMenuItem *current() const { return ( QMen!
uItem *)QGList::get(); } QLNode *currentNode() const { return QGList::currentNode(); } QMenuItem *getFirst() const { return ( QMenuItem *)QGList::cfirst(); } QMenuItem *getLast() const { return ( QMenuItem *)QGList::clast(); } QMenuItem *first() { return ( QMenuItem *)QGList::first(); } QMenuItem *last() { return ( QMenuItem *)QGList::last(); } QMenuItem *next() { return ( QMenuItem *)QGList::next(); } QMenuItem *prev() { return ( QMenuItem *)QGList::prev(); } void toVector( QGVector *vec )const{ QGList::toVector(vec); } private: void deleteItem( GCI d ) { if ( del_item ) delete ( QMenuItem *)d; } } QMenuItemList;
typedef class QListIteratorM_QMenuItem : public QGListIterator { public: QListIteratorM_QMenuItem (const QListM_QMenuItem &l) :QGListIterator((QGList &)l){} ~ QListIteratorM_QMenuItem () {} uint count() const { return list->count(); } bool isEmpty() const { return list->count() == 0; } bool atFirst() const { return QGListIterator::atFirst(); } bool atLast() const { return QGListIterator::atLast(); } QMenuItem *toFirst() { return ( QMenuItem *)QGListIterator::toFirst(); } QMenuItem *toLast() { return ( QMenuItem *)QGListIterator::toLast(); } operator QMenuItem *() const { return ( QMenuItem *)QGListIterator::get(); } QMenuItem *current() const { return ( QMenuItem *)QGListIterator::get(); } QMenuItem *operator()() { return ( QMenuItem *)QGListIterator::operator()();} QMenuItem *operator++() { return ( QMenuItem *)QGListIterator::operator++(!
); } QMenuItem *operator+=(uint j) { return ( QMenuItem *)QGListIterator::operator+=(j);} QMenuItem *operator--() { return ( QMenuItem *)QGListIterator::operator--(); } QMenuItem *operator-=(uint j) { return ( QMenuItem *)QGListIterator::operator-=(j);} QListIteratorM_QMenuItem & operator=(const QListIteratorM_QMenuItem &it) { QGListIterator::operator=(it); return *this; }} QMenuItemListIt;
class QMenuData
{
friend class QMenuBar;
friend class QPopupMenu;
public:
QMenuData();
virtual ~QMenuData();
uint count() const;
int insertItem( const char *text,
const QObject *receiver, const char *member,
int accel=0 );
int insertItem( const QPixmap &pixmap,
const QObject *receiver, const char *member,
int accel=0 );
int insertItem( const QPixmap &pixmap, const char *text,
const QObject *receiver, const char *member,
int accel=0 );
int insertItem( const char *text,
const QObject *receiver, const char *member,
int accel, int id, int index = -1 );
int insertItem( const QPixmap &pixmap,
const QObject *receiver, const char *member,
int accel, int id, int index = -1 );
int insertItem( const QPixmap &pixmap, const char *text,
const QObject *receiver, const char *member,
int accel, int id, int index = -1 );
int insertItem( const char *text, int id=-1, int index=-1 );
int insertItem( const char *text, QPopupMenu *popup,
int id=-1, int index=-1 );
int insertItem( const QPixmap &pixmap, int id=-1, int index=-1 );
int insertItem( const QPixmap &pixmap, QPopupMenu *popup,
int id=-1, int index=-1 );
int insertItem( const QPixmap &pixmap, const char *text,
int id=-1, int index=-1 );
int insertItem( const QPixmap &pixmap, const char *text,
QPopupMenu *popup,
int id=-1, int index=-1 );
void insertSeparator( int index=-1 );
void removeItem( int id ) { removeItemAt(indexOf(id)); }
void removeItemAt( int index );
void clear();
int accel( int id ) const;
void setAccel( int key, int id );
const char *text( int id ) const;
QPixmap *pixmap( int id ) const;
void changeItem( const char *text, int id );
void changeItem( const QPixmap &pixmap, int id );
void changeItem( const QPixmap &pixmap, const char *text, int id );
bool isItemEnabled( int id ) const;
void setItemEnabled( int id, bool enable );
bool isItemChecked( int id ) const;
void setItemChecked( int id, bool check );
virtual void updateItem( int id );
int indexOf( int id ) const;
int idAt( int index ) const;
void setId( int index, int id );
bool connectItem( int id,
const QObject *receiver, const char *member );
bool disconnectItem( int id,
const QObject *receiver, const char *member );
QMenuItem *findItem( int id ) const;
QMenuItem *findItem( int id, QMenuData ** parent ) const;
protected:
int actItem;
QMenuItemList *mitems;
QMenuData *parentMenu;
uint isPopupMenu : 1;
uint isMenuBar : 1;
uint badSize : 1;
uint mouseBtDn : 1;
uint mseparator : 1;
uint windowsaltactive : 1;
virtual void menuContentsChanged();
virtual void menuStateChanged();
virtual void menuInsPopup( QPopupMenu * );
virtual void menuDelPopup( QPopupMenu * );
QMenuItem * findPopup( QPopupMenu *, int *index = 0 );
private:
int insertAny( const char *, const QPixmap *, QPopupMenu *,
int, int );
void removePopup( QPopupMenu * );
void setAllDirty( bool );
private:
QMenuData( const QMenuData & );
QMenuData &operator=( const QMenuData & );
};
# 29 "widgets/qpopupmenu.h" 2
class QPopupMenu : public QTableView, public QMenuData
{
friend class QMenuData;
friend class QMenuBar;
public: QMetaObject *metaObject() const { return metaObj; } const char *className() const; protected: void initMetaObject(); private: static QMetaObject *metaObj;
public:
QPopupMenu( QWidget *parent=0, const char *name=0 );
~QPopupMenu();
void popup( const QPoint & pos, int indexAtPoint = 0 );
void updateItem( int id );
void setCheckable( bool );
bool isCheckable() const;
void setFont( const QFont & );
void show();
void hide();
int exec();
int exec( const QPoint & pos, int indexAtPoint = 0 );
void setActiveItem( int );
int idAt( int index ) const { return QMenuData::idAt( index ); }
int idAt( const QPoint& pos ) const;
protected :
void activated( int itemId );
void highlighted( int itemId );
void activatedRedirect( int itemId );
void highlightedRedirect( int itemId );
void aboutToShow();
protected:
int cellHeight( int );
int cellWidth( int );
void paintCell( QPainter *, int, int );
void paintEvent( QPaintEvent * );
void mousePressEvent( QMouseEvent * );
void mouseReleaseEvent( QMouseEvent * );
void mouseMoveEvent( QMouseEvent * );
void keyPressEvent( QKeyEvent * );
void timerEvent( QTimerEvent * );
private :
void subActivated( int itemId );
void subHighlighted( int itemId );
void accelActivated( int itemId );
void accelDestroyed();
void modalActivation( int );
void subMenuTimer();
private:
void menuContentsChanged();
void menuStateChanged();
void menuInsPopup( QPopupMenu * );
void menuDelPopup( QPopupMenu * );
void frameChanged();
void paintAll();
void actSig( int );
void hilitSig( int );
void setFirstItemActive();
void hideAllPopups();
void hidePopups();
bool tryMenuBar( QMouseEvent * );
void byeMenuBar();
int itemAtPos( const QPoint & );
int itemPos( int index );
void updateSize();
void updateRow( int row );
void updateAccel( QWidget * );
void enableAccel( bool );
void setTabMark( int );
int tabMark();
void setCheckableFlag( bool );
QMenuItem *selfItem;
QAccel *autoaccel;
bool accelDisabled;
int popupActive;
int tabCheck;
private:
QPopupMenu( const QPopupMenu & );
QPopupMenu &operator=( const QPopupMenu & );
};
# 28 "widgets/qmenubar.h" 2
class QMenuBar : public QFrame, public QMenuData
{
friend class QPopupMenu;
public: QMetaObject *metaObject() const { return metaObj; } const char *className() const; protected: void initMetaObject(); private: static QMetaObject *metaObj;
public:
QMenuBar( QWidget *parent=0, const char *name=0 );
~QMenuBar();
void updateItem( int id );
void show();
void hide();
bool eventFilter( QObject *, QEvent * );
int heightForWidth(int) const;
enum Separator { Never=0, InWindowsStyle=1 };
Separator separator() const;
void setSeparator( Separator when );
protected :
void activated( int itemId );
void highlighted( int itemId );
protected:
void drawContents( QPainter * );
void fontChange( const QFont & );
void mousePressEvent( QMouseEvent * );
void mouseReleaseEvent( QMouseEvent * );
void mouseMoveEvent( QMouseEvent * );
void keyPressEvent( QKeyEvent * );
void resizeEvent( QResizeEvent * );
void leaveEvent( QEvent * );
void menuContentsChanged();
void menuStateChanged();
private :
void subActivated( int itemId );
void subHighlighted( int itemId );
void accelActivated( int itemId );
void accelDestroyed();
private:
void menuInsPopup( QPopupMenu * );
void menuDelPopup( QPopupMenu * );
void frameChanged();
bool tryMouseEvent( QPopupMenu *, QMouseEvent * );
void tryKeyEvent( QPopupMenu *, QKeyEvent * );
void goodbye();
void openActPopup();
void hidePopups();
void setActItem( int, bool );
void setWindowsAltMode( bool, int = 0 );
int calculateRects( int max_width = -1 );
int itemAtPos( const QPoint & );
QRect itemRect( int item );
void setupAccelerators();
QAccel *autoaccel;
QRect *irects;
private:
QMenuBar( const QMenuBar & );
QMenuBar &operator=( const QMenuBar & );
};
# 25 "widgets/qmenubar.cpp" 2
# 1 "/trash/qt-1.44/include/qaccel.h" 1
# 1 "/trash/qt-1.44/include/qkeycode.h" 1
const uint SHIFT = 0x00002000;
const uint CTRL = 0x00004000;
const uint ALT = 0x00008000;
const uint ASCII_ACCEL = 0x10000000;
# 29 "/trash/qt-1.44/include/qaccel.h" 2
class QAccelList;
class QAccel : public QObject
{
public: QMetaObject *metaObject() const { return metaObj; } const char *className() const; protected: void initMetaObject(); private: static QMetaObject *metaObj;
public:
QAccel( QWidget *parent, const char *name=0 );
~QAccel();
bool isEnabled() const;
void setEnabled( bool );
uint count() const;
int insertItem( int key, int id=-1 );
void removeItem( int id );
void clear();
int key( int id );
int findKey( int key ) const;
bool isItemEnabled( int id ) const;
void setItemEnabled( int id, bool enable );
bool connectItem( int id,
const QObject *receiver, const char *member );
bool disconnectItem( int id,
const QObject *receiver, const char *member );
void repairEventFilter();
protected :
void activated( int id );
protected:
bool eventFilter( QObject *, QEvent * );
private :
void tlwDestroyed();
private:
QAccelList *aitems;
bool enabled;
QWidget *tlw;
private:
QAccel( const QAccel & );
QAccel &operator=( const QAccel & );
};
inline bool QAccel::isEnabled() const
{
return enabled;
}
# 26 "widgets/qmenubar.cpp" 2
# 1 "/trash/qt-1.44/include/qpainter.h" 1
# 1 "/trash/qt-1.44/include/qregion.h" 1
class QRegion
{
public:
enum RegionType { Rectangle, Ellipse };
QRegion();
QRegion( int x, int y, int w, int h, RegionType = Rectangle );
QRegion( const QRect &, RegionType = Rectangle );
QRegion( const QPointArray &, bool winding=FALSE );
QRegion( const QRegion & );
QRegion( const QBitmap & );
~QRegion();
QRegion &operator=( const QRegion & );
bool isNull() const;
bool isEmpty() const;
bool contains( const QPoint &p ) const;
bool contains( const QRect &r ) const;
void translate( int dx, int dy );
QRegion unite( const QRegion & ) const;
QRegion intersect( const QRegion &) const;
QRegion subtract( const QRegion & ) const;
QRegion xor( const QRegion & ) const;
QRegion eor( const QRegion & ) const;
QRect boundingRect() const;
QArrayT <QRect> rects() const;
bool operator==( const QRegion & ) const;
bool operator!=( const QRegion &r ) const
{ return !(operator==(r)); }
Region handle() const { return data->rgn; }
friend QDataStream &operator<<( QDataStream &, const QRegion & );
friend QDataStream &operator>>( QDataStream &, QRegion & );
private:
QRegion( bool );
QRegion copy() const;
void detach();
void cmd( int id, void *, const QRegion * = 0, const QRegion * = 0 );
void exec( const QArrayT<char> & );
struct QRegionData : public QShared {
Region rgn;
bool is_null;
} *data;
};
QDataStream &operator<<( QDataStream &, const QRegion & );
QDataStream &operator>>( QDataStream &, QRegion & );
# 33 "/trash/qt-1.44/include/qpainter.h" 2
# 1 "/trash/qt-1.44/include/qpen.h" 1
enum PenStyle { NoPen, SolidLine, DashLine,
DotLine, DashDotLine, DashDotDotLine };
class QPen
{
friend class QPainter;
public:
QPen();
QPen( PenStyle );
QPen( const QColor &color, uint width=0, PenStyle style=SolidLine );
QPen( const QPen & );
~QPen();
QPen &operator=( const QPen & );
PenStyle style() const { return data->style; }
void setStyle( PenStyle );
uint width() const { return data->width; }
void setWidth( uint );
const QColor &color() const { return data->color; }
void setColor( const QColor & );
bool operator==( const QPen &p ) const;
bool operator!=( const QPen &p ) const
{ return !(operator==(p)); }
private:
QPen copy() const;
void detach();
void init( const QColor &, uint, PenStyle );
struct QPenData : public QShared {
PenStyle style;
uint width;
QColor color;
} *data;
};
QDataStream &operator<<( QDataStream &, const QPen & );
QDataStream &operator>>( QDataStream &, QPen & );
# 34 "/trash/qt-1.44/include/qpainter.h" 2
# 1 "/trash/qt-1.44/include/qbrush.h" 1
enum BrushStyle
{ NoBrush, SolidPattern,
Dense1Pattern, Dense2Pattern, Dense3Pattern, Dense4Pattern,
Dense5Pattern, Dense6Pattern, Dense7Pattern,
HorPattern, VerPattern, CrossPattern,
BDiagPattern, FDiagPattern, DiagCrossPattern, CustomPattern=24 };
class QBrush
{
friend class QPainter;
public:
QBrush();
QBrush( BrushStyle );
QBrush( const QColor &, BrushStyle=SolidPattern );
QBrush( const QColor &, const QPixmap & );
QBrush( const QBrush & );
~QBrush();
QBrush &operator=( const QBrush & );
BrushStyle style() const { return data->style; }
void setStyle( BrushStyle );
const QColor &color()const { return data->color; }
void setColor( const QColor & );
QPixmap *pixmap() const { return data->pixmap; }
void setPixmap( const QPixmap & );
bool operator==( const QBrush &p ) const;
bool operator!=( const QBrush &b ) const
{ return !(operator==(b)); }
private:
QBrush copy() const;
void detach();
void init( const QColor &, BrushStyle );
struct QBrushData : public QShared {
BrushStyle style;
QColor color;
QPixmap *pixmap;
} *data;
};
QDataStream &operator<<( QDataStream &, const QBrush & );
QDataStream &operator>>( QDataStream &, QBrush & );
# 35 "/trash/qt-1.44/include/qpainter.h" 2
# 1 "/trash/qt-1.44/include/qpointarray.h" 1
typedef short Qpnta_t;
struct QPointData {
QPointData() {}
QPointData( int xp, int yp ) { x=(Qpnta_t)xp; y=(Qpnta_t)yp; }
QPointData( const QPoint &p ) { x=(Qpnta_t)p.x(); y=(Qpnta_t)p.y(); }
Qpnta_t x;
Qpnta_t y;
};
class QPointArray;
class QPointVal
{
public:
QPointVal( QPointData *ptr ) : p(ptr) {}
bool operator==( const QPointVal &point ) const;
bool operator!=( const QPointVal &point ) const;
QPointVal &operator=( const QPointVal &point );
QPointVal &operator=( const QPoint &point );
QPointVal &operator+=( const QPoint &point );
QPointVal &operator-=( const QPoint &point );
operator QPoint() const { return QPoint(p->x,p->y); }
int x() const { return (int)p->x; }
int y() const { return (int)p->y; }
private:
QPointData *p;
};
class QArrayM_QPointData : public QGArray { protected: QArrayM_QPointData ( int, int ) : QGArray( 0, 0 ) {} public: QArrayM_QPointData () {} QArrayM_QPointData ( int size ) : QGArray(size*sizeof( QPointData )) {} QArrayM_QPointData ( const QArrayM_QPointData &a ) : QGArray(a) {} ~ QArrayM_QPointData () {} QArrayM_QPointData & operator=(const QArrayM_QPointData &a) { return ( QArrayM_QPointData &)QGArray::assign(a); } QPointData *data() const { return ( QPointData *)QGArray::data(); } uint nrefs() const { return QGArray::nrefs(); } uint size() const { return QGArray::size()/sizeof( QPointData ); } bool isEmpty() const { return QGArray::size() == 0; } bool isNull() const { return QGArray::data() == 0; } bool resize( uint size ) { return QGArray::resize(size*sizeof( QPointData )); } bool truncate( uint pos ) { return QGArray::resize(pos*sizeof( QPointData!
)); } bool fill( const QPointData &d, int size=-1 ) { return QGArray::fill((char*)&d,size,sizeof( QPointData ) ); } void detach() { QGArray::detach(); } QArrayM_QPointData copy() const { QArrayM_QPointData tmp; return tmp.duplicate(*this); } QArrayM_QPointData & assign( const QArrayM_QPointData & a ) { return ( QArrayM_QPointData &)QGArray::assign(a); } QArrayM_QPointData & assign( const QPointData *a, uint n ) { return ( QArrayM_QPointData &)QGArray::assign((char*)a,n*sizeof( QPointData ));} QArrayM_QPointData & duplicate( const QArrayM_QPointData & a ) { return ( QArrayM_QPointData &)QGArray::duplicate(a); } QArrayM_QPointData & duplicate( const QPointData *a, uint n ) { return ( QArrayM_QPointData &)QGArray::duplicate((char*)a,n*sizeof( QPointData ));} QArrayM_QPointData & setRawData( const QPointData *a, uint n ) { return ( QArray!
M_QPointData &)QGArray::setRawData((char*)a, n*sizeo!
f( QPointData )); } void resetRawData( const QPointData *a, uint n ) { QGArray::resetRawData((char*)a,n*sizeof( QPointData )); } int find( const QPointData &d, uint i=0 ) const { return QGArray::find((char*)&d,i,sizeof( QPointData )); } int contains( const QPointData &d ) const { return QGArray::contains((char*)&d,sizeof( QPointData )); } QPointData & operator[]( int i ) const { return ( QPointData &)(*( QPointData *)QGArray::at(i*sizeof( QPointData ))); } QPointData & at( uint i ) const { return ( QPointData &)(*( QPointData *)QGArray::at(i*sizeof( QPointData ))); } operator const QPointData *() const { return (const QPointData *)QGArray::data();} bool operator==( const QArrayM_QPointData &a ) const { return isEqual(a); } bool operator!=( const QArrayM_QPointData &a ) const { return !isEqual(a); } } ;
class QPointArray : public QArrayM_QPointData
{
public:
QPointArray() {}
QPointArray( int size ) : QArrayM_QPointData ( size ) {}
QPointArray( const QPointArray &a ) : QArrayM_QPointData ( a ) {}
QPointArray( const QRect &r, bool closed=FALSE );
QPointArray( int nPoints, const QCOORD *points );
QPointArray &operator=( const QPointArray &a )
{ return (QPointArray&)assign( a ); }
bool fill( const QPoint &p, int size = -1 );
QPointArray copy() const
{ QPointArray tmp; return *((QPointArray*)&tmp.duplicate(*this)); }
void translate( int dx, int dy );
void point( uint i, int *x, int *y ) const;
QPoint point( uint i ) const;
void setPoint( uint i, int x, int y );
void setPoint( uint i, const QPoint &p );
bool setPoints( int nPoints, const QCOORD *points );
bool setPoints( int nPoints, int firstx, int firsty, ... );
bool putPoints( int index, int nPoints, const QCOORD *points );
bool putPoints( int index, int nPoints, int firstx, int firsty, ... );
QPoint at( uint i ) const;
QPointVal operator[]( int i )
{ return QPointVal( data()+i ); }
QPointVal operator[]( uint i )
{ return QPointVal( data()+i ); }
QPoint operator[]( int i ) const
{ return (QPoint)QPointVal( data()+i ); }
QPoint operator[]( uint i ) const
{ return (QPoint)QPointVal( data()+i ); }
QRect boundingRect() const;
void makeArc( int x, int y, int w, int h, int a1, int a2 );
void makeEllipse( int x, int y, int w, int h );
QPointArray quadBezier() const;
};
QDataStream &operator<<( QDataStream &, const QPointArray & );
QDataStream &operator>>( QDataStream &, QPointArray & );
inline void QPointArray::setPoint( uint i, const QPoint &p )
{
setPoint( i, p.x(), p.y() );
}
inline bool QPointVal::operator==( const QPointVal &pointval ) const
{
return p->x == pointval.p->x && p->y == pointval.p->y;
}
inline bool QPointVal::operator!=( const QPointVal &pointval ) const
{
return p->x != pointval.p->x && p->y != pointval.p->y;
}
inline QPointVal &QPointVal::operator=( const QPointVal &pointval )
{
p->x = pointval.p->x;
p->y = pointval.p->y;
return *this;
}
inline QPointVal &QPointVal::operator=( const QPoint &point )
{
p->x = (Qpnta_t)point.x();
p->y = (Qpnta_t)point.y();
return *this;
}
inline QPointVal &QPointVal::operator+=( const QPoint &point )
{
p->x += (Qpnta_t)point.x();
p->y += (Qpnta_t)point.y();
return *this;
}
inline QPointVal &QPointVal::operator-=( const QPoint &point )
{
p->x -= (Qpnta_t)point.x();
p->y -= (Qpnta_t)point.y();
return *this;
}
# 36 "/trash/qt-1.44/include/qpainter.h" 2
# 1 "/trash/qt-1.44/include/qwmatrix.h" 1
class QWMatrix
{
public:
QWMatrix();
QWMatrix( float m11, float m12, float m21, float m22,
float dx, float dy );
void setMatrix( float m11, float m12, float m21, float m22,
float dx, float dy );
float m11() const { return _m11; }
float m12() const { return _m12; }
float m21() const { return _m21; }
float m22() const { return _m22; }
float dx() const { return _dx; }
float dy() const { return _dy; }
void map( int x, int y, int *tx, int *ty ) const;
void map( float x, float y, float *tx, float *ty ) const;
QPoint map( const QPoint & ) const;
QRect map( const QRect & ) const;
QPointArray map( const QPointArray & ) const;
void reset();
QWMatrix &translate( float dx, float dy );
QWMatrix &scale( float sx, float sy );
QWMatrix &shear( float sh, float sv );
QWMatrix &rotate( float a );
QWMatrix invert( bool * = 0 ) const;
bool operator==( const QWMatrix & ) const;
bool operator!=( const QWMatrix & ) const;
QWMatrix &operator*=( const QWMatrix & );
private:
QWMatrix &bmul( const QWMatrix & );
float _m11, _m12;
float _m21, _m22;
float _dx, _dy;
};
QWMatrix operator*( const QWMatrix &, const QWMatrix & );
QDataStream &operator<<( QDataStream &, const QWMatrix & );
QDataStream &operator>>( QDataStream &, QWMatrix & );
# 37 "/trash/qt-1.44/include/qpainter.h" 2
enum BGMode
{ TransparentMode, OpaqueMode };
enum PaintUnit
{ PixelUnit, LoMetricUnit, HiMetricUnit, LoEnglishUnit, HiEnglishUnit,
TwipsUnit };
class QPainter
{
public:
QPainter();
QPainter( const QPaintDevice * );
QPainter( const QPaintDevice *, const QWidget * );
~QPainter();
bool begin( const QPaintDevice * );
bool begin( const QPaintDevice *, const QWidget * );
bool end();
QPaintDevice *device() const;
static void redirect( QPaintDevice *pdev, QPaintDevice *replacement );
bool isActive() const;
void flush();
void save();
void restore();
QFontMetrics fontMetrics() const;
QFontInfo fontInfo() const;
const QFont &font() const;
void setFont( const QFont & );
const QPen &pen() const;
void setPen( const QPen & );
void setPen( PenStyle );
void setPen( const QColor & );
const QBrush &brush() const;
void setBrush( const QBrush & );
void setBrush( BrushStyle );
void setBrush( const QColor & );
const QColor &backgroundColor() const;
void setBackgroundColor( const QColor & );
BGMode backgroundMode() const;
void setBackgroundMode( BGMode );
RasterOp rasterOp() const;
void setRasterOp( RasterOp );
const QPoint &brushOrigin() const;
void setBrushOrigin( int x, int y );
void setBrushOrigin( const QPoint & );
void setViewXForm( bool );
bool hasViewXForm() const;
QRect window() const;
void setWindow( const QRect & );
void setWindow( int x, int y, int w, int h );
QRect viewport() const;
void setViewport( const QRect & );
void setViewport( int x, int y, int w, int h );
void setWorldXForm( bool );
bool hasWorldXForm() const;
const QWMatrix &worldMatrix() const;
void setWorldMatrix( const QWMatrix &, bool combine=FALSE );
void translate( float dx, float dy );
void scale( float sx, float sy );
void shear( float sh, float sv );
void rotate( float a );
void resetXForm();
QPoint xForm( const QPoint & ) const;
QRect xForm( const QRect & ) const;
QPointArray xForm( const QPointArray & ) const;
QPointArray xForm( const QPointArray &, int index, int npoints ) const;
QPoint xFormDev( const QPoint & ) const;
QRect xFormDev( const QRect & ) const;
QPointArray xFormDev( const QPointArray & ) const;
QPointArray xFormDev( const QPointArray &, int index, int npoints ) const;
void setClipping( bool );
bool hasClipping() const;
const QRegion &clipRegion() const;
void setClipRect( const QRect & );
void setClipRect( int x, int y, int w, int h );
void setClipRegion( const QRegion &);
void drawPoint( int x, int y );
void drawPoint( const QPoint & );
void drawPoints( const QPointArray& a,
int index=0, int npoints=-1 );
void moveTo( int x, int y );
void moveTo( const QPoint & );
void lineTo( int x, int y );
void lineTo( const QPoint & );
void drawLine( int x1, int y1, int x2, int y2 );
void drawLine( const QPoint &, const QPoint & );
void drawRect( int x, int y, int w, int h );
void drawRect( const QRect & );
void drawWinFocusRect( int x, int y, int w, int h );
void drawWinFocusRect( int x, int y, int w, int h,
const QColor &bgColor );
void drawWinFocusRect( const QRect & );
void drawWinFocusRect( const QRect &,
const QColor &bgColor );
void drawRoundRect( int x, int y, int w, int h, int, int );
void drawRoundRect( const QRect &, int, int );
void drawEllipse( int x, int y, int w, int h );
void drawEllipse( const QRect & );
void drawArc( int x, int y, int w, int h, int a, int alen );
void drawArc( const QRect &, int a, int alen );
void drawPie( int x, int y, int w, int h, int a, int alen );
void drawPie( const QRect &, int a, int alen );
void drawChord( int x, int y, int w, int h, int a, int alen );
void drawChord( const QRect &, int a, int alen );
void drawLineSegments( const QPointArray &,
int index=0, int nlines=-1 );
void drawPolyline( const QPointArray &,
int index=0, int npoints=-1 );
void drawPolygon( const QPointArray &, bool winding=FALSE,
int index=0, int npoints=-1 );
void drawQuadBezier( const QPointArray &, int index=0 );
void drawPixmap( int x, int y, const QPixmap &,
int sx=0, int sy=0, int sw=-1, int sh=-1 );
void drawPixmap( const QPoint &, const QPixmap &,
const QRect &sr );
void drawPixmap( const QPoint &, const QPixmap & );
void drawImage( int x, int y, const QImage &,
int sx=0, int sy=0, int sw=-1, int sh=-1 );
void drawImage( const QPoint &, const QImage &,
const QRect &sr );
void drawImage( const QPoint &, const QImage & );
void drawTiledPixmap( int x, int y, int w, int h, const QPixmap &,
int sx=0, int sy=0 );
void drawTiledPixmap( const QRect &, const QPixmap &,
const QPoint & );
void drawTiledPixmap( const QRect &, const QPixmap & );
void drawPicture( const QPicture & );
void fillRect( int x, int y, int w, int h, const QBrush & );
void fillRect( const QRect &, const QBrush & );
void eraseRect( int x, int y, int w, int h );
void eraseRect( const QRect & );
void drawText( int x, int y, const char *str, int len = -1 );
void drawText( const QPoint &, const char *str, int len = -1 );
void drawText( int x, int y, int w, int h, int flags,
const char *str, int len = -1, QRect *br=0,
char **internal=0 );
void drawText( const QRect &, int flags,
const char *str, int len = -1, QRect *br=0,
char **internal=0 );
QRect boundingRect( int x, int y, int w, int h, int flags,
const char *str, int len = -1, char **intern=0 );
QRect boundingRect( const QRect &, int flags,
const char *str, int len = -1, char **intern=0 );
int tabStops() const;
void setTabStops( int );
int *tabArray() const;
void setTabArray( int * );
HANDLE handle() const;
static void initialize();
static void cleanup();
private:
void init();
void updateFont();
void updatePen();
void updateBrush();
void updateXForm();
void updateInvXForm();
void map( int, int, int *rx, int *ry ) const;
void map( int, int, int, int, int *, int *, int *, int * ) const;
void mapInv( int, int, int *, int * ) const;
void mapInv( int, int, int, int, int *, int *, int *, int * ) const;
void drawPolyInternal( const QPointArray &, bool close=TRUE );
void drawWinFocusRect( int x, int y, int w, int h, bool xorPaint,
const QColor &penColor );
enum { IsActive=0x01, ExtDev=0x02, IsStartingUp=0x04, NoCache=0x08,
VxF=0x10, WxF=0x20, ClipOn=0x40, SafePolygon=0x80, MonoDev=0x100,
DirtyFont=0x200, DirtyPen=0x400, DirtyBrush=0x800,
RGBColor=0x1000, FontMet=0x2000, FontInf=0x4000, CtorBegin=0x8000 };
ushort flags;
bool testf( ushort b ) const { return (flags&b)!=0; }
void setf( ushort b ) { flags |= b; }
void setf( ushort b, bool v );
void clearf( ushort b ) { flags &= (ushort)(~b); }
void fix_neg_rect( int *x, int *y, int *w, int *h );
QPaintDevice *pdev;
QColor bg_col;
uchar bg_mode;
uchar rop;
uchar pu;
QPoint bro;
QFont cfont;
QPen cpen;
QBrush cbrush;
QRegion crgn;
int tabstops;
int *tabarray;
int tabarraylen;
QCOORD wx, wy, ww, wh;
QCOORD vx, vy, vw, vh;
QWMatrix wxmat;
int wm11, wm12, wm21, wm22, wdx, wdy;
int im11, im12, im21, im22, idx, idy;
int txop;
bool txinv;
void *penRef;
void *brushRef;
void *ps_stack;
void killPStack();
protected:
# 301 "/trash/qt-1.44/include/qpainter.h"
Display *dpy;
WId hd;
GC gc;
GC gc_brush;
QPoint curPt;
friend class QFontMetrics;
friend class QFontInfo;
friend void qt_format_text( const QFontMetrics& fm, int x, int y, int w, int h,
int tf, const char *str, int len, QRect *brect,
int tabstops, int* tabarray, int tabarraylen,
char **internal, QPainter* painter );
private:
QPainter( const QPainter & );
QPainter &operator=( const QPainter & );
};
inline QPaintDevice *QPainter::device() const
{
return pdev;
}
inline bool QPainter::isActive() const
{
return testf(IsActive);
}
inline QFontMetrics QPainter::fontMetrics() const
{
return QFontMetrics(this);
}
inline QFontInfo QPainter::fontInfo() const
{
return QFontInfo(this);
}
inline const QFont &QPainter::font() const
{
return cfont;
}
inline const QPen &QPainter::pen() const
{
return cpen;
}
inline const QBrush &QPainter::brush() const
{
return cbrush;
}
inline const QColor &QPainter::backgroundColor() const
{
return bg_col;
}
inline BGMode QPainter::backgroundMode() const
{
return (BGMode)bg_mode;
}
inline RasterOp QPainter::rasterOp() const
{
return (RasterOp)rop;
}
inline const QPoint &QPainter::brushOrigin() const
{
return bro;
}
inline bool QPainter::hasViewXForm() const
{
return testf(VxF);
}
inline bool QPainter::hasWorldXForm() const
{
return testf(WxF);
}
inline bool QPainter::hasClipping() const
{
return testf(ClipOn);
}
inline const QRegion &QPainter::clipRegion() const
{
return crgn;
}
inline int QPainter::tabStops() const
{
return tabstops;
}
inline int *QPainter::tabArray() const
{
return tabarray;
}
inline HANDLE QPainter::handle() const
{
return hd;
}
inline void QPainter::setBrushOrigin( const QPoint &p )
{
setBrushOrigin( p.x(), p.y() );
}
inline void QPainter::setWindow( const QRect &r )
{
setWindow( r.x(), r.y(), r.width(), r.height() );
}
inline void QPainter::setViewport( const QRect &r )
{
setViewport( r.x(), r.y(), r.width(), r.height() );
}
inline void QPainter::setClipRect( int x, int y, int w, int h )
{
setClipRect( QRect(x,y,w,h) );
}
inline void QPainter::drawPoint( const QPoint &p )
{
drawPoint( p.x(), p.y() );
}
inline void QPainter::moveTo( const QPoint &p )
{
moveTo( p.x(), p.y() );
}
inline void QPainter::lineTo( const QPoint &p )
{
lineTo( p.x(), p.y() );
}
inline void QPainter::drawLine( const QPoint &p1, const QPoint &p2 )
{
drawLine( p1.x(), p1.y(), p2.x(), p2.y() );
}
inline void QPainter::drawRect( const QRect &r )
{
drawRect( r.x(), r.y(), r.width(), r.height() );
}
inline void QPainter::drawWinFocusRect( const QRect &r )
{
drawWinFocusRect( r.x(), r.y(), r.width(), r.height() );
}
inline void QPainter::drawWinFocusRect( const QRect &r,const QColor &penColor )
{
drawWinFocusRect( r.x(), r.y(), r.width(), r.height(), penColor );
}
inline void QPainter::drawRoundRect( const QRect &r, int xRnd, int yRnd )
{
drawRoundRect( r.x(), r.y(), r.width(), r.height(), xRnd, yRnd );
}
inline void QPainter::drawEllipse( const QRect &r )
{
drawEllipse( r.x(), r.y(), r.width(), r.height() );
}
inline void QPainter::drawArc( const QRect &r, int a, int alen )
{
drawArc( r.x(), r.y(), r.width(), r.height(), a, alen );
}
inline void QPainter::drawPie( const QRect &r, int a, int alen )
{
drawPie( r.x(), r.y(), r.width(), r.height(), a, alen );
}
inline void QPainter::drawChord( const QRect &r, int a, int alen )
{
drawChord( r.x(), r.y(), r.width(), r.height(), a, alen );
}
inline void QPainter::drawPixmap( const QPoint &p, const QPixmap &pm,
const QRect &sr )
{
drawPixmap( p.x(), p.y(), pm, sr.x(), sr.y(), sr.width(), sr.height() );
}
inline void QPainter::drawImage( const QPoint &p, const QImage &pm,
const QRect &sr )
{
drawImage( p.x(), p.y(), pm, sr.x(), sr.y(), sr.width(), sr.height() );
}
inline void QPainter::drawTiledPixmap( const QRect &r, const QPixmap &pm,
const QPoint &sp )
{
drawTiledPixmap( r.x(), r.y(), r.width(), r.height(), pm, sp.x(), sp.y() );
}
inline void QPainter::drawTiledPixmap( const QRect &r, const QPixmap &pm )
{
drawTiledPixmap( r.x(), r.y(), r.width(), r.height(), pm, 0, 0 );
}
inline void QPainter::fillRect( const QRect &r, const QBrush &brush )
{
fillRect( r.x(), r.y(), r.width(), r.height(), brush );
}
inline void QPainter::eraseRect( int x, int y, int w, int h )
{
fillRect( x, y, w, h, backgroundColor() );
}
inline void QPainter::eraseRect( const QRect &r )
{
fillRect( r.x(), r.y(), r.width(), r.height(), backgroundColor() );
}
inline void QPainter::drawText( const QPoint &p, const char *s, int len )
{
drawText( p.x(), p.y(), s, len );
}
inline void QPainter::drawText( const QRect &r, int tf,
const char *str, int len, QRect *br, char **i )
{
drawText( r.x(), r.y(), r.width(), r.height(), tf, str, len, br, i );
}
inline QRect QPainter::boundingRect( const QRect &r, int tf,
const char *str, int len, char **i )
{
return boundingRect( r.x(), r.y(), r.width(), r.height(), tf, str, len,
i );
}
# 27 "widgets/qmenubar.cpp" 2
# 1 "/trash/qt-1.44/include/qdrawutil.h" 1
void qDrawShadeLine( QPainter *p, int x1, int y1, int x2, int y2,
const QColorGroup &g, bool sunken = TRUE,
int lineWidth = 1, int midLineWidth = 0 );
void qDrawShadeLine( QPainter *p, const QPoint &p1, const QPoint &p2,
const QColorGroup &g, bool sunken = TRUE,
int lineWidth = 1, int midLineWidth = 0 );
void qDrawShadeRect( QPainter *p, int x, int y, int w, int h,
const QColorGroup &, bool sunken=FALSE,
int lineWidth = 1, int midLineWidth = 0,
const QBrush *fill = 0 );
void qDrawShadeRect( QPainter *p, const QRect &r,
const QColorGroup &, bool sunken=FALSE,
int lineWidth = 1, int midLineWidth = 0,
const QBrush *fill = 0 );
void qDrawShadePanel( QPainter *p, int x, int y, int w, int h,
const QColorGroup &, bool sunken=FALSE,
int lineWidth = 1, const QBrush *fill = 0 );
void qDrawShadePanel( QPainter *p, const QRect &r,
const QColorGroup &, bool sunken=FALSE,
int lineWidth = 1, const QBrush *fill = 0 );
void qDrawWinButton( QPainter *p, int x, int y, int w, int h,
const QColorGroup &g, bool sunken = FALSE,
const QBrush *fill = 0 );
void qDrawWinButton( QPainter *p, const QRect &r,
const QColorGroup &g, bool sunken = FALSE,
const QBrush *fill = 0 );
void qDrawWinPanel( QPainter *p, int x, int y, int w, int h,
const QColorGroup &, bool sunken=FALSE,
const QBrush *fill = 0 );
void qDrawWinPanel( QPainter *p, const QRect &r,
const QColorGroup &, bool sunken=FALSE,
const QBrush *fill = 0 );
void qDrawPlainRect( QPainter *p, int x, int y, int w, int h, const QColor &,
int lineWidth = 1, const QBrush *fill = 0 );
void qDrawPlainRect( QPainter *p, const QRect &r, const QColor &,
int lineWidth = 1, const QBrush *fill = 0 );
QRect qItemRect( QPainter *p, GUIStyle gs, int x, int y, int w, int h,
int flags, bool enabled,
const QPixmap *pixmap, const char *text, int len=-1 );
void qDrawItem( QPainter *p, GUIStyle gs, int x, int y, int w, int h,
int flags, const QColorGroup &g, bool enabled,
const QPixmap *pixmap, const char *text, int len=-1 );
enum ArrowType
{ UpArrow, DownArrow, LeftArrow, RightArrow };
void qDrawArrow( QPainter *p, ArrowType type, GUIStyle style, bool down,
int x, int y, int w, int h,
const QColorGroup &g, bool enabled );
# 28 "widgets/qmenubar.cpp" 2
# 1 "/trash/qt-1.44/include/qapplication.h" 1
extern QApplication *qApp;
class QApplication : public QObject
{
public: QMetaObject *metaObject() const { return metaObj; } const char *className() const; protected: void initMetaObject(); private: static QMetaObject *metaObj;
public:
QApplication( int &argc, char **argv );
QApplication( Display* dpy );
virtual ~QApplication();
int argc() const;
char **argv() const;
static GUIStyle style();
static void setStyle( GUIStyle );
enum ColorMode { NormalColors, CustomColors };
static ColorMode colorMode();
static void setColorMode( QApplication::ColorMode );
enum ColorSpec { NormalColor=0, CustomColor=1, PrivateColor=4,
ManyColor=4, TrueColor=4 };
static int colorSpec();
static void setColorSpec( int );
static QCursor *overrideCursor();
static void setOverrideCursor( const QCursor &, bool replace=FALSE );
static void restoreOverrideCursor();
static bool hasGlobalMouseTracking();
static void setGlobalMouseTracking( bool enable );
static QPalette *palette();
static void setPalette( const QPalette &,bool updateAllWidgets=FALSE);
static QFont *font();
static void setFont( const QFont &, bool updateAllWidgets=FALSE );
static QFontMetrics fontMetrics();
QWidget *mainWidget() const;
void setMainWidget( QWidget * );
static QListM_QWidget *allWidgets();
static QListM_QWidget *topLevelWidgets();
static QWidget *desktop();
static QWidget *activePopupWidget();
static QWidget *activeModalWidget();
static QClipboard *clipboard();
QWidget *focusWidget() const;
static QWidget *widgetAt( int x, int y, bool child=FALSE );
static QWidget *widgetAt( const QPoint &, bool child=FALSE );
int exec();
void processEvents();
void processEvents( int maxtime );
void processOneEvent();
int enter_loop();
void exit_loop();
static void exit( int retcode=0 );
static bool sendEvent( QObject *receiver, QEvent *event )
{ return qApp->notify( receiver, event ); }
static void postEvent( QObject *receiver, QEvent *event );
static void sendPostedEvents( QObject *receiver, int event_type );
virtual bool notify( QObject *, QEvent * );
static bool startingUp();
static bool closingDown();
static void flushX();
static void syncX();
static void beep();
static void setWinStyleHighlightColor( const QColor & );
static const QColor& winStyleHighlightColor();
static void setDoubleClickInterval( int );
static int doubleClickInterval();
virtual bool x11EventFilter( XEvent * );
int x11ProcessEvent( XEvent* );
protected :
void lastWindowClosed();
public :
void quit();
private:
bool processNextEvent( bool );
void initialize( int, char ** );
int app_argc;
char **app_argv;
bool quit_now;
int quit_code;
static GUIStyle app_style;
static int app_cspec;
static QPalette *app_pal;
static QFont *app_font;
static QCursor *app_cursor;
static int app_tracking;
static bool is_app_running;
static bool is_app_closing;
static int loop_level;
static QWidget *main_widget;
static QWidget *focus_widget;
friend class QWidget;
friend class QETWidget;
private:
QApplication( const QApplication & );
QApplication &operator=( const QApplication & );
};
inline int QApplication::argc() const
{
return app_argc;
}
inline char **QApplication::argv() const
{
return app_argv;
}
inline GUIStyle QApplication::style()
{
return app_style;
}
inline QCursor *QApplication::overrideCursor()
{
return app_cursor;
}
inline bool QApplication::hasGlobalMouseTracking()
{
return app_tracking > 0;
}
inline QFont *QApplication::font()
{
return app_font;
}
inline QWidget *QApplication::mainWidget() const
{
return main_widget;
}
inline QWidget *QApplication::focusWidget() const
{
return focus_widget;
}
inline QWidget *QApplication::widgetAt( const QPoint &p, bool child )
{
return widgetAt( p.x(), p.y(), child );
}
# 241 "/trash/qt-1.44/include/qapplication.h"
# 29 "widgets/qmenubar.cpp" 2
# 1 "/usr/include/ctype.h" 1 3
# 1 "/usr/include/bits/types.h" 1 3
# 1 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 1 3
# 19 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
# 61 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
# 131 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
# 188 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
# 271 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
# 283 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
# 317 "/usr/lib/gcc-lib/i386-linux/2.95.2/include/stddef.h" 3
# 29 "/usr/include/bits/types.h" 2 3
typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef long long int __quad_t;
# 48 "/usr/include/bits/types.h" 3
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
typedef __quad_t *__qaddr_t;
typedef __u_quad_t __dev_t;
typedef __u_int __uid_t;
typedef __u_int __gid_t;
typedef __u_long __ino_t;
typedef __u_int __mode_t;
typedef __u_int __nlink_t;
typedef long int __off_t;
typedef __quad_t __loff_t;
typedef int __pid_t;
typedef int __ssize_t;
typedef __u_long __rlim_t;
typedef __u_quad_t __rlim64_t;
typedef __u_int __id_t;
typedef struct
{
int __val[2];
} __fsid_t;
typedef int __daddr_t;
typedef char *__caddr_t;
typedef long int __time_t;
typedef long int __swblk_t;
typedef long int __clock_t;
typedef unsigned long int __fd_mask;
typedef struct
{
__fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask)) ];
} __fd_set;
typedef int __key_t;
typedef unsigned short int __ipc_pid_t;
typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;
typedef __u_long __fsblkcnt_t;
typedef __u_quad_t __fsblkcnt64_t;
typedef __u_long __fsfilcnt_t;
typedef __u_quad_t __fsfilcnt64_t;
typedef __u_long __ino64_t;
typedef __loff_t __off64_t;
typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;
typedef int __intptr_t;
# 27 "/usr/include/ctype.h" 2 3
extern "C" {
# 1 "/usr/include/endian.h" 1 3
# 1 "/usr/include/bits/endian.h" 1 3
# 35 "/usr/include/endian.h" 2 3
# 40 "/usr/include/ctype.h" 2 3
enum
{
_ISupper = (( 0 ) < 8 ? ((1 << ( 0 )) << 8) : ((1 << ( 0 )) >> 8)) ,
_ISlower = (( 1 ) < 8 ? ((1 << ( 1 )) << 8) : ((1 << ( 1 )) >> 8)) ,
_ISalpha = (( 2 ) < 8 ? ((1 << ( 2 )) << 8) : ((1 << ( 2 )) >> 8)) ,
_ISdigit = (( 3 ) < 8 ? ((1 << ( 3 )) << 8) : ((1 << ( 3 )) >> 8)) ,
_ISxdigit = (( 4 ) < 8 ? ((1 << ( 4 )) << 8) : ((1 << ( 4 )) >> 8)) ,
_ISspace = (( 5 ) < 8 ? ((1 << ( 5 )) << 8) : ((1 << ( 5 )) >> 8)) ,
_ISprint = (( 6 ) < 8 ? ((1 << ( 6 )) << 8) : ((1 << ( 6 )) >> 8)) ,
_ISgraph = (( 7 ) < 8 ? ((1 << ( 7 )) << 8) : ((1 << ( 7 )) >> 8)) ,
_ISblank = (( 8 ) < 8 ? ((1 << ( 8 )) << 8) : ((1 << ( 8 )) >> 8)) ,
_IScntrl = (( 9 ) < 8 ? ((1 << ( 9 )) << 8) : ((1 << ( 9 )) >> 8)) ,
_ISpunct = (( 10 ) < 8 ? ((1 << ( 10 )) << 8) : ((1 << ( 10 )) >> 8)) ,
_ISalnum = (( 11 ) < 8 ? ((1 << ( 11 )) << 8) : ((1 << ( 11 )) >> 8))
};
extern __const unsigned short int *__ctype_b;
extern __const __int32_t *__ctype_tolower;
extern __const __int32_t *__ctype_toupper;
extern int isalnum (int) throw () ;
extern int isalpha (int) throw () ;
extern int iscntrl (int) throw () ;
extern int isdigit (int) throw () ;
extern int islower (int) throw () ;
extern int isgraph (int) throw () ;
extern int isprint (int) throw () ;
extern int ispunct (int) throw () ;
extern int isspace (int) throw () ;
extern int isupper (int) throw () ;
extern int isxdigit (int) throw () ;
extern int tolower (int __c) throw () ;
extern int toupper (int __c) throw () ;
extern int isascii (int __c) throw () ;
extern int toascii (int __c) throw () ;
extern int _toupper (int) throw () ;
extern int _tolower (int) throw () ;
extern __inline int
tolower (int __c) throw ()
{
return __c >= -128 && __c < 256 ? __ctype_tolower[__c] : __c;
}
extern __inline int
toupper (int __c) throw ()
{
return __c >= -128 && __c < 256 ? __ctype_toupper[__c] : __c;
}
# 186 "/usr/include/ctype.h" 3
# 273 "/usr/include/ctype.h" 3
}
# 30 "widgets/qmenubar.cpp" 2
static const int motifBarFrame = 2;
static const int motifBarHMargin = 2;
static const int motifBarVMargin = 1;
static const int motifItemFrame = 2;
static const int motifItemHMargin = 5;
static const int motifItemVMargin = 4;
QMenuBar::QMenuBar( QWidget *parent, const char *name )
: QFrame( parent, name, 0, FALSE )
{
isMenuBar = TRUE;
autoaccel = 0;
irects = 0;
mseparator = 0;
windowsaltactive = 0;
if ( parent ) {
parent->installEventFilter( this );
QWidget *tlw = topLevelWidget();
if ( tlw != parent )
tlw->installEventFilter( this );
}
QFontMetrics fm = fontMetrics();
int gs = style();
int h;
if ( gs == WindowsStyle ) {
h = 2 + fm.height() + motifItemVMargin + 2*motifBarFrame;
} else {
h = motifBarFrame + motifBarVMargin + fm.height()
+ motifItemVMargin + 2*motifBarFrame + 2*motifItemFrame;
}
move( 0, 0 );
resize( width(), h );
switch ( gs ) {
case WindowsStyle:
setFrameStyle( QFrame::NoFrame );
setMouseTracking( TRUE );
break;
case MotifStyle:
setFrameStyle( QFrame::Panel | QFrame::Raised );
setLineWidth( motifBarFrame );
break;
default:
break;
}
}
QMenuBar::~QMenuBar()
{
delete autoaccel;
if ( irects )
delete [] irects;
}
void QMenuBar::updateItem( int )
{
}
void QMenuBar::menuContentsChanged()
{
setupAccelerators();
badSize = TRUE;
if ( isVisible() ) {
calculateRects();
repaint();
}
}
void QMenuBar::menuStateChanged()
{
repaint();
}
void QMenuBar::menuInsPopup( QPopupMenu *popup )
{
popup->parentMenu = this;
connect( popup, "2""activatedRedirect(int)" ,
"1""subActivated(int)" );
connect( popup, "2""highlightedRedirect(int)" ,
"1""subHighlighted(int)" );
}
void QMenuBar::menuDelPopup( QPopupMenu *popup )
{
popup->parentMenu = 0;
popup->disconnect( "2""activatedRedirect(int)" , this,
"1""subActivated(int)" );
popup->disconnect( "2""highlightedRedirect(int)" , this,
"1""subHighlighted(int)" );
}
void QMenuBar::frameChanged()
{
menuContentsChanged();
}
bool QMenuBar::eventFilter( QObject *object, QEvent *event )
{
if ( object == parent() && event->type() == 14 ) {
QResizeEvent *e = (QResizeEvent *)event;
setGeometry( 0, y(), e->size().width(), height() );
return FALSE;
}
if ( style() != WindowsStyle ||
!isVisibleToTLW() ||
!object->isWidgetType() ||
!( event->type() == 30 ||
event->type() == 6 ||
event->type() == 7 ) )
return FALSE;
if ( event->type() == 30 ) {
QWidget * f = ((QWidget *)object)->focusWidget();
QKeyEvent * ke = (QKeyEvent *) event;
if ( f ) {
if ( ke->key() == 0x1023 || ke->key() == 0x1022 ) {
if ( windowsaltactive || actItem >= 0 ) {
setWindowsAltMode( FALSE, -1 );
} else {
windowsaltactive = 1;
if ( f != object )
f->installEventFilter( this );
}
} else if ( (ke->key() == 0x1021 || ke->key() == 0x1020 ) &&
(windowsaltactive || actItem >= 0) ) {
setWindowsAltMode( FALSE, -1 );
}
}
if ( qApp && qApp->focusWidget() == this ) {
return TRUE;
}
}
if ( ((QWidget*)object)->focusWidget() == object ||
(object->parent() == 0 && ((QWidget*)object)->focusWidget() == 0) ) {
if ( windowsaltactive &&
event->type() == 7 &&
(((QKeyEvent *)event)->key() == 0x1023 ||
((QKeyEvent *)event)->key() == 0x1022 ) ) {
actItem = 0;
setFocus();
if ( object->parent() )
object->removeEventFilter( this );
QWidget * tlw = ((QWidget *)object)->topLevelWidget();
if ( tlw ) {
tlw->removeEventFilter( this );
tlw->installEventFilter( this );
}
return TRUE;
} else if ( (event->type() == 6 ||
event->type() == 7 ) &&
!(((QKeyEvent *)event)->key() == 0x1023 ||
((QKeyEvent *)event)->key() == 0x1022 ) ) {
if ( object->parent() )
object->removeEventFilter( this );
setWindowsAltMode( FALSE, -1 );
}
}
if ( windowsaltactive &&
event->type() == 9 &&
qApp && qApp->focusWidget() != this ) {
setWindowsAltMode( FALSE, -1 );
if ( object->parent() )
object->removeEventFilter( this );
}
return FALSE;
}
void QMenuBar::subActivated( int id )
{
activated( id );
}
void QMenuBar::subHighlighted( int id )
{
highlighted( id );
}
void QMenuBar::accelActivated( int id )
{
if ( !isEnabled() )
return;
QMenuItem *mi = findItem( id );
if ( mi && mi->isEnabled() ) {
setActItem( indexOf( id ), FALSE );
QPopupMenu *popup = mi->popup();
if ( popup ) {
highlighted( mi->id() );
if ( popup->isVisible() ) {
popup->hidePopups();
popup->repaint( FALSE );
} else {
hidePopups();
openActPopup();
popup->setFirstItemActive();
}
} else {
setWindowsAltMode( FALSE, -1 );
if ( mi->signal() )
mi->signal()->activate();
activated( mi->id() );
}
}
}
void QMenuBar::accelDestroyed()
{
autoaccel = 0;
}
bool QMenuBar::tryMouseEvent( QPopupMenu *popup, QMouseEvent *e )
{
QPoint pos = mapFromGlobal( popup->mapToGlobal( e->pos() ) );
if ( !rect().contains( pos ) )
return FALSE;
int item = itemAtPos( pos );
if ( item == -1 && (e->type() == 2 ||
e->type() == 3 ) ) {
hidePopups();
goodbye();
return FALSE;
}
QMouseEvent ee( e->type(), pos, e->button(), e->state() );
event( &ee );
return TRUE;
}
void QMenuBar::tryKeyEvent( QPopupMenu *, QKeyEvent *e )
{
event( e );
}
void QMenuBar::goodbye()
{
setWindowsAltMode( FALSE, -1 );
mouseBtDn = FALSE;
}
void QMenuBar::openActPopup()
{
if ( actItem < 0 )
return;
setWindowsAltMode( FALSE, actItem );
QPopupMenu *popup = mitems->at(actItem)->popup();
if ( !popup || !popup->isEnabled() )
return;
QRect r = itemRect( actItem );
QPoint pos = r.bottomLeft() + QPoint(0,1);
if ( popup->badSize )
popup->updateSize();
pos = mapToGlobal(pos);
int sh = QApplication::desktop()->height();
int ph = popup->height();
if ( pos.y() + ph > sh ) {
pos = mapToGlobal( r.topLeft() );
pos.ry() -= (QCOORD)ph;
}
if (popup->parentMenu != this ){
if (popup->parentMenu)
popup->parentMenu->menuDelPopup(popup);
menuInsPopup(popup);
}
popup->popup( pos );
}
void QMenuBar::hidePopups()
{
QMenuItemListIt it(*mitems);
register QMenuItem *mi;
while ( (mi=it.current()) ) {
++it;
if ( mi->popup() )
mi->popup()->hide();
}
}
void QMenuBar::show()
{
setupAccelerators();
if ( parentWidget() )
resize( parentWidget()->width(), height() );
calculateRects();
QWidget::show();
raise();
}
void QMenuBar::hide()
{
QWidget::hide();
setWindowsAltMode( FALSE, -1 );
hidePopups();
}
void QMenuBar::fontChange( const QFont & )
{
badSize = TRUE;
repaint();
}
int QMenuBar::calculateRects( int max_width )
{
bool update = ( max_width < 0 );
if ( update ) {
if ( !badSize )
return 0;
if ( irects )
delete [] irects;
if ( mitems->isEmpty() ) {
irects = 0;
return 0;
}
irects = new QRect[ mitems->count() ];
(chk_pointer(( irects )==0,"widgets/qmenubar.cpp",542)) ;
max_width = width();
}
QFontMetrics fm = fontMetrics();
int max_height = 0;
int nlitems = 0;
int gs = style();
int x = motifBarFrame + motifBarHMargin;
int y = motifBarFrame + motifBarVMargin;
int i = 0;
int separator = -1;
if ( gs == WindowsStyle )
x = y = 2;
while ( i < (int)mitems->count() ) {
QMenuItem *mi = mitems->at(i);
int w=0, h=0;
if ( mi->pixmap() ) {
w = mi->pixmap()->width();
h = mi->pixmap()->height();
} else if ( mi->text() ) {
w = fm.width(mi->text()) + 2*motifItemHMargin;
h = fm.height() + motifItemVMargin;
} else if ( mi->isSeparator() ) {
separator = i;
}
if ( !mi->isSeparator() ) {
if ( gs == MotifStyle && !mi->isSeparator() ) {
w += 2*motifItemFrame;
h += 2*motifItemFrame;
}
if ( x + w + motifBarFrame - max_width > 0 && nlitems > 0 ) {
nlitems = 0;
x = motifBarFrame + motifBarHMargin;
y += h + motifBarHMargin;
separator = -1;
}
if ( y + h + 2*motifBarFrame > max_height )
max_height = y + h + 2*motifBarFrame;
}
if ( update )
irects[i].setRect( x, y, w, h );
x += w;
nlitems++;
i++;
}
if ( update ) {
if ( separator >= 0 && style() == MotifStyle ) {
int moveBy = max_width - x;
while( --i > separator ) {
irects[i].moveBy( moveBy, 0 );
}
}
if ( max_height != height() )
resize( max_width, max_height );
badSize = FALSE;
}
return max_height;
}
int QMenuBar::heightForWidth(int max_width) const
{
if ( max_width < 0 ) max_width = 0;
return ((QMenuBar*)this)->calculateRects( max_width );
}
QRect QMenuBar::itemRect( int index )
{
calculateRects();
return irects ? irects[index] : QRect(0,0,0,0);
}
int QMenuBar::itemAtPos( const QPoint &pos )
{
calculateRects();
if ( !irects )
return -1;
int i = 0;
while ( i < (int)mitems->count() ) {
if ( irects[i].contains( pos ) ) {
QMenuItem *mi = mitems->at(i);
return mi->isSeparator() ? -1 : i;
}
++i;
}
return -1;
}
void QMenuBar::setSeparator( Separator when )
{
mseparator = when;
}
QMenuBar::Separator QMenuBar::separator() const
{
return mseparator ? InWindowsStyle : Never;
}
void QMenuBar::drawContents( QPainter *p )
{
QColorGroup g;
GUIStyle gs = style();
bool e;
for ( int i=0; i<(int)mitems->count(); i++ ) {
QMenuItem *mi = mitems->at( i );
if ( mi->text() || mi->pixmap() ) {
QRect r = irects[i];
e = mi->isEnabled();
if ( e )
g = palette().normal();
else
g = palette().disabled();
if ( gs == WindowsStyle ) {
p->fillRect( r, palette().normal().background() );
if ( i == actItem ) {
QBrush b( palette().normal().background() );
bool sunken = !windowsaltactive ||
(mi->popup() && mi->popup()->isVisible());
qDrawShadeRect( p,
r.left(), r.top(), r.width(), r.height(),
g, sunken, 1, 0, &b );
if ( sunken )
r.setRect( r.left()+2, r.top()+2,
r.width()-2, r.height()-2 );
}
} else {
if ( i == actItem )
qDrawShadePanel( p, r, palette().normal(), FALSE,
motifItemFrame );
else
qDrawPlainRect( p, r, palette().normal().background(),
motifItemFrame );
}
qDrawItem( p, gs, r.left(), r.top(), r.width(), r.height(),
AlignCenter|ShowPrefix|DontClip|SingleLine,
g, e, mi->pixmap(), mi->text() );
}
}
if ( mseparator == InWindowsStyle && gs == WindowsStyle ) {
p->setPen( g.light() );
p->drawLine( 0, height()-1, width()-1, height()-1 );
p->setPen( g.dark() );
p->drawLine( 0, height()-2, width()-1, height()-2 );
}
}
void QMenuBar::mousePressEvent( QMouseEvent *e )
{
if ( e->button() != LeftButton && e->button() != RightButton )
return;
mouseBtDn = TRUE;
int item = itemAtPos( e->pos() );
if ( item == -1 ) {
setWindowsAltMode( FALSE, -1 );
return;
}
register QMenuItem *mi = mitems->at(item);
if ( item != actItem )
highlighted( mi->id() );
QPopupMenu *popup = mi->popup();
if ( popup && mi->isEnabled() ) {
setWindowsAltMode( FALSE, item );
if ( popup->isVisible() ) {
popup->hidePopups();
popup->repaint( FALSE );
} else {
hidePopups();
openActPopup();
}
} else {
setWindowsAltMode( FALSE, item );
hidePopups();
}
}
void QMenuBar::mouseReleaseEvent( QMouseEvent *e )
{
if ( e->button() != LeftButton && e->button() != RightButton )
return;
mouseBtDn = FALSE;
int item = itemAtPos( e->pos() );
if ( item >= 0 && !mitems->at(item)->isEnabled() ||
actItem >= 0 && !mitems->at(actItem)->isEnabled() ) {
setWindowsAltMode( FALSE, -1 );
hidePopups();
return;
}
if ( actItem == -1 || item != actItem )
return;
setActItem( item, FALSE );
if ( actItem >= 0 ) {
QMenuItem *mi = mitems->at(actItem);
QPopupMenu *popup = mi->popup();
if ( popup ) {
if (!hasMouseTracking() )
popup->setFirstItemActive();
} else {
setWindowsAltMode( FALSE, -1 );
if ( mi->signal() )
mi->signal()->activate();
activated( mi->id() );
}
}
}
void QMenuBar::mouseMoveEvent( QMouseEvent *e )
{
if ( style() == WindowsStyle && !mouseBtDn ) {
int item = itemAtPos( e->pos() );
QMenuItem *mi = actItem < 0 ? 0 : mitems->at(actItem);
if ( item != actItem &&
(!mi || !mi->popup() || !mi->popup()->isVisible()) ) {
if ( item >= 0 ) {
setWindowsAltMode( TRUE, item );
mi = mitems->at( item );
highlighted( mi->id() );
} else if (actItem >= 0 && irects ) {
QRect r( irects[actItem].left(), irects[actItem].top()-4,
irects[actItem].width(),irects[actItem].height()+8 );
if ( !r.contains(e->pos()) )
setWindowsAltMode( FALSE, -1 );
} else {
setWindowsAltMode( FALSE, -1 );
}
return;
}
}
if ( actItem < 0 && !mouseBtDn )
return;
int item = itemAtPos( e->pos() );
if ( item == -1 )
return;
register QMenuItem *mi = mitems->at(item);
if ( item != actItem ) {
setActItem( item, FALSE );
hidePopups();
highlighted( mi->id() );
if ( mi->popup() && mi->isEnabled() )
openActPopup();
}
}
void QMenuBar::leaveEvent( QEvent * e )
{
if ( windowsaltactive && actItem >= 0 ) {
QMenuItem *mi = mitems->at( actItem );
if ( mi && (!mi->popup() || !mi->popup()->isVisible()) )
setWindowsAltMode( FALSE, -1 );
}
QFrame::leaveEvent( e );
}
void QMenuBar::keyPressEvent( QKeyEvent *e )
{
if ( actItem < 0 )
return;
QMenuItem *mi = 0;
QPopupMenu *popup;
int d = 0;
switch ( e->key() ) {
case 0x1012 :
d = -1;
break;
case 0x1014 :
d = 1;
break;
case 0x1013 :
case 0x1015 :
if ( style() == WindowsStyle ) {
mi = mitems->at( actItem );
popup = mi->popup();
if ( popup && mi->isEnabled() ) {
windowsaltactive = 0;
hidePopups();
popup->setFirstItemActive();
openActPopup();
repaint( FALSE );
}
}
break;
case 0x1000 :
setWindowsAltMode( FALSE, -1 );
break;
}
if ( d ) {
register int i = actItem;
int c = mitems->count();
int n = c;
while ( n-- ) {
i = i + d;
if ( i == c )
i = 0;
else if ( i < 0 )
i = c - 1;
mi = mitems->at( i );
if ( mi->isEnabled()
&& !mi->isSeparator() )
break;
}
if ( i != actItem ) {
setActItem( i, FALSE );
if ( !windowsaltactive ) {
hidePopups();
popup = mi->popup();
if ( popup && mi->isEnabled() ) {
popup->setFirstItemActive();
openActPopup();
} else {
highlighted( mi->id() );
}
}
}
} else if ( !e->state() && e->key() >= 0x30 && e->key() <= 0x5a ) {
char c = '0' + e->key() - 0x30 ;
QMenuItemListIt it(*mitems);
register QMenuItem *m;
int indx = 0;
while ( (m=it.current()) ) {
++it;
QString s = m->text();
if ( !s.isEmpty() ) {
int i = s.find( '&' );
if ( i >= 0 && (__ctype_b[(int) ( ( s[i+1] ) )] & (unsigned short int) _ISalnum ) ) {
int k = s[i+1];
if ( toupper(k) == c ) {
mi = m;
break;
}
}
}
indx++;
}
if ( mi ) {
setWindowsAltMode( FALSE, indx );
hidePopups();
popup = mi->popup();
if ( popup && mi->isEnabled() ) {
popup->setFirstItemActive();
openActPopup();
} else {
highlighted( mi->id() );
}
}
}
}
void QMenuBar::resizeEvent( QResizeEvent * )
{
badSize = TRUE;
calculateRects();
}
void QMenuBar::setActItem( int i, bool clear )
{
if ( i == actItem )
return;
if ( i < 0 || actItem < 0 ) {
int n = (( actItem ) > ( i ) ? ( actItem ) : ( i )) ;
actItem = i;
if ( irects )
repaint( irects[n], clear );
} else if ( (( i-actItem ) >= 0 ? ( i-actItem ) : -( i-actItem )) == 1 ) {
int o = actItem;
actItem = i;
if ( irects )
repaint( irects[i].unite( irects[o] ), clear );
} else {
int o = actItem;
actItem = i;
if ( irects ) {
repaint( irects[o], clear );
repaint( irects[i], clear );
}
}
}
void QMenuBar::setWindowsAltMode( bool enable, int index )
{
if ( enable ) {
if ( !windowsaltactive ) {
windowsaltactive = 1;
if ( style() == WindowsStyle )
setFocus();
}
if ( index == actItem )
actItem = -1;
setActItem( index, FALSE );
} else {
if ( windowsaltactive ) {
if ( style() == WindowsStyle && focusWidget() )
focusWidget()->setFocus();
windowsaltactive = 0;
}
if ( index == actItem )
actItem = -1;
setActItem( index, FALSE );
}
}
void QMenuBar::setupAccelerators()
{
delete autoaccel;
QMenuItemListIt it(*mitems);
register QMenuItem *mi;
while ( (mi=it.current()) ) {
++it;
QString s = mi->text();
if ( !s.isEmpty() ) {
int i = s.find( '&' );
if ( i >= 0 && (__ctype_b[(int) ( ( s[i+1] ) )] & (unsigned short int) _ISalnum ) ) {
int k = s[i+1];
if ( (__ctype_b[(int) ( ( k ) )] & (unsigned short int) _ISalpha ) )
k = toupper(k) - 'A' + 0x41 ;
if ( !autoaccel ) {
autoaccel = new QAccel( this );
(chk_pointer(( autoaccel )==0,"widgets/qmenubar.cpp",1072)) ;
connect( autoaccel, "2""activated(int)" ,
"1""accelActivated(int)" );
connect( autoaccel, "2""destroyed()" ,
"1""accelDestroyed()" );
}
autoaccel->insertItem( ALT+k, mi->id() );
}
}
if ( mi->popup() ) {
mi->popup()->updateAccel( this );
if ( !mi->popup()->isEnabled() )
mi->popup()->enableAccel( FALSE );
}
}
}