58 lines
1.6 KiB
C++
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;
|
|
}
|