Warning, /education/gcompris/src/core/Mainpage.dox is written in an unsupported language. File is not indexed.

0001 /**
0002 @mainpage GCompris-qt Core Documentation
0003 
0004 The GCompris core comprises different classes and QML components, that can
0005 be used by activities for their purposes. The core can roughly be
0006 subdivided into
0007 <ol>
0008   <li>
0009       @ref infrastructure, that consists of some fundamental source code
0010       infrastructure needed by the bare GCompris application to run and
0011   </li>
0012   <li>
0013       @ref components that define some common building blocks for activities
0014       and thus assure a consistent integration into the GCompris ecosystem.
0015   </li>
0016 </ol>
0017 
0018 Accordingly, activity developers should first have a look at the
0019 @ref components section to get an overview of the activity interface they
0020 have to implement.
0021 
0022 Most of the classes from the @ref infrastructure section are not of immediate
0023 use for activity developers, unless they want to contribute/extend core
0024 functionalities. One exception is the ApplicationInfo singleton
0025 that contains some accessor methods to the native layer, that are often of
0026 use for concrete activitites.
0027 */
0028 
0029 /**
0030 @defgroup infrastructure Core Infrastructure
0031 
0032 This section contains all objects that implement internal core functions
0033 needed by the bare GCompris application to run.
0034 
0035 Among the more important classes are the following:
0036 
0037 <ul>
0038   <li>
0039     The ApplicationSettings singleton maintains the persistent settings of
0040     GCompris.
0041   </li>
0042 
0043   <li>
0044     ApplicationInfo is kind of a general purpose container for helper functions
0045     often accessing native platform properties that are needed in many places
0046     of GCompris.
0047   </li>
0048 </ul>
0049 */
0050 
0051 /**
0052 @defgroup components Core QML Components
0053 This section contains all core QML components, that encapsulate common
0054 behaviour and can be used by activities in order to integrate well into the
0055 GCompris ecosystem.
0056 
0057 Each activity has to provide meta information about itself by implementing the
0058 ActivityInfo template and derive from ActivityBase as a container for its
0059 QML scene.
0060 
0061 Each activity @em must add a navigation Bar to its viewport. Activities that
0062 support sublevels should use a Score element. The Bonus component can be used
0063 for audio feedback upon winning/loosing. If an activity uses per-activity
0064 configuration it should use DialogActivityConfig.
0065 
0066 For audio playback the GCAudio wrapper should be used, and GCText's purpose is
0067 to unify Text handling in GCompris.
0068 
0069 Besides these, there are more components that provide controls or
0070 styles for GCompris.
0071 
0072 Cf. Template.qml for a skeleton that can also be used as a starting point for
0073 developing new activities.
0074 
0075 Last but not least have a look at the existing activities to learn by example.
0076 */