Commit Graph

4749 Commits

Author SHA1 Message Date
Vadim Zeitlin
9618496b6a Don't use gtk_file_chooser_set_filename() for save file dialogs.
This seems to be broken in old GTK+ versions, so use
gtk_file_chooser_set_current_name() and gtk_file_chooser_set_current_folder()
for save file dialogs which seem to work in all versions.

Closes #15133.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73932 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-05 16:17:50 +00:00
Vadim Zeitlin
ee05c45dff Consistently set wxMenuBar parent in all ports.
Previously, wxGTK used the associated frame as wxMenuBar parent, while the
other ports did not. Do set the frame as menu bar parent in all ports now.

Of course, considering that wxMenuBar is not a window at all, this doesn't
necessarily make much sense, but at least it makes the behaviour consistent.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-04 23:59:37 +00:00
Vadim Zeitlin
b960795ea8 Add wxFontInfo class to allow using named parameters for wxFont creation.
This helper class allows to create wxFonts using shorter and more readable
code, e.g.

	wxFont font(12, wxFONTFLAG_DEFAULT,
		    wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, true,
		    "DejaVu Sans");

can now be written simply as

	wxFont font(wxFontInfo(12).FaceName("DejaVu Sans").Underlined());

Remove the ctor from font flags added in r70445 as it's not needed any longer
now that we have this one and adding it resulted in compilation errors in the
existing code which compiled with 2.8 because of ambiguities between that ctor
and wxFont(int size, int family, int style, int weight. bool underlined, ...)
one, e.g.

	wxFont(12, wxFONTFAMILY_SWISS, wxNORMAL, wxNORMAL)

didn't compile any more but it does compile again now.

See #9907.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-30 10:27:38 +00:00
Vadim Zeitlin
3bc1418b81 Fix wxEVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK event type name.
Fix incorrect conflict resolution between the changes of r73823 and r73850:
the first renamed wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICKED to
wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK while the latter renamed it
to wxEVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICKED. The proper new name is
wxEVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK, use it instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 11:56:55 +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
2b76114b61 Don't use GetStandardCmdLineOptions() under non-Unix platforms.
The GTK+ standard options are only available under Unix.

Closes #15131.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-01 23:59:37 +00:00
Vadim Zeitlin
00a399c062 Remove wxTextCtrl::OnEnabled() hack from wxGTK.
Don't change the background colour when the control is being enabled or
disabled, it doesn't seem necessary and it's unclear why was this added by
r10179 in the first place. It does result in problems however as it could
somehow make the selection of wxTextCtrl invisible when it lost focus and so
fixes a serious usability problem which happened to all wxTextCtrls for which
a wxEVT_UPDATE_UI handler using wxUpdateUIEvent::Enable() was defined.

Closes #14898.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-31 01:12:21 +00:00
Vadim Zeitlin
6150a29606 Fix program not shutting down when using Ubuntu app menu.
Ensure that an idle event is generated after a menu event even when the latter
comes, via DBUS, from the out of process app menu and not from a real GTK menu.

Closes #15122.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-29 19:53:26 +00:00
Paul Cornett
2a875213d3 fix GTK3 build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-22 17:03:12 +00:00
Vadim Zeitlin
b2c357747d Add IM and full wxEVT_CHAR support to wxTextCtrl and wxComboBox in wxGTK.
Generate wxEVT_CHAR events for non-ASCII characters entered in these controls
by intercepting their insert-text signal.

Also try to use GtkEntry/GtkTextView internal IM objects but unsuccessfully so
far.

Closes #3158.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-21 22:37:09 +00:00
Vadim Zeitlin
afa9873106 Refactor wxGTK IM-related code to allow future modifications.
No real changes, just make it possible to use a different IM than the one
allocated in wxWindow for input handling. This will be used in the upcoming
changes to wxTextEntry and the related classes.

See #3158.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-21 22:37:01 +00:00
Vadim Zeitlin
819638a71f Tweak wxGTK keyboard handling to allow accelerators to work again.
Accelerators were broken by the changes of r72640 which were done to ensure
that the focused window gets the keyboard event first, before its top level
parent. Fix them now by still passing the events to the focused window first
but also passing them to the parent top level if it hasn't been handled by the
focused child.

Unfortunately this is still not fully compatible with wxMSW because in wxGTK
wxEVT_CHAR handler must skip the event in order to allow the accelerator using
the same key to work, while in wxMSW the accelerator can only be suppressed by
overriding wxWindow::MSWShouldPreProcessMessage(). We will need to make the
two ports behave in the same way when the event is not skipped in the future.

But for now, at least make them both behave correctly when the handler does
skip the event.

Closes #14553.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-21 22:36:57 +00:00
Vadim Zeitlin
3c2f3a60d1 Disable Unity global menu while native modal dialogs are shown in wxGTK.
We need to use wxOpenModalDialogLocker even with native GTK+ dialogs to
prevent the menu commands from being available while they're shown, so do it
in wxMessageDialog and wxColourDialog which call gtk_dialog_run().

Closes #14823.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-21 22:36:46 +00:00
Vadim Zeitlin
d3bd8b1a48 Create a small helper class for Unity global menu bug workaround.
Encapsulate the code temporarily incrementing wxOpenModalDialogsCount in a
small helper class to make it easier to reuse it elsewhere.

See #14823.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-21 22:36:42 +00:00
Vadim Zeitlin
c92374f0a2 Fix crash when drawing bitmaps with mask in wxGTK with GTK+ < 2.20.
r73386 introduced a crash in wxGTK drawing code when using old GTK+ versions
by releasing the mask pixmap prematurely. Apparently GTK+ itself was fixed at
some time in 2.19.x time frame but work around the bug for the sake of older
GTK+ versions in wxGTK itself by simply releasing the pixmap at the end of
DoDrawBitmap(), as pre-r73386 code did.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-21 14:32:04 +00:00
Vadim Zeitlin
bdffa92004 Don't connect to the same signal multiple times in wxGTK wxClipboard.
We called g_signal_connect("selection_get") in wxClipboard code each time its
AddData() method was called. This resulted in progressive but noticeable
slowdown as the handler was called more and more times.

Only connect to the handler once now.

Closes #15038.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-15 12:40:13 +00:00
Julian Smart
8f48176bbf Invalid conversion compile error fix (GTK+ 2.12.9)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-04 13:54:17 +00:00
Steve Lamerton
236cff7334 Rename all WEB_VIEW* style identifiers to WEBVIEW*.
This makes wxWebView consistent with the rest of the toolkit. 

Closes #15013

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73453 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-01 09:38:53 +00:00
Vadim Zeitlin
0444602e46 Derive wxCheckListBox from wxCheckListBoxBase in wxGTK.
This ensures that any methods defined in wxCheckListBoxBase will be available
in wxGTK wxCheckListBox too.

See #14969.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-21 11:18:50 +00:00
Paul Cornett
feabb2ebeb no real changes, just move wxMask::GetBitmap() to wxMask section
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73410 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 06:38:43 +00:00
Paul Cornett
5ca21fe7bf add wxMask::GetBitmap(), closes #9381
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 06:28:11 +00:00
Paul Cornett
d4ca3c5d8d draw monochrome source directly onto destination when it is also monochrome
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 02:04:57 +00:00
Paul Cornett
eb6ee8ab39 make some reference handling a little more direct and less obscure
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73386 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 01:46:50 +00:00
Paul Cornett
4787c92d39 use const arrays for wxDC array parameters, closes #10712
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-18 17:27:51 +00:00
Paul Cornett
dddda0eb88 add support for GtkFontChooserDialog, new in GTK 3.2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73373 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-15 05:55:15 +00:00
Vadim Zeitlin
0ecd03525b Fix wrong return value in the changes of r73365.
Really fix menus under Unity.

Closes #14961.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-13 15:28:25 +00:00
Vadim Zeitlin
bee8e2b1f0 Fix compilation without PCH after r73365.
Need to explicitly include wx/dialog.h to use wxDynamicCast to wxDialog.

See #14961.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73367 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-12 12:03:37 +00:00
Vadim Zeitlin
68a335b43b Relax Unity menu interdiction hack to allow popup menus in modal dialogs.
The changes of r73007 fixed the problem with menus remaining active while a
modal dialog was shown (see #14823) but also disabled processing of the events
from any popup menus shown by the dialog itself. Reallow the latter while
still forbidding the former now by checking whether the window associated with
the menu is the dialog itself.

Closes #14961.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-12 03:09:06 +00:00
Paul Cornett
4116bc7edd call GTKApplyWidgetStyle() from PostCreation() instead of GTKHandleRealized()
it's a better place to catch font or color changes made before creation

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-10 07:17:01 +00:00
Paul Cornett
92ef38ee6b allow setting window font and bg/fg color before creation
wxMSW and wxOSX don't have a problem with it, so neither should wxGTK

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73360 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-10 06:53:14 +00:00
Paul Cornett
b387025d5d simplify code setting backing pixmap
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-10 06:28:18 +00:00
Paul Cornett
2a9332ae2c gtk_assert_dialog_set_message() was unintentionally excluded in r73163
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-03 16:43:40 +00:00
Jouk Jansen
3a0c6eff1b gtk_assert_dialog_set_message is only defined if wxUSE_STACKWALKER is set
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-03 15:19:01 +00:00
Paul Cornett
89e5d5bbc4 use gtk_file_chooser_set_show_hidden() now that GTK 2.6 is required
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-03 06:09:43 +00:00
Paul Cornett
ddb19489c0 remove ancient SetModal(), it was deprecated long ago and is not present in wxMSW or wxOSX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73334 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-03 05:09:20 +00:00
Steve Lamerton
c420d57be0 Add context menu enabling and disabling to wxWebView, all backends supported.
Closes #14789.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-31 13:21:21 +00:00
Paul Cornett
4011652414 reference count the GtkMenuItem in wxMenuItem as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73311 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-29 07:07:29 +00:00
Paul Cornett
f1a3ae7dc9 m_menubar does not need to be public for hildon, it's the same as m_widget in that case
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-29 06:21:01 +00:00
Paul Cornett
9166fbf48a Use gtk_menu_item_remove_submenu() with GTK2
because gtk_menu_item_set_submenu() with NULL menu argument does not work
before GTK 2.12 and there is no need to avoid calling it on later GTK2 versions


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-28 16:56:01 +00:00
Paul Cornett
234aeaafa3 Use proper reference counting on GtkMenuItem that we keep a pointer to
Fixes crash that occurs with Ubuntu libdbusmenu
See #14292


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-27 05:59:23 +00:00
Paul Cornett
4d854e1536 Better fix for avoiding warnings from Ubuntu libdbusmenu
Previous workaround from r71648, modified in r72560, broke MDI child menu handling
See #14292


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-27 05:28:32 +00:00
Paul Cornett
76274efd34 revert r73185, it should no longer be needed after r73231
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-21 05:45:02 +00:00
Paul Cornett
b0d053c1ea Use client size determined by size-allocate when possible
Our client size calculation can be wrong for reasons beyond our control,
notably on Ubuntu 12.04 with overlay scrollbars where the GtkScrolledWindow
"scrollbar-spacing" is wrong. By using the true size from size-allocate
when it becomes available, we can recover from an earlier incorrect client
size calculation. See #14871


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-20 18:46:58 +00:00
Paul Cornett
4ea2d0d573 Fix for toolbars and menus not being disabled on Ubuntu
Ubuntu overlay scrollbar changes the GtkWindowGroup for its toplevel, which is
disastrous for modal windows. Put in a hack to detect and undo this.
Fixes #14855


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-16 07:14:40 +00:00
Paul Cornett
cbe6a493b6 compute scrollbar spacing the same way GtkScrolledWindow does it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-14 06:29:54 +00:00
Paul Cornett
ffc28384ca Get DC size from GDK window if possible, client size can unfortunately be wrong
This should fix wxDC::Clear() not clearing the whole window on Ubuntu 12.04 with overlay scrollbars
see #14871


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-14 06:25:00 +00:00
Paul Cornett
2c64b066ea decrease number of skipped frames in assert dialog backtrace, 7 is not the minimum, closes #14690
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-13 04:41:52 +00:00
Paul Cornett
faad53d187 use correct signature for callback
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-11 06:43:19 +00:00
Paul Cornett
26ec6be735 make local functions static
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-11 06:37:14 +00:00
Paul Cornett
3eabbbcc5d add wrappers to avoid compiling code which will never be used
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-11 06:31:23 +00:00