diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Document.cxx | 9 | ||||
| -rw-r--r-- | src/Document.h | 1 | ||||
| -rw-r--r-- | src/Editor.cxx | 4 | 
3 files changed, 14 insertions, 0 deletions
diff --git a/src/Document.cxx b/src/Document.cxx index 27260d6d4..8b506fbfd 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -108,6 +108,15 @@ int Document::AddMark(int line, int markerNum) {  	return prev;  } +void Document::AddMarkSet(int line, int valueSet) { +	unsigned int m = valueSet; +	for (int i = 0; m; i++, m >>= 1) +		if (m & 1) +			cb.AddMark(line, i); +	DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, 0, line); +	NotifyModified(mh); +} +  void Document::DeleteMark(int line, int markerNum) {  	cb.DeleteMark(line, markerNum);  	DocModification mh(SC_MOD_CHANGEMARKER, LineStart(line), 0, 0, 0, line); diff --git a/src/Document.h b/src/Document.h index cf5187ae2..5a85abe5d 100644 --- a/src/Document.h +++ b/src/Document.h @@ -176,6 +176,7 @@ public:  	char StyleAt(int position) { return cb.StyleAt(position); }  	int GetMark(int line) { return cb.GetMark(line); }  	int AddMark(int line, int markerNum); +	void AddMarkSet(int line, int valueSet);  	void DeleteMark(int line, int markerNum);  	void DeleteMarkFromHandle(int markerHandle);  	void DeleteAllMarks(int markerNum); diff --git a/src/Editor.cxx b/src/Editor.cxx index 8ebdbd9ae..07c52bc01 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -6530,6 +6530,10 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {  			int markerID = pdoc->AddMark(wParam, lParam);  			return markerID;  		} +	case SCI_MARKERADDSET: +		if (lParam != 0) +			pdoc->AddMarkSet(wParam, lParam); +		break;  	case SCI_MARKERDELETE:  		pdoc->DeleteMark(wParam, lParam);  | 
