diff options
Diffstat (limited to 'doc/html/activeqt-dotnet.html')
-rw-r--r-- | doc/html/activeqt-dotnet.html | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/doc/html/activeqt-dotnet.html b/doc/html/activeqt-dotnet.html index e0cfa0d83..e5602e256 100644 --- a/doc/html/activeqt-dotnet.html +++ b/doc/html/activeqt-dotnet.html @@ -104,12 +104,12 @@ and is by Microsoft referred to as the "It Just Works" (IJW) feature. C++ code (that uses TQt) with managed .NET code. First, the manual way is presented, which includes using a thin MC++ wrapper class around the normal TQt/C++ class. Then, the automated way is presented, which -utilizes the <a href="activeqt.html#ActiveTQt">ActiveTQt</a> framework as a generic bridge. The advantage of +utilizes the <a href="activentqt.html#ActiveTQt">ActiveTQt</a> framework as a generic bridge. The advantage of the first method is that it gives the application developer full control, while the second method requires less coding and relieves the developer of dealing with the conversion between managed and normal data objects. -<p> The impatient reader, who right away wants to see a <a href="qpushbutton.html">TQPushButton</a> and a +<p> The impatient reader, who right away wants to see a <a href="ntqpushbutton.html">TQPushButton</a> and a custom TQt widget (<a href="qaxserver-example-multiple.html">TQAxWidget2</a>) run in a .NET GUI application is referred to the example directory of ActiveTQt. It contains the result of this walkthrough using both C# and VB.NET, created with Visual Studio.NET (not 2003). @@ -130,23 +130,23 @@ managed programming language. <p> <pre> // native TQt/C++ class - class Worker : public <a href="qobject.html">TQObject</a> + class Worker : public <a href="ntqobject.html">TQObject</a> { <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a> Q_PROPERTY(TQString statusString READ statusString WRITE setStatusString) public: Worker(); - <a href="qstring.html">TQString</a> statusString() const; + <a href="ntqstring.html">TQString</a> statusString() const; public slots: - void setStatusString(const <a href="qstring.html">TQString</a> &string); + void setStatusString(const <a href="ntqstring.html">TQString</a> &string); signals: - void statusStringChanged(const <a href="qstring.html">TQString</a> &string); + void statusStringChanged(const <a href="ntqstring.html">TQString</a> &string); private: - <a href="qstring.html">TQString</a> status; + <a href="ntqstring.html">TQString</a> status; }; </pre> <p> The TQt class has nothing unusual for TQt users, and as even the TQt @@ -180,7 +180,7 @@ function <tt>statusStringChanged(String*)</tt> (<tt>__event</tt>), the equivalent of the respective signal in the TQt class. <p> Before we can start implementing the wrapper class we need a way to convert TQt's datatypes (and potentionally your own) into .NET -datatypes, e.g. <a href="qstring.html">TQString</a> objects need to be converted into objects +datatypes, e.g. <a href="ntqstring.html">TQString</a> objects need to be converted into objects of type <tt>String*</tt>. <p> When operating on managed objects in normal C++ code, a little extra care must be taken because of the CLR's garbage collection. A normal @@ -201,16 +201,16 @@ to the String object, even if it has been moved by the garbage collector, and it can be used just like a normal pointer. <p> -<pre> #include <<a href="qstring-h.html">qstring.h</a>> +<pre> #include <<a href="qstring-h.html">ntqstring.h</a>> #using <mscorlib.dll> #include <vcclr.h> using namespace System; - String *TQStringToString(const <a href="qstring.html">TQString</a> &qstring) + String *TQStringToString(const <a href="ntqstring.html">TQString</a> &qstring) { - <a name="x2467"></a> return new String(qstring.<a href="qstring.html#ucs2">ucs2</a>()); + <a name="x2467"></a> return new String(qstring.<a href="ntqstring.html#ucs2">ucs2</a>()); } </pre> <p> <pre> TQString StringToTQString(String *string) @@ -304,7 +304,7 @@ Visual Basic or any other programming language available for .NET. COM object and is generated by the CLR when a .NET Framework client activates a COM object. This provides a generic way to reuse COM objects in a .NET Framework project. -<p> Making a <a href="qobject.html">TQObject</a> class into a COM object is easily achieved with +<p> Making a <a href="ntqobject.html">TQObject</a> class into a COM object is easily achieved with ActiveTQt and demonstrated in the <a href="qaxserver-examples.html">examples</a>. The walkthrough will use the TQt classes implemented in those examples, so the first thing to do is to make sure that those examples have been built correctly, e.g. by opening the <a href="qaxserver-demo-multiple.html">demonstration pages</a> in Internet @@ -331,12 +331,12 @@ will now be available from the toolbox as grey squares with their name next to it <a href="#footnote4"><sup>(4)</sup></a><a name="footnote-call4"></a> . <p> <h3> Using TQt Widgets </h3> -<a name="3-3"></a><p> We can now add an instance of TQAxWidget2 and a <a href="qpushbutton.html">TQPushButton</a> to +<a name="3-3"></a><p> We can now add an instance of TQAxWidget2 and a <a href="ntqpushbutton.html">TQPushButton</a> to the form. Visual Studio will automatically generate the RCW for the object servers. The TQAxWidget2 instance takes most of the upper part of the form, with the TQPushButton in the lower right corner. <p> In the property editor of Visual Studio we can modify the properties -of our controls - TQPushButton exposes the <a href="qwidget.html">TQWidget</a> API and has many +of our controls - TQPushButton exposes the <a href="ntqwidget.html">TQWidget</a> API and has many properties, while TQAxWidget2 has only the Visual Studio standard properties in addition to its own property "lineWidth" in the "Miscellaneous" category. The objects are named "axTQPushButton1" and @@ -370,7 +370,7 @@ the line width by one for every click: clicking on the widget in the form, but the default events for our widgets are right now not defined. <p> We will also implement an event handler for the <tt>clicked</tt> signal -emitted by <a href="qpushbutton.html">TQPushButton</a>. Add the event handler <tt>resetLineWidth</tt> to +emitted by <a href="ntqpushbutton.html">TQPushButton</a>. Add the event handler <tt>resetLineWidth</tt> to the <tt>clicked</tt> event, and implement the generated function: <p> <pre> private void resetLineWidth(object sender, System.EventArgs e) { @@ -399,7 +399,7 @@ thanks to the C++ extensions provided by Microsoft. <a name="4-1"></a><p> All the limitations when using ActiveTQt are implied when using this technique to interoperate with .NET, e.g. the datatypes we can use in the APIs can only be those supported by ActiveTQt and COM. However, -since this includes subclasses of <a href="qobject.html">TQObject</a> and <a href="qwidget.html">TQWidget</a> we can wrap +since this includes subclasses of <a href="ntqobject.html">TQObject</a> and <a href="ntqwidget.html">TQWidget</a> we can wrap any of our datatypes into a TQObject subclass to make its API available to .NET. This has the positive side effect that the same API is automatically available in <a href="http://www.trolltech.com/products/qsa">TQSA</a>, the cross platform |