[DOC] continue rework
This commit is contained in:
parent
3e89966314
commit
980220eb8c
252
CMakeLists.txt
252
CMakeLists.txt
@ -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()
|
@ -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:
|
||||
|
99
doc/index.bb
99
doc/index.bb
@ -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]]
|
@ -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]
|
@ -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:
|
||||
|
@ -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>
|
@ -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...
|
||||
|
@ -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)
|
@ -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])
|
||||
|
@ -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:
|
||||
|
19
monk_ewol.py
19
monk_ewol.py
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user