[DEV] add correct stdPopUp and start integration of documantation
This commit is contained in:
parent
f73a5b80c4
commit
2235522951
66
doxygen.dox
66
doxygen.dox
@ -4,7 +4,7 @@
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
PROJECT_NAME = "EWOL/ETK: "
|
||||
PROJECT_NAME = "EWOL"
|
||||
PROJECT_NUMBER =
|
||||
OUTPUT_DIRECTORY = "doxygen/"
|
||||
CREATE_SUBDIRS = YES
|
||||
@ -18,7 +18,7 @@ FULL_PATH_NAMES = NO
|
||||
STRIP_FROM_PATH =
|
||||
STRIP_FROM_INC_PATH =
|
||||
SHORT_NAMES = NO
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
JAVADOC_AUTOBRIEF = YES
|
||||
QT_AUTOBRIEF = NO
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
INHERIT_DOCS = YES
|
||||
@ -29,24 +29,21 @@ OPTIMIZE_OUTPUT_FOR_C = YES
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
OPTIMIZE_FOR_FORTRAN = NO
|
||||
OPTIMIZE_OUTPUT_VHDL = NO
|
||||
EXTENSION_MAPPING =
|
||||
BUILTIN_STL_SUPPORT = NO
|
||||
CPP_CLI_SUPPORT = NO
|
||||
SIP_SUPPORT = NO
|
||||
IDL_PROPERTY_SUPPORT = YES
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
SUBGROUPING = YES
|
||||
TYPEDEF_HIDES_STRUCT = NO
|
||||
TYPEDEF_HIDES_STRUCT = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
SYMBOL_CACHE_SIZE = 0
|
||||
EXTRACT_ALL = YES
|
||||
EXTRACT_PRIVATE = YES
|
||||
EXTRACT_PRIVATE = NO
|
||||
EXTRACT_STATIC = YES
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
EXTRACT_LOCAL_METHODS = YES
|
||||
EXTRACT_ANON_NSPACES = YES
|
||||
EXTRACT_LOCAL_CLASSES = NO
|
||||
EXTRACT_LOCAL_METHODS = NO
|
||||
EXTRACT_ANON_NSPACES = NO
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
@ -54,22 +51,21 @@ HIDE_IN_BODY_DOCS = NO
|
||||
INTERNAL_DOCS = YES
|
||||
CASE_SENSE_NAMES = YES
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
SHOW_INCLUDE_FILES = NO
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = YES
|
||||
SORT_BRIEF_DOCS = NO
|
||||
SORT_MEMBERS_CTORS_1ST = NO
|
||||
SORT_GROUP_NAMES = NO
|
||||
SORT_BY_SCOPE_NAME = NO
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = YES
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_TODOLIST = NO
|
||||
GENERATE_TESTLIST = NO
|
||||
GENERATE_BUGLIST = NO
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
SHOW_USED_FILES = NO
|
||||
SHOW_DIRECTORIES = NO
|
||||
SHOW_FILES = YES
|
||||
SHOW_FILES = NO
|
||||
SHOW_NAMESPACES = YES
|
||||
FILE_VERSION_FILTER =
|
||||
LAYOUT_FILE =
|
||||
@ -86,7 +82,13 @@ WARN_LOGFILE = "doxygen.log"
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = sources external/etk external/parsersvg
|
||||
INPUT = sources \
|
||||
external/egami \
|
||||
external/ege \
|
||||
external/ejson \
|
||||
external/esvg \
|
||||
external/etk \
|
||||
external/exml
|
||||
INPUT_ENCODING = UTF-8
|
||||
FILE_PATTERNS = *.c \
|
||||
*.cpp \
|
||||
@ -111,7 +113,7 @@ INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
REFERENCED_BY_RELATION = NO
|
||||
REFERENCES_RELATION = NO
|
||||
REFERENCES_LINK_SOURCE = YES
|
||||
REFERENCES_LINK_SOURCE = NO
|
||||
USE_HTAGS = NO
|
||||
VERBATIM_HEADERS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
@ -211,14 +213,14 @@ PERLMOD_MAKEVAR_PREFIX =
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = YES
|
||||
EXPAND_ONLY_PREDEF = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = NO
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
@ -233,20 +235,20 @@ PERL_PATH = /usr/bin/perl
|
||||
CLASS_DIAGRAMS = YES
|
||||
MSCGEN_PATH =
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
HAVE_DOT = YES
|
||||
HAVE_DOT = NO
|
||||
DOT_FONTNAME = FreeSans
|
||||
DOT_FONTSIZE = 10
|
||||
DOT_FONTPATH =
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
GROUP_GRAPHS = YES
|
||||
UML_LOOK = YES
|
||||
TEMPLATE_RELATIONS = YES
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
CALL_GRAPH = YES
|
||||
CALLER_GRAPH = YES
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
COLLABORATION_GRAPH = NO
|
||||
GROUP_GRAPHS = NO
|
||||
UML_LOOK = NO
|
||||
TEMPLATE_RELATIONS = NO
|
||||
INCLUDE_GRAPH = NO
|
||||
INCLUDED_BY_GRAPH = NO
|
||||
CALL_GRAPH = NO
|
||||
CALLER_GRAPH = NO
|
||||
GRAPHICAL_HIERARCHY = NO
|
||||
DIRECTORY_GRAPH = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
#DOT_PATH = /usr/bin/dot
|
||||
|
18
sources/ewol/docBook.h
Normal file
18
sources/ewol/docBook.h
Normal file
@ -0,0 +1,18 @@
|
||||
/**
|
||||
@mainpage Ewol Library framework
|
||||
|
||||
<center>
|
||||
<h1>Ewol Library framework</h1>
|
||||
Edouard DUPIN <sup>(C)</sup><br/>
|
||||
License : BSD 3 clauses
|
||||
</center>
|
||||
|
||||
Ewol is a basic graphic inteface for :
|
||||
- Linux (X11)
|
||||
- Windows
|
||||
- MacOs
|
||||
- Andoid
|
||||
- Ios (in-progress)
|
||||
|
||||
|
||||
*/
|
@ -337,7 +337,7 @@ void ewol::eInput::state(ewol::keyEvent::type_te _type,
|
||||
// reject pointer == > out of IDs...
|
||||
return;
|
||||
}
|
||||
EWOL_DEBUG("event pointerId=" << _pointerID);
|
||||
EVENT_DEBUG("event pointerId=" << _pointerID);
|
||||
// convert position in open-GL coordonates ...
|
||||
InputPoperty_ts *eventTable = NULL;
|
||||
inputLimit_ts localLimit;
|
||||
@ -361,7 +361,7 @@ void ewol::eInput::state(ewol::keyEvent::type_te _type,
|
||||
ewol::Windows* tmpWindows = m_context.getWindows();
|
||||
|
||||
if (true == _isDown) {
|
||||
EWOL_VERBOSE("GUI : Input ID=" << _pointerID
|
||||
EVENT_DEBUG("GUI : Input ID=" << _pointerID
|
||||
<< " == >" << eventTable[_pointerID].destinationInputId
|
||||
<< " [DOWN] " << _pos);
|
||||
if(true == eventTable[_pointerID].isUsed) {
|
||||
@ -424,7 +424,7 @@ void ewol::eInput::state(ewol::keyEvent::type_te _type,
|
||||
_pos);
|
||||
}
|
||||
} else {
|
||||
EWOL_VERBOSE("GUI : Input ID=" << _pointerID
|
||||
EVENT_DEBUG("GUI : Input ID=" << _pointerID
|
||||
<< " == >" << eventTable[_pointerID].destinationInputId
|
||||
<< " [UP] " << _pos);
|
||||
if(false == eventTable[_pointerID].isUsed) {
|
||||
|
@ -23,8 +23,7 @@ namespace widget {
|
||||
/**
|
||||
* @brief a composed button is a button with an inside composed with the specify XML element == > this permit to generate standard element simple
|
||||
*/
|
||||
class Button : public ewol::Widget
|
||||
{
|
||||
class Button : public ewol::Widget {
|
||||
public:
|
||||
static void init(ewol::WidgetManager& _widgetManager);
|
||||
// Event list of properties
|
||||
|
@ -58,12 +58,16 @@ namespace widget {
|
||||
* @brief Request the Auto-remove when the event input is set outside the widget
|
||||
* @param[in] _state New status
|
||||
*/
|
||||
void setRemoveOnExternClick(bool _state) { m_closeOutEvent = _state; };
|
||||
void setRemoveOnExternClick(bool _state) {
|
||||
m_closeOutEvent = _state;
|
||||
};
|
||||
/**
|
||||
* @brief get the status of the request the Auto-remove when the event input is set outside the widget.
|
||||
* @return the status of the removing
|
||||
*/
|
||||
bool getRemoveOnExternClick(void) const { return m_closeOutEvent; };
|
||||
bool getRemoveOnExternClick(void) const {
|
||||
return m_closeOutEvent;
|
||||
};
|
||||
private:
|
||||
//float m_slidingProgress; //!< ratio progression of a sliding
|
||||
public:
|
||||
@ -96,7 +100,9 @@ namespace widget {
|
||||
virtual void calculateSize(const vec2& _available);
|
||||
virtual bool onEventInput(const ewol::EventInput& _event);
|
||||
//virtual void calculateMinMaxSize(void);
|
||||
virtual const char * const getObjectType(void) { return "ewol::PopUp"; };
|
||||
virtual const char * const getObjectType(void) {
|
||||
return "ewol::PopUp";
|
||||
};
|
||||
virtual ewol::Widget* getWidgetAtPos(const vec2& pos);
|
||||
};
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include <ewol/widget/Widget.h>
|
||||
#include <ewol/widget/Windows.h>
|
||||
#include <ewol/widget/WidgetManager.h>
|
||||
#include <ewol/widget/meta/StdPopUp.h>
|
||||
|
||||
#undef __class__
|
||||
#define __class__ "Windows"
|
||||
@ -227,19 +228,20 @@ void ewol::Windows::createPopUpMessage(enum popUpMessageType _type, const etk::U
|
||||
}
|
||||
switch(_type) {
|
||||
case messageTypeInfo:
|
||||
tmpPopUp->setTitle("Info");
|
||||
tmpPopUp->setTitle("<bold>Info</bold>");
|
||||
break;
|
||||
case messageTypeWarning:
|
||||
tmpPopUp->setTitle("Warning");
|
||||
tmpPopUp->setTitle("<bold><font color=\"orange\">Warning</font></bold>");
|
||||
break;
|
||||
case messageTypeError:
|
||||
tmpPopUp->setTitle("Error");
|
||||
tmpPopUp->setTitle("<bold><font color=\"red\">Error</font></bold>");
|
||||
break;
|
||||
case messageTypeCritical:
|
||||
tmpPopUp->setTitle("Critical");
|
||||
tmpPopUp->setTitle("<bold><font colorBg=\"red\">Critical</font></bold>");
|
||||
break;
|
||||
}
|
||||
tmpPopUp->setComment(_message);
|
||||
tmpPopUp->setButtonLabel(0, "close");
|
||||
tmpPopUp->addButton("close", true);
|
||||
tmpPopUp->setRemoveOnExternClick(true);
|
||||
popUpWidgetPush(tmpPopUp);
|
||||
}
|
||||
|
@ -47,8 +47,8 @@ namespace ewol {
|
||||
ewol::Widget* m_subWidget;
|
||||
etk::Vector<ewol::Widget*> m_popUpWidgetList;
|
||||
public:
|
||||
void setSubWidget(ewol::Widget * widget);
|
||||
void popUpWidgetPush(ewol::Widget * widget);
|
||||
void setSubWidget(ewol::Widget* _widget);
|
||||
void popUpWidgetPush(ewol::Widget* _widget);
|
||||
private:
|
||||
etk::Color<float> m_backgroundColor; //!< reset color of the Main windows
|
||||
public:
|
||||
@ -56,7 +56,9 @@ namespace ewol {
|
||||
* @brief get the background color.
|
||||
* @return A reference on the color
|
||||
*/
|
||||
const etk::Color<float>& getBackgroundColor(void) { return m_backgroundColor; };
|
||||
const etk::Color<float>& getBackgroundColor(void) {
|
||||
return m_backgroundColor;
|
||||
};
|
||||
/**
|
||||
* @brief set the background color.
|
||||
* @param[IN] the new requested color.
|
||||
@ -65,7 +67,9 @@ namespace ewol {
|
||||
protected: // Derived function
|
||||
virtual void systemDraw(const ewol::DrawProperty& _displayProp);
|
||||
public: // Derived function
|
||||
virtual const char * const getObjectType(void) { return "ewol::Windows"; };
|
||||
virtual const char * const getObjectType(void) {
|
||||
return "ewol::Windows";
|
||||
};
|
||||
virtual void onRegenerateDisplay(void);
|
||||
virtual void onObjectRemove(ewol::EObject * _removeObject);
|
||||
virtual void calculateSize(const vec2& _availlable);
|
||||
|
@ -30,8 +30,8 @@ extern "C" {
|
||||
#define __class__ "FileChooser"
|
||||
|
||||
|
||||
extern const char * const ewolEventFileChooserCancel = "ewol-event-file-chooser-cancel";
|
||||
extern const char * const ewolEventFileChooserValidate = "ewol-event-file-chooser-validate";
|
||||
extern const char * const widget::FileChooser::eventCancel = "ewol-event-file-chooser-cancel";
|
||||
extern const char * const widget::FileChooser::eventValidate = "ewol-event-file-chooser-validate";
|
||||
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 ewolEventFileChooserEntryFolderEnter = "ewol-event-file-chooser-modify-entry-folder-enter";
|
||||
@ -44,8 +44,8 @@ extern const char * const ewolEventFileChooserHome = "ewol-event-fil
|
||||
|
||||
|
||||
widget::FileChooser::FileChooser(void) {
|
||||
addEventId(ewolEventFileChooserCancel);
|
||||
addEventId(ewolEventFileChooserValidate);
|
||||
addEventId(eventCancel);
|
||||
addEventId(eventValidate);
|
||||
|
||||
m_widgetTitle = NULL;
|
||||
m_widgetValidate = NULL;
|
||||
@ -146,7 +146,7 @@ widget::FileChooser::FileChooser(void) {
|
||||
" <label>Validate</label>\n"
|
||||
" </sizer>\n"
|
||||
"</composer>\n"));
|
||||
m_widgetValidate->registerOnEvent(this, widget::Button::eventPressed, ewolEventFileChooserValidate);
|
||||
m_widgetValidate->registerOnEvent(this, widget::Button::eventPressed, eventValidate);
|
||||
mySizerHori->subWidgetAdd(m_widgetValidate);
|
||||
}
|
||||
m_widgetCancel = new widget::Button();
|
||||
@ -161,7 +161,7 @@ widget::FileChooser::FileChooser(void) {
|
||||
" <label>Cancel</label>\n"
|
||||
" </sizer>\n"
|
||||
"</composer>\n"));
|
||||
m_widgetCancel->registerOnEvent(this, widget::Button::eventPressed, ewolEventFileChooserCancel);
|
||||
m_widgetCancel->registerOnEvent(this, widget::Button::eventPressed, eventCancel);
|
||||
mySizerHori->subWidgetAdd(m_widgetCancel);
|
||||
}
|
||||
}
|
||||
@ -294,14 +294,14 @@ widget::FileChooser::~FileChooser(void) {
|
||||
|
||||
}
|
||||
|
||||
void widget::FileChooser::setTitle(etk::UString _label) {
|
||||
void widget::FileChooser::setTitle(const etk::UString& _label) {
|
||||
if (NULL == m_widgetTitle) {
|
||||
return;
|
||||
}
|
||||
m_widgetTitle->setLabel(_label);
|
||||
}
|
||||
|
||||
void widget::FileChooser::setValidateLabel(etk::UString _label) {
|
||||
void widget::FileChooser::setValidateLabel(const etk::UString& _label) {
|
||||
if (NULL == m_widgetValidate) {
|
||||
return;
|
||||
}
|
||||
@ -311,7 +311,7 @@ void widget::FileChooser::setValidateLabel(etk::UString _label) {
|
||||
*/
|
||||
}
|
||||
|
||||
void widget::FileChooser::setCancelLabel(etk::UString _label) {
|
||||
void widget::FileChooser::setCancelLabel(const etk::UString& _label) {
|
||||
if (NULL == m_widgetCancel) {
|
||||
return;
|
||||
}
|
||||
@ -321,12 +321,12 @@ void widget::FileChooser::setCancelLabel(etk::UString _label) {
|
||||
*/
|
||||
}
|
||||
|
||||
void widget::FileChooser::setFolder(etk::UString _folder) {
|
||||
void widget::FileChooser::setFolder(const etk::UString& _folder) {
|
||||
m_folder = _folder + "/";
|
||||
updateCurrentFolder();
|
||||
}
|
||||
|
||||
void widget::FileChooser::setFileName(etk::UString _filename) {
|
||||
void widget::FileChooser::setFileName(const etk::UString& _filename) {
|
||||
m_file = _filename;
|
||||
if (NULL == m_widgetCurrentFileName) {
|
||||
return;
|
||||
@ -346,7 +346,7 @@ void widget::FileChooser::onReceiveMessage(const ewol::EMessage& _msg) {
|
||||
if (m_widgetListFile != NULL) {
|
||||
m_widgetListFile->setSelect(m_file);
|
||||
}
|
||||
} else if (ewolEventFileChooserCancel == _msg.getMessage()) {
|
||||
} else if (eventCancel == _msg.getMessage()) {
|
||||
// == > Auto remove ...
|
||||
generateEventId(_msg.getMessage());
|
||||
autoDestroy();
|
||||
@ -380,7 +380,7 @@ void widget::FileChooser::onReceiveMessage(const ewol::EMessage& _msg) {
|
||||
tmpFileCompleatName += m_file;
|
||||
generateEventId(_msg.getMessage(), tmpFileCompleatName);
|
||||
} else if( _msg.getMessage() == ewolEventFileChooserListFileValidate
|
||||
|| (_msg.getMessage() == ewolEventFileChooserValidate && m_file != "" )
|
||||
|| (_msg.getMessage() == eventValidate && m_file != "" )
|
||||
|| (_msg.getMessage() == ewolEventFileChooserEntryFileEnter && m_file != "" ) ) {
|
||||
// select the file == > generate a validate
|
||||
if (_msg.getData() != "") {
|
||||
@ -389,7 +389,7 @@ void widget::FileChooser::onReceiveMessage(const ewol::EMessage& _msg) {
|
||||
EWOL_VERBOSE(" generate a fiel opening : \"" << m_folder << "\" / \"" << m_file << "\"");
|
||||
etk::UString tmpFileCompleatName = m_folder;
|
||||
tmpFileCompleatName += m_file;
|
||||
generateEventId(ewolEventFileChooserValidate, tmpFileCompleatName);
|
||||
generateEventId(eventValidate, tmpFileCompleatName);
|
||||
autoDestroy();
|
||||
} else if(ewolEventFileChooserHome == _msg.getMessage()) {
|
||||
etk::UString tmpUserFolder = etk::getUserHomeFolder();
|
||||
|
@ -18,25 +18,16 @@
|
||||
#include <ewol/widget/CheckBox.h>
|
||||
#include <ewol/widget/ListFileSystem.h>
|
||||
|
||||
extern const char * const ewolEventFileChooserCancel;
|
||||
extern const char * const ewolEventFileChooserValidate;
|
||||
|
||||
namespace widget {
|
||||
class FileChooser : public widget::PopUp {
|
||||
public:
|
||||
// Event list of properties
|
||||
static const char* const eventCancel;
|
||||
static const char* const eventValidate;
|
||||
// Config list of properties
|
||||
public:
|
||||
FileChooser(void);
|
||||
virtual ~FileChooser(void);
|
||||
// Derived function
|
||||
virtual const char * const getObjectType(void) { return "Ewol::fileChooser"; };
|
||||
virtual void onReceiveMessage(const ewol::EMessage& _msg);
|
||||
virtual void onObjectRemove(ewol::EObject * removeObject);
|
||||
void setTitle(etk::UString label);
|
||||
void setValidateLabel(etk::UString label);
|
||||
void setCancelLabel(etk::UString label);
|
||||
void setFolder(etk::UString folder);
|
||||
void setFileName(etk::UString filename);
|
||||
etk::UString getCompleateFileName(void);
|
||||
void updateCurrentFolder(void);
|
||||
private:
|
||||
widget::Label* m_widgetTitle;
|
||||
widget::Button* m_widgetValidate;
|
||||
@ -48,6 +39,20 @@ namespace widget {
|
||||
widget::CheckBox* m_widgetCheckBox;
|
||||
etk::UString m_folder;
|
||||
etk::UString m_file;
|
||||
public:
|
||||
void setTitle(const etk::UString& _label);
|
||||
void setValidateLabel(const etk::UString& _label);
|
||||
void setCancelLabel(const etk::UString& _label);
|
||||
void setFolder(const etk::UString& _folder);
|
||||
void setFileName(const etk::UString& _filename);
|
||||
etk::UString getCompleateFileName(void);
|
||||
void updateCurrentFolder(void);
|
||||
public: // Derived function
|
||||
virtual const char * const getObjectType(void) {
|
||||
return "Ewol::fileChooser";
|
||||
};
|
||||
virtual void onReceiveMessage(const ewol::EMessage& _msg);
|
||||
virtual void onObjectRemove(ewol::EObject* _removeObject);
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -6,10 +6,8 @@
|
||||
* @license BSD v3 (see license file)
|
||||
*/
|
||||
|
||||
#include <ewol/widget/meta/stdPopUp.h>
|
||||
#include <ewol/widget/Button.h>
|
||||
#include <ewol/widget/SizerHori.h>
|
||||
#include <ewol/widget/SizerVert.h>
|
||||
#include <ewol/widget/meta/StdPopUp.h>
|
||||
#include <ewol/widget/Sizer.h>
|
||||
#include <ewol/widget/Spacer.h>
|
||||
#include <ewol/widget/Label.h>
|
||||
#include <ewol/widget/WidgetManager.h>
|
||||
@ -18,111 +16,124 @@
|
||||
#undef __class__
|
||||
#define __class__ "ewol::StdPopUp"
|
||||
|
||||
const char * const widget::StdPopUp::eventButton = "ewol-event-pop-up-button";
|
||||
static const char * const eventButtonExit = "ewol-event-pop-up-exit-button";
|
||||
|
||||
widget::StdPopUp::StdPopUp(void) :
|
||||
m_title(NULL),
|
||||
m_comment(NULL) {
|
||||
addEventId(eventButton);
|
||||
m_comment(NULL),
|
||||
m_subBar(NULL) {
|
||||
setMinSize(ewol::Dimension(vec2(20,10),ewol::Dimension::Pourcent));
|
||||
|
||||
widget::Sizer* mySizerVert = NULL;
|
||||
widget::Spacer* mySpacer = NULL;
|
||||
|
||||
|
||||
ewol::sizerVert * mySizerVert = NULL;
|
||||
ewol::sizerHori * mySizerHori = NULL;
|
||||
ewol::Button * myButton = NULL;
|
||||
ewol::Entry * myEntry = NULL;
|
||||
ewol::Spacer * mySpacer = NULL;
|
||||
fileChooserFileList * myListFile = NULL;
|
||||
fileChooserFolderList * myListFolder = NULL;
|
||||
ewol::Label * myLabel = NULL;
|
||||
|
||||
mySizerVert = new ewol::sizerVert();
|
||||
mySizerVert = new widget::Sizer(widget::Sizer::modeVert);
|
||||
// set it in the pop-up-system :
|
||||
subWidgetSet(mySizerVert);
|
||||
setSubWidget(mySizerVert);
|
||||
|
||||
myLabel = new ewol::Label("File chooser ...");
|
||||
m_widgetTitleId = myLabel->getWidgetId();
|
||||
mySizerVert->subWidgetAdd(myLabel);
|
||||
m_subBar = new widget::Sizer(widget::Sizer::modeHori);
|
||||
m_subBar->lockExpand(bvec2(true,true));
|
||||
m_subBar->setExpand(bvec2(true,false));
|
||||
mySizerVert->subWidgetAdd(m_subBar);
|
||||
mySpacer = new widget::Spacer();
|
||||
mySpacer->setExpand(bvec2(true,false));
|
||||
m_subBar->subWidgetAdd(mySpacer);
|
||||
|
||||
mySizerHori = new ewol::sizerHori();
|
||||
mySizerHori->lockExpendContamination(true);
|
||||
mySizerVert->subWidgetAdd(mySizerHori);
|
||||
myButton = new ewol::Button("<-");
|
||||
myButton->externLinkOnEvent("ewol Button Pressed", getWidgetId(), ewolEventFileChooserFolderUp );
|
||||
mySizerHori->subWidgetAdd(myButton);
|
||||
myEntry = new ewol::Entry("~/");
|
||||
m_widgetCurrentFolderId = myEntry->getWidgetId();
|
||||
myEntry->setExpendX(true);
|
||||
myEntry->setFillX(true);
|
||||
myEntry->setWidth(200);
|
||||
mySizerHori->subWidgetAdd(myEntry);
|
||||
|
||||
mySizerHori = new ewol::sizerHori();
|
||||
mySizerHori->lockExpendContamination(true);
|
||||
mySizerVert->subWidgetAdd(mySizerHori);
|
||||
myListFolder = new fileChooserFolderList();
|
||||
m_widgetListFolderId = myListFolder->getWidgetId();
|
||||
//myList->setExpendX(true);
|
||||
myListFolder->setExpendY(true);
|
||||
myListFolder->setFillY(true);
|
||||
mySizerHori->subWidgetAdd(myListFolder);
|
||||
myListFile = new fileChooserFileList();
|
||||
m_widgetListFileId = myListFile->getWidgetId();
|
||||
myListFile->setExpendY(true);
|
||||
myListFile->setFillX(true);
|
||||
myListFile->setExpendY(true);
|
||||
myListFile->setFillY(true);
|
||||
mySizerHori->subWidgetAdd(myListFile);
|
||||
|
||||
mySizerHori = new ewol::sizerHori();
|
||||
mySizerHori->lockExpendContamination(true);
|
||||
mySizerVert->subWidgetAdd(mySizerHori);
|
||||
mySpacer = new ewol::Spacer();
|
||||
mySpacer->setExpendX(true);
|
||||
mySizerHori->subWidgetAdd(mySpacer);
|
||||
myButton = new ewol::Button("Open");
|
||||
m_widgetValidateId = myButton->getWidgetId();
|
||||
myButton->externLinkOnEvent("ewol Button Pressed", getWidgetId(), ewolEventFileChooserValidate);
|
||||
mySizerHori->subWidgetAdd(myButton);
|
||||
myButton = new ewol::Button("Cancel");
|
||||
m_widgetCancelId = myButton->getWidgetId();
|
||||
myButton->externLinkOnEvent("ewol Button Pressed", getWidgetId(), ewolEventFileChooserCancel);
|
||||
mySizerHori->subWidgetAdd(myButton);
|
||||
mySpacer = new widget::Spacer();
|
||||
mySpacer->setExpand(bvec2(true,false));
|
||||
mySpacer->setColor(etk::Color<>(0x888888FF));
|
||||
mySpacer->setMinSize(ewol::Dimension(vec2(0,3),ewol::Dimension::Pixel));
|
||||
mySizerVert->subWidgetAdd(mySpacer);
|
||||
|
||||
mySpacer = new widget::Spacer();
|
||||
mySpacer->setExpand(bvec2(true,false));
|
||||
mySpacer->setMinSize(ewol::Dimension(vec2(0,5),ewol::Dimension::Pixel));
|
||||
mySizerVert->subWidgetAdd(mySpacer);
|
||||
|
||||
m_comment = new widget::Label("No Label");
|
||||
m_comment->setExpand(bvec2(true,true));
|
||||
mySizerVert->subWidgetAdd(m_comment);
|
||||
|
||||
mySpacer = new widget::Spacer();
|
||||
mySpacer->setExpand(bvec2(true,false));
|
||||
mySpacer->setMinSize(ewol::Dimension(vec2(0,5),ewol::Dimension::Pixel));
|
||||
mySizerVert->subWidgetAdd(mySpacer);
|
||||
|
||||
mySpacer = new widget::Spacer();
|
||||
mySpacer->setExpand(bvec2(true,false));
|
||||
mySpacer->setColor(etk::Color<>(0x888888FF));
|
||||
mySpacer->setMinSize(ewol::Dimension(vec2(0,3),ewol::Dimension::Pixel));
|
||||
mySizerVert->subWidgetAdd(mySpacer);
|
||||
|
||||
m_title = new widget::Label("<bold>Message</bold>");
|
||||
m_title->setExpand(bvec2(true,false));
|
||||
m_title->setFill(bvec2(true,true));
|
||||
mySizerVert->subWidgetAdd(m_title);
|
||||
}
|
||||
|
||||
widget::StdPopUp::~StdPopUp(void) {
|
||||
|
||||
}
|
||||
|
||||
void widget::StdPopUp::setTitle(const etk::UString& _label) {
|
||||
ewol::Label * tmpWidget = (ewol::Label*)ewol::widgetManager::get(m_widgetTitleId);
|
||||
if (NULL == tmpWidget) {
|
||||
void widget::StdPopUp::setTitle(const etk::UString& _text) {
|
||||
if (m_title == NULL) {
|
||||
return;
|
||||
}
|
||||
tmpWidget->setLabel(_label);
|
||||
m_title->setLabel(_text);
|
||||
markToRedraw();
|
||||
}
|
||||
|
||||
void widget::StdPopUp::setValidateLabel(const etk::UString& _label) {
|
||||
ewol::Button * tmpWidget = (ewol::Button*)ewol::widgetManager::get(m_widgetValidateId);
|
||||
if (NULL == tmpWidget) {
|
||||
void widget::StdPopUp::setComment(const etk::UString& _text) {
|
||||
if (m_comment == NULL) {
|
||||
return;
|
||||
}
|
||||
tmpWidget->setLabel(_label);
|
||||
m_comment->setLabel(_text);
|
||||
markToRedraw();
|
||||
}
|
||||
|
||||
void widget::StdPopUp::setCancelLabel(const etk::UString& _label) {
|
||||
ewol::Button * tmpWidget = (ewol::Button*)ewol::widgetManager::get(m_widgetCancelId);
|
||||
if (NULL == tmpWidget) {
|
||||
widget::Button* widget::StdPopUp::addButton(const etk::UString& _text, bool _autoExit) {
|
||||
if (m_subBar == NULL) {
|
||||
EWOL_ERROR("button-bar does not existed ...");
|
||||
return NULL;
|
||||
}
|
||||
widget::Button* myButton = new widget::Button();
|
||||
if (myButton == NULL) {
|
||||
EWOL_ERROR("Can not allocate new button ...");
|
||||
return NULL;
|
||||
}
|
||||
myButton->setSubWidget(new widget::Label(_text));
|
||||
if(_autoExit == true) {
|
||||
myButton->registerOnEvent(this, widget::Button::eventPressed, eventButtonExit);
|
||||
}
|
||||
m_subBar->subWidgetAdd(myButton);
|
||||
markToRedraw();
|
||||
return myButton;
|
||||
}
|
||||
|
||||
void widget::StdPopUp::onObjectRemove(ewol::EObject* _removeObject) {
|
||||
// call parent:
|
||||
widget::PopUp::onObjectRemove(_removeObject);
|
||||
if (_removeObject == m_subBar) {
|
||||
m_subBar = NULL;
|
||||
markToRedraw();
|
||||
return;
|
||||
}
|
||||
if (_removeObject == m_comment) {
|
||||
m_comment = NULL;
|
||||
markToRedraw();
|
||||
return;
|
||||
}
|
||||
if (_removeObject == m_title) {
|
||||
m_title = NULL;
|
||||
markToRedraw();
|
||||
return;
|
||||
}
|
||||
tmpWidget->setLabel(_label);
|
||||
}
|
||||
|
||||
bool widget::StdPopUp::onEventAreaExternal(int32_t _widgetID, const char *_generateEventId, const char *_eventExternId, float _x, float _y) {
|
||||
EWOL_INFO("Receive Event from the BT ... : widgetid=" << _widgetID << "\"" << _generateEventId << "\" == > internalEvent=\"" << _eventExternId << "\"" );
|
||||
if (ewolEventFileChooserCancel == _eventExternId) {
|
||||
// == > Auto remove ...
|
||||
|
||||
void widget::StdPopUp::onReceiveMessage(const ewol::EMessage& _msg) {
|
||||
// call parent:
|
||||
widget::PopUp::onReceiveMessage(_msg);
|
||||
if (_msg.getMessage() == eventButtonExit) {
|
||||
autoDestroy();
|
||||
}
|
||||
return genEventInputExternal(_eventExternId, _x, _y);
|
||||
}
|
||||
|
@ -9,33 +9,79 @@
|
||||
#ifndef __EWOL_STD_POP_UP_H__
|
||||
#define __EWOL_STD_POP_UP_H__
|
||||
|
||||
#include <etk/Types.h>
|
||||
#include <ewol/Debug.h>
|
||||
#include <ewol/widget/PopUp.h>
|
||||
#include <ewol/widget/Label.h>
|
||||
#include <ewol/widget/Button.h>
|
||||
#include <ewol/widget/Sizer.h>
|
||||
|
||||
namespace widget {
|
||||
/**
|
||||
* @brief The std pop up widget is a siple message widget to notyfy user of some simple things, like:
|
||||
*/
|
||||
/**
|
||||
* @page DSP_Perfo Performances :
|
||||
* <pre>
|
||||
* +---------------------------------+---+---+---+
|
||||
* | Windows name... | _ | O | X |
|
||||
* +---------------------------------+---+---+---+
|
||||
* | |
|
||||
* | |
|
||||
* | |
|
||||
* | +-------------------+ |
|
||||
* | | Erreur: | |
|
||||
* | | | |
|
||||
* | | Message to diplay | |
|
||||
* | | to user | |
|
||||
* | | | |
|
||||
* | | Close | |
|
||||
* | +-------------------+ |
|
||||
* | |
|
||||
* | |
|
||||
* | |
|
||||
* +---------------------------------------------+
|
||||
* </pre>
|
||||
*/
|
||||
class StdPopUp : public widget::PopUp {
|
||||
public:
|
||||
// Event list of properties
|
||||
static const char * const eventButton;
|
||||
public:
|
||||
/**
|
||||
* @brief std-pop-up constructor.
|
||||
*/
|
||||
StdPopUp(void);
|
||||
/**
|
||||
* @brief std-pop-up destructor.
|
||||
*/
|
||||
~StdPopUp(void);
|
||||
// Derived function
|
||||
protected:
|
||||
widget::Label* m_title; //!< Title Label widget
|
||||
public:
|
||||
/**
|
||||
* @brief Set the title string.
|
||||
* @param[in] _text Decorated text to diplay in title.
|
||||
*/
|
||||
void setTitle(const etk::UString& _text);
|
||||
protected:
|
||||
widget::Label* m_comment; //!< Comment label widget
|
||||
public:
|
||||
/**
|
||||
* @brief Set the commentary string.
|
||||
* @param[in] _text Decorated text to diplay in Comment.
|
||||
*/
|
||||
void setComment(const etk::UString& _text);
|
||||
protected:
|
||||
widget::Sizer* m_subBar; //!< subwidget bar containing all the button.
|
||||
public:
|
||||
/**
|
||||
* @brief Add a buttom button.
|
||||
* @param[in] _text Decorated text to diplay in button.
|
||||
*/
|
||||
widget::Button* addButton(const etk::UString& _text, bool _autoExit=false);
|
||||
public: // Derived function
|
||||
virtual const char * const getObjectType(void) {
|
||||
return "ewol::StdPopUp";
|
||||
};
|
||||
void setTitle(const etk::UString& _text);
|
||||
void setComment(const etk::UString& _text);
|
||||
void addButton(const etk::UString& _text);
|
||||
private:
|
||||
widget::Label* m_title;
|
||||
widget::Label* m_comment;
|
||||
etk::Vector<widget::Button*> m_button;
|
||||
virtual void onObjectRemove(ewol::EObject* _removeObject);
|
||||
virtual void onReceiveMessage(const ewol::EMessage& _msg);
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user