Eneboo - Documentación para desarrolladores
src/flbase/aqsobjects/AQS_p.h
Ir a la documentación de este archivo.
00001 /***************************************************************************
00002  AQS_p.h
00003  -------------------
00004  begin                : 29/01/2011
00005  copyright            : (C) 2003-2011 by InfoSiAL S.L.
00006  email                : mail@infosial.com
00007  ***************************************************************************/
00008 /***************************************************************************
00009  *   This program is free software; you can redistribute it and/or modify  *
00010  *   it under the terms of the GNU General Public License as published by  *
00011  *   the Free Software Foundation; version 2 of the License.               *
00012  ***************************************************************************/
00013 /***************************************************************************
00014  Este  programa es software libre. Puede redistribuirlo y/o modificarlo
00015  bajo  los  trminos  de  la  Licencia  Pblica General de GNU   en  su
00016  versin 2, publicada  por  la  Free  Software Foundation.
00017  ***************************************************************************/
00018 
00019 #ifndef AQS_P_H_
00020 #define AQS_P_H_
00021 
00022 #include <openssl/rand.h>
00023 #include <openssl/evp.h>
00024 #include <openssl/err.h>
00025 
00026 #include <qdom.h>
00027 #include <qsinterpreter.h>
00028 #include <qmetaobject.h>
00029 #include <qptrdict.h>
00030 #include <qevent.h>
00031 #include <qcolordialog.h>
00032 #include <qfontdialog.h>
00033 #include <qdragobject.h>
00034 #include <qiconview.h>
00035 #include <qiconset.h>
00036 #include <qtooltip.h>
00037 #include <qtextcodec.h>
00038 #include <qurl.h>
00039 #include <qnetworkprotocol.h>
00040 #include <qurlinfo.h>
00041 #include <quuid.h>
00042 #include <qsobjectfactory.h>
00043 #include <qswrapperfactory.h>
00044 
00045 #ifdef AQ_DEBUG
00046 #define AQS_IF_DEBUG(T) T
00047 #else
00048 #define AQS_IF_DEBUG(T)
00049 #endif
00050 
00051 class AQS;
00052 class AQSBaseObject;
00053 class AQSObject;
00054 class AQSColor;
00055 class AQSImage;
00056 class AQSPixmap;
00057 class AQSUrlInfo;
00058 
00059 extern AQS *globalAQS;
00060 extern QSInterpreter *globalAQSInterpreter;
00061 extern QSObjectFactory *globalAQSFactory;
00062 extern QSWrapperFactory *globalAQSWrapper;
00063 
00064 typedef QValueList<QVariant> QVariantList;
00065 
00066 class AQS : public QObject
00067 {
00068   Q_OBJECT
00069 
00070   Q_PROPERTY(int NoButton READ NoButton)
00071   Q_PROPERTY(int LeftButton READ LeftButton)
00072   Q_PROPERTY(int RightButton READ RightButton)
00073   Q_PROPERTY(int MidButton READ MidButton)
00074   Q_PROPERTY(int MouseButtonMask READ MouseButtonMask)
00075   Q_PROPERTY(int ShiftButton READ ShiftButton)
00076   Q_PROPERTY(int ControlButton READ ControlButton)
00077   Q_PROPERTY(int AltButton READ AltButton)
00078   Q_PROPERTY(int MetaButton READ MetaButton)
00079   Q_PROPERTY(int KeyButtonMask READ KeyButtonMask)
00080   Q_PROPERTY(int Horizontal READ Horizontal)
00081   Q_PROPERTY(int AlignAuto READ AlignAuto)
00082   Q_PROPERTY(int AlignLeft READ AlignLeft)
00083   Q_PROPERTY(int AlignRight READ AlignRight)
00084   Q_PROPERTY(int AlignHCenter READ AlignHCenter)
00085   Q_PROPERTY(int AlignJustify READ AlignJustify)
00086   Q_PROPERTY(int AlignHorizontal_Mask READ AlignHorizontal_Mask)
00087   Q_PROPERTY(int AlignTop READ AlignTop)
00088   Q_PROPERTY(int AlignBottom READ AlignBottom)
00089   Q_PROPERTY(int AlignVCenter READ AlignVCenter)
00090   Q_PROPERTY(int AlignVertical_Mask READ AlignVertical_Mask)
00091   Q_PROPERTY(int SingleLine READ SingleLine)
00092   Q_PROPERTY(int DontClip READ DontClip)
00093   Q_PROPERTY(int ExpandTabs READ ExpandTabs)
00094   Q_PROPERTY(int ShowPrefix READ ShowPrefix)
00095   Q_PROPERTY(int WordBreak READ WordBreak)
00096   Q_PROPERTY(int BreakAnywhere READ BreakAnywhere)
00097   Q_PROPERTY(int DontPrint READ DontPrint)
00098   Q_PROPERTY(int WState_Created READ WState_Created)
00099   Q_PROPERTY(int WState_Disabled READ WState_Disabled)
00100   Q_PROPERTY(int WState_Visible READ WState_Visible)
00101   Q_PROPERTY(int WState_ForceHide READ WState_ForceHide)
00102   Q_PROPERTY(int WState_OwnCursor READ WState_OwnCursor)
00103   Q_PROPERTY(int WState_MouseTracking READ WState_MouseTracking)
00104   Q_PROPERTY(int WState_CompressKeys READ WState_CompressKeys)
00105   Q_PROPERTY(int WState_BlockUpdates READ WState_BlockUpdates)
00106   Q_PROPERTY(int WState_InPaintEvent READ WState_InPaintEvent)
00107   Q_PROPERTY(int WState_Reparented READ WState_Reparented)
00108   Q_PROPERTY(int WState_ConfigPending READ WState_ConfigPending)
00109   Q_PROPERTY(int WState_Resized READ WState_Resized)
00110   Q_PROPERTY(int WState_AutoMask READ WState_AutoMask)
00111   Q_PROPERTY(int WState_Polished READ WState_Polished)
00112   Q_PROPERTY(int WState_DND READ WState_DND)
00113   Q_PROPERTY(int WState_Reserved0 READ WState_Reserved0)
00114   Q_PROPERTY(int WState_Reserved1 READ WState_Reserved1)
00115   Q_PROPERTY(int WState_Reserved2 READ WState_Reserved2)
00116   Q_PROPERTY(int WState_Reserved3 READ WState_Reserved3)
00117   Q_PROPERTY(int WState_Maximized READ WState_Maximized)
00118   Q_PROPERTY(int WState_Minimized READ WState_Minimized)
00119   Q_PROPERTY(int WState_ForceDisabled READ WState_ForceDisabled)
00120   Q_PROPERTY(int WState_Exposed READ WState_Exposed)
00121   Q_PROPERTY(int WType_TopLevel READ WType_TopLevel)
00122   Q_PROPERTY(int WType_Dialog READ WType_Dialog)
00123   Q_PROPERTY(int WType_Popup READ WType_Popup)
00124   Q_PROPERTY(int WType_Desktop READ WType_Desktop)
00125   Q_PROPERTY(int WType_Mask READ WType_Mask)
00126   Q_PROPERTY(int WStyle_Customize READ WStyle_Customize)
00127   Q_PROPERTY(int WStyle_NormalBorder READ WStyle_NormalBorder)
00128   Q_PROPERTY(int WStyle_DialogBorder READ WStyle_DialogBorder)
00129   Q_PROPERTY(int WStyle_NoBorder READ WStyle_NoBorder)
00130   Q_PROPERTY(int WStyle_Title READ WStyle_Title)
00131   Q_PROPERTY(int WStyle_SysMenu READ WStyle_SysMenu)
00132   Q_PROPERTY(int WStyle_Minimize READ WStyle_Minimize)
00133   Q_PROPERTY(int WStyle_Maximize READ WStyle_Maximize)
00134   Q_PROPERTY(int WStyle_MinMax READ WStyle_MinMax)
00135   Q_PROPERTY(int WStyle_Tool READ WStyle_Tool)
00136   Q_PROPERTY(int WStyle_StaysOnTop READ WStyle_StaysOnTop)
00137   Q_PROPERTY(int WStyle_ContextHelp READ WStyle_ContextHelp)
00138   Q_PROPERTY(int WStyle_Reserved READ WStyle_Reserved)
00139   Q_PROPERTY(int WStyle_Mask READ WStyle_Mask)
00140   Q_PROPERTY(int WDestructiveClose READ WDestructiveClose)
00141   Q_PROPERTY(int WPaintDesktop READ WPaintDesktop)
00142   Q_PROPERTY(int WPaintUnclipped READ WPaintUnclipped)
00143   Q_PROPERTY(int WPaintClever READ WPaintClever)
00144   Q_PROPERTY(int WResizeNoErase READ WResizeNoErase)
00145   Q_PROPERTY(int WMouseNoMask READ WMouseNoMask)
00146   Q_PROPERTY(int WStaticContents READ WStaticContents)
00147   Q_PROPERTY(int WRepaintNoErase READ WRepaintNoErase)
00148   Q_PROPERTY(int WWinOwnDC READ WWinOwnDC)
00149   Q_PROPERTY(int WShowModal READ WShowModal)
00150   Q_PROPERTY(int WNoMousePropagation READ WNoMousePropagation)
00151   Q_PROPERTY(int WSubWindow READ WSubWindow)
00152   Q_PROPERTY(int WNorthWestGravity READ WNorthWestGravity)
00153   Q_PROPERTY(int WType_Modal READ WType_Modal)
00154   Q_PROPERTY(int WStyle_Dialog READ WStyle_Dialog)
00155   Q_PROPERTY(int ColorMode_Mask READ ColorMode_Mask)
00156   Q_PROPERTY(int AutoColor READ AutoColor)
00157   Q_PROPERTY(int ColorOnly READ ColorOnly)
00158   Q_PROPERTY(int MonoOnly READ MonoOnly)
00159   Q_PROPERTY(int AlphaDither_Mask READ AlphaDither_Mask)
00160   Q_PROPERTY(int ThresholdAlphaDither READ ThresholdAlphaDither)
00161   Q_PROPERTY(int OrderedAlphaDither READ OrderedAlphaDither)
00162   Q_PROPERTY(int DiffuseAlphaDither READ DiffuseAlphaDither)
00163   Q_PROPERTY(int NoAlpha READ NoAlpha)
00164   Q_PROPERTY(int Dither_Mask READ Dither_Mask)
00165   Q_PROPERTY(int DiffuseDither READ DiffuseDither)
00166   Q_PROPERTY(int OrderedDither READ OrderedDither)
00167   Q_PROPERTY(int ThresholdDither READ ThresholdDither)
00168   Q_PROPERTY(int DitherMode_Mask READ DitherMode_Mask)
00169   Q_PROPERTY(int AutoDither READ AutoDither)
00170   Q_PROPERTY(int PreferDither READ PreferDither)
00171   Q_PROPERTY(int TransparentMode READ TransparentMode)
00172   Q_PROPERTY(int PixelUnit READ PixelUnit)
00173   Q_PROPERTY(int LoMetricUnit READ LoMetricUnit)
00174   Q_PROPERTY(int HiMetricUnit READ HiMetricUnit)
00175   Q_PROPERTY(int LoEnglishUnit READ LoEnglishUnit)
00176   Q_PROPERTY(int HiEnglishUnit READ HiEnglishUnit)
00177   Q_PROPERTY(int WindowsStyle READ WindowsStyle)
00178   Q_PROPERTY(int MacStyle READ MacStyle)
00179   Q_PROPERTY(int Win3Style READ Win3Style)
00180   Q_PROPERTY(int PMStyle READ PMStyle)
00181   Q_PROPERTY(int SHIFT READ SHIFT)
00182   Q_PROPERTY(int CTRL READ CTRL)
00183   Q_PROPERTY(int ALT READ ALT)
00184   Q_PROPERTY(int MODIFIER_MASK READ MODIFIER_MASK)
00185   Q_PROPERTY(int UNICODE_ACCEL READ UNICODE_ACCEL)
00186   Q_PROPERTY(int Key_Escape READ Key_Escape)
00187   Q_PROPERTY(int Key_Tab READ Key_Tab)
00188   Q_PROPERTY(int Key_Backtab READ Key_Backtab)
00189   Q_PROPERTY(int Key_BackTab READ Key_BackTab)
00190   Q_PROPERTY(int Key_Backspace READ Key_Backspace)
00191   Q_PROPERTY(int Key_BackSpace READ Key_BackSpace)
00192   Q_PROPERTY(int Key_Return READ Key_Return)
00193   Q_PROPERTY(int Key_Enter READ Key_Enter)
00194   Q_PROPERTY(int Key_Insert READ Key_Insert)
00195   Q_PROPERTY(int Key_Delete READ Key_Delete)
00196   Q_PROPERTY(int Key_Pause READ Key_Pause)
00197   Q_PROPERTY(int Key_Print READ Key_Print)
00198   Q_PROPERTY(int Key_SysReq READ Key_SysReq)
00199   Q_PROPERTY(int Key_Home READ Key_Home)
00200   Q_PROPERTY(int Key_End READ Key_End)
00201   Q_PROPERTY(int Key_Left READ Key_Left)
00202   Q_PROPERTY(int Key_Up READ Key_Up)
00203   Q_PROPERTY(int Key_Right READ Key_Right)
00204   Q_PROPERTY(int Key_Down READ Key_Down)
00205   Q_PROPERTY(int Key_Prior READ Key_Prior)
00206   Q_PROPERTY(int Key_PageUp READ Key_PageUp)
00207   Q_PROPERTY(int Key_Next READ Key_Next)
00208   Q_PROPERTY(int Key_PageDown READ Key_PageDown)
00209   Q_PROPERTY(int Key_Shift READ Key_Shift)
00210   Q_PROPERTY(int Key_Control READ Key_Control)
00211   Q_PROPERTY(int Key_Meta READ Key_Meta)
00212   Q_PROPERTY(int Key_Alt READ Key_Alt)
00213   Q_PROPERTY(int Key_CapsLock READ Key_CapsLock)
00214   Q_PROPERTY(int Key_NumLock READ Key_NumLock)
00215   Q_PROPERTY(int Key_ScrollLock READ Key_ScrollLock)
00216   Q_PROPERTY(int Key_F1 READ Key_F1)
00217   Q_PROPERTY(int Key_F2 READ Key_F2)
00218   Q_PROPERTY(int Key_F3 READ Key_F3)
00219   Q_PROPERTY(int Key_F4 READ Key_F4)
00220   Q_PROPERTY(int Key_F5 READ Key_F5)
00221   Q_PROPERTY(int Key_F6 READ Key_F6)
00222   Q_PROPERTY(int Key_F7 READ Key_F7)
00223   Q_PROPERTY(int Key_F8 READ Key_F8)
00224   Q_PROPERTY(int Key_F9 READ Key_F9)
00225   Q_PROPERTY(int Key_F10 READ Key_F10)
00226   Q_PROPERTY(int Key_F11 READ Key_F11)
00227   Q_PROPERTY(int Key_F12 READ Key_F12)
00228   Q_PROPERTY(int Key_F13 READ Key_F13)
00229   Q_PROPERTY(int Key_F14 READ Key_F14)
00230   Q_PROPERTY(int Key_F15 READ Key_F15)
00231   Q_PROPERTY(int Key_F16 READ Key_F16)
00232   Q_PROPERTY(int Key_F17 READ Key_F17)
00233   Q_PROPERTY(int Key_F18 READ Key_F18)
00234   Q_PROPERTY(int Key_F19 READ Key_F19)
00235   Q_PROPERTY(int Key_F20 READ Key_F20)
00236   Q_PROPERTY(int Key_F21 READ Key_F21)
00237   Q_PROPERTY(int Key_F22 READ Key_F22)
00238   Q_PROPERTY(int Key_F23 READ Key_F23)
00239   Q_PROPERTY(int Key_F24 READ Key_F24)
00240   Q_PROPERTY(int Key_F25 READ Key_F25)
00241   Q_PROPERTY(int Key_F26 READ Key_F26)
00242   Q_PROPERTY(int Key_F27 READ Key_F27)
00243   Q_PROPERTY(int Key_F28 READ Key_F28)
00244   Q_PROPERTY(int Key_F29 READ Key_F29)
00245   Q_PROPERTY(int Key_F30 READ Key_F30)
00246   Q_PROPERTY(int Key_F31 READ Key_F31)
00247   Q_PROPERTY(int Key_F32 READ Key_F32)
00248   Q_PROPERTY(int Key_F33 READ Key_F33)
00249   Q_PROPERTY(int Key_F34 READ Key_F34)
00250   Q_PROPERTY(int Key_F35 READ Key_F35)
00251   Q_PROPERTY(int Key_Super_L READ Key_Super_L)
00252   Q_PROPERTY(int Key_Super_R READ Key_Super_R)
00253   Q_PROPERTY(int Key_Menu READ Key_Menu)
00254   Q_PROPERTY(int Key_Hyper_L READ Key_Hyper_L)
00255   Q_PROPERTY(int Key_Hyper_R READ Key_Hyper_R)
00256   Q_PROPERTY(int Key_Help READ Key_Help)
00257   Q_PROPERTY(int Key_Direction_L READ Key_Direction_L)
00258   Q_PROPERTY(int Key_Direction_R READ Key_Direction_R)
00259   Q_PROPERTY(int Key_Space READ Key_Space)
00260   Q_PROPERTY(int Key_Any READ Key_Any)
00261   Q_PROPERTY(int Key_Exclam READ Key_Exclam)
00262   Q_PROPERTY(int Key_QuoteDbl READ Key_QuoteDbl)
00263   Q_PROPERTY(int Key_NumberSign READ Key_NumberSign)
00264   Q_PROPERTY(int Key_Dollar READ Key_Dollar)
00265   Q_PROPERTY(int Key_Percent READ Key_Percent)
00266   Q_PROPERTY(int Key_Ampersand READ Key_Ampersand)
00267   Q_PROPERTY(int Key_Apostrophe READ Key_Apostrophe)
00268   Q_PROPERTY(int Key_ParenLeft READ Key_ParenLeft)
00269   Q_PROPERTY(int Key_ParenRight READ Key_ParenRight)
00270   Q_PROPERTY(int Key_Asterisk READ Key_Asterisk)
00271   Q_PROPERTY(int Key_Plus READ Key_Plus)
00272   Q_PROPERTY(int Key_Comma READ Key_Comma)
00273   Q_PROPERTY(int Key_Minus READ Key_Minus)
00274   Q_PROPERTY(int Key_Period READ Key_Period)
00275   Q_PROPERTY(int Key_Slash READ Key_Slash)
00276   Q_PROPERTY(int Key_0 READ Key_0)
00277   Q_PROPERTY(int Key_1 READ Key_1)
00278   Q_PROPERTY(int Key_2 READ Key_2)
00279   Q_PROPERTY(int Key_3 READ Key_3)
00280   Q_PROPERTY(int Key_4 READ Key_4)
00281   Q_PROPERTY(int Key_5 READ Key_5)
00282   Q_PROPERTY(int Key_6 READ Key_6)
00283   Q_PROPERTY(int Key_7 READ Key_7)
00284   Q_PROPERTY(int Key_8 READ Key_8)
00285   Q_PROPERTY(int Key_9 READ Key_9)
00286   Q_PROPERTY(int Key_Colon READ Key_Colon)
00287   Q_PROPERTY(int Key_Semicolon READ Key_Semicolon)
00288   Q_PROPERTY(int Key_Less READ Key_Less)
00289   Q_PROPERTY(int Key_Equal READ Key_Equal)
00290   Q_PROPERTY(int Key_Greater READ Key_Greater)
00291   Q_PROPERTY(int Key_Question READ Key_Question)
00292   Q_PROPERTY(int Key_At READ Key_At)
00293   Q_PROPERTY(int Key_A READ Key_A)
00294   Q_PROPERTY(int Key_B READ Key_B)
00295   Q_PROPERTY(int Key_C READ Key_C)
00296   Q_PROPERTY(int Key_D READ Key_D)
00297   Q_PROPERTY(int Key_E READ Key_E)
00298   Q_PROPERTY(int Key_F READ Key_F)
00299   Q_PROPERTY(int Key_G READ Key_G)
00300   Q_PROPERTY(int Key_H READ Key_H)
00301   Q_PROPERTY(int Key_I READ Key_I)
00302   Q_PROPERTY(int Key_J READ Key_J)
00303   Q_PROPERTY(int Key_K READ Key_K)
00304   Q_PROPERTY(int Key_L READ Key_L)
00305   Q_PROPERTY(int Key_M READ Key_M)
00306   Q_PROPERTY(int Key_N READ Key_N)
00307   Q_PROPERTY(int Key_O READ Key_O)
00308   Q_PROPERTY(int Key_P READ Key_P)
00309   Q_PROPERTY(int Key_Q READ Key_Q)
00310   Q_PROPERTY(int Key_R READ Key_R)
00311   Q_PROPERTY(int Key_S READ Key_S)
00312   Q_PROPERTY(int Key_T READ Key_T)
00313   Q_PROPERTY(int Key_U READ Key_U)
00314   Q_PROPERTY(int Key_V READ Key_V)
00315   Q_PROPERTY(int Key_W READ Key_W)
00316   Q_PROPERTY(int Key_X READ Key_X)
00317   Q_PROPERTY(int Key_Y READ Key_Y)
00318   Q_PROPERTY(int Key_Z READ Key_Z)
00319   Q_PROPERTY(int Key_BracketLeft READ Key_BracketLeft)
00320   Q_PROPERTY(int Key_Backslash READ Key_Backslash)
00321   Q_PROPERTY(int Key_BracketRight READ Key_BracketRight)
00322   Q_PROPERTY(int Key_AsciiCircum READ Key_AsciiCircum)
00323   Q_PROPERTY(int Key_Underscore READ Key_Underscore)
00324   Q_PROPERTY(int Key_QuoteLeft READ Key_QuoteLeft)
00325   Q_PROPERTY(int Key_BraceLeft READ Key_BraceLeft)
00326   Q_PROPERTY(int Key_Bar READ Key_Bar)
00327   Q_PROPERTY(int Key_BraceRight READ Key_BraceRight)
00328   Q_PROPERTY(int Key_AsciiTilde READ Key_AsciiTilde)
00329   Q_PROPERTY(int Key_nobreakspace READ Key_nobreakspace)
00330   Q_PROPERTY(int Key_exclamdown READ Key_exclamdown)
00331   Q_PROPERTY(int Key_cent READ Key_cent)
00332   Q_PROPERTY(int Key_sterling READ Key_sterling)
00333   Q_PROPERTY(int Key_currency READ Key_currency)
00334   Q_PROPERTY(int Key_yen READ Key_yen)
00335   Q_PROPERTY(int Key_brokenbar READ Key_brokenbar)
00336   Q_PROPERTY(int Key_section READ Key_section)
00337   Q_PROPERTY(int Key_diaeresis READ Key_diaeresis)
00338   Q_PROPERTY(int Key_copyright READ Key_copyright)
00339   Q_PROPERTY(int Key_ordfeminine READ Key_ordfeminine)
00340   Q_PROPERTY(int Key_guillemotleft READ Key_guillemotleft)
00341   Q_PROPERTY(int Key_notsign READ Key_notsign)
00342   Q_PROPERTY(int Key_hyphen READ Key_hyphen)
00343   Q_PROPERTY(int Key_registered READ Key_registered)
00344   Q_PROPERTY(int Key_macron READ Key_macron)
00345   Q_PROPERTY(int Key_degree READ Key_degree)
00346   Q_PROPERTY(int Key_plusminus READ Key_plusminus)
00347   Q_PROPERTY(int Key_twosuperior READ Key_twosuperior)
00348   Q_PROPERTY(int Key_threesuperior READ Key_threesuperior)
00349   Q_PROPERTY(int Key_acute READ Key_acute)
00350   Q_PROPERTY(int Key_mu READ Key_mu)
00351   Q_PROPERTY(int Key_paragraph READ Key_paragraph)
00352   Q_PROPERTY(int Key_periodcentered READ Key_periodcentered)
00353   Q_PROPERTY(int Key_cedilla READ Key_cedilla)
00354   Q_PROPERTY(int Key_onesuperior READ Key_onesuperior)
00355   Q_PROPERTY(int Key_masculine READ Key_masculine)
00356   Q_PROPERTY(int Key_guillemotright READ Key_guillemotright)
00357   Q_PROPERTY(int Key_onequarter READ Key_onequarter)
00358   Q_PROPERTY(int Key_onehalf READ Key_onehalf)
00359   Q_PROPERTY(int Key_threequarters READ Key_threequarters)
00360   Q_PROPERTY(int Key_questiondown READ Key_questiondown)
00361   Q_PROPERTY(int Key_Agrave READ Key_Agrave)
00362   Q_PROPERTY(int Key_Aacute READ Key_Aacute)
00363   Q_PROPERTY(int Key_Acircumflex READ Key_Acircumflex)
00364   Q_PROPERTY(int Key_Atilde READ Key_Atilde)
00365   Q_PROPERTY(int Key_Adiaeresis READ Key_Adiaeresis)
00366   Q_PROPERTY(int Key_Aring READ Key_Aring)
00367   Q_PROPERTY(int Key_AE READ Key_AE)
00368   Q_PROPERTY(int Key_Ccedilla READ Key_Ccedilla)
00369   Q_PROPERTY(int Key_Egrave READ Key_Egrave)
00370   Q_PROPERTY(int Key_Eacute READ Key_Eacute)
00371   Q_PROPERTY(int Key_Ecircumflex READ Key_Ecircumflex)
00372   Q_PROPERTY(int Key_Ediaeresis READ Key_Ediaeresis)
00373   Q_PROPERTY(int Key_Igrave READ Key_Igrave)
00374   Q_PROPERTY(int Key_Iacute READ Key_Iacute)
00375   Q_PROPERTY(int Key_Icircumflex READ Key_Icircumflex)
00376   Q_PROPERTY(int Key_Idiaeresis READ Key_Idiaeresis)
00377   Q_PROPERTY(int Key_ETH READ Key_ETH)
00378   Q_PROPERTY(int Key_Ntilde READ Key_Ntilde)
00379   Q_PROPERTY(int Key_Ograve READ Key_Ograve)
00380   Q_PROPERTY(int Key_Oacute READ Key_Oacute)
00381   Q_PROPERTY(int Key_Ocircumflex READ Key_Ocircumflex)
00382   Q_PROPERTY(int Key_Otilde READ Key_Otilde)
00383   Q_PROPERTY(int Key_Odiaeresis READ Key_Odiaeresis)
00384   Q_PROPERTY(int Key_multiply READ Key_multiply)
00385   Q_PROPERTY(int Key_Ooblique READ Key_Ooblique)
00386   Q_PROPERTY(int Key_Ugrave READ Key_Ugrave)
00387   Q_PROPERTY(int Key_Uacute READ Key_Uacute)
00388   Q_PROPERTY(int Key_Ucircumflex READ Key_Ucircumflex)
00389   Q_PROPERTY(int Key_Udiaeresis READ Key_Udiaeresis)
00390   Q_PROPERTY(int Key_Yacute READ Key_Yacute)
00391   Q_PROPERTY(int Key_THORN READ Key_THORN)
00392   Q_PROPERTY(int Key_ssharp READ Key_ssharp)
00393   Q_PROPERTY(int Key_agrave READ Key_agrave)
00394   Q_PROPERTY(int Key_aacute READ Key_aacute)
00395   Q_PROPERTY(int Key_acircumflex READ Key_acircumflex)
00396   Q_PROPERTY(int Key_atilde READ Key_atilde)
00397   Q_PROPERTY(int Key_adiaeresis READ Key_adiaeresis)
00398   Q_PROPERTY(int Key_aring READ Key_aring)
00399   Q_PROPERTY(int Key_ae READ Key_ae)
00400   Q_PROPERTY(int Key_ccedilla READ Key_ccedilla)
00401   Q_PROPERTY(int Key_egrave READ Key_egrave)
00402   Q_PROPERTY(int Key_eacute READ Key_eacute)
00403   Q_PROPERTY(int Key_ecircumflex READ Key_ecircumflex)
00404   Q_PROPERTY(int Key_ediaeresis READ Key_ediaeresis)
00405   Q_PROPERTY(int Key_igrave READ Key_igrave)
00406   Q_PROPERTY(int Key_iacute READ Key_iacute)
00407   Q_PROPERTY(int Key_icircumflex READ Key_icircumflex)
00408   Q_PROPERTY(int Key_idiaeresis READ Key_idiaeresis)
00409   Q_PROPERTY(int Key_eth READ Key_eth)
00410   Q_PROPERTY(int Key_ntilde READ Key_ntilde)
00411   Q_PROPERTY(int Key_ograve READ Key_ograve)
00412   Q_PROPERTY(int Key_oacute READ Key_oacute)
00413   Q_PROPERTY(int Key_ocircumflex READ Key_ocircumflex)
00414   Q_PROPERTY(int Key_otilde READ Key_otilde)
00415   Q_PROPERTY(int Key_odiaeresis READ Key_odiaeresis)
00416   Q_PROPERTY(int Key_division READ Key_division)
00417   Q_PROPERTY(int Key_oslash READ Key_oslash)
00418   Q_PROPERTY(int Key_ugrave READ Key_ugrave)
00419   Q_PROPERTY(int Key_uacute READ Key_uacute)
00420   Q_PROPERTY(int Key_ucircumflex READ Key_ucircumflex)
00421   Q_PROPERTY(int Key_udiaeresis READ Key_udiaeresis)
00422   Q_PROPERTY(int Key_yacute READ Key_yacute)
00423   Q_PROPERTY(int Key_thorn READ Key_thorn)
00424   Q_PROPERTY(int Key_ydiaeresis READ Key_ydiaeresis)
00425   Q_PROPERTY(int Key_Back READ Key_Back)
00426   Q_PROPERTY(int Key_Forward READ Key_Forward)
00427   Q_PROPERTY(int Key_Stop READ Key_Stop)
00428   Q_PROPERTY(int Key_Refresh READ Key_Refresh)
00429   Q_PROPERTY(int Key_VolumeDown READ Key_VolumeDown)
00430   Q_PROPERTY(int Key_VolumeMute READ Key_VolumeMute)
00431   Q_PROPERTY(int Key_VolumeUp READ Key_VolumeUp)
00432   Q_PROPERTY(int Key_BassBoost READ Key_BassBoost)
00433   Q_PROPERTY(int Key_BassUp READ Key_BassUp)
00434   Q_PROPERTY(int Key_BassDown READ Key_BassDown)
00435   Q_PROPERTY(int Key_TrebleUp READ Key_TrebleUp)
00436   Q_PROPERTY(int Key_TrebleDown READ Key_TrebleDown)
00437   Q_PROPERTY(int Key_MediaPlay READ Key_MediaPlay)
00438   Q_PROPERTY(int Key_MediaStop READ Key_MediaStop)
00439   Q_PROPERTY(int Key_MediaPrev READ Key_MediaPrev)
00440   Q_PROPERTY(int Key_MediaNext READ Key_MediaNext)
00441   Q_PROPERTY(int Key_MediaRecord READ Key_MediaRecord)
00442   Q_PROPERTY(int Key_HomePage READ Key_HomePage)
00443   Q_PROPERTY(int Key_Favorites READ Key_Favorites)
00444   Q_PROPERTY(int Key_Search READ Key_Search)
00445   Q_PROPERTY(int Key_Standby READ Key_Standby)
00446   Q_PROPERTY(int Key_OpenUrl READ Key_OpenUrl)
00447   Q_PROPERTY(int Key_LaunchMail READ Key_LaunchMail)
00448   Q_PROPERTY(int Key_LaunchMedia READ Key_LaunchMedia)
00449   Q_PROPERTY(int Key_Launch0 READ Key_Launch0)
00450   Q_PROPERTY(int Key_Launch1 READ Key_Launch1)
00451   Q_PROPERTY(int Key_Launch2 READ Key_Launch2)
00452   Q_PROPERTY(int Key_Launch3 READ Key_Launch3)
00453   Q_PROPERTY(int Key_Launch4 READ Key_Launch4)
00454   Q_PROPERTY(int Key_Launch5 READ Key_Launch5)
00455   Q_PROPERTY(int Key_Launch6 READ Key_Launch6)
00456   Q_PROPERTY(int Key_Launch7 READ Key_Launch7)
00457   Q_PROPERTY(int Key_Launch8 READ Key_Launch8)
00458   Q_PROPERTY(int Key_Launch9 READ Key_Launch9)
00459   Q_PROPERTY(int Key_LaunchA READ Key_LaunchA)
00460   Q_PROPERTY(int Key_LaunchB READ Key_LaunchB)
00461   Q_PROPERTY(int Key_LaunchC READ Key_LaunchC)
00462   Q_PROPERTY(int Key_LaunchD READ Key_LaunchD)
00463   Q_PROPERTY(int Key_LaunchE READ Key_LaunchE)
00464   Q_PROPERTY(int Key_LaunchF READ Key_LaunchF)
00465   Q_PROPERTY(int Key_MediaLast READ Key_MediaLast)
00466   Q_PROPERTY(int UpArrow READ UpArrow)
00467   Q_PROPERTY(int DownArrow READ DownArrow)
00468   Q_PROPERTY(int LeftArrow READ LeftArrow)
00469   Q_PROPERTY(int CopyROP READ CopyROP)
00470   Q_PROPERTY(int OrROP READ OrROP)
00471   Q_PROPERTY(int XorROP READ XorROP)
00472   Q_PROPERTY(int NotAndROP READ NotAndROP)
00473   Q_PROPERTY(int EraseROP READ EraseROP)
00474   Q_PROPERTY(int NotCopyROP READ NotCopyROP)
00475   Q_PROPERTY(int NotOrROP READ NotOrROP)
00476   Q_PROPERTY(int NotXorROP READ NotXorROP)
00477   Q_PROPERTY(int AndROP READ AndROP)
00478   Q_PROPERTY(int NotEraseROP READ NotEraseROP)
00479   Q_PROPERTY(int NotROP READ NotROP)
00480   Q_PROPERTY(int ClearROP READ ClearROP)
00481   Q_PROPERTY(int SetROP READ SetROP)
00482   Q_PROPERTY(int NopROP READ NopROP)
00483   Q_PROPERTY(int AndNotROP READ AndNotROP)
00484   Q_PROPERTY(int OrNotROP READ OrNotROP)
00485   Q_PROPERTY(int NandROP READ NandROP)
00486   Q_PROPERTY(int NorROP READ NorROP)
00487   Q_PROPERTY(int NoPen READ NoPen)
00488   Q_PROPERTY(int SolidLine READ SolidLine)
00489   Q_PROPERTY(int DashLine READ DashLine)
00490   Q_PROPERTY(int DotLine READ DotLine)
00491   Q_PROPERTY(int DashDotLine READ DashDotLine)
00492   Q_PROPERTY(int DashDotDotLine READ DashDotDotLine)
00493   Q_PROPERTY(int FlatCap READ FlatCap)
00494   Q_PROPERTY(int SquareCap READ SquareCap)
00495   Q_PROPERTY(int RoundCap READ RoundCap)
00496   Q_PROPERTY(int MiterJoin READ MiterJoin)
00497   Q_PROPERTY(int BevelJoin READ BevelJoin)
00498   Q_PROPERTY(int RoundJoin READ RoundJoin)
00499   Q_PROPERTY(int NoBrush READ NoBrush)
00500   Q_PROPERTY(int SolidPattern READ SolidPattern)
00501   Q_PROPERTY(int Dense1Pattern READ Dense1Pattern)
00502   Q_PROPERTY(int Dense2Pattern READ Dense2Pattern)
00503   Q_PROPERTY(int Dense3Pattern READ Dense3Pattern)
00504   Q_PROPERTY(int Dense4Pattern READ Dense4Pattern)
00505   Q_PROPERTY(int Dense5Pattern READ Dense5Pattern)
00506   Q_PROPERTY(int Dense6Pattern READ Dense6Pattern)
00507   Q_PROPERTY(int Dense7Pattern READ Dense7Pattern)
00508   Q_PROPERTY(int HorPattern READ HorPattern)
00509   Q_PROPERTY(int VerPattern READ VerPattern)
00510   Q_PROPERTY(int CrossPattern READ CrossPattern)
00511   Q_PROPERTY(int BDiagPattern READ BDiagPattern)
00512   Q_PROPERTY(int FDiagPattern READ FDiagPattern)
00513   Q_PROPERTY(int DiagCrossPattern READ DiagCrossPattern)
00514   Q_PROPERTY(int WV_32s READ WV_32s)
00515   Q_PROPERTY(int WV_95 READ WV_95)
00516   Q_PROPERTY(int WV_98 READ WV_98)
00517   Q_PROPERTY(int WV_Me READ WV_Me)
00518   Q_PROPERTY(int WV_DOS_based READ WV_DOS_based)
00519   Q_PROPERTY(int WV_NT READ WV_NT)
00520   Q_PROPERTY(int WV_2000 READ WV_2000)
00521   Q_PROPERTY(int WV_XP READ WV_XP)
00522   Q_PROPERTY(int UI_General READ UI_General)
00523   Q_PROPERTY(int UI_AnimateMenu READ UI_AnimateMenu)
00524   Q_PROPERTY(int UI_FadeMenu READ UI_FadeMenu)
00525   Q_PROPERTY(int UI_AnimateCombo READ UI_AnimateCombo)
00526   Q_PROPERTY(int UI_AnimateTooltip READ UI_AnimateTooltip)
00527   Q_PROPERTY(int ArrowCursor READ ArrowCursor)
00528   Q_PROPERTY(int UpArrowCursor READ UpArrowCursor)
00529   Q_PROPERTY(int CrossCursor READ CrossCursor)
00530   Q_PROPERTY(int WaitCursor READ WaitCursor)
00531   Q_PROPERTY(int IbeamCursor READ IbeamCursor)
00532   Q_PROPERTY(int SizeVerCursor READ SizeVerCursor)
00533   Q_PROPERTY(int SizeHorCursor READ SizeHorCursor)
00534   Q_PROPERTY(int SizeBDiagCursor READ SizeBDiagCursor)
00535   Q_PROPERTY(int SizeFDiagCursor READ SizeFDiagCursor)
00536   Q_PROPERTY(int SizeAllCursor READ SizeAllCursor)
00537   Q_PROPERTY(int BlankCursor READ BlankCursor)
00538   Q_PROPERTY(int SplitVCursor READ SplitVCursor)
00539   Q_PROPERTY(int SplitHCursor READ SplitHCursor)
00540   Q_PROPERTY(int PointingHandCursor READ PointingHandCursor)
00541   Q_PROPERTY(int ForbiddenCursor READ ForbiddenCursor)
00542   Q_PROPERTY(int WhatsThisCursor READ WhatsThisCursor)
00543   Q_PROPERTY(int LastCursor READ LastCursor)
00544   Q_PROPERTY(int PlainText READ PlainText)
00545   Q_PROPERTY(int RichText READ RichText)
00546   Q_PROPERTY(int TextDate READ TextDate)
00547   Q_PROPERTY(int ISODate READ ISODate)
00548   Q_PROPERTY(int FixedColor READ FixedColor)
00549   Q_PROPERTY(int FixedPixmap READ FixedPixmap)
00550   Q_PROPERTY(int NoBackground READ NoBackground)
00551   Q_PROPERTY(int PaletteForeground READ PaletteForeground)
00552   Q_PROPERTY(int PaletteButton READ PaletteButton)
00553   Q_PROPERTY(int PaletteLight READ PaletteLight)
00554   Q_PROPERTY(int PaletteMidlight READ PaletteMidlight)
00555   Q_PROPERTY(int PaletteDark READ PaletteDark)
00556   Q_PROPERTY(int PaletteMid READ PaletteMid)
00557   Q_PROPERTY(int PaletteText READ PaletteText)
00558   Q_PROPERTY(int PaletteBrightText READ PaletteBrightText)
00559   Q_PROPERTY(int PaletteBase READ PaletteBase)
00560   Q_PROPERTY(int PaletteBackground READ PaletteBackground)
00561   Q_PROPERTY(int PaletteShadow READ PaletteShadow)
00562   Q_PROPERTY(int PaletteHighlight READ PaletteHighlight)
00563   Q_PROPERTY(int PaletteHighlightedText READ PaletteHighlightedText)
00564   Q_PROPERTY(int PaletteButtonText READ PaletteButtonText)
00565   Q_PROPERTY(int PaletteLink READ PaletteLink)
00566   Q_PROPERTY(int PaletteLinkVisited READ PaletteLinkVisited)
00567   Q_PROPERTY(int CaseSensitive READ CaseSensitive)
00568   Q_PROPERTY(int BeginsWith READ BeginsWith)
00569   Q_PROPERTY(int EndsWith READ EndsWith)
00570   Q_PROPERTY(int Contains READ Contains)
00571   Q_PROPERTY(int UndefinedDevice READ UndefinedDevice)
00572   Q_PROPERTY(int Widget READ Widget)
00573   Q_PROPERTY(int Printer READ Printer)
00574   Q_PROPERTY(int Picture READ Picture)
00575   Q_PROPERTY(int DeviceTypeMask READ DeviceTypeMask)
00576   Q_PROPERTY(int ExternalDevice READ ExternalDevice)
00577 
00578   Q_ENUMS(EventType)
00579   Q_ENUMS(Shape)
00580   Q_ENUMS(Shadow)
00581   Q_ENUMS(CoordinateMode)
00582   Q_ENUMS(ColorMode)
00583   Q_ENUMS(Optimization)
00584   Q_ENUMS(PrinterMode PrinterOrientation PageSize PageOrder PrinterColorMode PaperSource PrintRange PrinterOption)
00585   Q_ENUMS(NodeType)
00586   Q_ENUMS(RegionType)
00587   Q_ENUMS(ColorSpec)
00588   Q_ENUMS(ContextMenuReason)
00589   Q_ENUMS(DragDropAction)
00590   Q_ENUMS(DragMode)
00591   Q_ENUMS(Endian DataStreamByteOrder)
00592   Q_ENUMS(ScaleMode)
00593   Q_ENUMS(ProcessEvents)
00594   Q_ENUMS(SocketNotifierType)
00595   Q_ENUMS(Encoding TextStreamEncoding)
00596   Q_ENUMS(NetState)
00597   Q_ENUMS(NetOperation)
00598   Q_ENUMS(NetConnectionState)
00599   Q_ENUMS(NetError)
00600   Q_ENUMS(DockCloseMode DockPlace DockHandlePosition DockWindows Dock)
00601   Q_ENUMS(IconSetSize IconSetMode IconSetState)
00602   Q_ENUMS(ToolButtonTextPosition)
00603   Q_ENUMS(Corner)
00604   Q_ENUMS(HttpState HttpError)
00605   Q_ENUMS(CanvasRttiValues CanvasFrameAnimationType)
00606   Q_ENUMS(RenderReportFlags)
00607   Q_ENUMS(AQReportsMsgType)
00608   Q_ENUMS(SplitterResizeMode)
00609   Q_ENUMS(FilterSpec SortSpec PermissionSpec)
00610   Q_ENUMS(Communication)
00611   Q_ENUMS(SizeType)
00612   Q_ENUMS(ZipStatus ZipCompressionPolicy)
00613   Q_ENUMS(OdsStyleFlags)
00614   Q_ENUMS(ClassFlags FunctionFlags)
00615 
00616 public:
00617 
00618   enum EventType {
00619     None = 0,       // invalid event
00620     Timer = 1,        // timer event
00621     MouseButtonPress = 2,     // mouse button pressed
00622     MouseButtonRelease = 3,     // mouse button released
00623     MouseButtonDblClick = 4,    // mouse button double click
00624     MouseMove = 5,        // mouse move
00625     KeyPress = 6,       // key pressed
00626     KeyRelease = 7,       // key released
00627     FocusIn = 8,        // keyboard focus received
00628     FocusOut = 9,       // keyboard focus lost
00629     Enter = 10,       // mouse enters widget
00630     Leave = 11,       // mouse leaves widget
00631     Paint = 12,       // paint widget
00632     Move = 13,        // move widget
00633     Resize = 14,        // resize widget
00634     Create = 15,        // after object creation
00635     Destroy = 16,       // during object destruction
00636     Show = 17,        // widget is shown
00637     Hide = 18,        // widget is hidden
00638     Close = 19,       // request to close widget
00639     Quit = 20,        // request to quit application
00640     Reparent = 21,        // widget has been reparented
00641     ShowMinimized = 22,           // widget is shown minimized
00642     ShowNormal = 23,            // widget is shown normal
00643     WindowActivate = 24,            // window was activated
00644     WindowDeactivate = 25,            // window was deactivated
00645     ShowToParent = 26,            // widget is shown to parent
00646     HideToParent = 27,            // widget is hidden to parent
00647     ShowMaximized = 28,           // widget is shown maximized
00648     ShowFullScreen = 29,      // widget is shown full-screen
00649     Accel = 30,       // accelerator event
00650     Wheel = 31,       // wheel event
00651     AccelAvailable = 32,      // accelerator available event
00652     CaptionChange = 33,     // caption changed
00653     IconChange = 34,      // icon changed
00654     ParentFontChange = 35,      // parent font changed
00655     ApplicationFontChange = 36,   // application font changed
00656     ParentPaletteChange = 37,   // parent palette changed
00657     ApplicationPaletteChange = 38,    // application palette changed
00658     PaletteChange = 39,     // widget palette changed
00659     Clipboard = 40,       // internal clipboard event
00660     Speech = 42,        // reserved for speech input
00661     SockAct = 50,       // socket activation
00662     AccelOverride = 51,     // accelerator override event
00663     DeferredDelete = 52,      // deferred delete event
00664     DragEnter = 60,       // drag moves into widget
00665     DragMove = 61,        // drag moves in widget
00666     DragLeave = 62,       // drag leaves or is cancelled
00667     Drop = 63,        // actual drop
00668     DragResponse = 64,      // drag accepted/rejected
00669     ChildInserted = 70,     // new child widget
00670     ChildRemoved = 71,      // deleted child widget
00671     LayoutHint = 72,      // child min/max size changed
00672     ShowWindowRequest = 73,     // widget's window should be mapped
00673     WindowBlocked = 74,     // window is about to be blocked modally
00674     WindowUnblocked = 75,     // windows modal blocking has ended
00675     ActivateControl = 80,     // ActiveX activation
00676     DeactivateControl = 81,     // ActiveX deactivation
00677     ContextMenu = 82,     // context popup menu
00678     IMStart = 83,       // input method composition start
00679     IMCompose = 84,       // input method composition
00680     IMEnd = 85,       // input method composition end
00681     Accessibility = 86,     // accessibility information is requested
00682     TabletMove = 87,      // Wacom tablet event
00683     LocaleChange = 88,      // the system locale changed
00684     LanguageChange = 89,      // the application language changed
00685     LayoutDirectionChange = 90,   // the layout direction changed
00686     Style = 91,       // internal style event
00687     TabletPress = 92,     // tablet press
00688     TabletRelease = 93,     // tablet release
00689     OkRequest = 94,       // CE (Ok) button pressed
00690     HelpRequest = 95,     // CE (?)  button pressed
00691     WindowStateChange = 96,     // window state has changed
00692     IconDrag = 97
00693   };
00694 
00695   enum ContextMenuReason {
00696     Mouse,
00697     Keyboard,
00698     Other
00699   };
00700 
00701   enum Shape {
00702     NoFrame = 0, Box = 0x0001, Panel = 0x0002, WinPanel = 0x0003,
00703     HLine = 0x0004, VLine = 0x0005, StyledPanel = 0x0006, PopupPanel = 0x0007,
00704     MenuBarPanel = 0x0008, ToolBarPanel = 0x0009, LineEditPanel = 0x000a,
00705     TabWidgetPanel = 0x000b, GroupBoxPanel = 0x000c, MShape = 0x000f
00706   };
00707 
00708   enum Shadow {
00709     Plain = 0x0010, Raised = 0x0020, Sunken = 0x0030, MShadow = 0x00f0
00710   };
00711 
00712   enum CoordinateMode {
00713     CoordDevice, CoordPainter
00714   };
00715 
00716   enum ColorMode {
00717     Auto, Color, Mono
00718   };
00719 
00720   enum Optimization {
00721     DefaultOptim, NoOptim, MemoryOptim = NoOptim, NormalOptim, BestOptim
00722   };
00723 
00724   enum PrinterMode {
00725     ScreenResolution, PrinterResolution, HighResolution, Compatible
00726   };
00727   enum PrinterOrientation {
00728     Portrait, Landscape
00729   };
00730   enum PageSize {
00731     A4, B5, Letter, Legal, Executive, A0, A1, A2, A3,
00732     A5, A6, A7, A8, A9, B0, B1, B10, B2, B3, B4, B6, B7, B8, B9,
00733     C5E, Comm10E, DLE, Folio, Ledger, Tabloid, Custom, NPageSize = Custom
00734   };
00735   enum PageOrder {
00736     FirstPageFirst, LastPageFirst
00737   };
00738   enum PrinterColorMode {
00739     PrintGrayScale, PrintColor
00740   };
00741   enum PaperSource {
00742     OnlyOne, Lower, Middle, Manual, Envelope, EnvelopeManual, PrintAuto,
00743     Tractor, SmallFormat, LargeFormat, LargeCapacity, Cassette, FormSource
00744   };
00745   enum PrintRange {
00746     AllPages, Selection, PageRange
00747   };
00748   enum PrinterOption {
00749     PrintToFile, PrintSelection, PrintPageRange
00750   };
00751 
00752   enum NodeType {
00753     ElementNode = 1, AttributeNode = 2, TextNode = 3, CDATASectionNode = 4,
00754     EntityReferenceNode = 5, EntityNode = 6, ProcessingInstructionNode = 7, CommentNode = 8,
00755     DocumentNode = 9, DocumentTypeNode = 10, DocumentFragmentNode = 11, NotationNode = 12,
00756     BaseNode = 21, CharacterDataNode = 22
00757   };
00758 
00759   enum RegionType {
00760     Rectangle, Ellipse
00761   };
00762 
00763   enum ColorSpec {
00764     Rgb, Hsv
00765   };
00766 
00767   enum DragDropAction {
00768     DDCopy, DDLink, DDMove, DDPrivate, DDUserAction = 100
00769   };
00770 
00771   enum DragMode {
00772     DDragDefault, DDragCopy, DDragMove, DDragLink, DDragCopyOrMove
00773   };
00774 
00775   enum Endian {
00776     IgnoreEndian, BigEndian, LittleEndian
00777   };
00778 
00779   enum DataStreamByteOrder {
00780     DataStreamBigEndian, DataStreamLittleEndian
00781   };
00782 
00783   enum ScaleMode {
00784     ScaleFree, ScaleMin, ScaleMax
00785   };
00786 
00787   enum ProcessEvents {
00788     AllEvents = 0x00, ExcludeUserInput = 0x01,
00789     ExcludeSocketNotifiers = 0x02, WaitForMore = 0x04
00790   };
00791 
00792   enum SocketNotifierType {
00793     Read, Write, Exception
00794   };
00795 
00796   enum Encoding {
00797     DefaultCodec, UnicodeUTF8
00798   };
00799 
00800   enum TextStreamEncoding {
00801     Locale, Latin1, Unicode, UnicodeNetworkOrder,
00802     UnicodeReverse, RawUnicode, TextStreamUTF8
00803   };
00804 
00805   enum NetState {
00806     StWaiting = 0,
00807     StInProgress,
00808     StDone,
00809     StFailed,
00810     StStopped
00811   };
00812 
00813   enum NetOperation {
00814     OpListChildren = 1,
00815     OpMkDir = 2,
00816     OpMkdir = OpMkDir,
00817     OpRemove = 4,
00818     OpRename = 8,
00819     OpGet = 32,
00820     OpPut = 64
00821   };
00822 
00823   enum NetConnectionState {
00824     ConHostFound,
00825     ConConnected,
00826     ConClosed
00827   };
00828 
00829   enum NetError {
00830     // no error
00831     NoError = 0,
00832     // general errors
00833     ErrValid,
00834     ErrUnknownProtocol,
00835     ErrUnsupported,
00836     ErrParse,
00837     // errors on connect
00838     ErrLoginIncorrect,
00839     ErrHostNotFound,
00840     // protocol errors
00841     ErrListChildren,
00842     ErrListChlidren = ErrListChildren,
00843     ErrMkDir,
00844     ErrMkdir = ErrMkDir,
00845     ErrRemove,
00846     ErrRename,
00847     ErrGet,
00848     ErrPut,
00849     ErrFileNotExisting,
00850     ErrPermissionDenied
00851   };
00852 
00853   enum DockPlace {
00854     InDock,
00855     OutsideDock
00856   };
00857 
00858   enum DockCloseMode {
00859     Never = 0,
00860     Docked = 1,
00861     Undocked = 2,
00862     Always = Docked | Undocked
00863   };
00864 
00865   enum DockHandlePosition {
00866     Normal, Reverse
00867   };
00868 
00869   enum DockWindows {
00870     OnlyToolBars,
00871     NoToolBars,
00872     AllDockWindows
00873   };
00874 
00875   enum Dock {
00876     DockUnmanaged,
00877     DockTornOff,
00878     DockTop,
00879     DockBottom,
00880     DockRight,
00881     DockLeft,
00882     DockMinimized,
00883     Unmanaged = DockUnmanaged,
00884     TornOff = DockTornOff,
00885     Top = DockTop,
00886     Bottom = DockBottom,
00887     Right = DockRight,
00888     Left = DockLeft,
00889     Minimized = DockMinimized
00890   };
00891 
00892   enum IconSetSize {
00893     IconSetAutomatic,
00894     IconSetSmall,
00895     IconSetLarge
00896   };
00897 
00898   enum IconSetMode {
00899     IconSetNormal,
00900     IconSetDisabled,
00901     IconSetActive
00902   };
00903 
00904   enum IconSetState {
00905     IconSetOn,
00906     IconSetOff
00907   };
00908 
00909   enum ToolButtonTextPosition {
00910     BesideIcon,
00911     BelowIcon,
00912     ToolButtonRight = BesideIcon,
00913     ToolButtonUnder = BelowIcon
00914   };
00915 
00916   enum Corner {
00917     TopLeft     = 0x00000,
00918     TopRight    = 0x00001,
00919     BottomLeft  = 0x00002,
00920     BottomRight = 0x00003
00921   };
00922 
00923   enum HttpState {
00924     HttpUnconnected,
00925     HttpHostLookup,
00926     HttpConnecting,
00927     HttpSending,
00928     HttpReading,
00929     HttpConnected,
00930     HttpClosing
00931   };
00932 
00933   enum HttpError {
00934     HttpNoError,
00935     HttpUnknownError,
00936     HttpHostNotFound,
00937     HttpConnectionRefused,
00938     HttpUnexpectedClose,
00939     HttpInvalidResponseHeader,
00940     HttpWrongContentLength,
00941     HttpAborted
00942   };
00943 
00944   enum CanvasRttiValues {
00945     CanvasRtti_Item = 0,
00946     CanvasRtti_Sprite = 1,
00947     CanvasRtti_PolygonalItem = 2,
00948     CanvasRtti_Text = 3,
00949     CanvasRtti_Polygon = 4,
00950     CanvasRtti_Rectangle = 5,
00951     CanvasRtti_Ellipse = 6,
00952     CanvasRtti_Line = 7,
00953     CanvasRtti_Spline = 8
00954   };
00955 
00956   enum CanvasFrameAnimationType {
00957     CanvasCycle,
00958     CanvasOscillate
00959   };
00960 
00961   enum RenderReportFlags {
00962     Append        = 0x00000001,
00963     Display       = 0x00000002,
00964     PageBreak     = 0x00000004,
00965     FillRecords   = 0x00000008
00966   };
00967 
00968   enum AQReportsMsgType {
00969     AQErrorMsg,
00970     AQLogMsg,
00971     AQSysMsg
00972   };
00973 
00974   enum SplitterResizeMode {
00975     SplitterStretch,
00976     SplitterKeepSize,
00977     SplitterFollowSizeHint,
00978     SplitterAuto
00979   };
00980 
00981   enum PermissionSpec {
00982     ReadOwner = 00400,
00983     WriteOwner = 00200,
00984     ExeOwner = 00100,
00985     ReadGroup = 00040,
00986     WriteGroup = 00020,
00987     ExeGroup = 00010,
00988     ReadOther = 00004,
00989     WriteOther = 00002,
00990     ExeOther = 00001
00991   };
00992 
00993   enum FilterSpec {
00994     Dirs         = 0x001,
00995     Files        = 0x002,
00996     Drives       = 0x004,
00997     NoSymLinks   = 0x008,
00998     All          = 0x007,
00999     TypeMask     = 0x00F,
01000     Readable     = 0x010,
01001     Writable     = 0x020,
01002     Executable   = 0x040,
01003     RWEMask      = 0x070,
01004     Modified     = 0x080,
01005     Hidden       = 0x100,
01006     System       = 0x200,
01007     AccessMask   = 0x3F0,
01008     DefaultFilter = -1
01009   };
01010 
01011   enum SortSpec   {
01012     Name         = 0x00,
01013     Time         = 0x01,
01014     Size         = 0x02,
01015     Unsorted     = 0x03,
01016     SortByMask   = 0x03,
01017     DirsFirst    = 0x04,
01018     Reversed     = 0x08,
01019     IgnoreCase   = 0x10,
01020     LocaleAwar   = 0x20,
01021     DefaultSort  = -1
01022   };
01023 
01024   enum Communication {
01025     Stdin = 0x01,
01026     Stdout = 0x02,
01027     Stderr = 0x04,
01028     DupStderr = 0x08
01029   };
01030 
01031   enum SizePolicy_Internal {
01032     HSize = 6,
01033     HMask = 0x3f,
01034     VMask = HMask << HSize,
01035     MayGrow = 1,
01036     ExpMask = 2,
01037     MayShrink = 4
01038   };
01039 
01040   enum SizeType {
01041     Fixed = 0,
01042     Minimum = MayGrow,
01043     Maximum = MayShrink,
01044     Preferred = MayGrow | MayShrink,
01045     MinimumExpanding = MayGrow | ExpMask,
01046     Expanding = MayGrow | MayShrink | ExpMask,
01047     Ignored = ExpMask
01048   };
01049 
01050   enum ZipStatus {
01051     ZipNoError,
01052     ZipFileWriteError,
01053     ZipFileOpenError,
01054     ZipFilePermissionsError,
01055     ZipFileError
01056   };
01057 
01058   enum ZipCompressionPolicy {
01059     ZipAlwaysCompress,
01060     ZipNeverCompress,
01061     ZipAutoCompress
01062   };
01063 
01064   enum OdsStyleFlags {
01065     ODS_NONE           = 0,
01066     ODS_BORDER_BOTTOM  = (1 <<  0),
01067     ODS_BORDER_LEFT    = (1 <<  1),
01068     ODS_BORDER_RIGHT   = (1 <<  2),
01069     ODS_BORDER_TOP     = (1 <<  3),
01070     ODS_ALIGN_LEFT     = (1 <<  4),
01071     ODS_ALIGN_CENTER   = (1 <<  5),
01072     ODS_ALIGN_RIGHT    = (1 <<  6),
01073     ODS_TEXT_BOLD      = (1 <<  7),
01074     ODS_TEXT_ITALIC    = (1 <<  8),
01075     ODS_TEXT_UNDERLINE = (1 <<  9),
01076   };
01077 
01078   enum ClassFlags {
01079     AllClasses,
01080     GlobalClasses
01081   };
01082 
01083   enum FunctionFlags {
01084     FunctionNames = 0,
01085     FunctionSignatures = 1,
01086     IncludeMemberFunctions = 2
01087   };
01088 
01089 
01090   AQS() : QObject(0, "aqs_namespace"), objectsCount_(0) {
01091     AQS_IF_DEBUG(printf("Global AQS Namespace created\n"));
01092   }
01093 
01094   ~AQS() {
01095     AQS_IF_DEBUG(printf("Global AQS Namespace destroyed\nAQS Objects count %d\n", objectsCount_));
01096   }
01097 
01098   int NoButton() const {
01099     return 0x0000;
01100   }
01101   int LeftButton() const {
01102     return 0x0001;
01103   }
01104   int RightButton() const {
01105     return 0x0002;
01106   }
01107   int MidButton() const {
01108     return 0x0004;
01109   }
01110   int MouseButtonMask() const {
01111     return 0x00ff;
01112   }
01113   int ShiftButton() const {
01114     return 0x0100;
01115   }
01116   int ControlButton() const {
01117     return 0x0200;
01118   }
01119   int AltButton() const {
01120     return 0x0400;
01121   }
01122   int MetaButton() const {
01123     return 0x0800;
01124   }
01125   int KeyButtonMask() const {
01126     return 0x0fff;
01127   }
01128   int Horizontal() const {
01129     return 0;
01130   }
01131   int AlignAuto() const {
01132     return 0x0000;
01133   }
01134   int AlignLeft() const {
01135     return 0x0001;
01136   }
01137   int AlignRight() const {
01138     return 0x0002;
01139   }
01140   int AlignHCenter() const {
01141     return 0x0004;
01142   }
01143   int AlignJustify() const {
01144     return 0x0008;
01145   }
01146   int AlignHorizontal_Mask() const {
01147     return AlignLeft();
01148   }
01149   int AlignTop() const {
01150     return 0x0010;
01151   }
01152   int AlignBottom() const {
01153     return 0x0020;
01154   }
01155   int AlignVCenter() const {
01156     return 0x0040;
01157   }
01158   int AlignVertical_Mask() const {
01159     return AlignTop();
01160   }
01161   int SingleLine() const {
01162     return 0x0080;
01163   }
01164   int DontClip() const {
01165     return 0x0100;
01166   }
01167   int ExpandTabs() const {
01168     return 0x0200;
01169   }
01170   int ShowPrefix() const {
01171     return 0x0400;
01172   }
01173   int WordBreak() const {
01174     return 0x0800;
01175   }
01176   int BreakAnywhere() const {
01177     return 0x1000;
01178   }
01179   int DontPrint() const {
01180     return 0x2000;
01181   }
01182   int WState_Created() const {
01183     return 0x00000001;
01184   }
01185   int WState_Disabled() const {
01186     return 0x00000002;
01187   }
01188   int WState_Visible() const {
01189     return 0x00000004;
01190   }
01191   int WState_ForceHide() const {
01192     return 0x00000008;
01193   }
01194   int WState_OwnCursor() const {
01195     return 0x00000010;
01196   }
01197   int WState_MouseTracking() const {
01198     return 0x00000020;
01199   }
01200   int WState_CompressKeys() const {
01201     return 0x00000040;
01202   }
01203   int WState_BlockUpdates() const {
01204     return 0x00000080;
01205   }
01206   int WState_InPaintEvent() const {
01207     return 0x00000100;
01208   }
01209   int WState_Reparented() const {
01210     return 0x00000200;
01211   }
01212   int WState_ConfigPending() const {
01213     return 0x00000400;
01214   }
01215   int WState_Resized() const {
01216     return 0x00000800;
01217   }
01218   int WState_AutoMask() const {
01219     return 0x00001000;
01220   }
01221   int WState_Polished() const {
01222     return 0x00002000;
01223   }
01224   int WState_DND() const {
01225     return 0x00004000;
01226   }
01227   int WState_Reserved0() const {
01228     return 0x00008000;
01229   }
01230   int WState_Reserved1() const {
01231     return 0x00010000;
01232   }
01233   int WState_Reserved2() const {
01234     return 0x00020000;
01235   }
01236   int WState_Reserved3() const {
01237     return 0x00040000;
01238   }
01239   int WState_Maximized() const {
01240     return 0x00080000;
01241   }
01242   int WState_Minimized() const {
01243     return 0x00100000;
01244   }
01245   int WState_ForceDisabled() const {
01246     return 0x00200000;
01247   }
01248   int WState_Exposed() const {
01249     return 0x00400000;
01250   }
01251   int WType_TopLevel() const {
01252     return 0x00000001;
01253   }
01254   int WType_Dialog() const {
01255     return 0x00000002;
01256   }
01257   int WType_Popup() const {
01258     return 0x00000004;
01259   }
01260   int WType_Desktop() const {
01261     return 0x00000008;
01262   }
01263   int WType_Mask() const {
01264     return 0x0000000f;
01265   }
01266   int WStyle_Customize() const {
01267     return 0x00000010;
01268   }
01269   int WStyle_NormalBorder() const {
01270     return 0x00000020;
01271   }
01272   int WStyle_DialogBorder() const {
01273     return 0x00000040;
01274   }
01275   int WStyle_NoBorder() const {
01276     return 0x00002000;
01277   }
01278   int WStyle_Title() const {
01279     return 0x00000080;
01280   }
01281   int WStyle_SysMenu() const {
01282     return 0x00000100;
01283   }
01284   int WStyle_Minimize() const {
01285     return 0x00000200;
01286   }
01287   int WStyle_Maximize() const {
01288     return 0x00000400;
01289   }
01290   int WStyle_MinMax() const {
01291     return WStyle_Minimize();
01292   }
01293   int WStyle_Tool() const {
01294     return 0x00000800;
01295   }
01296   int WStyle_StaysOnTop() const {
01297     return 0x00001000;
01298   }
01299   int WStyle_ContextHelp() const {
01300     return 0x00004000;
01301   }
01302   int WStyle_Reserved() const {
01303     return 0x00008000;
01304   }
01305   int WStyle_Mask() const {
01306     return 0x0000fff0;
01307   }
01308   int WDestructiveClose() const {
01309     return 0x00010000;
01310   }
01311   int WPaintDesktop() const {
01312     return 0x00020000;
01313   }
01314   int WPaintUnclipped() const {
01315     return 0x00040000;
01316   }
01317   int WPaintClever() const {
01318     return 0x00080000;
01319   }
01320   int WResizeNoErase() const {
01321     return 0x00100000;
01322   }
01323   int WMouseNoMask() const {
01324     return 0x00200000;
01325   }
01326   int WStaticContents() const {
01327     return 0x00400000;
01328   }
01329   int WRepaintNoErase() const {
01330     return 0x00800000;
01331   }
01332   int WWinOwnDC() const {
01333     return 0x00000000;
01334   }
01335   int WShowModal() const {
01336     return 0x04000000;
01337   }
01338   int WNoMousePropagation() const {
01339     return 0x08000000;
01340   }
01341   int WSubWindow() const {
01342     return 0x10000000;
01343   }
01344   int WNorthWestGravity() const {
01345     return WStaticContents();
01346   }
01347   int WType_Modal() const {
01348     return WType_Dialog();
01349   }
01350   int WStyle_Dialog() const {
01351     return WType_Dialog();
01352   }
01353   int ColorMode_Mask() const {
01354     return 0x00000003;
01355   }
01356   int AutoColor() const {
01357     return 0x00000000;
01358   }
01359   int ColorOnly() const {
01360     return 0x00000003;
01361   }
01362   int MonoOnly() const {
01363     return 0x00000002;
01364   }
01365   int AlphaDither_Mask() const {
01366     return 0x0000000c;
01367   }
01368   int ThresholdAlphaDither() const {
01369     return 0x00000000;
01370   }
01371   int OrderedAlphaDither() const {
01372     return 0x00000004;
01373   }
01374   int DiffuseAlphaDither() const {
01375     return 0x00000008;
01376   }
01377   int NoAlpha() const {
01378     return 0x0000000c;
01379   }
01380   int Dither_Mask() const {
01381     return 0x00000030;
01382   }
01383   int DiffuseDither() const {
01384     return 0x00000000;
01385   }
01386   int OrderedDither() const {
01387     return 0x00000010;
01388   }
01389   int ThresholdDither() const {
01390     return 0x00000020;
01391   }
01392   int DitherMode_Mask() const {
01393     return 0x000000c0;
01394   }
01395   int AutoDither() const {
01396     return 0x00000000;
01397   }
01398   int PreferDither() const {
01399     return 0x00000040;
01400   }
01401   int TransparentMode() const {
01402     return 0;
01403   }
01404   int PixelUnit() const {
01405     return 0;
01406   }
01407   int LoMetricUnit() const {
01408     return 1;
01409   }
01410   int HiMetricUnit() const {
01411     return 2;
01412   }
01413   int LoEnglishUnit() const {
01414     return 3;
01415   }
01416   int HiEnglishUnit() const {
01417     return 4;
01418   }
01419   int WindowsStyle() const {
01420     return 1;
01421   }
01422   int MacStyle() const {
01423     return 0;
01424   }
01425   int Win3Style() const {
01426     return 1;
01427   }
01428   int PMStyle() const {
01429     return 2;
01430   }
01431   int SHIFT() const {
01432     return 0x00200000;
01433   }
01434   int CTRL() const {
01435     return 0x00400000;
01436   }
01437   int ALT() const {
01438     return 0x00800000;
01439   }
01440   int MODIFIER_MASK() const {
01441     return 0x00e00000;
01442   }
01443   int UNICODE_ACCEL() const {
01444     return 0x10000000;
01445   }
01446   int Key_Escape() const {
01447     return 0x1000;
01448   }
01449   int Key_Tab() const {
01450     return 0x1001;
01451   }
01452   int Key_Backtab() const {
01453     return 0x1002;
01454   }
01455   int Key_BackTab() const {
01456     return Key_Backtab();
01457   }
01458   int Key_Backspace() const {
01459     return 0x1003;
01460   }
01461   int Key_BackSpace() const {
01462     return Key_Backspace();
01463   }
01464   int Key_Return() const {
01465     return 0x1004;
01466   }
01467   int Key_Enter() const {
01468     return 0x1005;
01469   }
01470   int Key_Insert() const {
01471     return 0x1006;
01472   }
01473   int Key_Delete() const {
01474     return 0x1007;
01475   }
01476   int Key_Pause() const {
01477     return 0x1008;
01478   }
01479   int Key_Print() const {
01480     return 0x1009;
01481   }
01482   int Key_SysReq() const {
01483     return 0x100a;
01484   }
01485   int Key_Home() const {
01486     return 0x1010;
01487   }
01488   int Key_End() const {
01489     return 0x1011;
01490   }
01491   int Key_Left() const {
01492     return 0x1012;
01493   }
01494   int Key_Up() const {
01495     return 0x1013;
01496   }
01497   int Key_Right() const {
01498     return 0x1014;
01499   }
01500   int Key_Down() const {
01501     return 0x1015;
01502   }
01503   int Key_Prior() const {
01504     return 0x1016;
01505   }
01506   int Key_PageUp() const {
01507     return Key_Prior();
01508   }
01509   int Key_Next() const {
01510     return 0x1017;
01511   }
01512   int Key_PageDown() const {
01513     return Key_Next();
01514   }
01515   int Key_Shift() const {
01516     return 0x1020;
01517   }
01518   int Key_Control() const {
01519     return 0x1021;
01520   }
01521   int Key_Meta() const {
01522     return 0x1022;
01523   }
01524   int Key_Alt() const {
01525     return 0x1023;
01526   }
01527   int Key_CapsLock() const {
01528     return 0x1024;
01529   }
01530   int Key_NumLock() const {
01531     return 0x1025;
01532   }
01533   int Key_ScrollLock() const {
01534     return 0x1026;
01535   }
01536   int Key_F1() const {
01537     return 0x1030;
01538   }
01539   int Key_F2() const {
01540     return 0x1031;
01541   }
01542   int Key_F3() const {
01543     return 0x1032;
01544   }
01545   int Key_F4() const {
01546     return 0x1033;
01547   }
01548   int Key_F5() const {
01549     return 0x1034;
01550   }
01551   int Key_F6() const {
01552     return 0x1035;
01553   }
01554   int Key_F7() const {
01555     return 0x1036;
01556   }
01557   int Key_F8() const {
01558     return 0x1037;
01559   }
01560   int Key_F9() const {
01561     return 0x1038;
01562   }
01563   int Key_F10() const {
01564     return 0x1039;
01565   }
01566   int Key_F11() const {
01567     return 0x103a;
01568   }
01569   int Key_F12() const {
01570     return 0x103b;
01571   }
01572   int Key_F13() const {
01573     return 0x103c;
01574   }
01575   int Key_F14() const {
01576     return 0x103d;
01577   }
01578   int Key_F15() const {
01579     return 0x103e;
01580   }
01581   int Key_F16() const {
01582     return 0x103f;
01583   }
01584   int Key_F17() const {
01585     return 0x1040;
01586   }
01587   int Key_F18() const {
01588     return 0x1041;
01589   }
01590   int Key_F19() const {
01591     return 0x1042;
01592   }
01593   int Key_F20() const {
01594     return 0x1043;
01595   }
01596   int Key_F21() const {
01597     return 0x1044;
01598   }
01599   int Key_F22() const {
01600     return 0x1045;
01601   }
01602   int Key_F23() const {
01603     return 0x1046;
01604   }
01605   int Key_F24() const {
01606     return 0x1047;
01607   }
01608   int Key_F25() const {
01609     return 0x1048;
01610   }
01611   int Key_F26() const {
01612     return 0x1049;
01613   }
01614   int Key_F27() const {
01615     return 0x104a;
01616   }
01617   int Key_F28() const {
01618     return 0x104b;
01619   }
01620   int Key_F29() const {
01621     return 0x104c;
01622   }
01623   int Key_F30() const {
01624     return 0x104d;
01625   }
01626   int Key_F31() const {
01627     return 0x104e;
01628   }
01629   int Key_F32() const {
01630     return 0x104f;
01631   }
01632   int Key_F33() const {
01633     return 0x1050;
01634   }
01635   int Key_F34() const {
01636     return 0x1051;
01637   }
01638   int Key_F35() const {
01639     return 0x1052;
01640   }
01641   int Key_Super_L() const {
01642     return 0x1053;
01643   }
01644   int Key_Super_R() const {
01645     return 0x1054;
01646   }
01647   int Key_Menu() const {
01648     return 0x1055;
01649   }
01650   int Key_Hyper_L() const {
01651     return 0x1056;
01652   }
01653   int Key_Hyper_R() const {
01654     return 0x1057;
01655   }
01656   int Key_Help() const {
01657     return 0x1058;
01658   }
01659   int Key_Direction_L() const {
01660     return 0x1059;
01661   }
01662   int Key_Direction_R() const {
01663     return 0x1060;
01664   }
01665   int Key_Space() const {
01666     return 0x20;
01667   }
01668   int Key_Any() const {
01669     return Key_Space();
01670   }
01671   int Key_Exclam() const {
01672     return 0x21;
01673   }
01674   int Key_QuoteDbl() const {
01675     return 0x22;
01676   }
01677   int Key_NumberSign() const {
01678     return 0x23;
01679   }
01680   int Key_Dollar() const {
01681     return 0x24;
01682   }
01683   int Key_Percent() const {
01684     return 0x25;
01685   }
01686   int Key_Ampersand() const {
01687     return 0x26;
01688   }
01689   int Key_Apostrophe() const {
01690     return 0x27;
01691   }
01692   int Key_ParenLeft() const {
01693     return 0x28;
01694   }
01695   int Key_ParenRight() const {
01696     return 0x29;
01697   }
01698   int Key_Asterisk() const {
01699     return 0x2a;
01700   }
01701   int Key_Plus() const {
01702     return 0x2b;
01703   }
01704   int Key_Comma() const {
01705     return 0x2c;
01706   }
01707   int Key_Minus() const {
01708     return 0x2d;
01709   }
01710   int Key_Period() const {
01711     return 0x2e;
01712   }
01713   int Key_Slash() const {
01714     return 0x2f;
01715   }
01716   int Key_0() const {
01717     return 0x30;
01718   }
01719   int Key_1() const {
01720     return 0x31;
01721   }
01722   int Key_2() const {
01723     return 0x32;
01724   }
01725   int Key_3() const {
01726     return 0x33;
01727   }
01728   int Key_4() const {
01729     return 0x34;
01730   }
01731   int Key_5() const {
01732     return 0x35;
01733   }
01734   int Key_6() const {
01735     return 0x36;
01736   }
01737   int Key_7() const {
01738     return 0x37;
01739   }
01740   int Key_8() const {
01741     return 0x38;
01742   }
01743   int Key_9() const {
01744     return 0x39;
01745   }
01746   int Key_Colon() const {
01747     return 0x3a;
01748   }
01749   int Key_Semicolon() const {
01750     return 0x3b;
01751   }
01752   int Key_Less() const {
01753     return 0x3c;
01754   }
01755   int Key_Equal() const {
01756     return 0x3d;
01757   }
01758   int Key_Greater() const {
01759     return 0x3e;
01760   }
01761   int Key_Question() const {
01762     return 0x3f;
01763   }
01764   int Key_At() const {
01765     return 0x40;
01766   }
01767   int Key_A() const {
01768     return 0x41;
01769   }
01770   int Key_B() const {
01771     return 0x42;
01772   }
01773   int Key_C() const {
01774     return 0x43;
01775   }
01776   int Key_D() const {
01777     return 0x44;
01778   }
01779   int Key_E() const {
01780     return 0x45;
01781   }
01782   int Key_F() const {
01783     return 0x46;
01784   }
01785   int Key_G() const {
01786     return 0x47;
01787   }
01788   int Key_H() const {
01789     return 0x48;
01790   }
01791   int Key_I() const {
01792     return 0x49;
01793   }
01794   int Key_J() const {
01795     return 0x4a;
01796   }
01797   int Key_K() const {
01798     return 0x4b;
01799   }
01800   int Key_L() const {
01801     return 0x4c;
01802   }
01803   int Key_M() const {
01804     return 0x4d;
01805   }
01806   int Key_N() const {
01807     return 0x4e;
01808   }
01809   int Key_O() const {
01810     return 0x4f;
01811   }
01812   int Key_P() const {
01813     return 0x50;
01814   }
01815   int Key_Q() const {
01816     return 0x51;
01817   }
01818   int Key_R() const {
01819     return 0x52;
01820   }
01821   int Key_S() const {
01822     return 0x53;
01823   }
01824   int Key_T() const {
01825     return 0x54;
01826   }
01827   int Key_U() const {
01828     return 0x55;
01829   }
01830   int Key_V() const {
01831     return 0x56;
01832   }
01833   int Key_W() const {
01834     return 0x57;
01835   }
01836   int Key_X() const {
01837     return 0x58;
01838   }
01839   int Key_Y() const {
01840     return 0x59;
01841   }
01842   int Key_Z() const {
01843     return 0x5a;
01844   }
01845   int Key_BracketLeft() const {
01846     return 0x5b;
01847   }
01848   int Key_Backslash() const {
01849     return 0x5c;
01850   }
01851   int Key_BracketRight() const {
01852     return 0x5d;
01853   }
01854   int Key_AsciiCircum() const {
01855     return 0x5e;
01856   }
01857   int Key_Underscore() const {
01858     return 0x5f;
01859   }
01860   int Key_QuoteLeft() const {
01861     return 0x60;
01862   }
01863   int Key_BraceLeft() const {
01864     return 0x7b;
01865   }
01866   int Key_Bar() const {
01867     return 0x7c;
01868   }
01869   int Key_BraceRight() const {
01870     return 0x7d;
01871   }
01872   int Key_AsciiTilde() const {
01873     return 0x7e;
01874   }
01875   int Key_nobreakspace() const {
01876     return 0x0a0;
01877   }
01878   int Key_exclamdown() const {
01879     return 0x0a1;
01880   }
01881   int Key_cent() const {
01882     return 0x0a2;
01883   }
01884   int Key_sterling() const {
01885     return 0x0a3;
01886   }
01887   int Key_currency() const {
01888     return 0x0a4;
01889   }
01890   int Key_yen() const {
01891     return 0x0a5;
01892   }
01893   int Key_brokenbar() const {
01894     return 0x0a6;
01895   }
01896   int Key_section() const {
01897     return 0x0a7;
01898   }
01899   int Key_diaeresis() const {
01900     return 0x0a8;
01901   }
01902   int Key_copyright() const {
01903     return 0x0a9;
01904   }
01905   int Key_ordfeminine() const {
01906     return 0x0aa;
01907   }
01908   int Key_guillemotleft() const {
01909     return 0x0ab;
01910   }
01911   int Key_notsign() const {
01912     return 0x0ac;
01913   }
01914   int Key_hyphen() const {
01915     return 0x0ad;
01916   }
01917   int Key_registered() const {
01918     return 0x0ae;
01919   }
01920   int Key_macron() const {
01921     return 0x0af;
01922   }
01923   int Key_degree() const {
01924     return 0x0b0;
01925   }
01926   int Key_plusminus() const {
01927     return 0x0b1;
01928   }
01929   int Key_twosuperior() const {
01930     return 0x0b2;
01931   }
01932   int Key_threesuperior() const {
01933     return 0x0b3;
01934   }
01935   int Key_acute() const {
01936     return 0x0b4;
01937   }
01938   int Key_mu() const {
01939     return 0x0b5;
01940   }
01941   int Key_paragraph() const {
01942     return 0x0b6;
01943   }
01944   int Key_periodcentered() const {
01945     return 0x0b7;
01946   }
01947   int Key_cedilla() const {
01948     return 0x0b8;
01949   }
01950   int Key_onesuperior() const {
01951     return 0x0b9;
01952   }
01953   int Key_masculine() const {
01954     return 0x0ba;
01955   }
01956   int Key_guillemotright() const {
01957     return 0x0bb;
01958   }
01959   int Key_onequarter() const {
01960     return 0x0bc;
01961   }
01962   int Key_onehalf() const {
01963     return 0x0bd;
01964   }
01965   int Key_threequarters() const {
01966     return 0x0be;
01967   }
01968   int Key_questiondown() const {
01969     return 0x0bf;
01970   }
01971   int Key_Agrave() const {
01972     return 0x0c0;
01973   }
01974   int Key_Aacute() const {
01975     return 0x0c1;
01976   }
01977   int Key_Acircumflex() const {
01978     return 0x0c2;
01979   }
01980   int Key_Atilde() const {
01981     return 0x0c3;
01982   }
01983   int Key_Adiaeresis() const {
01984     return 0x0c4;
01985   }
01986   int Key_Aring() const {
01987     return 0x0c5;
01988   }
01989   int Key_AE() const {
01990     return 0x0c6;
01991   }
01992   int Key_Ccedilla() const {
01993     return 0x0c7;
01994   }
01995   int Key_Egrave() const {
01996     return 0x0c8;
01997   }
01998   int Key_Eacute() const {
01999     return 0x0c9;
02000   }
02001   int Key_Ecircumflex() const {
02002     return 0x0ca;
02003   }
02004   int Key_Ediaeresis() const {
02005     return 0x0cb;
02006   }
02007   int Key_Igrave() const {
02008     return 0x0cc;
02009   }
02010   int Key_Iacute() const {
02011     return 0x0cd;
02012   }
02013   int Key_Icircumflex() const {
02014     return 0x0ce;
02015   }
02016   int Key_Idiaeresis() const {
02017     return 0x0cf;
02018   }
02019   int Key_ETH() const {
02020     return 0x0d0;
02021   }
02022   int Key_Ntilde() const {
02023     return 0x0d1;
02024   }
02025   int Key_Ograve() const {
02026     return 0x0d2;
02027   }
02028   int Key_Oacute() const {
02029     return 0x0d3;
02030   }
02031   int Key_Ocircumflex() const {
02032     return 0x0d4;
02033   }
02034   int Key_Otilde() const {
02035     return 0x0d5;
02036   }
02037   int Key_Odiaeresis() const {
02038     return 0x0d6;
02039   }
02040   int Key_multiply() const {
02041     return 0x0d7;
02042   }
02043   int Key_Ooblique() const {
02044     return 0x0d8;
02045   }
02046   int Key_Ugrave() const {
02047     return 0x0d9;
02048   }
02049   int Key_Uacute() const {
02050     return 0x0da;
02051   }
02052   int Key_Ucircumflex() const {
02053     return 0x0db;
02054   }
02055   int Key_Udiaeresis() const {
02056     return 0x0dc;
02057   }
02058   int Key_Yacute() const {
02059     return 0x0dd;
02060   }
02061   int Key_THORN() const {
02062     return 0x0de;
02063   }
02064   int Key_ssharp() const {
02065     return 0x0df;
02066   }
02067   int Key_agrave() const {
02068     return 0x0e0;
02069   }
02070   int Key_aacute() const {
02071     return 0x0e1;
02072   }
02073   int Key_acircumflex() const {
02074     return 0x0e2;
02075   }
02076   int Key_atilde() const {
02077     return 0x0e3;
02078   }
02079   int Key_adiaeresis() const {
02080     return 0x0e4;
02081   }
02082   int Key_aring() const {
02083     return 0x0e5;
02084   }
02085   int Key_ae() const {
02086     return 0x0e6;
02087   }
02088   int Key_ccedilla() const {
02089     return 0x0e7;
02090   }
02091   int Key_egrave() const {
02092     return 0x0e8;
02093   }
02094   int Key_eacute() const {
02095     return 0x0e9;
02096   }
02097   int Key_ecircumflex() const {
02098     return 0x0ea;
02099   }
02100   int Key_ediaeresis() const {
02101     return 0x0eb;
02102   }
02103   int Key_igrave() const {
02104     return 0x0ec;
02105   }
02106   int Key_iacute() const {
02107     return 0x0ed;
02108   }
02109   int Key_icircumflex() const {
02110     return 0x0ee;
02111   }
02112   int Key_idiaeresis() const {
02113     return 0x0ef;
02114   }
02115   int Key_eth() const {
02116     return 0x0f0;
02117   }
02118   int Key_ntilde() const {
02119     return 0x0f1;
02120   }
02121   int Key_ograve() const {
02122     return 0x0f2;
02123   }
02124   int Key_oacute() const {
02125     return 0x0f3;
02126   }
02127   int Key_ocircumflex() const {
02128     return 0x0f4;
02129   }
02130   int Key_otilde() const {
02131     return 0x0f5;
02132   }
02133   int Key_odiaeresis() const {
02134     return 0x0f6;
02135   }
02136   int Key_division() const {
02137     return 0x0f7;
02138   }
02139   int Key_oslash() const {
02140     return 0x0f8;
02141   }
02142   int Key_ugrave() const {
02143     return 0x0f9;
02144   }
02145   int Key_uacute() const {
02146     return 0x0fa;
02147   }
02148   int Key_ucircumflex() const {
02149     return 0x0fb;
02150   }
02151   int Key_udiaeresis() const {
02152     return 0x0fc;
02153   }
02154   int Key_yacute() const {
02155     return 0x0fd;
02156   }
02157   int Key_thorn() const {
02158     return 0x0fe;
02159   }
02160   int Key_ydiaeresis() const {
02161     return 0x0ff;
02162   }
02163   int Key_Back() const {
02164     return 0x1061;
02165   }
02166   int Key_Forward() const {
02167     return 0x1062;
02168   }
02169   int Key_Stop() const {
02170     return 0x1063;
02171   }
02172   int Key_Refresh() const {
02173     return 0x1064;
02174   }
02175   int Key_VolumeDown() const {
02176     return 0x1070;
02177   }
02178   int Key_VolumeMute() const {
02179     return 0x1071;
02180   }
02181   int Key_VolumeUp() const {
02182     return 0x1072;
02183   }
02184   int Key_BassBoost() const {
02185     return 0x1073;
02186   }
02187   int Key_BassUp() const {
02188     return 0x1074;
02189   }
02190   int Key_BassDown() const {
02191     return 0x1075;
02192   }
02193   int Key_TrebleUp() const {
02194     return 0x1076;
02195   }
02196   int Key_TrebleDown() const {
02197     return 0x1077;
02198   }
02199   int Key_MediaPlay() const {
02200     return 0x1080;
02201   }
02202   int Key_MediaStop() const {
02203     return 0x1081;
02204   }
02205   int Key_MediaPrev() const {
02206     return 0x1082;
02207   }
02208   int Key_MediaNext() const {
02209     return 0x1083;
02210   }
02211   int Key_MediaRecord() const {
02212     return 0x1084;
02213   }
02214   int Key_HomePage() const {
02215     return 0x1090;
02216   }
02217   int Key_Favorites() const {
02218     return 0x1091;
02219   }
02220   int Key_Search() const {
02221     return 0x1092;
02222   }
02223   int Key_Standby() const {
02224     return 0x1093;
02225   }
02226   int Key_OpenUrl() const {
02227     return 0x1094;
02228   }
02229   int Key_LaunchMail() const {
02230     return 0x10a0;
02231   }
02232   int Key_LaunchMedia() const {
02233     return 0x10a1;
02234   }
02235   int Key_Launch0() const {
02236     return 0x10a2;
02237   }
02238   int Key_Launch1() const {
02239     return 0x10a3;
02240   }
02241   int Key_Launch2() const {
02242     return 0x10a4;
02243   }
02244   int Key_Launch3() const {
02245     return 0x10a5;
02246   }
02247   int Key_Launch4() const {
02248     return 0x10a6;
02249   }
02250   int Key_Launch5() const {
02251     return 0x10a7;
02252   }
02253   int Key_Launch6() const {
02254     return 0x10a8;
02255   }
02256   int Key_Launch7() const {
02257     return 0x10a9;
02258   }
02259   int Key_Launch8() const {
02260     return 0x10aa;
02261   }
02262   int Key_Launch9() const {
02263     return 0x10ab;
02264   }
02265   int Key_LaunchA() const {
02266     return 0x10ac;
02267   }
02268   int Key_LaunchB() const {
02269     return 0x10ad;
02270   }
02271   int Key_LaunchC() const {
02272     return 0x10ae;
02273   }
02274   int Key_LaunchD() const {
02275     return 0x10af;
02276   }
02277   int Key_LaunchE() const {
02278     return 0x10b0;
02279   }
02280   int Key_LaunchF() const {
02281     return 0x10b1;
02282   }
02283   int Key_MediaLast() const {
02284     return 0x1fff;
02285   }
02286   int UpArrow() const {
02287     return 0;
02288   }
02289   int DownArrow() const {
02290     return 1;
02291   }
02292   int LeftArrow() const {
02293     return 2;
02294   }
02295   int CopyROP() const {
02296     return 0;
02297   }
02298   int OrROP() const {
02299     return 1;
02300   }
02301   int XorROP() const {
02302     return 2;
02303   }
02304   int NotAndROP() const {
02305     return 3;
02306   }
02307   int EraseROP() const {
02308     return NotAndROP();
02309   }
02310   int NotCopyROP() const {
02311     return 1;
02312   }
02313   int NotOrROP() const {
02314     return 2;
02315   }
02316   int NotXorROP() const {
02317     return 3;
02318   }
02319   int AndROP() const {
02320     return 4;
02321   }
02322   int NotEraseROP() const {
02323     return AndROP();
02324   }
02325   int NotROP() const {
02326     return 1;
02327   }
02328   int ClearROP() const {
02329     return 2;
02330   }
02331   int SetROP() const {
02332     return 3;
02333   }
02334   int NopROP() const {
02335     return 4;
02336   }
02337   int AndNotROP() const {
02338     return 5;
02339   }
02340   int OrNotROP() const {
02341     return 6;
02342   }
02343   int NandROP() const {
02344     return 7;
02345   }
02346   int NorROP() const {
02347     return 8;
02348   }
02349   int NoPen() const {
02350     return 0;
02351   }
02352   int SolidLine() const {
02353     return 1;
02354   }
02355   int DashLine() const {
02356     return 2;
02357   }
02358   int DotLine() const {
02359     return 3;
02360   }
02361   int DashDotLine() const {
02362     return 4;
02363   }
02364   int DashDotDotLine() const {
02365     return 5;
02366   }
02367   int FlatCap() const {
02368     return 0x00;
02369   }
02370   int SquareCap() const {
02371     return 0x10;
02372   }
02373   int RoundCap() const {
02374     return 0x20;
02375   }
02376   int MiterJoin() const {
02377     return 0x00;
02378   }
02379   int BevelJoin() const {
02380     return 0x40;
02381   }
02382   int RoundJoin() const {
02383     return 0x80;
02384   }
02385   int NoBrush() const {
02386     return 0;
02387   }
02388   int SolidPattern() const {
02389     return 1;
02390   }
02391   int Dense1Pattern() const {
02392     return 2;
02393   }
02394   int Dense2Pattern() const {
02395     return 3;
02396   }
02397   int Dense3Pattern() const {
02398     return 4;
02399   }
02400   int Dense4Pattern() const {
02401     return 5;
02402   }
02403   int Dense5Pattern() const {
02404     return 6;
02405   }
02406   int Dense6Pattern() const {
02407     return 7;
02408   }
02409   int Dense7Pattern() const {
02410     return 8;
02411   }
02412   int HorPattern() const {
02413     return 9;
02414   }
02415   int VerPattern() const {
02416     return 10;
02417   }
02418   int CrossPattern() const {
02419     return 11;
02420   }
02421   int BDiagPattern() const {
02422     return 12;
02423   }
02424   int FDiagPattern() const {
02425     return 13;
02426   }
02427   int DiagCrossPattern() const {
02428     return 14;
02429   }
02430   int WV_32s() const {
02431     return 0x0001;
02432   }
02433   int WV_95() const {
02434     return 0x0002;
02435   }
02436   int WV_98() const {
02437     return 0x0003;
02438   }
02439   int WV_Me() const {
02440     return 0x0004;
02441   }
02442   int WV_DOS_based() const {
02443     return 0x000f;
02444   }
02445   int WV_NT() const {
02446     return 0x0010;
02447   }
02448   int WV_2000() const {
02449     return 0x0020;
02450   }
02451   int WV_XP() const {
02452     return 0x0030;
02453   }
02454   int UI_General() const {
02455     return 0;
02456   }
02457   int UI_AnimateMenu() const {
02458     return 1;
02459   }
02460   int UI_FadeMenu() const {
02461     return 2;
02462   }
02463   int UI_AnimateCombo() const {
02464     return 3;
02465   }
02466   int UI_AnimateTooltip() const {
02467     return 4;
02468   }
02469   int ArrowCursor() const {
02470     return 0;
02471   }
02472   int UpArrowCursor() const {
02473     return 1;
02474   }
02475   int CrossCursor() const {
02476     return 2;
02477   }
02478   int WaitCursor() const {
02479     return 3;
02480   }
02481   int IbeamCursor() const {
02482     return 4;
02483   }
02484   int SizeVerCursor() const {
02485     return 5;
02486   }
02487   int SizeHorCursor() const {
02488     return 6;
02489   }
02490   int SizeBDiagCursor() const {
02491     return 7;
02492   }
02493   int SizeFDiagCursor() const {
02494     return 8;
02495   }
02496   int SizeAllCursor() const {
02497     return 9;
02498   }
02499   int BlankCursor() const {
02500     return 10;
02501   }
02502   int SplitVCursor() const {
02503     return 11;
02504   }
02505   int SplitHCursor() const {
02506     return 12;
02507   }
02508   int PointingHandCursor() const {
02509     return 13;
02510   }
02511   int ForbiddenCursor() const {
02512     return 14;
02513   }
02514   int WhatsThisCursor() const {
02515     return 15;
02516   }
02517   int LastCursor() const {
02518     return WhatsThisCursor();
02519   }
02520   int PlainText() const {
02521     return 0;
02522   }
02523   int RichText() const {
02524     return 1;
02525   }
02526   int TextDate() const {
02527     return 0;
02528   }
02529   int ISODate() const {
02530     return 1;
02531   }
02532   int FixedColor() const {
02533     return 0;
02534   }
02535   int FixedPixmap() const {
02536     return 1;
02537   }
02538   int NoBackground() const {
02539     return 2;
02540   }
02541   int PaletteForeground() const {
02542     return 3;
02543   }
02544   int PaletteButton() const {
02545     return 4;
02546   }
02547   int PaletteLight() const {
02548     return 5;
02549   }
02550   int PaletteMidlight() const {
02551     return 6;
02552   }
02553   int PaletteDark() const {
02554     return 7;
02555   }
02556   int PaletteMid() const {
02557     return 8;
02558   }
02559   int PaletteText() const {
02560     return 9;
02561   }
02562   int PaletteBrightText() const {
02563     return 10;
02564   }
02565   int PaletteBase() const {
02566     return 11;
02567   }
02568   int PaletteBackground() const {
02569     return 12;
02570   }
02571   int PaletteShadow() const {
02572     return 13;
02573   }
02574   int PaletteHighlight() const {
02575     return 14;
02576   }
02577   int PaletteHighlightedText() const {
02578     return 15;
02579   }
02580   int PaletteButtonText() const {
02581     return 16;
02582   }
02583   int PaletteLink() const {
02584     return 17;
02585   }
02586   int PaletteLinkVisited() const {
02587     return 18;
02588   }
02589   int CaseSensitive() const {
02590     return 0x00001;
02591   }
02592   int BeginsWith() const {
02593     return 0x00002;
02594   }
02595   int EndsWith() const {
02596     return 0x00004;
02597   }
02598   int Contains() const {
02599     return 0x00008;
02600   }
02601   int UndefinedDevice() const {
02602     return 0x00;
02603   }
02604   int Widget() const {
02605     return 0x01;
02606   }
02607   int Printer() const {
02608     return 0x03;
02609   }
02610   int Picture() const {
02611     return 0x04;
02612   }
02613   int DeviceTypeMask() const {
02614     return 0x0f;
02615   }
02616   int ExternalDevice() const {
02617     return 0x10;
02618   }
02619 
02620   int objectsCount() const {
02621     return objectsCount_;
02622   }
02623 
02624   inline AQSBaseObject *findAQSObject(void *ptr) const;
02625 
02626 public slots:
02627   QColor ColorDialog_getColor(const QColor &initial = white,
02628                               QWidget *parent = 0,
02629                               const QString &name = QString::null) {
02630     return QColorDialog::getColor(initial, parent, name);
02631   }
02632   QColor ColorDialog_getColor(QColor *initial,
02633                               QWidget *parent = 0,
02634                               const QString &name = QString::null) {
02635     return QColorDialog::getColor(*initial, parent, name);
02636   }
02637   int ColorDialog_customCount() {
02638     return QColorDialog::customCount();
02639   }
02640   QRgb ColorDialog_customColor(int i) {
02641     return QColorDialog::customColor(i);
02642   }
02643   void ColorDialog_setCustomColor(int i, QRgb c) {
02644     QColorDialog::setCustomColor(i, c);
02645   }
02646   void ColorDialog_setStandardColor(int i, QRgb c) {
02647     QColorDialog::setStandardColor(i, c);
02648   }
02649 
02650   QFont FontDialog_getFont(const QFont &initial,
02651                            QWidget *parent = 0,
02652                            const QString &name = QString::null) {
02653     QFontDialog::getFont(0, initial, parent, name);
02654   }
02655   QFont FontDialog_getFont(QWidget *parent = 0,
02656                            const QString &name = QString::null) {
02657     QFontDialog::getFont(0, parent, name);
02658   }
02659 
02660   QWidget *DragObject_target() {
02661     return QDragObject::target();
02662   }
02663 
02664   void IconSet_setIconSize(QIconSet::Size which, const QSize &size) {
02665     QIconSet::setIconSize(which, size);
02666   }
02667   const QSize &IconSet_iconSize(QIconSet::Size which) {
02668     return QIconSet::iconSize(which);
02669   }
02670 
02671   QPixmap Pixmap_fromMimeSource(const QString &abs_name) {
02672     return QPixmap::fromMimeSource(abs_name);
02673   }
02674   QPixmap Pixmap_grabWindow(WId window, int x = 0, int y = 0, int w = -1, int h = -1) {
02675     return QPixmap::grabWindow(window, x, y, w, h);
02676   }
02677   QPixmap Pixmap_grabWidget(QWidget *widget, int x = 0, int y = 0, int w = -1, int h = -1) {
02678     return QPixmap::grabWidget(widget, x, y, w, h);
02679   }
02680   QString Pixmap_imageFormat(const QString &fileName) {
02681     return QPixmap::imageFormat(fileName);
02682   }
02683 
02684   QImage Image_fromMimeSource(const QString &abs_name) {
02685     return QImage::fromMimeSource(abs_name);
02686   }
02687   uint Image_systemBitOrder() {
02688     return QImage::systemBitOrder();
02689   }
02690   uint Image_systemByteOrder() {
02691     return QImage::systemByteOrder();
02692   }
02693   QString Image_imageFormat(const QString &fileName) {
02694     return QImage::imageFormat(fileName);
02695   }
02696   QStringList Image_inputFormatList() {
02697     return QImage::inputFormatList();
02698   }
02699   QStringList Image_outputFormatList() {
02700     return QImage::outputFormatList();
02701   }
02702   void Image_bitBlt(QImage *dst, int dx, int dy, QImage *src,
02703                     int sx = 0, int sy = 0, int sw = -1, int sh = -1,
02704                     int conversion_flags = 0) {
02705     bitBlt(dst, dx, dy, src, sx, sy, sw, sh, conversion_flags);
02706   }
02707 
02708   void PaintDevice_bitBlt(QPaintDevice *dst, int dx, int dy, QPaintDevice *src,
02709                           int sx = 0, int sy = 0, int sw = -1, int sh = -1,
02710                           int rop = Qt::CopyROP, bool ignoreMask = false) {
02711     bitBlt(dst, dx, dy, src, sx, sy, sw, sh, (Qt::RasterOp)rop, ignoreMask);
02712   }
02713   void PaintDevice_bitBlt(QPaintDevice *dst, const QPoint &dp,
02714                           QPaintDevice *src, const QRect &sr = QRect(0, 0, -1, -1),
02715                           int rop = Qt::CopyROP, bool ignoreMask = false) {
02716     bitBlt(dst, dp, src, sr, (Qt::RasterOp)rop, ignoreMask);
02717   }
02718 
02719   bool ColorDrag_canDecode(QMimeSource *e) {
02720     return QColorDrag::canDecode(e);
02721   }
02722   bool ColorDrag_decode(QMimeSource *e, AQSColor *col);
02723   bool IconDrag_canDecode(QMimeSource *e) {
02724     return QIconDrag::canDecode(e);
02725   }
02726   bool ImageDrag_canDecode(QMimeSource *e) {
02727     return QImageDrag::canDecode(e);
02728   }
02729   bool ImageDrag_decode(QMimeSource *e, AQSImage *img);
02730   bool ImageDrag_decode(QMimeSource *e, AQSPixmap *pm);
02731   bool TextDrag_canDecode(QMimeSource *e) {
02732     return QTextDrag::canDecode(e);
02733   }
02734   bool TextDrag_decode(QMimeSource *e, QObject *o) {
02735     if (!o)
02736       return false;
02737     QString str;
02738     bool ret = QTextDrag::decode(e, str);
02739     o->setName(str);
02740     return ret;
02741   }
02742   bool UriDrag_canDecode(QMimeSource *e) {
02743     return QUriDrag::canDecode(e);
02744   }
02745   bool UriDrag_decodeToUnicodeUris(QMimeSource *e, QObject *o) {
02746     if (!o)
02747       return false;
02748     QStringList l;
02749     bool ret = QUriDrag::decodeToUnicodeUris(e, l);
02750     o->setName(l.join(","));
02751     return ret;
02752   }
02753   bool UriDrag_decodeLocalFiles(QMimeSource *e, QObject *o) {
02754     if (!o)
02755       return false;
02756     QStringList l;
02757     bool ret = QUriDrag::decodeLocalFiles(e, l);
02758     o->setName(l.join(","));
02759     return ret;
02760   }
02761 
02762   QTextCodec *TextCodec_loadCharmap(QIODevice *iod) {
02763     return QTextCodec::loadCharmap(iod);
02764   }
02765 
02766   QTextCodec *TextCodec_loadCharmapFile(QString filename) {
02767     return QTextCodec::loadCharmapFile(filename);
02768   }
02769 
02770   QTextCodec *TextCodec_codecForMib(int mib) {
02771     return QTextCodec::codecForMib(mib);
02772   }
02773 
02774   QTextCodec *TextCodec_codecForName(const char *name, int accuracy = 0) {
02775     return QTextCodec::codecForName(name, accuracy);
02776   }
02777 
02778   QTextCodec *TextCodec_codecForContent(const char *chars, int len) {
02779     return QTextCodec::codecForContent(chars, len);
02780   }
02781 
02782   QTextCodec *TextCodec_codecForIndex(int i) {
02783     return QTextCodec::codecForIndex(i);
02784   }
02785 
02786   QTextCodec *TextCodec_codecForLocale() {
02787     return QTextCodec::codecForLocale();
02788   }
02789 
02790   void TextCodec_setCodecForLocale(QTextCodec *c) {
02791     QTextCodec::setCodecForLocale(c);
02792   }
02793 
02794   QTextCodec *TextCodec_codecForTr() {
02795     return QTextCodec::codecForTr();
02796   }
02797 
02798   void TextCodec_setCodecForTr(QTextCodec *c) {
02799     QTextCodec::setCodecForTr(c);
02800   }
02801 
02802   QTextCodec *TextCodec_codecForCStrings() {
02803     return QTextCodec::codecForCStrings();
02804   }
02805 
02806   void TextCodec_setCodecForCStrings(QTextCodec *c) {
02807     QTextCodec::setCodecForCStrings(c);
02808   }
02809 
02810   void TextCodec_deleteAllCodecs() {
02811     QTextCodec::deleteAllCodecs();
02812   }
02813 
02814   const char *TextCodec_locale() {
02815     return QTextCodec::locale();
02816   }
02817 
02818   void ToolTip_add(QWidget *widget, const QString &text) {
02819     QToolTip::add(widget, text);
02820   }
02821 
02822   QString Url_decode(QString &url) {
02823     QUrl::decode(url);
02824     return url;
02825   }
02826 
02827   QString Url_encode(QString &url) {
02828     QUrl::encode(url);
02829     return url;
02830   }
02831 
02832   bool Url_isRelativeUrl(const QString &url) {
02833     return QUrl::isRelativeUrl(url);
02834   }
02835 
02836   QNetworkProtocol *NetworkProtocol_getNetworkProtocol(const QString &protocol) {
02837     return QNetworkProtocol::getNetworkProtocol(protocol);
02838   }
02839 
02840   bool NetworkProtocol_hasOnlyLocalFileSystem() {
02841     return QNetworkProtocol::hasOnlyLocalFileSystem();
02842   }
02843 
02844   bool UrlInfo_greaterThan(QUrlInfo *i1, QUrlInfo *i2, int sortBy) {
02845     return (i1 && i2) ? QUrlInfo::greaterThan(*i1, *i2, sortBy) : false;
02846   }
02847   bool UrlInfo_greaterThan(AQSUrlInfo *i1, AQSUrlInfo *i2, int sortBy);
02848 
02849   bool UrlInfo_lessThan(QUrlInfo *i1, QUrlInfo *i2, int sortBy) {
02850     return (i1 && i2) ? QUrlInfo::lessThan(*i1, *i2, sortBy) : false;
02851   }
02852   bool UrlInfo_lessThan(AQSUrlInfo *i1, AQSUrlInfo *i2, int sortBy);
02853 
02854   bool UrlInfo_equal(QUrlInfo *i1, QUrlInfo *i2, int sortBy) {
02855     return (i1 && i2) ? QUrlInfo::equal(*i1, *i2, sortBy) : true;
02856   }
02857   bool UrlInfo_equal(AQSUrlInfo *i1, AQSUrlInfo *i2, int sortBy);
02858 
02859   QString createUuid() const {
02860     return QUuid::createUuid().toString();
02861   }
02862 
02863   QDomNode *toXml(AQSObject *o, bool includeChildren = true,
02864                   bool includeComplexTypes = false) const;
02865   QDomNode *toXml(QObject *o, bool includeChildren = true,
02866                   bool includeComplexTypes = false) const;
02867 
02868   QByteArray toHex(QByteArray *ba) const;
02869   QByteArray fromHex(QByteArray *ba) const;
02870   QByteArray toBase64(QByteArray *ba) const;
02871   QByteArray fromBase64(QByteArray *ba) const;
02872   QByteArray compress(QByteArray *ba) const;
02873   QByteArray uncompress(QByteArray *ba) const;
02874   QByteArray encryptInternal(QByteArray *ba) const;
02875   QByteArray decryptInternal(QByteArray *ba) const;
02876   QString sha1(QByteArray *ba) const;
02877 
02878   int xsltproc(const QStringList &args) const;
02879   QByteArray xsltproc(QByteArray *xslt, QByteArray *xml) const;
02880 
02881 private:
02882 
02883   inline void insertAQSObject(AQSBaseObject *aqo);
02884   inline void removeAQSObject(AQSBaseObject *aqo);
02885 
02886   int objectsCount_;
02887   QPtrDict<AQSBaseObject> objectsCache_;
02888 
02889   friend class AQSBaseObject;
02890 };
02891 
02892 #define AQ_QUOTEME(x) #x
02893 #define AQ_CALL_VOID(F) if (o_) o_->F
02894 #define AQ_CALL_RET(F) return (o_ ? o_->F : 0)
02895 #define AQ_CALL_RET_V(F,V) return (o_ ? o_->F : V())
02896 #define AQ_CALL_RET_PTR(F,V) return (o_ ? new V ( o_->F ) : 0)
02897 
02898 #define AQ_STATIC_CONSTRUCTOR(Prefix,Class) \
02899   static Prefix##Class *Prefix##Class##_(const QSArgumentList &args) { \
02900     Prefix##Class *co = reinterpret_cast<Prefix##Class *>(specializedConstruct(construct(args))); \
02901     if (!co) { \
02902       AQS_IF_DEBUG(printf("Failed to construct %s(%s)\n", \
02903                           AQ_QUOTEME(Prefix##Class), argsSignature(args).latin1())); \
02904     } \
02905     return co; \
02906   }
02907 
02908 #define AQ_SKIP_DECLARE(Class,BaseClass)
02909 
02910 #define AQ_DECLARE_AQS(Class) \
02911   private: \
02912   void init(void *vo) { \
02913     if (!vo) { \
02914       o_ = 0; \
02915       AQS_IF_DEBUG(printf("%s\n", \
02916                           AQ_QUOTEME(AQS##Class must be initialized with a valid pointer) \
02917                          )); \
02918     } else { \
02919       internalInit(vo); \
02920       AQS_IF_DEBUG(printf("%s init %p\n", AQ_QUOTEME(AQS##Class), o_)); \
02921       specializedInternalInit(); \
02922     } \
02923   } \
02924   void init(QObject *qo) { \
02925     if (!qo) { \
02926       o_ = 0; \
02927       AQS_IF_DEBUG(printf("%s\n", \
02928                           AQ_QUOTEME(AQS##Class must be initialized with a valid QObject) \
02929                          )); \
02930     } else { \
02931       internalInit(qo); \
02932       AQS_IF_DEBUG(printf("%s init %p\n", AQ_QUOTEME(AQS##Class), o_)); \
02933       specializedInternalInit(); \
02934     } \
02935   } \
02936   void finish() { \
02937     if (!finished_) { \
02938       AQS_IF_DEBUG(printf("%s finish %p\n", AQ_QUOTEME(AQS##Class), o_)); \
02939       finished_ = true; \
02940       specializedInternalFinish(); \
02941     } \
02942   } \
02943   public: \
02944   virtual const char *RTTI() const { return #Class; } \
02945   AQS##Class() : AQSBaseObject (), o_(0) {} \
02946   virtual ~AQS##Class() { \
02947     finish(); \
02948   }
02949 
02950 static inline QString argsSignature(const QSArgumentList &args)
02951 {
02952   QString ret;
02953   for (QSArgumentList::const_iterator it = args.begin(); it != args.end(); ++it) {
02954     QSArgument arg(*it);
02955 
02956     if (!ret.isEmpty())
02957       ret.append(",");
02958 
02959     if (arg.type() == QSArgument::QObjectPtr || arg.type() == QSArgument::VoidPointer) {
02960       QString typeName(arg.typeName());
02961       if (typeName.startsWith("AQS")) {
02962         if (globalAQSFactory->instanceDescriptors()[typeName].isEmpty())
02963           typeName = QString::fromLatin1("AQ") + typeName.mid(3);
02964       }
02965       ret.append(typeName);
02966       ret.append("*");
02967     } else
02968       ret.append(arg.typeName());
02969   }
02970   return ret;
02971 }
02972 
02973 static inline bool canCastSignature(const QString &signature, const QString &candidate)
02974 {
02975   QStringList splitSignature(QStringList::split(",", signature, true));
02976   QStringList splitCandidate(QStringList::split(",", candidate, true));
02977 
02978   int argsCount = splitSignature.size();
02979   if (argsCount != splitCandidate.size())
02980     return false;
02981 
02982   for (int i = 0; i < argsCount; ++i) {
02983     QString cdt(splitCandidate[i]);
02984     QString sgt(splitSignature[i]);
02985 
02986     if (cdt == sgt)
02987       continue;
02988 
02989     bool isCdtPtr = (cdt.at(cdt.length() - 1) == '*');
02990     bool isSgtPtr = (sgt.at(sgt.length() - 1) == '*');
02991 
02992     if (isCdtPtr && !isSgtPtr && cdt.left(cdt.length() - 1) == sgt)
02993       continue;
02994     if (sgt.isEmpty() && isCdtPtr)
02995       continue;
02996     if (sgt == "Pointer*" && isCdtPtr)
02997       continue;
02998     if (!isCdtPtr && !isSgtPtr) {
02999       if ((sgt == "double" || sgt == "bool" || sgt == "char") &&
03000           (cdt.contains("::") || cdt == "int" || cdt == "uint" ||
03001            cdt == "float" || cdt == "bool" || cdt == "char" ||
03002            cdt == "short" || cdt == "ushort" || cdt == "long" ||
03003            cdt == "ulong" || cdt == "WFlags"))
03004         continue;
03005       return false;
03006     }
03007     if (!isCdtPtr || !isSgtPtr)
03008       return false;
03009 
03010     QMetaObject *meta = QMetaObject::metaObject(sgt.left(sgt.length() - 1).latin1());
03011     if (!meta || !meta->inherits(cdt.left(cdt.length() - 1).latin1()))
03012       return false;
03013   }
03014 
03015   return true;
03016 }
03017 
03018 static inline QString castArgsSignature(const QSArgumentList &args,
03019                                         const QMap<int, QStringList> &candidates)
03020 {
03021   int argsCount = args.count();
03022   if (argsCount == 0 || !candidates.contains(argsCount))
03023     return QString::null;
03024 
03025   QStringList candidate(candidates[argsCount]);
03026   QString signature(argsSignature(args));
03027 
03028   if (candidate.contains(signature))
03029     return signature;
03030 
03031   for (QStringList::const_iterator it = candidate.begin(); it != candidate.end(); ++it) {
03032     if (canCastSignature(signature, *it)) {
03033       AQS_IF_DEBUG(printf("Auto Cast %s --> %s\n", signature.latin1(), (*it).latin1()));
03034       return *it;
03035     }
03036   }
03037 
03038   return QString::null;
03039 }
03040 
03041 static inline QByteArray byteArrayToHex(QByteArray *ba)
03042 {
03043   QByteArray hex(ba->size() * 2);
03044   char *hexData = hex.data();
03045   const uchar *data = (const uchar *)ba->data();
03046   for (int i = 0; i < ba->size(); ++i) {
03047     int j = (data[i] >> 4) & 0xf;
03048     if (j <= 9)
03049       hexData[i * 2] = (j + '0');
03050     else
03051       hexData[i * 2] = (j + 'a' - 10);
03052     j = data[i] & 0xf;
03053     if (j <= 9)
03054       hexData[i * 2 + 1] = (j + '0');
03055     else
03056       hexData[i * 2 + 1] = (j + 'a' - 10);
03057   }
03058   return hex;
03059 }
03060 
03061 static inline QByteArray byteArrayFromHex(QByteArray *ba)
03062 {
03063   QByteArray res((ba->size() + 1) / 2);
03064   uchar *result = (uchar *)res.data() + res.size();
03065   bool odd_digit = true;
03066   for (int i = ba->size() - 1; i >= 0; --i) {
03067     int ch = ba->at(i);
03068     int tmp;
03069     if (ch >= '0' && ch <= '9')
03070       tmp = ch - '0';
03071     else if (ch >= 'a' && ch <= 'f')
03072       tmp = ch - 'a' + 10;
03073     else if (ch >= 'A' && ch <= 'F')
03074       tmp = ch - 'A' + 10;
03075     else
03076       continue;
03077     if (odd_digit) {
03078       --result;
03079       *result = tmp;
03080       odd_digit = false;
03081     } else {
03082       *result |= tmp << 4;
03083       odd_digit = true;
03084     }
03085   }
03086   return res;
03087 }
03088 
03089 static inline QByteArray byteArrayToBase64(QByteArray *ba)
03090 {
03091   const char alphabet[] = "ABCDEFGH" "IJKLMNOP" "QRSTUVWX" "YZabcdef"
03092                           "ghijklmn" "opqrstuv" "wxyz0123" "456789+/";
03093   const char padchar = '=';
03094   int padlen = 0;
03095   QByteArray tmp((ba->size() * 4) / 3 + 3);
03096   int i = 0;
03097   char *out = tmp.data();
03098   const uchar *data = (const uchar *)ba->data();
03099   while (i < ba->size()) {
03100     int chunk = 0;
03101     chunk |= int(uchar(data[i++])) << 16;
03102     if (i == ba->size()) {
03103       padlen = 2;
03104     } else {
03105       chunk |= int(uchar(data[i++])) << 8;
03106       if (i == ba->size()) padlen = 1;
03107       else chunk |= int(uchar(data[i++]));
03108     }
03109 
03110     int j = (chunk & 0x00fc0000) >> 18;
03111     int k = (chunk & 0x0003f000) >> 12;
03112     int l = (chunk & 0x00000fc0) >> 6;
03113     int m = (chunk & 0x0000003f);
03114     *out++ = alphabet[j];
03115     *out++ = alphabet[k];
03116     if (padlen > 1) *out++ = padchar;
03117     else *out++ = alphabet[l];
03118     if (padlen > 0) *out++ = padchar;
03119     else *out++ = alphabet[m];
03120   }
03121   tmp.truncate(out - tmp.data());
03122   return tmp;
03123 }
03124 
03125 static inline QByteArray byteArrayFromBase64(QByteArray *ba)
03126 {
03127   unsigned int buf = 0;
03128   int nbits = 0;
03129   QByteArray tmp((ba->size() * 3) / 4);
03130   int offset = 0;
03131   for (int i = 0; i < ba->size(); ++i) {
03132     int ch = ba->at(i);
03133     int d;
03134 
03135     if (ch >= 'A' && ch <= 'Z')
03136       d = ch - 'A';
03137     else if (ch >= 'a' && ch <= 'z')
03138       d = ch - 'a' + 26;
03139     else if (ch >= '0' && ch <= '9')
03140       d = ch - '0' + 52;
03141     else if (ch == '+')
03142       d = 62;
03143     else if (ch == '/')
03144       d = 63;
03145     else
03146       d = -1;
03147 
03148     if (d != -1) {
03149       buf = (buf << 6) | d;
03150       nbits += 6;
03151       if (nbits >= 8) {
03152         nbits -= 8;
03153         tmp[offset++] = buf >> nbits;
03154         buf &= (1 << nbits) - 1;
03155       }
03156     }
03157   }
03158   tmp.truncate(offset);
03159   return tmp;
03160 }
03161 
03162 // Ver openssl/RAND_bytes
03163 static inline int rand_bytes(QByteArray *ba)
03164 {
03165   return RAND_bytes((uchar *)ba->data(), ba->size());
03166 }
03167 
03168 // Ver openssl/RAND_pseudo_bytes
03169 static inline int rand_pseudo_bytes(QByteArray *ba)
03170 {
03171   return RAND_pseudo_bytes((uchar *)ba->data(), ba->size());
03172 }
03173 
03174 static inline QByteArray aes_256_encrypt(QByteArray *ba,
03175                                          const QByteArray &key, // Espera 256 bits (32 bytes)
03176                                          const QByteArray &iv // Espera 256 bits (32 bytes)
03177                                         )
03178 {
03179   EVP_CIPHER_CTX ctx;
03180   EVP_CIPHER_CTX_init(&ctx);
03181 
03182   if (!EVP_EncryptInit_ex(&ctx, EVP_aes_256_cbc(), NULL,
03183                           (uchar *)key.data(), (uchar *)iv.data())) {
03184     ERR_print_errors_fp(stderr);
03185     AQS_IF_DEBUG(printf("AQS_p.h aes_256_encrypt: ERROR in EVP_EncryptInit_ex \n"));
03186     return QByteArray();
03187   }
03188 
03189   int len = ba->size();
03190   int c_len = len + ctx.cipher->block_size - 1;
03191   int f_len = 0;
03192   QByteArray res(c_len);
03193   uchar *ciphertext = (uchar *)res.data();
03194   uchar *plaintext = (uchar *)ba->data();
03195 
03196   if (!EVP_EncryptUpdate(&ctx, ciphertext, &c_len, plaintext, len)) {
03197     ERR_print_errors_fp(stderr);
03198     AQS_IF_DEBUG(printf("AQS_p.h aes_256_encrypt: ERROR in EVP_EncryptUpdate \n"));
03199     EVP_CIPHER_CTX_cleanup(&ctx);
03200     return QByteArray();
03201   }
03202 
03203   if (!EVP_EncryptFinal_ex(&ctx, ciphertext + c_len, &f_len)) {
03204     ERR_print_errors_fp(stderr);
03205     AQS_IF_DEBUG(printf("AQS_p.h aes_256_encrypt: ERROR in EVP_EncryptFinal_ex \n"));
03206     EVP_CIPHER_CTX_cleanup(&ctx);
03207     return QByteArray();
03208   }
03209 
03210   EVP_CIPHER_CTX_cleanup(&ctx);
03211   res.truncate(c_len + f_len);
03212   return res;
03213 }
03214 
03215 static inline QByteArray aes_256_decrypt(QByteArray *ba,
03216                                          const QByteArray &key, // Espera 256 bits (32 bytes)
03217                                          const QByteArray &iv // Espera 256 bits (32 bytes)
03218                                         )
03219 {
03220   EVP_CIPHER_CTX ctx;
03221   EVP_CIPHER_CTX_init(&ctx);
03222 
03223   if (!EVP_DecryptInit_ex(&ctx, EVP_aes_256_cbc(), NULL,
03224                           (uchar *)key.data(), (uchar *)iv.data())) {
03225     ERR_print_errors_fp(stderr);
03226     AQS_IF_DEBUG(printf("AQS_p.h aes_256_encrypt: ERROR in EVP_DecryptInit_ex \n"));
03227     return QByteArray();
03228   }
03229 
03230   int len = ba->size();
03231   int p_len = len;
03232   int f_len = 0;
03233   QByteArray res(p_len);
03234   uchar *plaintext = (uchar *)res.data();
03235   uchar *ciphertext = (uchar *)ba->data();
03236 
03237   if (!EVP_DecryptUpdate(&ctx,  plaintext, &p_len, ciphertext, len)) {
03238     ERR_print_errors_fp(stderr);
03239     AQS_IF_DEBUG(printf("AQS_p.h aes_256_encrypt: ERROR in EVP_DecryptUpdate \n"));
03240     EVP_CIPHER_CTX_cleanup(&ctx);
03241     return QByteArray();
03242   }
03243 
03244   if (!EVP_DecryptFinal_ex(&ctx, plaintext + p_len, &f_len)) {
03245     ERR_print_errors_fp(stderr);
03246     AQS_IF_DEBUG(printf("AQS_p.h aes_256_encrypt: ERROR in EVP_DecryptFinal_ex \n"));
03247     EVP_CIPHER_CTX_cleanup(&ctx);
03248     return QByteArray();
03249   }
03250 
03251   EVP_CIPHER_CTX_cleanup(&ctx);
03252   res.truncate(p_len + f_len);
03253   return res;
03254 }
03255 
03256 class AQSBaseObject : public QObject
03257 {
03258   Q_OBJECT
03259 
03260   Q_PROPERTY(bool isValid READ isValid)
03261 
03262 public:
03263   AQSBaseObject() :
03264     QObject(), o_(0), finished_(false), wrap_(false) {
03265   }
03266   virtual ~AQSBaseObject() {
03267     finish();
03268   }
03269 
03270   bool isValid() const {
03271     return (o_ != 0);
03272   }
03273 
03274   void *o() const {
03275     return o_;
03276   }
03277 
03278   void setWrap() {
03279     wrap_ = true;
03280   }
03281 
03282   virtual const char *RTTI() const = 0;
03283 
03284   static QMap<int, QStringList> candidateConstructors() {
03285     return QMap<int, QStringList>();
03286   }
03287 
03288 public slots:
03289   virtual QDomNode *toXml(bool includeComplexTypes = false) {
03290     return &xml_;
03291   }
03292 
03293 protected:
03294   void specializedInternalInit() {}
03295   void specializedInternalFinish() {}
03296   inline void internalInit(void *o);
03297   inline void internalInit(QObject *o);
03298 
03299   static void *specializedConstruct(void *co) {
03300     return co;
03301   }
03302   static void *construct(const QSArgumentList &args) {
03303     return 0;
03304   }
03305 
03306   bool finished_;
03307   bool wrap_;
03308   QDomDocument xml_;
03309 
03310 private:
03311   inline void finish();
03312 
03313   void *o_;
03314 };
03315 
03316 inline void AQS::insertAQSObject(AQSBaseObject *aqo)
03317 {
03318   objectsCache_.replace(aqo->o(), aqo);
03319 }
03320 
03321 inline void AQS::removeAQSObject(AQSBaseObject *aqo)
03322 {
03323   objectsCache_.remove(aqo->o());
03324 }
03325 
03326 inline AQSBaseObject *AQS::findAQSObject(void *ptr) const
03327 {
03328   return objectsCache_.find(ptr);
03329 }
03330 
03331 inline void AQSBaseObject::internalInit(void *o)
03332 {
03333   o_ = o;
03334   globalAQS->insertAQSObject(this);
03335   AQS_IF_DEBUG(globalAQS->objectsCount_++);
03336 }
03337 
03338 inline void AQSBaseObject::internalInit(QObject *o)
03339 {
03340   o->insertChild(this);
03341   internalInit(static_cast<void *>(o));
03342 }
03343 
03344 inline void AQSBaseObject::finish()
03345 {
03346   globalAQS->removeAQSObject(this);
03347   finished_ = true;
03348   o_ = 0;
03349   AQS_IF_DEBUG(if (globalAQS->objectsCount_ > 0) globalAQS->objectsCount_--);
03350 }
03351 
03352 
03353 template <class T>
03354 static inline T argValue(const QSArgument &arg)
03355 {
03356   if (arg.type() == QSArgument::Variant)
03357     return static_cast<T>(arg.variant().rawAccess());
03358 
03359   QObject *aqo = (arg.type() == QSArgument::QObjectPtr ? arg.qobject() : 0);
03360   if (aqo && aqo->inherits("AQSVoidPtr"))
03361     return static_cast<T>(static_cast<AQSBaseObject *>(aqo)->o());
03362 
03363   return static_cast<T>(aqo ? aqo : arg.ptr());
03364 }
03365 
03366 #endif /* AQS_P_H_ */
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'