From 295d423cc47f9ee8a72134dc544892a03b279311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Sun, 10 Jul 2022 23:23:09 +0200 Subject: Convert to C++. I already hit upon some object-oriented programming patterns in *listview.c, so I felt that it would be natural to use this as an opportunity to learn C++. --- c/listview.c | 78 ------------------------------------------------------------ 1 file changed, 78 deletions(-) delete mode 100644 c/listview.c (limited to 'c/listview.c') diff --git a/c/listview.c b/c/listview.c deleted file mode 100644 index 91838da..0000000 --- a/c/listview.c +++ /dev/null @@ -1,78 +0,0 @@ -#include -#include -#include - -#include "resource.h" -#include "defs.h" - -extern HFONT HfNormal; -extern HWND HWnd; -WNDPROC LvPrevProc; -static LRESULT CALLBACK LvProc(HWND, UINT, WPARAM, LPARAM); - -HWND -LvCreate(HMENU hMenu, DWORD dwStyle) -{ - HWND hLv; - - hLv = CreateWindowEx( - WS_EX_CLIENTEDGE, - WC_LISTVIEW, - TEXT(""), - dwStyle|WS_CHILD|WS_VISIBLE|WS_VSCROLL|WS_TABSTOP - |LVS_REPORT|LVS_SHOWSELALWAYS, - 0, 0, 0, 0, - HWnd, hMenu, GetModuleHandle(NULL), NULL - ); - - LvPrevProc = (WNDPROC)SetWindowLongPtr(hLv, - GWLP_WNDPROC, (LONG_PTR)LvProc); - - ListView_SetExtendedListViewStyle(hLv, LVS_EX_FULLROWSELECT); - - SendMessage(hLv, WM_SETFONT, (WPARAM)HfNormal, MAKELPARAM(FALSE, 0)); - - return hLv; -} - -LRESULT CALLBACK -LvProc(HWND hLv, UINT uMsg, WPARAM wParam, LPARAM lParam) -{ - switch (uMsg) { - case WM_NOTIFY: - switch (((LPNMHDR)lParam)->code) { - case HDN_ENDTRACK: - UpdateLayout(); - return TRUE; - } - break; - case WM_GETDLGCODE: - { - LRESULT lResult; - extern HWND HElv; - - /* For the episode list view, the Enter key should not - * be handled by the dialog manager, but instead be sent - * along to the main window procedure, so that it may be - * handled by the NM_RETURN case in ElvHandleNotify. */ - - if (hLv != HElv) break; - lResult = CallWindowProc(LvPrevProc, hLv, uMsg, wParam, lParam); - if (lParam && ((MSG *)lParam)->message == WM_KEYDOWN - && ((MSG *)lParam)->wParam == VK_RETURN) - return DLGC_WANTMESSAGE; - return lResult; - } - } - - return CallWindowProc(LvPrevProc, hLv, uMsg, wParam, lParam); -} - -/* Naively calculate height of list view. */ -int -LvHeight(HWND hLv, int bHeader) -{ - int iCount; - iCount = ListView_GetItemCount(hLv); - return iCount? Dpi(bHeader? 27: 4)+iCount*Dpi(19): 0; -} -- cgit v1.2.3