Rework of EWOL (Step 1)

This commit is contained in:
Edouard Dupin 2012-02-27 18:15:56 +01:00
parent 02e7de2397
commit 45f37a0c4b
11 changed files with 69 additions and 37 deletions

View File

@ -27,7 +27,7 @@
#include <tools_globals.h>
#include <Buffer.h>
#include <BufferManager.h>
#include <ewol/WidgetMessageMultiCast.h>
#include <ewol/EObjectMessageMulticast.h>
#undef __class__
#define __class__ "Buffer"
@ -95,7 +95,8 @@ void Buffer::SetModify(bool status)
if (status != m_fileModify) {
m_fileModify = status;
// TODO : Remove from here
ewol::widgetMessageMultiCast::Send(-1, ednMsgBufferState, "Modify");
etk::UString data = "Modify";
ewol::EObjectMessageMultiCast::Send(NULL, ednMsgBufferState, data);
}
}

View File

@ -27,7 +27,7 @@
#include <tools_debug.h>
#include <tools_globals.h>
#include <BufferManager.h>
#include <ewol/WidgetMessageMultiCast.h>
#include <ewol/EObjectMessageMulticast.h>
#include <ewol/WidgetManager.h>
#undef __class__
@ -87,12 +87,14 @@ classBufferManager::classBufferManager(void)
// nothing to do ...
BufferNotExiste = new BufferEmpty();
m_idSelected = -1;
/*
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgGuiNew);
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgOpenFile);
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgGuiClose);
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgGuiSave);
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgCodeViewSelectedId);
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgBufferId);
*/
}
/**
@ -133,13 +135,16 @@ bool classBufferManager::OnEventAreaExternal(int32_t widgetID, const char * gene
}
}
} else if (generateEventId == ednMsgGuiNew) {
/*
int32_t newOne = Create();
if (-1 != newOne) {
m_idSelected = newOne;
ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferId, m_idSelected);
ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferListChange);
}
*/
} else if (generateEventId == ednMsgOpenFile) {
/*
if (NULL != data) {
etk::File myFile(data, etk::FILE_TYPE_DIRECT);
int32_t newOne = Open(myFile);
@ -149,7 +154,9 @@ bool classBufferManager::OnEventAreaExternal(int32_t widgetID, const char * gene
ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferListChange);
}
}
*/
} else if (generateEventId == ednMsgGuiSave) {
/*
if (NULL == data) {
EDN_ERROR("Null data for close file ... ");
} else {
@ -179,7 +186,9 @@ bool classBufferManager::OnEventAreaExternal(int32_t widgetID, const char * gene
ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferState, "saved");
}
}
*/
} else if (generateEventId == ednMsgGuiClose) {
/*
if (NULL == data) {
EDN_ERROR("Null data for close file ... ");
} else {
@ -227,7 +236,9 @@ bool classBufferManager::OnEventAreaExternal(int32_t widgetID, const char * gene
}
}
}
*/
} else if (generateEventId == ednMsgCodeViewSelectedId) {
/*
//Change the selected buffer
if (NULL == data) {
EDN_ERROR("Null data for changing buffer ID file ... ");
@ -243,6 +254,7 @@ bool classBufferManager::OnEventAreaExternal(int32_t widgetID, const char * gene
ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferId, m_idSelected);
ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferListChange);
}
*/
}
/*
switch (id)
@ -278,11 +290,13 @@ bool classBufferManager::OnEventAreaExternal(int32_t widgetID, const char * gene
*/
void classBufferManager::RemoveAll(void)
{
/*
int32_t i;
for (i=0; i<listBuffer.Size(); i++) {
Remove(i);
}
ewol::widgetMessageMultiCast::Send(-1, ednMsgGuiClose, "All");
*/
}
@ -436,7 +450,9 @@ bool classBufferManager::Remove(int32_t BufferID)
// Delete the Buffer
delete( listBuffer[BufferID] );
listBuffer[BufferID] = NULL;
/*
ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferListChange);
*/
return true;
} else {
EDN_INFO("non existing Buffer " << BufferID);
@ -497,7 +513,7 @@ void BufferManager::UnInit(void)
EWOL_ERROR("classBufferManager ==> request UnInit, but does not exist ...");
return;
}
ewol::widgetManager::MarkWidgetToBeRemoved(localManager);
localManager->MarkToRemove();
localManager = NULL;
}

View File

@ -26,7 +26,7 @@
#include <tools_globals.h>
#include <ColorizeManager.h>
#include <tinyXML/tinyxml.h>
#include <ewol/WidgetMessageMultiCast.h>
#include <ewol/EObjectMessageMulticast.h>
#include <ewol/WidgetManager.h>
#define PFX "ColorizeManager "
@ -61,7 +61,7 @@ class classColorManager: public ewol::Widget
classColorManager::classColorManager(void)
{
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgGuiChangeColor);
//ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgGuiChangeColor);
}
classColorManager::~classColorManager(void)
@ -388,7 +388,7 @@ void ColorizeManager::UnInit(void)
EWOL_ERROR("ColorizeManager ==> request UnInit, but does not exist ...");
return;
}
ewol::widgetManager::MarkWidgetToBeRemoved(localManager);
localManager->MarkToRemove();
localManager = NULL;
}

View File

@ -30,19 +30,20 @@
#include <BufferManager.h>
#include <ColorizeManager.h>
#include <MainWindows.h>
#include <ewol/WidgetMessageMultiCast.h>
#include <ewol/EObjectMessageMulticast.h>
#undef __class__
#define __class__ "BufferView"
BufferView::BufferView(void)
{
/*
SetCanHaveFocus(true);
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgBufferListChange);
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgBufferState);
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgBufferId);
m_selectedID = -1;
*/
}
BufferView::~BufferView(void)
@ -57,6 +58,7 @@ GtkWidget * BufferView::GetMainWidget(void)
*/
bool BufferView::OnEventAreaExternal(int32_t widgetID, const char * generateEventId, const char * eventExternId, etkFloat_t x, etkFloat_t y)
{
/*
if (generateEventId == ednMsgBufferListChange) {
MarkToReedraw();
}else if (generateEventId == ednMsgBufferId) {
@ -64,6 +66,7 @@ bool BufferView::OnEventAreaExternal(int32_t widgetID, const char * generateEven
}else if (generateEventId == ednMsgBufferState) {
MarkToReedraw();
}
*/
return false;
}
@ -135,6 +138,7 @@ bool BufferView::GetElement(int32_t colomn, int32_t raw, etk::UString &myTextToW
bool BufferView::OnItemEvent(int32_t IdInput, ewol::eventInputType_te typeEvent, int32_t colomn, int32_t raw, etkFloat_t x, etkFloat_t y)
{
/*
if (1 == IdInput && typeEvent == ewol::EVENT_INPUT_TYPE_SINGLE) {
EDN_INFO("Event on List : IdInput=" << IdInput << " colomn=" << colomn << " raw=" << raw );
int32_t selectBuf = BufferManager::WitchBuffer(raw+1);
@ -144,6 +148,7 @@ bool BufferView::OnItemEvent(int32_t IdInput, ewol::eventInputType_te typeEvent,
}
}
MarkToReedraw();
*/
return false;
}

View File

@ -36,7 +36,7 @@
#include <SearchData.h>
#include <ewol/WidgetManager.h>
#include <ewol/WidgetMessageMultiCast.h>
#include <ewol/EObjectMessageMulticast.h>
#undef __class__
@ -65,7 +65,9 @@ CodeView::CodeView(void)
m_textColorBg.blue = 0.0;
m_textColorBg.alpha = 0.25;
SetCanHaveFocus(true);
/*
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgBufferId);
*/
}
CodeView::~CodeView(void)
@ -394,7 +396,9 @@ bool CodeView::OnEventAreaExternal(int32_t widgetID, const char * generateEventI
void CodeView::OnGetFocus(void)
{
/*
ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgBufferId, m_bufferID);
*/
ewol::KeyboardShow(ewol::KEYBOARD_MODE_CODE);
EDN_INFO("Focus - In");
}

View File

@ -43,7 +43,7 @@
#include <ewol/widget/Menu.h>
#include <ewol/widgetMeta/FileChooser.h>
#include <ewol/WidgetManager.h>
#include <ewol/WidgetMessageMultiCast.h>
#include <ewol/EObjectMessageMulticast.h>
#undef __class__
#define __class__ "MainWindows"
@ -54,7 +54,6 @@ MainWindows::MainWindows(void)
ewol::SizerVert * mySizerVert = NULL;
ewol::SizerHori * mySizerHori = NULL;
//ewol::Button * myButton = NULL;
ewol::Label * myLabel = NULL;
CodeView * myCodeView = NULL;
BufferView * myBufferView = NULL;
ewol::Menu * myMenu = NULL;
@ -105,11 +104,10 @@ MainWindows::MainWindows(void)
(void)myMenu->Add(idMenuCTags, "Back", "", ednMsgGuiCtags, "Back");
(void)myMenu->AddTitle("?", "", ednMsgGuiAbout);
myLabel = new ewol::Label("FileName");
m_fileNameLabelwidgetId = myLabel->GetWidgetId();
myLabel->SetExpendX(true);
myLabel->SetFillY(true);
mySizerHori->SubWidgetAdd(myLabel);
m_widgetLabelFileName = new ewol::Label("FileName");
m_widgetLabelFileName->SetExpendX(true);
m_widgetLabelFileName->SetFillY(true);
mySizerHori->SubWidgetAdd(m_widgetLabelFileName);
mySizerHori = new ewol::SizerHori();
mySizerVert->SubWidgetAdd(mySizerHori);
@ -139,6 +137,7 @@ MainWindows::MainWindows(void)
*/
mySizerHori->SubWidgetAdd(myCodeView);
/*
// Generic event ...
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgGuiSaveAs);
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgGuiOpen);
@ -146,6 +145,7 @@ MainWindows::MainWindows(void)
// to update the title ...
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgBufferState);
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgBufferId);
*/
}
@ -171,10 +171,9 @@ bool MainWindows::OnEventAreaExternal(int32_t widgetID, const char * generateEve
// TODO : Set the good folder ...
//tmpWidget->SetFolder("/");
PopUpWidgetPush(tmpWidget);
if (false == tmpWidget->ExternLinkOnEvent(ewolEventFileChooserValidate, GetWidgetId(), ednEventPopUpFileSelected) ) {
EDN_CRITICAL("link with an entry event");
}
tmpWidget->RegisterOnEvent(this, ewolEventFileChooserValidate, ednEventPopUpFileSelected);
} else if (generateEventId == ednEventPopUpFileSelected) {
/*
// get widget:
ewol::FileChooser * tmpWidget = dynamic_cast<ewol::FileChooser*>(ewol::widgetManager::Get(widgetID));
if (NULL == tmpWidget) {
@ -185,6 +184,7 @@ bool MainWindows::OnEventAreaExternal(int32_t widgetID, const char * generateEve
etk::UString tmpData = tmpWidget->GetCompleateFileName();
EDN_DEBUG("Request opening the file : " << tmpData);
ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgOpenFile, tmpData);
*/
} else if (generateEventId == ednMsgGuiSaveAs) {
if (NULL == data) {
EDN_ERROR("Null data for Save As file ... ");
@ -213,12 +213,11 @@ bool MainWindows::OnEventAreaExternal(int32_t widgetID, const char * generateEve
tmpWidget->SetFolder(folder);
tmpWidget->SetFileName(fileName);
PopUpWidgetPush(tmpWidget);
if (false == tmpWidget->ExternLinkOnEvent(ewolEventFileChooserValidate, GetWidgetId(), ednEventPopUpFileSaveAs) ) {
EDN_CRITICAL("link with an entry event");
}
tmpWidget->RegisterOnEvent(this, ewolEventFileChooserValidate, ednEventPopUpFileSaveAs);
}
}
} else if (generateEventId == ednEventPopUpFileSaveAs) {
/*
// get widget:
ewol::FileChooser * tmpWidget = dynamic_cast<ewol::FileChooser*>(ewol::widgetManager::Get(widgetID));
if (NULL == tmpWidget) {
@ -231,6 +230,7 @@ bool MainWindows::OnEventAreaExternal(int32_t widgetID, const char * generateEve
BufferManager::Get(m_currentSavingAsIdBuffer)->SetFileName(tmpData);
ewol::widgetMessageMultiCast::Send(GetWidgetId(), ednMsgGuiSave, m_currentSavingAsIdBuffer);
*/
} else if( generateEventId == ednMsgBufferState
|| generateEventId == ednMsgBufferId) {
// the buffer change we need to update the widget string
@ -242,13 +242,10 @@ bool MainWindows::OnEventAreaExternal(int32_t widgetID, const char * generateEve
if (true == isModify) {
directName += " *";
}
ewol::Label * tmpWidget = dynamic_cast<ewol::Label*>(ewol::widgetManager::Get(m_fileNameLabelwidgetId));
if (NULL == tmpWidget) {
EDN_ERROR("impossible to get label widget " << widgetID);
if (NULL == m_widgetLabelFileName) {
return false;
}
tmpWidget->SetLabel(directName);
m_widgetLabelFileName->SetLabel(directName);
return true;
}
return false;

View File

@ -30,6 +30,7 @@
#include <CodeView.h>
#include <BufferView.h>
#include <BufferManager.h>
#include <ewol/widget/Label.h>
#ifndef __MAIN_WINDOWS_H__
@ -38,7 +39,7 @@ class MainWindows : public ewol::Windows
{
private:
int32_t m_currentSavingAsIdBuffer;
int32_t m_fileNameLabelwidgetId;
ewol::Label* m_widgetLabelFileName;
public:
// Constructeur
MainWindows(void);

View File

@ -26,7 +26,7 @@
#include <tools_debug.h>
#include <tools_globals.h>
#include <HighlightManager.h>
#include <ewol/WidgetMessageMultiCast.h>
#include <ewol/EObjectMessageMulticast.h>
#include <ewol/WidgetManager.h>
#undef __class__
@ -40,7 +40,7 @@ class localClassHighlightManager: public ewol::Widget
public:
// Constructeur
localClassHighlightManager(void) {
ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgBufferColor);
//ewol::widgetMessageMultiCast::Add(GetWidgetId(), ednMsgBufferColor);
};
~localClassHighlightManager(void) {
int32_t i;
@ -159,7 +159,7 @@ void HighlightManager::UnInit(void)
EWOL_ERROR("HighlightManager ==> request UnInit, but does not exist ...");
return;
}
ewol::widgetManager::MarkWidgetToBeRemoved(localManager);
localManager->MarkToRemove();
localManager = NULL;
}

View File

@ -28,7 +28,7 @@
#include <CTagsManager.h>
#include <ClipBoard.h>
#include <BufferManager.h>
#include <ewol/WidgetMessageMultiCast.h>
#include <ewol/EObjectMessageMulticast.h>

View File

@ -37,7 +37,7 @@
#include <readtags.h>
#include <CTagsManager.h>
#include <etk/UString.h>
#include <ewol/WidgetMessageMultiCast.h>
#include <ewol/EObjectMessageMulticast.h>
#include <ewol/WidgetManager.h>
#include <tools/MsgBroadcast/MsgBroadcast.h>
@ -120,8 +120,15 @@ void APP_Init(void)
// add generic shortcut ...
// (shift, control, alt, meta, uniChar_t unicodeValue, const char * generateEventId, etk::UString& data)
ewol::shortCut::Add("ctrl+o", ednMsgGuiOpen, "");
ewol::shortCut::Add("ctrl+n", ednMsgGuiNew, "");
ewol::shortCut::Add("ctrl+s", ednMsgGuiSave, "current");
ewol::shortCut::Add("ctrl+shift+s", ednMsgGuiSave, "All");
ewol::shortCut::Add("ctrl+q", ednMsgGuiClose, "current");
ewol::shortCut::Add("ctrl+shift+q", ednMsgGuiClose, "All");
ewol::shortCut::Add("ctrl+z", ednMsgGuiUndo, "");
ewol::shortCut::Add("ctrl+shift+z", ednMsgGuiRedo, "");
@ -136,13 +143,14 @@ void APP_Init(void)
ewol::shortCut::Add("ctrl+l", ednMsgGuiGotoLine, "???");
// add files
EDN_INFO("show list of files : ");
for( int32_t iii=0 ; iii<ewol::CmdLineNb(); iii++) {
EDN_INFO("need load file : \"" << ewol::CmdLineGet(iii) << "\"" );
etk::UString tmpppp = ewol::CmdLineGet(iii);
ewol::widgetMessageMultiCast::Send(-1, ednMsgOpenFile, tmpppp);
ewol::EObjectMessageMultiCast::Send(NULL, ednMsgOpenFile, tmpppp);
}
EDN_INFO("==> Init Edn (END)");
@ -171,7 +179,7 @@ void APP_UnInit(void)
//AccelKey::Kill();
if (NULL != basicWindows) {
ewol::widgetManager::MarkWidgetToBeRemoved(basicWindows);
basicWindows->MarkToRemove();
basicWindows = NULL;
}
EDN_INFO("==> Un-Init Edn (END)");

View File

@ -26,7 +26,7 @@
#include <tools_globals.h>
#include <ColorizeManager.h>
#include <MsgBroadcast.h>
#include <ewol/WidgetMessageMultiCast.h>
#include <ewol/EObjectMessageMulticast.h>
#undef __class__
#define __class__ "globals"