QSwingMetaObject.h

00001 /*
00002  * @(#)QSwingMetaObject.h  0.2.0 / 2007-12-03
00003  *
00004  * Copyright (c) 2007, ETF and contributors. All rights reserved.
00005  *
00006  * This software is licensed under the LGPL, version 2.1, license.
00007  * A copy of the license is included in the file LICENSE-LGPL.txt.
00008  */
00009 #ifndef QSWINGMETAOBJECT_H
00010 #define QSWINGMETAOBJECT_H
00011 
00012 #include "JavaQxCore.h"
00013 
00014 /*^**************************************************************************^*/
00015 /*- QSwingMetaObject Class.                                                  -*/
00016 /*^**************************************************************************^*/
00017 
00024 class JAVAQX_EXPORT QSwingMetaObject : public QObject
00025 {
00026   Q_OBJECT
00027 private:
00028   QSwingMetaObject();
00029   QSwingMetaObject(const QSwingMetaObject &);
00030   ~QSwingMetaObject();
00031 public:
00032   static void initialize();
00033   static bool invokeMember(QObject *obj, const char *member, const char *type,
00034                            void *ret, QGenericArgument *val0,
00035                            QGenericArgument *val1, QGenericArgument *val2,
00036                            QGenericArgument *val3, QGenericArgument *val4,
00037                            QGenericArgument *val5, QGenericArgument *val6,
00038                            QGenericArgument *val7, QGenericArgument *val8,
00039                            QGenericArgument *val9);
00040   static bool invokeStaticMember(int classID, int methodID, const char *type,
00041                                  void *ret, QGenericArgument *val0,
00042                                  QGenericArgument *val1, QGenericArgument *val2,
00043                                  QGenericArgument *val3, QGenericArgument *val4,
00044                                  QGenericArgument *val5, QGenericArgument *val6,
00045                                  QGenericArgument *val7, QGenericArgument *val8,
00046                                  QGenericArgument *val9);
00047   static bool invokeStaticMember(int classID, int methodID,
00048                                  QGenericArgument val0 = QGenericArgument(),
00049                                  QGenericArgument val1 = QGenericArgument(),
00050                                  QGenericArgument val2 = QGenericArgument(),
00051                                  QGenericArgument val3 = QGenericArgument(),
00052                                  QGenericArgument val4 = QGenericArgument(),
00053                                  QGenericArgument val5 = QGenericArgument(),
00054                                  QGenericArgument val6 = QGenericArgument(),
00055                                  QGenericArgument val7 = QGenericArgument(),
00056                                  QGenericArgument val8 = QGenericArgument(),
00057                                  QGenericArgument val9 = QGenericArgument());
00058 private:
00059   struct MemberFrame {
00060     bool succeed;
00061     QGenericReturnArgument *ret;
00062     QGenericArgument *val0;
00063     QGenericArgument *val1;
00064     QGenericArgument *val2;
00065     QGenericArgument *val3;
00066     QGenericArgument *val4;
00067     QGenericArgument *val5;
00068     QGenericArgument *val6;
00069     QGenericArgument *val7;
00070     QGenericArgument *val8;
00071     QGenericArgument *val9;
00072   };
00073   struct InvokeMemberFrame : MemberFrame {
00074     QObject *obj;
00075     const char *member;
00076   };
00077   struct InvokeStaticMemberFrame : MemberFrame {
00078     int classID;
00079     int methodID;
00080   };
00081 private:
00082   void invokeMember(InvokeMemberFrame *frame);
00083   void invokeStaticMember(InvokeStaticMemberFrame *frame);
00084 private slots:
00085   void invokeMemberSlot(InvokeMemberFrame *frame);
00086   void invokeStaticMemberSlot(InvokeStaticMemberFrame *frame);
00087 signals:
00088   void invokeMemberSignal(InvokeMemberFrame *frame);
00089   void invokeStaticMemberSignal(InvokeStaticMemberFrame *frame);
00090 private:
00091   static QSwingMetaObject *sm_instance;
00092 private:
00093   friend class JQOptionPaneBridge; // uses the following fields
00094     static const int JQOptionPaneBridge_classID = 0;
00095     static const int JQOptionPaneBridge_showMessage_methodID = 0;
00096   friend class JQWindowBridge; // uses the following fields
00097     static const int JQWindowBridge_classID = 1;
00098     static const int JQWindowBridge_getWindows_methodID = 0;
00099     static const int JQWindowBridge_getActiveWindow_methodID = 1;
00100     static const int JQWindowBridge_setWindowOwner_methodID = 2;
00101   friend class JQColorChooserBridge; // uses the following fields
00102     static const int JQColorChooserBridge_classID = 2;
00103     static const int JQColorChooserBridge_getColor_methodID = 0;
00104   friend class JQFontChooserBridge; // uses the following fields
00105     static const int JQFontChooserBridge_classID = 3;
00106     static const int JQFontChooserBridge_getFont_methodID = 0;
00107   friend class JQFileChooserBridge; // uses the following fields
00108     static const int JQFileChooserBridge_classID = 4;
00109     static const int JQFileChooserBridge_getExistingDirectoryName_methodID = 0;
00110     static const int JQFileChooserBridge_getOpenFileName_methodID = 1;
00111     static const int JQFileChooserBridge_getSaveFileName_methodID = 2;
00112   friend class JQToolTipBridge; // uses the following fields
00113     static const int JQToolTipBridge_classID = 5;
00114     static const int JQToolTipBridge_setFont_methodID = 0;
00115     static const int JQToolTipBridge_setBackground_methodID = 1;
00116     static const int JQToolTipBridge_setNullBackground_methodID = 2;
00117     static const int JQToolTipBridge_setForeground_methodID = 3;
00118     static const int JQToolTipBridge_setNullForeground_methodID = 4;
00119     static const int JQToolTipBridge_showText_methodID = 5;
00120     static const int JQToolTipBridge_hideText_methodID = 6;
00121   friend class WhatsThisManagerBridge; // uses the following fields
00122     static const int WhatsThisManagerBridge_classID = 6;
00123     static const int WhatsThisManagerBridge_showText_methodID = 0;
00124     static const int WhatsThisManagerBridge_hideText_methodID = 1;
00125     static const int WhatsThisManagerBridge_isInWhatsThisMode_methodID = 2;
00126     static const int WhatsThisManagerBridge_enterWhatsThisMode_methodID = 3;
00127     static const int WhatsThisManagerBridge_exitWhatsThisMode_methodID = 4;
00128   friend class QSwingImageBridge; // uses the following fields
00129     static const int QSwingImageBridge_classID = 7;
00130     static const int QSwingImageBridge_createImage_methodID = 0;
00131     static const int QSwingImageBridge_createImageOBAI_methodID = 1;
00132     static const int QSwingImageBridge_createScaled_methodID = 2;
00133   friend class JQDesktopBridge; // uses the following fields
00134     static const int JQDesktopBridge_classID = 8;
00135     static const int JQDesktopBridge_getScreenSize_methodID = 0;
00136     static const int JQDesktopBridge_getScreenResolution_methodID = 1;
00137     static const int JQDesktopBridge_getDesktopBounds_methodID = 2;
00138     static const int JQDesktopBridge_takeScreenshot_methodID = 3;
00139 };
00140 
00141 #endif // QSWINGMETAOBJECT_H
00142 
00143 /*^*****************************************************************************
00144   File History:
00145 
00146  - 2007-12-03 00:20:07 Slobodan
00147    Initial version
00148 
00149 *****************************************************************************^*/

Copyright © 2007 ETF and contributors. All Rights Reserved.