Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
88b76c074d | |||
28b709bfb8 | |||
1c01dbd7cd | |||
948240f05f | |||
990828c69c | |||
72f63a8990 | |||
4d2eced7a0 | |||
6598a22981 | |||
01276b581f |
2
Makefile
2
Makefile
@@ -294,9 +294,11 @@ install: .encadrer .versionFile $(OUTPUT_NAME_RELEASE)
|
|||||||
wc -l Makefile `find $(FILE_DIRECTORY)/ -name "*.cpp"` `find $(FILE_DIRECTORY)/ -name "*.h"`
|
wc -l Makefile `find $(FILE_DIRECTORY)/ -name "*.cpp"` `find $(FILE_DIRECTORY)/ -name "*.h"`
|
||||||
|
|
||||||
install: .encadrer .versionFile $(OUTPUT_NAME_RELEASE)
|
install: .encadrer .versionFile $(OUTPUT_NAME_RELEASE)
|
||||||
|
@echo $(CADRE_HAUT_BAS)
|
||||||
@echo ' INSTALL : $(F_VIOLET)$(OUTPUT_NAME_RELEASE)=>$(PROG_NAME)$(F_NORMALE)'$(CADRE_COTERS)
|
@echo ' INSTALL : $(F_VIOLET)$(OUTPUT_NAME_RELEASE)=>$(PROG_NAME)$(F_NORMALE)'$(CADRE_COTERS)
|
||||||
@echo $(CADRE_HAUT_BAS)
|
@echo $(CADRE_HAUT_BAS)
|
||||||
@echo $(F_ROUGE)"
|
@echo $(F_ROUGE)"
|
||||||
|
(stripped) $(OUTPUT_NAME_RELEASE) => $(PROG_NAME) "$(F_NORMALE)
|
||||||
@cp $(OUTPUT_NAME_RELEASE) $(PROG_NAME)
|
@cp $(OUTPUT_NAME_RELEASE) $(PROG_NAME)
|
||||||
@strip -s $(PROG_NAME)
|
@strip -s $(PROG_NAME)
|
||||||
@echo $(F_VERT)"
|
@echo $(F_VERT)"
|
||||||
|
21
README
21
README
@@ -1,21 +0,0 @@
|
|||||||
Edn (Editeur De N'ours) is a FREE software.
|
|
||||||
|
|
||||||
This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.
|
|
||||||
|
|
||||||
Terms of license:
|
|
||||||
|
|
||||||
You can:
|
|
||||||
- Redistribute the sources code and binaries.
|
|
||||||
- Modify the Sources code.
|
|
||||||
- Use a part of the sources (less than 50%) in an other software, just write somewhere "Edn is great" visible by the user (on your product or on your website with a link to my page).
|
|
||||||
- Redistribute the modification only if you want.
|
|
||||||
- Send me the bug-fix (it could be great).
|
|
||||||
- Pay me a beer or some other things.
|
|
||||||
- Print the source code on WC paper ...
|
|
||||||
You can NOT:
|
|
||||||
- Earn money with this Software (But I can).
|
|
||||||
- Add malware in the Sources.
|
|
||||||
- Do something bad with the sources.
|
|
||||||
- Use it to travel in the space with a toaster.
|
|
||||||
|
|
||||||
I reserve the right to change this licence. If it change the version of the copy you have keep its own license
|
|
41
README.md
Normal file
41
README.md
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
Edn
|
||||||
|
====
|
||||||
|
|
||||||
|
`Edn` (Editeur De N'ours) is a FREE software.
|
||||||
|
|
||||||
|
This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.
|
||||||
|
|
||||||
|
Instructions
|
||||||
|
============
|
||||||
|
|
||||||
|
download the software :
|
||||||
|
|
||||||
|
git clone git://github.com/HeeroYui/edn.git
|
||||||
|
cd edn
|
||||||
|
|
||||||
|
Compile software and install :
|
||||||
|
|
||||||
|
sudo make DEBUG=0 install
|
||||||
|
|
||||||
|
Run Software :
|
||||||
|
|
||||||
|
edn exemple.txt
|
||||||
|
|
||||||
|
License
|
||||||
|
=======
|
||||||
|
|
||||||
|
You can:
|
||||||
|
- Redistribute the sources code and binaries.
|
||||||
|
- Modify the Sources code.
|
||||||
|
- Use a part of the sources (less than 50%) in an other software, just write somewhere "Edn is great" visible by the user (on your product or on your website with a link to my page).
|
||||||
|
- Redistribute the modification only if you want.
|
||||||
|
- Send me the bug-fix (it could be great).
|
||||||
|
- Pay me a beer or some other things.
|
||||||
|
- Print the source code on WC paper ...
|
||||||
|
You can NOT:
|
||||||
|
- Earn money with this Software (But I can).
|
||||||
|
- Add malware in the Sources.
|
||||||
|
- Do something bad with the sources.
|
||||||
|
- Use it to travel in the space with a toaster.
|
||||||
|
|
||||||
|
I reserve the right to change this licence. If it change the version of the copy you have keep its own license
|
@@ -47,6 +47,7 @@ Buffer::Buffer()
|
|||||||
Edn::String mString = "Untitle - ";
|
Edn::String mString = "Untitle - ";
|
||||||
mString += fileBasicID++;
|
mString += fileBasicID++;
|
||||||
SetFileName(mString);
|
SetFileName(mString);
|
||||||
|
m_haveName = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -51,7 +51,7 @@ class BufferManager: public Singleton<BufferManager>, public MsgBroadcast
|
|||||||
int32_t Open(Edn::File &myFile);
|
int32_t Open(Edn::File &myFile);
|
||||||
int32_t GetSelected(void) { return m_idSelected;};
|
int32_t GetSelected(void) { return m_idSelected;};
|
||||||
void SetSelected(int32_t id) {m_idSelected = id;};
|
void SetSelected(int32_t id) {m_idSelected = id;};
|
||||||
Buffer * Get(int32_t BufferID);
|
Buffer * Get(int32_t BufferID);
|
||||||
bool Exist(int32_t BufferID);
|
bool Exist(int32_t BufferID);
|
||||||
bool Exist(Edn::File &myFile);
|
bool Exist(Edn::File &myFile);
|
||||||
int32_t GetId(Edn::File &myFile);
|
int32_t GetId(Edn::File &myFile);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file ColoriseManager.cpp
|
* @file ColorizeManager.cpp
|
||||||
* @brief Editeur De N'ours : Colorising Manager
|
* @brief Editeur De N'ours : Colorising Manager
|
||||||
* @author Edouard DUPIN
|
* @author Edouard DUPIN
|
||||||
* @date 14/12/2010
|
* @date 14/12/2010
|
||||||
@@ -57,19 +57,8 @@ void ColorizeManager::OnMessage(int32_t id, int32_t dataID)
|
|||||||
{
|
{
|
||||||
case EDN_MSG__RELOAD_COLOR_FILE:
|
case EDN_MSG__RELOAD_COLOR_FILE:
|
||||||
{
|
{
|
||||||
// Remove all current color
|
|
||||||
int32_t i;
|
|
||||||
// clean all Element
|
|
||||||
for (i=0; i< listMyColor.Size(); i++) {
|
|
||||||
if (NULL != listMyColor[i]) {
|
|
||||||
delete(listMyColor[i]);
|
|
||||||
listMyColor[i] = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// clear the compleate list
|
|
||||||
listMyColor.Clear();
|
|
||||||
// Reaload File
|
// Reaload File
|
||||||
// TODO : Check this :
|
// TODO : Check this : Pb in the recopy Edn::String element
|
||||||
Edn::String plop = m_fileColor;
|
Edn::String plop = m_fileColor;
|
||||||
LoadFile(plop.c_str());
|
LoadFile(plop.c_str());
|
||||||
}
|
}
|
||||||
@@ -85,6 +74,18 @@ void ColorizeManager::LoadFile(Edn::String &xmlFilename)
|
|||||||
|
|
||||||
void ColorizeManager::LoadFile(const char * xmlFilename)
|
void ColorizeManager::LoadFile(const char * xmlFilename)
|
||||||
{
|
{
|
||||||
|
// Remove all old color :
|
||||||
|
int32_t i;
|
||||||
|
// clean all Element
|
||||||
|
for (i=0; i< listMyColor.Size(); i++) {
|
||||||
|
if (NULL != listMyColor[i]) {
|
||||||
|
delete(listMyColor[i]);
|
||||||
|
listMyColor[i] = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// clear the compleate list
|
||||||
|
listMyColor.Clear();
|
||||||
|
|
||||||
m_fileColor = xmlFilename;
|
m_fileColor = xmlFilename;
|
||||||
EDN_DEBUG("open file (COLOR) \"" << xmlFilename << "\" ? = \"" << m_fileColor << "\"");
|
EDN_DEBUG("open file (COLOR) \"" << xmlFilename << "\" ? = \"" << m_fileColor << "\"");
|
||||||
errorColor = new Colorize();
|
errorColor = new Colorize();
|
||||||
@@ -96,22 +97,17 @@ void ColorizeManager::LoadFile(const char * xmlFilename)
|
|||||||
// open the curent File
|
// open the curent File
|
||||||
XmlDocument.LoadFile(xmlFilename);
|
XmlDocument.LoadFile(xmlFilename);
|
||||||
TiXmlElement* root = XmlDocument.FirstChildElement( "EdnColor" );
|
TiXmlElement* root = XmlDocument.FirstChildElement( "EdnColor" );
|
||||||
if (NULL == root )
|
if (NULL == root ) {
|
||||||
{
|
|
||||||
EDN_ERROR(PFX"(l ?) main node not find: \"EdnColor\" in \"" << xmlFilename << "\"");
|
EDN_ERROR(PFX"(l ?) main node not find: \"EdnColor\" in \"" << xmlFilename << "\"");
|
||||||
return;
|
return;
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
TiXmlNode * pNode = root->FirstChild();
|
TiXmlNode * pNode = root->FirstChild();
|
||||||
while(NULL != pNode)
|
while(NULL != pNode) {
|
||||||
{
|
|
||||||
if (pNode->Type()==TiXmlNode::TINYXML_COMMENT) {
|
if (pNode->Type()==TiXmlNode::TINYXML_COMMENT) {
|
||||||
// nothing to do, just proceed to next step
|
// nothing to do, just proceed to next step
|
||||||
} else if (!strcmp(pNode->Value(), "gui")) {
|
} else if (!strcmp(pNode->Value(), "gui")) {
|
||||||
TiXmlNode * pGuiNode = pNode->FirstChild();
|
TiXmlNode * pGuiNode = pNode->FirstChild();
|
||||||
while(NULL != pGuiNode)
|
while(NULL != pGuiNode) {
|
||||||
{
|
|
||||||
if (pGuiNode->Type()==TiXmlNode::TINYXML_COMMENT) {
|
if (pGuiNode->Type()==TiXmlNode::TINYXML_COMMENT) {
|
||||||
// nothing to do, just proceed to next step
|
// nothing to do, just proceed to next step
|
||||||
} else if (!strcmp(pGuiNode->Value(), "color")) {
|
} else if (!strcmp(pGuiNode->Value(), "color")) {
|
||||||
@@ -233,6 +229,7 @@ void ColorizeManager::LoadFile(const char * xmlFilename)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
SendMessage(EDN_MSG__COLOR_HAS_CHANGE);
|
SendMessage(EDN_MSG__COLOR_HAS_CHANGE);
|
||||||
|
SendMessage(EDN_MSG__USER_DISPLAY_CHANGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
Colorize *ColorizeManager::Get(const char *colorName)
|
Colorize *ColorizeManager::Get(const char *colorName)
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* @file ColoriseManager.h
|
* @file ColorizeManager.h
|
||||||
* @brief Editeur De N'ours : Colorising Manager (header)
|
* @brief Editeur De N'ours : Colorising Manager (header)
|
||||||
* @author Edouard DUPIN
|
* @author Edouard DUPIN
|
||||||
* @date 14/12/2010
|
* @date 14/12/2010
|
||||||
|
@@ -100,6 +100,10 @@ void BufferView::OnMessage(int32_t id, int32_t dataID)
|
|||||||
// change Title :
|
// change Title :
|
||||||
gtk_widget_queue_draw(m_widget);
|
gtk_widget_queue_draw(m_widget);
|
||||||
break;
|
break;
|
||||||
|
case EDN_MSG__USER_DISPLAY_CHANGE:
|
||||||
|
// Redraw all the display ...
|
||||||
|
gtk_widget_queue_draw(m_widget);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -179,6 +179,9 @@ void CodeView::OnMessage(int32_t id, int32_t dataID)
|
|||||||
case EDN_MSG__CURRENT_SET_CHARSET:
|
case EDN_MSG__CURRENT_SET_CHARSET:
|
||||||
m_bufferManager->Get(m_bufferID)->SetCharset((charset_te)dataID);
|
m_bufferManager->Get(m_bufferID)->SetCharset((charset_te)dataID);
|
||||||
break;
|
break;
|
||||||
|
case EDN_MSG__USER_DISPLAY_CHANGE:
|
||||||
|
// Redraw all the display ... Done under ...
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
// Force redraw of the widget
|
// Force redraw of the widget
|
||||||
gtk_widget_queue_draw(m_widget);
|
gtk_widget_queue_draw(m_widget);
|
||||||
|
@@ -175,49 +175,22 @@ void MainWindows::OnMessage(int32_t id, int32_t dataID)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EDN_MSG__QUIT:
|
|
||||||
OnQuit(m_mainWindow, this);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MainWindows::OnQuit(GtkWidget *widget, gpointer data)
|
bool MainWindows::OnQuit(GtkWidget *widget, gpointer data)
|
||||||
{
|
{
|
||||||
EDN_INFO("quit requested");
|
//MainWindows * self = reinterpret_cast<MainWindows*>(data);
|
||||||
// dlg to confirm the quit event :
|
GeneralSendMessage(EDN_MSG__GUI_SHOW_EXIT_CONFIRMATION);
|
||||||
GtkWidget *p_dialog = gtk_dialog_new_with_buttons("Exit",
|
// Close is not managed here ...
|
||||||
GTK_WINDOW(widget),
|
return true;
|
||||||
GTK_DIALOG_MODAL,
|
|
||||||
GTK_STOCK_YES, GTK_RESPONSE_YES,
|
|
||||||
GTK_STOCK_NO, GTK_RESPONSE_NO,
|
|
||||||
NULL);
|
|
||||||
GtkWidget *p_label = gtk_label_new ("Do you want exit Edn?");
|
|
||||||
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area( GTK_DIALOG(p_dialog) )), p_label, TRUE, TRUE, 0);
|
|
||||||
|
|
||||||
gtk_widget_show(p_label);
|
|
||||||
|
|
||||||
switch (gtk_dialog_run (GTK_DIALOG (p_dialog)))
|
|
||||||
{
|
|
||||||
case GTK_RESPONSE_YES:
|
|
||||||
gtk_widget_destroy (p_dialog);
|
|
||||||
|
|
||||||
break;
|
|
||||||
case GTK_RESPONSE_NO:
|
|
||||||
gtk_widget_destroy (p_dialog);
|
|
||||||
// do not close the windows
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
gtk_main_quit();
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
gboolean MainWindows::OnStateChange(GtkWidget *widget, GdkEvent* event, gpointer data)
|
gboolean MainWindows::OnStateChange(GtkWidget *widget, GdkEvent* event, gpointer data)
|
||||||
{
|
{
|
||||||
MainWindows * self = reinterpret_cast<MainWindows*>(data);
|
MainWindows * self = reinterpret_cast<MainWindows*>(data);
|
||||||
EDN_WARNING("State change");
|
EDN_DEBUG("State change");
|
||||||
EDN_INFO(" change state mask : " << event->window_state.changed_mask);
|
EDN_INFO(" change state mask : " << event->window_state.changed_mask);
|
||||||
EDN_INFO(" change state new val : " << event->window_state.new_window_state);
|
EDN_INFO(" change state new val : " << event->window_state.new_window_state);
|
||||||
if (event->window_state.changed_mask == GDK_WINDOW_STATE_MAXIMIZED) {
|
if (event->window_state.changed_mask == GDK_WINDOW_STATE_MAXIMIZED) {
|
||||||
@@ -233,31 +206,6 @@ gboolean MainWindows::OnStateChange(GtkWidget *widget, GdkEvent* event, gpointer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
|
|
||||||
void MainWindows::OnMenuAbout(wxCommandEvent & WXUNUSED(event))
|
|
||||||
{
|
|
||||||
//EDN_INFO("MainWindows::OnMenuAbout (event)");
|
|
||||||
wxAboutDialogInfo info;
|
|
||||||
info.SetName(wxT("edn"));
|
|
||||||
info.SetVersion(wxT("0.1.0 pre-Beta"));
|
|
||||||
info.SetDescription(wxT("Editeur De N'ours, l'Editeur Desoxyribo-Nucleique\n"
|
|
||||||
"Source Code Editor"));
|
|
||||||
info.SetCopyright(wxT( "Copyright 2010 Edouard DUPIN, all right reserved\n"
|
|
||||||
"This software is distributed in the hope that it will be useful, but WITHOUT\n"
|
|
||||||
"ANY WARRANTY\n\n"
|
|
||||||
"Licence summary : \n"
|
|
||||||
" You can modify and redistribute the sources code and binaries.\n"
|
|
||||||
" You can send me the bug-fix\n"
|
|
||||||
" You can not earn money with this Software (if the source extract from Edn\n"
|
|
||||||
" represent less than 50% of original Sources)\n"
|
|
||||||
"Term of the licence in in the file licence.txt"));
|
|
||||||
wxAboutBox(info);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -28,6 +28,7 @@
|
|||||||
#include "MenuBar.h"
|
#include "MenuBar.h"
|
||||||
#include "ClipBoard.h"
|
#include "ClipBoard.h"
|
||||||
#include "charset.h"
|
#include "charset.h"
|
||||||
|
#include "ColorizeManager.h"
|
||||||
|
|
||||||
#define MENU_MSG
|
#define MENU_MSG
|
||||||
const char * MSG_TogleDisplayChar = "Request a Togle of char displaying";
|
const char * MSG_TogleDisplayChar = "Request a Togle of char displaying";
|
||||||
@@ -36,6 +37,8 @@ const char * MSG_TogleAutoIndent = "Request a Togle of Auto Indent";
|
|||||||
const char * MSG_SetCharsetIso559_1 = "Set ISO 5589-1";
|
const char * MSG_SetCharsetIso559_1 = "Set ISO 5589-1";
|
||||||
const char * MSG_SetCharsetIso559_15 = "Set ISO 5589-15";
|
const char * MSG_SetCharsetIso559_15 = "Set ISO 5589-15";
|
||||||
const char * MSG_SetCharsetUTF8 = "Set UTF 8";
|
const char * MSG_SetCharsetUTF8 = "Set UTF 8";
|
||||||
|
const char * MSG_LoadColorBlack = "Load Color Black";
|
||||||
|
const char * MSG_LoadColorWhite = "Load Color White";
|
||||||
#define MSG_LINK(data)
|
#define MSG_LINK(data)
|
||||||
|
|
||||||
|
|
||||||
@@ -74,6 +77,26 @@ static void CB_menuInternal(GtkMenuItem *menu_item, gpointer data)
|
|||||||
GeneralSendMessage(EDN_MSG__CURRENT_SET_CHARSET, EDN_CHARSET_ISO_8859_15);
|
GeneralSendMessage(EDN_MSG__CURRENT_SET_CHARSET, EDN_CHARSET_ISO_8859_15);
|
||||||
} else if (myPointer == MSG_SetCharsetUTF8) {
|
} else if (myPointer == MSG_SetCharsetUTF8) {
|
||||||
GeneralSendMessage(EDN_MSG__CURRENT_SET_CHARSET, EDN_CHARSET_UTF8);
|
GeneralSendMessage(EDN_MSG__CURRENT_SET_CHARSET, EDN_CHARSET_UTF8);
|
||||||
|
} else if (myPointer == MSG_LoadColorWhite) {
|
||||||
|
ColorizeManager * myColorSystem = ColorizeManager::getInstance();
|
||||||
|
Edn::String homedir;
|
||||||
|
# ifdef NDEBUG
|
||||||
|
homedir = "/usr/share/edn/";
|
||||||
|
# else
|
||||||
|
homedir = "./data/";
|
||||||
|
# endif
|
||||||
|
homedir += "color_white.xml";
|
||||||
|
myColorSystem->LoadFile(homedir);
|
||||||
|
} else if (myPointer == MSG_LoadColorBlack) {
|
||||||
|
ColorizeManager * myColorSystem = ColorizeManager::getInstance();
|
||||||
|
Edn::String homedir;
|
||||||
|
# ifdef NDEBUG
|
||||||
|
homedir = "/usr/share/edn/";
|
||||||
|
# else
|
||||||
|
homedir = "./data/";
|
||||||
|
# endif
|
||||||
|
homedir += "color_black.xml";
|
||||||
|
myColorSystem->LoadFile(homedir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -209,7 +232,7 @@ MenuBar::MenuBar(void) : MsgBroadcast("Menu bar", EDN_CAT_GUI)
|
|||||||
tmp->AddGen(GTK_STOCK_SAVE, "ctrl+s", EDN_MSG__CURRENT_SAVE, true);
|
tmp->AddGen(GTK_STOCK_SAVE, "ctrl+s", EDN_MSG__CURRENT_SAVE, true);
|
||||||
tmp->AddGen(GTK_STOCK_SAVE_AS, "ctrl+shift+s", EDN_MSG__CURRENT_SAVE_AS, true);
|
tmp->AddGen(GTK_STOCK_SAVE_AS, "ctrl+shift+s", EDN_MSG__CURRENT_SAVE_AS, true);
|
||||||
tmp->AddSeparator();
|
tmp->AddSeparator();
|
||||||
tmp->AddGen(GTK_STOCK_QUIT, "ctrl+shift+q", EDN_MSG__QUIT, true);
|
tmp->AddGen(GTK_STOCK_QUIT, "ctrl+shift+q", EDN_MSG__GUI_SHOW_EXIT_CONFIRMATION, true);
|
||||||
m_listMenu.PushBack(tmp);
|
m_listMenu.PushBack(tmp);
|
||||||
|
|
||||||
tmp = new MenuBarMain("_Edit", m_mainWidget);
|
tmp = new MenuBarMain("_Edit", m_mainWidget);
|
||||||
@@ -254,6 +277,9 @@ MenuBar::MenuBar(void) : MsgBroadcast("Menu bar", EDN_CAT_GUI)
|
|||||||
tmp->AddInternal("Set charset Internationnal (UTF 8)", NULL, MSG_SetCharsetUTF8, true);
|
tmp->AddInternal("Set charset Internationnal (UTF 8)", NULL, MSG_SetCharsetUTF8, true);
|
||||||
tmp->AddSeparator();
|
tmp->AddSeparator();
|
||||||
tmp->AddGen( "Reload Color File", NULL, EDN_MSG__RELOAD_COLOR_FILE, true);
|
tmp->AddGen( "Reload Color File", NULL, EDN_MSG__RELOAD_COLOR_FILE, true);
|
||||||
|
tmp->AddSeparator();
|
||||||
|
tmp->AddInternal("Set Color Black", NULL, MSG_LoadColorBlack, true);
|
||||||
|
tmp->AddInternal("Set Color White", NULL, MSG_LoadColorWhite, true);
|
||||||
m_listMenu.PushBack(tmp);
|
m_listMenu.PushBack(tmp);
|
||||||
/*
|
/*
|
||||||
tmp = new MenuBarMain("Project", m_mainWidget);
|
tmp = new MenuBarMain("Project", m_mainWidget);
|
||||||
|
@@ -196,11 +196,11 @@ void Search::Display(GtkWindow *parent)
|
|||||||
Edn::String myDataString = "";
|
Edn::String myDataString = "";
|
||||||
SearchData::SetSearch(myDataString);
|
SearchData::SetSearch(myDataString);
|
||||||
gtk_entry_set_text(GTK_ENTRY(m_searchEntry), myDataString.c_str());
|
gtk_entry_set_text(GTK_ENTRY(m_searchEntry), myDataString.c_str());
|
||||||
//if (0 == strlen(myDataString.c_str())) {
|
if (0 == strlen(myDataString.c_str())) {
|
||||||
m_haveSearchData = false;
|
m_haveSearchData = false;
|
||||||
//} else {
|
} else {
|
||||||
// m_haveSearchData = true;
|
m_haveSearchData = true;
|
||||||
//}
|
}
|
||||||
|
|
||||||
SearchData::GetReplace(myDataString);
|
SearchData::GetReplace(myDataString);
|
||||||
gtk_entry_set_text(GTK_ENTRY(m_replaceEntry), myDataString.c_str());
|
gtk_entry_set_text(GTK_ENTRY(m_replaceEntry), myDataString.c_str());
|
||||||
@@ -212,17 +212,14 @@ void Search::Display(GtkWindow *parent)
|
|||||||
|
|
||||||
gtk_widget_set_sensitive(m_BtPrevious, m_haveSearchData);
|
gtk_widget_set_sensitive(m_BtPrevious, m_haveSearchData);
|
||||||
gtk_widget_set_sensitive(m_BtNext, m_haveSearchData);
|
gtk_widget_set_sensitive(m_BtNext, m_haveSearchData);
|
||||||
if (false == m_haveSearchData) {
|
// basic no search data
|
||||||
gtk_widget_set_sensitive(m_BtReplace, false);
|
gtk_widget_set_sensitive(m_BtReplace, false);
|
||||||
gtk_widget_set_sensitive(m_BtReplaceAndNext, false);
|
gtk_widget_set_sensitive(m_BtReplaceAndNext, false);
|
||||||
} else {
|
|
||||||
gtk_widget_set_sensitive(m_BtReplace, m_haveReplaceData);
|
|
||||||
gtk_widget_set_sensitive(m_BtReplaceAndNext, m_haveReplaceData);
|
|
||||||
}
|
|
||||||
|
|
||||||
// set focus on a specific widget :
|
// set focus on a specific widget :
|
||||||
gtk_window_set_focus(parent, m_searchEntry);
|
//gtk_window_set_focus(parent, m_searchEntry);
|
||||||
|
gtk_widget_grab_focus(m_searchEntry);
|
||||||
|
|
||||||
// display the dialogue box
|
// display the dialogue box
|
||||||
gtk_widget_show_all(m_localDialog);
|
gtk_widget_show_all(m_localDialog);
|
||||||
@@ -331,8 +328,8 @@ void Search::OnEntrySearchChange(GtkWidget *widget, gpointer data)
|
|||||||
gtk_widget_set_sensitive(self->m_BtReplace, false);
|
gtk_widget_set_sensitive(self->m_BtReplace, false);
|
||||||
gtk_widget_set_sensitive(self->m_BtReplaceAndNext, false);
|
gtk_widget_set_sensitive(self->m_BtReplaceAndNext, false);
|
||||||
} else {
|
} else {
|
||||||
gtk_widget_set_sensitive(self->m_BtReplace, self->m_haveReplaceData);
|
gtk_widget_set_sensitive(self->m_BtReplace, true);
|
||||||
gtk_widget_set_sensitive(self->m_BtReplaceAndNext, self->m_haveReplaceData);
|
gtk_widget_set_sensitive(self->m_BtReplaceAndNext, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -351,7 +348,12 @@ void Search::OnEntryReplaceChange(GtkWidget *widget, gpointer data)
|
|||||||
} else {
|
} else {
|
||||||
self->m_haveReplaceData = true;
|
self->m_haveReplaceData = true;
|
||||||
}
|
}
|
||||||
gtk_widget_set_sensitive(self->m_BtReplace, self->m_haveReplaceData);
|
if (false == self->m_haveSearchData) {
|
||||||
gtk_widget_set_sensitive(self->m_BtReplaceAndNext, self->m_haveReplaceData);
|
gtk_widget_set_sensitive(self->m_BtReplace, false);
|
||||||
|
gtk_widget_set_sensitive(self->m_BtReplaceAndNext, false);
|
||||||
|
} else {
|
||||||
|
gtk_widget_set_sensitive(self->m_BtReplace, true);
|
||||||
|
gtk_widget_set_sensitive(self->m_BtReplaceAndNext, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -93,10 +93,8 @@ void WindowsManager::OnMessage(int32_t id, int32_t dataID)
|
|||||||
|
|
||||||
GtkWidget *dialog = gtk_file_chooser_dialog_new( "Open File", NULL,
|
GtkWidget *dialog = gtk_file_chooser_dialog_new( "Open File", NULL,
|
||||||
GTK_FILE_CHOOSER_ACTION_OPEN,
|
GTK_FILE_CHOOSER_ACTION_OPEN,
|
||||||
GTK_STOCK_CANCEL, // button text
|
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||||
GTK_RESPONSE_CANCEL, // response id
|
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
|
||||||
GTK_STOCK_OPEN, // button text
|
|
||||||
GTK_RESPONSE_ACCEPT, // response id
|
|
||||||
NULL); // end button/response list
|
NULL); // end button/response list
|
||||||
// this element did not apear in the miniature of the windows
|
// this element did not apear in the miniature of the windows
|
||||||
gtk_window_set_skip_pager_hint(GTK_WINDOW(dialog), TRUE);
|
gtk_window_set_skip_pager_hint(GTK_WINDOW(dialog), TRUE);
|
||||||
@@ -137,10 +135,8 @@ void WindowsManager::OnMessage(int32_t id, int32_t dataID)
|
|||||||
tmpString += myBuffer->GetFileName().GetShortFilename().c_str();
|
tmpString += myBuffer->GetFileName().GetShortFilename().c_str();
|
||||||
GtkWidget *dialog = gtk_file_chooser_dialog_new( tmpString.c_str(), NULL,
|
GtkWidget *dialog = gtk_file_chooser_dialog_new( tmpString.c_str(), NULL,
|
||||||
GTK_FILE_CHOOSER_ACTION_SAVE,
|
GTK_FILE_CHOOSER_ACTION_SAVE,
|
||||||
GTK_STOCK_CANCEL, // button text
|
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||||
GTK_RESPONSE_CANCEL, // response id
|
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
|
||||||
GTK_STOCK_SAVE, // button text
|
|
||||||
GTK_RESPONSE_ACCEPT, // response id
|
|
||||||
NULL); // end button/response list
|
NULL); // end button/response list
|
||||||
// this element did not apear in the miniature of the windows
|
// this element did not apear in the miniature of the windows
|
||||||
gtk_window_set_skip_pager_hint(GTK_WINDOW(dialog), TRUE);
|
gtk_window_set_skip_pager_hint(GTK_WINDOW(dialog), TRUE);
|
||||||
@@ -250,5 +246,89 @@ void WindowsManager::OnMessage(int32_t id, int32_t dataID)
|
|||||||
gtk_widget_destroy(myDialog);
|
gtk_widget_destroy(myDialog);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case EDN_MSG__GUI_SHOW_EXIT_CONFIRMATION:
|
||||||
|
{
|
||||||
|
EDN_INFO("quit requested");
|
||||||
|
// dlg to confirm the quit event :
|
||||||
|
GtkWidget *p_dialog = gtk_dialog_new_with_buttons("Exit",
|
||||||
|
GTK_WINDOW(m_mainWindow->GetWidget()),
|
||||||
|
GTK_DIALOG_MODAL,
|
||||||
|
GTK_STOCK_YES, GTK_RESPONSE_YES,
|
||||||
|
GTK_STOCK_NO, GTK_RESPONSE_NO,
|
||||||
|
NULL);
|
||||||
|
GtkWidget *p_label = gtk_label_new ("Do you want exit Edn ?");
|
||||||
|
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area( GTK_DIALOG(p_dialog) )), p_label, TRUE, TRUE, 0);
|
||||||
|
gtk_widget_show(p_label);
|
||||||
|
|
||||||
|
switch (gtk_dialog_run (GTK_DIALOG (p_dialog)))
|
||||||
|
{
|
||||||
|
case GTK_RESPONSE_YES:
|
||||||
|
gtk_widget_destroy (p_dialog);
|
||||||
|
p_dialog = NULL;
|
||||||
|
{
|
||||||
|
BufferManager * myBufferMng = BufferManager::getInstance();
|
||||||
|
for (int32_t iii=0 ; iii<myBufferMng->Size() ; iii++) {
|
||||||
|
if (true==myBufferMng->Exist(iii) ) {
|
||||||
|
Buffer * myBuffer = myBufferMng->Get(iii);
|
||||||
|
if (NULL != myBuffer) {
|
||||||
|
if (true == myBuffer->IsModify()) {
|
||||||
|
if (true == myBuffer->HaveName()) {
|
||||||
|
p_dialog = gtk_dialog_new_with_buttons("Save Before Exit",
|
||||||
|
GTK_WINDOW(m_mainWindow->GetWidget()),
|
||||||
|
GTK_DIALOG_MODAL,
|
||||||
|
GTK_STOCK_SAVE, GTK_RESPONSE_YES,
|
||||||
|
GTK_STOCK_SAVE_AS, GTK_RESPONSE_ACCEPT,
|
||||||
|
GTK_STOCK_NO, GTK_RESPONSE_NO,
|
||||||
|
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||||
|
NULL);
|
||||||
|
} else {
|
||||||
|
p_dialog = gtk_dialog_new_with_buttons("Save Before Exit",
|
||||||
|
GTK_WINDOW(m_mainWindow->GetWidget()),
|
||||||
|
GTK_DIALOG_MODAL,
|
||||||
|
GTK_STOCK_SAVE_AS, GTK_RESPONSE_ACCEPT,
|
||||||
|
GTK_STOCK_NO, GTK_RESPONSE_NO,
|
||||||
|
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
char tmpName[1024];
|
||||||
|
sprintf(tmpName, "Save file \"%s\" ?", myBuffer->GetFileName().GetCompleateName().c_str());
|
||||||
|
p_label = gtk_label_new(tmpName);
|
||||||
|
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area( GTK_DIALOG(p_dialog) )), p_label, TRUE, TRUE, 0);
|
||||||
|
gtk_widget_show(p_label);
|
||||||
|
|
||||||
|
switch (gtk_dialog_run (GTK_DIALOG (p_dialog)))
|
||||||
|
{
|
||||||
|
case GTK_RESPONSE_YES:
|
||||||
|
myBuffer->Save();
|
||||||
|
break;
|
||||||
|
case GTK_RESPONSE_ACCEPT:
|
||||||
|
OnMessage(EDN_MSG__GUI_SHOW_SAVE_AS, iii);
|
||||||
|
break;
|
||||||
|
case GTK_RESPONSE_NO:
|
||||||
|
// nothing to do ...
|
||||||
|
break;
|
||||||
|
case GTK_RESPONSE_CANCEL:
|
||||||
|
gtk_widget_destroy (p_dialog);
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
gtk_widget_destroy (p_dialog);
|
||||||
|
p_dialog = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gtk_main_quit();
|
||||||
|
break;
|
||||||
|
case GTK_RESPONSE_NO:
|
||||||
|
gtk_widget_destroy (p_dialog);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -233,7 +233,7 @@ void Highlight::Parse(int32_t start,
|
|||||||
if (metaData[kkk].beginStart <= resultat.endStop) {
|
if (metaData[kkk].beginStart <= resultat.endStop) {
|
||||||
// Remove element
|
// Remove element
|
||||||
//EDN_INFO("Erase element=" << kkk);
|
//EDN_INFO("Erase element=" << kkk);
|
||||||
metaData.Erase(kkk, kkk+1);
|
metaData.EraseLen(kkk, kkk+1);
|
||||||
// Increase the end of search
|
// Increase the end of search
|
||||||
if (kkk < metaData.Size()) {
|
if (kkk < metaData.Size()) {
|
||||||
// just befor the end of the next element
|
// just befor the end of the next element
|
||||||
|
@@ -170,7 +170,7 @@ void CTagsManager::AddToHistory(int32_t bufferID)
|
|||||||
for(int32_t iii= m_historyPos; iii < m_historyList.Size(); iii++) {
|
for(int32_t iii= m_historyPos; iii < m_historyList.Size(); iii++) {
|
||||||
delete(m_historyList[iii]);
|
delete(m_historyList[iii]);
|
||||||
}
|
}
|
||||||
m_historyList.Erase(m_historyPos, m_historyList.Size() - m_historyPos);
|
m_historyList.EraseLen(m_historyPos, m_historyList.Size() - m_historyPos);
|
||||||
}
|
}
|
||||||
// add the current element
|
// add the current element
|
||||||
BufferManager *myBufferManager = BufferManager::getInstance();
|
BufferManager *myBufferManager = BufferManager::getInstance();
|
||||||
|
@@ -90,17 +90,17 @@ void EdnBuf::RegenerateHighLightAt(int32_t pos, int32_t nbDeleted, int32_t nbAdd
|
|||||||
m_HLDataPass1.Erase(0);
|
m_HLDataPass1.Erase(0);
|
||||||
//EDN_DEBUG("1 * Erase 0");
|
//EDN_DEBUG("1 * Erase 0");
|
||||||
} else {
|
} else {
|
||||||
m_HLDataPass1.Erase(0,stopId);
|
m_HLDataPass1.EraseLen(0,stopId);
|
||||||
//EDN_DEBUG("2 * Erase 0->" << stopId);
|
//EDN_DEBUG("2 * Erase 0->" << stopId);
|
||||||
}
|
}
|
||||||
} else if(-1 == stopId) {
|
} else if(-1 == stopId) {
|
||||||
//EDN_DEBUG("3 * Erase " << startId+1 << "-> end");
|
//EDN_DEBUG("3 * Erase " << startId+1 << "-> end");
|
||||||
m_HLDataPass1.Erase(startId+1, m_HLDataPass1.Size() - startId);
|
m_HLDataPass1.EraseLen(startId+1, m_HLDataPass1.Size() - startId);
|
||||||
stopId = -1;
|
stopId = -1;
|
||||||
} else {
|
} else {
|
||||||
int32_t currentSize = m_HLDataPass1.Size();
|
int32_t currentSize = m_HLDataPass1.Size();
|
||||||
//EDN_DEBUG("4 * Erase " << startId+1 << "->" << stopId << " in " << currentSize << " elements" );
|
//EDN_DEBUG("4 * Erase " << startId+1 << "->" << stopId << " in " << currentSize << " elements" );
|
||||||
m_HLDataPass1.Erase(startId+1, stopId - startId);
|
m_HLDataPass1.EraseLen(startId+1, stopId - startId);
|
||||||
if (stopId == currentSize-1) {
|
if (stopId == currentSize-1) {
|
||||||
stopId = -1;
|
stopId = -1;
|
||||||
}
|
}
|
||||||
|
@@ -79,8 +79,8 @@ static char * GetMessageChar(messageType_te Id)
|
|||||||
{
|
{
|
||||||
switch(Id)
|
switch(Id)
|
||||||
{
|
{
|
||||||
MACRO_DISPLAY_MSG(EDN_MSG__QUIT)
|
|
||||||
MACRO_DISPLAY_MSG(EDN_MSG__BUFFER_CHANGE_CURRENT)
|
MACRO_DISPLAY_MSG(EDN_MSG__BUFFER_CHANGE_CURRENT)
|
||||||
|
MACRO_DISPLAY_MSG(EDN_MSG__USER_DISPLAY_CHANGE)
|
||||||
|
|
||||||
MACRO_DISPLAY_MSG(EDN_MSG__GUI_SHOW_MAIN_WINDOWS)
|
MACRO_DISPLAY_MSG(EDN_MSG__GUI_SHOW_MAIN_WINDOWS)
|
||||||
MACRO_DISPLAY_MSG(EDN_MSG__GUI_SHOW_SEARCH)
|
MACRO_DISPLAY_MSG(EDN_MSG__GUI_SHOW_SEARCH)
|
||||||
@@ -90,6 +90,7 @@ static char * GetMessageChar(messageType_te Id)
|
|||||||
MACRO_DISPLAY_MSG(EDN_MSG__GUI_SHOW_SAVE_AS)
|
MACRO_DISPLAY_MSG(EDN_MSG__GUI_SHOW_SAVE_AS)
|
||||||
MACRO_DISPLAY_MSG(EDN_MSG__GUI_SHOW_GOTO_LINE)
|
MACRO_DISPLAY_MSG(EDN_MSG__GUI_SHOW_GOTO_LINE)
|
||||||
MACRO_DISPLAY_MSG(EDN_MSG__GUI_SHOW_ABOUT)
|
MACRO_DISPLAY_MSG(EDN_MSG__GUI_SHOW_ABOUT)
|
||||||
|
MACRO_DISPLAY_MSG(EDN_MSG__GUI_SHOW_EXIT_CONFIRMATION)
|
||||||
|
|
||||||
MACRO_DISPLAY_MSG(EDN_MSG__BUFFER_REMOVE)
|
MACRO_DISPLAY_MSG(EDN_MSG__BUFFER_REMOVE)
|
||||||
MACRO_DISPLAY_MSG(EDN_MSG__BUFFER_REMOVE_ALL)
|
MACRO_DISPLAY_MSG(EDN_MSG__BUFFER_REMOVE_ALL)
|
||||||
|
@@ -38,9 +38,8 @@
|
|||||||
// the ID we'll use to identify our event
|
// the ID we'll use to identify our event
|
||||||
typedef enum {
|
typedef enum {
|
||||||
EDN_MSG__NONE = 0,
|
EDN_MSG__NONE = 0,
|
||||||
// Programm is Quitting... close all if needed ...
|
|
||||||
EDN_MSG__QUIT,
|
|
||||||
EDN_MSG__BUFFER_CHANGE_CURRENT, // set the new current BUFFER ...
|
EDN_MSG__BUFFER_CHANGE_CURRENT, // set the new current BUFFER ...
|
||||||
|
EDN_MSG__USER_DISPLAY_CHANGE, // User change the display ==> need to reload all the display depending on color internal
|
||||||
|
|
||||||
// DESTINATION : GUI_MANAGER
|
// DESTINATION : GUI_MANAGER
|
||||||
MSG_TO_GUI_MANAGER__START,
|
MSG_TO_GUI_MANAGER__START,
|
||||||
@@ -53,6 +52,7 @@ typedef enum {
|
|||||||
EDN_MSG__GUI_SHOW_SAVE_AS,
|
EDN_MSG__GUI_SHOW_SAVE_AS,
|
||||||
EDN_MSG__GUI_SHOW_GOTO_LINE,
|
EDN_MSG__GUI_SHOW_GOTO_LINE,
|
||||||
EDN_MSG__GUI_SHOW_ABOUT,
|
EDN_MSG__GUI_SHOW_ABOUT,
|
||||||
|
EDN_MSG__GUI_SHOW_EXIT_CONFIRMATION,
|
||||||
MSG_TO_GUI_MANAGER__STOP,
|
MSG_TO_GUI_MANAGER__STOP,
|
||||||
|
|
||||||
// DESTINATION : GUI
|
// DESTINATION : GUI
|
||||||
@@ -201,7 +201,7 @@ class MsgBroadcastCore: public Singleton<MsgBroadcastCore>
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Edn::VectorType<MsgBroadcast*> m_listMessage;
|
Edn::VectorType<MsgBroadcast*> m_listMessage;
|
||||||
uint32_t m_messageID;
|
uint32_t m_messageID;
|
||||||
Edn::VectorType<messageElement_ts> m_listOfMessage;
|
Edn::VectorType<messageElement_ts> m_listOfMessage;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -471,7 +471,7 @@ void Edn::String::Remove(int32_t currentID, int32_t len)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// TODO : check the size of the data
|
// TODO : check the size of the data
|
||||||
m_data.Erase(currentID, len);
|
m_data.EraseLen(currentID, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -474,7 +474,33 @@ template<typename MY_TYPE=int32_t> class VectorType
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Remove one element
|
* @brief Remove N elements
|
||||||
|
*
|
||||||
|
* @param[in] pos Position to remove the data
|
||||||
|
* @param[in] posEnd Last position number
|
||||||
|
*
|
||||||
|
* @return ---
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void Erase(int32_t pos, int32_t posEnd)
|
||||||
|
{
|
||||||
|
if (pos>m_size) {
|
||||||
|
EDN_ERROR(" can not Erase Element at this position : " << pos << " > " << m_size);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (posEnd>m_size) {
|
||||||
|
posEnd = m_size;
|
||||||
|
}
|
||||||
|
int32_t nbElement = m_size - pos;
|
||||||
|
int32_t tmpSize = m_size;
|
||||||
|
// move curent data
|
||||||
|
memmove((m_data + pos), (m_data + pos + nbElement), (tmpSize - (pos+nbElement))*sizeof(MY_TYPE) );
|
||||||
|
// Request resize of the current buffer
|
||||||
|
Resize(m_size-nbElement);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Remove N element
|
||||||
*
|
*
|
||||||
* @param[in] pos Position to remove the data
|
* @param[in] pos Position to remove the data
|
||||||
* @param[in] nbElement number of element to remove
|
* @param[in] nbElement number of element to remove
|
||||||
@@ -482,10 +508,10 @@ template<typename MY_TYPE=int32_t> class VectorType
|
|||||||
* @return ---
|
* @return ---
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void Erase(int32_t pos, int32_t nbElement)
|
void EraseLen(int32_t pos, int32_t nbElement)
|
||||||
{
|
{
|
||||||
if (pos>m_size) {
|
if (pos>m_size) {
|
||||||
EDN_ERROR(" can not Erase Element at this position : " << pos << " > " << m_size);
|
EDN_ERROR(" can not Erase Len Element at this position : " << pos << " > " << m_size);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (pos+nbElement>m_size) {
|
if (pos+nbElement>m_size) {
|
||||||
|
@@ -15,20 +15,21 @@
|
|||||||
- Project manager phase 1
|
- Project manager phase 1
|
||||||
|
|
||||||
# action a faire (ordonner par r<>vision) :
|
# action a faire (ordonner par r<>vision) :
|
||||||
* 0.1.X :
|
|
||||||
- gui : demander l'enregistrement avant de fermer (quand c'est n<>cessaire)
|
|
||||||
- Edn::VectorType : Rewrite the erase fuction to support start => stop and Erase len methode ...
|
|
||||||
* 0.2.X :
|
* 0.2.X :
|
||||||
|
- gui : Amelioration du full-screen et du display de base (sans l'entete de la fenetre)
|
||||||
- gui : Mise en place d'un display ligne par ligne
|
- gui : Mise en place d'un display ligne par ligne
|
||||||
|
- gui : ascenceur quand n<>cessaire
|
||||||
- gui : Demander la cr<63>ation de nouveaux fichier quand il n'existe pas (a l'ouverture en ligne de commande)
|
- gui : Demander la cr<63>ation de nouveaux fichier quand il n'existe pas (a l'ouverture en ligne de commande)
|
||||||
- sys : Mise en place des colorisation de base pour le
|
- sys : Mise en place des colorisation de base pour le
|
||||||
* java script
|
* java script
|
||||||
* SQL
|
* SQL
|
||||||
- gui : ascenceur quand n<>cessaire
|
|
||||||
- Catch Shift+TAB
|
- Catch Shift+TAB
|
||||||
- Correction du bug des entr<74> bizard tel que les chapot et les guillemets
|
- Correction du bug des entr<74> bizard tel que les chapot et les guillemets
|
||||||
- pb de s<>lection quand la ligne est pleine et la premi<6D>re ligne s<>ctionn<6E>e.
|
- pb de s<>lection quand la ligne est pleine et la premi<6D>re ligne s<>ctionn<6E>e.
|
||||||
- PB de copier coller sur les <20><><EFBFBD> ...
|
- PB de copier coller sur les <20><><EFBFBD> ...
|
||||||
|
- PB sur le caplock et les caract<63>re multiples type chapot ...
|
||||||
|
- PB du entrer sur le kaypad qui fait un <CR> ==> ajouter la fonction shift+enter qui cree un <CR>
|
||||||
|
- catch F[1-12] ==> for user function
|
||||||
* 0.3.X :
|
* 0.3.X :
|
||||||
- Charset UTF-8 et iso 8859-15 correcte
|
- Charset UTF-8 et iso 8859-15 correcte
|
||||||
- Transformation de charset a la vol<6F>e
|
- Transformation de charset a la vol<6F>e
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
<color name="SelectedText" FG="#AAAAAA" BG="#225a09"/>
|
<color name="SelectedText" FG="#AAAAAA" BG="#225a09"/>
|
||||||
<color name="error" FG="#FF0000"/>
|
<color name="error" FG="#FF0000"/>
|
||||||
<color name="doubleQuoteText" FG="#00fF00"/>
|
<color name="doubleQuoteText" FG="#00fF00"/>
|
||||||
|
|
||||||
<!-- hightline description : -->
|
<!-- hightline description : -->
|
||||||
<color name="type" FG="#56bf10" bold="yes"/>
|
<color name="type" FG="#56bf10" bold="yes"/>
|
||||||
<color name="storageKeyword" FG="#5c8fed"/>
|
<color name="storageKeyword" FG="#5c8fed"/>
|
||||||
|
Reference in New Issue
Block a user