Commit Graph

150 Commits

Author SHA1 Message Date
Vadim Zeitlin
e911dd0a5a Hide combobox popup when it is hidden itself in wxMSW.
It was possible to hide the main part of a combobox control but keep its popup
shown and this notably happened in wxGrid when TAB was pressed while a
wxChoice cell editor was dropped down.

Avoid this Cheshire combobox syndrome by explicitly dismissing the popup when
a combobox is hidden.

Closes #3113.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-05 18:40:20 +00:00
Vadim Zeitlin
a24fb9f847 Refactor: move wxComboBox::MSWDoPopupOrDismiss() down to wxChoice.
No real changes, just make this method available in wxChoice for the next
commit needs.

See #3113.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-05 18:40:15 +00:00
Julian Smart
6c6b938377 A fix for flicker when the top-level window is disabled or enabled (e.g. by modal dialogs).
Achieved by using IsThisEnabled to determine the visual disabled state and thus requiring no refresh on top-level window enabling/disabling.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-11 05:31:06 +00:00
Vadim Zeitlin
cd747e1598 Append all items at once during wxChoice creation in wxMSW.
Appending all items at once is more efficient than doing it one by one in the
loop 9probably because of CB_INITSTORAGE that we send in this case).

Closes #13899.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-24 21:50:34 +00:00
Vadim Zeitlin
85a39457f9 Check that an error really occurred when getting wxChoice data in wxMSW.
We could wrongly return NULL client data if -1 was stored as client data in
wxChoice because it's the same value as CB_ERR and we always interpreted it as
an error, while it may not be one if GetLastError() doesn't indicate it.

See #13883.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-20 22:11:39 +00:00
Vadim Zeitlin
b281a92305 Keep the item being updated selected in wxMSW wxChoice::SetString().
Changing the text of the selected wxChoice (or wxComboBox, as it derives from
it in wxMSW) item made it unselected. Fix this by explicitly restoring the
selection to the item if needed.

Closes #13769.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-16 19:47:58 +00:00
Dimitri Schoolwerth
275c64304e Fixed dropdown height of wxChoice and wxComboBox controls.
When using comctl32.dll versions prior to 6.0 (e.g. with Win2k or no manifest file) the dropdown height of a wxChoice and wxComboBox would show all but one item and a vertical scrollbar was always visible. Fixed by reintroducing code that adds 1 to the total number of items. The code got dropped in r60553, added a comment to it in the hope that it will not be lost again.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-31 11:30:45 +00:00
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +00:00
Stefan Csomor
2895324520 merging back XTI branch part 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 08:31:53 +00:00
Vadim Zeitlin
ce00f59b5b No changes whatsoever, just remove trailing whitespace.
There are no real changes in this commit but it removes all trailing white
space from our source files. This avoids problems when applying patches and
making diffs and it would be nice to prevent it from reappearing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 11:44:45 +00:00
Vadim Zeitlin
0772a89875 Ensure that setting wxChoice height to its default value does set it.
Setting wxChoice height to its default value didn't change the height even if
the current height was different from the default. This resulted in problems
when a wxChoice was used inside a wxAuiToolBar because AUI temporarily reduces
the toolbar size to (1, 1) when docking it (thus ensuring that the height of
wxChoice is changed too) and generally didn't make sense.

Fix this by resetting the height to the default value if the value passed to
wxChoice::SetSize() is what it considers to be its default height.

Add a unit test for this bug and also add a wxChoice to AUI sample to allow
testing for wxChoice behaviour inside a wxAuiToolBar being [un]docked.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-18 15:07:39 +00:00
Julian Smart
8c0f078408 Don't crash if there's no top window.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-02 11:23:31 +00:00
Jaakko Salli
2ec335db78 Added wxMSW wxChoice::GetClassDefaultAttributes(), initially used in wxComboCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-21 15:20:37 +00:00
Vadim Zeitlin
cd57c6d690 Don't explicitly set the background colour for wxChoice.
This is unnecessary and results in flicker when the control is resized because
we explicitly erase its background ourselves and then it does it itself.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-18 20:49:29 +00:00
Vadim Zeitlin
7fc1b0c7ca Fix harmless warning about -1 to WPARAM conversion.
This was introduced by the last change to this file in r62058.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-26 16:42:56 +00:00
Julian Smart
da89830af4 Applied #10025 (Patch to allow proper sizing of simple combo box)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-24 09:07:13 +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
5d4ee50b0a corrections to setting the height of the visible part of wxChoice after recent changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-08 19:45:31 +00:00
Vadim Zeitlin
75004dfbe5 implement changing wxChoice and wxComboBox height
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-01 21:49:43 +00:00
Vadim Zeitlin
cbeda384e5 no changes, just remove #if'd out code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-01 12:50:25 +00:00
Vadim Zeitlin
13139e9300 restore the original selection when the dropdown is cancelled even if it was -1; this fixes the problem of #9995 and the existing code didn't deal correctly with the problem of losing current text in the combobox when the dropdown was cancelled anyhow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-24 13:33:06 +00:00
Vadim Zeitlin
5de69dd366 don't lose the contents of the combobox if it was set to a value not in a list and a popup has been opened and closed (patch 1883474)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-09 15:22:15 +00:00
Vadim Zeitlin
b4a11fe85c don't access m_clientDataItemsType directly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48732 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-17 00:12:13 +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
Vadim Zeitlin
f785bfddbd don't lose the combobox text when it's opened and closed (patch 1684252, closes bug 1612994)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 02:43:52 +00:00
Václav Slavík
c9f7896861 first phase of transition to unified Unicode build:
1. changed c_str() to return wxCStrData (implicitly convertible to wxChar*)
2. added template type-safe wrappers for vararg functions
3. added wxUniChar class representing single Unicode character
4. changed wxString::operator[] and wxString::iterator to return wxUniChar


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-17 10:26:10 +00:00
Vadim Zeitlin
f4322df68b no changes, just removed TABs/trailing spaces
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 22:56:34 +00:00
Vadim Zeitlin
0ad2a19e42 corrected IMPLEMENT_DYNAMIC_CLASS macros to ensure that the controls are seen to derive from wxControlWithItems by the wx RTTI code (patch 1659708)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-14 16:10:08 +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
36043052e8 Compile fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-14 16:31:40 +00:00
Julian Smart
5637cc3551 Fix for wrong combobox/height being reported if set size is pending
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-14 13:11:53 +00:00
Włodzimierz Skiba
b36e08d086 Include wx/choice.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-30 07:34:30 +00:00
Vadim Zeitlin
593ac33e50 added InitCommandEventWithItems() and call it from wxChoice and wxComboBox code to ensure that per item client data is set correctly in the generated events (replaces patch 1476171; closes bug 1470505)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-06 15:48:27 +00:00
Julian Smart
d4445d24d3 Reverted wxChoice size fix due to problems in W2K and below
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-30 09:21:11 +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
Vadim Zeitlin
f2fb22f9b9 fixed last commit which accidentally included parts of upcoming size_t/unsigned patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-23 17:45:00 +00:00
Vadim Zeitlin
e3e78de1b8 Minor fixes after last commit:
1. don't pass -1 to base class DoSetSize(), this is documented to not work
   under Win2k
2. instead, don't do anything at all if neither size nor position changed
3. only call DoGetSize() once instead of doing it in both if branches
4. added comment about 30000 returned by CB_GETDROPPEDCONTROLRECT


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-23 16:56:19 +00:00
Julian Smart
0b652e0ef9 Added an optimization that fixes a recursive paint problem when controls
are embedded in wxHTML (or other circumstances where the parent resizes
the choice/combobox within a paint handler). This also speeds up
addition of strings considerably (see "Add many strings" in widgets sample).

Also added a check for silly values that can be returned from
CB_GETDROPPEDCONTROLRECT.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-23 15:28:02 +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
c11f04122f fixed event generation for wxChoice: it now sends one and exactly one wxEVT_COMMAND_CHOICE_SELECTED irrespectively of how the item was chosen and only does it after the dropdown is closed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-12 20:20:16 +00:00
Vadim Zeitlin
d77d8c0719 don't send EVT_CHOICE events while the dropdown is opened for consistency with the other platforms
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-12 19:43:27 +00:00
Włodzimierz Skiba
11e62fe658 wxItemContainerImmutable::FindString unified.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-27 17:05:26 +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
Dimitri Schoolwerth
94500b3284 reverted last changes which were false alarm
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-14 12:08:24 +00:00
Dimitri Schoolwerth
451f6363c9 fixed uninitialized variable (depending on wxChoice ctor used it resulted in an out of bounds wxChoice::GetSelection() return value)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-13 12:54:59 +00:00
Vadim Zeitlin
6ba93d23bf made wxChoice and wxComboBox::GetSelection() return only completed selection in wxMSW; added GetCurrentSelection() with the old behaviour and documented it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-08-17 13:30:33 +00:00
Robin Dunn
31582e4e11 Patch #1203934: enable best size caching for MSW widgets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-18 02:23:01 +00:00
Robin Dunn
1d13cc5da4 Cache best size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-17 19:05:03 +00:00
Vadim Zeitlin
2bae4332e7 extended wxWindow::MSWGetBgBrush() and wxControl::MSWControlColor() to work for arbitrary HWNDs and not just wxWindows: this allows us to draw proper background for slider labels and other subcontrols
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-10 21:55:12 +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