From c4638009797aba0629d5a38b957d1d02dcfc3891 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Sat, 17 Jan 2009 16:02:19 +0000 Subject: [PATCH] Implemented select all, select track and select row. --- editor/synctracker2.cpp | 12 ++++++++++++ editor/trackview.h | 31 +++++++++++++++++++++++-------- 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/editor/synctracker2.cpp b/editor/synctracker2.cpp index c9e3676..7f7e3c7 100644 --- a/editor/synctracker2.cpp +++ b/editor/synctracker2.cpp @@ -372,6 +372,18 @@ static LRESULT CALLBACK mainWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA fileSave(); break; + case ID_EDIT_SELECTALL: + trackView->selectAll(); + break; + + case ID_EDIT_SELECTTRACK: + trackView->selectTrack(trackView->getEditTrack()); + break; + + case ID_EDIT_SELECTROW: + trackView->selectRow(trackView->getEditRow()); + break; + case ID_FILE_REMOTEEXPORT: document.sendSaveCommand(); break; diff --git a/editor/trackview.h b/editor/trackview.h index cdb2954..0e8a916 100644 --- a/editor/trackview.h +++ b/editor/trackview.h @@ -20,7 +20,7 @@ public: ~TrackView(); HWND create(HINSTANCE hInstance, HWND hwndParent); - HWND getWin(){ return hwnd; } + HWND getWin() const { return hwnd; } void setDocument(SyncDocument *document) { this->document = document; } const SyncDocument *getDocument() const { return document; } @@ -32,7 +32,7 @@ public: if (NULL == document) return 0; return document->getRows(); } - + void setFont(HFONT font); void editEnterValue(); @@ -51,13 +51,28 @@ public: void selectAll() { - selectStartTrack = 0; - selectStopTrack = int(this->getTrackCount()) - 1; - selectStartRow = 0; - selectStopRow = int(this->getRows()) - 1; + selectStartTrack = int(this->getTrackCount()) - 1; + selectStopTrack = editTrack = 0; + selectStartRow = int(this->getRows()) - 1; + selectStopRow = editRow = 0; - editTrack = 0; - editRow = 0; + InvalidateRect(hwnd, NULL, FALSE); + } + + void selectTrack(int track) + { + selectStartTrack = selectStopTrack = editTrack = track; + selectStartRow = int(this->getRows()) - 1; + selectStopRow = editRow = 0; + + InvalidateRect(hwnd, NULL, FALSE); + } + + void selectRow(int row) + { + selectStartTrack = int(this->getTrackCount()) - 1; + selectStopTrack = editTrack = 0; + selectStartRow = selectStopRow = editRow = row; InvalidateRect(hwnd, NULL, FALSE); }