.. _examples-page:

#############
Examples
#############

The |ProductName| documentation provides a large collection of examples, tutorials and code samples. These pages 
cover a range of topics, from basic viewers to step-by-step tutorials for specific features.

The examples and tutorials are provided with full source code and can be compiled and run on several platforms and UI 
toolkits.

********
Examples
********

To help you getting started, we have provided some simple examples on how to set up the basics (OpenGL context, windows, 
rendering and event handling) using Qt (Windows/Linux), MFC, Win32, Windows Forms, WPF and wxWidgets (Windows/Linux). 

These minimal examples show how to initialize the |ProductName| and how to do basic rendering and event handling.

All the examples (code and project-/makefiles) are found under **Examples/\<framework\>**

For more information on the examples and on how to use |ProductName| with the different frameworks, have a look at 
the following pages:

-   :ref:`qt-page`
-   :ref:`win32-page`
-   :ref:`mfc-page`
-   :ref:`wxwidgets-page`
-   :ref:`winforms-page`
-   :ref:`wpf-page`

**************
TutorialRunner
**************

|ProductName| comes with a set of tutorials showing various features and how to code them describes step-by-step. 
See :ref:`tutorials-page` for the full list.

The tutorials can also be tested directly in one of the TutorialRunner applications. 
These are called **QtTutorialRunner**, **MfcTutorialRunner**, and **WxTutorialRunner** and can be found in their 
respective folders under **Tutorials** in your installation. 

Please note that the TutorialRunner framework is not meant to represent best-practice code, and only serves as a 
convenient way to demonstrate the code in the tutorials. Please compile them in-source to find necessary test data.

*****************
Demo Applications
*****************

We have created two demo applications; One for Qt and one for Windows Forms. These can serve as a starting point for 
your own application, as inspiration and a best-practice-coding-guide. They also give a more in-depth demonstration of 
the Core, Visualization, and UnstructGrid components. 

.. |img_qtdemo| image:: images/example_qt_demoapp.png
   :width: 150

.. |img_wfdemo| image:: images/example_winforms_demoapp.png
   :width: 150

+-----------------------+------------------------------------------------------------------------------------+
| |img_qtdemo|          | **Location**\ : Examples/Qt/QtDemoApp |br|                                         |
|                       | A small Post Processor written in Qt to showcase some of the features in the  |br| |
|                       | UnstructGrid component.                                                            |
+-----------------------+------------------------------------------------------------------------------------+
| |img_qtdemo|          | **Location**\ : Examples/Qt/QtDemoApp |br|                                         |
|                       | A small Post Processor written in Windows Forms to showcase some of the |br|       |
|                       | features in the UnstructGrid component.                                            |
+-----------------------+------------------------------------------------------------------------------------+


