Commit Graph

246 Commits

Author SHA1 Message Date
Nikolay Sivov 5a8be0bc20 comctl32/monthcal: Week numbers use title colour. 2011-04-04 11:51:43 +02:00
Gerald Pfeifer 1e74b6379c comctl32: Simplify MONTHCAL_PaintLeadTrailMonths. 2011-04-01 10:49:00 +02:00
Nikolay Sivov 3796f12710 comctl32/monthcal: Clean day painting function. 2011-03-28 17:31:03 +02:00
Nikolay Sivov 802ab38f0c comctl32/monthcal: Selection and abbreviations should use title colour. 2011-03-28 17:30:58 +02:00
Nikolay Sivov 6d4b96020e comctl32/monthcal: Cache brush handles. 2011-03-28 17:30:53 +02:00
Nikolay Sivov eb2dc5c900 comctl32/monthcal: Fix hit test for previous month. 2011-03-28 17:30:45 +02:00
Nikolay Sivov 2f65a83370 comctl32/monthcal: Move partially visible months painting outside of calendar loop. 2011-03-28 17:30:40 +02:00
Nikolay Sivov ddab5d8548 comctl32/monthcal: Remove outdated comment. 2011-03-28 17:30:33 +02:00
Nikolay Sivov 9ce376181a comctl32/monthcal: Use recently introduced enum in scroll buttons painting helper. 2010-08-16 13:45:14 +02:00
Nikolay Sivov ae1062c12d comctl32/monthcal: Store all control colors in a single array. 2010-08-16 13:45:07 +02:00
Nikolay Sivov 8caeb2f735 comctl32/monthcal: Fix assumption about a single calendar for minimal rectangle calculation. 2010-08-16 13:44:55 +02:00
Nikolay Sivov 197a716424 comctl32/monthcal: Remove macro used once. 2010-08-16 13:44:50 +02:00
Nikolay Sivov af6ba8297f comctl32/monthcal: Properly scroll calendars on year change. 2010-08-16 13:44:43 +02:00
Nikolay Sivov 23d8d35e9e comctl32/monthcal: Make month popup menu respect multiple calendars. 2010-08-16 13:44:39 +02:00
Nikolay Sivov 09d883fbf0 comctl32/monthcal: Properly adjust selections on scrolling. 2010-08-16 13:44:35 +02:00
Nikolay Sivov 76d3e1d553 comctl32/monthcal: Support new hittest fields for some cases. 2010-08-16 13:44:29 +02:00
Nikolay Sivov 8e968fd290 comctl32/monthcal: Add some tests for post-V1 hittest fields. 2010-08-04 13:26:00 +02:00
Nikolay Sivov 7fb6031731 comctl32/monthcal: Erase week numbers rectangle before drawing new text. 2010-08-02 14:08:48 +02:00
Nikolay Sivov 49949cbbc2 comctl32/monthcal: No need to calculate month length on every iteration. 2010-08-02 14:08:40 +02:00
Nikolay Sivov db10fb8301 comctl32/monthcal: Get rid of stored current selection date, it's always synced with lower bound. 2010-08-02 14:08:34 +02:00
Nikolay Sivov 516c322ecc comctl32/monthcal: Add support for month delta in button navigation. 2010-08-02 14:08:20 +02:00
Nikolay Sivov b83d11ace4 comctl32/monthcal: Add helper to jump to specified number of months. 2010-08-02 14:08:14 +02:00
Nikolay Sivov 23e9866be8 comctl32/monthcal: Fix navigation from last day in a month. 2010-08-02 14:08:06 +02:00
Nikolay Sivov a35085457e comctl32/monthcal: Rename button navigation helper to better reflect its purpose. 2010-08-02 14:08:00 +02:00
Nikolay Sivov b486c50523 comctl32/monthcal: Use memcpy to copy day state arrays. 2010-07-20 16:28:17 +02:00
Nikolay Sivov 94666ebf0d comctl32/monthcal: Prepare MCM_GETMONTHRANGE with GMR_VISIBLE for multiple calendars. 2010-07-19 15:15:53 +02:00
Nikolay Sivov 34fba5a2d2 comctl32/monthcal: Get rid of goto jumps in hit test helper. 2010-07-19 15:15:47 +02:00
Nikolay Sivov 8ea515c872 comctl32/monthcal: Modify hittesting helper to work with multiple calendars. 2010-07-19 15:15:41 +02:00
Nikolay Sivov 2042cbc243 comctl32/monthcal: Prepare drawing helpers for multiple calendars. 2010-07-19 15:15:33 +02:00
Nikolay Sivov 274d132b1f comctl32/monthcal: Separate single calendar data. 2010-07-19 15:15:22 +02:00
Gerald Pfeifer 44f1fbced4 comctl32: Remove variable old_focused which is not really used from MONTHCAL_Mouse. 2010-05-03 15:40:30 +02:00
Francois Gouget 5a45951f3e comctl32/monthcal: Fix compilation on systems that don't support nameless unions. 2009-10-19 14:45:04 +02:00
Nikolay Sivov cbdc99cdba comctl32/monthcal: Get/set unicode format flag using MCM_[GET|SET]UNICODEFORMAT. 2009-10-16 13:36:01 +02:00
Nikolay Sivov 2cc98ef94a comctl32/monthcal: Reduce update rectangle after updating current selection. 2009-10-14 11:25:46 +02:00
Nikolay Sivov ca579f7c61 comctl32/monthcal: Fix painting selected day, remove unneeded operations. 2009-10-14 11:25:41 +02:00
Nikolay Sivov e58b5349fb comctl32/monthcal: Add separate handler for WM_PRINTCLIENT. 2009-10-13 11:27:59 +02:00
Nikolay Sivov 7beaa88ed9 comctl32/monthcal: Implement handler for WM_ERASEBKGND. 2009-10-13 11:27:52 +02:00
Nikolay Sivov 840a39e90a comctl32/monthcal: Simplify painting operations, split painting to several helpers. 2009-10-13 11:27:48 +02:00
Nikolay Sivov ecf89c7e3d comctl32/monthcal: Fix selection during navigation with prev/next buttons. 2009-10-12 13:00:46 +02:00
Nikolay Sivov c9e3e3bc8e comctl32/monthcal: Fix multiselection days painting, including intersections with prev/next months. 2009-10-12 13:00:39 +02:00
Nikolay Sivov 4651624d35 comctl32/monthcal: Simplify parameter set of day of week calculation helper. 2009-10-12 13:00:30 +02:00
Nikolay Sivov 7d2ef4f23d comctl32/monthcal: Fix column/row calculation for previous and next month. 2009-10-12 13:00:19 +02:00
Nikolay Sivov 6b72f16906 comctl32/monthcal: Handle over/underflow while navigation with month menu. 2009-10-12 13:00:01 +02:00
Nikolay Sivov 18857222ec comctl32/monthcal: Handle September 1752 with a special case - it's a 19 day month. 2009-10-12 12:59:53 +02:00
Nikolay Sivov a00c217ce9 comctl32/monthcal: Reuse existing calls to get day of week. 2009-10-12 12:59:37 +02:00
Nikolay Sivov 2906aaf605 comctl32/monthcal: Process UpDown year control through subclass procedure. 2009-10-12 12:59:31 +02:00
Nikolay Sivov 08b6bff386 comctl32/monthcal: Really use locale data for all days. 2009-10-09 11:50:29 +02:00
Francois Gouget fe935e8d50 Assorted spelling fixes. 2009-10-08 12:17:31 +02:00
Nikolay Sivov c68324dfed comctl32/monthcal: Implement MCM_GETMONTHRANGE for GMR_DAYSTATE flag and a single calendar control. 2009-10-08 12:16:57 +02:00
Nikolay Sivov f37130c83b comctl32: Use user32 control names from public header constants instead of defining over and over again. 2009-10-08 12:11:47 +02:00
Nikolay Sivov c8f35a136d comctl32/monthcal: Fix the way a first day of week is handled. 2009-10-08 12:11:24 +02:00
Nikolay Sivov bd58b130ba comctl32/monthcal: Cleanup top drawing helper namespace, reduce parameter count in prev/next draw helpers. 2009-10-08 12:11:14 +02:00
Nikolay Sivov 41db6f8500 comctl32/monthcal: Invalidate unconditonally on MCM_SETFIRSTDAYOFWEEK. 2009-10-07 12:23:52 +02:00
Nikolay Sivov 526e1d81a3 comctl32/monthcal: Recalculate control layout on MCS_WEEKNUMBERS style change. 2009-10-07 12:23:45 +02:00
Nikolay Sivov 689a9eb5df comctl32/monthcal: Update day of week properly while iterating with prev/next buttons and hit testing. 2009-10-07 12:23:39 +02:00
Nikolay Sivov 71d4b5fcd4 comctl32/monthcal: Optimize WM_LBUTTONUP handler. 2009-10-07 12:23:31 +02:00
Nikolay Sivov 6b5c6645b9 comctl32/monthcal: Use a timer to auto update today date memory. 2009-10-07 12:23:09 +02:00
Nikolay Sivov 70eb6c0385 comctl32/monthcal: Use a single timer for auto month scroll with prev/next buttons. 2009-10-07 12:22:57 +02:00
Nikolay Sivov 87e9e3c370 comctl32/monthcal: Fix '&->&&' typo in focused day helper. 2009-10-06 11:57:24 +02:00
Nikolay Sivov 2d2edc9a83 comctl32/monthcal: Fix parameter validation in MCM_SETCURSEL handler. 2009-10-06 11:57:08 +02:00
Nikolay Sivov 42733f980b comctl32/monthcal: Check date limits on prev/next month buttons and year UpDown control. 2009-10-06 11:57:03 +02:00
Nikolay Sivov b8e0a33455 comctl32/monthcal: Remove today rectangle and focus drawing code from loops. 2009-10-06 11:56:55 +02:00
Nikolay Sivov 9723e6213d comctl32/monthcal: Simplify WM_MOUSEMOVE handler. 2009-10-06 11:56:46 +02:00
Nikolay Sivov f65c2f1d63 comctl32/monthcal: Check configured selection range max width in MCM_SETSELRANGE handler. 2009-10-06 11:56:40 +02:00
Nikolay Sivov 2c928de9e2 comctl32/monthcal: Parameter fixes for MCM_SETSELRANGE handler: swap selection bounds, store day of week. 2009-10-06 11:56:33 +02:00
Nikolay Sivov b97697dbe7 comctl32/monthcal: Check range limits in MCM_SETCURSEL. 2009-10-05 14:58:14 +02:00
Nikolay Sivov 480f54b140 comctl32/monthcal: Use true date comparison on multiselection, not only the day is valuable. 2009-10-05 14:58:03 +02:00
Nikolay Sivov 1ebf42751e comctl32/monthcal: Handle mouse pointer followed focus rectangle more accurately. 2009-10-05 14:57:49 +02:00
Nikolay Sivov 96022da6c8 comctl32/monthcal: Implement MCM_GETMONTHRANGE for GMR_VISIBLE flag, single calendar control only. 2009-10-05 14:57:37 +02:00
Nikolay Sivov 5d530fee54 comctl32/monthcal: Fix parameter validation in MCM_SETMAXSELCOUNT handler. 2009-10-02 11:50:47 +02:00
Nikolay Sivov 3df0823085 comctl32/monthcal: Changing MCS_MULTISELECT isn't allowed after creation, set default value properly. 2009-10-02 11:50:41 +02:00
Nikolay Sivov eb87332f14 comctl32/monthcal: Move MCN_SELCHANGE/MCN_SELECT notifications to helpers. 2009-10-02 11:50:34 +02:00
Nikolay Sivov 3088bb3129 comctl32/monthcal: No need to redraw if month didn't change after popup menu. 2009-10-02 11:50:26 +02:00
Nikolay Sivov 28ec8565f0 comctl32/monthcal: Don't request locale data when it isn't needed. 2009-10-02 11:50:18 +02:00
Nikolay Sivov 9557376138 comctl32/datetime: Always store a recalculated day of week instead of a value passed in (DTM_SETSYSTEMTIME). 2009-10-01 11:35:06 +02:00
Nikolay Sivov 52570539d8 comctl32/monthcal: Respect locale abbreviated day names when calculating control dimensions. 2009-09-30 14:31:58 +02:00
Nikolay Sivov 916017d420 comctl32/monthcal: Move selection logic to LButton release handler, fix notifications order. 2009-09-30 14:31:58 +02:00
Nikolay Sivov cc6fca015c comctl32/monthcal: Make prev/next month day a current selection on LButton release. 2009-09-30 14:31:58 +02:00
Nikolay Sivov 344f07007b comctl32/monthcal: Fix hittesting for MCHT_CALENDARDATEPREV/MCHT_CALENDARDATENEXT cases. 2009-09-30 14:31:57 +02:00
Nikolay Sivov aadadd04fe comctl32/monthcal: Control elements should be centered in client area, and left/top aligned if they don't. 2009-09-29 14:22:35 +02:00
Nikolay Sivov 74eca56acb comctl32/monthcal: Minimal rectangle should be zero based. 2009-09-29 14:22:34 +02:00
Nikolay Sivov 30010f44d5 comctl32/monthcal: Months popup menu should be placed at current pointer position. 2009-09-29 14:22:34 +02:00
Nikolay Sivov bce1cebdd4 comctl32/monthcal: Right button should trigger a popup menu on release. 2009-09-29 14:22:34 +02:00
Nikolay Sivov 69080d6d29 comctl32/monthcal: Add parameter validation to MCM_HITTEST handler. 2009-09-28 12:43:57 +02:00
Nikolay Sivov 1224cc461d comctl32/monthcal: Fix timestamp storing on MCM_SETRANGE/MCM_SETSELRANGE. 2009-09-28 12:43:50 +02:00
Nikolay Sivov 211a55b877 comctl32/monthcal: Prevent configured range exceeding with prev/next buttons. 2009-09-28 12:43:37 +02:00
Nikolay Sivov 7030296ece comctl32/monthcal: Move MCN_GETDAYSTATE notification to a helper. 2009-09-28 12:43:29 +02:00
Nikolay Sivov e3a7c6c7e7 comctl32/monthcal: Fix memory leak on MCN_GETDAYSTATE notification. 2009-09-28 12:43:19 +02:00
Nikolay Sivov 818aab58f5 comctl32/monthcal: Properly handle Goto Today popup menu (on RButton). 2009-09-28 12:43:11 +02:00
Nikolay Sivov a95b63efcc comctl32/monthcal: Store full date info to current date on todaylink with LButton. 2009-09-28 12:42:59 +02:00
Nikolay Sivov 6a11d779e6 comctl32/monthcal: Gather currently selected year and month into a single structure. 2009-09-28 12:42:52 +02:00
Nikolay Sivov 962339d4d6 comctl32/monthcal: Make year edit box readonly, cleanup LButton handler to be more readable. 2009-09-28 12:42:42 +02:00
Nikolay Sivov a44f03518e comctl32/monthcal: Fix some bugs with date range. 2009-09-28 12:42:26 +02:00
Nikolay Sivov d66dcb4ff8 comctl32/monthcal: Store full date info for selection at creation time. 2009-09-28 12:42:11 +02:00
Nikolay Sivov b0d3db5b29 comctl32/monthcal: Copy SYSTEMTIME with a simple assignment. 2009-09-28 12:41:30 +02:00
Nikolay Sivov 6bd43fbb49 comctl32/monthcal: Some cleanup to avoid cast in helpers. 2009-09-25 13:16:34 +02:00
Nikolay Sivov decc86add9 comctl32/monthcal: Don't redraw if date didn't change on MCM_SETTODAY. 2009-09-25 13:16:25 +02:00
Nikolay Sivov 534ea8ab42 comctl32/monthcal: Name MCM_SETMAXSELCOUNT parameter. 2009-09-25 13:16:09 +02:00
Nikolay Sivov 548645d360 comctl32/monthcal: Don't redraw after MCM_SETCURSEL if selection doesn't change. 2009-09-25 13:16:01 +02:00
Nikolay Sivov c01ab1608c comct32/monthcal: Invalidate background too on MCM_SETCOLOR with MCSC_BACKGROUND. 2009-09-25 13:15:54 +02:00