diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2018-10-21 19:05:32 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2018-10-21 19:05:32 +0900 |
commit | 23b535df5bc08e8f5e98270859c5dc5c73f4ebdd (patch) | |
tree | 0bb79edeb79d219b3c55958f57e808ce088a6b09 /doc | |
parent | c048ce6e8cc109b317293d380a5053e19a37dd31 (diff) | |
download | tqt3-23b535df5bc08e8f5e98270859c5dc5c73f4ebdd.tar.gz tqt3-23b535df5bc08e8f5e98270859c5dc5c73f4ebdd.zip |
Removed some obsolete code related to Qt1.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/html/index | 2 | ||||
-rw-r--r-- | doc/html/porting2.html | 965 | ||||
-rw-r--r-- | doc/html/qt.dcf | 6 | ||||
-rw-r--r-- | doc/html/removed20.html | 379 | ||||
-rw-r--r-- | doc/html/titleindex | 2 | ||||
-rw-r--r-- | doc/man/README | 1 | ||||
-rw-r--r-- | doc/man/man1/tqt20fix.1 | 32 | ||||
-rw-r--r-- | doc/porting2.doc | 1441 |
8 files changed, 0 insertions, 2828 deletions
diff --git a/doc/html/index b/doc/html/index index e8cc96581..37f3089f2 100644 --- a/doc/html/index +++ b/doc/html/index @@ -63,7 +63,6 @@ "Font Displayer" qfd-example.html "Fonts in Qt/Embedded" emb-fonts.html "Format of the QDataStream Operators" datastreamformat.html -"Functions removed in TQt 2.0" removed20.html "GNU General Public License" gpl.html "Getting Started" motif-walkthrough-1.html "Grapher Plugin" grapher-nsplugin-example.html @@ -119,7 +118,6 @@ "Pictures of Most TQt Widgets" pictures.html "Play Tetrix!" qaxserver-demo-tetrax.html "Popup Widgets" popup-example.html -"Porting to TQt 2.x" porting2.html "Porting to TQt 3.x" porting.html "Porting your applications to Qt/Embedded" emb-porting.html "Preparing to Migrate the User Interface" motif-walkthrough-2.html diff --git a/doc/html/porting2.html b/doc/html/porting2.html deleted file mode 100644 index 3402721cb..000000000 --- a/doc/html/porting2.html +++ /dev/null @@ -1,965 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/porting2.doc:36 --> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> -<title>Porting to TQt 2.x</title> -<style type="text/css"><!-- -fn { margin-left: 1cm; text-indent: -1cm; } -a:link { color: #004faf; text-decoration: none } -a:visited { color: #672967; text-decoration: none } -body { background: #ffffff; color: black; } ---></style> -</head> -<body> - -<table border="0" cellpadding="0" cellspacing="0" width="100%"> -<tr bgcolor="#E5E5E5"> -<td valign=center> - <a href="index.html"> -<font color="#004faf">Home</font></a> - | <a href="classes.html"> -<font color="#004faf">All Classes</font></a> - | <a href="mainclasses.html"> -<font color="#004faf">Main Classes</font></a> - | <a href="annotated.html"> -<font color="#004faf">Annotated</font></a> - | <a href="groups.html"> -<font color="#004faf">Grouped Classes</font></a> - | <a href="functions.html"> -<font color="#004faf">Functions</font></a> -</td> -<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Porting to TQt 2.x</h1> - - - -<p> <p> -You're probably looking at this page because you want to port -your application from TQt 1.x to TQt 2.x, but to be sure, let's -review the good reasons to do this: -<ul> -<li>To get access to all the new TQt 2.x features like the rich text -HTML subset for formatted labels, tooltips, online help etc. -and the much easier to use layout classes and widgets. -<li>To make your application truly international, with support -for Unicode and translations for the languages of the world. -<li>To allow your application to fit into the new look of the -Unix desktop with configurable, very powerful "themes". The -extended style system also integrates TQt applications better -on MS-Windows desktops. TQt will automatically chose the right -colors and fonts and obey global system setting changes. -<li>To stay up-to-date with the version of TQt that gets all the -new features and bug-fixes. -<li>To get more speed and smoother widgets display with all the -new anti-flicker changes in TQt. -<li>Most of all though, you want to port to TQt 2.x -so that your Wheel Mouse works! -</ul> -<p> <p> -The TQt 2.x series is not binary compatible with the 1.x series. -This means programs compiled for TQt 1.x must be recompiled to work -with TQt 2.x. TQt 2.x is also not completely <em>source</em> compatible -with 1.x, however all points of incompatibility cause -compiler errors (rather than mysterious results), or produce run-time -messages. The result is that TQt 2.x includes many additional features, -discards obsolete functionality that is easily converted to use the new -features, and that porting an application from TQt 1.x to TQt 2.x is -a simple task well worth the amount of effort required. -<p> To port code using TQt 1.x to use TQt 2.x: -<p> <ul> -<li> Briefly read the porting notes below to get an idea of what to expect. -<li> Be sure your code compiles and runs well on all your target platforms with TQt 1.x. -<li> Recompile with TQt 2.x. For each error, search below for related -identifiers (eg. function names, class names) - this documented is -structured to mention all relevant identifiers to facilitate such -searching, even if that makes it a little verbose. -<li> If you get stuck, ask on the qt-interest mailing list, or -Trolltech Technical Support if you're a Professional Edition -licensee. -</ul> -<p> Many very major projects, such as <a href="http://www.kde.org/">KDE</a> -have been port, so there is plenty of expertise in the collective conscious -that is the TQt Developer Community! -</p> -<p> <hr> -<p> <h2 align=center>The Porting Notes</h2> -<p> <ul> -<li><b><a href="#Namespace">Namespace</a></b> -<li><b><a href="#Virtual">Virtual Functions</a></b> -<li><b><a href="#Collection">Collection classes</a></b> -<li><b><a href="#DefaultParent">No Default 0 Parent Widget</a></b> -<li><b><a href="#DebugVsRelease">Debug vs. Release</a></b> -<li><b><a href="#TQApplication">TQApplication</a></b> -<li><b><a href="#TQClipboard">TQClipboard</a></b> -<li><b><a href="#TQColor">TQColor</a></b> -<li><b><a href="#TQDataStream">TQDataStream</a></b> -<li><b><a href="#TQDialog">TQDialog</a></b> -<li><b><a href="#TQDropSite">TQDropSite</a></b> -<li><b><a href="#TQEvent">TQEvent</a></b> -<li><b><a href="#TQFile">TQFile</a></b> -<li><b><a href="#TQFontMetrics">TQFontMetrics</a></b> -<li><b><a href="#TQIODevice">TQIODevice</a></b> -<li><b><a href="#TQLabel">TQLabel</a></b> -<li><b><a href="#TQLayout">TQLayout</a></b> -<li><b><a href="#TQListView">TQListView</a></b> -<li><b><a href="#TQMenuData">TQMenuData</a></b> -<li><b><a href="#TQMenuData">TQPopupMenu</a></b> -<li><b><a href="#TQMultiLineEdit">TQMultiLineEdit</a></b> -<li><b><a href="#TQPainter">TQPainter</a></b> -<li><b><a href="#TQPicture">TQPicture</a></b> -<li><b><a href="#TQPoint">TQPoint, <a href="ntqpointarray.html">TQPointArray</a>, <a href="ntqsize.html">TQSize</a> and <a href="ntqrect.html">TQRect</a></a></b> -<li><b><a href="#TQPixmap">TQPixmap</a></b> -<li><b><a href="#TQRgb">TQRgb</a></b> -<li><b><a href="#TQScrollView">TQScrollView</a></b> -<li><b><a href="#TQStrList">TQStrList</a></b> -<li><b><a href="#TQString">TQString</a></b> -<li><b><a href="#TQTextStream">TQTextStream</a></b> -<li><b><a href="#TQUriDrag">TQUriDrag / TQUrlDrag</a></b> -<li><b><a href="#TQValidator">TQComboBox</a></b> -<li><b><a href="#TQValidator">TQLineEdit</a></b> -<li><b><a href="#TQValidator">TQSpinBox</a></b> -<li><b><a href="#TQValidator">TQValidator</a></b> -<li><b><a href="#TQWidget">TQWidget</a></b> -<li><b><a href="#TQWindow">TQWindow</a></b> -</ul> -<p> <hr> -<p> <h3><a name="Namespace">Namespace</a></h3> -<p> <p> TQt 2.x is namespace-clean, unlike 1.x. TQt now uses very few -global identifiers. Identifiers like <code>red, blue, LeftButton, -AlignRight, Key_Up, Key_Down, NoBrush</code> etc. are now part of a -special class <code>TQt</code> (defined in ntqnamespace.h), -which is inherited by -most TQt classes. Member functions of classes that inherit from <a href="ntqwidget.html">TQWidget</a>, -etc. are totally unaffected, but code that is -<em>not</em> in functions of classes inherited from <code>TQt</code>, -you must qualify these identifiers like this: <code>TQt::red, -TQt::LeftButton, TQt::AlignRight</code>, etc. -<p> <p>The <code>qt/bin/tqt20fix</code> script helps to fix the code that -needs adaption, though most code does not need changing. -<p> Compiling with -DQT1COMPATIBILITY will help you get going with TQt 2.x -- it allows all the old "dirty namespace" identifiers from TQt 1.x to -continue working. Without it, you'll get compile errors that can -easily be fixed by searching this page for the clean identifiers. -<p> <h3><a name="DefaultParent">No Default 0 Parent Widget</a></h3> -<p> In TQt 1.x, all widget constructors were defined with a default value -of 0 for the parent widget. However, only the main window of the -application should be created with a 0 parent, all other widgets -should have parents. Having the 0 default made it too simple to create -bugs by forgetting to specify the parent of non-mainwindow -widgets. Such widgets would typically never be deleted (causing memory -leaks), and they would become top-level widgets, confusing the window -managers. Therefore, in TQt 2.x the 0 default parent has been removed -for the widget classes that are not likely to be used as main windows. -<p> Note also that programs no longer need (or should) use 0 parent just -to indicate that a widget should be top-level. See -<pre> TQWidget::isTopLevel() </pre> - for details. See also the notes about -<a href="#TQMenuData">TQPopupMenu</a> and <a href="#TQDialog">TQDialog</a> -below. -<p> <h3><a name="Virtual">Virtual Functions</a></h3> -<p> <p> Some virtual functions have changed signature in TQt 2.x. -If you override them in derived classes, you must change the signature -of your functions accordingly. -<p> <!-- warwick can check for additions to this with his qt-2-report --> -<ul> -<li><pre> TQWidget::setStyle(GUIStyle)</pre> - -<li><pre> TQListView::addColumn(const char *, int)</pre> - -<li><pre> TQListView::setColumnText(int, const char *)</pre> - -<li><pre> TQListViewItem::setText(int, const char *)</pre> - -<li><pre> TQMultiLineEdit::insertLine(const char *, int)</pre> - -<li><pre> TQMultiLineEdit::insertAt(const char *, int, int, bool)</pre> - -<li><pre> TQSpinBox::setPrefix(const char *)</pre> - -<li><pre> TQSpinBox::setSuffix(const char *)</pre> - -<li><pre> TQToolButton::setTextLabel(const char *, bool)</pre> - -<li><pre> TQDoubleValidator::validate(TQString &, int &)</pre> - -<li><pre> TQIntValidator::validate(TQString &, int &)</pre> - -<li><pre> TQValidator::fixup(TQString &)</pre> - -<li><pre> TQSlider::paintSlider(TQPainter *, const <a href="ntqrect.html">TQRect</a> &)</pre> - -</ul> -<p> This is one class of changes that are -not detected by the compiler, -so you should mechanically search for each of -these function names in your header files, eg. -<p> <pre> -egrep -w 'setStyle|addColumn|setColumnText|setText...' *.h -</pre> - -<p> Of course, you'll get a few false positives (eg. if you have a setText -function that is not in a subclass of <a href="qlistviewitem.html">TQListViewItem</a>). -<p> <h3><a name="Collection">Collection classes</a></h3> -<p> <p> The <a href="collection.html#collection-classes">collection classes</a> include generic -classes such as TQGDict, TQGList, and -the subclasses such as <a href="ntqdict.html">TQDict</a> and TQPtrList. -<p> <p> The macro-based TQt collection classes are obsolete; use the -template-based classes instead. Simply remove includes of ntqgeneric.h and -replace e.g. Q_DECLARE(<a href="ntqcache.html">TQCache</a>,TQPixmap) with TQCache<TQPixmap>. -<p> <p> The GCI global typedef is replaced by TQCollection::Item. Only if you -make your own subclasses of the undocumented generic collection classes -will you have GCI in your code. -This change has been made to avoid collisions with other namespaces. -<p> <p> The GCF global typedef is removed (it was not used in TQt). -<p> <h3><a name="DebugVsRelease">Debug vs. Release</a></h3> -<p> <p>The Q_ASSERT macro is now a null expression if the QT_CHECK_STATE flag -is not set (i.e. if the TQT_NO_CHECK flag is defined). -<p> <p>The debug() function now outputs nothing if TQt was compiled with -the TQT_NO_DEBUG macro defined. -<p> <h3><a name="TQString">TQString</a></h3> -<p> <a href="ntqstring.html">TQString</a> has undergone major changes internally, and although it is highly -backward compatible, it is worth studying in detail when porting to TQt 2.x. -The TQt 1.x TQString class has been renamed to <a href="ntqcstring.html">TQCString</a> in TQt 2.x, though if -you use that you will incur a performance penalty since all TQt functions -that took const char* now take const TQString&. -<p> <p> -To take full advantage of the new <a href="i18n.html#internationalization">Internationalization</a> -functionality in TQt 2.x, the following steps are required: -<p> <ul> -<li> Start converting all uses of "const char*" in parameters to -"const TQString&" - this can often be done mechanically, eg. -using Perl. Convert usage of char[] for temporary string -building to TQString (much software already uses TQString for -this purpose as it offers many more facilities). -<p> If you find that you are mixing usage of TQCString, TQString, -and <a href="qbytearray.html">TQByteArray</a>, this causes lots of unnecessary copying and -might indicate that the true nature of the data you are -dealing with is uncertain. If the data is NUL-terminated -8-bit data, use TQCString; if it is unterminated (ie. -contains NULs) 8-bit data, use TQByteArray; if it is text, -use <a href="ntqstring.html">TQString</a>. -</p> -<li> Put a breakpoint in <pre> TQString::latin1()</pre> - -to catch places where -Unicode information is being converted to ASCII (loosing -information if your user in not using Latin1). TQt has -a small number of calls to this - ignore those. As a stricter -alternative, compile your code with TQT_NO_ASCII_CAST defined, -which hides the automatic conversion of TQString to const char*, -so you can catch problems at compile time. -</p> -<li> See the TQt <a href="i18n.html">Internationalization page</a> -for information about the full process of internationalizing -your software. -</ul> -<p> <p> -Points to note about the new TQString are: -<p> <dl compact> -<dt><b>Unicode</b></dt> -<dd> -TQt now uses Unicode throughout. -data() now returns a <em>const</em> reference to an ASCII version -of the string - you cannot directly access the -string as an array of bytes, because it isn't one. Often, latin1() is -what you want rather than data(), or just leave it to convert to -const char* automatically. data() is only used now to aide porting to TQt 2.x, -and ideally you'll only need latin1() or implicit conversion when interfacing -to facilities that do not have Unicode support. -<p> <dt><b>Automatic-expanding</b></dt> -<dd> -A big advantage of the new <a href="ntqstring.html">TQString</a> is that it automatically expands -when you write to an indexed position. -<p> <dt><b>TQChar and <a href="qcharref.html">TQCharRef</a></b></dt> -<dd> -<a href="qchar.html">TQChar</a> are the Unicode characters that make up a TQString. A TQCharRef is -a temporary reference to a TQChar in a TQString that when assigned to -ensures that the <a href="shclass.html#implicit-sharing">implicit sharing</a> semantics of the TQString are maintained. -You are unlikely to use TQCharRef in your own code - but so that you -understand compiler error messages, just know that <tt>mystring[123]</tt> -is a TQCharRef whenever <tt>mystring</tt> is not a constant string. A TQCharRef -has basically the same functionality as a TQChar, except it is more restricted -in what you can assign to it and cast it to (to avoid programming errors). -<p> <dt><b>Use TQString</b></dt> -<dd> -Try to always use TQString. If you <em>must</em>, use <a href="ntqcstring.html">TQCString</a> which is the -old implementation from TQt 1.x. -<p> <dt><b>Unicode vs. ASCII</b></dt> -<dd> -Every conversion to and from ASCII is wasted time, so try to use <a href="ntqstring.html">TQString</a> -as much as possible rather than const char*. This also ensures you have -full 16-bit support. -<p> <dt><b>Convertion to ASCII</b></dt> -<dd> -The return value from operator const char*() is transient - don't expect -it to remain valid while you make deep function calls. -It is valid for as long as you don't modify or destroy the TQString. -<p> <dt><b>TQString is simpler</b></dt> -<dd> -Expect your code to become simpler with the new TQString, especially -places where you have used a char* to wander over the string rather -than using indexes into the string. -<p> <dt><b>Some hacks don't work</b></dt> -<dd> -This hack: -use_sub_string( &my_string[index] ) -should be replaced by: -use_sub_string( my_string.mid(index) ) -<p> <dt><b>TQString(const char*, int) is removed</b></dt> -<dd> -The TQString constructor taking a const char* and an integer is removed. -Use of this constructor was error-prone, since the length included the -'\0' terminator. Use <a href="ntqstring.html#left">TQString::left</a>(int) or <a href="ntqstring.html#fromLatin1">TQString::fromLatin1</a>( const char*, -int ) -- in both cases the int parameter signifies the number of characters. -<p> <dt><b>TQString(int) is private</b></dt> -<dd> -The <a href="ntqstring.html">TQString</a> constructor taking an integer is now private. This function -is not meaningful anymore, since TQString does all space allocation -automatically. 99% of cases can simple be changed to use the -default constructor, TQString(). -<p> -In TQt 1.x the constructor was used in two ways: accidentally, -by attempting to convert a char to a TQString (the char converts to int!) - -giving strange bugs, and as a way to make a TQString big enough prior to -calling <pre> TQString::sprintf()</pre> - . In TQt 2.x, the accidental bug case is -prevented (you will get a compilation error) and TQString::sprintf has -been made safe - you no longer need to pre-allocate space (though for -other reasons, sprintf is still a poor choice - eg. it doesn't pass Unicode). -The only remaining common case is conversion of 0 (NULL) to TQString, which -would usually give expected results in TQt 1.x. For TQt 2.x the correct -syntax is to use <a href="ntqstring.html#TQString-null">TQString::null</a>, though note that -the default constructor, TQString(), creates a null string too. -Assignment of 0 to a <a href="ntqstring.html">TQString</a> is ambiguous - assign -TQString::null; you'll mainly find these in code that has been converted -from const char* types to TQString. -This also prevents a common error case from TQt 1.x - in -that version, mystr = 'X' would <em>not</em> produce the expected -results and was always a programming error; in TQt 2.x, it works - making -a single-character string. -<p> <p> -Also see <a href="#TQStrList">TQStrList</a>. -<p> <dt><b>Signals and Slots</b></dt> -<dd> -Many signal/slots have changed from const char* to TQString. You will -get run-time errors when you try to <pre> TQObject::connect()</pre> - -to the old -signals and slots, usually with a message indicating the const TQString& -replacement signal/slot. -<p> <dt><b>Optimize with Q2HELPER</b></dt> -<dd> -In qt/src/tools/qstring.cpp there is a Q2HELPER - define it for some -extra debugging/optimizing features (don't leave it it - it kills performance). -You'll get an extra function, qt_qstring_stats(), which will print a -summary of how much your application is doing Unicode and ASCII -back-and-forth conversions. -<p> <dt><b>TQString::detach() is obsolete and removed</b></dt> -<dd> -Since <a href="ntqstring.html">TQString</a> is now always shared, this function does nothing. -Remove calls to TQString::detach(). -<p> <dt><b>TQString::resize(int size) is obsolete and removed</b></dt> -<dd> -Code using this to truncate a string should use -<a href="ntqstring.html#truncate">truncate(size-1)</a>. -Code using qstr.resize(0) should use qstr = TQString::null. -Code calling resize(n) prior to using -<a href="ntqstring.html#operator[]">operator[]</a> up to n just remove -the resize(n) completely. -<p> <dt><b>TQString::size() is obsolete and removed</b></dt> -<dd> -Calls to this function must be replaced by -<a href="ntqstring.html#length">length()</a>+1. -<p> <dt><b>TQString::setStr(const char*) is removed</b></dt> -<dd>Try to understand why you were using this. -If you just meant assignment, use that. Otherwise, -you are probably using TQString as an array of bytes, in which case use -<a href="qbytearray.html">TQByteArray</a> or <a href="ntqcstring.html">TQCString</a> instead. -<p> <dt><b>TQString is not an array of bytes</b></dt> -<dd> -Code that uses <a href="ntqstring.html">TQString</a> as an array of bytes should use TQByteArray -or a char[], <em>then</em> convert that to a TQString if needed. -<p> <dt><b>"string = 0"</b></dt> -<dd> -Assigning 0 to a TQString should be assigning the null string, -ie. string = TQString::null. -<p> <dt><b>System functions</b></dt> -<dd> -You may find yourself needing latin1() for passing to the operating system -or other libraries, and be tempted to use TQCString to save the conversion, -but you are better off using Unicode throughout, then when the operating -system supports Unicode, you'll be prepared. Some Unix operating systems -are now beginning to have basic Unicode support, and TQt will be tracking -these improvements as they become more widespread. -<p> <dt><b>Bugs removed</b></dt> -<dd> -toShort() returns 0 (and sets *ok to false) on error. -toUInt() now works for big valid unsigned integers. -insert() now works into the same string. -<p> <dt><b>NULL pointers</b></dt> -<dd> -When converting "const char*" usage to TQString in order to make your -application fully Unicode-aware, use TQString::null for the null value -where you would have used 0 with char pointers. -<p> <dt><b>TQString is not null terminated</b></dt> -<dd> -This means that inserting a 0-character -in the middle of the string does <em>not</em> change the length(). ie. -<pre> - <a href="ntqstring.html">TQString</a> s = "fred"; - s[1] = '\0'; - // s.<a href="ntqstring.html#length">length</a>() == 4 - // s == "f\0ed" - // s.<a href="ntqstring.html#latin1">latin1</a>() == "f" - s[1] = 'r'; - // s == "fred" - // s.<a href="ntqstring.html#latin1">latin1</a>() == "fred" - </pre> - -Especially look out for this type of code: -<pre> - <a href="ntqstring.html">TQString</a> s(2); - s[0] = '?'; - s[1] = 0; - </pre> - -This creates a string 2 characters long. -To find these problems while converting, you might like to -add <a href="ntqapplication.html#Q_ASSERT">Q_ASSERT</a>(strlen(d->ascii)==d->len) inside -<pre> TQString::latin1()</pre> - . -<p> <dt><b>TQString or Standard C++ string?</b></dt> -<dd> -<p> -The Standard C++ Library string is not Unicode. Nor is wstring defined -to be so (for the small number of platforms where it is defined at all). -This is the same mistake made over and over -in the history of C - only when non-8-bit characters are <em>the norm</em> -do programmers find them usable. Though it is possible to convert between -string and <a href="ntqstring.html">TQString</a>, it is less efficient than using TQString throughout. -For example, when using: -<pre> - TQLabel::<a href="ntqlabel.html#setText">setText</a>( const <a href="ntqstring.html">TQString</a>& ) -</pre> - -if you use string, like this: -<pre> - void myclass::dostuffwithtext( const string& str ) - { - mylabel.setText( TQString(str.c_str()) ); - } -</pre> - -that will create a (ASCII only) copy of str, stored in mylabel. -But this: -<pre> - void myclass::dostuffwithtext( const <a href="ntqstring.html">TQString</a>& str ) - { - mylabel.setText( str ); - } -</pre> - -will make an <a href="shclass.html#implicitly-shared">implicitly shared</a> reference to str in the <a href="ntqlabel.html">TQLabel</a> - no copying -at all. This function might be 10 nested function calls away from something -like this: -<pre> - void toplevelclass::initializationstuff() - { - doStuff( tr("Okay") ); - } -</pre> - -At this point, in TQt 2.x, the tr() does a very fast dictionary lookup -through memory-mapped message files, returning some Unicode <a href="ntqstring.html">TQString</a> for -the appropriate language (the default being to just make a TQString out -of the text, of course - you're not <em>forced</em> to use any of these -features), and that <em>same</em> memory mapped Unicode will be passed -though the system. All occurrences of the translation of "Okay" can -potentially be shared. -<p> </dl> -<p> <h3><a name="TQApplication">TQApplication</a></h3> -<p> In the function <pre> TQApplication::setColorSpec()</pre> - , -PrivateColor and TrueColor are obsolete. Use ManyColor instead. -<p> <h3><a name="TQColor">TQColor</a></h3> -<p> <p> -All colors -(color0, -color1, -black, -white, -darkGray, -gray, -lightGray, -red, -green, -blue, -cyan, -magenta, -yellow, -darkRed, -darkGreen, -darkBlue, -darkCyan, -darkMagenta, -and -darkYellow) -are in the TQt namespace. -In members of classes that inherit the TQt namespace-class (eg. <a href="ntqwidget.html">TQWidget</a> -subclasses), you can use the unqualified names as before, but in global -functions (eg. main()), you need to qualify them: TQt::red, TQt::white, etc. -See also the <a href="#TQRgb">TQRgb</a> section below. -<p> <h3><a name="TQRgb">TQRgb</a></h3> -<p> In TQRgb (a typedef of long), the order of the RGB channels has changed to -be in the more efficient order (for typical contemporary hardware). If your -code made assumptions about the order, you will get blue where you expect -red and vice versa (you'll not notice the problem if you use shades of -gray, green, or magenta). You should port your code to use the -creator function <a href="ntqcolor.html#qRgb">tqRgb</a>(int r,int g,int b) and the -access functions <a href="ntqcolor.html#qRed">tqRed</a>(TQRgb), <a href="ntqcolor.html#qBlue">tqBlue</a>(TQRgb), and <a href="ntqcolor.html#qGreen">tqGreen</a>(TQRgb). -If you are using the alpha channel, it hasn't moved, but you should use -the functions <a href="ntqcolor.html#qRgba">tqRgba</a>(int,int,int,int) and <a href="ntqcolor.html#qAlpha">tqAlpha</a>(TQRgb). Note also that -<a href="ntqcolor.html#pixel">TQColor::pixel</a>() does <i>not</i> return a TQRgb (it never did on all platforms, -but your code may have assumed so on your platform) - this may also produce -strange color results - use <a href="ntqcolor.html#rgb">TQColor::rgb</a>() if you want a TQRgb. -<p> <h3><a name="TQDataStream">TQDataStream</a></h3> -<p> <p>The TQDatastream serialization format of most TQt classes is changed -in TQt 2.x. Use <pre> TQDataStream::setVersion( 1 )</pre> - to get a -datastream object that can read and write TQt 1.x format data streams. -<p> <p>If you want to write TQt 1.x format datastreams, note the following -compatibility issues: -<ul> -<li>TQString: TQt 1.x has no Unicode support, so strings will be -serialized by writing the classic C string returned by <pre> - TQString::<a href="ntqstring.html#latin1">latin1</a>().</pre> - -<li><a href="#TQPoint">TQPoint & al.</a>: Coordinates will be -truncated to the TQt 1.x 16 bit format. -</ul> -<p> <h3><a name="TQWidget">TQWidget</a></h3> -<p> <h4>TQWidget::recreate()</h4> -<p> -This function is now called <a href="ntqwidget.html#reparent">reparent()</a>. -<p> <h4>TQWidget::setAcceptFocus(bool)</h4> -<p> -This function is removed. -Calls like TQWidget::setAcceptFocus(TRUE) should be replaced by -<pre> TQWidget::setFocusPolicy(StrongFocus)</pre> - , and -calls like TQWidget::setAcceptFocus(FALSE) should be replaced by -<pre> TQWidget::setFocusPolicy(NoFocus)</pre> - . -Additional policies are TabFocus and ClickFocus. -<p> <h4>TQWidget::paintEvent()</h4> -<p> -paintEvent(0) is not permitted - subclasses need not check for -a null event, and might crash. -Never pass 0 as the argument to paintEvent(). You probably -just want repaint() or update() instead. -<p> -When processing a paintEvent, painting is only permitted within -the update region specified in the event. Any painting outside will be -clipped away. This shouldn't break any code (it was always like this -on MS-Windows) but makes many explicit calls to -<a href="ntqpainter.html#setClipRegion">TQPainter::setClipRegion</a>() superfluous. Apart from the improved -consistency, the change is likely to reduce flicker and to make TQt -event slightly faster. -<p> <h3><a name="TQIODevice">TQIODevice</a></h3> -<p> -The protected member TQIODevice::index is renamed to TQIODevice::ioIndex -to avoid warnings and to allow compilation with bad C libraries that -#define index to strchr. If you have made a subclass of <a href="ntqiodevice.html">TQIODevice</a>, -check every occurrence of the string "index" in the implementation, since -a compiler will not always catch cases like <pre>(uint)index</pre> - -that need to be changed. -<p> <h3><a name="TQLabel">TQLabel</a></h3> -<p> <h4><pre> TQLabel::setMargin()</pre> - </h4> -<p> -<pre> TQLabel::setMargin()</pre> - and<pre> TQLabel::margin()</pre> - -have been renamed to <pre> TQLabel::setIndent()</pre> - and -<pre> TQLabel::indent()</pre> - , respectively. This was done to avoid -collision with <a href="ntqframe.html#setMargin">TQFrame::setMargin</a>(), which is now virtual. -<p> <h4><pre> TQLabel::setMovie()</pre> - </h4> -<p> -Previously, setting a movie on a label cleared the value of text(). -Now it doesn't. If you somehow used <tt>TQLabel::text()</tt> -to detect if a -movie was set, you might have trouble. This is unlikely. -<p> <h3><a name="TQDialog">TQDialog</a></h3> -<p> <p> The semantics of the parent pointer changed for modeless dialogs: -In TQt-2.x, dialogs are always top level windows. The parent, however, -takes the ownership of the dialog, i.e. it will delete the dialog at -destruction if it has not been explicitly deleted -already. Furthermore, the window system will be able to tell that both -the dialog and the parent belong together. Some X11 window managers -will for instance provide a common taskbar entry in that case. -<p> <p> -If the dialog belongs to a top level main window -of your application, pass this main window as parent to the dialog's -constructor. Old code (with 0 pointer) will still run. Old code that -included TQDialogs as child widgets will no longer work (it never really did). -If you think you might be doing this, put a breakpoint in -<a href="ntqdialog.html#TQDialog">TQDialog::TQDialog</a>() conditional on parent not being 0. -<p> <h3><a name="TQStrList">TQStrList</a></h3> -<p> Many methods that took a <a href="ntqstrlist.html">TQStrList</a> can now instead take a <a href="ntqstringlist.html">TQStringList</a>, -which is a real list of <a href="ntqstring.html">TQString</a> values. -<p> To use TQStringList rather than TQStrList, change loops that look like this: -<pre> - <a href="ntqstrlist.html">TQStrList</a> list = ...; - const char* s; - for ( s = list.<a href="ntqptrlist.html#first">first</a>(); s; s = list.<a href="ntqptrlist.html#next">next</a>() ) { - process(s); - } -</pre> - -to be like this: -<pre> - <a href="ntqstringlist.html">TQStringList</a> list = ...; - TQStringList::ConstIterator i; - for ( i = list.<a href="ntqvaluelist.html#begin">begin</a>(); i != list.<a href="ntqvaluelist.html#end">end</a>(); ++i ) { - process(*i); - } -</pre> - -<p> In general, the TQStrList functions are less efficient, building a temporary TQStringList. -<p> The following functions now use TQStringList rather than TQStrList -for return types/parameters. -<p> <ul> -<li><tt>void <a href="ntqfiledialog.html#setFilters">TQFileDialog::setFilters</a>(const <a href="ntqstrlist.html">TQStrList</a>&)</tt> -becomes <tt>void TQFileDialog::setFilters(const <a href="ntqstringlist.html">TQStringList</a>&)</tt> -<li><tt>TQStrList <a href="ntqfiledialog.html#getOpenFileNames">TQFileDialog::getOpenFileNames</a>(...)</tt> -becomes <tt>TQStringList TQFileDialog::getOpenFileNames(...)</tt> -<li><tt>bool TQUrlDrag::decodeLocalFiles(<a href="qmimesource.html">TQMimeSource</a>*, TQStrList&)</tt> -becomes <tt>bool <a href="quridrag.html#decodeLocalFiles">TQUriDrag::decodeLocalFiles</a>(TQMimeSource*, TQStringList&)</tt> -<li><tt>const TQStrList *TQDir::entryList(...) const</tt> -becomes <tt>TQStringList <a href="ntqdir.html#entryList">TQDir::entryList</a>(...) const</tt> -(note that the return type is no longer a pointer). You may also -choose to use encodedEntryList(). -</ul> -<p> The following functions are added: -<ul> -<li><tt>TQComboBox::insertStringList(const TQStringList &, int index=-1)</tt> -<li><tt>TQListBox::insertStringList(const TQStringList &,int index=-1)</tt> -</ul> -<p> The rarely used static function <tt>void -TQFont::listSubstitutions(<a href="ntqstrlist.html">TQStrList</a>*)</tt> is replaced by <tt>TQStringList -<a href="ntqfont.html#substitutions">TQFont::substitutions</a>()</tt>. -<p> <h3><a name="TQLayout">TQLayout</a></h3> -<p> <p> Calling resize(0,0) or resize(1,1) will no longer work magically. -Remove all such calls. The default size of top level widgets will be their -<a href="ntqwidget.html#sizeHint">sizeHint()</a>. -<p> <p> The default implementation of <a href="ntqwidget.html#sizeHint">TQWidget::sizeHint</a>() will no longer -return just an invalid size; if the widget has a layout, it will return -the layout's preferred size. -<p> <p> The special maximum MaximumHeight/Width is now TQWIDGETSIZE_MAX, -not TQCOORD_MAX. -<p> <p> <a href="qboxlayout.html#addWidget">TQBoxLayout::addWidget()</a> -now interprets the <em>alignment</em> parameter more aggressively. A -non-default alignment now indicates that the widget should not grow to -fill the available space, but should be sized according to sizeHint(). -If a widget is too small, set the alignment to 0. (Zero indicates no -alignment, and is the default.) -<p> <p> The class TQGManager is removed. Subclasses of <a href="ntqlayout.html">TQLayout</a> need to be rewritten -to use the new, much simpler <a href="ntqlayout.html">TQLayout API</a>. -<p> <p> For typical layouts, all use of -<a href="ntqwidget.html#setMinimumSize">setMinimumSize()</a> -and -<a href="ntqwidget.html#setFixedSize">setFixedSize()</a> -can be removed. -<a href="ntqlayout.html#activate">activate()</a> is no longer necessary. -<p> <p> -You might like to look at the <a href="ntqgrid.html">TQGrid</a>, <a href="ntqvbox.html">TQVBox</a>, and <a href="ntqhbox.html">TQHBox</a> widgets - they offer -a simple way to build nested widget structures. -<p> <h3><a name="TQListView">TQListView</a></h3> -<p> <p>In TQt 1.x mouse events to the viewport where redirected to the -event handlers for the listview; in TQt 2.x, this functionality is -in <a href="ntqscrollview.html">TQScrollView</a> where mouse (and other position-oriented) events are -redirected to viewportMousePressEvent() etc, which in turn translate -the event to the coordinate system of the contents and call -contentsMousePressEvent() etc, thus providing events in the most -convenient coordinate system. If you overrode TQListView::MouseButtonPress(), -<a href="ntqwidget.html#mouseDoubleClickEvent">TQListView::mouseDoubleClickEvent</a>(), <a href="ntqwidget.html#mouseMoveEvent">TQListView::mouseMoveEvent</a>(), or -<a href="ntqwidget.html#mouseReleaseEvent">TQListView::mouseReleaseEvent</a>() you must instead override -viewportMousePressEvent(), -viewportMouseDoubleClickEvent(), viewportMouseMoveEvent(), or -viewportMouseReleaseEvent() respectively. New code will usually override -contentsMousePressEvent() etc. -<p> <p>The signal <a href="ntqlistview.html#selectionChanged">TQListView::selectionChanged</a>(<a href="qlistviewitem.html">TQListViewItem</a> *) can now be -emitted with a null pointer as parameter. Programs that use the -argument without checking for 0, may crash. -<p> <h3><a name="TQMultiLineEdit">TQMultiLineEdit</a></h3> -<p> <p> -The protected function -<pre> TQMultiLineEdit::textWidth(TQString*)</pre> - -changed to -<pre> TQMultiLineEdit::textWidth(const <a href="ntqstring.html">TQString</a>&)</pre> - . -This is unlikely to be a problem, and you'll get a compile error -if you called it. -<p> <h3><a name="TQClipboard">TQClipboard</a></h3> -<p> <p> -<pre> TQClipboard::pixmap()</pre> - now returns a <a href="ntqpixmap.html">TQPixmap</a>, not a TQPixmap*. -The pixmap -will be <a href="ntqpixmap.html#isNull">null</a> if no pixmap is on the -clipboard. <a href="ntqclipboard.html">TQClipboard</a> now offers powerful MIME-based types on the -clipboard, just like drag-and-drop (in fact, you can reuse most of your -drag-and-drop code with clipboard operations). -<p> <h3><a name="TQDropSite">TQDropSite</a></h3> -<p> <P> -TQDropSite is obsolete. If you simply passed <tt>this</tt>, just remove -the inheritance of TQDropSite and call -<a href="ntqwidget.html#setAcceptDrops">setAcceptDrops(TRUE)</a> in the class -constructor. -If you passed something other than <tt>this</tt>, -your code will not work. A common case is passing -the -<a href="ntqscrollview.html#viewport">viewport()</a> of a <a href="ntqlistview.html">TQListView</a>, -in which case, -override the -<a href="ntqscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent()</a>, -etc. -functions rather than TQListView's dragMoveEvent() etc. For other -cases, you will need to use an event filter to act on the drag/drop events -of another widget (as is the usual way to intercept foreign events). -<p> <h3><a name="TQScrollView">TQScrollView</a></h3> -<p> The parameters in the signal -<a href="ntqscrollview.html#contentsMoving">contentsMoving(int,int)</a> -are now positive rather than negative values, coinciding with -<a href="ntqscrollview.html#setContentsPos">setContentsPos()</a>. Search for -connections you make to this signal, and either change the slot they are -connected to such that it also expects positive rather than negative -values, or introduce an intermediate slot and signal that negates them. -<p> If you used drag and drop with <a href="ntqscrollview.html">TQScrollView</a>, you may experience the problem -described for <a href="#TQDropSite">TQDropSite</a>. -<p> <h3><a name="TQTextStream">TQTextStream</a></h3> -<p> <p> -<pre> operator<<(TQTextStream&, TQChar&)</pre> - does not skip whitespace. -<pre> operator<<(TQTextStream&, char&)</pre> - does, -as was the case with TQt 1.x. This is for backward compatibility. -<p> <h3><a name="TQUriDrag">TQUriDrag</a></h3> -<p> The class TQUrlDrag is renamed to <a href="quridrag.html">TQUriDrag</a>, and the API has been -broadened to include additional conversion routines, including -conversions to Unicode filenames (see the class documentation -for details). Note that in TQt 1.x -the TQUrlDrag class used the non-standard MIME type "url/url", -while TQUriDrag uses the standardized "text/uri-list" type. Other -identifiers affected by the Url to Uri change are -TQUrlDrag::setUrls() and TQUrlDrag::urlToLocalFile(). -<p> <h3><a name="TQPainter">TQPainter</a></h3> -<p> <p> The GrayText painter flag has been removed. Use -<a href="ntqpainter.html#setPen">setPen( palette().disabled().foreground() )</a> -instead. -<p> <p> The RasterOp enum -(CopyROP, -OrROP, -XorROP, -NotAndROP, -EraseROP, -NotCopyROP, -NotOrROP, -NotXorROP, -AndROP, NotEraseROP, -NotROP, -ClearROP, -SetROP, -NopROP, -AndNotROP, -OrNotROP, -NandROP, -NorROP, LastROP) -is now part of the TQt namespace class, so if you -use it outside a member function, you'll need to prefix with TQt::. -<p> <h3><a name="TQPicture">TQPicture</a></h3> -<p> <p>The binary storage format of <a href="ntqpicture.html">TQPicture</a> is changed, but the TQt 2.x -TQPicture class can both read and write TQt 1.x format TQPictures. No -special handling is required for reading; TQPicture will automatically -detect the version number. In order to write a TQt 1.x format TQPicture, -set the formatVersion parameter to 1 in the TQPicture constructor. -<p> <p>For writing TQt 1.x format TQPictures, the compatibility issues of <a -href="#TQDataStream">TQDataStream</a> applies. -<p> <p>It is safe to try to read a TQPicture file generated with TQt 2.x -(without formatVersion set to 1) with a program compiled with TQt -1.x. The program will not crash, it will just issue the warning -"TQPicture::play: Incompatible version 2.x" and refuse to load the -picture. -<p> <h3><a name="TQPoint">TQPoint, <a href="ntqpointarray.html">TQPointArray</a>, <a href="ntqsize.html">TQSize</a> and <a href="ntqrect.html">TQRect</a></a></h3> -<p> <p>The basic coordinate datatype in these classes, TQCOORD, is now 32 -bit (int) instead of a 16 bit (short). The const values TQCOORD_MIN and -TQCOORD_MAX have changed accordingly. -<p> <p>TQPointArray is now actually, not only seemingly, a TQArray of <a href="ntqpoint.html">TQPoint</a> -objects. The semi-internal workaround classes TQPointData and TQPointVal -are removed since they are no longer needed; TQPoint is used directly -instead. The function <pre> TQPointArray::shortPoints()</pre> - -provides the point array converted to short (16bit) coordinates for -use with external functions that demand that format. -<p> <h3><a name="TQImage">TQImage</a></h3> -<p> <a href="ntqimage.html">TQImage</a> uses TQRgb for the colors - see <a href="#TQRgb">the changes to that</a>. -<p> <h3><a name="TQPixmap">TQPixmap</a></h3> -<p> <pre> TQPixmap::convertToImage()</pre> - with bitmaps now guarantees that color0 pixels -become color(0) in the resulting TQImage. If you worked around the lack of -this, you may be able to simplify your code. If you made assumptions -about the previous undefined behavior, the symptom will be inverted -bitmaps (eg. "inside-out" masks). -<p> <p> -<pre> TQPixmap::optimize(TRUE)</pre> - -is replaced by -<pre> TQPixmap::setOptimization(TQPixmap::NormalOptim)</pre> - -or -<pre> TQPixmap::setOptimization(TQPixmap::BestOptim)</pre> - -- see the documentation -to choose which is best for your application. NormalOptim is most like -the TQt 1.x "TRUE" optimization. -<p> <h3><a name="TQMenuData">TQMenuData / <a href="ntqpopupmenu.html">TQPopupMenu</a></a></h3> -<p> In TQt 1.x, new menu items were assigned either an application-wide -unique identifier or an identifier equal to the index of the item, depending on the -<a href="ntqmenudata.html#insertItem">insertItem(...)</a> function used. -In TQt 2.x this confusing -situation has been cleaned up: generated identifiers are always -unique across the entire application. -<p> If your code depends on generated ids -being equal to the item's index, a quick fix is to use -<pre> TQMenuData::indexOf(int id)</pre> - -in the handling function instead. You may alternatively pass -<pre> TQMenuData::count()</pre> - -as identifier when you insert the items. -<p> Furthermore, TQPopupMenus can (and should!) be created with a parent -widget now, for example the main window that is used to display the -popup. This way, the popup will automatically be destroyed together -with its main window. Otherwise you'll have to take care of the -ownership manually. -<p> TQPopupMenus are also reusable in 2.x. They may occur in different -locations within one menu structure or be used as both a menubar -drop-down and as a context popup-menu. This should make it possible to -significantly simplify many applications. -<p> Last but not least, <a href="ntqpopupmenu.html">TQPopupMenu</a> no longer inherits TQTableView. Instead, -it directly inherits <a href="ntqframe.html">TQFrame</a>. -<p> <h3><a name="TQValidator">TQValidator (<a href="ntqlineedit.html">TQLineEdit</a>, <a href="ntqcombobox.html">TQComboBox</a>, <a href="ntqspinbox.html">TQSpinBox</a>) </a></h3> -<p> <pre> TQValidator::validate(...)</pre> - -and -<pre> TQValidator::fixup( <a href="ntqstring.html">TQString</a> & )</pre> - -are now const -functions. If your subclass reimplements validate() as a -non-const function, -you will get a compile error (validate was pure virtual). -<p> In TQLineEdit, TQComboBox, and TQSpinBox, -setValidator(...) now takes a const pointer to a <a href="ntqvalidator.html">TQValidator</a>, and -validator() returns a const pointer. This change highlights the fact -that the widgets do not take the ownership of the validator (a validator is -a <a href="ntqobject.html">TQObject</a> on its own, with its own parent - you can easily set the same validator -object on many different widgets), so changing the state of -such an object or deleting it is very likely a bug. -<p> <h3><a name="TQFile">TQFile, <a href="ntqfileinfo.html">TQFileInfo</a>, <a href="ntqdir.html">TQDir</a></a></h3> -<p> File and directory names are now always Unicode strings (ie. <a href="ntqstring.html">TQString</a>). If you used TQString -in the past for the simplicity it offers, you'll probably have little consequence. However, -if you pass filenames to system functions rather than using TQt functions (eg. if you use the -Unix <tt>unlink()</tt> function rather than <tt>TQFile::remove()</tt>, your code will probably -only work for Latin1 locales (eg. Western Europe, the U.S.). To ensure your code will support -filenames in other locales, either use the TQt functions, or convert the filenames via -<pre> TQFile::encodeFilename()</pre> - and <pre> TQFile::decodeFilename()</pre> - - but do it -<em>just</em> as you call the system function - code that mixes encoded and unencoded filenames -is very error prone. See the comments in TQString, such as regarding TQT_NO_ASCII_CAST that -can help find potential problems. -<p> <h3><a name="TQFontMetrics">TQFontMetrics</a></h3> -<p> boundingRect(char) is replaced by -boundingRect(<a href="qchar.html">TQChar</a>), but since -char auto-converts to TQChar, you're not likely to run into problems -with this. -<p> <h3><a name="TQWindow">TQWindow</a></h3> -<p> This class (which was just <a href="ntqwidget.html">TQWidget</a> under a different name) has been -removed. If you used it, do a global search-and-replace of the word -"TQWindow" with "TQWidget". -<p> <h3><a name="TQEvent">TQEvent</a></h3> -<p> <p> The global #define macros in ntqevent.h have been replaced by an -enum in <a href="ntqevent.html">TQEvent</a>. Use e.g. TQEvent::Paint instead of Event_Paint. Same -for all of: -Event_None, -Event_Timer, -Event_MouseButtonPress, -Event_MouseButtonRelease, -Event_MouseButtonDblClick, -Event_MouseMove, -Event_KeyPress, -Event_KeyRelease, -Event_FocusIn, -Event_FocusOut, -Event_Enter, -Event_Leave, -Event_Paint, -Event_Move, -Event_Resize, -Event_Create, -Event_Destroy, -Event_Show, -Event_Hide, -Event_Close, -Event_Quit, -Event_Accel, -Event_Clipboard, -Event_SockAct, -Event_DragEnter, -Event_DragMove, -Event_DragLeave, -Event_Drop, -Event_DragResponse, -Event_ChildInserted, -Event_ChildRemoved, -Event_LayoutHint, -Event_ActivateControl, -Event_DeactivateControl, -and -Event_User. -<p> <p> The Q_*_EVENT macros in ntqevent.h have been deleted. Use an -explicit cast instead. The macros were: -Q_TIMER_EVENT, -Q_MOUSE_EVENT, -Q_KEY_EVENT, -Q_FOCUS_EVENT, -Q_PAINT_EVENT, -Q_MOVE_EVENT, -Q_RESIZE_EVENT, -Q_CLOSE_EVENT, -Q_SHOW_EVENT, -Q_HIDE_EVENT, -and -Q_CUSTOM_EVENT. -<p> <p> TQChildEvents are now sent for all TQObjects, not just TQWidgets. -You may need to add extra checking if you use a <a href="qchildevent.html">TQChildEvent</a> without -much testing of its values. -<p> <h3>All the removed functions</h3> -<p> All <a href="removed20.html">these functions</a> have been removed in -TQt 2.x. Most are simply cases where "const char*" has changed to -"const <a href="ntqstring.html">TQString</a>&", or when an enumeration type has moved into the TQt:: -namespace (which, technically, is a new name, but your code will -compile just the same anyway). This list is provided for completeness. -<p> -<!-- eof --> -<p><address><hr><div align=center> -<table width=100% cellspacing=0 border=0><tr> -<td>Copyright © 2007 -<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> -<td align=right><div align=right>TQt 3.3.8</div> -</table></div></address></body> -</html> diff --git a/doc/html/qt.dcf b/doc/html/qt.dcf index cf77ec581..7a70cf0c9 100644 --- a/doc/html/qt.dcf +++ b/doc/html/qt.dcf @@ -9858,9 +9858,6 @@ <section ref="datastreamformat.html" title="Format of the QDataStream Operators"> <keyword ref="datastreamformat.html">Format of the QDataStream Operators</keyword> </section> -<section ref="removed20.html" title="Functions removed in TQt 2.0"> - <keyword ref="removed20.html">Functions removed in TQt 2.0</keyword> -</section> <section ref="motif-walkthrough-1.html" title="Getting Started"> <keyword ref="motif-walkthrough-1.html">Getting Started</keyword> </section> @@ -10077,9 +10074,6 @@ <section ref="popup-example.html" title="Popup Widgets"> <keyword ref="popup-example.html">Popup Widgets</keyword> </section> -<section ref="porting2.html" title="Porting to TQt 2.x"> - <keyword ref="porting2.html">Porting to TQt 2.x</keyword> -</section> <section ref="porting.html" title="Porting to TQt 3.x"> <keyword ref="porting.html">Porting to TQt 3.x</keyword> </section> diff --git a/doc/html/removed20.html b/doc/html/removed20.html deleted file mode 100644 index 71a5c6eb4..000000000 --- a/doc/html/removed20.html +++ /dev/null @@ -1,379 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/porting2.doc:1096 --> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> -<title>Functions removed in TQt 2.0</title> -<style type="text/css"><!-- -fn { margin-left: 1cm; text-indent: -1cm; } -a:link { color: #004faf; text-decoration: none } -a:visited { color: #672967; text-decoration: none } -body { background: #ffffff; color: black; } ---></style> -</head> -<body> - -<table border="0" cellpadding="0" cellspacing="0" width="100%"> -<tr bgcolor="#E5E5E5"> -<td valign=center> - <a href="index.html"> -<font color="#004faf">Home</font></a> - | <a href="classes.html"> -<font color="#004faf">All Classes</font></a> - | <a href="mainclasses.html"> -<font color="#004faf">Main Classes</font></a> - | <a href="annotated.html"> -<font color="#004faf">Annotated</font></a> - | <a href="groups.html"> -<font color="#004faf">Grouped Classes</font></a> - | <a href="functions.html"> -<font color="#004faf">Functions</font></a> -</td> -<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Functions removed in TQt 2.0</h1> - - -<p> <pre> - -<a href="ntqfiledialog.html#fileHighlighted">TQFileDialog::fileHighlighted</a>(const char *) -<a href="ntqfiledialog.html#fileSelected">TQFileDialog::fileSelected</a>(const char *) -<a href="ntqfiledialog.html#dirEntered">TQFileDialog::dirEntered</a>(const char *) -TQFileDialog::updatePathBox(const char *) -<a href="ntqobject.html#name">TQObject::name</a>(void) const -<a href="ntqfiledialog.html#getOpenFileName">TQFileDialog::getOpenFileName</a>(const char *, const char *, <a href="ntqwidget.html">TQWidget</a> *, const char *) -<a href="ntqfiledialog.html#getSaveFileName">TQFileDialog::getSaveFileName</a>(const char *, const char *, TQWidget *, const char *) -<a href="ntqfiledialog.html#getExistingDirectory">TQFileDialog::getExistingDirectory</a>(const char *, TQWidget *, const char *) -<a href="ntqfiledialog.html#getOpenFileNames">TQFileDialog::getOpenFileNames</a>(const char *, const char *, TQWidget *, const char *) -<a href="ntqfiledialog.html#setSelection">TQFileDialog::setSelection</a>(const char *) -<a href="ntqfiledialog.html#setDir">TQFileDialog::setDir</a>(const char *) -<a href="ntqmessagebox.html#setText">TQMessageBox::setText</a>(const char *) -<a href="ntqmessagebox.html#setButtonText">TQMessageBox::setButtonText</a>(const char *) -TQMessageBox::setButtonText(int, const char *) -<a href="ntqwidget.html#setStyle">TQMessageBox::setStyle</a>(GUIStyle) -<a href="ntqmessagebox.html#standardIcon">TQMessageBox::standardIcon</a>(TQMessageBox::Icon, GUIStyle) -<a href="ntqmessagebox.html#information">TQMessageBox::information</a>(<a href="ntqwidget.html">TQWidget</a> *, const char *, const char *, const char *, const char *, const char *, int, int) -TQMessageBox::information(TQWidget *, const char *, const char *, int, int, int) -<a href="ntqmessagebox.html#warning">TQMessageBox::warning</a>(TQWidget *, const char *, const char *, const char *, const char *, const char *, int, int) -TQMessageBox::warning(TQWidget *, const char *, const char *, int, int, int) -<a href="ntqmessagebox.html#critical">TQMessageBox::critical</a>(TQWidget *, const char *, const char *, const char *, const char *, const char *, int, int) -TQMessageBox::critical(TQWidget *, const char *, const char *, int, int, int) -<a href="ntqmessagebox.html#about">TQMessageBox::about</a>(TQWidget *, const char *, const char *) -<a href="ntqmessagebox.html#aboutTQt">TQMessageBox::aboutTQt</a>(TQWidget *, const char *) -<a href="ntqmessagebox.html#message">TQMessageBox::message</a>(const char *, const char *, const char *, TQWidget *, const char *) -<a href="ntqmessagebox.html#buttonText">TQMessageBox::buttonText</a>(void) const -<a href="ntqmessagebox.html#query">TQMessageBox::query</a>(const char *, const char *, const char *, const char *, <a href="ntqwidget.html">TQWidget</a> *, const char *) -<a href="ntqprogressdialog.html#setLabelText">TQProgressDialog::setLabelText</a>(const char *) -<a href="ntqprogressdialog.html#setCancelButtonText">TQProgressDialog::setCancelButtonText</a>(const char *) -<a href="ntqwidget.html#styleChange">TQProgressDialog::styleChange</a>(GUIStyle) -TQProgressDialog::init(TQWidget *, const char *, const char *, int) -<a href="ntqtabdialog.html#addTab">TQTabDialog::addTab</a>(TQWidget *, const char *) -<a href="ntqtabdialog.html#isTabEnabled">TQTabDialog::isTabEnabled</a>(const char *) const -<a href="ntqtabdialog.html#setTabEnabled">TQTabDialog::setTabEnabled</a>(const char *, bool) -<a href="ntqtabdialog.html#setDefaultButton">TQTabDialog::setDefaultButton</a>(const char *) -<a href="ntqtabdialog.html#setCancelButton">TQTabDialog::setCancelButton</a>(const char *) -<a href="ntqtabdialog.html#setApplyButton">TQTabDialog::setApplyButton</a>(const char *) -TQTabDialog::setOKButton(const char *) -TQTabDialog::setOkButton(const char *) -<a href="ntqwidget.html#styleChange">TQTabDialog::styleChange</a>(GUIStyle) -<a href="ntqtabdialog.html#selected">TQTabDialog::selected</a>(const char *) -<a href="ntqobject.html#name">TQObject::name</a>(void) const -<a href="ntqapplication.html#setStyle">TQApplication::setStyle</a>(GUIStyle) -<a href="ntqapplication.html#palette">TQApplication::palette</a>(void) -<a href="ntqapplication.html#setPalette">TQApplication::setPalette</a>(const <a href="ntqpalette.html">TQPalette</a> &, bool) -<a href="ntqapplication.html#font">TQApplication::font</a>(void) -<a href="ntqapplication.html#setFont">TQApplication::setFont</a>(const <a href="ntqfont.html">TQFont</a> &, bool) -<a href="ntqbrush.html#setStyle">TQBrush::setStyle</a>(BrushStyle) -TQBrush::init(const <a href="ntqcolor.html">TQColor</a> &, BrushStyle) -TQObject::name(void) const -<a href="ntqclipboard.html#data">TQClipboard::data</a>(const char *) const -<a href="ntqclipboard.html#setData">TQClipboard::setData</a>(const char *, void *) -<a href="ntqclipboard.html#setText">TQClipboard::setText</a>(const char *) -TQUrlDrag::decodeLocalFiles(<a href="qdropevent.html">TQDropEvent</a> *, <a href="ntqstrlist.html">TQStrList</a> &) -TQObject::name(void) const -<a href="qstoreddrag.html#setEncodedData">TQStoredDrag::setEncodedData</a>(TQArrayT<char> const &) -<a href="qtextdrag.html#setText">TQTextDrag::setText</a>(const char *) -<a href="qimagedrag.html#canDecode">TQImageDrag::canDecode</a>(<a href="qdragmoveevent.html">TQDragMoveEvent</a> *) -<a href="qtextdrag.html#canDecode">TQTextDrag::canDecode</a>(TQDragMoveEvent *) -TQUrlDrag::canDecode(TQDragMoveEvent *) -<a href="qimagedrag.html#decode">TQImageDrag::decode</a>(TQDropEvent *, <a href="ntqimage.html">TQImage</a> &) -TQImageDrag::decode(TQDropEvent *, <a href="ntqpixmap.html">TQPixmap</a> &) -<a href="qtextdrag.html#decode">TQTextDrag::decode</a>(TQDropEvent *, <a href="ntqstring.html">TQString</a> &) -TQUrlDrag::decode(TQDropEvent *, TQStrList &) -<a href="qdropevent.html#format">TQDragMoveEvent::format</a>(int) -<a href="qdropevent.html#provides">TQDragMoveEvent::provides</a>(const char *) -<a href="qdropevent.html#data">TQDragMoveEvent::data</a>(const char *) -<a href="qdropevent.html#data">TQDropEvent::data</a>(const char *) -TQEvent::peErrMsg(void) -<a href="ntqfont.html#substitute">TQFont::substitute</a>(const char *) -<a href="ntqfont.html#insertSubstitution">TQFont::insertSubstitution</a>(const char *, const char *) -<a href="ntqfont.html#removeSubstitution">TQFont::removeSubstitution</a>(const char *) -TQFont::load(unsigned int) const -<a href="ntqfont.html#setFamily">TQFont::setFamily</a>(const char *) -<a href="ntqfont.html#bold">TQFont::bold</a>(void) const -<a href="ntqfont.html#setBold">TQFont::setBold</a>(bool) -<a href="ntqfont.html#handle">TQFont::handle</a>(unsigned int) const -TQFont::bold(void) const -TQFontInfo::font(void) const -TQFontInfo::reset(const <a href="ntqwidget.html">TQWidget</a> *) -TQFontInfo::type(void) const -<a href="ntqfontmetrics.html#inFont">TQFontMetrics::inFont</a>(char) const -<a href="ntqfontmetrics.html#leftBearing">TQFontMetrics::leftBearing</a>(char) const -<a href="ntqfontmetrics.html#rightBearing">TQFontMetrics::rightBearing</a>(char) const -<a href="ntqfontmetrics.html#width">TQFontMetrics::width</a>(char) const -TQFontMetrics::width(const char *, int) const -<a href="ntqfontmetrics.html#boundingRect">TQFontMetrics::boundingRect</a>(char) const -TQFontMetrics::boundingRect(const char *, int) const -TQFontMetrics::boundingRect(int, int, int, int, int, const char *, int, int, int *, char **) const -<a href="ntqfontmetrics.html#size">TQFontMetrics::size</a>(int, const char *, int, int, int *, char **) const -TQFontMetrics::font(void) const -TQFontMetrics::reset(const TQWidget *) -TQFontMetrics::type(void) const -<a href="ntqobject.html#name">TQObject::name</a>(void) const -TQGManager::setBorder(int) -TQGManager::newSerChain(TQGManager::Direction) -TQGManager::newParChain(TQGManager::Direction) -TQGManager::add(TQChain *, TQChain *, int) -TQGManager::addWidget(TQChain *, <a href="ntqwidget.html">TQWidget</a> *, int) -TQGManager::addSpacing(TQChain *, int, int, int) -TQGManager::addBranch(TQChain *, TQChain *, int, int) -TQGManager::setStretch(TQChain *, int) -TQGManager::activate(void) -TQGManager::unFreeze(void) -TQGManager::xChain(void) -TQGManager::yChain(void) -TQGManager::setMenuBar(TQWidget *) -TQGManager::mainWidget(void) -TQGManager::remove(TQWidget *) -TQGManager::setName(TQChain *, const char *) -TQGManager::eventFilter(<a href="ntqobject.html">TQObject</a> *, <a href="ntqevent.html">TQEvent</a> *) -TQGManager::resizeHandle(TQWidget *, const <a href="ntqsize.html">TQSize</a> &) -TQGManager::resizeAll(void) -<a href="ntqiconset.html#setPixmap">TQIconSet::setPixmap</a>(const char *, TQIconSet::Size, TQIconSet::Mode) -<a href="ntqimage.html#imageFormat">TQImage::imageFormat</a>(const char *) -<a href="qimageio.html#imageFormat">TQImageIO::imageFormat</a>(const char *) -<a href="ntqimage.html#load">TQImage::load</a>(const char *, const char *) -<a href="ntqimage.html#loadFromData">TQImage::loadFromData</a>(TQArrayT<char>, const char *) -<a href="ntqimage.html#save">TQImage::save</a>(const char *, const char *) const -<a href="qimageio.html#setFileName">TQImageIO::setFileName</a>(const char *) -<a href="qimageio.html#setDescription">TQImageIO::setDescription</a>(const char *) -TQBoxLayout::addB(<a href="ntqlayout.html">TQLayout</a> *, int) -<a href="ntqobject.html#name">TQObject::name</a>(void) const -TQLayout::basicManager(void) -TQLayout::verChain(TQLayout *) -TQLayout::horChain(TQLayout *) -TQObject::name(void) const -<a href="ntqobject.html#tr">TQObject::tr</a>(const char *) const -<a href="ntqpaintdevice.html#x11Screen">TQPaintDevice::x11Screen</a>(voidTQPaintDevice::x11Depth(voidTQPaintDevice::x11Cells(voidTQPaintDevice::x11Colormap(voidTQPaintDevice::x11DefaultColormap(void) <a href="ntqpaintdevice.html#x11Visual">TQPaintDevice::x11Visual</a>(voidTQPaintDevice::x11DefaultVisual(void) -<a href="ntqpainter.html#translate">TQPainter::translate</a>(float, float) -<a href="ntqpainter.html#scale">TQPainter::scale</a>(float, float) -<a href="ntqpainter.html#shear">TQPainter::shear</a>(float, float) -<a href="ntqpainter.html#rotate">TQPainter::rotate</a>(float) -<a href="ntqpainter.html#drawText">TQPainter::drawText</a>(const <a href="ntqpoint.html">TQPoint</a> &, const char *, int) -TQPainter::drawText(const <a href="ntqrect.html">TQRect</a> &, int, const char *, int, TQRect *, char **) -TQPainter::drawText(int, int, const char *, int) -TQPainter::drawText(int, int, int, int, int, const char *, int, TQRect *, char **) -<a href="ntqpainter.html#boundingRect">TQPainter::boundingRect</a>(int, int, int, int, int, const char *, int, char **) -TQPainter::testf(unsigned short) const -TQPainter::setf(unsigned short) -TQPainter::setf(unsigned short, bool) -TQPainter::clearf(unsigned short) -<a href="ntqpainter.html#setPen">TQPainter::setPen</a>(PenStyle) -<a href="ntqpainter.html#setBrush">TQPainter::setBrush</a>(BrushStyle) -<a href="ntqpainter.html#setBackgroundMode">TQPainter::setBackgroundMode</a>(BGMode) -<a href="ntqpen.html#setStyle">TQPen::setStyle</a>(PenStyle) -TQPen::init(const <a href="ntqcolor.html">TQColor</a> &, unsigned int, PenStyle) -<a href="ntqpicture.html#load">TQPicture::load</a>(const char *) -<a href="ntqpicture.html#save">TQPicture::save</a>(const char *) -TQPixmap::isOptimized(void) const -TQPixmap::optimize(bool) -TQPixmap::isGloballyOptimized(void) -TQPixmap::optimizeGlobally(bool) -<a href="ntqpixmap.html#imageFormat">TQPixmap::imageFormat</a>(const char *) -<a href="ntqpixmap.html#load">TQPixmap::load</a>(const char *, const char *, TQPixmap::ColorMode) -TQPixmap::load(const char *, const char *, int) -<a href="ntqpixmap.html#loadFromData">TQPixmap::loadFromData</a>(TQArrayT<char>, const char *, int) -<a href="ntqpixmap.html#save">TQPixmap::save</a>(const char *, const char *) const -<a href="ntqpixmapcache.html#find">TQPixmapCache::find</a>(const char *) -TQPixmapCache::find(const char *, <a href="ntqpixmap.html">TQPixmap</a> &) -<a href="ntqpixmapcache.html#insert">TQPixmapCache::insert</a>(const char *, TQPixmap *) -TQPixmapCache::insert(const char *, const TQPixmap &) -<a href="ntqprinter.html#setPrinterName">TQPrinter::setPrinterName</a>(const char *) -<a href="ntqprinter.html#setOutputFileName">TQPrinter::setOutputFileName</a>(const char *) -<a href="ntqprinter.html#setPrintProgram">TQPrinter::setPrintProgram</a>(const char *) -<a href="ntqprinter.html#setDocName">TQPrinter::setDocName</a>(const char *) -<a href="ntqprinter.html#setCreator">TQPrinter::setCreator</a>(const char *) -<a href="ntqrect.html#setX">TQRect::setX</a>(int) -<a href="ntqrect.html#setY">TQRect::setY</a>(int) -TQRegion::exec(TQArrayT<char> const &) -<a href="ntqobject.html#name">TQObject::name</a>(void) const -TQObject::name(void) const -<a href="ntqsignalmapper.html#setMapping">TQSignalMapper::setMapping</a>(const <a href="ntqobject.html">TQObject</a> *, const char *) -<a href="ntqsignalmapper.html#mapped">TQSignalMapper::mapped</a>(const char *) -TQObject::name(void) const -TQObject::name(void) const -<a href="ntqwidget.html#setCaption">TQWidget::setCaption</a>(const char *) -<a href="ntqwidget.html#setIconText">TQWidget::setIconText</a>(const char *) -<a href="ntqwidget.html#drawText">TQWidget::drawText</a>(const <a href="ntqpoint.html">TQPoint</a> &, const char *) -TQWidget::drawText(int, int, const char *) -TQWidget::acceptFocus(void) const -TQWidget::setAcceptFocus(bool) -<a href="ntqwidget.html#create">TQWidget::create</a>(unsigned int) -TQWidget::create(void) -TQWidget::internalMove(int, int) -TQWidget::internalResize(int, int) -TQWidget::internalSetGeometry(int, int, int, int) -TQWidget::deferMove(const TQPoint &) -TQWidget::deferResize(const <a href="ntqsize.html">TQSize</a> &) -TQWidget::cancelMove(voidTQWidget::cancelResize(voidTQWidget::sendDeferredEvents(voidTQWidget::setBackgroundColorFromMode(voidTQObject::name(void) const <a href="ntqwidget.html#setMask">TQWidget::setMask</a>(TQBitmapTQWMatrix::setMatrix(float, float, float, float, float, float) -<a href="ntqwmatrix.html#map">TQWMatrix::map</a>(float, float, float *, float *) const -<a href="ntqwmatrix.html#translate">TQWMatrix::translate</a>(float, float) -<a href="ntqwmatrix.html#scale">TQWMatrix::scale</a>(float, float) -<a href="ntqwmatrix.html#shear">TQWMatrix::shear</a>(float, float) -<a href="ntqwmatrix.html#rotate">TQWMatrix::rotate</a>(float) -<a href="ntqbuffer.html#setBuffer">TQBuffer::setBuffer</a>(TQArrayT<char>) -<a href="ntqdir.html#entryList">TQDir::entryList</a>(const char *, int, int) const -<a href="ntqdir.html#entryInfoList">TQDir::entryInfoList</a>(const char *, int, int) const -<a href="ntqdir.html#mkdir">TQDir::mkdir</a>(const char *, bool) const -<a href="ntqdir.html#rmdir">TQDir::rmdir</a>(const char *, bool) const -<a href="ntqdir.html#exists">TQDir::exists</a>(const char *, bool) -<a href="ntqdir.html#remove">TQDir::remove</a>(const char *, bool) -<a href="ntqdir.html#rename">TQDir::rename</a>(const char *, const char *, bool) -<a href="ntqdir.html#setCurrent">TQDir::setCurrent</a>(const char *) -<a href="ntqdir.html#match">TQDir::match</a>(const char *, const char *) -<a href="ntqdir.html#cleanDirPath">TQDir::cleanDirPath</a>(const char *) -<a href="ntqdir.html#isRelativePath">TQDir::isRelativePath</a>(const char *) -<a href="ntqdir.html#setPath">TQDir::setPath</a>(const char *) -<a href="ntqdir.html#filePath">TQDir::filePath</a>(const char *, bool) const -<a href="ntqdir.html#absFilePath">TQDir::absFilePath</a>(const char *, bool) const -<a href="ntqdir.html#convertSeparators">TQDir::convertSeparators</a>(const char *) -<a href="ntqdir.html#cd">TQDir::cd</a>(const char *, bool) -<a href="ntqdir.html#setNameFilter">TQDir::setNameFilter</a>(const char *) -<a href="ntqfile.html#setName">TQFile::setName</a>(const char *) -<a href="ntqfile.html#exists">TQFile::exists</a>(const char *) -<a href="ntqfile.html#remove">TQFile::remove</a>(const char *) -<a href="ntqfileinfo.html#setFile">TQFileInfo::setFile</a>(const <a href="ntqdir.html">TQDir</a> &, const char *) -TQFileInfo::setFile(const char *) -TQFile::exists(const char *) -<a href="ntqfileinfo.html#extension">TQFileInfo::extension</a>(void) const -<a href="ntqregexp.html#match">TQRegExp::match</a>(const char *, int, int *) const -TQRegExp::matchstr(unsigned short *, char *, char *) const -TQString::resize(unsigned int) -<a href="ntqstring.html#fill">TQString::fill</a>(char, int) -<a href="ntqstring.html#find">TQString::find</a>(const char *, int, bool) const -<a href="ntqstring.html#findRev">TQString::findRev</a>(const char *, int, bool) const -<a href="ntqstring.html#leftJustify">TQString::leftJustify</a>(unsigned int, char, bool) const -<a href="ntqstring.html#rightJustify">TQString::rightJustify</a>(unsigned int, char, bool) const -<a href="ntqstring.html#insert">TQString::insert</a>(unsigned int, const char *) -<a href="ntqstring.html#append">TQString::append</a>(const char *) -<a href="ntqstring.html#prepend">TQString::prepend</a>(const char *) -<a href="ntqstring.html#replace">TQString::replace</a>(const <a href="ntqregexp.html">TQRegExp</a> &, const char *) -TQString::replace(unsigned int, unsigned int, const char *) -TQString::setStr(const char *) -<a href="ntqstring.html#setNum">TQString::setNum</a>(int) -TQString::setNum(unsigned long) -<a href="ntqstring.html#setExpand">TQString::setExpand</a>(unsigned int, char) -<a href="ntqbutton.html#setText">TQButton::setText</a>(const char *) -<a href="ntqcombobox.html#setEditText">TQComboBox::setEditText</a>(const char *) -<a href="ntqcombobox.html#activated">TQComboBox::activated</a>(const char *) -<a href="ntqcombobox.html#highlighted">TQComboBox::highlighted</a>(const char *) -<a href="ntqcombobox.html#insertItem">TQComboBox::insertItem</a>(const char *, int) -<a href="ntqcombobox.html#changeItem">TQComboBox::changeItem</a>(const char *, int) -<a href="ntqwidget.html#setStyle">TQComboBox::setStyle</a>(GUIStyle) -<a href="ntqcombobox.html#setValidator">TQComboBox::setValidator</a>(<a href="ntqvalidator.html">TQValidator</a> *) -<a href="ntqgroupbox.html#setTitle">TQGroupBox::setTitle</a>(const char *) -TQHeader::moveAround(int, int) -<a href="ntqheader.html#addLabel">TQHeader::addLabel</a>(const char *, int) -<a href="ntqheader.html#setLabel">TQHeader::setLabel</a>(int, const char *, int) -<a href="ntqheader.html#setOrientation">TQHeader::setOrientation</a>(TQHeader::Orientation) -<a href="ntqwidget.html#resizeEvent">TQHeader::resizeEvent</a>(<a href="qresizeevent.html">TQResizeEvent</a> *TQHeader::paintCell(<a href="ntqpainter.html">TQPainter</a> *, int, intTQHeader::setupPainter(TQPainter *TQHeader::cellHeight(intTQHeader::cellWidth(int) <a href="ntqlabel.html#setText">TQLabel::setText</a>(const char *TQLCDNumber::display(const char *) -<a href="ntqframe.html#resizeEvent">TQLCDNumber::resizeEvent</a>(TQResizeEvent *) -TQLCDNumber::internalDisplay(const char *) -TQLCDNumber::drawString(const char *, TQPainter &, <a href="ntqbitarray.html">TQBitArray</a> *, bool) -TQLCDNumber::drawDigit(const <a href="ntqpoint.html">TQPoint</a> &, TQPainter &, int, char, char) -TQLCDNumber::drawSegment(const TQPoint &, char, TQPainter &, int, bool) -<a href="ntqwidget.html#event">TQLineEdit::event</a>(<a href="ntqevent.html">TQEvent</a> *) -<a href="ntqlineedit.html#setValidator">TQLineEdit::setValidator</a>(<a href="ntqvalidator.html">TQValidator</a> *) -<a href="ntqlineedit.html#validateAndSet">TQLineEdit::validateAndSet</a>(const char *, int, int, int) -<a href="ntqlineedit.html#setText">TQLineEdit::setText</a>(const char *) -<a href="ntqlineedit.html#insert">TQLineEdit::insert</a>(const char *) -<a href="ntqlineedit.html#textChanged">TQLineEdit::textChanged</a>(const char *) -<a href="ntqlistbox.html#insertItem">TQListBox::insertItem</a>(const char *, int) -<a href="ntqlistbox.html#inSort">TQListBox::inSort</a>(const char *) -<a href="ntqlistbox.html#changeItem">TQListBox::changeItem</a>(const char *, int) -<a href="ntqlistbox.html#maxItemWidth">TQListBox::maxItemWidth</a>(void) -<a href="ntqlistbox.html#highlighted">TQListBox::highlighted</a>(const char *) -<a href="qlistboxitem.html#setText">TQListBoxItem::setText</a>(const char *) -<a href="ntqlistbox.html#selected">TQListBox::selected</a>(const char *) -<a href="qlistviewitem.html#isExpandable">TQListViewItem::isExpandable</a>(void) -<a href="ntqwidget.html#setStyle">TQListView::setStyle</a>(GUIStyle) -<a href="ntqmainwindow.html#addToolBar">TQMainWindow::addToolBar</a>(<a href="ntqtoolbar.html">TQToolBar</a> *, const char *, TQMainWindow::ToolBarDock, bool) -<a href="ntqmenudata.html#insertItem">TQMenuData::insertItem</a>(const <a href="ntqpixmap.html">TQPixmap</a> &, const <a href="ntqobject.html">TQObject</a> *, const char *, int) -TQMenuData::insertItem(const TQPixmap &, const char *, <a href="ntqpopupmenu.html">TQPopupMenu</a> *, int, int) -TQMenuData::insertItem(const TQPixmap &, const char *, const TQObject *, const char *, int) -TQMenuData::insertItem(const TQPixmap &, const char *, const TQObject *, const char *, int, int, int) -TQMenuData::insertItem(const TQPixmap &, const char *, int, int) -TQMenuData::insertItem(const char *, TQPopupMenu *, int, int) -TQMenuData::insertItem(const char *, const TQObject *, const char *, int) -TQMenuData::insertItem(const char *, const TQObject *, const char *, int, int, int) -TQMenuData::insertItem(const char *, int, int) -<a href="ntqmenudata.html#changeItem">TQMenuData::changeItem</a>(const TQPixmap &, const char *, int) -TQMenuData::changeItem(const char *, int) -TQMenuData::insertAny(const char *, const TQPixmap *, TQPopupMenu *, int, int) -TQMenuItem::setText(const char *) -TQMultiLineEdit::textWidth(<a href="ntqstring.html">TQString</a> *) -TQMultiLineEdit::repaintAll(void) -TQMultiLineEdit::repaintDelayed(void) -<a href="ntqtextedit.html#setText">TQMultiLineEdit::setText</a>(const char *) -<a href="ntqtextedit.html#append">TQMultiLineEdit::append</a>(const char *) -TQPopupMenu::itemAtPos(const <a href="ntqpoint.html">TQPoint</a> &) -TQPopupMenu::actSig(int) -<a href="ntqwidget.html#mouseReleaseEvent">TQRadioButton::mouseReleaseEvent</a>(<a href="qmouseevent.html">TQMouseEvent</a> *) -<a href="ntqwidget.html#keyPressEvent">TQRadioButton::keyPressEvent</a>(<a href="qkeyevent.html">TQKeyEvent</a> *) -TQRangeControl::adjustValue(void) -<a href="ntqscrollbar.html#setOrientation">TQScrollBar::setOrientation</a>(TQScrollBar::Orientation) -<a href="ntqscrollview.html#horizontalScrollBar">TQScrollView::horizontalScrollBar</a>(void) -<a href="ntqscrollview.html#verticalScrollBar">TQScrollView::verticalScrollBar</a>(void) -<a href="ntqscrollview.html#viewport">TQScrollView::viewport</a>(void) -<a href="ntqslider.html#setOrientation">TQSlider::setOrientation</a>(TQSlider::Orientation) -<a href="ntqspinbox.html#setSpecialValueText">TQSpinBox::setSpecialValueText</a>(const char *) -<a href="ntqspinbox.html#setValidator">TQSpinBox::setValidator</a>(<a href="ntqvalidator.html">TQValidator</a> *) -<a href="ntqspinbox.html#valueChanged">TQSpinBox::valueChanged</a>(const char *) -<a href="ntqwidget.html#paletteChange">TQSpinBox::paletteChange</a>(const <a href="ntqpalette.html">TQPalette</a> &) -<a href="ntqwidget.html#enabledChange">TQSpinBox::enabledChange</a>(bool) -<a href="ntqwidget.html#fontChange">TQSpinBox::fontChange</a>(const <a href="ntqfont.html">TQFont</a> &) -<a href="ntqwidget.html#styleChange">TQSpinBox::styleChange</a>(GUIStyle) -<a href="ntqsplitter.html#setOrientation">TQSplitter::setOrientation</a>(TQSplitter::Orientation) -<a href="ntqwidget.html#event">TQSplitter::event</a>(<a href="ntqevent.html">TQEvent</a> *) -TQSplitter::childInsertEvent(<a href="qchildevent.html">TQChildEvent</a> *) -TQSplitter::childRemoveEvent(TQChildEvent *) -<a href="ntqsplitter.html#moveSplitter">TQSplitter::moveSplitter</a>(short) -<a href="ntqsplitter.html#adjustPos">TQSplitter::adjustPos</a>(int) -TQSplitter::splitterWidget(void) -TQSplitter::startMoving(void) -TQSplitter::moveTo(<a href="ntqpoint.html">TQPoint</a>) -TQSplitter::stopMoving(void) -TQSplitter::newpos(void) const -<a href="ntqstatusbar.html#message">TQStatusBar::message</a>(const char *) -TQStatusBar::message(const char *, int) -<a href="ntqobject.html#name">TQObject::name</a>(void) const -<a href="qtooltipgroup.html#showTip">TQToolTipGroup::showTip</a>(const char *) -<a href="ntqtooltip.html#add">TQToolTip::add</a>(<a href="ntqwidget.html">TQWidget</a> *, const <a href="ntqrect.html">TQRect</a> &, const char *) -TQToolTip::add(TQWidget *, const TQRect &, const char *, <a href="qtooltipgroup.html">TQToolTipGroup</a> *, const char *) -TQToolTip::add(TQWidget *, const char *) -TQToolTip::add(TQWidget *, const char *, TQToolTipGroup *, const char *) -<a href="ntqtooltip.html#tip">TQToolTip::tip</a>(const TQRect &, const char *) -TQToolTip::tip(const TQRect &, const char *, const char *) -TQObject::name(void) const -<a href="ntqwhatsthis.html#add">TQWhatsThis::add</a>(TQWidget *, const <a href="ntqpixmap.html">TQPixmap</a> &, const char *, const char *, bool) -TQWhatsThis::add(TQWidget *, const char *, bool) -<a href="ntqwhatsthis.html#textFor">TQWhatsThis::textFor</a>(TQWidget *) -<a href="ntqwidget.html#event">TQWidgetStack::event</a>(<a href="ntqevent.html">TQEvent</a> *) - -</pre><p> -<!-- eof --> -<p><address><hr><div align=center> -<table width=100% cellspacing=0 border=0><tr> -<td>Copyright © 2007 -<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> -<td align=right><div align=right>TQt 3.3.8</div> -</table></div></address></body> -</html> diff --git a/doc/html/titleindex b/doc/html/titleindex index 58b9f1c0d..bee72959e 100644 --- a/doc/html/titleindex +++ b/doc/html/titleindex @@ -74,7 +74,6 @@ File Handling | tutorial2-07.html Font Displayer | qfd-example.html Fonts in Qt/Embedded | emb-fonts.html Format of the QDataStream Operators | datastreamformat.html -Functions removed in TQt 2.0 | removed20.html GNU General Public License | gpl.html Getting Started | motif-walkthrough-1.html Grapher Plugin | grapher-nsplugin-example.html @@ -146,7 +145,6 @@ Pictures of Most TQt Widgets | pictures.html Play Tetrix! | qaxserver-demo-tetrax.html Plugins | plugins.html Popup Widgets | popup-example.html -Porting to TQt 2.x | porting2.html Porting to TQt 3.x | porting.html Porting your applications to Qt/Embedded | emb-porting.html Preparing to Migrate the User Interface | motif-walkthrough-2.html diff --git a/doc/man/README b/doc/man/README index e9e38cf1c..92b2404e8 100644 --- a/doc/man/README +++ b/doc/man/README @@ -44,6 +44,5 @@ Debian distribution man1/tqtmergetr.1 man1/msg2tqm.1 man1/qembed.1 - man1/tqt20fix.1 man1/qtconfig.1 man1/tqvfb.1 diff --git a/doc/man/man1/tqt20fix.1 b/doc/man/man1/tqt20fix.1 deleted file mode 100644 index d2b361164..000000000 --- a/doc/man/man1/tqt20fix.1 +++ /dev/null @@ -1,32 +0,0 @@ -.TH "tqt20fix" "1" "3.0.3" "Troll Tech AS, Norway." "" -.SH "NAME" -.LP -tqt20fix \- Helps clean namespace when porting an app from Qt1 to Qt2 -.SH "SYNTAX" -.LP -tqt20fix myapp.cpp - -.SH "DESCRIPTION" -.LP -Qt 2.x is namespace\-clean, unlike 1.x. TQt now uses very -few global identifiers. Identifiers like red, blue, -LeftButton, AlignRight, Key_Up, Key_Down, NoBrush etc. -are now part of a special class TQt (defined in -ntqnamespace.h), which is inherited by most TQt classes. -Member functions of classes that inherit from QWidget, -etc. are totally unaffected, but code that is not in -functions of classes inherited from Qt, you must qualify -these identifiers like this: Qt::red, Qt::LeftButton, -Qt::AlignRight, etc. - -The qt/bin/tqt20fix script helps to fix the code that -needs adaption, though most code does not need changing. - -Compiling with \-DQT1COMPATIBILITY will help you get going -with TQt 2.x \- it allows all the old "dirty namespace" -identifiers from TQt 1.x to continue working. Without it, -you'll get compile errors that can easily be fixed by -searching this page for the clean identifiers. -.SH "AUTHORS" -.LP -TrollTech <http://www.trolltech.com/> diff --git a/doc/porting2.doc b/doc/porting2.doc deleted file mode 100644 index 66fb4ee89..000000000 --- a/doc/porting2.doc +++ /dev/null @@ -1,1441 +0,0 @@ -/**************************************************************************** -** -** Help with porting from TQt 1.x to TQt 2.x -** -** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. -** -** This file is part of the TQt GUI Toolkit. -** -** This file may be used under the terms of the GNU General -** Public License versions 2.0 or 3.0 as published by the Free -** Software Foundation and appearing in the files LICENSE.GPL2 -** and LICENSE.GPL3 included in the packaging of this file. -** Alternatively you may (at your option) use any later version -** of the GNU General Public License if such license has been -** publicly approved by Trolltech ASA (or its successors, if any) -** and the KDE Free TQt Foundation. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at sales@trolltech.com. -** -** This file may be used under the terms of the Q Public License as -** defined by Trolltech ASA and appearing in the file LICENSE.QPL -** included in the packaging of this file. Licensees holding valid Qt -** Commercial licenses may use this file in accordance with the Qt -** Commercial License Agreement provided with the Software. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted -** herein. -** -**********************************************************************/ - -/*! -\page porting2.html - -\title Porting to TQt 2.x - -<p> -You're probably looking at this page because you want to port -your application from TQt 1.x to TQt 2.x, but to be sure, let's -review the good reasons to do this: -<ul> - <li>To get access to all the new TQt 2.x features like the rich text - HTML subset for formatted labels, tooltips, online help etc. - and the much easier to use layout classes and widgets. - <li>To make your application truly international, with support - for Unicode and translations for the languages of the world. - <li>To allow your application to fit into the new look of the - Unix desktop with configurable, very powerful "themes". The - extended style system also integrates TQt applications better - on MS-Windows desktops. TQt will automatically chose the right - colors and fonts and obey global system setting changes. - <li>To stay up-to-date with the version of TQt that gets all the - new features and bug-fixes. - <li>To get more speed and smoother widgets display with all the - new anti-flicker changes in Qt. - <li>Most of all though, you want to port to TQt 2.x - so that your Wheel Mouse works! -</ul> - -<p> -The TQt 2.x series is not binary compatible with the 1.x series. -This means programs compiled for TQt 1.x must be recompiled to work -with TQt 2.x. TQt 2.x is also not completely <em>source</em> compatible -with 1.x, however all points of incompatibility cause -compiler errors (rather than mysterious results), or produce run-time -messages. The result is that TQt 2.x includes many additional features, -discards obsolete functionality that is easily converted to use the new -features, and that porting an application from TQt 1.x to TQt 2.x is -a simple task well worth the amount of effort required. - - -To port code using TQt 1.x to use TQt 2.x: - -<ul> - <li> Briefly read the porting notes below to get an idea of what to expect. - <li> Be sure your code compiles and runs well on all your target platforms with TQt 1.x. - <li> Recompile with TQt 2.x. For each error, search below for related - identifiers (eg. function names, class names) - this documented is - structured to mention all relevant identifiers to facilitate such - searching, even if that makes it a little verbose. - <li> If you get stuck, ask on the qt-interest mailing list, or - Trolltech Technical Support if you're a Professional Edition - licensee. -</ul> - - -Many very major projects, such as <a href="http://www.kde.org/">KDE</a> -have been port, so there is plenty of expertise in the collective conscious -that is the TQt Developer Community! -</p> - - -<hr> - -<h2 align=center>The Porting Notes</h2> - -<ul> - <li><b><a href="#Namespace">Namespace</a></b> - <li><b><a href="#Virtual">Virtual Functions</a></b> - <li><b><a href="#Collection">Collection classes</a></b> - <li><b><a href="#DefaultParent">No Default 0 Parent Widget</a></b> - <li><b><a href="#DebugVsRelease">Debug vs. Release</a></b> - - <li><b><a href="#QApplication">QApplication</a></b> - <li><b><a href="#QClipboard">QClipboard</a></b> - <li><b><a href="#QColor">QColor</a></b> - <li><b><a href="#QDataStream">QDataStream</a></b> - <li><b><a href="#QDialog">QDialog</a></b> - <li><b><a href="#QDropSite">QDropSite</a></b> - <li><b><a href="#QEvent">QEvent</a></b> - <li><b><a href="#QFile">QFile</a></b> - <li><b><a href="#QFontMetrics">QFontMetrics</a></b> - <li><b><a href="#QIODevice">QIODevice</a></b> - <li><b><a href="#QLabel">QLabel</a></b> - <li><b><a href="#QLayout">QLayout</a></b> - <li><b><a href="#QListView">QListView</a></b> - <li><b><a href="#QMenuData">QMenuData</a></b> - <li><b><a href="#QMenuData">QPopupMenu</a></b> - <li><b><a href="#QMultiLineEdit">QMultiLineEdit</a></b> - <li><b><a href="#QPainter">QPainter</a></b> - <li><b><a href="#QPicture">QPicture</a></b> - <li><b><a href="#QPoint">QPoint, QPointArray, QSize and QRect</a></b> - <li><b><a href="#QPixmap">QPixmap</a></b> - <li><b><a href="#QRgb">QRgb</a></b> - <li><b><a href="#QScrollView">QScrollView</a></b> - <li><b><a href="#QStrList">QStrList</a></b> - <li><b><a href="#QString">QString</a></b> - <li><b><a href="#QTextStream">QTextStream</a></b> - <li><b><a href="#QUriDrag">QUriDrag / QUrlDrag</a></b> - <li><b><a href="#QValidator">QComboBox</a></b> - <li><b><a href="#QValidator">QLineEdit</a></b> - <li><b><a href="#QValidator">QSpinBox</a></b> - <li><b><a href="#QValidator">QValidator</a></b> - <li><b><a href="#QWidget">QWidget</a></b> - <li><b><a href="#QWindow">QWindow</a></b> -</ul> - -<hr> - -<h3><a name="Namespace">Namespace</a></h3> - -<p> TQt 2.x is namespace-clean, unlike 1.x. TQt now uses very few -global identifiers. Identifiers like <code>red, blue, LeftButton, -AlignRight, Key_Up, Key_Down, NoBrush</code> etc. are now part of a -special class <code>Qt</code> (defined in ntqnamespace.h), -which is inherited by -most TQt classes. Member functions of classes that inherit from QWidget, -etc. are totally unaffected, but code that is -<em>not</em> in functions of classes inherited from <code>Qt</code>, -you must qualify these identifiers like this: <code>Qt::red, -Qt::LeftButton, Qt::AlignRight</code>, etc. - -<p>The <code>qt/bin/tqt20fix</code> script helps to fix the code that -needs adaption, though most code does not need changing. - -Compiling with -DQT1COMPATIBILITY will help you get going with TQt 2.x -- it allows all the old "dirty namespace" identifiers from TQt 1.x to -continue working. Without it, you'll get compile errors that can -easily be fixed by searching this page for the clean identifiers. - -<h3><a name="DefaultParent">No Default 0 Parent Widget</a></h3> - -In TQt 1.x, all widget constructors were defined with a default value -of 0 for the parent widget. However, only the main window of the -application should be created with a 0 parent, all other widgets -should have parents. Having the 0 default made it too simple to create -bugs by forgetting to specify the parent of non-mainwindow -widgets. Such widgets would typically never be deleted (causing memory -leaks), and they would become top-level widgets, confusing the window -managers. Therefore, in TQt 2.x the 0 default parent has been removed -for the widget classes that are not likely to be used as main windows. - -Note also that programs no longer need (or should) use 0 parent just -to indicate that a widget should be top-level. See -\code QWidget::isTopLevel() \endcode for details. See also the notes about -<a href="#QMenuData">QPopupMenu</a> and <a href="#QDialog">QDialog</a> -below. - -<h3><a name="Virtual">Virtual Functions</a></h3> - -<p> Some virtual functions have changed signature in TQt 2.x. -If you override them in derived classes, you must change the signature -of your functions accordingly. - -<!-- warwick can check for additions to this with his qt-2-report --> -<ul> - <li>\code QWidget::setStyle(GUIStyle)\endcode - <li>\code QListView::addColumn(const char *, int)\endcode - <li>\code QListView::setColumnText(int, const char *)\endcode - <li>\code QListViewItem::setText(int, const char *)\endcode - <li>\code QMultiLineEdit::insertLine(const char *, int)\endcode - <li>\code QMultiLineEdit::insertAt(const char *, int, int, bool)\endcode - <li>\code QSpinBox::setPrefix(const char *)\endcode - <li>\code QSpinBox::setSuffix(const char *)\endcode - <li>\code QToolButton::setTextLabel(const char *, bool)\endcode - <li>\code QDoubleValidator::validate(QString &, int &)\endcode - <li>\code QIntValidator::validate(QString &, int &)\endcode - <li>\code QValidator::fixup(QString &)\endcode - <li>\code QSlider::paintSlider(QPainter *, const QRect &)\endcode -</ul> - -This is one class of changes that are -not detected by the compiler, -so you should mechanically search for each of -these function names in your header files, eg. - -\code -egrep -w 'setStyle|addColumn|setColumnText|setText...' *.h -\endcode - -Of course, you'll get a few false positives (eg. if you have a setText -function that is not in a subclass of QListViewItem). - - -<h3><a name="Collection">Collection classes</a></h3> - -<p> The collection classes include generic -classes such as QGDict, QGList, and -the subclasses such as QDict and QList. - -<p> The macro-based TQt collection classes are obsolete; use the -template-based classes instead. Simply remove includes of ntqgeneric.h and -replace e.g. Q_DECLARE(QCache,QPixmap) with QCache<QPixmap>. - -<p> The GCI global typedef is replaced by QCollection::Item. Only if you -make your own subclasses of the undocumented generic collection classes -will you have GCI in your code. -This change has been made to avoid collisions with other namespaces. - -<p> The GCF global typedef is removed (it was not used in Qt). - - - -<h3><a name="DebugVsRelease">Debug vs. Release</a></h3> - -<p>The Q_ASSERT macro is now a null expression if the QT_CHECK_STATE flag -is not set (i.e. if the TQT_NO_CHECK flag is defined). - -<p>The debug() function now outputs nothing if TQt was compiled with -the TQT_NO_DEBUG macro defined. - - -<h3><a name="QString">QString</a></h3> - -QString has undergone major changes internally, and although it is highly -backward compatible, it is worth studying in detail when porting to TQt 2.x. -The TQt 1.x QString class has been renamed to QCString in TQt 2.x, though if -you use that you will incur a performance penalty since all TQt functions -that took const char* now take const QString&. - -<p> -To take full advantage of the new Internationalization -functionality in TQt 2.x, the following steps are required: - - <ul> - <li> Start converting all uses of "const char*" in parameters to - "const QString&" - this can often be done mechanically, eg. - using Perl. Convert usage of char[] for temporary string - building to QString (much software already uses QString for - this purpose as it offers many more facilities). - - If you find that you are mixing usage of QCString, QString, - and QByteArray, this causes lots of unnecessary copying and - might indicate that the true nature of the data you are - dealing with is uncertain. If the data is NUL-terminated - 8-bit data, use QCString; if it is unterminated (ie. - contains NULs) 8-bit data, use QByteArray; if it is text, - use QString. - </p> - - <li> Put a breakpoint in \code QString::latin1()\endcode - to catch places where - Unicode information is being converted to ASCII (loosing - information if your user in not using Latin1). TQt has - a small number of calls to this - ignore those. As a stricter - alternative, compile your code with TQT_NO_ASCII_CAST defined, - which hides the automatic conversion of QString to const char*, - so you can catch problems at compile time. - </p> - - <li> See the TQt \link i18n.html Internationalization page\endlink - for information about the full process of internationalizing - your software. - </ul> - -<p> -Points to note about the new QString are: - -<dl compact> -<dt><b>Unicode</b></dt> -<dd> - TQt now uses Unicode throughout. - data() now returns a <em>const</em> reference to an ASCII version - of the string - you cannot directly access the - string as an array of bytes, because it isn't one. Often, latin1() is - what you want rather than data(), or just leave it to convert to - const char* automatically. data() is only used now to aide porting to TQt 2.x, - and ideally you'll only need latin1() or implicit conversion when interfacing - to facilities that do not have Unicode support. - -<dt><b>Automatic-expanding</b></dt> -<dd> -A big advantage of the new QString is that it automatically expands -when you write to an indexed position. - -<dt><b>QChar and QCharRef</b></dt> -<dd> -QChar are the Unicode characters that make up a QString. A QCharRef is -a temporary reference to a QChar in a QString that when assigned to -ensures that the implicit sharing semantics of the QString are maintained. -You are unlikely to use QCharRef in your own code - but so that you -understand compiler error messages, just know that <tt>mystring[123]</tt> -is a QCharRef whenever <tt>mystring</tt> is not a constant string. A QCharRef -has basically the same functionality as a QChar, except it is more restricted -in what you can assign to it and cast it to (to avoid programming errors). - -<dt><b>Use QString</b></dt> -<dd> -Try to always use QString. If you <em>must</em>, use QCString which is the -old implementation from TQt 1.x. - -<dt><b>Unicode vs. ASCII</b></dt> -<dd> -Every conversion to and from ASCII is wasted time, so try to use QString - as much as possible rather than const char*. This also ensures you have - full 16-bit support. - -<dt><b>Convertion to ASCII</b></dt> -<dd> -The return value from operator const char*() is transient - don't expect - it to remain valid while you make deep function calls. - It is valid for as long as you don't modify or destroy the QString. - -<dt><b>QString is simpler</b></dt> -<dd> -Expect your code to become simpler with the new QString, especially - places where you have used a char* to wander over the string rather - than using indexes into the string. - -<dt><b>Some hacks don't work</b></dt> -<dd> -This hack: - use_sub_string( &my_string[index] ) - should be replaced by: - use_sub_string( my_string.mid(index) ) - -<dt><b>QString(const char*, int) is removed</b></dt> -<dd> -The QString constructor taking a const char* and an integer is removed. -Use of this constructor was error-prone, since the length included the -'\0' terminator. Use QString::left(int) or QString::fromLatin1( const char*, -int ) -- in both cases the int parameter signifies the number of characters. - -<dt><b>QString(int) is private</b></dt> -<dd> -The QString constructor taking an integer is now private. This function -is not meaningful anymore, since QString does all space allocation -automatically. 99% of cases can simple be changed to use the -default constructor, QString(). -<p> -In TQt 1.x the constructor was used in two ways: accidentally, -by attempting to convert a char to a QString (the char converts to int!) - -giving strange bugs, and as a way to make a QString big enough prior to -calling \code QString::sprintf()\endcode. In TQt 2.x, the accidental bug case is -prevented (you will get a compilation error) and QString::sprintf has -been made safe - you no longer need to pre-allocate space (though for -other reasons, sprintf is still a poor choice - eg. it doesn't pass Unicode). -The only remaining common case is conversion of 0 (NULL) to QString, which -would usually give expected results in TQt 1.x. For TQt 2.x the correct -syntax is to use QString::null, though note that -the default constructor, QString(), creates a null string too. -Assignment of 0 to a QString is ambiguous - assign -QString::null; you'll mainly find these in code that has been converted -from const char* types to QString. -This also prevents a common error case from TQt 1.x - in -that version, mystr = 'X' would <em>not</em> produce the expected -results and was always a programming error; in TQt 2.x, it works - making -a single-character string. - -<p> -Also see <a href="#QStrList">QStrList</a>. - -<dt><b>Signals and Slots</b></dt> -<dd> -Many signal/slots have changed from const char* to QString. You will - get run-time errors when you try to \code QObject::connect()\endcode - to the old - signals and slots, usually with a message indicating the const QString& - replacement signal/slot. - -<dt><b>Optimize with Q2HELPER</b></dt> -<dd> -In qt/src/tools/qstring.cpp there is a Q2HELPER - define it for some -extra debugging/optimizing features (don't leave it it - it kills performance). -You'll get an extra function, qt_qstring_stats(), which will print a -summary of how much your application is doing Unicode and ASCII -back-and-forth conversions. - -<dt><b>QString::detach() is obsolete and removed</b></dt> -<dd> -Since QString is now always shared, this function does nothing. -Remove calls to QString::detach(). - -<dt><b>QString::resize(int size) is obsolete and removed</b></dt> -<dd> -Code using this to truncate a string should use - \link QString::truncate() truncate(size-1)\endlink. -Code using qstr.resize(0) should use qstr = QString::null. -Code calling resize(n) prior to using - \link QString::operator[]() operator[]\endlink up to n just remove -the resize(n) completely. - -<dt><b>QString::size() is obsolete and removed</b></dt> -<dd> -Calls to this function must be replaced by -\link QString::length() length()\endlink+1. - -<dt><b>QString::setStr(const char*) is removed</b></dt> -<dd>Try to understand why you were using this. -If you just meant assignment, use that. Otherwise, -you are probably using QString as an array of bytes, in which case use -QByteArray or QCString instead. - -<dt><b>QString is not an array of bytes</b></dt> -<dd> -Code that uses QString as an array of bytes should use QByteArray -or a char[], <em>then</em> convert that to a QString if needed. - -<dt><b>"string = 0"</b></dt> -<dd> -Assigning 0 to a QString should be assigning the null string, -ie. string = QString::null. - -<dt><b>System functions</b></dt> -<dd> -You may find yourself needing latin1() for passing to the operating system - or other libraries, and be tempted to use QCString to save the conversion, - but you are better off using Unicode throughout, then when the operating - system supports Unicode, you'll be prepared. Some Unix operating systems - are now beginning to have basic Unicode support, and TQt will be tracking - these improvements as they become more widespread. - -<dt><b>Bugs removed</b></dt> -<dd> -toShort() returns 0 (and sets *ok to false) on error. -toUInt() now works for big valid unsigned integers. -insert() now works into the same string. - -<dt><b>NULL pointers</b></dt> -<dd> -When converting "const char*" usage to QString in order to make your - application fully Unicode-aware, use QString::null for the null value - where you would have used 0 with char pointers. - -<dt><b>QString is not null terminated</b></dt> -<dd> -This means that inserting a 0-character - in the middle of the string does <em>not</em> change the length(). ie. - \code - QString s = "fred"; - s[1] = '\0'; - // s.length() == 4 - // s == "f\0ed" - // s.latin1() == "f" - s[1] = 'r'; - // s == "fred" - // s.latin1() == "fred" - \endcode - Especially look out for this type of code: - \code - QString s(2); - s[0] = '?'; - s[1] = 0; - \endcode - This creates a string 2 characters long. - To find these problems while converting, you might like to - add Q_ASSERT(strlen(d->ascii)==d->len) inside - \code QString::latin1()\endcode. - -<dt><b>QString or Standard C++ string?</b></dt> -<dd> -<p> -The Standard C++ Library string is not Unicode. Nor is wstring defined -to be so (for the small number of platforms where it is defined at all). -This is the same mistake made over and over -in the history of C - only when non-8-bit characters are <em>the norm</em> -do programmers find them usable. Though it is possible to convert between -string and QString, it is less efficient than using QString throughout. -For example, when using: -\code - QLabel::setText( const QString& ) -\endcode -if you use string, like this: -\code - void myclass::dostuffwithtext( const string& str ) - { - mylabel.setText( QString(str.c_str()) ); - } -\endcode -that will create a (ASCII only) copy of str, stored in mylabel. -But this: -\code - void myclass::dostuffwithtext( const QString& str ) - { - mylabel.setText( str ); - } -\endcode -will make an implicitly shared reference to str in the QLabel - no copying -at all. This function might be 10 nested function calls away from something -like this: -\code - void toplevelclass::initializationstuff() - { - doStuff( tr("Okay") ); - } -\endcode -At this point, in TQt 2.x, the tr() does a very fast dictionary lookup -through memory-mapped message files, returning some Unicode QString for -the appropriate language (the default being to just make a QString out -of the text, of course - you're not <em>forced</em> to use any of these -features), and that <em>same</em> memory mapped Unicode will be passed -though the system. All occurrences of the translation of "Okay" can -potentially be shared. - -</dl> - - - -<h3><a name="QApplication">QApplication</a></h3> - -In the function \code QApplication::setColorSpec()\endcode, -PrivateColor and TrueColor are obsolete. Use ManyColor instead. - - -<h3><a name="QColor">QColor</a></h3> - -<p> -All colors -(color0, -color1, -black, -white, -darkGray, -gray, -lightGray, -red, -green, -blue, -cyan, -magenta, -yellow, -darkRed, -darkGreen, -darkBlue, -darkCyan, -darkMagenta, -and -darkYellow) -are in the TQt namespace. -In members of classes that inherit the TQt namespace-class (eg. QWidget -subclasses), you can use the unqualified names as before, but in global -functions (eg. main()), you need to qualify them: Qt::red, Qt::white, etc. -See also the <a href="#QRgb">QRgb</a> section below. - -<h3><a name="QRgb">QRgb</a></h3> - -In QRgb (a typedef of long), the order of the RGB channels has changed to -be in the more efficient order (for typical contemporary hardware). If your -code made assumptions about the order, you will get blue where you expect -red and vice versa (you'll not notice the problem if you use shades of -gray, green, or magenta). You should port your code to use the -creator function tqRgb(int r,int g,int b) and the -access functions tqRed(QRgb), tqBlue(QRgb), and tqGreen(QRgb). -If you are using the alpha channel, it hasn't moved, but you should use -the functions tqRgba(int,int,int,int) and tqAlpha(QRgb). Note also that -QColor::pixel() does <i>not</i> return a QRgb (it never did on all platforms, -but your code may have assumed so on your platform) - this may also produce -strange color results - use QColor::rgb() if you want a QRgb. - - -<h3><a name="QDataStream">QDataStream</a></h3> - -<p>The QDatastream serialization format of most TQt classes is changed -in TQt 2.x. Use \code QDataStream::setVersion( 1 )\endcode to get a -datastream object that can read and write TQt 1.x format data streams. - -<p>If you want to write TQt 1.x format datastreams, note the following -compatibility issues: - <ul> - <li>QString: TQt 1.x has no Unicode support, so strings will be - serialized by writing the classic C string returned by \code - QString::latin1().\endcode - <li><a href="#QPoint">QPoint & al.</a>: Coordinates will be - truncated to the TQt 1.x 16 bit format. - </ul> - -<h3><a name="QWidget">QWidget</a></h3> - -<h4>QWidget::recreate()</h4> -<p> -This function is now called \link QWidget::reparent() reparent()\endlink. - -<h4>QWidget::setAcceptFocus(bool)</h4> -<p> -This function is removed. -Calls like QWidget::setAcceptFocus(TRUE) should be replaced by - \code QWidget::setFocusPolicy(StrongFocus)\endcode, and -calls like QWidget::setAcceptFocus(FALSE) should be replaced by - \code QWidget::setFocusPolicy(NoFocus)\endcode. -Additional policies are TabFocus and ClickFocus. - - -<h4>QWidget::paintEvent()</h4> -<p> -paintEvent(0) is not permitted - subclasses need not check for -a null event, and might crash. -Never pass 0 as the argument to paintEvent(). You probably -just want repaint() or update() instead. -<p> -When processing a paintEvent, painting is only permitted within -the update region specified in the event. Any painting outside will be -clipped away. This shouldn't break any code (it was always like this -on MS-Windows) but makes many explicit calls to -QPainter::setClipRegion() superfluous. Apart from the improved -consistency, the change is likely to reduce flicker and to make Qt -event slightly faster. - -<h3><a name="QIODevice">QIODevice</a></h3> -<p> -The protected member QIODevice::index is renamed to QIODevice::ioIndex -to avoid warnings and to allow compilation with bad C libraries that -#define index to strchr. If you have made a subclass of QIODevice, -check every occurrence of the string "index" in the implementation, since -a compiler will not always catch cases like \code(uint)index\endcode -that need to be changed. - -<h3><a name="QLabel">QLabel</a></h3> - -<h4>\code QLabel::setMargin()\endcode</h4> -<p> -\code QLabel::setMargin()\endcode and\code QLabel::margin()\endcode -have been renamed to \code QLabel::setIndent()\endcode and -\code QLabel::indent()\endcode, respectively. This was done to avoid -collision with QFrame::setMargin(), which is now virtual. - -<h4>\code QLabel::setMovie()\endcode</h4> -<p> -Previously, setting a movie on a label cleared the value of text(). -Now it doesn't. If you somehow used <tt>QLabel::text()</tt> -to detect if a -movie was set, you might have trouble. This is unlikely. - - -<h3><a name="QDialog">QDialog</a></h3> - -<p> The semantics of the parent pointer changed for modeless dialogs: -In Qt-2.x, dialogs are always top level windows. The parent, however, -takes the ownership of the dialog, i.e. it will delete the dialog at -destruction if it has not been explicitly deleted -already. Furthermore, the window system will be able to tell that both -the dialog and the parent belong together. Some X11 window managers -will for instance provide a common taskbar entry in that case. - -<p> -If the dialog belongs to a top level main window -of your application, pass this main window as parent to the dialog's -constructor. Old code (with 0 pointer) will still run. Old code that -included QDialogs as child widgets will no longer work (it never really did). -If you think you might be doing this, put a breakpoint in -QDialog::QDialog() conditional on parent not being 0. - - -<h3><a name="QStrList">QStrList</a></h3> - -Many methods that took a QStrList can now instead take a QStringList, -which is a real list of QString values. - -To use QStringList rather than QStrList, change loops that look like this: -\code - QStrList list = ...; - const char* s; - for ( s = list.first(); s; s = list.next() ) { - process(s); - } -\endcode -to be like this: -\code - QStringList list = ...; - QStringList::ConstIterator i; - for ( i = list.begin(); i != list.end(); ++i ) { - process(*i); - } -\endcode - -In general, the QStrList functions are less efficient, building a temporary QStringList. - -The following functions now use QStringList rather than QStrList -for return types/parameters. - -<ul> - <li><tt>void QFileDialog::setFilters(const QStrList&)</tt> - becomes <tt>void QFileDialog::setFilters(const QStringList&)</tt> - <li><tt>QStrList QFileDialog::getOpenFileNames(...)</tt> - becomes <tt>QStringList QFileDialog::getOpenFileNames(...)</tt> - <li><tt>bool QUrlDrag::decodeLocalFiles(QMimeSource*, QStrList&)</tt> - becomes <tt>bool QUriDrag::decodeLocalFiles(QMimeSource*, QStringList&)</tt> - <li><tt>const QStrList *QDir::entryList(...) const</tt> - becomes <tt>QStringList QDir::entryList(...) const</tt> - (note that the return type is no longer a pointer). You may also - choose to use encodedEntryList(). -</ul> - -The following functions are added: -<ul> - <li><tt>QComboBox::insertStringList(const QStringList &, int index=-1)</tt> - <li><tt>QListBox::insertStringList(const QStringList &,int index=-1)</tt> -</ul> - -The rarely used static function <tt>void -QFont::listSubstitutions(QStrList*)</tt> is replaced by <tt>QStringList -QFont::substitutions()</tt>. - - -<h3><a name="QLayout">QLayout</a></h3> - -<p> Calling resize(0,0) or resize(1,1) will no longer work magically. -Remove all such calls. The default size of top level widgets will be their -\link QWidget::sizeHint() sizeHint()\endlink. - -<p> The default implementation of QWidget::sizeHint() will no longer -return just an invalid size; if the widget has a layout, it will return -the layout's preferred size. - -<p> The special maximum MaximumHeight/Width is now QWIDGETSIZE_MAX, -not QCOORD_MAX. - -<p> \link QBoxLayout::addWidget() QBoxLayout::addWidget()\endlink -now interprets the \e alignment parameter more aggressively. A -non-default alignment now indicates that the widget should not grow to -fill the available space, but should be sized according to sizeHint(). -If a widget is too small, set the alignment to 0. (Zero indicates no -alignment, and is the default.) - -<p> The class QGManager is removed. Subclasses of QLayout need to be rewritten -to use the new, much simpler \link QLayout QLayout API\endlink. - -<p> For typical layouts, all use of -\link QWidget::setMinimumSize() setMinimumSize()\endlink -and -\link QWidget::setFixedSize() setFixedSize()\endlink -can be removed. -\link QLayout::activate() activate()\endlink is no longer necessary. - -<p> -You might like to look at the QGrid, QVBox, and QHBox widgets - they offer -a simple way to build nested widget structures. - - -<h3><a name="QListView">QListView</a></h3> - -<p>In TQt 1.x mouse events to the viewport where redirected to the -event handlers for the listview; in TQt 2.x, this functionality is -in QScrollView where mouse (and other position-oriented) events are -redirected to viewportMousePressEvent() etc, which in turn translate -the event to the coordinate system of the contents and call -contentsMousePressEvent() etc, thus providing events in the most -convenient coordinate system. If you overrode QListView::MouseButtonPress(), -QListView::mouseDoubleClickEvent(), QListView::mouseMoveEvent(), or -QListView::mouseReleaseEvent() you must instead override -viewportMousePressEvent(), -viewportMouseDoubleClickEvent(), viewportMouseMoveEvent(), or -viewportMouseReleaseEvent() respectively. New code will usually override -contentsMousePressEvent() etc. - -<p>The signal QListView::selectionChanged(QListViewItem *) can now be -emitted with a null pointer as parameter. Programs that use the -argument without checking for 0, may crash. - -<h3><a name="QMultiLineEdit">QMultiLineEdit</a></h3> - -<p> -The protected function -\code QMultiLineEdit::textWidth(QString*)\endcode -changed to -\code QMultiLineEdit::textWidth(const QString&)\endcode. -This is unlikely to be a problem, and you'll get a compile error -if you called it. - - -<h3><a name="QClipboard">QClipboard</a></h3> - -<p> -\code QClipboard::pixmap()\endcode now returns a QPixmap, not a QPixmap*. -The pixmap -will be \link QPixmap::isNull() null\endlink if no pixmap is on the -clipboard. QClipboard now offers powerful MIME-based types on the -clipboard, just like drag-and-drop (in fact, you can reuse most of your -drag-and-drop code with clipboard operations). - - -<h3><a name="QDropSite">QDropSite</a></h3> - -<P> -QDropSite is obsolete. If you simply passed <tt>this</tt>, just remove -the inheritance of QDropSite and call -\link QWidget::setAcceptDrops() setAcceptDrops(TRUE)\endlink in the class -constructor. -If you passed something other than <tt>this</tt>, -your code will not work. A common case is passing -the -\link QScrollView::viewport() viewport()\endlink of a QListView, -in which case, -override the -\link QScrollView::contentsDragMoveEvent() contentsDragMoveEvent()\endlink, -etc. -functions rather than QListView's dragMoveEvent() etc. For other -cases, you will need to use an event filter to act on the drag/drop events -of another widget (as is the usual way to intercept foreign events). - - -<h3><a name="QScrollView">QScrollView</a></h3> - -The parameters in the signal -\link QScrollView::contentsMoving() contentsMoving(int,int)\endlink -are now positive rather than negative values, coinciding with -\link QScrollView::setContentsPos() setContentsPos()\endlink. Search for -connections you make to this signal, and either change the slot they are -connected to such that it also expects positive rather than negative -values, or introduce an intermediate slot and signal that negates them. - -If you used drag and drop with QScrollView, you may experience the problem -described for <a href="#QDropSite">QDropSite</a>. - - -<h3><a name="QTextStream">QTextStream</a></h3> - -<p> -\code operator<<(QTextStream&, QChar&)\endcode does not skip whitespace. -\code operator<<(QTextStream&, char&)\endcode does, - as was the case with TQt 1.x. This is for backward compatibility. - -<h3><a name="QUriDrag">QUriDrag</a></h3> - -The class QUrlDrag is renamed to QUriDrag, and the API has been -broadened to include additional conversion routines, including -conversions to Unicode filenames (see the class documentation -for details). Note that in TQt 1.x -the QUrlDrag class used the non-standard MIME type "url/url", -while QUriDrag uses the standardized "text/uri-list" type. Other -identifiers affected by the Url to Uri change are -QUrlDrag::setUrls() and QUrlDrag::urlToLocalFile(). - -<h3><a name="QPainter">QPainter</a></h3> - -<p> The GrayText painter flag has been removed. Use -\link QPainter::setPen() setPen( palette().disabled().foreground() )\endlink -instead. - - -<p> The RasterOp enum -(CopyROP, - OrROP, - XorROP, - NotAndROP, - EraseROP, - NotCopyROP, - NotOrROP, - NotXorROP, - AndROP, NotEraseROP, - NotROP, - ClearROP, - SetROP, - NopROP, - AndNotROP, - OrNotROP, - NandROP, - NorROP, LastROP) -is now part of the TQt namespace class, so if you -use it outside a member function, you'll need to prefix with Qt::. - - -<h3><a name="QPicture">QPicture</a></h3> - -<p>The binary storage format of QPicture is changed, but the TQt 2.x -QPicture class can both read and write TQt 1.x format QPictures. No -special handling is required for reading; QPicture will automatically -detect the version number. In order to write a TQt 1.x format QPicture, -set the formatVersion parameter to 1 in the QPicture constructor. - -<p>For writing TQt 1.x format QPictures, the compatibility issues of <a -href="#QDataStream">QDataStream</a> applies. - -<p>It is safe to try to read a QPicture file generated with TQt 2.x -(without formatVersion set to 1) with a program compiled with Qt -1.x. The program will not crash, it will just issue the warning -"QPicture::play: Incompatible version 2.x" and refuse to load the -picture. - - - -<h3><a name="QPoint">QPoint, QPointArray, QSize and QRect</a></h3> - -<p>The basic coordinate datatype in these classes, QCOORD, is now 32 -bit (int) instead of a 16 bit (short). The const values QCOORD_MIN and -QCOORD_MAX have changed accordingly. - -<p>QPointArray is now actually, not only seemingly, a QArray of QPoint -objects. The semi-internal workaround classes QPointData and QPointVal -are removed since they are no longer needed; QPoint is used directly -instead. The function \code QPointArray::shortPoints()\endcode -provides the point array converted to short (16bit) coordinates for -use with external functions that demand that format. - - -<h3><a name="QImage">QImage</a></h3> - -QImage uses QRgb for the colors - see <a href="#QRgb">the changes to that</a>. - - -<h3><a name="QPixmap">QPixmap</a></h3> - -\code QPixmap::convertToImage()\endcode with bitmaps now guarantees that color0 pixels -become color(0) in the resulting QImage. If you worked around the lack of -this, you may be able to simplify your code. If you made assumptions -about the previous undefined behavior, the symptom will be inverted -bitmaps (eg. "inside-out" masks). - -<p> -\code QPixmap::optimize(TRUE)\endcode -is replaced by -\code QPixmap::setOptimization(QPixmap::NormalOptim)\endcode -or -\code QPixmap::setOptimization(QPixmap::BestOptim)\endcode -- see the documentation -to choose which is best for your application. NormalOptim is most like -the TQt 1.x "TRUE" optimization. - - -<h3><a name="QMenuData">QMenuData / QPopupMenu</a></h3> - -In TQt 1.x, new menu items were assigned either an application-wide -unique identifier or an identifier equal to the index of the item, depending on the -\link QMenuData::insertItem() insertItem(...)\endlink function used. -In TQt 2.x this confusing -situation has been cleaned up: generated identifiers are always -unique across the entire application. - -If your code depends on generated ids -being equal to the item's index, a quick fix is to use -\code QMenuData::indexOf(int id)\endcode -in the handling function instead. You may alternatively pass -\code QMenuData::count()\endcode -as identifier when you insert the items. - -Furthermore, QPopupMenus can (and should!) be created with a parent -widget now, for example the main window that is used to display the -popup. This way, the popup will automatically be destroyed together -with its main window. Otherwise you'll have to take care of the -ownership manually. - -QPopupMenus are also reusable in 2.x. They may occur in different -locations within one menu structure or be used as both a menubar -drop-down and as a context popup-menu. This should make it possible to -significantly simplify many applications. - -Last but not least, QPopupMenu no longer inherits QTableView. Instead, -it directly inherits QFrame. - -<h3><a name="QValidator">QValidator (QLineEdit, QComboBox, QSpinBox) </a></h3> - -\code QValidator::validate(...)\endcode -and -\code QValidator::fixup( QString & )\endcode -are now const -functions. If your subclass reimplements validate() as a -non-const function, -you will get a compile error (validate was pure virtual). - -In QLineEdit, QComboBox, and QSpinBox, -setValidator(...) now takes a const pointer to a QValidator, and -validator() returns a const pointer. This change highlights the fact -that the widgets do not take the ownership of the validator (a validator is -a QObject on its own, with its own parent - you can easily set the same validator -object on many different widgets), so changing the state of -such an object or deleting it is very likely a bug. - - -<h3><a name="QFile">QFile, QFileInfo, QDir</a></h3> - -File and directory names are now always Unicode strings (ie. QString). If you used QString -in the past for the simplicity it offers, you'll probably have little consequence. However, -if you pass filenames to system functions rather than using TQt functions (eg. if you use the -Unix <tt>unlink()</tt> function rather than <tt>QFile::remove()</tt>, your code will probably -only work for Latin1 locales (eg. Western Europe, the U.S.). To ensure your code will support -filenames in other locales, either use the TQt functions, or convert the filenames via -\code QFile::encodeFilename()\endcode and \code QFile::decodeFilename()\endcode - but do it -\e just as you call the system function - code that mixes encoded and unencoded filenames -is very error prone. See the comments in QString, such as regarding TQT_NO_ASCII_CAST that -can help find potential problems. - - -<h3><a name="QFontMetrics">QFontMetrics</a></h3> - -boundingRect(char) is replaced by -boundingRect(QChar), but since -char auto-converts to QChar, you're not likely to run into problems -with this. - - -<h3><a name="QWindow">QWindow</a></h3> - -This class (which was just QWidget under a different name) has been -removed. If you used it, do a global search-and-replace of the word -"QWindow" with "QWidget". - - -<h3><a name="QEvent">QEvent</a></h3> - -<p> The global #define macros in ntqevent.h have been replaced by an -enum in QEvent. Use e.g. QEvent::Paint instead of Event_Paint. Same -for all of: -Event_None, -Event_Timer, -Event_MouseButtonPress, -Event_MouseButtonRelease, -Event_MouseButtonDblClick, -Event_MouseMove, -Event_KeyPress, -Event_KeyRelease, -Event_FocusIn, -Event_FocusOut, -Event_Enter, -Event_Leave, -Event_Paint, -Event_Move, -Event_Resize, -Event_Create, -Event_Destroy, -Event_Show, -Event_Hide, -Event_Close, -Event_Quit, -Event_Accel, -Event_Clipboard, -Event_SockAct, -Event_DragEnter, -Event_DragMove, -Event_DragLeave, -Event_Drop, -Event_DragResponse, -Event_ChildInserted, -Event_ChildRemoved, -Event_LayoutHint, -Event_ActivateControl, -Event_DeactivateControl, -and -Event_User. - -<p> The Q_*_EVENT macros in ntqevent.h have been deleted. Use an -explicit cast instead. The macros were: -Q_TIMER_EVENT, -Q_MOUSE_EVENT, -Q_KEY_EVENT, -Q_FOCUS_EVENT, -Q_PAINT_EVENT, -Q_MOVE_EVENT, -Q_RESIZE_EVENT, -Q_CLOSE_EVENT, -Q_SHOW_EVENT, -Q_HIDE_EVENT, -and -Q_CUSTOM_EVENT. - -<p> QChildEvents are now sent for all QObjects, not just QWidgets. -You may need to add extra checking if you use a QChildEvent without -much testing of its values. - -<h3>All the removed functions</h3> - -All <a href="removed20.html">these functions</a> have been removed in -Qt 2.x. Most are simply cases where "const char*" has changed to -"const QString&", or when an enumeration type has moved into the Qt:: -namespace (which, technically, is a new name, but your code will -compile just the same anyway). This list is provided for completeness. - -*/ - -// I split this to work around limitations in perl's regexp parser. --Arnt - -// warwick can regenerate this with his qt-2-report - -/*! \page removed20.html - -\title Functions removed in TQt 2.0 - -<pre> - -QFileDialog::fileHighlighted(const char *) -QFileDialog::fileSelected(const char *) -QFileDialog::dirEntered(const char *) -QFileDialog::updatePathBox(const char *) -QObject::name(void) const -QFileDialog::getOpenFileName(const char *, const char *, QWidget *, const char *) -QFileDialog::getSaveFileName(const char *, const char *, QWidget *, const char *) -QFileDialog::getExistingDirectory(const char *, QWidget *, const char *) -QFileDialog::getOpenFileNames(const char *, const char *, QWidget *, const char *) -QFileDialog::setSelection(const char *) -QFileDialog::setDir(const char *) -QMessageBox::setText(const char *) -QMessageBox::setButtonText(const char *) -QMessageBox::setButtonText(int, const char *) -QMessageBox::setStyle(GUIStyle) -QMessageBox::standardIcon(QMessageBox::Icon, GUIStyle) -QMessageBox::information(QWidget *, const char *, const char *, const char *, const char *, const char *, int, int) -QMessageBox::information(QWidget *, const char *, const char *, int, int, int) -QMessageBox::warning(QWidget *, const char *, const char *, const char *, const char *, const char *, int, int) -QMessageBox::warning(QWidget *, const char *, const char *, int, int, int) -QMessageBox::critical(QWidget *, const char *, const char *, const char *, const char *, const char *, int, int) -QMessageBox::critical(QWidget *, const char *, const char *, int, int, int) -QMessageBox::about(QWidget *, const char *, const char *) -QMessageBox::aboutTQt(QWidget *, const char *) -QMessageBox::message(const char *, const char *, const char *, QWidget *, const char *) -QMessageBox::buttonText(void) const -QMessageBox::query(const char *, const char *, const char *, const char *, QWidget *, const char *) -QProgressDialog::setLabelText(const char *) -QProgressDialog::setCancelButtonText(const char *) -QProgressDialog::styleChange(GUIStyle) -QProgressDialog::init(QWidget *, const char *, const char *, int) -QTabDialog::addTab(QWidget *, const char *) -QTabDialog::isTabEnabled(const char *) const -QTabDialog::setTabEnabled(const char *, bool) -QTabDialog::setDefaultButton(const char *) -QTabDialog::setCancelButton(const char *) -QTabDialog::setApplyButton(const char *) -QTabDialog::setOKButton(const char *) -QTabDialog::setOkButton(const char *) -QTabDialog::styleChange(GUIStyle) -QTabDialog::selected(const char *) -QObject::name(void) const -QApplication::setStyle(GUIStyle) -QApplication::palette(void) -QApplication::setPalette(const QPalette &, bool) -QApplication::font(void) -QApplication::setFont(const QFont &, bool) -QBrush::setStyle(BrushStyle) -QBrush::init(const QColor &, BrushStyle) -QObject::name(void) const -QClipboard::data(const char *) const -QClipboard::setData(const char *, void *) -QClipboard::setText(const char *) -QUrlDrag::decodeLocalFiles(QDropEvent *, QStrList &) -QObject::name(void) const -QStoredDrag::setEncodedData(QArrayT<char> const &) -QTextDrag::setText(const char *) -QImageDrag::canDecode(QDragMoveEvent *) -QTextDrag::canDecode(QDragMoveEvent *) -QUrlDrag::canDecode(QDragMoveEvent *) -QImageDrag::decode(QDropEvent *, QImage &) -QImageDrag::decode(QDropEvent *, QPixmap &) -QTextDrag::decode(QDropEvent *, QString &) -QUrlDrag::decode(QDropEvent *, QStrList &) -QDragMoveEvent::format(int) -QDragMoveEvent::provides(const char *) -QDragMoveEvent::data(const char *) -QDropEvent::data(const char *) -QEvent::peErrMsg(void) -QFont::substitute(const char *) -QFont::insertSubstitution(const char *, const char *) -QFont::removeSubstitution(const char *) -QFont::load(unsigned int) const -QFont::setFamily(const char *) -QFont::bold(void) const -QFont::setBold(bool) -QFont::handle(unsigned int) const -QFont::bold(void) const -QFontInfo::font(void) const -QFontInfo::reset(const QWidget *) -QFontInfo::type(void) const -QFontMetrics::inFont(char) const -QFontMetrics::leftBearing(char) const -QFontMetrics::rightBearing(char) const -QFontMetrics::width(char) const -QFontMetrics::width(const char *, int) const -QFontMetrics::boundingRect(char) const -QFontMetrics::boundingRect(const char *, int) const -QFontMetrics::boundingRect(int, int, int, int, int, const char *, int, int, int *, char **) const -QFontMetrics::size(int, const char *, int, int, int *, char **) const -QFontMetrics::font(void) const -QFontMetrics::reset(const QWidget *) -QFontMetrics::type(void) const -QObject::name(void) const -QGManager::setBorder(int) -QGManager::newSerChain(QGManager::Direction) -QGManager::newParChain(QGManager::Direction) -QGManager::add(QChain *, QChain *, int) -QGManager::addWidget(QChain *, QWidget *, int) -QGManager::addSpacing(QChain *, int, int, int) -QGManager::addBranch(QChain *, QChain *, int, int) -QGManager::setStretch(QChain *, int) -QGManager::activate(void) -QGManager::unFreeze(void) -QGManager::xChain(void) -QGManager::yChain(void) -QGManager::setMenuBar(QWidget *) -QGManager::mainWidget(void) -QGManager::remove(QWidget *) -QGManager::setName(QChain *, const char *) -QGManager::eventFilter(QObject *, QEvent *) -QGManager::resizeHandle(QWidget *, const QSize &) -QGManager::resizeAll(void) -QIconSet::setPixmap(const char *, QIconSet::Size, QIconSet::Mode) -QImage::imageFormat(const char *) -QImageIO::imageFormat(const char *) -QImage::load(const char *, const char *) -QImage::loadFromData(QArrayT<char>, const char *) -QImage::save(const char *, const char *) const -QImageIO::setFileName(const char *) -QImageIO::setDescription(const char *) -QBoxLayout::addB(QLayout *, int) -QObject::name(void) const -QLayout::basicManager(void) -QLayout::verChain(QLayout *) -QLayout::horChain(QLayout *) -QObject::name(void) const -QObject::tr(const char *) const -QPaintDevice::x11Screen(voidQPaintDevice::x11Depth(voidQPaintDevice::x11Cells(voidQPaintDevice::x11Colormap(voidQPaintDevice::x11DefaultColormap(void) QPaintDevice::x11Visual(voidQPaintDevice::x11DefaultVisual(void) -QPainter::translate(float, float) -QPainter::scale(float, float) -QPainter::shear(float, float) -QPainter::rotate(float) -QPainter::drawText(const QPoint &, const char *, int) -QPainter::drawText(const QRect &, int, const char *, int, QRect *, char **) -QPainter::drawText(int, int, const char *, int) -QPainter::drawText(int, int, int, int, int, const char *, int, QRect *, char **) -QPainter::boundingRect(int, int, int, int, int, const char *, int, char **) -QPainter::testf(unsigned short) const -QPainter::setf(unsigned short) -QPainter::setf(unsigned short, bool) -QPainter::clearf(unsigned short) -QPainter::setPen(PenStyle) -QPainter::setBrush(BrushStyle) -QPainter::setBackgroundMode(BGMode) -QPen::setStyle(PenStyle) -QPen::init(const QColor &, unsigned int, PenStyle) -QPicture::load(const char *) -QPicture::save(const char *) -QPixmap::isOptimized(void) const -QPixmap::optimize(bool) -QPixmap::isGloballyOptimized(void) -QPixmap::optimizeGlobally(bool) -QPixmap::imageFormat(const char *) -QPixmap::load(const char *, const char *, QPixmap::ColorMode) -QPixmap::load(const char *, const char *, int) -QPixmap::loadFromData(QArrayT<char>, const char *, int) -QPixmap::save(const char *, const char *) const -QPixmapCache::find(const char *) -QPixmapCache::find(const char *, QPixmap &) -QPixmapCache::insert(const char *, QPixmap *) -QPixmapCache::insert(const char *, const QPixmap &) -QPrinter::setPrinterName(const char *) -QPrinter::setOutputFileName(const char *) -QPrinter::setPrintProgram(const char *) -QPrinter::setDocName(const char *) -QPrinter::setCreator(const char *) -QRect::setX(int) -QRect::setY(int) -QRegion::exec(QArrayT<char> const &) -QObject::name(void) const -QObject::name(void) const -QSignalMapper::setMapping(const QObject *, const char *) -QSignalMapper::mapped(const char *) -QObject::name(void) const -QObject::name(void) const -QWidget::setCaption(const char *) -QWidget::setIconText(const char *) -QWidget::drawText(const QPoint &, const char *) -QWidget::drawText(int, int, const char *) -QWidget::acceptFocus(void) const -QWidget::setAcceptFocus(bool) -QWidget::create(unsigned int) -QWidget::create(void) -QWidget::internalMove(int, int) -QWidget::internalResize(int, int) -QWidget::internalSetGeometry(int, int, int, int) -QWidget::deferMove(const QPoint &) -QWidget::deferResize(const QSize &) -QWidget::cancelMove(voidQWidget::cancelResize(voidQWidget::sendDeferredEvents(voidQWidget::setBackgroundColorFromMode(voidQObject::name(void) const QWidget::setMask(QBitmapQWMatrix::setMatrix(float, float, float, float, float, float) -QWMatrix::map(float, float, float *, float *) const -QWMatrix::translate(float, float) -QWMatrix::scale(float, float) -QWMatrix::shear(float, float) -QWMatrix::rotate(float) -QBuffer::setBuffer(QArrayT<char>) -QDir::entryList(const char *, int, int) const -QDir::entryInfoList(const char *, int, int) const -QDir::mkdir(const char *, bool) const -QDir::rmdir(const char *, bool) const -QDir::exists(const char *, bool) -QDir::remove(const char *, bool) -QDir::rename(const char *, const char *, bool) -QDir::setCurrent(const char *) -QDir::match(const char *, const char *) -QDir::cleanDirPath(const char *) -QDir::isRelativePath(const char *) -QDir::setPath(const char *) -QDir::filePath(const char *, bool) const -QDir::absFilePath(const char *, bool) const -QDir::convertSeparators(const char *) -QDir::cd(const char *, bool) -QDir::setNameFilter(const char *) -QFile::setName(const char *) -QFile::exists(const char *) -QFile::remove(const char *) -QFileInfo::setFile(const QDir &, const char *) -QFileInfo::setFile(const char *) -QFile::exists(const char *) -QFileInfo::extension(void) const -QRegExp::match(const char *, int, int *) const -QRegExp::matchstr(unsigned short *, char *, char *) const -QString::resize(unsigned int) -QString::fill(char, int) -QString::find(const char *, int, bool) const -QString::findRev(const char *, int, bool) const -QString::leftJustify(unsigned int, char, bool) const -QString::rightJustify(unsigned int, char, bool) const -QString::insert(unsigned int, const char *) -QString::append(const char *) -QString::prepend(const char *) -QString::replace(const QRegExp &, const char *) -QString::replace(unsigned int, unsigned int, const char *) -QString::setStr(const char *) -QString::setNum(int) -QString::setNum(unsigned long) -QString::setExpand(unsigned int, char) -QButton::setText(const char *) -QComboBox::setEditText(const char *) -QComboBox::activated(const char *) -QComboBox::highlighted(const char *) -QComboBox::insertItem(const char *, int) -QComboBox::changeItem(const char *, int) -QComboBox::setStyle(GUIStyle) -QComboBox::setValidator(QValidator *) -QGroupBox::setTitle(const char *) -QHeader::moveAround(int, int) -QHeader::addLabel(const char *, int) -QHeader::setLabel(int, const char *, int) -QHeader::setOrientation(QHeader::Orientation) -QHeader::resizeEvent(QResizeEvent *QHeader::paintCell(QPainter *, int, intQHeader::setupPainter(QPainter *QHeader::cellHeight(intQHeader::cellWidth(int) QLabel::setText(const char *QLCDNumber::display(const char *) -QLCDNumber::resizeEvent(QResizeEvent *) -QLCDNumber::internalDisplay(const char *) -QLCDNumber::drawString(const char *, QPainter &, QBitArray *, bool) -QLCDNumber::drawDigit(const QPoint &, QPainter &, int, char, char) -QLCDNumber::drawSegment(const QPoint &, char, QPainter &, int, bool) -QLineEdit::event(QEvent *) -QLineEdit::setValidator(QValidator *) -QLineEdit::validateAndSet(const char *, int, int, int) -QLineEdit::setText(const char *) -QLineEdit::insert(const char *) -QLineEdit::textChanged(const char *) -QListBox::insertItem(const char *, int) -QListBox::inSort(const char *) -QListBox::changeItem(const char *, int) -QListBox::maxItemWidth(void) -QListBox::highlighted(const char *) -QListBoxItem::setText(const char *) -QListBox::selected(const char *) -QListViewItem::isExpandable(void) -QListView::setStyle(GUIStyle) -QMainWindow::addToolBar(QToolBar *, const char *, QMainWindow::ToolBarDock, bool) -QMenuData::insertItem(const QPixmap &, const QObject *, const char *, int) -QMenuData::insertItem(const QPixmap &, const char *, QPopupMenu *, int, int) -QMenuData::insertItem(const QPixmap &, const char *, const QObject *, const char *, int) -QMenuData::insertItem(const QPixmap &, const char *, const QObject *, const char *, int, int, int) -QMenuData::insertItem(const QPixmap &, const char *, int, int) -QMenuData::insertItem(const char *, QPopupMenu *, int, int) -QMenuData::insertItem(const char *, const QObject *, const char *, int) -QMenuData::insertItem(const char *, const QObject *, const char *, int, int, int) -QMenuData::insertItem(const char *, int, int) -QMenuData::changeItem(const QPixmap &, const char *, int) -QMenuData::changeItem(const char *, int) -QMenuData::insertAny(const char *, const QPixmap *, QPopupMenu *, int, int) -QMenuItem::setText(const char *) -QMultiLineEdit::textWidth(QString *) -QMultiLineEdit::repaintAll(void) -QMultiLineEdit::repaintDelayed(void) -QMultiLineEdit::setText(const char *) -QMultiLineEdit::append(const char *) -QPopupMenu::itemAtPos(const QPoint &) -QPopupMenu::actSig(int) -QRadioButton::mouseReleaseEvent(QMouseEvent *) -QRadioButton::keyPressEvent(QKeyEvent *) -QRangeControl::adjustValue(void) -QScrollBar::setOrientation(QScrollBar::Orientation) -QScrollView::horizontalScrollBar(void) -QScrollView::verticalScrollBar(void) -QScrollView::viewport(void) -QSlider::setOrientation(QSlider::Orientation) -QSpinBox::setSpecialValueText(const char *) -QSpinBox::setValidator(QValidator *) -QSpinBox::valueChanged(const char *) -QSpinBox::paletteChange(const QPalette &) -QSpinBox::enabledChange(bool) -QSpinBox::fontChange(const QFont &) -QSpinBox::styleChange(GUIStyle) -QSplitter::setOrientation(QSplitter::Orientation) -QSplitter::event(QEvent *) -QSplitter::childInsertEvent(QChildEvent *) -QSplitter::childRemoveEvent(QChildEvent *) -QSplitter::moveSplitter(short) -QSplitter::adjustPos(int) -QSplitter::splitterWidget(void) -QSplitter::startMoving(void) -QSplitter::moveTo(QPoint) -QSplitter::stopMoving(void) -QSplitter::newpos(void) const -QStatusBar::message(const char *) -QStatusBar::message(const char *, int) -QObject::name(void) const -QToolTipGroup::showTip(const char *) -QToolTip::add(QWidget *, const QRect &, const char *) -QToolTip::add(QWidget *, const QRect &, const char *, QToolTipGroup *, const char *) -QToolTip::add(QWidget *, const char *) -QToolTip::add(QWidget *, const char *, QToolTipGroup *, const char *) -QToolTip::tip(const QRect &, const char *) -QToolTip::tip(const QRect &, const char *, const char *) -QObject::name(void) const -QWhatsThis::add(QWidget *, const QPixmap &, const char *, const char *, bool) -QWhatsThis::add(QWidget *, const char *, bool) -QWhatsThis::textFor(QWidget *) -QWidgetStack::event(QEvent *) - -</pre> - -*/ |