unicode supported again
This commit is contained in:
parent
5150103d8c
commit
f47da18fbc
@ -75,7 +75,7 @@ private:
|
||||
class SyncData
|
||||
{
|
||||
public:
|
||||
SyncTrack &getTrack(std::string name)
|
||||
SyncTrack &getTrack(const std::basic_string<TCHAR> &name)
|
||||
{
|
||||
TrackContainer::iterator iter = tracks.find(name);
|
||||
if (iter != tracks.end()) return iter->second;
|
||||
@ -95,6 +95,6 @@ public:
|
||||
size_t getTrackCount() { return tracks.size(); }
|
||||
|
||||
// private:
|
||||
typedef std::map<const std::string, SyncTrack> TrackContainer;
|
||||
typedef std::map<const std::basic_string<TCHAR>, SyncTrack> TrackContainer;
|
||||
TrackContainer tracks;
|
||||
};
|
||||
|
||||
@ -39,23 +39,23 @@ static LRESULT CALLBACK mainWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
|
||||
SendMessage(statusBarWin, SB_SETTEXT, 0, (LPARAM)"Hi there :)");
|
||||
|
||||
HMENU fileMenu = CreatePopupMenu();
|
||||
AppendMenu(fileMenu, MF_STRING, 0, "&Open\tCtrl+O");
|
||||
AppendMenu(fileMenu, MF_STRING, 2, "&Save\tCtrl+S");
|
||||
AppendMenu(fileMenu, MF_STRING, 3, "Save &As");
|
||||
AppendMenu(fileMenu, MF_STRING, 0, _T("&Open\tCtrl+O"));
|
||||
AppendMenu(fileMenu, MF_STRING, 2, _T("&Save\tCtrl+S"));
|
||||
AppendMenu(fileMenu, MF_STRING, 3, _T("Save &As"));
|
||||
AppendMenu(fileMenu, MF_SEPARATOR, 0, NULL);
|
||||
AppendMenu(fileMenu, MF_STRING, 3, "&Exit");
|
||||
AppendMenu(fileMenu, MF_STRING, 3, _T("&Exit"));
|
||||
|
||||
HMENU editMenu = CreatePopupMenu();
|
||||
AppendMenu(editMenu, MF_STRING, WM_UNDO, "&Undo\tCtrl+Z");
|
||||
AppendMenu(editMenu, MF_STRING, WM_REDO, "&Redo\tShift+Ctrl+Z");
|
||||
AppendMenu(editMenu, MF_STRING, WM_UNDO, _T("&Undo\tCtrl+Z"));
|
||||
AppendMenu(editMenu, MF_STRING, WM_REDO, _T("&Redo\tShift+Ctrl+Z"));
|
||||
AppendMenu(editMenu, MF_SEPARATOR, 0, NULL);
|
||||
AppendMenu(editMenu, MF_STRING, WM_CUT, "Cu&t\tCtrl+X");
|
||||
AppendMenu(editMenu, MF_STRING, WM_COPY, "&Copy\tCtrl+C");
|
||||
AppendMenu(editMenu, MF_STRING, WM_PASTE, "&Paste\tCtrl+V");
|
||||
AppendMenu(editMenu, MF_STRING, WM_CUT, _T("Cu&t\tCtrl+X"));
|
||||
AppendMenu(editMenu, MF_STRING, WM_COPY, _T("&Copy\tCtrl+C"));
|
||||
AppendMenu(editMenu, MF_STRING, WM_PASTE, _T("&Paste\tCtrl+V"));
|
||||
|
||||
HMENU rootMenu = CreateMenu();
|
||||
AppendMenu(rootMenu, MF_STRING | MF_POPUP, (UINT_PTR)fileMenu, "&File");
|
||||
AppendMenu(rootMenu, MF_STRING | MF_POPUP, (UINT_PTR)editMenu, "&Edit");
|
||||
AppendMenu(rootMenu, MF_STRING | MF_POPUP, (UINT_PTR)fileMenu, _T("&File"));
|
||||
AppendMenu(rootMenu, MF_STRING | MF_POPUP, (UINT_PTR)editMenu, _T("&Edit"));
|
||||
SetMenu(hwnd, rootMenu);
|
||||
}
|
||||
break;
|
||||
@ -81,15 +81,12 @@ static LRESULT CALLBACK mainWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
|
||||
case WM_COMMAND:
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case WM_COPY:
|
||||
/* PostMessage(m_hWnd, WM_COPY, 0, 0); */
|
||||
/* HMMMM.... not working... */
|
||||
printf("copy!\n");
|
||||
break;
|
||||
|
||||
// simply forward these
|
||||
case WM_UNDO:
|
||||
case WM_REDO:
|
||||
case WM_COPY:
|
||||
case WM_PASTE:
|
||||
case WM_CUT:
|
||||
SendMessage(trackViewWin, LOWORD(wParam), 0, 0);
|
||||
break;
|
||||
|
||||
@ -203,9 +200,9 @@ int _tmain(int argc, _TCHAR* argv[])
|
||||
#endif
|
||||
|
||||
SyncData syncData;
|
||||
SyncTrack &camXTrack = syncData.getTrack("cam.x");
|
||||
SyncTrack &camYTrack = syncData.getTrack("cam.y");
|
||||
SyncTrack &camZTrack = syncData.getTrack("cam.z");
|
||||
SyncTrack &camXTrack = syncData.getTrack(_T("cam.x"));
|
||||
SyncTrack &camYTrack = syncData.getTrack(_T("cam.y"));
|
||||
SyncTrack &camZTrack = syncData.getTrack(_T("cam.z"));
|
||||
/* for (int i = 0; i < 1 << 16; ++i)
|
||||
{
|
||||
char temp[256];
|
||||
|
||||
@ -106,10 +106,10 @@ void TrackView::paintTopMargin(HDC hdc, RECT rcTracks)
|
||||
DrawEdge(hdc, &fillRect, BDR_RAISEDINNER | BDR_RAISEDOUTER, BF_ADJUST | BF_LEFT | BF_RIGHT | BF_BOTTOM);
|
||||
FillRect(hdc, &fillRect, bgBrush);
|
||||
|
||||
std::string trackName = trackIter->first;
|
||||
const std::basic_string<TCHAR> &trackName = trackIter->first;
|
||||
TextOut(hdc,
|
||||
fillRect.left, 0,
|
||||
trackName.c_str(), int(trackName.length())
|
||||
trackName.data(), int(trackName.length())
|
||||
);
|
||||
ExcludeClipRect(hdc, topMargin.left, topMargin.top, topMargin.right, topMargin.bottom);
|
||||
}
|
||||
@ -487,9 +487,15 @@ LRESULT TrackView::onKeyDown(UINT keyCode, UINT flags)
|
||||
case VK_PRIOR: setEditRow(editRow - windowRows / 2); break;
|
||||
case VK_NEXT: setEditRow(editRow + windowRows / 2); break;
|
||||
|
||||
// simulate keyboard accelerators
|
||||
case 'Z':
|
||||
// simulate keyboard accelerators
|
||||
SendMessage(GetParent(this->getWin()), WM_COMMAND, MAKEWPARAM(shiftDown ? WM_REDO : WM_UNDO, 1), 0);
|
||||
if (ctrlDown) SendMessage(GetParent(this->getWin()), WM_COMMAND, MAKEWPARAM(shiftDown ? WM_REDO : WM_UNDO, 1), 0);
|
||||
break;
|
||||
case 'C':
|
||||
printf("hit '%c', flags: %X\n", keyCode, flags);
|
||||
// if (ctrlDown) SendMessage(GetParent(this->getWin()), WM_COMMAND, MAKEWPARAM(shiftDown ? WM_REDO : WM_UNDO, 1), 0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -500,7 +506,7 @@ LRESULT TrackView::onKeyDown(UINT keyCode, UINT flags)
|
||||
{
|
||||
SyncDataEdit::EditCommand *cmd = new SyncDataEdit::EditCommand(
|
||||
editTrack, editRow,
|
||||
true, float(atof(editString.c_str()))
|
||||
true, float(_tstof(editString.c_str()))
|
||||
);
|
||||
syncDataEdit.exec(cmd);
|
||||
|
||||
|
||||
@ -178,7 +178,7 @@ private:
|
||||
|
||||
SyncDataEdit syncDataEdit;
|
||||
|
||||
std::string editString;
|
||||
std::basic_string<TCHAR> editString;
|
||||
|
||||
HWND hwnd;
|
||||
HBRUSH editBrush;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user