From 88b2312d6f6d88eb50555e74e736f3954369d908 Mon Sep 17 00:00:00 2001 From: Daniel Collin Date: Fri, 19 Sep 2014 13:45:00 +0200 Subject: [PATCH] WIP on move keys Some work on #99 --- ogl_editor/src/Editor.c | 17 +++++++++++++++++ ogl_editor/src/Menu.c | 2 ++ ogl_editor/src/Menu.h | 2 ++ ogl_editor/src/windows/RocketWindow.c | 2 ++ 4 files changed, 23 insertions(+) diff --git a/ogl_editor/src/Editor.c b/ogl_editor/src/Editor.c index e12f67a..3089d69 100644 --- a/ogl_editor/src/Editor.c +++ b/ogl_editor/src/Editor.c @@ -1155,6 +1155,21 @@ static void onPaste() /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +static void onMoveSelection(bool down) +{ + const int row_pos = getRowPos(); + onCutAndCopy(true); + + if (down) + setRowPos(row_pos + 1); + else + setRowPos(row_pos - 1); + + onPaste(); +} + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + static void onSelectTrack() { int activeTrack = getActiveTrack(); @@ -1689,6 +1704,8 @@ void Editor_menuEvent(int menuItem) case EDITOR_MENU_CUT : onCutAndCopy(true); break; case EDITOR_MENU_COPY : onCutAndCopy(false); break; case EDITOR_MENU_PASTE : onPaste(); break; + case EDITOR_MENU_MOVE_UP : onMoveSelection(true); break; + case EDITOR_MENU_MOVE_DOWN : onMoveSelection(false); break; case EDITOR_MENU_SELECT_TRACK : onSelectTrack(); break; case EDITOR_MENU_BIAS_P_001 : biasSelection(0.01f); break; diff --git a/ogl_editor/src/Menu.c b/ogl_editor/src/Menu.c index d7c2181..5cbc763 100644 --- a/ogl_editor/src/Menu.c +++ b/ogl_editor/src/Menu.c @@ -26,6 +26,8 @@ MenuDescriptor g_editMenu[] = { _T("Cut"), EDITOR_MENU_CUT, 'x', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL }, { _T("Copy"), EDITOR_MENU_COPY, 'c', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL }, { _T("Paste"), EDITOR_MENU_PASTE, 'v', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL }, + { _T("Move selection up"), EDITOR_MENU_MOVE_UP, 'x', 0 , 0 }, + { _T("Move selection down"), EDITOR_MENU_MOVE_DOWN, 'c', 0 , 0 }, { _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 }, { _T("Select Track"), EDITOR_MENU_SELECT_TRACK, 't', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL }, { _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 }, diff --git a/ogl_editor/src/Menu.h b/ogl_editor/src/Menu.h index 0600dc2..fd6048a 100644 --- a/ogl_editor/src/Menu.h +++ b/ogl_editor/src/Menu.h @@ -36,6 +36,8 @@ enum EDITOR_MENU_CUT, EDITOR_MENU_COPY, EDITOR_MENU_PASTE, + EDITOR_MENU_MOVE_UP, + EDITOR_MENU_MOVE_DOWN, EDITOR_MENU_SELECT_TRACK, EDITOR_MENU_BIAS_P_001, EDITOR_MENU_BIAS_P_01, diff --git a/ogl_editor/src/windows/RocketWindow.c b/ogl_editor/src/windows/RocketWindow.c index d468ecc..0db09a3 100644 --- a/ogl_editor/src/windows/RocketWindow.c +++ b/ogl_editor/src/windows/RocketWindow.c @@ -517,6 +517,8 @@ LRESULT CALLBACK WndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam case EDITOR_MENU_CUT: case EDITOR_MENU_COPY: case EDITOR_MENU_PASTE: + case EDITOR_MENU_MOVE_UP: + case EDITOR_MENU_MOVE_DOWN: case EDITOR_MENU_SELECT_TRACK: case EDITOR_MENU_BIAS_P_001: case EDITOR_MENU_BIAS_P_01: