aboutsummaryrefslogtreecommitdiff
path: root/c/listview.h
AgeCommit message (Collapse)Author
2022-09-02Add Act.John Ankarström
2022-09-02Use global Window object.John Ankarström
This makes it easier to control initialization and maintain RAII.
2022-08-06Use typedefs when interacting with Win32 API.John Ankarström
It's not like they're ever going to change the definition of WORD (knock on wood) -- but I guess it's proper to use them as if their definitions might change.
2022-08-04Add comments.John Ankarström
2022-08-03Remove m_bHeader from ListView.John Ankarström
If it is relevant to add height for a header for a given list view, it is better to override Height and do it there.
2022-08-02Implement draggable split.John Ankarström
Next step is to allow a double click to reset the split to be automatically resized.
2022-07-31Limit use of Hungarian notation.John Ankarström
I don't hate Hungarian notation. It has some very nice qualities. But it also adds a lot of typing. That said, not using it feels a bit... unsafe. I might go back on this decision. We'll see.
2022-07-29Add ListView::FindNextItem.John Ankarström
This makes it much more ergonomic and less error-prone to look up list view items.
2022-07-24Improve window layout.John Ankarström
This reverts much of 97f0a27. 1. It turns out not to be a good idea to resize the list view columns based on the list view window's own rectangle, as it will change depending on whether a scrollbar is visible. The problem is that resizing the columns may add a horizontal scrollbar -- which in turn may add a vertical scrollbar. 2. The WS_EX_CLIENTEDGE style does not look very good in "modern" (non-classic) themes. In 97f0a27, I tried solving this by extending the dimensions of the child windows such that their edges were hidden. However, this type of overlapping causes problems with the status bar. My new solution is to instead *reduce* the child windows' dimensions. This achieves a visual impression similar to the thicker (more well-designed) edges of the "classically themed" list view control. To make it look even better, the main window background is changed from COLOR_WINDOWFRAME (white) to COLOR_WINDOW (light gray).
2022-07-23Improve UpdateLayout and ResizeColumns.John Ankarström
This incidentally removes the need for the variable template introduced by 21e96c6. I'm sure it will be needed at some point, though.
2022-07-20Simplify UpdateLayout.John Ankarström
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-16Formatting.John Ankarström
2022-07-16Add m_hWndParent to ListView.John Ankarström
This avoids g_hWnd.
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-02-15Combine header files.John Ankarström
Some older UNIX programs are organized like this, and I think it gives a very good overview over the code. See troff for an example.
2022-02-15Rework list view code.John Ankarström