[DEV] test multiple display of one buffer
This commit is contained in:
parent
50c1830696
commit
4693119e7d
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"ednColor": [
|
"ednColor": [
|
||||||
{ name:"LIST_backgroung1", foreground:"#202020" },
|
{ name:"backgroung1", foreground:"#202020" },
|
||||||
{ name:"LIST_backgroung2", foreground:"#000000" },
|
{ name:"backgroung2", foreground:"#000000" },
|
||||||
{ name:"LIST_backgroungSelected", foreground:"#2f0ba4" },
|
{ name:"backgroungSelected", foreground:"#2f0ba4" },
|
||||||
{ name:"LIST_textNormal", foreground:"#EEEEEE" },
|
{ name:"textNormal", foreground:"#EEEEEE" },
|
||||||
{ name:"LIST_textModify", foreground:"#FF0000" },
|
{ name:"textModify", foreground:"#FF0000" },
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"ednColor": [
|
"ednColor": [
|
||||||
{ name:"LIST_backgroung1", foreground:"#d9d7d7"},
|
{ name:"backgroung1", foreground:"#d9d7d7"},
|
||||||
{ name:"LIST_backgroung2", foreground:"#b7b6b6"},
|
{ name:"backgroung2", foreground:"#b7b6b6"},
|
||||||
{ name:"LIST_backgroungSelected", foreground:"#3da3f9"},
|
{ name:"backgroungSelected", foreground:"#3da3f9"},
|
||||||
{ name:"LIST_textNormal", foreground:"#000000"},
|
{ name:"textNormal", foreground:"#000000"},
|
||||||
{ name:"LIST_textModify", foreground:"#FF0000"}
|
{ name:"textModify", foreground:"#FF0000"}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -12,6 +12,11 @@
|
|||||||
#include <ewol/clipBoard.h>
|
#include <ewol/clipBoard.h>
|
||||||
#include <appl/HighlightManager.h>
|
#include <appl/HighlightManager.h>
|
||||||
|
|
||||||
|
|
||||||
|
const char* const appl::Buffer::eventIsModify = "edn-is-modify";
|
||||||
|
const char* const appl::Buffer::eventIsSave = "edn-is-save";
|
||||||
|
const char* const appl::Buffer::eventSelectChange = "edn-select-change";
|
||||||
|
|
||||||
appl::Buffer::Iterator& appl::Buffer::Iterator::operator++ (void) {
|
appl::Buffer::Iterator& appl::Buffer::Iterator::operator++ (void) {
|
||||||
m_value = etk::UChar::Null;
|
m_value = etk::UChar::Null;
|
||||||
if ( m_data != NULL
|
if ( m_data != NULL
|
||||||
@ -103,7 +108,9 @@ appl::Buffer::Buffer(void) :
|
|||||||
m_cursorPreferredCol(-1),
|
m_cursorPreferredCol(-1),
|
||||||
m_nbLines(0),
|
m_nbLines(0),
|
||||||
m_highlight(NULL) {
|
m_highlight(NULL) {
|
||||||
|
addEventId(eventIsModify);
|
||||||
|
addEventId(eventIsSave);
|
||||||
|
addEventId(eventSelectChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
appl::Buffer::~Buffer(void) {
|
appl::Buffer::~Buffer(void) {
|
||||||
@ -208,11 +215,13 @@ void appl::Buffer::moveCursor(esize_t _pos) {
|
|||||||
if (m_cursorPos == m_cursorSelectPos) {
|
if (m_cursorPos == m_cursorSelectPos) {
|
||||||
m_cursorSelectPos = -1;
|
m_cursorSelectPos = -1;
|
||||||
}
|
}
|
||||||
|
generateEventId(eventSelectChange);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// move mode
|
// move mode
|
||||||
m_cursorPos = _pos;
|
m_cursorPos = _pos;
|
||||||
m_cursorSelectPos = -1;
|
m_cursorSelectPos = -1;
|
||||||
|
generateEventId(eventSelectChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool appl::Buffer::getPosAround(const appl::Buffer::Iterator& _startPos,
|
bool appl::Buffer::getPosAround(const appl::Buffer::Iterator& _startPos,
|
||||||
@ -304,10 +313,12 @@ bool appl::Buffer::getPosAround(const appl::Buffer::Iterator& _startPos,
|
|||||||
|
|
||||||
void appl::Buffer::setSelectionPos(const appl::Buffer::Iterator& _pos) {
|
void appl::Buffer::setSelectionPos(const appl::Buffer::Iterator& _pos) {
|
||||||
m_cursorSelectPos = _pos;
|
m_cursorSelectPos = _pos;
|
||||||
|
generateEventId(eventSelectChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
void appl::Buffer::unSelect(void) {
|
void appl::Buffer::unSelect(void) {
|
||||||
m_cursorSelectPos = -1;
|
m_cursorSelectPos = -1;
|
||||||
|
generateEventId(eventSelectChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *ControlCodeTable[32] = {
|
static const char *ControlCodeTable[32] = {
|
||||||
@ -438,6 +449,7 @@ bool appl::Buffer::write(const etk::UString& _data, const appl::Buffer::Iterator
|
|||||||
m_selectMode = false;
|
m_selectMode = false;
|
||||||
moveCursor((esize_t)_pos+output.size());
|
moveCursor((esize_t)_pos+output.size());
|
||||||
countNumberofLine(); // TODO : use more intelligent counter
|
countNumberofLine(); // TODO : use more intelligent counter
|
||||||
|
generateEventId(eventIsModify);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -448,6 +460,7 @@ bool appl::Buffer::replace(const etk::UString& _data, const appl::Buffer::Iterat
|
|||||||
m_selectMode = false;
|
m_selectMode = false;
|
||||||
moveCursor((esize_t)_pos+output.size());
|
moveCursor((esize_t)_pos+output.size());
|
||||||
countNumberofLine(); // TODO : use more intelligent counter
|
countNumberofLine(); // TODO : use more intelligent counter
|
||||||
|
generateEventId(eventIsModify);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -460,6 +473,7 @@ void appl::Buffer::removeSelection(void) {
|
|||||||
m_selectMode = false;
|
m_selectMode = false;
|
||||||
moveCursor(startPos);
|
moveCursor(startPos);
|
||||||
countNumberofLine(); // TODO : use more intelligent counter
|
countNumberofLine(); // TODO : use more intelligent counter
|
||||||
|
generateEventId(eventIsModify);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -260,6 +260,10 @@ namespace appl {
|
|||||||
};
|
};
|
||||||
friend class Buffer;
|
friend class Buffer;
|
||||||
};
|
};
|
||||||
|
public:
|
||||||
|
static const char* const eventIsModify;
|
||||||
|
static const char* const eventIsSave;
|
||||||
|
static const char* const eventSelectChange;
|
||||||
public:
|
public:
|
||||||
Buffer(void);
|
Buffer(void);
|
||||||
~Buffer(void);
|
~Buffer(void);
|
||||||
|
@ -69,9 +69,23 @@ void appl::BufferManager::onObjectRemove(ewol::EObject * _removeObject) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool appl::BufferManager::exist(const etk::UString& _fileName) {
|
||||||
|
for (esize_t iii = 0; iii < m_list.size(); ++iii) {
|
||||||
|
if (m_list[iii] == NULL) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (m_list[iii]->getFileName() == _fileName) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void appl::BufferManager::open(const etk::UString& _fileName) {
|
void appl::BufferManager::open(const etk::UString& _fileName) {
|
||||||
|
if (exist(_fileName) == false) {
|
||||||
(void)get(_fileName, true);
|
(void)get(_fileName, true);
|
||||||
sendMultiCast(appl::MsgSelectNewFile, _fileName);
|
sendMultiCast(appl::MsgSelectNewFile, _fileName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void appl::BufferManager::onReceiveMessage(const ewol::EMessage& _msg) {
|
void appl::BufferManager::onReceiveMessage(const ewol::EMessage& _msg) {
|
||||||
|
@ -34,6 +34,12 @@ namespace appl {
|
|||||||
* @param[in] _fileName Name of the file to open or create.
|
* @param[in] _fileName Name of the file to open or create.
|
||||||
*/
|
*/
|
||||||
void open(const etk::UString& _fileName);
|
void open(const etk::UString& _fileName);
|
||||||
|
/**
|
||||||
|
* @brief Check if a buffer is already open.
|
||||||
|
* @param[in] _fileName name of the file.
|
||||||
|
* @return true if the buffer is already open.
|
||||||
|
*/
|
||||||
|
bool exist(const etk::UString& _fileName);
|
||||||
/*
|
/*
|
||||||
appl::Buffer* get(esize_t _bufferID);
|
appl::Buffer* get(esize_t _bufferID);
|
||||||
esize_t size(void);
|
esize_t size(void);
|
||||||
|
@ -44,8 +44,19 @@ BufferView::BufferView(void) {
|
|||||||
registerMultiCast(ednMsgBufferListChange);
|
registerMultiCast(ednMsgBufferListChange);
|
||||||
registerMultiCast(ednMsgBufferState);
|
registerMultiCast(ednMsgBufferState);
|
||||||
registerMultiCast(ednMsgBufferId);
|
registerMultiCast(ednMsgBufferId);
|
||||||
|
registerMultiCast(appl::MsgSelectNewFile);
|
||||||
m_selectedID = -1;
|
m_selectedID = -1;
|
||||||
m_selectedIdRequested = -1;
|
m_selectedIdRequested = -1;
|
||||||
|
// load buffer manager:
|
||||||
|
m_bufferManager = appl::BufferManager::keep();
|
||||||
|
// load color properties
|
||||||
|
m_paintingProperties = appl::GlyphPainting::keep("THEME:COLOR:bufferList.json");
|
||||||
|
// get all id properties ...
|
||||||
|
m_colorBackground1 = m_paintingProperties->request("backgroung1");
|
||||||
|
m_colorBackground2 = m_paintingProperties->request("backgroung2");
|
||||||
|
m_colorBackgroundSelect = m_paintingProperties->request("backgroungSelected");
|
||||||
|
m_colorTextNormal = m_paintingProperties->request("textNormal");
|
||||||
|
m_colorTextModify = m_paintingProperties->request("textModify");
|
||||||
}
|
}
|
||||||
|
|
||||||
BufferView::~BufferView(void) {
|
BufferView::~BufferView(void) {
|
||||||
@ -60,10 +71,27 @@ void BufferView::removeAllElement(void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_list.clear();
|
m_list.clear();
|
||||||
|
if (m_bufferManager != NULL) {
|
||||||
|
appl::BufferManager::release(m_bufferManager);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BufferView::onReceiveMessage(const ewol::EMessage& _msg) {
|
void BufferView::onReceiveMessage(const ewol::EMessage& _msg) {
|
||||||
widget::List::onReceiveMessage(_msg);
|
widget::List::onReceiveMessage(_msg);
|
||||||
|
if (_msg.getMessage() == appl::MsgSelectNewFile) {
|
||||||
|
appl::Buffer* buffer = m_bufferManager->get(_msg.getData());
|
||||||
|
if (buffer == NULL) {
|
||||||
|
APPL_ERROR("event on element nor exist : " << _msg.getData());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
appl::dataBufferStruct* tmp = new appl::dataBufferStruct(_msg.getData(), buffer);
|
||||||
|
if (tmp == NULL) {
|
||||||
|
APPL_ERROR("Allocation error of the tmp buffer list element");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
m_list.pushBack(tmp);
|
||||||
|
markToRedraw();
|
||||||
|
}
|
||||||
if (_msg.getMessage() == ednMsgBufferListChange) {
|
if (_msg.getMessage() == ednMsgBufferListChange) {
|
||||||
// clean The list
|
// clean The list
|
||||||
removeAllElement();
|
removeAllElement();
|
||||||
@ -104,9 +132,24 @@ void BufferView::onReceiveMessage(const ewol::EMessage& _msg) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BufferView::onObjectRemove(ewol::EObject* _removeObject) {
|
||||||
|
widget::List::onObjectRemove(_removeObject);
|
||||||
|
for (esize_t iii=0; iii<m_list.size(); iii++) {
|
||||||
|
if (m_list[iii] == NULL) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (m_list[iii]->m_buffer != _removeObject) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
m_list.remove(iii);
|
||||||
|
markToRedraw();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
etk::Color<> BufferView::getBasicBG(void) {
|
etk::Color<> BufferView::getBasicBG(void) {
|
||||||
return etk::color::none; //ColorizeManager::get(COLOR_LIST_BG_1);
|
return (*m_paintingProperties)[m_colorBackground1].getForeground();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t BufferView::getNuberOfColomn(void) {
|
uint32_t BufferView::getNuberOfColomn(void) {
|
||||||
@ -123,6 +166,39 @@ uint32_t BufferView::getNuberOfRaw(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool BufferView::getElement(int32_t _colomn, int32_t _raw, etk::UString& _myTextToWrite, etk::Color<>& _fg, etk::Color<>& _bg) {
|
bool BufferView::getElement(int32_t _colomn, int32_t _raw, etk::UString& _myTextToWrite, etk::Color<>& _fg, etk::Color<>& _bg) {
|
||||||
|
if( _raw >= 0
|
||||||
|
&& _raw<m_list.size()
|
||||||
|
&& NULL != m_list[_raw]) {
|
||||||
|
_myTextToWrite = m_list[_raw]->m_bufferName.getNameFile();
|
||||||
|
/*
|
||||||
|
if (true == m_list[_raw]->m_isModify) {
|
||||||
|
_fg = (*m_paintingProperties)[m_colorTextModify].getForeground();
|
||||||
|
} else */ {
|
||||||
|
_fg = (*m_paintingProperties)[m_colorTextModify].getForeground();
|
||||||
|
}
|
||||||
|
if (_raw%2 == 0) {
|
||||||
|
_bg = (*m_paintingProperties)[m_colorBackground1].getForeground();
|
||||||
|
} else {
|
||||||
|
_bg = (*m_paintingProperties)[m_colorBackground2].getForeground();
|
||||||
|
}
|
||||||
|
// the buffer change of selection ...
|
||||||
|
/*
|
||||||
|
if (m_selectedIdRequested == m_list[_raw]->m_bufferID) {
|
||||||
|
m_selectedID = _raw;
|
||||||
|
// stop searching
|
||||||
|
m_selectedIdRequested = -1;
|
||||||
|
// set the raw visible :
|
||||||
|
setRawVisible(m_selectedID);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
if (m_selectedID == _raw) {
|
||||||
|
_bg = (*m_paintingProperties)[m_colorBackgroundSelect].getForeground();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
} else {
|
||||||
|
_myTextToWrite = "ERROR";
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
bool isModify;
|
bool isModify;
|
||||||
basicColor_te selectFG = COLOR_LIST_TEXT_NORMAL;
|
basicColor_te selectFG = COLOR_LIST_TEXT_NORMAL;
|
||||||
@ -173,8 +249,8 @@ bool BufferView::onItemEvent(int32_t _IdInput, ewol::keyEvent::status_te _typeEv
|
|||||||
if( _raw >= 0
|
if( _raw >= 0
|
||||||
&& _raw<m_list.size()
|
&& _raw<m_list.size()
|
||||||
&& NULL != m_list[_raw]) {
|
&& NULL != m_list[_raw]) {
|
||||||
m_selectedIdRequested = m_list[_raw]->m_bufferID;
|
//m_selectedIdRequested = m_list[_raw]->m_buffer;
|
||||||
sendMultiCast(ednMsgBufferId, m_list[_raw]->m_bufferID);
|
//sendMultiCast(ednMsgBufferId, m_list[_raw]->m_buffer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
markToRedraw();
|
markToRedraw();
|
||||||
|
@ -21,12 +21,10 @@ namespace appl
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
etk::FSNode m_bufferName;
|
etk::FSNode m_bufferName;
|
||||||
uint32_t m_bufferID;
|
appl::Buffer* m_buffer;
|
||||||
bool m_isModify;
|
dataBufferStruct(const etk::UString& _bufferName, appl::Buffer* _buffer) :
|
||||||
dataBufferStruct(etk::FSNode& _bufferName, int32_t _bufferID, bool _isModify) :
|
|
||||||
m_bufferName(_bufferName),
|
m_bufferName(_bufferName),
|
||||||
m_bufferID(_bufferID),
|
m_buffer(_buffer) {
|
||||||
m_isModify(_isModify) {
|
|
||||||
|
|
||||||
};
|
};
|
||||||
~dataBufferStruct(void) { };
|
~dataBufferStruct(void) { };
|
||||||
@ -35,6 +33,15 @@ namespace appl
|
|||||||
|
|
||||||
class BufferView : public widget::List
|
class BufferView : public widget::List
|
||||||
{
|
{
|
||||||
|
private:
|
||||||
|
appl::BufferManager* m_bufferManager; //!< handle on the buffer manager
|
||||||
|
private:
|
||||||
|
appl::GlyphPainting* m_paintingProperties; //!< element painting property
|
||||||
|
esize_t m_colorBackground1;
|
||||||
|
esize_t m_colorBackground2;
|
||||||
|
esize_t m_colorBackgroundSelect;
|
||||||
|
esize_t m_colorTextNormal;
|
||||||
|
esize_t m_colorTextModify;
|
||||||
private:
|
private:
|
||||||
int32_t m_selectedIdRequested;
|
int32_t m_selectedIdRequested;
|
||||||
int32_t m_selectedID;
|
int32_t m_selectedID;
|
||||||
@ -47,6 +54,7 @@ class BufferView : public widget::List
|
|||||||
const char * const getObjectType(void) { return "ApplBufferView"; };
|
const char * const getObjectType(void) { return "ApplBufferView"; };
|
||||||
// Derived function
|
// Derived function
|
||||||
virtual void onReceiveMessage(const ewol::EMessage& _msg);
|
virtual void onReceiveMessage(const ewol::EMessage& _msg);
|
||||||
|
virtual void onObjectRemove(ewol::EObject* _removeObject);
|
||||||
protected:
|
protected:
|
||||||
// function call to display the list :
|
// function call to display the list :
|
||||||
virtual etk::Color<> getBasicBG(void);
|
virtual etk::Color<> getBasicBG(void);
|
||||||
|
@ -136,6 +136,11 @@ MainWindows::MainWindows(void) {
|
|||||||
mySizerHori->subWidgetAdd(mySizerVert2);
|
mySizerHori->subWidgetAdd(mySizerVert2);
|
||||||
|
|
||||||
// main buffer Area :
|
// main buffer Area :
|
||||||
|
myTextView = new appl::TextViewer("FreeMono;DejaVuSansMono;FreeSerif", 11);
|
||||||
|
myTextView->setExpand(bvec2(true,true));
|
||||||
|
myTextView->setFill(bvec2(true,true));
|
||||||
|
mySizerVert2->subWidgetAdd(myTextView);
|
||||||
|
|
||||||
myTextView = new appl::TextViewer("FreeMono;DejaVuSansMono;FreeSerif", 11);
|
myTextView = new appl::TextViewer("FreeMono;DejaVuSansMono;FreeSerif", 11);
|
||||||
myTextView->setExpand(bvec2(true,true));
|
myTextView->setExpand(bvec2(true,true));
|
||||||
myTextView->setFill(bvec2(true,true));
|
myTextView->setFill(bvec2(true,true));
|
||||||
|
@ -30,7 +30,6 @@ class MainWindows : public ewol::Windows {
|
|||||||
virtual void onObjectRemove(ewol::EObject * _removeObject);
|
virtual void onObjectRemove(ewol::EObject * _removeObject);
|
||||||
};
|
};
|
||||||
|
|
||||||
#define EDN_CAST_MAIN_WINDOWS(curentPointer) EWOL_CAST(TYPE_EOBJECT_EDN_MAIN_WINDOWS,MainWindows,curentPointer)
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -213,13 +213,15 @@ void appl::TextViewer::onRegenerateDisplay(void) {
|
|||||||
countNbLine += 1;
|
countNbLine += 1;
|
||||||
countColomn = 0;
|
countColomn = 0;
|
||||||
maxSizeX = etk_max(m_displayText.getPos().x(), maxSizeX);
|
maxSizeX = etk_max(m_displayText.getPos().x(), maxSizeX);
|
||||||
// display the end line position
|
// Display the end line position only if we have the focus ...
|
||||||
|
if (getFocus() == true) {
|
||||||
if (it >= selectPosStart && it < selectPosStop) {
|
if (it >= selectPosStart && it < selectPosStop) {
|
||||||
ewol::Drawing& draw = m_displayText.getDrawing();
|
ewol::Drawing& draw = m_displayText.getDrawing();
|
||||||
draw.setColor(etk::Color<>(0xFF0000FF));
|
draw.setColor(etk::Color<>(0xFF0000FF));
|
||||||
draw.setPos(m_displayText.getPos() + tmpLetterSize/4.0f);
|
draw.setPos(m_displayText.getPos() + tmpLetterSize/4.0f);
|
||||||
draw.rectangle(m_displayText.getPos() + tmpLetterSize*3.0f/4.0f);
|
draw.rectangle(m_displayText.getPos() + tmpLetterSize*3.0f/4.0f);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
m_displayText.forceLineReturn();
|
m_displayText.forceLineReturn();
|
||||||
m_displayText.setPos(vec3(-m_originScrooled.x()+m_lastOffsetDisplay, m_displayText.getPos().y(), 0.0f));
|
m_displayText.setPos(vec3(-m_originScrooled.x()+m_lastOffsetDisplay, m_displayText.getPos().y(), 0.0f));
|
||||||
if (m_displayText.getPos().y() < -20.0f ) {
|
if (m_displayText.getPos().y() < -20.0f ) {
|
||||||
@ -250,16 +252,21 @@ void appl::TextViewer::onRegenerateDisplay(void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_buffer->expand(countColomn, *it, stringToDisplay);
|
m_buffer->expand(countColomn, *it, stringToDisplay);
|
||||||
|
// Display selection only if we have the focus ...
|
||||||
|
if (getFocus() == true) {
|
||||||
if (it >= selectPosStart && it < selectPosStop) {
|
if (it >= selectPosStart && it < selectPosStop) {
|
||||||
m_displayText.setColor((*m_paintingProperties)[m_colorSelection].getForeground());
|
m_displayText.setColor((*m_paintingProperties)[m_colorSelection].getForeground());
|
||||||
m_displayText.setColorBg((*m_paintingProperties)[m_colorSelection].getBackground());
|
m_displayText.setColorBg((*m_paintingProperties)[m_colorSelection].getBackground());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//APPL_DEBUG("display : '" << currentValue << "' == > '" << stringToDisplay << "'");
|
//APPL_DEBUG("display : '" << currentValue << "' == > '" << stringToDisplay << "'");
|
||||||
m_displayText.print(stringToDisplay);
|
m_displayText.print(stringToDisplay);
|
||||||
countColomn += stringToDisplay.size();
|
countColomn += stringToDisplay.size();
|
||||||
}
|
}
|
||||||
maxSizeX = etk_max(m_displayText.getPos().x(), maxSizeX);
|
maxSizeX = etk_max(m_displayText.getPos().x(), maxSizeX);
|
||||||
if (tmpCursorPosition.z()!=-1) {
|
// Display cursor only if we have the focus ...
|
||||||
|
if ( tmpCursorPosition.z() != -1
|
||||||
|
&& getFocus() == true) {
|
||||||
// display the cursor:
|
// display the cursor:
|
||||||
//APPL_DEBUG("display cursor at position : " << tmpCursorPosition);
|
//APPL_DEBUG("display cursor at position : " << tmpCursorPosition);
|
||||||
m_displayText.setPos(tmpCursorPosition);
|
m_displayText.setPos(tmpCursorPosition);
|
||||||
@ -528,19 +535,37 @@ void appl::TextViewer::onEventClipboard(ewol::clipBoard::clipboardListe_te _clip
|
|||||||
}
|
}
|
||||||
|
|
||||||
void appl::TextViewer::onReceiveMessage(const ewol::EMessage& _msg) {
|
void appl::TextViewer::onReceiveMessage(const ewol::EMessage& _msg) {
|
||||||
// First call plugin
|
widget::WidgetScrooled::onReceiveMessage(_msg);
|
||||||
//APPL_DEBUG("receive msg: " << _msg);
|
//APPL_DEBUG("receive msg: " << _msg);
|
||||||
|
// First call plugin
|
||||||
if (appl::textPluginManager::onReceiveMessage(*this, _msg) == true) {
|
if (appl::textPluginManager::onReceiveMessage(*this, _msg) == true) {
|
||||||
markToRedraw();
|
markToRedraw();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (_msg.getMessage() == appl::MsgSelectNewFile) {
|
if (_msg.getMessage() == appl::MsgSelectNewFile) {
|
||||||
|
if (m_buffer != NULL) {
|
||||||
|
m_buffer->unRegisterOnEvent(this);
|
||||||
|
}
|
||||||
m_buffer = m_bufferManager->get(_msg.getData());
|
m_buffer = m_bufferManager->get(_msg.getData());
|
||||||
|
if (m_buffer != NULL) {
|
||||||
|
m_buffer->registerOnEvent(this, appl::Buffer::eventIsModify);
|
||||||
|
m_buffer->registerOnEvent(this, appl::Buffer::eventSelectChange);
|
||||||
}
|
}
|
||||||
markToRedraw();
|
markToRedraw();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (_msg.getMessage() == appl::Buffer::eventIsModify) {
|
||||||
|
markToRedraw();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (_msg.getMessage() == appl::Buffer::eventSelectChange) {
|
||||||
|
markToRedraw();
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void appl::TextViewer::onObjectRemove(ewol::EObject* _removeObject) {
|
void appl::TextViewer::onObjectRemove(ewol::EObject* _removeObject) {
|
||||||
|
widget::WidgetScrooled::onObjectRemove(_removeObject);
|
||||||
if (m_buffer == _removeObject) {
|
if (m_buffer == _removeObject) {
|
||||||
m_buffer = NULL;
|
m_buffer = NULL;
|
||||||
markToRedraw();
|
markToRedraw();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user