edn/sources/appl/TextPluginRmLine.cpp

58 lines
1.6 KiB
C++

/**
* @author Edouard DUPIN
*
* @copyright 2010, Edouard DUPIN, all right reserved
*
* @license GPL v3 (see license file)
*/
#include <appl/TextPluginRmLine.h>
#include <ewol/context/clipBoard.h>
#include <appl/Gui/TextViewer.h>
#undef __class__
#define __class__ "TextPluginRmLine"
appl::TextPluginRmLine::TextPluginRmLine() {
m_activateOnReceiveShortCut = true;
addObjectType("appl::TextPluginRmLine");
}
void appl::TextPluginRmLine::init() {
appl::TextViewerPlugin::init();
}
void appl::TextPluginRmLine::onPluginEnable(appl::TextViewer& _textDrawer) {
// add event :
_textDrawer.ext_shortCutAdd("ctrl+w", "appl::TextPluginRmLine::Rm");
}
void appl::TextPluginRmLine::onPluginDisable(appl::TextViewer& _textDrawer) {
_textDrawer.ext_shortCutRm("appl::TextPluginRmLine::Rm");
}
bool appl::TextPluginRmLine::onReceiveShortCut(appl::TextViewer& _textDrawer,
const std::string& _shortCutName) {
if (isEnable() == false) {
return false;
}
if (_shortCutName == "appl::TextPluginRmLine::Rm") {
if (_textDrawer.hasBuffer() == false) {
return false;
}
if (_textDrawer.hasTextSelected() == true) {
appl::Buffer::Iterator start = _textDrawer.getStartLine(_textDrawer.selectStart());
appl::Buffer::Iterator end = _textDrawer.getEndLine(_textDrawer.selectStop())+1;
_textDrawer.replace("", start, end);
} else {
appl::Buffer::Iterator start = _textDrawer.getStartLine(_textDrawer.cursor());
appl::Buffer::Iterator end = _textDrawer.getEndLine(_textDrawer.cursor())+1;
_textDrawer.replace("", start, end);
}
return true;
}
return false;
}