aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2003-05-11 01:25:28 +0000
committernyamatongwe <devnull@localhost>2003-05-11 01:25:28 +0000
commitadc33a661948e517e7d223ad8aa5fa5a45be3e6f (patch)
tree19c9a87dd4938abcfdff50a961d8cd8dd46a9e29 /win32
parentb4d2256f9ccf56efacbd84b3fbed1e846fb1853f (diff)
downloadscintilla-mirror-adc33a661948e517e7d223ad8aa5fa5a45be3e6f.tar.gz
Addition of CopyText, CopyRange, and LineCopy.
Diffstat (limited to 'win32')
-rw-r--r--win32/ScintillaWin.cxx26
1 files changed, 13 insertions, 13 deletions
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx
index d44769237..b26f7a1e6 100644
--- a/win32/ScintillaWin.cxx
+++ b/win32/ScintillaWin.cxx
@@ -220,7 +220,7 @@ class ScintillaWin :
void AddCharBytes(char b0, char b1=0);
void GetIntelliMouseParameters();
- void CopySelTextToClipboard();
+ virtual void CopyToClipboard(const SelectionText &selectedText);
void ScrollMessage(WPARAM wParam);
void HorizontalScrollMessage(WPARAM wParam);
void RealizeWindowPalette(bool inBackGround);
@@ -1036,13 +1036,9 @@ void ScintillaWin::NotifyDoubleClick(Point pt, bool shift) {
void ScintillaWin::Copy() {
//Platform::DebugPrintf("Copy\n");
if (currentPos != anchor) {
- ::OpenClipboard(MainHWND());
- ::EmptyClipboard();
- CopySelTextToClipboard();
- if (selType == selRectangle) {
- ::SetClipboardData(cfColumnSelect, 0);
- }
- ::CloseClipboard();
+ SelectionText selectedText;
+ CopySelectionRange(&selectedText);
+ CopyToClipboard(selectedText);
}
}
@@ -1534,11 +1530,9 @@ void ScintillaWin::GetIntelliMouseParameters() {
::SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, &linesPerScroll, 0);
}
-void ScintillaWin::CopySelTextToClipboard() {
- SelectionText selectedText;
- CopySelectionRange(&selectedText);
- if (selectedText.len == 0)
- return;
+void ScintillaWin::CopyToClipboard(const SelectionText &selectedText) {
+ ::OpenClipboard(MainHWND());
+ ::EmptyClipboard();
HGLOBAL hand = ::GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT,
selectedText.len + 1);
@@ -1562,6 +1556,12 @@ void ScintillaWin::CopySelTextToClipboard() {
}
::SetClipboardData(CF_UNICODETEXT, uhand);
}
+
+ if (selectedText.rectangular) {
+ ::SetClipboardData(cfColumnSelect, 0);
+ }
+
+ ::CloseClipboard();
}
void ScintillaWin::ScrollMessage(WPARAM wParam) {