Commit Graph

69 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
08fedc69ef No changes, just fixes for typos in comments in wxMSW headers.
Closes #16706.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78239 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:18:38 +00:00
Vadim Zeitlin
9a377ec117 Implement wxListBox::EnsureVisible() for wxMSW.
Manually check whether the item is currently visible and scroll the listbox
just enough if it isn't.

Closes #3224.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:17 +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
f78b3d1fc0 Don't try to determine the clicked item ourselves in wxMSW wxListBox.
This doesn't work when the listbox is scrolled as the result of a click to
make the selected item fully visible and results in the index of the item
being off by 1 in the generated event which is a pretty serious problem.

Fix it by simply retrieving the item from the listbox itself, without doing
any hit testing. This seems to give the correct result in all cases and also
makes the code much simpler as we don't have to use 2 different ways of
finding the item depending on whether it was selected using the keyboard or
the mouse and makes it unnecessary to keep track of how the selection was done
completely, i.e. reverts r64498 which is not needed any more.

Closes #14635.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-09 00:44:26 +00:00
Vadim Zeitlin
dca0afc73c Add missing Init() call to one of wxListBox ctors in wxMSW.
Overloaded ctor taking wxArrayString didn't call Init() so the wxListBox
fields were not initialized. Fix it by adding the Init() call.

Closes #12138.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-10 10:40:21 +00:00
Vadim Zeitlin
f2eb4ad226 Use mouse position to find the item for selection events in wxMSW listbox.
Using LB_GETCARETINDEX doesn't work when the mouse is used to make selection
because it always returns the index of the last item, even if the mouse is
clicked below it, on an area without any listbox items. So use the mouse
position to find the item in this case but still use LB_GETCARETINDEX to find
the item when the keyboard is used.

This required adding a flag to wxListBox storing the kind of the last input
message that it received as there doesn't seem to be any way to determine how
the message was generated otherwise.

This code will be refactored/improved further in the next two commits.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-05 22:58:05 +00:00
Vadim Zeitlin
096d544752 No changes, just refactor wxListBox initialization in wxMSW.
Extract member fields initialization in Init() method instead of duplicating
it in default ctor and Create().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-05 22:57:59 +00:00
Vadim Zeitlin
316bba0c72 Invalidate wxListBox best size immediately without waiting for idle time.
Since r53743 the listbox best size was only invalidated during idle time but
this meant that it could be laid out using incorrect old best size. So while
we still defer (expensive) horizontal extent calculation until later, do
invalidate the best size immediately to ensure the listbox is laid out
correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-08 10:28:01 +00:00
Vadim Zeitlin
e10092956f Fix multiple bugs in non-ownerdrawn wxListBox after recent merge.
Changes done in ownerdraw-refactor branch have broken non-ownerdrawn list
boxes as the code was now using m_aItems array even for them but it's not used
in this case.

Also remove unnecessarily overridden Delete() method which didn't add anything
to the base class implementation but just deleted the same m_aItems pointer
twice.

Also use HasFlag(wxLB_OWNERDRAW) everywhere consistently instead of testing
for it manually.

Closes #11729.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63551 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-25 00:03:44 +00:00
Vadim Zeitlin
85ee88cd53 Improve wxCheckListBox appearance under Vista/Win7.
Fix the items alignment and also code cleanup: fix indentation, remove magic
numbers &c.

Closes #10286.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:22:00 +00:00
Vadim Zeitlin
98fbab9e7b Refactor owner-drawing code.
Only keep common code in the base class and extract all menu/listbox-specific
stuff into derived classes.

This makes the code cleaner and more maintainable but introduces some problems
in wxCheckListBox appearance which will be fixed by the next patch.

Closes #10635.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:21:12 +00:00
Vadim Zeitlin
743b426605 Added DoGetClientBestSize() and use it for a couple of controls in wxMSW.
DoGetClientBestSize() returns the best size of the client area, without
accounting for the border which is done by GetBestSize() itself and
DoGetBorderSize() called from it.

Use DoGetClientBestSize() in wxStaticText (where it was done
insideDoGetBestSize() before) and in wxListBox, to fix its height calculation.

Also use correct height of listbox items as returned by the control itself
instead of trying to guess it.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-22 20:36:13 +00:00
Robert Roebling
1ddb283ad5 Defer SetHorizontalExtent to idle, also fixes (wxListBox::Delete ignores Freeze/Thaw and is verrrrry slow)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-25 20:54:30 +00:00
Francesco Montorsi
53a2db124c substitute WXDLLEXPORT with WXDLLIMPEXP_CORE and WXDLLEXPORT_DATA with WXDLLIMPEXP_DATA_CORE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-26 15:06:00 +00:00
Paul Cornett
3c75d8baf9 make access for virtuals match base
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-26 06:20:23 +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
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
b5dbe15d0b added WXDLLIMPEXP_FWD_FOO macros in addition to WXDLLIMPEXP_FOO for use with forward declarations (in preparation for GCC visibility support)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-09 10:09:52 +00:00
Vadim Zeitlin
fca418ae12 call SetHorizontalExtent() from SetString(); also simplified/cleaned up the former function and call InvalidateBestSize() from it automatically now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-12 21:44:34 +00:00
Vadim Zeitlin
aa61d35253 replaced all int/size_t indices in wxControlWithItems API with unsigned int (committing on behalf of ABX)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-23 22:05:23 +00:00
Włodzimierz Skiba
8228b8932a Line-up interfaces to use size_t for GetCount()s (and count related api).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-14 19:44:45 +00:00
Vadim Zeitlin
c00fed0ef4 added wxListBox::HitTest() from Ryan (patch 1446207)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-09 12:48:52 +00:00
Vadim Zeitlin
6f02a879ed make access specifiers for the virtual functions match their access in the base class (patch 1400131)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-08 21:47:09 +00:00
Włodzimierz Skiba
853dcc57c6 wxItemContainerImmutable::FindString unified.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-27 16:54:43 +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
Julian Smart
ce0e1aacbc Applied patch [ 1218833 ] [wxMSW] wxListBox optimisation for XP
Also removed temporary fix to hardwire listbox background colour


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34674 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-06-16 15:36:48 +00:00
Vadim Zeitlin
c3732409ac simplifications and corrections to background drawing:
1. removed ApplyParentThemeBackground() not used any longer
2. removed ProvidesBackground() which is synonymous with
   !HasTransparentBackground()
3. removed a whole bunch of unused MSWXXX() methods
4. moved MSWControlColor() from wxWindow up to wxControl

results:

1. the gradient is still shown properly for static/radio boxes in notebooks
2. correct background colour is used for the static boxes
3. code is shorter and better commented


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-10 15:23:08 +00:00
Vadim Zeitlin
c6179a847d 1. added SetSelection() to wxItemContainer and removed its declarations
from derived classes
2. made wxItemContainer::Select() non virtual: it simply calls SetSelection()
3. renamed wxListBox::SetSelection(n, select) to DoSetSelection() for all
   ports and defined non virtual SetSelection() overloads in the base class
   to avoid virtual functions hiding


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-13 17:08:27 +00:00
Vadim Zeitlin
012e1eebae always return solid background for listbox
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-19 20:36:23 +00:00
Włodzimierz Skiba
598ddd96f4 Source cleaning: -1/wxID_ANY/wxDefaultCoord, ::, !!, TRUE/true, FALSE/false, whitespaces, tabs.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-08-30 10:18:55 +00:00
Václav Slavík
446e5259d7 DLL export fixes (patch 991760)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-15 20:51:44 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Vadim Zeitlin
7a69cd967a use MSWCreateControl() instead of the old mess; implemented Get(Class)DefaultAttributes()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-04-01 00:15:07 +00:00
Mattia Barbon
584ad2a32f Added some missing STL-like wxArray/wxArrayString constructors.
Added helper class wxCArrayString, better replacement for
wxArrayString::GetStringArray.
  Added overloaded constructors and Create() methods taking
a wxArrayString for wxCheckListBox, wxChoice, wxComboBox,
wxListBox, wxRadioBox, wxSingleChoiceDialog, wxMultipleChoiceDialog.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-01-31 18:21:45 +00:00
Julian Smart
6463b9f539 Reverted patch [ 832096 ] Final separation for GUI and console for Open Watcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-01-15 13:49:22 +00:00
Julian Smart
1169a91932 Applied patch [ 832096 ] Final separation for GUI and console for Open Watcom
(Watcom compiler doesn't like ctor implementation in headers)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-01-11 15:33:01 +00:00
Vadim Zeitlin
d5d29b8a22 renamed WX_DEFINE_ARRAY_NO_PTR in WX_DEFINE_ARRAY_PTR
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-10-08 22:13:14 +00:00
Stefan Csomor
c44a270570 removing rtti special functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-19 17:28:34 +00:00
Stefan Csomor
a06bb527dd RTTI extensions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-19 16:48:06 +00:00
Václav Slavík
1202890513 added support for gcc precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:38:21 +00:00
Vadim Zeitlin
fc7a2a602b undisable many warnings for VC++ in defs.h and fixed several thousands of them in the sources
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-22 00:24:07 +00:00
Vadim Zeitlin
6108e3fd32 added NO_PTR versions of ARRAY macros to suppress warnings (based on patch 770983)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-19 19:46:29 +00:00
Vadim Zeitlin
2b5f62a0b2 merged 2.4 branch into the trunk
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-04 14:11:26 +00:00
Vadim Zeitlin
ace954f1db replaced quotes in #include with angle brackets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-06-01 11:48:26 +00:00
Vadim Zeitlin
1e6feb95a7 first pass of wxUniv merge - nothing works, most parts don't even compile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-06-26 20:59:19 +00:00
Vadim Zeitlin
f048e32fcd 1. wxMDIParentFrame::~wxMDIParentFrame() bug fixed
2. tooltips work with wxRadioBox
3. duplicated OnCtlColor()s moved to wxControl


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-11-25 23:28:41 +00:00
Vadim Zeitlin
f68586e51b wxWindow::GetBestSize() added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-11-19 21:01:20 +00:00
Vadim Zeitlin
8ee9d6182c 1. wxDropTarget::OnData() returns wxDragResult now, not bool
2. fixed assert failure in wxMSW::wxListBox
3. wxFileHistory automatically deletes non existinf files from menu
4. wxDropTarget coordinates are client (and not screen) under MSW too
5. wxConvertBitmapToDib and vice versa seem to work!
6. client data field if filled by wxListBox and wxChoice and it's also deleted
   (this just wasn't done before!)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-23 23:40:55 +00:00