Commit Graph

165 Commits

Author SHA1 Message Date
Vadim Zeitlin
49b8d79c87 Remove (Open)Watcom support.
This compiler is not being developed since several years and almost certainly
can't be used to build the current wxWidgets sources anyhow, so remove all
support for it, including a lot of extremely ugly workarounds for its bugs
with template functions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:01:06 +00:00
Vadim Zeitlin
0d4ad161d5 Remove support for Win9x from wxMSW.
Most importantly, this allows us to remove all MSLU-related stuff.

Some functions which were previously loaded dynamically can now be just used
directly, too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 02:33:40 +00:00
Vadim Zeitlin
f4b80e5337 Remove MSVC6 support.
Don't support this compiler any more, this allows to get rid of tons of
MSVC6-specific workarounds, in particular we can now use Bind() and natural
template functions calls in the library code.

Also remove MSVC6 project and solution files and don't generate them when
bakefile_gen is ran any more (removing the remaining occurrences of msvc6prj
from the bakefiles results in weird bake-time errors, so it's simpler to just
leave them there).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 22:32:17 +00:00
Vadim Zeitlin
ddd761f2d9 Ensure wxChoice reported width never becomes negative in wxMSW.
Don't set the pending size to (-1, valid-height) as it is always supposed to
be either fully valid or fully invalid (meaning there is no pending size
change).

Closes #15723.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-20 14:44:44 +00:00
Vadim Zeitlin
9d7f0c5f7e Avoid spurious errors when getting wxChoice or wxListBox client data in wxMSW.
Even after the changes of r70415, we could still report an error when the
item client data was set to -1 (== CB_ERR) as checking for GetLastError() was
not enough, we need to also ensure that the last error is reset before trying
to get the client data.

Also apply the same fix to wxListBox and add the tests verifying that this
does work correctly.

Closes #13883.

Also fix wxListBox::GetClientData().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-14 15:07:44 +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
ce7fe42e84 Provide shorter synonyms for wxEVT_XXX constants.
Use the same short names as are used by the event table macros for the event
type constants themselves. This makes them much more comfortable to use, e.g.
Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED).

The old long names are still kept for backwards compatibility and shouldn't be
removed as it doesn't really cost anything to continue providing them, but all
new event types should only use the short versions.

Closes #10661.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 10:11:03 +00:00
Vadim Zeitlin
65676a2882 Make wxChoice and wxComboBox behaviour same as in native controls in wxMSW.
Keep the item selected from the drop down using keyboard when switching away
from the control by pressing TAB: although this generates CBN_SELENDCANCEL
notification, the selection is actually kept by the native controls in this
case, so don't reset it ourselves -- even though it makes sense, it makes wx
applications behave differently from the native ones.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-02 23:49:25 +00:00
Vadim Zeitlin
7bc740719c Add wxControlWithItems::SendSelectionChangedEvent() helper.
Reuse the same event generation code for wxChoice in wxMSW, wxGTK and wxOSX
and also wxComboBox in wxMSW and wxGTK instead of duplicating it (incompletely
and so partially incorrectly in wxOSX case).

This is just a refactoring so no changes in behaviour.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-02 23:48:59 +00:00
Vadim Zeitlin
1b6010d86f Compilation fixes for VC6 after MSWGetComboBoxInfo() introduction.
Don't use COMBOBOXINFO outside of WINVER checks, we can only use
tagCOMBOBOXINFO that we forward declared ourselves.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-18 00:14:37 +00:00
Vadim Zeitlin
7bc572ec82 Add back WINVER check to fix VC6 compilation of wxMSW.
The changes of r72953 removed the check for WINVER around the code using
COMBOBOXINFO but it's still needed with VC^, so restore it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-15 12:22:05 +00:00
Vadim Zeitlin
aa24f946c6 Implement DoGetSizeFromTextSize() for wxMSW wx{Choice,Combobox,TextCtrl}.
Refactor and improve the existing DoGetBestSize() implementations to use
DoGetBestSize().

Closes #14816.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-14 13:47:59 +00:00
Vadim Zeitlin
df74e2d251 No changes, just refactor wxMSW wxComboBox code calling GetComboBoxInfo().
Move the code dynamically loading this function to the base wxChoice class to
make it possible to use it from there in the upcoming commit.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72953 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-14 13:47:36 +00:00
Vadim Zeitlin
7eb0acefc2 Refactor and simplify wxChoice::DoGetBestSize().
Use wxTextMeasure instead of duplicating its code and also reuse the code
between different ports.

Closes #14706.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-01 17:15:28 +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
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