aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-18Fix typo.John Ankarström
2022-07-18Formatting.John Ankarström
2022-07-18Avoid leak in Prolog interface.John Ankarström
PL_new_atom(_wchars) creates an atom with a reference count of one, which is never decreased, and the atom is thus never garbage collected.
2022-07-18Fix 26bc4109.John Ankarström
Apparently, = {0} does not zero a structure in C++.
2022-07-18Ensure that CBT hook is set and unset correctly.John Ankarström
2022-07-18Use -O2 instead of -O.John Ankarström
2022-07-18Makefile: Add assembly target.John Ankarström
2022-07-17Prefer f() over f(void).John Ankarström
f(void) is a C-ism that is valid but unnecessary in C++.
2022-07-17Make ListView hWnd public.John Ankarström
A getter offers encapsulation, but it is also less transparent in a sense. Thinking of ListView as a struct, it is natural to expose hWnd as a public member variable.
2022-07-17Update type names and variable prefixes.John Ankarström
2022-07-17Name function arguments in headers.John Ankarström
This is obviously a lot less obtuse.
2022-07-17Add const to pointers, update spacing.John Ankarström
It seems that "right-spaced" pointers are more widely used among C++ programmers.
2022-07-17Add const to places.John Ankarström
Note that I did NOT add const to non-pointer/non-reference arguments in function declarations (without a following definition), as they do not mean anything there.
2022-07-17Remove TsmFromSz.John Ankarström
If needed in the future, it is possible to simply copy it from the Git history.
2022-07-17Use SWI-Prolog's wide-character functions.John Ankarström
This avoids the use of TsmFromSz.
2022-07-17makedeps: Fix regular expression.John Ankarström
2022-07-16Formatting.John Ankarström
2022-07-16README: Add information about Hungarian notation.John Ankarström
2022-07-16Rewrite TszFromSz as TsmFromSz.John Ankarström
I.e. using std::basic_string<TCHAR> instead of TCHAR *. This removes all unmanaged frees.
2022-07-16Add m_hWndParent to ListView.John Ankarström
This avoids g_hWnd.
2022-07-16Ensure c++-mode is used in header files.John Ankarström
2022-07-15Makefile: Make deps.mk silently.John Ankarström
2022-07-15Add showdeps script.John Ankarström
2022-07-15Split defs.h into separate header files.John Ankarström
This is feasible now that the makedeps script exists to automatically manage build dependencies (see 6034fe2, d00f8b3).
2022-07-15README: Add build instructions.John Ankarström
2022-07-15Fix typo.John Ankarström
2022-07-15Improve makedeps script.John Ankarström
2022-07-15Add Win32Error exception class.John Ankarström
2022-07-15Update README.John Ankarström
2022-07-15Add makedeps.pl.John Ankarström
2022-07-15Show error and exit gracefully on uncaught exception.John Ankarström
2022-07-15Add support for Prolog exceptions.John Ankarström
2022-07-15Use C++17 for Flycheck.John Ankarström
2022-07-15Use std::optional instead of std::unique_ptr for try_make.John Ankarström
This requires C++17.
2022-07-15Replace Library::Load with try_make_unique template.John Ankarström
2022-07-15Don't crash on Prolog exceptions.John Ankarström
In the future, it may be desirable to convert Prolog exceptions to C++ exceptions.
2022-07-15Reimplement Pl with variadic templatesJohn Ankarström
This is a bit safer and about as complex.
2022-07-15Change declaration style.John Ankarström
2022-07-15Add wrapper for LoadLibrary, FreeLibrary.John Ankarström
2022-07-14Add pl.cpp to README.John Ankarström
2022-07-14Makefile: Fix main target.John Ankarström
2022-07-14Code style.John Ankarström
2022-07-14Pass WM_DESTROY to ListView::WndProc.John Ankarström
On WM_DESTROY, the "this" property was removed before it could be retrieved and dereferenced, making it impossible for WM_DESTROY messages to be passed to the WndProc method.
2022-07-14Prevent rating column from being invisible.John Ankarström
Bug introduced in 26f70ab. DataListView was initialized with g_iDPI set to -1, which is obviously incorrect. The default value of -1 is a remnant of earlier code and is no longer necessary.
2022-07-14Minor formal changes.John Ankarström
Height(DLVSIKEY) was incorrect. The argument to Height is supposed to be a boolean value, in this case false. It happened to work because DLVSIKEY is 0 (because Key is the 0th column in the data list view).
2022-07-14Initialize global variables in the right place.John Ankarström
The rules for what messages are sent at window creation -- and in which order -- are neither intuitive or clear. WM_CREATE can NOT be relied upon to initialize global state required by handlers of other messages (such as WM_GETMINMAXINFO, which seems to be sent before WM_CREATE). Thus, the better solution is to initialize everything using a CBT hook before the window procedure is even run. Because CBTProc creates (child): windows of its own, though, one must be careful to only run the initialization once, which is done by checking g_hWnd.
2022-07-11Improve ElvSort.John Ankarström
2022-07-11Refactor, adjust minimum window size.John Ankarström
2022-07-10Convert to C++.John Ankarström
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++.
2022-07-10Add plain-text README.John Ankarström