[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bindings
Subject: Re: [Kde-bindings] A sample of our subset of QtC
From: Richard Dale <Richard_Dale () tipitina ! demon ! co ! uk>
Date: 2003-01-11 11:26:47
[Download RAW message or body]
On Friday 10 January 2003 8:20 pm, Adam Treat wrote:
> Richard,
>
> I just wanted to show you an example of our subset of QtC. This only
> includes the ctors at the moment (not the virtuals) but the important piece
> is the typedef ;) The inclusion of the typedefs in the xml metadata really
> increases the amount of ctors/methods in QtC.
I'm not quite sure what problem you are solving here. What does that
'managedObject' instance variable do - why not just return an instance of
QApplicationGlue and use that? I don't convert any of the methods with HANDLE
and 'Display *' types because they're X11 specific, and I'm only interested
in a cross platform api (in java anyway).
'QApplication *' is a C++ type, and I wouldn't have thought you could bracket
it within an extern "C" {.. } block as you've done below.
-- Richard
>
> #include "qapplication.h"
> class QApplicationGlue: public QApplication
> {
> public:
>
> void* managedObject;
> QApplicationGlue (Display* dpy, HANDLE visual, HANDLE cmap):
> QApplication ((Display*)dpy, (HANDLE)visual, (HANDLE)cmap) {}
> QApplicationGlue (Display* dpy, int argc, char** argv, HANDLE
> visual, HANDLE cmap): QApplication ((Display*)dpy, (int)argc, (char**)argv,
> (HANDLE)visual, (HANDLE)cmap) {}
> QApplicationGlue (int& argc, char* * argv): QApplication (argc,
> argv) {}
> QApplicationGlue (int& argc, char** argv, bool GUIenabled):
> QApplication ((int&)argc, (char**)argv, (bool)GUIenabled) {}
> QApplicationGlue (int& argc, char** argv, QApplication::Type arg1):
> QApplication ((int&)argc, (char**)argv, (QApplication::Type)arg1) {}
> };
>
> extern "C"
> {
> typedef unsigned long HANDLE;
> QApplication* new_QApplication3 (void* managedPtr, Display* dpy,
> HANDLE visual, HANDLE cmap)
> {
> QApplicationGlue* glue = new QApplicationGlue
> ((Display*)dpy, (HANDLE)visual, (HANDLE)cmap);
> glue->managedObject = managedPtr;
> return (QApplication*)glue;
> }
>
> QApplication* new_QApplication4 (void* managedPtr, Display* dpy,
> int argc, char** argv, HANDLE visual, HANDLE cmap)
> {
> QApplicationGlue* glue = new QApplicationGlue
> ((Display*)dpy, (int)argc, (char**)argv, (HANDLE)visual, (HANDLE)cmap);
> glue->managedObject = managedPtr;
> return (QApplication*)glue;
> }
>
> QApplication* new_QApplication0 (void* managedPtr, int& argc,
> char** argv)
> //void new_QApplication0 (void* managedPtr, int& argc, char** argv)
> {
> QApplicationGlue* glue = new QApplicationGlue (argc, argv);
> //glue->managedObject = managedPtr;
> return (QApplication*)glue;
> }
>
> QApplication* new_QApplication1 (void* managedPtr, int& argc,
> char** argv, bool GUIenabled)
> {
> QApplicationGlue* glue = new QApplicationGlue ((int&)argc,
> (char**)argv, (bool)GUIenabled);
> glue->managedObject = managedPtr;
> return (QApplication*)glue;
> }
>
> QApplication* new_QApplication2 (void* managedPtr, int& argc,
> char** argv, QApplication::Type arg1)
> {
> QApplicationGlue* glue = new QApplicationGlue ((int&)argc,
> (char**)argv, (QApplication::Type)arg1);
> glue->managedObject = managedPtr;
> return (QApplication*)glue;
> }
>
> } // extern "C"
> _______________________________________________
> Kde-bindings mailing list
> Kde-bindings@mail.kde.org
> http://mail.kde.org/mailman/listinfo/kde-bindings
_______________________________________________
Kde-bindings mailing list
Kde-bindings@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-bindings
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic