summaryrefslogtreecommitdiffstats
path: root/doc/src/examples/activeqt/webbrowser.qdoc
blob: 85bbad2da5e81d82ba31c7f598c0b17ebaea9e37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial Usage
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Nokia.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights.  These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \example activeqt/webbrowser
    \title Web Browser Example (ActiveQt)

    The Web Browser example uses the Microsoft Web Browser
    ActiveX control to implement a fully functional Web Browser
    application. The user interface has been developed using the Qt
    Designer integration of the QAxWidget class.

    The code demonstrates how the Qt application can communicate 
    with the embedded ActiveX controls using signals, slots and the 
    dynamicCall() function.

    \snippet examples/activeqt/webbrowser/main.cpp 0

    The \c MainWindow class declares a \c QMainWindow based user interface,
    using the \c Ui::MainWindow class generated by Qt Designer. A number
    of slots are implemented to handle events from the various user 
    interface elements, including the \c WebBrowser object, which is a
    QAxWidget hosting the Microsoft Web Browser control.

    \snippet examples/activeqt/webbrowser/main.cpp 1

    The constructor initializes the user interface, installs a
    progress bar on the status bar, and uses QAxBase::dynamicCall()
    to invoke the \c GoHome() method of Internet Explorer to
    navigate  to the user's home page.

    \snippet examples/activeqt/webbrowser/main.cpp 2
    Different slots handle the signals emitted by the WebBrowser object.

    Connections that don't require any coding, i.e. connecting the \c back 
    action to the \c GoBack() slot, have already been made in Qt Designer.

    \snippet examples/activeqt/webbrowser/main.cpp 3
    \snippet examples/activeqt/webbrowser/main.cpp 4

    The rest of the implementation is not related to ActiveQt - the actions
    are handled by different slots, and the entry point function starts the
    application using standard Qt APIs.

    To build the example you must first build the QAxContainer
    library. Then run your make tool in \c
    examples/activeqt/webbrowser and run the resulting \c
    webbrowser.exe.
*/