Skip to content

Commit ff33460

Browse files
committed
0.9.0.49: New SwitchView function to switch between view modes and handle CommandBar button states without repetition
1 parent 0fadeb7 commit ff33460

7 files changed

Lines changed: 16 additions & 35 deletions

File tree

src/sqlite-ce-edit/editor.c

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -213,22 +213,27 @@ void ForceMenuRebuild(void) {
213213

214214
void SwitchView(int mode) {
215215
g_viewMode = mode;
216-
ShowWindow(g_hwndQuery, mode == 0 ? SW_SHOW : SW_HIDE);
217-
if (g_hwndLineNum) ShowWindow(g_hwndLineNum, (mode == 0 && g_showLineNumbers) ? SW_SHOW : SW_HIDE);
218-
ShowWindow(g_hwndResult, mode == 1 && !g_gridView ? SW_SHOW : SW_HIDE);
219-
if (g_hwndGrid) ShowWindow(g_hwndGrid, mode == 1 && g_gridView ? SW_SHOW : SW_HIDE);
220-
if (g_hwndSchema) ShowWindow(g_hwndSchema, mode == 2 ? SW_SHOW : SW_HIDE);
216+
ShowWindow(g_hwndQuery, mode == VIEW_QUERY ? SW_SHOW : SW_HIDE);
217+
if (g_hwndLineNum) ShowWindow(g_hwndLineNum, (mode == VIEW_QUERY && g_showLineNumbers) ? SW_SHOW : SW_HIDE);
218+
ShowWindow(g_hwndResult, mode == VIEW_RESULT && !g_gridView ? SW_SHOW : SW_HIDE);
219+
if (g_hwndGrid) ShowWindow(g_hwndGrid, mode == VIEW_RESULT && g_gridView ? SW_SHOW : SW_HIDE);
220+
if (g_hwndSchema) ShowWindow(g_hwndSchema, mode == VIEW_SCHEMA ? SW_SHOW : SW_HIDE);
221221

222222
/* Update context menu first, before toolbar changes */
223223
UpdateContextMenu(mode);
224224

225+
/* Update view toggle buttons */
226+
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWQUERY, mode == VIEW_QUERY);
227+
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWRESULT, mode == VIEW_RESULT);
228+
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWSCHEMA, mode == VIEW_SCHEMA);
229+
225230
/* Swap button bitmap/state based on view mode */
226-
if (mode == 0) {
231+
if (mode == VIEW_QUERY) {
227232
/* Query view: exec-at-cursor toggle */
228233
SendMessage(g_hwndCB, TB_CHANGEBITMAP, IDM_EXECATCURSOR, TB_EXECAT);
229234
SendMessage(g_hwndCB, TB_ENABLEBUTTON, IDM_EXECATCURSOR, TRUE);
230235
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_EXECATCURSOR, g_execAtCursor);
231-
} else if (mode == 1) {
236+
} else if (mode == VIEW_RESULT) {
232237
/* Results view: grid toggle - checked = grid mode */
233238
SendMessage(g_hwndCB, TB_CHANGEBITMAP, IDM_EXECATCURSOR, TB_GRID);
234239
SendMessage(g_hwndCB, TB_ENABLEBUTTON, IDM_EXECATCURSOR, g_lastResultRows > 0);
@@ -240,14 +245,14 @@ void SwitchView(int mode) {
240245
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_EXECATCURSOR, g_showSizes);
241246
}
242247

243-
if (mode == 0) {
248+
if (mode == VIEW_QUERY) {
244249
SetFocus(g_hwndQuery);
245250
UpdateLineCount();
246251
UpdateLineNumbers();
247-
} else if (mode == 1) {
252+
} else if (mode == VIEW_RESULT) {
248253
SetFocus(g_gridView ? g_hwndGrid : g_hwndResult);
249254
SendMessageW(g_hwndStatus, SB_SETTEXTW, 1, (LPARAM)g_lastResultStatus);
250-
} else if (mode == 2) {
255+
} else if (mode == VIEW_SCHEMA) {
251256
wchar_t statusBuf[64];
252257
SetFocus(g_hwndSchema);
253258
RefreshSchema();

src/sqlite-ce-edit/execute.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,6 @@ void ExecuteSQL(const char *sql) {
281281
if (g_gridView && g_hwndGrid)
282282
SendMessage(g_hwndGrid, WM_SETREDRAW, FALSE, 0);
283283
SwitchView(VIEW_RESULT);
284-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWQUERY, FALSE);
285-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWRESULT, TRUE);
286-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWSCHEMA, FALSE);
287284
if (g_lastResultRows > 0) {
288285
if (g_gridView) PopulateGrid();
289286
} else {
@@ -649,9 +646,6 @@ void ExecuteQuery(void) {
649646
if (g_gridView && g_hwndGrid)
650647
SendMessage(g_hwndGrid, WM_SETREDRAW, FALSE, 0);
651648
SwitchView(VIEW_RESULT);
652-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWQUERY, FALSE);
653-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWRESULT, TRUE);
654-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWSCHEMA, FALSE);
655649
if (g_lastResultRows > 0) {
656650
if (g_gridView) PopulateGrid();
657651
} else {

src/sqlite-ce-edit/globals.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ BOOL WINAPI GetSaveFileNameW(CE_OPENFILENAME*);
8787
** Version
8888
**============================================================================*/
8989

90-
#define SQLITECEDIT_VERSION L"0.9.0.48"
90+
#define SQLITECEDIT_VERSION L"0.9.0.49"
9191

9292
/*============================================================================
9393
** Menu IDs

src/sqlite-ce-edit/import.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -556,9 +556,6 @@ void DoImportCEDB(void) {
556556
ClearEditMode();
557557
g_lastResultRows = 0;
558558
SwitchView(VIEW_RESULT);
559-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWQUERY, FALSE);
560-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWRESULT, TRUE);
561-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWSCHEMA, FALSE);
562559
SendMessage(g_hwndCB, TB_ENABLEBUTTON, IDM_EXECATCURSOR, FALSE);
563560

564561
cleanup:

src/sqlite-ce-edit/main.c

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -342,23 +342,14 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
342342
break;
343343
case IDM_VIEWQUERY:
344344
SwitchView(VIEW_QUERY);
345-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWQUERY, TRUE);
346-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWRESULT, FALSE);
347-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWSCHEMA, FALSE);
348345
CheckMenuRadioItem(g_hViewMenu, IDM_VIEWQUERY, IDM_VIEWSCHEMA, IDM_VIEWQUERY, MF_BYCOMMAND);
349346
break;
350347
case IDM_VIEWRESULT:
351348
SwitchView(VIEW_RESULT);
352-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWQUERY, FALSE);
353-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWRESULT, TRUE);
354-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWSCHEMA, FALSE);
355349
CheckMenuRadioItem(g_hViewMenu, IDM_VIEWQUERY, IDM_VIEWSCHEMA, IDM_VIEWRESULT, MF_BYCOMMAND);
356350
break;
357351
case IDM_VIEWSCHEMA:
358352
SwitchView(VIEW_SCHEMA);
359-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWQUERY, FALSE);
360-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWRESULT, FALSE);
361-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWSCHEMA, TRUE);
362353
CheckMenuRadioItem(g_hViewMenu, IDM_VIEWQUERY, IDM_VIEWSCHEMA, IDM_VIEWSCHEMA, MF_BYCOMMAND);
363354
break;
364355
case IDM_VIEWGRID:

src/sqlite-ce-edit/output.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,6 @@ void ShowResultMessage(LPCWSTR msg, int clear) {
5252
}
5353
/* Switch to text results view */
5454
SwitchView(VIEW_RESULT);
55-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWQUERY, FALSE);
56-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWRESULT, TRUE);
57-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWSCHEMA, FALSE);
5855
if (g_gridView && g_hwndGrid) {
5956
ShowWindow(g_hwndGrid, SW_HIDE);
6057
ShowWindow(g_hwndResult, SW_SHOW);

src/sqlite-ce-edit/schema.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -532,9 +532,6 @@ void OpenTableForEditing(const char *tablename) {
532532
g_gridView = 1;
533533
PopulateGrid();
534534
SwitchView(VIEW_RESULT);
535-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWQUERY, FALSE);
536-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWRESULT, TRUE);
537-
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWSCHEMA, FALSE);
538535

539536
/* Disable grid/text toggle button while in edit mode */
540537
SendMessage(g_hwndCB, TB_ENABLEBUTTON, IDM_EXECATCURSOR, FALSE);

0 commit comments

Comments
 (0)