Commit Graph

112 Commits

Author SHA1 Message Date
Vadim Zeitlin
e71aec80fd check whether we show bitmaps at all in GTKUpdateBitmap() (closes #10933)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-27 22:11:41 +00:00
Vadim Zeitlin
5366ff46b8 set use-underline button property when setting its label
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-18 18:10:05 +00:00
Vadim Zeitlin
a21175918e added wxBU_NOTEXT style to allow creating bitmap buttons with stock id not showing the label, as it was possible before
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-17 22:13:46 +00:00
Vadim Zeitlin
c37dd6dad7 implement wxGTK wxBitmapButton in terms of wxButton
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61081 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-16 19:31:50 +00:00
Vadim Zeitlin
b4a4eafbcc implement support for bitmaps for all states in wxGTK wxButton
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61080 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-16 19:08:59 +00:00
Vadim Zeitlin
7be740a3fd implement support for button bitmaps (normal state only for now) for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-16 05:16:31 +00:00
Robert Roebling
496e7ec647 More GTK prefixing for internal methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-13 10:25:38 +00:00
Julian Smart
ad60f9e7b6 Workaround for GTK+ sensitivity bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-18 12:34:23 +00:00
Paul Cornett
f4b0832d72 fix memory leak
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-05 16:59:23 +00:00
Paul Cornett
9ff9d30c0a Hold a reference on m_widget for the life of the associated wxWindow object.
This allows removing some ugly hacks, and leaking of GtkWidgets by wxNotebook.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-26 16:19:23 +00:00
Paul Cornett
4cdf71be82 don't modify position for default border if button is in a native widget
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-10 20:45:06 +00:00
Vadim Zeitlin
dfc220831a propagate style changes correctly to buttons with images (#3939)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-12 00:50:07 +00:00
Václav Slavík
937013e0fd 1. added wxEvtHandler::SafelyProcessEvent() and wxWindow::HandleWindowEvent() to correctly handle exceptions in even handlers in wxGTK
2. use HandleWindowEvent() everywhere as more obvious and convenient shortcut for GetEventHandler()->ProcessEvent(); also for consistency with wxGTK where it's required

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-29 17:00:58 +00:00
Robert Roebling
593ac8df8e Minimum is now GTK+ 2.4
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-05 18:51:23 +00:00
Paul Cornett
18ac7bef9e fix reversed left/top variables
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-21 03:43:01 +00:00
Mart Raudsepp
6cfdfed86b gtk_border_free is for freeing GtkBorder's, not g_free.
Using g_free instead used to have no ill effects as gtk_border_free called that anyway, but in gtk+-2.11 GtkBorder
uses GSlice and gtk_border_free therefore uses g_slice_free and using g_free makes things crash hard.
So fix it or wxGTK won't work with the upcoming gtk+-2.12 stable release planned for end of July.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-18 06:03:50 +00:00
Vadim Zeitlin
e8375af8ff remove wxWindow::m_needParent and use GTKNeedsParent() which can be overridden in just wxMenuBar (and not set in each and every wxGTK control)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-23 15:16:06 +00:00
Paul Cornett
a1abca322f Reorganize idle system code.
Installing idle handler from GTK callbacks is no longer necessary.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-19 16:58:07 +00:00
Vadim Zeitlin
94aff5ff86 Call wxTLW::SetDefaultItem() from wxButtonBase::SetDefault() instead of doing
it in wxButton implementations in (almost) all ports; changed its return type
to "wxWindow *" from "void" to accommodate the ports needing the old default
item (replaces part of patch 1696563)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-08 22:18:35 +00:00
Vadim Zeitlin
28e88942bc use native TAB traversal for GTK+ 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-26 19:30:20 +00:00
Vadim Zeitlin
ef5c70f96f Many changes:
- Introduced GTKGetWindow() which returns all GdkWindows associated with the
  given wxWindow
- Renamed IsOwnGtkWindow() to GTKIsOwnWindow() to avoid confusion with the old
  virtual function (the new one is non-virtual and is implemented in terms of
  GTKGetWindow())
- Refactored/simplified event handlers code in gtk/window.cpp
- Fixed some header guards names (__GTKFOO__ -> _WX_GTK_FOO_H_)
- Added GTKUpdateCursor() which sets the current cursor for all windows
  returned by GTKGetWindow()
- Factored out code from many different classes in wxControl::OnInternalIdle()
  which now updates the cursor, checks for internal focus and sends update UI
  events


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-25 12:59:28 +00:00
Włodzimierz Skiba
b84aec037f PCH build fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-25 06:07:01 +00:00
Vadim Zeitlin
6c20e8f816 move default button handling code from wxControlContainer to wxTLW (patch 1524441)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-25 01:31:13 +00:00
Włodzimierz Skiba
93763ad5ba wx/wxprec.h already includes wx/defs.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-18 08:11:26 +00:00
Vadim Zeitlin
848332140b moved wxapp_install_idle_handler and g_isIdle from many cpp files into gtk/private.h (patch 1435529)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-09 13:36:53 +00:00
Vadim Zeitlin
6f02a879ed make access specifiers for the virtual functions match their access in the base class (patch 1400131)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-08 21:47:09 +00:00
Mart Raudsepp
afa7bd1eef Remove obsolete GTK1 compatibility macros. Patch #1413458 - Paul Cornett
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-03 20:38:55 +00:00
Mart Raudsepp
9fa72bd2a6 Use g_signal* instead of deprecated gtk_signal*. Use proper casts for the arguments.
Worth norting from the GTK+ docs: "For future usage, direct use of the GSignal API is recommended, this avoids
significant performance hits where GtkArg structures have to be converted into GValues."


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-22 23:28:58 +00:00
Mart Raudsepp
68567a967b Nuke GTK1 from src/gtk
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-22 20:29:17 +00:00
Vadim Zeitlin
b2ff89d648 1. changed wxControl::GetLabel() to return the originally provided label and
not the one stripped from mnemonics (this was inconsistent with the other
   ports and resulted in problems when using wxUpdateUIEvent::SetText())
2. added wxControl::GTKConvertMnemonics(), GTKRemoveMnemonics() and also
   helper GTKSetLabelForLabel() and GTKSetLabelForFrame() wrappers
3. use them instead of duplicating their code in different derived controls


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-12-18 16:37:56 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Mart Raudsepp
3dc786e02e -Wundef fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-04 10:33:09 +00:00
Vadim Zeitlin
865bb3251e GTK+ callbacks must have C linkage (patch 1157384)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-21 23:42:26 +00:00
Robert Roebling
f893066ba1 Query for "default_border" not "default_outside_border" since
that is what is done in the gtk code.
  Correct wrong pos in scrolled window.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32802 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-13 18:57:10 +00:00
Robert Roebling
a90c0600bb Try to catch theme change on the fly in button in
order to resize buttons.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-04 23:23:05 +00:00
Robert Roebling
19ac2f446a SetLabel() no longer invalidates the font which
was previously set.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-27 16:35:30 +00:00
Robert Roebling
58b907f6e1 _conncect_after() should be used for controls emitting
command events so as to not confuse GTK+ if the user
    intercepts them too early.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-05 12:51:05 +00:00
Robert Roebling
77f706726c Implemented run-time checks for the GTK version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-12-05 23:03:09 +00:00
Robin Dunn
b04683b19e If wxGetStockGtkID returns NULL (such as with wx.ID_INDENT on GTK 2.2)
then fall back to normal label setting


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-01 23:22:47 +00:00
Václav Slavík
5f7bcb48fd new stock buttons API
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-08-30 14:42:51 +00:00
Václav Slavík
c20889abf8 fixes for stock items not known to some GTK+ versions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-08-15 19:08:22 +00:00
Václav Slavík
a650b927da compilation fix for GTK2 < 2.4
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-08-15 18:39:25 +00:00
Václav Slavík
4fa87bd948 1. added stock buttons support
2. fixed wxButton::GetDefaultSize to return realistic values
3. fixed DoGetBestSize to don't create buttons smaller than standard GTK+2 buttons w/o wxBU_EXACTFIT


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-08-15 15:44:43 +00:00
Robin Dunn
9f88452895 * Implemented BestSize cache
* Added calls to InvalidateBestSize where things affecting BestSize
  are modified.  There are probably several other places where this
  still needs to be done...

* Added wxWindowBase::GetBestFittingSize that will merge the BestSize
  into the MinSize, (if any) and return the result.

* SetBestFittingSize will now only set the MinSize to the value that
  was passed to it, without merging in the BestSize


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-24 20:09:45 +00:00
Robin Dunn
c0e6c05138 reverted m_adjustMinSize change prepatory for a new approach to fix
the problem


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-21 22:58:13 +00:00
Robin Dunn
fe161a2685 Controls will readjust their size and minsize when SetLabel or SetFont
are called.  Fixed up wxStaticText to blend the wxST_NO_AUTOSIZE with
this new functionality.  Made SetBestSize public under the
SetBestFittingSize name.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-19 01:35:10 +00:00
Václav Slavík
f40fdaa339 fixed GTK styles handling:
1. don't modify the style unless something changed
2. use gtk_widget_modify_style instead of gtk_widget_set_style, the latter is not recommended by GTK+ developers


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-14 17:34:00 +00:00
Robin Dunn
b2fcfd94d3 On wxGTK2 the label woudl not be realigned if SetLabel was called with
a new label.  Changed it to use gtk_button_set_label so that the
widget would care of doing it, and also to create with widget with
gtk_button_new_with_mnemonic so the mnemonic behaviour would be
preserved.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-02 20:26:49 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00