added some kind of position info output

This commit is contained in:
Erik Faye-Lund 2008-02-27 16:25:13 +00:00
parent 2c077a7fe2
commit dc10048d1c
3 changed files with 40 additions and 5 deletions

View File

@ -213,10 +213,12 @@ static LRESULT CALLBACK mainWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
NULL // window data
);
int statwidths[] = { 150, -1 };
int statwidths[] = { 150, 150 + 32, 150 + 32 * 2, 150 + 32 * 3, -1 };
SendMessage(statusBarWin, SB_SETPARTS, sizeof(statwidths) / sizeof(int), (LPARAM)statwidths);
SendMessage(statusBarWin, SB_SETTEXT, 0, (LPARAM)_T("Not connected"));
SendMessage(statusBarWin, SB_SETTEXT, 1, (LPARAM)_T("Hi there :)"));
SendMessage(statusBarWin, SB_SETTEXT, 1, (LPARAM)_T("0"));
SendMessage(statusBarWin, SB_SETTEXT, 2, (LPARAM)_T("0"));
SendMessage(statusBarWin, SB_SETTEXT, 3, (LPARAM)_T("---"));
}
break;
@ -298,6 +300,31 @@ static LRESULT CALLBACK mainWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
}
break;
case WM_ROWCHANGED:
{
TCHAR temp[256];
_sntprintf_s(temp, 256, _T("%d"), lParam );
SendMessage(statusBarWin, SB_SETTEXT, 1, (LPARAM)temp);
}
break;
case WM_TRACKCHANGED:
{
TCHAR temp[256];
_sntprintf_s(temp, 256, _T("%d"), lParam);
SendMessage(statusBarWin, SB_SETTEXT, 2, (LPARAM)temp);
}
break;
case WM_CURRVALDIRTY:
{
TCHAR temp[256];
if (document.getTrackCount() > 0) _sntprintf_s(temp, 256, _T("%f"), document.getTrack(document.getTrackIndexFromPos(trackView->getEditTrack())).getValue(float(trackView->getEditRow())));
else _sntprintf_s(temp, 256, _T("---"));
SendMessage(statusBarWin, SB_SETTEXT, 3, (LPARAM)temp);
}
break;
default:
return DefWindowProc(hwnd, msg, wParam, lParam);
}

View File

@ -562,6 +562,8 @@ void TrackView::setEditRow(int newEditRow)
{
document->sendSetRowCommand(editRow);
}
SendMessage(GetParent(getWin()), WM_ROWCHANGED, 0, editRow);
SendMessage(GetParent(getWin()), WM_CURRVALDIRTY, 0, 0);
}
invalidateRow(oldEditRow);
@ -592,6 +594,8 @@ void TrackView::setEditTrack(int newEditTrack)
selectStartRow = selectStopRow = editRow;
selectStartTrack = selectStopTrack = editTrack;
}
SendMessage(GetParent(getWin()), WM_TRACKCHANGED, 0, editTrack);
SendMessage(GetParent(getWin()), WM_CURRVALDIRTY, 0, 0);
}
invalidateTrack(oldEditTrack);

View File

@ -11,7 +11,10 @@
#include <stack>
// custom messages
#define WM_REDO (WM_USER + 1)
#define WM_REDO (WM_USER + 0x40 + 3)
#define WM_ROWCHANGED (WM_USER + 0x40 + 4)
#define WM_TRACKCHANGED (WM_USER + 0x40 + 5)
#define WM_CURRVALDIRTY (WM_USER + 0x40 + 6)
class TrackView
{
@ -39,6 +42,9 @@ public:
void setEditRow(int newEditRow);
int getEditRow() { return editRow; }
void setEditTrack(int newEditTrack);
int getEditTrack() { return editTrack; }
void selectAll()
{
selectStartTrack = 0;
@ -128,8 +134,6 @@ private:
InvalidateRect(hwnd, &rect, FALSE);
}
void setEditTrack(int newEditTrack);
int getScreenY(int row);
int getScreenX(int track);