Commit Graph

152 Commits

Author SHA1 Message Date
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
b932b899af Fix background of wxRadioBox buttons and wxSlider labels in wxMSW.
Handle WM_CTLCOLOR correctly for them, this wasn't done before because the
code assumed that sub-windows (i.e. HWNDs which belong to the same logical wx
control) were always children of the main window, but they could also be its
siblings (like in at least the two above mentioned cases).

Account for this case in wxControl::DoMSWControlColor() too now.

Closes #12271.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-03 12:47:20 +00:00
Vadim Zeitlin
a325ade884 Compilation fix for wxMSW build with most features disabled.
Include wx/msw/ownerdrawnbutton.h outside of WX_PRECOMP check to ensure it's
always included.

Closes #16380.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-15 13:26:55 +00:00
Vadim Zeitlin
9ccfe76e43 Compilation fix for PCH-less build of wxMSW.
Include wx/msw/ownerdrawnbutton.h usually included via wx/checkbox.h from the
PCH.

Closes #16241.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76483 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-08 14:43:21 +00:00
Vadim Zeitlin
dd59bdf40b Define BS_TYPEMASK for the compilers which don't have it.
Fixes compilation with MinGW after wxMSWOwnerDrawnButton introduction.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-06 11:44:07 +00:00
Vadim Zeitlin
70387b4857 Fix wxMSW owner drawn buttons appearance in "selected" state.
Draw the buttons (i.e. checkboxes and radio buttons) correctly when the space
key is pressed.

See #10137.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-05 14:47:45 +00:00
Vadim Zeitlin
cc73050b73 Factor out common owner drawn code from wx{Check,Radio}Box.
Create wxMSWOwnerDrawnButton class which contains all of this code.

Currently the methods of this class are (still) implemented in
src/msw/control.cpp.

See #10137.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-04 22:13:28 +00:00
Vadim Zeitlin
81b931f8d1 Fix the size of owner-drawn checkbox and radiobuttons under Vista and later.
The size of the native buttons has changed between XP and Vista, so add
version check to draw the buttons of correct size under all Windows versions.

See #10137.

REBASE: squash with aa5d7c5 Fix the size of owner-drawn check and radio boxes under Vista and later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-04 22:13:17 +00:00
Vadim Zeitlin
3fc6738025 Refactor owner drawn buttons drawing code in wxMSW.
Move it from wxCheckBox to wxControl to allow reusing this code in other
classes, notably wxRadioButton in the upcoming commits.

See #10137.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-04 22:13:07 +00:00
Vadim Zeitlin
9b31387508 Merge the changes from 3.0 branch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-12 18:06:37 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
5ddb3b8c53 Fix setting colours for the edit control part of wxComboBox.
Recognize this control as part of wxComboBox and so handle WM_CTLCOLOR for it.

To do this, override ContainsHWND() in wxComboBox and use it, on the parent
window, in wxControl::DoMSWControlColor(), if we fail to find the window
directly.

Closes #811.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72468 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-13 17:11:56 +00:00
Vadim Zeitlin
017dc06b50 Use wxString::t_str() in calls to Windows API functions in wxMSW.
Use t_str() instead of wx_str() to make the code work correctly in UTF-8 build
in which wx_str() returns a pointer to UTF-8 buffer while we need a wchar_t
pointer for Windows.

Closes #14371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-03 19:16:59 +00:00
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Vadim Zeitlin
ebfee17940 Simplify and correct MSW selection of background brush for children painting.
Check for the transparency of the window background in MSWGetBgBrush() itself
and let MSWGetBgBrushForChild() just return the brush to be used.

This required adding a MSW-specific hack to wxPanel to allow inheriting
background of wxNotebook by its children which is slightly ugly but is exactly
what we need to do in this case and makes the rest of the code much simpler.

Also add a possibility to set the background of the page containing the
control being tested to the widgets sample to test for background inheritance.
This shows problems with wxSlider and wxRadioBox backgrounds but they're not
new with this patch.

Closes #12057.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 12:51:20 +00:00
Vadim Zeitlin
b8797d96ca No real changes, just change type of MSWGetBgBrush() argument.
Pass wxWindow instead of HWND to it as in most cases we already have wxWindow
for the HWND we have and calling wxFindWinFromHandle() once more is
unnecessary.

This also makes the code of MSWGetBgBrushForChild() slightly simpler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62932 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-18 20:49:23 +00:00
Vadim Zeitlin
0534259ab8 Move wxControl::GetCompositeControlsDefaultAttributes() from MSW to common.
This function is not MSW-specific and should be used in generic implementation
of controls such as wxListCtrl, wxTreeCtrl and wxDataViewCtrl. Even if it is
needed by MSW only now, move it to the common code to avoid #ifdefs in these
controls code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-26 16:43:06 +00:00
Vadim Zeitlin
db5a2bff58 Restore correct setting of the background colour.
The background colour for the HDC used for drawing the native controls wasn't
set correctly any more after changes of r61859 but we do need to call it or
the text in edit and similar controls is drawn using the default background
even if we return the correct brush which is used for erasing the control.

Closes #11190.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-12 10:59:43 +00:00
Vadim Zeitlin
3316192f0d Set correct foreground default in wxControl::DoMSWControlColor().
Instead of hard-coding GetSysColor(COLOR_WINDOWTEXT), use
GetForegroundColour() which will call GetDefaultAttributes() to retrieve the
default foreground appropriate for this control.

This also allows to make the code simpler by calling SetTextColor() only once.

See #1691.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61860 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-08 12:23:28 +00:00
Vadim Zeitlin
52c5093f76 Don't always override the default background colours.
The wxColour argument taken by wxControl::DoMSWControlColor() allows to
override the default colour, it shouldn't be used in MSWControlColor() as this
resulted in always using custom colours for the controls, even when the user
hadn't changed them. Fix this by not passing any valid colour to it in this
case and allowing it to deduce the correct colour to use on its own.

See #1691.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-08 12:23:17 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
4b6a582bef replace more __WXDEBUG__ occurrences with wxDEBUG_LEVEL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 12:53:48 +00:00
Robert Roebling
30b8043911 Don't use default size of control has a sizer (as per other ports)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59005 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-18 21:20:04 +00:00
Vadim Zeitlin
c6212a0cb7 set m_isBeingDeleted to true (only) in SendDestroyEvent(); call it as early as possible during the window destruction to ensure that destroy event handlers can still access the full window object
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-20 18:33:33 +00:00
Vadim Zeitlin
619ddbbe36 compilation fix for ASCII STL build (#9661)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-29 21:46:29 +00:00
Vadim Zeitlin
e453fe9656 fix problem with label characters starting with -1 in ANSI build (#9572)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-22 15:49:12 +00:00
Francesco Montorsi
cb129171c2 further wxPenStyle/wxBrushStyle fixes for builds with compat off (partially by Marcin Wojdyr)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-19 18:28:04 +00:00
Vadim Zeitlin
dca0f65178 more /Wp64 warning fixes: mostly use UINT_PTR instead of UINT and define our WX[WL]PARAM with __w64 if available to avoid hundreds of warnings when casting LPARAMs to pointers/handles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-28 02:22:52 +00:00
Vadim Zeitlin
0d801d09f9 use wxLogLastError() to show the last error value when reporting failure to create a control (replaces patch 1890940)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-24 23:38:57 +00:00
Václav Slavík
937013e0fd 1. added wxEvtHandler::SafelyProcessEvent() and wxWindow::HandleWindowEvent() to correctly handle exceptions in even handlers in wxGTK
2. use HandleWindowEvent() everywhere as more obvious and convenient shortcut for GetEventHandler()->ProcessEvent(); also for consistency with wxGTK where it's required

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-29 17:00:58 +00:00
Julian Smart
28319afe55 Tidying
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-13 12:17:25 +00:00
Julian Smart
dc797d8e1b More border rationalisation. GetDefaultBorder is now mostly defined in base class files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-13 12:10:34 +00:00
Julian Smart
4c0d2cd3d0 Toolbars shouldn't have themed borders
Made it easier to switch off theme borders in wxWindow if necessary


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-09 15:05:56 +00:00
Julian Smart
6f3f9b50aa Made wxBORDER_THEME the same as wxBORDER_DEFAULT
Moved wxControl::GetBorderStyle into wxWindowMSW::GetBorderStyle
but added GetBorderStyle to have the same behaviour as before (so e.g.
notebook panels don't get borders)
Improved help window borders


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47963 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-08 12:39:56 +00:00
Julian Smart
a047aff270 Added wxBORDER_THEME, wxWindow::GetDefaultBorderForControl(), wxWindow::CanApplyThemeBorder().
wxTextCtrl and wxSearchCtrl now get the correct border on wxMSW, and the wxRichTextCtrl sample
also now demonstrates correct borders.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-07 19:22:43 +00:00
Vadim Zeitlin
0d5b49cfb5 compilation fix after last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-26 14:25:07 +00:00
Vadim Zeitlin
a236aa2058 many wxItemContainer-related changes:
1. the main function for item insertion is now DoInsertItems() which allows
   for much more efficient addition of many new items at once
2. the items client data management is done entirely in wxItemContainer
   itself, the derived classes don't have to distinguish between void and
   object client data
3. many fixes for sorted controls, in particular implemented wxCB_SORT support
   in wxGTK combobox


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-26 13:54:14 +00:00
Václav Slavík
e0a050e347 more changes to make wx compile without implicit wxString->char* conversion (for STL build)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-20 07:44:45 +00:00
Vadim Zeitlin
39bc0347fd added support for ellipsization and markup in wxStaticText (modified patch 1629946)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-01 14:13:15 +00:00
Vadim Zeitlin
ad02525dad don't check whether the window is shown and enabled in AcceptsFocus() itself
as it makes overriding it in derived classes problematic; provide a separate
non virtual CanAcceptFocus() method checking whether the window accepts focus
and if it can accept it now and use it instead of AcceptsFocus(); documented
AcceptsFocus() and AcceptsFocusFromKeyboard()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-25 22:36:24 +00:00
Vadim Zeitlin
28f9f58ca0 fixed warning about junk after #endif
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-17 12:29:21 +00:00
Vadim Zeitlin
82c591d771 fix compilation when one of wxUSE_LISTCTRL and wxUSE_TREECTRL is defined but the other is not (modified patch 1596323)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43413 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-14 14:20:11 +00:00
Robin Dunn
170acdc90e GetBestFittingSize --> GetEffectiveMinSize
SetBestFittingSize --> SetInitialSize
SetBestSize  --> SetInitialSize
SetInitialBestSize --> SetInitialSize


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-31 08:50:17 +00:00
Julian Smart
155acb0cc9 If we use a background brush, we _must_ set a colour (fixes a bug with static labels
not showing on a panel with a black background when system colours are high-contrast)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41241 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-15 19:46:50 +00:00
Włodzimierz Skiba
57bd4c6031 Include wx/msw/wrap*.h according to pch support (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-07 19:01:45 +00:00
Włodzimierz Skiba
93fbbe0765 Include wx/control.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-26 10:15:44 +00:00
Jamie Gadd
3c96418b71 Make wx{List,Tree}Ctrl resize their standard font if the user changes the system font.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37707 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-24 14:19:12 +00:00
Włodzimierz Skiba
a71d815bbe __WIN95__ removed (used to differ win3.1 vs. 'modern' 95 look, nowadays always defined for WXMSW so useless). Minor cleanings and corrections for correct #includes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-12-19 10:47:44 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00