diff --git a/jni/edn/Buffer/BufferEmpty.cpp b/jni/edn/Buffer/BufferEmpty.cpp index 76b0456..375c703 100644 --- a/jni/edn/Buffer/BufferEmpty.cpp +++ b/jni/edn/Buffer/BufferEmpty.cpp @@ -96,7 +96,7 @@ int32_t BufferEmpty::Display(ewol::OObject2DTextColored* OOTextNormal, myColor = myColorManager->Get("commentDoxygen"); OOTextNormal->SetColor(myColor->GetFG()); - OOTextNormal->TextAdd(20, 20 + letterHeight*1.30, "No Buffer Availlable to display", sizeX); + OOTextNormal->TextAdd(20, (int32_t)(20 + letterHeight*1.30), "No Buffer Availlable to display", sizeX); color_ts bgColor; //!< Text color diff --git a/jni/edn/Buffer/BufferManager.cpp b/jni/edn/Buffer/BufferManager.cpp index 2e92a0d..abd079d 100644 --- a/jni/edn/Buffer/BufferManager.cpp +++ b/jni/edn/Buffer/BufferManager.cpp @@ -47,6 +47,7 @@ BufferManager::BufferManager(void) BufferNotExiste = new BufferEmpty(); m_idSelected = -1; ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgGuiNew); + ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgOpenFile); /* ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgBufferManagerNewFile); ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgBufferManagerSaveAll); @@ -77,7 +78,7 @@ BufferManager::~BufferManager(void) } -bool BufferManager::OnEventAreaExternal(int32_t widgetID, const char * generateEventId, const char * eventExternId, etkFloat_t x, etkFloat_t y) +bool BufferManager::OnEventAreaExternal(int32_t widgetID, const char * generateEventId, const char * data, etkFloat_t x, etkFloat_t y) { if (generateEventId == ednMsgGuiNew) { int32_t newOne = Create(); @@ -85,8 +86,15 @@ bool BufferManager::OnEventAreaExternal(int32_t widgetID, const char * generateE ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferId, newOne); ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferListChange); } - } else if (generateEventId == NULL) { - + } else if (generateEventId == ednMsgOpenFile) { + if (NULL != data) { + etk::File myFile(data, etk::FILE_TYPE_DIRECT); + int32_t newOne = Open(myFile); + if (-1 != newOne) { + ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferId, newOne); + ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferListChange); + } + } } /* switch (id) @@ -214,10 +222,7 @@ int32_t BufferManager::Open(etk::File &myFile) Buffer *myBuffer = new BufferText(myFile); // Add at the list of element listBuffer.PushBack(myBuffer); - int32_t basicID = listBuffer.Size() - 1; - //SendMessage(EDN_MSG__BUFFER_ADD, basicID); - ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferAdd); - return basicID; + return listBuffer.Size() - 1; } diff --git a/jni/edn/Buffer/BufferManager.h b/jni/edn/Buffer/BufferManager.h index 2a8667c..e4a42ec 100644 --- a/jni/edn/Buffer/BufferManager.h +++ b/jni/edn/Buffer/BufferManager.h @@ -22,7 +22,7 @@ * ******************************************************************************* */ - + #ifndef __BUFFER_MANAGER_H__ #define __BUFFER_MANAGER_H__ @@ -44,12 +44,14 @@ class BufferManager: public etk::Singleton, public ewol::Widget public: bool OnEventAreaExternal(int32_t widgetID, const char * generateEventId, const char * eventExternId, etkFloat_t x, etkFloat_t y); - + private: // return the ID of the buffer allocated // create a buffer with no element int32_t Create(void); // open curent filename int32_t Open(etk::File &myFile); + bool Remove(int32_t BufferID); + public: int32_t GetSelected(void) { return m_idSelected;}; void SetSelected(int32_t id) {m_idSelected = id;}; Buffer * Get(int32_t BufferID); @@ -60,7 +62,6 @@ class BufferManager: public etk::Singleton, public ewol::Widget uint32_t Size(void); int32_t WitchBuffer(int32_t iEmeElement); - bool Remove(int32_t BufferID); private: diff --git a/jni/edn/CustumWidget/BufferView/BufferView.cpp b/jni/edn/CustumWidget/BufferView/BufferView.cpp index 3242138..5140d57 100644 --- a/jni/edn/CustumWidget/BufferView/BufferView.cpp +++ b/jni/edn/CustumWidget/BufferView/BufferView.cpp @@ -141,13 +141,6 @@ bool BufferView::OnItemEvent(int32_t IdInput, ewol::eventInputType_te typeEvent, int32_t selectBuf = m_bufferManager->WitchBuffer(raw+1); if ( 0 <= selectBuf) { m_selectedID = raw; - } - } - if (typeEvent == ewol::EVENT_INPUT_TYPE_DOUBLE) { - EDN_INFO("Event Double on List : IdInput=" << IdInput << " colomn=" << colomn << " raw=" << raw ); - int32_t selectBuf = m_bufferManager->WitchBuffer(raw+1); - //EDN_INFO(" plop %d / %d = %d ==> %d", (uint32_t)event->y, fontHeight, ((uint32_t)event->y / fontHeight), selectBuf); - if ( 0 <= selectBuf) { ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferId, selectBuf); } } diff --git a/jni/edn/GuiTools/MainWindows/MainWindows.cpp b/jni/edn/GuiTools/MainWindows/MainWindows.cpp index f43501f..dc82e40 100644 --- a/jni/edn/GuiTools/MainWindows/MainWindows.cpp +++ b/jni/edn/GuiTools/MainWindows/MainWindows.cpp @@ -171,15 +171,8 @@ bool MainWindows::OnEventAreaExternal(int32_t widgetID, const char * generateEve } // get the filename : etk::String tmpData = tmpWidget->GetCompleateFileName(); - etk::File myfilename = tmpData; - BufferManager *myBufferManager = BufferManager::getInstance(); - if (false == myBufferManager->Exist(myfilename) ) { - int32_t openID = myBufferManager->Open(myfilename); - ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgCodeViewCurrentChangeBufferId, openID); - } else { - ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgCodeViewCurrentChangeBufferId, myBufferManager->GetId(myfilename)); - } EDN_DEBUG("Request opening the file : " << tmpData); + ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgOpenFile, tmpData.c_str()); PopUpWidgetPop(); } return true; diff --git a/jni/edn/init.cpp b/jni/edn/init.cpp index 3e820e4..5924e2e 100644 --- a/jni/edn/init.cpp +++ b/jni/edn/init.cpp @@ -47,7 +47,7 @@ MainWindows * basicWindows = NULL; */ void APP_Init(void) { - EDN_INFO("Start Edn"); + EDN_INFO("==> Init Edn (START)"); ewol::ChangeSize(800, 600); // set the default Path of the application : @@ -124,15 +124,9 @@ void APP_Init(void) for( int32_t iii=0 ; iiiExist(myfile) ) { - int32_t idBuffOpened = myBufferManager->Open(myfile); - if (1==iii) { - ewol::widgetMessageMultiCast::Send(-1, ednMsgCodeViewCurrentChangeBufferId, idBuffOpened-1); - } - } + ewol::widgetMessageMultiCast::Send(-1, ednMsgOpenFile, ewol::CmdLineGet(iii).c_str()); } + EDN_INFO("==> Init Edn (END)"); } @@ -141,6 +135,7 @@ void APP_Init(void) */ void APP_UnInit(void) { + EDN_INFO("==> Un-Init Edn (START)"); // Remove windows : ewol::DisplayWindows(NULL); @@ -157,6 +152,7 @@ void APP_UnInit(void) if (NULL != basicWindows) { delete(basicWindows); } - EDN_INFO("Stop Edn"); + basicWindows = NULL; + EDN_INFO("==> Un-Init Edn (END)"); }