Commit Graph

8031 Commits

Author SHA1 Message Date
Vadim Zeitlin
9655ec028f Allow specifying non default port for wxFTP connections.
Add a wxFTP::Connect() overload taking a port number.

Also specify the default port (21) explicitly if resolving "ftp" service name
failed.

Closes #12145.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-17 22:30:31 +00:00
Václav Slavík
4c83615f07 Compilation fix for GetAvailableTranslations().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-17 13:04:25 +00:00
Václav Slavík
5e30622919 Add wxTranslations::GetAvailableTranslations().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-16 14:09:32 +00:00
Jaakko Salli
6589f1a49a Fix compilation when wxAny was disabled (fixes #12148)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-15 13:34:01 +00:00
Jaakko Salli
1ac5cfc7c9 Added wxComboCtrl::SetTextCtrlStyle()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-13 09:59:32 +00:00
Vadim Zeitlin
c70da1a243 Fix processing of events for MRU entries #10 and more in docview.
We only handled events for wxID_FILE1..wxID_FILE9 range but there can be more
than 9 entries in the MRU list. Handle events for as many of them as there are
correctly.

This required adding a fallback handler for all menu events and checking if
the id of the menu item is in the MRU range inside it. Also move this to
wxDocManager itself from wxDocParentFrameAnyBase as it's common for all kinds
of frames anyhow.

Closes #12141.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-12 18:21:42 +00:00
Vadim Zeitlin
dc7dd8ae97 Fix typo in an error message in XTI code.
Closes #12139.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-10 14:56:46 +00:00
Francesco Montorsi
a5664fd6ef Increase interoperability between wxPoint and wxRealPoint introducing constructors which convert between the two classes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64539 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-09 18:03:27 +00:00
Francesco Montorsi
a0e9a5dfde Implement wx-prefixed macros versions of DECLARE_EVENT_TABLE, BEGIN_EVENT_TABLE* and END_EVENT_TABLE macros.
Implement compatibility aliases for non-prefixed macro names.
Require a final semicolon where possible.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-09 14:28:08 +00:00
Vadim Zeitlin
19f310977a Include locale.h in cmdline.cpp to ensure LC_ALL is defined.
This is needed for at least VC++ 6 and is more correct anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-07 17:16:50 +00:00
Vadim Zeitlin
0ef5cba62e Don't post process events twice but return correct value from ProcessEvent().
This is a further complication to the event handling code which aims to handle
correctly the case of wxScrollHelperEvtHandler which doesn't respect the
request to process events only in it but always passes it to the next handler
in the chain itself while still returning the correct value from
ProcessEvent() itself to avoid breaking code that relies on it, like the
background painting code in wxHtmlWindow.

This replaces the change of r64495 and does return true from DoTryChain() in
wxScrollHelperEvtHandler case but sets the "skipped" flag in the event itself
to indicate that it wasn't really processed and ProcessEvent() now checks it
after calling ProcessEventLocally() and returns the correct value
appropriately.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64510 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-06 12:41:51 +00:00
Jaakko Salli
52999871ce In wxComboCtrlBase::DoShowPopup(), if the popup window is a generic TLW or a 'perfect' wxPopupWindow, then try to set focus to the popup control at the end of show
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-06 09:35:06 +00:00
Vadim Zeitlin
53f60d4ab6 Refactor listbox event sending code to avoid duplication.
wxMSW wxListBox implementation contained the same code as the private
LBSendEvent() function in lboxcmn.cpp, so make this function a (protected)
member of wxListBoxBase and reuse it instead.

Also change its and CalcAndSendEvent() return type to bool to be able to
return whether the event was processed or not.

As the result of this refactoring, the "is selected" flag is now set correctly
for the selection events under MSW (it was always off before).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-05 22:57:53 +00:00
Vadim Zeitlin
e052031692 Don't return true from DoTryChain() if the event wasn't really processed.
Correct the return value when an event handler didn't honour "process only in
this handler" flag: we shouldn't pass the event to the further handlers in
this case but we shouldn't return true neither as the event wasn't really
processed.

This corrects background painting of wxHtmlWindow broken by previous changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-05 22:57:48 +00:00
Robin Dunn
3be6f59151 m_id was already set, don't set it to the passed in value again as then we lose the value which may have been calculated for wxID_ANY.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-05 01:23:18 +00:00
Vadim Zeitlin
bbdee10d5f Fix recently broken forwarding of events between event handlers.
After the recent changes to the event processing logic, forwarding an event
from one event handler to another one stopped working correctly because the
per-event "process here only" flag prevented it from following the event
handler chain after forwarding. This notably broke keyboard navigation in
wxComboCtrl under MSW in wx itself and probably quite a few of other things in
user code.

Fix this by replacing the boolean flag with a pointer to the handler to which
the processing of this event should be restricted. This allows the full
processing to still take place if an event is forwarded to another handler.
So wxEvent::ShouldProcessHereOnly() is now called ShouldProcessOnlyIn() and
takes a wxEvtHandler parameter.

This made appear a problem in wxScrollHelperEvtHandler code that was hidden by
the bug above: the events were still processed multiple times in it. To fix
this, also add wxEvent::DidntHonourProcessOnlyIn() and take it into account in
the base class code. Did I mention that wxScrollHelperEvtHandler must die?

Add another unit test checking that forwarding works correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-02 11:58:31 +00:00
Jaakko Salli
db3d75435a In wxComboPopupEvtHandler::OnMouseEvent(), when need to relay event to drop-down button, call HandleButtonMouseEvent() directly, if possible. This is less confusing for the platform-specific wxComboCtrl implementations, and fixes issue where the drop-down button could remain in pressed state after the mouse button was lifted.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-01 15:01:59 +00:00
Jaakko Salli
063155781d For clarity: wxComboPopupExtraEventHandler -> wxComboPopupEvtHandler (there is nothing particularly extra about it)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-01 14:17:32 +00:00
Jaakko Salli
4794626d03 Refactored wxComboPopupExtraEventHandler::OnMouseEvent(). Now block mouse events from the popup control until mouse button has been seen in 'up' state (ignoring first mouse up). This matches Windows native combo box behavior (fixes #12115).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-01 13:46:14 +00:00
Vadim Zeitlin
b27367a5bd Don't disable wxID_PRINT_SETUP even when there is no active document.
Printer can be setup without active document, remove the EVT_UPDATE_UI handler
for wxID_PRINT_SETUP.

See #11394.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-31 14:59:08 +00:00
Vadim Zeitlin
7e22c2bd02 Use C locale for numbers in wx(File)Config.
Using the current locale decimal point in config files results in problems
when moving the files to another machine or even using a different locale on
the same one, so don't do it.

Always write the numbers using C locale and try to read them in C locale too
first, but also try the current locale if we failed for backwards
compatibility and to be tolerant with users who edit their config files by
hand.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-31 11:55:53 +00:00
Vadim Zeitlin
951201d81c Add wxString::FromDouble() and FromCDouble().
wxString::FromCDouble() is needed inside wxWidgets itself to format numbers
independently of the current locale. FromDouble() was added for symmetry with
ToDouble/ToCDouble() functions.

Use std::locale for the implementation if available and manual wxLocale-based
fallback otherwise.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-31 11:55:48 +00:00
Vadim Zeitlin
105993f7b6 Make wxString::ToCXXX() methods always available.
We use these methods inside wxWidgets itself and so want to always have them,
even when wxUSE_XLOCALE==0. Provide replacement manual implementations for
this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64448 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-31 11:55:41 +00:00
Vadim Zeitlin
8325504f4b Activate the view of a newly created document.
This appears to be necessary under Mac where views are top level windows and
should do no harm elsewhere.

Also factor out the activation code in a new wxDocManager::ActivateDocument()
method to avoid duplicating it.

Closes #11417.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 20:05:44 +00:00
Vadim Zeitlin
b99017ce20 Store page setup data in wxDocManager.
Printing of documents from wxDocManager always used default page setup data,
allow the user to configure it now.

Add wxDocManager::m_pageSetupDialogData and add a handler for wxID_PRINT_SETUP
command to it.

Closes #11394.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 20:05:39 +00:00
Vadim Zeitlin
6305f044a1 Add "filter changed" event to wxFileCtrl.
Generate an event when the selection in the filter combobox of wxFileCtrl
changes.

Closes #12099.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-29 10:35:47 +00:00
Vadim Zeitlin
384859f8c6 Add wxConfig::Read(float *) overload.
This uses Read(double *) but casts the result to float after checking that it
is in the correct range.

Closes #12100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-29 10:35:38 +00:00
Jaakko Salli
eb7117d978 In wxComboPopupExtraEventHandler::OnMouseEvent(): Also include wxEVT_LEFT_UP among the mouse events to be blocked when the cursor is outside the popup area. This fixes wxMSW bug where the popup disappears immediately after mouse button is released (see #12087).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-27 20:03:07 +00:00
Jaakko Salli
735a300a96 Fixed wxComboCtrl::SetButtonPosition() on Vista/Win7 by marking the drop-down button as 'non-standard' when its size or position is changed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64410 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-27 14:51:07 +00:00
Vadim Zeitlin
f27d62bf2f Modify wxBoxSizer minimal size calculations to respect the proportions.
Make wxBoxSizer minimal size big enough to not only give each item enough
space to satisfy its minimal size but also to respect the proportions among
the items by default.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-22 14:57:34 +00:00
Robert Roebling
65887bd0f1 Second try to get wxDataViewChoiceByIndex and its name right, hopefully fixes #11970: wxDataViewChoiceRenderer set/get methods should use the current selection
index not a string

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 20:13:49 +00:00
Robert Roebling
559c42a5b2 Make GetIndexOf() and get_path() work for virtual list models, fixes #12073: wxDataViewCtrl crashes when deleting an item
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-20 18:39:20 +00:00
Vadim Zeitlin
e97cbf8398 No changes, just add a comment.
There is no need to reproduce wxBase64Encode() in wxHTTP code, should just use
the existing function instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-19 12:36:32 +00:00
Robert Roebling
0bddfd416f Don't call super class explicitly so overriding is possible, closes #12025 (wxDataViewVirtualListModel calls super-class' version of certain virtual methods).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64320 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-16 14:44:58 +00:00
Vadim Zeitlin
2954883593 Document wxDocument::DeleteContents().
This method purpose was not quite clear as it was only mentioned in passing in
documentation of OnCloseDocument() but not really documented itself.

Also don't call it from wxDocument dtor as this is useless: the user-defined
overridden version will never be called from here and the base class version
does nothing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-13 14:37:00 +00:00
Jaakko Salli
8371a35340 Added wxGraphicsContext::Create(const wxEnhMetaFileDC& dc) so that wxPrintPreview can work with wxMSW's wxGraphicsContext (closes #12028)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64297 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-13 08:22:36 +00:00
Vadim Zeitlin
c48bdb0c28 Refactor wxDocParentFrame and wxDocMDIParentFrame to share common base class.
Use the same approach as for the child frames: add a base template class which
allows wxDocParentFrame to inherit from wxFrame and wxDocMDIParentFrame from
wxMDIParentFrame while still allowing to reuse the common code.

This reduces code duplication and should make implementing parent AUI document
frame easier as well, see #8945.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-12 14:34:18 +00:00
Jouk Jansen
4290ae6a1c Update OpenVMS comiles support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-11 10:40:47 +00:00
Vadim Zeitlin
512220b67b Replace public wxEvtHandler::ProcessEventHere() with private TryHere().
ProcessEventHere() doesn't have to be public any more now that we have
ProcessEventLocally() which is safe to call from the outside (i.e. doesn't
forget about the chained event handlers and validators).

Still keep this function because it makes the code more modular and also
because we might want to make it virtual for consistency with TryBefore() and
TryAfter() later. Also rename it to TryHere() to make the symmetry with these
functions more manifest.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:46 +00:00
Vadim Zeitlin
44070fd379 Use ProcessEventLocally() instead of ProcessEventHere() in docview code.
Use wxEvtHandler::ProcessEventLocally() instead of ProcessEventHere() when
forwarding events in the docview code. This ensures that any event handlers
chained with the objects involved (document manager, document, view) will be
used.

Incidentally the old code didn't work at all as ProcessEventHere() didn't even
call TryBefore() where the (further) forwarding was implemented.

Closes #10640.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64263 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:41 +00:00
Vadim Zeitlin
3cbb9df817 Refactor the event processing code to add ProcessEventLocally().
This new method can be used to only process the event in this handler or any
handlers connected to it (unlike ProcessEventHere() which doesn't follow the
chain at all), without propagating the event upwards (unlike ProcessEvent()).

Unfortunately implementing this required a field to wxEvent but there doesn't
seem to be any other way to do what we need.

There should be no user-visible changes after this commit, it just paves the
way for the upcoming fixes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:28 +00:00
Vadim Zeitlin
255ea4a702 Call wxEvtHandler::TryBefore() only once from ProcessEvent().
The event pre-processing hooks associated with the window should be called
only once during the event processing, we don't need to call TryBefore() for
each and every event handler associated with the window too.

This makes the code slightly simpler and faster and shouldn't change the
behaviour of any existing code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64260 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:21 +00:00
Václav Slavík
0c51948f7d Whitelist wxID_NONE as valid menu item ID.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 10:27:40 +00:00
Václav Slavík
35a4807534 Fixed a test in wxTranslations::GetString() to use UINT_MAX instead of -1.
See #12031.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-08 15:31:07 +00:00
Vadim Zeitlin
1544ba0edc Fix crash in wxCommandProcessor of capacity N when N-1 commands were undone.
Performing N commands (where N is the maximal number of commands stored by
wxCommandProcessor), undoing N-1 of them and performing another command
resulted in a crash because a dangling pointer was left.

Closes #12027.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-07 23:38:31 +00:00
Vadim Zeitlin
a104022931 Fix assert during separator items creation introduced by r64226.
Add separators with correct kind, setting m_kind doesn't work any more because
it's overwritten below.

Also add a comment explaining why is overriding the user-specified kind the
right thing to do here.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-07 23:38:26 +00:00
Václav Slavík
690ddfec6e Integrate with GNOME's Recent Documents menu.
GTK+ provides GtkRecentManager for this purpose since 2.10. Use it in
wxFileHistory if available. Integration is simple, we just add a file to
GtkRecentManager in addition to normal wxFileHistory handling.

A well-behaved GNOME application would use GtkRecentManager as the
primary store for recent files, so that it reflects when the user works
with supported files in another editor(s) too. But for now, this is much
better than no support at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-07 06:45:48 +00:00
Vadim Zeitlin
d93b98740c Check that menu ids are limited to MSW-supported range.
We already check that positive (i.e. specified by user and not generated by
wx) window ids are in 0..SHRT_MAX range. Now do the same for the menu ids as
ids outside of this range suffer from the same problem under MSW: they get
wrapped and become negative when we receive events for them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-06 12:40:18 +00:00
Vadim Zeitlin
bcd286534a Added wxLANGUAGE_BOSNIAN.
Closes #12016.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-06 12:40:11 +00:00
Václav Slavík
611bed3511 Refactor wxTranslationsLoader API.
Instead of calling back into wxTranslations to actually load the data,
return wxMsgCatalog instance from
wxTranslationsLoader::LoadCatalog(). This requires making wxMsgCatalog
public.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-06 12:12:53 +00:00