/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/

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

    \brief 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.

    \image activeqt-webbrowser-example.png

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

    \snippet 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 activeqt/webbrowser/main.cpp 1

    The constructor initializes the user interface, installs a
    progress bar on the status bar, and loads the bookmarks.

    \snippet 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 activeqt/webbrowser/main.cpp 3
    \snippet 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.
*/
