Commit Graph

55954 Commits

Author SHA1 Message Date
Vadim Zeitlin
9fa99f045e Improve wxAuiNotebook appearance when using some GTK themes.
Let wxAuiNotebook render the border itself, instead of doing it in dock art
class. This allows the notebook to do it correctly for the current theme.

Closes #14710.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-08 12:09:13 +00:00
Vadim Zeitlin
1bcef6701b Ensure that key events are sent to focused window first in wxGTK.
Start processing key events from the currently focused window, this ensures
that its key event handlers are tried before the top level window
accelerators.

This is consistent with wxMSW and allows a window to locally override the
global accelerators which really makes sense.

Closes #14553.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:42:50 +00:00
Vadim Zeitlin
d34d31f6d6 Implement incremental search in wxGenericListCtrl.
Mostly copy wxGenericTreeCtrl incremental search implementation to
wxGenericListCtrl (unfortunately there is no simple way to reuse this code
currently), including the recently added EnableBellOnNoMatch() method.

Update the sample to test it, the key event handling in it had to be modified
to allow it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:42:27 +00:00
Vadim Zeitlin
27bc919446 Add a possibility to beep on no match to wxGenericTreeCtrl.
For consistency with Windows, allow to optionally generate a beep when
incremental search in the tree control doesn't find anything.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:42:02 +00:00
Vadim Zeitlin
e0dec8753a Fix return value of wxGenericTreeCtrl::FindItem().
We incorrectly returned the item we started from instead of invalid item if
there was no match, fix this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:41:38 +00:00
Vadim Zeitlin
4d1cf9f3d3 Handle successive key presses better in wxGenericTreeCtrl search code.
Go to the next item starting with the given character if the same one is
pressed multiple times. This is more useful than searching for an item
starting with multiple occurrences of this character (which usually won't
exist) and is more consistent with how Windows handles this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:41:15 +00:00
Vadim Zeitlin
a4e4e66dd6 Recognize "_" as alphanumeric key in wxGenericTreeCtrl find item code.
Items can have underscores in their names too, not just letters and digits.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:40:52 +00:00
Vadim Zeitlin
15ec266ae3 Fix spurious label editing in generic wx{List,Tree,DataView}Ctrl.
Clicking on the control to give it focus must not start editing the label of
an item in it, this is bad UI as you need to carefully select where do you
click to avoid starting to edit the label and nobody else does it like this
(probably because of the former reason).

As a side note, it would be really great to abstract the item handling in a
class that could be reused by all these controls instead of having to update 3
slightly different versions of the same code every time.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:40:29 +00:00
Vadim Zeitlin
e55e1a5fda Don't set focus explicitly in wxGenericListCtrl mouse handling code.
Just skip the event to allow the system to set the focus to the control
itself. This is more consistent with the other controls and should result in
correct behaviour everywhere automatically.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:40:06 +00:00
Vadim Zeitlin
6ceda4f536 Don't set focus to generic wxDataViewCtrl on any button press.
Only set focus if the left button was pressed for consistency with just about
everything else. Also, just skip the event instead of setting the focus
explicitly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:39:43 +00:00
Vadim Zeitlin
3ee9771b36 No real changes, just don't use brush styles for background mode in wxHTML.
Use just wxTRANSPARENT and wxSOLID instead of wxBRUSHSTYLE_TRANSPARENT and
wxBRUSHSTYLE_SOLID when changing the background mode.

See #14599.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:39:20 +00:00
Vadim Zeitlin
0d7acfb995 Support some CSS styles for the links in wxHTML too.
Refactor limited CSS styles support for <span> tag to reuse it for <a> tag as
well.

Closes #14599.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:38:56 +00:00
Vadim Zeitlin
bca27719fe Flush log messages from other threads on shutdown too.
Add a call to wxLog::FlushActive() to the shutdown code as calling just
wxLog::SetActiveTarget(NULL) is not enough, it flushes the current log target
only but not the ones used by other threads.

Closes #14595.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:38:32 +00:00
Vadim Zeitlin
8a0968b0be Update the year in the copyright for wxMSW DLLs.
Just s/2010/2012/

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:38:10 +00:00
Vadim Zeitlin
c072e264e6 Fix drawing of wxAuiNotebook with GTK theme when active tab is invisible.
Draw a box using gtk_paint_box() for the tabs, without border for the active
one to avoid an extra line across the gap, and with the border for the others.

Closes #14728.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:37:47 +00:00
Vadim Zeitlin
4c6fdc3503 Fix test for __WXGTK__ in wxCairoContext.
It must be tested with #ifdef, not #if.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:37:24 +00:00
Václav Slavík
47c82b4b9c Fix wxGenericCollapsiblePane to expand frame's size.
wxGenericCollapsiblePane::DoGetBestSize() is dynamic, returning
different values for collapsed and open states. Therefore the control
must invalidate best sizes cache every time its state changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 16:49:28 +00:00
Vadim Zeitlin
2119b213e3 Add support for wxALWAYS_SHOW_SB style to wxScrolled<>.
Simply call ShowScrollbars(wxSHOW_SB_ALWAYS) if this style is specified.

Closes #13616.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 23:24:28 +00:00
Vadim Zeitlin
0fe2a88852 Document wxHSCROLL and wxVSCROLL styles for wxScrolled<>.
Explain that by default both styles are assumed but that using just one of
them disables the scrolling in the other direction.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 23:24:05 +00:00
Vadim Zeitlin
94f39d8181 Add a setting for the disabled text colour to wxRibbon art.
Allow specifying the text for the labels of the disabled items separately.

Closes #14721.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 23:23:41 +00:00
Vadim Zeitlin
893d540e53 Add a more convenient wxColour::MakeDisabled() overload.
Allow creating a disabled version of the colour without having to manually
break it into RGB components and then recreating it from them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72618 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 23:23:18 +00:00
Vadim Zeitlin
9eae14d7bb Remove unneeded variable initializations in wxPM code.
Closes #14724.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 22:49:30 +00:00
Vadim Zeitlin
f4370376b6 Fix bugs in the recently added wxDateTime::DiffAsDateSpan().
Correct the test for negative spans less than a month and use the correct
month for computing the number of days in it.

Also add unit tests for problematic cases.

Closes #14704.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 22:48:30 +00:00
Vadim Zeitlin
16630eb7e3 Add wxDateSpan::GetTotalMonths() method.
This is similar to the existing GetTotalDays() and counts both months and
years.

See #14704.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 22:48:07 +00:00
Vadim Zeitlin
06a086e8d2 Fix fatal bug in the recently added wxFile::ReadAll().
Make sure we exit the loop when reading the file in chunks in
wxFile::ReadAll() and add a unit test for it to ensure that it's really
correct.

Closes #14725.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 22:47:44 +00:00
Paul Cornett
825417a419 non-pch build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 16:08:30 +00:00
Paul Cornett
975c496df1 remove always-true comparison of unsigned value >= 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 15:58:11 +00:00
Paul Cornett
7d1214cd72 silence warnings about shadowed variables with GCC -Wshadow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 15:55:06 +00:00
Vadim Zeitlin
f821bc3617 Do use IsEscapeKey() in wxDialog escape key handling.
This method was added back in r40686 but was never actually used anywhere. Do
use it in wxDialogBase::OnCharHook() now instead of hard-coding the check for
WXK_ESCAPE, this should allow using Cmd+. to work like Escape under Mac which
was apparently the intention of the code in src/osx/dialog_osx.cpp.

Also fix IsEscapeKey() itself to ignore any modifiers as at least under MSW
Esc always closes the dialog, even if Shift or Alt is pressed.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-03 08:32:49 +00:00
Vadim Zeitlin
b785d15d50 Add missing header to fix MiscGUIFuncsTestCase compilation.
Need full wxPanel declaration here now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-03 07:58:56 +00:00
Vadim Zeitlin
92c9a59d7a Fix wxFindWindowAtPoint() unit test to pass under GTK.
We need to ensure that all windows are realized before querying their
positions on screen, so add an extra wxYield().

Also adjust the tests slightly as the windows are now all created in the
beginning of the function.

Finally, use Destroy() instead of wxDELETE() for windows.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-03 00:16:53 +00:00
Vadim Zeitlin
44040e5eca Added a simple unit test for wxWindow::ClientToScreen().
Check that this function works consistently for the TLW and its children and
grand-children.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-03 00:16:30 +00:00
Vadim Zeitlin
ab45fb147b Avoid creating children of wxButton in MiscGUIFuncsTestCase.
This doesn't work in wxGTK, use a normal wxWindow instead of wxButton in this
case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-03 00:16:07 +00:00
Paul Cornett
84f623f883 remove some unnecessary casts
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-02 16:19:33 +00:00
Paul Cornett
95dc31e001 make more Init() functions private
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72604 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-02 15:57:03 +00:00
Vadim Zeitlin
f33a5bc61c Fix assert about passing long as "%d" in wxXRC code.
Closes #14718.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-01 10:47:24 +00:00
Vadim Zeitlin
bdc43642fb No changes, just remove some unneeded variables initializations.
Closes #14716, #14717.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-01 09:55:50 +00:00
Vadim Zeitlin
91ad3a26e3 Test for wxAuiMDIClientWindow being non-NULL before using it.
wxAuiMDIParentFrame::GetActiveChild() may be called before the client window
is created, don't crash in this case but just return NULL.

Closes #14684.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-01 09:55:27 +00:00
Vadim Zeitlin
77dd7daad2 Add wxDateTime::DiffAsDateSpan().
This method returns the difference between the dates as wxDateSpan, unlike the
existing Subtract() and overloaded operator-() that return wxTimeSpan.

Closes #14704.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-01 09:55:05 +00:00
Vadim Zeitlin
1f4bb1d7f2 Fix PCH-less build after the changes of r72589.
Use wx{SOLID,TRANSPARENT} instead of wxBRUSHSTYLE_{SOLID,TRANSPARENT}. This
makes more sense as we're setting background mode, not brush style, here and
also fixed compilation when not using PCH.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-01 09:40:06 +00:00
Vadim Zeitlin
e6aed765fc Read and write files using binary mode in wxStyledTextCtrl.
Use binary mode to preserve the original file EOLs when loading it and also to
save it with the same EOLs later.

Add very primitive EOL auto-detection to LoadFile().

Also add SaveFile()/LoadFile() which were missing in !wxUSE_TEXTCTRL case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 22:28:53 +00:00
Vadim Zeitlin
3bc69d48db Small optimization of wxFFile::ReadAll(): avoid extra string copy.
Use swap() to move the newly created string into its destination instead of
copying it there. This can be relatively important as the string represents an
entire file contents here and so could be quite long.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 22:28:31 +00:00
Vadim Zeitlin
614108e211 Added wxFile::ReadAll() for consistency with wxFFile::ReadAll().
Make it possible to use wxFFile and wxFile interchangeably for simply reading
the entire contents of the file as a string.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 22:28:08 +00:00
Vadim Zeitlin
ce364c4ecd Reimplement wxTextEntry::DoSetValue() in wxStyledTextCtrl.
The version inherited from the base class does work already but calling
Scintilla SetText() directly should be more efficient than selecting
everything and then calling ReplaceSelection() as the base class version does,
less code is executed.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 22:27:44 +00:00
Vadim Zeitlin
933be2dc39 Fix wxStyledTextCtrl::WriteText() to replace the selection.
WriteText() must replace the selection, not just insert the new text,
otherwise SetValue() implementation inherited from the base class doesn't work
as it doesn't clear the old contents of the control before adding new text to
it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 22:27:21 +00:00
Vadim Zeitlin
0015757fec Don't call ClearAll() before LoadFile() in the stc sample.
There is no need to clear the control contents before loading a file into it
because LoadFile() is supposed to do this on its own (although currently it
doesn't, which will be fixed soon).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 22:26:58 +00:00
Vadim Zeitlin
1d178139b2 Make stc sample startup faster.
Don't show "About" dialog on startup, this has nothing to do with the purpose
of this sample and is just annoying.

Also, don't select the entire file after opening it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 22:26:36 +00:00
Vadim Zeitlin
294a09aa8c Add per-direction wxSocket wait flags and byte counters.
Allow to specify whether the socket should block until all the data is read or
written or, on the contrary, avoid blocking only when reading or writing
instead of always using the same behaviour in both directions.

Also add separate counters for the bytes read/written instead of using the
same one for both.

These changes make it possible to use the same socket for reading/writing in
different threads.

Closes #14506.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 22:21:44 +00:00
Vadim Zeitlin
be4162218d Don't crash in generic wxDataViewCtrl if it doesn't have any model.
A model may be dissociated from a still existing control, don't crash if it
happens (notice that we still would crash in the native GTK version right now,
so this still remains to be fixed there).

See #14616.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 22:21:20 +00:00
Vadim Zeitlin
f5413b878c Add support for background-color style to span element in wxHTML.
Add code for setting/restoring background mode and use it to implement support
for changing the text background colour.

Closes #14443.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 22:20:58 +00:00