Commit Graph

28386 Commits

Author SHA1 Message Date
Vadim Zeitlin
aa0af8ce54 Document and improve system options definition in the environment.
Document that system options can be defined in the environment.

Replace another character (dash) invalid in environment variable names but
present in some standard system option names with underscore.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 17:43:15 +00:00
Vadim Zeitlin
e90c93b605 Use wxFont::Bold() in wxGenericTreeCtrl instead of wrongly duplicating it.
Creating a new wxFont from the components of the existing one doesn't always
work because we may not have a valid value for the old font family so attempt
to use it as a family of the new font results in an assert.

Just use wxFont::Bold() instead to avoid the problem. It's much shorter and
obviously correct and doesn't result in asserts.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64649 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 17:43:06 +00:00
Vadim Zeitlin
aaaa607018 Use PBM_SETMARQUEE to implement indeterminate mode in wxMSW wxGauge.
The old code which simply used PBM_SETPOS after setting PBS_MARQUEE style
often worked but sometimes apparently didn't, so switch to the officially
sanctioned PBM_SETMARQUEE to implement this.

Also make wxGauge::SetDeterminateMode() and SetIndeterminateMode() methods
private as they are not part of the public class API.

Closes #11357.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 17:43:02 +00:00
Vadim Zeitlin
f074df3446 Don't enable scrollbar if it can't do anything in wxMSW.
Only reenable scrollbar in wxWindow::SetScrollbar() in wxMSW if its range is
large enough to allow scrolling it.

Closes #11373.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 17:42:56 +00:00
Vadim Zeitlin
0033b1dfba Use wxTE_RICH2 for in-place wxGrid text editor control.
This works around a bug with the plain text edit control under MSW which seems
to totally lose its caret when we hide it and show it again for another cell.

This is not a proper fix for the problem, of course, but at least it does
allow to edit wxGrid cells in the meanwhile.

Closes #11681.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 17:42:52 +00:00
Stefan Csomor
885d927e36 no trailing slash for OSX_CARBON
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 14:53:34 +00:00
Stefan Csomor
8478eff5b4 no trailing slash for OSX_CARBON
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 14:49:40 +00:00
Stefan Csomor
088a36424c no trailing slash for OSX_CARBON
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 14:46:44 +00:00
Vadim Zeitlin
02f35bffeb Ensure that wxFileName::GetTempDir() doesn't return trailing slashes.
Sanitize the value returned by GetTempDir() to ensure that it doesn't have any
trailing path separators. This happened at least under OS X where standard
TMPDIR has a trailing slash and was inconsistent with the behaviour under the
other platforms.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 11:46:49 +00:00
Francesco Montorsi
d38315df30 Remove identic implementations of wxDir::Exists from platform-specific files and put it in dircmn.cpp (they all used wxDirExists).
Add wxDir::Make() and wxDir::Remove() for coherency with wxDir::Exists() and document them as simple aliases to wxFileName functions, just a bit more readable.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-19 11:07:16 +00:00
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
427861bde0 Fix scrolling to the bottom in wxTextCtrl::AppendText().
The old code used EM_LINESCROLL which could scroll too far if the caret wasn't
in the first line of the control. Instead of trying to compute the correct
number of the lines to scroll, just use WM_VSCROLL with SB_BOTTOM parameter
instead.

Closes #12123.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-12 21:26:41 +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
12cc077e68 Avoid sending spurious socket read notifications in wxMSW.
If a read notification is generated for a socket, it should be possible to
read something from it without blocking but this doesn't seem to be always the
case under MSW for some reason. And this results in all sorts of problems in
wxSocket and wxIPC code, so check for this at wxSocketImpl level and not send
the notification at all if there is no data to read.

See #11528.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-12 11:28:15 +00:00
Jaakko Salli
bb9da4d3ca For wxTextCtrl editor, set the bold font before margins are set up or it will not work properly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-12 10:31:24 +00:00
Jaakko Salli
372d0bdd67 Keyboard handling was blocked by label editor. Also try to maintain label editor focus state when navigating between properties.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-12 09:47:25 +00:00
Jaakko Salli
8d2c70414c Added wxPropertyGrid::DedicateKey(), which prevents specific key presses from being eaten by editor controls. This is useful for customizing keyboard navigation. Also added utility function wxPGFindInVector<>(), which is used in the new code, and also in some other places.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-12 09:30:57 +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
Robert Roebling
f6cb92b81f Implemented wxDataViewColumn for wxOSX/Cocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64552 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-10 12:43:09 +00:00
Robert Roebling
5d9e160561 Make wxDataViewCtrl::GetColumnPosition() return the index under MSW as per GTK and the docs (fixes #12129), give immediate visual feedback after calling e.g. wxDataViewColumn::SetHidden(true) under MSW, also per GTK+ and as I'd expect. Make GTK+ control emit header click events also for non-reorderable columns. Add a few tests for wxDataViewColumn::SetHidden() and wxDataViewCtrl::GetColumnPosition()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-10 11:47:18 +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
6f32f3cea2 fix bug in wxGDIPlusMatrixData::Rotate: it must take radians for coherency with docs and other ports but GDI+ wants degrees.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-09 17:58:13 +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
7e2003703c Don't use -kAddToPopUp() gettext hack with Scintilla.
Instead, create a dummy file containing the user-visible strings defined in
Scintilla sources. For now it's manually managed but it might make sense to
automatically generate it in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-09 11:13:20 +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
Julian Smart
519884a03d GetStyleMergedWithBase no longer hangs if there's a loop implied by based-on styles.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-07 07:39:31 +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
Vadim Zeitlin
d636e0437c Fix compilation errors in wxGTK wxDataViewCtrl in ANSI mode.
wxGTK_CONV() macro can only be used in classes which have m_font member,
otherwise the font needs to be specified explicitly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-06 12:41:43 +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
c07b0669cf Don't send selection events for an already selected item in wxMSW wxListBox.
Remember the last item for which a listbox notification event had been sent
and don't send it again if the user clicks on an already selected item. This
is consistent with wxGTK behaviour and generally makes more sense: why should
we send an event if the selection didn't really change?

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-05 22:58:13 +00:00
Vadim Zeitlin
f186bd4d40 Don't send listbox selection events when mouse wasn't clicked on an item.
Windows sends events even if the mouse is clicked in the area below the items,
filter them out by checking the item under the mouse ourselves.

Also use synchronous GetMessagePos() function to get the mouse position
instead of the asynchronous GetCursorPos() which was wrongly used by the old
code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-05 22:58:09 +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
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
Francesco Montorsi
18c0369bcd no real change: just rename "near" into "onNearPart" (MSVC doesn't like 'near' as variable name)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-03 21:14:34 +00:00
Jaakko Salli
ce5f620a12 Greatly reduce rare animation garbage in wxOwnerDrawnComboBox drop-down animation (fixes #12087)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-03 15:16:25 +00:00
Vadim Zeitlin
7c3310596e Drop the column being dragged at the correct position in wxGrid.
The column was being always dropped after the column at drop position but this
was incorrect and didn't correspond to the visual feedback drawn by
wxHeaderCtrl: if the drop position is over the "near" part of the column, the
column should be dropped before it instead.

Do the check for this in wxGrid code too now.

Closes #12120.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-03 10:35:53 +00:00
Vadim Zeitlin
1b46c6697f Test for wxPen validity before testing for its style in wxGTK wxDC.
Calling wxPen::GetStyle() on an invalid pen resulted in an assert, breaking
the grid column drawing while reordering them, for example, because the code
in wxGrid uses wxDC::DrawRectangle() after calling SetPen(wxNullPen).

Fix this by testing for the pen validity first.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-03 10:35:49 +00:00
Vadim Zeitlin
e612dec202 Assert if an invalid column index is specified when inserting wxListCtrl item.
This also catches the case of inserting an item in a report mode wxListCtrl
without adding any columns to it first. Previously this did result in an
assert but with a less clear error message and, most importantly, still a
crash afterwards. Assert only now, don't crash.

The message could still be improved but hopefully people will be able to
understand that inserting items when no columns are defined is not the right
thing to do.

Closes #12119.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-03 10:35:41 +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
Vadim Zeitlin
ce6b1014bf Fix drawing of scaled bitmaps in wxCairoContext.
We must offset the coordinate system before scaling it, otherwise incorrect
offset is used.

Add a test for drawing translated/scaled bitmaps to the drawing sample.

See #11097.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-02 11:58:25 +00:00
Vadim Zeitlin
80d7019761 Remove unused GetTextExtent() call from wxProgressDialog.
This seems to be a left-over from the old, manual positioning code. As we use
sizers now, it's not needed any more.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-02 11:58:16 +00:00
Jaakko Salli
87b3708781 Interpret arrow keys correctly in wxMSW wxComboCtrl::IsKeyPopupToggle() (fixes #12114)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-01 15:31:05 +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