Add wx/msw/private/hiddenwin.h with wxCreateHiddenWindow() declaration instead
of declaring it manually in all the files using it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
There were two strictly identical code snippets setting the expander column to
be the first one if it hadn't been set before, replace both of them with a
call to GetExpanderColumnOrFirstOne() function.
Also use this function instead of just GetExpanderColumn() (which might return
NULL) in a couple of places.
Notice that there are still a lot of places in the code where the column 0 is
hard coded as being the expander column, this would need to be fixed to really
support non-first expander column.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69166 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
"unsigned long" quantities must be formatted using "%l[xou]" and not just
"%[xou]" as the latter doesn't work correctly on 64 bit platforms.
Closes#13447.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69113 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use 0x20 (wxAPPLY) instead of 0x100 (wxICON_EXCLAMATION) for
wxDIALOG_NO_PARENT as otherwise using wxICON_EXCLAMATION with wxMessageBox in
wxGTK (and possibly other ports, although not wxMSW which doesn't honour
wxDIALOG_NO_PARENT for message boxes at all) resulted in not using the
specified parent for the message box and, as a side effect, not centering it
on its parent neither.
Closes#13464.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The contents of this file was still compiled even when wxUSE_TREELISTCTRL was
turned off. Fix this by adding the missing "#if wxUSE_TREELISTCTRL" check
around it.
Closes#13470.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't define wxUSE_WEBVIEW in configure if WebKit is not available under Unix
(we should also check for wxUSE_WEBVIEW_IE under Windows later) and add the
check that either wxUSE_WEBVIEW_WEBKIT or wxUSE_WEBVIEW_IE is defined if
wxUSE_WEBVIEW is to wx/chkconf.h.
This makes it possible to just check for wxUSE_WEBVIEW instead of checking for
wxUSE_WEBVIEW && (wxUSE_WEBVIEW_IE || wxUSE_WEBVIEW_WEBKIT) as the code did
previously which was ugly and error-prone.
Also, define wxUSE_WEBVIEW_IE in configure under MSW. Currently this supposes
that the required IE headers/libraries are available which is probably wrong,
we should add checks for them later.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
All wxUSE_XXX options must be always defined as we test for them with #if and
not #ifdef, so check for this one too for consistency.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69107 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
GetFaceName() could be called for a font that hadn't been really used yet and
hence its wxFontRefData::m_hFont could be 0 and couldn't be used in
GetMSWFaceName().
Fix this by using GetHFONT() accessor instead of m_hFont directly to create
the font if necessary.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Set the int field of wxCommandEvent generated by clicking on the menu items
correctly for not checkable items: it is supposed to be -1 and not 0 (which is
the value for checkable but currently unchecked items). This was already the
case for wxGTK and wxOSX and implied by the comments in the code.
Make wxMSW behave like this too and clearly document this behaviour.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The intention of the code generating the event for popup menu items was to
pass false (0) or true (1) in the int field of wxCommandEvent to indicate
whether the item was checked or not but, because wxMenu::SendEvent() takes int
as second argument and not book, we passed either 0 or MF_CHECKED (== 8).
Fix this by correctly passing a boolean for checkable items.
See #11644.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We incorrectly passed the sign-extended int id to ::GetMenuState() function
that expects an unsigned WORD id, so it never found the item if the WORD id
had the high bit set. Fix this by correctly passing the unsigned id to it.
Closes#11644.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This was accidentally broken in r68965: appending a branch node after
all others node resulted in corruption of m_nodes, as the node was never
added to the list.
Fixes#13467.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxTextCtrl with wxBORDER_NONE (and possibly wxTE_READONLY) style is often used
instead of a wxStaticText to allow copying the text, so make the size of such
control the same as size of the label. This ensures that it aligns correctly
with the label vertically while before the baselines were not aligned because
a border-less text control was rendered by MSW as a label but had a too big
size.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Since the changes if r68876, the splitter windows were not resized correctly
if the splitter size in the direction orthogonal to its own didn't change.
This was an unintended side effect of the changes in that commit as it only
wanted to avoid calling SetSashPositionAndNotify() in this case, but
SizeWindows() should still be called.
Ensure that we do call it always from wxSplitterWindow::OnSize() to fix this.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use wxCompositeWindow<> to propagate changes of colours and font to
wxDataViewCtrl that wxTreeListCtrl uses internally.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775