Select file upgraded and entry upgraded
This commit is contained in:
parent
ed50654058
commit
03972e6d7a
@ -82,6 +82,7 @@ char* ewol::GetCharTypeMoveEvent(eventKbMoveType_te type)
|
|||||||
*/
|
*/
|
||||||
ewol::Widget::Widget(void)
|
ewol::Widget::Widget(void)
|
||||||
{
|
{
|
||||||
|
m_limitMouseEvent = 3;
|
||||||
m_needRegenerateDisplay = true;
|
m_needRegenerateDisplay = true;
|
||||||
m_currentDrawId = 0;
|
m_currentDrawId = 0;
|
||||||
m_currentCreateId = 1;
|
m_currentCreateId = 1;
|
||||||
|
@ -338,6 +338,29 @@ namespace ewol {
|
|||||||
* @return ---
|
* @return ---
|
||||||
*/
|
*/
|
||||||
virtual void OnLostFocus(void) {};
|
virtual void OnLostFocus(void) {};
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------------------------------------
|
||||||
|
// -- Mouse event properties Area
|
||||||
|
// ----------------------------------------------------------------------------------------------------------------
|
||||||
|
private:
|
||||||
|
int32_t m_limitMouseEvent; //!< this is to limit the number of mouse event that the widget can supported
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* @brief Get the number of mouse event supported
|
||||||
|
* @param ---
|
||||||
|
* @return return the number of event that the mouse supported [0..3]
|
||||||
|
*/
|
||||||
|
int32_t GetMouseLimit(void) { return m_limitMouseEvent; };
|
||||||
|
/**
|
||||||
|
* @brief Get the number of mouse event supported
|
||||||
|
* @param[in] numberState The number of event that the mouse supported [0..3]
|
||||||
|
* @return ---
|
||||||
|
*/
|
||||||
|
void SetMouseLimit(int32_t numberState) { m_limitMouseEvent = numberState; };
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------------------------------------
|
||||||
|
// -- Periodic call Area
|
||||||
|
// ----------------------------------------------------------------------------------------------------------------
|
||||||
protected:
|
protected:
|
||||||
/**
|
/**
|
||||||
* @brief Request that the current widegt have a periodic call
|
* @brief Request that the current widegt have a periodic call
|
||||||
|
@ -350,17 +350,23 @@ void ewol::eventInput::State(ewol::inputType_te type, int pointerID, bool isDown
|
|||||||
eventTable[pointerID].downStart = pos;
|
eventTable[pointerID].downStart = pos;
|
||||||
// save start time
|
// save start time
|
||||||
eventTable[pointerID].lastTimeEvent = currentTime;
|
eventTable[pointerID].lastTimeEvent = currentTime;
|
||||||
if (eventTable[pointerID].nbClickEvent == 0) {
|
if( eventTable[pointerID].nbClickEvent == 0
|
||||||
|
&& eventTable[pointerID].curentWidgetEvent != NULL
|
||||||
|
&& eventTable[pointerID].curentWidgetEvent->GetMouseLimit()>0 ) {
|
||||||
// generate event SINGLE :
|
// generate event SINGLE :
|
||||||
eventTable[pointerID].nbClickEvent++;
|
eventTable[pointerID].nbClickEvent++;
|
||||||
EWOL_VERBOSE("GUI : Input ID=" << pointerID << "==>" << eventTable[pointerID].destinationInputId << " [SINGLE] " << pos);
|
EWOL_VERBOSE("GUI : Input ID=" << pointerID << "==>" << eventTable[pointerID].destinationInputId << " [SINGLE] " << pos);
|
||||||
localEventInput(type, eventTable[pointerID].curentWidgetEvent, eventTable[pointerID].destinationInputId, ewol::EVENT_INPUT_TYPE_SINGLE, pos);
|
localEventInput(type, eventTable[pointerID].curentWidgetEvent, eventTable[pointerID].destinationInputId, ewol::EVENT_INPUT_TYPE_SINGLE, pos);
|
||||||
} else if (eventTable[pointerID].nbClickEvent == 1) {
|
} else if( eventTable[pointerID].nbClickEvent == 1
|
||||||
|
&& eventTable[pointerID].curentWidgetEvent != NULL
|
||||||
|
&& eventTable[pointerID].curentWidgetEvent->GetMouseLimit()>1 ) {
|
||||||
// generate event DOUBLE :
|
// generate event DOUBLE :
|
||||||
eventTable[pointerID].nbClickEvent++;
|
eventTable[pointerID].nbClickEvent++;
|
||||||
EWOL_VERBOSE("GUI : Input ID=" << pointerID << "==>" << eventTable[pointerID].destinationInputId << " [DOUBLE] " << pos);
|
EWOL_VERBOSE("GUI : Input ID=" << pointerID << "==>" << eventTable[pointerID].destinationInputId << " [DOUBLE] " << pos);
|
||||||
localEventInput(type, eventTable[pointerID].curentWidgetEvent, eventTable[pointerID].destinationInputId, ewol::EVENT_INPUT_TYPE_DOUBLE, pos);
|
localEventInput(type, eventTable[pointerID].curentWidgetEvent, eventTable[pointerID].destinationInputId, ewol::EVENT_INPUT_TYPE_DOUBLE, pos);
|
||||||
} else if (eventTable[pointerID].nbClickEvent == 2) {
|
} else if( eventTable[pointerID].nbClickEvent == 2
|
||||||
|
&& eventTable[pointerID].curentWidgetEvent != NULL
|
||||||
|
&& eventTable[pointerID].curentWidgetEvent->GetMouseLimit()>2 ) {
|
||||||
// generate event TRIPLE :
|
// generate event TRIPLE :
|
||||||
eventTable[pointerID].nbClickEvent++;
|
eventTable[pointerID].nbClickEvent++;
|
||||||
EWOL_VERBOSE("GUI : Input ID=" << pointerID << "==>" << eventTable[pointerID].destinationInputId << " [TRIPLE] " << pos);
|
EWOL_VERBOSE("GUI : Input ID=" << pointerID << "==>" << eventTable[pointerID].destinationInputId << " [TRIPLE] " << pos);
|
||||||
|
@ -221,11 +221,34 @@ bool ewol::Entry::OnEventInput(ewol::inputType_te type, int32_t IdInput, eventIn
|
|||||||
//EWOL_DEBUG("Event on Entry ...");
|
//EWOL_DEBUG("Event on Entry ...");
|
||||||
if (1 == IdInput) {
|
if (1 == IdInput) {
|
||||||
if (ewol::EVENT_INPUT_TYPE_SINGLE == typeEvent) {
|
if (ewol::EVENT_INPUT_TYPE_SINGLE == typeEvent) {
|
||||||
// nothing to do ...
|
|
||||||
GenerateEventId(ewolEventEntryClick);
|
GenerateEventId(ewolEventEntryClick);
|
||||||
ewol::widgetManager::FocusKeep(this);
|
KeepFocus();
|
||||||
MarkToReedraw();
|
MarkToReedraw();
|
||||||
|
Vector2D<float> relPos = RelativePosition(pos);
|
||||||
|
// try to find the new cursor position :
|
||||||
|
int32_t fontId = GetDefaultFontId();
|
||||||
|
etk::UString tmpDisplay = m_data.Extract(0, m_displayStartPosition);
|
||||||
|
int32_t displayHidenSize = ewol::GetWidth(fontId, tmpDisplay);
|
||||||
|
//EWOL_DEBUG("hidenSize : " << displayHidenSize);
|
||||||
|
int32_t newCursorPosition = -1;
|
||||||
|
int32_t tmpTextOriginX = m_borderSize + 2*m_paddingSize;
|
||||||
|
for (int32_t iii=0; iii<m_data.Size(); iii++) {
|
||||||
|
tmpDisplay = m_data.Extract(0, iii);
|
||||||
|
int32_t tmpWidth = ewol::GetWidth(fontId, tmpDisplay) - displayHidenSize;
|
||||||
|
if (tmpWidth>=relPos.x-tmpTextOriginX) {
|
||||||
|
newCursorPosition = iii;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (newCursorPosition == -1) {
|
||||||
|
newCursorPosition = m_data.Size();
|
||||||
|
}
|
||||||
|
m_displayCursorPos = newCursorPosition;
|
||||||
return true;
|
return true;
|
||||||
|
} else if (ewol::EVENT_INPUT_TYPE_DOUBLE == typeEvent) {
|
||||||
|
// TODO : selected area ...
|
||||||
|
} else if (ewol::EVENT_INPUT_TYPE_TRIPLE == typeEvent) {
|
||||||
|
// TODO : select all the line
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -244,7 +267,11 @@ bool ewol::Entry::OnEventKb(eventKbType_te typeEvent, uniChar_t unicodeData)
|
|||||||
if( typeEvent == ewol::EVENT_KB_TYPE_DOWN) {
|
if( typeEvent == ewol::EVENT_KB_TYPE_DOWN) {
|
||||||
//EWOL_DEBUG("Entry input data ... : \"" << unicodeData << "\" " );
|
//EWOL_DEBUG("Entry input data ... : \"" << unicodeData << "\" " );
|
||||||
//return GenEventInputExternal(ewolEventEntryEnter, -1, -1);
|
//return GenEventInputExternal(ewolEventEntryEnter, -1, -1);
|
||||||
if (0x7F == unicodeData) {
|
if( '\n' == unicodeData
|
||||||
|
|| '\r' == unicodeData) {
|
||||||
|
GenerateEventId(ewolEventEntryEnter, m_data);
|
||||||
|
return true;
|
||||||
|
} else if (0x7F == unicodeData) {
|
||||||
// SUPPR :
|
// SUPPR :
|
||||||
if (m_data.Size() > 0 && m_displayCursorPos<m_data.Size()) {
|
if (m_data.Size() > 0 && m_displayCursorPos<m_data.Size()) {
|
||||||
m_data.Remove(m_displayCursorPos, 1);
|
m_data.Remove(m_displayCursorPos, 1);
|
||||||
|
@ -77,6 +77,7 @@ class FileChooserFolderList : public ewol::List
|
|||||||
{
|
{
|
||||||
AddEventId(ewolEventFileChooserSelectFolder);
|
AddEventId(ewolEventFileChooserSelectFolder);
|
||||||
m_selectedLine = -1;
|
m_selectedLine = -1;
|
||||||
|
SetMouseLimit(2);
|
||||||
};
|
};
|
||||||
~FileChooserFolderList(void)
|
~FileChooserFolderList(void)
|
||||||
{
|
{
|
||||||
@ -118,11 +119,7 @@ class FileChooserFolderList : public ewol::List
|
|||||||
|
|
||||||
|
|
||||||
virtual color_ts GetBasicBG(void) {
|
virtual color_ts GetBasicBG(void) {
|
||||||
color_ts bg;
|
color_ts bg(0x00000010);
|
||||||
bg.red = 0;
|
|
||||||
bg.green = 0;
|
|
||||||
bg.blue = 0;
|
|
||||||
bg.alpha = 0x30;
|
|
||||||
return bg;
|
return bg;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,18 +141,12 @@ class FileChooserFolderList : public ewol::List
|
|||||||
}
|
}
|
||||||
fg = etk::color::color_Black;
|
fg = etk::color::color_Black;
|
||||||
if (raw % 2) {
|
if (raw % 2) {
|
||||||
bg = etk::color::color_White;
|
bg = 0xFFFFFF00;
|
||||||
} else {
|
} else {
|
||||||
bg.red = 0x7F;
|
bg = 0xBFBFBFFF;
|
||||||
bg.green = 0x7F;
|
|
||||||
bg.blue = 0x7F;
|
|
||||||
bg.alpha = 0xFF;
|
|
||||||
}
|
}
|
||||||
if (m_selectedLine == raw) {
|
if (m_selectedLine == raw) {
|
||||||
bg.red = 0x8F;
|
bg = 0x8F8FFFFF;
|
||||||
bg.green = 0x8F;
|
|
||||||
bg.blue = 0xFF;
|
|
||||||
bg.alpha = 0xFF;
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
@ -243,17 +234,14 @@ class FileChooserFileList : public ewol::List
|
|||||||
m_selectedLine = -1;
|
m_selectedLine = -1;
|
||||||
AddEventId(ewolEventFileChooserSelectFile);
|
AddEventId(ewolEventFileChooserSelectFile);
|
||||||
AddEventId(ewolEventFileChooserValidateFile);
|
AddEventId(ewolEventFileChooserValidateFile);
|
||||||
|
SetMouseLimit(2);
|
||||||
};
|
};
|
||||||
~FileChooserFileList(void)
|
~FileChooserFileList(void)
|
||||||
{
|
{
|
||||||
ClearElements();
|
ClearElements();
|
||||||
};
|
};
|
||||||
virtual color_ts GetBasicBG(void) {
|
virtual color_ts GetBasicBG(void) {
|
||||||
color_ts bg;
|
color_ts bg(0x00000010);
|
||||||
bg.red = 0;
|
|
||||||
bg.green = 0;
|
|
||||||
bg.blue = 0;
|
|
||||||
bg.alpha = 0x30;
|
|
||||||
return bg;
|
return bg;
|
||||||
}
|
}
|
||||||
void AddElement(etk::UString element)
|
void AddElement(etk::UString element)
|
||||||
@ -287,7 +275,22 @@ class FileChooserFileList : public ewol::List
|
|||||||
}
|
}
|
||||||
return tmpVal;
|
return tmpVal;
|
||||||
}
|
}
|
||||||
|
// select the specific file
|
||||||
|
void SelectFile( etk::UString data) {
|
||||||
|
// remove selected line
|
||||||
|
m_selectedLine = -1;
|
||||||
|
// search the coresponding file :
|
||||||
|
for (int32_t iii=0; iii<m_listFile.Size(); iii++) {
|
||||||
|
if (NULL!=m_listFile[iii]) {
|
||||||
|
if (*m_listFile[iii] == data) {
|
||||||
|
// we find the line :
|
||||||
|
m_selectedLine = iii;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MarkToReedraw();
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t GetNuberOfColomn(void) {
|
uint32_t GetNuberOfColomn(void) {
|
||||||
return 1;
|
return 1;
|
||||||
@ -307,21 +310,12 @@ class FileChooserFileList : public ewol::List
|
|||||||
}
|
}
|
||||||
fg = etk::color::color_Black;
|
fg = etk::color::color_Black;
|
||||||
if (raw % 2) {
|
if (raw % 2) {
|
||||||
bg.red = 0xCF;
|
bg = 0xFFFFFF00;
|
||||||
bg.green = 0xFF;
|
|
||||||
bg.blue = 0xFF;
|
|
||||||
bg.alpha = 0xFF;
|
|
||||||
} else {
|
} else {
|
||||||
bg.red = 0x9F;
|
bg = 0xBFBFBFFF;
|
||||||
bg.green = 0x9F;
|
|
||||||
bg.blue = 0x9F;
|
|
||||||
bg.alpha = 0xFF;
|
|
||||||
}
|
}
|
||||||
if (m_selectedLine == raw) {
|
if (m_selectedLine == raw) {
|
||||||
bg.red = 0x8F;
|
bg = 0x8F8FFFFF;
|
||||||
bg.green = 0x8F;
|
|
||||||
bg.blue = 0xFF;
|
|
||||||
bg.alpha = 0xFF;
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
@ -402,12 +396,14 @@ class FileChooserFileList : public ewol::List
|
|||||||
#define __class__ "FileChooser"
|
#define __class__ "FileChooser"
|
||||||
|
|
||||||
|
|
||||||
extern const char * const ewolEventFileChooserCancel = "ewol-event-file-chooser-cancel";
|
extern const char * const ewolEventFileChooserCancel = "ewol-event-file-chooser-cancel";
|
||||||
extern const char * const ewolEventFileChooserValidate = "ewol-event-file-chooser-validate";
|
extern const char * const ewolEventFileChooserValidate = "ewol-event-file-chooser-validate";
|
||||||
extern const char * const ewolEventFileChooserHidenFileChange = "ewol-event-file-chooser-Show/Hide-hiden-Files";
|
extern const char * const ewolEventFileChooserHidenFileChange = "ewol-event-file-chooser-Show/Hide-hiden-Files";
|
||||||
extern const char * const ewolEventFileChooserEntryFolder = "ewol-event-file-chooser-modify-entry-folder";
|
extern const char * const ewolEventFileChooserEntryFolder = "ewol-event-file-chooser-modify-entry-folder";
|
||||||
extern const char * const ewolEventFileChooserEntryFile = "ewol-event-file-chooser-modify-entry-file";
|
extern const char * const ewolEventFileChooserEntryFolderEnter = "ewol-event-file-chooser-modify-entry-folder-enter";
|
||||||
extern const char * const ewolEventFileChooserHome = "ewol-event-file-chooser-home";
|
extern const char * const ewolEventFileChooserEntryFile = "ewol-event-file-chooser-modify-entry-file";
|
||||||
|
extern const char * const ewolEventFileChooserEntryFileEnter = "ewol-event-file-chooser-modify-entry-file-enter";
|
||||||
|
extern const char * const ewolEventFileChooserHome = "ewol-event-file-chooser-home";
|
||||||
|
|
||||||
|
|
||||||
ewol::FileChooser::FileChooser(void)
|
ewol::FileChooser::FileChooser(void)
|
||||||
@ -415,8 +411,6 @@ ewol::FileChooser::FileChooser(void)
|
|||||||
AddEventId(ewolEventFileChooserCancel);
|
AddEventId(ewolEventFileChooserCancel);
|
||||||
AddEventId(ewolEventFileChooserValidate);
|
AddEventId(ewolEventFileChooserValidate);
|
||||||
|
|
||||||
m_hasSelectedFile = false;
|
|
||||||
|
|
||||||
m_widgetTitle = NULL;
|
m_widgetTitle = NULL;
|
||||||
m_widgetValidate = NULL;
|
m_widgetValidate = NULL;
|
||||||
m_widgetCancel = NULL;
|
m_widgetCancel = NULL;
|
||||||
@ -458,6 +452,7 @@ ewol::FileChooser::FileChooser(void)
|
|||||||
|
|
||||||
m_widgetCurrentFolder = new ewol::Entry(m_folder);
|
m_widgetCurrentFolder = new ewol::Entry(m_folder);
|
||||||
m_widgetCurrentFolder->RegisterOnEvent(this, ewolEventEntryModify, ewolEventFileChooserEntryFolder);
|
m_widgetCurrentFolder->RegisterOnEvent(this, ewolEventEntryModify, ewolEventFileChooserEntryFolder);
|
||||||
|
m_widgetCurrentFolder->RegisterOnEvent(this, ewolEventEntryEnter, ewolEventFileChooserEntryFolderEnter);
|
||||||
m_widgetCurrentFolder->SetExpendX(true);
|
m_widgetCurrentFolder->SetExpendX(true);
|
||||||
m_widgetCurrentFolder->SetFillX(true);
|
m_widgetCurrentFolder->SetFillX(true);
|
||||||
m_widgetCurrentFolder->SetWidth(200);
|
m_widgetCurrentFolder->SetWidth(200);
|
||||||
@ -474,6 +469,7 @@ ewol::FileChooser::FileChooser(void)
|
|||||||
mySizerHori->SubWidgetAdd(myImage);
|
mySizerHori->SubWidgetAdd(myImage);
|
||||||
m_widgetCurrentFileName = new ewol::Entry(m_file);
|
m_widgetCurrentFileName = new ewol::Entry(m_file);
|
||||||
m_widgetCurrentFileName->RegisterOnEvent(this, ewolEventEntryModify, ewolEventFileChooserEntryFile);
|
m_widgetCurrentFileName->RegisterOnEvent(this, ewolEventEntryModify, ewolEventFileChooserEntryFile);
|
||||||
|
m_widgetCurrentFileName->RegisterOnEvent(this, ewolEventEntryEnter, ewolEventFileChooserEntryFileEnter);
|
||||||
m_widgetCurrentFileName->SetExpendX(true);
|
m_widgetCurrentFileName->SetExpendX(true);
|
||||||
m_widgetCurrentFileName->SetFillX(true);
|
m_widgetCurrentFileName->SetFillX(true);
|
||||||
m_widgetCurrentFileName->SetWidth(200);
|
m_widgetCurrentFileName->SetWidth(200);
|
||||||
@ -629,10 +625,12 @@ void ewol::FileChooser::OnReceiveMessage(ewol::EObject * CallerObject, const cha
|
|||||||
// TODO : Change the folder, if it exit ...
|
// TODO : Change the folder, if it exit ...
|
||||||
} else if (ewolEventFileChooserEntryFile == eventId) {
|
} else if (ewolEventFileChooserEntryFile == eventId) {
|
||||||
//==> change the file name
|
//==> change the file name
|
||||||
if (NULL != m_widgetCurrentFileName) {
|
m_file = data;
|
||||||
m_file = m_widgetCurrentFileName->GetValue();
|
// Update the selected file in the list :
|
||||||
|
FileChooserFileList * myListFile = EWOL_CAST_WIDGET_FILE_LIST(m_widgetListFile);
|
||||||
|
if (myListFile != NULL) {
|
||||||
|
myListFile->SelectFile(m_file);
|
||||||
}
|
}
|
||||||
// TODO : Remove file selection
|
|
||||||
} else if (ewolEventFileChooserCancel == eventId) {
|
} else if (ewolEventFileChooserCancel == eventId) {
|
||||||
//==> Auto remove ...
|
//==> Auto remove ...
|
||||||
GenerateEventId(eventId);
|
GenerateEventId(eventId);
|
||||||
@ -663,15 +661,14 @@ void ewol::FileChooser::OnReceiveMessage(ewol::EObject * CallerObject, const cha
|
|||||||
}
|
}
|
||||||
SetFileName("");
|
SetFileName("");
|
||||||
UpdateCurrentFolder();
|
UpdateCurrentFolder();
|
||||||
m_hasSelectedFile = false;
|
|
||||||
} else if (ewolEventFileChooserSelectFile == eventId) {
|
} else if (ewolEventFileChooserSelectFile == eventId) {
|
||||||
m_hasSelectedFile = true;
|
|
||||||
FileChooserFileList * myListFile = EWOL_CAST_WIDGET_FILE_LIST(m_widgetListFile);
|
FileChooserFileList * myListFile = EWOL_CAST_WIDGET_FILE_LIST(m_widgetListFile);
|
||||||
etk::UString file = myListFile->GetSelectedLine();
|
etk::UString file = myListFile->GetSelectedLine();
|
||||||
SetFileName(file);
|
SetFileName(file);
|
||||||
GenerateEventId(eventId);
|
GenerateEventId(eventId);
|
||||||
} else if( ewolEventFileChooserValidateFile == eventId
|
} else if( eventId == ewolEventFileChooserValidateFile
|
||||||
|| (ewolEventFileChooserValidate == eventId && true == m_hasSelectedFile) ) {
|
|| (eventId == ewolEventFileChooserValidate && m_file != "" )
|
||||||
|
|| (eventId == ewolEventFileChooserEntryFileEnter && m_file != "" ) ) {
|
||||||
// select the File ==> generate a validate
|
// select the File ==> generate a validate
|
||||||
GenerateEventId(ewolEventFileChooserValidate);
|
GenerateEventId(ewolEventFileChooserValidate);
|
||||||
MarkToRemove();
|
MarkToRemove();
|
||||||
@ -694,7 +691,6 @@ void ewol::FileChooser::OnReceiveMessage(ewol::EObject * CallerObject, const cha
|
|||||||
}
|
}
|
||||||
SetFileName("");
|
SetFileName("");
|
||||||
UpdateCurrentFolder();
|
UpdateCurrentFolder();
|
||||||
m_hasSelectedFile = false;
|
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
@ -88,7 +88,6 @@ namespace ewol {
|
|||||||
ewol::Widget* m_widgetListFolder;
|
ewol::Widget* m_widgetListFolder;
|
||||||
ewol::Widget* m_widgetListFile;
|
ewol::Widget* m_widgetListFile;
|
||||||
ewol::CheckBox* m_widgetCheckBox;
|
ewol::CheckBox* m_widgetCheckBox;
|
||||||
bool m_hasSelectedFile;
|
|
||||||
etk::UString m_folder;
|
etk::UString m_folder;
|
||||||
etk::UString m_file;
|
etk::UString m_file;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user