15 Commits
1.1.1 ... 1.1.2

72 changed files with 693 additions and 637 deletions

4
CMakeLists.txt Normal file
View File

@@ -0,0 +1,4 @@
cmake_minimum_required(VERSION 2.8)
SUBDIRS(${CMAKE_CURRENT_SOURCE_DIR}/../ewol)
SUBDIRS(sources)

View File

@@ -46,8 +46,8 @@ download the software :
http://developer.android.com/tools/sdk/ndk/index.html
http://developer.android.com/sdk/index.html
==> you need to download sub package of the NDK (refer to the NDK doccumentation) but only supported android version >4.0
cd ../edn
# generate .so
cd ..
# Generate package and install on Android device (in debug mode a generic key is set)
../ewol/build/lutin.py --color --target=Android --mode=debug edn-install
# to show the log :
../ewol/build/lutin.py --target=Android edn-log
@@ -55,8 +55,11 @@ download the software :
(Windows) Compile software & install
cd yourDevFolder/edn
../ewol/build/lutin.py --color --target=Windows --mode=debug
cd yourDevFolder
../ewol/build/lutin.py --color --target=Windows --mode=debug edn
#we have many problem for windows compilation now...
(MAC) All needed and some useful packages
@@ -65,8 +68,27 @@ download the software :
- Xcode ==> for all developement packages
- in Xcode : XCode->Setting->Download and install component: "Command Line Tools"
cd yourDevFolder/edn
../ewol/build/lutin.py --color --mode=debug
cd yourDevFolder
../ewol/build/lutin.py --color --mode=debug edn
(IOs) All needed and some useful packages
- Git access (client you want or : http://code.google.com/p/git-osx-installer/ ==>need a ctrl+click to remove the normal installation control)
- Xcode ==> for all developement packages
- in Xcode : XCode->Setting->Download and install component: "Command Line Tools"
for porting on IOs you need a developper account
cd yourDevFolder
# compile and install on simulator (no developper account needed)
../ewol/build/lutin.py --color --target=IOs --mode=debug --simulation edn-intall
# launch IOs simulator in xcode, and your application will appear on the second page (32 bit mode only)
# compile and install on board
../ewol/build/lutin.py --color --target=IOs --mode=debug edn-intall
# compile and install on board and debug mode :
../ewol/build/lutin.py --color --target=IOs --mode=debug edn-log
On linux you can generate 3 board in one time

View File

@@ -1,68 +0,0 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux Kernel Configuration
#
#
# Modules
#
# CONFIG_BUILD_AGG is not set
# CONFIG_BUILD_LINEARMATH is not set
# CONFIG_BUILD_BULLET is not set
# CONFIG_BUILD_ETK is not set
# CONFIG_BUILD_FREETYPE is not set
# CONFIG_BUILD_LUA is not set
# CONFIG_BUILD_OGG is not set
# CONFIG_BUILD_PARSERSVG is not set
# CONFIG_BUILD_LIBPNG is not set
# CONFIG_BUILD_TINYXML is not set
# CONFIG_BUILD_ZLIB is not set
# CONFIG_BUILD_LIBZIP is not set
# CONFIG_BUILD_EWOL is not set
CONFIG_BUILD_EDN=y
#
# ewol
#
#
# General
#
CONFIG___EWOL_APPL_BASIC_TITLE__="Edn : Sources Code Editor"
CONFIG___EWOL_INTEGRATED_FONT__=y
#
# Android
#
CONFIG___EWOL_ANDROID_MINIMUM_SDK_VERSION__=9
# CONFIG___EWOL_ANDROID_SHOW_TITLE__ is not set
CONFIG___EWOL_ANDROID_ORIENTATION_AUTO__=y
# CONFIG___EWOL_ANDROID_ORIENTATION_LANDSCAPE__ is not set
# CONFIG___EWOL_ANDROID_ORIENTATION_PORTRAIT__ is not set
#
# Permissions
#
CONFIG___ANDROID_PERMISSION__WRITE_EXTERNAL_STORAGE__=y
# CONFIG___ANDROID_PERMISSION__CAMERA__ is not set
# CONFIG___ANDROID_PERMISSION__INTERNET__ is not set
# CONFIG___ANDROID_PERMISSION__MODIFY_AUDIO_SETTINGS__ is not set
# CONFIG___ANDROID_PERMISSION__READ_CALENDAR__ is not set
# CONFIG___ANDROID_PERMISSION__READ_CONTACTS__ is not set
# CONFIG___ANDROID_PERMISSION__READ_FRAME_BUFFER__ is not set
# CONFIG___ANDROID_PERMISSION__READ_PROFILE__ is not set
# CONFIG___ANDROID_PERMISSION__RECORD_AUDIO__ is not set
# CONFIG___ANDROID_PERMISSION__SET_ORIENTATION__ is not set
# CONFIG___ANDROID_PERMISSION__VIBRATE__ is not set
# CONFIG___ANDROID_PERMISSION__ACCESS_COARSE_LOCATION__ is not set
# CONFIG___ANDROID_PERMISSION__ACCESS_FINE_LOCATION__ is not set
#
# edn
#
#
# General
#
CONFIG_APPL_BUFFER_FONT_NORMAL=y
# CONFIG_APPL_BUFFER_FONT_DISTANCE_FIELD is not set

View File

@@ -1,49 +0,0 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux Kernel Configuration
#
#
# Modules
#
# CONFIG_BUILD_AGG is not set
# CONFIG_BUILD_LINEARMATH is not set
# CONFIG_BUILD_BULLET is not set
# CONFIG_BUILD_ETK is not set
# CONFIG_BUILD_FREETYPE is not set
# CONFIG_BUILD_LUA is not set
# CONFIG_BUILD_OGG is not set
# CONFIG_BUILD_PARSERSVG is not set
# CONFIG_BUILD_LIBPNG is not set
# CONFIG_BUILD_PORTAUDIO is not set
# CONFIG_BUILD_TINYXML is not set
# CONFIG_BUILD_ZLIB is not set
# CONFIG_BUILD_LIBZIP is not set
# CONFIG_BUILD_EWOL is not set
CONFIG_BUILD_EDN=y
#
# ewol
#
#
# General
#
CONFIG___EWOL_APPL_BASIC_TITLE__="Edn : Sources Code Editor"
# CONFIG___EWOL_INTEGRATED_FONT__ is not set
#
# Linux
#
CONFIG___EWOL_LINUX_GUI_MODE_X11__=y
# CONFIG___EWOL_LINUX_GUI_MODE_DIRECT_FB__ is not set
#
# edn
#
#
# General
#
CONFIG_APPL_BUFFER_FONT_NORMAL=y
# CONFIG_APPL_BUFFER_FONT_DISTANCE_FIELD is not set

View File

@@ -1,48 +0,0 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux Kernel Configuration
#
#
# Modules
#
# CONFIG_BUILD_AGG is not set
# CONFIG_BUILD_LINEARMATH is not set
# CONFIG_BUILD_BULLET is not set
# CONFIG_BUILD_ETK is not set
# CONFIG_BUILD_FREETYPE is not set
# CONFIG_BUILD_LUA is not set
# CONFIG_BUILD_OGG is not set
# CONFIG_BUILD_PARSERSVG is not set
# CONFIG_BUILD_LIBPNG is not set
# CONFIG_BUILD_TINYXML is not set
# CONFIG_BUILD_ZLIB is not set
# CONFIG_BUILD_LIBZIP is not set
# CONFIG_BUILD_EWOL is not set
CONFIG_BUILD_EDN=y
#
# ewol
#
#
# General
#
CONFIG___EWOL_APPL_BASIC_TITLE__="Edn : Sources Code Editor"
CONFIG___EWOL_INTEGRATED_FONT__=y
#
# Linux
#
CONFIG___EWOL_LINUX_GUI_MODE_X11__=y
# CONFIG___EWOL_LINUX_GUI_MODE_DIRECT_FB__ is not set
#
# edn
#
#
# General
#
CONFIG_APPL_BUFFER_FONT_NORMAL=y
# CONFIG_APPL_BUFFER_FONT_DISTANCE_FIELD is not set

View File

@@ -1,43 +0,0 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux Kernel Configuration
#
#
# Modules
#
# CONFIG_BUILD_AGG is not set
# CONFIG_BUILD_LINEARMATH is not set
# CONFIG_BUILD_BULLET is not set
# CONFIG_BUILD_ETK is not set
# CONFIG_BUILD_FREETYPE is not set
# CONFIG_BUILD_GLEW is not set
# CONFIG_BUILD_LUA is not set
# CONFIG_BUILD_OGG is not set
# CONFIG_BUILD_PARSERSVG is not set
# CONFIG_BUILD_LIBPNG is not set
# CONFIG_BUILD_TINYXML is not set
# CONFIG_BUILD_ZLIB is not set
# CONFIG_BUILD_LIBZIP is not set
# CONFIG_BUILD_EWOL is not set
CONFIG_BUILD_EDN=y
#
# ewol
#
#
# General
#
CONFIG___EWOL_APPL_BASIC_TITLE__="Ewol Basic Title"
CONFIG___EWOL_INTEGRATED_FONT__=y
#
# edn
#
#
# General
#
CONFIG_APPL_BUFFER_FONT_NORMAL=y
# CONFIG_APPL_BUFFER_FONT_DISTANCE_FIELD is not set

View File

@@ -12,15 +12,15 @@
<button name="SEARCH:replace">
<image src="THEME:GUI:Replace.edf" fill="true" size="7,7mm" distance-field="true"/>
</button>
<button name="SEARCH:case">
<button name="SEARCH:case" toggle="true">
<image src="THEME:GUI:CaseSensitive.edf" fill="true" size="7,7mm" hover="Close search bar" distance-field="true"/>
<image src="THEME:GUI:CaseSensitive.edf" fill="true" size="7,7mm" hover="Close search bar" distance-field="true"/>
</button>
<button name="SEARCH:wrap">
<button name="SEARCH:wrap" toggle="true">
<image src="THEME:GUI:WrapAround.edf" fill="true" size="7,7mm" hover="Close search bar" distance-field="true"/>
<image src="THEME:GUI:WrapAround.edf" fill="true" size="7,7mm" hover="Close search bar" distance-field="true"/>
</button>
<button name="SEARCH:up-down">
<button name="SEARCH:up-down" toggle="true">
<image src="THEME:GUI:Up.edf" fill="true" size="7,7mm" hover="Close search bar" distance-field="true"/>
<image src="THEME:GUI:Down.edf" fill="true" size="7,7mm" hover="Close search bar" distance-field="true"/>
</button>

View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<EdnLang version="0.1" lang="C/C++">
<ext>CMakeLists.txt</ext>
<ext>CMakeCache.txt</ext>
<pass1>
<rule name="my comment doxygen">
<color>commentDoxygen</color>
<start>##</start>
<end>\n</end>
</rule>
<rule name="my todo comment">
<color>SYNTAX_ERROR</color>
<start>#[ \t]TODO[ \t]*:</start>
<end>\n</end>
<EscapeChar>\</EscapeChar>
</rule>
<rule name="my comment">
<color>comment</color>
<start>#</start>
<end>\n</end>
<EscapeChar>\</EscapeChar>
</rule>
<rule name="doubleQuteText">
<color>doubleQuoteText</color>
<start>"</start>
<end>"</end>
<EscapeChar>\</EscapeChar>
</rule>
</pass1>
<pass2> <!-- Parse on display data ==> nor regenerate every display but every time modification apear -->
<rule name="my keyword">
<color>keyword</color>
<start>\@foreach|message|endforeach|if|else|endif|list|file|string\@</start>
</rule>
<rule name="my function keyword">
<color>systemFunction</color>
<start>\@set|include_directories|add_definitions|add_library|include_directories|target_link_libraries|project|include|check_include_file|enable_testing|option|cmake_minimum_required|add_definitions|check_include_file|configure_file|include_directories|add_custom_command|add_executable|add_test\@</start>
</rule>
<rule name="Variable">
<color>inputFunction</color>
<start>${</start>
<end>}</end>
</rule>
<rule name="numeric constant">
<color>number</color>
<start>\@((0(x|X)[0-9a-fA-F]*)|(\d+\.?\d*|\.\d+)((e|E)(\+|\-)?\d+)?)(L|l|UL|ul|u|U|F|f)?\@</start>
</rule>
<rule name="BIG LETTER">
<color>macro</color>
<start>\@[A-Z_][A-Z_0-9]{3,500}\@</start>
</rule>
<rule name="Function name">
<color>functionName</color>
<start>\@(\w|_)+[ \t]*\(</start>
</rule>
</pass2>
</EdnLang>

110
sources/CMakeLists.txt Normal file
View File

@@ -0,0 +1,110 @@
cmake_minimum_required(VERSION 2.8)
# Declare the project
project(edn)
##
## Include C++ X11 dependency ... (check correct flags)
##
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
else()
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()
endif()
# set output path:
set(LIBRARY_OUTPUT_PATH lib/${CMAKE_BUILD_TYPE})
include_directories(.)
#Create src file list
set(src_files
appl/ctags/readtags.cpp
appl/debug.cpp
appl/global.cpp
appl/globalMsg.cpp
appl/init.cpp
appl/Gui/BufferView.cpp
appl/Gui/TextViewer.cpp
appl/Gui/ViewerManager.cpp
appl/Gui/MainWindows.cpp
appl/Gui/Search.cpp
appl/Gui/TagFileSelection.cpp
appl/Gui/TagFileList.cpp
appl/Gui/WorkerSaveFile.cpp
appl/Gui/WorkerSaveAllFile.cpp
appl/Gui/WorkerCloseFile.cpp
appl/Gui/WorkerCloseAllFile.cpp
appl/Buffer.cpp
appl/BufferManager.cpp
appl/TextPlugin.cpp
appl/TextPluginCopy.cpp
appl/TextPluginMultiLineTab.cpp
appl/TextPluginAutoIndent.cpp
appl/TextPluginHistory.cpp
appl/TextPluginRmLine.cpp
appl/TextPluginSelectAll.cpp
appl/TextPluginCtags.cpp
appl/TextPluginManager.cpp
appl/GlyphDecoration.cpp
appl/GlyphPainting.cpp
appl/HighlightPattern.cpp
appl/Highlight.cpp
appl/HighlightManager.cpp
)
add_definitions( -DDEBUG_LEVEL=3 )
add_definitions( -DDEBUG=1 )
add_definitions( -DPROJECT_NAME="edn" )
if (APPLE)
add_definitions( -D__TARGET_OS__MacOs )
elseif (UNIX)
add_definitions( -D__TARGET_OS__Linux )
elseif (WIN32)
add_definitions( -D__TARGET_OS__Windows )
endif ()
# read version :
file (STRINGS "tag" BUILD_VERSION)
add_definitions( -DAPPL_VERSION="${BUILD_VERSION}" )
#Create a static Lib:
add_executable(edn ${src_files} )
include_directories(${zlib_SOURCE_DIR}/contrib/)
include_directories(${linearmath_SOURCE_DIR}/bullet/src/)
include_directories(${etk_SOURCE_DIR})
include_directories(${freetype_SOURCE_DIR})
include_directories(${exml_SOURCE_DIR})
include_directories(${ejson_SOURCE_DIR})
include_directories(${egami_SOURCE_DIR})
include_directories(${edtaa3_SOURCE_DIR})
include_directories(${date_SOURCE_DIR})
include_directories(${agg_SOURCE_DIR})
include_directories(${ewol_SOURCE_DIR})
#target_link_libraries(edn ewol)
target_link_libraries(edn ewol linearmath zlib etk freetype exml ejson egami edtaa3 date esvg png)
if (APPLE)
target_link_libraries(edn
"-framework Cocoa"
"-framework OpenGL"
"-framework QuartzCore"
"-framework AppKit"
)
elseif (UNIX)
target_link_libraries(edn -lGL -lX11 -lpthread)
elseif (WIN32)
endif ()

View File

@@ -13,13 +13,15 @@
#include <ewol/context/clipBoard.h>
#include <appl/HighlightManager.h>
#undef __class__
#define __class__ "Buffer"
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";
const char* const appl::Buffer::eventChangeName = "edn-buffer-name-change";
appl::Buffer::Iterator& appl::Buffer::Iterator::operator++ (void) {
appl::Buffer::Iterator& appl::Buffer::Iterator::operator++ () {
m_value = u32char::Null;
if (m_current < 0) {
m_current = 0;
@@ -41,7 +43,7 @@ appl::Buffer::Iterator& appl::Buffer::Iterator::operator++ (void) {
return *this;
}
appl::Buffer::Iterator& appl::Buffer::Iterator::operator-- (void) {
appl::Buffer::Iterator& appl::Buffer::Iterator::operator-- () {
m_value = u32char::Null;
if (m_data != NULL) {
if (m_current > 0) {
@@ -62,7 +64,7 @@ appl::Buffer::Iterator& appl::Buffer::Iterator::operator-- (void) {
return *this;
}
char32_t appl::Buffer::Iterator::operator* (void) {
char32_t appl::Buffer::Iterator::operator* () {
if (m_value != u32char::Null) {
return m_value;
}
@@ -92,32 +94,32 @@ appl::Buffer::Iterator appl::Buffer::position(int64_t _pos) {
return appl::Buffer::Iterator(this, _pos);
}
appl::Buffer::Iterator appl::Buffer::begin(void) {
appl::Buffer::Iterator appl::Buffer::begin() {
return position(0);
}
appl::Buffer::Iterator appl::Buffer::end(void) {
appl::Buffer::Iterator appl::Buffer::end() {
// TODO : chek the validity of the char ...
return position( m_data.size() );
}
appl::Buffer::Iterator appl::Buffer::cursor(void) {
appl::Buffer::Iterator appl::Buffer::cursor() {
if (m_cursorPos<= 0) {
return begin();
}
return position( m_cursorPos );
}
appl::Buffer::Iterator appl::Buffer::selectStart(void) {
appl::Buffer::Iterator appl::Buffer::selectStart() {
return position( getStartSelectionPos() );
}
appl::Buffer::Iterator appl::Buffer::selectStop(void) {
appl::Buffer::Iterator appl::Buffer::selectStop() {
return position( getStopSelectionPos() );
}
appl::Buffer::Buffer(void) :
appl::Buffer::Buffer() :
m_hasFileName(false),
m_fileName(""),
m_isModify(false),
@@ -136,15 +138,18 @@ appl::Buffer::Buffer(void) :
addEventId(eventChangeName);
}
appl::Buffer::~Buffer(void) {
appl::Buffer::~Buffer() {
if (m_highlight == NULL) {
appl::Highlight::release(m_highlight);
}
}
bool appl::Buffer::loadFile(const std::string& _name) {
APPL_DEBUG("Load file : '" << _name << "'");
m_fileName = _name;
APPL_DEBUG("Convert filename :'" << _name << "'");
etk::FSNode file(_name);
std::string name = file.getName();
APPL_INFO("Load file : '" << name << "'");
m_fileName = name;
m_hasFileName = true;
m_isModify = true;
m_cursorPos = 0;
@@ -160,16 +165,19 @@ bool appl::Buffer::loadFile(const std::string& _name) {
}
void appl::Buffer::setFileName(const std::string& _name) {
if (m_fileName == _name) {
APPL_DEBUG("Convert filename :'" << _name << "'");
etk::FSNode file(_name);
std::string name = file.getName();
if (m_fileName == name) {
return;
}
m_fileName = _name;
m_fileName = name;
m_hasFileName = true;
generateEventId(eventChangeName);
setModification(true);
}
bool appl::Buffer::storeFile(void) {
bool appl::Buffer::storeFile() {
if (m_data.dumpIn(m_fileName) == true) {
APPL_INFO("saving file : " << m_fileName);
setModification(false);
@@ -191,7 +199,7 @@ void appl::Buffer::setModification(bool _status) {
}
// TODO : Naming error
void appl::Buffer::countNumberofLine(void) {
void appl::Buffer::countNumberofLine() {
m_nbLines = 1;
for (Iterator it = begin();
(bool)it == true;
@@ -511,7 +519,7 @@ void appl::Buffer::setSelectionPos(const appl::Buffer::Iterator& _pos) {
generateEventId(eventSelectChange);
}
void appl::Buffer::unSelect(void) {
void appl::Buffer::unSelect() {
m_cursorSelectPos = -1;
generateEventId(eventSelectChange);
}
@@ -619,8 +627,6 @@ bool appl::Buffer::copy(std::string& _data) {
void appl::Buffer::copy(std::string& _data, const appl::Buffer::Iterator& _pos, const appl::Buffer::Iterator& _posEnd) {
_data.clear();
int64_t startPos = getStartSelectionPos();
int64_t endPos = getStopSelectionPos();
for (Iterator it = _pos;
it != _posEnd &&
(bool)it == true;
@@ -634,7 +640,7 @@ bool appl::Buffer::write(const std::string& _data, const appl::Buffer::Iterator&
if (position < 0){
position = 0;
}
APPL_ERROR("writye at pos: " << (int64_t)_pos << " ==> " << position);
APPL_VERBOSE("write at pos: " << (int64_t)_pos << " ==> " << position << " data : " << _data);
m_data.insert(position, (int8_t*)(_data.c_str()), _data.size());
if (m_cursorPos < 0) {
m_cursorPos = 0;
@@ -661,7 +667,7 @@ bool appl::Buffer::replace(const std::string& _data, const appl::Buffer::Iterato
return true;
}
void appl::Buffer::removeSelection(void) {
void appl::Buffer::removeSelection() {
if (hasTextSelected() == false) {
return;
}
@@ -675,7 +681,7 @@ void appl::Buffer::removeSelection(void) {
setModification(true);
}
void appl::Buffer::tryFindHighlightType(void) {
void appl::Buffer::tryFindHighlightType() {
etk::FSNode file(m_fileName);
std::string type = appl::highlightManager::getTypeExtention(file.fileGetExtention());
if (type.size() == 0) {
@@ -862,7 +868,7 @@ void appl::Buffer::generateHighLightAt(int64_t _pos, int64_t _endPos, int64_t _a
m_highlight->parse(_pos, _endPos, m_HLDataPass1, _addingPos, m_data);
}
void appl::Buffer::cleanHighLight(void) {
void appl::Buffer::cleanHighLight() {
// remove all element in the list...
m_HLDataPass1.clear();
}
@@ -974,7 +980,7 @@ appl::HighlightInfo* appl::Buffer::getElementColorAtPosition(appl::DisplayHLData
return getElementColorAtPosition(_pos, _MData.posHLPass1);
}
uint32_t appl::Buffer::getCursorLinesId(void) {
uint32_t appl::Buffer::getCursorLinesId() {
if (m_data.size() == 0) {
return 0;
}
@@ -987,4 +993,4 @@ uint32_t appl::Buffer::getCursorLinesId(void) {
}
}
return line;
}
}

View File

@@ -38,7 +38,7 @@ namespace appl {
/**
* @brief Basic itarator constructor with no link.
*/
Iterator(void):
Iterator():
m_current(0),
m_data(NULL),
m_value(u32char::Null) {
@@ -68,7 +68,7 @@ namespace appl {
/**
* @brief Basic destructor
*/
~Iterator(void) {
~Iterator() {
m_current = 0;
m_data = NULL;
m_value = u32char::Null;
@@ -77,7 +77,7 @@ namespace appl {
* @brief basic boolean cast
* @return true if the element is present in buffer
*/
operator bool (void) const {
operator bool () const {
if (m_data == NULL) {
return false;
}
@@ -93,7 +93,7 @@ namespace appl {
* @brief basic boolean cast
* @return true if the element is present in buffer
*/
operator int64_t (void) const {
operator int64_t () const {
if (m_data == NULL) {
return 0;
}
@@ -109,12 +109,12 @@ namespace appl {
* @brief Incremental operator
* @return Reference on the current iterator incremented
*/
Iterator& operator++ (void);
Iterator& operator++ ();
/**
* @brief Decremental operator
* @return Reference on the current iterator decremented
*/
Iterator& operator-- (void);
Iterator& operator-- ();
/**
* @brief Incremental operator
* @return Reference on a new iterator and increment the other one
@@ -211,12 +211,12 @@ namespace appl {
* @brief Get the value on the current element
* @return The request element value
*/
char32_t operator* (void);
char32_t operator* ();
/**
* @brief Get the position in the buffer
* @return The requested position.
*/
int64_t getPos(void) const {
int64_t getPos() const {
if (m_data == NULL) {
return 0;
}
@@ -293,8 +293,8 @@ namespace appl {
static const char* const eventSelectChange;
static const char* const eventChangeName;
public:
Buffer(void);
~Buffer(void);
Buffer();
~Buffer();
private:
bool m_hasFileName; //!< when new file, the buffer has no name ==> but it might be reference with a single name ...
std::string m_fileName; //!< name of the file (with his path)
@@ -302,14 +302,14 @@ namespace appl {
/**
* @brief get the curent filename of the Buffer
*/
const std::string& getFileName(void) {
const std::string& getFileName() {
return m_fileName;
}
/**
* @brief Check if the buffer has a real filename.
* @return the status of the existance of a name.
*/
bool hasFileName(void) {
bool hasFileName() {
return m_hasFileName;
}
/**
@@ -327,7 +327,7 @@ namespace appl {
* @brief save the file in the specify path.
* @return true is saving well done
*/
bool storeFile(void);
bool storeFile();
protected:
bool m_isModify; //!< true if the file is modify
public:
@@ -335,7 +335,7 @@ namespace appl {
* @breif get the status of file modification.
* @return true if file is modify.
*/
bool isModify(void) {
bool isModify() {
return m_isModify;
}
/**
@@ -346,7 +346,7 @@ namespace appl {
protected:
etk::Buffer m_data; //!< copy of the file buffer
public:
etk::Buffer& getData(void) {
etk::Buffer& getData() {
return m_data;
};
protected:
@@ -364,30 +364,30 @@ namespace appl {
/**
* @brief Remove Selection of the buffer.
*/
void unSelect(void);
void unSelect();
/**
* @brief Remove the selection of the buffer. (do nothing if no secection)
*/
void removeSelection(void);
void removeSelection();
/**
* @brief Get the status of selection.
* @return true if we have a curent selection, false otherwise.
*/
bool hasTextSelected(void) {
bool hasTextSelected() {
return m_cursorSelectPos >= 0;
}
/**
* @brief Get the Start position of the selection.
* @return position of the start selection.
*/
int64_t getStartSelectionPos(void) {
int64_t getStartSelectionPos() {
return etk_min(m_cursorPos, m_cursorSelectPos);
}
/**
* @brief Get the Stop position of the selection.
* @return position of the stop selection.
*/
int64_t getStopSelectionPos(void) {
int64_t getStopSelectionPos() {
return etk_max(m_cursorPos, m_cursorSelectPos);
}
protected:
@@ -404,7 +404,7 @@ namespace appl {
* @brief Get the favorite distance from the left screen (For up and down moving).
* @return The distance in pixels.
*/
float getFavoriteUpDownPos(void) {
float getFavoriteUpDownPos() {
return m_cursorPreferredCol;
}
protected:
@@ -421,7 +421,7 @@ namespace appl {
* @brief Get the selection mode (if true, the move event creata a selection)
* @return The selecting mode.
*/
bool getSelectMode(void) {
bool getSelectMode() {
return m_selectMode;
}
public:
@@ -544,27 +544,27 @@ namespace appl {
* @brief Get an Iterator on the start position.
* @return The Iterator
*/
Iterator begin(void);
Iterator begin();
/**
* @brief Get an Iterator on the end position.
* @return The Iterator
*/
Iterator end(void);
Iterator end();
/**
* @brief Get an Iterator on the cursor position.
* @return The Iterator
*/
Iterator cursor(void);
Iterator cursor();
/**
* @brief Get an Iterator on the start selection.
* @return The Iterator
*/
Iterator selectStart(void);
Iterator selectStart();
/**
* @brief Get an Iterator on the stop selection.
* @return The Iterator
*/
Iterator selectStop(void);
Iterator selectStop();
protected:
int32_t m_nbLines; //!< number of line in the buffer
public:
@@ -572,19 +572,19 @@ namespace appl {
* @brief Get the number of line in the buffer.
* @return number of line in the Buffer.
*/
int32_t getNumberOfLines(void) {
int32_t getNumberOfLines() {
return m_nbLines;
}
/**
* @brief Get the cursor line numberin the buffer.
* @return the line id in the Buffer.
*/
uint32_t getCursorLinesId(void);
uint32_t getCursorLinesId();
protected:
/**
* @brief Count the number of line in the buffer
*/
void countNumberofLine(void);
void countNumberofLine();
protected:
std::string m_highlightType; //!< Name of the highlight type
@@ -594,7 +594,7 @@ namespace appl {
/**
* @brief Find the Highligh capability
*/
void tryFindHighlightType(void);
void tryFindHighlightType();
/**
* @brief Set type of highlight
* @param[in] _type type of the highlight
@@ -604,7 +604,7 @@ namespace appl {
* @brief Get type of highlight
* @return Type of the highlight
*/
const std::string& setHighlightType(void) {
const std::string& setHighlightType() {
return m_highlightType;
};
@@ -615,7 +615,7 @@ namespace appl {
int64_t& _stopId,
bool _backPreviousNotEnded);
void generateHighLightAt(int64_t _pos, int64_t _endPos, int64_t _addingPos=0);
void cleanHighLight(void);
void cleanHighLight();
appl::HighlightInfo* getElementColorAtPosition(int64_t _pos, int64_t &_starPos);
void hightlightGenerateLines(appl::DisplayHLData& _MData, const appl::Buffer::Iterator& _HLStart, int64_t _nbLines);
appl::HighlightInfo* getElementColorAtPosition(appl::DisplayHLData& _MData, int64_t _pos);

View File

@@ -6,10 +6,11 @@
* @license GPL v3 (see license file)
*/
#include <etk/types.h>
#include <etk/os/FSNode.h>
#include <appl/debug.h>
#include <appl/global.h>
#include <appl/BufferManager.h>
#include <etk/types.h>
#include <ewol/object/Object.h>
#include <ewol/object/Manager.h>
#include <ewol/resource/Manager.h>
@@ -17,13 +18,13 @@
#undef __class__
#define __class__ "BufferManager"
appl::BufferManager::BufferManager(void) :
appl::BufferManager::BufferManager() :
ewol::Resource("???BufferManager???"),
m_bufferSelected(NULL) {
addObjectType("appl::BufferManager");
}
appl::BufferManager::~BufferManager(void) {
appl::BufferManager::~BufferManager() {
int32_t previousCount = m_list.size();
for (int32_t iii = m_list.size()-1; iii >= 0 ; --iii) {
if (m_list[iii] == NULL) {
@@ -39,7 +40,7 @@ appl::BufferManager::~BufferManager(void) {
}
appl::Buffer* appl::BufferManager::createNewBuffer(void) {
appl::Buffer* appl::BufferManager::createNewBuffer() {
appl::Buffer* tmp = new appl::Buffer();
if (tmp == NULL) {
APPL_ERROR("Can not allocate the Buffer (empty).");
@@ -51,6 +52,7 @@ appl::Buffer* appl::BufferManager::createNewBuffer(void) {
}
appl::Buffer* appl::BufferManager::get(const std::string& _fileName, bool _createIfNeeded) {
APPL_INFO("get(" << _fileName << "," << _createIfNeeded << ")");
for (int32_t iii = 0; iii < m_list.size(); ++iii) {
if (m_list[iii] == NULL) {
continue;
@@ -61,7 +63,8 @@ appl::Buffer* appl::BufferManager::get(const std::string& _fileName, bool _creat
}
if (_createIfNeeded == true) {
if (etk::FSNodeGetType(_fileName) == etk::FSN_FOLDER) {
APPL_INFO("try open a folder : " << _fileName);
APPL_WARNING("try open a folder : " << _fileName);
APPL_CRITICAL("plop");
return NULL;
}
appl::Buffer* tmp = new appl::Buffer();
@@ -120,7 +123,7 @@ void appl::BufferManager::onReceiveMessage(const ewol::object::Message& _msg) {
APPL_DEBUG("receive message !!! " << _msg);
}
appl::BufferManager* appl::BufferManager::keep(void) {
appl::BufferManager* appl::BufferManager::keep() {
//EWOL_INFO("KEEP : appl::GlyphPainting : file : \"" << _filename << "\"");
appl::BufferManager* object = static_cast<appl::BufferManager*>(getManager().localKeep("???BufferManager???"));
if (NULL != object) {

View File

@@ -17,8 +17,8 @@
namespace appl {
class BufferManager : public ewol::Resource {
protected:
BufferManager(void);
~BufferManager(void);
BufferManager();
~BufferManager();
private:
std::vector<appl::Buffer*> m_list; // list of all buffer curently open
public:
@@ -44,7 +44,7 @@ namespace appl {
* @brief Get count of all buffer availlable.
* @return Number of buffer
*/
int32_t size(void) const {
int32_t size() const {
return m_list.size();
}
/**
@@ -59,7 +59,7 @@ namespace appl {
* @brief Create a new buffer empty.
* @return Created buffer or NULL.
*/
appl::Buffer* createNewBuffer(void);
appl::Buffer* createNewBuffer();
private:
appl::Buffer* m_bufferSelected;
public:
@@ -72,7 +72,7 @@ namespace appl {
* @brief Get the current buffer selected
* @return Pointer on the buffer selected
*/
appl::Buffer* getBufferSelected(void) {
appl::Buffer* getBufferSelected() {
return m_bufferSelected;
};
public: // herited function
@@ -85,7 +85,7 @@ namespace appl {
* @param[in] _filename Name of the configuration file.
* @return pointer on the resource or NULL if an error occured.
*/
static appl::BufferManager* keep(void);
static appl::BufferManager* keep();
/**
* @brief release the keeped resources
* @param[in,out] reference on the object pointer

View File

@@ -44,7 +44,7 @@ void appl::GlyphDecoration::setBold(bool _enable)
}
}
etk::CCout& appl::operator <<(etk::CCout& _os, const appl::GlyphDecoration& _obj)
std::ostream& appl::operator <<(std::ostream& _os, const appl::GlyphDecoration& _obj)
{
_os << "{fg=" << _obj.getForeground();
_os << ",bg=" << _obj.getBackground();

View File

@@ -17,7 +17,7 @@ namespace appl {
public:
// Constructeur
GlyphDecoration(const std::string& _newColorName = "no_name");
~GlyphDecoration(void) {
~GlyphDecoration() {
// nothing to do ...
};
private:
@@ -34,7 +34,7 @@ namespace appl {
* @brief Get the color name.
* @return The name of the color.
*/
const std::string& getName(void) const {
const std::string& getName() const {
return m_colorName;
};
private:
@@ -51,14 +51,14 @@ namespace appl {
* @brief Get the foreground color.
* @return The color.
*/
const etk::Color<>& getForeground(void) const {
const etk::Color<>& getForeground() const {
return m_colorFG;
};
/**
* @brief Get the foreground color status.
* @return true if the color is visible.
*/
bool haveFg(void) const {
bool haveFg() const {
return m_colorFG.a() != 0;
};
private:
@@ -75,14 +75,14 @@ namespace appl {
* @brief Get the background color.
* @return The color.
*/
const etk::Color<>& getBackground(void) const {
const etk::Color<>& getBackground() const {
return m_colorBG;
};
/**
* @brief Get the background color status.
* @return true if the color is visible.
*/
bool haveBackground(void) const {
bool haveBackground() const {
return m_colorBG.a()!=0;
};
private:
@@ -97,7 +97,7 @@ namespace appl {
* @brief Get the italic status.
* @return true if the glyph might be display in italic.
*/
bool getItalic(void) const {
bool getItalic() const {
return m_italic;
};
private:
@@ -112,11 +112,11 @@ namespace appl {
* @brief Get the bold status.
* @return true if the glyph might be display in bold.
*/
bool getBold(void) const {
bool getBold() const {
return m_bold;
};
};
etk::CCout& operator <<(etk::CCout& _os, const appl::GlyphDecoration& _obj);
std::ostream& operator <<(std::ostream& _os, const appl::GlyphDecoration& _obj);
}
#endif

View File

@@ -25,11 +25,11 @@ appl::GlyphPainting::GlyphPainting(const std::string& _filename) :
reload();
}
appl::GlyphPainting::~GlyphPainting(void) {
appl::GlyphPainting::~GlyphPainting() {
}
void appl::GlyphPainting::reload(void) {
void appl::GlyphPainting::reload() {
ejson::Document doc;
if (false == doc.load(m_name)) {
APPL_ERROR("Can not load file : '" << m_name << "' = " << etk::FSNode(m_name).getFileSystemName());

View File

@@ -20,12 +20,12 @@ namespace appl {
std::vector<appl::GlyphDecoration> m_list;
protected:
GlyphPainting(const std::string& _filename);
virtual ~GlyphPainting(void);
virtual ~GlyphPainting();
public:
/**
* @brief Load or reload data from config
*/
void reload(void);
void reload();
/**
* @brief Register a decoration with his name and get the ref id.
* @param[in] _name Name of the deco.

View File

@@ -39,7 +39,7 @@ static void SortElementList(std::vector<appl::dataBufferStruct*>& _list) {
}
}
BufferView::BufferView(void) :
BufferView::BufferView() :
m_openOrderMode(false) {
addObjectType("appl::BufferView");
setCanHaveFocus(true);
@@ -63,11 +63,11 @@ BufferView::BufferView(void) :
m_colorTextModify = m_paintingProperties->request("textModify");
}
BufferView::~BufferView(void) {
BufferView::~BufferView() {
removeAllElement();
}
void BufferView::removeAllElement(void) {
void BufferView::removeAllElement() {
for(int32_t iii=0; iii<m_list.size(); iii++) {
if (NULL!=m_list[iii]) {
delete(m_list[iii]);
@@ -237,11 +237,11 @@ void BufferView::onObjectRemove(ewol::Object* _removeObject) {
}
etk::Color<> BufferView::getBasicBG(void) {
etk::Color<> BufferView::getBasicBG() {
return (*m_paintingProperties)[m_colorBackground1].getForeground();
}
uint32_t BufferView::getNuberOfColomn(void) {
uint32_t BufferView::getNuberOfColomn() {
return 1;
}
@@ -250,7 +250,7 @@ bool BufferView::getTitle(int32_t _colomn, std::string &_myTitle, etk::Color<> &
return true;
}
uint32_t BufferView::getNuberOfRaw(void) {
uint32_t BufferView::getNuberOfRaw() {
return m_list.size();
}

View File

@@ -27,7 +27,7 @@ namespace appl
m_buffer(_buffer) {
};
~dataBufferStruct(void) { };
~dataBufferStruct() { };
};
};
@@ -53,8 +53,8 @@ class BufferView : public ewol::widget::List
void insertAlphabetic(appl::dataBufferStruct* _dataStruct, bool _selectNewPosition = false);
public:
// Constructeur
BufferView(void);
~BufferView(void);
BufferView();
~BufferView();
// Derived function
virtual void onReceiveMessage(const ewol::object::Message& _msg);
virtual void onObjectRemove(ewol::Object* _removeObject);
@@ -62,12 +62,12 @@ class BufferView : public ewol::widget::List
bool m_openOrderMode; //!< true if the order is the opening order mode, otherwise, Alphabetic order
protected:
// function call to display the list :
virtual etk::Color<> getBasicBG(void);
void removeAllElement(void);
virtual etk::Color<> getBasicBG();
void removeAllElement();
// Derived function
virtual uint32_t getNuberOfColomn(void);
virtual uint32_t getNuberOfColomn();
virtual bool getTitle(int32_t _colomn, std::string& _myTitle, etk::Color<>& _fg, etk::Color<>& _bg);
virtual uint32_t getNuberOfRaw(void);
virtual uint32_t getNuberOfRaw();
virtual bool getElement(int32_t _colomn, int32_t _raw, std::string& _myTextToWrite, etk::Color<>& _fg, etk::Color<>& _bg);
virtual bool onItemEvent(int32_t _IdInput, enum ewol::key::status _typeEvent, int32_t _colomn, int32_t _raw, float _x, float _y);
};

View File

@@ -38,7 +38,7 @@
#include <appl/Gui/WorkerCloseAllFile.h>
namespace appl {
std::string getVersion(void) {
std::string getVersion() {
#define FIRST_YEAR (2010)
std::string tmpOutput = std::to_string(date::getYear()-FIRST_YEAR);
tmpOutput += ".";
@@ -59,7 +59,7 @@ namespace appl {
class ParameterAboutGui : public ewol::widget::Sizer {
public :
ParameterAboutGui(void) :
ParameterAboutGui() :
ewol::widget::Sizer(ewol::widget::Sizer::modeVert) {
ewol::widget::Spacer* mySpacer = NULL;
@@ -102,7 +102,7 @@ class ParameterAboutGui : public ewol::widget::Sizer {
}
};
~ParameterAboutGui(void) {
~ParameterAboutGui() {
};
};
@@ -119,7 +119,7 @@ const char* l_smoothMax = "tmpEvent_maxChange";
#undef __class__
#define __class__ "MainWindows"
MainWindows::MainWindows(void) {
MainWindows::MainWindows() {
addObjectType("appl::MainWindows");
APPL_DEBUG("CREATE WINDOWS ... ");
ewol::widget::Sizer * mySizerVert = NULL;
@@ -152,6 +152,7 @@ MainWindows::MainWindows(void) {
#else
myTextView = new appl::TextViewer("FreeMono;DejaVuSansMono;FreeSerif", 11);
#endif
myTextView->setName("appl-text-viewer");
myTextView->setExpand(bvec2(true,true));
myTextView->setFill(bvec2(true,true));
mySizerVert2->subWidgetAdd(myTextView);
@@ -164,34 +165,6 @@ MainWindows::MainWindows(void) {
// search area :
Search * mySearch = new Search();
mySizerVert2->subWidgetAdd(mySearch);
#ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
{
ewol::widget::Sizer * mySizerHori2 = new widget::Sizer(ewol::widget::Sizer::modeHori);
mySizerVert2->subWidgetAdd(mySizerHori2);
ewol::widget::CheckBox* tmpCheck = new widget::CheckBox("smooth");
mySizerHori2->subWidgetAdd(tmpCheck);
tmpCheck->registerOnEvent(this, "clicked", l_smoothChick);
ewol::widget::Slider* tmpSlider = new widget::Slider();
mySizerHori2->subWidgetAdd(tmpSlider);
tmpSlider->registerOnEvent(this, "change", l_smoothMin);
tmpSlider->setExpand(bvec2(true,false));
tmpSlider->setMin(0);
tmpSlider->setMax(1000);
tmpSlider->setValue(0450);
tmpSliderMin = tmpSlider;
tmpSlider = new ewol::widget::Slider();
mySizerHori2->subWidgetAdd(tmpSlider);
tmpSlider->registerOnEvent(this, "change", l_smoothMax);
tmpSlider->setExpand(bvec2(true,false));
tmpSlider->setMin(0);
tmpSlider->setMax(1000);
tmpSlider->setValue(0550);
tmpSliderMax = tmpSlider;
}
#endif
mySizerHori = new ewol::widget::Sizer(ewol::widget::Sizer::modeHori);
mySizerVert->subWidgetAdd(mySizerHori);
@@ -199,51 +172,51 @@ MainWindows::MainWindows(void) {
myMenu = new ewol::widget::Menu();
mySizerHori->subWidgetAdd(myMenu);
int32_t idMenuFile = myMenu->addTitle("File");
(void)myMenu->add(idMenuFile, "New", "", ednMsgGuiNew);
(void)myMenu->addSpacer();
(void)myMenu->add(idMenuFile, "Open", "THEME:GUI:Load.edf", ednMsgGuiOpen);
(void)myMenu->add(idMenuFile, "Close", "THEME:GUI:Close.edf", ednMsgGuiClose, "current");
(void)myMenu->add(idMenuFile, "Close (all)", "", ednMsgGuiClose, "All");
(void)myMenu->add(idMenuFile, "Save", "THEME:GUI:Save.edf", ednMsgGuiSave, "current");
(void)myMenu->add(idMenuFile, "Save As ...", "", ednMsgGuiSaveAs);
(void)myMenu->addSpacer();
//(void)myMenu->add(idMenuFile, "Exit", "", ednMsgGuiExit);
(void)myMenu->addSpacer();
(void)myMenu->add(idMenuFile, "Properties", "THEME:GUI:Parameter.edf", ednMsgProperties);
myMenu->add(idMenuFile, "New", "", ednMsgGuiNew);
myMenu->addSpacer();
myMenu->add(idMenuFile, "Open", "THEME:GUI:Load.edf", ednMsgGuiOpen);
myMenu->add(idMenuFile, "Close", "THEME:GUI:Close.edf", ednMsgGuiClose, "current");
myMenu->add(idMenuFile, "Close (all)", "", ednMsgGuiClose, "All");
myMenu->add(idMenuFile, "Save", "THEME:GUI:Save.edf", ednMsgGuiSave, "current");
myMenu->add(idMenuFile, "Save As ...", "", ednMsgGuiSaveAs);
myMenu->addSpacer();
//myMenu->add(idMenuFile, "Exit", "", ednMsgGuiExit);
myMenu->addSpacer();
myMenu->add(idMenuFile, "Properties", "THEME:GUI:Parameter.edf", ednMsgProperties);
int32_t idMenuEdit = myMenu->addTitle("Edit");
(void)myMenu->add(idMenuEdit, "Undo", "THEME:GUI:Undo.edf", ednMsgGuiUndo);
(void)myMenu->add(idMenuEdit, "Redo", "THEME:GUI:Redo.edf", ednMsgGuiRedo);
(void)myMenu->addSpacer();
(void)myMenu->add(idMenuEdit, "Copy", "", ednMsgGuiCopy, "STD");
(void)myMenu->add(idMenuEdit, "Cut", "", ednMsgGuiCut, "STD");
(void)myMenu->add(idMenuEdit, "Paste", "", ednMsgGuiPaste, "STD");
(void)myMenu->add(idMenuEdit, "Remove", "", ednMsgGuiRm);
(void)myMenu->addSpacer();
(void)myMenu->add(idMenuEdit, "Select All","", ednMsgGuiSelect, "ALL");
(void)myMenu->add(idMenuEdit, "Un-Select","", ednMsgGuiSelect, "NONE");
(void)myMenu->add(idMenuEdit, "Goto line ...","", ednMsgGuiGotoLine, "???");
myMenu->add(idMenuEdit, "Undo", "THEME:GUI:Undo.edf", ednMsgGuiUndo);
myMenu->add(idMenuEdit, "Redo", "THEME:GUI:Redo.edf", ednMsgGuiRedo);
myMenu->addSpacer();
myMenu->add(idMenuEdit, "Copy", "", ednMsgGuiCopy, "STD");
myMenu->add(idMenuEdit, "Cut", "", ednMsgGuiCut, "STD");
myMenu->add(idMenuEdit, "Paste", "", ednMsgGuiPaste, "STD");
myMenu->add(idMenuEdit, "Remove", "", ednMsgGuiRm);
myMenu->addSpacer();
myMenu->add(idMenuEdit, "Select All","", ednMsgGuiSelect, "ALL");
myMenu->add(idMenuEdit, "Un-Select","", ednMsgGuiSelect, "NONE");
myMenu->add(idMenuEdit, "Goto line ...","", ednMsgGuiGotoLine, "???");
int32_t idMenuSearch = myMenu->addTitle("Search");
(void)myMenu->add(idMenuSearch, "Search", "THEME:GUI:Search.edf", ednMsgGuiSearch);
(void)myMenu->add(idMenuSearch, "Replace", "THEME:GUI:Replace.edf", ednMsgGuiReplace);
(void)myMenu->addSpacer();
(void)myMenu->add(idMenuSearch, "Find (previous)","", ednMsgGuiFind, "Previous");
(void)myMenu->add(idMenuSearch, "Find (next)", "", ednMsgGuiFind, "Next");
(void)myMenu->add(idMenuSearch, "Find (all)", "", ednMsgGuiFind, "All");
(void)myMenu->add(idMenuSearch, "Un-Select", "", ednMsgGuiFind, "None");
myMenu->add(idMenuSearch, "Search", "THEME:GUI:Search.edf", ednMsgGuiSearch);
myMenu->add(idMenuSearch, "Replace", "THEME:GUI:Replace.edf", ednMsgGuiReplace);
myMenu->addSpacer();
myMenu->add(idMenuSearch, "Find (previous)","", ednMsgGuiFind, "Previous");
myMenu->add(idMenuSearch, "Find (next)", "", ednMsgGuiFind, "Next");
myMenu->add(idMenuSearch, "Find (all)", "", ednMsgGuiFind, "All");
myMenu->add(idMenuSearch, "Un-Select", "", ednMsgGuiFind, "None");
/* ==> must be in the pluggin list control ...
int32_t idMenuCTags = myMenu->addTitle("C-tags");
(void)myMenu->add(idMenuCTags, "Load", "", ednMsgGuiCtags, "Load");
(void)myMenu->add(idMenuCTags, "ReLoad", "", ednMsgGuiCtags, "ReLoad");
(void)myMenu->add(idMenuCTags, "Jump", "", ednMsgGuiCtags, "Jump");
(void)myMenu->add(idMenuCTags, "Back", "", ednMsgGuiCtags, "Back");
myMenu->add(idMenuCTags, "Load", "", ednMsgGuiCtags, "Load");
myMenu->add(idMenuCTags, "ReLoad", "", ednMsgGuiCtags, "ReLoad");
myMenu->add(idMenuCTags, "Jump", "", ednMsgGuiCtags, "Jump");
myMenu->add(idMenuCTags, "Back", "", ednMsgGuiCtags, "Back");
*/
int32_t idMenugDisplay = myMenu->addTitle("Display");
(void)myMenu->add(idMenugDisplay, "Color Black", "", appl::MsgNameGuiChangeColor, "color/black/");
(void)myMenu->add(idMenugDisplay, "Color White", "", appl::MsgNameGuiChangeColor, "color/white/");
(void)myMenu->add(idMenugDisplay, "Shape square", "", l_MsgNameGuiChangeShape, "shape/square/");
(void)myMenu->add(idMenugDisplay, "Shape round", "", l_MsgNameGuiChangeShape, "shape/round/");
(void)myMenu->addSpacer();
(void)myMenu->add(idMenugDisplay, "Reload openGl Shader", "", ednMsgGuiReloadShader);
myMenu->add(idMenugDisplay, "Color Black", "", appl::MsgNameGuiChangeColor, "color/black/");
myMenu->add(idMenugDisplay, "Color White", "", appl::MsgNameGuiChangeColor, "color/white/");
myMenu->add(idMenugDisplay, "Shape square", "", l_MsgNameGuiChangeShape, "shape/square/");
myMenu->add(idMenugDisplay, "Shape round", "", l_MsgNameGuiChangeShape, "shape/round/");
myMenu->addSpacer();
myMenu->add(idMenugDisplay, "Reload openGl Shader", "", ednMsgGuiReloadShader);
m_widgetLabelFileName = new ewol::widget::Label("FileName");
m_widgetLabelFileName->setExpand(bvec2(true,false));
@@ -291,7 +264,7 @@ MainWindows::MainWindows(void) {
}
MainWindows::~MainWindows(void) {
MainWindows::~MainWindows() {
appl::BufferManager::release(m_bufferManager);
}
@@ -332,6 +305,37 @@ void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) {
if (NULL == tmpWidget) {
APPL_ERROR("Can not allocate widget == > display might be in error");
} else {
#ifdef SDGSDFGSDFGSDFGSDFGSTERGDHFGHFDS
std::string menuDescription = "<title>Properties</title>\n";
menuDescription += "<group>\n";
menuDescription += " <title>Editor</title>\n";
menuDescription += " <menu>\n";
menuDescription += " <title>Editor Interface</title>\n";
menuDescription += " <short-title>Editor</short-title>\n";
menuDescription += " <widget>appl-text-viewer</widget>\n";
menuDescription += " </menu>\n";
menuDescription += "</group>\n";
menuDescription += "<group>\n";
menuDescription += " <title>Gui</title>\n";
menuDescription += " <menu>\n";
menuDescription += " <title>Font selection</title>\n";
menuDescription += " <short-title>Font</short-title>\n";
menuDescription += " <widget></widget>\n";
menuDescription += " </menu>\n";
menuDescription += " <menu>\n";
menuDescription += " <title>Color selection</title>\n";
menuDescription += " <short-title>Color</short-title>\n";
menuDescription += " <widget></widget>\n";
menuDescription += " </menu>\n";
menuDescription += " <menu>\n";
menuDescription += " <title>Theme selection</title>\n";
menuDescription += " <short-title>Theme</short-title>\n";
menuDescription += " <widget></widget>\n";
menuDescription += " </menu>\n";
menuDescription += "</group>\n";
tmpWidget->setMenu(menuDescription);
#endif
tmpWidget->setTitle("Properties");
popUpWidgetPush(tmpWidget);
tmpWidget->menuAddGroup("Editor");
@@ -380,37 +384,38 @@ void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) {
tmpp->registerOnEvent(this, appl::Buffer::eventIsSave);
tmpp->registerOnEvent(this, appl::Buffer::eventChangeName);
}
setTitle(std::string("Edn : ") + (tmpp->isModify()==true?" *":"") + tmpp->getFileName());
std::string nameFileSystem = etk::FSNode(tmpp->getFileName()).getFileSystemName();
setTitle(std::string("Edn : ") + (tmpp->isModify()==true?" *":"") + nameFileSystem);
if (m_widgetLabelFileName != NULL) {
m_widgetLabelFileName->setLabel(tmpp->getFileName() + (tmpp->isModify()==true?" *":""));
m_widgetLabelFileName->setLabel(nameFileSystem + (tmpp->isModify()==true?" *":""));
}
}
} else if (_msg.getMessage() == ednMsgGuiNew) {
(void)m_bufferManager->createNewBuffer();
m_bufferManager->createNewBuffer();
} else if (_msg.getMessage() == ednEventPopUpFileSelected) {
APPL_DEBUG("Request opening the file : " << _msg.getData());
m_bufferManager->open(_msg.getData());
} else if (_msg.getMessage() == ednMsgGuiSave) {
APPL_DEBUG("Request saving the file : " << _msg.getData());
if (std::tolower(_msg.getData()) == "current") {
appl::WorkerSaveFile* tmpWorker = new appl::WorkerSaveFile("", false);
new appl::WorkerSaveFile("", false);
return;
} else if (std::tolower(_msg.getData()) == "all") {
appl::WorkerSaveAllFile* tmpWorker = new appl::WorkerSaveAllFile();
new appl::WorkerSaveAllFile();
return;
} else {
APPL_ERROR("UNKNOW request : " << _msg);
}
} else if (_msg.getMessage() == ednMsgGuiSaveAs) {
appl::WorkerSaveFile* tmpWorker = new appl::WorkerSaveFile("", true);
new appl::WorkerSaveFile("", true);
} else if (_msg.getMessage() == ednMsgGuiClose) {
// Get a ref on the buffer selected (if null, no buffer was selected ...)
if (_msg.getData() == "current") {
appl::WorkerCloseFile* tmpWorker = new appl::WorkerCloseFile("");
new appl::WorkerCloseFile("");
} else {
appl::WorkerCloseAllFile* tmpWorker = new appl::WorkerCloseAllFile();
new appl::WorkerCloseAllFile();
}
} else if (_msg.getMessage() == mainWindowsRequestSaveFile) { // return after a choice of close...
if (m_bufferManager->exist(_msg.getData()) == false) {

View File

@@ -19,12 +19,11 @@
class MainWindows : public ewol::widget::Windows {
private:
int32_t m_currentSavingAsIdBuffer;
ewol::widget::Label* m_widgetLabelFileName;
public:
// Constructeur
MainWindows(void);
~MainWindows(void);
MainWindows();
~MainWindows();
private:
appl::BufferManager* m_bufferManager; //!< handle on the buffer manager
/**

View File

@@ -28,7 +28,7 @@ const char* const l_eventWrapCb = "appl-wrap-CheckBox";
const char* const l_eventForwardCb = "appl-forward-CheckBox";
const char* const l_eventHideBt = "appl-hide-button";
Search::Search(void) :
Search::Search() :
ewol::widget::Composer(ewol::widget::Composer::file, "DATA:GUI-Search.xml"),
m_viewerManager(NULL),
m_forward(true),
@@ -63,11 +63,11 @@ Search::Search(void) :
hide();
}
Search::~Search(void) {
Search::~Search() {
appl::ViewerManager::release(m_viewerManager);
}
void Search::find(void) {
void Search::find() {
if (m_viewerManager == NULL) {
APPL_WARNING("No viewer manager selected!!!");
return;
@@ -103,7 +103,7 @@ void Search::find(void) {
}
}
void Search::replace(void) {
void Search::replace() {
if (m_viewerManager == NULL) {
APPL_WARNING("No viewer manager selected!!!");
return;

View File

@@ -27,17 +27,17 @@ class Search : public ewol::widget::Composer {
std::u32string m_replaceData;
public:
// Constructeur
Search(void);
~Search(void);
Search();
~Search();
private:
/**
* @brief Find the next element that corespond at the search
*/
void find(void);
void find();
/**
* @brief Replace the current selected text.
*/
void replace(void);
void replace();
public: // derived function
virtual void onReceiveMessage(const ewol::object::Message& _msg);
virtual void onObjectRemove(ewol::Object * _removeObject);

View File

@@ -16,29 +16,36 @@ extern const char * const applEventCtagsListSelect = "appl-event-ctags-list-
extern const char * const applEventCtagsListUnSelect = "appl-event-ctags-list-un-select";
extern const char * const applEventCtagsListValidate = "appl-event-ctags-list-validate";
appl::TagFileList::TagFileList(void) {
appl::TagFileList::TagFileList() {
addObjectType("appl::TagFileList");
m_selectedLine = -1;
addEventId(applEventCtagsListSelect);
addEventId(applEventCtagsListValidate);
setMouseLimit(1);
}
appl::TagFileList::~TagFileList(void) {
for (int32_t iii=0; iii<m_list.size(); iii++) {
if (NULL != m_list[iii]) {
delete(m_list[iii]);
m_list[iii] = NULL;
}
// Load color properties: (use file list to be generic ...)
m_colorProperty = ewol::resource::ColorFile::keep("THEME:COLOR:ListFileSystem.json");
if (m_colorProperty != NULL) {
m_colorIdText = m_colorProperty->request("text");
m_colorIdBackground1 = m_colorProperty->request("background1");
m_colorIdBackground2 = m_colorProperty->request("background2");
m_colorIdBackgroundSelected = m_colorProperty->request("selected");
}
}
etk::Color<> appl::TagFileList::getBasicBG(void) {
appl::TagFileList::~TagFileList() {
for (int32_t iii=0; iii<m_list.size(); iii++) {
delete(m_list[iii]);
m_list[iii] = NULL;
}
ewol::resource::ColorFile::release(m_colorProperty);
}
etk::Color<> appl::TagFileList::getBasicBG() {
return 0x00000010;
}
uint32_t appl::TagFileList::getNuberOfColomn(void) {
uint32_t appl::TagFileList::getNuberOfColomn() {
return 2;
}
@@ -47,7 +54,7 @@ bool appl::TagFileList::getTitle(int32_t _colomn, std::string& _myTitle, etk::Co
return true;
}
uint32_t appl::TagFileList::getNuberOfRaw(void) {
uint32_t appl::TagFileList::getNuberOfRaw() {
return m_list.size();
}
@@ -61,26 +68,14 @@ bool appl::TagFileList::getElement(int32_t _colomn, int32_t _raw, std::string& _
} else {
_myTextToWrite = "ERROR";
}
_fg = etk::color::black;
_fg = m_colorProperty->get(m_colorIdText);
if (_raw % 2) {
if (_colomn%2 == 0) {
_bg = 0xFFFFFF00;
} else {
_bg = 0xFFFFFF10;
}
_bg = m_colorProperty->get(m_colorIdBackground1);
} else {
if (_colomn%2 == 0) {
_bg = 0xBFBFBFFF;
} else {
_bg = 0xCFCFCFFF;
}
_bg = m_colorProperty->get(m_colorIdBackground2);
}
if (m_selectedLine == _raw) {
if (_colomn%2 == 0) {
_bg = 0x8F8FFFFF;
} else {
_bg = 0x7F7FFFFF;
}
_bg = m_colorProperty->get(m_colorIdBackgroundSelected);
}
return true;
};

View File

@@ -11,6 +11,7 @@
#include <appl/debug.h>
#include <ewol/widget/List.h>
#include <ewol/resource/ColorFile.h>
extern const char * const applEventCtagsListSelect;
@@ -27,7 +28,7 @@ namespace appl {
fileLine(_line) {
};
~TagListElement(void) {
~TagListElement() {
};
};
@@ -35,14 +36,20 @@ namespace appl {
private:
int32_t m_selectedLine;
std::vector<appl::TagListElement*> m_list;
protected:
ewol::resource::ColorFile* m_colorProperty; //!< theme color property.
int32_t m_colorIdText; //!< Color of the text.
int32_t m_colorIdBackground1; //!< Color of the Background.
int32_t m_colorIdBackground2; //!< Color of the Background 2.
int32_t m_colorIdBackgroundSelected; //!< Color of line selected.
public:
TagFileList(void);
~TagFileList(void);
TagFileList();
~TagFileList();
// display API :
virtual etk::Color<> getBasicBG(void);
uint32_t getNuberOfColomn(void);
virtual etk::Color<> getBasicBG();
uint32_t getNuberOfColomn();
bool getTitle(int32_t _colomn, std::string& _myTitle, etk::Color<>& _fg, etk::Color<>& _bg);
uint32_t getNuberOfRaw(void);
uint32_t getNuberOfRaw();
bool getElement(int32_t _colomn, int32_t _raw, std::string& _myTextToWrite, etk::Color<>& _fg, etk::Color<>& _bg);
bool onItemEvent(int32_t _IdInput, enum ewol::key::status _typeEvent, int32_t _colomn, int32_t _raw, float _x, float _y);
public:

View File

@@ -30,18 +30,14 @@ extern const char * const applEventctagsSelection = "appl-event-ctags-validate";
extern const char * const applEventctagsCancel = "appl-event-ctags-cancel";
appl::TagFileSelection::TagFileSelection(void) {
appl::TagFileSelection::TagFileSelection() {
addObjectType("appl::TagFileSelection");
addEventId(applEventctagsSelection);
addEventId(applEventctagsCancel);
ewol::widget::Label* myWidgetTitle = NULL;
ewol::widget::Button* myWidgetValidate = NULL;
ewol::widget::Button* myWidgetCancel = NULL;
ewol::widget::Sizer * mySizerVert = NULL;
ewol::widget::Sizer * mySizerHori = NULL;
ewol::widget::Spacer * mySpacer = NULL;
#if defined(__TARGET_OS__Android)
setMinSize(ewol::Dimension(vec2(90,90),ewol::Dimension::Pourcent));
#elif defined(__TARGET_OS__Windows)
@@ -102,7 +98,7 @@ appl::TagFileSelection::TagFileSelection(void) {
}
appl::TagFileSelection::~TagFileSelection(void) {
appl::TagFileSelection::~TagFileSelection() {
}

View File

@@ -22,8 +22,8 @@ namespace appl {
appl::TagFileList* m_listTag;
std::string m_eventNamed;
public:
TagFileSelection(void);
virtual ~TagFileSelection(void);
TagFileSelection();
virtual ~TagFileSelection();
/**
* @brief add a Ctags item on the curent list
* @param[in] file Compleate file name

View File

@@ -41,6 +41,7 @@ appl::TextViewer::TextViewer(const std::string& _fontName, int32_t _fontSize) :
registerMultiCast(appl::MsgSelectNewFile);
registerMultiCast(appl::MsgSelectGotoLineSelect);
setLimitScrolling(0.2);
setSingleFinger(false);
// load buffer manager:
m_bufferManager = appl::BufferManager::keep();
@@ -62,31 +63,43 @@ appl::TextViewer::TextViewer(const std::string& _fontName, int32_t _fontSize) :
setCurrentSelect();
}
appl::TextViewer::~TextViewer(void) {
appl::TextViewer::~TextViewer() {
appl::textPluginManager::disconnect(*this);
appl::GlyphPainting::release(m_paintingProperties);
appl::BufferManager::release(m_bufferManager);
appl::ViewerManager::release(m_viewerManager);
}
std::string appl::TextViewer::getBufferPath() {
if (m_buffer == NULL) {
return "";
}
std::string filename = m_buffer->getFileName();
size_t pos = filename.rfind('/');
if (pos == std::string::npos) {
return "";
}
return std::string(filename, 0, pos);
}
void appl::TextViewer::changeZoom(float _range) {
m_displayText.setFontSize(m_displayText.getSize() + _range);
markToRedraw();
}
bool appl::TextViewer::calculateMinSize(void) {
bool appl::TextViewer::calculateMinSize() {
m_minSize.setValue(50,50);
return true;
}
void appl::TextViewer::onDraw(void) {
void appl::TextViewer::onDraw() {
m_displayDrawing.draw();
m_displayText.draw();
WidgetScrolled::onDraw();
}
void appl::TextViewer::onRegenerateDisplay(void) {
void appl::TextViewer::onRegenerateDisplay() {
if (false == needRedraw()) {
return;
}
@@ -129,14 +142,11 @@ void appl::TextViewer::onRegenerateDisplay(void) {
vec3 tmpCursorPosition(0, 0, -1);
float tmpCursorLenght = -1.0;
// real display ...
etk::Buffer& buf = m_buffer->getData();
m_displayText.setColor(etk::Color<>(0, 0, 0, 256));
float countNbLine = 1;
int32_t countColomn = 0;
// the siplay string :
std::u32string stringToDisplay;
int64_t bufferElementSize = 0;
bool isSelect = false;
appl::Buffer::Iterator selectPosStart = m_buffer->begin();
appl::Buffer::Iterator selectPosStop = m_buffer->begin();
if (m_buffer->hasTextSelected() == true) {
@@ -352,7 +362,8 @@ bool appl::TextViewer::onEventEntry(const ewol::event::Entry& _event) {
m_buffer->setSelectMode(false);
// normal adding char ...
char output[5];
int32_t nbElement = u32char::convertUtf8(localValue, output);
output[0] = '0';
u32char::convertUtf8(localValue, output);
if ( m_buffer->hasTextSelected() == false
&& _event.getSpecialKey().getInsert() == true) {
appl::Buffer::Iterator pos = m_buffer->cursor();
@@ -368,7 +379,6 @@ bool appl::TextViewer::onEventEntry(const ewol::event::Entry& _event) {
}
// move events ...
if (_event.getStatus() == ewol::key::statusDown) {
bool needUpdatePosition = true;
// selection when shift is set:
m_buffer->setSelectMode(_event.getSpecialKey().getShift());
// check selection event ...
@@ -426,15 +436,17 @@ bool appl::TextViewer::onEventInput(const ewol::event::Input& _event) {
return false;
}
// First call the scrolling widget :
if (WidgetScrolled::onEventInput(_event) == true) {
if (ewol::widget::WidgetScrolled::onEventInput(_event) == true) {
markToRedraw();
return true;
}
APPL_VERBOSE("event : " << _event);
// Second call plugin
if (appl::textPluginManager::onEventInput(*this, _event) == true) {
markToRedraw();
return true;
}
APPL_VERBOSE("event2 : " << _event);
vec2 relativePos = relativePosition(_event.getPos());
// offset for the lineNumber:
relativePos -= vec2(m_lastOffsetDisplay, 0);
@@ -537,7 +549,7 @@ bool appl::TextViewer::onEventInput(const ewol::event::Input& _event) {
}
void appl::TextViewer::mouseEventDouble(void) {
void appl::TextViewer::mouseEventDouble() {
//m_selectMode = false;
appl::Buffer::Iterator beginPos, endPos;
if (true == m_buffer->getPosAround(m_buffer->cursor(), beginPos, endPos)) {
@@ -546,7 +558,7 @@ void appl::TextViewer::mouseEventDouble(void) {
}
}
void appl::TextViewer::mouseEventTriple(void) {
void appl::TextViewer::mouseEventTriple() {
//m_selectMode = false;
moveCursor(m_buffer->getEndLine(m_buffer->cursor()));
m_buffer->setSelectionPos(m_buffer->getStartLine(m_buffer->cursor()));
@@ -698,14 +710,14 @@ void appl::TextViewer::onObjectRemove(ewol::Object* _removeObject) {
}
}
void appl::TextViewer::onGetFocus(void) {
void appl::TextViewer::onGetFocus() {
showKeyboard();
APPL_INFO("Focus - In");
setCurrentSelect();
markToRedraw();
}
void appl::TextViewer::onLostFocus(void) {
void appl::TextViewer::onLostFocus() {
hideKeyboard();
APPL_INFO("Focus - out");
markToRedraw();
@@ -721,7 +733,7 @@ void appl::TextViewer::setFontName(const std::string& _fontName) {
}
// TODO : Update process time ==> a little expensive (2->4ms) in end of file
void appl::TextViewer::updateScrolling(void) {
void appl::TextViewer::updateScrolling() {
if (m_buffer == NULL) {
return;
}
@@ -816,7 +828,7 @@ bool appl::TextViewer::replace(const std::string& _data) {
return replace(_data, m_buffer->selectStart(), m_buffer->selectStop());
}
void appl::TextViewer::remove(void) {
void appl::TextViewer::remove() {
if (m_buffer == NULL) {
return;
}
@@ -986,13 +998,13 @@ float appl::TextViewer::getScreenSize(const appl::Buffer::Iterator& _startLinePo
return ret;
}
void appl::TextViewer::setCurrentSelect(void) {
void appl::TextViewer::setCurrentSelect() {
if (m_viewerManager != NULL) {
m_viewerManager->setViewerSelected(this, m_buffer);
}
}
bool appl::TextViewer::isSelectedLast(void) {
bool appl::TextViewer::isSelectedLast() {
if (m_viewerManager != NULL) {
return m_viewerManager->isLastSelected(this);
}

View File

@@ -37,7 +37,7 @@ namespace appl {
appl::ViewerManager* m_viewerManager; //!< handle on the buffer manager
public:
TextViewer(const std::string& _fontName="", int32_t _fontSize=-1);
virtual ~TextViewer(void);
virtual ~TextViewer();
private:
appl::Buffer* m_buffer; //!< pointer on the current buffer to display (can be null if the buffer is remover or in state of changing buffer)
public:
@@ -45,7 +45,7 @@ namespace appl {
* @brief Get the buffer property (only for the class : template <typename TYPE> class TextViewerPluginData)
* @return pointer on buffer
*/
appl::Buffer* internalGetBuffer(void) {
appl::Buffer* internalGetBuffer() {
return m_buffer;
}
private:
@@ -56,17 +56,17 @@ namespace appl {
void setFontSize(int32_t _size);
void setFontName(const std::string& _fontName);
protected: // derived function
virtual void onDraw(void);
virtual void onDraw();
public: // Derived function
virtual bool calculateMinSize(void);
virtual void onRegenerateDisplay(void);
virtual bool calculateMinSize();
virtual void onRegenerateDisplay();
virtual void onReceiveMessage(const ewol::object::Message& _msg);
virtual void onObjectRemove(ewol::Object* _removeObject);
virtual bool onEventInput(const ewol::event::Input& _event);
virtual bool onEventEntry(const ewol::event::Entry& _event);
virtual void onEventClipboard(enum ewol::context::clipBoard::clipboardListe _clipboardID);
virtual void onGetFocus(void);
virtual void onLostFocus(void);
virtual void onGetFocus();
virtual void onLostFocus();
virtual void changeZoom(float _range);
private:
float m_lastOffsetDisplay; //!< Line number ofssed in the display
@@ -77,7 +77,7 @@ namespace appl {
* @brief Update the scrolling position from the cursor position,
* it might be be all time in the display screen.
*/
void updateScrolling(void);
void updateScrolling();
// TODO : Doc : write data on buffer
bool moveCursor(const appl::Buffer::Iterator& _pos);
bool write(const std::string& _data);
@@ -90,11 +90,11 @@ namespace appl {
/**
* @brief Remove selected data ...
*/
void remove(void);
void remove();
/**
* @brief Remove selected data ... (No plugin call)
*/
void removeDirect(void) {
void removeDirect() {
if (m_buffer==NULL) {
return;
}
@@ -156,8 +156,8 @@ namespace appl {
}
appl::Buffer::Iterator getMousePosition(const vec2& _relativePos);
void mouseEventDouble(void);
void mouseEventTriple(void);
void mouseEventDouble();
void mouseEventTriple();
private:
enum moveMode {
moveLetter,
@@ -191,25 +191,30 @@ namespace appl {
/**
* @brief Set the current buffer selected
*/
void setCurrentSelect(void);
void setCurrentSelect();
/**
* @brief Check if the current buffer is last selected
* @return true if selected last
*/
bool isSelectedLast(void);
bool isSelectedLast();
public:
/**
* @brief get the path of the current buffer
* @return Path of the buffer (remove the ended name)
*/
virtual std::string getBufferPath();
/**
* @brief Check if the buffer is availlable
* @return true if a display buffer is present, false otherwise.
*/
virtual bool hasBuffer(void) {
virtual bool hasBuffer() {
return m_buffer != NULL;
}
/**
* @brief Get the status of selection.
* @return true if we have a current selection, false otherwise.
*/
virtual bool hasTextSelected(void) {
virtual bool hasTextSelected() {
if (m_buffer==NULL) {
return false;
}
@@ -218,7 +223,7 @@ namespace appl {
/**
* @brief Remove Selection of the buffer.
*/
virtual void unSelect(void) {
virtual void unSelect() {
if (m_buffer==NULL) {
return;
}
@@ -312,7 +317,7 @@ namespace appl {
* @brief Get the cursor position.
* @return The iterator on the cursor position
*/
appl::Buffer::Iterator cursor(void) {
appl::Buffer::Iterator cursor() {
if (m_buffer==NULL) {
return appl::Buffer::Iterator();
}
@@ -322,7 +327,7 @@ namespace appl {
* @brief Get the begin position.
* @return The iterator on the begin position
*/
appl::Buffer::Iterator begin(void) {
appl::Buffer::Iterator begin() {
if (m_buffer==NULL) {
return appl::Buffer::Iterator();
}
@@ -332,7 +337,7 @@ namespace appl {
* @brief Get the end position.
* @return The iterator on the end position
*/
appl::Buffer::Iterator end(void) {
appl::Buffer::Iterator end() {
if (m_buffer==NULL) {
return appl::Buffer::Iterator();
}
@@ -342,7 +347,7 @@ namespace appl {
* @brief Get an Iterator on the start selection.
* @return The Iterator
*/
appl::Buffer::Iterator selectStart(void) {
appl::Buffer::Iterator selectStart() {
if (m_buffer==NULL) {
return appl::Buffer::Iterator();
}
@@ -352,7 +357,7 @@ namespace appl {
* @brief Get an Iterator on the stop selection.
* @return The Iterator
*/
appl::Buffer::Iterator selectStop(void) {
appl::Buffer::Iterator selectStop() {
if (m_buffer==NULL) {
return appl::Buffer::Iterator();
}

View File

@@ -17,7 +17,7 @@
#undef __class__
#define __class__ "ViewerManager"
appl::ViewerManager::ViewerManager(void) :
appl::ViewerManager::ViewerManager() :
ewol::Resource("???ViewerManager???"),
m_viewer(NULL) {
addObjectType("appl::ViewerManager");
@@ -25,7 +25,7 @@ appl::ViewerManager::ViewerManager(void) :
m_bufferManager = appl::BufferManager::keep();
}
appl::ViewerManager::~ViewerManager(void) {
appl::ViewerManager::~ViewerManager() {
appl::BufferManager::release(m_bufferManager);
}
@@ -51,7 +51,7 @@ void appl::ViewerManager::onObjectRemove(ewol::Object* _removeObject) {
}
}
appl::ViewerManager* appl::ViewerManager::keep(void) {
appl::ViewerManager* appl::ViewerManager::keep() {
//EWOL_INFO("KEEP : appl::GlyphPainting : file : \"" << _filename << "\"");
appl::ViewerManager* object = static_cast<appl::ViewerManager*>(getManager().localKeep("???ViewerManager???"));
if (NULL != object) {

View File

@@ -19,8 +19,8 @@ namespace appl {
class TextViewer;
class ViewerManager : public ewol::Resource {
protected:
ViewerManager(void);
~ViewerManager(void);
ViewerManager();
~ViewerManager();
private:
appl::BufferManager* m_bufferManager; //!< handle on the buffer manager
appl::TextViewer* m_viewer;
@@ -34,7 +34,7 @@ namespace appl {
* @brief Get the current buffer selected
* @return Pointer on the buffer selected
*/
appl::TextViewer* getViewerSelected(void) {
appl::TextViewer* getViewerSelected() {
return m_viewer;
};
/**
@@ -55,7 +55,7 @@ namespace appl {
* @param[in] _filename Name of the configuration file.
* @return pointer on the resource or NULL if an error occured.
*/
static appl::ViewerManager* keep(void);
static appl::ViewerManager* keep();
/**
* @brief release the keeped resources
* @param[in,out] reference on the object pointer

View File

@@ -15,7 +15,7 @@
static const char* s_closeDone = "close-done";
appl::WorkerCloseAllFile::WorkerCloseAllFile(void) :
appl::WorkerCloseAllFile::WorkerCloseAllFile() :
m_worker(NULL),
m_bufferManager(NULL) {
addObjectType("appl::WorkerCloseAllFile");
@@ -55,7 +55,7 @@ appl::WorkerCloseAllFile::WorkerCloseAllFile(void) :
m_worker->registerOnEvent(this, appl::WorkerCloseFile::eventCloseDone, s_closeDone);
}
appl::WorkerCloseAllFile::~WorkerCloseAllFile(void) {
appl::WorkerCloseAllFile::~WorkerCloseAllFile() {
appl::BufferManager::release(m_bufferManager);
}

View File

@@ -15,8 +15,8 @@
namespace appl {
class WorkerCloseAllFile : public ewol::Object {
public:
WorkerCloseAllFile(void);
virtual ~WorkerCloseAllFile(void);
WorkerCloseAllFile();
virtual ~WorkerCloseAllFile();
private:
std::vector<std::string> m_bufferNameList;
appl::WorkerCloseFile* m_worker; //! pop-up element that is open...

View File

@@ -96,7 +96,7 @@ appl::WorkerCloseFile::WorkerCloseFile(const std::string& _bufferName) :
tmpWindows->popUpWidgetPush(tmpPopUp);
}
appl::WorkerCloseFile::~WorkerCloseFile(void) {
appl::WorkerCloseFile::~WorkerCloseFile() {
appl::BufferManager::release(m_bufferManager);
}

View File

@@ -20,7 +20,7 @@ namespace appl {
public:
// note : if == "" ==> current ...
WorkerCloseFile(const std::string& _bufferName);
virtual ~WorkerCloseFile(void);
virtual ~WorkerCloseFile();
private:
std::string m_bufferName;
appl::Buffer* m_buffer; //!< reference on the buffer (when rename, we have no more reference on the buffer

View File

@@ -15,7 +15,7 @@
static const char* s_saveAsDone = "save-as-done";
appl::WorkerSaveAllFile::WorkerSaveAllFile(void) :
appl::WorkerSaveAllFile::WorkerSaveAllFile() :
m_worker(NULL),
m_bufferManager(NULL) {
addObjectType("appl::WorkerSaveAllFile");
@@ -58,7 +58,7 @@ appl::WorkerSaveAllFile::WorkerSaveAllFile(void) :
m_worker->registerOnEvent(this, appl::WorkerSaveFile::eventSaveDone, s_saveAsDone);
}
appl::WorkerSaveAllFile::~WorkerSaveAllFile(void) {
appl::WorkerSaveAllFile::~WorkerSaveAllFile() {
appl::BufferManager::release(m_bufferManager);
}

View File

@@ -15,8 +15,8 @@
namespace appl {
class WorkerSaveAllFile : public ewol::Object {
public:
WorkerSaveAllFile(void);
virtual ~WorkerSaveAllFile(void);
WorkerSaveAllFile();
virtual ~WorkerSaveAllFile();
private:
std::vector<std::string> m_bufferNameList;
appl::WorkerSaveFile* m_worker; //! pop-up element that is open...

View File

@@ -81,7 +81,7 @@ appl::WorkerSaveFile::WorkerSaveFile(const std::string& _bufferName, bool _force
m_chooser->registerOnEvent(this, ewol::widget::FileChooser::eventValidate, s_saveAsValidate);
}
appl::WorkerSaveFile::~WorkerSaveFile(void) {
appl::WorkerSaveFile::~WorkerSaveFile() {
appl::BufferManager::release(m_bufferManager);
}

View File

@@ -18,7 +18,7 @@ namespace appl {
static const char* eventSaveDone;
public:
WorkerSaveFile(const std::string& _bufferName, bool _forceSaveAs=true);
virtual ~WorkerSaveFile(void);
virtual ~WorkerSaveFile();
private:
std::string m_bufferName;
ewol::widget::FileChooser* m_chooser; //! pop-up element that is open...

View File

@@ -99,8 +99,7 @@ appl::Highlight::Highlight(const std::string& _xmlFilename, const std::string& _
}
}
appl::Highlight::~Highlight(void) {
int32_t i;
appl::Highlight::~Highlight() {
// clean all Element
for (int32_t iii = 0; iii < m_listHighlightPass1.size(); ++iii) {
if (m_listHighlightPass1[iii] != NULL) {
@@ -145,7 +144,7 @@ bool appl::Highlight::fileNameCompatible(const std::string& _fileName) {
}
void appl::Highlight::display(void) {
void appl::Highlight::display() {
APPL_INFO("List of ALL Highlight : ");
for (int32_t iii=0; iii< m_listExtentions.size(); iii++) {
APPL_INFO(" Extention : " << iii << " : " << m_listExtentions[iii] );

View File

@@ -38,17 +38,17 @@ namespace appl {
protected:
// Constructeur
Highlight(const std::string& _xmlFilename, const std::string& _colorFile);
~Highlight(void);
~Highlight();
private:
std::string m_typeName; //!< descriptive string type like "C/C++"
public:
const std::string& getTypeName(void) {
const std::string& getTypeName() {
return m_typeName;
}
public:
bool hasExtention(const std::string& _ext);
bool fileNameCompatible(const std::string& _fileName);
void display(void);
void display();
void parse(int64_t _start,
int64_t _stop,
std::vector<appl::HighlightInfo> &_metaData,
@@ -80,7 +80,7 @@ namespace appl {
*/
static void release(appl::Highlight*& _object);
public: // herited function :
virtual void updateContext(void) {
virtual void updateContext() {
// no upfate to do ...
};
};

View File

@@ -15,13 +15,13 @@
#undef __class__
#define __class__ "highlightManager"
static std::vector<appl::Highlight*>& s_list(void) {
static std::vector<appl::Highlight*>& s_list() {
static std::vector<appl::Highlight*> list;
return list;
}
void appl::highlightManager::init(void) {
void appl::highlightManager::init() {
std::vector<appl::Highlight*>& hlList = s_list();
if (hlList.size() != 0) {
APPL_ERROR("HighlightManager == > already exist, just unlink the previous ...");
@@ -58,7 +58,7 @@ void appl::highlightManager::init(void) {
*/
}
void appl::highlightManager::unInit(void) {
void appl::highlightManager::unInit() {
std::vector<Highlight*>& hlList = s_list();
if (hlList.size() == 0) {
APPL_DEBUG("HighlightManager ==> no highlight");
@@ -111,7 +111,7 @@ std::string appl::highlightManager::getFileWithTypeType(const std::string& _type
return "";
}
std::vector<std::string> appl::highlightManager::getTypeList(void) {
std::vector<std::string> appl::highlightManager::getTypeList() {
std::vector<std::string> ret;
return ret;
}

View File

@@ -20,11 +20,11 @@ namespace appl {
/**
* @brief Init the Highlight manager
*/
void init(void);
void init();
/**
* @brief Un-Init the Highlight manager
*/
void unInit(void);
void unInit();
/**
* @brief Un-Init the Highlight manager
* @param[in] extention of the file
@@ -41,7 +41,7 @@ namespace appl {
* @brief Get the list of extention type
* @return the requested list.
*/
std::vector<std::string> getTypeList(void);
std::vector<std::string> getTypeList();
};
};

View File

@@ -25,7 +25,7 @@ appl::HighlightPattern::HighlightPattern(appl::GlyphPainting*& _glyphPainting) :
m_regExpStart = new etk::RegExp<etk::Buffer>();
}
appl::HighlightPattern::~HighlightPattern(void) {
appl::HighlightPattern::~HighlightPattern() {
if (m_regExpStart != NULL) {
delete(m_regExpStart);
m_regExpStart = NULL;
@@ -68,7 +68,7 @@ void appl::HighlightPattern::setColorGlyph(std::string& _colorName) {
APPL_VERBOSE("Resuest color name '" << m_colorName << "' => id=" << m_colorId);
}
void appl::HighlightPattern::display(void) {
void appl::HighlightPattern::display() {
APPL_INFO("patern : \"" << m_paternName << "\" level=" << m_level );
APPL_INFO(" == > colorName \"" << m_colorName << "\"");
APPL_INFO(" == > regExpStart \"" << m_regExpStart->getRegExp() << "\"");

View File

@@ -33,14 +33,14 @@ namespace appl {
public:
// Constructeur
HighlightPattern(appl::GlyphPainting*& _glyphPainting);
~HighlightPattern(void);
~HighlightPattern();
private:
std::string m_paternName; //!< Current style name (like "c++" or "c" or "script Bash")
public:
void setName(std::string& _name) {
m_paternName = _name;
};
std::string getName(void) {
std::string getName() {
return m_paternName;
};
private:
@@ -56,7 +56,7 @@ namespace appl {
int32_t m_colorId; //!< Id of the the glyph painting
public:
void setColorGlyph(std::string& _colorName);
const appl::GlyphDecoration& getColorGlyph(void) {
const appl::GlyphDecoration& getColorGlyph() {
return (*m_glyphPainting)[m_colorId];
};
private:
@@ -75,13 +75,13 @@ namespace appl {
void setLevel(int32_t _newLevel) {
m_level = _newLevel;
};
int32_t getLevel(void) {
int32_t getLevel() {
return m_level;
};
private:
public:
void display(void);
void display();
/**
* @brief find Element only in the specify start characters and find the end with the range done
* @param[in] _start First character to search data (if recognise it start here)

View File

@@ -14,7 +14,7 @@
#define __class__ "TextViewerPlugin"
appl::TextViewerPlugin::TextViewerPlugin(void) :
appl::TextViewerPlugin::TextViewerPlugin() :
m_isEnable(true),
m_activateOnEventEntry(false),
m_activateOnEventInput(false),
@@ -26,7 +26,7 @@ appl::TextViewerPlugin::TextViewerPlugin(void) :
}
appl::TextViewerPlugin::~TextViewerPlugin(void) {
appl::TextViewerPlugin::~TextViewerPlugin() {
if (m_isEnable == false) {
return;
}

View File

@@ -18,8 +18,8 @@ namespace appl {
class TextViewerPlugin : public ewol::Object {
friend class appl::TextViewer;
public:
TextViewerPlugin(void);
virtual ~TextViewerPlugin(void);
TextViewerPlugin();
virtual ~TextViewerPlugin();
private:
bool m_isEnable; //!< The plugin is enable or not (for all viewer).
public:
@@ -32,20 +32,20 @@ namespace appl {
* @brief Get the activity status.
* @return true if the plugin is active, false otherwise.
*/
bool isEnable(void) {
bool isEnable() {
return m_isEnable;
};
public:
/**
* @brief On plugin global enable.
*/
virtual void onPluginEnable(void) {
virtual void onPluginEnable() {
// nothing to do here ...
};
/**
* @brief On plugin global disable.
*/
virtual void onPluginDisable(void) {
virtual void onPluginDisable() {
// nothing to do here ...
};
/**
@@ -69,7 +69,7 @@ namespace appl {
* @brief Get the availlability of a callback
* @return true if availlable
*/
bool isAvaillableOnEventEntry(void) {
bool isAvaillableOnEventEntry() {
return m_activateOnEventEntry;
}
/**
@@ -89,7 +89,7 @@ namespace appl {
* @brief Get the availlability of a callback
* @return true if availlable
*/
bool isAvaillableOnEventInput(void) {
bool isAvaillableOnEventInput() {
return m_activateOnEventInput;
}
/**
@@ -109,7 +109,7 @@ namespace appl {
* @brief Get the availlability of a callback
* @return true if availlable
*/
bool isAvaillableOnWrite(void) {
bool isAvaillableOnWrite() {
return m_activateOnWrite;
}
/**
@@ -131,7 +131,7 @@ namespace appl {
* @brief Get the availlability of a callback
* @return true if availlable
*/
bool isAvaillableOnReplace(void) {
bool isAvaillableOnReplace() {
return m_activateOnReplace;
}
/**
@@ -155,7 +155,7 @@ namespace appl {
* @brief Get the availlability of a callback
* @return true if availlable
*/
bool isAvaillableOnRemove(void) {
bool isAvaillableOnRemove() {
return m_activateOnRemove;
}
/**
@@ -177,7 +177,7 @@ namespace appl {
* @brief Get the availlability of a callback
* @return true if availlable
*/
bool isAvaillableOnReceiveMessage(void) {
bool isAvaillableOnReceiveMessage() {
return m_activateOnReceiveMessage;
}
/**
@@ -197,7 +197,7 @@ namespace appl {
* @brief Get the availlability of a callback
* @return true if availlable
*/
bool isAvaillableOnCursorMove(void) {
bool isAvaillableOnCursorMove() {
return m_activateOnCursorMove;
}
/**

View File

@@ -15,7 +15,7 @@
#define __class__ "TextPluginAutoIndent"
appl::TextPluginAutoIndent::TextPluginAutoIndent(void) {
appl::TextPluginAutoIndent::TextPluginAutoIndent() {
m_activateOnEventEntry = true;
}

View File

@@ -18,8 +18,8 @@
namespace appl {
class TextPluginAutoIndent : public appl::TextViewerPlugin {
public:
TextPluginAutoIndent(void);
~TextPluginAutoIndent(void) {
TextPluginAutoIndent();
~TextPluginAutoIndent() {
// nothing to do ...
};
public:

View File

@@ -15,7 +15,7 @@
#define __class__ "TextPluginCopy"
appl::TextPluginCopy::TextPluginCopy(void) {
appl::TextPluginCopy::TextPluginCopy() {
m_activateOnReceiveMessage = true;
}

View File

@@ -18,8 +18,8 @@
namespace appl {
class TextPluginCopy : public appl::TextViewerPlugin {
public:
TextPluginCopy(void);
~TextPluginCopy(void) {
TextPluginCopy();
~TextPluginCopy() {
// nothing to do ...
};
public:

View File

@@ -18,7 +18,7 @@
#define __class__ "TextPluginCtags"
appl::TextPluginCtags::TextPluginCtags(void) :
appl::TextPluginCtags::TextPluginCtags() :
m_tagFilename(""),
m_tagFolderBase(""),
m_ctagFile(NULL) {
@@ -26,7 +26,7 @@ appl::TextPluginCtags::TextPluginCtags(void) :
// load buffer manager:
m_bufferManager = appl::BufferManager::keep();
}
appl::TextPluginCtags::~TextPluginCtags(void) {
appl::TextPluginCtags::~TextPluginCtags() {
appl::BufferManager::release(m_bufferManager);
}
@@ -82,13 +82,13 @@ void appl::TextPluginCtags::jumpTo(const std::string& _name) {
if (NULL == tmpWidget) {
APPL_ERROR("Can not allocate widget == > display might be in error");
} else {
tmpWidget->addCtagsNewItem(myfile.getName(), lineID);
tmpWidget->addCtagsNewItem(myfile.getFileSystemName(), lineID);
do {
tmpFile = m_tagFolderBase + "/" + entry.file;
myfile = tmpFile;
lineID = entry.address.lineNumber;
printTag(&entry);
tmpWidget->addCtagsNewItem(myfile.getName(), lineID);
tmpWidget->addCtagsNewItem(myfile.getFileSystemName(), lineID);
} while (tagsFindNext (m_ctagFile, &entry) == TagSuccess);
ewol::getContext().getWindows()->popUpWidgetPush(tmpWidget);
tmpWidget->registerOnEvent(this, applEventctagsSelection, eventOpenCtagsSelectReturn);
@@ -108,7 +108,7 @@ void appl::TextPluginCtags::jumpFile(const std::string& _filename, int64_t _line
sendMultiCast(appl::MsgSelectGotoLineSelect, std::to_string(_lineId));
}
void appl::TextPluginCtags::loadTagFile(void) {
void appl::TextPluginCtags::loadTagFile() {
tagFileInfo info;
// close previous tag file
if (NULL != m_ctagFile) {
@@ -156,7 +156,7 @@ void appl::TextPluginCtags::onReceiveMessage(const ewol::object::Message& _msg)
etk::FSNode tmpFilename = _msg.getData();
m_tagFilename = tmpFilename.getNameFile();
m_tagFolderBase = tmpFilename.getNameFolder();
APPL_DEBUG("Receive load Ctags file : " << m_tagFolderBase << "/" << m_tagFilename << " ");
APPL_INFO("Receive load Ctags file : " << m_tagFolderBase << "/" << m_tagFilename << " ");
loadTagFile();
} else if (_msg.getMessage() == eventOpenCtagsSelectReturn) {
// parse the input data
@@ -177,12 +177,18 @@ bool appl::TextPluginCtags::onReceiveMessage(appl::TextViewer& _textDrawer,
ewol::widget::FileChooser* tmpWidget = new ewol::widget::FileChooser();
if (NULL == tmpWidget) {
APPL_ERROR("Can not allocate widget == > display might be in error");
} else {
tmpWidget->setTitle("Open Exuberant Ctags file");
tmpWidget->setValidateLabel("Open");
ewol::getContext().getWindows()->popUpWidgetPush(tmpWidget);
tmpWidget->registerOnEvent(this, "validate", eventOpenCtagsOpenFileReturn);
return true;
}
tmpWidget->setTitle("Open Exuberant Ctags file");
tmpWidget->setValidateLabel("Open");
// try to get the current folder :
std::string path = _textDrawer.getBufferPath();
APPL_ERROR("get path : '" << path << "'");
if (path != "") {
tmpWidget->setFolder(path);
}
ewol::getContext().getWindows()->popUpWidgetPush(tmpWidget);
tmpWidget->registerOnEvent(this, "validate", eventOpenCtagsOpenFileReturn);
return true;
} else if (_msg.getMessage() == eventJumpDestination) {
if (_textDrawer.hasBuffer() == false) {

View File

@@ -16,6 +16,9 @@
#include <appl/TextPlugin.h>
#include <appl/ctags/readtags.h>
// create ctags file : "ctags-exuberant --fields=n -R"
// --fields=n add the line number needed for this software version ..
namespace appl {
class TextPluginCtags : public appl::TextViewerPlugin {
private:
@@ -26,14 +29,14 @@ namespace appl {
std::string m_tagFolderBase;
std::string m_tagFilename;
tagFile* m_ctagFile;
void loadTagFile(void);
void loadTagFile();
void printTag(const tagEntry *_entry);
void jumpTo(const std::string& _name);
void jumpFile(const std::string& _filename, int64_t _lineId);
appl::BufferManager* m_bufferManager; //!< handle on the buffer manager
public:
TextPluginCtags(void);
~TextPluginCtags(void);
TextPluginCtags();
~TextPluginCtags();
public:
virtual void onPluginEnable(appl::TextViewer& _textDrawer);
virtual void onPluginDisable(appl::TextViewer& _textDrawer);

View File

@@ -18,10 +18,10 @@
namespace appl {
template <typename TYPE> class TextViewerPluginData : public appl::TextViewerPlugin {
public:
TextViewerPluginData(void) {
TextViewerPluginData() {
// nothing to do ...
}
virtual ~TextViewerPluginData(void) {
virtual ~TextViewerPluginData() {
for (size_t iii = 0; iii < m_specificData.size() ; ++iii) {
if (m_specificData[iii].second != NULL) {
remove(*m_specificData[iii].second);

View File

@@ -15,7 +15,7 @@
#undef __class__
#define __class__ "TextPluginHistory"
appl::TextPluginHistory::TextPluginHistory(void) {
appl::TextPluginHistory::TextPluginHistory() {
m_activateOnReceiveMessage = true;
m_activateOnWrite = true;
m_activateOnReplace = true;

View File

@@ -18,7 +18,7 @@
namespace appl {
class History {
public:
History(void) :
History() :
m_posAdded(0),
m_endPosAdded(0),
m_endPosRemoved(0) {
@@ -37,8 +37,8 @@ namespace appl {
};
class TextPluginHistory : public appl::TextViewerPluginData<appl::PluginHistoryData> {
public:
TextPluginHistory(void);
virtual ~TextPluginHistory(void) { };
TextPluginHistory();
virtual ~TextPluginHistory() { };
private:
public:
virtual void onPluginEnable(appl::TextViewer& _textDrawer);

View File

@@ -19,44 +19,44 @@
#undef __class__
#define __class__ "textPluginManager"
static std::vector<appl::TextViewerPlugin *>& getList(void) {
static std::vector<appl::TextViewerPlugin *>& getList() {
static std::vector<appl::TextViewerPlugin *> s_list;
return s_list;
}
static std::vector<appl::TextViewerPlugin *>& getListOnEventEntry(void) {
static std::vector<appl::TextViewerPlugin *>& getListOnEventEntry() {
static std::vector<appl::TextViewerPlugin *> s_list;
return s_list;
}
static std::vector<appl::TextViewerPlugin *>& getListOnEventInput(void) {
static std::vector<appl::TextViewerPlugin *>& getListOnEventInput() {
static std::vector<appl::TextViewerPlugin *> s_list;
return s_list;
}
static std::vector<appl::TextViewerPlugin *>& getListOnWrite(void) {
static std::vector<appl::TextViewerPlugin *>& getListOnWrite() {
static std::vector<appl::TextViewerPlugin *> s_list;
return s_list;
}
static std::vector<appl::TextViewerPlugin *>& getListOnReplace(void) {
static std::vector<appl::TextViewerPlugin *>& getListOnReplace() {
static std::vector<appl::TextViewerPlugin *> s_list;
return s_list;
}
static std::vector<appl::TextViewerPlugin *>& getListOnRemove(void) {
static std::vector<appl::TextViewerPlugin *>& getListOnRemove() {
static std::vector<appl::TextViewerPlugin *> s_list;
return s_list;
}
static std::vector<appl::TextViewerPlugin *>& getListOnReceiveMessage(void) {
static std::vector<appl::TextViewerPlugin *>& getListOnReceiveMessage() {
static std::vector<appl::TextViewerPlugin *> s_list;
return s_list;
}
static std::vector<appl::TextViewerPlugin *>& getListOnCursorMove(void) {
static std::vector<appl::TextViewerPlugin *>& getListOnCursorMove() {
static std::vector<appl::TextViewerPlugin *> s_list;
return s_list;
}
void appl::textPluginManager::init(void) {
void appl::textPluginManager::init() {
}
void appl::textPluginManager::unInit(void) {
void appl::textPluginManager::unInit() {
// remove all sub plugin class:
getListOnEventEntry().clear();
getListOnEventInput().clear();
@@ -76,7 +76,7 @@ void appl::textPluginManager::unInit(void) {
getList().clear();
}
void appl::textPluginManager::addDefaultPlugin(void) {
void appl::textPluginManager::addDefaultPlugin() {
appl::textPluginManager::addPlugin(new appl::TextPluginCopy());
appl::textPluginManager::addPlugin(new appl::TextPluginMultiLineTab());
appl::textPluginManager::addPlugin(new appl::TextPluginAutoIndent());

View File

@@ -20,15 +20,15 @@ namespace appl {
/**
* @brief Init the plugin manager for writer.
*/
void init(void);
void init();
/**
* @brief UnInit the plugin manager for writer.
*/
void unInit(void);
void unInit();
/**
* @brief Add default plugin list
*/
void addDefaultPlugin(void);
void addDefaultPlugin();
/**
* @brief Add a plugin.
* @param[in] _plugin Plugin pointer to add.

View File

@@ -14,7 +14,7 @@
#undef __class__
#define __class__ "TextPluginMultiLineTab"
appl::TextPluginMultiLineTab::TextPluginMultiLineTab(void) {
appl::TextPluginMultiLineTab::TextPluginMultiLineTab() {
m_activateOnEventEntry = true;
}

View File

@@ -18,8 +18,8 @@
namespace appl {
class TextPluginMultiLineTab : public appl::TextViewerPlugin {
public:
TextPluginMultiLineTab(void);
~TextPluginMultiLineTab(void) {
TextPluginMultiLineTab();
~TextPluginMultiLineTab() {
// nothing to do ...
};
public:

View File

@@ -15,7 +15,7 @@
#define __class__ "TextPluginRmLine"
appl::TextPluginRmLine::TextPluginRmLine(void) {
appl::TextPluginRmLine::TextPluginRmLine() {
m_activateOnReceiveMessage = true;
}

View File

@@ -18,8 +18,8 @@
namespace appl {
class TextPluginRmLine : public appl::TextViewerPlugin {
public:
TextPluginRmLine(void);
~TextPluginRmLine(void) {
TextPluginRmLine();
~TextPluginRmLine() {
// nothing to do ...
};
public:

View File

@@ -15,7 +15,7 @@
#define __class__ "TextPluginSelectAll"
appl::TextPluginSelectAll::TextPluginSelectAll(void) {
appl::TextPluginSelectAll::TextPluginSelectAll() {
m_activateOnReceiveMessage = true;
}

View File

@@ -18,8 +18,8 @@
namespace appl {
class TextPluginSelectAll : public appl::TextViewerPlugin {
public:
TextPluginSelectAll(void);
~TextPluginSelectAll(void) {
TextPluginSelectAll();
~TextPluginSelectAll() {
// nothing to do ...
};
public:

View File

@@ -846,7 +846,7 @@ static void findTag (const char *const name, const int options)
}
}
static void listTags (void)
static void listTags ()
{
tagFileInfo info;
tagEntry entry;

View File

@@ -8,4 +8,8 @@
#include <appl/debug.h>
const char * applLog = "edn ";
int32_t appl::getLogId() {
static int32_t g_val = etk::log::registerInstance("edn");
return g_val;
}

View File

@@ -9,19 +9,43 @@
#ifndef __APPL_DEBUG_H__
#define __APPL_DEBUG_H__
#include <etk/types.h>
#include <etk/debugGeneric.h>
#include <etk/log.h>
extern const char * applLog;
namespace appl {
int32_t getLogId();
};
// TODO : Review this problem of multiple intanciation of "std::stringbuf sb"
#define APPL_BASE(info,data) \
do { \
if (info <= etk::log::getLevel(appl::getLogId())) { \
std::stringbuf sb; \
std::ostream tmpStream(&sb); \
tmpStream << data; \
etk::log::logStream(appl::getLogId(), info, __LINE__, __class__, __func__, tmpStream); \
} \
} while(0)
#define APPL_CRITICAL(data) ETK_CRITICAL(applLog, data)
#define APPL_WARNING(data) ETK_WARNING(applLog, data)
#define APPL_ERROR(data) ETK_ERROR(applLog, data)
#define APPL_INFO(data) ETK_INFO(applLog, data)
#define APPL_DEBUG(data) ETK_DEBUG(applLog, data)
#define APPL_VERBOSE(data) ETK_VERBOSE(applLog, data)
#define APPL_ASSERT(cond, data) ETK_ASSERT(applLog, cond, data)
#define APPL_CHECK_INOUT(cond) ETK_CHECK_INOUT(applLog, cond)
#define APPL_TODO(cond) ETK_TODO(applLog, cond)
#define APPL_CRITICAL(data) APPL_BASE(1, data)
#define APPL_ERROR(data) APPL_BASE(2, data)
#define APPL_WARNING(data) APPL_BASE(3, data)
#ifdef DEBUG
#define APPL_INFO(data) APPL_BASE(4, data)
#define APPL_DEBUG(data) APPL_BASE(5, data)
#define APPL_VERBOSE(data) APPL_BASE(6, data)
#define APPL_TODO(data) APPL_BASE(4, "TODO : " << data)
#else
#define APPL_INFO(data) do { } while(false)
#define APPL_DEBUG(data) do { } while(false)
#define APPL_VERBOSE(data) do { } while(false)
#define APPL_TODO(data) do { } while(false)
#endif
#define APPL_ASSERT(cond,data) \
do { \
if (!(cond)) { \
APPL_CRITICAL(data); \
assert(!#cond); \
} \
} while (0)
#endif

View File

@@ -28,7 +28,7 @@ class myParamGlobal : public ewol::Object {
bool m_displayTabChar;
bool m_displaySpaceChar;
public :
myParamGlobal(void) {
myParamGlobal() {
m_static = true; // Note : set the object static notification( Must be set or assert at the end of process)
setName("edn_global_param");
m_displayEOL=false;
@@ -104,22 +104,22 @@ const char * const myParamGlobal::configAutoIndent = "auto-indent";
const char * const myParamGlobal::configShowTabChar = "display-tab";
const char * const myParamGlobal::configShowSpaceChar = "display-space";
static myParamGlobal& l_obj(void) {
static myParamGlobal& l_obj() {
static myParamGlobal s_obj;
return s_obj;
}
void globals::init(void) {
void globals::init() {
//ewol::userConfig::addUserConfig(&l_obj());
}
void globals::UnInit(void) {
void globals::UnInit() {
// nothing to do ...
//ewol::userConfig::RmUserConfig(&l_obj());
}
// -----------------------------------------------------------
bool globals::isSetDisplayEndOfLine(void) {
bool globals::isSetDisplayEndOfLine() {
return l_obj().m_displayEOL;
}
@@ -129,7 +129,7 @@ void globals::setDisplayEndOfLine(bool newVal) {
}
// -----------------------------------------------------------
bool globals::isSetDisplaySpaceChar(void) {
bool globals::isSetDisplaySpaceChar() {
return l_obj().m_displaySpaceChar;
}
@@ -138,7 +138,7 @@ void globals::setDisplaySpaceChar(bool _newVal) {
//ewol::widgetMessageMultiCast::Send(-1, ednMsgUserDisplayChange);
}
// -----------------------------------------------------------
bool globals::isSetDisplayTabChar(void) {
bool globals::isSetDisplayTabChar() {
return l_obj().m_displayTabChar;
}
@@ -148,7 +148,7 @@ void globals::setDisplayTabChar(bool _newVal) {
}
// -----------------------------------------------------------
bool globals::isSetAutoIndent(void) {
bool globals::isSetAutoIndent() {
return l_obj().m_AutoIndent;
}
@@ -157,16 +157,16 @@ void globals::setAutoIndent(bool _newVal) {
}
// -----------------------------------------------------------
bool globals::OrderTheBufferList(void) {
bool globals::OrderTheBufferList() {
return true;
}
// -----------------------------------------------------------
int32_t globals::getNbColoneBorder(void) {
int32_t globals::getNbColoneBorder() {
return 6;
}
int32_t globals::getNbLineBorder(void) {
int32_t globals::getNbLineBorder() {
return 3;
}
@@ -179,7 +179,7 @@ static const char * const l_changeTabulation = "edn-event-change-tabulation";
static const char * const l_changeEndOfLine = "edn-event-change-endOfLine";
static const char * const l_changeRounded = "edn-event-change-rounded";
globals::ParameterGlobalsGui::ParameterGlobalsGui(void) :
globals::ParameterGlobalsGui::ParameterGlobalsGui() :
ewol::widget::Sizer(ewol::widget::Sizer::modeVert) {
ewol::widget::CheckBox* myCheckbox = NULL;
ewol::widget::Spacer* mySpacer = NULL;
@@ -238,7 +238,7 @@ globals::ParameterGlobalsGui::ParameterGlobalsGui(void) :
}
}
globals::ParameterGlobalsGui::~ParameterGlobalsGui(void) {
globals::ParameterGlobalsGui::~ParameterGlobalsGui() {
}

View File

@@ -15,31 +15,31 @@
namespace globals
{
void init(void);
void UnInit(void);
int32_t getNbColoneBorder(void);
int32_t getNbLineBorder(void);
void init();
void UnInit();
int32_t getNbColoneBorder();
int32_t getNbLineBorder();
bool isSetDisplayEndOfLine(void);
bool isSetDisplayEndOfLine();
void setDisplayEndOfLine(bool _newVal);
bool isSetDisplaySpaceChar(void);
bool isSetDisplaySpaceChar();
void setDisplaySpaceChar(bool _newVal);
bool isSetDisplayTabChar(void);
bool isSetDisplayTabChar();
void setDisplayTabChar(bool _newVal);
bool isSetAutoIndent(void);
bool isSetAutoIndent();
void setAutoIndent(bool _newVal);
void init2(void);
void init2();
bool OrderTheBufferList(void);
bool OrderTheBufferList();
class ParameterGlobalsGui : public ewol::widget::Sizer {
public :
ParameterGlobalsGui(void);
~ParameterGlobalsGui(void);
ParameterGlobalsGui();
~ParameterGlobalsGui();
// herited function
virtual void onReceiveMessage(const ewol::object::Message& _msg);
};

View File

@@ -42,7 +42,8 @@ appl::BufferManager* bufferManager = NULL;
/**
* @brief main application function initialisation
*/
bool APP_Init(ewol::Context& _context) {
bool APP_Init(ewol::Context& _context, size_t _initId, size_t& _nbInitStep) {
_nbInitStep = 1;
APPL_INFO(" == > init APPL v" << APPL_VERSION << " (START) [" << ewol::getBoardType() << "] (" << ewol::getCompilationMode() << ")");
etk::theme::setName("COLOR", "color/black/");
@@ -65,7 +66,7 @@ bool APP_Init(ewol::Context& _context) {
globals::init();
// init ALL Singleton :
//(void)CTagsManager::getInstance();
//()CTagsManager::getInstance();
bufferManager = appl::BufferManager::keep();
appl::highlightManager::init();
@@ -102,12 +103,16 @@ bool APP_Init(ewol::Context& _context) {
if (tmpppp == "-t") {
ctagDetected = true;
} else if (true == ctagDetected) {
APPL_INFO("Load ctag file : \"" << tmpppp << "\"" );
etk::FSNode file(tmpppp);
std::string name = file.getName();
APPL_INFO("Load ctag file : \"" << name << "\"" );
ctagDetected = false;
_context.getEObjectManager().multiCast().anonymousSend(ednMsgCtagsLoadFile, tmpppp);
_context.getEObjectManager().multiCast().anonymousSend(ednMsgCtagsLoadFile, name);
} else {
APPL_INFO("need load file : \"" << tmpppp << "\"" );
bufferManager->open(tmpppp);
etk::FSNode file(tmpppp);
std::string name = file.getName();
APPL_INFO("need load file : \"" << name << "\"" );
bufferManager->open(name);
}
}

View File

@@ -74,6 +74,7 @@ def create(target):
myModule.copy_folder('../data/languages/bash/*.xml','languages/bash/')
myModule.copy_folder('../data/languages/boo/*.xml','languages/boo/')
myModule.copy_folder('../data/languages/c/*.xml','languages/c/')
myModule.copy_folder('../data/languages/cmake/*.xml','languages/cmake/')
myModule.copy_folder('../data/languages/glsl/*.xml','languages/glsl/')
myModule.copy_folder('../data/languages/in/*.xml','languages/in/')
myModule.copy_folder('../data/languages/java/*.xml','languages/java/')

View File

@@ -1 +1 @@
1.1.1
1.1.2