[DEV] change some Object interface (try to simplify object interface
This commit is contained in:
parent
7edbc3a0cf
commit
367831116f
2
external/eaudiofx
vendored
2
external/eaudiofx
vendored
@ -1 +1 @@
|
|||||||
Subproject commit 69e1259b273a429e871e5c2e994dea5bb45aa5cf
|
Subproject commit 428e8dfe393b5609e21b78267356e30a026cb0ad
|
@ -53,7 +53,6 @@ void ewol::object::Manager::unInit() {
|
|||||||
if (m_eObjectList.size() != 0) {
|
if (m_eObjectList.size() != 0) {
|
||||||
EWOL_ERROR("Have " << m_eObjectList.size() << " active Object");
|
EWOL_ERROR("Have " << m_eObjectList.size() << " active Object");
|
||||||
}
|
}
|
||||||
m_multiCast.clear();
|
|
||||||
m_eObjectList.clear();
|
m_eObjectList.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,19 +100,6 @@ std::shared_ptr<ewol::Object> ewol::object::Manager::get(const std::string& _nam
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ewol::object::Manager::add(ewol::object::RemoveEvent* _class) {
|
|
||||||
m_removeEventList.push_back(_class);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ewol::object::Manager::rm(ewol::object::RemoveEvent* _class) {
|
|
||||||
for (size_t iii=0; iii<m_removeEventList.size(); ++iii) {
|
|
||||||
if (m_removeEventList[iii] == _class) {
|
|
||||||
m_removeEventList.erase(m_removeEventList.begin() + iii);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<ewol::Object> ewol::object::Manager::getObjectNamed(const std::string& _name) {
|
std::shared_ptr<ewol::Object> ewol::object::Manager::getObjectNamed(const std::string& _name) {
|
||||||
return ewol::object::Manager::get(_name);
|
return ewol::object::Manager::get(_name);
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
#include <etk/types.h>
|
#include <etk/types.h>
|
||||||
#include <ewol/object/Object.h>
|
#include <ewol/object/Object.h>
|
||||||
#include <ewol/object/MultiCast.h>
|
|
||||||
#include <ewol/object/RemoveEvent.h>
|
#include <ewol/object/RemoveEvent.h>
|
||||||
|
|
||||||
namespace ewol {
|
namespace ewol {
|
||||||
@ -19,7 +18,6 @@ namespace ewol {
|
|||||||
namespace object {
|
namespace object {
|
||||||
class Manager {
|
class Manager {
|
||||||
private:
|
private:
|
||||||
std::vector<ewol::object::RemoveEvent*> m_removeEventList;
|
|
||||||
std::vector<std::weak_ptr<ewol::Object>> m_eObjectList; // all widget allocated == > all time increment ... never removed ...
|
std::vector<std::weak_ptr<ewol::Object>> m_eObjectList; // all widget allocated == > all time increment ... never removed ...
|
||||||
Context& m_context;
|
Context& m_context;
|
||||||
public:
|
public:
|
||||||
@ -47,15 +45,6 @@ namespace ewol {
|
|||||||
void cleanInternalRemoved();
|
void cleanInternalRemoved();
|
||||||
|
|
||||||
std::shared_ptr<ewol::Object> get(const std::string& _name);
|
std::shared_ptr<ewol::Object> get(const std::string& _name);
|
||||||
private:
|
|
||||||
ewol::object::MultiCast m_multiCast; //!< muticast manager
|
|
||||||
public:
|
|
||||||
ewol::object::MultiCast& multiCast() {
|
|
||||||
return m_multiCast;
|
|
||||||
};
|
|
||||||
|
|
||||||
void add(ewol::object::RemoveEvent* _class);
|
|
||||||
void rm(ewol::object::RemoveEvent* _class);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
|
@ -1,80 +0,0 @@
|
|||||||
/**
|
|
||||||
* @author Edouard DUPIN
|
|
||||||
*
|
|
||||||
* @copyright 2011, Edouard DUPIN, all right reserved
|
|
||||||
*
|
|
||||||
* @license APACHE v2.0 (see license file)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <ewol/debug.h>
|
|
||||||
#include <ewol/object/MultiCast.h>
|
|
||||||
#include <ewol/context/Context.h>
|
|
||||||
|
|
||||||
#undef __class__
|
|
||||||
#define __class__ "object::MultiCast"
|
|
||||||
|
|
||||||
ewol::object::MultiCast::MultiCast() {
|
|
||||||
EWOL_INFO("EObject message Multi-Cast");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ewol::object::MultiCast::~MultiCast() {
|
|
||||||
EWOL_INFO("EObject message Multi-Cast");
|
|
||||||
m_messageList.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
void ewol::object::MultiCast::clear() {
|
|
||||||
EWOL_INFO("EObject message Multi-Cast");
|
|
||||||
m_messageList.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
void ewol::object::MultiCast::add(const std::shared_ptr<ewol::Object>& _object, const char* const _message) {
|
|
||||||
if (_object == nullptr) {
|
|
||||||
EWOL_ERROR("Add with nullptr object");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (_message == nullptr) {
|
|
||||||
EWOL_ERROR("Add with nullptr Message");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
m_messageList.push_back(MessageList(_message, _object));
|
|
||||||
EWOL_DEBUG("SendMulticast ADD listener :" << _object->getId() << " on \"" << _message << "\"" );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ewol::object::MultiCast::rm(const std::shared_ptr<ewol::Object>& _object) {
|
|
||||||
if (_object == nullptr) {
|
|
||||||
EWOL_ERROR("Rm with nullptr object");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// send the message at all registered widget ...
|
|
||||||
auto it(m_messageList.begin());
|
|
||||||
while (it != m_messageList.end()) {
|
|
||||||
std::shared_ptr<ewol::Object> obj = it->m_object.lock();
|
|
||||||
if(obj == _object) {
|
|
||||||
EWOL_DEBUG("SendMulticast RM listener :" << _object->getId());
|
|
||||||
m_messageList.erase(it);
|
|
||||||
it = m_messageList.begin();
|
|
||||||
} else {
|
|
||||||
++it;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ewol::object::MultiCast::send(const std::shared_ptr<ewol::Object>& _object, const char* const _message, const std::string& _data) {
|
|
||||||
EWOL_VERBOSE("SendMulticast message \"" << _message << "\" data=\"" << _data << "\" to:");
|
|
||||||
// send the message at all registered widget ...
|
|
||||||
for (auto &it : m_messageList) {
|
|
||||||
std::shared_ptr<ewol::Object> obj = it.m_object.lock();
|
|
||||||
if( it.m_message == _message
|
|
||||||
&& obj != _object) {
|
|
||||||
if (obj != nullptr) {
|
|
||||||
EWOL_VERBOSE(" id = " << obj->getId() << " type=" << obj->getObjectType());
|
|
||||||
// generate event ... (create message before ...
|
|
||||||
ewol::object::Message tmpMsg(it.m_message, _data);
|
|
||||||
obj->onReceiveMessage(tmpMsg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
|||||||
/**
|
|
||||||
* @author Edouard DUPIN
|
|
||||||
*
|
|
||||||
* @copyright 2011, Edouard DUPIN, all right reserved
|
|
||||||
*
|
|
||||||
* @license APACHE v2.0 (see license file)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __EWOL_OBJECT_MULTICAST_H__
|
|
||||||
#define __EWOL_OBJECT_MULTICAST_H__
|
|
||||||
|
|
||||||
#include <etk/types.h>
|
|
||||||
#include <etk/types.h>
|
|
||||||
#include <vector>
|
|
||||||
#include <exml/exml.h>
|
|
||||||
|
|
||||||
#include <ewol/object/Object.h>
|
|
||||||
|
|
||||||
namespace ewol {
|
|
||||||
namespace object {
|
|
||||||
class MultiCast {
|
|
||||||
private:
|
|
||||||
class MessageList {
|
|
||||||
public:
|
|
||||||
MessageList(const char* _message=nullptr, std::shared_ptr<ewol::Object> _object=nullptr) :
|
|
||||||
m_message(_message), m_object(_object) {
|
|
||||||
|
|
||||||
}
|
|
||||||
const char* m_message;
|
|
||||||
std::weak_ptr<ewol::Object> m_object;
|
|
||||||
};
|
|
||||||
std::vector<MessageList> m_messageList; //!< List of all message ...
|
|
||||||
public:
|
|
||||||
MultiCast();
|
|
||||||
virtual ~MultiCast();
|
|
||||||
void clear();
|
|
||||||
void anonymousSend(const char* const _messageId, const std::string& _data) {
|
|
||||||
send(nullptr, _messageId, _data);
|
|
||||||
};
|
|
||||||
void send(const std::shared_ptr<ewol::Object>& _object, const char* const _message, const std::string& _data);
|
|
||||||
void rm(const std::shared_ptr<ewol::Object>& _object);
|
|
||||||
void add(const std::shared_ptr<ewol::Object>& _object, const char* const _message);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
@ -10,7 +10,6 @@
|
|||||||
#include <ewol/object/Manager.h>
|
#include <ewol/object/Manager.h>
|
||||||
#include <ewol/debug.h>
|
#include <ewol/debug.h>
|
||||||
#include <ewol/context/Context.h>
|
#include <ewol/context/Context.h>
|
||||||
#include <ewol/object/MultiCast.h>
|
|
||||||
|
|
||||||
#undef __class__
|
#undef __class__
|
||||||
#define __class__ "Object"
|
#define __class__ "Object"
|
||||||
@ -107,76 +106,6 @@ bool ewol::Object::isTypeCompatible(const std::string& _type) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
void ewol::Object::addEventId(const char * _generateEventId) {
|
|
||||||
for (auto &it : m_availlableEventId) {
|
|
||||||
if (std::string(it) == _generateEventId) {
|
|
||||||
EWOL_WARNING("Event already existed : '" << it << "' == '" << _generateEventId << "'");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (_generateEventId != nullptr) {
|
|
||||||
m_availlableEventId.push_back(_generateEventId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ewol::Object::generateEventId(const char * _generateEventId, const std::string& _data) {
|
|
||||||
if (m_objectHasBeenInit == false) {
|
|
||||||
EWOL_WARNING("try to generate an event inside a constructor");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
int32_t nbObject = getObjectManager().getNumberObject();
|
|
||||||
EWOL_VERBOSE("try send message '" << _generateEventId << "'");
|
|
||||||
// for every element registered ...
|
|
||||||
for (auto &it : m_externEvent) {
|
|
||||||
// if we find the event ...
|
|
||||||
if (it.localEventId != _generateEventId) {
|
|
||||||
EWOL_VERBOSE(" wrong event '" << it.localEventId << "' != '" << _generateEventId << "'");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
std::shared_ptr<ewol::Object> destObject = it.destObject.lock();
|
|
||||||
if (destObject == nullptr) {
|
|
||||||
EWOL_VERBOSE(" nullptr dest");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (it.overloadData.size() <= 0){
|
|
||||||
ewol::object::Message tmpMsg(shared_from_this(), it.destEventId, _data);
|
|
||||||
EWOL_VERBOSE("send message " << tmpMsg);
|
|
||||||
destObject->onReceiveMessage(tmpMsg);
|
|
||||||
} else {
|
|
||||||
// set the user requested data ...
|
|
||||||
ewol::object::Message tmpMsg(shared_from_this(), it.destEventId, it.overloadData);
|
|
||||||
EWOL_VERBOSE("send message " << tmpMsg);
|
|
||||||
destObject->onReceiveMessage(tmpMsg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (nbObject > getObjectManager().getNumberObject()) {
|
|
||||||
EWOL_CRITICAL("It if really dangerous ro remove (delete) element inside a callback ... use ->removObject() which is asynchronous");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
void ewol::Object::sendMultiCast(const char* const _messageId, const std::string& _data) {
|
|
||||||
if (m_objectHasBeenInit == false) {
|
|
||||||
EWOL_WARNING("try to generate an multicast event inside a constructor");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
int32_t nbObject = getObjectManager().getNumberObject();
|
|
||||||
getMultiCast().send(shared_from_this(), _messageId, _data);
|
|
||||||
if (nbObject > getObjectManager().getNumberObject()) {
|
|
||||||
EWOL_CRITICAL("It if really dangerous ro remove (delete) element inside a callback ... use ->removObject() which is asynchronous");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ewol::Object::registerMultiCast(const char* const _messageId) {
|
|
||||||
if (m_objectHasBeenInit == false) {
|
|
||||||
EWOL_ERROR("Try to Register multicast inside a constructor (move it in the init function)");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
getMultiCast().add(shared_from_this(), _messageId);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ewol::Object::loadXML(exml::Element* _node) {
|
bool ewol::Object::loadXML(exml::Element* _node) {
|
||||||
if (nullptr == _node) {
|
if (nullptr == _node) {
|
||||||
return false;
|
return false;
|
||||||
@ -219,13 +148,17 @@ ewol::object::Manager& ewol::Object::getObjectManager() const {
|
|||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
ewol::object::MultiCast& ewol::Object::getMultiCast() const {
|
|
||||||
return ewol::getContext().getEObjectManager().multiCast();
|
|
||||||
}
|
|
||||||
|
|
||||||
ewol::Context& ewol::Object::getContext() const {
|
ewol::Context& ewol::Object::getContext() const {
|
||||||
return ewol::getContext();
|
return ewol::getContext();
|
||||||
}
|
}
|
||||||
std::shared_ptr<ewol::Object> ewol::Object::getObjectNamed(const std::string& _objectName) const {
|
std::shared_ptr<ewol::Object> ewol::Object::getObjectNamed(const std::string& _objectName) const {
|
||||||
return getObjectManager().getObjectNamed(_objectName);
|
return getObjectManager().getObjectNamed(_objectName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::shared_ptr<ewol::Object> ewol::Object::getSubObjectNamed(const std::string& _objectName) {
|
||||||
|
if (_objectName == m_name.get()) {
|
||||||
|
return shared_from_this();
|
||||||
|
}
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,6 @@ namespace ewol {
|
|||||||
class Object;
|
class Object;
|
||||||
namespace object {
|
namespace object {
|
||||||
class Manager;
|
class Manager;
|
||||||
class MultiCast;
|
|
||||||
};
|
};
|
||||||
class Context;
|
class Context;
|
||||||
};
|
};
|
||||||
@ -138,21 +137,6 @@ namespace ewol {
|
|||||||
int32_t getId(){
|
int32_t getId(){
|
||||||
return m_uniqueId;
|
return m_uniqueId;
|
||||||
};
|
};
|
||||||
// TODO : Remove this section :
|
|
||||||
protected:
|
|
||||||
/**
|
|
||||||
* @brief generate Multicast event on all Object requested the event
|
|
||||||
* @param[in] _messageId Event Id that is generated
|
|
||||||
* @param[in] _data String that is send at all the destinations
|
|
||||||
*/
|
|
||||||
// TODO : Remove this ... Not really needed : user can simply create an object and send event with it ...
|
|
||||||
void sendMultiCast(const char* const _messageId, const std::string& _data = "");
|
|
||||||
/**
|
|
||||||
* @brief Register of the arrival of a Multicast message
|
|
||||||
* @param[in] _messageId Event Id waiting for...
|
|
||||||
*/
|
|
||||||
// TODO : Remove this ...
|
|
||||||
void registerMultiCast(const char* const _messageId);
|
|
||||||
public:
|
public:
|
||||||
// TODO : Rework the position on this function ... This is a convignet function ...
|
// TODO : Rework the position on this function ... This is a convignet function ...
|
||||||
bool parameterSetOnWidgetNamed(const std::string& _objectName, const std::string& _config, const std::string& _value);
|
bool parameterSetOnWidgetNamed(const std::string& _objectName, const std::string& _config, const std::string& _value);
|
||||||
@ -194,11 +178,6 @@ namespace ewol {
|
|||||||
* @return the requested object manager.
|
* @return the requested object manager.
|
||||||
*/
|
*/
|
||||||
ewol::object::Manager& getObjectManager() const;
|
ewol::object::Manager& getObjectManager() const;
|
||||||
/**
|
|
||||||
* @breif get the current Object Message Multicast manager.
|
|
||||||
* @return the requested object manager.
|
|
||||||
*/
|
|
||||||
ewol::object::MultiCast& getMultiCast() const;
|
|
||||||
/**
|
/**
|
||||||
* @brief get the curent the system inteface.
|
* @brief get the curent the system inteface.
|
||||||
* @return current reference on the instance.
|
* @return current reference on the instance.
|
||||||
@ -228,10 +207,56 @@ namespace ewol {
|
|||||||
* @return the requested object or nullptr
|
* @return the requested object or nullptr
|
||||||
*/
|
*/
|
||||||
std::shared_ptr<ewol::Object> getObjectNamed(const std::string& _objectName) const;
|
std::shared_ptr<ewol::Object> getObjectNamed(const std::string& _objectName) const;
|
||||||
|
/**
|
||||||
|
* @brief Retrive an object with his name (in the global list)
|
||||||
|
* @param[in] _name Name of the object
|
||||||
|
* @return the requested object or nullptr
|
||||||
|
*/
|
||||||
|
virtual std::shared_ptr<ewol::Object> getSubObjectNamed(const std::string& _objectName);
|
||||||
|
protected:
|
||||||
|
// TODO : Create a template ...
|
||||||
|
/**
|
||||||
|
* @brief link on an signal in the subwiget with his name
|
||||||
|
*/
|
||||||
|
#define subBind(_type, _name, _event, _obj, _func) do {\
|
||||||
|
std::shared_ptr<_type> myObject = std::dynamic_pointer_cast<_type>(getSubObjectNamed(_name)); \
|
||||||
|
if (myObject != nullptr) { \
|
||||||
|
myObject->_event.bind(_obj, _func); \
|
||||||
|
} \
|
||||||
|
} while (false)
|
||||||
|
/*
|
||||||
|
template<class TYPE> void bind(std::shared_ptr<ewol::Object> _obj, void (TYPE::*_func)()) {
|
||||||
|
std::shared_ptr<TYPE> obj2 = std::dynamic_pointer_cast<TYPE>(_obj);
|
||||||
|
if (obj2 == nullptr) {
|
||||||
|
EWOL_ERROR("Can not bind signal ...");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
m_callerList.push_back(std::make_pair(std::weak_ptr<ewol::Object>(_obj), std::bind(_func, obj2.get())));
|
||||||
|
}
|
||||||
|
*/
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief link on an signal in the global object list with his name
|
||||||
|
*/
|
||||||
|
#define globalBind(_type, _name, _event, _obj, _func) do {\
|
||||||
|
std::shared_ptr<_type> myObject = std::dynamic_pointer_cast<_type>(ewol::getContext().getEObjectManager().getObjectNamed(_name)); \
|
||||||
|
if (myObject != nullptr) { \
|
||||||
|
myObject->_event.bind(_obj, _func); \
|
||||||
|
} \
|
||||||
|
} while (false)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief link on an signal in the subWidget of an object with his name
|
||||||
|
*/
|
||||||
|
#define externSubBind(_object, _type, _name, _event, _obj, _func) do {\
|
||||||
|
std::shared_ptr<_type> myObject = std::dynamic_pointer_cast<_type>(_object->getObjectNamed(_name)); \
|
||||||
|
if (myObject != nullptr) { \
|
||||||
|
myObject->_event.bind(_obj, _func); \
|
||||||
|
} \
|
||||||
|
} while (false)
|
||||||
//#include <ewol/object/Signal.h>
|
//#include <ewol/object/Signal.h>
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
/**
|
|
||||||
* @author Edouard DUPIN
|
|
||||||
*
|
|
||||||
* @copyright 2011, Edouard DUPIN, all right reserved
|
|
||||||
*
|
|
||||||
* @license APACHE v2.0 (see license file)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <ewol/object/RemoveEvent.h>
|
|
||||||
#include <ewol/context/Context.h>
|
|
||||||
|
|
||||||
ewol::object::RemoveEvent::RemoveEvent() {
|
|
||||||
EWOL_TODO("ewol::object::RemoveEvent::RemoveEvent()");
|
|
||||||
/*
|
|
||||||
Context& tmp = ewol::getContext();
|
|
||||||
ewol::object::Manager& manager = tmp.getEObjectManager();
|
|
||||||
manager.add(this);
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
ewol::object::RemoveEvent::~RemoveEvent() {
|
|
||||||
EWOL_TODO("ewol::object::RemoveEvent::~RemoveEvent()");
|
|
||||||
/*
|
|
||||||
Context& tmp = ewol::getContext();
|
|
||||||
ewol::object::Manager& manager = tmp.getEObjectManager();
|
|
||||||
manager.rm(this);
|
|
||||||
*/
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
/**
|
|
||||||
* @author Edouard DUPIN
|
|
||||||
*
|
|
||||||
* @copyright 2011, Edouard DUPIN, all right reserved
|
|
||||||
*
|
|
||||||
* @license APACHE v2.0 (see license file)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __EWOL_OBJECT_REMOVE_EVENT_H__
|
|
||||||
#define __EWOL_OBJECT_REMOVE_EVENT_H__
|
|
||||||
|
|
||||||
#include <etk/types.h>
|
|
||||||
#include <ewol/object/Object.h>
|
|
||||||
|
|
||||||
namespace ewol {
|
|
||||||
namespace object {
|
|
||||||
class RemoveEvent {
|
|
||||||
public:
|
|
||||||
RemoveEvent();
|
|
||||||
virtual ~RemoveEvent();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
@ -40,71 +40,8 @@ std::vector<std::string> ewol::object::SignalList::signalGetAll() const {
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ewol::object::SignalList::registerOnObjectEvent(const std::shared_ptr<ewol::Object>& _destinationObject,
|
void ewol::object::SignalList::unBindAll(const std::shared_ptr<ewol::Object>& _object) {
|
||||||
const std::string& _objectName,
|
if (_object == nullptr) {
|
||||||
const char * _eventId,
|
|
||||||
const char * _eventIdgenerated,
|
|
||||||
const std::string& _overloadData) {
|
|
||||||
EWOL_TODO("RegisterOnEvent ... + name");
|
|
||||||
/*ewol::object::Manager& tmp = ewol::getContext().getEObjectManager();
|
|
||||||
std::shared_ptr<ewol::Object> tmpObject = tmp.getObjectNamed(_objectName);
|
|
||||||
if (nullptr != tmpObject) {
|
|
||||||
EWOL_DEBUG("Find widget named : '" << _objectName << "' register event='" << _eventId << "'");
|
|
||||||
tmpObject->registerOnEvent(_destinationObject, _eventId, _eventIdgenerated, _overloadData);
|
|
||||||
} else {
|
|
||||||
EWOL_WARNING(" Can not register event : '" << _eventId << "' the object named='" << _objectName << "' does not exist");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
void ewol::object::SignalList::registerOnEvent(const std::shared_ptr<ewol::Object>& _destinationObject,
|
|
||||||
const char * _eventId,
|
|
||||||
const char * _eventIdgenerated,
|
|
||||||
const std::string& _overloadData) {
|
|
||||||
EWOL_TODO("RegisterOnEvent ...");
|
|
||||||
/*
|
|
||||||
if (_destinationObject == nullptr) {
|
|
||||||
EWOL_ERROR("Input ERROR nullptr pointer Object ...");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (_eventId == nullptr) {
|
|
||||||
EWOL_ERROR("Input ERROR nullptr pointer Event Id...");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if ( _eventId[0] == '*'
|
|
||||||
&& _eventId[1] == '\0') {
|
|
||||||
EWOL_VERBOSE("Register on all event ...");
|
|
||||||
for(auto &it : m_list) {
|
|
||||||
if (it == nullptr) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
it->connect(_destinationObject, _eventIdgenerated, _overloadData);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// check if event existed :
|
|
||||||
bool findIt = false;
|
|
||||||
for(auto &it : m_list) {
|
|
||||||
if (it == nullptr) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (it->getName() == _eventId) {
|
|
||||||
findIt = true;
|
|
||||||
it->connect(_destinationObject, _eventIdgenerated, _overloadData);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (false == findIt) {
|
|
||||||
EWOL_ERROR("Can not register event on this event=\"" << _eventId << "\" == > unknow event");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
void ewol::object::SignalList::unRegisterOnEvent(const std::shared_ptr<ewol::Object>& _destinationObject,
|
|
||||||
const char * _eventId) {
|
|
||||||
EWOL_TODO("unRegisterOnEvent ...");
|
|
||||||
/*
|
|
||||||
if (_destinationObject == nullptr) {
|
|
||||||
EWOL_ERROR("Input ERROR nullptr pointer Object ...");
|
EWOL_ERROR("Input ERROR nullptr pointer Object ...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -112,11 +49,6 @@ void ewol::object::SignalList::unRegisterOnEvent(const std::shared_ptr<ewol::Obj
|
|||||||
if (it == nullptr) {
|
if (it == nullptr) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if ( it->getName() == _eventId
|
it->release(_object);
|
||||||
|| ( _eventId[0] == '*'
|
|
||||||
&& _eventId[1] == '\0') ) {
|
|
||||||
it->release(_destinationObject);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
@ -41,40 +41,11 @@ namespace ewol {
|
|||||||
*/
|
*/
|
||||||
std::vector<std::string> signalGetAll() const;
|
std::vector<std::string> signalGetAll() const;
|
||||||
/**
|
/**
|
||||||
* @brief Register an Event an named widget. @see registerOnEvent
|
* @brief Remove binding on all event class.
|
||||||
* @param[in] _destinationObject pointer on the object that might be call when an event is generated
|
* @param[in] _object Object to unlink.
|
||||||
* @param[in] _objectName Name of the object.
|
|
||||||
* @param[in] _eventId Event generate inside the object.
|
|
||||||
* @param[in] _eventIdgenerated event generated when call the distant EObject.onReceiveMessage(...)
|
|
||||||
* @param[in] _overloadData When the user prever to receive a data specificly for this event ...
|
|
||||||
* @note : To used when NOT herited from this object.
|
|
||||||
*/
|
*/
|
||||||
// TODO : Change name : registerOnSignal
|
void unBindAll(const std::shared_ptr<ewol::Object>& _object);
|
||||||
void registerOnObjectEvent(const std::shared_ptr<ewol::Object>& _destinationObject,
|
|
||||||
const std::string& _objectName,
|
|
||||||
const char * _eventId,
|
|
||||||
const char * _eventIdgenerated = nullptr,
|
|
||||||
const std::string& _overloadData="");
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/**
|
|
||||||
* @brief Register an Object over an other to get event on the second...
|
|
||||||
* @param[in] _destinationObject pointer on the object that might be call when an event is generated
|
|
||||||
* @param[in] _eventId Event generate inside the object (note : "*" event register on all event generated )
|
|
||||||
* @param[in] _eventIdgenerated event generated when call the distant Object.onReceiveMessage(...)
|
|
||||||
* @param[in] _overloadData When the user prever to receive a data specificly for this event ...
|
|
||||||
*/
|
|
||||||
void registerOnEvent(const std::shared_ptr<ewol::Object>& _destinationObject,
|
|
||||||
const char * _eventId,
|
|
||||||
const char * _eventIdgenerated = nullptr,
|
|
||||||
const std::string& _overloadData = "") __attribute__ ((deprecated));
|
|
||||||
/**
|
|
||||||
* @brief Un-Register an Object over an other.
|
|
||||||
* @param[in] _destinationObject pointer on the object that might be call when an event is generated
|
|
||||||
* @param[in] _eventId Event generate inside the object (nullptr to remove all event on this object)
|
|
||||||
*/
|
|
||||||
void unRegisterOnEvent(const std::shared_ptr<ewol::Object>& _destinationObject,
|
|
||||||
const char * _eventId = nullptr) __attribute__ ((deprecated));
|
|
||||||
/**
|
/**
|
||||||
* @brief Receive a message from an other Object with a specific eventId and data
|
* @brief Receive a message from an other Object with a specific eventId and data
|
||||||
* @param[in] _msg Message handle
|
* @param[in] _msg Message handle
|
||||||
|
@ -88,25 +88,3 @@ bool ewol::widget::Composer::loadFromString(const std::string& _composerXmlStrin
|
|||||||
requestUpdateSize();
|
requestUpdateSize();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ewol::widget::Composer::registerOnEventNameWidget(const std::string& _subWidgetName,
|
|
||||||
const char * _eventId,
|
|
||||||
const char * _eventIdgenerated,
|
|
||||||
const std::string& _overloadData) {
|
|
||||||
registerOnEventNameWidget(shared_from_this(), _subWidgetName, _eventId, _eventIdgenerated, _overloadData);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ewol::widget::Composer::registerOnEventNameWidget(const std::shared_ptr<ewol::Object>& _destinationObject,
|
|
||||||
const std::string& _subWidgetName,
|
|
||||||
const char * _eventId,
|
|
||||||
const char * _eventIdgenerated,
|
|
||||||
const std::string& _overloadData) {
|
|
||||||
std::shared_ptr<ewol::Widget> tmpWidget = getWidgetNamed(_subWidgetName);
|
|
||||||
if (tmpWidget != nullptr) {
|
|
||||||
EWOL_DEBUG("Find widget named : \"" << _subWidgetName << "\" register event=\"" << _eventId << "\"");
|
|
||||||
tmpWidget->registerOnEvent(_destinationObject, _eventId, _eventIdgenerated, _overloadData);
|
|
||||||
} else {
|
|
||||||
EWOL_WARNING("[" << getId() << "] {" << getObjectType() << "} Can not register event : \"" << _eventId << "\" the widget named=\"" << _subWidgetName << "\" does not exist");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -57,57 +57,6 @@ namespace ewol {
|
|||||||
* @return false == > some error occured
|
* @return false == > some error occured
|
||||||
*/
|
*/
|
||||||
bool loadFromString(const std::string& _composerXmlString);
|
bool loadFromString(const std::string& _composerXmlString);
|
||||||
protected:
|
|
||||||
// TODO : Create a template ...
|
|
||||||
#define composerBind(_type, _name, _event, _obj, _func) do {\
|
|
||||||
std::shared_ptr<_type> myObject = std::dynamic_pointer_cast<_type>(getObjectNamed(_name)); \
|
|
||||||
if (myObject != nullptr) { \
|
|
||||||
myObject->_event.bind(_obj, _func); \
|
|
||||||
} \
|
|
||||||
} while (false)
|
|
||||||
/*
|
|
||||||
template<class TYPE> void bind(std::shared_ptr<ewol::Object> _obj, void (TYPE::*_func)()) {
|
|
||||||
std::shared_ptr<TYPE> obj2 = std::dynamic_pointer_cast<TYPE>(_obj);
|
|
||||||
if (obj2 == nullptr) {
|
|
||||||
EWOL_ERROR("Can not bind signal ...");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
m_callerList.push_back(std::make_pair(std::weak_ptr<ewol::Object>(_obj), std::bind(_func, obj2.get())));
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
/**
|
|
||||||
* @brief Register an Event an named widget. @see registerOnEvent
|
|
||||||
* @param[in] _subWidgetName Name of the subWidget.
|
|
||||||
* @param[in] _eventId Event generate inside the object.
|
|
||||||
* @param[in] _eventIdgenerated event generated when call the distant EObject.onReceiveMessage(...)
|
|
||||||
* @param[in] _overloadData When the user prever to receive a data specificly for this event ...
|
|
||||||
* @note : To used when herited from this object.
|
|
||||||
*/
|
|
||||||
void registerOnEventNameWidget(const std::string& _subWidgetName,
|
|
||||||
const char * _eventId,
|
|
||||||
const char * _eventIdgenerated = nullptr,
|
|
||||||
const std::string& _overloadData="") __attribute__ ((deprecated));
|
|
||||||
public:
|
|
||||||
#define composerExternBind(_composer, _type, _name, _event, _obj, _func) do {\
|
|
||||||
std::shared_ptr<_type> myObject = std::dynamic_pointer_cast<_type>(_composer->getObjectNamed(_name)); \
|
|
||||||
if (myObject != nullptr) { \
|
|
||||||
myObject->_event.bind(_obj, _func); \
|
|
||||||
} \
|
|
||||||
} while (false)
|
|
||||||
/**
|
|
||||||
* @brief Register an Event an named widget. @see registerOnEvent
|
|
||||||
* @param[in] _destinationObject pointer on the object that might be call when an event is generated
|
|
||||||
* @param[in] _subWidgetName Name of the subWidget.
|
|
||||||
* @param[in] _eventId Event generate inside the object.
|
|
||||||
* @param[in] _eventIdgenerated event generated when call the distant EObject.onReceiveMessage(...)
|
|
||||||
* @param[in] _overloadData When the user prever to receive a data specificly for this event ...
|
|
||||||
* @note : To used when NOT herited from this object.
|
|
||||||
*/
|
|
||||||
void registerOnEventNameWidget(const std::shared_ptr<ewol::Object>& _destinationObject,
|
|
||||||
const std::string& _subWidgetName,
|
|
||||||
const char * _eventId,
|
|
||||||
const char * _eventIdgenerated = nullptr,
|
|
||||||
const std::string& _overloadData="") __attribute__ ((deprecated));
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -64,13 +64,13 @@ void ewol::widget::Container::subWidgetUnLink() {
|
|||||||
m_subWidget.reset();
|
m_subWidget.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<ewol::Widget> ewol::widget::Container::getWidgetNamed(const std::string& _widgetName) {
|
std::shared_ptr<ewol::Object> ewol::widget::Container::getSubObjectNamed(const std::string& _objectName) {
|
||||||
std::shared_ptr<ewol::Widget> tmpUpperWidget = ewol::Widget::getWidgetNamed(_widgetName);
|
std::shared_ptr<ewol::Object> tmpObject = ewol::Widget::getSubObjectNamed(_objectName);
|
||||||
if (nullptr!=tmpUpperWidget) {
|
if (nullptr!=tmpObject) {
|
||||||
return tmpUpperWidget;
|
return tmpObject;
|
||||||
}
|
}
|
||||||
if (nullptr != m_subWidget) {
|
if (nullptr != m_subWidget) {
|
||||||
return m_subWidget->getWidgetNamed(_widgetName);
|
return m_subWidget->getSubObjectNamed(_objectName);
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ namespace ewol {
|
|||||||
virtual void calculateSize(const vec2& _availlable);
|
virtual void calculateSize(const vec2& _availlable);
|
||||||
virtual void calculateMinMaxSize();
|
virtual void calculateMinMaxSize();
|
||||||
virtual std::shared_ptr<ewol::Widget> getWidgetAtPos(const vec2& _pos);
|
virtual std::shared_ptr<ewol::Widget> getWidgetAtPos(const vec2& _pos);
|
||||||
virtual std::shared_ptr<ewol::Widget> getWidgetNamed(const std::string& _widgetName);
|
virtual std::shared_ptr<ewol::Object> getSubObjectNamed(const std::string& _objectName);
|
||||||
virtual bool loadXML(exml::Element* _node);
|
virtual bool loadXML(exml::Element* _node);
|
||||||
virtual void setOffset(const vec2& _newVal);
|
virtual void setOffset(const vec2& _newVal);
|
||||||
virtual void requestDestroyFromChild(const std::shared_ptr<Object>& _child);
|
virtual void requestDestroyFromChild(const std::shared_ptr<Object>& _child);
|
||||||
|
@ -63,16 +63,19 @@ void ewol::widget::Container2::subWidgetUnLink(int32_t _idWidget) {
|
|||||||
m_subWidget[_idWidget].reset();
|
m_subWidget[_idWidget].reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<ewol::Widget> ewol::widget::Container2::getWidgetNamed(const std::string& _widgetName) {
|
std::shared_ptr<ewol::Object> ewol::widget::Container2::getSubObjectNamed(const std::string& _widgetName) {
|
||||||
std::shared_ptr<ewol::Widget> tmpUpperWidget = ewol::Widget::getWidgetNamed(_widgetName);
|
std::shared_ptr<ewol::Object> tmpObject = ewol::Widget::getSubObjectNamed(_widgetName);
|
||||||
if (tmpUpperWidget != nullptr) {
|
if (tmpObject != nullptr) {
|
||||||
return tmpUpperWidget;
|
return tmpObject;
|
||||||
}
|
}
|
||||||
if (m_subWidget[0] != nullptr) {
|
if (m_subWidget[0] != nullptr) {
|
||||||
return m_subWidget[0]->getWidgetNamed(_widgetName);
|
tmpObject = m_subWidget[0]->getSubObjectNamed(_widgetName);
|
||||||
|
if (tmpObject != nullptr) {
|
||||||
|
return tmpObject;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (m_subWidget[1] != nullptr) {
|
if (m_subWidget[1] != nullptr) {
|
||||||
return m_subWidget[1]->getWidgetNamed(_widgetName);
|
return m_subWidget[1]->getSubObjectNamed(_widgetName);
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
@ -161,7 +161,7 @@ namespace ewol {
|
|||||||
calculateMinMaxSizePadded();
|
calculateMinMaxSizePadded();
|
||||||
}
|
}
|
||||||
//virtual std::shared_ptr<ewol::Widget> getWidgetAtPos(const vec2& _pos);
|
//virtual std::shared_ptr<ewol::Widget> getWidgetAtPos(const vec2& _pos);
|
||||||
virtual std::shared_ptr<ewol::Widget> getWidgetNamed(const std::string& _widgetName);
|
virtual std::shared_ptr<ewol::Object> getSubObjectNamed(const std::string& _objectName);
|
||||||
virtual bool loadXML(exml::Element* _node);
|
virtual bool loadXML(exml::Element* _node);
|
||||||
virtual void setOffset(const vec2& _newVal);
|
virtual void setOffset(const vec2& _newVal);
|
||||||
virtual void requestDestroyFromChild(const std::shared_ptr<Object>& _child);
|
virtual void requestDestroyFromChild(const std::shared_ptr<Object>& _child);
|
||||||
|
@ -138,16 +138,16 @@ void ewol::widget::ContainerN::subWidgetRemoveAllDelayed() {
|
|||||||
subWidgetRemoveAll();
|
subWidgetRemoveAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<ewol::Widget> ewol::widget::ContainerN::getWidgetNamed(const std::string& _widgetName) {
|
std::shared_ptr<ewol::Object> ewol::widget::ContainerN::getSubObjectNamed(const std::string& _objectName) {
|
||||||
std::shared_ptr<ewol::Widget> tmpUpperWidget = ewol::Widget::getWidgetNamed(_widgetName);
|
std::shared_ptr<ewol::Object> tmpObject = ewol::Widget::getSubObjectNamed(_objectName);
|
||||||
if (tmpUpperWidget != nullptr) {
|
if (tmpObject != nullptr) {
|
||||||
return tmpUpperWidget;
|
return tmpObject;
|
||||||
}
|
}
|
||||||
for (auto &it : m_subWidget) {
|
for (auto &it : m_subWidget) {
|
||||||
if (it != nullptr) {
|
if (it != nullptr) {
|
||||||
std::shared_ptr<ewol::Widget> tmpWidget = it->getWidgetNamed(_widgetName);
|
tmpObject = it->getSubObjectNamed(_objectName);
|
||||||
if (tmpWidget != nullptr) {
|
if (tmpObject != nullptr) {
|
||||||
return tmpWidget;
|
return tmpObject;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -94,7 +94,7 @@ namespace ewol {
|
|||||||
virtual void calculateSize(const vec2& _availlable);
|
virtual void calculateSize(const vec2& _availlable);
|
||||||
virtual void calculateMinMaxSize();
|
virtual void calculateMinMaxSize();
|
||||||
virtual std::shared_ptr<ewol::Widget> getWidgetAtPos(const vec2& _pos);
|
virtual std::shared_ptr<ewol::Widget> getWidgetAtPos(const vec2& _pos);
|
||||||
virtual std::shared_ptr<ewol::Widget> getWidgetNamed(const std::string& _widgetName);
|
virtual std::shared_ptr<ewol::Object> getSubObjectNamed(const std::string& _objectName);
|
||||||
virtual bool loadXML(exml::Element* _node);
|
virtual bool loadXML(exml::Element* _node);
|
||||||
virtual void setOffset(const vec2& _newVal);
|
virtual void setOffset(const vec2& _newVal);
|
||||||
virtual void requestDestroyFromChild(const std::shared_ptr<Object>& _child);
|
virtual void requestDestroyFromChild(const std::shared_ptr<Object>& _child);
|
||||||
|
@ -602,14 +602,6 @@ bool ewol::Widget::loadXML(exml::Element* _node) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<ewol::Widget> ewol::Widget::getWidgetNamed(const std::string& _widgetName) {
|
|
||||||
EWOL_VERBOSE("[" << getId() << "] {" << getObjectType() << "} compare : " << getName() << " == " << _widgetName );
|
|
||||||
if (getName() == _widgetName) {
|
|
||||||
return std::dynamic_pointer_cast<ewol::Widget>(shared_from_this());
|
|
||||||
}
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ewol::Widget::systemEventEntry(ewol::event::EntrySystem& _event) {
|
bool ewol::Widget::systemEventEntry(ewol::event::EntrySystem& _event) {
|
||||||
std::shared_ptr<ewol::Widget> up = std::dynamic_pointer_cast<ewol::Widget>(m_parent.lock());
|
std::shared_ptr<ewol::Widget> up = std::dynamic_pointer_cast<ewol::Widget>(m_parent.lock());
|
||||||
if (up != nullptr) {
|
if (up != nullptr) {
|
||||||
|
@ -532,12 +532,6 @@ namespace ewol {
|
|||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
};
|
};
|
||||||
/**
|
|
||||||
* @brief get the widget if it have this name or one of the subwidget with the same name
|
|
||||||
* @param[in] _widgetName name of the widget
|
|
||||||
* @return the requested pointer on the node (or nullptr pointer)
|
|
||||||
*/
|
|
||||||
virtual std::shared_ptr<ewol::Widget> getWidgetNamed(const std::string& _widgetName);
|
|
||||||
|
|
||||||
// event section:
|
// event section:
|
||||||
public:
|
public:
|
||||||
|
@ -95,17 +95,17 @@ void ewol::widget::FileChooser::init() {
|
|||||||
+ " </sizer>\n"
|
+ " </sizer>\n"
|
||||||
+ "</popup>";
|
+ "</popup>";
|
||||||
loadFromString(myDescription);
|
loadFromString(myDescription);
|
||||||
composerBind(ewol::widget::CheckBox, "[" + etk::to_string(getId()) + "]file-shooser:show-hiden-file", signalValue, shared_from_this(), &ewol::widget::FileChooser::onCallbackHidenFileChangeChangeValue);
|
subBind(ewol::widget::CheckBox, "[" + etk::to_string(getId()) + "]file-shooser:show-hiden-file", signalValue, shared_from_this(), &ewol::widget::FileChooser::onCallbackHidenFileChangeChangeValue);
|
||||||
composerBind(ewol::widget::Button, "[" + etk::to_string(getId()) + "]file-shooser:button-validate", signalPressed, shared_from_this(), &ewol::widget::FileChooser::onCallbackListValidate);
|
subBind(ewol::widget::Button, "[" + etk::to_string(getId()) + "]file-shooser:button-validate", signalPressed, shared_from_this(), &ewol::widget::FileChooser::onCallbackListValidate);
|
||||||
composerBind(ewol::widget::Button, "[" + etk::to_string(getId()) + "]file-shooser:button-cancel", signalPressed, shared_from_this(), &ewol::widget::FileChooser::onCallbackButtonCancelPressed);
|
subBind(ewol::widget::Button, "[" + etk::to_string(getId()) + "]file-shooser:button-cancel", signalPressed, shared_from_this(), &ewol::widget::FileChooser::onCallbackButtonCancelPressed);
|
||||||
composerBind(ewol::widget::ListFileSystem, "[" + etk::to_string(getId()) + "]file-shooser:list-folder", signalFolderValidate, shared_from_this(), &ewol::widget::FileChooser::onCallbackListFolderSelectChange);
|
subBind(ewol::widget::ListFileSystem, "[" + etk::to_string(getId()) + "]file-shooser:list-folder", signalFolderValidate, shared_from_this(), &ewol::widget::FileChooser::onCallbackListFolderSelectChange);
|
||||||
composerBind(ewol::widget::ListFileSystem, "[" + etk::to_string(getId()) + "]file-shooser:list-files", signalFileSelect, shared_from_this(), &ewol::widget::FileChooser::onCallbackListFileSelectChange);
|
subBind(ewol::widget::ListFileSystem, "[" + etk::to_string(getId()) + "]file-shooser:list-files", signalFileSelect, shared_from_this(), &ewol::widget::FileChooser::onCallbackListFileSelectChange);
|
||||||
composerBind(ewol::widget::ListFileSystem, "[" + etk::to_string(getId()) + "]file-shooser:list-files", signalFileValidate, shared_from_this(), &ewol::widget::FileChooser::onCallbackListFileValidate);
|
subBind(ewol::widget::ListFileSystem, "[" + etk::to_string(getId()) + "]file-shooser:list-files", signalFileValidate, shared_from_this(), &ewol::widget::FileChooser::onCallbackListFileValidate);
|
||||||
composerBind(ewol::widget::Entry, "[" + etk::to_string(getId()) + "]file-shooser:entry-file", signalModify, shared_from_this(), &ewol::widget::FileChooser::onCallbackEntryFileChangeValue);
|
subBind(ewol::widget::Entry, "[" + etk::to_string(getId()) + "]file-shooser:entry-file", signalModify, shared_from_this(), &ewol::widget::FileChooser::onCallbackEntryFileChangeValue);
|
||||||
composerBind(ewol::widget::Entry, "[" + etk::to_string(getId()) + "]file-shooser:entry-file", signalEnter, shared_from_this(), &ewol::widget::FileChooser::onCallbackListFileValidate);
|
subBind(ewol::widget::Entry, "[" + etk::to_string(getId()) + "]file-shooser:entry-file", signalEnter, shared_from_this(), &ewol::widget::FileChooser::onCallbackListFileValidate);
|
||||||
composerBind(ewol::widget::Entry, "[" + etk::to_string(getId()) + "]file-shooser:entry-folder", signalModify, shared_from_this(), &ewol::widget::FileChooser::onCallbackEntryFolderChangeValue);
|
subBind(ewol::widget::Entry, "[" + etk::to_string(getId()) + "]file-shooser:entry-folder", signalModify, shared_from_this(), &ewol::widget::FileChooser::onCallbackEntryFolderChangeValue);
|
||||||
//composerBind(ewol::widget::CheckBox, "[" + etk::to_string(getId()) + "]file-shooser:entry-folder", signalEnter, shared_from_this(), &ewol::widget::FileChooser::);
|
//composerBind(ewol::widget::CheckBox, "[" + etk::to_string(getId()) + "]file-shooser:entry-folder", signalEnter, shared_from_this(), &ewol::widget::FileChooser::);
|
||||||
composerBind(ewol::widget::Image, "[" + etk::to_string(getId()) + "]file-shooser:img-home", signalPressed, shared_from_this(), &ewol::widget::FileChooser::onCallbackHomePressed);
|
subBind(ewol::widget::Image, "[" + etk::to_string(getId()) + "]file-shooser:img-home", signalPressed, shared_from_this(), &ewol::widget::FileChooser::onCallbackHomePressed);
|
||||||
// set the default Folder properties:
|
// set the default Folder properties:
|
||||||
updateCurrentFolder();
|
updateCurrentFolder();
|
||||||
setCanHaveFocus(true);
|
setCanHaveFocus(true);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user