This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

c++/2596: GCC pukes w/ internal compiler error



>Number:         2596
>Category:       c++
>Synopsis:       GCC pukes w/ internal compiler error
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Thu Apr 19 21:56:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Mike Rolig
>Release:        gcc version 2.95.3 20010315 (Debian release)
>Organization:
>Environment:
Debian GNU/Linux i386
System: Linux std99 2.4.3 #1 SMP Wed Apr 11 09:30:21 CDT 2001 i686 unknown
Architecture: i686

	
host: i386-pc-linux-gnu
build: i386-pc-linux-gnu
target: i386-pc-linux-gnu
configured with: ../src/configure -v --enable-languages=c,c++,java,f77,proto,objc --prefix=/usr --infodir=/share/info --mandir=/share/man --enable-shared --with-gnu-as --with-gnu-ld --with-system-zlib --enable-threads=posix --enable-long-long --enable-nls --without-x --without-included-gettext --disable-checking --enable-java-gc=boehm --with-cpp-install-dir=bin --enable-objc-gc i386-linux
>Description:
 Compiling the given code creates a compiler interal error:
 
 g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/kde -I/usr/include/qt -I/usr/X11R6/include     -O2 -fno-exceptions -fno-check-new -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long -Wnon-virtual-dtor -fno-builtin -O0 -g3 -Wall -save-temps -c kdc.cpp
 kdc.cpp: In method `Kdc::Kdc(QWidget * = 0, const char * = 0)':
 kdc.cpp:37: Internal compiler error.
 kdc.cpp:37: Please submit a full bug report.
 kdc.cpp:37: Internal compiler error:
 kdc.cpp:37: See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions
>How-To-Repeat:
# 0 "kdc.cpp"
#define __BASE_FILE__ "kdc.cpp"
# 0 "kdc.cpp"
#define __VERSION__ "2.95.3 20010315 (Debian release)"
# 0 "kdc.cpp"
#define __SIZE_TYPE__ unsigned int
# 0 "kdc.cpp"
#define __PTRDIFF_TYPE__ int
# 0 "kdc.cpp"
#define __WCHAR_TYPE__ __wchar_t
# 0 "kdc.cpp"
#define __DATE__ "Apr 19 2001"
# 0 "kdc.cpp"
#define __TIME__ "23:38:43"
# 0 "kdc.cpp"
#define __STDC__ 1
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 0 "kdc.cpp"
# 1 "kdc.cpp"
 







 








# 1 "kdc.h" 1
 







 









#define KDC_H


# 1 "../config.h" 1
 
 

 
#define SIZEOF_CHAR_P 4

 
#define SIZEOF_INT 4

 
#define SIZEOF_LONG 4

 
#define PACKAGE "kdc"

 
#define VERSION "0.1"

 
#define HAVE_TEMPLATE_REPOSITORY 1

 
#define HAVE_CRYPT 1

 

#define ksize_t socklen_t

 
#define HAVE_LIBZ 1

 
#define HAVE_LIBPNG 1

 
#define HAVE_LIBJPEG 1

# 22 "kdc.h" 2



# 1 "/usr/include/kde/kapp.h" 1 3
 



















 


#define _KAPP_H

 
#define KDE_VERSION 211
#define KDE_VERSION_STRING "2.1.1"
#define KDE_VERSION_MAJOR 2
#define KDE_VERSION_MINOR 1
#define KDE_VERSION_RELEASE 1

class KConfig;
class KCharsets;
class KStyle;
class DCOPClient;
class DCOPObject;

typedef unsigned long Atom;

# 1 "/usr/include/qt/qapplication.h" 1 3
 





































#define QAPPLICATION_H


# 1 "/usr/include/qt/qwidget.h" 1 3
 





































#define QWIDGET_H


# 1 "/usr/include/qt/qwindowdefs.h" 1 3
 






































#define QWINDOWDEFS_H


# 1 "/usr/include/qt/qobjectdefs.h" 1 3
 





































#define QOBJECTDEFS_H


# 1 "/usr/include/qt/qglobal.h" 1 3
 





































#define QGLOBAL_H


#define QT_VERSION	230
#define QT_VERSION_STR	"2.3.0"


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

# 100 "/usr/include/qt/qglobal.h" 3

#define _OS_LINUX_
# 136 "/usr/include/qt/qglobal.h" 3





#define _OS_UNIX_
 
 

 
#define UNIX



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


 

# 188 "/usr/include/qt/qglobal.h" 3

#define _CC_GNU_







#define Q_DELETING_VOID_UNDEFINED








# 271 "/usr/include/qt/qglobal.h" 3



 
 









#define Q_PACKED



 
 
 
 
 
 
 
 
 
 

# 314 "/usr/include/qt/qglobal.h" 3





#define _WS_X11_
#define Q_WS_X11









 
 
 
 
 
 

#define Q_DISABLE_COPY


 
 
 




#define Q_HAS_BOOL_TYPE



















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;








#define QT_STATIC_CONST static const
#define QT_STATIC_CONST_IMPL const




 
 
 

#define QMAX(a,b)	((a) > (b) ? (a) : (b))
#define QMIN(a,b)	((a) < (b) ? (a) : (b))
#define QABS(a)		((a) >= 0  ? (a) : -(a))

inline int qRound( double d )
{
    return d > 0.0 ? int(d+0.5) : int(d-0.5);
}


 
 
 

 
 

typedef signed char	INT8;			 
typedef unsigned char	UINT8;			 
typedef short		INT16;			 
typedef unsigned short	UINT16;			 
typedef int		INT32;			 
typedef unsigned int	UINT32;			 


typedef signed 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;		 
typedef long		Q_INT64;		 
typedef unsigned long	Q_UINT64;		 

 
 
 

class QDataStream;








# 1 "/usr/include/qt/qfeatures.h" 1 3
 





































#define QFEATURES_H

 



 
 
 
 
 



# 1 "/usr/include/qt/qconfig.h" 1 3
 
# 53 "/usr/include/qt/qfeatures.h" 2 3




 
 


 








 







 


 

 


 
 


 

 


 


 
 








 





 
 





 
 










 





 
 





 
 




 

 



 
 



 
# 172 "/usr/include/qt/qfeatures.h" 3


 
 




 
 








 






 

 






 


 
















 












 






 






 
 


 

 








 

 


 







 





# 296 "/usr/include/qt/qfeatures.h" 3


 


 


 















 


 

 






 


 
 


 
 


 
 


 
 


                                        
 
 


 








 


 
 


 
 


 
 



#define QT_NO_QWS_SVGALIB
 


#define QT_NO_QWS_DEPTH_8GRAYSCALE
 


 
 


 
 


 
 


 

 


 

 


#define QT_NO_QWS_KDE2_WM_STYLE








 


 

 




 

 


 































 


 
 


 
 


 
 












 


 

 
 


 
 


 

 






 






 
 


 

 








 


 
 


 
 


 

 


 


 






 






 


# 581 "/usr/include/qt/qfeatures.h" 3







 





 





# 609 "/usr/include/qt/qfeatures.h" 3



















 











 

















# 667 "/usr/include/qt/qfeatures.h" 3







 





 


 
# 701 "/usr/include/qt/qfeatures.h" 3









# 719 "/usr/include/qt/qfeatures.h" 3















 





 





 











 





 


 
 





 




















# 804 "/usr/include/qt/qfeatures.h" 3


# 815 "/usr/include/qt/qfeatures.h" 3










 


 

 





 





 





 





 


 





























# 896 "/usr/include/qt/qfeatures.h" 3








 



































































# 448 "/usr/include/qt/qglobal.h" 2 3



 
 
 

# 473 "/usr/include/qt/qglobal.h" 3






#define Q_EXPORT


 
 
 

  const char *qVersion();
  bool qSysInfo( int *wordSize, bool *bigEndian );


 
 
 


#define CHECK_STATE				
#define CHECK_RANGE				
#define CHECK_NULL				
#define CHECK_MATH				



#define DEBUG					


 
 
 
 
 


#define Q_NO_WARNINGS


# 532 "/usr/include/qt/qglobal.h" 3



 
 
 





 
 
 

#define Q_UNUSED(x) x=x;
#define Q_CONST_UNUSED(x) (void)x;

  void qDebug( const char *, ... )	 

    __attribute__ ((format (printf, 1, 2)))

;

  void qWarning( const char *, ... )	 

    __attribute__ ((format (printf, 1, 2)))

;

  void qFatal( const char *, ... )	 

    __attribute__ ((format (printf, 1, 2)))

;


 
 

 

  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)))

;

 








#define ASSERT(x)  if ( !(x) )	qWarning("ASSERT: \"%s\" in %s (%d)",#x,__FILE__,__LINE__)







  bool qt_check_pointer( bool c, const char *, int );


#define CHECK_PTR(p) (qt_check_pointer((p)==0,__FILE__,__LINE__))




enum QtMsgType { QtDebugMsg, QtWarningMsg, QtFatalMsg };

typedef void (*msg_handler)(QtMsgType, const char *);
  msg_handler qInstallMsgHandler( msg_handler );


  void qSuppressObsoleteWarnings( bool = TRUE );


#define QT_OBSOLETE
  void qObsolete( const char *obj, const char *oldfunc,
			 const char *newfunc );
  void qObsolete( const char *obj, const char *oldfunc );
  void qObsolete( const char *message );




# 42 "/usr/include/qt/qobjectdefs.h" 2 3




 
 
 


#define QT_TR_FUNCTION static QString tr(const char*); static QString tr(const char*, const char*);





# 70 "/usr/include/qt/qobjectdefs.h" 3

 #define slots					
 #define signals protected			
 #define emit					
 #define Q_CLASSINFO( name, value )		
 #define Q_PROPERTY( text )			
 #define Q_OVERRIDE( text )			
 #define Q_ENUMS( x )
 #define Q_SETS( x )

 
 #define Q_OBJECT	public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	QT_TR_FUNCTION	protected:	void initMetaObject();	private:	static QMetaObject *metaObj;
# 93 "/usr/include/qt/qobjectdefs.h" 3

 
#define Q_OBJECT_FAKE Q_OBJECT



 





#define METHOD(a)	"0"#a
#define SLOT(a)		"1"#a
#define SIGNAL(a)	"2"#a


#define METHOD_CODE	0			
#define SLOT_CODE	1
#define SIGNAL_CODE	2


 

class QObject;
class QMetaObject;
class QSignal;
class QConnection;
class QEvent;
struct QMetaData;
class QConnectionList;
class QConnectionListIt;
class QSignalDict;
class QSignalDictIt;
class QObjectList;
class QObjectListIt;
class QMemberDict;



# 43 "/usr/include/qt/qwindowdefs.h" 2 3

# 1 "/usr/include/qt/qstring.h" 1 3
 






































#define QSTRING_H


# 1 "/usr/include/qt/qcstring.h" 1 3
 






































#define QCSTRING_H


# 1 "/usr/include/qt/qarray.h" 1 3
 





































#define QARRAY_H


# 1 "/usr/include/qt/qgarray.h" 1 3
 





































#define QGARRAY_H


# 1 "/usr/include/qt/qshared.h" 1 3
 





































#define QSHARED_H






struct QShared
{
    QShared()		{ count = 1; }
    void ref()		{ count++; }
    bool deref()	{ return !--count; }
    uint count;
};



# 42 "/usr/include/qt/qgarray.h" 2 3




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;
    
    void	sort( uint sz );
    int		bsearch( 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();
    virtual void deleteData( array_data *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];
}



# 42 "/usr/include/qt/qarray.h" 2 3




template<class type> class   QArray : public QGArray
{
public:
    typedef type* Iterator;
    typedef const type* ConstIterator;
    typedef type ValueType;

protected:
    QArray( int, int ) : QGArray( 0, 0 ) {}

public:
    QArray() {}
    QArray( int size ) : QGArray(size*sizeof(type)) {}
    QArray( const QArray<type> &a ) : QGArray(a) {}
   ~QArray() {}
    QArray<type> &operator=(const QArray<type> &a)
				{ return (QArray<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); }
    uint  count()   const 	{ return size(); }
    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(); }
    QArray<type>   copy() const
	{ QArray<type> tmp; return tmp.duplicate(*this); }
    QArray<type>& assign( const QArray<type>& a )
	{ return (QArray<type>&)QGArray::assign(a); }
    QArray<type>& assign( const type *a, uint n )
	{ return (QArray<type>&)QGArray::assign((char*)a,n*sizeof(type)); }
    QArray<type>& duplicate( const QArray<type>& a )
	{ return (QArray<type>&)QGArray::duplicate(a); }
    QArray<type>& duplicate( const type *a, uint n )
	{ return (QArray<type>&)QGArray::duplicate((char*)a,n*sizeof(type)); }
    QArray<type>& setRawData( const type *a, uint n )
	{ return (QArray<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)); }
    void sort() { QGArray::sort(sizeof(type)); }
    int  bsearch( const type &d ) const
	{ return QGArray::bsearch((const 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 QArray<type> &a ) const { return isEqual(a); }
    bool operator!=( const QArray<type> &a ) const { return !isEqual(a); }
    Iterator begin() { return data(); }
    Iterator end() { return data() + size(); }
    ConstIterator begin() const { return data(); }
    ConstIterator end() const { return data() + size(); }
};



# 43 "/usr/include/qt/qcstring.h" 2 3




# 1 "/usr/include/strings.h" 1 3
 


















#define 	_STRINGS_H	1

 




# 1 "/usr/include/features.h" 1 3
 


















#define 	_FEATURES_H	1

 






























































 




















 


#define __KERNEL_STRICT_NAMES


 
#define 	__USE_ANSI	1


 







 
# 142 "/usr/include/features.h" 3


 





#define _BSD_SOURCE	1
#define _SVID_SOURCE	1


 








 



#define _POSIX_SOURCE	1



#define _POSIX_C_SOURCE	199506L




#define __USE_POSIX	1



#define __USE_POSIX2	1



#define __USE_POSIX199309	1



#define __USE_POSIX199506	1


# 208 "/usr/include/features.h" 3















#define __USE_MISC	1



#define __USE_BSD	1



#define __USE_SVID	1










 
#define __STDC_IEC_559__		1
#define __STDC_IEC_559_COMPLEX__	1

 
#define __STDC_ISO_10646__		200009L

 






#define __GNU_LIBRARY__ 6

 

#define 	__GLIBC__	2
#define 	__GLIBC_MINOR__	2

 







#define __GNUC_PREREQ(maj, min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))





#define __GLIBC_PREREQ(maj, min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))


 


# 1 "/usr/include/sys/cdefs.h" 1 3
 


















#define 	_SYS_CDEFS_H	1

 




 






 





 



#define __THROW	throw ()



#define __P(args)	args __THROW
 

#define __PMT(args)	args

# 65 "/usr/include/sys/cdefs.h" 3


 


#define __CONCAT(x,y)	x ## y
#define __STRING(x)	#x

 
#define __ptr_t void *
#define __long_double_t  long double


 

#define __BEGIN_DECLS	extern "C" {
#define __END_DECLS	}






 

#define __bounded	
#define __unbounded	
#define __ptrvalue	



 





#define __flexarr	[0]











 











#define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias))
#define __ASMNAME(cname)  __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
#define __ASMNAME2(prefix, cname) __STRING (prefix) cname

 







 






 





#define __attribute_malloc__ 


 





#define __attribute_pure__ 


 



#define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))




 







#define __attribute_format_strfmon__(a,b) 


 







 




 



#define __restrict_arr


# 283 "/usr/include/features.h" 2 3



 








 




 

 








# 1 "/usr/include/gnu/stubs.h" 1 3
 



#define __stub___kernel_cosl
#define __stub___kernel_sinl
#define __stub___kernel_tanl
#define __stub_chflags
#define __stub_fattach
#define __stub_fchflags
#define __stub_fdetach
#define __stub_fexecve
#define __stub_getcontext
#define __stub_gtty
#define __stub_makecontext
#define __stub_posix_fadvise
#define __stub_posix_fadvise64
#define __stub_revoke
#define __stub_setcontext
#define __stub_setlogin
#define __stub_sigreturn
#define __stub_sstk
#define __stub_stty
#define __stub_swapcontext
# 311 "/usr/include/features.h" 2 3




# 27 "/usr/include/strings.h" 2 3

#define __need_size_t
# 1 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 

 
















#define __size_t__	
#define _SIZE_T
#define _SYS_SIZE_T_H
#define _T_SIZE_
#define _T_SIZE
#define __SIZE_T
#define _SIZE_T_
#define _BSD_SIZE_T_
#define _SIZE_T_DEFINED_
#define _SIZE_T_DEFINED
#define ___int_size_t_h
#define _GCC_SIZE_T
#define _SIZET_
#define __size_t




typedef unsigned int size_t;


















#undef 	__need_size_t



 




 

# 271 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


# 283 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 

 

# 317 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3




 





















# 29 "/usr/include/strings.h" 2 3


extern "C" { 

 
extern int bcmp (__const void *__s1, __const void *__s2, 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 ffs (int __i) throw ()  __attribute__ ((const));

 
extern char *index (__const char *__s, int __c) throw ()   ;

 
extern char *rindex (__const char *__s, int __c) throw ()   ;

 
extern int strcasecmp (__const char *__s1, __const char *__s2)
     throw ()   ;

 
extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
     throw ()   ;

} 




# 47 "/usr/include/qt/qcstring.h" 2 3



# 1 "/usr/include/string.h" 1 3
 

















 




#define 	_STRING_H	1



extern "C" { 

 
#define 	__need_size_t
#define 	__need_NULL
# 1 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 

 


# 188 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3

#undef 	__need_size_t



 




 

# 271 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


# 283 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 

 

# 317 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3




 




#define NULL __null




#undef 	__need_NULL











# 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 *__restrict __dest, __const void *__restrict __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 ()   ;

# 73 "/usr/include/string.h" 3



 
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 () ;

# 116 "/usr/include/string.h" 3



 
extern char *strdup (__const char *__s) throw ()   ;


 







# 152 "/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 () ;


# 214 "/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 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 strcasecmp (__const char *__s1, __const char *__s2)
     throw ()   ;

 
extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
     throw ()   ;


# 289 "/usr/include/string.h" 3



 

extern char *strsep (char **__restrict __stringp,
		     __const char *__restrict __delim) throw () ;


# 332 "/usr/include/string.h" 3




# 360 "/usr/include/string.h" 3



} 


# 50 "/usr/include/qt/qcstring.h" 2 3



 



# 71 "/usr/include/qt/qcstring.h" 3



 



  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 );

 
 
 
 




#define strlen qstrlen


#define strcpy qstrcpy


#define strcmp qstrcmp


#define strncmp qstrncmp


#define stricmp	 qstricmp


#define strnicmp qstrnicmp




 

  Q_UINT16 qChecksum( const char *s, uint len );

 






typedef QArray<char> QByteArray;


 



  QDataStream &operator<<( QDataStream &, const QByteArray & );
  QDataStream &operator>>( QDataStream &, QByteArray & );




 



class QRegExp;

class   QCString : public QByteArray	 
{
public:
    QCString() {}				 
    QCString( int size );			 
    QCString( const QCString &s ) : QByteArray( s ) {}
    QCString( const char *str );		 
    QCString( const char *str, uint maxlen );	 

    QCString    &operator=( const QCString &s ); 
    QCString    &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 );

    QCString	copy()	const;

    QCString    &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;

    QCString	left( uint len )  const;
    QCString	right( uint len ) const;
    QCString	mid( uint index, uint len=0xffffffff) const;

    QCString	leftJustify( uint width, char fill=' ', bool trunc=FALSE)const;
    QCString	rightJustify( uint width, char fill=' ',bool trunc=FALSE)const;

    QCString	lower() const;
    QCString	upper() const;

    QCString	stripWhiteSpace()	const;
    QCString	simplifyWhiteSpace()	const;

    QCString    &insert( uint index, const char * );
    QCString    &insert( uint index, char );
    QCString    &append( const char * );
    QCString    &prepend( const char * );
    QCString    &remove( uint index, uint len );
    QCString    &replace( uint index, uint len, const char * );
    QCString    &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;

    QCString    &setStr( const char *s );
    QCString    &setNum( short );
    QCString    &setNum( ushort );
    QCString    &setNum( int );
    QCString    &setNum( uint );
    QCString    &setNum( long );
    QCString    &setNum( ulong );
    QCString    &setNum( float, char f='g', int prec=6 );
    QCString    &setNum( double, char f='g', int prec=6 );

    bool	setExpand( uint index, char c );

		operator const char *() const;
    QCString    &operator+=( const char *str );
    QCString    &operator+=( char c );
};


 



  QDataStream &operator<<( QDataStream &, const QCString & );
  QDataStream &operator>>( QDataStream &, QCString & );


 



inline QCString &QCString::operator=( const QCString &s )
{ return (QCString&)assign( s ); }

inline QCString &QCString::operator=( const char *str )
{ return (QCString&)duplicate( str, qstrlen(str)+1 ); }

inline bool QCString::isNull() const
{ return data() == 0; }

inline bool QCString::isEmpty() const
{ return data() == 0 || *data() == '\0'; }

inline uint QCString::length() const
{ return qstrlen( data() ); }

inline bool QCString::truncate( uint pos )
{ return resize(pos+1); }

inline QCString QCString::copy() const
{ return QCString( data() ); }

inline QCString &QCString::prepend( const char *s )
{ return insert(0,s); }

inline QCString &QCString::append( const char *s )
{ return operator+=(s); }

inline QCString &QCString::setNum( short n )
{ return setNum((long)n); }

inline QCString &QCString::setNum( ushort n )
{ return setNum((ulong)n); }

inline QCString &QCString::setNum( int n )
{ return setNum((long)n); }

inline QCString &QCString::setNum( uint n )
{ return setNum((ulong)n); }

inline QCString &QCString::setNum( float n, char f, int prec )
{ return setNum((double)n,f,prec); }

inline QCString::operator const char *() const
{ return (const char *)data(); }


 



  inline bool operator==( const QCString &s1, const QCString &s2 )
{ return qstrcmp(s1.data(),s2.data()) == 0; }

  inline bool operator==( const QCString &s1, const char *s2 )
{ return qstrcmp(s1.data(),s2) == 0; }

  inline bool operator==( const char *s1, const QCString &s2 )
{ return qstrcmp(s1,s2.data()) == 0; }

  inline bool operator!=( const QCString &s1, const QCString &s2 )
{ return qstrcmp(s1.data(),s2.data()) != 0; }

  inline bool operator!=( const QCString &s1, const char *s2 )
{ return qstrcmp(s1.data(),s2) != 0; }

  inline bool operator!=( const char *s1, const QCString &s2 )
{ return qstrcmp(s1,s2.data()) != 0; }

  inline bool operator<( const QCString &s1, const QCString& s2 )
{ return qstrcmp(s1.data(),s2.data()) < 0; }

  inline bool operator<( const QCString &s1, const char *s2 )
{ return qstrcmp(s1.data(),s2) < 0; }

  inline bool operator<( const char *s1, const QCString &s2 )
{ return qstrcmp(s1,s2.data()) < 0; }

  inline bool operator<=( const QCString &s1, const char *s2 )
{ return qstrcmp(s1.data(),s2) <= 0; }

  inline bool operator<=( const char *s1, const QCString &s2 )
{ return qstrcmp(s1,s2.data()) <= 0; }

  inline bool operator>( const QCString &s1, const char *s2 )
{ return qstrcmp(s1.data(),s2) > 0; }

  inline bool operator>( const char *s1, const QCString &s2 )
{ return qstrcmp(s1,s2.data()) > 0; }

  inline bool operator>=( const QCString &s1, const char *s2 )
{ return qstrcmp(s1.data(),s2) >= 0; }

  inline bool operator>=( const char *s1, const QCString &s2 )
{ return qstrcmp(s1,s2.data()) >= 0; }

  inline QCString operator+( const QCString &s1, const QCString &s2 )
{
    QCString tmp( s1.data() );
    tmp += s2;
    return tmp;
}

  inline QCString operator+( const QCString &s1, const char *s2 )
{
    QCString tmp( s1.data() );
    tmp += s2;
    return tmp;
}

  inline QCString operator+( const char *s1, const QCString &s2 )
{
    QCString tmp( s1 );
    tmp += s2;
    return tmp;
}

  inline QCString operator+( const QCString &s1, char c2 )
{
    QCString tmp( s1.data() );
    tmp += c2;
    return tmp;
}

  inline QCString operator+( char c1, const QCString &s2 )
{
    QCString tmp;
    tmp += c1;
    tmp += s2;
    return tmp;
}


# 43 "/usr/include/qt/qstring.h" 2 3




 



class QRegExp;
class QString;
class QCharRef;

class   QChar {
public:
    QChar();
    QChar( char c );
    QChar( uchar c );
    QChar( uchar c, uchar r );
    QChar( const QChar& c );
    QChar( ushort rc );
    QChar( short rc );
    QChar( uint rc );
    QChar( int rc );

    static const  QChar null;             
    static const  QChar replacement;      
    static const  QChar byteOrderMark;      
    static const  QChar byteOrderSwapped;      
    static const  QChar nbsp;             

     

    enum Category
    {
	NoCategory,

	Mark_NonSpacing,	   
	Mark_SpacingCombining,	   
	Mark_Enclosing,		   

	Number_DecimalDigit,	   
	Number_Letter,		   
	Number_Other,		   

	Separator_Space,	   
	Separator_Line,		   
	Separator_Paragraph,	   

	Other_Control,		   
	Other_Format,		   
	Other_Surrogate,	   
	Other_PrivateUse,	   
	Other_NotAssigned,	   

	Letter_Uppercase,	   
	Letter_Lowercase,	   
	Letter_Titlecase,	   
	Letter_Modifier,	   
	Letter_Other,		   

	Punctuation_Connector,	   
	Punctuation_Dask,	   
	Punctuation_Open,	   
	Punctuation_Close,	   
	Punctuation_InitialQuote,  
	Punctuation_FinalQuote,	   
	Punctuation_Other,	   

	Symbol_Math,		   
	Symbol_Currency,	   
	Symbol_Modifier,	   
	Symbol_Other		   
    };

    enum Direction
    {
	DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON,
	DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN
    };

    enum Decomposition
    {
        Single, Canonical, Font, NoBreak, Initial, Medial,
        Final, Isolated, Circle, Super, Sub, Vertical,
        Wide, Narrow, Small, Square, Compat, Fraction
    };

    enum Joining
    {
	OtherJoining, Dual, Right, Center
    };

     

    int digitValue() const;
    QChar lower() const;
    QChar upper() const;

    Category category() const;
    Direction direction() const;
    Joining joining() const;
    bool mirrored() const;
    QChar mirroredChar() const;
    QString decomposition() const;
    Decomposition decompositionTag() const;

    char latin1() const { return rw ? 0 : cl; }
    ushort unicode() const { return (rw << 8) | cl; }

     
    operator char() const { return latin1(); }


    bool isNull() const { return unicode()==0; }
    bool isPrint() const;
    bool isPunct() const;
    bool isSpace() const;
    bool isMark() const;
    bool isLetter() const;
    bool isNumber() const;
    bool isLetterOrNumber() const;
    bool isDigit() const;

    uchar& cell() { return cl; }
    uchar& row() { return rw; }
    uchar cell() const { return cl; }
    uchar row() const { return rw; }

    static bool networkOrdered() { return (int)net_ordered == 1; }

    friend inline int operator==( char ch, QChar c );
    friend inline int operator==( QChar c, char ch );
    friend inline int operator==( QChar c1, QChar c2 );
    friend inline int operator!=( QChar c1, QChar c2 );
    friend inline int operator!=( char ch, QChar c );
    friend inline int operator!=( QChar c, char ch );
    friend inline int operator<=( QChar c, char ch );
    friend inline int operator<=( char ch, QChar c );
    friend inline int operator<=( QChar c1, QChar c2 );

private:

     
     
    uchar rw;
    uchar cl;



    enum { net_ordered = 1 };
# 201 "/usr/include/qt/qstring.h" 3

}  ;

inline QChar::QChar()
{
    rw = 0; cl = 0;



}
inline QChar::QChar( char c )
{
    rw = 0; cl = (uchar)c;



}
inline QChar::QChar( uchar c )
{
    rw = 0; cl = c;



}
inline QChar::QChar( uchar c, uchar r )
{
    rw = r; cl = c;



}
inline QChar::QChar( const QChar& c )
{
    rw = c.rw; cl = c.cl;



}
inline QChar::QChar( ushort rc )
{
    rw = (uchar)((rc>>8)&0xff); cl = (uchar)(rc&0xff);



}
inline QChar::QChar( short rc )
{
    rw = (uchar)((rc>>8)&0xff); cl = (uchar)(rc&0xff);



}
inline QChar::QChar( uint rc )
{
    rw = (uchar)((rc>>8)&0xff); cl = (uchar)(rc&0xff);



}
inline QChar::QChar( int rc )
{
    rw = (uchar)((rc>>8)&0xff); cl = (uchar)(rc&0xff);



}


inline int operator==( char ch, QChar c )
{
    return ch == c.cl && !c.rw;
}

inline int operator==( QChar c, char ch )
{
    return ch == c.cl && !c.rw;
}

inline int operator==( QChar c1, QChar c2 )
{
    return c1.cl == c2.cl
	&& c1.rw == c2.rw;
}

inline int operator!=( QChar c1, QChar c2 )
{
    return c1.cl != c2.cl
	|| c1.rw != c2.rw;
}

inline int operator!=( char ch, QChar c )
{
    return ch != c.cl || c.rw;
}

inline int operator!=( QChar c, char ch )
{
    return ch != c.cl || c.rw;
}

inline int operator<=( QChar c, char ch )
{
    return !(ch < c.cl || c.rw);
}

inline int operator<=( char ch, QChar c )
{
    return ch <= c.cl || c.rw;
}

inline int operator<=( QChar c1, QChar c2 )
{
    return c1.rw > c2.rw
	? FALSE
	: c1.rw < c2.rw
	    ? TRUE
	    : c1.cl <= c2.cl;
}

inline int operator>=( QChar c, char ch ) { return ch <= c; }
inline int operator>=( char ch, QChar c ) { return c <= ch; }
inline int operator>=( QChar c1, QChar c2 ) { return c2 <= c1; }
inline int operator<( QChar c, char ch ) { return !(ch<=c); }
inline int operator<( char ch, QChar c ) { return !(c<=ch); }
inline int operator<( QChar c1, QChar c2 ) { return !(c2<=c1); }
inline int operator>( QChar c, char ch ) { return !(ch>=c); }
inline int operator>( char ch, QChar c ) { return !(c>=ch); }
inline int operator>( QChar c1, QChar c2 ) { return !(c2>=c1); }

 
struct   QStringData : public QShared {
    QStringData() :
	unicode(0), ascii(0), len(0), maxl(0), dirtyascii(0) { ref(); }
    QStringData(QChar *u, uint l, uint m) :
	unicode(u), ascii(0), len(l), maxl(m), dirtyascii(0) { }

    ~QStringData() { if ( unicode ) delete[] ((char*)unicode);
                     if ( ascii ) delete[] ascii; }

    void deleteSelf();
    QChar *unicode;
    char *ascii;
    uint len;
    uint maxl:30;
    uint dirtyascii:1;
};


class   QString
{
public:
    QString();					 
    QString( QChar );				 
    QString( const QString & );			 
    QString( const QByteArray& );		 
    QString( const QChar* unicode, uint length );  

    QString( const char *str );			 

    ~QString();

    QString    &operator=( const QString & );	 

    QString    &operator=( const char * );	 

    QString    &operator=( const QCString& );	 
    QString    &operator=( QChar c );
    QString    &operator=( char c );

    static const  QString null;

    bool	isNull()	const;
    bool	isEmpty()	const;
    uint	length()	const;
    void	truncate( uint pos );




    void	fill( QChar c, int len = -1 );

    QString	copy()	const;

    QString arg(long a, int fieldwidth=0, int base=10) const;
    QString arg(ulong a, int fieldwidth=0, int base=10) const;
    QString arg(int a, int fieldwidth=0, int base=10) const;
    QString arg(uint a, int fieldwidth=0, int base=10) const;
    QString arg(short a, int fieldwidth=0, int base=10) const;
    QString arg(ushort a, int fieldwidth=0, int base=10) const;
    QString arg(char a, int fieldwidth=0) const;
    QString arg(QChar a, int fieldwidth=0) const;
    QString arg(const QString& a, int fieldwidth=0) const;
    QString arg(double a, int fieldwidth=0, char fmt='g', int prec=-1) const;

    QString    &sprintf( const char* format, ... )

	__attribute__ ((format (printf, 2, 3)))

	;

    int		find( QChar c, int index=0, bool cs=TRUE ) const;
    int		find( char c, int index=0, bool cs=TRUE ) const;
    int		find( const QString &str, int index=0, bool cs=TRUE ) const;
    int		find( const QRegExp &, int index=0 ) const;

    int		find( const char* str, int index=0 ) const;

    int		findRev( QChar c, int index=-1, bool cs=TRUE) const;
    int		findRev( char c, int index=-1, bool cs=TRUE) const;
    int		findRev( const QString &str, int index=-1, bool cs=TRUE) const;
    int		findRev( const QRegExp &, int index=-1 ) const;

    int		findRev( const char* str, int index=-1 ) const;

    int		contains( QChar c, bool cs=TRUE ) const;
    int		contains( char c, bool cs=TRUE ) const
		    { return contains(QChar(c), cs); }

    int		contains( const char* str, bool cs=TRUE ) const;

    int		contains( const QString &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=0xffffffff) const;

    QString	leftJustify( uint width, QChar fill=' ', bool trunc=FALSE)const;
    QString	rightJustify( uint width, QChar fill=' ',bool trunc=FALSE)const;

    QString	lower() const;
    QString	upper() const;

    QString	stripWhiteSpace()	const;
    QString	simplifyWhiteSpace()	const;

    QString    &insert( uint index, const QString & );
    QString    &insert( uint index, const QChar*, uint len );
    QString    &insert( uint index, QChar );
    QString    &insert( uint index, char c ) { return insert(index,QChar(c)); }
    QString    &append( char );
    QString    &append( QChar );
    QString    &append( const QString & );
    QString    &prepend( char );
    QString    &prepend( QChar );
    QString    &prepend( const QString & );
    QString    &remove( uint index, uint len );
    QString    &replace( uint index, uint len, const QString & );
    QString    &replace( uint index, uint len, const QChar*, uint clen );
    QString    &replace( const QRegExp &, const QString & );

    short	toShort( bool *ok=0, int base=10 )	const;
    ushort	toUShort( bool *ok=0, int base=10 )	const;
    int		toInt( bool *ok=0, int base=10 )	const;
    uint	toUInt( bool *ok=0, int base=10 )	const;
    long	toLong( bool *ok=0, int base=10 )	const;
    ulong	toULong( bool *ok=0, int base=10 )	const;
    float	toFloat( bool *ok=0 )	const;
    double	toDouble( bool *ok=0 )	const;

    QString    &setNum( short, int base=10 );
    QString    &setNum( ushort, int base=10 );
    QString    &setNum( int, int base=10 );
    QString    &setNum( uint, int base=10 );
    QString    &setNum( long, int base=10 );
    QString    &setNum( ulong, int base=10 );
    QString    &setNum( float, char f='g', int prec=6 );
    QString    &setNum( double, char f='g', int prec=6 );

    static QString number( long, int base=10 );
    static QString number( ulong, int base=10);
    static QString number( int, int base=10 );
    static QString number( uint, int base=10);
    static QString number( double, char f='g', int prec=6 );

    void	setExpand( uint index, QChar c );

    QString    &operator+=( const QString &str );
    QString    &operator+=( QChar c );
    QString    &operator+=( char c );

     
    QChar at( uint i ) const
	{ return i<d->len ? d->unicode[i] : QChar::null; }
    QChar operator[]( int i ) const { return at((uint)i); }
    QCharRef at( uint i );
    QCharRef operator[]( int i );

    QChar constref(uint i) const
	{ return at(i); }
    QChar& ref(uint i)
	{  
	    if (d->count!=1 || i>=d->len)
		subat(i);
	    d->dirtyascii=1;
	    return d->unicode[i];
	}

    const QChar* unicode() const { return d->unicode; }
    const char* ascii() const;
    const char* latin1() const;
    static QString fromLatin1(const char*, int len=-1);

    QCString utf8() const;
    static QString fromUtf8(const char*, int len=-1);

    QCString local8Bit() const;
    static QString fromLocal8Bit(const char*, int len=-1);
    bool operator!() const;

    operator const char *() const { return latin1(); }


    QString &setUnicode( const QChar* unicode, uint len );
    QString &setUnicodeCodes( const ushort* unicode_as_ushorts, uint len );
    QString &setLatin1( const char*, int len=-1 );

    int compare( const QString& s ) const;
    static int compare( const QString& s1, const QString& s2 )
	{ return s1.compare(s2); }


    friend   QDataStream &operator>>( QDataStream &, QString & );

     
    void compose();
    QChar::Direction basicDirection();
    QString visual(int index = 0, int len = -1);


    const char* data() const { return latin1(); }


    bool startsWith( const QString& ) const;

private:
    QString( int size, bool dummy );		 

    void deref();
    void real_detach();
    void setLength( uint pos );
    void subat( uint );
    bool findArg(int& pos, int& len) const;

    static QChar* asciiToUnicode( const char*, uint * len, uint maxlen=(uint)-1 );
    static QChar* asciiToUnicode( const QByteArray&, uint * len );
    static char* unicodeToAscii( const QChar*, uint len );

    QStringData *d;
    static QStringData* shared_null;
    static QStringData* makeSharedNull();

    friend class QConstString;
    QString(QStringData* dd, bool  ) : d(dd) { }
};

class   QCharRef {
    friend class QString;
    QString& s;
    uint p;
    QCharRef(QString* str, uint pos) : s(*str), p(pos) { }

public:
     

     

    ushort unicode() const { return s.constref(p).unicode(); }
    char latin1() const { return s.constref(p).latin1(); }

     
    QCharRef operator=(char c ) { s.ref(p)=c; return *this; }
    QCharRef operator=(uchar c ) { s.ref(p)=c; return *this; }
    QCharRef operator=(QChar c ) { s.ref(p)=c; return *this; }
    QCharRef operator=(const QCharRef& c ) { s.ref(p)=c.unicode(); return *this; }
    QCharRef operator=(ushort rc ) { s.ref(p)=rc; return *this; }
    QCharRef operator=(short rc ) { s.ref(p)=rc; return *this; }
    QCharRef operator=(uint rc ) { s.ref(p)=rc; return *this; }
    QCharRef operator=(int rc ) { s.ref(p)=rc; return *this; }

    operator QChar () const { return s.constref(p); }

     
    bool isNull() const { return unicode()==0; }
    bool isPrint() const { return s.constref(p).isPrint(); }
    bool isPunct() const { return s.constref(p).isPunct(); }
    bool isSpace() const { return s.constref(p).isSpace(); }
    bool isMark() const { return s.constref(p).isMark(); }
    bool isLetter() const { return s.constref(p).isLetter(); }
    bool isNumber() const { return s.constref(p).isNumber(); }
    bool isLetterOrNumber() { return s.constref(p).isLetterOrNumber(); }
    bool isDigit() const { return s.constref(p).isDigit(); }

    int digitValue() const { return s.constref(p).digitValue(); }
    QChar lower() { return s.constref(p).lower(); }
    QChar upper() { return s.constref(p).upper(); }

    QChar::Category category() const { return s.constref(p).category(); }
    QChar::Direction direction() const { return s.constref(p).direction(); }
    QChar::Joining joining() const { return s.constref(p).joining(); }
    bool mirrored() const { return s.constref(p).mirrored(); }
    QChar mirroredChar() const { return s.constref(p).mirroredChar(); }
    QString decomposition() const { return s.constref(p).decomposition(); }
    QChar::Decomposition decompositionTag() const { return s.constref(p).decompositionTag(); }

     
    uchar cell() const { return s.constref(p).cell(); }
    uchar row() const { return s.constref(p).row(); }

};

inline QCharRef QString::at( uint i ) { return QCharRef(this,i); }
inline QCharRef QString::operator[]( int i ) { return at((uint)i); }


class   QConstString : private QString {
public:
    QConstString( QChar* unicode, uint length );
    ~QConstString();
    const QString& string() const { return *this; }
};


 



  QDataStream &operator<<( QDataStream &, const QString & );
  QDataStream &operator>>( QDataStream &, QString & );


 



 
 
 
 
 
inline QString::QString() :
    d(shared_null ? shared_null : makeSharedNull())
{
    d->ref();
}
 
inline QString::~QString()
{
    if ( d->deref() ) {
	if ( d == shared_null )
	    shared_null = 0;
	d->deleteSelf();
    }
}

inline QString &QString::operator=( QChar c )
{ return *this = QString(c); }

inline QString &QString::operator=( char c )
{ return *this = QString(QChar(c)); }

inline bool QString::isNull() const
{ return unicode() == 0; }

inline bool QString::operator!() const
{ return isNull(); }

inline uint QString::length() const
{ return d->len; }

inline bool QString::isEmpty() const
{ return length() == 0; }

inline QString QString::copy() const
{ return QString( *this ); }

inline QString &QString::prepend( const QString & s )
{ return insert(0,s); }

inline QString &QString::prepend( QChar c )
{ return insert(0,c); }

inline QString &QString::prepend( char c )
{ return insert(0,c); }

inline QString &QString::append( const QString & s )
{ return operator+=(s); }

inline QString &QString::append( QChar c )
{ return operator+=(c); }

inline QString &QString::append( char c )
{ return operator+=(c); }

inline QString &QString::setNum( short n, int base )
{ return setNum((long)n, base); }

inline QString &QString::setNum( ushort n, int base )
{ return setNum((ulong)n, base); }

inline QString &QString::setNum( int n, int base )
{ return setNum((long)n, base); }

inline QString &QString::setNum( uint n, int base )
{ return setNum((ulong)n, base); }

inline QString &QString::setNum( float n, char f, int prec )
{ return setNum((double)n,f,prec); }

inline QString QString::arg(int a, int fieldwidth, int base) const
{ return arg((long)a, fieldwidth, base); }

inline QString QString::arg(uint a, int fieldwidth, int base) const
{ return arg((ulong)a, fieldwidth, base); }

inline QString QString::arg(short a, int fieldwidth, int base) const
{ return arg((long)a, fieldwidth, base); }

inline QString QString::arg(ushort a, int fieldwidth, int base) const
{ return arg((ulong)a, fieldwidth, base); }

inline int QString::find( char c, int index, bool cs ) const
{ return find(QChar(c), index, cs); }

inline int QString::findRev( char c, int index, bool cs) const
{ return findRev( QChar(c), index, cs ); }



inline int QString::find( const char* str, int index ) const
{ return find(QString::fromLatin1(str), index); }

inline int QString::findRev( const char* str, int index ) const
{ return findRev(QString::fromLatin1(str), index); }



 



  bool operator!=( const QString &s1, const QString &s2 );
  bool operator<( const QString &s1, const QString &s2 );
  bool operator<=( const QString &s1, const QString &s2 );
  bool operator==( const QString &s1, const QString &s2 );
  bool operator>( const QString &s1, const QString &s2 );
  bool operator>=( const QString &s1, const QString &s2 );

  bool operator!=( const QString &s1, const char *s2 );
  bool operator<( const QString &s1, const char *s2 );
  bool operator<=( const QString &s1, const char *s2 );
  bool operator==( const QString &s1, const char *s2 );
  bool operator>( const QString &s1, const char *s2 );
  bool operator>=( const QString &s1, const char *s2 );
  bool operator!=( const char *s1, const QString &s2 );
  bool operator<( const char *s1, const QString &s2 );
  bool operator<=( const char *s1, const QString &s2 );
  bool operator==( const char *s1, const QString &s2 );
 
  bool operator>=( const char *s1, const QString &s2 );


  inline QString operator+( const QString &s1, const QString &s2 )
{
    QString tmp( s1 );
    tmp += s2;
    return tmp;
}


  inline QString operator+( const QString &s1, const char *s2 )
{
    QString tmp( s1 );
    tmp += QString::fromLatin1(s2);
    return tmp;
}

  inline QString operator+( const char *s1, const QString &s2 )
{
    QString tmp = QString::fromLatin1( s1 );
    tmp += s2;
    return tmp;
}


  inline QString operator+( const QString &s1, QChar c2 )
{
    QString tmp( s1 );
    tmp += c2;
    return tmp;
}

  inline QString operator+( const QString &s1, char c2 )
{
    QString tmp( s1 );
    tmp += c2;
    return tmp;
}

  inline QString operator+( QChar c1, const QString &s2 )
{
    QString tmp;
    tmp += c1;
    tmp += s2;
    return tmp;
}

  inline QString operator+( char c1, const QString &s2 )
{
    QString tmp;
    tmp += c1;
    tmp += s2;
    return tmp;
}










# 44 "/usr/include/qt/qwindowdefs.h" 2 3

# 1 "/usr/include/qt/qnamespace.h" 1 3
 





































#define QNAMESPACE_H






class QColor;
class QCursor;


class   Qt {
public:
    static const  QColor & color0;
    static const  QColor & color1;
    static const  QColor & black;
    static const  QColor & white;
    static const  QColor & darkGray;
    static const  QColor & gray;
    static const  QColor & lightGray;
    static const  QColor & red;
    static const  QColor & green;
    static const  QColor & blue;
    static const  QColor & cyan;
    static const  QColor & magenta;
    static const  QColor & yellow;
    static const  QColor & darkRed;
    static const  QColor & darkGreen;
    static const  QColor & darkBlue;
    static const  QColor & darkCyan;
    static const  QColor & darkMagenta;
    static const  QColor & darkYellow;

     
    enum ButtonState {				 
	NoButton	= 0x0000,
	LeftButton	= 0x0001,
	RightButton	= 0x0002,
	MidButton	= 0x0004,
	MouseButtonMask = 0x0007,
	ShiftButton	= 0x0008,
	ControlButton   = 0x0010,
	AltButton	= 0x0020,
	KeyButtonMask	= 0x0038,
	Keypad		= 0x4000
    };

     
    enum Orientation {
        Horizontal,
	Vertical
    };

     

     
    enum AlignmentFlags {
	AlignLeft	= 0x0001,		 
	AlignRight	= 0x0002,
	AlignHCenter	= 0x0004,
	AlignTop	= 0x0008,
	AlignBottom	= 0x0010,
	AlignVCenter	= 0x0020,
	AlignCenter	= AlignVCenter | AlignHCenter,

	SingleLine	= 0x0040,		 
	DontClip	= 0x0080,
	ExpandTabs	= 0x0100,
	ShowPrefix	= 0x0200,
	WordBreak	= 0x0400,
	DontPrint	= 0x1000		 
    };

     
    enum WidgetState {
	WState_Created		= 0x00000001,
	WState_Disabled		= 0x00000002,
	WState_Visible		= 0x00000004,
	WState_ForceHide	= 0x00000008,
	WState_OwnCursor	= 0x00000010,
	WState_MouseTracking	= 0x00000020,
	WState_CompressKeys	= 0x00000040,
	WState_BlockUpdates	= 0x00000080,
	WState_InPaintEvent	= 0x00000100,
	WState_Reparented	= 0x00000200,
	WState_ConfigPending	= 0x00000400,
	WState_Resized		= 0x00000800,
	WState_AutoMask		= 0x00001000,
	WState_Polished		= 0x00002000,
	WState_DND		= 0x00004000,
	WState_Modal		= 0x00008000,
	WState_Reserved1	= 0x00010000,
	WState_Reserved2	= 0x00020000,
	WState_Reserved3	= 0x00040000,
	WState_Maximized	= 0x00080000,
	WState_TranslateBackground = 0x00100000,
	WState_ForceDisabled	= 0x00200000,
	WState_Exposed		= 0x00400000
    };

     
    typedef uint WFlags;

     
    enum WidgetFlags {
	WType_TopLevel		= 0x00000001,	 
	WType_Modal		= 0x00000002,
	WType_Popup		= 0x00000004,
	WType_Desktop		= 0x00000008,
	WType_Mask		= 0x0000000f,

	WStyle_Customize	= 0x00000010,	 
	WStyle_NormalBorder	= 0x00000020,
	WStyle_DialogBorder	= 0x00000040,
	WStyle_NoBorder		= 0x00000000,
	WStyle_Title		= 0x00000080,
	WStyle_SysMenu		= 0x00000100,
	WStyle_Minimize		= 0x00000200,
	WStyle_Maximize		= 0x00000400,
	WStyle_MinMax		= WStyle_Minimize | WStyle_Maximize,
	WStyle_Tool		= 0x00000800,
	WStyle_StaysOnTop	= 0x00001000,
	WStyle_Dialog 		= 0x00002000,
	WStyle_ContextHelp	= 0x00004000,
	WStyle_NoBorderEx	= 0x00008000,  
	WStyle_Mask		= 0x0000fff0,

	WDestructiveClose	= 0x00010000,	 
	WPaintDesktop		= 0x00020000,
	WPaintUnclipped		= 0x00040000,
	WPaintClever		= 0x00080000,
	WResizeNoErase		= 0x00100000,
	WMouseNoMask		= 0x00200000,
	WNorthWestGravity	= 0x00400000,
	WRepaintNoErase		= 0x00800000,
	WX11BypassWM		= 0x01000000,
	WGroupLeader 		= 0x02000000
    };

     
     

    enum ImageConversionFlags {
	ColorMode_Mask		= 0x00000003,
	AutoColor		= 0x00000000,
	ColorOnly		= 0x00000003,
	MonoOnly		= 0x00000002,
	 

	AlphaDither_Mask	= 0x0000000c,
	ThresholdAlphaDither	= 0x00000000,
	OrderedAlphaDither	= 0x00000004,
	DiffuseAlphaDither	= 0x00000008,
	NoAlpha			= 0x0000000c,  

	Dither_Mask		= 0x00000030,
	DiffuseDither		= 0x00000000,
	OrderedDither		= 0x00000010,
	ThresholdDither		= 0x00000020,
	 

	DitherMode_Mask		= 0x000000c0,
	AutoDither		= 0x00000000,
	PreferDither		= 0x00000040,
	AvoidDither		= 0x00000080
    };

    enum BGMode	{				 
	TransparentMode,
	OpaqueMode
    };

    enum PaintUnit {				 
	PixelUnit,
	LoMetricUnit,  
	HiMetricUnit,  
	LoEnglishUnit,  
	HiEnglishUnit,  
	TwipsUnit  
    };

    enum GUIStyle {
	MacStyle,  
	WindowsStyle,
	Win3Style,  
	PMStyle,  
	MotifStyle
    };

    enum Modifier {		 
	SHIFT         = 0x00200000,
	CTRL          = 0x00400000,
	ALT           = 0x00800000,
	MODIFIER_MASK = 0x00e00000,
	UNICODE_ACCEL = 0x10000000,

	ASCII_ACCEL = UNICODE_ACCEL  
    };

    enum Key {
	Key_Escape = 0x1000,		 
	Key_Tab = 0x1001,
	Key_Backtab = 0x1002, Key_BackTab = Key_Backtab,
	Key_Backspace = 0x1003, Key_BackSpace = Key_Backspace,
	Key_Return = 0x1004,
	Key_Enter = 0x1005,
	Key_Insert = 0x1006,
	Key_Delete = 0x1007,
	Key_Pause = 0x1008,
	Key_Print = 0x1009,
	Key_SysReq = 0x100a,
	Key_Home = 0x1010,		 
	Key_End = 0x1011,
	Key_Left = 0x1012,
	Key_Up = 0x1013,
	Key_Right = 0x1014,
	Key_Down = 0x1015,
	Key_Prior = 0x1016, Key_PageUp = Key_Prior,
	Key_Next = 0x1017, Key_PageDown = Key_Next,
	Key_Shift = 0x1020,		 
	Key_Control = 0x1021,
	Key_Meta = 0x1022,
	Key_Alt = 0x1023,
	Key_CapsLock = 0x1024,
	Key_NumLock = 0x1025,
	Key_ScrollLock = 0x1026,
	Key_F1 = 0x1030,		 
	Key_F2 = 0x1031,
	Key_F3 = 0x1032,
	Key_F4 = 0x1033,
	Key_F5 = 0x1034,
	Key_F6 = 0x1035,
	Key_F7 = 0x1036,
	Key_F8 = 0x1037,
	Key_F9 = 0x1038,
	Key_F10 = 0x1039,
	Key_F11 = 0x103a,
	Key_F12 = 0x103b,
	Key_F13 = 0x103c,
	Key_F14 = 0x103d,
	Key_F15 = 0x103e,
	Key_F16 = 0x103f,
	Key_F17 = 0x1040,
	Key_F18 = 0x1041,
	Key_F19 = 0x1042,
	Key_F20 = 0x1043,
	Key_F21 = 0x1044,
	Key_F22 = 0x1045,
	Key_F23 = 0x1046,
	Key_F24 = 0x1047,
	Key_F25 = 0x1048,		 
	Key_F26 = 0x1049,
	Key_F27 = 0x104a,
	Key_F28 = 0x104b,
	Key_F29 = 0x104c,
	Key_F30 = 0x104d,
	Key_F31 = 0x104e,
	Key_F32 = 0x104f,
	Key_F33 = 0x1050,
	Key_F34 = 0x1051,
	Key_F35 = 0x1052,
	Key_Super_L = 0x1053, 		 
	Key_Super_R = 0x1054,
	Key_Menu = 0x1055,
	Key_Hyper_L = 0x1056,
	Key_Hyper_R = 0x1057,
	Key_Help = 0x1058,
	Key_Space = 0x20,		 
	Key_Any = Key_Space,
	Key_Exclam = 0x21,
	Key_QuoteDbl = 0x22,
	Key_NumberSign = 0x23,
	Key_Dollar = 0x24,
	Key_Percent = 0x25,
	Key_Ampersand = 0x26,
	Key_Apostrophe = 0x27,
	Key_ParenLeft = 0x28,
	Key_ParenRight = 0x29,
	Key_Asterisk = 0x2a,
	Key_Plus = 0x2b,
	Key_Comma = 0x2c,
	Key_Minus = 0x2d,
	Key_Period = 0x2e,
	Key_Slash = 0x2f,
	Key_0 = 0x30,
	Key_1 = 0x31,
	Key_2 = 0x32,
	Key_3 = 0x33,
	Key_4 = 0x34,
	Key_5 = 0x35,
	Key_6 = 0x36,
	Key_7 = 0x37,
	Key_8 = 0x38,
	Key_9 = 0x39,
	Key_Colon = 0x3a,
	Key_Semicolon = 0x3b,
	Key_Less = 0x3c,
	Key_Equal = 0x3d,
	Key_Greater = 0x3e,
	Key_Question = 0x3f,
	Key_At = 0x40,
	Key_A = 0x41,
	Key_B = 0x42,
	Key_C = 0x43,
	Key_D = 0x44,
	Key_E = 0x45,
	Key_F = 0x46,
	Key_G = 0x47,
	Key_H = 0x48,
	Key_I = 0x49,
	Key_J = 0x4a,
	Key_K = 0x4b,
	Key_L = 0x4c,
	Key_M = 0x4d,
	Key_N = 0x4e,
	Key_O = 0x4f,
	Key_P = 0x50,
	Key_Q = 0x51,
	Key_R = 0x52,
	Key_S = 0x53,
	Key_T = 0x54,
	Key_U = 0x55,
	Key_V = 0x56,
	Key_W = 0x57,
	Key_X = 0x58,
	Key_Y = 0x59,
	Key_Z = 0x5a,
	Key_BracketLeft = 0x5b,
	Key_Backslash = 0x5c,
	Key_BracketRight = 0x5d,
	Key_AsciiCircum = 0x5e,
	Key_Underscore = 0x5f,
	Key_QuoteLeft = 0x60,
	Key_BraceLeft = 0x7b,
	Key_Bar = 0x7c,
	Key_BraceRight = 0x7d,
	Key_AsciiTilde = 0x7e,

	 

	Key_nobreakspace = 0x0a0,
	Key_exclamdown = 0x0a1,
	Key_cent = 0x0a2,
	Key_sterling = 0x0a3,
	Key_currency = 0x0a4,
	Key_yen = 0x0a5,
	Key_brokenbar = 0x0a6,
	Key_section = 0x0a7,
	Key_diaeresis = 0x0a8,
	Key_copyright = 0x0a9,
	Key_ordfeminine = 0x0aa,
	Key_guillemotleft = 0x0ab,	 
	Key_notsign = 0x0ac,
	Key_hyphen = 0x0ad,
	Key_registered = 0x0ae,
	Key_macron = 0x0af,
	Key_degree = 0x0b0,
	Key_plusminus = 0x0b1,
	Key_twosuperior = 0x0b2,
	Key_threesuperior = 0x0b3,
	Key_acute = 0x0b4,
	Key_mu = 0x0b5,
	Key_paragraph = 0x0b6,
	Key_periodcentered = 0x0b7,
	Key_cedilla = 0x0b8,
	Key_onesuperior = 0x0b9,
	Key_masculine = 0x0ba,
	Key_guillemotright = 0x0bb,	 
	Key_onequarter = 0x0bc,
	Key_onehalf = 0x0bd,
	Key_threequarters = 0x0be,
	Key_questiondown = 0x0bf,
	Key_Agrave = 0x0c0,
	Key_Aacute = 0x0c1,
	Key_Acircumflex = 0x0c2,
	Key_Atilde = 0x0c3,
	Key_Adiaeresis = 0x0c4,
	Key_Aring = 0x0c5,
	Key_AE = 0x0c6,
	Key_Ccedilla = 0x0c7,
	Key_Egrave = 0x0c8,
	Key_Eacute = 0x0c9,
	Key_Ecircumflex = 0x0ca,
	Key_Ediaeresis = 0x0cb,
	Key_Igrave = 0x0cc,
	Key_Iacute = 0x0cd,
	Key_Icircumflex = 0x0ce,
	Key_Idiaeresis = 0x0cf,
	Key_ETH = 0x0d0,
	Key_Ntilde = 0x0d1,
	Key_Ograve = 0x0d2,
	Key_Oacute = 0x0d3,
	Key_Ocircumflex = 0x0d4,
	Key_Otilde = 0x0d5,
	Key_Odiaeresis = 0x0d6,
	Key_multiply = 0x0d7,
	Key_Ooblique = 0x0d8,
	Key_Ugrave = 0x0d9,
	Key_Uacute = 0x0da,
	Key_Ucircumflex = 0x0db,
	Key_Udiaeresis = 0x0dc,
	Key_Yacute = 0x0dd,
	Key_THORN = 0x0de,
	Key_ssharp = 0x0df,
	Key_agrave = 0x0e0,
	Key_aacute = 0x0e1,
	Key_acircumflex = 0x0e2,
	Key_atilde = 0x0e3,
	Key_adiaeresis = 0x0e4,
	Key_aring = 0x0e5,
	Key_ae = 0x0e6,
	Key_ccedilla = 0x0e7,
	Key_egrave = 0x0e8,
	Key_eacute = 0x0e9,
	Key_ecircumflex = 0x0ea,
	Key_ediaeresis = 0x0eb,
	Key_igrave = 0x0ec,
	Key_iacute = 0x0ed,
	Key_icircumflex = 0x0ee,
	Key_idiaeresis = 0x0ef,
	Key_eth = 0x0f0,
	Key_ntilde = 0x0f1,
	Key_ograve = 0x0f2,
	Key_oacute = 0x0f3,
	Key_ocircumflex = 0x0f4,
	Key_otilde = 0x0f5,
	Key_odiaeresis = 0x0f6,
	Key_division = 0x0f7,
	Key_oslash = 0x0f8,
	Key_ugrave = 0x0f9,
	Key_uacute = 0x0fa,
	Key_ucircumflex = 0x0fb,
	Key_udiaeresis = 0x0fc,
	Key_yacute = 0x0fd,
	Key_thorn = 0x0fe,
	Key_ydiaeresis = 0x0ff,

	Key_unknown = 0xffff
    };

    enum ArrowType {
	UpArrow,
	DownArrow,
	LeftArrow,
	RightArrow
    };

     
    enum RasterOp {  
	CopyROP,
	OrROP,
	XorROP,
	NotAndROP,
	EraseROP=NotAndROP,
	NotCopyROP,
	NotOrROP,
	NotXorROP,
	AndROP,	NotEraseROP=AndROP,
	NotROP,
	ClearROP,
	SetROP,
	NopROP,
	AndNotROP,
	OrNotROP,
	NandROP,
	NorROP,	LastROP=NorROP
    };

     
    enum PenStyle {  
	NoPen,
	SolidLine,
	DashLine,
	DotLine,
	DashDotLine,
	DashDotDotLine,
	MPenStyle = 0x0f
    };

    enum PenCapStyle {  
	FlatCap = 0x00,
	SquareCap = 0x10,
	RoundCap = 0x20,
	MPenCapStyle = 0x30
    };

    enum PenJoinStyle {  
	MiterJoin = 0x00,
	BevelJoin = 0x40,
	RoundJoin = 0x80,
	MPenJoinStyle = 0xc0
    };

    enum BrushStyle {  
	NoBrush,
	SolidPattern,
	Dense1Pattern,
	Dense2Pattern,
	Dense3Pattern,
	Dense4Pattern,
	Dense5Pattern,
	Dense6Pattern,
	Dense7Pattern,
	HorPattern,
	VerPattern,
	CrossPattern,
	BDiagPattern,
	FDiagPattern,
	DiagCrossPattern,
	CustomPattern=24
    };

    enum WindowsVersion {
	WV_32s 		= 0x0001,
	WV_95 		= 0x0002,
	WV_98		= 0x0003,
	WV_DOS_based	= 0x000f,

	WV_NT 		= 0x0010,
	WV_2000 	= 0x0020,
	WV_NT_based	= 0x00f0
    };

    enum UIEffect {
	UI_General,
	UI_AnimateMenu,
	UI_FadeMenu,
	UI_AnimateCombo,
	UI_AnimateTooltip,
	UI_FadeTooltip
    };


     

    static const  QCursor & arrowCursor;	 
    static const  QCursor & upArrowCursor;	 
    static const  QCursor & crossCursor;	 
    static const  QCursor & waitCursor;	 
    static const  QCursor & ibeamCursor;	 
    static const  QCursor & sizeVerCursor;	 
    static const  QCursor & sizeHorCursor;	 
    static const  QCursor & sizeBDiagCursor;	 
    static const  QCursor & sizeFDiagCursor;	 
    static const  QCursor & sizeAllCursor;	 
    static const  QCursor & blankCursor;	 
    static const  QCursor & splitVCursor;	 
						 
    static const  QCursor & splitHCursor;	 
						 
    static const  QCursor & pointingHandCursor;	 
    static const  QCursor & forbiddenCursor;	 


    enum TextFormat {
	PlainText,
	RichText,
	AutoText
    };
};


class   QInternal {
public:
    enum PaintDeviceFlags {
	UndefinedDevice = 0x00,
	Widget = 0x01,
	Pixmap = 0x02,
	Printer = 0x03,
	Picture = 0x04,
	System = 0x05,
	DeviceTypeMask = 0x0f,
	ExternalDevice = 0x10
    };
};


# 45 "/usr/include/qt/qwindowdefs.h" 2 3



# 1 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/limits.h" 1 3
 


 


#define _GCC_LIMITS_H_


 
# 1 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/syslimits.h" 1 3
 




#define _GCC_NEXT_LIMITS_H		
# 1 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/limits.h" 1 3
 


 

# 114 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/limits.h" 3



# 1 "/usr/include/limits.h" 1 3
 

















 




#define _LIBC_LIMITS_H_	1




 


#define MB_LEN_MAX	16


 

# 113 "/usr/include/limits.h" 3




  




# 140 "/usr/include/limits.h" 3



 
# 1 "/usr/include/bits/posix1_lim.h" 1 3
 

















 






#define 	_BITS_POSIX1_LIM_H	1


 

 
#define _POSIX_AIO_LISTIO_MAX	2

 
#define _POSIX_AIO_MAX		1

 
#define 	_POSIX_ARG_MAX		4096

 
#define 	_POSIX_CHILD_MAX	6

 
#define _POSIX_DELAYTIMER_MAX	32

 
#define 	_POSIX_LINK_MAX		8

 
#define 	_POSIX_MAX_CANON	255

 

#define 	_POSIX_MAX_INPUT	255

 
#define _POSIX_MQ_OPEN_MAX	8

 
#define _POSIX_MQ_PRIO_MAX	32

 
#define 	_POSIX_NGROUPS_MAX	0

 
#define 	_POSIX_OPEN_MAX		16

 

#define 	_POSIX_FD_SETSIZE	_POSIX_OPEN_MAX

 
#define 	_POSIX_NAME_MAX		14

 
#define 	_POSIX_PATH_MAX		256

 
#define 	_POSIX_PIPE_BUF		512

 
#define _POSIX_RTSIG_MAX	8

 
#define _POSIX_SEM_NSEMS_MAX	256

 
#define _POSIX_SEM_VALUE_MAX	32767

 
#define _POSIX_SIGQUEUE_MAX	32

 
#define 	_POSIX_SSIZE_MAX	32767

 
#define 	_POSIX_STREAM_MAX	8

 
#define 	_POSIX_TZNAME_MAX	6

 
#define 	_POSIX_QLIMIT		1

 

#define 	_POSIX_HIWAT		_POSIX_PIPE_BUF

 
#define 	_POSIX_UIO_MAXIOV	16

 
#define 	_POSIX_TTY_NAME_MAX	9

 
#define _POSIX_TIMER_MAX	32

 
#define 	_POSIX_LOGIN_NAME_MAX	9

 
#define _POSIX_CLOCKRES_MIN	20000000


 
# 1 "/usr/include/bits/local_lim.h" 1 3
 


















 





#define __undef_NR_OPEN


#define __undef_LINK_MAX


#define __undef_OPEN_MAX


 
# 1 "/usr/include/linux/limits.h" 1 3

#define _LINUX_LIMITS_H

#define NR_OPEN	        1024

#define NGROUPS_MAX       32	
#define ARG_MAX       131072	
#define CHILD_MAX        999    
#define OPEN_MAX         256	
#define LINK_MAX         127	
#define MAX_CANON        255	
#define MAX_INPUT        255	
#define NAME_MAX         255	
#define PATH_MAX        4095	
#define PIPE_BUF        4096	

#define RTSIG_MAX	  32


# 36 "/usr/include/bits/local_lim.h" 2 3


 

#undef NR_OPEN
#undef __undef_NR_OPEN

 

#undef LINK_MAX
#undef __undef_LINK_MAX

 

#undef OPEN_MAX
#undef __undef_OPEN_MAX


 
#define _POSIX_THREAD_KEYS_MAX	128
 
#define PTHREAD_KEYS_MAX	1024

 
#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
 
#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS

 
#define _POSIX_THREAD_THREADS_MAX	64
 
#define PTHREAD_THREADS_MAX	1024

 

#define AIO_PRIO_DELTA_MAX	20

 
#define PTHREAD_STACK_MIN	16384

 
#define TIMER_MAX	256
# 126 "/usr/include/bits/posix1_lim.h" 2 3




#define SSIZE_MAX	INT_MAX



 







# 144 "/usr/include/limits.h" 2 3




# 1 "/usr/include/bits/posix2_lim.h" 1 3
 

















 




#define 	_BITS_POSIX2_LIM_H	1


 
#define 	_POSIX2_BC_BASE_MAX		99

 
#define 	_POSIX2_BC_DIM_MAX		2048

 
#define 	_POSIX2_BC_SCALE_MAX		99

 
#define 	_POSIX2_BC_STRING_MAX		1000

 

#define 	_POSIX2_COLL_WEIGHTS_MAX	2

 

#define 	_POSIX2_EXPR_NEST_MAX		32

 
#define 	_POSIX2_LINE_MAX		2048

 

#define 	_POSIX2_RE_DUP_MAX		255

 

#define 	_POSIX2_CHARCLASS_NAME_MAX	14


 




#define 	BC_BASE_MAX		_POSIX2_BC_BASE_MAX


#define 	BC_DIM_MAX		_POSIX2_BC_DIM_MAX


#define 	BC_SCALE_MAX		_POSIX2_BC_SCALE_MAX


#define 	BC_STRING_MAX		_POSIX2_BC_STRING_MAX


#define 	COLL_WEIGHTS_MAX	255


#define 	EXPR_NEST_MAX		_POSIX2_EXPR_NEST_MAX


#define 	LINE_MAX		_POSIX2_LINE_MAX


#define 	CHARCLASS_NAME_MAX	2048


 
#define 	RE_DUP_MAX (0x7fff)


# 148 "/usr/include/limits.h" 2 3






# 117 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/limits.h" 2 3




# 7 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/syslimits.h" 2 3

#undef _GCC_NEXT_LIMITS_H
# 11 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/limits.h" 2 3





 
#define _LIMITS_H___
#define _MACH_MACHLIMITS_H_

 

#define CHAR_BIT 8

 




 

#define SCHAR_MIN (-128)

#define SCHAR_MAX 127

 

#define UCHAR_MAX 255

 







#define CHAR_MIN (-128)

#define CHAR_MAX 127


 

 
#define SHRT_MIN (-32767-1)

#define SHRT_MAX 32767

 

#define USHRT_MAX 65535

 

#define __INT_MAX__ 2147483647


#define INT_MIN (-INT_MAX-1)

#define INT_MAX __INT_MAX__

 

#define UINT_MAX (INT_MAX * 2U + 1)

 





#define __LONG_MAX__ 2147483647L



#define LONG_MIN (-LONG_MAX-1)

#define LONG_MAX __LONG_MAX__

 

#define ULONG_MAX (LONG_MAX * 2UL + 1)

# 107 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/limits.h" 3




 









# 48 "/usr/include/qt/qwindowdefs.h" 2 3


 

class QPaintDevice;
class QPaintDeviceMetrics;
class QWidget;
class QWidgetMapper;
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 QTime;
class QClipboard;


 

class QWidgetList;
class QWidgetListIt;


 

























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 );












class QApplication;





 


typedef Q_INT32 QCOORD;				 
const QCOORD QCOORD_MAX =  2147483647;
const QCOORD QCOORD_MIN = -QCOORD_MAX - 1;

typedef unsigned int QRgb;			 

  char *qAppName();			 


 

typedef void (*Q_CleanUpFunction)();
  void qAddPostRoutine( Q_CleanUpFunction );
  void qRemovePostRoutine( Q_CleanUpFunction );

 
  void *qt_find_obj_child( QObject *, const char *, const char * );
#define Q_CHILD(parent,type,name) ((type*)qt_find_obj_child(parent,#type,name))




# 42 "/usr/include/qt/qwidget.h" 2 3

# 1 "/usr/include/qt/qobject.h" 1 3
 





































#define QOBJECT_H





# 1 "/usr/include/qt/qevent.h" 1 3
 





































#define QEVENT_H



# 1 "/usr/include/qt/qregion.h" 1 3
 





































#define QREGION_H



# 1 "/usr/include/qt/qrect.h" 1 3
 





































#define QRECT_H


# 1 "/usr/include/qt/qsize.h" 1 3
 





































#define QSIZE_H


# 1 "/usr/include/qt/qpoint.h" 1 3
 





































#define QPOINT_H






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 );

    int manhattanLength() const;

    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 inline QPoint operator/( const QPoint &, int );
    friend inline QPoint operator/( const QPoint &, double );

private:
    static void warningDivByZero();





    QCOORD xp;
    QCOORD yp;

};


 



  QDataStream &operator<<( QDataStream &, const QPoint & );
  QDataStream &operator>>( QDataStream &, QPoint & );


 



inline QPoint::QPoint()
{ xp=0; yp=0; }

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); }

inline QPoint &QPoint::operator/=( int c )
{

    if ( c == 0 )
	warningDivByZero();

    xp/=(QCOORD)c;
    yp/=(QCOORD)c;
    return *this;
}

inline QPoint &QPoint::operator/=( double c )
{

    if ( c == 0.0 )
	warningDivByZero();

    xp=(QCOORD)(xp/c);
    yp=(QCOORD)(yp/c);
    return *this;
}

inline QPoint operator/( const QPoint &p, int c )
{

    if ( c == 0 )
	QPoint::warningDivByZero();

    return QPoint(p.xp/c, p.yp/c);
}

inline QPoint operator/( const QPoint &p, double c )
{

    if ( c == 0.0 )
	QPoint::warningDivByZero();

    return QPoint((QCOORD)(p.xp/c), (QCOORD)(p.yp/c));
}



# 42 "/usr/include/qt/qsize.h" 2 3




class   QSize
{
public:
    QSize();
    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*=( double c );
    QSize &operator/=( int c );
    QSize &operator/=( double 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 &, double );
    friend inline QSize operator*( double, const QSize & );
    friend inline QSize operator/( const QSize &, int );
    friend inline QSize operator/( const QSize &, double );

private:
    static void warningDivByZero();

    QCOORD wd;
    QCOORD ht;
};


 



  QDataStream &operator<<( QDataStream &, const QSize & );
  QDataStream &operator>>( QDataStream &, QSize & );


 



inline QSize::QSize()
{ wd = ht = -1; }

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*=( double 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, double c )
{ return QSize((QCOORD)(s.wd*c), (QCOORD)(s.ht*c)); }

inline QSize operator*( double c, const QSize &s )
{ return QSize((QCOORD)(s.wd*c), (QCOORD)(s.ht*c)); }

inline QSize &QSize::operator/=( int c )
{

    if ( c == 0 )
	warningDivByZero();

    wd/=(QCOORD)c; ht/=(QCOORD)c;
    return *this;
}

inline QSize &QSize::operator/=( double c )
{

    if ( c == 0.0 )
	warningDivByZero();

    wd=(QCOORD)(wd/c); ht=(QCOORD)(ht/c);
    return *this;
}

inline QSize operator/( const QSize &s, int c )
{

    if ( c == 0 )
	QSize::warningDivByZero();

    return QSize(s.wd/c, s.ht/c);
}

inline QSize operator/( const QSize &s, double c )
{

    if ( c == 0.0 )
	QSize::warningDivByZero();

    return QSize((QCOORD)(s.wd/c), (QCOORD)(s.ht/c));
}

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 ))  );
}



# 42 "/usr/include/qt/qrect.h" 2 3








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;

    QCOORD &rLeft();
    QCOORD &rTop();
    QCOORD &rRight();
    QCOORD &rBottom();
	
    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 );

    QRect  operator|(const QRect &r) const;
    QRect  operator&(const QRect &r) const;
    QRect&  operator|=(const QRect &r);
    QRect&  operator&=(const QRect &r);

    bool   contains( const QPoint &p, bool proper=FALSE ) const;
    bool   contains( int x, int y, 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 QCOORD &QRect::rLeft()
{ return x1; }

inline QCOORD & QRect::rTop()
{ return y1; }

inline QCOORD & QRect::rRight()
{ return x2; }

inline QCOORD & QRect::rBottom()
{ 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); }

inline bool QRect::contains( int x, int y, bool proper ) const
{
    if ( proper )
        return x > x1 && x < x2 &&
               y > y1 && y < y2;
    else
        return x >= x1 && x <= x2 &&
               y >= y1 && y <= y2;
}


# 43 "/usr/include/qt/qregion.h" 2 3





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 eor( const QRegion & )	const;

    QRect   boundingRect() const;
    QArray<QRect> rects() const;
    void setRects( const QRect *, int );

    QRegion operator|( const QRegion & ) const;
    QRegion operator+( const QRegion & ) const;
    QRegion operator&( const QRegion & ) const;
    QRegion operator-( const QRegion & ) const;
    QRegion operator^( const QRegion & ) const;
    QRegion& operator|=( const QRegion & );
    QRegion& operator+=( const QRegion & );
    QRegion& operator&=( const QRegion & );
    QRegion& operator-=( const QRegion & );
    QRegion& operator^=( const QRegion & );

    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    exec( const QByteArray &, int ver = 0 );
    struct QRegionData : public QShared {



	Region rgn;





	bool   is_null;
    } *data;
};


#define QRGN_SETRECT		1		
#define QRGN_SETELLIPSE		2		
#define QRGN_SETPTARRAY_ALT	3
#define QRGN_SETPTARRAY_WIND	4
#define QRGN_TRANSLATE		5
#define QRGN_OR			6
#define QRGN_AND		7
#define QRGN_SUB		8
#define QRGN_XOR		9
#define QRGN_RECTS	       10


 




  QDataStream &operator<<( QDataStream &, const QRegion & );
  QDataStream &operator>>( QDataStream &, QRegion & );




# 43 "/usr/include/qt/qevent.h" 2 3


# 1 "/usr/include/qt/qmime.h" 1 3
 





































#define QMIME_H







class   QMimeSource {
public:
    virtual ~QMimeSource();
    virtual const char* format( int n = 0 ) const = 0;
    virtual bool provides( const char* ) const;
    virtual QByteArray encodedData( const char* ) const = 0;
};

class QMimeSourceFactoryData;
class QStringList;

class   QMimeSourceFactory {
public:
    QMimeSourceFactory();
    virtual ~QMimeSourceFactory();

    static QMimeSourceFactory* defaultFactory();
    static void setDefaultFactory( QMimeSourceFactory* );

    virtual const QMimeSource* data(const QString& abs_name) const;
    virtual QString makeAbsolute(const QString& abs_or_rel_name, const QString& context) const;
    const QMimeSource* data(const QString& abs_or_rel_name, const QString& context) const;

    virtual void setText( const QString& abs_name, const QString& text );
    virtual void setImage( const QString& abs_name, const QImage& im );
    virtual void setPixmap( const QString& abs_name, const QPixmap& pm );
    virtual void setData( const QString& abs_name, QMimeSource* data );
    virtual void setFilePath( const QStringList& );
    virtual QStringList filePath() const;
    void addFilePath( const QString& );
    virtual void setExtensionType( const QString& ext, const char* mimetype );

private:
    QMimeSourceFactoryData* d;
};

# 119 "/usr/include/qt/qmime.h" 3





# 45 "/usr/include/qt/qevent.h" 2 3




class   QEvent: public Qt		 
{
public:
    enum Type {

	 
	 
	 
	 

	None = 0,				 


	Timer = 1,				 
	MouseButtonPress = 2,			 
	MouseButtonRelease = 3,			 
	MouseButtonDblClick= 4,			 
	MouseMove = 5,				 
	KeyPress = 6,				 
	KeyRelease = 7,				 
	FocusIn = 8,				 
	FocusOut = 9,				 
	Enter = 10,				 
	Leave = 11,				 
	Paint = 12,				 
	Move = 13,				 
	Resize = 14,				 
	Create = 15,				 
	Destroy = 16,				 
	Show = 17,				 
	Hide = 18,				 
	Close = 19,				 
	Quit = 20,				 
	Reparent = 21,				 
	ShowMinimized = 22,		       	 
	ShowNormal = 23,	       		 
	WindowActivate = 24,	       		 
	WindowDeactivate = 25,	       		 
	ShowToParent = 26,	       		 
	HideToParent = 27,	       		 
	ShowMaximized = 28,		       	 
	Accel = 30,				 
	Wheel = 31,				 
	AccelAvailable = 32,			 
	CaptionChange = 33,			 
	IconChange = 34,			 
	ParentFontChange = 35,			 
	ApplicationFontChange = 36,		 
	ParentPaletteChange = 37,		 
	ApplicationPaletteChange = 38,		 
	Clipboard = 40,				 
	Speech = 42,				 
	SockAct = 50,				 
	AccelOverride = 51,			 
	DragEnter = 60,				 
	DragMove = 61,				 
	DragLeave = 62,				 
	Drop = 63,				 
	DragResponse = 64,			 
	ChildInserted = 70,			 
	ChildRemoved = 71,			 
	LayoutHint = 72,			 
	ShowWindowRequest = 73,			 
	ActivateControl = 80,			 
	DeactivateControl = 81,			 
	User = 1000				 
    };

    QEvent( Type type ) : t(type), posted(FALSE) {}
    virtual ~QEvent();
    Type  type() const	{ return t; }
protected:
    Type  t;
private:
    bool  posted;




    friend class QApplication;
    friend class QBaseApplication;
};


class   QTimerEvent : public QEvent
{
public:
    QTimerEvent( int timerId )
	: QEvent(Timer), id(timerId) {}
    int	  timerId()	const	{ return id; }
protected:
    int	  id;
};


class   QMouseEvent : public QEvent
{
public:
    QMouseEvent( Type type, const QPoint &pos, int button, int state );

    QMouseEvent( Type type, const QPoint &pos, const QPoint&globalPos,
		 int button, int state )
	: QEvent(type), p(pos), g(globalPos), b(button),s((ushort)state) {};

    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(); }
    ButtonState button() const	{ return (ButtonState) b; }
    ButtonState state()	const	{ return (ButtonState) s; }
    ButtonState stateAfter() const;
protected:
    QPoint p;
    QPoint g;
    int	   b;  
    ushort s;  
};



class   QWheelEvent : public QEvent
{
public:
    QWheelEvent( const QPoint &pos, int delta, int state );
    QWheelEvent( const QPoint &pos, const QPoint& globalPos, int delta, int state )
	: QEvent(Wheel), p(pos), g(globalPos), d(delta), s((ushort)state),
	  accpt(TRUE) {}
    int	   delta()	const	{ return d; }
    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(); }
    ButtonState state()	const	{ return ButtonState(s); }
    bool   isAccepted() const	{ return accpt; }
    void   accept()		{ accpt = TRUE; }
    void   ignore()		{ accpt = FALSE; }
protected:
    QPoint p;
    QPoint g;
    int d;
    ushort s;
    bool   accpt;
};


class   QKeyEvent : public QEvent
{
public:
    QKeyEvent( Type type, int key, int ascii, int state,
		const QString& text=QString::null, bool autorep=FALSE, ushort count=1 )
	: QEvent(type), txt(text), k((ushort)key), s((ushort)state),
	    a((uchar)ascii), accpt(TRUE), autor(autorep), c(count) {}
    int	   key()	const	{ return k; }
    int	   ascii()	const	{ return a; }
    ButtonState state()	const	{ return ButtonState(s); }
    ButtonState stateAfter() const;
    bool   isAccepted() const	{ return accpt; }
    QString text()      const   { return txt; }
    bool   isAutoRepeat() const	{ return autor; }
    int   count() const	{ return int(c); }
    void   accept()		{ accpt = TRUE; }
    void   ignore()		{ accpt = FALSE; }

protected:
    QString txt;
    ushort k, s;
    uchar  a;
    uint   accpt:1;
    uint   autor:1;
    ushort c;
};


class   QFocusEvent : public QEvent
{
public:

    QFocusEvent( Type type )
	: QEvent(type) {}

    bool   gotFocus()	const { return type() == FocusIn; }
    bool   lostFocus()	const { return type() == FocusOut; }

    enum Reason { Mouse, Tab, ActiveWindow, Popup, Shortcut, Other };
    static Reason reason();
    static void setReason( Reason reason );
    static void resetReason();

private:
    static Reason m_reason;
    static Reason prev_reason;
};


class   QPaintEvent : public QEvent
{
public:
    QPaintEvent( const QRegion& paintRegion, bool erased = TRUE)
	: QEvent(Paint),
	  rec(paintRegion.boundingRect()),
	  reg(paintRegion),
	  erase(erased){}
    QPaintEvent( const QRect &paintRect, bool erased = TRUE )
	: QEvent(Paint),
	  rec(paintRect),
	  reg(paintRect),
	  erase(erased){}
    const QRect &rect() const	  { return rec; }
    const QRegion &region() const { return reg; }
    bool erased() const { return erase; }
protected:
    friend class QApplication;
    friend class QBaseApplication;
    QRect rec;
    QRegion reg;
    bool erase;
};


class   QMoveEvent : public QEvent
{
public:
    QMoveEvent( const QPoint &pos, const QPoint &oldPos )
	: QEvent(Move), p(pos), oldp(oldPos) {}
    const QPoint &pos()	  const { return p; }
    const QPoint &oldPos()const { return oldp;}
protected:
    QPoint p, oldp;
    friend class QApplication;
    friend class QBaseApplication;
};


class   QResizeEvent : public QEvent
{
public:
    QResizeEvent( const QSize &size, const QSize &oldSize )
	: QEvent(Resize), s(size), olds(oldSize) {}
    const QSize &size()	  const { return s; }
    const QSize &oldSize()const { return olds;}
protected:
    QSize s, olds;
    friend class QApplication;
    friend class QBaseApplication;
};


class   QCloseEvent : public QEvent
{
public:
    QCloseEvent()
	: QEvent(Close), 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(Show), spont(spontaneous) {}
    bool spontaneous() const { return spont; }
protected:
    bool spont;
};


class   QHideEvent : public QEvent
{
public:
    QHideEvent(bool spontaneous)
	: QEvent(Hide), spont(spontaneous) {}
    bool spontaneous() const { return spont; }
protected:
    bool spont;
};



 
 
 

class   QDropEvent : public QEvent, public QMimeSource
{
public:
    QDropEvent( const QPoint& pos, Type typ=Drop )
	: QEvent(typ), p(pos),
	  act(0), accpt(0), accptact(0), resv(0),
	  d(0)
	{}
    const QPoint &pos() const	{ return p; }
    bool isAccepted() const	{ return accpt || accptact; }
    void accept(bool y=TRUE)	{ accpt = y; }
    void ignore()		{ accpt = FALSE; }

    bool isActionAccepted() const { return accptact; }
    void acceptAction(bool y=TRUE) { accptact = y; }
    enum Action { Copy, Link, Move, Private, UserAction=100 };
    void setAction( Action a ) { act = (uint)a; }
    Action action() const { return Action(act); }

    QWidget* source() const;
    const char* format( int n = 0 ) const;
    QByteArray encodedData( const char* ) const;
    bool provides( const char* ) const;

    QByteArray data(const char* f) const { return encodedData(f); }

    void setPoint( const QPoint& np ) { p = np; }

protected:
    QPoint p;
    uint act:8;
    uint accpt:1;
    uint accptact:1;
    uint resv:5;
    void * d;
};



class   QDragMoveEvent : public QDropEvent
{
public:
    QDragMoveEvent( const QPoint& pos, Type typ=DragMove )
	: QDropEvent(pos,typ),
	  rect( pos, QSize( 1, 1 ) ) {}
    QRect answerRect() const { return rect; }
    void accept( bool y=TRUE ) { QDropEvent::accept(y); }
    void accept( const QRect & r) { accpt = TRUE; rect = r; }
    void ignore( const QRect & r) { accpt =FALSE; rect = r; }
    void ignore()		{ QDropEvent::ignore(); }

protected:
    QRect rect;
};


class   QDragEnterEvent : public QDragMoveEvent
{
public:
    QDragEnterEvent( const QPoint& pos ) :
	QDragMoveEvent(pos, DragEnter) { }
};


 
class   QDragResponseEvent : public QEvent
{
public:
    QDragResponseEvent( bool accepted )
	: QEvent(DragResponse), a(accepted) {}
    bool   dragAccepted() const	{ return a; }
protected:
    bool a;
};


class   QDragLeaveEvent : public QEvent
{
public:
    QDragLeaveEvent()
	: QEvent(DragLeave) {}
};



class   QChildEvent : public QEvent
{
public:
    QChildEvent( Type type, QObject *child )
	: QEvent(type), c(child) {}
    QObject *child() const	{ return c; }
    bool inserted() const { return t == ChildInserted; }
    bool removed() const { return t == ChildRemoved; }
protected:
    QObject *c;
};


class   QCustomEvent : public QEvent
{
public:
    QCustomEvent( int type );
    QCustomEvent( Type type, void *data )
	: QEvent(type), d(data) {};
    void       *data()	const	{ return d; }
    void	setData( void* data )	{ d = data; }
private:
    void       *d;
};


# 45 "/usr/include/qt/qobject.h" 2 3


# 1 "/usr/include/qt/qstringlist.h" 1 3
 





































#define QSTRINGLIST_H


# 1 "/usr/include/qt/qvaluelist.h" 1 3
 





































#define QVALUELIST_H



# 1 "/usr/include/qt/qdatastream.h" 1 3
 





































#define QDATASTREAM_H


# 1 "/usr/include/qt/qiodevice.h" 1 3
 





































#define QIODEVICE_H







 

#define IO_Direct		0x0100		
#define IO_Sequential		0x0200		
#define IO_Combined		0x0300		
#define IO_TypeMask		0x0f00

 

#define IO_Raw			0x0040		
#define IO_Async		0x0080		

 

#define IO_ReadOnly		0x0001		
#define IO_WriteOnly		0x0002		
#define IO_ReadWrite		0x0003		
#define IO_Append		0x0004		
#define IO_Truncate		0x0008		
#define IO_Translate		0x0010		
#define IO_ModeMask		0x00ff

 

#define IO_Open			0x1000		
#define IO_StateMask		0xf000


 

#define IO_Ok			0
#define IO_ReadError		1		
#define IO_WriteError		2		
#define IO_FatalError		3		
#define IO_ResourceError	4		
#define IO_OpenError		5		
#define IO_ConnectError		5		
#define IO_AbortError		6		
#define IO_TimeOutError		7		
#define IO_UnspecifiedError		8		

class   QIODevice					 
{
public:
    QIODevice();
    virtual ~QIODevice();

    int		 flags()  const { return ioMode; }
    int		 mode()	  const { return ioMode & 0x00ff ; }
    int		 state()  const { return ioMode & 0xf000 ; }

    bool	 isDirectAccess()     const { return ((ioMode & 0x0100 )     == 0x0100 ); }
    bool	 isSequentialAccess() const { return ((ioMode & 0x0200 ) == 0x0200 ); }
    bool	 isCombinedAccess()   const { return ((ioMode & 0x0300 )   == 0x0300 ); }
    bool	 isBuffered()	      const { return ((ioMode & 0x0040 )        != 0x0040 ); }
    bool	 isRaw()	      const { return ((ioMode & 0x0040 )        == 0x0040 ); }
    bool	 isSynchronous()      const { return ((ioMode & 0x0080 )      != 0x0080 ); }
    bool	 isAsynchronous()     const { return ((ioMode & 0x0080 )      == 0x0080 ); }
    bool	 isTranslated()	      const { return ((ioMode & 0x0010 )  == 0x0010 ); }
    bool	 isReadable()	      const { return ((ioMode & 0x0001 )   == 0x0001 ); }
    bool	 isWritable()	      const { return ((ioMode & 0x0002 )  == 0x0002 ); }
    bool	 isReadWrite()	      const { return ((ioMode & 0x0003 )  == 0x0003 ); }
    bool	 isInactive()	      const { return state() == 0; }
    bool	 isOpen()	      const { return state() == 0x1000 ; }

    int		 status() const { return ioSt; }
    void	 resetStatus()	{ ioSt = 0 ; }

    virtual bool open( int mode ) = 0;
    virtual void close() = 0;
    virtual void flush() = 0;

    virtual uint size()	  const = 0;
    virtual int	 at()	  const;
    virtual bool at( int );
    virtual bool atEnd()  const;
    bool	 reset() { return at(0); }

    virtual int	 readBlock( char *data, uint maxlen ) = 0;
    virtual int	 writeBlock( const char *data, uint len ) = 0;
    virtual int	 readLine( char *data, uint maxlen );
    int writeBlock( const QByteArray& data );
    QByteArray readAll();

    virtual int	 getch() = 0;
    virtual int	 putch( int ) = 0;
    virtual int	 ungetch( int ) = 0;

protected:
    void	 setFlags( int f ) { ioMode = f; }
    void	 setType( int );
    void	 setMode( int );
    void	 setState( int );
    void	 setStatus( int );
    int		 ioIndex;

private:
    int		 ioMode;
    int		 ioSt;

private:	 

    QIODevice( const QIODevice & );
    QIODevice &operator=( const QIODevice & );

};



# 42 "/usr/include/qt/qdatastream.h" 2 3





class   QDataStream				 
{
public:
    QDataStream();
    QDataStream( QIODevice * );
    QDataStream( QByteArray, int mode );
    virtual ~QDataStream();

    QIODevice	*device() const;
    void	 setDevice( QIODevice * );
    void	 unsetDevice();

    bool	 atEnd() const;
    bool	 eof() const;

    enum ByteOrder { BigEndian, LittleEndian };
    int		 byteOrder()	const;
    void	 setByteOrder( int );

    bool	 isPrintableData() const;
    void	 setPrintableData( bool );

    int		 version() const;
    void	 setVersion( int );

    QDataStream &operator>>( Q_INT8 &i );
    QDataStream &operator>>( Q_UINT8 &i );
    QDataStream &operator>>( Q_INT16 &i );
    QDataStream &operator>>( Q_UINT16 &i );
    QDataStream &operator>>( Q_INT32 &i );
    QDataStream &operator>>( Q_UINT32 &i );
    QDataStream &operator>>( Q_INT64 &i );
    QDataStream &operator>>( Q_UINT64 &i );

    QDataStream &operator>>( float &f );
    QDataStream &operator>>( double &f );
    QDataStream &operator>>( char *&str );

    QDataStream &operator<<( Q_INT8 i );
    QDataStream &operator<<( Q_UINT8 i );
    QDataStream &operator<<( Q_INT16 i );
    QDataStream &operator<<( Q_UINT16 i );
    QDataStream &operator<<( Q_INT32 i );
    QDataStream &operator<<( Q_UINT32 i );
    QDataStream &operator<<( Q_INT64 i );
    QDataStream &operator<<( Q_UINT64 i );
    QDataStream &operator<<( float f );
    QDataStream &operator<<( double f );
    QDataStream &operator<<( const char *str );

    QDataStream &readBytes( char *&, uint &len );
    QDataStream &readRawBytes( char *, uint len );

    QDataStream &writeBytes( const char *, uint len );
    QDataStream &writeRawBytes( const char *, uint len );

private:
    QIODevice	*dev;
    bool	 owndev;
    int		 byteorder;
    bool	 printable;
    bool	 noswap;
    int		 ver;

private:	 

    QDataStream( const QDataStream & );
    QDataStream &operator=( const QDataStream & );

};


 



inline QIODevice *QDataStream::device() const
{ return dev; }

inline bool QDataStream::atEnd() const
{ return dev ? dev->atEnd() : TRUE; }

inline bool QDataStream::eof() const
{ return atEnd(); }

inline int QDataStream::byteOrder() const
{ return byteorder; }

inline bool QDataStream::isPrintableData() const
{ return printable; }

inline void QDataStream::setPrintableData( bool p )
{ printable = p; }

inline int QDataStream::version() const
{ return ver; }

inline void QDataStream::setVersion( int v )
{ ver = v; }

inline QDataStream &QDataStream::operator>>( Q_UINT8 &i )
{ return *this >> (Q_INT8&)i; }

inline QDataStream &QDataStream::operator>>( Q_UINT16 &i )
{ return *this >> (Q_INT16&)i; }

inline QDataStream &QDataStream::operator>>( Q_UINT32 &i )
{ return *this >> (Q_INT32&)i; }

inline QDataStream &QDataStream::operator>>( Q_UINT64 &i )
{ return *this >> (Q_INT64&)i; }

inline QDataStream &QDataStream::operator<<( Q_UINT8 i )
{ return *this << (Q_INT8)i; }

inline QDataStream &QDataStream::operator<<( Q_UINT16 i )
{ return *this << (Q_INT16)i; }

inline QDataStream &QDataStream::operator<<( Q_UINT32 i )
{ return *this << (Q_INT32)i; }

inline QDataStream &QDataStream::operator<<( Q_UINT64 i )
{ return *this << (Q_INT64)i; }




# 43 "/usr/include/qt/qvaluelist.h" 2 3







template <class T>
class   QValueListNode
{
public:
    QValueListNode( const T& t ) : data( t ) { }
    QValueListNode() { }





    QValueListNode<T>* next;
    QValueListNode<T>* prev;
    T data;
};

template<class T>
class   QValueListIterator
{
 public:
     


    typedef QValueListNode<T>* NodePtr;

     


    NodePtr node;

     


    QValueListIterator() : node( 0 ) {}
    QValueListIterator( NodePtr p ) : node( p ) {}
    QValueListIterator( const QValueListIterator<T>& it ) : node( it.node ) {}

    bool operator==( const QValueListIterator<T>& it ) const { return node == it.node; }
    bool operator!=( const QValueListIterator<T>& it ) const { return node != it.node; }
    const T& operator*() const { return node->data; }
    T& operator*() { return node->data; }

     
     

    QValueListIterator<T>& operator++() {
	node = node->next;
	return *this;
    }

    QValueListIterator<T> operator++(int) {
	QValueListIterator<T> tmp = *this;
	node = node->next;
	return tmp;
    }

    QValueListIterator<T>& operator--() {
	node = node->prev;
	return *this;
    }

    QValueListIterator<T> operator--(int) {
	QValueListIterator<T> tmp = *this;
	node = node->prev;
	return tmp;
    }
};

template<class T>
class   QValueListConstIterator
{
 public:
     


    typedef QValueListNode<T>* NodePtr;

     


    NodePtr node;

     


    QValueListConstIterator() : node( 0 ) {}
    QValueListConstIterator( NodePtr p ) : node( p ) {}
    QValueListConstIterator( const QValueListConstIterator<T>& it ) : node( it.node ) {}
    QValueListConstIterator( const QValueListIterator<T>& it ) : node( it.node ) {}

    bool operator==( const QValueListConstIterator<T>& it ) const { return node == it.node; }
    bool operator!=( const QValueListConstIterator<T>& it ) const { return node != it.node; }
    const T& operator*() const { return node->data; }

     
     

    QValueListConstIterator<T>& operator++() {
	node = node->next;
	return *this;
    }

    QValueListConstIterator<T> operator++(int) {
	QValueListConstIterator<T> tmp = *this;
	node = node->next;
	return tmp;
    }

    QValueListConstIterator<T>& operator--() {
	node = node->prev;
	return *this;
    }

    QValueListConstIterator<T> operator--(int) {
	QValueListConstIterator<T> tmp = *this;
	node = node->prev;
	return tmp;
    }
};

template <class T>
class   QValueListPrivate : public QShared
{
public:
     


    typedef QValueListIterator<T> Iterator;
    typedef QValueListConstIterator<T> ConstIterator;
    typedef QValueListNode<T> Node;
    typedef QValueListNode<T>* NodePtr;

     


    QValueListPrivate() { node = new Node; node->next = node->prev = node; nodes = 0; }
    QValueListPrivate( const QValueListPrivate<T>& _p ) : QShared() {
	node = new Node; node->next = node->prev = node; nodes = 0;
	Iterator b( _p.node->next );
	Iterator e( _p.node );
	Iterator i( node );
	while( b != e )
	    insert( i, *b++ );
    }

    void derefAndDelete()  
    {
	if ( deref() )
	    delete this;
    }





    ~QValueListPrivate() {
	NodePtr p = node->next;
	while( p != node ) {
	    NodePtr x = p->next;
	    delete p;
	    p = x;
	}
	delete node;
    }

    Iterator insert( Iterator it, const T& x ) {
	NodePtr p = new Node( x );
	p->next = it.node;
	p->prev = it.node->prev;
	it.node->prev->next = p;
	it.node->prev = p;
	nodes++;
	return p;
    }

    Iterator remove( Iterator it ) {
	if ( !(  it.node != node  ) )	qWarning("ASSERT: \"%s\" in %s (%d)","it.node != node","/usr/include/qt/qvaluelist.h",226) ;
	NodePtr next = it.node->next;
	NodePtr prev = it.node->prev;
	prev->next = next;
	next->prev = prev;
	delete it.node;
	nodes--;
	return Iterator( next );
    }

    NodePtr find( NodePtr start, const T& x ) const {
	ConstIterator first( start );
	ConstIterator last( node );
	while( first != last) {
	    if ( *first == x )
		return first.node;
	    ++first;
	}
	return last.node;
    }

    int findIndex( NodePtr start, const T& x ) const {
	ConstIterator first( start );
	ConstIterator last( node );
	int pos = 0;
	while( first != last) {
	    if ( *first == x )
		return pos;
	    ++first;
	    ++pos;
	}
	return -1;
    }

    uint contains( const T& x ) const {
	uint result = 0;
	Iterator first = Iterator( node->next );
	Iterator last = Iterator( node );
	while( first != last) {
	    if ( *first == x )
		++result;
	    ++first;
	}
	return result;
    }

    void remove( const T& x ) {
	Iterator first = Iterator( node->next );
	Iterator last = Iterator( node );
	while( first != last) {
	    if ( *first == x )
		first = remove( first );
	    else
		++first;
	}
    }

    NodePtr at( uint i ) const {
	if ( !(  i <= nodes  ) )	qWarning("ASSERT: \"%s\" in %s (%d)","i <= nodes","/usr/include/qt/qvaluelist.h",284) ;
	NodePtr p = node->next;
	for( uint x = 0; x < i; ++x )
	    p = p->next;
	return p;
    }

    void clear() {
	nodes = 0;
	NodePtr p = node->next;
	while( p != node ) {
	    NodePtr next = p->next;
	    delete p;
	    p = next;
	}
	node->next = node->prev = node;
    }

    NodePtr node;
    uint nodes;
};

template <class T>
class   QValueList
{
public:
     


    typedef QValueListIterator<T> Iterator;
    typedef QValueListConstIterator<T> ConstIterator;
    typedef T ValueType;

     


    QValueList() { sh = new QValueListPrivate<T>; }
    QValueList( const QValueList<T>& l ) { sh = l.sh; sh->ref(); }
    ~QValueList() { sh->derefAndDelete(); }

    QValueList<T>& operator= ( const QValueList<T>& l )
    {
	l.sh->ref();
	sh->derefAndDelete();
	sh = l.sh;
	return *this;
    }

    QValueList<T> operator+ ( const QValueList<T>& l ) const
    {
	QValueList<T> l2( *this );
	for( ConstIterator it = l.begin(); it != l.end(); ++it )
	    l2.append( *it );
	return l2;
    }

    QValueList<T>& operator+= ( const QValueList<T>& l )
    {
	for( ConstIterator it = l.begin(); it != l.end(); ++it )
	    append( *it );
	return *this;
    }

    bool operator== ( const QValueList<T>& l ) const
    {
	if ( count() != l.count() )
	    return FALSE;
	ConstIterator it2 = begin();
	ConstIterator it = l.begin();
	for( ; it != l.end(); ++it, ++it2 )
	    if ( !( *it == *it2 ) )
		return FALSE;
	return TRUE;
    }

    bool operator!= ( const QValueList<T>& l ) const { return !( *this == l ); }

    Iterator begin() { detach(); return Iterator( sh->node->next ); }
    ConstIterator begin() const { return ConstIterator( sh->node->next ); }
    Iterator end() { detach(); return Iterator( sh->node ); }
    ConstIterator end() const { return ConstIterator( sh->node ); }
    Iterator fromLast() { detach(); return Iterator( sh->node->prev ); }
    ConstIterator fromLast() const { return ConstIterator( sh->node->prev ); }

    bool isEmpty() const { return ( sh->nodes == 0 ); }

    Iterator insert( Iterator it, const T& x ) { detach(); return sh->insert( it, x ); }

    Iterator append( const T& x ) { detach(); return sh->insert( end(), x ); }
    Iterator prepend( const T& x ) { detach(); return sh->insert( begin(), x ); }

    Iterator remove( Iterator it ) { detach(); return sh->remove( it ); }
    void remove( const T& x ) { detach(); sh->remove( x ); }

    T& first() { detach(); return sh->node->next->data; }
    const T& first() const { return sh->node->next->data; }
    T& last() { detach(); return sh->node->prev->data; }
    const T& last() const { return sh->node->prev->data; }

    T& operator[] ( uint i ) { detach(); return sh->at(i)->data; }
    const T& operator[] ( uint i ) const { return sh->at(i)->data; }
    Iterator at( uint i ) { detach(); return Iterator( sh->at(i) ); }
    ConstIterator at( uint i ) const { return ConstIterator( sh->at(i) ); }
    Iterator find ( const T& x ) { detach(); return Iterator( sh->find( sh->node->next, x) ); }
    ConstIterator find ( const T& x ) const { return ConstIterator( sh->find( sh->node->next, x) ); }
    Iterator find ( Iterator it, const T& x ) { detach(); return Iterator( sh->find( it.node, x ) ); }
    ConstIterator find ( ConstIterator it, const T& x ) const { return ConstIterator( sh->find( it.node, x ) ); }
    int findIndex( const T& x ) const { return sh->findIndex( sh->node->next, x) ; }
    uint contains( const T& x ) const { return sh->contains( x ); }

    uint count() const { return sh->nodes; }

    void clear() { if ( sh->count == 1 ) sh->clear(); else { sh->deref(); sh = new QValueListPrivate<T>; } }


    QValueList<T>& operator+= ( const T& x )
    {
	append( x );
	return *this;
    }
    QValueList<T>& operator<< ( const T& x )
    {
	append( x );
	return *this;
    }


protected:
     


    void detach() { if ( sh->count > 1 ) { sh->deref(); sh = new QValueListPrivate<T>( *sh ); } }

     


    QValueListPrivate<T>* sh;
};


template<class T>
inline QDataStream& operator>>( QDataStream& s, QValueList<T>& l )
{
    l.clear();
    Q_UINT32 c;
    s >> c;
    for( Q_UINT32 i = 0; i < c; ++i )
    {
	T t;
	s >> t;
	l.append( t );
    }
    return s;
}

template<class T>
inline QDataStream& operator<<( QDataStream& s, const QValueList<T>& l )
{
    s << (Q_UINT32)l.count();
    QValueListConstIterator<T> it = l.begin();
    for( ; it != l.end(); ++it )
	s << *it;
    return s;
}


# 42 "/usr/include/qt/qstringlist.h" 2 3


# 1 "/usr/include/qt/qregexp.h" 1 3
 





































#define QREGEXP_H






class   QRegExp
{
public:
    QRegExp();
    QRegExp( const QString &, bool caseSensitive=TRUE, bool wildcard=FALSE );
    QRegExp( const QRegExp & );
   ~QRegExp();
    QRegExp    &operator=( const QRegExp & );
    QRegExp    &operator=( const QString &pattern );

    bool	operator==( const QRegExp & )  const;
    bool	operator!=( const QRegExp &r ) const
					{ return !(this->operator==(r)); }

    bool	isEmpty()	const	{ return rxdata == 0; }
    bool	isValid()	const	{ return error == 0; }

    bool	caseSensitive() const	{ return cs; }
    void	setCaseSensitive( bool );

    bool	wildcard()	const	{ return wc; }
    void	setWildcard( bool );

    QString	pattern()	const	{ return rxstring; }
     
    void	setPattern( const QString& pattern )
					{ operator=( pattern ); }

    int		match( const QString &str, int index=0, int *len=0,
		       bool indexIsStart = TRUE ) const;
    int		find( const QString& str, int index )
					{ return match( str, index ); }

protected:
    void	compile();
    const QChar *matchstr( uint *, const QChar *, uint, const QChar * ) const;

private:
    QString	rxstring;			 
    uint	*rxdata;			 
    int		error;				 
    bool	cs;				 
    bool	wc;				 
};



# 44 "/usr/include/qt/qstringlist.h" 2 3





class QStrList;

class   QStringList : public QValueList<QString>
{
public:
    QStringList() { }
    QStringList( const QStringList& l ) : QValueList<QString>(l) { }
    QStringList( const QValueList<QString>& l ) : QValueList<QString>(l) { }
    QStringList( const QString& i ) { append(i); }

    QStringList( const char* i ) { append(i); }


    static QStringList fromStrList(const QStrList&);

    void sort();

    static QStringList split( const QString &sep, const QString &str, bool allowEmptyEntries = FALSE );
    static QStringList split(  const QChar &sep, const QString &str, bool allowEmptyEntries = FALSE );
    static QStringList split(  const QRegExp &sep, const QString &str, bool allowEmptyEntries = FALSE );
    QString join( const QString &sep ) const;

    QStringList grep( const QString &str, bool cs = TRUE ) const;
    QStringList grep( const QRegExp &expr ) const;
};


class QDataStream;
extern   QDataStream &operator>>( QDataStream &, QStringList& );
extern   QDataStream &operator<<( QDataStream &, const QStringList& );



# 47 "/usr/include/qt/qobject.h" 2 3



#define QT_TR_NOOP(x) (x)
#define QT_TRANSLATE_NOOP(scope,x) (x)

class QMetaObject;
class QVariant;



class   QObject: public Qt
{
     

public:
    QObject( QObject *parent=0, const char *name=0 );
    virtual ~QObject();

    static QString tr( const char * );
    static QString tr( const char *, const char * );

    virtual bool event( QEvent * );
    virtual bool eventFilter( QObject *, QEvent * );

    virtual QMetaObject *metaObject() const { return staticMetaObject(); }
    virtual const char	*className()  const;

    bool	 isA( const char * )	 const;
    bool	 inherits( const char * ) const;

    const char  *name() const;
    const char  *name( const char * defaultName ) const;

    virtual void setName( const char *name );
    bool	 isWidgetType()	  const { return isWidget; }
    bool	 highPriority()	  const { return FALSE; }

    bool	 signalsBlocked()  const { return blockSig; }
    void	 blockSignals( bool b );

    int		 startTimer( int interval );
    void	 killTimer( int id );
    void	 killTimers();

    QObject           *child( const char *name, const char *type = 0 );
    const QObjectList *children() const { return childObjects; }

    static const QObjectList *objectTrees();

     
    QObjectList	      *queryList( const char *inheritsClass = 0,
				  const char *objName = 0,
				  bool regexpMatch = TRUE,
				  bool recursiveSearch = TRUE );

    virtual void insertChild( QObject * );
    virtual 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();


    bool setProperty( const char *name, const QVariant& value );  
    QVariant property( const char *name ) const;     


protected :
    void	 destroyed();

public:
    QObject	*parent() const { return parentObj; }

private  :
    void	 cleanupEventFilter();

protected:
    bool	 activate_filters( QEvent * );
    QConnectionList *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 * );
    void	 activate_signal_bool( const char *signal, bool );
    void	 activate_signal_string( const char *signal, QString );
    void	 activate_signal_strref( const char *signal, const QString & );

    const QObject *sender();


    virtual void initMetaObject();
    static QMetaObject* staticMetaObject();

    virtual void timerEvent( QTimerEvent * );
    virtual void childEvent( QChildEvent * );

    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 QCString normalizeSignalSlot( const char *signalSlot );

    static  void badSuperclassWarning( const char *className,
				       const char *superclassName );

private:
    uint	isSignal   : 1;
    uint	isWidget   : 1;
    uint	pendTimer  : 1;
    uint	pendEvent  : 1;
    uint	blockSig   : 1;
    uint	wasDeleted : 1;
    uint	isTree : 1;

    QMetaObject *queryMetaObject() const;
    static QMetaObject *metaObj;
    const char	*objname;
    QObject	*parentObj;
    QObjectList *childObjects;
    QSignalDict *connections;
    QObjectList *senderObjects;
    QObjectList *eventFilters;
     

    QObject	*sigSender;

    friend class QApplication;
    friend class QBaseApplication;
    friend class QWidget;
    friend class QSignal;
    friend class QSenderObject;

private:	 

    QObject( const QObject & );
    QObject &operator=( const QObject & );


public:
     

    QStringList  superClasses( bool includeThis = FALSE ) const;  

};



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; }
};












# 43 "/usr/include/qt/qwidget.h" 2 3

# 1 "/usr/include/qt/qpaintdevice.h" 1 3
 





































#define QPAINTDEVICE_H











class QIODevice;
class QString;



struct QPaintDeviceX11Data;


union QPDevCmdParam {
    int			 ival;
    int			*ivec;
    QString	        *str;
    const QPoint	*point;
    const QRect		*rect;
    const QPointArray	*ptarr;
    const QPixmap	*pixmap;
    const QImage	*image;
    const QColor	*color;
    const QFont		*font;
    const QPen		*pen;
    const QBrush	*brush;
    const QRegion	*rgn;
    const QWMatrix	*matrix;
    QIODevice		*device;
};



class   QPaintDevice				 
{
public:
    virtual ~QPaintDevice();

    int		devType() const;
    bool	isExtDev() const;
    bool	paintingActive() const;

     
     



    HANDLE	handle() const;







    Display 	   *x11Display() const;
    int		    x11Screen() const;
    int		    x11Depth() const;
    int		    x11Cells() const;
    HANDLE	    x11Colormap() const;
    bool	    x11DefaultColormap() const;
    void	   *x11Visual() const;
    bool	    x11DefaultVisual() const;

    static Display *x11AppDisplay();
    static int	    x11AppScreen();
    static int	    x11AppDepth();
    static int	    x11AppCells();
    static int	    x11AppDpiX();
    static int	    x11AppDpiY();
    static HANDLE   x11AppColormap();
    static bool     x11AppDefaultColormap();
    static void    *x11AppVisual();
    static bool	    x11AppDefaultVisual();
    static void	    x11SetAppDpiX(int);
    static void	    x11SetAppDpiY(int);









    enum PDevCmd {
	PdcNOP = 0,  
	PdcDrawPoint = 1,  
	PdcDrawFirst = PdcDrawPoint,
	PdcMoveTo = 2,  
	PdcLineTo = 3,  
	PdcDrawLine = 4,  
	PdcDrawRect = 5,  
	PdcDrawRoundRect = 6,  
	PdcDrawEllipse = 7,  
	PdcDrawArc = 8,  
	PdcDrawPie = 9,  
	PdcDrawChord = 10,  
	PdcDrawLineSegments = 11,  
	PdcDrawPolyline = 12,  
	PdcDrawPolygon = 13,  
	PdcDrawQuadBezier = 14,  
	PdcDrawText = 15,  
	PdcDrawTextFormatted = 16,  
	PdcDrawPixmap = 17,  
	PdcDrawImage = 18,  
	PdcDrawText2 = 19,  
	PdcDrawText2Formatted = 20,  
	PdcDrawLast = PdcDrawText2Formatted,

	 

	PdcBegin = 30,  
	PdcEnd = 31,  
	PdcSave = 32,  
	PdcRestore = 33,  
	PdcSetdev = 34,  
	PdcSetBkColor = 40,  
	PdcSetBkMode = 41,  
	PdcSetROP = 42,  
	PdcSetBrushOrigin = 43,  
	PdcSetFont = 45,  
	PdcSetPen = 46,  
	PdcSetBrush = 47,  
	PdcSetTabStops = 48,  
	PdcSetTabArray = 49,  
	PdcSetUnit = 50,  
	PdcSetVXform = 51,  
	PdcSetWindow = 52,  
	PdcSetViewport = 53,  
	PdcSetWXform = 54,  
	PdcSetWMatrix = 55,  
	PdcSaveWMatrix = 56,
	PdcRestoreWMatrix = 57,
	PdcSetClip = 60,  
	PdcSetClipRegion = 61,  

	PdcReservedStart = 0,  
	PdcReservedStop = 199  
    };

protected:
    QPaintDevice( uint devflags );




    HANDLE	hd;				 
    void		 copyX11Data( const QPaintDevice * );
    virtual void	 setX11Data( const QPaintDeviceX11Data* );
    QPaintDeviceX11Data* getX11Data( bool def=FALSE ) const;







    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;

    ushort	devFlags;			 
    ushort	painters;			 

    friend class QPainter;
    friend class QPaintDeviceMetrics;
    friend   void bitBlt( QPaintDevice *, int, int,
				 const QPaintDevice *,
				 int, int, int, int, Qt::RasterOp, bool );

    friend void qt_init_internal( int *, char **, Display * );


private:

    static Display *x_appdisplay;
    static int	    x_appscreen;
    static int	    x_appdepth;
    static int	    x_appcells;
    static HANDLE   x_appcolormap;
    static bool	    x_appdefcolormap;
    static void	   *x_appvisual;
    static bool     x_appdefvisual;

    QPaintDeviceX11Data* x11Data;


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,
	     Qt::RasterOp = Qt::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 );




struct   QPaintDeviceX11Data {
    Display*	x_display;
    int		x_screen;
    int		x_depth;
    int		x_cells;
    HANDLE	x_colormap;
    bool	x_defcolormap;
    void*	x_visual;
    bool	x_defvisual;
};



 



inline int QPaintDevice::devType() const
{ return devFlags & QInternal::DeviceTypeMask; }

inline bool QPaintDevice::isExtDev() const
{ return (devFlags & QInternal::ExternalDevice) != 0; }

inline bool QPaintDevice::paintingActive() const
{ return painters != 0; }




inline HANDLE QPaintDevice::handle() const { return hd; }



inline Display *QPaintDevice::x11Display() const
{ return x11Data ? x11Data->x_display : x_appdisplay; }

inline int QPaintDevice::x11Screen() const
{ return x11Data ? x11Data->x_screen : x_appscreen; }

inline int QPaintDevice::x11Depth() const
{ return x11Data ? x11Data->x_depth : x_appdepth; }

inline int QPaintDevice::x11Cells() const
{ return x11Data ? x11Data->x_cells : x_appcells; }

inline HANDLE QPaintDevice::x11Colormap() const
{ return x11Data ? x11Data->x_colormap : x_appcolormap; }

inline bool QPaintDevice::x11DefaultColormap() const
{ return x11Data ? x11Data->x_defcolormap : x_appdefcolormap; }

inline void *QPaintDevice::x11Visual() const
{ return x11Data ? x11Data->x_visual : x_appvisual; }

inline bool QPaintDevice::x11DefaultVisual() const
{ return x11Data ? x11Data->x_defvisual : x_appdefvisual; }

inline Display *QPaintDevice::x11AppDisplay()
{ return x_appdisplay; }

inline int QPaintDevice::x11AppScreen()
{ return x_appscreen; }

inline int QPaintDevice::x11AppDepth()
{ return x_appdepth; }

inline int QPaintDevice::x11AppCells()
{ return x_appcells; }

inline HANDLE QPaintDevice::x11AppColormap()
{ return x_appcolormap; }

inline bool QPaintDevice::x11AppDefaultColormap()
{ return x_appdefcolormap; }

inline void *QPaintDevice::x11AppVisual()
{ return x_appvisual; }

inline bool QPaintDevice::x11AppDefaultVisual()
{ return x_appdefvisual; }



 
inline void bitBlt( QPaintDevice *dst, const QPoint &dp,
		    const QPaintDevice *src, const QRect &sr =QRect(0,0,-1,-1),
		    Qt::RasterOp rop=Qt::CopyROP, bool ignoreMask=FALSE )
{
    bitBlt( dst, dp.x(), dp.y(), src, sr.x(), sr.y(), sr.width(), sr.height(),
	    rop, ignoreMask );
}





# 44 "/usr/include/qt/qwidget.h" 2 3

# 1 "/usr/include/qt/qpalette.h" 1 3
 





































#define QPALETTE_H



# 1 "/usr/include/qt/qcolor.h" 1 3
 





































#define QCOLOR_H





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 >> 16) & 0xff); }

  inline int qGreen( QRgb rgb )		 
{ return (int)((rgb >> 8) & 0xff); }

  inline int qBlue( QRgb rgb )		 
{ return (int)(rgb & 0xff); }

  inline int qAlpha( QRgb rgb )		 
{ return (int)((rgb >> 24) & 0xff); }

  inline QRgb qRgb( int r, int g, int b ) 
{ return (0xff << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); }

  inline QRgb qRgba( int r, int g, int b, int a ) 
{ return ((a & 0xff) << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); }

  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 QString& name );
    QColor( const char *name );
    QColor( const QColor & );
    QColor &operator=( const QColor & );

    bool   isValid() const;
    bool   isDirty() const;

    QString name() const;
    void   setNamedColor( const QString& 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   getHsv( 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 QString& name );
    static void initGlobalColors();
    static QColor* globalColors();
    static bool color_init;
    static bool globals_init;
    static bool lazy_alloc;



    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 lazy_alloc; }


inline bool QColor::operator==( const QColor &c ) const
{
    return isValid()==c.isValid() &&
	((((rgbVal | c.rgbVal) & RGB_DIRECT) == 0 &&
	    (rgbVal & RGB_MASK) == (c.rgbVal & RGB_MASK)) ||
	   ((rgbVal & c.rgbVal & RGB_DIRECT) != 0 &&
	    (rgbVal & RGB_MASK) == (c.rgbVal & RGB_MASK) && pix == c.pix));
}

inline bool QColor::operator!=( const QColor &c ) const
{
    return !operator==(c);
}


 




  QDataStream &operator<<( QDataStream &, const QColor & );
  QDataStream &operator>>( QDataStream &, QColor & );



# 43 "/usr/include/qt/qpalette.h" 2 3


# 1 "/usr/include/qt/qbrush.h" 1 3
 





































#define QBRUSH_H







class   QBrush: public Qt
{
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 & );



# 45 "/usr/include/qt/qpalette.h" 2 3




class QColorGroupPrivate;


class   QColorGroup
{
public:
    QColorGroup();
    QColorGroup( const QColor &foreground, const QColor &button,
		 const QColor &light, const QColor &dark, const QColor &mid,
		 const QColor &text, const QColor &base );
    QColorGroup( const QBrush &foreground, const QBrush &button,
		 const QBrush &light, const QBrush &dark, const QBrush &mid,
		 const QBrush &text, const QBrush &bright_text,
		 const QBrush &base, const QBrush &background);
    QColorGroup( const QColorGroup & );

   ~QColorGroup();

    QColorGroup& operator =(const QColorGroup&);

     
    enum ColorRole { Foreground, Button, Light, Midlight, Dark, Mid,
                     Text, BrightText, ButtonText, Base, Background, Shadow,
                     Highlight, HighlightedText,
		     NColorRoles };

    const QColor &color( ColorRole ) const;
    const QBrush &brush( ColorRole ) const;
    void setColor( ColorRole, const QColor & );
    void setBrush( ColorRole, const QBrush & );

    const QColor &foreground()	const	{ return br[Foreground].color(); }
    const QColor &button()	const	{ return br[Button].color(); }
    const QColor &light()	const	{ return br[Light].color(); }
    const QColor &dark()	const	{ return br[Dark].color(); }
    const QColor &mid()		const	{ return br[Mid].color(); }
    const QColor &text()	const	{ return br[Text].color(); }
    const QColor &base()	const	{ return br[Base].color(); }
    const QColor &background()	const	{ return br[Background].color(); }

    const QColor &midlight()	const	{ return br[Midlight].color(); }
    const QColor &brightText()	const	{ return br[BrightText].color(); }
    const QColor &buttonText()	const	{ return br[ButtonText].color(); }
    const QColor &shadow()	const	{ return br[Shadow].color(); }
    const QColor &highlight()	const	{ return br[Highlight].color(); }
    const QColor &highlightedText() const{return br[HighlightedText].color(); }

    bool	operator==( const QColorGroup &g ) const;
    bool	operator!=( const QColorGroup &g ) const
	{ return !(operator==(g)); }

private:
    QBrush *br;
    QColorGroupPrivate * d;

    friend class QPalette;
};


class   QPalette
{
public:
    QPalette();
    QPalette( const QColor &button );
    QPalette( const QColor &button, const QColor &background );
    QPalette( const QColorGroup &active, const QColorGroup &disabled,
	      const QColorGroup &inactive );
    QPalette( const QPalette & );
   ~QPalette();
    QPalette &operator=( const QPalette & );

    enum ColorGroup { Normal, Disabled, Active, Inactive, NColorGroups };

    const QColor &color( ColorGroup, QColorGroup::ColorRole ) const;
    const QBrush &brush( ColorGroup, QColorGroup::ColorRole ) const;
    void setColor( ColorGroup, QColorGroup::ColorRole, const QColor & );
    void setBrush( ColorGroup, QColorGroup::ColorRole, const QBrush & );

    void setColor( QColorGroup::ColorRole, const QColor & );
    void setBrush( QColorGroup::ColorRole, const QBrush & );

    QPalette	copy() const;

    const QColorGroup &active() const { return data->active; }
    const QColorGroup &disabled() const { return data->disabled; }
    const QColorGroup &inactive() const { return data->inactive; }
    const QColorGroup &normal() const { return data->normal; }  

    void	setActive( const QColorGroup & );
    void	setDisabled( const QColorGroup & );
    void	setInactive( const QColorGroup & );
    void	setNormal( 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();
    QBrush 	&directBrush( ColorGroup, QColorGroup::ColorRole ) const;

    struct QPalData : public QShared {
	QColorGroup normal;  
	QColorGroup disabled;
	QColorGroup active;
	int	    ser_no;
	QColorGroup inactive;
    } *data;
};


 




  QDataStream &operator<<( QDataStream &, const QColorGroup & );
  QDataStream &operator>>( QDataStream &, QColorGroup & );

  QDataStream &operator<<( QDataStream &, const QPalette & );
  QDataStream &operator>>( QDataStream &, QPalette & );




# 45 "/usr/include/qt/qwidget.h" 2 3

# 1 "/usr/include/qt/qcursor.h" 1 3
 





































#define QCURSOR_H







 


# 62 "/usr/include/qt/qcursor.h" 3




struct QCursorData;


class   QCursor
{
public:
    QCursor();					 
    QCursor( int shape );
    QCursor( const QBitmap &bitmap, const QBitmap &mask,
	     int hotX=-1, int hotY=-1 );
    QCursor( const QPixmap &pixmap,
	     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	  setBitmap( const QBitmap &bitmap, const QBitmap &mask,
				 int hotX, int hotY );
    void	  update() const;
    QCursorData	 *data;
    QCursor	 *find_cur(int);
};



 



 
enum QCursorShape {
    ArrowCursor, UpArrowCursor, CrossCursor, WaitCursor, IbeamCursor,
    SizeVerCursor, SizeHorCursor, SizeBDiagCursor, SizeFDiagCursor,
    SizeAllCursor, BlankCursor, SplitVCursor, SplitHCursor, PointingHandCursor,
    ForbiddenCursor, LastCursor = ForbiddenCursor, BitmapCursor=24 };


 



  QDataStream &operator<<( QDataStream &, const QCursor & );
  QDataStream &operator>>( QDataStream &, QCursor & );




inline void QCursor::setPos( const QPoint &p )
{
    setPos( p.x(), p.y() );
}


# 46 "/usr/include/qt/qwidget.h" 2 3

# 1 "/usr/include/qt/qfont.h" 1 3
 





































#define QFONT_H







class QStringList;
struct QFontDef;
struct QFontData;
class QFontInternal;
class QRenderedFont;

class   QFont					 
{
public:
    enum CharSet   { ISO_8859_1,  Latin1 = ISO_8859_1, AnyCharSet,
		     ISO_8859_2,  Latin2 = ISO_8859_2,
		     ISO_8859_3,  Latin3 = ISO_8859_3,
		     ISO_8859_4,  Latin4 = ISO_8859_4,
		     ISO_8859_5,
		     ISO_8859_6,
		     ISO_8859_7,
		     ISO_8859_8,
		     ISO_8859_9,  Latin5 = ISO_8859_9,
		     ISO_8859_10, Latin6 = ISO_8859_10,
		     ISO_8859_11, TIS620 = ISO_8859_11,
		     ISO_8859_12,
		     ISO_8859_13, Latin7 = ISO_8859_13,
		     ISO_8859_14, Latin8 = ISO_8859_14,
		     ISO_8859_15, Latin9 = ISO_8859_15,
		     KOI8R,
		     Set_Ja, Set_1 = Set_Ja,
		     Set_Ko,
		     Set_Th_TH,
		     Set_Zh,
		     Set_Zh_TW,
		     Set_N = Set_Zh_TW,
		     Unicode,
		      





		     Set_GBK,
		     Set_Big5,

		     TSCII,
		     KOI8U,
		     CP1251,
		     PT154,
		      


		      
		     JIS_X_0201 = 0xa0,
		      
		     JIS_X_0208 = 0xc0, Enc16 = JIS_X_0208,
		     KSC_5601,
		     GB_2312,
		     Big5
    };
    enum StyleHint { Helvetica, Times, Courier, OldEnglish,  System, AnyStyle,
		     SansSerif	= Helvetica,
		     Serif	= Times,
		     TypeWriter = Courier,
		     Decorative = OldEnglish};
    enum StyleStrategy { PreferDefault = 0x0001,
			  PreferBitmap = 0x0002,
			  PreferDevice = 0x0004,
			  PreferOutline = 0x0008,
			  ForceOutline = 0x0010,
			  PreferMatch = 0x0020,
			  PreferQuality = 0x0040 };
    enum Weight	   { Light = 25, Normal = 50, DemiBold = 63,
		     Bold  = 75, Black	= 87 };
    QFont();					 
    QFont( const QString &family, int pointSize = 12,
	   int weight = Normal, bool italic = FALSE );
    QFont( const QString &family, int pointSize,
	   int weight, bool italic, CharSet charSet );
    QFont( const QFont & );
    ~QFont();
    QFont      &operator=( const QFont & );

    QString	family()	const;
    void	setFamily( const QString &);
    int		pointSize()	const;
    float	pointSizeFloat()	const;
    void	setPointSize( int );
    void	setPointSizeFloat( float );
    int		pixelSize() const;
    void	setPixelSize( int );
    void	setPixelSizeFloat( float );
    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 );
    StyleStrategy styleStrategy() const;
    void	setStyleHint( StyleHint, StyleStrategy );
    CharSet	charSet()	const;
    void	setCharSet( CharSet );

    static CharSet charSetForLocale();

    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() const;




    void	setRawName( const QString & );
    QString	rawName() const;

    QString	key() const;

    static QString encodingName( CharSet );

    static QFont defaultFont();
    static void setDefaultFont( const QFont & );

    static QString substitute( const QString &familyName );
    static void insertSubstitution( const QString&, const QString &);
    static void removeSubstitution( const QString &);
    static QStringList substitutions();

    static void initialize();
    static void locale_init();
    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 * );
    void	init();
    void	detach();
    void	initFontInfo() const;
    void	load() const;








    friend class QFontInternal;
    friend class QFontMetrics;
    friend class QFontInfo;
    friend class QPainter;





    friend   QDataStream &operator<<( QDataStream &, const QFont & );
    friend   QDataStream &operator>>( QDataStream &, QFont & );

    QFontData	 *d;				 
    static CharSet defaultCharSet;
};

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 & );



# 47 "/usr/include/qt/qwidget.h" 2 3

# 1 "/usr/include/qt/qfontmetrics.h" 1 3
 





































#define QFONTMETRICS_H






class QTextCodec;


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(QChar)	const;

    int		leftBearing(QChar) const;
    int		rightBearing(QChar) const;
    int		width( const QString &, int len = -1 ) const;
    int		width( QChar ) const;
    int		width( char c ) const { return width( (QChar) c ); }
    QRect	boundingRect( const QString &, int len = -1 ) const;
    QRect	boundingRect( QChar ) const;
    QRect	boundingRect( int x, int y, int w, int h, int flags,
			      const QString& str, int len=-1, int tabstops=0,
			      int *tabarray=0, char **intern=0 ) const;
    QSize	size( int flags,
		      const QString& str, int len=-1, int tabstops=0,
		      int *tabarray=0, char **intern=0 ) const;

    int		underlinePos()	const;
    int		strikeOutPos()	const;
    int		lineWidth()	const;

private:
    QFontMetrics( const QPainter * );
    static void reset( const QPainter * );
    const QFontDef *spec() const;





    void   *fontStruct() const;
    void   *fontSet() const;
    const QTextCodec *mapper() const;
    int	    printerAdjusted(int) const;




    friend class QWidget;
    friend class QPainter;

    QFontInternal *fin;
    QPainter      *painter;
    int		   flags;

    bool    underlineFlag()  const { return (flags & 0x1) != 0; }
    bool    strikeOutFlag()  const { return (flags & 0x2) != 0; }
    void    setUnderlineFlag()	   { flags |= 0x1; }
    void    setStrikeOutFlag()	   { flags |= 0x2; }
};



# 48 "/usr/include/qt/qwidget.h" 2 3

# 1 "/usr/include/qt/qfontinfo.h" 1 3
 





































#define QFONTINFO_H






class   QFontInfo
{
public:
    QFontInfo( const QFont & );
    QFontInfo( const QFontInfo & );
   ~QFontInfo();

    QFontInfo	       &operator=( const QFontInfo & );

    QString   	        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 QPainter * );
    static void reset( const QPainter * );
    const QFontDef *spec() const;

    QFontInternal *fin;
    QPainter      *painter;
    int		   flags;

    bool    underlineFlag()  const { return (flags & 0x1) != 0; }
    bool    strikeOutFlag()  const { return (flags & 0x2) != 0; }
    bool    exactMatchFlag() const { return (flags & 0x4) != 0; }
    void    setUnderlineFlag()	   { flags |= 0x1; }
    void    setStrikeOutFlag()	   { flags |= 0x2; }
    void    setExactMatchFlag()	   { flags |= 0x4; }

    friend class QWidget;
    friend class QPainter;
};


inline bool QFontInfo::bold() const
{ return weight() > QFont::Normal; }



# 49 "/usr/include/qt/qwidget.h" 2 3

# 1 "/usr/include/qt/qstyle.h" 1 3
 




































#define QSTYLE_H







class QButton;
class QPushButton;
class QScrollBar;
class QTabBar;
class QTab;
class QPopupMenu;
class QMenuItem;
class QToolButton;

class   QStyle: public QObject
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
    GUIStyle gs;

private:
    QStyle(GUIStyle);
    QStyle();
    friend class QCommonStyle;

public:
    virtual ~QStyle();


    operator GUIStyle() const { return gs; }
    int operator==(GUIStyle s) const { return gs==s; }
    int operator!=(GUIStyle s) const { return gs!=s; }


    GUIStyle guiStyle() const { return gs; }

     

    virtual void polish( QWidget* );
    virtual void unPolish( QWidget* );

    virtual void polish( QApplication*);
    virtual void unPolish( QApplication*);

    virtual void polish( QPalette&);

    virtual QRect itemRect( QPainter *p, int x, int y, int w, int h,
		    int flags, bool enabled,
		    const QPixmap *pixmap,
		    const QString& text, int len=-1 );  

    virtual void drawItem( QPainter *p, int x, int y, int w, int h,
		    int flags, const QColorGroup &g, bool enabled,
		    const QPixmap *pixmap, const QString& text,
			   int len=-1, const QColor* penColor = 0 );


    virtual void drawSeparator( QPainter *p, int x1, int y1, int x2, int y2,
		     const QColorGroup &g, bool sunken = TRUE,
		     int lineWidth = 1, int midLineWidth = 0 );

    virtual void drawRect( QPainter *p, int x, int y, int w, int h,
		    const QColor &, int lineWidth = 1,
		    const QBrush *fill = 0 );

    virtual void drawRectStrong( 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 );

    virtual void drawButton( QPainter *p, int x, int y, int w, int h,
		     const QColorGroup &g, bool sunken = FALSE,
		     const QBrush *fill = 0 ) = 0;

    virtual QRect buttonRect( int x, int y, int w, int h);  

    virtual void drawButtonMask( QPainter *p, int x, int y, int w, int h);

    virtual void drawBevelButton( QPainter *p, int x, int y, int w, int h,
		     const QColorGroup &g, bool sunken = FALSE,
		     const QBrush *fill = 0 ) = 0;

    QRect bevelButtonRect( int x, int y, int w, int h);  

    virtual void drawToolButton( QPainter *p, int x, int y, int w, int h,
		     const QColorGroup &g, bool sunken = FALSE,
		     const QBrush *fill = 0 );
    void drawToolButton( QToolButton* btn, QPainter *p);  

    QRect toolButtonRect(  int x, int y, int w, int h);  

    virtual void drawPanel( QPainter *p, int x, int y, int w, int h,
		    const QColorGroup &, bool sunken=FALSE,
		    int lineWidth = 1, const QBrush *fill = 0 );

    virtual void drawPopupPanel( QPainter *p, int x, int y, int w, int h,
				 const QColorGroup &,  int lineWidth = 2,
				 const QBrush *fill = 0 );

    virtual void drawArrow( QPainter *p, Qt::ArrowType type, bool down,
		     int x, int y, int w, int h,
		     const QColorGroup &g, bool enabled, const QBrush *fill = 0 ) = 0;

     
    virtual QSize exclusiveIndicatorSize() const = 0;
    virtual void drawExclusiveIndicator( QPainter* p, int x, int y, int w, int h,
		    const QColorGroup &g, bool on, bool down = FALSE, bool enabled = TRUE ) = 0;
    virtual void drawExclusiveIndicatorMask( QPainter *p, int x, int y, int w, int h, bool on);

     
    virtual QSize indicatorSize() const = 0;
    virtual void drawIndicator( QPainter* p, int x, int y, int w, int h, const QColorGroup &g,
				int state, bool down = FALSE, bool enabled = TRUE ) = 0;
    virtual void drawIndicatorMask( QPainter *p, int x, int y, int w, int h, int state);


     
    virtual void drawFocusRect( QPainter*, const QRect &,
				const QColorGroup &, const QColor* bg = 0,
				bool = FALSE ) = 0;


     

     
    virtual void drawComboButton( QPainter *p, int x, int y, int w, int h,
				  const QColorGroup &g, bool sunken = FALSE,
				  bool editable = FALSE,
				  bool enabled = TRUE,
				  const QBrush *fill = 0 ) = 0;
    virtual QRect comboButtonRect( int x, int y,
		    int w, int h) = 0;  
    virtual QRect comboButtonFocusRect( int x, int y,
		    int w, int h) = 0;  

    virtual void drawComboButtonMask( QPainter *p, int x, int y, int w, int h) = 0;

     
    virtual void drawPushButton( QPushButton* btn, QPainter *p) = 0;
     
    virtual void drawPushButtonLabel( QPushButton* btn, QPainter *p) = 0;
    QRect pushButtonContentsRect( QPushButton* btn );  
    int menuButtonIndicatorWidth( int h );  
    virtual void getButtonShift( int &x, int &y) = 0;  

     
    virtual int defaultFrameWidth() const = 0;

     
    virtual void tabbarMetrics( const QTabBar*,
		    int&, int&, int& ) = 0;  
    virtual void drawTab( QPainter*, const QTabBar*, QTab*, bool selected ) = 0;
    virtual void drawTabMask( QPainter*, const QTabBar*, QTab*, bool selected ) = 0;

     
    enum ScrollControl { AddLine = 0x1 , SubLine  = 0x2 , AddPage = 0x4,
			 SubPage = 0x8 , First = 0x10, Last = 0x20,
			 Slider  = 0x40, NoScroll = 0x80 };

    virtual void scrollBarMetrics( const QScrollBar*,
		    int&, int&, int&, int&) = 0;  
    virtual void drawScrollBarControls( QPainter*,  const QScrollBar*,
					int sliderStart, uint controls,
					uint activeControl ) = 0;
    virtual ScrollControl scrollBarPointOver( const QScrollBar*,
					int sliderStart, const QPoint& ) = 0;

     
    virtual int sliderLength() const = 0;
    virtual void drawSlider( QPainter *p,
			     int x, int y, int w, int h,
			     const QColorGroup &g,
			     Orientation, bool tickAbove, bool tickBelow) = 0;

    virtual void drawSliderMask( QPainter *p,
				 int x, int y, int w, int h,
				 Orientation, bool tickAbove, bool tickBelow) = 0;
    virtual void drawSliderGroove( QPainter *p,
				   int x, int y, int w, int h,
				   const QColorGroup& g, QCOORD c,
				   Orientation ) = 0;
    virtual void drawSliderGrooveMask( QPainter *p,
				       int x, int y, int w, int h,
				       QCOORD c,
				       Orientation ) = 0;
    virtual int maximumSliderDragDistance() const = 0;

    virtual int splitterWidth() const = 0;
    virtual void drawSplitter( QPainter *p,
			     int x, int y, int w, int h,
			     const QColorGroup &g,
			     Orientation) = 0;

    virtual void drawCheckMark( QPainter *p, int x, int y, int w, int h,
				const QColorGroup &g,
				bool act, bool dis ) = 0;
    virtual void polishPopupMenu( QPopupMenu* ) = 0;

    virtual int extraPopupMenuItemWidth( bool checkable, int maxpmw,
				QMenuItem* mi,
				const QFontMetrics& fm  ) = 0;  
    virtual int popupSubmenuIndicatorWidth(
				const QFontMetrics& fm  ) = 0;  
    virtual int popupMenuItemHeight( bool checkable,
				QMenuItem* mi,
				const QFontMetrics& fm  ) = 0;  
    virtual void drawPopupMenuItem( QPainter* p, bool checkable,
				    int maxpmw, int tab, QMenuItem* mi,
				    const QPalette& pal,
				    bool act, bool enabled,
				    int x, int y, int w, int h) = 0;
    void drawMenuBarItem( QPainter* p, int x, int y, int w, int h,  
				    QMenuItem* mi, QColorGroup& g,
				    bool enabled, bool active );

     
    QSize scrollBarExtent();  
    int buttonDefaultIndicatorWidth() const;
    int buttonMargin() const;  
    int toolBarHandleExtent() const;  
    int toolBarHandleExtend() const;  
    int sliderThickness() const ;  
    void drawToolBarHandle( QPainter *p, const QRect &r,
			    Qt::Orientation orientation,
			    bool highlight, const QColorGroup &cg,
			    bool drawBorder = FALSE );  

protected:
    void setScrollBarExtent( int w, int h=-1 );  
    void setButtonDefaultIndicatorWidth( int w );  
    void setButtonMargin( int w );  
    void setSliderThickness(int t);  


private:	 

    QStyle( const QStyle & );
    QStyle& operator=( const QStyle & );

};



# 50 "/usr/include/qt/qwidget.h" 2 3

# 1 "/usr/include/qt/qsizepolicy.h" 1 3
 





































#define QSIZEPOLICY_H





class   QSizePolicy
{
private:
    enum { HSize = 6, HMask = 0x3f, VMask = HMask << HSize,
	   MayGrow = 1, ExpMask = 2, MayShrink = 4 };
public:
    enum SizeType { Fixed = 0,
		    Minimum = MayGrow,
		    Maximum = MayShrink,
		    Preferred = MayGrow|MayShrink ,
		    MinimumExpanding = Minimum|ExpMask,
		    Expanding = MinimumExpanding|MayShrink };

    enum ExpandData { NoDirection = 0,
		      Horizontal = 1,
		      Vertical = 2,
		      BothDirections = Horizontal | Vertical };

    QSizePolicy() { data = 0; }

    QSizePolicy( SizeType hor, SizeType ver, bool hfw = FALSE );

    SizeType horData() const { return (SizeType)( data & HMask ); }
    SizeType verData() const { return (SizeType)(( data & VMask ) >> HSize); }

    bool mayShrinkHorizontally() const { return horData() & MayShrink; }
    bool mayShrinkVertically() const { return verData() & MayShrink; }
    bool mayGrowHorizontally() const { return horData() & MayGrow; }
    bool mayGrowVertically() const { return verData() & MayGrow; }

    ExpandData expanding() const
    {
	return (ExpandData)( (int)(verData()&ExpMask ? Vertical : 0)+
			     (int)(horData()&ExpMask ? Horizontal : 0) );
    }

    void setHorData( SizeType d ) { data = (data & ~HMask) | d; }
    void setVerData( SizeType d ) { data = (data & ~(HMask<<HSize)) |
					   (d<<HSize); }
		
    void setHeightForWidth( bool b ) { data = b ? ( data | ( 1 << 2*HSize ) )
					      : ( data & ~( 1 << 2*HSize ) );  }
    bool hasHeightForWidth() const { return data & ( 1 << 2*HSize ); }

    bool operator==( const QSizePolicy& s ) const { return data == s.data; }
    bool operator!=( const QSizePolicy& s ) const { return data != s.data; }

private:
    QSizePolicy( int i ): data( i ) {}

    Q_UINT16 data;
};


inline QSizePolicy::QSizePolicy( SizeType hor, SizeType ver, bool hfw )
	: data( hor | (ver<<HSize) | (hfw ? (1<<2*HSize) : 0) ) {}



# 51 "/usr/include/qt/qwidget.h" 2 3



class QLayout;
struct QWExtra;
struct QTLWExtra;
class QFocusData;
class QStyle;
class QWSRegionManager;

class   QWidget : public QObject, public QPaintDevice
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

     
     

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

public:
    QWidget( QWidget *parent=0, const char *name=0, WFlags f=0 );
    ~QWidget();

    WId		 winId() const;
    void	 setName( const char *name );

     

    QStyle     &style() const;
    void        setStyle( QStyle * );

     

    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 );
    void setDisabled( bool );

     

public:
    QRect	 frameGeometry() const;
    const QRect &geometry()	const;
    int		 x()		const;
    int		 y()		const;
    QPoint	 pos()		const;
    QSize	 frameSize()    const;
    QSize	 size()		const;
    int		 width()	const;
    int		 height()	const;
    QRect	 rect()		const;
    QRect	 childrenRect() const;
    QRegion	 childrenRegion() const;

    QSize	 minimumSize()	 const;
    QSize	 maximumSize()	 const;
    int		 minimumWidth()	 const;
    int		 minimumHeight() const;
    int		 maximumWidth()	 const;
    int		 maximumHeight() const;
    void	 setMinimumSize( const QSize & );
    virtual void setMinimumSize( int minw, int minh );
    void	 setMaximumSize( const QSize & );
    virtual void setMaximumSize( int maxw, int maxh );
    void	 setMinimumWidth( int minw );
    void	 setMinimumHeight( int minh );
    void	 setMaximumWidth( int maxw );
    void	 setMaximumHeight( int maxh );

    QSize	 sizeIncrement() const;
    void	 setSizeIncrement( const QSize & );
    virtual void setSizeIncrement( int w, int h );
    QSize	 baseSize() const;
    void	 setBaseSize( const QSize & );
    void	 setBaseSize( int basew, int baseh );

    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;
    QPoint	 mapTo( QWidget *, const QPoint & ) const;
    QPoint	 mapFrom( QWidget *, const QPoint & ) const;

    QWidget	*topLevelWidget()   const;

     

    enum BackgroundMode { FixedColor, FixedPixmap, NoBackground,
			  PaletteForeground, PaletteButton, PaletteLight,
			  PaletteMidlight, PaletteDark, PaletteMid,
			  PaletteText, PaletteBrightText, PaletteBase,
			  PaletteBackground, PaletteShadow, PaletteHighlight,
			  PaletteHighlightedText, PaletteButtonText,
			  X11ParentRelative };

    BackgroundMode	backgroundMode() const;
    virtual 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;
    bool		ownPalette() const;
    virtual void	setPalette( const QPalette & );
    void		unsetPalette();

    QFont		font() const;
    bool		ownFont() const;
    virtual void	setFont( const QFont & );
    void		unsetFont();
    QFontMetrics	fontMetrics() const;
    QFontInfo	 	fontInfo() const;

    enum PropagationMode { NoChildren, AllChildren,
			   SameFont, SamePalette = SameFont };

    PropagationMode	fontPropagation() const;  
    virtual void	setFontPropagation( PropagationMode );  

    PropagationMode	palettePropagation() const;  
    virtual void	setPalettePropagation( PropagationMode );  

    const QCursor      &cursor() const;
    bool		ownCursor() const;
    virtual void	setCursor( const QCursor & );
    virtual void	unsetCursor();

    QString		caption() const;
    const QPixmap      *icon() const;
    QString		iconText() const;
    bool		hasMouseTracking() const;

    virtual void	setMask( const QBitmap & );
    virtual void	setMask( const QRegion & );
    void		clearMask();

public  :
    virtual void	setCaption( const QString &);
    virtual void	setIcon( const QPixmap & );
    virtual void	setIconText( const QString &);
    virtual void	setMouseTracking( bool enable );

     

    virtual void	setFocus();
    void		clearFocus();

public:
    enum FocusPolicy {
	NoFocus = 0,
	TabFocus = 0x1,
	ClickFocus = 0x2,
	StrongFocus = 0x3,
	WheelFocus = 0x7
    };

    bool		isActiveWindow() const;
    virtual void	setActiveWindow();
    bool		isFocusEnabled() const;

    FocusPolicy		focusPolicy() const;
    virtual void	setFocusPolicy( FocusPolicy );
    bool		hasFocus() const;
    static void		setTabOrder( QWidget *, QWidget * );
    virtual 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  :
    virtual void	setUpdatesEnabled( bool enable );
    void		update();
    void		update( int x, int y, int w, int h );
    void		update( const QRect& );
    void		repaint();
    void		repaint( bool erase );
    void		repaint( int x, int y, int w, int h, bool erase=TRUE );
    void		repaint( const QRect &, bool erase=TRUE );
    void		repaint( const QRegion &, bool erase=TRUE );

     

    virtual void	show();
    virtual void	hide();

    void		iconify()	{ showMinimized(); }

    virtual void	showMinimized();
    virtual void	showMaximized();
    void		showFullScreen();  
    virtual void	showNormal();
    virtual void	polish();
    void 		constPolish() const;
    bool		close();

    void		raise();
    void		lower();
    void		stackUnder( QWidget* );
    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 );
    virtual void	setGeometry( const QRect & );

public:
    virtual bool	close( bool alsoDelete );
    bool		isVisible()	const;
    bool		isVisibleTo(QWidget*) const;
    bool		isVisibleToTLW() const;  
    QRect		visibleRect() const;
    bool 		isHidden() const;
    bool		isMinimized() const;
    bool		isMaximized() const;

    virtual QSize	sizeHint() const;
    virtual QSize	minimumSizeHint() const;
    virtual QSizePolicy	sizePolicy() const;
    void 		setSizePolicy( QSizePolicy );
    virtual int heightForWidth(int) const;

    virtual void  	adjustSize();

    QLayout *		layout() const { return lay_out; }

    void		updateGeometry();
    virtual void 	reparent( QWidget *parent, WFlags, const QPoint &,
				  bool showIt=FALSE );
    void		reparent( QWidget *parent, const QPoint &,
				  bool showIt=FALSE );

    void		recreate( QWidget *parent, WFlags f, const QPoint & p,
				  bool showIt=FALSE )
    { reparent(parent,f,p,showIt); }


    void		erase();
    void		erase( int x, int y, int w, int h );
    void		erase( const QRect & );
    void		erase( const QRegion & );
    void		scroll( int dx, int dy );
    void		scroll( int dx, int dy, const QRect& );

    void		drawText( int x, int y, const QString &);
    void		drawText( const QPoint &, const QString &);

     

    QWidget *		focusWidget() const;
    QRect               microFocusHint() const;

     

    bool		acceptDrops() const;
    virtual void	setAcceptDrops( bool on );

     

    virtual void	setAutoMask(bool);
    bool		autoMask() const;

    enum BackgroundOrigin { WidgetOrigin, ParentOrigin };

    void setBackgroundOrigin( BackgroundOrigin );
    BackgroundOrigin backgroundOrigin() const;


     
    virtual bool customWhatsThis() const;

    QWidget *		parentWidget() const;
    bool		testWState( uint n ) const;
    bool		testWFlags( WFlags f ) 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 wheelEvent( QWheelEvent * );
    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 void dragEnterEvent( QDragEnterEvent * );
    virtual void dragMoveEvent( QDragMoveEvent * );
    virtual void dragLeaveEvent( QDragLeaveEvent * );
    virtual void dropEvent( QDropEvent * );


    virtual void showEvent( QShowEvent * );
    virtual void hideEvent( QHideEvent * );
    virtual void customEvent( QCustomEvent * );

# 463 "/usr/include/qt/qwidget.h" 3

    virtual bool x11Event( XEvent * );		 






    virtual void updateMask();

     

protected:

    virtual void styleChange( QStyle& );

    virtual void enabledChange( bool );
    virtual void backgroundColorChange( const QColor & );
    virtual void backgroundPixmapChange( const QPixmap & );

    virtual void paletteChange( const QPalette & );

    virtual void fontChange( const QFont & );

    int		 metric( int )	const;

    virtual void create( WId = 0, bool initializeWindow = TRUE,
			 bool destroyOldWindow = TRUE );
    virtual void destroy( bool destroyWindow = TRUE,
			  bool destroySubWindows = TRUE );
    uint	 getWState() const;
    virtual void setWState( uint );
    void	 clearWState( uint n );
    WFlags	 getWFlags() const;
    virtual void setWFlags( WFlags );
    void	 clearWFlags( WFlags n );

    virtual void setFRect( const QRect & );
    virtual void setCRect( const QRect & );

    virtual bool focusNextPrevChild( bool next );

    QWExtra	*extraData();
    QTLWExtra	*topData();
    QFocusData	*focusData();

    virtual void setKeyCompression(bool);
    virtual void setMicroFocusHint(int x, int y, int w, int h, bool text=TRUE);

private  :
    void	 focusProxyDestroyed();

private:
    void	 setFontSys();

    void 	 setLayout( QLayout *l );

    void	 setWinId( WId );
    void	 showWindow();
    void	 hideWindow();
    void	 sendShowEventsToChildren( bool spontaneous );
    void	 sendHideEventsToChildren( bool spontaneous );
    void	 createTLExtra();
    void	 createExtra();
    void	 deleteExtra();
    void	 createSysExtra();
    void	 deleteSysExtra();
    void	 createTLSysExtra();
    void	 deleteTLSysExtra();
    void	 deactivateWidgetCleanup();
    void	 internalSetGeometry( int, int, int, int, bool );
    void	 reparentFocusWidgets( QWidget * );
    QFocusData	*focusData( bool create );
    void         setBackgroundFromMode();
    void         setBackgroundColorDirect( const QColor & );
    void   	 setBackgroundPixmapDirect( const QPixmap & );
    void         setBackgroundModeDirect( BackgroundMode );
    void         setBackgroundEmpty();

    void         setBackgroundX11Relative();


    WId		 winid;
    uint	 widget_state;
    uint	 widget_flags;
    uint	 propagate_font : 2;  
    uint	 propagate_palette : 2;  
    uint	 focus_policy : 4;
    uint 	 own_font :1;
    uint 	 own_palette :1;
    uint 	 sizehint_forced :1;
    uint 	 is_closing :1;
    uint 	 in_show : 1;
    QPoint	 fpos;
    QRect	 crect;
    QColor	 bg_col;

    QPalette	 pal;

    QFont	 fnt;

    QLayout 	*lay_out;

    QWExtra	*extra;
# 589 "/usr/include/qt/qwidget.h" 3


    static void	 createMapper();
    static void	 destroyMapper();
    static QWidgetList	 *wList();
    static QWidgetList	 *tlwList();
    static QWidgetMapper *mapper;
    friend class QApplication;
    friend class QBaseApplication;
    friend class QPainter;
    friend class QFontMetrics;
    friend class QFontInfo;
    friend class QETWidget;

    friend class QLayout;



private:	 

    QWidget( const QWidget & );
    QWidget &operator=( const QWidget & );


public:  

    void setPalette( const QPalette &, bool iReallyMeanIt );

    void setFont( const QFont &, bool iReallyMeanIt );
};


inline bool QWidget::testWState( uint f ) const
{ return (widget_state & f) != 0; }

inline bool QWidget::testWFlags( WFlags f ) const
{ return (widget_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 !testWState(WState_Disabled); }

inline const QRect &QWidget::geometry() const
{ return crect; }

inline int QWidget::x() const
{ return fpos.x(); }

inline int QWidget::y() const
{ return fpos.y(); }

inline QPoint QWidget::pos() const
{ return fpos; }

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 int QWidget::minimumWidth() const
{ return minimumSize().width(); }

inline int QWidget::minimumHeight() const
{ return minimumSize().height(); }

inline int QWidget::maximumWidth() const
{ return maximumSize().width(); }

inline int QWidget::maximumHeight() const
{ return maximumSize().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 void QWidget::setSizeIncrement( const QSize &s )
{ setSizeIncrement(s.width(),s.height()); }

inline void QWidget::setBaseSize( const QSize &s )
{ setBaseSize(s.width(),s.height()); }

inline const QColor &QWidget::backgroundColor() const
{ return bg_col; }


inline const QPalette &QWidget::palette() const
{ return pal; }


inline QFont QWidget::font() const
{ return fnt; }

inline QFontMetrics QWidget::fontMetrics() const
{ return QFontMetrics(font()); }

inline QFontInfo QWidget::fontInfo() const
{ return QFontInfo(font()); }

inline bool QWidget::hasMouseTracking() const
{ return testWState(WState_MouseTracking); }

inline bool  QWidget::isFocusEnabled() const
{ return (FocusPolicy)focus_policy != NoFocus; }

inline QWidget::FocusPolicy QWidget::focusPolicy() const
{ return (FocusPolicy)focus_policy; }

inline bool QWidget::isUpdatesEnabled() const
{ return !testWState(WState_BlockUpdates); }

inline void QWidget::update( const QRect &r )
{ update( r.x(), r.y(), r.width(), r.height() ); }

inline void QWidget::repaint()
{ repaint( 0, 0, crect.width(), crect.height(), TRUE ); }

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::close()
{ return close( FALSE ); }

inline bool QWidget::isVisible() const
{ return testWState(WState_Visible); }

inline bool QWidget::isHidden() const
{ return testWState(WState_ForceHide); }

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 QString &s )
{ drawText( p.x(), p.y(), s ); }

inline QWidget *QWidget::parentWidget() const
{ return (QWidget *)QObject::parent(); }

inline QWidgetMapper *QWidget::wmapper()
{ return mapper; }

inline uint QWidget::getWState() const
{ return widget_state; }

inline void QWidget::setWState( uint f )
{ widget_state |= f; }

inline void QWidget::clearWState( uint f )
{ widget_state &= ~f; }

inline Qt::WFlags QWidget::getWFlags() const
{ return widget_flags; }

inline void QWidget::setWFlags( WFlags f )
{ widget_flags |= f; }

inline void QWidget::clearWFlags( WFlags f )
{ widget_flags &= ~f; }

inline void QWidget::constPolish() const
{
    if ( !testWState(WState_Polished) ) {
	QWidget* that = (QWidget*) this;
	that->polish();
        that->setWState(WState_Polished);  
    }
}

inline bool QWidget::ownCursor() const
{
    return testWState( WState_OwnCursor );
}

inline bool QWidget::ownFont() const
{
    return own_font;
}

inline bool QWidget::ownPalette() const
{
    return own_palette;
}


 
 
 

class QFocusData;
class QWSManager;




struct QTLWExtra {
    QString  caption;				 
    QString  iconText;				 
    QPixmap *icon;				 
    QFocusData *focusData;			 
    QSize    fsize;				 
    short    incw, inch;			 
    uint     iconic: 1;				 
    uint     fullscreen : 1;			 
    uint     showMode: 2;			 
    short    basew, baseh;			 

    WId	     parentWinId;			 
    uint     embedded : 1;			 
    uint     reserved: 2;			 
    uint     dnd : 1; 				 
    uint     uspos : 1;                          
    uint     ussize : 1;                         
    void    *xic;				 








    QRect    normalGeometry;			 
};


#define QWIDGETSIZE_MAX 32767

 

struct QWExtra {
    Q_INT16  minw, minh;			 
    Q_INT16  maxw, maxh;			 
    QPixmap *bg_pix;				 
    QWidget *focus_proxy;

    QCursor *curs;

    QTLWExtra *topextra;			 




    WId	     xDndProxy;				 




    char     bg_mode;				 

    QStyle* style;

    QRect micro_focus_hint;                      
    QSizePolicy size_policy;
    void * posted_events;			 
};



# 42 "/usr/include/qt/qapplication.h" 2 3

# 1 "/usr/include/qt/qasciidict.h" 1 3
 





































#define QASCIIDICT_H


# 1 "/usr/include/qt/qgdict.h" 1 3
 





































#define QGDICT_H


# 1 "/usr/include/qt/qcollection.h" 1 3
 





































#define QCOLLECTION_H






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;			 

    typedef void *Item;				 

protected:
    QCollection() { del_item = FALSE; }		 
    QCollection(const QCollection &) { del_item = FALSE; }
    virtual ~QCollection() {}

    bool del_item;				 

    virtual Item     newItem( Item );		 
    virtual void     deleteItem( Item );	 
};



# 42 "/usr/include/qt/qgdict.h" 2 3




class QGDictIterator;
class QGDItList;


class QBaseBucket				 
{
public:
    QCollection::Item	 getData()			{ return data; }
    QCollection::Item	 setData( QCollection::Item d ) { return data = d; }
    QBaseBucket		*getNext()			{ return next; }
    void		 setNext( QBaseBucket *n)	{ next = n; }
protected:
    QBaseBucket( QCollection::Item d, QBaseBucket *n ) : data(d), next(n) {}
    QCollection::Item	 data;
    QBaseBucket		*next;
};

class QStringBucket : public QBaseBucket
{
public:
    QStringBucket( const QString &k, QCollection::Item d, QBaseBucket *n )
	: QBaseBucket(d,n), key(k)		{}
    const QString  &getKey() const		{ return key; }
private:
    QString	    key;
};

class QAsciiBucket : public QBaseBucket
{
public:
    QAsciiBucket( const char *k, QCollection::Item d, QBaseBucket *n )
	: QBaseBucket(d,n), key(k) {}
    const char *getKey() const { return key; }
private:
    const char *key;
};

class QIntBucket : public QBaseBucket
{
public:
    QIntBucket( long k, QCollection::Item d, QBaseBucket *n )
	: QBaseBucket(d,n), key(k) {}
    long  getKey() const { return key; }
private:
    long  key;
};

class QPtrBucket : public QBaseBucket
{
public:
    QPtrBucket( void *k, QCollection::Item d, QBaseBucket *n )
	: QBaseBucket(d,n), key(k) {}
    void *getKey() const { return key; }
private:
    void *key;
};


class   QGDict : public QCollection	 
{
public:
    uint	count() const	{ return numItems; }
    uint	size()	const	{ return vlen; }
    QCollection::Item look_string( const QString& key, QCollection::Item,
				   int );
    QCollection::Item look_ascii( const char *key, QCollection::Item, int );
    QCollection::Item look_int( long key, QCollection::Item, int );
    QCollection::Item look_ptr( void *key, QCollection::Item, int );

    QDataStream &read( QDataStream & );
    QDataStream &write( QDataStream & ) const;

protected:
    enum KeyType { StringKey, AsciiKey, IntKey, PtrKey };

    QGDict( uint len, KeyType kt, bool cs, bool ck );
    QGDict( const QGDict & );
   ~QGDict();

    QGDict     &operator=( const QGDict & );

    bool	remove_string( const QString &key, QCollection::Item item=0 );
    bool	remove_ascii( const char *key, QCollection::Item item=0 );
    bool	remove_int( long key, QCollection::Item item=0 );
    bool	remove_ptr( void *key, QCollection::Item item=0 );
    QCollection::Item take_string( const QString &key );
    QCollection::Item take_ascii( const char *key );
    QCollection::Item take_int( long key );
    QCollection::Item take_ptr( void *key );

    void	clear();
    void	resize( uint );

    int		hashKeyString( const QString & );
    int		hashKeyAscii( const char * );

    void	statistics() const;


    virtual QDataStream &read( QDataStream &, QCollection::Item & );
    virtual QDataStream &write( QDataStream &, QCollection::Item ) const;

private:
    QBaseBucket **vec;
    uint	vlen;
    uint	numItems;
    uint	keytype	: 2;
    uint	cases	: 1;
    uint	copyk	: 1;
    QGDItList  *iterators;
    void	   unlink_common( int, QBaseBucket *, QBaseBucket * );
    QStringBucket *unlink_string( const QString &,
				  QCollection::Item item = 0 );
    QAsciiBucket  *unlink_ascii( const char *, QCollection::Item item = 0 );
    QIntBucket    *unlink_int( long, QCollection::Item item = 0 );
    QPtrBucket    *unlink_ptr( void *, QCollection::Item item = 0 );
    void	init( uint, KeyType, bool, bool );
    friend class QGDictIterator;
};


class   QGDictIterator			 
{
friend class QGDict;
public:
    QGDictIterator( const QGDict & );
    QGDictIterator( const QGDictIterator & );
    QGDictIterator &operator=( const QGDictIterator & );
   ~QGDictIterator();

    QCollection::Item toFirst();

    QCollection::Item get()	     const;
    QString	      getKeyString() const;
    const char	     *getKeyAscii()  const;
    long	      getKeyInt()    const;
    void	     *getKeyPtr()    const;

    QCollection::Item operator()();
    QCollection::Item operator++();
    QCollection::Item operator+=(uint);

protected:
    QGDict	     *dict;

private:
    QBaseBucket      *curNode;
    uint	      curIndex;
};

inline QCollection::Item QGDictIterator::get() const
{
    return curNode ? curNode->getData() : 0;
}

inline QString QGDictIterator::getKeyString() const
{
    return curNode ? ((QStringBucket*)curNode)->getKey() : QString::null;
}

inline const char *QGDictIterator::getKeyAscii() const
{
    return curNode ? ((QAsciiBucket*)curNode)->getKey() : 0;
}

inline long QGDictIterator::getKeyInt() const
{
    return curNode ? ((QIntBucket*)curNode)->getKey() : 0;
}

inline void *QGDictIterator::getKeyPtr() const
{
    return curNode ? ((QPtrBucket*)curNode)->getKey() : 0;
}



# 42 "/usr/include/qt/qasciidict.h" 2 3




template<class type> class   QAsciiDict : public QGDict
{
public:
    QAsciiDict(int size=17, bool caseSensitive=TRUE, bool copyKeys=TRUE )
	: QGDict(size,AsciiKey,caseSensitive,copyKeys) {}
    QAsciiDict( const QAsciiDict<type> &d ) : QGDict(d) {}
   ~QAsciiDict()			{ clear(); }
    QAsciiDict<type> &operator=(const QAsciiDict<type> &d)
			{ return (QAsciiDict<type>&)QGDict::operator=(d); }
    uint  count()   const		{ return QGDict::count(); }
    uint  size()    const		{ return QGDict::size(); }
    bool  isEmpty() const		{ return QGDict::count() == 0; }

    void  insert( const char *k, const type *d )
					{ QGDict::look_ascii(k,(Item)d,1); }
    void  replace( const char *k, const type *d )
					{ QGDict::look_ascii(k,(Item)d,2); }
    bool  remove( const char *k )	{ return QGDict::remove_ascii(k); }
    type *take( const char *k )		{ return (type *)QGDict::take_ascii(k); }
    type *find( const char *k ) const
		{ return (type *)((QGDict*)this)->QGDict::look_ascii(k,0,0); }
    type *operator[]( const char *k ) const
		{ return (type *)((QGDict*)this)->QGDict::look_ascii(k,0,0); }

    void  clear()			{ QGDict::clear(); }
    void  resize( uint n )		{ QGDict::resize(n); }
    void  statistics() const		{ QGDict::statistics(); }
private:
    void  deleteItem( Item d )		{ if ( del_item ) delete (type *)d; }
};


template<class type> class   QAsciiDictIterator : public QGDictIterator
{
public:
    QAsciiDictIterator(const QAsciiDict<type> &d)
	: QGDictIterator((QGDict &)d) {}
   ~QAsciiDictIterator()      {}
    uint  count()   const     { return dict->count(); }
    bool  isEmpty() const     { return dict->count() == 0; }
    type *toFirst()	      { return (type *)QGDictIterator::toFirst(); }
    operator type *() const   { return (type *)QGDictIterator::get(); }
    type   *current() const   { return (type *)QGDictIterator::get(); }
    const char *currentKey() const { return QGDictIterator::getKeyAscii(); }
    type *operator()()	      { return (type *)QGDictIterator::operator()(); }
    type *operator++()	      { return (type *)QGDictIterator::operator++(); }
    type *operator+=(uint j)  { return (type *)QGDictIterator::operator+=(j);}
};



# 43 "/usr/include/qt/qapplication.h" 2 3


# 1 "/usr/include/qt/qtranslator.h" 1 3
 






































#define QTRANSLATOR_H



# 1 "/usr/include/qt/qintdict.h" 1 3
 





































#define QINTDICT_H






template<class type> class   QIntDict : public QGDict
{
public:
    QIntDict(int size=17) : QGDict(size,IntKey,0,0) {}
    QIntDict( const QIntDict<type> &d ) : QGDict(d) {}
   ~QIntDict()				{ clear(); }
    QIntDict<type> &operator=(const QIntDict<type> &d)
			{ return (QIntDict<type>&)QGDict::operator=(d); }
    uint  count()   const		{ return QGDict::count(); }
    uint  size()    const		{ return QGDict::size(); }
    bool  isEmpty() const		{ return QGDict::count() == 0; }
    void  insert( long k, const type *d )
					{ QGDict::look_int(k,(Item)d,1); }
    void  replace( long k, const type *d )
					{ QGDict::look_int(k,(Item)d,2); }
    bool  remove( long k )		{ return QGDict::remove_int(k); }
    type *take( long k )		{ return (type*)QGDict::take_int(k); }
    type *find( long k ) const
		{ return (type *)((QGDict*)this)->QGDict::look_int(k,0,0); }
    type *operator[]( long k ) const
		{ return (type *)((QGDict*)this)->QGDict::look_int(k,0,0); }
    void  clear()			{ QGDict::clear(); }
    void  resize( uint n )		{ QGDict::resize(n); }
    void  statistics() const		{ QGDict::statistics(); }
private:
    void  deleteItem( Item d );
};


template<> inline void QIntDict<void>::deleteItem( QCollection::Item )
{
}


template<class type> inline void QIntDict<type>::deleteItem( QCollection::Item d )
{
    if ( del_item ) delete (type *)d;
}

template<class type> class   QIntDictIterator : public QGDictIterator
{
public:
    QIntDictIterator(const QIntDict<type> &d) :QGDictIterator((QGDict &)d) {}
   ~QIntDictIterator()	      {}
    uint  count()   const     { return dict->count(); }
    bool  isEmpty() const     { return dict->count() == 0; }
    type *toFirst()	      { return (type *)QGDictIterator::toFirst(); }
    operator type *()  const  { return (type *)QGDictIterator::get(); }
    type *current()    const  { return (type *)QGDictIterator::get(); }
    long  currentKey() const  { return QGDictIterator::getKeyInt(); }
    type *operator()()	      { return (type *)QGDictIterator::operator()(); }
    type *operator++()	      { return (type *)QGDictIterator::operator++(); }
    type *operator+=(uint j)  { return (type *)QGDictIterator::operator+=(j);}
};



# 44 "/usr/include/qt/qtranslator.h" 2 3





class QTranslatorPrivate;


class   QTranslatorMessage
{
public:
    QTranslatorMessage();
    QTranslatorMessage( const char * context,
			const char * sourceText,
			const char * comment,
			const QString& translation = QString::null );
    QTranslatorMessage( QDataStream & );
    QTranslatorMessage( const QTranslatorMessage & m );

    QTranslatorMessage & operator=( const QTranslatorMessage & m );

    uint hash() const { return h; }
    const char *context() const { return cx; }
    const char *sourceText() const { return st; }
    const char *comment() const { return cm; }

    void setTranslation( const QString & translation ) { tn = translation; }
    QString translation() const { return tn; }

    enum Prefix { NoPrefix, Hash, HashContext, HashContextSourceText,
    		  HashContextSourceTextComment };
    void write( QDataStream & s, bool strip,
		Prefix prefix = HashContextSourceTextComment ) const;
    Prefix commonPrefix( const QTranslatorMessage& ) const;

    bool operator==( const QTranslatorMessage& m ) const;
    bool operator!=( const QTranslatorMessage& m ) const
    { return !operator==( m ); }
    bool operator<( const QTranslatorMessage& m ) const;
    bool operator<=( const QTranslatorMessage& m ) const
    { return !operator>( m ); }
    bool operator>( const QTranslatorMessage& m ) const
    { return this->operator<( m ); }
    bool operator>=( const QTranslatorMessage& m ) const
    { return !operator<( m ); }

private:
    uint h;
    QCString cx;
    QCString st;
    QCString cm;
    QString tn;

    enum Tag { Tag_End = 1, Tag_SourceText16, Tag_Translation, Tag_Context16,
	       Tag_Hash, Tag_SourceText, Tag_Context, Tag_Comment,
	       Tag_Obsolete1 };
};


class   QTranslator: public QObject
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
public:
    QTranslator( QObject * parent, const char * name = 0 );
    ~QTranslator();

 
    QString find( const char *, const char *, const char * ) const;
 
    virtual QString find( const char *, const char * ) const;
 
    QTranslatorMessage findMessage( const char *, const char *,
				    const char * ) const;

    bool load( const QString & filename,
	       const QString & directory = QString::null,
	       const QString & search_delimiters = QString::null,
	       const QString & suffix = QString::null );

    enum SaveMode { Everything, Stripped };

    bool save( const QString & filename, SaveMode mode = Everything );

    void clear();

    void insert( const QTranslatorMessage& );
 
    void insert( const char *, const char *, const QString & );
    void remove( const QTranslatorMessage& );
 
    void remove( const char *, const char * );
    bool contains( const char *, const char *, const char * ) const;
 
    bool contains( const char *, const char * ) const;

 
 
    void squeeze( SaveMode );
    void squeeze();
    void unsqueeze();

    QValueList<QTranslatorMessage> messages() const;

private:
    QTranslatorPrivate * d;

private:	 

    QTranslator( const QTranslator & );
    QTranslator &operator=( const QTranslator & );

};




# 45 "/usr/include/qt/qapplication.h" 2 3



class QSessionManager;
class QStyle;
class QTranslator;



template <class type> class QList;

class QApplication;
extern   QApplication *qApp;		 






 
#define QNonBaseApplication QApplication

class   QApplication : public QObject
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
public:
    QApplication( int &argc, char **argv);
    QApplication( int &argc, char **argv, bool GUIenabled );
    enum Type { Tty, GuiClient, GuiServer };
    QApplication( int &argc, char **argv, Type );

    QApplication( Display* dpy );
    QApplication( Display *dpy, int argc, char **argv);

    virtual ~QApplication();

    int		    argc()	const;
    char	  **argv()	const;

    Type type() const;


    static QStyle  &style();
    static void	    setStyle( QStyle* );


    enum ColorMode { NormalColors, CustomColors };
    static ColorMode colorMode();
    static void      setColorMode( QApplication::ColorMode );


    enum ColorSpec { NormalColor=0, CustomColor=1, ManyColor=2 };
    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( const QWidget* = 0 );
    static void	     setPalette( const QPalette &, bool informWidgets=FALSE,
				 const char* className = 0 );

    static QFont     font( const QWidget* = 0 );
    static void	     setFont( const QFont &, bool informWidgets=FALSE,
			      const char* className = 0 );
    static QFontMetrics fontMetrics();

    QWidget	    *mainWidget()  const;
    virtual void     setMainWidget( QWidget * );
    virtual void     polish( QWidget * );

    static QWidgetList *allWidgets();
    static QWidgetList *topLevelWidgets();
    static QWidget     *desktop();
    static QWidget     *activePopupWidget();
    static QWidget     *activeModalWidget();
    static QClipboard  *clipboard();
    QWidget	       *focusWidget() const;
    QWidget	       *activeWindow() 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();
    int		     loopLevel() const;
    static void	     exit( int retcode=0 );

    static bool	     sendEvent( QObject *receiver, QEvent *event );
    static void	     postEvent( QObject *receiver, QEvent *event );
    static void	     sendPostedEvents( QObject *receiver, int event_type );
    static void	     sendPostedEvents();

    static void      removePostedEvents( QObject *receiver );

    virtual bool     notify( QObject *, QEvent * );

    static bool	     startingUp();
    static bool	     closingDown();

    static void	     flushX();
    static void	     syncX();

    static void	     beep();


    void	     setDefaultCodec( QTextCodec* );
    QTextCodec*	     defaultCodec() const;
    void	     installTranslator( QTranslator * );
    void	     removeTranslator( QTranslator * );

    QString	     translate( const char *, const char * ) const;
    QString	     translate( const char *, const char *,
				const char * ) const;

    static void      setWinStyleHighlightColor( const QColor & );
    static const QColor &winStyleHighlightColor();

    static void      setDesktopSettingsAware( bool );
    static bool      desktopSettingsAware();

    static void      setCursorFlashTime( int );
    static int       cursorFlashTime();

    static void      setDoubleClickInterval( int );
    static int       doubleClickInterval();

    static void      setWheelScrollLines( int );
    static int       wheelScrollLines();

    static void	     setGlobalStrut( const QSize & );
    static QSize     globalStrut();

    static void setStartDragTime( int ms );
    static int startDragTime();
    static void setStartDragDistance( int l );
    static int startDragDistance();

    static bool	    isEffectEnabled( Qt::UIEffect );
    static void	    setEffectEnabled( Qt::UIEffect, bool enable = TRUE );








    virtual bool     x11EventFilter( XEvent * );
    virtual int	     x11ClientMessage( QWidget*, XEvent*, bool passive_only);
    int              x11ProcessEvent( XEvent* );
# 212 "/usr/include/qt/qapplication.h" 3









     
    bool	     isSessionRestored() const;
    QString	     sessionId() const;
    virtual void     commitData( QSessionManager& sm );
    virtual void     saveState( QSessionManager& sm );


    static void create_xim();
    static void close_xim();

    void	     wakeUpGuiThread();






protected :
    void	     lastWindowClosed();
    void	     aboutToQuit();
    void	     guiThreadAwake();

public  :
    void	     quit();
    void	     closeAllWindows();

private:
    void	     construct( int &argc, char **argv, Type );
    bool	     processNextEvent( bool );
    void	     initialize( int, char ** );
    void	     init_precmdline();
    void	     process_cmdline( int* argcptr, char ** argv );




    




    int		     app_argc;
    char	   **app_argv;
    bool	     quit_now;
    int		     quit_code;
    static QStyle   *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 bool	     app_exit_loop;
    static int	     loop_level;
    static QWidget  *main_widget;
    static QWidget  *focus_widget;
    static QWidget  *active_window;
    static bool	     obey_desktop_settings;
    static int	     cursor_flash_time;
    static int	     mouse_double_click_time;
    static int	     wheel_scroll_lines;

    static bool	     animate_ui;
    static bool	     animate_menu;
    static bool	     animate_tooltip;
    static bool	     animate_combo;
    static bool	     fade_menu;
    static bool	     fade_tooltip;

    QList<QTranslator> *translators;

    QSessionManager *session_manager;
    QString	     session_id;
    bool	     is_session_restored;


    static void x11_initialize_style();


    static QSize     app_strut;

    static QAsciiDict<QPalette> *app_palettes;
    static QAsciiDict<QFont>    *app_fonts;

    static QWidgetList *popupWidgets;
    bool	     inPopupMode() const;
    void	     closePopup( QWidget *popup );
    void	     openPopup( QWidget *popup );
    void 	     setActiveWindow( QWidget* act );

    static void      removePostedEvent( QEvent * );

    friend class QWidget;
    friend class QETWidget;
    friend class QEvent;

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 QStyle& QApplication::style()
{
    return *app_style;
}


inline QCursor *QApplication::overrideCursor()
{
    return app_cursor;
}

inline bool QApplication::hasGlobalMouseTracking()
{
    return app_tracking > 0;
}

inline QWidget *QApplication::mainWidget() const
{
    return main_widget;
}

inline QWidget *QApplication::focusWidget() const
{
    return focus_widget;
}

inline QWidget *QApplication::activeWindow() const
{
    return active_window;
}

inline QWidget *QApplication::widgetAt( const QPoint &p, bool child )
{
    return widgetAt( p.x(), p.y(), child );
}

inline bool QApplication::inPopupMode() const
{
    return popupWidgets != 0;
}

inline bool QApplication::isSessionRestored() const
{
    return is_session_restored;
}

inline QString QApplication::sessionId() const
{
    return session_id;
}

inline QSize QApplication::globalStrut()
{
    return app_strut;
}

inline bool QApplication::sendEvent( QObject *receiver, QEvent *event )
{ return qApp->notify( receiver, event ); }











# 41 "/usr/include/kde/kapp.h" 2 3

# 1 "/usr/include/qt/qpixmap.h" 1 3
 





































#define QPIXMAP_H








class QGfx;







class   QPixmap : public QPaintDevice, public Qt
{
public:
    enum ColorMode { Auto, Color, Mono };
    enum Optimization { DefaultOptim, NoOptim, MemoryOptim=NoOptim,
			NormalOptim, BestOptim };

    QPixmap();
    QPixmap( int w, int h,  int depth = -1, Optimization = DefaultOptim );
    QPixmap( const QSize &, int depth = -1, Optimization = DefaultOptim );
    QPixmap( const QString& fileName, const char *format=0,
	     ColorMode mode=Auto );
    QPixmap( const QString& fileName, const char *format,
	     int conversion_flags );
    QPixmap( const char *xpm[] );
    QPixmap( const QByteArray &data );
    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 = Qt::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 );
    static  QPixmap grabWidget( QWidget * widget,
				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 QString &fileName );
    bool	load( const QString& fileName, const char *format=0,
		      ColorMode mode=Auto );
    bool	load( const QString& 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( const QByteArray &data,
			      const char* format=0,
			      int conversion_flags=0 );
    bool	save( const QString& fileName, const char* format ) const;  
    bool	save( const QString& fileName, const char* format,
		      int quality ) const;  





    int		serialNumber()	const;

    Optimization	optimization() const;
    void		setOptimization( Optimization );
    static Optimization defaultOptimization();
    static void		setDefaultOptimization( Optimization );

    virtual void detach();

    bool	isQBitmap() const;

# 152 "/usr/include/qt/qpixmap.h" 3














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	uninit	 : 1;
	uint	bitmap	 : 1;
	uint	selfmask : 1;



	int	ser_no;
	QBitmap *mask;








	void   *ximage;
	void   *maskgc;








	Optimization optim;
    } *data;

private:
    QPixmap( int w, int h, int depth, bool, Optimization );
    void	init( int, int, int, bool, Optimization );
    void	deref();
    QPixmap	copy( bool ignoreMask = FALSE ) const;
    static Optimization defOptim;
    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 );
    friend class QBitmap;
    friend class QPaintDevice;
    friend class QPainter;
};


inline bool QPixmap::isNull() const
{
    return data->w == 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->optim;
}

inline bool QPixmap::isQBitmap() const
{
    return data->bitmap;
}









 




  QDataStream &operator<<( QDataStream &, const QPixmap & );
  QDataStream &operator>>( QDataStream &, QPixmap & );



# 42 "/usr/include/kde/kapp.h" 2 3

# 1 "/usr/include/kde/kinstance.h" 1 3
 

















#define _KINSTANCE_H

class KStandardDirs;
class KAboutData;
class KConfig;
class KIconLoader;
class KCharsets;
class QFont;
class KInstancePrivate;
class KMimeSourceFactory;




 








class KInstance
{
    friend class KStandardDirs;

 public:
     



    KInstance( const QCString& instanceName) ;

     










    KInstance( const KAboutData * aboutData );

     


    virtual ~KInstance();

     


    KStandardDirs	*dirs() const;

     


    KConfig            *config() const;

     


    KIconLoader	       *iconLoader() const;

     


    void newIconLoader() const;

    KCharsets	     *charsets() const;

     



    const KAboutData *aboutData() const;

     


    QCString          instanceName() const;

     




    KMimeSourceFactory* mimeSourceFactory () const;

protected:
     


    KInstance( const KInstance& );

private:
    mutable KStandardDirs       *_dirs;

    mutable KConfig             *_config;
    mutable KIconLoader         *_iconLoader;

    QCString                     _name;
    const KAboutData            *_aboutData;

    KInstancePrivate *d;
};



# 43 "/usr/include/kde/kapp.h" 2 3

# 1 "/usr/include/kde/kurl.h" 1 3
 



















#define __kurl_h__ "$Id: kurl.h,v 1.74 2001/01/10 04:31:55 adawit Exp $"




class QUrl;
class QStringList;

struct KURLPrivate;

 




















class KURL
{
public:
  class List : public QValueList<KURL>
  {
  public:
      List() { }
      List(const QStringList &);
      QStringList toStringList() const;
  };
   


  KURL();

   


  ~KURL();

   














  KURL( const QString& url, int encoding_hint = 0 );
   




  KURL( const char * url, int encoding_hint = 0 );
   


  KURL( const KURL& u );
   


  KURL( const QUrl &u );
   








  KURL( const KURL& _baseurl, const QString& _rel_url, int encoding_hint=0 );

   


  QString protocol() const { return m_bIsMalformed ? QString::null : m_strProtocol; }
   


  void setProtocol( const QString& _txt );

   


  QString user() const { return m_strUser; }
   




  void setUser( const QString& _txt );
   


  bool hasUser() const { return !m_strUser.isEmpty(); }

   


  QString pass() const { return m_strPass; }
   




  void setPass( const QString& _txt );
   


  bool hasPass() const { return !m_strPass.isEmpty(); }

   


  QString host() const { return m_strHost; }
   




  void setHost( const QString& _txt );
   


  bool hasHost() const { return !m_strHost.isEmpty(); }

   



  unsigned short int port() const { return m_iPort; }
   


  void setPort( unsigned short int _p );

   



  QString path() const  { return m_strPath; }

   











  QString path( int _trailing ) const;

   




  void setPath( const QString& path );
   


  bool hasPath() const { return !m_strPath.isEmpty(); }

   



  void cleanPath();
   
   





   
  void cleanPath(bool cleanDirSeparator);

   




  void setEncodedPathAndQuery( const QString& _txt, int encoding_hint = 0 );

   





  QString encodedPathAndQuery( int _trailing = 0, bool _no_empty_path = false, int encoding_hint = 0) const;

   






  void setQuery( const QString& _txt, int encoding_hint = 0);

   






  QString query() const { return m_strQuery_encoded; }

   


  QString ref() const { return m_strRef_encoded; }

   



  void setRef( const QString& _txt ) { m_strRef_encoded = _txt; }

   



  bool hasRef() const { return !m_strRef_encoded.isEmpty(); }

   


  QString htmlRef() const;

   






  void setHTMLRef( const QString& _ref );

   




  bool hasHTMLRef() const;

   



  bool isValid() const  { return !m_bIsMalformed; }
   


  bool isMalformed() const { return !isValid(); }

   



  bool isLocalFile() const;

   



  bool hasSubURL() const;

   









  void addPath( const QString& _txt );

   










  void setFileName( const QString&_txt );

   








  QString fileName( bool _ignore_trailing_slash_in_path = true ) const;
  QString filename( bool _ignore_trailing_slash_in_path = true ) const
  {
    return fileName(_ignore_trailing_slash_in_path);
  }

   










  QString directory( bool _strip_trailing_slash_from_result = true,
		     bool _ignore_trailing_slash_in_path = true ) const;

   











  bool cd( const QString& _dir );

   







  QString url( int _trailing = 0 ) const;

   










  QString url( int _trailing, int encoding_hint ) const;

   




  QString prettyURL( int _trailing = 0) const;

   


  bool isEmpty() const;

   






  KURL upURL( ) const;

  KURL& operator=( const KURL& _u );
  KURL& operator=( const QString& _url );
  KURL& operator=( const char * _url );
  KURL& operator=( const QUrl & u );

  bool operator==( const KURL& _u ) const;
  bool operator==( const QString& _u ) const;
  bool operator!=( const KURL& _u ) const { return !( *this == _u ); }
  bool operator!=( const QString& _u ) const { return !( *this == _u ); }

   






  bool cmp( const KURL &u, bool ignore_trailing = false ) const;

   



  bool isParentOf( const KURL& u ) const;

   













  static List split( const QString& _url );

   


  static List split( const KURL& _url );

   




  static KURL join( const List& _list );

   







  static QString encode_string(const QString &str, int encoding_hint = 0);

   








  static QString encode_string_no_slash(const QString &str, int encoding_hint = 0);

   








  static QString decode_string(const QString &str, int encoding_hint = 0);

   







  static bool isRelativeURL(const QString &_url);

protected:
  void reset();
  void parse( const QString& _url, int encoding_hint = 0);

private:
  QString m_strProtocol;
  QString m_strUser;
  QString m_strPass;
  QString m_strHost;
  QString m_strPath;
  QString m_strRef_encoded;
  QString m_strQuery_encoded;
  KURLPrivate* d;
  bool m_bIsMalformed : 1;
  int freeForUse      : 7;
  unsigned short int m_iPort;
  QString m_strPath_encoded;

  friend QDataStream & operator<< (QDataStream & s, const KURL & a);
  friend QDataStream & operator>> (QDataStream & s, KURL & a);
};

 





bool urlcmp( const QString& _url1, const QString& _url2 );

 








bool urlcmp( const QString& _url1, const QString& _url2, bool _ignore_trailing, bool _ignore_ref );

QDataStream & operator<< (QDataStream & s, const KURL & a);
QDataStream & operator>> (QDataStream & s, KURL & a);


# 44 "/usr/include/kde/kapp.h" 2 3


struct _IceConn;
class QPopupMenu;
class QStrList;
class KSessionManaged;
#define kapp KApplication::kApplication()

class KApplicationPrivate;

 




















class KApplication : public QApplication, public KInstance
{

  public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
public:
  enum CaptionLayout { CaptionAppLast=1, CaptionAppFirst, CaptionNoApp };

   












  KApplication( bool allowStyles=true, bool GUIenabled=true);

   



















  KApplication(Display *display, int& argc, char** argv, const QCString& rAppName,
               bool allowStyles=true, bool GUIenabled=true);

   

















  KApplication(int& argc, char** argv,
              const QCString& rAppName, bool allowStyles=true, bool GUIenabled=true);

   


  static void addCmdLineOptions();

  virtual ~KApplication();

   








  static KApplication* kApplication() { return KApp; }

   






  KConfig* sessionConfig();

   







  bool isRestored() const { return QApplication::isSessionRestored(); }

   





  void disableSessionManagement();

   





  bool requestShutDown();

   












    void propagateSessionManager();

     




  void commitData( QSessionManager& sm );

     




  void saveState( QSessionManager& sm );

   


  virtual DCOPClient *dcopClient();

   




  QPixmap icon() const;

   




  QPixmap miniIcon() const;

   










  void setTopWidget( QWidget *topWidget );

   









  void invokeHelp( const QString& anchor = QString::null,
                   const QString& appname = QString::null ) const;

   











  void invokeHTMLHelp( const QString& aFilename, const QString& aTopic = QString::null ) const;

   





  void invokeMailer( const QString &address, const QString &subject );

   




  void invokeMailer( const KURL &mailtoURL );

   




  void invokeBrowser( const QString &url );

   




  static QCString launcher();

   















   












  static int startServiceByName( const QString& _name, const QString &URL,
                QString *error=0, QCString *dcopService=0, int *pid=0 );
  static int startServiceByName( const QString& _name, const QStringList &URLs=QStringList(),
                QString *error=0, QCString *dcopService=0, int *pid=0 );

   












  static int startServiceByDesktopPath( const QString& _name, const QString &URL,
                QString *error=0, QCString *dcopService=0, int *pid = 0 );
  static int startServiceByDesktopPath( const QString& _name, const QStringList &URLs=QStringList(),
                QString *error=0, QCString *dcopService=0, int *pid = 0 );

   













  static int startServiceByDesktopName( const QString& _name, const QString &URL,
                QString *error=0, QCString *dcopService=0, int *pid = 0 );
  static int startServiceByDesktopName( const QString& _name, const QStringList &URLs=QStringList(),
                QString *error=0, QCString *dcopService=0, int *pid = 0 );

   













  static int kdeinitExec( const QString& name, const QStringList &args=QStringList(),
                QString *error=0, int *pid = 0 );

   





  static int kdeinitExecWait( const QString& name, const QStringList &args=QStringList(),
                QString *error=0, int *pid = 0 );

   




  KStyle* kstyle() const {return pKStyle;}

   


  bool kdeFonts(QStringList &) const;

   






  QString caption() const;

   















  QString makeStdCaption( const QString &userCaption,
                          bool withAppName=true, bool modified=false ) const;

   






  QString tempSaveName( const QString& pFilename ) const;

   








  QString checkRecoverFile( const QString& pFilename, bool& bRecover ) const;

   


  Display *getDisplay() { return display; }

   






  void enableStyles();

   






  void disableStyles();

   








  void installX11EventFilter( QWidget* filter );

   



  static int random();

   



  static QString randomString(int length);

   





  void addKipcEventMask(int id);

   




  void removeKipcEventMask(int id);

public  :
   





  void ref();

   



  void deref();

     



  QString geometryArgument() const;

protected:
   


  bool x11EventFilter( XEvent * );


  Display *display;
  Atom kipcCommAtom;
  int kipcEventMask;

   
  static KApplication *KApp;
  int pArgc;

private  :
  void dcopFailure(const QString &);
  void dcopBlockUserInput( bool );
  void x11FilterDestroyed();
  void kstyleDestroyed();

private:
  KApplicationPrivate* d;
  KConfig* pSessionConfig;  
  DCOPClient *pDCOPClient;  
  QString aCaption;  
  bool bSessionManagement;
  QPixmap aIconPixmap;
  QPixmap aMiniIconPixmap;
  KStyle *pKStyle;  
  bool useStyles;
  void* styleHandle;  
  QWidget *smw;

  void init( bool GUIenabled );

  void parseCommandLine( );  

public:
   


  bool notify(QObject *receiver, QEvent *event);

   


  int xioErrhandler();

   


  void iceIOErrorHandler( _IceConn *conn );

   


  static bool loadedByKdeinit;

   


  enum SettingsCategory { SETTINGS_MOUSE, SETTINGS_COMPLETION, SETTINGS_PATHS,
         SETTINGS_POPUPMENU, SETTINGS_QT };

protected :
   





  void kdisplayPaletteChanged();

   






  void kdisplayStyleChanged();

   






  void kdisplayFontChanged();

   




  void appearanceChanged();

   


  void toolbarAppearanceChanged(int);

   




  void backgroundChanged(int desk);

   





  void settingsChanged(int category);

   


  void iconChanged(int group);

   


  void kipcMessage(int id, int data);

   




























  void saveYourself();

   






  void shutDown();

private:
  void propagateSettings(SettingsCategory category);
  void kdisplaySetPalette();
  void kdisplaySetStyle();
  void kdisplaySetFont();
  void applyGUIStyle(GUIStyle);

  int captionLayout;

  KApplication(const KApplication&);
  KApplication& operator=(const KApplication&);
};


 














bool checkAccess(const QString& pathname, int mode);


class KSessionManagedPrivate;

 















class KSessionManaged
{
public:
  KSessionManaged();
  virtual ~KSessionManaged();

     




  virtual bool saveState( QSessionManager& sm );
     




  virtual bool commitData( QSessionManager& sm );

private:
  KSessionManagedPrivate *d;
};




 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
# 25 "kdc.h" 2


# 1 "/usr/include/kde/kprocess.h" 1 3
 

















 
 
 
 
 
 
 
 
 


#define __kprocess_h__

# 1 "/usr/include/sys/types.h" 1 3
 

















 




#define 	_SYS_TYPES_H	1



extern "C" { 

# 1 "/usr/include/bits/types.h" 1 3
 

















 




#define 	_BITS_TYPES_H	1



#define __need_size_t
# 1 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 

 


# 188 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3

#undef 	__need_size_t



 




 

# 271 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


# 283 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 

 

# 317 "/usr/lib/gcc-lib/i386-linux/2.95.3/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 unsigned int __useconds_t;
typedef long int __suseconds_t;
typedef long int __swblk_t;		 

typedef long int __clock_t;

 
typedef int __clockid_t;

 
typedef int __timer_t;


 
#define __FD_SETSIZE	1024


typedef int __key_t;

 
typedef unsigned short int __ipc_pid_t;


 
typedef long int __blksize_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_quad_t __ino64_t;

 
typedef __loff_t __off64_t;

 
typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;

 
typedef int __intptr_t;

 
typedef unsigned int __socklen_t;


 

# 1 "/usr/include/bits/pthreadtypes.h" 1 3
 
 
 
 
 
 
 
 
 
 
 
 
 






#define _BITS_PTHREADTYPES_H	1

#define __need_schedparam
# 1 "/usr/include/bits/sched.h" 1 3
 



















# 62 "/usr/include/bits/sched.h" 3




#define __defined_schedparam	1
 
struct __sched_param
  {
    int __sched_priority;
  };
#undef __need_schedparam

# 23 "/usr/include/bits/pthreadtypes.h" 2 3


typedef int _lt_spinlock_t;

 
struct _pthread_fastlock
{
  long int __status;    
  _lt_spinlock_t __spinlock;  

};


 
typedef struct _pthread_descr_struct *_pthread_descr;
#define _PTHREAD_DESCR_DEFINED



 
typedef struct __pthread_attr_s
{
  int __detachstate;
  int __schedpolicy;
  struct __sched_param __schedparam;
  int __inheritsched;
  int __scope;
  size_t __guardsize;
  int __stackaddr_set;
  void *__stackaddr;
  size_t __stacksize;
} pthread_attr_t;


 
typedef struct
{
  struct _pthread_fastlock __c_lock;  
  _pthread_descr __c_waiting;         
} pthread_cond_t;


 
typedef struct
{
  int __dummy;
} pthread_condattr_t;

 
typedef unsigned int pthread_key_t;


 
 

typedef struct
{
  int __m_reserved;                
  int __m_count;                   
  _pthread_descr __m_owner;        
  int __m_kind;                    
  struct _pthread_fastlock __m_lock;  
} pthread_mutex_t;


 
typedef struct
{
  int __mutexkind;
} pthread_mutexattr_t;


 
typedef int pthread_once_t;


# 119 "/usr/include/bits/pthreadtypes.h" 3


# 138 "/usr/include/bits/pthreadtypes.h" 3



 
typedef unsigned long int pthread_t;


# 143 "/usr/include/bits/types.h" 2 3




# 30 "/usr/include/sys/types.h" 2 3



typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;


typedef __loff_t loff_t;



typedef __ino_t ino_t;



#define __ino_t_defined







typedef __dev_t dev_t;
#define __dev_t_defined



typedef __gid_t gid_t;
#define __gid_t_defined



typedef __mode_t mode_t;
#define __mode_t_defined



typedef __nlink_t nlink_t;
#define __nlink_t_defined



typedef __uid_t uid_t;
#define __uid_t_defined




typedef __off_t off_t;



#define __off_t_defined







typedef __pid_t pid_t;
#define __pid_t_defined



typedef __id_t id_t;
#define __id_t_defined



typedef __ssize_t ssize_t;
#define __ssize_t_defined



typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;



typedef __key_t key_t;
#define __key_t_defined





#define 	__need_time_t
#define __need_timer_t
#define __need_clockid_t
# 1 "/usr/include/time.h" 1 3
 

















 














# 51 "/usr/include/time.h" 3


# 61 "/usr/include/time.h" 3




#define __time_t_defined	1



 
typedef __time_t time_t;


#undef 	__need_time_t



#define __clockid_t_defined	1



 
typedef __clockid_t clockid_t;






#define __timer_t_defined	1



 
typedef __timer_t timer_t;


#undef 	__need_timer_t


# 112 "/usr/include/time.h" 3




# 364 "/usr/include/time.h" 3



# 126 "/usr/include/sys/types.h" 2 3


# 137 "/usr/include/sys/types.h" 3


#define 	__need_size_t
# 1 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 

 


# 188 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3

#undef 	__need_size_t



 




 

# 271 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


# 283 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 

 

# 317 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3




 





















# 140 "/usr/include/sys/types.h" 2 3



 
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;


 

# 174 "/usr/include/sys/types.h" 3


 
#define __intN_t(N, MODE) typedef int int##N##_t __attribute__ ((__mode__ (MODE)))

#define __u_intN_t(N, MODE) typedef unsigned int u_int##N##_t __attribute__ ((__mode__ (MODE)))



#define __int8_t_defined
typedef int int8_t __attribute__ ((__mode__ (  __QI__ ))) ;
typedef int int16_t __attribute__ ((__mode__ (  __HI__ ))) ;
typedef int int32_t __attribute__ ((__mode__ (  __SI__ ))) ;
typedef int int64_t __attribute__ ((__mode__ (  __DI__ ))) ;


typedef unsigned int u_int8_t __attribute__ ((__mode__ (  __QI__ ))) ;
typedef unsigned int u_int16_t __attribute__ ((__mode__ (  __HI__ ))) ;
typedef unsigned int u_int32_t __attribute__ ((__mode__ (  __SI__ ))) ;
typedef unsigned int u_int64_t __attribute__ ((__mode__ (  __DI__ ))) ;

typedef int register_t __attribute__ ((__mode__ (__word__)));


 


#define __BIT_TYPES_DEFINED__	1



 
# 1 "/usr/include/endian.h" 1 3
 


















#define 	_ENDIAN_H	1



 







#define 	__LITTLE_ENDIAN	1234
#define 	__BIG_ENDIAN	4321
#define 	__PDP_ENDIAN	3412

 
# 1 "/usr/include/bits/endian.h" 1 3
 





#define __BYTE_ORDER __LITTLE_ENDIAN
# 37 "/usr/include/endian.h" 2 3


 


#define __FLOAT_WORD_ORDER __BYTE_ORDER



#define LITTLE_ENDIAN	__LITTLE_ENDIAN
#define BIG_ENDIAN	__BIG_ENDIAN
#define PDP_ENDIAN	__PDP_ENDIAN
#define BYTE_ORDER	__BYTE_ORDER



#define __LONG_LONG_PAIR(HI, LO) LO, HI





# 206 "/usr/include/sys/types.h" 2 3


 
# 1 "/usr/include/sys/select.h" 1 3
 


















 


#define _SYS_SELECT_H	1



 


 
# 1 "/usr/include/bits/select.h" 1 3
 
























#define __FD_ZERO(fdsp) do {	int __d0, __d1;	__asm__ __volatile__ ("cld; rep; stosl"	: "=c" (__d0), "=D" (__d1)	: "a" (0), "0" (sizeof (fd_set)	/ sizeof (__fd_mask)),	"1" (&__FDS_BITS (fdsp)[0])	: "memory");	} while (0)
# 36 "/usr/include/bits/select.h" 3

#define __FD_SET(fd, fdsp) __asm__ __volatile__ ("btsl %1,%0"	: "=m" (__FDS_BITS (fdsp)[__FDELT (fd)])	: "r" (((int) (fd)) % __NFDBITS)	: "cc","memory")




#define __FD_CLR(fd, fdsp) __asm__ __volatile__ ("btrl %1,%0"	: "=m" (__FDS_BITS (fdsp)[__FDELT (fd)])	: "r" (((int) (fd)) % __NFDBITS)	: "cc","memory")




#define __FD_ISSET(fd, fdsp) (__extension__	({register char __result;	__asm__ __volatile__ ("btl %1,%2 ; setcb %b0"	: "=q" (__result)	: "r" (((int) (fd)) % __NFDBITS),	"m" (__FDS_BITS (fdsp)[__FDELT (fd)])	: "cc");	__result; }))
# 56 "/usr/include/bits/select.h" 3

# 72 "/usr/include/bits/select.h" 3

# 31 "/usr/include/sys/select.h" 2 3


 
# 1 "/usr/include/bits/sigset.h" 1 3
 



















#define _SIGSET_H_types	1

typedef int __sig_atomic_t;

 

#define _SIGSET_NWORDS	(1024 / (8 * sizeof (unsigned long int)))
typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int))) ];
  } __sigset_t;




 





# 125 "/usr/include/bits/sigset.h" 3

# 34 "/usr/include/sys/select.h" 2 3



#define __sigset_t_defined
typedef __sigset_t sigset_t;


 
#define __need_timespec
# 1 "/usr/include/time.h" 1 3
 

















 














# 51 "/usr/include/time.h" 3


# 61 "/usr/include/time.h" 3



# 72 "/usr/include/time.h" 3



# 84 "/usr/include/time.h" 3



# 96 "/usr/include/time.h" 3






#define __timespec_defined	1

 

struct timespec
  {
    long int tv_sec;		 
    long int tv_nsec;		 
  };


#undef 	__need_timespec


# 364 "/usr/include/time.h" 3



# 43 "/usr/include/sys/select.h" 2 3

#define __need_timeval
# 1 "/usr/include/bits/time.h" 1 3
 


















 



# 57 "/usr/include/bits/time.h" 3



#undef __need_timeval

#define _STRUCT_TIMEVAL	1


 

struct timeval
  {
    __time_t tv_sec;		 
    __suseconds_t tv_usec;	 
  };


# 45 "/usr/include/sys/select.h" 2 3



 
typedef long int __fd_mask;

 
#define __NFDBITS	(8 * sizeof (__fd_mask))
#define 	__FDELT(d)	((d) / __NFDBITS)
#define 	__FDMASK(d)	((__fd_mask) 1 << ((d) % __NFDBITS))

 
typedef struct
  {
     





    __fd_mask __fds_bits[1024  / (8 * sizeof (__fd_mask)) ];
#define __FDS_BITS(set) ((set)->__fds_bits)

  } fd_set;

 
#define 	FD_SETSIZE		__FD_SETSIZE


 
typedef __fd_mask fd_mask;

 
#define NFDBITS		__NFDBITS



 
#define 	FD_SET(fd, fdsetp)	__FD_SET (fd, fdsetp)
#define 	FD_CLR(fd, fdsetp)	__FD_CLR (fd, fdsetp)
#define 	FD_ISSET(fd, fdsetp)	__FD_ISSET (fd, fdsetp)
#define 	FD_ZERO(fdsetp)		__FD_ZERO (fdsetp)


extern "C" { 

 




extern int select (int __nfds, fd_set *__restrict __readfds,
		   fd_set *__restrict __writefds,
		   fd_set *__restrict __exceptfds,
		   struct timeval *__restrict __timeout) throw () ;

# 110 "/usr/include/sys/select.h" 3


} 


# 209 "/usr/include/sys/types.h" 2 3


 
# 1 "/usr/include/sys/sysmacros.h" 1 3
 



















#define _SYS_SYSMACROS_H	1

 




#define major(dev) ((int)(((dev) >> 8) & 0xff))
#define minor(dev) ((int)((dev) & 0xff))
#define makedev(major, minor) ((((unsigned int) (major)) << 8) | ((unsigned int) (minor)))

# 47 "/usr/include/sys/sysmacros.h" 3



# 212 "/usr/include/sys/types.h" 2 3









 


typedef __blkcnt_t blkcnt_t;	  
#define __blkcnt_t_defined


typedef __fsblkcnt_t fsblkcnt_t;  
#define __fsblkcnt_t_defined


typedef __fsfilcnt_t fsfilcnt_t;  
#define __fsfilcnt_t_defined

# 248 "/usr/include/sys/types.h" 3








} 


# 32 "/usr/include/kde/kprocess.h" 2 3

# 1 "/usr/include/sys/wait.h" 1 3
 

















 




#define 	_SYS_WAIT_H	1



extern "C" { 

# 1 "/usr/include/signal.h" 1 3
 

















 






#define _SIGNAL_H




extern "C" { 

# 1 "/usr/include/bits/sigset.h" 1 3
 


















# 33 "/usr/include/bits/sigset.h" 3



 






#define _SIGSET_H_fns 1


#define _EXTERN_INLINE extern __inline


 
#define __sigmask(sig) (((unsigned long int) 1) << (((sig) - 1) % (8 * sizeof (unsigned long int))))


 
#define __sigword(sig)	(((sig) - 1) / (8 * sizeof (unsigned long int)))


#define __sigemptyset(set) (__extension__ ({ int __cnt = _SIGSET_NWORDS;	sigset_t *__set = (set);	while (--__cnt >= 0) __set->__val[__cnt] = 0;	0; }))




#define __sigfillset(set) (__extension__ ({ int __cnt = _SIGSET_NWORDS;	sigset_t *__set = (set);	while (--__cnt >= 0) __set->__val[__cnt] = ~0UL;	0; }))





# 97 "/usr/include/bits/sigset.h" 3



 


extern int __sigismember (__const __sigset_t *, int);
extern int __sigaddset (__sigset_t *, int);
extern int __sigdelset (__sigset_t *, int);

# 122 "/usr/include/bits/sigset.h" 3




# 33 "/usr/include/signal.h" 2 3


 



#define __sig_atomic_t_defined
typedef __sig_atomic_t sig_atomic_t;















# 1 "/usr/include/bits/signum.h" 1 3
 




















 
#define SIG_ERR	((__sighandler_t) -1)		
#define SIG_DFL	((__sighandler_t) 0)		
#define SIG_IGN	((__sighandler_t) 1)		






 
#define 	SIGHUP		1	
#define 	SIGINT		2	
#define 	SIGQUIT		3	
#define 	SIGILL		4	
#define 	SIGTRAP		5	
#define 	SIGABRT		6	
#define 	SIGIOT		6	
#define 	SIGBUS		7	
#define 	SIGFPE		8	
#define 	SIGKILL		9	
#define 	SIGUSR1		10	
#define 	SIGSEGV		11	
#define 	SIGUSR2		12	
#define 	SIGPIPE		13	
#define 	SIGALRM		14	
#define 	SIGTERM		15	
#define 	SIGSTKFLT	16	
#define 	SIGCLD		SIGCHLD	
#define 	SIGCHLD		17	
#define 	SIGCONT		18	
#define 	SIGSTOP		19	
#define 	SIGTSTP		20	
#define 	SIGTTIN		21	
#define 	SIGTTOU		22	
#define 	SIGURG		23	
#define 	SIGXCPU		24	
#define 	SIGXFSZ		25	
#define 	SIGVTALRM	26	
#define 	SIGPROF		27	
#define 	SIGWINCH	28	
#define 	SIGPOLL		SIGIO	
#define 	SIGIO		29	
#define 	SIGPWR		30	
#define SIGSYS		31	
#define SIGUNUSED	31

#define 	_NSIG		64	


#define SIGRTMIN        (__libc_current_sigrtmin ())
#define SIGRTMAX        (__libc_current_sigrtmax ())

 

#define __SIGRTMIN	32
#define __SIGRTMAX	(_NSIG - 1)


# 56 "/usr/include/signal.h" 2 3


# 67 "/usr/include/signal.h" 3



 
typedef void (*__sighandler_t) (int);

 


extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler)
     throw () ;





 



extern __sighandler_t signal (int __sig, __sighandler_t __handler) throw () ;
# 98 "/usr/include/signal.h" 3








 



extern int kill (__pid_t __pid, int __sig) throw () ;



 


extern int killpg (__pid_t __pgrp, int __sig) throw () ;


 
extern int raise (int __sig) throw () ;


 
extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) throw () ;
extern int gsignal (int __sig) throw () ;



 
extern void psignal (int __sig, __const char *__s) throw () ;



 




extern int __sigpause (int __sig_or_mask, int __is_sig) throw () ;


 

extern int sigpause (int __mask) throw () ;
#define sigpause(mask) __sigpause ((mask), 0)
# 155 "/usr/include/signal.h" 3




 




 
#define sigmask(sig)	__sigmask(sig)

 
extern int sigblock (int __mask) throw () ;

 
extern int sigsetmask (int __mask) throw () ;

 
extern int siggetmask (void) throw () ;




#define NSIG	_NSIG






 

typedef __sighandler_t sig_t;





 
#define __need_timespec
# 1 "/usr/include/time.h" 1 3
 

















 














# 51 "/usr/include/time.h" 3


# 61 "/usr/include/time.h" 3



# 72 "/usr/include/time.h" 3



# 84 "/usr/include/time.h" 3



# 96 "/usr/include/time.h" 3




# 112 "/usr/include/time.h" 3

#undef 	__need_timespec


# 364 "/usr/include/time.h" 3



# 196 "/usr/include/signal.h" 2 3


 
# 1 "/usr/include/bits/siginfo.h" 1 3
 























# 1 "/usr/include/bits/wordsize.h" 1 3
 

















#define __WORDSIZE	32
# 25 "/usr/include/bits/siginfo.h" 2 3





#define __have_sigval_t	1

 
typedef union sigval
  {
    int sival_int;
    void *sival_ptr;
  } sigval_t;




#define __have_siginfo_t	1

#define __SI_MAX_SIZE     128



#define __SI_PAD_SIZE     ((__SI_MAX_SIZE / sizeof (int)) - 3)


typedef struct siginfo
  {
    int si_signo;		 
    int si_errno;		 

    int si_code;		 

    union
      {
	int _pad[((128  / sizeof (int)) - 3) ];

	  
	struct
	  {
	    __pid_t si_pid;	 
	    __uid_t si_uid;	 
	  } _kill;

	 
	struct
	  {
	    unsigned int _timer1;
	    unsigned int _timer2;
	  } _timer;

	 
	struct
	  {
	    __pid_t si_pid;	 
	    __uid_t si_uid;	 
	    sigval_t si_sigval;	 
	  } _rt;

	 
	struct
	  {
	    __pid_t si_pid;	 
	    __uid_t si_uid;	 
	    int si_status;	 
	    __clock_t si_utime;
	    __clock_t si_stime;
	  } _sigchld;

	 
	struct
	  {
	    void *si_addr;	 
	  } _sigfault;

	 
	struct
	  {
	    long int si_band;	 
	    int si_fd;
	  } _sigpoll;
      } _sifields;
  } siginfo_t;


 
#define si_pid		_sifields._kill.si_pid
#define si_uid		_sifields._kill.si_uid
#define si_timer1	_sifields._timer._timer1
#define si_timer2	_sifields._timer._timer2
#define si_status	_sifields._sigchld.si_status
#define si_utime	_sifields._sigchld.si_utime
#define si_stime	_sifields._sigchld.si_stime
#define si_value	_sifields._rt.si_sigval
#define si_int		_sifields._rt.si_sigval.sival_int
#define si_ptr		_sifields._rt.si_sigval.sival_ptr
#define si_addr	_sifields._sigfault.si_addr
#define si_band	_sifields._sigpoll.si_band
#define si_fd		_sifields._sigpoll.si_fd


 

enum
{
  SI_ASYNCNL = -6,		 
#define SI_ASYNCNL	SI_ASYNCNL
  SI_SIGIO,			 
#define SI_SIGIO	SI_SIGIO
  SI_ASYNCIO,			 
#define SI_ASYNCIO	SI_ASYNCIO
  SI_MESGQ,			 
#define SI_MESGQ	SI_MESGQ
  SI_TIMER,			 
#define SI_TIMER	SI_TIMER
  SI_QUEUE,			 
#define SI_QUEUE	SI_QUEUE
  SI_USER,			 
#define SI_USER	SI_USER
  SI_KERNEL = 0x80		 
#define SI_KERNEL	SI_KERNEL
};


 
enum
{
  ILL_ILLOPC = 1,		 
#define ILL_ILLOPC	ILL_ILLOPC
  ILL_ILLOPN,			 
#define ILL_ILLOPN	ILL_ILLOPN
  ILL_ILLADR,			 
#define ILL_ILLADR	ILL_ILLADR
  ILL_ILLTRP,			 
#define ILL_ILLTRP	ILL_ILLTRP
  ILL_PRVOPC,			 
#define ILL_PRVOPC	ILL_PRVOPC
  ILL_PRVREG,			 
#define ILL_PRVREG	ILL_PRVREG
  ILL_COPROC,			 
#define ILL_COPROC	ILL_COPROC
  ILL_BADSTK			 
#define ILL_BADSTK	ILL_BADSTK
};

 
enum
{
  FPE_INTDIV = 1,		 
#define FPE_INTDIV	FPE_INTDIV
  FPE_INTOVF,			 
#define FPE_INTOVF	FPE_INTOVF
  FPE_FLTDIV,			 
#define FPE_FLTDIV	FPE_FLTDIV
  FPE_FLTOVF,			 
#define FPE_FLTOVF	FPE_FLTOVF
  FPE_FLTUND,			 
#define FPE_FLTUND	FPE_FLTUND
  FPE_FLTRES,			 
#define FPE_FLTRES	FPE_FLTRES
  FPE_FLTINV,			 
#define FPE_FLTINV	FPE_FLTINV
  FPE_FLTSUB			 
#define FPE_FLTSUB	FPE_FLTSUB
};

 
enum
{
  SEGV_MAPERR = 1,		 
#define SEGV_MAPERR	SEGV_MAPERR
  SEGV_ACCERR			 
#define SEGV_ACCERR	SEGV_ACCERR
};

 
enum
{
  BUS_ADRALN = 1,		 
#define BUS_ADRALN	BUS_ADRALN
  BUS_ADRERR,			 
#define BUS_ADRERR	BUS_ADRERR
  BUS_OBJERR			 
#define BUS_OBJERR	BUS_OBJERR
};

 
enum
{
  TRAP_BRKPT = 1,		 
#define TRAP_BRKPT	TRAP_BRKPT
  TRAP_TRACE			 
#define TRAP_TRACE	TRAP_TRACE
};

 
enum
{
  CLD_EXITED = 1,		 
#define CLD_EXITED	CLD_EXITED
  CLD_KILLED,			 
#define CLD_KILLED	CLD_KILLED
  CLD_DUMPED,			 
#define CLD_DUMPED	CLD_DUMPED
  CLD_TRAPPED,			 
#define CLD_TRAPPED	CLD_TRAPPED
  CLD_STOPPED,			 
#define CLD_STOPPED	CLD_STOPPED
  CLD_CONTINUED			 
#define CLD_CONTINUED	CLD_CONTINUED
};

 
enum
{
  POLL_IN = 1,			 
#define POLL_IN	POLL_IN
  POLL_OUT,			 
#define POLL_OUT	POLL_OUT
  POLL_MSG,			 
#define POLL_MSG	POLL_MSG
  POLL_ERR,			 
#define POLL_ERR	POLL_ERR
  POLL_PRI,			 
#define POLL_PRI	POLL_PRI
  POLL_HUP			 
#define POLL_HUP	POLL_HUP
};







#define __have_sigevent_t	1

 
#define __SIGEV_MAX_SIZE	64



#define __SIGEV_PAD_SIZE	((__SIGEV_MAX_SIZE / sizeof (int)) - 3)


 
struct __pthread_attr_s;

typedef struct sigevent
  {
    sigval_t sigev_value;
    int sigev_signo;
    int sigev_notify;

    union
      {
	int _pad[((64  / sizeof (int)) - 3) ];

	struct
	  {
	    void (*_function) (sigval_t);	   
	    struct __pthread_attr_s *_attribute;   
	  } _sigev_thread;
      } _sigev_un;
  } sigevent_t;

 
#define sigev_notify_function   _sigev_un._sigev_thread._function
#define sigev_notify_attributes _sigev_un._sigev_thread._attribute

 
enum
{
  SIGEV_SIGNAL = 0,		 
#define SIGEV_SIGNAL	SIGEV_SIGNAL
  SIGEV_NONE,			 
#define SIGEV_NONE	SIGEV_NONE
  SIGEV_THREAD			 
#define SIGEV_THREAD	SIGEV_THREAD
};


# 199 "/usr/include/signal.h" 2 3



 
extern int sigemptyset (sigset_t *__set) throw () ;

 
extern int sigfillset (sigset_t *__set) throw () ;

 
extern int sigaddset (sigset_t *__set, int __signo) throw () ;

 
extern int sigdelset (sigset_t *__set, int __signo) throw () ;

 
extern int sigismember (__const sigset_t *__set, int __signo) throw () ;

# 228 "/usr/include/signal.h" 3


 

# 1 "/usr/include/bits/sigaction.h" 1 3
 






















 
struct sigaction
  {
     

    union
      {
	 
	__sighandler_t sa_handler;
	 
	void (*sa_sigaction) (int, siginfo_t *, void *);
      }
    __sigaction_handler;
#define sa_handler	__sigaction_handler.sa_handler
#define sa_sigaction	__sigaction_handler.sa_sigaction




     
    __sigset_t sa_mask;

     
    int sa_flags;

     
    void (*sa_restorer) (void);
  };

 
#define 	SA_NOCLDSTOP  1		 
#define SA_NOCLDWAIT  2		 
#define SA_SIGINFO    4		 


#define SA_ONSTACK   0x08000000 
#define SA_RESTART   0x10000000 
#define SA_NODEFER   0x40000000 

#define SA_RESETHAND 0x80000000 


#define SA_INTERRUPT 0x20000000 

 
#define SA_NOMASK    SA_NODEFER
#define SA_ONESHOT   SA_RESETHAND
#define SA_STACK     SA_ONSTACK


 
#define 	SIG_BLOCK     0		 
#define 	SIG_UNBLOCK   1		 
#define 	SIG_SETMASK   2		 
# 232 "/usr/include/signal.h" 2 3


 
extern int sigprocmask (int __how, __const sigset_t *__restrict __set,
			sigset_t *__restrict __oset) throw () ;

 

extern int sigsuspend (__const sigset_t *__set) throw () ;

 
extern int sigaction (int __sig, __const struct sigaction *__restrict __act,
		      struct sigaction *__restrict __oact) throw () ;

 
extern int sigpending (sigset_t *__set) throw () ;


 
extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
     throw () ;


 
extern int sigwaitinfo (__const sigset_t *__restrict __set,
			siginfo_t *__restrict __info) throw () ;

 

extern int sigtimedwait (__const sigset_t *__restrict __set,
			 siginfo_t *__restrict __info,
			 __const struct timespec *__restrict __timeout)
     throw () ;

 

extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val)
     throw () ;






 

extern __const char *__const _sys_siglist[64 ];
extern __const char *__const sys_siglist[64 ];

 
struct sigvec
  {
    __sighandler_t sv_handler;	 
    int sv_mask;		 

    int sv_flags;		 
#define sv_onstack	sv_flags 
  };

 
#define SV_ONSTACK	(1 << 0)
#define SV_INTERRUPT	(1 << 1)
#define SV_RESETHAND	(1 << 2)


 




extern int sigvec (int __sig, __const struct sigvec *__vec,
		   struct sigvec *__ovec) throw () ;


 
# 1 "/usr/include/bits/sigcontext.h" 1 3
 






















 

#define sigcontext_struct sigcontext

# 1 "/usr/include/asm/sigcontext.h" 1 3

#define _ASMi386_SIGCONTEXT_H

 













struct _fpreg {
	unsigned short significand[4];
	unsigned short exponent;
};

struct _fpxreg {
	unsigned short significand[4];
	unsigned short exponent;
	unsigned short padding[3];
};

struct _xmmreg {
	unsigned long element[4];
};

struct _fpstate {
	 
	unsigned long 	cw;
	unsigned long	sw;
	unsigned long	tag;
	unsigned long	ipoff;
	unsigned long	cssel;
	unsigned long	dataoff;
	unsigned long	datasel;
	struct _fpreg	_st[8];
	unsigned short	status;
	unsigned short	magic;		 

	 
	unsigned long	_fxsr_env[6];	 
	unsigned long	mxcsr;
	unsigned long	reserved;
	struct _fpxreg	_fxsr_st[8];	 
	struct _xmmreg	_xmm[8];
	unsigned long	padding[56];
};

#define X86_FXSR_MAGIC		0x0000

struct sigcontext {
	unsigned short gs, __gsh;
	unsigned short fs, __fsh;
	unsigned short es, __esh;
	unsigned short ds, __dsh;
	unsigned long edi;
	unsigned long esi;
	unsigned long ebp;
	unsigned long esp;
	unsigned long ebx;
	unsigned long edx;
	unsigned long ecx;
	unsigned long eax;
	unsigned long trapno;
	unsigned long err;
	unsigned long eip;
	unsigned short cs, __csh;
	unsigned long eflags;
	unsigned long esp_at_signal;
	unsigned short ss, __ssh;
	struct _fpstate * fpstate;
	unsigned long oldmask;
	unsigned long cr2;
};



# 28 "/usr/include/bits/sigcontext.h" 2 3


# 307 "/usr/include/signal.h" 2 3


 
extern int sigreturn (struct sigcontext *__scp) throw () ;






 


extern int siginterrupt (int __sig, int __interrupt) throw () ;

# 1 "/usr/include/bits/sigstack.h" 1 3
 























 
struct sigstack
  {
    void *ss_sp;		 
    int ss_onstack;		 
  };


 
enum
{
  SS_ONSTACK = 1,
#define SS_ONSTACK	SS_ONSTACK
  SS_DISABLE
#define SS_DISABLE	SS_DISABLE
};

 
#define MINSIGSTKSZ	2048

 
#define SIGSTKSZ	8192


 
typedef struct sigaltstack
  {
    void *ss_sp;
    int ss_flags;
    size_t ss_size;
  } stack_t;
# 322 "/usr/include/signal.h" 2 3





 


extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) throw () ;

 

extern int sigaltstack (__const struct sigaltstack *__restrict __ss,
			struct sigaltstack *__restrict __oss) throw () ;



# 353 "/usr/include/signal.h" 3



 

# 1 "/usr/include/bits/sigthread.h" 1 3
 



















#define _BITS_SIGTHREAD_H	1





 

 

extern int pthread_sigmask (int __how,
			    __const __sigset_t *__restrict __newmask,
			    __sigset_t *__restrict __oldmask)throw () ;

 
extern int pthread_kill (pthread_t __thread, int __signo) throw () ;


# 358 "/usr/include/signal.h" 2 3



 


 
extern int __libc_current_sigrtmin (void) throw () ;
 
extern int __libc_current_sigrtmax (void) throw () ;



} 


# 30 "/usr/include/sys/wait.h" 2 3

# 1 "/usr/include/sys/resource.h" 1 3
 


















#define 	_SYS_RESOURCE_H	1



 
# 1 "/usr/include/bits/resource.h" 1 3
 
























 




 
enum __rlimit_resource
{
   
  RLIMIT_CPU = 0,
#define RLIMIT_CPU RLIMIT_CPU

   
  RLIMIT_FSIZE = 1,
#define 	RLIMIT_FSIZE RLIMIT_FSIZE

   
  RLIMIT_DATA = 2,
#define 	RLIMIT_DATA RLIMIT_DATA

   
  RLIMIT_STACK = 3,
#define 	RLIMIT_STACK RLIMIT_STACK

   
  RLIMIT_CORE = 4,
#define 	RLIMIT_CORE RLIMIT_CORE

   



  RLIMIT_RSS = 5,
#define 	RLIMIT_RSS RLIMIT_RSS

   
  RLIMIT_NOFILE = 7,
  RLIMIT_OFILE = RLIMIT_NOFILE,  
#define RLIMIT_NOFILE RLIMIT_NOFILE
#define RLIMIT_OFILE RLIMIT_OFILE

   
  RLIMIT_AS = 9,
#define RLIMIT_AS RLIMIT_AS

   
  RLIMIT_NPROC = 6,
#define RLIMIT_NPROC RLIMIT_NPROC

   
  RLIMIT_MEMLOCK = 8,
#define RLIMIT_MEMLOCK RLIMIT_MEMLOCK

   
  RLIMIT_LOCKS = 10,
#define RLIMIT_LOCKS RLIMIT_LOCKS

  RLIMIT_NLIMITS = 11,
  RLIM_NLIMITS = RLIMIT_NLIMITS
#define RLIMIT_NLIMITS RLIMIT_NLIMITS
#define RLIM_NLIMITS RLIM_NLIMITS
};

 

#define RLIM_INFINITY ((unsigned long int)(~0UL))








 
#define RLIM_SAVED_MAX	RLIM_INFINITY
#define RLIM_SAVED_CUR	RLIM_INFINITY


 

typedef __rlim_t rlim_t;







struct rlimit
  {
     
    rlim_t rlim_cur;
     
    rlim_t rlim_max;
  };

# 131 "/usr/include/bits/resource.h" 3


 
enum __rusage_who
{
   
  RUSAGE_SELF = 0,
#define RUSAGE_SELF RUSAGE_SELF

   
  RUSAGE_CHILDREN = -1,
#define RUSAGE_CHILDREN RUSAGE_CHILDREN

   
  RUSAGE_BOTH = -2
#define RUSAGE_BOTH RUSAGE_BOTH
};

#define __need_timeval
# 1 "/usr/include/bits/time.h" 1 3
 


















 



# 57 "/usr/include/bits/time.h" 3



#undef __need_timeval
# 72 "/usr/include/bits/time.h" 3


# 150 "/usr/include/bits/resource.h" 2 3


 
struct rusage
  {
     
    struct timeval ru_utime;
     
    struct timeval ru_stime;
     
    long int ru_maxrss;
     

    long int ru_ixrss;
     
    long int ru_idrss;
     
    long int ru_isrss;
     

    long int ru_minflt;
     
    long int ru_majflt;
     
    long int ru_nswap;
     

    long int ru_inblock;
     
    long int ru_oublock;
     
    long int ru_msgsnd;
     
    long int ru_msgrcv;
     
    long int ru_nsignals;
     


    long int ru_nvcsw;
     

    long int ru_nivcsw;
  };

 
#define PRIO_MIN	-20	
#define PRIO_MAX	20	

 

enum __priority_which
{
  PRIO_PROCESS = 0,		 
#define PRIO_PROCESS PRIO_PROCESS
  PRIO_PGRP = 1,		 
#define PRIO_PGRP PRIO_PGRP
  PRIO_USER = 2			 
#define PRIO_USER PRIO_USER
};
# 25 "/usr/include/sys/resource.h" 2 3







extern "C" { 

 








typedef int __rlimit_resource_t;
typedef int __rusage_who_t;
typedef int __priority_which_t;


 


extern int getrlimit (__rlimit_resource_t __resource,
		      struct rlimit *__rlimits) throw () ;
# 61 "/usr/include/sys/resource.h" 3






 



extern int setrlimit (__rlimit_resource_t __resource,
		      __const struct rlimit *__rlimits) throw () ;
# 81 "/usr/include/sys/resource.h" 3






 

extern int getrusage (__rusage_who_t __who, struct rusage *__usage) throw () ;

 



extern int getpriority (__priority_which_t __which, id_t __who) throw () ;

 

extern int setpriority (__priority_which_t __which, id_t __who, int __prio)
     throw () ;

} 


# 31 "/usr/include/sys/wait.h" 2 3


 

 

# 1 "/usr/include/bits/waitflags.h" 1 3
 























 
#define 	WNOHANG		1	
#define 	WUNTRACED	2	

#define __WALL		0x40000000 
#define __WCLONE	0x80000000 
# 37 "/usr/include/sys/wait.h" 2 3




 







#define __WAIT_INT(status)	(*(int *) &(status))


 





#define __WAIT_STATUS	void *
#define __WAIT_STATUS_DEFN	void *
# 68 "/usr/include/sys/wait.h" 3










 
# 1 "/usr/include/bits/waitstatus.h" 1 3
 























 


 
#define 	__WEXITSTATUS(status)	(((status) & 0xff00) >> 8)

 
#define 	__WTERMSIG(status)	((status) & 0x7f)

 
#define 	__WSTOPSIG(status)	__WEXITSTATUS(status)

 
#define 	__WIFEXITED(status)	(__WTERMSIG(status) == 0)

 

#define __WIFSIGNALED(status) (__extension__ ({ int __status = (status);	!__WIFSTOPPED(__status) && !__WIFEXITED(__status); }))






 
#define 	__WIFSTOPPED(status)	(((status) & 0xff) == 0x7f)

 
#define 	__WCOREDUMP(status)	((status) & __WCOREFLAG)

 
#define 	__W_EXITCODE(ret, sig)	((ret) << 8 | (sig))
#define 	__W_STOPCODE(sig)	((sig) << 8 | 0x7f)
#define 	__WCOREFLAG		0x80






union wait
  {
    int w_status;
    struct
      {

	unsigned int __w_termsig:7;  
	unsigned int __w_coredump:1;  
	unsigned int __w_retcode:8;  
	unsigned int:16;







      } __wait_terminated;
    struct
      {

	unsigned int __w_stopval:8;  
	unsigned int __w_stopsig:8;  
	unsigned int:16;






      } __wait_stopped;
  };

#define w_termsig	__wait_terminated.__w_termsig
#define w_coredump	__wait_terminated.__w_coredump
#define w_retcode	__wait_terminated.__w_retcode
#define w_stopsig	__wait_stopped.__w_stopsig
#define w_stopval	__wait_stopped.__w_stopval


# 79 "/usr/include/sys/wait.h" 2 3


#define WEXITSTATUS(status)	__WEXITSTATUS(__WAIT_INT(status))
#define WTERMSIG(status)	__WTERMSIG(__WAIT_INT(status))
#define WSTOPSIG(status)	__WSTOPSIG(__WAIT_INT(status))
#define WIFEXITED(status)	__WIFEXITED(__WAIT_INT(status))
#define WIFSIGNALED(status)	__WIFSIGNALED(__WAIT_INT(status))
#define WIFSTOPPED(status)	__WIFSTOPPED(__WAIT_INT(status))



#define WCOREFLAG		__WCOREFLAG
#define WCOREDUMP(status)	__WCOREDUMP(__WAIT_INT(status))
#define W_EXITCODE(ret, sig)	__W_EXITCODE(ret, sig)
#define W_STOPCODE(sig)	__W_STOPCODE(sig)


 

typedef enum
{
  P_ALL,		 
  P_PID,		 
  P_PGID		 
} idtype_t;



 

extern __pid_t wait (void *  __stat_loc) throw () ;


 
#define WAIT_ANY	(-1)	
#define WAIT_MYPGRP	0	


 











extern __pid_t waitpid (__pid_t __pid, int *__stat_loc, int __options) throw () ;


#define __need_siginfo_t
# 1 "/usr/include/bits/siginfo.h" 1 3
 























# 1 "/usr/include/bits/wordsize.h" 1 3
 


















# 25 "/usr/include/bits/siginfo.h" 2 3


# 38 "/usr/include/bits/siginfo.h" 3


# 255 "/usr/include/bits/siginfo.h" 3



# 306 "/usr/include/bits/siginfo.h" 3

# 133 "/usr/include/sys/wait.h" 2 3

 







extern int waitid (idtype_t __idtype, __id_t __id, siginfo_t *__infop,
		   int __options) throw () ;



 

struct rusage;

 




extern __pid_t wait3 (void *  __stat_loc, int __options,
		      struct rusage * __usage) throw () ;



 

struct rusage;

 
extern __pid_t wait4 (__pid_t __pid, void *  __stat_loc, int __options,
		      struct rusage *__usage) throw () ;



} 


# 33 "/usr/include/kde/kprocess.h" 2 3


# 1 "/usr/include/unistd.h" 1 3
 

















 




#define 	_UNISTD_H	1



extern "C" { 

 


 

#define 	_POSIX_VERSION	199506L

 


 
#define 	_POSIX2_C_VERSION	199209L

 
#define _POSIX2_VERSION	199209L

 

#define 	_POSIX2_C_BIND	1

 

#define 	_POSIX2_C_DEV	1

 

#define 	_POSIX2_SW_DEV	1

 

#define _POSIX2_LOCALEDEF       1

 



#define _XOPEN_VERSION	4


 
#define _XOPEN_XCU_VERSION	4

 
#define _XOPEN_XPG2	1
#define _XOPEN_XPG3	1
#define _XOPEN_XPG4	1

 
#define _XOPEN_UNIX	1

 
#define 	_XOPEN_CRYPT	1

 

#define 	_XOPEN_ENH_I18N	1

 
#define _XOPEN_LEGACY	1


 



















































































# 1 "/usr/include/bits/posix_opt.h" 1 3
 



















#define 	_POSIX_OPT_H	1

 
#define 	_POSIX_JOB_CONTROL	1

 
#define 	_POSIX_SAVED_IDS	1

 
#define 	_POSIX_PRIORITY_SCHEDULING	1

 
#define 	_POSIX_SYNCHRONIZED_IO	1

 
#define 	_POSIX_FSYNC	1

 
#define 	_POSIX_MAPPED_FILES	1

 
#define 	_POSIX_MEMLOCK	1

 
#define 	_POSIX_MEMLOCK_RANGE	1

 
#define 	_POSIX_MEMORY_PROTECTION	1

 
#define 	_POSIX_POLL	1

 
#define 	_POSIX_SELECT	1

 
#define 	_POSIX_CHOWN_RESTRICTED	1

 

#define 	_POSIX_VDISABLE	'\0'

 
#define 	_POSIX_NO_TRUNC	1

 
#define _XOPEN_REALTIME	1

 
#define _XOPEN_REALTIME_THREADS	1

 
#define 	_XOPEN_SHM	1

 
#define _POSIX_THREADS	1

 
#define _POSIX_REENTRANT_FUNCTIONS      1
#define _POSIX_THREAD_SAFE_FUNCTIONS	1

 
#define 	_POSIX_THREAD_PRIORITY_SCHEDULING	1

 
#define _POSIX_THREAD_ATTR_STACKSIZE	1

 
#define _POSIX_THREAD_ATTR_STACKADDR	1

 
#define _POSIX_SEMAPHORES	1

 
#define _POSIX_REALTIME_SIGNALS	1

 
#define _POSIX_ASYNCHRONOUS_IO	1
 
#define _LFS_ASYNCHRONOUS_IO	1

 
#define _LFS64_ASYNCHRONOUS_IO	1

 
#define _LFS_LARGEFILE		1
#define _LFS64_LARGEFILE	1
#define _LFS64_STDIO		1

 
#define _POSIX_SHARED_MEMORY_OBJECTS	1

 
#define _POSIX_CPUTIME	200912L

 
#define _POSIX_THREAD_CPUTIME	200912L

 
#define _POSIX_REGEXP	1

 
#define _POSIX_READER_WRITER_LOCKS	200912L

 
#define _POSIX_SHELL	1

 
#define _POSIX_TIMEOUTS	200912L

 
#define _POSIX_SPIN_LOCKS	200912L

 
#define _POSIX_SPAWN	200912L

 
#define _POSIX_TIMERS	1

 
#define _POSIX_BARRIERS	200912L

 



# 175 "/usr/include/unistd.h" 2 3


 




 
#define 	STDIN_FILENO	0	
#define 	STDOUT_FILENO	1	
#define 	STDERR_FILENO	2	


 








#define 	__need_size_t
#define __need_NULL
# 1 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 1 3






 


# 19 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3



 


 





 


# 61 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 





 


















 





 

 

# 131 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 

 


# 188 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3

#undef 	__need_size_t



 




 

# 271 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


# 283 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3


 

 

# 317 "/usr/lib/gcc-lib/i386-linux/2.95.3/include/stddef.h" 3




 


#undef NULL		

#define NULL __null




#undef 	__need_NULL











# 199 "/usr/include/unistd.h" 2 3


# 236 "/usr/include/unistd.h" 3




typedef __intptr_t intptr_t;
#define __intptr_t_defined





typedef __socklen_t socklen_t;
#define __socklen_t_defined



 

#define 	R_OK	4		
#define 	W_OK	2		
#define 	X_OK	1		
#define 	F_OK	0		

 
extern int access (__const char *__name, int __type) throw () ;








 

#define SEEK_SET	0	
#define SEEK_CUR	1	
#define SEEK_END	2	



 
#define L_SET		SEEK_SET
#define L_INCR		SEEK_CUR
#define L_XTND		SEEK_END



 





extern __off_t lseek (int __fd, __off_t __offset, int __whence) throw () ;
# 300 "/usr/include/unistd.h" 3





 
extern int close (int __fd) throw () ;

 

extern ssize_t read (int __fd, void *__buf, size_t __nbytes) throw () ;

 
extern ssize_t write (int __fd, __const void *__buf, size_t __n) throw () ;

# 347 "/usr/include/unistd.h" 3


 



extern int pipe (int __pipedes[2]) throw () ;

 






extern unsigned int alarm (unsigned int __seconds) throw () ;

 






extern unsigned int sleep (unsigned int __seconds) throw () ;


 



extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
     throw () ;

 

extern int usleep (__useconds_t __useconds) throw () ;



 

extern int pause (void) throw () ;


 
extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
     throw () ;


 
extern int fchown (int __fd, __uid_t __owner, __gid_t __group) throw () ;


 

extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
     throw () ;



 
extern int chdir (__const char *__path) throw () ;


 
extern int fchdir (int __fd) throw () ;


 






extern char *getcwd (char *__buf, size_t __size) throw () ;









 


extern char *getwd (char *__buf) throw () ;



 
extern int dup (int __fd) throw () ;

 
extern int dup2 (int __fd, int __fd2) throw () ;

 
extern char **__environ;





 

extern int execve (__const char *__path, char *__const __argv[],
		   char *__const __envp[]) throw () ;









 
extern int execv (__const char *__path, char *__const __argv[]) throw () ;

 

extern int execle (__const char *__path, __const char *__arg, ...) throw () ;

 

extern int execl (__const char *__path, __const char *__arg, ...) throw () ;

 

extern int execvp (__const char *__file, char *__const __argv[]) throw () ;

 


extern int execlp (__const char *__file, __const char *__arg, ...) throw () ;



 
extern int nice (int __inc) throw () ;



 
extern void _exit (int __status) __attribute__ ((__noreturn__));


 


# 1 "/usr/include/bits/confname.h" 1 3
 






















 
enum
  {
    _PC_LINK_MAX,
#define 	_PC_LINK_MAX			_PC_LINK_MAX
    _PC_MAX_CANON,
#define 	_PC_MAX_CANON			_PC_MAX_CANON
    _PC_MAX_INPUT,
#define 	_PC_MAX_INPUT			_PC_MAX_INPUT
    _PC_NAME_MAX,
#define 	_PC_NAME_MAX			_PC_NAME_MAX
    _PC_PATH_MAX,
#define 	_PC_PATH_MAX			_PC_PATH_MAX
    _PC_PIPE_BUF,
#define 	_PC_PIPE_BUF			_PC_PIPE_BUF
    _PC_CHOWN_RESTRICTED,
#define 	_PC_CHOWN_RESTRICTED		_PC_CHOWN_RESTRICTED
    _PC_NO_TRUNC,
#define 	_PC_NO_TRUNC			_PC_NO_TRUNC
    _PC_VDISABLE,
#define _PC_VDISABLE			_PC_VDISABLE
    _PC_SYNC_IO,
#define 	_PC_SYNC_IO			_PC_SYNC_IO
    _PC_ASYNC_IO,
#define 	_PC_ASYNC_IO			_PC_ASYNC_IO
    _PC_PRIO_IO,
#define 	_PC_PRIO_IO			_PC_PRIO_IO
    _PC_SOCK_MAXBUF,
#define 	_PC_SOCK_MAXBUF			_PC_SOCK_MAXBUF
    _PC_FILESIZEBITS,
#define _PC_FILESIZEBITS		_PC_FILESIZEBITS
    _PC_REC_INCR_XFER_SIZE,
#define _PC_REC_INCR_XFER_SIZE		_PC_REC_INCR_XFER_SIZE
    _PC_REC_MAX_XFER_SIZE,
#define _PC_REC_MAX_XFER_SIZE		_PC_REC_MAX_XFER_SIZE
    _PC_REC_MIN_XFER_SIZE,
#define _PC_REC_MIN_XFER_SIZE		_PC_REC_MIN_XFER_SIZE
    _PC_REC_XFER_ALIGN
#define _PC_REC_XFER_ALIGN		_PC_REC_XFER_ALIGN
  };

 
enum
  {
    _SC_ARG_MAX,
#define 	_SC_ARG_MAX			_SC_ARG_MAX
    _SC_CHILD_MAX,
#define 	_SC_CHILD_MAX			_SC_CHILD_MAX
    _SC_CLK_TCK,
#define 	_SC_CLK_TCK			_SC_CLK_TCK
    _SC_NGROUPS_MAX,
#define 	_SC_NGROUPS_MAX			_SC_NGROUPS_MAX
    _SC_OPEN_MAX,
#define 	_SC_OPEN_MAX			_SC_OPEN_MAX
    _SC_STREAM_MAX,
#define 	_SC_STREAM_MAX			_SC_STREAM_MAX
    _SC_TZNAME_MAX,
#define 	_SC_TZNAME_MAX			_SC_TZNAME_MAX
    _SC_JOB_CONTROL,
#define 	_SC_JOB_CONTROL			_SC_JOB_CONTROL
    _SC_SAVED_IDS,
#define 	_SC_SAVED_IDS			_SC_SAVED_IDS
    _SC_REALTIME_SIGNALS,
#define 	_SC_REALTIME_SIGNALS		_SC_REALTIME_SIGNALS
    _SC_PRIORITY_SCHEDULING,
#define 	_SC_PRIORITY_SCHEDULING		_SC_PRIORITY_SCHEDULING
    _SC_TIMERS,
#define 	_SC_TIMERS			_SC_TIMERS
    _SC_ASYNCHRONOUS_IO,
#define 	_SC_ASYNCHRONOUS_IO		_SC_ASYNCHRONOUS_IO
    _SC_PRIORITIZED_IO,
#define 	_SC_PRIORITIZED_IO		_SC_PRIORITIZED_IO
    _SC_SYNCHRONIZED_IO,
#define 	_SC_SYNCHRONIZED_IO		_SC_SYNCHRONIZED_IO
    _SC_FSYNC,
#define 	_SC_FSYNC			_SC_FSYNC
    _SC_MAPPED_FILES,
#define 	_SC_MAPPED_FILES		_SC_MAPPED_FILES
    _SC_MEMLOCK,
#define 	_SC_MEMLOCK			_SC_MEMLOCK
    _SC_MEMLOCK_RANGE,
#define 	_SC_MEMLOCK_RANGE		_SC_MEMLOCK_RANGE
    _SC_MEMORY_PROTECTION,
#define 	_SC_MEMORY_PROTECTION		_SC_MEMORY_PROTECTION
    _SC_MESSAGE_PASSING,
#define 	_SC_MESSAGE_PASSING		_SC_MESSAGE_PASSING
    _SC_SEMAPHORES,
#define 	_SC_SEMAPHORES			_SC_SEMAPHORES
    _SC_SHARED_MEMORY_OBJECTS,
#define 	_SC_SHARED_MEMORY_OBJECTS	_SC_SHARED_MEMORY_OBJECTS
    _SC_AIO_LISTIO_MAX,
#define 	_SC_AIO_LISTIO_MAX		_SC_AIO_LISTIO_MAX
    _SC_AIO_MAX,
#define 	_SC_AIO_MAX			_SC_AIO_MAX
    _SC_AIO_PRIO_DELTA_MAX,
#define 	_SC_AIO_PRIO_DELTA_MAX		_SC_AIO_PRIO_DELTA_MAX
    _SC_DELAYTIMER_MAX,
#define 	_SC_DELAYTIMER_MAX		_SC_DELAYTIMER_MAX
    _SC_MQ_OPEN_MAX,
#define 	_SC_MQ_OPEN_MAX			_SC_MQ_OPEN_MAX
    _SC_MQ_PRIO_MAX,
#define 	_SC_MQ_PRIO_MAX			_SC_MQ_PRIO_MAX
    _SC_VERSION,
#define 	_SC_VERSION			_SC_VERSION
    _SC_PAGESIZE,
#define 	_SC_PAGESIZE			_SC_PAGESIZE
#define 	_SC_PAGE_SIZE			_SC_PAGESIZE
    _SC_RTSIG_MAX,
#define 	_SC_RTSIG_MAX			_SC_RTSIG_MAX
    _SC_SEM_NSEMS_MAX,
#define 	_SC_SEM_NSEMS_MAX		_SC_SEM_NSEMS_MAX
    _SC_SEM_VALUE_MAX,
#define 	_SC_SEM_VALUE_MAX		_SC_SEM_VALUE_MAX
    _SC_SIGQUEUE_MAX,
#define 	_SC_SIGQUEUE_MAX		_SC_SIGQUEUE_MAX
    _SC_TIMER_MAX,
#define 	_SC_TIMER_MAX			_SC_TIMER_MAX

     

    _SC_BC_BASE_MAX,
#define 	_SC_BC_BASE_MAX			_SC_BC_BASE_MAX
    _SC_BC_DIM_MAX,
#define 	_SC_BC_DIM_MAX			_SC_BC_DIM_MAX
    _SC_BC_SCALE_MAX,
#define 	_SC_BC_SCALE_MAX		_SC_BC_SCALE_MAX
    _SC_BC_STRING_MAX,
#define 	_SC_BC_STRING_MAX		_SC_BC_STRING_MAX
    _SC_COLL_WEIGHTS_MAX,
#define 	_SC_COLL_WEIGHTS_MAX		_SC_COLL_WEIGHTS_MAX
    _SC_EQUIV_CLASS_MAX,
#define 	_SC_EQUIV_CLASS_MAX		_SC_EQUIV_CLASS_MAX
    _SC_EXPR_NEST_MAX,
#define 	_SC_EXPR_NEST_MAX		_SC_EXPR_NEST_MAX
    _SC_LINE_MAX,
#define 	_SC_LINE_MAX			_SC_LINE_MAX
    _SC_RE_DUP_MAX,
#define 	_SC_RE_DUP_MAX			_SC_RE_DUP_MAX
    _SC_CHARCLASS_NAME_MAX,
#define 	_SC_CHARCLASS_NAME_MAX		_SC_CHARCLASS_NAME_MAX

    _SC_2_VERSION,
#define 	_SC_2_VERSION			_SC_2_VERSION
    _SC_2_C_BIND,
#define 	_SC_2_C_BIND			_SC_2_C_BIND
    _SC_2_C_DEV,
#define 	_SC_2_C_DEV			_SC_2_C_DEV
    _SC_2_FORT_DEV,
#define 	_SC_2_FORT_DEV			_SC_2_FORT_DEV
    _SC_2_FORT_RUN,
#define 	_SC_2_FORT_RUN			_SC_2_FORT_RUN
    _SC_2_SW_DEV,
#define 	_SC_2_SW_DEV			_SC_2_SW_DEV
    _SC_2_LOCALEDEF,
#define 	_SC_2_LOCALEDEF			_SC_2_LOCALEDEF

    _SC_PII,
#define 	_SC_PII				_SC_PII
    _SC_PII_XTI,
#define 	_SC_PII_XTI			_SC_PII_XTI
    _SC_PII_SOCKET,
#define 	_SC_PII_SOCKET			_SC_PII_SOCKET
    _SC_PII_INTERNET,
#define 	_SC_PII_INTERNET		_SC_PII_INTERNET
    _SC_PII_OSI,
#define 	_SC_PII_OSI			_SC_PII_OSI
    _SC_POLL,
#define 	_SC_POLL			_SC_POLL
    _SC_SELECT,
#define 	_SC_SELECT			_SC_SELECT
    _SC_UIO_MAXIOV,
#define 	_SC_UIO_MAXIOV			_SC_UIO_MAXIOV
    _SC_IOV_MAX = _SC_UIO_MAXIOV ,
#define _SC_IOV_MAX			_SC_IOV_MAX
    _SC_PII_INTERNET_STREAM,
#define 	_SC_PII_INTERNET_STREAM		_SC_PII_INTERNET_STREAM
    _SC_PII_INTERNET_DGRAM,
#define 	_SC_PII_INTERNET_DGRAM		_SC_PII_INTERNET_DGRAM
    _SC_PII_OSI_COTS,
#define 	_SC_PII_OSI_COTS		_SC_PII_OSI_COTS
    _SC_PII_OSI_CLTS,
#define 	_SC_PII_OSI_CLTS		_SC_PII_OSI_CLTS
    _SC_PII_OSI_M,
#define 	_SC_PII_OSI_M			_SC_PII_OSI_M
    _SC_T_IOV_MAX,
#define 	_SC_T_IOV_MAX			_SC_T_IOV_MAX

     
    _SC_THREADS,
#define 	_SC_THREADS			_SC_THREADS
    _SC_THREAD_SAFE_FUNCTIONS,
#define _SC_THREAD_SAFE_FUNCTIONS	_SC_THREAD_SAFE_FUNCTIONS
    _SC_GETGR_R_SIZE_MAX,
#define 	_SC_GETGR_R_SIZE_MAX		_SC_GETGR_R_SIZE_MAX
    _SC_GETPW_R_SIZE_MAX,
#define 	_SC_GETPW_R_SIZE_MAX		_SC_GETPW_R_SIZE_MAX
    _SC_LOGIN_NAME_MAX,
#define 	_SC_LOGIN_NAME_MAX		_SC_LOGIN_NAME_MAX
    _SC_TTY_NAME_MAX,
#define 	_SC_TTY_NAME_MAX		_SC_TTY_NAME_MAX
    _SC_THREAD_DESTRUCTOR_ITERATIONS,
#define 	_SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS
    _SC_THREAD_KEYS_MAX,
#define 	_SC_THREAD_KEYS_MAX		_SC_THREAD_KEYS_MAX
    _SC_THREAD_STACK_MIN,
#define 	_SC_THREAD_STACK_MIN		_SC_THREAD_STACK_MIN
    _SC_THREAD_THREADS_MAX,
#define 	_SC_THREAD_THREADS_MAX		_SC_THREAD_THREADS_MAX
    _SC_THREAD_ATTR_STACKADDR,
#define 	_SC_THREAD_ATTR_STACKADDR	_SC_THREAD_ATTR_STACKADDR
    _SC_THREAD_ATTR_STACKSIZE,
#define 	_SC_THREAD_ATTR_STACKSIZE	_SC_THREAD_ATTR_STACKSIZE
    _SC_THREAD_PRIORITY_SCHEDULING,
#define 	_SC_THREAD_PRIORITY_SCHEDULING	_SC_THREAD_PRIORITY_SCHEDULING
    _SC_THREAD_PRIO_INHERIT,
#define 	_SC_THREAD_PRIO_INHERIT		_SC_THREAD_PRIO_INHERIT
    _SC_THREAD_PRIO_PROTECT,
#define 	_SC_THREAD_PRIO_PROTECT		_SC_THREAD_PRIO_PROTECT
    _SC_THREAD_PROCESS_SHARED,
#define 	_SC_THREAD_PROCESS_SHARED	_SC_THREAD_PROCESS_SHARED

    _SC_NPROCESSORS_CONF,
#define _SC_NPROCESSORS_CONF		_SC_NPROCESSORS_CONF
    _SC_NPROCESSORS_ONLN,
#define _SC_NPROCESSORS_ONLN		_SC_NPROCESSORS_ONLN
    _SC_PHYS_PAGES,
#define _SC_PHYS_PAGES			_SC_PHYS_PAGES
    _SC_AVPHYS_PAGES,
#define _SC_AVPHYS_PAGES		_SC_AVPHYS_PAGES
    _SC_ATEXIT_MAX,
#define _SC_ATEXIT_MAX			_SC_ATEXIT_MAX
    _SC_PASS_MAX,
#define _SC_PASS_MAX			_SC_PASS_MAX

    _SC_XOPEN_VERSION,
#define _SC_XOPEN_VERSION		_SC_XOPEN_VERSION
    _SC_XOPEN_XCU_VERSION,
#define _SC_XOPEN_XCU_VERSION		_SC_XOPEN_XCU_VERSION
    _SC_XOPEN_UNIX,
#define _SC_XOPEN_UNIX			_SC_XOPEN_UNIX
    _SC_XOPEN_CRYPT,
#define _SC_XOPEN_CRYPT			_SC_XOPEN_CRYPT
    _SC_XOPEN_ENH_I18N,
#define _SC_XOPEN_ENH_I18N		_SC_XOPEN_ENH_I18N
    _SC_XOPEN_SHM,
#define _SC_XOPEN_SHM			_SC_XOPEN_SHM

    _SC_2_CHAR_TERM,
#define _SC_2_CHAR_TERM			_SC_2_CHAR_TERM
    _SC_2_C_VERSION,
#define _SC_2_C_VERSION			_SC_2_C_VERSION
    _SC_2_UPE,
#define _SC_2_UPE			_SC_2_UPE

    _SC_XOPEN_XPG2,
#define _SC_XOPEN_XPG2			_SC_XOPEN_XPG2
    _SC_XOPEN_XPG3,
#define _SC_XOPEN_XPG3			_SC_XOPEN_XPG3
    _SC_XOPEN_XPG4,
#define _SC_XOPEN_XPG4			_SC_XOPEN_XPG4

    _SC_CHAR_BIT,
#define 	_SC_CHAR_BIT			_SC_CHAR_BIT
    _SC_CHAR_MAX,
#define 	_SC_CHAR_MAX			_SC_CHAR_MAX
    _SC_CHAR_MIN,
#define 	_SC_CHAR_MIN			_SC_CHAR_MIN
    _SC_INT_MAX,
#define 	_SC_INT_MAX			_SC_INT_MAX
    _SC_INT_MIN,
#define 	_SC_INT_MIN			_SC_INT_MIN
    _SC_LONG_BIT,
#define 	_SC_LONG_BIT			_SC_LONG_BIT
    _SC_WORD_BIT,
#define 	_SC_WORD_BIT			_SC_WORD_BIT
    _SC_MB_LEN_MAX,
#define 	_SC_MB_LEN_MAX			_SC_MB_LEN_MAX
    _SC_NZERO,
#define 	_SC_NZERO			_SC_NZERO
    _SC_SSIZE_MAX,
#define 	_SC_SSIZE_MAX			_SC_SSIZE_MAX
    _SC_SCHAR_MAX,
#define 	_SC_SCHAR_MAX			_SC_SCHAR_MAX
    _SC_SCHAR_MIN,
#define 	_SC_SCHAR_MIN			_SC_SCHAR_MIN
    _SC_SHRT_MAX,
#define 	_SC_SHRT_MAX			_SC_SHRT_MAX
    _SC_SHRT_MIN,
#define 	_SC_SHRT_MIN			_SC_SHRT_MIN
    _SC_UCHAR_MAX,
#define 	_SC_UCHAR_MAX			_SC_UCHAR_MAX
    _SC_UINT_MAX,
#define 	_SC_UINT_MAX			_SC_UINT_MAX
    _SC_ULONG_MAX,
#define 	_SC_ULONG_MAX			_SC_ULONG_MAX
    _SC_USHRT_MAX,
#define 	_SC_USHRT_MAX			_SC_USHRT_MAX

    _SC_NL_ARGMAX,
#define 	_SC_NL_ARGMAX			_SC_NL_ARGMAX
    _SC_NL_LANGMAX,
#define 	_SC_NL_LANGMAX			_SC_NL_LANGMAX
    _SC_NL_MSGMAX,
#define 	_SC_NL_MSGMAX			_SC_NL_MSGMAX
    _SC_NL_NMAX,
#define 	_SC_NL_NMAX			_SC_NL_NMAX
    _SC_NL_SETMAX,
#define 	_SC_NL_SETMAX			_SC_NL_SETMAX
    _SC_NL_TEXTMAX,
#define 	_SC_NL_TEXTMAX			_SC_NL_TEXTMAX

    _SC_XBS5_ILP32_OFF32,
#define _SC_XBS5_ILP32_OFF32		_SC_XBS5_ILP32_OFF32
    _SC_XBS5_ILP32_OFFBIG,
#define _SC_XBS5_ILP32_OFFBIG		_SC_XBS5_ILP32_OFFBIG
    _SC_XBS5_LP64_OFF64,
#define _SC_XBS5_LP64_OFF64		_SC_XBS5_LP64_OFF64
    _SC_XBS5_LPBIG_OFFBIG,
#define _SC_XBS5_LPBIG_OFFBIG		_SC_XBS5_LPBIG_OFFBIG

    _SC_XOPEN_LEGACY,
#define _SC_XOPEN_LEGACY		_SC_XOPEN_LEGACY
    _SC_XOPEN_REALTIME,
#define _SC_XOPEN_REALTIME		_SC_XOPEN_REALTIME
    _SC_XOPEN_REALTIME_THREADS,
#define _SC_XOPEN_REALTIME_THREADS	_SC_XOPEN_REALTIME_THREADS

    _SC_ADVISORY_INFO,
#define _SC_ADVISORY_INFO		_SC_ADVISORY_INFO
    _SC_BARRIERS,
#define _SC_BARRIERS			_SC_BARRIERS
    _SC_BASE,
#define _SC_BASE			_SC_BASE
    _SC_C_LANG_SUPPORT,
#define _SC_C_LANG_SUPPORT		_SC_C_LANG_SUPPORT
    _SC_C_LANG_SUPPORT_R,
#define _SC_C_LANG_SUPPORT_R		_SC_C_LANG_SUPPORT_R
    _SC_CLOCK_SELECTION,
#define _SC_CLOCK_SELECTION		_SC_CLOCK_SELECTION
    _SC_CPUTIME,
#define _SC_CPUTIME			_SC_CPUTIME
    _SC_THREAD_CPUTIME,
#define _SC_THREAD_CPUTIME		_SC_THREAD_CPUTIME
    _SC_DEVICE_IO,
#define _SC_DEVICE_IO			_SC_DEVICE_IO
    _SC_DEVICE_SPECIFIC,
#define _SC_DEVICE_SPECIFIC		_SC_DEVICE_SPECIFIC
    _SC_DEVICE_SPECIFIC_R,
#define _SC_DEVICE_SPECIFIC_R		_SC_DEVICE_SPECIFIC_R
    _SC_FD_MGMT,
#define _SC_FD_MGMT			_SC_FD_MGMT
    _SC_FIFO,
#define _SC_FIFO			_SC_FIFO
    _SC_PIPE,
#define _SC_PIPE			_SC_PIPE
    _SC_FILE_ATTRIBUTES,
#define _SC_FILE_ATTRIBUTES		_SC_FILE_ATTRIBUTES
    _SC_FILE_LOCKING,
#define _SC_FILE_LOCKING		_SC_FILE_LOCKING
    _SC_FILE_SYSTEM,
#define _SC_FILE_SYSTEM			_SC_FILE_SYSTEM
    _SC_MONOTONIC_CLOCK,
#define _SC_MONOTONIC_CLOCK		_SC_MONOTONIC_CLOCK
    _SC_MULTIPLE_PROCESS,
#define _SC_MULTIPLE_PROCESS		_SC_MULTIPLE_PROCESS
    _SC_SINGLE_PROCESS,
#define _SC_SINGLE_PROCESS		_SC_SINGLE_PROCESS
    _SC_NETWORKING,
#define _SC_NETWORKING			_SC_NETWORKING
    _SC_READER_WRITER_LOCKS,
#define _SC_READER_WRITER_LOCKS		_SC_READER_WRITER_LOCKS
    _SC_SPIN_LOCKS,
#define _SC_SPIN_LOCKS			_SC_SPIN_LOCKS
    _SC_REGEXP,
#define _SC_REGEXP			_SC_REGEXP
    _SC_REGEX_VERSION,
#define _SC_REGEX_VERSION		_SC_REGEX_VERSION
    _SC_SHELL,
#define _SC_SHELL			_SC_SHELL
    _SC_SIGNALS,
#define _SC_SIGNALS			_SC_SIGNALS
    _SC_SPAWN,
#define _SC_SPAWN			_SC_SPAWN
    _SC_SPORADIC_SERVER,
#define _SC_SPORADIC_SERVER		_SC_SPORADIC_SERVER
    _SC_THREAD_SPORADIC_SERVER,
#define _SC_THREAD_SPORADIC_SERVER	_SC_THREAD_SPORADIC_SERVER
    _SC_SYSTEM_DATABASE,
#define _SC_SYSTEM_DATABASE		_SC_SYSTEM_DATABASE
    _SC_SYSTEM_DATABASE_R,
#define _SC_SYSTEM_DATABASE_R		_SC_SYSTEM_DATABASE_R
    _SC_TIMEOUTS,
#define _SC_TIMEOUTS			_SC_TIMEOUTS
    _SC_TYPED_MEMORY_OBJECTS,
#define _SC_TYPED_MEMORY_OBJECTS	_SC_TYPED_MEMORY_OBJECTS
    _SC_USER_GROUPS,
#define _SC_USER_GROUPS			_SC_USER_GROUPS
    _SC_USER_GROUPS_R,
#define _SC_USER_GROUPS_R		_SC_USER_GROUPS_R
    _SC_2_PBS,
#define _SC_2_PBS			_SC_2_PBS
    _SC_2_PBS_ACCOUNTING,
#define _SC_2_PBS_ACCOUNTING		_SC_2_PBS_ACCOUNTING
    _SC_2_PBS_LOCATE,
#define _SC_2_PBS_LOCATE		_SC_2_PBS_LOCATE
    _SC_2_PBS_MESSAGE,
#define _SC_2_PBS_MESSAGE		_SC_2_PBS_MESSAGE
    _SC_2_PBS_TRACK,
#define _SC_2_PBS_TRACK			_SC_2_PBS_TRACK
    _SC_SYMLOOP,
#define _SC_SYMLOOP			_SC_SYMLOOP
    _SC_STREAMS,
#define _SC_STREAMS			_SC_STREAMS
    _SC_2_PBS_CHECKPOINT
#define _SC_2_PBS_CHECKPOINT		_SC_2_PBS_CHECKPOINT
  };




 
enum
  {
    _CS_PATH			 
#define _CS_PATH		_CS_PATH

# 469 "/usr/include/bits/confname.h" 3


# 505 "/usr/include/bits/confname.h" 3

  };

# 500 "/usr/include/unistd.h" 2 3


 
extern long int pathconf (__const char *__path, int __name) throw () ;

 
extern long int fpathconf (int __fd, int __name) throw () ;

 
extern long int sysconf (int __name) throw ()  __attribute__ ((__const__));


 
extern size_t confstr (int __name, char *__buf, size_t __len) throw () ;



 
extern __pid_t getpid (void) throw () ;

 
extern __pid_t getppid (void) throw () ;

 


extern __pid_t getpgrp (void) throw () ;








 
extern __pid_t __getpgid (__pid_t __pid) throw () ;





 


extern int setpgid (__pid_t __pid, __pid_t __pgid) throw () ;


 











 

extern int setpgrp (void) throw () ;

# 574 "/usr/include/unistd.h" 3



 


extern __pid_t setsid (void) throw () ;






 
extern __uid_t getuid (void) throw () ;

 
extern __uid_t geteuid (void) throw () ;

 
extern __gid_t getgid (void) throw () ;

 
extern __gid_t getegid (void) throw () ;

 


extern int getgroups (int __size, __gid_t __list[]) throw () ;






 



extern int setuid (__uid_t __uid) throw () ;


 

extern int setreuid (__uid_t __ruid, __uid_t __euid) throw () ;



 
extern int seteuid (__uid_t __uid) throw () ;


 



extern int setgid (__gid_t __gid) throw () ;


 

extern int setregid (__gid_t __rgid, __gid_t __egid) throw () ;



 
extern int setegid (__gid_t __gid) throw () ;



 


extern __pid_t fork (void) throw () ;


 



extern __pid_t vfork (void) throw () ;



 

extern char *ttyname (int __fd) throw () ;

 

extern int ttyname_r (int __fd, char *__buf, size_t __buflen) throw () ;

 

extern int isatty (int __fd) throw () ;



 

extern int ttyslot (void) throw () ;



 
extern int link (__const char *__from, __const char *__to) throw () ;


 
extern int symlink (__const char *__from, __const char *__to) throw () ;

 


extern int readlink (__const char *__restrict __path, char *__restrict __buf,
		     size_t __len) throw () ;


 
extern int unlink (__const char *__name) throw () ;

 
extern int rmdir (__const char *__path) throw () ;


 
extern __pid_t tcgetpgrp (int __fd) throw () ;

 
extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) throw () ;


 
extern char *getlogin (void) throw () ;








 
extern int setlogin (__const char *__name) throw () ;




 


#define __need_getopt
# 1 "/usr/include/getopt.h" 1 3
 
























 











extern "C" {


 





extern char *optarg;

 











extern int optind;

 


extern int opterr;

 

extern int optopt;

# 113 "/usr/include/getopt.h" 3



 

























 


extern int getopt (int __argc, char *const *__argv, const char *__shortopts);




# 162 "/usr/include/getopt.h" 3

# 171 "/usr/include/getopt.h" 3



}


 
#undef __need_getopt


# 726 "/usr/include/unistd.h" 2 3





 


extern int gethostname (char *__name, size_t __len) throw () ;




 

extern int sethostname (__const char *__name, size_t __len) throw () ;

 

extern int sethostid (long int __id) throw () ;


 


extern int getdomainname (char *__name, size_t __len) throw () ;
extern int setdomainname (__const char *__name, size_t __len) throw () ;


 


extern int vhangup (void) throw () ;

 
extern int revoke (__const char *__file) throw () ;


 




extern int profil (unsigned short int *__sample_buffer, size_t __size,
		   size_t __offset, unsigned int __scale) throw () ;


 


extern int acct (__const char *__name) throw () ;


 
extern char *getusershell (void) throw () ;
extern void endusershell (void) throw () ;  
extern void setusershell (void) throw () ;  


 


extern int daemon (int __nochdir, int __noclose) throw () ;




 

extern int chroot (__const char *__path) throw () ;

 

extern char *getpass (__const char *__prompt) throw () ;




 
extern int fsync (int __fd) throw () ;





 
extern long int gethostid (void) throw () ;

 
extern void sync (void) throw () ;


 

extern int getpagesize (void)  throw ()  __attribute__ ((__const__));


 

extern int truncate (__const char *__file, __off_t __length) throw () ;
# 834 "/usr/include/unistd.h" 3





 

extern int ftruncate (int __fd, __off_t __length) throw () ;













 

extern int getdtablesize (void) throw () ;






 

extern int brk (void *__addr) throw () ;

 



extern void *sbrk (intptr_t __delta) throw () ;




 









extern long int syscall (long int __sysno, ...) throw () ;





 



 



#define F_ULOCK 0	
#define F_LOCK  1	
#define F_TLOCK 2	
#define F_TEST  3	


extern int lockf (int __fd, int __cmd, __off_t __len) throw () ;














# 933 "/usr/include/unistd.h" 3



 

extern int fdatasync (int __fildes) throw () ;



 

# 959 "/usr/include/unistd.h" 3



 








 

 









extern int pthread_atfork (void (*__prepare) (void),
			   void (*__parent) (void),
			   void (*__child) (void)) throw () ;


} 


# 35 "/usr/include/kde/kprocess.h" 2 3

# 1 "/usr/include/qt/qstrlist.h" 1 3
 





































#define QSTRLIST_H



# 1 "/usr/include/qt/qlist.h" 1 3
 





































#define QLIST_H


# 1 "/usr/include/qt/qglist.h" 1 3
 





































#define QGLIST_H






 



class   QLNode
{
friend class QGList;
friend class QGListIterator;
public:
    QCollection::Item getData()	{ return data; }
private:
    QCollection::Item data;
    QLNode *prev;
    QLNode *next;
    QLNode( QCollection::Item 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 & );			 
    virtual ~QGList();

    QGList &operator=( const QGList & );	 
    bool operator==( const QGList& ) const;

    void inSort( QCollection::Item );		 
    void append( QCollection::Item );		 
    bool insertAt( uint index, QCollection::Item );  
    void relinkNode( QLNode * );		 
    bool removeNode( QLNode * );		 
    bool remove( QCollection::Item = 0 );	 
    bool removeRef( QCollection::Item = 0 );	 
    bool removeFirst();				 
    bool removeLast();				 
    bool removeAt( uint index );		 
    QCollection::Item takeNode( QLNode * );	 
    QCollection::Item take();			 
    QCollection::Item takeAt( uint index );	 
    QCollection::Item takeFirst();		 
    QCollection::Item takeLast();		 

    void sort();                         
    void clear();			 

    int	 findRef( QCollection::Item, bool = TRUE );  
    int	 find( QCollection::Item, bool = TRUE );  

    uint containsRef( QCollection::Item ) const;  
    uint contains( QCollection::Item )	const;	 

    QCollection::Item at( uint index );		 
    int	  at() const;				 
    QLNode *currentNode() const;		 

    QCollection::Item get() const;		 

    QCollection::Item cfirst() const;	 
    QCollection::Item clast()  const;	 
    QCollection::Item first();		 
    QCollection::Item last();		 
    QCollection::Item next();		 
    QCollection::Item prev();		 

    void  toVector( QGVector * ) const;		 

    virtual int compareItems( QCollection::Item, QCollection::Item );


    virtual QDataStream &read( QDataStream &, QCollection::Item & );
    virtual QDataStream &write( QDataStream &, QCollection::Item ) const;

private:
    void  prepend( QCollection::Item );  

    void heapSortPushDown( QCollection::Item* heap, int first, int last );

    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 QCollection::Item QGList::at( uint index )
{
    QLNode *n = locate( index );
    return n ? n->data : 0;
}

inline QLNode *QGList::currentNode() const
{
    return curNode;
}

inline QCollection::Item QGList::get() const
{
    return curNode ? curNode->data : 0;
}

inline QCollection::Item QGList::cfirst() const
{
    return firstNode ? firstNode->data : 0;
}

inline QCollection::Item 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;			 
    QCollection::Item	  toFirst();				 
    QCollection::Item	  toLast();				 

    QCollection::Item	  get() const;				 
    QCollection::Item	  operator()();				 
    QCollection::Item	  operator++();				 
    QCollection::Item	  operator+=(uint);			 
    QCollection::Item	  operator--();				 
    QCollection::Item	  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 QCollection::Item QGListIterator::get() const
{
    return curNode ? curNode->data : 0;
}



# 42 "/usr/include/qt/qlist.h" 2 3




template<class type> class   QList : public QGList
{
public:
    QList()				{}
    QList( const QList<type> &l ) : QGList(l) {}
   ~QList()				{ clear(); }
    QList<type> &operator=(const QList<type> &l)
			{ return (QList<type>&)QGList::operator=(l); }
    bool operator==( const QList<type> &list ) const
    { return QGList::operator==( list ); }
    uint  count()   const		{ return QGList::count(); }
    bool  isEmpty() const		{ return QGList::count() == 0; }
    bool  insert( uint i, const type *d){ return QGList::insertAt(i,(QCollection::Item)d); }
    void  inSort( const type *d )	{ QGList::inSort((QCollection::Item)d); }
    void  prepend( const type *d )	{ QGList::insertAt(0,(QCollection::Item)d); }
    void  append( const type *d )	{ QGList::append((QCollection::Item)d); }
    bool  remove( uint i )		{ return QGList::removeAt(i); }
    bool  remove()			{ return QGList::remove((QCollection::Item)0); }
    bool  remove( const type *d )	{ return QGList::remove((QCollection::Item)d); }
    bool  removeRef( const type *d )	{ return QGList::removeRef((QCollection::Item)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(); }
    void  sort()			{ QGList::sort(); }
    int	  find( const type *d )		{ return QGList::find((QCollection::Item)d); }
    int	  findNext( const type *d )	{ return QGList::find((QCollection::Item)d,FALSE); }
    int	  findRef( const type *d )	{ return QGList::findRef((QCollection::Item)d); }
    int	  findNextRef( const type *d ){ return QGList::findRef((QCollection::Item)d,FALSE);}
    uint  contains( const type *d ) const { return QGList::contains((QCollection::Item)d); }
    uint  containsRef( const type *d ) const
					{ return QGList::containsRef((QCollection::Item)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( QCollection::Item d );
};


template<> inline void QList<void>::deleteItem( QCollection::Item )
{
}


template<class type> inline void QList<type>::deleteItem( QCollection::Item d )
{
    if ( del_item ) delete (type *)d;
}


template<class type> class   QListIterator : public QGListIterator
{
public:
    QListIterator(const QList<type> &l) :QGListIterator((QGList &)l) {}
   ~QListIterator()	      {}
    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 *operator*()         { 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);}
    QListIterator<type>& operator=(const QListIterator<type>&it)
			      { QGListIterator::operator=(it); return *this; }
};



# 43 "/usr/include/qt/qstrlist.h" 2 3










typedef QList<char>		QStrListBase;
typedef QListIterator<char>	QStrListIterator;


class   QStrList : public QStrListBase
{
public:
    QStrList( bool deepCopies=TRUE ) { dc = deepCopies; del_item = deepCopies; }
    QStrList( const QStrList & );
   ~QStrList()			{ clear(); }
    QStrList& operator=( const QStrList & );

private:
    QCollection::Item newItem( QCollection::Item d ) { return dc ? qstrdup( (const char*)d ) : d; }
    void deleteItem( QCollection::Item d ) { if ( del_item ) delete[] (char*)d; }
    int compareItems( QCollection::Item s1, QCollection::Item s2 ) { return qstrcmp((const char*)s1,
							 (const char*)s2); }

    QDataStream &read( QDataStream &s, QCollection::Item &d )
				{ s >> (char *&)d; return s; }
    QDataStream &write( QDataStream &s, QCollection::Item d ) const
				{ return s << (const char *)d; }

    bool  dc;
};


class   QStrIList : public QStrList	 
{
public:
    QStrIList( bool deepCopies=TRUE ) : QStrList( deepCopies ) {}
   ~QStrIList()			{ clear(); }
private:
    int	  compareItems( QCollection::Item s1, QCollection::Item s2 )
				{ return qstricmp((const char*)s1,
						    (const char*)s2); }
};


inline QStrList & QStrList::operator=( const QStrList &strList )
{
    clear();
    dc = strList.dc;
    del_item = dc;
    QStrListBase::operator=(strList);
    return *this;
}

inline QStrList::QStrList( const QStrList &strList )
    : QStrListBase( strList )
{
    dc = FALSE;
    operator=(strList);
}



# 36 "/usr/include/kde/kprocess.h" 2 3


# 1 "/usr/include/qt/qsocketnotifier.h" 1 3
 





































#define QSOCKETNOTIFIER_H






class   QSocketNotifier : public QObject
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
public:
    enum Type { Read, Write, Exception };

    QSocketNotifier( int socket, Type, QObject *parent=0, const char *name=0 );
   ~QSocketNotifier();

    int		 socket()	const;
    Type	 type()		const;

    bool	 isEnabled()	const;
    virtual void setEnabled( bool );

protected :
    void	 activated( int socket );

protected:
    bool	 event( QEvent * );

private:
    int		 sockfd;
    Type	 sntype;
    bool	 snenabled;

private:	 

    QSocketNotifier( const QSocketNotifier & );
    QSocketNotifier &operator=( const QSocketNotifier & );

};


inline int QSocketNotifier::socket() const
{ return sockfd; }

inline QSocketNotifier::Type QSocketNotifier::type() const
{ return sntype; }

inline bool QSocketNotifier::isEnabled() const
{ return snenabled; }



# 38 "/usr/include/kde/kprocess.h" 2 3


class KProcessPrivate;

 


































































































class KProcess : public QObject
{
  public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 

public:

   











  enum Communication { NoCommunication = 0, Stdin = 1, Stdout = 2, Stderr = 4,
					   AllOutput = 6, All = 7,
					   NoRead };

   




  enum RunMode { DontCare, NotifyOnExit, Block };

   
  KProcess();

   







  virtual ~KProcess();

   












  bool setExecutable(const QString& proc);


   










  KProcess &operator<<(const QString& arg);

   



  void clearArguments();

   




















  virtual bool start(RunMode  runmode = NotifyOnExit,
  	Communication comm = NoCommunication);

   





  virtual bool kill(int signo = 15 );

   


  bool isRunning() const;

   








  pid_t pid() const;

   



  pid_t getPid() const { return pid(); }

   


  void suspend();

   


  void resume();

   






  bool normalExit() const;

   








  int  exitStatus() const;


   























  bool writeStdin(const char *buffer, int buflen);

   






  bool closeStdin();

   






  bool closeStdout();

   






  bool closeStderr();

   



  QStrList * args() { return &arguments; }

   





  void setRunPrivileged(bool keepPrivileges);

   



  bool runPrivileged() const;

protected :

   




  void processExited(KProcess *proc);


   













  void receivedStdout(KProcess *proc, char *buffer, int buflen);

   














  void receivedStdout(int fd, int &len);


   












  void receivedStderr(KProcess *proc, char *buffer, int buflen);

   




  void wroteStdin(KProcess *proc);


protected  :

  



  void slotChildOutput(int fdno);

  



  void slotChildError(int fdno);
   




   




  void slotSendData(int dummy);

protected:

   



  QStrList arguments;
   



  RunMode run_mode;
   






  bool runs;

   






  pid_t pid_;

   





  int status;


   

  bool keepPrivs;

   












   












  virtual int setupCommunication(Communication comm);

   










  virtual int commSetupDoneP();

   





  virtual int commSetupDoneC();


   





  virtual void processHasExited(int state);

   



  virtual void commClose();


   


  int out[2];
  int in[2];
  int err[2];

   


  QSocketNotifier *innot;
  QSocketNotifier *outnot;
  QSocketNotifier *errnot;

   



  Communication communication;

   




  int childOutput(int fdno);

   




  int childError(int fdno);

   

  const char *input_data;   
  int input_sent;     
  int input_total;    

   



  friend class KProcessController;


private:
   
  KProcess( const KProcess& );
  KProcess& operator= ( const KProcess& );

  KProcessPrivate *d;
};

class KShellProcessPrivate;

 




























class KShellProcess: public KProcess
{
  public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 

public:

   






  KShellProcess(const char *shellname=0);

   


  ~KShellProcess();

   




  virtual bool start(RunMode  runmode = NotifyOnExit,
		  Communication comm = NoCommunication);

   





  static QString quote(const QString &arg);

private:

   



  QCString searchShell();

   



  bool isExecutable(const QCString &filename);

  QCString shell;

   
  KShellProcess( const KShellProcess& );
  KShellProcess& operator= ( const KShellProcess& );

  KShellProcessPrivate *d;
};





# 27 "kdc.h" 2

# 1 "/usr/include/kde/kconfig.h" 1 3
 




















 


#define _KCONFIG_H

class QTimer;

# 1 "/usr/include/kde/kconfigbase.h" 1 3
 




















 


#define _KCONFIGBASE_H




# 1 "/usr/include/qt/qdatetime.h" 1 3
 





































#define QDATETIME_H






 



class   QDate
{
public:
    QDate()  { jd=0; }				 
    QDate( int y, int m, int d );		 

    bool   isNull()	 const { return jd == 0; }
    bool   isValid()	 const;			 

    int	   year()	 const;			 
    int	   month()	 const;			 
    int	   day()	 const;			 
    int	   dayOfWeek()	 const;			 
    int	   dayOfYear()	 const;			 
    int	   daysInMonth() const;			 
    int	   daysInYear()	 const;			 

    virtual QString monthName( int month ) const;
    virtual QString dayName( int weekday ) const;

    QString toString()	 const;

    bool   setYMD( int y, int m, int d );

    QDate  addDays( int days )		const;
    int	   daysTo( const QDate & )	const;

    bool   operator==( const QDate &d ) const { return jd == d.jd; }
    bool   operator!=( const QDate &d ) const { return jd != d.jd; }
    bool   operator<( const QDate &d )	const { return jd < d.jd; }
    bool   operator<=( const QDate &d ) const { return jd <= d.jd; }
    bool   operator>( const QDate &d )	const { return jd > d.jd; }
    bool   operator>=( const QDate &d ) const { return jd >= d.jd; }

    static QDate currentDate();
    static bool	 isValid( int y, int m, int d );
    static bool	 leapYear( int year );

protected:
    static uint	 greg2jul( int y, int m, int d );
    static void	 jul2greg( uint jd, int &y, int &m, int &d );
private:
    static const char * const monthNames[];
    static const char * const weekdayNames[];
    uint	 jd;
    friend class QDateTime;

    friend   QDataStream &operator<<( QDataStream &, const QDate & );
    friend   QDataStream &operator>>( QDataStream &, QDate & );

};


 



class   QTime
{
public:
    QTime() { ds=0; }				 
    QTime( int h, int m, int s=0, int ms=0 );	 

    bool   isNull()	 const { return ds == 0; }
    bool   isValid()	 const;			 

    int	   hour()	 const;			 
    int	   minute()	 const;			 
    int	   second()	 const;			 
    int	   msec()	 const;			 

    QString toString()	 const;

    bool   setHMS( int h, int m, int s, int ms=0 );

    QTime  addSecs( int secs )		const;
    int	   secsTo( const QTime & )	const;
    QTime  addMSecs( int ms )		const;
    int	   msecsTo( const QTime & )	const;

    bool   operator==( const QTime &d ) const { return ds == d.ds; }
    bool   operator!=( const QTime &d ) const { return ds != d.ds; }
    bool   operator<( const QTime &d )	const { return ds < d.ds; }
    bool   operator<=( const QTime &d ) const { return ds <= d.ds; }
    bool   operator>( const QTime &d )	const { return ds > d.ds; }
    bool   operator>=( const QTime &d ) const { return ds >= d.ds; }

    static QTime currentTime();
    static bool	 isValid( int h, int m, int s, int ms=0 );

    void   start();
    int	   restart();
    int	   elapsed();

private:
    static bool currentTime( QTime * );

    uint   ds;
    friend class QDateTime;

    friend   QDataStream &operator<<( QDataStream &, const QTime & );
    friend   QDataStream &operator>>( QDataStream &, QTime & );

};


 



class   QDateTime
{
public:
    QDateTime() {}				 
    QDateTime( const QDate & );
    QDateTime( const QDate &, const QTime & );

    bool   isNull()	const		{ return d.isNull() && t.isNull(); }
    bool   isValid()	const		{ return d.isValid() && t.isValid(); }

    QDate  date()	const		{ return d; }
    QTime  time()	const		{ return t; }
    void   setDate( const QDate &date ) { d=date; }
    void   setTime( const QTime &time ) { t=time; }
    void   setTime_t( uint secsSince1Jan1970UTC );

    QString toString()	const;

    QDateTime addDays( int days )	const;
    QDateTime addSecs( int secs )	const;
    int	   daysTo( const QDateTime & )	const;
    int	   secsTo( const QDateTime & )	const;

    bool   operator==( const QDateTime &dt ) const;
    bool   operator!=( const QDateTime &dt ) const;
    bool   operator<( const QDateTime &dt )  const;
    bool   operator<=( const QDateTime &dt ) const;
    bool   operator>( const QDateTime &dt )  const;
    bool   operator>=( const QDateTime &dt ) const;

    static QDateTime currentDateTime();

private:
    QDate  d;
    QTime  t;

    friend   QDataStream &operator<<( QDataStream &, const QDateTime &);
    friend   QDataStream &operator>>( QDataStream &, QDateTime & );

};


 




  QDataStream &operator<<( QDataStream &, const QDate & );
  QDataStream &operator>>( QDataStream &, QDate & );
  QDataStream &operator<<( QDataStream &, const QTime & );
  QDataStream &operator>>( QDataStream &, QTime & );
  QDataStream &operator<<( QDataStream &, const QDateTime & );
  QDataStream &operator>>( QDataStream &, QDateTime & );



# 30 "/usr/include/kde/kconfigbase.h" 2 3



# 1 "/usr/include/qt/qvariant.h" 1 3
 





































#define QVARIANT_H







class QString;
class QCString;
class QFont;
class QPixmap;
class QBrush;
class QRect;
class QPoint;
class QImage;
class QSize;
class QColor;
class QPalette;
class QColorGroup;
class QIconSet;
class QDataStream;
class QPointArray;
class QRegion;
class QBitmap;
class QCursor;
class QStringList;
class QSizePolicy;
 
 
class QVariant;
class QVariantPrivate;
template <class T> class QValueList;
template <class T> class QValueListConstIterator;
template <class T> class QValueListNode;
template <class Key, class T> class QMap;
template <class Key, class T> class QMapConstIterator;


class   QVariant
{
public:
    enum Type {
	Invalid,
	Map,
	List,
	String,
	StringList,
	Font,
	Pixmap,
	Brush,
	Rect,
	Size,
	Color,
	Palette,
	ColorGroup,
	IconSet,
	Point,
	Image,
	Int,
	UInt,
	Bool,
	Double,
	CString,
	PointArray,
	Region,
	Bitmap,
	Cursor,
	SizePolicy
    };

    QVariant();
    ~QVariant();
    QVariant( const QVariant& );
    QVariant( QDataStream& s );

    QVariant( const QString& );
    QVariant( const QCString& );
    QVariant( const char* );
    QVariant( const QStringList& );
    QVariant( const QFont& );
    QVariant( const QPixmap& );
    QVariant( const QImage& );
    QVariant( const QBrush& );
    QVariant( const QPoint& );
    QVariant( const QRect& );
    QVariant( const QSize& );
    QVariant( const QColor& );
    QVariant( const QPalette& );
    QVariant( const QColorGroup& );
    QVariant( const QIconSet& );
    QVariant( const QPointArray& );
    QVariant( const QRegion& );
    QVariant( const QBitmap& );
    QVariant( const QCursor& );
    QVariant( const QValueList<QVariant>& );
    QVariant( const QMap<QString,QVariant>& );
    QVariant( int );
    QVariant( uint );
     
    QVariant( bool, int );
    QVariant( double );
    QVariant( QSizePolicy );

    QVariant& operator= ( const QVariant& );
    bool operator==( const QVariant& ) const;
    bool operator!=( const QVariant& ) const;

    Type type() const;
    const char* typeName() const;

    bool canCast( Type ) const;

    bool isValid() const;

    void clear();

    const QString toString() const;
    const QCString toCString() const;
    const QStringList toStringList() const;
    const QFont toFont() const;
    const QPixmap toPixmap() const;
    const QImage toImage() const;
    const QBrush toBrush() const;
    const QPoint toPoint() const;
    const QRect toRect() const;
    const QSize toSize() const;
    const QColor toColor() const;
    const QPalette toPalette() const;
    const QColorGroup toColorGroup() const;
    const QIconSet toIconSet() const;
    const QPointArray toPointArray() const;
    const QBitmap toBitmap() const;
    const QRegion toRegion() const;
    const QCursor toCursor() const;
    int toInt() const;
    uint toUInt() const;
    bool toBool() const;
    double toDouble() const;
    const QValueList<QVariant> toList() const;
    const QMap<QString,QVariant> toMap() const;
    QSizePolicy toSizePolicy() const;

    QValueListConstIterator<QVariant> listBegin() const;
    QValueListConstIterator<QVariant> listEnd() const;
    QValueListConstIterator<QString> stringListBegin() const;
    QValueListConstIterator<QString> stringListEnd() const;
    QMapConstIterator<QString,QVariant> mapBegin() const;
    QMapConstIterator<QString,QVariant> mapEnd() const;
    QMapConstIterator<QString,QVariant> mapFind( const QString& ) const;

    QString& asString();
    QCString& asCString();
    QStringList& asStringList();
    QFont& asFont();
    QPixmap& asPixmap();
    QImage& asImage();
    QBrush& asBrush();
    QPoint& asPoint();
    QRect& asRect();
    QSize& asSize();
    QColor& asColor();
    QPalette& asPalette();
    QColorGroup& asColorGroup();
    QIconSet& asIconSet();
    QPointArray& asPointArray();
    QBitmap& asBitmap();
    QRegion& asRegion();
    QCursor& asCursor();
    int& asInt();
    uint& asUInt();
    bool& asBool();
    double& asDouble();
    QValueList<QVariant>& asList();
    QMap<QString,QVariant>& asMap();
    QSizePolicy& asSizePolicy();

    void load( QDataStream& );
    void save( QDataStream& ) const;

    static const char* typeToName( Type typ );
    static Type nameToType( const char* name );

private:
    void detach();

    QVariantPrivate* d;
};

class QVariantPrivate : public QShared
{
public:
    QVariantPrivate();
    QVariantPrivate( QVariantPrivate* );
    ~QVariantPrivate();

    void clear();

    QVariant::Type typ;
    union
    {
	uint u;
	int i;
	bool b;
	double d;
	void *ptr;
    } value;
};

 



# 1 "/usr/include/qt/qmap.h" 1 3
 





































#define QMAP_H







struct QMapNodeBase
{
    enum Color { Red, Black };

    QMapNodeBase* left;
    QMapNodeBase* right;
    QMapNodeBase* parent;

    Color color;

    QMapNodeBase* minimum() {
	QMapNodeBase* x = this;
	while ( x->left )
	    x = x->left;
	return x;
    }

    QMapNodeBase* maximum() {
	QMapNodeBase* x = this;
	while ( x->right )
	    x = x->right;
	return x;
    }
};


template <class K, class T>
struct QMapNode : public QMapNodeBase
{
    QMapNode( const K& _key, const T& _data ) { data = _data; key = _key; }
    QMapNode( const K& _key )	   { key = _key; }
    QMapNode( const QMapNode<K,T>& _n ) { key = _n.key; data = _n.data; }
    QMapNode() { }
    T data;
    K key;
};


template<class K, class T>
class   QMapIterator
{
 public:
     


    typedef QMapNode< K, T >* NodePtr;

     


    QMapNode<K,T>* node;

     


    QMapIterator() : node( 0 ) {}
    QMapIterator( QMapNode<K,T>* p ) : node( p ) {}
    QMapIterator( const QMapIterator<K,T>& it ) : node( it.node ) {}

    bool operator==( const QMapIterator<K,T>& it ) const { return node == it.node; }
    bool operator!=( const QMapIterator<K,T>& it ) const { return node != it.node; }
    T& operator*() { return node->data; }
    const T& operator*() const { return node->data; }

     
     

    const K& key() const { return node->key; }
    T& data() { return node->data; }
    const T& data() const { return node->data; }

private:
    int inc() {
	QMapNodeBase* tmp = node;
	if ( tmp->right ) {
	    tmp = tmp->right;
	    while ( tmp->left )
		tmp = tmp->left;
	} else {
	    QMapNodeBase* y = tmp->parent;
	    while (tmp == y->right) {
		tmp = y;
		y = y->parent;
	    }
	    if (tmp->right != y)
		tmp = y;
	}
	node = (NodePtr)tmp;
	return 0;
    }

    int dec() {
	QMapNodeBase* tmp = node;
	if (tmp->color == QMapNodeBase::Red &&
	    tmp->parent->parent == tmp ) {
	    tmp = tmp->right;
	} else if (tmp->left != 0) {
	    QMapNodeBase* y = tmp->left;
	    while ( y->right )
		y = y->right;
	    tmp = y;
	} else {
	    QMapNodeBase* y = tmp->parent;
	    while (tmp == y->left) {
		tmp = y;
		y = y->parent;
	    }
	    tmp = y;
	}
	node = (NodePtr)tmp;
	return 0;
    }

public:
    QMapIterator<K,T>& operator++() {
	inc();
	return *this;
    }

    QMapIterator<K,T> operator++(int) {
	QMapIterator<K,T> tmp = *this;
	inc();
	return tmp;
    }

    QMapIterator<K,T>& operator--() {
	dec();
	return *this;
    }

    QMapIterator<K,T> operator--(int) {
	QMapIterator<K,T> tmp = *this;
	dec();
	return tmp;
    }
};

template<class K, class T>
class   QMapConstIterator
{
 public:
     


    typedef QMapNode< K, T >* NodePtr;

     


    QMapNode<K,T>* node;

     


    QMapConstIterator() : node( 0 ) {}
    QMapConstIterator( QMapNode<K,T>* p ) : node( p ) {}
    QMapConstIterator( const QMapConstIterator<K,T>& it ) : node( it.node ) {}
    QMapConstIterator( const QMapIterator<K,T>& it ) : node( it.node ) {}

    bool operator==( const QMapConstIterator<K,T>& it ) const { return node == it.node; }
    bool operator!=( const QMapConstIterator<K,T>& it ) const { return node != it.node; }
    const T& operator*()  const { return node->data; }

     
     

    const K& key() const { return node->key; }
    const T& data() const { return node->data; }

private:
    int inc() {
        QMapNodeBase* tmp = node;
	if ( tmp->right ) {
	    tmp = tmp->right;
	    while ( tmp->left )
		tmp = tmp->left;
	} else {
	    QMapNodeBase* y = tmp->parent;
	    while (tmp == y->right) {
		tmp = y;
		y = y->parent;
	    }
	    if (tmp->right != y)
		tmp = y;
	}
	node = (NodePtr)tmp;
	return 0;
    }

    int dec() {
	QMapNodeBase* tmp = node;
	if (tmp->color == QMapNodeBase::Red &&
	    tmp->parent->parent == tmp ) {
	    tmp = tmp->right;
	} else if (tmp->left != 0) {
	    QMapNodeBase* y = tmp->left;
	    while ( y->right )
		y = y->right;
	    tmp = y;
	} else {
	    QMapNodeBase* y = tmp->parent;
	    while (tmp == y->left) {
		tmp = y;
		y = y->parent;
	    }
	    tmp = y;
	}
	node = (NodePtr)tmp;
	return 0;
    }

public:
    QMapConstIterator<K,T>& operator++() {
	inc();
	return *this;
    }

    QMapConstIterator<K,T> operator++(int) {
	QMapConstIterator<K,T> tmp = *this;
	inc();
	return tmp;
    }

    QMapConstIterator<K,T>& operator--() {
	dec();
	return *this;
    }

    QMapConstIterator<K,T> operator--(int) {
	QMapConstIterator<K,T> tmp = *this;
	dec();
	return tmp;
    }
};


class   QMapPrivateBase : public QShared
{
public:
    QMapPrivateBase() {
	node_count = 0;
    }
    QMapPrivateBase( const QMapPrivateBase* _map) {
	node_count = _map->node_count;
    }

     


    void rotateLeft( QMapNodeBase* x, QMapNodeBase*& root);
    void rotateRight( QMapNodeBase* x, QMapNodeBase*& root );
    void rebalance( QMapNodeBase* x, QMapNodeBase*& root );
    QMapNodeBase* removeAndRebalance( QMapNodeBase* z, QMapNodeBase*& root,
				      QMapNodeBase*& leftmost,
				      QMapNodeBase*& rightmost );

     


    int node_count;
};


template <class Key, class T>
class QMapPrivate : public QMapPrivateBase
{
public:
     


    typedef QMapIterator< Key, T > Iterator;
    typedef QMapConstIterator< Key, T > ConstIterator;
    typedef QMapNode< Key, T > Node;
    typedef QMapNode< Key, T >* NodePtr;

     


    QMapPrivate() {
	header = new Node;
	header->color = QMapNodeBase::Red;  
	header->parent = 0;
	header->left = header->right = header;
    }
    QMapPrivate( const QMapPrivate< Key, T >* _map ) : QMapPrivateBase( _map ) {
	header = new Node;
	header->color = QMapNodeBase::Red;  
	if ( _map->header->parent == 0 ) {
	    header->parent = 0;
	    header->left = header->right = header;
	} else {
	    header->parent = copy( (NodePtr)(_map->header->parent) );
	    header->parent->parent = header;
	    header->left = header->parent->minimum();
	    header->right = header->parent->maximum();
	}
    }
    ~QMapPrivate() { clear(); delete header; }

    NodePtr copy( NodePtr p ) {
	if ( !p )
	    return 0;
	NodePtr n = new Node( *p );
	n->color = p->color;
	if ( p->left ) {
	    n->left = copy( (NodePtr)(p->left) );
	    n->left->parent = n;
	} else {
	    n->left = 0;
	}
	if ( p->right ) {
	    n->right = copy( (NodePtr)(p->right) );
	    n->right->parent = n;
	} else {
	    n->right = 0;
	}
	return n;
    }

    void clear() {
	clear( (NodePtr)(header->parent) );
	header->color = QMapNodeBase::Red;
	header->parent = 0;
	header->left = header->right = header;
	node_count = 0;
    }

    void clear( NodePtr p ) {
	while ( p != 0 ) {
	    clear( (NodePtr)p->right );
	    NodePtr y = (NodePtr)p->left;
	    delete p;
	    p = y;
	}
    }

    Iterator begin()	{ return Iterator( (NodePtr)(header->left ) ); }
    Iterator end()	{ return Iterator( header ); }
    ConstIterator begin() const { return ConstIterator( (NodePtr)(header->left ) ); }
    ConstIterator end() const { return ConstIterator( header ); }

    ConstIterator find(const Key& k) const {
	QMapNodeBase* y = header;         
	QMapNodeBase* x = header->parent;  

	while ( x != 0 ) {
	     
	    if ( !( key(x) < k ) ) {
		y = x;
		x = x->left;
	    } else {
		x = x->right;
	    }
	}

	 
	 
	if ( y == header || k < key(y) )
	    return ConstIterator( header );
	return ConstIterator( (NodePtr)y );
    }

    void remove( Iterator it ) {
	NodePtr del = (NodePtr) removeAndRebalance( it.node, header->parent, header->left, header->right );
	delete del;
	--node_count;
    }

# 425 "/usr/include/qt/qmap.h" 3


    Iterator insertMulti(const Key& v){
	QMapNodeBase* y = header;
	QMapNodeBase* x = header->parent;
	while (x != 0){
	    y = x;
	    x = ( v < key(x) ) ? x->left : x->right;
	}
	return insert(x, y, v);
    }

    Iterator insertSingle( const Key& k ) {
	 
	QMapNodeBase* y = header;
	QMapNodeBase* x = header->parent;
	bool result = TRUE;
	while ( x != 0 ) {
	    result = ( k < key(x) );
	    y = x;
	    x = result ? x->left : x->right;
	}
	 
	Iterator j( (NodePtr)y );
	if ( result ) {
	     
	    if ( j == begin() ) {
		return insert(x, y, k );
	    } else {
		 
		--j;
	    }
	}
	 
	if ( (j.node->key) < k )
	    return insert(x, y, k );
	 
	return j;
    }

    Iterator insert( QMapNodeBase* x, QMapNodeBase* y, const Key& k ) {
	NodePtr z = new Node( k );
	if (y == header || x != 0 || k < key(y) ) {
	    y->left = z;                 
	    if ( y == header ) {
		header->parent = z;
		header->right = z;
	    } else if ( y == header->left )
		header->left = z;            
	} else {
	    y->right = z;
	    if ( y == header->right )
		header->right = z;           
	}
	z->parent = y;
	z->left = 0;
	z->right = 0;
	rebalance( z, header->parent );
	++node_count;
	return Iterator(z);
    }

protected:
     


    const Key& key( QMapNodeBase* b ) const { return ((NodePtr)b)->key; }

     


    NodePtr header;
};


template<class Key, class T>
class   QMap
{
public:
     


    typedef QMapIterator< Key, T > Iterator;
    typedef QMapConstIterator< Key, T > ConstIterator;
    typedef T ValueType;
    typedef QMapPrivate< Key, T > Priv;

     


    QMap() { sh = new QMapPrivate< Key, T >; }
    QMap( const QMap<Key,T>& m ) { sh = m.sh; sh->ref(); }
    ~QMap() { if ( sh->deref() ) delete sh; }

    QMap<Key,T>& operator= ( const QMap<Key,T>& m )
      { m.sh->ref(); if ( sh->deref() ) delete sh; sh = m.sh; return *this; }

    Iterator begin() { detach(); return sh->begin(); }
    Iterator end() { detach(); return sh->end(); }
    ConstIterator begin() const { return ((const Priv*)sh)->begin(); }
    ConstIterator end() const { return ((const Priv*)sh)->end(); }

    Iterator find ( const Key& k )
	{ detach(); return Iterator( sh->find( k ).node ); }
    ConstIterator find ( const Key& k ) const
	{ return sh->find( k ); }
    T& operator[] ( const Key& k ) {
	detach(); QMapNode<Key,T>* p = sh->find( k ).node;
	if ( p != sh->end().node ) return p->data;
	return insert( k, T() ).data(); }
    const T& operator[] ( const Key& k ) const
	{ return sh->find( k ).data(); }
    bool contains ( const Key& k ) const
	{ return find( k ) != end(); }
	 

    uint count() const { return sh->node_count; }

    bool isEmpty() const { return sh->node_count == 0; }

    Iterator insert( const Key& key, const T& value ) {
        detach();
        Iterator it = sh->insertSingle( key );
        it.data() = value;
        return it;
    }

    void remove( Iterator it ) { detach(); sh->remove( it ); }
    void remove( const Key& k ) {
        detach();
        Iterator it( sh->find( k ).node );
        if ( it != end() )
            sh->remove( it );
    }

    Iterator replace( const Key& k, const T& v ) {
	remove( k );
	return insert( k, v );
    }

    void clear() { if ( sh->count == 1 ) sh->clear(); else { sh->deref(); sh = new QMapPrivate<Key,T>; } }





protected:
     


    void detach() { if ( sh->count > 1 ) { sh->deref(); sh = new QMapPrivate<Key,T>( sh ); } }

    Priv* sh;
};



template<class Key, class T>
inline QDataStream& operator>>( QDataStream& s, QMap<Key,T>& m ) {
    m.clear();
    Q_UINT32 c;
    s >> c;
    for( Q_UINT32 i = 0; i < c; ++i ) {
	Key k; T t;
	s >> k >> t;
	m.insert( k, t );
    }
    return s;
}


template<class Key, class T>
inline QDataStream& operator<<( QDataStream& s, const QMap<Key,T>& m ) {
    s << (Q_UINT32)m.count();
    QMapConstIterator<Key,T> it = m.begin();
    for( ; it != m.end(); ++it )
	s << it.key() << it.data();
    return s;
}



# 252 "/usr/include/qt/qvariant.h" 2 3



inline QVariant::Type QVariant::type() const
{
    return d->typ;
}

inline bool QVariant::isValid() const
{
    return (d->typ != Invalid);
}

inline QValueListConstIterator<QString> QVariant::stringListBegin() const
{
    if ( d->typ != StringList )
	return QValueListConstIterator<QString>();
    return ((const QStringList*)d->value.ptr)->begin();
}

inline QValueListConstIterator<QString> QVariant::stringListEnd() const
{
    if ( d->typ != StringList )
	return QValueListConstIterator<QString>();
    return ((const QStringList*)d->value.ptr)->end();
}

inline QValueListConstIterator<QVariant> QVariant::listBegin() const
{
    if ( d->typ != List )
	return QValueListConstIterator<QVariant>();
    return ((const QValueList<QVariant>*)d->value.ptr)->begin();
}

inline QValueListConstIterator<QVariant> QVariant::listEnd() const
{
    if ( d->typ != List )
	return QValueListConstIterator<QVariant>();
    return ((const QValueList<QVariant>*)d->value.ptr)->end();
}

inline QMapConstIterator<QString,QVariant> QVariant::mapBegin() const
{
    if ( d->typ != Map )
	return QMapConstIterator<QString,QVariant>();
    return ((const QMap<QString,QVariant>*)d->value.ptr)->begin();
}

inline QMapConstIterator<QString,QVariant> QVariant::mapEnd() const
{
    if ( d->typ != Map )
	return QMapConstIterator<QString,QVariant>();
    return ((const QMap<QString,QVariant>*)d->value.ptr)->end();
}

inline QMapConstIterator<QString,QVariant> QVariant::mapFind( const QString& key ) const
{
    if ( d->typ != Map )
	return QMapConstIterator<QString,QVariant>();
    return ((const QMap<QString,QVariant>*)d->value.ptr)->find( key );
}

  QDataStream& operator>> ( QDataStream& s, QVariant& p );
  QDataStream& operator<< ( QDataStream& s, const QVariant& p );
  QDataStream& operator>> ( QDataStream& s, QVariant::Type& p );
  QDataStream& operator<< ( QDataStream& s, const QVariant::Type p );




# 33 "/usr/include/kde/kconfigbase.h" 2 3



# 1 "/usr/include/kde/kconfigdata.h" 1 3
 





















#define _KCONFIGDATA_H



 



struct KEntry
{
  KEntry()
    : mValue(0), bDirty(false), bNLS(false), bGlobal(false) {}
  QCString mValue;
  bool    bDirty :1;   
  bool    bNLS   :1;   
  bool    bGlobal:1;   
};

 




struct KEntryKey
{
  KEntryKey(const QCString& _group = 0,
	    const QCString& _key = 0)
      : mGroup(_group), mKey(_key), bLocal(false), c_key(_key.data()) {}
  QCString mGroup;  
  QCString mKey;    
  bool bLocal;
  const char *c_key;
};

 



inline bool operator <(const KEntryKey &k1, const KEntryKey &k2)
{
    
   int result=qstrcmp(k1.mGroup.data(),k2.mGroup.data());
   if (result!=0)
      return (result<0);     

  if (!k1.c_key && k2.c_key)
    return true;

  result = 0;
  if (k1.c_key && k2.c_key)
     result = qstrcmp (k1.c_key, k2.c_key);
  if (result != 0)
     return result < 0;
  return (!k1.bLocal && k2.bLocal);
}

 





typedef QMap<KEntryKey, KEntry> KEntryMap;

 



typedef QMap<KEntryKey, KEntry>::Iterator KEntryMapIterator;

 





typedef QMap<KEntryKey, KEntry>::ConstIterator KEntryMapConstIterator;


# 36 "/usr/include/kde/kconfigbase.h" 2 3


class KConfigBasePrivate;

 























class KConfigBase : public QObject
{
  public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 

  friend class KConfigBackEnd;
  friend class KConfigINIBackEnd;

public:
   


  KConfigBase();

   


  virtual ~KConfigBase();

   









  void setGroup( const QString& pGroup );

   



  void setDesktopGroup();

   





  QString group() const;

   





  virtual bool hasGroup(const QString &_pGroup) const = 0;

   




  virtual QStringList groupList() const = 0;

   




  QString locale() const;

   







   QString readEntry( const QString& pKey,
                     const QString& aDefault = QString::null ) const;
   QString readEntry( const char *pKey,
                     const QString& aDefault = QString::null ) const;

   





  QVariant readPropertyEntry( const QString& pKey, QVariant::Type ) const;
  QVariant readPropertyEntry( const char *pKey, QVariant::Type ) const;

   









  int readListEntry( const QString& pKey, QStrList &list, char sep = ',' ) const;
  int readListEntry( const char *pKey, QStrList &list, char sep = ',' ) const;

   






  QStringList readListEntry( const QString& pKey, char sep = ',' ) const;
  QStringList readListEntry( const char *pKey, char sep = ',' ) const;

   





  QValueList<int> readIntListEntry( const QString& pKey ) const;
  QValueList<int> readIntListEntry( const char *pKey ) const;

   










  QString readPathEntry( const QString& pKey, const QString & aDefault = QString::null ) const;
  QString readPathEntry( const char *pKey, const QString & aDefault = QString::null ) const;

   









  int readNumEntry( const QString& pKey, int nDefault = 0 ) const;
  int readNumEntry( const char *pKey, int nDefault = 0 ) const;

   









  unsigned int readUnsignedNumEntry( const QString& pKey, unsigned int nDefault = 0 ) const;
  unsigned int readUnsignedNumEntry( const char *pKey, unsigned int nDefault = 0 ) const;


   









  long readLongNumEntry( const QString& pKey, long nDefault = 0 ) const;
  long readLongNumEntry( const char *pKey, long nDefault = 0 ) const;

   









  unsigned long readUnsignedLongNumEntry( const QString& pKey, unsigned long nDefault = 0 ) const;
  unsigned long readUnsignedLongNumEntry( const char *pKey, unsigned long nDefault = 0 ) const;

   









  double readDoubleNumEntry( const QString& pKey, double nDefault = 0.0 ) const;
  double readDoubleNumEntry( const char *pKey, double nDefault = 0.0 ) const;

   









  QFont readFontEntry( const QString& pKey, const QFont* pDefault = 0L ) const;
  QFont readFontEntry( const char *pKey, const QFont* pDefault = 0L ) const;

   












  bool readBoolEntry( const QString& pKey, const bool bDefault = false ) const;
  bool readBoolEntry( const char *pKey, const bool bDefault = false ) const;

   











  QRect readRectEntry( const QString& pKey, const QRect* pDefault = 0L ) const;
  QRect readRectEntry( const char *pKey, const QRect* pDefault = 0L ) const;

   











  QPoint readPointEntry( const QString& pKey, const QPoint* pDefault = 0L ) const;
  QPoint readPointEntry( const char *pKey, const QPoint* pDefault = 0L ) const;

   











  QSize readSizeEntry( const QString& pKey, const QSize* pDefault = 0L ) const;
  QSize readSizeEntry( const char *pKey, const QSize* pDefault = 0L ) const;


   










  QColor readColorEntry( const QString& pKey, const QColor* pDefault = 0L ) const;
  QColor readColorEntry( const char *pKey, const QColor* pDefault = 0L ) const;

   










  QDateTime readDateTimeEntry( const QString& pKey, const QDateTime* pDefault = 0L ) const;
  QDateTime readDateTimeEntry( const char *pKey, const QDateTime* pDefault = 0L ) const;

   


















  QString writeEntry( const QString& pKey, const QString& pValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );
  QString writeEntry( const char *pKey, const QString& pValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );

   


















  void writeEntry( const QString& pKey, const QVariant& rValue,
                    bool bPersistent = true, bool bGlobal = false,
                    bool bNLS = false );
  void writeEntry( const char *pKey, const QVariant& rValue,
                    bool bPersistent = true, bool bGlobal = false,
                    bool bNLS = false );

   


















  void writeEntry( const QString& pKey, const QStrList &rValue,
		   char sep = ',', bool bPersistent = true, bool bGlobal = false, bool bNLS = false );
  void writeEntry( const char *pKey, const QStrList &rValue,
		   char sep = ',', bool bPersistent = true, bool bGlobal = false, bool bNLS = false );

   


















  void writeEntry( const QString& pKey, const QStringList &rValue,
		   char sep = ',', bool bPersistent = true, bool bGlobal = false, bool bNLS = false );
  void writeEntry( const char *pKey, const QStringList &rValue,
		   char sep = ',', bool bPersistent = true, bool bGlobal = false, bool bNLS = false );


  


















  void writeEntry( const QString& pKey, const QValueList<int>& rValue,
		   bool bPersistent = true, bool bGlobal = false, bool bNLS = false );
  void writeEntry( const char *pKey, const QValueList<int>& rValue,
		   bool bPersistent = true, bool bGlobal = false, bool bNLS = false );

   


















  QString writeEntry( const QString& pKey, const char *pValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false )
    { return writeEntry(pKey, QString::fromLatin1(pValue), bPersistent, bGlobal, bNLS); }
  QString writeEntry( const char *pKey, const char *pValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false )
    { return writeEntry(pKey, QString::fromLatin1(pValue), bPersistent, bGlobal, bNLS); }

   
















  QString writeEntry( const QString& pKey, int nValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );
  QString writeEntry( const char *pKey, int nValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );

   
















  QString writeEntry( const QString& pKey, unsigned int nValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );
  QString writeEntry( const char *pKey, unsigned int nValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );

   















  QString writeEntry( const QString& pKey, long nValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );
  QString writeEntry( const char *pKey, long nValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );

   















  QString writeEntry( const QString& pKey, unsigned long nValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );
  QString writeEntry( const char *pKey, unsigned long nValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );

   


















  QString writeEntry( const QString& pKey, double nValue,
                      bool bPersistent = true, bool bGlobal = false,
                      char format = 'g', int precision = 6,
                      bool bNLS = false );
  QString writeEntry( const char *pKey, double nValue,
                      bool bPersistent = true, bool bGlobal = false,
                      char format = 'g', int precision = 6,
                      bool bNLS = false );

   















  QString writeEntry( const QString& pKey, bool bValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );
  QString writeEntry( const char *pKey, bool bValue,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );

   















  QString writeEntry( const QString& pKey, const QFont& rFont,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );
  QString writeEntry( const char *pKey, const QFont& rFont,
                      bool bPersistent = true, bool bGlobal = false,
                      bool bNLS = false );

   
















  void writeEntry( const QString& pKey, const QColor& rColor,
                   bool bPersistent = true, bool bGlobal = false,
                   bool bNLS = false );
  void writeEntry( const char *pKey, const QColor& rColor,
                   bool bPersistent = true, bool bGlobal = false,
                   bool bNLS = false );

   
















  void writeEntry( const QString& pKey, const QDateTime& rDateTime,
                   bool bPersistent = true, bool bGlobal = false,
                   bool bNLS = false );
  void writeEntry( const char *pKey, const QDateTime& rDateTime,
                   bool bPersistent = true, bool bGlobal = false,
                   bool bNLS = false );


   
















  void writeEntry( const QString& pKey, const QRect& rValue,
                   bool bPersistent = true, bool bGlobal = false,
                   bool bNLS = false );
  void writeEntry( const char *pKey, const QRect& rValue,
                   bool bPersistent = true, bool bGlobal = false,
                   bool bNLS = false );

   
















  void writeEntry( const QString& pKey, const QPoint& rValue,
                   bool bPersistent = true, bool bGlobal = false,
                   bool bNLS = false );
  void writeEntry( const char *pKey, const QPoint& rValue,
                   bool bPersistent = true, bool bGlobal = false,
                   bool bNLS = false );

   
















  void writeEntry( const QString& pKey, const QSize& rValue,
                   bool bPersistent = true, bool bGlobal = false,
                   bool bNLS = false );
  void writeEntry( const char *pKey, const QSize& rValue,
                   bool bPersistent = true, bool bGlobal = false,
                   bool bNLS = false );

   






  void setDollarExpansion( bool _bExpand = true ) { bExpand = _bExpand; }

   




  bool isDollarExpansion() const { return bExpand; }

   













  virtual void rollback( bool bDeep = true );

   












  virtual void sync();

   


  bool isDirty() const { return bDirty; }

   






  virtual void setReadOnly(bool _ro) { bReadOnly = _ro; }

    




  bool isReadOnly() const { return bReadOnly; }

   








  virtual bool hasKey( const QString& pKey ) const = 0;

   









  virtual QMap<QString, QString> entryMap(const QString &pGroup) const = 0;

   











  virtual void reparseConfiguration() = 0;

   




  enum ConfigState { NoAccess, ReadOnly, ReadWrite };

   











  ConfigState getConfigState() const;

protected:
   




  void setLocale();

   




  virtual void setDirty(bool _bDirty = true) { bDirty = _bDirty; }

   




  virtual void parseConfigFiles();

   














  virtual KEntryMap internalEntryMap( const QString& pGroup ) const = 0;

   










  virtual KEntryMap internalEntryMap() const = 0;

   













  virtual void putData(const KEntryKey &_key, const KEntry &_data) = 0;

   













  virtual KEntry lookupData(const KEntryKey &_key) const = 0;

   


  KConfigBackEnd *backEnd;
public:
   


  void setGroup( const QCString &pGroup );
  void setGroup( const char *pGroup );
  virtual bool hasGroup(const QCString &_pGroup) const = 0;
  virtual bool hasGroup(const char *_pGroup) const = 0;
  virtual bool hasKey( const char *pKey ) const = 0;

protected:
  QCString readEntryUtf8( const char *pKey) const;

   

  QCString mGroup;

   

  QCString aLocaleString;

   


  bool bDirty;

  bool bLocaleInitialized;
  bool bReadOnly;            
  bool bExpand;              

  KConfigBasePrivate *d;
};

 
 
inline void KConfigBase::rollback( bool   )
{
  bDirty = false;
}

class KConfigGroupSaverPrivate;

 
































class KConfigGroupSaver
{
public:
   







  KConfigGroupSaver( KConfigBase* config, QString group )
      : _config(config), _oldgroup(config->group())
        { _config->setGroup( group ); }

  KConfigGroupSaver( KConfigBase* config, const char *group )
      : _config(config), _oldgroup(config->group())
        { _config->setGroup( group ); }

  KConfigGroupSaver( KConfigBase* config, const QCString &group )
      : _config(config), _oldgroup(config->group())
        { _config->setGroup( group ); }

  ~KConfigGroupSaver() { _config->setGroup( _oldgroup ); }

    KConfigBase* config() { return _config; };

private:
  KConfigBase* _config;
  QString _oldgroup;

  KConfigGroupSaver(const KConfigGroupSaver&);
  KConfigGroupSaver& operator=(const KConfigGroupSaver&);

  KConfigGroupSaverPrivate *d;
};


# 29 "/usr/include/kde/kconfig.h" 2 3


class KConfigPrivate;

 









class KConfig : public KConfigBase
{
  public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 

public:
   










  KConfig( const QString& fileName = QString::null,
          bool bReadOnly = false, bool bUseKDEGlobals = true, const char *resType="config");

   





  virtual ~KConfig();

   











  virtual void rollback(bool bDeep = true);

   





  virtual bool hasGroup(const QString &_pGroup) const;

   



  virtual QStringList groupList() const;

   







  virtual bool hasKey(const QString &pKey) const;

   










  virtual QMap<QString, QString> entryMap(const QString &pGroup) const;

   



  virtual void reparseConfiguration();

protected:

   









  virtual KEntryMap internalEntryMap(const QString &pGroup) const;

   









   virtual KEntryMap internalEntryMap() const { return aEntryMap; }

   








  virtual void putData(const KEntryKey &_key, const KEntry &_data);

   







  virtual KEntry lookupData(const KEntryKey &_key) const;

   







  KEntryMap aEntryMap;

public:
   


  virtual bool hasGroup(const QCString &_pGroup) const;
  virtual bool hasGroup(const char *_pGroup) const;
  virtual bool hasKey(const char *pKey) const;
  
private:
   




  bool isCached;

   



  QTimer *cacheTimer;

   







  QTime lastIoOp;

   


  int flushInterval;

   



  KConfig( const KConfig& );
   



  KConfig& operator= ( const KConfig& rConfig );

   






  void cacheCheck() const;

private  :
   



  void flushCache();

private:
  KConfigPrivate *d;
};



# 28 "kdc.h" 2

# 1 "kdcbase.h" 1
 








#define KDCBASE_H


# 1 "/usr/include/qt/qdialog.h" 1 3
 





































#define QDIALOG_H









class QDialogPrivate;
class QPushButton;

class   QDialog : public QWidget			 
{
friend class QPushButton;
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     

public:
    QDialog( QWidget *parent=0, const char *name=0, bool modal=FALSE,
	     WFlags f=0 );
   ~QDialog();

    enum DialogCode { Rejected, Accepted };

    int		exec();
    int		result()  const { return rescode; }

    void	show();
    void	hide();
    void	move( int x, int y );
    void	move( const QPoint &p );
    void	resize( int w, int h );
    void	resize( const QSize & );
    void	setGeometry( int x, int y, int w, int h );
    void	setGeometry( const QRect & );

    void	setOrientation( Orientation orientation );
    Orientation	orientation() const;

    void	setExtension( QWidget* extension );
    QWidget* extension() const;

    QSize	sizeHint() const;
    QSize	minimumSizeHint() const;

    void setSizeGripEnabled(bool);
    bool isSizeGripEnabled() const;

protected  :
    virtual void done( int );
    virtual void accept();
    virtual void reject();

    void	showExtension( bool );

protected:
    void	setResult( int r )	{ rescode = r; }
    void	keyPressEvent( QKeyEvent * );
    void	closeEvent( QCloseEvent * );
    void 	resizeEvent( QResizeEvent * );
private:
    virtual void	setDefault( QPushButton * );  
    void		hideDefault();
    int		rescode;
    uint	did_move   : 1;
    uint	did_resize : 1;
    uint 	in_loop: 1;
    QDialogPrivate* d;

private:	 

    QDialog( const QDialog & );
    QDialog &operator=( const QDialog & );

};



# 13 "kdcbase.h" 2

class QVBoxLayout; 
class QHBoxLayout; 
class QGridLayout; 
class KIntNumInput;
class QCheckBox;
class QGroupBox;
class QLabel;
class QLineEdit;
class QMultiLineEdit;
class QPushButton;

class KDCBase : public QDialog
{ 
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 

public:
    KDCBase( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
    ~KDCBase();

    QMultiLineEdit* stack;
    QLineEdit* line;
    QPushButton* enter;
    QPushButton* showMoreButton;
    QGroupBox* options;
    KIntNumInput* precisionInt;
    QLabel* precisionLabel;
    QLabel* iradixLabel;
    KIntNumInput* iradix;
    QLabel* oradixLable;
    KIntNumInput* oradix;
    QCheckBox* showInTray;

public  :
    virtual void showMore(bool);

protected:
    QGridLayout* KDCBaseLayout;
    QGridLayout* optionsLayout;
};


# 29 "kdc.h" 2


class KSystemTray;

 
class Kdc : public KDCBase , public KConfig
{
  public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj;  
  public:
     
    Kdc(QWidget* parent=0, const char *name=0);
     
    ~Kdc();
  protected:
  	KProcess dcProc;
   
  QString pendingStack;
   
  bool canWrite;
	KSystemTray* tray;
	KConfig* config;

protected  :  
   
  void gotOutput(KProcess*, char *buffer, int buflen);
protected  :  
   
  void slotQuit(KProcess* proc);
protected  :  
   
  void sendLine();
   
  virtual void setCanWrite(KProcess* proc);
   
  virtual void dcWrite(const QString& str);
   
  virtual void setInputRadix(int radix);
   
  virtual void setOutputRadix(int radix);
   
  virtual void setPrecision(int precision);
	virtual void showTray(bool show);
public:  
   
  virtual void showMore(bool show);
public  :  
   
  virtual void refreshStack();
public:  
   
  QString writeBuffer;
};


# 18 "kdc.cpp" 2


# 1 "/usr/include/qt/qmultilineedit.h" 1 3
 





































#define QMULTILINEEDIT_H


# 1 "/usr/include/qt/qtableview.h" 1 3
 





































#define QTABLEVIEW_H


# 1 "/usr/include/qt/qframe.h" 1 3
 





































#define QFRAME_H







class   QFrame : public QWidget			 
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     
     
     
     
     
     
     
     
     

public:
    QFrame( QWidget *parent=0, const char *name=0, WFlags f=0,
	    bool = TRUE );

    int		frameStyle()	const;
    virtual void setFrameStyle( int );

    int		frameWidth()	const;
    QRect	contentsRect()	const;


    bool	lineShapesOk()	const { return TRUE; }


    QSize	sizeHint() const;
    QSizePolicy sizePolicy() const;

    enum Shape { NoFrame  = 0,				 
		 Box	  = 0x0001,			 
		 Panel    = 0x0002,			 
		 WinPanel = 0x0003,			 
		 HLine    = 0x0004,			 
		 VLine    = 0x0005,			 
		 StyledPanel = 0x0006,			 
		 PopupPanel = 0x0007,			 
		 MShape   = 0x000f			 
    };
    enum Shadow { Plain    = 0x0010,			 
		  Raised   = 0x0020,			 
		  Sunken   = 0x0030,			 
		  MShadow  = 0x00f0 };			 

    Shape	frameShape()	const;
    void	setFrameShape( Shape );
    Shadow	frameShadow()	const;
    void	setFrameShadow( Shadow );

    int		lineWidth()	const;
    virtual void setLineWidth( int );

    int		margin()	const;
    virtual void setMargin( int );

    int		midLineWidth()	const;
    virtual void setMidLineWidth( int );

    QRect	frameRect()	const;
    virtual void setFrameRect( const QRect & );

protected:
    void	paintEvent( QPaintEvent * );
    void	resizeEvent( QResizeEvent * );
    virtual void drawFrame( QPainter * );
    virtual void drawContents( QPainter * );
    virtual void frameChanged();
    void	updateMask();
    virtual void drawFrameMask( QPainter * );
    virtual void drawContentsMask( QPainter * );

private:
    void	updateFrameWidth();
    QRect	frect;
    int		fstyle;
    short	lwidth;
    short	mwidth;
    short	mlwidth;
    short	fwidth;

    void * d;
private:	 

    QFrame( const QFrame & );
    QFrame &operator=( const QFrame & );

};


inline int QFrame::frameStyle() const
{ return fstyle; }

inline QFrame::Shape QFrame::frameShape() const
{ return (Shape) ( fstyle & MShape ); }

inline QFrame::Shadow QFrame::frameShadow() const
{ return (Shadow) ( fstyle & MShadow ); }

inline void QFrame::setFrameShape( QFrame::Shape s )
{ setFrameStyle( ( fstyle & MShadow ) | s ); }

inline void QFrame::setFrameShadow( QFrame::Shadow s )
{ setFrameStyle( ( fstyle & MShape ) | s ); }

inline int QFrame::lineWidth() const
{ return lwidth; }

inline int QFrame::midLineWidth() const
{ return mlwidth; }

inline int QFrame::margin() const
{ return mwidth; }

inline int QFrame::frameWidth() const
{ return fwidth; }





# 42 "/usr/include/qt/qtableview.h" 2 3





class QScrollBar;
class QCornerSquare;


class   QTableView : public QFrame
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
public:
    virtual void setBackgroundColor( const QColor & );
    virtual 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;
    virtual void setNumRows( int );
    int		numCols()	const;
    virtual void setNumCols( int );

    int		topCell()	const;
    virtual void setTopCell( int row );
    int		leftCell()	const;
    virtual void setLeftCell( int col );
    virtual void setTopLeftCell( int row, int col );

    int		xOffset()	const;
    virtual void setXOffset( int );
    int		yOffset()	const;
    virtual void setYOffset( int );
    virtual 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;
    virtual void setCellWidth( int );
    virtual void setCellHeight( int );

    virtual int totalWidth();
    virtual int totalHeight();

    uint	tableFlags()	const;
    bool	testTableFlags( uint f ) const;
    virtual void setTableFlags( uint f );
    void	clearTableFlags( uint f = ~0 );

    bool	autoUpdate()	 const;
    virtual 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;

    QScrollBar *verticalScrollBar() 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 );
    virtual void	setHorScrollBar( bool on, bool update = TRUE );
    virtual 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	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;
    QCornerSquare *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 ); }





# 42 "/usr/include/qt/qmultilineedit.h" 2 3







struct QMultiLineData;
class QMultiLineEditCommand;
class QValidator;

class   QMultiLineEdit : public QTableView
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

public:
    QMultiLineEdit( QWidget *parent=0, const char *name=0 );
   ~QMultiLineEdit();

    QString textLine( int line ) const;
    int numLines() const;

    QSize sizeHint() const;
    QSize minimumSizeHint() const;
    QSizePolicy sizePolicy() const;

    virtual void setFont( const QFont &font );

    virtual void insertLine( const QString &s, int line = -1 );
    virtual void insertAt( const QString &s, int line, int col, bool mark = FALSE );
    virtual void removeLine( int line );

    void cursorPosition( int *line, int *col ) const;
    virtual void setCursorPosition( int line, int col, bool mark = FALSE );
    void getCursorPosition( int *line, int *col ) const;
    bool atBeginning() const;
    bool atEnd() const;

    virtual void setFixedVisibleLines( int lines );

    int maxLineWidth() const;

    void setAlignment( int flags );
    int alignment() const;

    virtual void setValidator( const QValidator * );
    const QValidator * validator() const;

    void setEdited( bool );
    bool edited() const;

    void cursorWordForward( bool mark );
    void cursorWordBackward( bool mark );

    enum EchoMode { Normal, NoEcho, Password };
    virtual void setEchoMode( EchoMode );
    EchoMode echoMode() const;

    void setMaxLength(int);
    int maxLength() const;
    virtual void setMaxLineLength(int);
    int maxLineLength() const;
    virtual void setMaxLines(int);
    int maxLines() const;
    virtual void setHMargin(int);
    int hMargin() const;

    virtual void setSelection( int row_from, int col_from, int row_to, int col_t );

    enum WordWrap {
	NoWrap,
	WidgetWidth,
	FixedPixelWidth,
	FixedColumnWidth
    };
    void setWordWrap( WordWrap mode );
    WordWrap wordWrap() const;
    void setWrapColumnOrWidth( int );
    int wrapColumnOrWidth() const;

    enum WrapPolicy {
	AtWhiteSpace,
	Anywhere
    };
    void setWrapPolicy( WrapPolicy policy );
    WrapPolicy wrapPolicy() const;

    bool autoUpdate()	const;
    virtual void setAutoUpdate( bool );

    void setUndoEnabled( bool );
    bool isUndoEnabled() const;
    void setUndoDepth( int );
    int undoDepth() const;

    bool isReadOnly() const;
    bool isOverwriteMode() const;

    QString text() const;

    int length() const;

    static void setDefaultTabStop( int ex );
    static int defaultTabStop();
public  :
    virtual void       setText( const QString &);
    virtual void       setReadOnly( bool );
    virtual void       setOverwriteMode( bool );

    void       clear();
    void       append( const QString &);
    void       deselect();
    void       selectAll();

    void       paste();
    void       pasteSubType(const QCString& subtype);
    void       copyText() const;
    void       copy() const;
    void       cut();

    void       insert( const QString& );
    void       undo();
    void       redo();

protected :
    void	textChanged();
    void	returnPressed();
    void	undoAvailable( bool );
    void	redoAvailable( bool );
    void	copyAvailable( bool );

protected:
    void	paintCell( QPainter *, int row, int col );
    bool	event( QEvent * );

    void	mousePressEvent( QMouseEvent * );
    void	mouseMoveEvent( QMouseEvent * );
    void	mouseReleaseEvent( QMouseEvent * );
    void	mouseDoubleClickEvent( QMouseEvent * );
    void 	wheelEvent( QWheelEvent * );
    void	keyPressEvent( QKeyEvent * );
    void	focusInEvent( QFocusEvent * );
    void	focusOutEvent( QFocusEvent * );
    void	timerEvent( QTimerEvent * );
    void	leaveEvent( QEvent * );
    void	resizeEvent( QResizeEvent * );

    bool	focusNextPrevChild( bool );


    void	dragMoveEvent( QDragMoveEvent* );
    void	dragEnterEvent( QDragEnterEvent * );
    void	dropEvent( QDropEvent* );
    void	dragLeaveEvent( QDragLeaveEvent* );


    bool	hasMarkedText() const;
    QString	markedText() const;
    int		textWidth( int );
    int		textWidth( const QString &);

    QPoint	cursorPoint() const;

protected:
    virtual void insert( const QString&, bool mark );
    virtual void newLine();
    virtual void killLine();
    virtual void pageUp( bool mark=FALSE );
    virtual void pageDown( bool mark=FALSE );
    virtual void cursorLeft( bool mark=FALSE, bool wrap = TRUE );
    virtual void cursorRight( bool mark=FALSE, bool wrap = TRUE );
    virtual void cursorUp( bool mark=FALSE );
    virtual void cursorDown( bool mark=FALSE );
    virtual void backspace();
    virtual void del();
    virtual void home( bool mark=FALSE );
    virtual void end( bool mark=FALSE );

    bool getMarkedRegion( int *line1, int *col1,
			  int *line2, int *col2 ) const;
    int lineLength( int row ) const;
    QString *getString( int row ) const;
    bool isEndOfParagraph( int row ) const;
    QString stringShown( int row ) const;

protected:
    bool	cursorOn;
    void	insertChar( QChar );

private  :
    void	clipboardChanged();
    void	blinkTimerTimeout();
    void	scrollTimerTimeout();
    void	dndTimeout();

private:

    QCString pickSpecial(QMimeSource* ms, bool always_ask, const QPoint&);


    void       pasteSpecial(const QPoint&);

    struct QMultiLineEditRow {
	QMultiLineEditRow( QString string, int width, bool nl = TRUE )
	    :s(string), w(width), newline( nl )
	{
	};
	QString s;
	int w;
	bool newline;
    };
    QList<QMultiLineEditRow> *contents;
    QMultiLineData *d;

    bool	readOnly;
    bool	dummy;
    bool	markIsOn;
    bool	dragScrolling ;
    bool	dragMarking;
    bool	textDirty;
    bool	wordMark;
    bool	overWrite;

    int		cursorX;
    int		cursorY;
    int		markAnchorX;
    int		markAnchorY;
    int		markDragX;
    int		markDragY;
    int		curXPos;	 
    int		blinkTimer;  
    int		scrollTimer;  

    int		mapFromView( int xPos, int row );
    int		mapToView( int xIndex, int row );

    void	pixelPosToCursorPos(QPoint p, int* x, int* y) const;
    void	setCursorPixelPosition(QPoint p, bool clear_mark=TRUE);

    void	setWidth( int );
    void	updateCellWidth();
    bool 	partiallyInvisible( int row );
    void	makeVisible();
    void	setBottomCell( int row );

    void 	newMark( int posx, int posy, bool copy=TRUE );
    void 	markWord( int posx, int posy );
    void	extendSelectionWord( int &newX, int&newY);
    int 	charClass( QChar );
    void	turnMark( bool on );
    bool	inMark( int posx, int posy ) const;
    bool	beforeMark( int posx, int posy ) const;
    bool	afterMark( int posx, int posy ) const;
    int		setNumRowsAndTruncate();


    void	doDrag();

    void	startAutoScroll();
    void	stopAutoScroll();

    void	cursorLeft( bool mark, bool clear_mark, bool wrap );
    void	cursorRight( bool mark, bool clear_mark, bool wrap );
    void	cursorUp( bool mark, bool clear_mark );
    void	cursorDown( bool mark, bool clear_mark );

    void	wrapLine( int line, int removed = 0);
    void	rebreakParagraph( int line, int removed = 0 );
    void	rebreakAll();
    void	insertAtAux( const QString &s, int line, int col, bool mark = FALSE );
    void	killLineAux();
    void	delAux();
    int	positionToOffsetInternal( int row, int col ) const;
    void	offsetToPositionInternal( int position, int *row, int *col ) const;
    void	deleteNextChar( int offset, int row, int col );

    void addUndoCmd( QMultiLineEditCommand* );
    void addRedoCmd( QMultiLineEditCommand* );
    void processCmd( QMultiLineEditCommand*, bool );

private:	 

    QMultiLineEdit( const QMultiLineEdit & );
    QMultiLineEdit &operator=( const QMultiLineEdit & );

};

inline bool QMultiLineEdit::isReadOnly() const { return readOnly; }

inline bool QMultiLineEdit::isOverwriteMode() const { return overWrite; }

inline void QMultiLineEdit::setOverwriteMode( bool on )
{
    overWrite = on;
 }

inline int QMultiLineEdit::lineLength( int row ) const
{
    return contents->at( row )->s.length();
}

inline bool QMultiLineEdit::atEnd() const
{
    return cursorY == (int)contents->count() - 1
	&& cursorX == lineLength( cursorY ) ;
}

inline bool QMultiLineEdit::atBeginning() const
{
    return cursorY == 0 && cursorX == 0;
}

inline QString *QMultiLineEdit::getString( int row ) const
{
    return &(contents->at( row )->s);
}

inline int QMultiLineEdit::numLines() const
{
    return contents->count();
}




# 20 "kdc.cpp" 2

# 1 "/usr/include/qt/qlineedit.h" 1 3
 





































#define QLINEEDIT_H

struct QLineEditPrivate;

class QComboBox;
class QValidator;









class   QLineEdit : public QWidget
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     
     
     
     
     
     
     
     
     
     
     
	
public:
    QLineEdit( QWidget *parent, const char *name=0 );
    QLineEdit( const QString &, QWidget *parent, const char *name=0 );
   ~QLineEdit();

    QString text() const;

    QString displayText() const;

    int		maxLength()	const;
    virtual void setMaxLength( int );

    virtual void setFrame( bool );
    bool	frame() const;

    enum	EchoMode { Normal, NoEcho, Password };
    virtual void setEchoMode( EchoMode );
    EchoMode 	echoMode() const;



    void setReadOnly( bool );
    bool isReadOnly() const;

    virtual void setValidator( const QValidator * );
    const QValidator * validator() const;

    QSize	sizeHint() const;
    QSize	minimumSizeHint() const;
    QSizePolicy sizePolicy() const;

    virtual void setEnabled( bool );
    virtual void setFont( const QFont & );
    virtual void setPalette( const QPalette & );
    virtual void setSelection( int, int );

    virtual void setCursorPosition( int );
    int		cursorPosition() const;

    bool	validateAndSet( const QString &, int, int, int );


    void	cut();
    void	copy() const;
    void	paste();


    void setAlignment( int flag );
    int alignment() const;

    void	cursorLeft( bool mark, int steps = 1 );
    void	cursorRight( bool mark, int steps = 1 );
    void	cursorWordForward( bool mark );
    void	cursorWordBackward( bool mark );
    void	backspace();
    void	del();
    void	home( bool mark );
    void	end( bool mark );

    void	setEdited( bool );
    bool	edited() const;

    bool	hasMarkedText() const;
    QString	markedText() const;

public  :
    virtual void setText( const QString &);

    void	selectAll();
    void	deselect();

    void	clearValidator();

    void	insert( const QString &);

    void	clear();

protected :
    void	textChanged( const QString &);
    void	returnPressed();

protected:
    bool	event( QEvent * );
    void	mousePressEvent( QMouseEvent * );
    void	mouseMoveEvent( QMouseEvent * );
    void	mouseReleaseEvent( QMouseEvent * );
    void	mouseDoubleClickEvent( QMouseEvent * );
    void	keyPressEvent( QKeyEvent * );
    void	focusInEvent( QFocusEvent * );
    void	focusOutEvent( QFocusEvent * );
    void	paintEvent( QPaintEvent * );
    void	resizeEvent( QResizeEvent * );
    void	leaveEvent( QEvent * );

    void	dragEnterEvent( QDragEnterEvent * );
    void	dropEvent( QDropEvent * );


    void	repaintArea( int, int );

private  :
    void	clipboardChanged();
    void	blinkSlot();
    void	dragScrollSlot();

    void 	doDrag();


private:
     
    void	newMark( int pos, bool copy=TRUE );
    void	markWord( int pos );
    int		lastCharVisible() const;
    int		minMark() const;
    int		maxMark() const;
    int		frameW() const;

    void	init();

    QString	tbuf;
    QLineEditPrivate * d;
    int		cursorPos;
    int		offset;
    int		maxLen;
    int		markAnchor;
    int		markDrag;
    bool	cursorOn;
    bool	dragScrolling;
    bool	scrollingLeft;
    int		alignmentFlag;
    bool	ed;

    void updateOffset();
    int xPosToCursorPos( int ) const;
    void blinkOn();
    void makePixmap() const;
    void undoInternal();
    void redoInternal();

private:	 

    QLineEdit( const QLineEdit & );
    QLineEdit &operator=( const QLineEdit & );

};





# 21 "kdc.cpp" 2

# 1 "/usr/include/qt/qgroupbox.h" 1 3
 





































#define QGROUPBOX_H








class QAccel;
class QGroupBoxPrivate;
class QVBoxLayout;
class QGridLayout;
class QSpacerItem;

class   QGroupBox : public QFrame
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     
     
     
     
	
public:
    QGroupBox( QWidget *parent=0, const char *name=0 );
    QGroupBox( const QString &title,
	       QWidget *parent=0, const char* name=0 );
    QGroupBox( int columns, Orientation o,
	       QWidget *parent=0, const char *name=0 );
    QGroupBox( int columns, Orientation o, const QString &title,
	       QWidget *parent=0, const char* name=0 );

    virtual void setColumnLayout(int columns, Orientation o);

    QString title() const { return str; }
    virtual void setTitle( const QString &);

    int alignment() const { return align; }
    virtual void setAlignment( int );

    int columns() const;
    void setColumns( int );

    Orientation orientation() const { return dir; }
    void setOrientation( Orientation );

    void addSpace( int );
    QSize sizeHint() const;

protected:
    bool event( QEvent * );
    void childEvent( QChildEvent * );
    void resizeEvent( QResizeEvent * );
    void paintEvent( QPaintEvent * );
    void focusInEvent( QFocusEvent * );
    void updateMask();
    void fontChange( const QFont & );

private  :
    void fixFocus();

private:
    void skip();
    void init();
    void calculateFrame();
    void insertWid( QWidget* );
    void setTextSpacer();

    QString str;
    int align;
    int lenvisible;

    QAccel * accel;

    QGroupBoxPrivate * d;

    QVBoxLayout *vbox;
    QGridLayout *grid;
    int row;
    int col;
    int nRows, nCols;
    Orientation dir;

private:	 

    QGroupBox( const QGroupBox & );
    QGroupBox &operator=( const QGroupBox & );

};





# 22 "kdc.cpp" 2

# 1 "/usr/include/kde/knuminput.h" 1 3
 

























#define K_NUMINPUT_H


# 1 "/usr/include/qt/qspinbox.h" 1 3
 





































#define QSPINBOX_H



# 1 "/usr/include/qt/qrangecontrol.h" 1 3
 





































#define QRANGECONTROL_H








class QRangeControlPrivate;


class   QRangeControl
{
public:
    QRangeControl();
    QRangeControl( int minValue, int maxValue,
		   int lineStep, int pageStep, int value );

    int		value()		const;
    void	setValue( int );
    void	addPage();
    void	subtractPage();
    void	addLine();
    void	subtractLine();

    int		minValue()	const;
    int		maxValue()	const;
    void	setRange( int minValue, int maxValue );

    int		lineStep()	const;
    int		pageStep()	const;
    void	setSteps( int line, int page );

    int		bound( int ) const;

protected:
    int		positionFromValue( int val, int space ) const;
    int		valueFromPosition( int pos, int space ) const;
    void	directSetValue( int val );
    int		prevValue()	const;

    virtual void valueChange();
    virtual void rangeChange();
    virtual void stepChange();

private:
    int		minVal, maxVal;
    int		line, page;
    int		val, prevVal;

    QRangeControlPrivate * d;

private:	 

    QRangeControl( const QRangeControl & );
    QRangeControl &operator=( const QRangeControl & );

};


inline int QRangeControl::value() const
{ return val; }

inline int QRangeControl::prevValue() const
{ return prevVal; }

inline int QRangeControl::minValue() const
{ return minVal; }

inline int QRangeControl::maxValue() const
{ return maxVal; }

inline int QRangeControl::lineStep() const
{ return line; }

inline int QRangeControl::pageStep() const
{ return page; }





# 43 "/usr/include/qt/qspinbox.h" 2 3






class QPushButton;
class QLineEdit;
class QValidator;

struct QSpinBoxPrivate;

class   QSpinBox: public QFrame, public QRangeControl
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     
     
     
     
     
     
     
     
     
     
     
     
	
public:
    QSpinBox( QWidget* parent = 0, const char *name = 0 );
    QSpinBox( int minValue, int maxValue, int step = 1,
	      QWidget* parent = 0, const char* name = 0 );
    ~QSpinBox();

    QString 		text() const;

    virtual QString 	prefix() const;
    virtual QString 	suffix() const;
    virtual QString 	cleanText() const;

    virtual void	setSpecialValueText( const QString &text );
    QString 		specialValueText() const;

    virtual void 	setWrapping( bool on );
    bool 		wrapping() const;

    enum ButtonSymbols { UpDownArrows, PlusMinus };
    void		setButtonSymbols( ButtonSymbols );  
    ButtonSymbols	buttonSymbols() const;

    virtual void	setValidator( const QValidator* v );
    const QValidator * validator() const;

    QSize 		sizeHint() const;
    QSizePolicy 	sizePolicy() const;

    int	 minValue() const;
    int	 maxValue() const;
    void setMinValue( int );
    void setMaxValue( int );
    int	 lineStep() const;
    void setLineStep( int );
    int  value() const;

public  :
    virtual void	setValue( int value );
    virtual void	setPrefix( const QString &text );
    virtual void	setSuffix( const QString &text );
    virtual void	stepUp();
    virtual void	stepDown();
    virtual void	setEnabled( bool );

protected :
    void		valueChanged( int value );
    void		valueChanged( const QString &valueText );

protected:
    virtual QString	mapValueToText( int value );
    virtual int		mapTextToValue( bool* ok );
    QString		currentValueText();

    virtual void	updateDisplay();
    virtual void	interpretText();

    QPushButton*	upButton() const;
    QPushButton*	downButton() const;
    QLineEdit*		editor() const;

    virtual void	valueChange();
    virtual void	rangeChange();

    bool		eventFilter( QObject* obj, QEvent* ev );
    void		resizeEvent( QResizeEvent* ev );
    void		wheelEvent( QWheelEvent * );
    void		leaveEvent( QEvent* );

    void		styleChange( QStyle& );

protected  :
    void		textChanged();

private:
    void initSpinBox();
    struct QSpinBoxPrivate* d;
    QPushButton* up;
    QPushButton* down;
    QLineEdit* vi;
    QValidator* validate;
    QString pfix;
    QString sfix;
    QString specText;
    bool wrap;
    bool edited;

    void arrangeWidgets();
    void updateButtonSymbols();

private:	 

    QSpinBox( const QSpinBox& );
    QSpinBox& operator=( const QSpinBox& );


};




# 30 "/usr/include/kde/knuminput.h" 2 3


class QLabel;
class QSlider;
class QLineEdit;
class QLayout;

class KIntSpinBox;

 

 





class KNumInput : public QWidget
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
public:
     



    KNumInput(QWidget* parent=0, const char* name=0);

     



    KNumInput(KNumInput* below, QWidget* parent=0, const char* name=0);
    ~KNumInput();

     

















    virtual void setLabel(QString label, int a = AlignLeft | AlignTop);

     





    void setSteps(int minor, int major);

     



    QSizePolicy sizePolicy() const;

     




    virtual QSize sizeHint() const;

protected:
     




    void layout(bool deep);

     







    virtual void doLayout() = 0;

    KNumInput* m_prev, *m_next;
    int m_colw1, m_colw2;

    QLabel*  m_label;
    QSlider* m_slider;
    QSize    m_sizeSlider, m_sizeLabel;

    int      m_alignment;

private:
    void init();

    class KNumInputPrivate;
    KNumInputPrivate *d;
};

 

 























class KIntNumInput : public KNumInput
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     
     
     
     

public:
     



    KIntNumInput(QWidget *parent=0, const char *name=0);
     











    KIntNumInput(int value, QWidget* parent=0, int base = 10, const char *name=0);

     
















    KIntNumInput(KNumInput* below, int value, QWidget* parent=0, int base = 10, const char *name=0);

     




    virtual ~KIntNumInput();

     


    int value() const;
     



    QString suffix() const;
     



    QString prefix() const;
     



    QString specialValueText() const;
     




    void setRange(int lower, int upper, int step=1, bool slider=true);

     





    void setSpecialValueText(const QString& text);

     


    virtual void setLabel(QString label, int a = AlignLeft | AlignTop);

     






    virtual QSize minimumSizeHint() const;

public  :
     


    void setValue(int);

     








    void setSuffix(const QString &suffix);

     






    void setPrefix(const QString &prefix);

     



    void setEditFocus( bool mark = true );

protected :
     



    void valueChanged(int);

private  :
    void spinValueChanged(int);

protected:
     


    virtual void doLayout();
     


    void resizeEvent ( QResizeEvent * );

    KIntSpinBox* m_spin;
    QSize        m_sizeSpin;

private:
    void init(int value, int _base);

    class KIntNumInputPrivate;
    KIntNumInputPrivate *d;
};


 

class KDoubleLine;

 






















class KDoubleNumInput : public KNumInput
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     
     
     
     

public:
     



    KDoubleNumInput(QWidget *parent=0, const char *name=0);
     






    KDoubleNumInput(double value, QWidget *parent=0, const char *name=0);

     


    virtual ~KDoubleNumInput();

     









    KDoubleNumInput(KNumInput* below, double value, QWidget* parent=0, const char* name=0);

     


    double value() const;
     



    QString suffix() const;
     



    QString prefix() const;
     



    const char *format() const;
     



    QString specialValueText() const { return m_specialvalue; }

      




    void setRange(double lower, double upper, double step=1, bool slider=true);

     





    void setFormat(const char* format);

     





    void setSpecialValueText(const QString& text);

     


    virtual void setLabel(QString label, int a = AlignLeft | AlignTop);
     


    virtual QSize minimumSizeHint() const;
     


    virtual bool eventFilter(QObject*, QEvent*);

public  :
     


    void setValue(double);

     






    void setSuffix(const QString &suffix);

     





    void setPrefix(const QString &prefix);

protected :
     



    void valueChanged(double);

private  :
    void sliderMoved(int);

protected:

     


    virtual void doLayout();
     


    void resizeEvent ( QResizeEvent * );
    virtual void resetEditBox();

    KDoubleLine*   edit;

    bool     m_range;
    double   m_lower, m_upper, m_step;

    QSize    m_sizeEdit;

    friend class KDoubleLine;

private:
    void init(double value);
    QString  m_units, m_specialvalue, m_prefix, m_suffix;
    char     *m_format;
    double   m_value;
    int      m_sliderstep;  

    class KDoubleNumInputPrivate;
    KDoubleNumInputPrivate *d;
};


 

 







class KIntSpinBox : public QSpinBox
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     

public:

     






    KIntSpinBox( QWidget *parent=0, const char *name=0);

     













    KIntSpinBox(int lower, int upper, int step, int value, int base = 10,
                QWidget* parent = 0, const char* name = 0);

     


    virtual ~KIntSpinBox() {};

      


    int value () const;

     


    void setBase(int base);
     


    int base() const;
     



    void setEditFocus(bool mark);

protected:

     


    virtual QString mapValueToText(int);

     


    virtual int mapTextToValue(bool*);

     


    virtual void focusInEvent(QFocusEvent*);

private:
    int val_base;
    class KIntSpinBoxPrivate;
    KIntSpinBoxPrivate *d;
};


 



# 23 "kdc.cpp" 2

# 1 "/usr/include/kde/ksystemtray.h" 1 3
 

















#define KSYSTEMTRAY_H

# 1 "/usr/include/qt/qlabel.h" 1 3
 





































#define QLABEL_H







class QSimpleRichText;
class QLabelPrivate;

class   QLabel : public QFrame
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     
     
     
     
     
     
	
public:
    QLabel( QWidget *parent, const char *name=0, WFlags f=0 );
    QLabel( const QString &text, QWidget *parent, const char *name=0,
	    WFlags f=0 );
    QLabel( QWidget * buddy, const QString &,
	    QWidget * parent, const char * name=0, WFlags f=0 );
    ~QLabel();

    QString	 text()		const	{ return ltext; }
    QPixmap     *pixmap()	const	{ return lpixmap; }

    QMovie      *movie()		const;


    TextFormat textFormat() const;
    void 	 setTextFormat( TextFormat );

    int		 alignment() const	{ return align; }
    virtual void setAlignment( int );
    int		 indent() const		{ return extraMargin; }
    void 	 setIndent( int );

    bool 	 autoResize() const	{ return autoresize; }
    virtual void setAutoResize( bool );

    bool 	hasScaledContents() const;
    void 	setScaledContents( bool );

    QSize	 sizeHint() const;
    QSize	 minimumSizeHint() const;
    QSizePolicy  sizePolicy() const;

    virtual void setBuddy( QWidget * );
    QWidget     *buddy() const;

    void	 setAutoMask(bool);

    int		 heightForWidth(int) const;

public  :
    virtual void setText( const QString &);
    virtual void setPixmap( const QPixmap & );

    virtual void setMovie( const QMovie & );

    virtual void setNum( int );
    virtual void setNum( double );
    void	 clear();

protected:
    void	 drawContents( QPainter * );
    void	 drawContentsMask( QPainter * );
    void	 fontChange( const QFont & );
    void	 resizeEvent( QResizeEvent* );

private  :

    void	 acceleratorSlot();
    void	 buddyDied();


    void	 movieUpdated(const QRect&);
    void	 movieResized(const QSize&);


private:
    void	init();
    void	clearContents();
    void	updateLabel( QSize oldSizeHint );
    QSize	sizeForWidth( int w ) const;
    QString	ltext;
    QPixmap    *lpixmap;

    QMovie *	lmovie;


    QWidget *	lbuddy;

    ushort	align;
    short	extraMargin;
    uint	autoresize:1;
    uint	scaledcontents :1;
    TextFormat textformat;

    QSimpleRichText* doc;


    QAccel *	accel;

    QLabelPrivate* d;

private:	 

    QLabel( const QLabel & );
    QLabel &operator=( const QLabel & );

};





# 21 "/usr/include/kde/ksystemtray.h" 2 3


class KPopupMenu;
class KSystemTrayPrivate;

 



































class KSystemTray : public QLabel
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
public:

     












    KSystemTray( QWidget* parent = 0, const char* name  = 0 );

     


    ~KSystemTray();


protected:

     





    void mousePressEvent( QMouseEvent * );

     





    void mouseReleaseEvent( QMouseEvent * );

     



    KPopupMenu* contextMenu();


     



    virtual void contextMenuAboutToShow( KPopupMenu* menu );

     


    void showEvent( QShowEvent * );
    
     


    void enterEvent( QEvent* );
    
private  :
    void toggleMinimizeRestore();

private:
    KPopupMenu* menu;
    KSystemTrayPrivate* d;
    int minimizeRestoreId;
    uint hasQuit :1;
};



# 24 "kdc.cpp" 2

# 1 "/usr/include/qt/qcheckbox.h" 1 3
 





































#define QCHECKBOX_H


# 1 "/usr/include/qt/qbutton.h" 1 3
 





































#define QBUTTON_H








class QButtonGroup;
struct QButtonData;
class QToolBar;

class   QButton : public QWidget
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     
     
     
     
     
     
     
     
     
     
     
     

public:
    QButton( QWidget *parent=0, const char *name=0, WFlags f=0 );
   ~QButton();

    QString text() const;
    virtual void setText( const QString &);
    const QPixmap *pixmap() const;
    virtual void setPixmap( const QPixmap & );

    int		accel()	const;
    virtual void	setAccel( int );

    bool	isToggleButton() const;

    enum ToggleType { SingleShot, Toggle, Tristate };
    ToggleType	toggleType() const;

    virtual void setDown( bool );
    bool	isDown() const;

    bool	isOn() const;

    enum ToggleState { Off, NoChange, On };
    ToggleState	state() const;

    bool	autoResize() const;  
    virtual void setAutoResize( bool );  

    bool	autoRepeat() const;
    virtual void setAutoRepeat( bool );

    bool	isExclusiveToggle() const;

    bool	focusNextPrevChild( bool next );

    QButtonGroup *group() const;

public  :
    void	animateClick();
    void	toggle();

protected :
    void	pressed();
    void	released();
    void	clicked();
    void	toggled( bool );
    void	stateChanged( int );

protected:
    void	setToggleButton( bool );
    virtual void	setToggleType( ToggleType );
    void	setOn( bool );
    virtual void	setState( ToggleState );

    virtual bool hitButton( const QPoint &pos ) const;
    virtual void drawButton( QPainter * );
    virtual void drawButtonLabel( QPainter * );

    void	keyPressEvent( QKeyEvent *);
    void	keyReleaseEvent( QKeyEvent *);
    void	mousePressEvent( QMouseEvent * );
    void	mouseReleaseEvent( QMouseEvent * );
    void	mouseMoveEvent( QMouseEvent * );
    void	paintEvent( QPaintEvent * );
    void	focusInEvent( QFocusEvent * );
    void	focusOutEvent( QFocusEvent * );

    void	enabledChange( bool );

private  :
    void	animateTimeout();
    void	autoRepeatTimeout();

private:
    QString	btext;
    QPixmap    *bpixmap;
    uint	toggleTyp	: 2;
    uint	buttonDown	: 1;
    uint	stat		: 2;
    uint	mlbDown		: 1;
    uint	autoresize	: 1;
    uint	animation	: 1;
    uint	repeat		: 1;
    QButtonData *d;

    friend class QButtonGroup;
    friend class QToolBar;
    void          ensureData();
    virtual void setGroup( QButtonGroup* );
    QTimer	 *timer();
    void	nextState();

private:	 

    QButton( const QButton & );
    QButton &operator=( const QButton & );

};


inline QString QButton::text() const
{
    return btext;
}

inline const QPixmap *QButton::pixmap() const
{
    return bpixmap;
}

inline bool QButton::isToggleButton() const
{
    return toggleTyp != SingleShot;
}

inline  bool QButton::isDown() const
{
    return buttonDown;
}

inline bool QButton::isOn() const
{
    return stat != Off;
}

inline bool QButton::autoResize() const  
{
    return autoresize;
}

inline bool QButton::autoRepeat() const
{
    return repeat;
}

inline QButton::ToggleState QButton::state() const
{
    return ToggleState(stat);
}

inline void QButton::setToggleButton( bool b )
{
    setToggleType( b ? Toggle : SingleShot );
}

inline void QButton::setOn( bool y )
{
    setState( y ? On : Off );
}

inline QButton::ToggleType QButton::toggleType() const
{
    return ToggleType(toggleTyp);
}





# 42 "/usr/include/qt/qcheckbox.h" 2 3





class   QCheckBox : public QButton
{
    public:	QMetaObject *metaObject() const { return staticMetaObject();	}	const char *className() const;	static QMetaObject* staticMetaObject();	static QString tr(const char*); static QString tr(const char*, const char*); 	protected:	void initMetaObject();	private:	static QMetaObject *metaObj; 
     
     

public:
    QCheckBox( QWidget *parent, const char *name=0 );
    QCheckBox( const QString &text, QWidget *parent, const char* name=0 );

    bool    isChecked() const;
    void    setChecked( bool check );

    void    setNoChange();

    void    setTristate(bool y=TRUE);
    bool    isTristate() const;

    QSize sizeHint() const;
    QSizePolicy sizePolicy() const;

protected:
    void    resizeEvent( QResizeEvent* );
    void    drawButton( QPainter * );
    void    drawButtonLabel( QPainter * );
    void    updateMask();

private:	 

    QCheckBox( const QCheckBox & );
    QCheckBox &operator=( const QCheckBox & );

};


inline bool QCheckBox::isChecked() const
{ return isOn(); }

inline void QCheckBox::setChecked( bool check )
{ setOn( check ); }





# 25 "kdc.cpp" 2

# 1 "/usr/include/kde/kiconloader.h" 1 3
 













#define __KIconLoader_h_Included__



# 1 "/usr/include/qt/qiconset.h" 1 3
 





































#define QICONSET_H






struct QIconSetPrivate;


class   QIconSet
{
public:
    enum Size { Automatic, Small, Large };

    enum Mode { Normal, Disabled, Active };

    QIconSet();
    QIconSet( const QPixmap &, Size = Automatic );
    QIconSet( const QPixmap &smallPix, const QPixmap &largePix );
    QIconSet( const QIconSet & );
    virtual ~QIconSet();

    void reset( const QPixmap &, Size );

    virtual void setPixmap( const QPixmap &, Size, Mode = Normal );
    virtual void setPixmap( const QString &, Size, Mode = Normal );
    QPixmap pixmap( Size, Mode ) const;
    QPixmap pixmap( Size s, bool enabled ) const;
    QPixmap pixmap() const;
    bool isGenerated( Size, Mode ) const;

    bool isNull() const;

    void detach();

    QIconSet &operator=( const QIconSet & );

private:
    QIconSetPrivate * d;
};



# 19 "/usr/include/kde/kiconloader.h" 2 3


# 1 "/usr/include/kde/kglobal.h" 1 3
 

















#define _KGLOBAL_H



class KStandardDirs;
class KConfig;
class KLocale;
class KIconLoader;
class KCharsets;
class QFont;
class KInstance;
class KStringDict;
class KStaticDeleterBase;
class KStaticDeleterList;


 





class KGlobal
{
public:

     




    static KInstance            *instance();

     


    static KStandardDirs	*dirs();

     


    static KConfig		*config();

     


    static KIconLoader	        *iconLoader();

    static KLocale              *locale();
    static KCharsets	        *charsets();

     










    static const QString        &staticQString(const char *);

     










    static const QString        &staticQString(const QString &);

    static void registerStaticDeleter(KStaticDeleterBase *);
    static void unregisterStaticDeleter(KStaticDeleterBase *);

    static void deleteStaticDeleters();

     
    static  KStringDict         *_stringDict;
    static  KInstance           *_instance;
    static  KLocale             *_locale;
    static  KCharsets	        *_charsets;
    static  KStaticDeleterList  *_staticDeleters;

     




    static  KInstance           *_activeInstance;
};

 


#define KMIN(a,b)	kMin(a,b)

 


#define KMAX(a,b)	kMax(a,b)

template<class T>
inline const T& kMin (const T& a, const T& b) { return a < b ? a : b; }

template<class T>
inline const T& kMax (const T& a, const T& b) { return a > b ? a : b; }

 















# 21 "/usr/include/kde/kiconloader.h" 2 3


# 1 "/usr/include/kde/kicontheme.h" 1 3
 














#define __KIconTheme_h_Included__





class KConfig;
class KIconThemeDir;

class KIconThemePrivate;

class KIconPrivate;

 



class KIcon
{
public:
    KIcon() { size = 0; }

     
    bool isValid() const { return size != 0; }

    enum Context { Any, Action, Application, Device, FileSystem, MimeType };
    enum Types { Fixed, Scalable };
    enum MatchType { MatchExact, MatchBest };
     
     
    enum Group { NoGroup=-1, Desktop=0, Toolbar, MainToolbar, Small,
	         Panel, LastGroup, User };
    enum StdSizes { SizeSmall=16, SizeMedium=32, SizeLarge=48 };
    enum States { DefaultState, ActiveState, DisabledState, LastState };
    enum Overlays { LockOverlay=0x100, ZipOverlay=0x200, LinkOverlay=0x400,
	    OverlayMask = ~0xff };

     
    int size;

     
    int context;

     
    int type;

     
    QString path;

private:
    KIconPrivate *d;
};


 



class KIconTheme
{
public:
     
    KIconTheme(const QString& name, const QString& appName=QString::null);
    ~KIconTheme();

     
    QString name() const { return mName; }

     
    QString description() const { return mDesc; }

     
    QString example() const;

     
    QString screenshot() const;

     
    QString linkOverlay() const;

     
    QString zipOverlay() const;

     
    QString lockOverlay() const;

     
    QString dir() const { return mDir; }

     
    QStringList inherits() const { return mInherits; }

     
    bool isValid() const;

     

    int depth() const { return mDepth; }

     



    int defaultSize(int group) const;

     
    QValueList<int> querySizes(int group) const;

     
    QStringList queryIcons(int size, int context = KIcon::Any) const;

     
    QStringList queryIconsByContext(int size, int context = KIcon::Any) const;


     








    KIcon iconPath(const QString& name, int size, int match) const;

     
    static QStringList list();

     
    static QString current();

    static void reconfigure();

private:
    int mDefSize[8];
    QValueList<int> mSizes[8];

    int mDepth;
    QString mDir, mName, mDesc;
    QStringList mInherits;
    QList<KIconThemeDir> mDirs;
    KIconThemePrivate *d;

    static QString *_theme;
    static QStringList *_theme_list;
};


# 23 "/usr/include/kde/kiconloader.h" 2 3


class KIconGroup;
class KIconThemeNode;
class KConfig;
class KIconLoaderPrivate;
class KStandardDirs;
class KIconEffect;


 


































class KIconLoader
{
public:

     






    KIconLoader(const QString& appname=QString::null, KStandardDirs *dirs = 0);

     
    ~KIconLoader();

     



    void addAppDir(const QString& appname);

     

















    QPixmap loadIcon(const QString& name, int group, int size=0,
		     int state=KIcon::DefaultState, QString *path_store=0L,
		     bool canReturnNull=false) const;

     







    QString iconPath(const QString& name, int group_or_size,
		     bool canReturnNull=false) const;

     








    QStringList loadAnimated(const QString& name, int group, int size=0) const;

     





    QStringList queryIcons(int group_or_size, int context=KIcon::Any) const;

     








    QStringList queryIconsByContext(int group_or_size, 
				    int context=KIcon::Any) const;

     


    int currentSize(int group);

     



    KIconTheme *theme();

     


    KIconEffect *iconEffect();

     




    QImage *image(int serialNumber) const;

     


    void reconfigure( const QString& _appname, KStandardDirs *_dirs );

     


 
    static QPixmap unknown();

     



    bool alphaBlending( int group ) const;

 private:
     


    void init( const QString& _appname, KStandardDirs *_dirs );

     




    KIcon findMatchingIcon(const QString& name, int size) const;

     



     QImage *loadOverlay(const QString& name, int size) const;

     




    void addAppThemes(const QString& appname);

     




    void addBaseThemes(KIconThemeNode *node, const QString &appname);

     
    KIconLoaderPrivate *d;
};

 
QPixmap DesktopIcon(const QString& name, int size=0,
		    int state=KIcon::DefaultState,
		    KInstance *instance=KGlobal::instance());

 
QPixmap DesktopIcon(const QString& name, KInstance *instance);

 
QIconSet DesktopIconSet(const QString& name, int size=0,
		    KInstance *instance=KGlobal::instance());

 
QPixmap BarIcon(const QString& name, int size=0, int state=KIcon::DefaultState,
	KInstance *instance=KGlobal::instance());

 
QPixmap BarIcon(const QString& name, KInstance *instance);

 
QIconSet BarIconSet(const QString& name, int size=0,
		    KInstance *instance=KGlobal::instance());

 
QPixmap SmallIcon(const QString& name, int size=0,
		  int state=KIcon::DefaultState,
		  KInstance *instance=KGlobal::instance());

 
QPixmap SmallIcon(const QString& name, KInstance *instance);

 
QIconSet SmallIconSet(const QString& name, int size=0,
		    KInstance *instance=KGlobal::instance());

 
QPixmap MainBarIcon(const QString& name, int size=0,
		    int state=KIcon::DefaultState,
		    KInstance *instance=KGlobal::instance());

 
QPixmap MainBarIcon(const QString& name, KInstance *instance);

 
QIconSet MainBarIconSet(const QString& name, int size=0,
		    KInstance *instance=KGlobal::instance());

 
QPixmap UserIcon(const QString& name, int state=KIcon::DefaultState,
	KInstance *instance=KGlobal::instance());

 
QPixmap UserIcon(const QString& name, KInstance *instance);

 
QIconSet UserIconSet(const QString& name, 
	KInstance *instance=KGlobal::instance());

 
int IconSize(int group, KInstance *instance=KGlobal::instance());


# 26 "kdc.cpp" 2




Kdc::Kdc(QWidget *parent, const char *name) : KDCBase(parent, name)

{
  tray=0L;
  canWrite = true;
	dcProc << "dc";
	connect(&dcProc, "2""processExited(KProcess*)" , 
    this, "1""slotQuit(KProcess*)" );
	connect(&dcProc, "2""receivedStdout (KProcess *, char *, int)" , 
		this, "1""gotOutput(KProcess*, char *,int)" );
	connect(&dcProc, "2""receivedStderr (KProcess *, char *, int)" , 
		this, "1""gotOutput(KProcess*, char *,int)" );
	connect(&dcProc, "2""wroteStdin(KProcess*)" , 
		"1""setCanWrite(KProcess*)" );
	connect((QObject*)enter, "2""clicked()" , 
		"1""sendLine()" );
	connect((QObject*)precisionInt, "2""valueChanged(int)" , 
		"1""setPrecision(int)" );
	connect((QObject*)oradix, "2""valueChanged(int)" , 
		"1""setOutputRadix(int)" );
	connect((QObject*)iradix, "2""valueChanged(int)" , 
		"1""setInputRadix(int)" );
	connect((QObject*)showInTray, "2""toggled(bool)" ,
	  "1""showTray(bool)" );
	dcProc.start(KProcess::NotifyOnExit, KProcess::All);

	options->hide();	
	line->setFocus();

	config = new KConfig("kdcrc", false);

	config->setGroup("dcOptions");
	 
	precisionInt->setValue(config->readNumEntry("precision", 5));
	 
	oradix->setValue(config->readNumEntry("inputRadix", 10));
	 
	iradix->setValue(config->readNumEntry("outputRadix", 10));
	config->setGroup("guiOptions");
	 
	if (config->readBoolEntry("showInTray", true))
	{
	  showInTray->setChecked(true);
		this->hide();
	}
	else
	{
	  showInTray->setChecked(false);
		this->show();
	}
	
}

Kdc::~Kdc()
{
  delete config;
}
 
void Kdc::slotQuit(KProcess* proc)
{
  close();
}
 
void Kdc::gotOutput(KProcess*, char *buffer, int buflen)
{
  for(int i = 0; i < buflen; i++)
    pendingStack += buffer[i];
  int endl;
  while ((endl = pendingStack.find('\n')) && (endl > -1))
  {
	  if (pendingStack[endl-1] == '\\')
		{
		   
		  pendingStack = pendingStack.left(endl-1) +
												pendingStack.mid(endl+1);
		}
		else
		{
    	stack->insertLine(pendingStack.left(endl), 0);
    	stack->setCursorPosition(stack->numLines(),-1);
    	pendingStack = pendingStack.mid(endl+1);
		}

  }

}
 
void Kdc::sendLine()
{
  dcWrite(line->text()+"\n");
  line->clear();
  refreshStack();

}
 
void Kdc::showMore(bool show)
{
  if (show)
  {
    options->show();
  }
  else
  {
    options->hide();
  }
}
 
void Kdc::setPrecision(int precision)
{
  dcWrite(QString::number(precision) +  "\nk\n");
  refreshStack();
}
 
void Kdc::setOutputRadix(int radix)
{
  dcWrite(QString::number(radix)+ "\no\n");
  refreshStack();
}
 
void Kdc::setInputRadix(int radix)
{
  dcWrite(QString("10\ni\n") + QString::number(radix)+ "\ni\n");
  refreshStack();
}
 
void Kdc::refreshStack()
{
  pendingStack = "";
  stack->clear();
  dcWrite("f\n");
}
 
void Kdc::dcWrite(const QString& str)
{
  writeBuffer += str;
  if (canWrite)
  {
    canWrite = false;
    dcProc.writeStdin(writeBuffer.latin1(), writeBuffer.length());
    writeBuffer = "";
  }
}
 
void Kdc::setCanWrite(KProcess*)
{
  canWrite = true;
  if (writeBuffer.length() > 0)
  {
    canWrite = false;
    dcProc.writeStdin(writeBuffer.latin1(), writeBuffer.length());
    writeBuffer = "";
  }
}

void Kdc::showTray(bool show)
{
	if (show)
	{
		tray = new KSystemTray(this, "kdcTray");
		 
		KIconLoader loader("kdc");
		tray->setPixmap(loader.loadIcon("xcalc", KIcon::Small));
		tray->show();
	}
	else
	{
	  if (tray)
		{
		  tray->hide();
			delete tray;
		}
		this->show();
	}
	config->writeEntry("showInTray", show);
}

 












>Fix:

If I make Kdc not inherit from KConfig it will compile fine.
>Release-Note:
>Audit-Trail:
>Unformatted:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]