Commit Graph

79 Commits

Author SHA1 Message Date
Vadim Zeitlin
b5a78fbac6 Also make SetMinSize() after wxSizer::Fit() work correctly
This fixes a problem similar to that fixed in the previous commit but
for SetMinSize(), which was also ignored if done after calling
wxSizer::Fit() and before showing the window, as the explicitly set min
size was also overwritten by the pending min size computed from the
client size corresponding to the sizer fitting size.

The fix is similar too: just invalidate the pending minimum size if
SetMinSize() is called.
2021-04-12 21:19:25 +02:00
Vadim Zeitlin
fd7386ed83 Move workaround for initial TLW size to wxGTK itself
Add wxWindow::WXSetInitialFittingClientSize() instead of handling wxGTK
TLWs specially in the common wxSizer code and override it in wxGTK to
remember that we need to reset the client size once the window is shown.

This commit shouldn't result in any changes in the observed behaviour.
2021-04-12 21:19:25 +02:00
Vadim Zeitlin
329f60d7f3 Factor out wxTopLevelWindowGTK::GTKDoAfterShow()
Just extract the code generating wxEVT_SHOW for TLWs in wxGTK in its own
function before modifying it to avoid having to do it in two places.

No real changes, this is a pure refactoring.
2021-04-12 17:27:34 +02:00
Arrigo Marchiori
c86bcf962d Use wxASCII_STR() on string literals
Fix the build with wxNO_IMPLICIT_WXSTRING_ENCODING.
2020-07-17 17:52:16 +02:00
Paul Cornett
687267b9db Fix the default background color reported for toplevel windows with GTK3
See #18811
2020-07-06 23:13:33 -07:00
Vadim Zeitlin
d7f19ee610 Fix spelling in comments and documentation using codespell
Apply the utility from https://github.com/codespell-project/codespell/
to fix spelling issues in the headers under both include and interface
directories and add a file with a couple of exceptions.

The exact command line used was:

    $ codespell -w -I misc/scripts/codespell.ignore -i 3 in*
2020-06-27 22:56:22 +02:00
Vadim Zeitlin
70f40e2f6a Fix position returned for iconized windows in wxGTK
Don't lose window position when the window is iconized, as this prevents
it from being correctly saved by wxPersitentTLW, for example, resulting
in failures in the corresponding unit test.

Unfortunately there doesn't seem to be any simple way to just ignore the
bogus (0, 0) configure events that we get from GTK when the window is
iconized, as explained in the comment, so we're reduced to remembering
the last position and restoring it when we realize that the window got
minimized and not moved, after all. This is obviously not ideal, as
there is still a lapse of time when (0, 0) is returned, but there just
doesn't seem to be anything better to do.
2019-07-16 02:26:11 +02:00
Vadim Zeitlin
8cdd20667f Initialize wxTopLevelWindow::DecorSize in wxGTK
Add default ctor for this struct as it was too easy to forget to
initialize it otherwise, ending up with bogus values in it, as it
happened with wxTLWGeometry::m_decorSize, which resulted in a failure in
wxPersistTLW unit test and, probably, real code too.
2019-07-16 02:26:11 +02:00
Paul Cornett
49605bc5a7 Use forward-declaration macro to avoid compiler warnings 2017-08-01 08:37:15 -07:00
Paul Cornett
a533fb141d Fix unresponsive frame after using wxHtmlHelpFrame from a dialog. See #17837 2017-07-24 08:56:59 -07:00
Paul Cornett
cc48c42e17 remove no-longer-needed OnInternalIdle() override 2015-12-06 20:24:59 -08:00
Paul Cornett
8b4ae731d3 use wxOVERRIDE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-30 00:02:23 +00:00
Paul Cornett
c37b0f0907 Avoid calling gtk_window_get_position() from "configure-event" handler, if possible.
This avoids a round trip to the X server, which is expensive over a remote connection.
Closes #15116


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-17 16:25:13 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +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
Paul Cornett
8f71e657f3 update size hints when decoration size becomes known, and preserve size hint increments
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-24 16:18:28 +00:00
Stefan Neis
6dd0883d55 Do not put semicolons after the definition of an inline function.
Even though most compilers just ignore this, it's just wrong and if you
do get warnings about header files, they can become quite overwhelming.
Forward port of r70163.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 14:42:13 +00:00
Vadim Zeitlin
a82afab363 Implement SetShape() for wxPopupWindow in wxGTK.
Move SetShape() implementation from wxTopLevelWindow to wxNonOwnedWindow so
that wxPopupWindow, which also inherits from the latter, could use it as well.

This makes it possible to have popup windows with irregular shapes in wxGTK as
well as in wxMSW and wxOSX.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-13 12:45:56 +00:00
Vadim Zeitlin
612515aff1 Added wxWindow::GTKHandleRealized() virtual method to wxGTK.
This allows to easily do something in the derived classes when the widget is
realized, without having to deal with GTK+ signals. In particular, get rid of
another "realize" signal handler in wxTopLevelWindow and simply override this
virtual method there.

It also incidentally makes the callback code simpler as the window doesn't
need to be constantly dereferenced.

This shouldn't result in any changes to behaviour.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-12 16:22:14 +00:00
Paul Cornett
f5c0761f51 workaround for broken window managers which claim to support _NET_REQUEST_FRAME_EXTENTS, but don't respond to it
see #13146


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-15 18:31:57 +00:00
Robert Roebling
a03b38ef68 make Set/GetLabel() set and return title in wxTLW, fixes #12371: Dialog::GetLabel() Inconsistent behaviour across operating systems
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65373 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-21 09:53:25 +00:00
Paul Cornett
d26cb76b58 better fix for #11803, don't set iconized state for hidden window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-23 17:58:03 +00:00
Paul Cornett
3c7620f666 ignore iconized state when computing client size for GetBestSize(), fixes #11803
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-23 17:19:02 +00:00
Kevin Ollivier
dbc7ceb925 Initial ShowWithoutActivating implementations for Mac and Windows, and attempt to improve IsActive behavior on Mac. Also adding ShowWithoutActivating() and Show/Hide tests, but until the mainloop issues are resolved, not adding them to tests.bkl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-30 05:04:47 +00:00
Robert Roebling
d02852036d wxBusyInfo now uses wxGenericStaticText under GTK+, more Refresh/Update updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-06 23:30:54 +00:00
Paul Cornett
6089c4c8e8 fix deferred show when SetSize() is called after SetClientSize()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-17 03:32:40 +00:00
Robert Roebling
992d6e1e2c Removed queuedResize code again as GTK+ does this internally already
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-26 20:43:12 +00:00
Robert Roebling
d7ce433897 Postpone size event from wxTLW resizing to idle
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58332 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-23 14:04:32 +00:00
Paul Cornett
11d8dfd2fb fix saving/restoring size when WM supports _NET_FRAME_EXTENTS but not _NET_REQUEST_FRAME_EXTENTS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-24 07:51:15 +00:00
Paul Cornett
0d0b57acec get system colors directly from GTK styles, eliminating need for cached wxColor objects
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-27 17:10:36 +00:00
Paul Cornett
fce611e426 restore caching of WM frame extents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-23 17:05:47 +00:00
Vadim Zeitlin
87e024f7d5 delay setting the window shape until it is realized (slightly modified patch 1935497)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-06 16:14:49 +00:00
Paul Cornett
593354ca47 revert updating GTK size hints when window decorations change, it messes up min size set by a sizer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-28 06:34:43 +00:00
Paul Cornett
81b0235f13 update GTK size hints when window decorations change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-26 06:14:32 +00:00
Paul Cornett
428f841bd0 prevent explicitly set client size from being changed when frame extents become known
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51190 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-13 02:00:27 +00:00
Paul Cornett
53e3cd047c Only account for WM frame extents in tlw size if WM supports _NET_FRAME_EXTENTS. Extents cache no longer needed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-04 17:26:57 +00:00
Paul Cornett
0ab0d0e1dc store size of WM decorations separately for each TLW, so changes to one do not affect others
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-22 17:07:27 +00:00
Paul Cornett
b2e10daccc make DoSetSizeHints protected, remove parameter defaults
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-22 06:12:56 +00:00
Julian Smart
013151c744 Implementation of wxSysColourChangedEvent on wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-27 17:38:39 +00:00
Paul Cornett
cca410b336 Use a GtkVBox to do TLW layout. Rework some of the remaining sizing code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-24 18:07:24 +00:00
Paul Cornett
290cd3016c get more accurate TLW sizing by using a window decorations cache
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-13 04:36:06 +00:00
Paul Cornett
1529bc41dc restructure fullscreen code dealing with hiding bars
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-26 18:47:53 +00:00
Paul Cornett
c821db16e6 Remove unneeded wxTLW child inserter function.
Simplify wxFrame child inserter.
Use the same signature for all the child inserters.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-25 05:08:18 +00:00
Paul Cornett
59678f3fae move m_sizeSet out of wxWindow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-19 18:25:15 +00:00
Paul Cornett
949ff63e2f simplify DoSetClientSize
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-19 17:34:42 +00:00
Vadim Zeitlin
ea098413d0 made wxTLW::SetIcon() non-virtual, it was already implemented in terms of
SetIcons() in most of the ports, now do it in all of them


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-07 23:40:55 +00:00
Vadim Zeitlin
6e26499721 return size without decorations from size_request GTK callback in wxTLW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-15 12:38:55 +00:00
Vadim Zeitlin
a6cdd52188 make GetSize() return the size of the window including the decorations and updated SetSize() to account for this as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-10 23:44:52 +00:00
Paul Cornett
2c685efab1 correct access for virtuals
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-07 05:50:54 +00:00
Robert Roebling
cda5834e9d Moved overridden SetMinSize() to base class.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 13:25:00 +00:00