[DEV/DEBUG] No stl start to work (add manual type declaration (NO RTTI))

This commit is contained in:
Edouard DUPIN 2017-09-17 00:12:49 +02:00
parent b66827c6de
commit 4885d7c685
74 changed files with 229 additions and 58 deletions

View File

@ -7,6 +7,9 @@
#include <ewol/DrawProperty.hpp>
#include <ewol/debug.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::DrawProperty);
etk::Stream& ewol::operator <<(etk::Stream& _os, const ewol::DrawProperty& _obj) {
_os << "{ windowsSize=" << _obj.m_windowsSize << " start=" << _obj.m_origin << " stop=" << (_obj.m_origin+_obj.m_size) << "}";
return _os;

View File

@ -5,6 +5,8 @@
*/
#include <ewol/Padding.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::Padding);
ewol::Padding::Padding() {
// nothing to do...

View File

@ -6,6 +6,8 @@
#include <ewol/debug.hpp>
#include <ewol/compositing/Area.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::compositing::Area);
// VBO table property:
const int32_t ewol::compositing::Area::m_vboIdCoord(0);

View File

@ -9,7 +9,8 @@
#include <ewol/debug.hpp>
#include <ewol/compositing/Compositing.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::Compositing);
ewol::Compositing::Compositing() {
// nothing to do

View File

@ -7,6 +7,9 @@
#include <ewol/debug.hpp>
#include <ewol/compositing/Drawing.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::compositing::Drawing);
// VBO table property:
const int32_t ewol::compositing::Drawing::m_vboIdCoord(0);
const int32_t ewol::compositing::Drawing::m_vboIdColor(1);

View File

@ -6,6 +6,8 @@
#include <ewol/debug.hpp>
#include <ewol/compositing/Image.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::compositing::Image);
const int32_t ewol::compositing::Image::sizeAuto(0);

View File

@ -7,6 +7,8 @@
#include <etk/os/FSNode.hpp>
#include <ewol/debug.hpp>
#include <ewol/compositing/Shaper.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::compositing::Shaper);
// VBO table property:
const int32_t ewol::compositing::Shaper::m_vboIdCoord(0);

View File

@ -7,6 +7,9 @@
#include <ewol/debug.hpp>
#include <ewol/compositing/Sprite.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::compositing::Sprite);
ewol::compositing::Sprite::Sprite(const etk::String& _imageName, const ivec2& _nbSprite, int32_t _size) :
ewol::compositing::Image(_imageName, false, _size),
m_nbSprite(_nbSprite),

View File

@ -9,6 +9,9 @@
#include <ewol/context/Context.hpp>
#include <etk/types.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::compositing::Text);
ewol::compositing::Text::Text(const etk::String& _fontName, int32_t _fontSize) :
m_font(nullptr) {
setFont(_fontName, _fontSize);

View File

@ -9,6 +9,8 @@
#include <ewol/context/Context.hpp>
#include <etk/types.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::compositing::TextBase);
const int32_t ewol::compositing::TextBase::m_vboIdCoord(0);
const int32_t ewol::compositing::TextBase::m_vboIdCoordText(1);

View File

@ -8,6 +8,8 @@
#include <ewol/compositing/TextDF.hpp>
#include <ewol/context/Context.hpp>
#include <etk/types.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::compositing::TextDF);
ewol::compositing::TextDF::TextDF(const etk::String& _fontName, int32_t _fontSize) :
ewol::compositing::TextBase("", false),

View File

@ -8,6 +8,8 @@
#include <ewol/context/Application.hpp>
#include <ewol/context/Context.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::context::Application);
ewol::context::Application::Application() {

View File

@ -6,6 +6,8 @@
#include <ewol/context/ConfigFont.hpp>
#include <ewol/resource/FontFreeType.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::context::ConfigFont);
ewol::context::ConfigFont::ConfigFont() :
m_folder("{ewol}DATA:fonts"),

View File

@ -29,6 +29,9 @@
#include <ewol/context/Context.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::Context);
static ewol::Context* l_curentInterface=nullptr;
ewol::Context& ewol::getContext() {
gale::Context& context = gale::getContext();

View File

@ -16,7 +16,8 @@
#include <ewol/widget/Windows.hpp>
#include <ewol/widget/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::context::InputManager);
#define EVENT_DEBUG EWOL_VERBOSE
//#define EVENT_DEBUG EWOL_DEBUG

View File

@ -6,6 +6,9 @@
#include <ewol/widget/Widget.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::event::Entry);
etk::Stream& ewol::event::operator <<(etk::Stream& _os, const ewol::event::Entry& _obj) {
_os << "{type=" << _obj.getType();
_os << " status=" << _obj.getStatus();

View File

@ -6,6 +6,9 @@
#include <ewol/widget/Widget.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::event::Input);
etk::Stream& ewol::event::operator <<(etk::Stream& _os, const ewol::event::Input& _obj) {
_os << "{type=" << _obj.getType();
_os << " status=" << _obj.getStatus();

View File

@ -5,6 +5,8 @@
*/
#include <ewol/widget/Widget.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::event::Time);
etk::Stream& ewol::event::operator <<(etk::Stream& _os, const ewol::event::Time& _obj) {
_os << "{time=" << _obj.getTime();

View File

@ -7,6 +7,9 @@
#include <ewol/debug.hpp>
#include <ewol/gravity.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(enum ewol::gravity);
etk::String ewol::gravityToString(const enum ewol::gravity _obj) {
switch(_obj) {
case ewol::gravity_center:

View File

@ -9,6 +9,8 @@
#include <ewol/ewol.hpp>
#include <etk/stdTools.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::object::Manager);
ewol::object::Manager::Manager(ewol::Context& _context) :
m_context(_context),

View File

@ -8,6 +8,8 @@
#include <ewol/object/Manager.hpp>
#include <ewol/debug.hpp>
#include <ewol/context/Context.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::Object);
size_t ewol::Object::m_valUID = 0;

View File

@ -7,6 +7,8 @@
#include <ewol/debug.hpp>
#include <ewol/object/Worker.hpp>
#include <ewol/object/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::object::Worker);
ewol::object::Worker::Worker() {
addObjectType("ewol::Worker");

View File

@ -8,6 +8,8 @@
#include <ewol/debug.hpp>
#include <ewol/resource/ColorFile.hpp>
#include <ejson/ejson.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::resource::ColorFile);
ewol::resource::ColorFile::ColorFile() :
gale::Resource(),
@ -34,7 +36,7 @@ ewol::resource::ColorFile::~ColorFile() {
void ewol::resource::ColorFile::reload() {
ethread::RecursiveLock lock(m_mutex);
// remove all previous set of value :
for (int32_t iii = 0; iii < m_list.size() ; ++iii) {
for (size_t iii = 0; iii < m_list.size() ; ++iii) {
m_list.getValue(iii) = m_errorColor;
}
// open and read all json elements:

View File

@ -52,11 +52,11 @@ namespace ewol {
* @param[in] _Id Id of the color.
* @return The requested color.
*/
const etk::Color<float>& get(int32_t _id) {
if (_id<0) {
const etk::Color<float>& get(int32_t _id) const {
if (_id < 0) {
return m_errorColor;
}
return m_list[_id];
return m_list.getValue(_id);
};
/**
* @brief Get All color name

View File

@ -12,6 +12,9 @@
#include <gale/renderer/openGL/openGL-include.hpp>
#include <esignal/Signal.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::resource::Colored3DObject);
ewol::resource::Colored3DObject::Colored3DObject() :
m_GLprogram(nullptr) {
addResourceType("ewol::Colored3DObject");

View File

@ -11,6 +11,8 @@
#include <ejson/ejson.hpp>
#include <ejson/Number.hpp>
#include <ejson/String.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::resource::ConfigFile);
ewol::resource::ConfigFile::ConfigFile() :
gale::Resource(),

View File

@ -20,6 +20,9 @@
#define SIZE_GENERATION (30)
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::resource::DistanceFieldFont);
ewol::resource::DistanceFieldFont::DistanceFieldFont() :
ewol::resource::Texture(),
m_borderSize(10),

View File

@ -16,6 +16,9 @@
#include <ewol/resource/font/FontBase.hpp>
#include <gale/resource/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::resource::FontFreeType);
// free Font hnadle of librairies ... entry for acces ...
static int32_t l_countLoaded=0;
static FT_Library library;

View File

@ -11,6 +11,8 @@
#include <ewol/resource/Image.hpp>
#include <ewol/resource/Texture.hpp>
#include <ethread/Thread.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::resource::TextureFile);
const ivec2 ewol::resource::TextureFile::sizeAuto(-1,-1);
const ivec2 ewol::resource::TextureFile::sizeDefault(0,0);

View File

@ -12,6 +12,9 @@
#include <ewol/resource/Texture.hpp>
#include <edtaa3/edtaa3func.h>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::resource::ImageDF);
ewol::resource::ImageDF::ImageDF() {
addResourceType("ewol::resource::ImageDF");
}

View File

@ -12,6 +12,9 @@
#include <ewol/resource/Texture.hpp>
#include <echrono/Steady.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::resource::Texture);
/**
* @brief get the next power 2 if the input
* @param[in] value Value that we want the next power of 2

View File

@ -14,7 +14,9 @@
#include <ewol/resource/TexturedFont.hpp>
#include <ewol/resource/FontFreeType.hpp>
#include <ewol/context/Context.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::font::mode);
ETK_DECLARE_TYPE(ewol::resource::TexturedFont);
etk::Stream& ewol::operator <<(etk::Stream& _os, enum ewol::font::mode _obj) {
switch(_obj) {

View File

@ -8,7 +8,9 @@
#include <ewol/ewol.hpp>
#include <ewol/widget/Button.hpp>
#include <ewol/object/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Button);
ETK_DECLARE_TYPE(ewol::widget::Button::buttonLock);
// DEFINE for the shader display system:
const static int32_t STATUS_UP(0);
const static int32_t STATUS_HOVER(2);

View File

@ -13,6 +13,8 @@
#include <ewol/widget/Windows.hpp>
#include <ewol/ewol.hpp>
#include <ewol/object/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::ButtonColor);
// DEFINE for the shader display system :
#define STATUS_UP (0)

View File

@ -7,6 +7,8 @@
#include <ewol/widget/CheckBox.hpp>
#include <ewol/widget/Manager.hpp>
#include <ewol/object/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::CheckBox);
// DEFINE for the shader display system :
#define STATUS_UP (0)

View File

@ -10,6 +10,8 @@
#include <ewol/widget/Manager.hpp>
#include <etk/Color.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::ColorBar);
ewol::widget::ColorBar::ColorBar() :
signalChange(this, "change", "Color value change"),

View File

@ -10,6 +10,8 @@
#include <etk/os/FSNode.hpp>
#include <ewol/widget/Manager.hpp>
#include <ewol/context/Context.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Composer);
ewol::widget::Composer::Composer() :
propertyRemoveIfUnderRemove(this, "remove-if-under-remove", true, "Demand the remove iof the widget if the subObject demand a remove"),

View File

@ -9,6 +9,9 @@
#include <ewol/widget/Container.hpp>
#include <ewol/widget/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Container);
ewol::widget::Container::Container() {
addObjectType("ewol::widget::Container");
// nothing to do ...

View File

@ -9,6 +9,9 @@
#include <ewol/widget/Container2.hpp>
#include <ewol/widget/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Container2);
ewol::widget::Container2::Container2() :
m_idWidgetDisplayed(0) {
addObjectType("ewol::widget::Container2");

View File

@ -9,6 +9,9 @@
#include <ewol/widget/ContainerN.hpp>
#include <ewol/widget/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::ContainerN);
ewol::widget::ContainerN::ContainerN() :
propertyLockExpand(this, "lock",
vec2(false,false),
@ -174,10 +177,10 @@ void ewol::widget::ContainerN::systemDraw(const ewol::DrawProperty& _displayProp
// subwidget draw
ewol::DrawProperty prop = _displayProp;
prop.limit(m_origin, m_size);
for (auto it(m_subWidget.rbegin()); it!=m_subWidget.rend(); ++it) {
if (*it != nullptr) {
for (int64_t iii = m_subWidget.size()-1; iii>=0; --iii) {
if (m_subWidget[iii] != nullptr) {
//EWOL_INFO(" ***** : [" << (*it)->propertyName << "] t=" << (*it)->getObjectType() << " o=" << (*it)->m_origin << " s=" << (*it)->m_size);
(*it)->systemDraw(prop);
m_subWidget[iii]->systemDraw(prop);
}
}
}

View File

@ -12,6 +12,10 @@
#include <ewol/widget/Windows.hpp>
#include <ewol/Padding.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::ContextMenu);
ETK_DECLARE_TYPE(enum ewol::widget::ContextMenu::markPosition);
ewol::widget::ContextMenu::ContextMenu():
propertyShape(this, "shape",
"{ewol}THEME:GUI:ContextMenu.json",

View File

@ -10,6 +10,8 @@
#include <ewol/ewol.hpp>
#include <ewol/context/Context.hpp>
#include <ewol/Padding.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Entry);
// DEFINE for the shader display system :
#define STATUS_NORMAL (0)
@ -429,7 +431,7 @@ void ewol::widget::Entry::setInternalValue(const etk::String& _newData) {
EWOL_INFO("The input data does not match with the regExp '" << _newData << "' Regex='" << propertyRegex << "' (start position error)" );
return;
}
if (m_regex.start() != _newData.size()) {
if (m_regex.stop() != _newData.size()) {
EWOL_INFO("The input data does not match with the regExp '" << _newData << "' Regex='" << propertyRegex << "' (stop position error)" );
return;
}

View File

@ -8,6 +8,9 @@
#include <ewol/widget/Gird.hpp>
#include <ewol/widget/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Gird);
ewol::widget::Gird::Gird() :
m_sizeRow(0),
m_tmpWidget(nullptr),

View File

@ -10,6 +10,9 @@
#include <ewol/widget/Manager.hpp>
#include <ewol/ewol.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Image);
ewol::widget::Image::Image() :
signalPressed(this, "pressed", "Image is pressed"),
propertySource(this, "src", "", "Image source path", &ewol::widget::Image::onChangePropertySource),

View File

@ -9,6 +9,8 @@
#include <ewol/compositing/Image.hpp>
#include <ewol/widget/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Joystick);
static bool l_displayBackground(true);
static etk::String l_background("");

View File

@ -9,6 +9,8 @@
#include <ewol/compositing/Text.hpp>
#include <ewol/widget/Manager.hpp>
#include <ewol/ewol.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Label);
// TODO : Remove the label name in the constructor ...
ewol::widget::Label::Label() :

View File

@ -7,6 +7,9 @@
#include <ewol/widget/Layer.hpp>
#include <ewol/widget/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Layer);
ewol::widget::Layer::Layer() {
addObjectType("ewol::widget::Layer");
}

View File

@ -10,6 +10,9 @@
#include <ewol/compositing/Text.hpp>
#include <ewol/widget/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::List);
ewol::widget::List::List() {
addObjectType("ewol::widget::List");
m_paddingSizeX = 2;

View File

@ -8,6 +8,9 @@
#include <etk/tool.hpp>
#include <etk/os/FSNode.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::ListFileSystem);
ewol::widget::ListFileSystem::ListFileSystem() :
signalFileSelect(this, "file-select", ""),
signalFileValidate(this, "file-validate", ""),

View File

@ -30,6 +30,9 @@
#include <ewol/widget/Menu.hpp>
#include <etk/Vector.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Manager);
ewol::widget::Manager::Manager() :
m_creatorList(0, false),
m_creatorListXml(0, false),
@ -196,8 +199,8 @@ void ewol::widget::Manager::addWidgetCreator(const etk::String& _name,
return;
}
EWOL_INFO("Add Creator of a specify widget : " << nameLower);
m_creatorList.insert(make_pair(nameLower, _pointer));
m_creatorListXml.insert(make_pair(nameLower, _pointerXml));
m_creatorList.set(nameLower, _pointer);
m_creatorListXml.set(nameLower, _pointerXml);
}
ewol::WidgetShared ewol::widget::Manager::create(const etk::String& _name) {

View File

@ -13,6 +13,8 @@
#include <ewol/widget/Label.hpp>
#include <ewol/widget/Windows.hpp>
#include <ewol/widget/Spacer.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Menu);
ewol::widget::Menu::Menu() :
signalSelect(this, "select", "") {
@ -210,11 +212,11 @@ void ewol::widget::Menu::onButtonPressed(ewol::widget::ButtonWeak _button) {
break;
}
}
for (auto it2=m_listElement.rbegin(); it2!=m_listElement.rend() ; ++it2) {
if (it.m_localId != it2->m_parentId) {
for (int64_t iii=m_listElement.size()-1; iii>=0; --iii) {
if (it.m_localId != m_listElement[iii].m_parentId) {
continue;
}
if (it2->m_message == "" && it2->m_label == "") {
if (m_listElement[iii].m_message == "" && m_listElement[iii].m_label == "") {
ewol::widget::SpacerShared mySpacer = ewol::widget::Spacer::create();
if (mySpacer == nullptr) {
EWOL_ERROR("Allocation spacer error");
@ -239,15 +241,15 @@ void ewol::widget::Menu::onButtonPressed(ewol::widget::ButtonWeak _button) {
myButton->signalPressed.connect(sharedFromThis(), &ewol::widget::Menu::onButtonPressed, ewol::widget::ButtonWeak(myButton));
// add it in the widget list
mySizer->subWidgetAdd(myButton);
if (it2->m_image.size() != 0) {
if (m_listElement[iii].m_image.size() != 0) {
etk::String composeString;
composeString+= " <sizer mode='hori' expand='true,false' fill='true,true' lock='true'>\n";
if (etk::end_with(it2->m_image, ".edf") == true) {
composeString+=" <image src='" + it2->m_image + "' size='8,8mm' distance-field='true'/>\n";
if (etk::end_with(m_listElement[iii].m_image, ".edf") == true) {
composeString+=" <image src='" + m_listElement[iii].m_image + "' size='8,8mm' distance-field='true'/>\n";
} else {
composeString+=" <image src='" + it2->m_image + "' size='8,8mm'/>\n";
composeString+=" <image src='" + m_listElement[iii].m_image + "' size='8,8mm'/>\n";
}
composeString+=" <label exand='true,true' fill='true,true'><left>" + it2->m_label + "</left></label>\n";
composeString+=" <label exand='true,true' fill='true,true'><left>" + m_listElement[iii].m_label + "</left></label>\n";
composeString+=" </sizer>\n";
myButton->setSubWidget(ewol::widget::composerGenerateString(composeString));
} else {
@ -256,20 +258,20 @@ void ewol::widget::Menu::onButtonPressed(ewol::widget::ButtonWeak _button) {
etk::String() +
" <sizer mode='hori' expand='true,false' fill='true,true' lock='true'>\n"
" <spacer min-size='8,0mm'/>\n"
" <label exand='true,true' fill='true,true'><![CDATA[<left>" + it2->m_label + "</left>]]></label>\n"
" <label exand='true,true' fill='true,true'><![CDATA[<left>" + m_listElement[iii].m_label + "</left>]]></label>\n"
" </sizer>\n")
);
} else {
ewol::widget::LabelShared tmpLabel = widget::Label::create();
if (tmpLabel != nullptr) {
tmpLabel->propertyValue.set(etk::String("<left>") + it2->m_label + "</left>\n");
tmpLabel->propertyValue.set(etk::String("<left>") + m_listElement[iii].m_label + "</left>\n");
tmpLabel->propertyExpand.set(bvec2(true,false));
tmpLabel->propertyFill.set(bvec2(true,true));
myButton->setSubWidget(tmpLabel);
}
}
}
it2->m_widgetPointer = myButton;
m_listElement[iii].m_widgetPointer = myButton;
}
}
}

View File

@ -10,6 +10,8 @@
#include <ewol/widget/Manager.hpp>
#include <ewol/object/Manager.hpp>
#include <ewol/ewol.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::PopUp);
static const char* annimationIncrease = "increase";

View File

@ -8,6 +8,8 @@
#include <ewol/compositing/Drawing.hpp>
#include <ewol/widget/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::ProgressBar);
const int32_t dotRadius = 6;

View File

@ -9,6 +9,8 @@
#include <ewol/widget/Manager.hpp>
#include <ewol/debug.hpp>
#include <ewol/compositing/Drawing.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Scroll);
ewol::widget::Scroll::Scroll() :
propertyLimit(this, "limit",

View File

@ -10,6 +10,9 @@
#include <ewol/widget/Label.hpp>
#include <ewol/widget/Windows.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Select);
ewol::widget::Select::Element::Element(int32_t _value, etk::String _name, bool _selected):
m_value(_value),
m_name(_name),

View File

@ -42,6 +42,8 @@ namespace ewol {
etk::String m_name;
bool m_selected;
public:
// TODO: Remove this: due to the fact my etk::Vector is not full implemented
Element() {}
Element(int32_t _value, etk::String _name, bool _selected=false);
};
etk::Vector<ewol::widget::Select::Element> m_listElement;

View File

@ -7,7 +7,10 @@
#include <ewol/ewol.hpp>
#include <ewol/widget/Sizer.hpp>
#include <ewol/widget/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Sizer);
ETK_DECLARE_TYPE(enum ewol::widget::Sizer::animation);
ETK_DECLARE_TYPE(enum ewol::widget::Sizer::displayMode);
ewol::widget::Sizer::Sizer() :
propertyMode(this, "mode",
modeHori,

View File

@ -7,6 +7,8 @@
#include <ewol/widget/Slider.hpp>
#include <ewol/widget/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Slider);
const int32_t dotRadius = 6;

View File

@ -8,6 +8,8 @@
#include <ewol/compositing/Drawing.hpp>
#include <ewol/widget/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Spacer);
ewol::widget::Spacer::Spacer() :
propertyColor(this, "color",

View File

@ -9,6 +9,8 @@
#include <ewol/widget/ContextMenu.hpp>
#include <ewol/widget/Label.hpp>
#include <ewol/widget/Windows.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Spin);
ewol::widget::Spin::Spin() :
signalValue(this, "value",

View File

@ -8,6 +8,9 @@
#include <ewol/ewol.hpp>
#include <ewol/object/Manager.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(enum ewol::widget::WSlider::sladingMode);
ETK_DECLARE_TYPE(ewol::widget::WSlider);
static const char* l_listsladingMode[ewol::widget::WSlider::sladingTransition_count] = {
"transition vertical",

View File

@ -11,6 +11,8 @@
#include <gale/renderer/openGL/openGL.hpp>
#include <gale/renderer/openGL/openGL-include.hpp>
#include <ewol/context/Context.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::Widget::Widget);
ewol::Widget::Widget() :
propertyMinSize(this, "min-size",

View File

@ -10,6 +10,8 @@
#include <ewol/widget/Manager.hpp>
#include <gale/renderer/openGL/openGL.hpp>
#include <ewol/ewol.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::WidgetScrolled);
ewol::widget::WidgetScrolled::WidgetScrolled() :
propertyShapeVert(this, "shape-vert",

View File

@ -14,6 +14,8 @@
#include <ewol/widget/Windows.hpp>
#include <ewol/widget/Manager.hpp>
#include <ewol/widget/meta/StdPopUp.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Windows);
ewol::widget::Windows::Windows() :
propertyColorConfiguration(this, "file-color", "{ewol}THEME:COLOR:Windows.json", "color file link on the theme", &ewol::widget::Windows::onChangePropertyColor),
@ -195,6 +197,8 @@ void ewol::widget::Windows::onChangePropertyColor() {
m_resourceColor = ewol::resource::ColorFile::create(*propertyColorConfiguration);
if (m_resourceColor != nullptr) {
m_colorBg = m_resourceColor->request("background");
} else {
EWOL_WARNING("Can not open the default color configuration file for the windows: " << *propertyColorConfiguration);
}
}

View File

@ -11,6 +11,8 @@
#include <ewol/widget/Manager.hpp>
//#include <etk/Vector.hpp>
#include <etk/Vector.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::ColorChooser);
extern "C" {
// file browsing ...

View File

@ -27,6 +27,8 @@ extern "C" {
}
#include <ewol/ewol.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::FileChooser);
ewol::widget::FileChooser::FileChooser() :
signalCancel(this, "cancel", ""),

View File

@ -15,6 +15,9 @@
#include <ewol/ewol.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::Parameter);
ewol::widget::Parameter::Parameter() :
signalClose(this, "close", ""),
propertyLabelTitle(this, "title",

View File

@ -13,6 +13,8 @@
#include <ewol/compositing/Text.hpp>
#include <ewol/widget/Manager.hpp>
#include <etranslate/etranslate.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::ParameterList);
ewol::widget::ParameterList::ParameterList() :
signalSelect(this, "select", "") {

View File

@ -9,6 +9,10 @@
#include <ewol/widget/Label.hpp>
#include <ewol/widget/Composer.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::SpinBase);
ETK_DECLARE_TYPE(enum ewol::widget::spinPosition);
ewol::widget::SpinBase::SpinBase() :
propertyShape(this, "shape",
"",

View File

@ -11,6 +11,9 @@
#include <ewol/widget/Manager.hpp>
#include <etk/Vector.hpp>
#include <etk/typeInfo.hpp>
ETK_DECLARE_TYPE(ewol::widget::StdPopUp);
ewol::widget::StdPopUp::StdPopUp() :
propertyTitle(this, "title",
"<bold>Message</bold>",

View File

@ -27,6 +27,7 @@ void appl::Windows::init() {
} else {
tmpWidget->propertyValue.set("Hello <font color='blue'>World</font>");
tmpWidget->propertyExpand.set(bvec2(true,true));
tmpWidget->propertyFill.set(bvec2(true,true));
// confidure the label as a windows sub-widget
setSubWidget(tmpWidget);
}

View File

@ -8,7 +8,6 @@
#include <test-debug/debug.hpp>
#include <etk/Vector.hpp>
#include <etk/String.hpp>
#include <etk/Hash.hpp>
#include <etk/os/FSNode.hpp>
#include <etk/archive/Archive.hpp>
#include <etk/etk.hpp>
@ -20,10 +19,7 @@
#include <etest/etest.hpp>
int main(int argc, const char *argv[]) {
// init Google test :
::testing::InitGoogleTest(&argc, const_cast<char **>(argv));
etk::init(argc, argv);
etk::initDefaultFolder("ewol-test");
etest::init(argc, argv);
return RUN_ALL_TESTS();
}

View File

@ -106,14 +106,14 @@ void appl::MainWindows::onCallbackFullScreen(const bool& _value) {
bool appl::MainWindows::onEventInput(const ewol::event::Input& _event) {
APPL_INFO("get Event: " << _event);
propertySetOnWidgetNamed("appl-special-key-value", "value", etk::toString(_event.getSpecialKey()));
propertySetOnWidgetNamed("appl-mouse-value", "value", etk::toString(_event.getType()) + " " + etk::to_string(_event.getId()) + " " + etk::to_string(_event.getPos()));
propertySetOnWidgetNamed("appl-mouse-value", "value", etk::toString(_event.getType()) + " " + etk::toString(_event.getId()) + " " + etk::toString(_event.getPos()));
return false;
}
bool appl::MainWindows::onEventEntry(const ewol::event::Entry& _event) {
APPL_INFO("get Event: " << _event);
propertySetOnWidgetNamed("appl-special-key-value", "value", etk::toString(_event.getSpecialKey()));
propertySetOnWidgetNamed("appl-last-key-pressed", "value", etk::toString(_event.getType()) + " " + etk::to_string(_event.getStatus()) + " " + etk::to_string(_event.getChar()));
propertySetOnWidgetNamed("appl-last-key-pressed", "value", etk::toString(_event.getType()) + " " + etk::toString(_event.getStatus()) + " " + etk::toString(_event.getChar()));
return false;
}

View File

@ -38,6 +38,10 @@ appl::MainWindows::MainWindows() :
void appl::MainWindows::init() {
ewol::widget::Windows::init();
APPL_WARNING("plop " << ETK_GET_TYPE_NAME(etk::String));
APPL_WARNING("plop " << ETK_GET_TYPE_NAME(vec3));
APPL_WARNING("plop " << ETK_GET_TYPE_NAME(double));
APPL_WARNING("plop " << ETK_GET_TYPE_NAME(uint32_t));
m_composer = ewol::widget::Composer::create();
m_composer->loadFromFile("DATA:gui.xml");
setSubWidget(m_composer);
@ -234,10 +238,11 @@ void appl::MainWindows::updateProperty() {
widget->propertyValue.set(param->getName() + ":");
widgetSizer->subWidgetAdd(widget);
etk::String type = param->getType();
APPL_WARNING("Parameter TYPE=" << param->getType() << " name=" << param->getName());
if (param->getPropertyType() != "eproperty::List") {
//addSpacer(widgetSizer, etk::color::purple);
// Main part TODO: ...
if (type == typeid(etk::String).name()) {
if (type == ETK_GET_TYPE_NAME(etk::String)) {
ewol::widget::EntryShared widgetTmp = ewol::widget::Entry::create();
widgetSizer->subWidgetAdd(widgetTmp);
eproperty::Value<etk::String>* paramValue = dynamic_cast<eproperty::Value<etk::String>*>(param);
@ -256,7 +261,7 @@ void appl::MainWindows::updateProperty() {
return;
});
m_listConnection.pushBack(etk::move(conn));
} else if (type == typeid(gale::Dimension).name()) {
} else if (type == ETK_GET_TYPE_NAME(gale::Dimension)) {
addSpacer(widgetSizer);
ewol::widget::SpinShared widgetTmp = ewol::widget::Spin::create();
widgetSizer->subWidgetAdd(widgetTmp);
@ -325,7 +330,7 @@ void appl::MainWindows::updateProperty() {
});
m_listConnection.pushBack(etk::move(conn));
} else if (type == typeid(bvec2).name()) {
} else if (type == ETK_GET_TYPE_NAME(bvec2)) {
addSpacer(widgetSizer);
ewol::widget::CheckBoxShared widgetTmp = ewol::widget::CheckBox::create();
widgetSizer->subWidgetAdd(widgetTmp);
@ -364,7 +369,7 @@ void appl::MainWindows::updateProperty() {
widgetLabel = ewol::widget::Label::create();
widgetLabel->propertyValue.set("y");
widgetTmp->setSubWidget(widgetLabel);
} else if (type == typeid(ivec2).name()) {
} else if (type == ETK_GET_TYPE_NAME(ivec2)) {
addSpacer(widgetSizer);
ewol::widget::SpinShared widgetTmp = ewol::widget::Spin::create();
widgetSizer->subWidgetAdd(widgetTmp);
@ -403,7 +408,7 @@ void appl::MainWindows::updateProperty() {
widgetLabel = ewol::widget::Label::create();
widgetLabel->propertyValue.set("y");
widgetSizer->subWidgetAdd(widgetLabel);
} else if (type == typeid(uivec2).name()) {
} else if (type == ETK_GET_TYPE_NAME(uivec2)) {
addSpacer(widgetSizer);
ewol::widget::SpinShared widgetTmp = ewol::widget::Spin::create();
widgetSizer->subWidgetAdd(widgetTmp);
@ -442,7 +447,7 @@ void appl::MainWindows::updateProperty() {
widgetLabel = ewol::widget::Label::create();
widgetLabel->propertyValue.set("y");
widgetSizer->subWidgetAdd(widgetLabel);
} else if (type == typeid(vec2).name()) {
} else if (type == ETK_GET_TYPE_NAME(vec2)) {
addSpacer(widgetSizer);
ewol::widget::SpinShared widgetTmp = ewol::widget::Spin::create();
widgetSizer->subWidgetAdd(widgetTmp);
@ -483,7 +488,7 @@ void appl::MainWindows::updateProperty() {
widgetLabel = ewol::widget::Label::create();
widgetLabel->propertyValue.set("y");
widgetSizer->subWidgetAdd(widgetLabel);
} else if (type == typeid(bool).name()) {
} else if (type == ETK_GET_TYPE_NAME(bool)) {
addSpacer(widgetSizer);
ewol::widget::CheckBoxShared widgetTmp = ewol::widget::CheckBox::create();
widgetSizer->subWidgetAdd(widgetTmp);
@ -498,14 +503,14 @@ void appl::MainWindows::updateProperty() {
return;
});
m_listConnection.pushBack(etk::move(conn));
} else if ( type == typeid(int64_t).name()
|| type == typeid(int32_t).name()
|| type == typeid(int16_t).name()
|| type == typeid(int8_t).name()
|| type == typeid(uint64_t).name()
|| type == typeid(uint32_t).name()
|| type == typeid(uint16_t).name()
|| type == typeid(uint8_t).name()) {
} else if ( type == ETK_GET_TYPE_NAME(int64_t)
|| type == ETK_GET_TYPE_NAME(int32_t)
|| type == ETK_GET_TYPE_NAME(int16_t)
|| type == ETK_GET_TYPE_NAME(int8_t)
|| type == ETK_GET_TYPE_NAME(uint64_t)
|| type == ETK_GET_TYPE_NAME(uint32_t)
|| type == ETK_GET_TYPE_NAME(uint16_t)
|| type == ETK_GET_TYPE_NAME(uint8_t)) {
ewol::widget::SpinShared widgetTmp = ewol::widget::Spin::create();
widgetSizer->subWidgetAdd(widgetTmp);
etk::String value = param->getString();
@ -520,34 +525,34 @@ void appl::MainWindows::updateProperty() {
return;
});
m_listConnection.pushBack(etk::move(conn));
if (type == typeid(int64_t).name()) {
if (type == ETK_GET_TYPE_NAME(int64_t)) {
widgetTmp->propertyMin.set(0x8000000000000000LL);
widgetTmp->propertyMax.set(0x7FFFFFFFFFFFFFFFLL);
} else if (type == typeid(int32_t).name()) {
} else if (type == ETK_GET_TYPE_NAME(int32_t)) {
widgetTmp->propertyMin.set(0x80000000LL);
widgetTmp->propertyMax.set(0x7FFFFFFFLL);
} else if (type == typeid(int16_t).name()) {
} else if (type == ETK_GET_TYPE_NAME(int16_t)) {
widgetTmp->propertyMin.set(-65338);
widgetTmp->propertyMax.set(65337);
} else if (type == typeid(int8_t).name()) {
} else if (type == ETK_GET_TYPE_NAME(int8_t)) {
widgetTmp->propertyMin.set(-128);
widgetTmp->propertyMax.set(127);
} else if (type == typeid(uint64_t).name()) {
} else if (type == ETK_GET_TYPE_NAME(uint64_t)) {
widgetTmp->propertyMin.set(0);
widgetTmp->propertyMax.set(0x7FFFFFFFFFFFFFFFLL);
} else if (type == typeid(uint32_t).name()) {
} else if (type == ETK_GET_TYPE_NAME(uint32_t)) {
widgetTmp->propertyMin.set(0);
widgetTmp->propertyMax.set(0x7FFFFFFFLL);
} else if (type == typeid(uint16_t).name()) {
} else if (type == ETK_GET_TYPE_NAME(uint16_t)) {
widgetTmp->propertyMin.set(0);
widgetTmp->propertyMax.set(65337*2);
} else if (type == typeid(uint8_t).name()) {
} else if (type == ETK_GET_TYPE_NAME(uint8_t)) {
widgetTmp->propertyMin.set(0);
widgetTmp->propertyMax.set(256);
}
} else if (type == typeid(float).name()) {
} else if (type == ETK_GET_TYPE_NAME(float)) {
type = "float";
} else if (type == typeid(double).name()) {
} else if (type == ETK_GET_TYPE_NAME(double)) {
type = "double";
}
} else {