[DEBUG] correct periodic call

This commit is contained in:
Edouard DUPIN 2016-10-20 21:35:32 +02:00
parent 96e1e298e1
commit eecbd99072
4 changed files with 28 additions and 15 deletions

View File

@ -5,6 +5,7 @@
*/ */
#include <ege/widget/Mesh.hpp> #include <ege/widget/Mesh.hpp>
#include <ewol/object/Manager.hpp>
#include <ewol/widget/Manager.hpp> #include <ewol/widget/Manager.hpp>
#include <gale/resource/Manager.hpp> #include <gale/resource/Manager.hpp>
#include <ege/debug.hpp> #include <ege/debug.hpp>
@ -108,9 +109,9 @@ void ege::widget::Mesh::setAngle(const vec3& _angle) {
void ege::widget::Mesh::setAngleSpeed(const vec3& _speed) { void ege::widget::Mesh::setAngleSpeed(const vec3& _speed) {
if (_speed != vec3(0,0,0)) { if (_speed != vec3(0,0,0)) {
periodicCallEnable(); m_PCH = getObjectManager().periodicCall.connect(this, &ege::widget::Mesh::periodicCall);
} else { } else {
periodicCallDisable(); m_PCH.disconnect();
} }
m_angleSpeed = _speed; m_angleSpeed = _speed;
markToRedraw(); markToRedraw();

View File

@ -31,12 +31,18 @@ namespace ege {
void init(); // automatic considering in the appl Data older void init(); // automatic considering in the appl Data older
public: public:
virtual ~Mesh(); virtual ~Mesh();
public: // Derived function public:
virtual void onRegenerateDisplay(); void onRegenerateDisplay() override;
virtual void systemDraw(const ewol::DrawProperty& _displayProp); void systemDraw(const ewol::DrawProperty& _displayProp) override;
virtual void onDraw(); void onDraw() override;
virtual bool onEventInput(const ewol::event::Input& _event); bool onEventInput(const ewol::event::Input& _event) override;
virtual void periodicCall(const ewol::event::Time& _event); protected:
esignal::Connection m_PCH; //!< Periodic call handle to remove it when needed
/**
* @brief Periodic call to update grapgic display
* @param[in] _event Time generic event
*/
void periodicCall(const ewol::event::Time& _event);
public: public:
/** /**
* @brief set a mesh name file * @brief set a mesh name file

View File

@ -10,6 +10,7 @@
#include <cmath> #include <cmath>
#include <ege/debug.hpp> #include <ege/debug.hpp>
#include <ewol/ewol.hpp> #include <ewol/ewol.hpp>
#include <ewol/object/Manager.hpp>
#include <gale/renderer/openGL/openGL.hpp> #include <gale/renderer/openGL/openGL.hpp>
#include <etk/math/Matrix4.hpp> #include <etk/math/Matrix4.hpp>
#include <BulletDynamics/Dynamics/btRigidBody.h> #include <BulletDynamics/Dynamics/btRigidBody.h>
@ -47,7 +48,7 @@ void ege::widget::Scene::init() {
ewol::Widget::init(); ewol::Widget::init();
setKeyboardRepeate(false); setKeyboardRepeate(false);
propertyCanFocus.set(true); propertyCanFocus.set(true);
periodicCallEnable(); m_PCH = getObjectManager().periodicCall.connect(this, &ege::widget::Scene::periodicCall);
m_debugDrawProperty = ewol::resource::Colored3DObject::create(); m_debugDrawProperty = ewol::resource::Colored3DObject::create();
} }

View File

@ -78,13 +78,18 @@ namespace ege {
protected: protected:
// Note : This is only for temporary elements : on the display // Note : This is only for temporary elements : on the display
std::vector<ege::Environement::ResultNearestElement> m_displayElementOrdered; std::vector<ege::Environement::ResultNearestElement> m_displayElementOrdered;
protected: // Derived function protected:
virtual void onDraw(); esignal::Connection m_PCH; //!< Periodic call handle to remove it when needed
public: // Derived function /**
virtual void systemDraw(const ewol::DrawProperty& _displayProp); * @brief Periodic call to update grapgic display
virtual void onRegenerateDisplay(); * @param[in] _event Time generic event
*/
virtual void periodicCall(const ewol::event::Time& _event); virtual void periodicCall(const ewol::event::Time& _event);
virtual void calculateSize(); protected:
void onDraw() override;
void systemDraw(const ewol::DrawProperty& _displayProp) override;
void onRegenerateDisplay() override;
void calculateSize() override;
}; };
} }
} }