[DOC] continue rework

This commit is contained in:
Edouard DUPIN 2016-09-15 22:43:04 +02:00
parent 3e89966314
commit 980220eb8c
14 changed files with 104 additions and 421 deletions

View File

@ -1,252 +0,0 @@
cmake_minimum_required(VERSION 2.8)
# Declare the project
project(ewol)
##
## Include C++ X11 dependency ... (check correct flags)
##
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
else()
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()
endif()
# set output path:
set(LIBRARY_OUTPUT_PATH lib/${CMAKE_BUILD_TYPE})
include_directories(.)
#Create src file list
set(src_files
ewol/ewol.cpp
ewol/ewol.h
ewol/debug.cpp
ewol/debug.h
ewol/Dimension.cpp
ewol/Dimension.h
ewol/compositing/Compositing.cpp
ewol/compositing/Compositing.h
ewol/compositing/TextBase.cpp
ewol/compositing/TextBase.h
ewol/compositing/Text.cpp
ewol/compositing/Text.h
ewol/compositing/TextDF.cpp
ewol/compositing/TextDF.h
ewol/compositing/Drawing.cpp
ewol/compositing/Drawing.h
ewol/compositing/Image.cpp
ewol/compositing/Image.h
ewol/compositing/Sprite.cpp
ewol/compositing/Sprite.h
ewol/compositing/Shaper.cpp
ewol/compositing/Shaper.h
ewol/compositing/Area.cpp
ewol/compositing/Area.h
ewol/context/clipBoard.cpp
ewol/context/clipBoard.h
ewol/context/commandLine.cpp
ewol/context/commandLine.h
ewol/context/ConfigFont.cpp
ewol/context/ConfigFont.h
ewol/context/Context.cpp
ewol/context/Context.h
ewol/context/cursor.cpp
ewol/context/cursor.h
ewol/context/InputManager.cpp
ewol/context/InputManager.h
ewol/event/Entry.cpp
ewol/event/Entry.h
ewol/event/Time.cpp
ewol/event/Time.h
ewol/event/Input.cpp
ewol/event/Input.h
ewol/key/keyboard.cpp
ewol/key/keyboard.h
ewol/key/Special.cpp
ewol/key/Special.h
ewol/key/status.cpp
ewol/key/status.h
ewol/key/type.cpp
ewol/key/type.h
ewol/object/Config.cpp
ewol/object/Config.h
ewol/object/ConfigElement.cpp
ewol/object/ConfigElement.h
ewol/object/Manager.cpp
ewol/object/Manager.h
ewol/object/Message.cpp
ewol/object/Message.h
ewol/object/MultiCast.cpp
ewol/object/MultiCast.h
ewol/object/Object.cpp
ewol/object/Object.h
ewol/openGL/openGL.cpp
ewol/openGL/openGL.h
ewol/resource/Colored3DObject.cpp
ewol/resource/Colored3DObject.h
ewol/resource/ColorFile.cpp
ewol/resource/ColorFile.h
ewol/resource/ConfigFile.cpp
ewol/resource/ConfigFile.h
ewol/resource/FontFreeType.cpp
ewol/resource/FontFreeType.h
ewol/resource/Image.cpp
ewol/resource/Image.h
ewol/resource/ImageDF.cpp
ewol/resource/ImageDF.h
ewol/resource/Manager.cpp
ewol/resource/Manager.h
ewol/resource/Program.cpp
ewol/resource/Program.h
ewol/resource/Resource.cpp
ewol/resource/Resource.h
ewol/resource/Shader.cpp
ewol/resource/Shader.h
ewol/resource/Texture.cpp
ewol/resource/Texture.h
ewol/resource/TexturedFont.cpp
ewol/resource/TexturedFont.h
ewol/resource/DistanceFieldFont.cpp
ewol/resource/DistanceFieldFont.h
ewol/resource/VirtualBufferObject.cpp
ewol/resource/VirtualBufferObject.h
ewol/widget/ButtonColor.cpp
ewol/widget/ButtonColor.h
ewol/widget/Button.cpp
ewol/widget/Button.h
ewol/widget/CheckBox.cpp
ewol/widget/CheckBox.h
ewol/widget/ColorBar.cpp
ewol/widget/ColorBar.h
ewol/widget/Composer.cpp
ewol/widget/Composer.h
ewol/widget/Container.cpp
ewol/widget/Container.h
ewol/widget/Container2.cpp
ewol/widget/Container2.h
ewol/widget/ContainerN.cpp
ewol/widget/ContainerN.h
ewol/widget/ContextMenu.cpp
ewol/widget/ContextMenu.h
ewol/widget/Entry.cpp
ewol/widget/Entry.h
ewol/widget/Gird.cpp
ewol/widget/Gird.h
ewol/widget/Image.cpp
ewol/widget/Image.h
ewol/widget/Joystick.cpp
ewol/widget/Joystick.h
ewol/widget/Label.cpp
ewol/widget/Label.h
ewol/widget/Layer.cpp
ewol/widget/Layer.h
ewol/widget/List.cpp
ewol/widget/List.h
ewol/widget/ListFileSystem.cpp
ewol/widget/ListFileSystem.h
ewol/widget/Manager.cpp
ewol/widget/Manager.h
ewol/widget/Menu.cpp
ewol/widget/Menu.h
ewol/widget/meta/ColorChooser.cpp
ewol/widget/meta/ColorChooser.h
ewol/widget/meta/FileChooser.cpp
ewol/widget/meta/FileChooser.h
ewol/widget/meta/Parameter.cpp
ewol/widget/meta/Parameter.h
ewol/widget/meta/ParameterList.cpp
ewol/widget/meta/ParameterList.h
ewol/widget/meta/StdPopUp.cpp
ewol/widget/meta/StdPopUp.h
ewol/widget/PopUp.cpp
ewol/widget/PopUp.h
ewol/widget/ProgressBar.cpp
ewol/widget/ProgressBar.h
ewol/widget/Scroll.cpp
ewol/widget/Scroll.h
ewol/widget/Sizer.cpp
ewol/widget/Sizer.h
ewol/widget/Slider.cpp
ewol/widget/Slider.h
ewol/widget/Spacer.cpp
ewol/widget/Spacer.h
ewol/widget/Widget.cpp
ewol/widget/Widget.h
ewol/widget/WidgetScrolled.cpp
ewol/widget/WidgetScrolled.h
ewol/widget/Windows.cpp
ewol/widget/Windows.h
ewol/widget/WSlider.cpp
ewol/widget/WSlider.h
)
add_definitions( -DDEBUG_LEVEL=3 )
add_definitions( -DDEBUG=1 )
message(STATUS "APPLE=${APPLE}")
message(STATUS "UNIX=${UNIX}")
if (APPLE)
add_definitions( -D__TARGET_OS__MacOs )
set(src_files-specific
ewol/context/MacOs/Context.cpp
ewol/context/MacOs/Context.h
ewol/context/MacOs/Interface.mm
ewol/context/MacOs/Interface.h
ewol/context/MacOs/Windows.mm
ewol/context/MacOs/Windows.h
ewol/context/MacOs/OpenglView.mm
ewol/context/MacOs/OpenglView.h
ewol/context/MacOs/AppDelegate.mm
ewol/context/MacOs/AppDelegate.h
)
elseif (UNIX)
add_definitions( -D__TARGET_OS__Linux )
set(src_files-specific
ewol/context/X11/Context.cpp
ewol/context/X11/Context.h
)
elseif (WIN32)
add_definitions( -D__TARGET_OS__Windows )
set(src_files-specific
ewol/context/Windows/Context.cpp
ewol/context/Windows/Context.h
)
endif ()
#Create a static Lib:
add_library(ewol STATIC ${src_files} ${src_files-specific})
include_directories(${zlib_SOURCE_DIR}/contrib/)
include_directories(${linearmath_SOURCE_DIR}/bullet/src/)
include_directories(${etk_SOURCE_DIR})
include_directories(${freetype_SOURCE_DIR})
include_directories(${exml_SOURCE_DIR})
include_directories(${ejson_SOURCE_DIR})
include_directories(${egami_SOURCE_DIR})
include_directories(${edtaa3_SOURCE_DIR})
include_directories(${date_SOURCE_DIR})
include_directories(${agg_SOURCE_DIR})
#add_dependencies(ewol linearmath zlib etk freetype exml ejson egami edtaa3 date)
target_link_libraries(ewol linearmath zlib etk freetype exml ejson egami edtaa3 date)
# read version :
file (STRINGS "tag" BUILD_VERSION)
add_definitions( -DEWOL_VERSION="${BUILD_VERSION}" )
# display all variable ...
#get_cmake_property(_variableNames VARIABLES)
#foreach (_variableName ${_variableNames})
# message(STATUS "${_variableName}=${${_variableName}}")
#endforeach()

View File

@ -2,7 +2,7 @@ EWOL: Bases {#page_bases}
===========
Overview:
---------
=========
EWOL is an OpenGL library for creating graphical user interfaces.
It works on many UNIX-like platforms, Windows, and OS X and some mobile platforms Android, iOs(soon).
@ -13,7 +13,7 @@ The main idea of EWOL is to create a complete abstraction of the platforms.
This generate some restriction that you will see an overwiew in the under section.
User requires:
--------------
==============
To use ewol you need to know only C++ language. It could be usefull to know:
- **Python** for all build tool.
@ -26,7 +26,7 @@ Ewol does not manage the Audio but it is full integrated in [lib[audio-river|Riv
Architecture:
-------------
=============
One of the important point to know in this framwork is some of absurd things came from the multiple architecture type.
I will Explain the main points:

View File

@ -1,99 +0,0 @@
== [center]Ewol library[/center] ==
__________________________________________________
===What is EWOL, and how can I use it?===
EWOL, or Edn Widget OpenGl Layer, is a multi-platform library for creating graphical user interfaces in OpenGL. Offering a complete set of widgets.
===Where can I use it?===
Everywhere! EWOL is cross-platform devolopped to support bases OS:
: ** Linux (X11) (mouse)
: ** Windows (mouse) (build on linux...)
: ** MacOs (mouse)
: ** Android (mouse + touch)
: ** IOs (touch)
===What languages are supported?===
EWOL is written in C++ and is not (for now) supported for other languages.
===Are there any licensing restrictions?===
EWOL is [b]FREE software[/b] and [i]all sub-library are FREE and staticly linkable !!![/i]
That allow you to use it for every program you want, including those developing proprietary software, without any license fees or royalties.
[note]The static support is important for some platform like IOs, and this limit the external library use at some license like:
:** BSD*
:** MIT
:** APPACHE-2
:** PNG
:** ZLIB
This exclude the classical extern library with licence:
:** L-GPL
:** GPL
[/note]
==== License (APACHE 2) ====
Copyright ewol Edouard DUPIN
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
[[http://www.apache.org/licenses/LICENSE-2.0]]
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==== Sub library: ====
===== License: =====
:** [b][lib[etk | e-tk]][/b] : APACHE-2
:** [b][lib[elog | e-log]][/b] : APACHE-2
::** [b][lib[linearmath | Linear-Math]][/b] : z-lib (subset of bullet lib)
::** [b][lib[earchive | e-Archive]][/b] : APACHE-2
:::** [b][lib[z | Z lib]][/b] : z-lib
:** [b][lib[egami | e-gami]][/b] : APACHE-2
::** [b][lib[esvg | e-svg]][/b] : APACHE-2
::** [b][lib[png | libPNG]][/b] : PNG
:** [b][lib[ogg | ogg]][/b] : BSD-like
:** [b][lib[freetype | Free-Type]][/b] : BSD-like
:** [b][lib[ejson | e-json]][/b] : APACHE-2
:** [b][lib[exml | e-xml]][/b] : APACHE-2
:** [b][lib[audio | audio]][/b] : APACHE-2
:** [b][lib[audio-orchestra | orchestra]][/b] : APACHE-2
:** [b][lib[audio-river | river]][/b] : APACHE-2
...
==== Description : ====
===== Internal: =====
:** [b][lib[elog | e-log]][/b] : Generic Log interface (for Android and MacOs) ...
:** [b][lib[etk | e-tk]][/b] : Generic toolkit to acces on file, standardize acces on string (for Android and MacOs) ...
:** [b][lib[earchive | e-Archive]][/b] : Generic access to a zip file (used to access on file on Android)
:** [b][lib[eggami | e-gami]][/b] : generic image accessor for PNG, svg and bmp image (might add some other type ...)
:** [b][lib[esvg | e-svg]][/b] : Generic SVG image parser and displayer
:** [b][lib[ejson | e-json]][/b] : JSON file access (read and write)
:** [b][lib[exml | e-xml]][/b] : XML file access (read and write)
:** [b][lib[ege | e-ge]][/b] : (library in BSDv3) Ewol Game engine is a wrapper on the the bullet physical engine and ewol renderer engin. This is in developpement for now (the simple objective is to produce game to make profitable all my work)
===== External: =====
:** [b][lib[linearmath | Linear-Math]][/b] : bullet mathamatical sub lib (for using same vec3).
:** [b][lib[z | Z lib]][/b] : Clkassical zlib lib.
:** [b][lib[agg | AGG]][/b] : A c++ drawing lib.
:** [b][lib[png | libPNG]][/b] : the classical png display lib.
:** [b][lib[portaudio | portaudio]][/b] : The classical audio wrapper lib. (not used anymore)
:** [b][lib[ogg | ogg]][/b] : The classical Ogg coder reader lib.
:** [b][lib[freetype | Free-Type]][/b] : The classicle true-type reader lib.
:** [b][lib[bullet | bullet]][/b] : the classical bullet library physical engine. (dependence by ege)
===== Program Using EWOL =====
:** [b][lib[edn | edn]][/b] : (Application in GPLv3) Edn is the main application using this lib and designed for (in the first time). This is a "Code editor".
:** [b][[http://play.google.com/store/apps/details?id=com.edouarddupin.worddown | worddown]][/b] : (Proprietary) Worddown is a simple word game.
== Main documentation: ==
[doc[001_bases | Global Documantation]]
[tutorial[000_Build | Tutorials]]

View File

@ -1,11 +1,14 @@
=== Objectif ===
Objectif:
=========
:** Understand basis of ewol
:** Create a simple windows with a label "Hello Word"
=== Application Sources: ===
Application Sources:
====================
==== Application Main: ====
Application Main:
=================
A generic Ewol application is manage by creating an [class[ewol::context::Application]] that is the basis of your application.
@ -78,7 +81,8 @@ To simplify compabilities between platform it is recommanded to not add other th
[/code]
==== Some configuration are needed ====
Some configuration are needed
=============================
In your application you can use many configuration, it is really better to set all your configuration dynamic.
With this basic condiction will simplify the interface of the library if you would have many different application
@ -100,7 +104,8 @@ We select an order to search the font names and the system basic size.
[/code]
==== Main Windows: ====
Main Windows:
=============
Create the main Windows:
@ -203,7 +208,8 @@ The last step is to add the widget on the windows:
When we call this function, it use the shared_from_this() function that create an exception if we are in constructor (when setting the wub-widget parrent)
==== Configure Ewol to have display the windows ====
Configure Ewol to have display the windows
==========================================
At this point we have created the basic windows.
But the system does not know it.
@ -236,7 +242,8 @@ bool MainApplication::init(ewol::Context& _context, size_t _initId) {
You can use many windows and select the one you want to display, but I do not think it is the best design.
[/note]
=== Build declaration: ===
Build declaration:
==================
ewol commonly use the [b]lutin[/b] build system.
@ -294,7 +301,8 @@ show lutin doc for more information...
I do not explain again the lutin file, for next tutorial, show example sources ...
[/note]
=== Build your application ===
Build your application
======================
Go to your workspace folder and launch
[code style=shell]

View File

@ -1,9 +1,12 @@
=== Objectif ===
Objectifs:
==========
:** Understand ewol basic [class[ewol::Object]]
:** Use [class[ewol::Object]] correctly
== Basis of the ewol::Object ==
Basis of the ewol::Object
=========================
An object in Ewol is a simple class: [class[ewol::Object]] This object is the basis of all element in the ewol system.
This is designed to manage many common things:
@ -20,7 +23,8 @@ Please do not compare with the gObject basic class...
[/note]
== Create an Object: ==
Create an Object:
=================
Creating an object is really simple:
@ -45,7 +49,8 @@ Set the name of the object:
[/code]
== Remove an Object: ==
Remove an Object:
=================
Simply use the function:
[code style=c++]
@ -62,11 +67,13 @@ If some Object is not removed when you close the application, the system inform
[/note]
== Retrieve an Object: ==
Retrieve an Object:
===================
In Ewol this is possible to get a object with his name.
=== Find a global Object (ouside an Object) ===
Find a global Object (ouside an Object)
---------------------------------------
[code style=c++]
#include <ewol/context/Context.h>
@ -77,7 +84,8 @@ In Ewol this is possible to get a object with his name.
}
[/code]
=== Find a global Object (inside an Object) ===
Find a global Object (inside an Object)
---------------------------------------
[code style=c++]
ewol::ObjectShared tmpObject = getObjectNamed("obj Name");
@ -86,7 +94,8 @@ In Ewol this is possible to get a object with his name.
}
[/code]
=== Find a sub-object ===
Find a sub-object
-----------------
[code style=c++]
ewol::ObjectShared tmpObject = getSubObjectNamed("obj Name");
@ -95,7 +104,8 @@ In Ewol this is possible to get a object with his name.
}
[/code]
=== retriving your object type ===
retriving your object type
--------------------------
It could be really interesting to retrive your own instance:

View File

@ -1,19 +1,24 @@
=== Objectif ===
Objectifs:
==========
:** Understand base of [lib[eproperty]] configuration parameter
:** Create an configurable object
== Configuration using ==
Configuration using
===================
All [class[ewol::Object]] have a configuration of parameters (the object name is a parameter), Then we need to set get and use xml to update parameters.
=== Set a Parameter/Property ===
Set a Parameter/Property
------------------------
[note]
Parameter is managed by the [lib[eproperty|e-property library]]
[/note]
==== With a string configuration ====
With a string configuration
***************************
[code style=c++]
if (tmpObject->parameterSet("name", "new name of object") == false) {
@ -21,7 +26,8 @@ All [class[ewol::Object]] have a configuration of parameters (the object name is
}
[/code]
==== whith the object name ====
whith the object name
*********************
[code style=c++]
if (parameterSetOnWidgetNamed("objectName", "value", "16.2") == false) {
@ -29,14 +35,16 @@ All [class[ewol::Object]] have a configuration of parameters (the object name is
}
[/code]
=== Get Parameter ===
Get Parameter
-------------
[code style=c++]
std::string val = tmpObject->parameterGet("name");
APPL_INFO("Get Object property : name='" << val << "'");
[/code]
== Implement configuration ==
Implement configuration
=======================
[code style=c++]
#include <ewol/object/Object.h>

View File

@ -1,9 +1,12 @@
=== Objectif ===
Objectifs:
==========
:** Understand base of [lib[esignal]] Messaging system
:** Create extern message and receive Object message
== Message system ==
Message system
==============
esignal base his signal on landa functions
@ -12,7 +15,8 @@ It permit to an object to generate some [b]'signals'[/b].
All signal are synchronous [i](asynchronous is not implemented yet)[/i]
== Receive signals from other object ==
Receive signals from other object
=================================
Register on the 'up' and 'value' signal of a button:
@ -27,7 +31,8 @@ Button header :
...
[/code]
=== simple signal connection: ===
simple signal connection:
-------------------------
[code style=c++]
#include <ewol/object/Object.h>
@ -87,9 +92,11 @@ namespace appl {
The connection that return a [class[esignal::Connection]] are volatil, if you don't keep the connection handle, the connection is automaticly removed.
[/note]
== Declare Signal ==
Declare Signal:
===============
=== source ===
source
-------
[code style=c++]
#include <ewol/object/Object.h>
@ -122,7 +129,8 @@ namespace appl {
}
[/code]
== Conclusion ==
Conclusion:
===========
You will now able to reise signals between objects...

View File

@ -1,8 +1,12 @@
=== Objectif ===
:** Understand why we wrap interface on file system
Objectifs:
==========
== Limitation ==
- Understand why we wrap interface on file system
Limitation
==========
Application generation is really simple, but package management can create some problems...
@ -14,7 +18,8 @@ For example :
For all these reasons we need to wrap standard application interface. (you can acces directly but it could be tricky and depend on the target)
== Generic Properties ==
Generic Properties
==================
By default we dertermine some basics for files.
@ -39,7 +44,8 @@ When you will call a file, you need to just call it with the starting name.
For example if I want to access at an application data I will call the file : "DATA:myImage.png"
== Integrate a file in a package ==
Integrate a file in a package
=============================
In your lutin_xxx.py file add:
[code style=python]
@ -52,7 +58,8 @@ In your lutin_xxx.py file add:
And now you can acces on these file with : "DATA:destination/folder/file.svg"
== Read a file ==
Read a file
===========
[code style=c++]
#include <etk/os/FSNode.h>
@ -79,7 +86,8 @@ And now you can acces on these file with : "DATA:destination/folder/file.svg"
file.fileClose();
[/code]
== Write a file ==
Write a file
============
[code style=c++]
#include <etk/os/FSNode.h>
@ -100,7 +108,8 @@ And now you can acces on these file with : "DATA:destination/folder/file.svg"
file.fileClose();
[/code]
== 'Theme' management ==
'Theme' management:
===================
The theme management is a subset a file selected by a main key.
For example The basic theme of an API can be manage with only 2 commands (set the theme, and request upate of GUI)

View File

@ -1,9 +1,11 @@
=== Objectifs ===
Objectifs
=========
:** Understand what is a resource
:** Use resources
=== What is a resource: ===
What is a resource:
===================
A resource is an unique element that can be used by many element like:
:** An image (special resolution)
@ -15,7 +17,8 @@ A resource is an unique element that can be used by many element like:
A resource have an other objective, form some platform, the graphic interface can be stopped, then we need to reload texture in the graphic inteface...
Then the texture is an other graphic interface.
=== Get a resource: ===
Get a resource:
===============
For this example we will load a configuration file:
[code style=c++]
@ -62,7 +65,8 @@ namespace appl {
[/code]
=== Create a new resource: ===
Create a new resource:
======================
A resource is a generic [class[ewol::Resource]] that herited form a generic [class[ewol::Object]], simply change the FACTORY macro in:
:** DECLARE_RESOURCE_FACTORY(className) To declare a resource with no name (unique for every creation)
@ -71,7 +75,8 @@ A resource is a generic [class[ewol::Resource]] that herited form a generic [cla
we have now some specific interface to compleate (if needed):
==== The Resource Level ====
The Resource Level
------------------
The resources can be reloaded, then we need to reaload in the good order (level [0 .. 5])

View File

@ -1,9 +1,12 @@
=== Objectif ===
Objectifs:
==========
:** What is a Widget
:** Simply create a complex Gui
=== What is a Widget ===
What is a Widget
================
A widget is a simple entity of a graphical Object. It herited of every [class[ewol::Object]] class with many graphical interface to draw a complex gui.
@ -13,10 +16,12 @@ We can consider some widget:
:** Simple widget: all widget that display somthing.
:** Meta widget: Widget composed with some wodget.
=== Simple load & configure of a widget: ===
Simple load & configure of a widget:
====================================
We have 4 way to create a widget:
==== call create and configure ====
call create and configure
-------------------------
First create the widget:

View File

@ -1,19 +0,0 @@
#!/usr/bin/python
import monkModule
import monkTools as tools
import os
def get_desc():
return "EWOL main library (Edn Widget on OpenGl Layer)"
def create():
# module name is 'ewol' and type binary.
myModule = monkModule.Module(__file__, 'ewol', 'LIBRARY')
# enable doculentation :
myModule.set_website("http://atria-soft.github.io/ewol/")
myModule.set_website_sources("http://github.com/atria-soft/ewol/")
myModule.set_path(os.path.join(tools.get_current_path(__file__), "ewol"))
myModule.set_path_general_doc(os.path.join(tools.get_current_path(__file__), "doc"))
# add the currrent module at the
return myModule