mirror of https://github.com/mono/CppSharp.git
28 changed files with 151 additions and 888 deletions
@ -0,0 +1,29 @@ |
|||||||
|
top_srcdir = ../.. |
||||||
|
|
||||||
|
INTEROP_DLL = \
|
||||||
|
$(top_srcdir)/bin/Debug/Mono.Cxxi.dll |
||||||
|
|
||||||
|
all: hello.exe |
||||||
|
|
||||||
|
qt-gui.xml: qt-gui.h |
||||||
|
$(GCCXML) -fxml=$@ --gccxml-cxxflags "-m32 -I." /Library/Frameworks/QtGui.framework/Versions/Current/Headers/QtGui |
||||||
|
|
||||||
|
generated: qt-gui.xml |
||||||
|
$(RM) -r generated |
||||||
|
$(MONO) --debug $(top_srcdir)/bin/Debug/generator.exe -o=generated -ns=Qt.Gui -lib=QtGui --filters=qt-gui-filters.txt qt-gui.xml |
||||||
|
|
||||||
|
#libQtGui-inline.so: qt-gui.cpp
|
||||||
|
# $(CXX) -m32 -I. -framework QtGui -framework QtCore -DQ_WS_MAC --shared -fPIC -o $@ -fkeep-inline-functions qt-gui.cpp
|
||||||
|
|
||||||
|
Qt.Gui-binding.dll: generated QString.cs QSize.cs QApplication.cs QCoreApplication.cs |
||||||
|
$(RM) -f generated/QString.cs generated/QSize.cs |
||||||
|
$(GMCS) -debug -out:$@ -target:library -unsafe -r:$(INTEROP_DLL) generated/*.cs QString.cs QApplication.cs QCoreApplication.cs QSize.cs |
||||||
|
|
||||||
|
hello.exe: Qt.Gui-binding.dll hello.cs #libQtGui-inline.so
|
||||||
|
$(GMCS) -debug -out:$@ -target:exe -r:$(INTEROP_DLL) -r:Qt.Gui-binding.dll hello.cs |
||||||
|
|
||||||
|
clean: |
||||||
|
$(RM) -rf generated hello.exe* qt-gui.xml Qt.Gui-binding.dll* libQtGui-inline.so |
||||||
|
|
||||||
|
run: hello.exe |
||||||
|
MONO_PATH=.:$(top_srcdir)/bin/Debug $(MONO) --debug --trace=__CppLibraryImplAssembly hello.exe |
@ -0,0 +1,23 @@ |
|||||||
|
using System; |
||||||
|
using System.Diagnostics; |
||||||
|
using Qt.Gui; |
||||||
|
|
||||||
|
using Mono.Cxxi; |
||||||
|
|
||||||
|
namespace QtTest { |
||||||
|
class MainClass { |
||||||
|
public static void Main (string[] args) |
||||||
|
{ |
||||||
|
using (QApplication app = new QApplication ()) { |
||||||
|
using (QPushButton hello = new QPushButton ("Hello world!", null)) { |
||||||
|
|
||||||
|
hello.Resize (new QSize (100, 30)); |
||||||
|
|
||||||
|
hello.SetVisible (true); |
||||||
|
QApplication.Exec (); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
@ -0,0 +1,17 @@ |
|||||||
|
using System; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
using Mono.Cxxi; |
||||||
|
|
||||||
|
namespace Qt.Gui { |
||||||
|
public partial class QApplication { |
||||||
|
|
||||||
|
|
||||||
|
public QApplication () : base (impl.TypeInfo) |
||||||
|
{ |
||||||
|
InitArgcAndArgv (); |
||||||
|
Native = impl.QApplication (impl.Alloc (this), argc, argv, 0x040602); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
|
@ -0,0 +1,46 @@ |
|||||||
|
using System; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
using Mono.Cxxi; |
||||||
|
|
||||||
|
namespace Qt.Gui { |
||||||
|
public partial class QCoreApplication { |
||||||
|
|
||||||
|
protected IntPtr argc, argv; |
||||||
|
|
||||||
|
public QCoreApplication () : base (impl.TypeInfo) |
||||||
|
{ |
||||||
|
InitArgcAndArgv (); |
||||||
|
Native = impl.QCoreApplication (impl.Alloc (this), argc, argv); |
||||||
|
} |
||||||
|
|
||||||
|
partial void AfterDestruct () |
||||||
|
{ |
||||||
|
FreeArgcAndArgv (); |
||||||
|
} |
||||||
|
|
||||||
|
protected void InitArgcAndArgv () |
||||||
|
{ |
||||||
|
var args = Environment.GetCommandLineArgs (); |
||||||
|
var argCount = args.Length; |
||||||
|
|
||||||
|
argc = Marshal.AllocHGlobal (sizeof(int)); |
||||||
|
Marshal.WriteInt32 (argc, argCount); |
||||||
|
|
||||||
|
argv = Marshal.AllocHGlobal (Marshal.SizeOf (typeof(IntPtr)) * argCount); |
||||||
|
for (var i = 0; i < argCount; i++) { |
||||||
|
IntPtr arg = Marshal.StringToHGlobalAnsi (args [i]); |
||||||
|
Marshal.WriteIntPtr (argv, i * Marshal.SizeOf (typeof(IntPtr)), arg); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected void FreeArgcAndArgv () |
||||||
|
{ |
||||||
|
Marshal.FreeHGlobal (argc); |
||||||
|
for (var i = 0; i < Environment.GetCommandLineArgs ().Length; i++) |
||||||
|
Marshal.FreeHGlobal (Marshal.ReadIntPtr (argv, i * Marshal.SizeOf (typeof(IntPtr)))); |
||||||
|
Marshal.FreeHGlobal (argv); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
|
@ -0,0 +1,27 @@ |
|||||||
|
// -------------------------------------------------------------------------
|
||||||
|
// Managed wrapper for QSize
|
||||||
|
// Generated from qt-gui.xml on 07/24/2011 11:57:03
|
||||||
|
//
|
||||||
|
// This file was auto generated. Do not edit.
|
||||||
|
// -------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
using Mono.Cxxi; |
||||||
|
|
||||||
|
namespace Qt.Gui { |
||||||
|
|
||||||
|
[StructLayout (LayoutKind.Sequential)] |
||||||
|
public struct QSize { |
||||||
|
|
||||||
|
public int wd; |
||||||
|
public int ht; |
||||||
|
|
||||||
|
public QSize (int w, int h) |
||||||
|
{ |
||||||
|
wd = w; |
||||||
|
ht = h; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
@ -1,29 +0,0 @@ |
|||||||
using System; |
|
||||||
using System.Reflection; |
|
||||||
using System.Runtime.CompilerServices; |
|
||||||
|
|
||||||
// Information about this assembly is defined by the following attributes.
|
|
||||||
// Change them to the values specific to your project.
|
|
||||||
|
|
||||||
[assembly: AssemblyTitle("QtBindings")] |
|
||||||
[assembly: AssemblyDescription("")] |
|
||||||
[assembly: AssemblyConfiguration("")] |
|
||||||
[assembly: AssemblyCompany("")] |
|
||||||
[assembly: AssemblyProduct("")] |
|
||||||
[assembly: AssemblyCopyright("")] |
|
||||||
[assembly: AssemblyTrademark("")] |
|
||||||
[assembly: AssemblyCulture("")] |
|
||||||
|
|
||||||
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
|
|
||||||
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
|
|
||||||
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
|
|
||||||
|
|
||||||
[assembly: AssemblyVersion("1.0.*")] |
|
||||||
[assembly: CLSCompliant(true)] |
|
||||||
|
|
||||||
// The following attributes are used to specify the signing key for the assembly,
|
|
||||||
// if desired. See the Mono documentation for more information about signing.
|
|
||||||
|
|
||||||
//[assembly: AssemblyDelaySign(false)]
|
|
||||||
//[assembly: AssemblyKeyFile("")]
|
|
||||||
|
|
@ -1,85 +0,0 @@ |
|||||||
using System; |
|
||||||
using System.Runtime.InteropServices; |
|
||||||
using Mono.VisualC.Interop; |
|
||||||
|
|
||||||
namespace Qt.Core { |
|
||||||
public class QCoreApplication : QObject { |
|
||||||
#region Sync with qcoreapplication.h
|
|
||||||
// C++ interface
|
|
||||||
public interface IQCoreApplication : ICppClassOverridable<QCoreApplication> { |
|
||||||
// ...
|
|
||||||
[Constructor] void QCoreApplication (CppInstancePtr @this, [MangleAs ("int&")] IntPtr argc, |
|
||||||
[MangleAs ("char**")] IntPtr argv); |
|
||||||
// ...
|
|
||||||
[Static] int exec (); |
|
||||||
// ...
|
|
||||||
[Virtual] bool notify (CppInstancePtr @this, IntPtr qObject, IntPtr qEvent); |
|
||||||
[Virtual] bool compressEvent (CppInstancePtr @this, IntPtr qEvent, IntPtr qObject, IntPtr qPostEventList); |
|
||||||
|
|
||||||
[Virtual, Destructor] void Destruct (CppInstancePtr @this); |
|
||||||
} |
|
||||||
// C++ fields
|
|
||||||
private struct _QCoreApplication { |
|
||||||
} |
|
||||||
#endregion
|
|
||||||
|
|
||||||
private static IQCoreApplication impl = Qt.Libs.QtCore.GetClass<IQCoreApplication,_QCoreApplication,QCoreApplication> ("QCoreApplication"); |
|
||||||
protected IntPtr argc; |
|
||||||
protected IntPtr argv; |
|
||||||
|
|
||||||
|
|
||||||
public QCoreApplication () : base (impl.TypeInfo) |
|
||||||
{ |
|
||||||
Native = impl.Alloc (this); |
|
||||||
InitArgcAndArgv (); |
|
||||||
impl.QCoreApplication (Native, argc, argv); |
|
||||||
} |
|
||||||
|
|
||||||
public QCoreApplication (IntPtr native) : base (impl.TypeInfo) |
|
||||||
{ |
|
||||||
Native = native; |
|
||||||
} |
|
||||||
|
|
||||||
internal QCoreApplication (CppTypeInfo subClass) : base (impl.TypeInfo) |
|
||||||
{ |
|
||||||
subClass.AddBase (impl.TypeInfo); |
|
||||||
} |
|
||||||
|
|
||||||
public virtual int Exec () |
|
||||||
{ |
|
||||||
return impl.exec (); |
|
||||||
} |
|
||||||
|
|
||||||
public override void Dispose () |
|
||||||
{ |
|
||||||
impl.Destruct (Native); |
|
||||||
FreeArgcAndArgv (); |
|
||||||
Native.Dispose (); |
|
||||||
} |
|
||||||
|
|
||||||
protected void InitArgcAndArgv () |
|
||||||
{ |
|
||||||
// for some reason, this includes arg0, but the args passed to Main (string[]) do not!
|
|
||||||
string[] args = Environment.GetCommandLineArgs (); |
|
||||||
|
|
||||||
int argCount = args.Length; |
|
||||||
argc = Marshal.AllocHGlobal (sizeof (int)); |
|
||||||
Marshal.WriteInt32 (argc, argCount); |
|
||||||
|
|
||||||
argv = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (IntPtr)) * argCount); |
|
||||||
for (var i = 0; i < argCount; i++) { |
|
||||||
IntPtr arg = Marshal.StringToHGlobalAnsi (args [i]); |
|
||||||
Marshal.WriteIntPtr (argv, i * Marshal.SizeOf (typeof (IntPtr)), arg); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
protected void FreeArgcAndArgv () |
|
||||||
{ |
|
||||||
Marshal.FreeHGlobal (argc); |
|
||||||
for (var i = 0; i < Environment.GetCommandLineArgs ().Length; i++) |
|
||||||
Marshal.FreeHGlobal (Marshal.ReadIntPtr (argv, i * Marshal.SizeOf (typeof (IntPtr)))); |
|
||||||
Marshal.FreeHGlobal (argv); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,10 +0,0 @@ |
|||||||
using System; |
|
||||||
namespace Qt.Core { |
|
||||||
public static class QGlobal { |
|
||||||
|
|
||||||
public const string QT_VERSION_STR = "4.6.2"; |
|
||||||
public const int QT_VERSION = 0x040602; |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,63 +0,0 @@ |
|||||||
using System; |
|
||||||
using System.Runtime.InteropServices; |
|
||||||
using Mono.VisualC.Interop; |
|
||||||
|
|
||||||
namespace Qt.Core { |
|
||||||
public class QObject : ICppObject { |
|
||||||
#region Sync with qobject.h
|
|
||||||
// C++ interface
|
|
||||||
public interface IQObject : ICppClassOverridable<QObject> { |
|
||||||
// ...
|
|
||||||
[Virtual] /*QMetaObject */ IntPtr metaObject(CppInstancePtr @this); |
|
||||||
[Virtual] /*void */ IntPtr qt_metacast(CppInstancePtr @this, string s); |
|
||||||
[Virtual] int qt_metacall(CppInstancePtr @this, /*QMetaObject::Call */ int qMetaObjectCall, int x, /*void **/ IntPtr p); |
|
||||||
// ...
|
|
||||||
[Constructor] void QObject (CppInstancePtr @this, QObject parent); |
|
||||||
[Virtual, Destructor] void Destruct (CppInstancePtr @this); |
|
||||||
// ...
|
|
||||||
[Virtual] bool @event (CppInstancePtr @this, IntPtr qEvent); |
|
||||||
[Virtual] bool eventFilter (CppInstancePtr @this, IntPtr qObject, IntPtr qEvent); |
|
||||||
[Virtual] void timerEvent (CppInstancePtr @this, IntPtr qTimerEvent); |
|
||||||
[Virtual] void childEvent (CppInstancePtr @this, IntPtr qChildEvent); |
|
||||||
[Virtual] void customEvent (CppInstancePtr @this, IntPtr qEvent); |
|
||||||
[Virtual] void connectNotify (CppInstancePtr @this, string signal); |
|
||||||
[Virtual] void disconnectNotify (CppInstancePtr @this, string signal); |
|
||||||
} |
|
||||||
// C++ fields
|
|
||||||
private struct _QObject { |
|
||||||
public IntPtr d_ptr; |
|
||||||
} |
|
||||||
#endregion
|
|
||||||
|
|
||||||
private static IQObject impl = Qt.Libs.QtCore.GetClass<IQObject,_QObject,QObject> ("QObject"); |
|
||||||
public CppInstancePtr Native { get; protected set; } |
|
||||||
|
|
||||||
public QObject (QObject parent) |
|
||||||
{ |
|
||||||
Native = impl.Alloc (this); |
|
||||||
impl.QObject (Native, parent); |
|
||||||
} |
|
||||||
|
|
||||||
public QObject () : this ((QObject)null) |
|
||||||
{ |
|
||||||
} |
|
||||||
|
|
||||||
public QObject (IntPtr native) |
|
||||||
{ |
|
||||||
Native = native; |
|
||||||
} |
|
||||||
|
|
||||||
internal QObject (CppTypeInfo subClass) |
|
||||||
{ |
|
||||||
subClass.AddBase (impl.TypeInfo); |
|
||||||
} |
|
||||||
|
|
||||||
public virtual void Dispose () |
|
||||||
{ |
|
||||||
impl.Destruct (Native); |
|
||||||
Native.Dispose (); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,18 +0,0 @@ |
|||||||
using System; |
|
||||||
using System.Runtime.InteropServices; |
|
||||||
using Mono.VisualC.Interop; |
|
||||||
|
|
||||||
namespace Qt.Core { |
|
||||||
[StructLayout (LayoutKind.Sequential)] |
|
||||||
public struct QSize { |
|
||||||
public int wd; |
|
||||||
public int ht; |
|
||||||
|
|
||||||
public QSize (int w, int h) |
|
||||||
{ |
|
||||||
this.wd = w; |
|
||||||
this.ht = h; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,67 +0,0 @@ |
|||||||
using System; |
|
||||||
using System.Text; |
|
||||||
using System.Runtime.InteropServices; |
|
||||||
|
|
||||||
using Mono.VisualC.Interop; |
|
||||||
using Mono.VisualC.Interop.ABI; |
|
||||||
|
|
||||||
namespace Qt.Core { |
|
||||||
//TODO: Will this leak?
|
|
||||||
[StructLayout (LayoutKind.Sequential)] |
|
||||||
public unsafe struct QString { |
|
||||||
#region Sync with qstring.h
|
|
||||||
public interface IQString : ICppClass { |
|
||||||
[Constructor] void QString(ref QString @this, [MangleAs ("const QChar*")] IntPtr unicode, int size); |
|
||||||
} |
|
||||||
|
|
||||||
[StructLayout (LayoutKind.Sequential)] |
|
||||||
public struct Data { |
|
||||||
public int @ref; |
|
||||||
public int alloc, size; |
|
||||||
public IntPtr data; |
|
||||||
public ushort clean; |
|
||||||
public ushort simpletext; |
|
||||||
public ushort righttoleft; |
|
||||||
public ushort asciiCache; |
|
||||||
public ushort capacity; |
|
||||||
public ushort reserved; |
|
||||||
public IntPtr array; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
public Data* d; |
|
||||||
#endregion
|
|
||||||
|
|
||||||
private static IQString impl = Qt.Libs.QtCore.GetClass<IQString> ("QString"); |
|
||||||
|
|
||||||
public QString (string str) : this () |
|
||||||
{ |
|
||||||
IntPtr strPtr = Marshal.StringToHGlobalUni (str); |
|
||||||
impl.QString (ref this, strPtr, str.Length); |
|
||||||
Marshal.FreeHGlobal (strPtr); |
|
||||||
|
|
||||||
// TODO: I deref this on construction to let Qt free it when it's done with it.
|
|
||||||
// My assumption is that this struct will only be used to interop with Qt and
|
|
||||||
// no managed class is going to hold on to it.
|
|
||||||
this.DeRef (); |
|
||||||
} |
|
||||||
|
|
||||||
public static implicit operator QString (string str) |
|
||||||
{ |
|
||||||
return new QString (str); |
|
||||||
} |
|
||||||
|
|
||||||
public QString AddRef () |
|
||||||
{ |
|
||||||
d->@ref++; |
|
||||||
return this; |
|
||||||
} |
|
||||||
|
|
||||||
public QString DeRef () |
|
||||||
{ |
|
||||||
d->@ref--; |
|
||||||
return this; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,35 +0,0 @@ |
|||||||
using System; |
|
||||||
using Mono.VisualC.Interop; |
|
||||||
|
|
||||||
namespace Qt.Gui { |
|
||||||
public class QAbstractButton : QWidget { |
|
||||||
#region Sync with qabstractbutton.h
|
|
||||||
// C++ interface
|
|
||||||
public interface IQAbstractButton : ICppClassOverridable<QAbstractButton> { |
|
||||||
[Virtual] void paintEvent (CppInstancePtr @this, /*QPaintEvent */ IntPtr e); // abstract
|
|
||||||
[Virtual] bool hitButton (CppInstancePtr @this, /*const QPoint &*/ IntPtr pos); |
|
||||||
[Virtual] void checkStateSet (CppInstancePtr @this); |
|
||||||
[Virtual] void nextCheckState (CppInstancePtr @this); |
|
||||||
} |
|
||||||
private struct _QAbstractButton { |
|
||||||
} |
|
||||||
#endregion
|
|
||||||
|
|
||||||
private static IQAbstractButton impl = Qt.Libs.QtGui.GetClass<IQAbstractButton, _QAbstractButton, QAbstractButton> ("QAbstractButton"); |
|
||||||
|
|
||||||
public QAbstractButton (IntPtr native) : base (impl.TypeInfo) |
|
||||||
{ |
|
||||||
Native = native; |
|
||||||
} |
|
||||||
|
|
||||||
internal QAbstractButton (CppTypeInfo subClass) : base (impl.TypeInfo) |
|
||||||
{ |
|
||||||
subClass.AddBase (impl.TypeInfo); |
|
||||||
} |
|
||||||
|
|
||||||
public override void Dispose () |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,63 +0,0 @@ |
|||||||
using System; |
|
||||||
using System.Runtime.InteropServices; |
|
||||||
using Mono.VisualC.Interop; |
|
||||||
|
|
||||||
using Qt.Core; |
|
||||||
|
|
||||||
namespace Qt.Gui { |
|
||||||
public class QApplication : QCoreApplication { |
|
||||||
#region Sync with qapplication.h
|
|
||||||
// C++ interface
|
|
||||||
public interface IQApplication : ICppClassOverridable<QApplication> { |
|
||||||
// ...
|
|
||||||
[Constructor] void QApplication (CppInstancePtr @this, [MangleAs ("int&")] IntPtr argc, |
|
||||||
[MangleAs ("char**")] IntPtr argv, int version); |
|
||||||
// ...
|
|
||||||
[Virtual] bool macEventFilter(CppInstancePtr @this, IntPtr eventHandlerCallRef, IntPtr eventRef); |
|
||||||
// ...
|
|
||||||
[Virtual] void commitData(CppInstancePtr @this, IntPtr qSessionManager); // was QSessionManager&
|
|
||||||
[Virtual] void saveState(CppInstancePtr @this, IntPtr qSessionManager); // was QSessionManager&
|
|
||||||
// ...
|
|
||||||
[Static] int exec (); |
|
||||||
|
|
||||||
[Virtual, Destructor] void Destruct (CppInstancePtr @this); |
|
||||||
} |
|
||||||
// C++ fields
|
|
||||||
private struct _QApplication { |
|
||||||
} |
|
||||||
#endregion
|
|
||||||
|
|
||||||
private static IQApplication impl = Qt.Libs.QtGui.GetClass<IQApplication,_QApplication,QApplication> ("QApplication"); |
|
||||||
|
|
||||||
public QApplication () : base (impl.TypeInfo) |
|
||||||
{ |
|
||||||
Native = impl.Alloc (this); |
|
||||||
InitArgcAndArgv (); |
|
||||||
impl.QApplication (Native, argc, argv, QGlobal.QT_VERSION); |
|
||||||
} |
|
||||||
|
|
||||||
public QApplication (IntPtr native) : base (impl.TypeInfo) |
|
||||||
{ |
|
||||||
Native = native; |
|
||||||
} |
|
||||||
|
|
||||||
internal QApplication (CppTypeInfo subClass) : base (impl.TypeInfo) |
|
||||||
{ |
|
||||||
subClass.AddBase (impl.TypeInfo); |
|
||||||
} |
|
||||||
|
|
||||||
public override int Exec () |
|
||||||
{ |
|
||||||
return impl.exec (); |
|
||||||
} |
|
||||||
|
|
||||||
public override void Dispose () |
|
||||||
{ |
|
||||||
impl.Destruct (Native); |
|
||||||
FreeArgcAndArgv (); |
|
||||||
Native.Dispose (); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,40 +0,0 @@ |
|||||||
using System; |
|
||||||
using Mono.VisualC.Interop; |
|
||||||
using Mono.VisualC.Interop.ABI; |
|
||||||
|
|
||||||
namespace Qt.Gui { |
|
||||||
public class QPaintDevice : ICppObject { |
|
||||||
#region Sync with qpaintdevice.h
|
|
||||||
// C++ interface
|
|
||||||
public interface IQPaintDevice : ICppClassOverridable<QPaintDevice> { |
|
||||||
[Virtual] int devType (CppInstancePtr @this); |
|
||||||
[Virtual] /*QPaintEngine */ IntPtr paintEngine (CppInstancePtr @this); // abstract
|
|
||||||
//...
|
|
||||||
void QPaintDevice (CppInstancePtr @this); |
|
||||||
[Virtual] int metric (CppInstancePtr @this, /*PaintDeviceMetric*/ IntPtr metric); |
|
||||||
} |
|
||||||
// C++ fields
|
|
||||||
private struct _QPaintDevice { |
|
||||||
public ushort painters; |
|
||||||
} |
|
||||||
#endregion
|
|
||||||
|
|
||||||
private static IQPaintDevice impl = Qt.Libs.QtGui.GetClass<IQPaintDevice,_QPaintDevice,QPaintDevice> ("QPaintDevice"); |
|
||||||
public CppInstancePtr Native { get; protected set; } |
|
||||||
|
|
||||||
public QPaintDevice (IntPtr native) |
|
||||||
{ |
|
||||||
Native = native; |
|
||||||
} |
|
||||||
|
|
||||||
internal QPaintDevice (CppTypeInfo subClass) |
|
||||||
{ |
|
||||||
subClass.AddBase (impl.TypeInfo); |
|
||||||
} |
|
||||||
|
|
||||||
public void Dispose () |
|
||||||
{ |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,51 +0,0 @@ |
|||||||
using System; |
|
||||||
using Mono.VisualC.Interop; |
|
||||||
using Qt.Core; |
|
||||||
|
|
||||||
namespace Qt.Gui { |
|
||||||
public class QPushButton : QAbstractButton { |
|
||||||
#region Sync with qpushbutton.h
|
|
||||||
// C++ interface
|
|
||||||
public interface IQPushButton : ICppClassOverridable<QPushButton> { |
|
||||||
// ...
|
|
||||||
[Constructor] void QPushButton (CppInstancePtr @this, [MangleAs ("const QString &")] ref QString text, QWidget parent); |
|
||||||
// ...
|
|
||||||
[Virtual, Destructor] void Destruct (CppInstancePtr @this); |
|
||||||
} |
|
||||||
// C++ fields
|
|
||||||
private struct _QPushButton { |
|
||||||
} |
|
||||||
#endregion
|
|
||||||
|
|
||||||
private static IQPushButton impl = Qt.Libs.QtGui.GetClass<IQPushButton,_QPushButton,QPushButton> ("QPushButton"); |
|
||||||
|
|
||||||
public QPushButton (string btnText, QWidget parent) : base (impl.TypeInfo) |
|
||||||
{ |
|
||||||
Native = impl.Alloc (this); |
|
||||||
|
|
||||||
QString text = btnText; |
|
||||||
impl.QPushButton (Native, ref text, parent); |
|
||||||
} |
|
||||||
|
|
||||||
public QPushButton (string text) : this (text, (QWidget)null) |
|
||||||
{ |
|
||||||
} |
|
||||||
|
|
||||||
public QPushButton (IntPtr native) : base (impl.TypeInfo) |
|
||||||
{ |
|
||||||
Native = native; |
|
||||||
} |
|
||||||
|
|
||||||
internal QPushButton (CppTypeInfo subClass) : base (impl.TypeInfo) |
|
||||||
{ |
|
||||||
subClass.AddBase (impl.TypeInfo); |
|
||||||
} |
|
||||||
|
|
||||||
public override void Dispose () |
|
||||||
{ |
|
||||||
impl.Destruct (Native); |
|
||||||
Native.Dispose (); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,116 +0,0 @@ |
|||||||
using System; |
|
||||||
using System.Diagnostics; |
|
||||||
using System.Runtime.InteropServices; |
|
||||||
using Mono.VisualC.Interop; |
|
||||||
|
|
||||||
using Qt.Core; |
|
||||||
|
|
||||||
namespace Qt.Gui { |
|
||||||
public class QWidget : QObject { |
|
||||||
#region Sync with qwidget.h
|
|
||||||
// C++ interface
|
|
||||||
public interface IQWidget : ICppClassOverridable<QWidget> { |
|
||||||
// ...
|
|
||||||
[Constructor] void QWidget (CppInstancePtr @this, QWidget parent, /*Qt::WindowFlags */ int f); |
|
||||||
// ...
|
|
||||||
[Virtual] void setVisible (CppInstancePtr @this, bool visible); |
|
||||||
// ...
|
|
||||||
void resize (CppInstancePtr @this, [MangleAs ("const QSize &")] ref QSize size); |
|
||||||
// ...
|
|
||||||
[Virtual] /*QSize*/ int sizeHint (CppInstancePtr @this); |
|
||||||
[Virtual] /*QSize*/ int minimumSizeHint (CppInstancePtr @this); |
|
||||||
// ...
|
|
||||||
[Virtual] int heightForWidth (CppInstancePtr @this, int width); |
|
||||||
// ... protected:
|
|
||||||
[Virtual] void mousePressEvent (CppInstancePtr @this, /*QMouseEvent */ IntPtr p); |
|
||||||
[Virtual] void mouseReleaseEvent (CppInstancePtr @this, /*QMouseEvent */ IntPtr p); |
|
||||||
[Virtual] void mouseDoubleClickEvent (CppInstancePtr @this, /*QMouseEvent */ IntPtr p); |
|
||||||
[Virtual] void mouseMoveEvent (CppInstancePtr @this, /*QMouseEvent */ IntPtr p); |
|
||||||
[Virtual] void wheelEvent (CppInstancePtr @this, /*QWheelEvent */ IntPtr p); |
|
||||||
[Virtual] void keyPressEvent (CppInstancePtr @this, /*QKeyEvent */ IntPtr p); |
|
||||||
[Virtual] void keyReleaseEvent (CppInstancePtr @this, /*QKeyEvent */ IntPtr p); |
|
||||||
[Virtual] void focusInEvent (CppInstancePtr @this, /*QFocusEvent */ IntPtr p); |
|
||||||
[Virtual] void focusOutEvent (CppInstancePtr @this, /*QFocusEvent */ IntPtr p); |
|
||||||
[Virtual] void enterEvent (CppInstancePtr @this, /*QEvent */ IntPtr p); |
|
||||||
[Virtual] void leaveEvent (CppInstancePtr @this, /*QEvent */ IntPtr p); |
|
||||||
[Virtual] void paintEvent (CppInstancePtr @this, /*QPaintEvent */ IntPtr p); |
|
||||||
[Virtual] void moveEvent (CppInstancePtr @this, /*QMoveEvent */ IntPtr p); |
|
||||||
[Virtual] void resizeEvent (CppInstancePtr @this, /*QResizeEvent */ IntPtr p); |
|
||||||
[Virtual] void closeEvent (CppInstancePtr @this, /*QCloseEvent */ IntPtr p); |
|
||||||
[Virtual] void contextMenuEvent (CppInstancePtr @this, /*QContextMenuEvent */ IntPtr p); |
|
||||||
[Virtual] void tabletEvent (CppInstancePtr @this, /*QTabletEvent */ IntPtr p); |
|
||||||
[Virtual] void actionEvent (CppInstancePtr @this, /*QActionEvent */ IntPtr p); |
|
||||||
[Virtual] void dragEnterEvent (CppInstancePtr @this, /*QDragEnterEvent */ IntPtr p); |
|
||||||
[Virtual] void dragMoveEvent (CppInstancePtr @this, /*QDragMoveEvent */ IntPtr p); |
|
||||||
[Virtual] void dragLeaveEvent (CppInstancePtr @this, /*QDragLeaveEvent */ IntPtr p); |
|
||||||
[Virtual] void dropEvent (CppInstancePtr @this, /*QDropEvent */ IntPtr p); |
|
||||||
[Virtual] void showEvent (CppInstancePtr @this, /*QShowEvent */ IntPtr p); |
|
||||||
[Virtual] void hideEvent (CppInstancePtr @this, /*QHideEvent */ IntPtr p); |
|
||||||
[Virtual] bool macEvent (CppInstancePtr @this, /*EventHandlerCallRef */ IntPtr p1, /*EventRef */ IntPtr p2); |
|
||||||
[Virtual] void changeEvent (CppInstancePtr @this, /*QEvent */ IntPtr p); |
|
||||||
// ...
|
|
||||||
[Virtual] void inputMethodEvent (CppInstancePtr @this, /*QInputMethodEvent */ IntPtr p); |
|
||||||
|
|
||||||
//public:
|
|
||||||
[Virtual] /*QVariant*/ IntPtr inputMethodQuery (CppInstancePtr @this, /*Qt::InputMethodQuery */ int x); |
|
||||||
// ... protected:
|
|
||||||
[Virtual] bool focusNextPrevChild (CppInstancePtr @this, bool next); |
|
||||||
|
|
||||||
[Virtual] void styleChange (CppInstancePtr @this, IntPtr qStyle); // compat
|
|
||||||
[Virtual] void enabledChange (CppInstancePtr @this, bool arg); // compat
|
|
||||||
[Virtual] void paletteChange (CppInstancePtr @this, /*const QPalette &*/ IntPtr qPalette); // compat
|
|
||||||
[Virtual] void fontChange (CppInstancePtr @this, /*const QFont &*/ IntPtr qFont); // compat
|
|
||||||
[Virtual] void windowActivationChange (CppInstancePtr @this, bool arg); // compat
|
|
||||||
[Virtual] void languageChange(CppInstancePtr @this); // compat
|
|
||||||
} |
|
||||||
// C++ fields
|
|
||||||
private struct _QWidget { |
|
||||||
public IntPtr data; |
|
||||||
} |
|
||||||
#endregion
|
|
||||||
|
|
||||||
private static IQWidget impl = Qt.Libs.QtGui.GetClass<IQWidget,_QWidget,QWidget> ("QWidget"); |
|
||||||
|
|
||||||
// TODO: ctor ...
|
|
||||||
|
|
||||||
public QWidget (IntPtr native) : this () |
|
||||||
{ |
|
||||||
Native = native; |
|
||||||
} |
|
||||||
|
|
||||||
internal QWidget (CppTypeInfo subClass) : this () |
|
||||||
{ |
|
||||||
subClass.AddBase (impl.TypeInfo); |
|
||||||
} |
|
||||||
|
|
||||||
private QWidget () |
|
||||||
: base (impl.TypeInfo) // Add QObject as base class
|
|
||||||
{ |
|
||||||
// FIXME: Hold on to this object and create methods for it on this class?
|
|
||||||
new QPaintDevice (impl.TypeInfo); // Add QPaintDevice as base class
|
|
||||||
} |
|
||||||
|
|
||||||
public bool Visible { |
|
||||||
get { |
|
||||||
throw new NotImplementedException (); |
|
||||||
} |
|
||||||
set { |
|
||||||
//Debug.Assert (false, "Attach debugger now.");
|
|
||||||
impl.setVisible (Native, value); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public void Resize (int width, int height) |
|
||||||
{ |
|
||||||
QSize s = new QSize (width, height); |
|
||||||
impl.resize (Native, ref s); |
|
||||||
} |
|
||||||
|
|
||||||
public override void Dispose () |
|
||||||
{ |
|
||||||
throw new NotImplementedException (); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,34 +0,0 @@ |
|||||||
using System; |
|
||||||
|
|
||||||
using Mono.VisualC.Interop; |
|
||||||
using Mono.VisualC.Interop.ABI; |
|
||||||
|
|
||||||
namespace Qt { |
|
||||||
// Will be internal; public for testing
|
|
||||||
public static class Libs { |
|
||||||
public static CppLibrary QtCore = null; |
|
||||||
public static CppLibrary QtGui = null; |
|
||||||
|
|
||||||
static Libs () |
|
||||||
{ |
|
||||||
string lib; |
|
||||||
CppAbi abi; |
|
||||||
if (Environment.OSVersion.Platform == PlatformID.Unix) { |
|
||||||
lib = "{0}.so"; |
|
||||||
abi = new ItaniumAbi (); |
|
||||||
} else if (Environment.OSVersion.Platform == PlatformID.Win32NT) |
|
||||||
{ // for Windows...
|
|
||||||
lib = "{0}d4.dll"; |
|
||||||
abi = new MsvcAbi (); |
|
||||||
} else { // for Mac...
|
|
||||||
lib = "/Library/Frameworks/{0}.framework/Versions/Current/{0}"; |
|
||||||
abi = new ItaniumAbi (); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
QtCore = new CppLibrary (string.Format(lib, "QtCore"), abi); |
|
||||||
QtGui = new CppLibrary (string.Format(lib, "QtGui"), abi); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,110 +0,0 @@ |
|||||||
|
|
||||||
EXTRA_DIST = |
|
||||||
|
|
||||||
# Warning: This is an automatically generated file, do not edit!
|
|
||||||
|
|
||||||
if ENABLE_DEBUG |
|
||||||
ASSEMBLY_COMPILER_COMMAND = gmcs |
|
||||||
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -unsafe -warn:4 -optimize- -debug "-define:DEBUG" |
|
||||||
ASSEMBLY = bin/Debug/QtBindings.dll |
|
||||||
ASSEMBLY_MDB = $(ASSEMBLY).mdb |
|
||||||
COMPILE_TARGET = library |
|
||||||
PROJECT_REFERENCES = \
|
|
||||||
../Mono.VisualC.Interop/bin/Debug/Mono.VisualC.Interop.dll |
|
||||||
BUILD_DIR = bin/Debug |
|
||||||
|
|
||||||
QTBINDINGS_DLL_CONFIG_SOURCE=QtBindings.dll.config |
|
||||||
MONO_VISUALC_INTEROP_DLL_SOURCE=../Mono.VisualC.Interop/bin/Debug/Mono.VisualC.Interop.dll |
|
||||||
MONO_VISUALC_INTEROP_DLL=$(BUILD_DIR)/Mono.VisualC.Interop.dll |
|
||||||
QTBINDINGS_DLL_MDB_SOURCE=bin/Debug/QtBindings.dll.mdb |
|
||||||
QTBINDINGS_DLL_MDB=$(BUILD_DIR)/QtBindings.dll.mdb |
|
||||||
CPPINTEROP_DLL= |
|
||||||
|
|
||||||
endif |
|
||||||
|
|
||||||
if ENABLE_RELEASE |
|
||||||
ASSEMBLY_COMPILER_COMMAND = gmcs |
|
||||||
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -unsafe -warn:4 -optimize- |
|
||||||
ASSEMBLY = bin/Release/QtBindings.dll |
|
||||||
ASSEMBLY_MDB = |
|
||||||
COMPILE_TARGET = library |
|
||||||
PROJECT_REFERENCES = \
|
|
||||||
../Mono.VisualC.Interop/bin/Release/CPPInterop.dll |
|
||||||
BUILD_DIR = bin/Release |
|
||||||
|
|
||||||
QTBINDINGS_DLL_CONFIG_SOURCE=QtBindings.dll.config |
|
||||||
MONO_VISUALC_INTEROP_DLL= |
|
||||||
QTBINDINGS_DLL_MDB= |
|
||||||
CPPINTEROP_DLL_SOURCE=../Mono.VisualC.Interop/bin/Release/CPPInterop.dll |
|
||||||
CPPINTEROP_DLL=$(BUILD_DIR)/CPPInterop.dll |
|
||||||
|
|
||||||
endif |
|
||||||
|
|
||||||
AL=al2 |
|
||||||
SATELLITE_ASSEMBLY_NAME=$(notdir $(basename $(ASSEMBLY))).resources.dll |
|
||||||
|
|
||||||
PROGRAMFILES = \
|
|
||||||
$(QTBINDINGS_DLL_CONFIG) \
|
|
||||||
$(MONO_VISUALC_INTEROP_DLL) \
|
|
||||||
$(QTBINDINGS_DLL_MDB) \
|
|
||||||
$(CPPINTEROP_DLL) |
|
||||||
|
|
||||||
LINUX_PKGCONFIG = \
|
|
||||||
$(QTBINDINGS_PC) |
|
||||||
|
|
||||||
|
|
||||||
RESGEN=resgen2 |
|
||||||
|
|
||||||
all: $(ASSEMBLY) $(PROGRAMFILES) $(LINUX_PKGCONFIG) |
|
||||||
|
|
||||||
FILES = \
|
|
||||||
AssemblyInfo.cs \
|
|
||||||
Libs.cs \
|
|
||||||
Gui/QApplication.cs \
|
|
||||||
Core/QGlobal.cs \
|
|
||||||
Core/QCoreApplication.cs \
|
|
||||||
Core/QObject.cs \
|
|
||||||
Gui/QPushButton.cs \
|
|
||||||
Gui/QPaintDevice.cs \
|
|
||||||
Gui/QWidget.cs \
|
|
||||||
Gui/QAbstractButton.cs \
|
|
||||||
Core/QString.cs \
|
|
||||||
Core/QSize.cs |
|
||||||
|
|
||||||
DATA_FILES = |
|
||||||
|
|
||||||
RESOURCES = |
|
||||||
|
|
||||||
EXTRAS = \
|
|
||||||
QtBindings.dll.config \
|
|
||||||
Gui \
|
|
||||||
Core \
|
|
||||||
qtbindings.pc.in |
|
||||||
|
|
||||||
REFERENCES = \
|
|
||||||
System |
|
||||||
|
|
||||||
DLL_REFERENCES = |
|
||||||
|
|
||||||
CLEANFILES = $(PROGRAMFILES) $(LINUX_PKGCONFIG) |
|
||||||
|
|
||||||
include $(top_srcdir)/Makefile.include |
|
||||||
|
|
||||||
QTBINDINGS_DLL_CONFIG = $(BUILD_DIR)/QtBindings.dll.config |
|
||||||
QTBINDINGS_PC = $(BUILD_DIR)/qtbindings.pc |
|
||||||
|
|
||||||
$(eval $(call emit-deploy-target,QTBINDINGS_DLL_CONFIG)) |
|
||||||
$(eval $(call emit-deploy-target,MONO_VISUALC_INTEROP_DLL)) |
|
||||||
$(eval $(call emit-deploy-wrapper,QTBINDINGS_PC,qtbindings.pc)) |
|
||||||
$(eval $(call emit-deploy-target,CPPINTEROP_DLL)) |
|
||||||
|
|
||||||
|
|
||||||
$(eval $(call emit_resgen_targets)) |
|
||||||
$(build_xamlg_list): %.xaml.g.cs: %.xaml |
|
||||||
xamlg '$<' |
|
||||||
|
|
||||||
$(ASSEMBLY_MDB): $(ASSEMBLY) |
|
||||||
|
|
||||||
$(ASSEMBLY): $(build_sources) $(build_resources) $(build_datafiles) $(DLL_REFERENCES) $(PROJECT_REFERENCES) $(build_xamlg_list) $(build_satellite_assembly_list) |
|
||||||
mkdir -p $(shell dirname $(ASSEMBLY)) |
|
||||||
$(ASSEMBLY_COMPILER_COMMAND) $(ASSEMBLY_COMPILER_FLAGS) -out:$(ASSEMBLY) -target:$(COMPILE_TARGET) $(build_sources_embed) $(build_resources_embed) $(build_references_ref) |
|
@ -1,103 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> |
|
||||||
<PropertyGroup> |
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
|
||||||
<ProductVersion>8.0.50727</ProductVersion> |
|
||||||
<SchemaVersion>2.0</SchemaVersion> |
|
||||||
<ProjectGuid>{66212CA6-B8C2-4307-ADDE-DAFEAAB339B9}</ProjectGuid> |
|
||||||
<OutputType>Library</OutputType> |
|
||||||
<RootNamespace>Qt</RootNamespace> |
|
||||||
<AssemblyName>QtBindings</AssemblyName> |
|
||||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion> |
|
||||||
<FileUpgradeFlags> |
|
||||||
</FileUpgradeFlags> |
|
||||||
<UpgradeBackupLocation> |
|
||||||
</UpgradeBackupLocation> |
|
||||||
<OldToolsVersion>2.0</OldToolsVersion> |
|
||||||
<PublishUrl>http://localhost/QtBindings/</PublishUrl> |
|
||||||
<Install>true</Install> |
|
||||||
<InstallFrom>Web</InstallFrom> |
|
||||||
<UpdateEnabled>true</UpdateEnabled> |
|
||||||
<UpdateMode>Foreground</UpdateMode> |
|
||||||
<UpdateInterval>7</UpdateInterval> |
|
||||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits> |
|
||||||
<UpdatePeriodically>false</UpdatePeriodically> |
|
||||||
<UpdateRequired>false</UpdateRequired> |
|
||||||
<MapFileExtensions>true</MapFileExtensions> |
|
||||||
<ApplicationRevision>0</ApplicationRevision> |
|
||||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion> |
|
||||||
<IsWebBootstrapper>true</IsWebBootstrapper> |
|
||||||
<UseApplicationTrust>false</UseApplicationTrust> |
|
||||||
<BootstrapperEnabled>true</BootstrapperEnabled> |
|
||||||
<TargetFrameworkProfile /> |
|
||||||
</PropertyGroup> |
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
|
||||||
<DebugSymbols>true</DebugSymbols> |
|
||||||
<DebugType>full</DebugType> |
|
||||||
<Optimize>false</Optimize> |
|
||||||
<OutputPath>bin\Debug</OutputPath> |
|
||||||
<DefineConstants>DEBUG</DefineConstants> |
|
||||||
<ErrorReport>prompt</ErrorReport> |
|
||||||
<WarningLevel>4</WarningLevel> |
|
||||||
<ConsolePause>false</ConsolePause> |
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> |
|
||||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> |
|
||||||
</PropertyGroup> |
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
|
||||||
<DebugType>none</DebugType> |
|
||||||
<Optimize>false</Optimize> |
|
||||||
<OutputPath>bin\Release</OutputPath> |
|
||||||
<ErrorReport>prompt</ErrorReport> |
|
||||||
<WarningLevel>4</WarningLevel> |
|
||||||
<ConsolePause>false</ConsolePause> |
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> |
|
||||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> |
|
||||||
</PropertyGroup> |
|
||||||
<ItemGroup> |
|
||||||
<Reference Include="System" /> |
|
||||||
</ItemGroup> |
|
||||||
<ItemGroup> |
|
||||||
<Compile Include="AssemblyInfo.cs" /> |
|
||||||
<Compile Include="Libs.cs" /> |
|
||||||
<Compile Include="Gui\QApplication.cs" /> |
|
||||||
<Compile Include="Core\QGlobal.cs" /> |
|
||||||
<Compile Include="Core\QCoreApplication.cs" /> |
|
||||||
<Compile Include="Core\QObject.cs" /> |
|
||||||
<Compile Include="Gui\QPushButton.cs" /> |
|
||||||
<Compile Include="Gui\QPaintDevice.cs" /> |
|
||||||
<Compile Include="Gui\QWidget.cs" /> |
|
||||||
<Compile Include="Gui\QAbstractButton.cs" /> |
|
||||||
<Compile Include="Core\QString.cs" /> |
|
||||||
<Compile Include="Core\QSize.cs" /> |
|
||||||
</ItemGroup> |
|
||||||
<ItemGroup> |
|
||||||
<ProjectReference Include="..\Mono.VisualC.Interop\Mono.VisualC.Interop.csproj"> |
|
||||||
<Project>{4A864586-93C5-4DC1-8A80-F094A88506D7}</Project> |
|
||||||
<Name>Mono.VisualC.Interop</Name> |
|
||||||
</ProjectReference> |
|
||||||
</ItemGroup> |
|
||||||
<ItemGroup> |
|
||||||
<None Include="QtBindings.dll.config"> |
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
|
||||||
</None> |
|
||||||
</ItemGroup> |
|
||||||
<ItemGroup> |
|
||||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5"> |
|
||||||
<Visible>False</Visible> |
|
||||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> |
|
||||||
<Install>false</Install> |
|
||||||
</BootstrapperPackage> |
|
||||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> |
|
||||||
<Visible>False</Visible> |
|
||||||
<ProductName>.NET Framework 3.5 SP1</ProductName> |
|
||||||
<Install>true</Install> |
|
||||||
</BootstrapperPackage> |
|
||||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> |
|
||||||
<Visible>False</Visible> |
|
||||||
<ProductName>Windows Installer 3.1</ProductName> |
|
||||||
<Install>true</Install> |
|
||||||
</BootstrapperPackage> |
|
||||||
</ItemGroup> |
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> |
|
||||||
</Project> |
|
@ -1,5 +0,0 @@ |
|||||||
<!-- The dllmap doesn't work (I think) because the assembly that actually has the DllImports is the one emitted by SRE --> |
|
||||||
<configuration> |
|
||||||
<dllmap dll="QtCore4" os="osx" target="/Library/Frameworks/QtCore.framework/Versions/Current/QtCore" /> |
|
||||||
<dllmap dll="QtGui4" os="osx" target="/Library/Frameworks/QtGui.framework/Versions/Current/QtGui" /> |
|
||||||
</configuration> |
|
@ -1,6 +0,0 @@ |
|||||||
Name: QtBindings |
|
||||||
Description: QtBindings |
|
||||||
Version: 0.1 |
|
||||||
|
|
||||||
Requires: |
|
||||||
Libs: -r:@expanded_libdir@/@PACKAGE@/QtBindings.dll |
|
@ -1,29 +0,0 @@ |
|||||||
top_srcdir = ../.. |
|
||||||
|
|
||||||
INTEROP_DLL = \
|
|
||||||
$(top_srcdir)/bin/Debug/Mono.Cxxi.dll |
|
||||||
|
|
||||||
all: hello.exe |
|
||||||
|
|
||||||
qt-gui.xml: qt-gui.h |
|
||||||
$(GCCXML) -fxml=$@ --gccxml-cxxflags "`pkg-config --cflags QtCore QtGui`" qt-gui.h |
|
||||||
|
|
||||||
generated: qt-gui.xml |
|
||||||
$(RM) -r generated |
|
||||||
$(MONO) --debug $(top_srcdir)/bin/Debug/generator.exe -o=generated -ns=Qt.Gui -lib=QtGui --filters=qt-gui-filters.txt qt-gui.xml |
|
||||||
|
|
||||||
#libQtGui-inline.so: qt-gui.cpp
|
|
||||||
# $(CXX) `pkg-config --cflags QtCore QtGui` --shared -fPIC -o $@ -fkeep-inline-functions qt-gui.cpp `pkg-config --libs QtCore QtGui`
|
|
||||||
|
|
||||||
Qt.Gui-binding.dll: generated QString.cs |
|
||||||
$(RM) -f generated/QString.cs |
|
||||||
$(GMCS) -out:$@ -target:library -unsafe -r:$(INTEROP_DLL) generated/*.cs QString.cs |
|
||||||
|
|
||||||
hello.exe: Qt.Gui-binding.dll hello.cs #libQtGui-inline.so
|
|
||||||
$(GMCS) -out:$@ -target:exe -r:$(INTEROP_DLL) -r:Qt.Gui-binding.dll hello.cs |
|
||||||
|
|
||||||
clean: |
|
||||||
$(RM) -rf generated hello.exe qt-gui.xml Qt.Gui-binding.dll libQtGui-inline.so |
|
||||||
|
|
||||||
run: hello.exe |
|
||||||
MONO_PATH=$(top_srcdir)/bin/Debug $(MONO) hello.exe |
|
@ -1,20 +0,0 @@ |
|||||||
using System; |
|
||||||
using Qt.Gui; |
|
||||||
|
|
||||||
using Mono.Cxxi; |
|
||||||
|
|
||||||
namespace QtTest { |
|
||||||
class MainClass { |
|
||||||
public static void Main (string[] args) |
|
||||||
{ |
|
||||||
int argc = args.Length; |
|
||||||
using (QApplication app = new QApplication (ref argc, args, 0x040602)) { |
|
||||||
QPushButton hello = new QPushButton ("Hello", null); |
|
||||||
hello.Resize (100, 30); |
|
||||||
hello.Show (); |
|
||||||
QApplication.Exec (); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
Loading…
Reference in new issue