summaryrefslogtreecommitdiffstats
path: root/doc/html/keyfeatures30.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/keyfeatures30.html')
-rw-r--r--doc/html/keyfeatures30.html357
1 files changed, 357 insertions, 0 deletions
diff --git a/doc/html/keyfeatures30.html b/doc/html/keyfeatures30.html
new file mode 100644
index 000000000..841189419
--- /dev/null
+++ b/doc/html/keyfeatures30.html
@@ -0,0 +1,357 @@
+<!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/changes.doc:36 -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Key Features in TQt 3.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&nbsp;Classes</font></a>
+ | <a href="mainclasses.html">
+<font color="#004faf">Main&nbsp;Classes</font></a>
+ | <a href="annotated.html">
+<font color="#004faf">Annotated</font></a>
+ | <a href="groups.html">
+<font color="#004faf">Grouped&nbsp;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>Key Features in TQt 3.0</h1>
+
+
+
+<p> TQt 3.0 adds a lot of new features and improvements over the TQt 2.x
+series. Some internals have undergone major redesign and new classes
+and methods have been added.
+<p> We have tried to keep the API of TQt 3.0 as compatible as possible with
+the TQt 2.x series. For most applications only minor changes will be
+needed to compile and run them successfully using TQt 3.0.
+<p> One of the major new features that has been added in the 3.0 release
+is a module allowing you to easily work with databases. The API is
+platform independent and database neutral. This module is seamlessly
+integrated into TQt Designer, greatly simplifying the process of
+building database applications and using data aware widgets.
+<p>
+Other major new features include a plugin architecture. You can use
+your own and third party plugins your own applications.
+The Unicode support of TQt 2.x has been greatly enhanced, it now
+includes full support for scripts written from right to left (e.g.
+Arabic and Hebrew) and also provides improved support for Asian
+languages.
+<p> Many new classes have been added to the TQt Library. Amongst them are
+classes that provide a docking architecture
+(<a href="qdockarea.html">TQDockArea</a>/<a href="qdockwindow.html">TQDockWindow</a>), a powerful rich text editor
+(<a href="qtextedit.html">TQTextEdit</a>), a class to store and access application settings
+(<a href="qsettings.html">TQSettings</a>) and a class to create and communicate with processes
+(<a href="qprocess.html">TQProcess</a>).
+<p> Apart from the changes in the library itself a lot has been done to
+make the development of TQt applications with TQt 3.0 even easier than
+before. Two new applications have been added: TQt Linguist is a tool to
+help you translate your application into different languages; TQt
+Assistant is an easy to use help browser for the TQt documentation that
+supports bookmarks and can search by keyword.
+<p> Another change concerns the TQt build system, which has been reworked
+to make it a lot easier to port TQt to new platforms. You can use this
+platform independent build system for your own applications.
+<p> <h2> The TQt Library
+</h2>
+<a name="1"></a><p> A large number of new features has been added to TQt 3.0. The following
+list gives an overview of the most important new and changed aspects
+of the TQt library. A full list of every new method follows the
+overview.
+<p> <h3> Database support
+</h3>
+<a name="1-1"></a><p> One of the major new features in TQt 3.0 is the <a href="sql.html">SQL
+module</a> that provides multiplatform access to SQL databases,
+making database application programming with TQt seamless and portable.
+The API, built with standard SQL, is database-neutral and software
+development is independent of the underlying database.
+<p> A collection of tightly focused C++ classes are provided to give the
+programmer direct access to SQL databases. Developers can send raw SQL
+to the database server or have the TQt SQL classes generate SQL queries
+automatically. Drivers for Oracle, PostgreSQL, MySQL and ODBC are
+available and writing new drivers is straightforward.
+<p> Tying the results of SQL queries to GUI components is fully supported
+by TQt's SQL widgets. These classes include a tabular data widget
+(for spreadsheet-like data presentation with in-place editing), a
+form-based data browser (which provides data navigation and edit
+functions) and a form-based data viewer (which provides read-only
+forms). This framework can be extended by using custom field editors,
+allowing for example, a data table to use custom widgets for in-place
+editing. The SQL module fully supports TQt's signal/slots mechanism,
+making it easy for developers to include their own data validation and
+auditing code.
+<p> TQt Designer fully supports TQt's SQL module. All SQL widgets can be
+laid out within TQt Designer, and relationships can be established
+between controls visually. Many interactions can be defined purely in
+terms of TQt's signals/slots mechanism directly in TQt Designer.
+<p>
+<h3> Plugins
+</h3>
+<a name="1-2"></a><p> The <a href="qlibrary.html">TQLibrary</a> class provides a platform independent wrapper for runtime
+loading of shared libraries. TQPluginManager makes it trivial to implement
+plugin support in applications. The TQt library is able to load
+additional styles, database drivers and text codecs from plugins.
+<p> TQt Designer supports custom widgets in plugins, and will use the
+widgets both when designing and previewing forms.
+<p> See the <a href="plugins-howto.html">plugins documentation</a>.
+<p> <h3> Rich text engine and editor
+</h3>
+<a name="1-3"></a><p> The rich text engine originally introduced in TQt 2.0 has been further
+optimized and extended to support editing. It allows editing formatted
+text with different fonts, colors, paragraph styles, tables and
+images. The editor supports different word wrap modes, command-based
+undo/redo, multiple selections, drag and drop, and many other
+features. The new <a href="qtextedit.html">TQTextEdit</a> engine is highly optimized for proccesing
+and displaying large documents tquickly and efficiently.
+<p> <h3> Unicode
+</h3>
+<a name="1-4"></a><p> Apart from the rich text engine, another new feature of TQt 3.0 that
+relates to text handling is the greatly improved Unicode support. TQt
+3.0 includes an implementation of the bidirectional algorithm (BiDi)
+as defined in the Unicode standard and a shaping engine for Arabic,
+which gives full native language support to Arabic and Hebrew speaking
+people. At the same time the support for Asian languages has been
+greatly enhanced.
+<p> The support is almost transparent for the developer using TQt to
+develop their applications. This means that developers who developed
+applications using TQt 2.x will automatically gain the full support for
+these languages when switching to TQt 3.0. Developers can rely on their
+application to work for people using writing systems different from
+Latin1, without having to worry about the complexities involved with
+these scripts, as TQt takes care of this automatically.
+<p> <h3> Docked and Floating Windows
+</h3>
+<a name="1-5"></a><p> TQt 3.0 introduces the concept of Dock Windows and Dock Areas. Dock
+windows are widgets, that can be attached to, and detached from, dock
+areas. The commonest kind of dock window is a tool bar. Any number of
+dock windows may be placed in a dock area. A main window can have dock
+areas, for example, <a href="qmainwindow.html">TQMainWindow</a> provides four dock areas (top, left,
+bottom, right) by default. The user can freely move dock windows and
+place them at a convenient place in a dock area, or drag them out of
+the application and have them float freely as top level windows in
+their own right. Dock windows can also be minimized or hidden.
+<p> For developers, dock windows behave just like ordinary widgets. TQToolbar
+for example is now a specialized subclass of a dock window. The API
+of TQMainWindow and <a href="qtoolbar.html">TQToolBar</a> is source compatible with TQt 2.x, so
+existing code which uses these classes will continue to work.
+<p> <h3> Regular Expressions
+</h3>
+<a name="1-6"></a><p> TQt has always provided <a href="qregexp.html#regular-expression">regular expression</a> support, but that support
+was pretty much limited to what was retquired in common GUI control
+elements such as file dialogs. TQt 3.0 introduces a new regular
+expression engine, <a href="qregexp.html">TQRegExp</a>, that supports most of Perl's regex
+features and is Unicode based. The most useful additions are support
+for parentheses (capturing and non-capturing) and backreferences.
+<p> <h3> Storing application settings
+</h3>
+<a name="1-7"></a><p> Most programs will need to store some settings between runs, for
+example, user selected fonts, colors and other preferences, or a list
+of recently used files. The new <a href="qsettings.html">TQSettings</a> class provides a platform
+independent way to achieve this goal. The API makes it easy to store
+and retrieve most of the basic data types used in TQt (such as basic
+C++ types, strings, lists, colors, etc). The class uses the registry
+on the Windows platform and traditional resource files on Unix.
+<p> <h3> Creating and controlling other processes
+</h3>
+<a name="1-8"></a><p> <a href="qprocess.html">TQProcess</a> is a class that allows you to start other programs from
+within a TQt application in a platform independent manner. It gives you
+full control over the started program, for example you can redirect
+the input and output of console applications.
+<p> <h3> Accessibility
+</h3>
+<a name="1-9"></a><p> Accessibility means making software usable and accessible to a wide
+range of users, including those with disabilities. In TQt 3.0, most
+widgets provide accessibility information for assistive tools that can
+be used by a wide range of disabled users. TQt standard widgets like
+buttons or range controls are fully supported. Support for complex
+widgets, like e.g. <a href="qlistview.html">TQListView</a>, is in development. Existing applications
+that make use of standard widgets will become accessible just by using
+TQt 3.0.
+<p> TQt uses the Active Accessibility infrastructure on Windows, and needs
+the MSAA SDK, which is part of most platform SDKs. With improving
+standardization of accessibility on other platforms, TQt will support
+assistive technologies on other systems, too.
+<p> <h3> XML Improvements
+</h3>
+<a name="1-10"></a><p> The XML framework introduced in TQt 2.2 has been vastly improved. TQt
+2.2 already supported level 1 of the Document Object Model (DOM), a
+W3C standard for accessing and modifying XML documents. TQt 3.0 has
+added support for DOM Level 2 and XML namespaces.
+<p> The XML parser has been extended to allow incremental parsing of XML
+documents. This allows you to start parsing the document directly
+after the first parts of the data have arrived, and to continue
+whenever new data is available. This is especially useful if the XML
+document is read from a slow source, e.g. over the network, as it
+allows the application to start working on the data at a very early
+stage.
+<p> <h3> SVG support
+</h3>
+<a name="1-11"></a><p> SVG is a W3C standard for "Scalable Vector Graphics". TQt 3.0's XML
+support means that <a href="qpicture.html">TQPicture</a> can optionally generate and import static
+SVG documents. All the SVG features that have an equivalent in
+<a href="qpainter.html">TQPainter</a> are supported.
+<p> <h3> Multihead support
+</h3>
+<a name="1-12"></a><p> Many professional applications, such as DTP and CAD software, are able
+to display data on two or more monitors. In TQt 3.0 the <a href="qdesktopwidget.html">TQDesktopWidget</a>
+class provides the application with runtime information about the
+number and geometry of the desktops on the different monitors and such
+allows applications to efficiently use a multi-monitor setup.
+<p> The virtual desktop of Mac OS X, Windows 98, and 2000 is supported, as well
+as the traditional multi-screen and the newer Xinerama multihead setups on
+X11.
+<p> <h3> X11 specific enhancements
+</h3>
+<a name="1-13"></a><p> TQt 3.0 now complies with the NET WM Specification, recently adopted
+by KDE 2.0. This allows easy integration and proper execution with
+desktop environments that support the NET WM specification.
+<p> The font handling on X11 has undergone major changes. <a href="qfont.html">TQFont</a> no longer
+has a one-to-one relation with window system fonts. TQFont is now a
+logical font that can load multiple window system fonts to simplify
+Unicode text display. This completely removes the burden of
+changing/setting fonts for a specific locale/language from the
+programmer. For end-users, any font can be used in any locale. For
+example, a user in Norway will be able to see Korean text without
+having to set their locale to Korean.
+<p> TQt 3.0 also supports the new render extension recently added to
+XFree86. This adds support for anti aliased text and pixmaps with
+alpha channel (semi transparency) on the systems that support the
+rendering extension (at the moment XFree 4.0.3 and later).
+<p> <h3> Printing
+</h3>
+<a name="1-14"></a><p> Printing support has been enhanced on all platforms. The <a href="qprinter.html">TQPrinter</a>
+class now supports setting a virtual resolution for the painting
+process. This makes WYSIWYG printing trivial, and also allows you to
+take full advantage of the high resolution of a printer when painting
+on it.
+<p> The postscript driver built into TQt and used on Unix has been greatly
+enhanced. It supports the embedding of true/open type and type1 fonts
+into the document, and can correctly handle and display Unicode.
+Support for fonts built into the printer has been enhanced and TQt now
+knows about the most common printer fonts used for Asian languages.
+<p> <h3> <a href="qhttp.html">TQHttp</a>
+</h3>
+<a name="1-15"></a><p> This class provides a simple interface for HTTP downloads and uploads.
+<p> <h3> Compatibility with the Standard Template Library (STL)
+</h3>
+<a name="1-16"></a><p> Support for the C++ Standard Template Library has been added to the
+<a href="qt-template-lib.html">TQt Template Library (TQTL)</a>. The TQTL
+classes now contain appropriate copy constructors and typedefs so that
+they can be freely mixed with other STL containers and algorithms. In
+addition, new member functions have been added to TQTL template classes
+which correspond to STL-style naming conventions (e.g., push_back()).
+<p> <h2> TQt Designer
+</h2>
+<a name="2"></a><p> <a href="designer-manual.html">TQt Designer</a> was a pure dialog
+editor in TQt 2.2 but has now been extended to provide the full
+functionality of a GUI design tool.
+<p> This includes the ability to lay out main windows with menus and
+toolbars. Actions can be edited within TQt Designer and then plugged
+into toolbars and menu bars via drag and drop. Splitters can now be
+used in a way similar to layouts to group widgets horizontally or
+vertically.
+<p> In TQt 2.2, many of the dialogs created by TQt Designer had to be
+subclassed to implement functionality beyond the predefined signal and
+slot connections. Whilst the subclassing approach is still fully supported,
+TQt Designer now offers an alternative: a plugin for editing
+slots. The editor offers features such as syntax highlighting,
+completion, parentheses matching and incremental search.
+<p> The functionality of TQt Designer can now be extended via plugins.
+Using TQt Designer's interface or by implementing one of the provided
+interfaces in a plugin, a two way communication between plugin and TQt
+Designer can be established. This functionality is used to implement
+plugins for custom widgets, so that they can be used as real widgets
+inside the designer.
+<p> Basic support for project management has been added. This allows you
+to read and edit *.pro files, add and remove files to/from the project
+and do some global operations on the project. You can now open the
+project file and have one-click access to all the *.ui forms in the
+project.
+<p> In addition to generating code via uic, TQt Designer now supports the
+dynamic creation of widgets directly from XML user interface
+description files (*.ui files) at runtime. This eliminates the need of
+recompiling your application when the GUI changes, and could be used
+to enable your customers to do their own customizations. Technically,
+the feature is provided by a new class, <a href="qwidgetfactory.html">TQWidgetFactory</a> in the
+TQResource library.
+<p> <h2> TQt Linguist
+</h2>
+<a name="3"></a><p> <a href="linguist-manual.html">TQt Linguist</a> is a GUI utility to
+support translating the user-visible text in applications written with
+TQt. It comes with two command-line tools: lupdate and lrelease.
+<p> Translation of a TQt application is a three-step process:
+<p> <ul>
+<li> Run lupdate to extract user-visible text from the C++ source
+code of the TQt application, resulting in a translation source file
+(a *.ts file).
+<li> Provide translations for the source texts in the *.ts file using
+TQt Linguist.
+<li> Run lrelease to obtain a light-weight message file (a *.qm file)
+from the *.ts file, which provides very fast lookup for released
+applications.
+</ul>
+<p> TQt Linguist is a tool suitable for use by translators. Each
+user-visible (source) text is characterized by the text itself, a
+context (usually the name of the C++ class containing the text), and
+an optional comment to help the translator. The C++ class name will
+usually be the name of the relevant dialog, and the comment will often
+contain instructions that describe how to navigate to the relevant
+dialog.
+<p> You can create phrase books for TQt Linguist to provide common
+translations to help ensure consistency and to speed up the
+translation process. Whenever a translator navigates to a new text to
+translate, TQt Linguist uses an intelligent algorithm to provide a list
+of possible translations: the list is composed of relevant text from
+any open phrase books and also from identical or similar text that has
+already been translated.
+<p> Once a translation is complete it can be marked as "done"; such
+translations are included in the *.qm file. Text that has not been
+"done" is included in the *.qm file in its original form. Although TQt
+Linguist is a GUI application with dock windows and mouse control,
+toolbars, etc., it has a full set of keyboard shortcuts to make
+translation as fast and efficient as possible.
+<p> When the TQt application that you're developing evolves (e.g. from
+version 1.0 to version 1.1), the utility lupdate merges the source
+texts from the new version with the previous translation source file,
+reusing existing translations. In some typical cases, lupdate may
+suggest translations. These translations are marked as unfinished, so
+you can easily find and check them.
+<p> <h2> TQt Assistant
+</h2>
+<a name="4"></a><p> Thanks to the positive feedback we received about the <a href="helpsystem.html#help-system">help system</a>
+built into <a href="designer-manual.html">TQt Designer</a>, we decided
+to offer this part as a separate application called <a href="assistant.html">TQt Assistant</a>. TQt Assistant can be used to
+browse the TQt class documentation as well as the manuals for TQt
+Designer and TQt Linguist. It offers index searching, a contents
+overview, bookmarks history and incremental search. TQt Assistant is
+used by both TQt Designer and TQt Linguist for browsing their help
+documentation.
+<p> <h2> qmake
+</h2>
+<a name="5"></a><p> To ease portability we now provide the <a href="qmake-manual.html">qmake</a> utility to replace tmake. TQMake is a C++ version of
+tmake which offers additional functionallity that is difficult to
+reproduce in tmake. Trolltech uses qmake in its build system for TQt
+and related products and we have released it as free software.
+<p>
+<!-- eof -->
+<p><address><hr><div align=center>
+<table width=100% cellspacing=0 border=0><tr>
+<td>Copyright &copy; 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>