Compare commits

..

65 Commits

Author SHA1 Message Date
Vadim Zeitlin
7318e1aeb1 Tag 3.0.0 release.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_3_0_0@75176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-11 13:22:50 +00:00
Vadim Zeitlin
209a75dc98 Remove "rc2" from the release notes.
The hashes are still the old ones and will be updated later as the binaries
are not ready yet.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-11 13:10:39 +00:00
Vadim Zeitlin
8626e30a2b Update the version in wx/version.h and add an item for it to the docs.
Mention the need to udpate this file in the release checklist.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-11 13:10:36 +00:00
Vadim Zeitlin
c461ac9e39 Fix the 3.0.0 release date and update the release announcement slightly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-11 13:10:33 +00:00
Vadim Zeitlin
e764e5b397 Update the README file to follow the manual introduction closer.
It makes sense for the introduction to be a longer version of the README, not
a completely different topic.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-11 13:10:30 +00:00
Vadim Zeitlin
00f0fb185d Add the scripts used to build MSVS wxMSW binaries.
Closes #14495.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-11 12:37:50 +00:00
Paul Cornett
3000a9241e don't need Pango workaround code with GTK+3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:35:47 +00:00
Paul Cornett
f5af3df32e use gtk_combo_box_get_wrap_width(), we require GTK+ 2.6 now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:26:23 +00:00
Paul Cornett
ab76b7b05d fully initialize GTypeInfo structure
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75168 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:26:05 +00:00
Vadim Zeitlin
80001fbdbf Fix wxFileName compilation in Cygwin builds.
Do define StatAny() helper calling either stat() or lstat() under Cygwin, it
is available and should be used there even if __WIN32__ is defined.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75167 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:25:46 +00:00
Vadim Zeitlin
f201634c57 Add a comment explaining the need for a temporary NULL variable.
Explain the changes of r75162 as they risk not being preserved otherwise.

Also make this variable static and const because it's really a constant.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75166 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:25:43 +00:00
Vadim Zeitlin
177aa57194 Use Cocoa by default for --with-osx and --with-mac configure options.
Even though Cocoa is now officially the default port, these options still
selected Carbon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:25:40 +00:00
Vadim Zeitlin
aa2169b88d Update minimal required GTK+ version to 2.6 in another place.
It really should only appear in a single place only, ideally, but currently we
have it in several different documents inside and outside the manual.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:25:34 +00:00
Paul Cornett
162f04d775 use G_VALUE_INIT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:13:27 +00:00
Paul Cornett
fa36f48a36 avoid NULL casts, clang says casting nullptr_t is not allowed
closes #15660


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 17:26:37 +00:00
Dimitri Schoolwerth
d3c0ffdf91 spelling and styling fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 13:45:03 +00:00
Dimitri Schoolwerth
f6cecad6ba Doc changes.
Updated some wxOSX related information.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75159 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 13:28:11 +00:00
Dimitri Schoolwerth
c6081cac7f Spelling fixes.
Changed "MacOS X" occurrences to "OS X" (in docs only).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 09:09:17 +00:00
Paul Cornett
31eb67923c spelling fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75157 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 01:48:27 +00:00
Vadim Zeitlin
09efff5d3c Rewrite the introduction page of the manual and update its main page.
Get rid of 20 year old information (it isn't that impressive that we offer to
provide wxWidgets on a CD-ROM any more) and drastically compress the
introduction page while, hopefully, making it more readable and useful for
people new to wxWidgets.

Update the main page to provide a short documentation walk-through and to
organize the different links in order of their usefulness instead of whatever
was used before (random?).

Also add links to the alphabetical list of classes which is very useful but is
not immediately apparent in the Doxygen menus.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 00:33:12 +00:00
Vadim Zeitlin
88d1f0922f Change the titles of some pages for better appearance on the main page.
Try to make the titles of the pages linked from the main page of the manual
more clear and consistent.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 00:33:09 +00:00
Vadim Zeitlin
85a6402146 Emphasize the importance of reading the changes section.
Mention that the changes since 2.8 could be useful to read even when not
actually upgrading since 2.8.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 00:33:06 +00:00
Vadim Zeitlin
a5fa384ab4 Update the date in the manual for 3.0 release.
Use 2013-11-11 as the release date as we're -- gasp -- close to actually
making it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 00:33:03 +00:00
Vadim Zeitlin
fd2fe45d6d Update the list of authors to put Vadim Zeitlin forward and add Stefan Csomor.
Put myself (VZ) forward at Robert's expense and also add Stefan to a couple of
places where he wasn't listed at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 00:32:59 +00:00
Vadim Zeitlin
331babd2d9 No real changes, just remove an unused line from wxOSX wxListBox code.
Don't create a wxEVT_LISTBOX event unnecessarily, this is done by the helper
HandleLineEvent() function called from here.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-09 22:08:53 +00:00
Vadim Zeitlin
9a368ea1cc Compilation fix for wxOSX/Cocoa with wxOSX_USE_NATIVE_TOOLBAR==0.
Don't use m_macToolbar when not using the native toolbar.

Do compile GetToolBarFontEncoding() which is used in any case.

Closes #15629.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-09 22:08:48 +00:00
Vadim Zeitlin
0e4f926b18 Fix positioning of radio buttons inside wxOSX radio boxes in some cases.
If the previous radio box size was too small (notably (0,0) as it happened
during AUI relayout), the buttons were positioned without taking the box
margins into account, resulting in visually broken display.

Recompute the full size after setting the new size but before positioning the
buttons in wxRadioBox::DoSetSize() to avoid this.

Closes #14087.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75149 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-09 18:46:50 +00:00
Vadim Zeitlin
27d1d8060d Clarify the current OSXIsGUIApplication() status in comments.
Mention that it doesn't work yet in 3.0 branch.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-09 13:37:47 +00:00
Vadim Zeitlin
ba58db15e8 Fix format specifiers used for event logging in the listctrl sample.
Don't use "%ld" for int argument (this is harmless but unnecessary) and cast
wxUIntPtr to long before using it with "%ld" as otherwise its size is greater
than that of long in Win64 builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-09 13:31:16 +00:00
Stefan Csomor
29f73fbd10 preparing fix for non-bundled osx apps, see #15613 with fix on trunk
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75143 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-09 07:27:06 +00:00
Václav Slavík
f7abc9c746 Show keyboard focus in generic wxDVC even with single editable column.
Previously, keyboard focus indicator was only shown if there were
multiple editable columns. This was confusing to the user in
applications where the number of editable columns changes: somethings
focus would work, sometimes not. (In reality, it worked in both cases,
but wasn't visually indicated.)

Just always show the indicator if there are any editable columns. Notice
that the indicator is only painted after the user pressed left or right
arrows, thus indicating interest in keyboard focus. Without that, only
the regular indicator is shown (this is the same as before this commit).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75140 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-08 15:24:46 +00:00
Vadim Zeitlin
5c135f9aca Set event object for wxEVT_DATAVIEW_SELECTION_CHANGED events in wxGTK.
The event object was always NULL for these events before as we didn't set it
at all.

Closes #13478.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-07 12:44:29 +00:00
Vadim Zeitlin
5fdb113cde Update wxListEvent::GetData() documentation too.
It returns wxUIntPtr and not long since r75000, see #15578.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75135 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-06 23:35:32 +00:00
Vadim Zeitlin
7f0b8fe0db Fix behaviour of wxComboBox using ID=1000 in wxMSW.
If a wxComboBox was created with ID=1000, clicking in its drop down didn't
work.

It turns out that the native combobox control always creates its dropdown
listbox with the ID of 1000 and that when we were getting LBN_SELCHANGE from
it we mishandled this message because our code mistakenly believed that all
messages from the ID of the control itself were, in fact, coming from this
control, which wasn't the case here.

Fix this by adding a special check for this case in wxComboBox. Also
virtualize the dynamic cast which was done in wxWindow::FindItem() as this
makes the code simpler and allows to get rid of __WXUNIVERSAL__ #ifdef as
well.

Closes #15647.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-06 16:59:41 +00:00
Vadim Zeitlin
462d81dda4 Correct check for animating non-visible windows added in r75130.
Check whether the parent is not shown instead of checking the window itself
because the window is never shown when we're in process of showing it. We need
to avoid animations in the case when it still won't be shown even after
showing it, and this is achieved by checking its parent visibility.

Closes #15643.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75131 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-05 17:00:56 +00:00
Vadim Zeitlin
b6d00b3b15 Don't use animations when showing non-visible windows.
This is useless anyhow but also results in artefacts when the window becomes
visible later.

Closes #15643.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75130 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-05 14:39:13 +00:00
Vadim Zeitlin
bdbf30f8d0 Reduce the extra space added to wxMSW wxStaticText to just 1 pixel.
This seems to be still enough to align the static text label and the text
control contents when they are positioned next to each other but reduces the
amount of "lost" space when they are positioned under each other.

Closes #15637.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75129 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-05 13:39:58 +00:00
Vadim Zeitlin
991e4a9c0f Ignore system colour change events in not yet initialized wxPropertyGrid.
Handling these events before the initialization was over could result in a
crash because m_categoryDefaultCell wasn't yet initialized when the window was
created. Fix this by ignoring these events during initialization.

Closes #15642.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-05 13:39:53 +00:00
Vadim Zeitlin
768670dffe Fix wxOleConvertVariantFlags mentions in the documentation.
In some case wxConvertVariantToOleFlags was used instead.

Closes #15641.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-05 13:39:48 +00:00
Bryan Petty
033a904eb0 Adjusted Romanian translator list by request from Catalin.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-05 01:00:40 +00:00
Bryan Petty
b32134b40f Updated reference manual translation status table.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-04 19:24:02 +00:00
Václav Slavík
dd295300ca Make wxTextEntry::SetHint() work with all derived controls in wxOSX.
Previously, the method was only implemented in wxTextCtrl even though it used
wxTextEntry code to do the actual work. Move the implementation into
wxTextEntry.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75122 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-02 18:01:25 +00:00
Vadim Zeitlin
73eb200299 Basque translations update from Xabier Aramendi.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-02 16:55:45 +00:00
Paul Cornett
3a6e307771 get correct best size for wxSpinButton
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-02 16:29:21 +00:00
Vadim Zeitlin
5992503b62 Reset current item in generic virtual wxListCtrl when items count changes.
This ensures that we don't end up with an invalid current item value, which
resulted in the asserts (see
http://thread.gmane.org/gmane.comp.lib.wxwidgets.general/80341) and possibly
worse.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-01 23:59:07 +00:00
Vadim Zeitlin
14990d8817 Don't include sys/unistd.h unnecessarily when using MinGW.
This doesn't seem to be needed under Windows where <sys/unistd.h> is just a
wrapper for <io.h> which is already included just below anyhow. And doing this
seems to result in problems with Cygwin MinGW cross-compiler 4.7.3 which seems
to ship with broken version of this file, see the problem described in
http://thread.gmane.org/gmane.comp.lib.wxwidgets.general/80322

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75117 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-01 23:59:04 +00:00
Vadim Zeitlin
71f261f6b2 Use proper accents in a contributor name.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75113 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-31 16:03:14 +00:00
Vadim Zeitlin
6dc9368825 Fix light magenta definition in the colour database.
Make it different from magenta itself, otherwise a colour constructed from
"magenta" string was returning "light magenta" as its name.

The exact value of this colour is not well-defined, another commonly used one
seems to be 0xff80ff, but in a lot of places it is used as a synonym for
fuchsia pink which is pretty unambiguously 0xff77ff.

Closes #15628.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-31 16:03:09 +00:00
Vadim Zeitlin
3df0e7b9c7 Mention incompatible wxGridBagSizer::AddGrowable{Col,Row}() change.
It now has no effect if called before adding the columns/rows to the sizer.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-31 12:05:07 +00:00
Vadim Zeitlin
87ffcafce0 Update contributor name to preferred variant.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75110 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-31 11:56:51 +00:00
Vadim Zeitlin
d3b15333c7 Minor Dutch translations update from Gideon van Melle.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-30 12:48:58 +00:00
Vadim Zeitlin
89077d2067 Fix wxMSW build with WXWIN_COMPATIBILITY_2_6==1.
Avoid conflict between wxMSW symbol defined in wx/platinfo.h in this build
configuration and wxMSW namespace by renaming the latter to wxMSWImpl, which
is also consistent with the namespace name used elsewhere.

Closes #15624.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-30 12:21:27 +00:00
Vadim Zeitlin
ce6c1584e6 Fix missing semicolon in wxFileName::SetPermissions() documentation.
Closes #15623.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-29 22:54:34 +00:00
Vadim Zeitlin
6f6609d233 Avoid pointer conversions to unsigned long in the samples.
This results in errors when using g++ Win64 builds as sizeof(long) <
sizeof(void*) in Win64.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-29 19:20:15 +00:00
Vadim Zeitlin
222b65c1b6 Remove accidentally committed testing "rem" from regen.bat.
See #15620.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-29 13:05:39 +00:00
Vadim Zeitlin
1210587617 Fix MeasureWidths() in wxSTC in non-Unicode build.
Integer values must be converted to floats instead of just using memcpy().

Closes #15617.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-29 12:17:40 +00:00
Vadim Zeitlin
b727da4d23 Fix wxSpinButton default width under GTK+ 3.
The default GTK+2 width is so small as to make the control unusable under
GTK+3, so use larger (but still hardcoded) width there.

Closes #15619.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-29 12:17:36 +00:00
Vadim Zeitlin
88e4e49663 Check for dot being available when building HTML documentation.
This helps with ensuring that the generated CHM always has the inheritance
diagrams as by default Doxygen creates it successfully even if dot is not
found -- but without any graphs.

Closes #15620.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-29 12:17:30 +00:00
Vadim Zeitlin
dc37b632f7 Initialize the number of items in wxSelectionStore.
wxSelectionStore::m_count was somehow never initialized, and even although
this seems harmless right now, don't leave it uninitialized if only to avoid
Valgrind warnings about using this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-28 22:17:54 +00:00
Vadim Zeitlin
341fffd5b7 Don't define _CRTBLD when using MSVC 12 or later.
This results in fatal #errors from the standard <assert.h> which doesn't want
to be included with _CRTBLD defined. Generally speaking, defining _CRTBLD
looks like a very wrong thing to do and it's probably not necessary any more
(considering that it was done in r25683 almost 10 years ago) but only avoid
doing this with VC 12 for now to avoid breaking anything else before 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-28 20:38:59 +00:00
Vadim Zeitlin
3b636935b3 Fix crash in wxCharBuffer if memory allocation fails.
Handle memory allocation failure gracefully in wxCharTypeBuffer ctor.

Closes #15616.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75092 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-28 15:04:10 +00:00
Vadim Zeitlin
b8f637041f Fix RC2 description in the announcement.
It's second, not first.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-28 11:24:51 +00:00
Vadim Zeitlin
b44c868021 Update SHA1 sums of 3.0.0-rc2 binaries.
Also mention the availability of two different architectures.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75090 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-28 11:22:23 +00:00
Václav Slavík
322877484d Fix wxWindowModalDialogEvent::GetReturnCode() on Windows.
*Lots* of native dialogs don't call SetReturnCode() in their ShowModal()
implementations in wxMSW. Rather than fixing them all - and having them
accidentally broken again and again in the future - fix this just in the
generic ShowWindowModal() implementation. This may not be the most elegant fix,
but it is bullet-proof.

Also revert previous attempt to fix just wxMessageDialog in r74776.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75089 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-28 07:48:14 +00:00
Vadim Zeitlin
5c83e20ba5 Update SHA1 sums for the release files after remaking the release.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75088 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-27 20:36:04 +00:00
86 changed files with 1332 additions and 651 deletions

0
build/tools/bld_chm_exe.bat Normal file → Executable file
View File

47
build/tools/msvs/build2005.bat Executable file
View File

@@ -0,0 +1,47 @@
if "%1" == "" goto ERR_NOPARM
if "%2" == "" goto ERR_NOPARM
if "%3" == "" goto ERR_NOPARM
cd c:\wxWidgets-%1.%2.%3\build\msw
rem
rem Copy this file to the \wxwidgets-x.y.z\build\msw folder
rem
rem Open a Visual Studio 2005 command prompt.
rem
rem cd \wxwidgets-x.y.z\build\msw
rem build2005
rem
rem ========================================================
rem Set the path if necessary.
set INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\INCLUDE;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\INCLUDE\gl;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\INCLUDE\crt;
set LIB=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib\X64
set LIBPATH=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib\AMD64
rem Remove the existing destination folders if the exist so that a complete rebuild occurs.
rmdir vc80_mswudll /s /q
rmdir vc80_mswuddll /s /q
rmdir ..\..\lib\vc80_dll /s /q
rem Delete the build output files from the last run, if any.
del 2005x86_Debug.txt
del 2005x86_Release.txt
nmake -f makefile.vc BUILD=debug SHARED=1 OFFICIAL_BUILD=1 COMPILER_VERSION=80 >> 2005x86_Debug.txt
nmake -f makefile.vc BUILD=release SHARED=1 OFFICIAL_BUILD=1 COMPILER_VERSION=80 >> 2005x86_Release.txt
goto End
:ERR_NOPARM
@echo.
@echo ERROR: NO PARAMETER SUPPLIED
@echo MajorVers MinorVers BuildVers
:End
cd c:\wxWidgets

66
build/tools/msvs/build2008.bat Executable file
View File

@@ -0,0 +1,66 @@
if "%1" == "" goto ERR_NOPARM
if "%2" == "" goto ERR_NOPARM
if "%3" == "" goto ERR_NOPARM
cd c:\wxWidgets-%1.%2.%3\build\msw
rem ================ VS 2008 Official Build ===============
rem
rem Copy this file to the \wxwidgets-x.y.z\build\msw folder
rem
rem Open a Windows SDK V6.1 command prompt.
rem
rem cd \wxwidgets-x.y.z\build\msw
rem build2008
rem
rem ========================================================
rem Remove the existing destination folders if the exist so that a complete rebuild occurs.
rmdir vc90_mswudll /s /q
rmdir vc90_mswuddll /s /q
rmdir ..\..\lib\vc90_dll /s /q
rmdir vc90_mswudll_x64 /s /q
rmdir vc90_mswuddll_x64 /s /q
rmdir ..\..\lib\vc90_x64_dll /s /q
rem Delete the build output files from the last run, if any.
del 2008x86_Debug.txt
del 2008x86_Release.txt
del 2008x64_Debug.txt
del 2008x64_Release.txt
rem 32 bit debug build
rem ------------------
call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X86 /Debug
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=90 OFFICIAL_BUILD=1 >> 2008x86_Debug.txt
rem 32 bit release build
rem ------------------
call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X86 /Release
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=90 OFFICIAL_BUILD=1 >> 2008x86_Release.txt
rem 64 bit debug build
rem ------------------
call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X64 /Debug
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=90 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2008x64_Debug.txt
rem 64 bit release build
rem ------------------
call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X64 /Release
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=90 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2008x64_Release.txt
goto End
:ERR_NOPARM
@echo.
@echo ERROR: NO PARAMETER SUPPLIED
@echo MajorVers MinorVers BuildVers
:End
cd c:\wxWidgets

65
build/tools/msvs/build2010.bat Executable file
View File

@@ -0,0 +1,65 @@
if "%1" == "" goto ERR_NOPARM
if "%2" == "" goto ERR_NOPARM
if "%3" == "" goto ERR_NOPARM
cd c:\wxWidgets-%1.%2.%3\build\msw
rem ================ VS 2010 Official Build ===============
rem
rem Copy this file to the \wxwidgets-x.y.z\build\msw folder
rem
rem Open a Windows SDK V7.1 command prompt.
rem
rem cd \wxwidgets-x.y.z\build\msw
rem build2010
rem
rem ========================================================
rem Remove the existing destination folders if the exist so that a complete rebuild occurs.
rmdir vc100_mswuddll /s /q
rmdir vc100_mswuddll_x64 /s /q
rmdir vc100_mswudll /s /q
rmdir vc100_mswudll_x64 /s /q
rmdir ..\..\lib\vc100_dll /s /q
rmdir ..\..\lib\vc100_x64_dll /s /q
rem Delete the build output files from the last run, if any.
del 2010x86_Debug.txt
del 2010x86_Release.txt
del 2010x64_Debug.txt
del 2010x64_Release.txt
rem 64 bit release build
rem ------------------
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X64 /Release
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=100 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2010x64_Release.txt
rem 32 bit release build
rem ------------------
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X86 /Release
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=100 OFFICIAL_BUILD=1 >> 2010x86_Release.txt
rem 64 bit debug build
rem ------------------
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X64 /Debug
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=100 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2010x64_Debug.txt
rem 64 bit release build
rem ------------------
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X86 /Debug
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=100 OFFICIAL_BUILD=1 >> 2010x86_Debug.txt
goto End
:ERR_NOPARM
@echo.
@echo ERROR: NO PARAMETER SUPPLIED
@echo MajorVers MinorVers BuildVers
:End
cd c:\wxWidgets

64
build/tools/msvs/build2012.bat Executable file
View File

@@ -0,0 +1,64 @@
if "%1" == "" goto ERR_NOPARM
if "%2" == "" goto ERR_NOPARM
if "%3" == "" goto ERR_NOPARM
cd c:\wxWidgets-%1.%2.%3\build\msw
rem ================ VS 2012 Official Build ===============
rem
rem Copy this file to the \wxwidgets-x.y.z\build\msw folder
rem
rem Open a Visual Studio 2012 Developer command prompt.
rem
rem cd \wxwidgets-x.y.z\build\msw
rem build2012
rem
rem ========================================================
rem Remove the existing destination folders if the exist so that a complete rebuild occurs.
rmdir vc110_mswuddll /s /q
rmdir vc110_mswuddll_x64 /s /q
rmdir vc110_mswudll /s /q
rmdir vc110_mswudll_x64 /s /q
rmdir ..\..\lib\vc110_dll /s /q
rmdir ..\..\lib\vc110_x64_dll /s /q
rem Delete the build output files from the last run, if any.
del 2012x86_Debug.txt
del 2012x86_Release.txt
del 2012x64_Debug.txt
del 2012x64_Release.txt
call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
rem 64 bit release build
rem ------------------
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=110 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2012x64_Release.txt
rem 64 bit debug build
rem ------------------
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=110 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2012x64_Debug.txt
call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat"
rem 32 bit release build
rem ------------------
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=110 OFFICIAL_BUILD=1 >> 2012x86_Release.txt
rem 32 bit debug build
rem ------------------
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=110 OFFICIAL_BUILD=1 >> 2012x86_Debug.txt
goto End
:ERR_NOPARM
@echo.
@echo ERROR: NO PARAMETER SUPPLIED
@echo MajorVers MinorVers BuildVers
:End
cd c:\wxWidgets

64
build/tools/msvs/build2013.bat Executable file
View File

@@ -0,0 +1,64 @@
if "%1" == "" goto ERR_NOPARM
if "%2" == "" goto ERR_NOPARM
if "%3" == "" goto ERR_NOPARM
cd c:\wxWidgets-%1.%2.%3\build\msw
rem ================ VS 2013 Official Build ===============
rem
rem Copy this file to the \wxwidgets-x.y.z\build\msw folder
rem
rem Open a Visual Studio 2013 Developer command prompt.
rem
rem cd \wxwidgets-x.y.z\build\msw
rem build2013
rem
rem ========================================================
rem Remove the existing destination folders if the exist so that a complete rebuild occurs.
rmdir vc120_mswuddll /s /q
rmdir vc120_mswuddll_x64 /s /q
rmdir vc120_mswudll /s /q
rmdir vc120_mswudll_x64 /s /q
rmdir ..\..\lib\vc120_dll /s /q
rmdir ..\..\lib\vc120_x64_dll /s /q
rem Delete the build output files from the last run, if any.
del 2013x86_Debug.txt
del 2013x86_Release.txt
del 2013x64_Debug.txt
del 2013x64_Release.txt
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
rem 64 bit release build
rem ------------------
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=120 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2013x64_Release.txt
rem 64 bit debug build
rem ------------------
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=120 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2013x64_Debug.txt
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
rem 32 bit release build
rem ------------------
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=120 OFFICIAL_BUILD=1 >> 2013x86_Release.txt
rem 32 bit debug build
rem ------------------
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=120 OFFICIAL_BUILD=1 >> 2013x86_Debug.txt
goto End
:ERR_NOPARM
@echo.
@echo ERROR: NO PARAMETER SUPPLIED
@echo MajorVers MinorVers BuildVers
:End
cd c:\wxWidgets

163
build/tools/msvs/package.bat Executable file
View File

@@ -0,0 +1,163 @@
rem ============= VS Binaries Packaging Script =============
rem
rem Copy this file to the \wxwidgets-x.y.z\build\msw folder
rem
rem Open a command prompt.
rem
rem cd \wxwidgets-x.y.z\build\msw
rem package major minor revision
rem
rem ========================================================
if "%1" == "" goto ERR_NOPARM
if "%2" == "" goto ERR_NOPARM
if "%3" == "" goto ERR_NOPARM
rem Add path info if necessary.
path=%path%;"C:\Program Files\7-Zip"
set wxMajor=%1
set wxMinor=%2
set wxBuild=%3
set wxPath=\wxWidgets-%wxMajor%.%wxMinor%.%wxBuild%
set wxLibVers=%1%2
if "%2" == "9" set wxDLLVers=%1%2%3
if NOT "%2" == "9" set wxDLLVers=%1%2
rem Switch to install directory so 7z files are relative to the folder.
cd %wxPath%
rem Package the VS 2005 files.
rem --------------------------
rem Get rid of any files from the last run.
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc80_Dev.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc80_ReleaseDLL.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc80_ReleasePDB.7z
rem 7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc80_Dev.7z lib\vc80_dll\mswud lib\vc80_dll\mswu lib\vc80_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc80_dll\wxbase%wxDllVers%ud_*.pdb lib\vc80_dll\wxMSW%wxDllVers%ud_*.dll lib\vc80_dll\wxbase%wxDllVers%u*.dll lib\vc80_dll\*.lib
rem 7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc80_ReleaseDLL.7z lib\vc80_dll\wxMSW%wxDllVers%u_*.dll lib\vc80_dll\wxbase%wxDllVers%u_*.dll
rem 7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc80_ReleasePDB.7z lib\vc80_dll\wxMSW%wxDllVers%u_*.pdb lib\vc80_dll\wxbase%wxDllVers%u_*.pdb
rem Package the VS 2008 32 bit files.
rem ---------------------------------
rem Get rid of any files from the last run.
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_Dev.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_ReleaseDLL.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_ReleasePDB.7z
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_Dev.7z lib\vc90_dll\mswud lib\vc90_dll\mswu lib\vc90_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc90_dll\wxbase%wxDllVers%ud_*.pdb lib\vc90_dll\wxMSW%wxDllVers%ud_*.dll lib\vc90_dll\wxbase%wxDllVers%ud_*.dll lib\vc90_dll\*.lib
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_ReleaseDLL.7z lib\vc90_dll\wxMSW%wxDllVers%u_*.dll lib\vc90_dll\wxbase%wxDllVers%u_*.dll
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_ReleasePDB.7z lib\vc90_dll\wxMSW%wxDllVers%u_*.pdb lib\vc90_dll\wxbase%wxDllVers%u*_.pdb
rem Package the VS 2010 32 bit files.
rem ----------------------------------
rem Get rid of any files from the last run.
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_Dev.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_ReleaseDLL.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_ReleasePDB.7z
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_Dev.7z lib\vc100_dll\mswud lib\vc100_dll\mswu lib\vc100_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc100_dll\wxbase%wxDllVers%ud_*.pdb lib\vc100_dll\wxMSW%wxDllVers%ud_*.dll lib\vc100_dll\wxbase%wxDllVers%ud_*.dll lib\vc100_dll\*.lib
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_ReleaseDLL.7z lib\vc100_dll\wxMSW%wxDllVers%u_*.dll lib\vc100_dll\wxbase%wxDllVers%u_*.dll
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_ReleasePDB.7z lib\vc100_dll\wxMSW%wxDllVers%u_*.pdb lib\vc100_dll\wxbase%wxDllVers%u_*.pdb
rem Package the VS 2012 32 bit files.
rem ----------------------------------
rem Get rid of any files from the last run.
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_Dev.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_ReleaseDLL.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_ReleasePDB.7z
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_Dev.7z lib\vc110_dll\mswud lib\vc110_dll\mswu lib\vc110_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc110_dll\wxbase%wxDllVers%ud_*.pdb lib\vc110_dll\wxMSW%wxDllVers%ud_*.dll lib\vc110_dll\wxbase%wxDllVers%ud_*.dll lib\vc110_dll\*.lib
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_ReleaseDLL.7z lib\vc110_dll\wxMSW%wxDllVers%u_*.dll lib\vc110_dll\wxbase%wxDllVers%u_*.dll
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_ReleasePDB.7z lib\vc110_dll\wxMSW%wxDllVers%u_*.pdb lib\vc110_dll\wxbase%wxDllVers%u_*.pdb
rem Package the VS 2013 32 bit files.
rem ----------------------------------
rem Get rid of any files from the last run.
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_Dev.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_ReleaseDLL.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_ReleasePDB.7z
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_Dev.7z lib\vc120_dll\mswud lib\vc120_dll\mswu lib\vc120_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc120_dll\wxbase%wxDllVers%ud_*.pdb lib\vc120_dll\wxMSW%wxDllVers%ud_*.dll lib\vc120_dll\wxbase%wxDllVers%ud_*.dll lib\vc120_dll\*.lib
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_ReleaseDLL.7z lib\vc120_dll\wxMSW%wxDllVers%u_*.dll lib\vc120_dll\wxbase%wxDllVers%u_*.dll
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_ReleasePDB.7z lib\vc120_dll\wxMSW%wxDllVers%u_*.pdb lib\vc120_dll\wxbase%wxDllVers%u_*.pdb
rem Package the VS 2008 64 bit files.
rem ---------------------------------
rem Get rid of any files from the last run.
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_x64_Dev.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_x64_ReleaseDLL.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_x64_ReleasePDB.7z
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_x64_Dev.7z lib\vc90_x64_dll\mswud lib\vc90_x64_dll\mswu lib\vc90_x64_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc90_x64_dll\wxbase%wxDllVers%ud_*.pdb lib\vc90_x64_dll\wxMSW%wxDllVers%ud_*.dll lib\vc90_x64_dll\wxbase%wxDllVers%ud_*.dll lib\vc90_x64_dll\*.lib
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_x64_ReleaseDLL.7z lib\vc90_x64_dll\wxMSW%wxDllVers%u_*.dll lib\vc90_x64_dll\wxbase%wxDllVers%u_*.dll
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_x64_ReleasePDB.7z lib\vc90_x64_dll\wxMSW%wxDllVers%u_*.pdb lib\vc90_x64_dll\wxbase%wxDllVers%u_*.pdb
rem Package the VS 2010 64 bit files.
rem ---------------------------------
rem Get rid of any files from the last run.
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_x64_Dev.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_x64_ReleaseDLL.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_x64_ReleasePDB.7z
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_x64_Dev.7z lib\vc100_x64_dll\mswud lib\vc100_x64_dll\mswu lib\vc100_x64_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc100_x64_dll\wxbase%wxDllVers%ud_*.pdb lib\vc100_x64_dll\wxMSW%wxDllVers%ud_*.dll lib\vc100_x64_dll\wxbase%wxDllVers%ud_*.dll lib\vc100_x64_dll\*.lib
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_x64_ReleaseDLL.7z lib\vc100_x64_dll\wxMSW%wxDllVers%u_*.dll lib\vc100_x64_dll\wxbase%wxDllVers%u_*.dll
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_x64_ReleasePDB.7z lib\vc100_x64_dll\wxMSW%wxDllVers%u_*.pdb lib\vc100_x64_dll\wxbase%wxDllVers%u_*.pdb
rem Package the VS 2012 64 bit files.
rem ---------------------------------
rem Get rid of any files from the last run.
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_x64_Dev.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_x64_ReleaseDLL.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_x64_ReleasePDB.7z
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_x64_Dev.7z lib\vc110_x64_dll\mswud lib\vc110_x64_dll\mswu lib\vc110_x64_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc110_x64_dll\wxbase%wxDllVers%ud_*.pdb lib\vc110_x64_dll\wxMSW%wxDllVers%ud_*.dll lib\vc110_x64_dll\wxbase%wxDllVers%ud_*.dll lib\vc110_x64_dll\*.lib
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_x64_ReleaseDLL.7z lib\vc110_x64_dll\wxMSW%wxDllVers%u_*.dll lib\vc110_x64_dll\wxbase%wxDllVers%u_*.dll
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_x64_ReleasePDB.7z lib\vc110_x64_dll\wxMSW%wxDllVers%u_*.pdb lib\vc110_x64_dll\wxbase%wxDllVers%u_*.pdb
rem Package the VS 2013 64 bit files.
rem ---------------------------------
rem Get rid of any files from the last run.
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_x64_Dev.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_x64_ReleaseDLL.7z
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_x64_ReleasePDB.7z
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_x64_Dev.7z lib\vc120_x64_dll\mswud lib\vc120_x64_dll\mswu lib\vc120_x64_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc120_x64_dll\wxbase%wxDllVers%ud_*.pdb lib\vc120_x64_dll\wxMSW%wxDllVers%ud_*.dll lib\vc120_x64_dll\wxbase%wxDllVers%ud_*.dll lib\vc120_x64_dll\*.lib
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_x64_ReleaseDLL.7z lib\vc120_x64_dll\wxMSW%wxDllVers%u_*.dll lib\vc120_x64_dll\wxbase%wxDllVers%u_*.dll
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_x64_ReleasePDB.7z lib\vc120_x64_dll\wxMSW%wxDllVers%u_*.pdb lib\vc120_x64_dll\wxbase%wxDllVers%u_*.pdb
goto End
:ERR_NOPARM
@echo.
@echo ERROR: NO PARAMETER SUPPLIED
@echo MajorVers MinorVers BuildVers
:End
cd \wxWidgets

6
configure vendored
View File

@@ -2310,7 +2310,7 @@ Optional Packages:
--with-osx_carbon use Mac OS X (Carbon)
--with-osx_cocoa use Mac OS X (Cocoa)
--with-osx_iphone use iPhone OS X port
--with-osx use Mac OS X (default port, currently Carbon)
--with-osx use Mac OS X (default port, Cocoa)
--with-carbon same as --with-osx_carbon
--with-cocoa same as --with-osx_cocoa
--with-iphone same as --with-osx_iphone
@@ -4517,7 +4517,7 @@ fi
# Check whether --with-osx was given.
if test "${with_osx+set}" = set; then :
withval=$with_osx; wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1
withval=$with_osx; wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1
fi
@@ -4541,7 +4541,7 @@ fi
# Check whether --with-mac was given.
if test "${with_mac+set}" = set; then :
withval=$with_mac; wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1
withval=$with_mac; wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1
fi

View File

@@ -468,11 +468,11 @@ AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE
AC_ARG_WITH(osx_carbon, [ --with-osx_carbon use Mac OS X (Carbon)], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(osx_cocoa, [ --with-osx_cocoa use Mac OS X (Cocoa)], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(osx_iphone, [ --with-osx_iphone use iPhone OS X port], [wxUSE_OSX_IPHONE="$withval" CACHE_OSX_IPHONE=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(osx, [ --with-osx use Mac OS X (default port, currently Carbon)], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(osx, [ --with-osx use Mac OS X (default port, Cocoa)], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(carbon, [ --with-carbon same as --with-osx_carbon], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(cocoa, [ --with-cocoa same as --with-osx_cocoa], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(iphone, [ --with-iphone same as --with-osx_iphone], [wxUSE_OSX_IPHONE="$withval" CACHE_OSX_IPHONE=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(mac, [ --with-mac same as --with-osx], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(mac, [ --with-mac same as --with-osx], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(old_cocoa, [ --with-old_cocoa use old, deprecated, Cocoa port], [wxUSE_OLD_COCOA="$withval" CACHE_OLD_COCOA=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(wine, [ --with-wine use Wine], [wxUSE_WINE="$withval" CACHE_WINE=1])
AC_ARG_WITH(msw, [ --with-msw use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1])

View File

@@ -239,6 +239,9 @@ Changes in behaviour not resulting in compilation errors, please read this!
- wxAny now uses C locale format for the floating point numbers and not the
current locale one, i.e. decimal point is always used.
- wxGridBagSizer::AddGrowable{Col,Row}() must now be called after the items are
added to the sizer, i.e. the columns and rows already exist.
Changes in behaviour which may result in compilation errors
-----------------------------------------------------------
@@ -567,6 +570,23 @@ Major new features in this release
was added.
3.0.0: (released 2013-11-11)
----------------------------
All:
- Fix crash if wxCharBuffer fails to allocate the requested amount of memory.
wxGTK:
- Fix wxSpinButton default width under GTK+ 3 (David Hart).
wxMSW:
- Compilation fix for WXWIN_COMPATIBILITY_2_6=1 case (Tim Stahlhut).
- Fix behaviour of wxComboBox using ID=1000.
3.0-RC2: (released 2013-10-28)
------------------------------
@@ -674,7 +694,7 @@ All:
- Add separate read/written bytes counters and per-direction NOWAIT and WAITALL
flags to wxSocket (Rob Bresalier).
- Add wxEventLoop::ScheduleExit() (Rob Bresalier).
- Add wxProcess::SetPriority() (Marian Meravy).
- Add wxProcess::SetPriority() (Marián "VooDooMan" Meravý).
- Add wxDir::Close() method (Silverstorm82).
- Fix wxDateTime::GetWeekOfYear() for the last week of year (aimo).
- Fix compilation of wxHash{Map,Set} with g++ 4.7 (Nathan Ridge).

View File

@@ -7,7 +7,7 @@
/**
@defgroup group_class Full Class List by Category
@defgroup group_class Class List by Category
This group contains all full class list groups. The @ref page_class_cat
provides a quick summary of these groups on one page.

View File

@@ -7,12 +7,13 @@
/**
@page page_class_cat Summarized Class List by Category
@page page_class_cat Overview of Available Classes
@tableofcontents
This page contains a summarized listing of classes, please see the
@ref group_class page for a full listing.
@ref group_class page for a full listing by category or the
<a href="classes.html">full list of classes</a> in alphabetical order.

View File

@@ -9,8 +9,11 @@
@page page_copyright Copyrights and Licenses
Copyright (c) 1992-2012 Julian Smart, Robert Roebling, Vadim Zeitlin and other
members of the wxWidgets team
@section section_copyright wxWidgets Copyrights and Licenses
Copyright (c) 1992-2013 Julian Smart, Vadim Zeitlin, Stefan Csomor, Robert
Roebling, and other members of the wxWidgets team, please see the
acknowledgements section below.
Portions (c) 1996 Artificial Intelligence Applications Institute
@@ -24,6 +27,72 @@ recognition of the new name by OSI.
@li @subpage page_copyright_xserver
@section section_acknowledgements Acknowledgements
The following is the list of the core, active developers of wxWidgets which keep
it running and have provided an invaluable, extensive and high-quality amount of
changes over the many of years of wxWidgets' life:
@li Julian Smart
@li Vadim Zeitlin
@li Robert Roebling
@li Robin Dunn
@li Stefan Csomor
@li Vaclav Slavik
@li Paul Cornett
@li Wlodzimierz `ABX' Skiba
@li Chris Elliott
@li David Elliott
@li Kevin Hock
@li Stefan Neis
@li Michael Wetherell
We would particularly like to thank the following peoples for their contributions
to wxWidgets, and the many others who have been involved in the project over the years.
Apologies for any unintentional omissions from this alphabetic list:
Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI,
Patrick Albert, Karsten Ballueder, Mattia Barbon, Michael Bedward,
Kai Bendorf, Yura Bidus, Keith Gary Boyce, Chris Breeze, Pete Britton,
Ian Brown, C. Buckley, Marco Cavallini, Dmitri Chubraev, Robin Corbet, Cecil Coupe,
Andrew Davison, Gilles Depeyrot, Neil Dudman, Hermann Dunkel, Jos van Eijndhoven,
Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries,
Dominic Gallagher, Guillermo Rodriguez Garcia, Wolfram Gloger, Norbert Grotz,
Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle,
Harco de Hilster, Cord Hockemeyer, Markus Holzem, Olaf Klein, Leif Jensen,
Bart Jourquin, Guilhem Lavaux, Ron Lee, Jan Lessner, Nicholas Liebmann,
Torsten Liermann, Per Lindqvist, Francesco Montorsi, Thomas Runge, Tatu M&auml;nnist&ouml;,
Scott Maxwell, Thomas Myers, Oliver Niedung, Ryan Norton, Hernan Otero,
Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
Garrett Potts, Marcel Rasche, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton,
Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith, Kari Syst&auml;, George Tasker,
Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli,
David Webster, Otto Wyss, Xiaokun Zhu, Edward Zimmermann.
Many thanks also to AIAI for being willing to release the original version of
wxWidgets into the public domain, and to our patient partners.
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
T.J. van Eijndhoven of Eindhoven University of Technology. The code has
been used in wxGraphLayout (not in wxWidgets anymore) with his permission.
We also acknowledge the author of XFIG, the excellent Unix drawing tool,
from the source of which we have borrowed some spline drawing code.
His copyright is included below.
<em>
XFig2.1 is copyright (c) 1985 by Supoj Sutanthavibul. Permission to
use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided
that the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of M.I.T. not be used in advertising or
publicity pertaining to distribution of the software without specific,
written prior permission. M.I.T. makes no representations about the
suitability of this software for any purpose. It is provided ``as is''
without express or implied warranty.
</em>
@page page_copyright_wxlicense wxWindows Library Licence
@verbinclude "licence.txt"

View File

@@ -7,11 +7,11 @@
/**
@page page_multiplatform General Cross-Platform Development Tips
@page page_multiplatform Cross-Platform Development Tips
@tableofcontents
This chapter describes some tips related to cross-platform development.
This chapter describes some general tips related to cross-platform development.
@@ -128,7 +128,7 @@ On Windows using a compiler other than MinGW/Cygwin, you would build the
wxWidgets library from the @c "build/msw" directory which contains the relevant
makefiles.
On Windows using MinGW/Cygwin, and on Unix, MacOS X and OS/2, you invoke
On Windows using MinGW/Cygwin, and on Unix, OS X and OS/2, you invoke
'configure' (found in the top-level of the wxWidgets source hierarchy), from
within a suitable empty directory for containing makefiles, object files and
libraries.

View File

@@ -15,207 +15,118 @@
@section page_introduction_whatis What is wxWidgets?
wxWidgets is a C++ framework providing GUI (Graphical User
Interface) and other facilities on more than one platform. Version 2 and higher
currently support all desktop versions of MS Windows, Unix with GTK+ 1.x or 2.x,
Unix with Motif, Unix with just X11, Unix with DirectFB, Mac OS X, OS/2.
wxWidgets is an open source C++ framework allowing to write cross-platform
GUI applications with native look and feel in C++ and other languages.
wxWidgets was originally developed at the Artificial Intelligence
Applications Institute, University of Edinburgh, for internal use,
and was first made publicly available in 1992.
Version 2 is a vastly improved version written and maintained by
Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik and many others.
wxWidgets was originally developed by Julian Smart at the Artificial
Intelligence Applications Institute, University of Edinburgh, for internal use,
and was first made publicly available in 1992, with a vastly improved version 2
released in 1999. The last major version of the library is 3 and was released
in 2013. Currently wxWidgets is developed and maintained by Julian Smart, Vadim
Zeitlin, Stefan Csomor, Robert Roebling, Vaclav Slavik and many others.
This manual contains a class reference and topic overviews.
For a selection of wxWidgets tutorials, please see the documentation page
on the wxWidgets web site: http://www.wxwidgets.org.
Please note that in the following, "MS Windows" often refers to all
platforms related to Microsoft Windows, including 32-bit and 64-bit
variants, unless otherwise stated. All trademarks are acknowledged.
More information about wxWidgets is available on its web site at
http://www.wxwidgets.org.
@section page_introduction_why Why another cross-platform development tool?
@section page_introduction_why Why choose wxWidgets?
wxWidgets was developed to provide a cheap and flexible way to maximize
investment in GUI application development. While a number of commercial
class libraries already existed for cross-platform development,
none met all of the following criteria:
Compared to the other similar libraries, wxWidgets is:
@li low price;
@li source availability;
@li simplicity of programming;
@li support for a wide range of compilers.
1. The only C++ GUI library built by wrapping native GUI widgets which results
in the best user experience on each platform.
2. Written using only the standard C++ and doesn't rely on any custom
extensions or preprocessing.
3. Open source and free for use in both open source and commercial projects.
Since wxWidgets was started, several other free or almost-free
GUI frameworks have emerged. However, none has the range of
features, flexibility, documentation and the well-established
development team that wxWidgets has.
As open source software, wxWidgets has benefited from comments,
ideas, bug fixes, enhancements and the sheer enthusiasm of
users. This gives wxWidgets a certain advantage over its
commercial competitors (and over free libraries without an
independent development team), plus a robustness against the
transience of one individual or company. This openness and
availability of source code is especially important when the
future of thousands of lines of application code may depend upon
the longevity of the underlying class library.
wxWidgets provides a simple, easy to learn, yet very rich API. It is also
mature and stable, and the applications written using wxWidgets 2.0
pre-releases almost 20 years ago can still be built today with wxWidgets 3
almost unchanged. wxWidgets has a large, active and friendly community of
people, including both the users and developers of the library. It is also
available now for more than a dozen other languages, including Python, Perl,
Ruby, Lua, Haskell, D, Erlang, PHP, in addition to C++.
Version 2 goes much further than previous versions in terms of
generality and features, allowing applications to be produced
that are often indistinguishable from those produced using
single-platform toolkits such as Motif, GTK+ and MFC.
It is impossible to sum up everything included in wxWidgets in a few
paragraphs, but here are some of the benefits:
The importance of using a platform-independent class library
cannot be overstated, since GUI application development is very
time-consuming, and sustained popularity of particular GUIs
cannot be guaranteed. Code can very quickly become obsolete if
it addresses the wrong platform or audience. wxWidgets helps to
insulate the programmer from these winds of change. Although
wxWidgets may not be suitable for every application (such as an
OLE-intensive program), it provides access to most of the
functionality a GUI program normally requires, plus many extras
such as network programming, PostScript output, and HTML
rendering; and it can of course be extended as needs dictate.
As a bonus, it provides a far cleaner and easier programming
interface than the native APIs. Programmers may find it
worthwhile to use wxWidgets even if they are developing on only
one platform.
It is impossible to sum up the functionality of wxWidgets in a few paragraphs, but
here are some of the benefits:
@li Low cost (free, in fact!)
@li You get the source.
@li Available on a variety of popular platforms.
@li Works with almost all popular C++ compilers and Python.
@li Over 70 example programs.
@li Over 1000 pages of printable and on-line documentation.
@li Simple-to-use, object-oriented API.
@li Available on all major desktop platforms.
@li Free for any use.
@li Source is available and easy to read and modify if necessary.
@li Over 100 example programs.
@li Extensive documentation (almost 200,000 lines of it).
@li Straightforward API.
@li Simple but powerful layout system.
@li Run-time loadable or compile-time embeddable resources.
@li Flexible event system.
@li Graphics calls include lines, rounded rectangles, splines, polylines, etc.
@li Constraint-based and sizer-based layouts.
@li Print/preview and document/view architectures.
@li Toolbar, notebook, tree control, advanced list control classes.
@li PostScript generation under Unix, normal MS Windows printing on the PC.
@li MDI (Multiple Document Interface) support.
@li Can be used to create DLLs under Windows, dynamic libraries on Unix.
@li Common dialogs for file browsing, printing, colour selection, etc.
@li Under MS Windows, support for creating metafiles and copying them to the clipboard.
@li An API for invoking help from applications.
@li Ready-to-use HTML window (supporting a subset of HTML).
@li Network support via a family of socket and protocol classes.
@li Support for platform independent image processing.
@li Built-in support for many file formats (BMP, PNG, JPEG, GIF, XPM, PNM, PCX).
@li All the usual and quite a few of more rare GUI controls.
@li And also all the standard dialogs.
@li 2D path-based drawing API with full support for transparency.
@li Built-in support for many file formats (BMP, PNG, JPEG, GIF, XPM, PNM, PCX, TGA, ...).
@li Printing, help, clipboard, drag-and-drop, document/view, ... support.
@li Integration with the native platform HTML rendering engine.
@li Dockable windows framework.
@li Word processor-like widget.
@li Powerful text editing widget with syntax highlighting.
@li And much, much more...
@section page_introduction_requirements wxWidgets Requirements
To make use of wxWidgets, you currently need one of the following setups.
wxWidgets first-tier "ports", ie implementations of wxWidgets API, are:
(a) MS-Windows:
@li wxMSW: This is the native port for Microsoft Windows systems (from Windows
95 up to Windows 8.1 with at least Windows XP being recommended), either 32 or
64 bits. The primarily supported compilers are Microsoft Visual C++ (versions 6
up to 2013 are supported, at least 2005 is recommended) and GNU g++ (either
from the traditional MinGW, TDM-GCC or MinGW-w64 distributions).
@li A 32-bit or 64-bit PC running MS Windows.
@li A Windows compiler: MS Visual C++ (embedded Visual C++ for wxWinCE
port), Borland C++, Watcom C++, Cygwin, MinGW, Digital Mars C++.
See @c install.txt for details about compiler version supported.
@li wxGTK: wxGTK2 and wxGTK3 are the ports using GTK+ library version 2.x and
3.x respectively. They are very similar, with wxGTK2 being, however, more
mature. Both ports work on almost any Unix system (Linux, FreeBSD, OpenBSD,
NetBSD, Solaris, AIX, ...) and require GTK+ 2.6 or later or GTK+ 3.x. The
primary supported compiler is GNU g++.
(b) Unix:
@li wxOSX: wxOSX/Cocoa is the primary port for Apple computers, replacing the
older and now deprecated wxOSX/Carbon port. wxOSX supports either PowerPC or
Intel Macs running OS X 10.5 or higher and can be compiled in either 32 or 64
bits using Apple Developer Tools (both GNU g++ and clang are supported).
@li Almost any C++ compiler, including GNU C++ and many Unix vendors
compilers such as Sun CC, HP-UX aCC or SGI mipsPro.
@li Almost any Unix workstation, and one of: GTK+ 2.6 or higher (GTK+ 1.2.10
may still be supported but wxGTK1 port is not maintained any longer and lacks
many features of wxGTK2, Motif 1.2 or higher or Lesstif. If using the wxX11
port, no such widget set is required.
(c) Mac OS/Mac OS X:
@li A PowerPC or Intel Mac running Mac OS X 10.4 or higher
@li The Apple Developer Tools (eg. GNU C++)
Other platforms (iOS, Windows CE, OS/2), compilers (Borland C++ under Windows,
Sun CC, HP-UX aCC, IBM xlC or SGI mipsPro under Unix) and ports (wxOSX/Carbon,
wxGTK1, wxX11, wxDFB, wxPM...) are also supported but to a lesser extent.
Please see the @subpage page_port "platform details page" for more information.
There are no CPU speed requirements but the faster (and more) CPU(s) you have,
the faster the library will compile. You do need to have enough RAM, especially
under Windows platforms, to avoid running out of memory during link phase.
Depending on the compiler used, you may need at least 4GB to be able to link.
Under all platforms it's recommended to have large amounts of free hard disk
space. The exact amount needed depends on the port, compiler and build
configurations but to give an example, a debug build of the library may take up
to 500MB.
configurations but at least 1GB and possibly more is required.
@section page_introduction_where Availability and location of wxWidgets
@section page_introduction_where Where to get wxWidgets and support for it
wxWidgets is available by anonymous FTP and World Wide Web
from ftp://biolpc22.york.ac.uk/pub and/or http://www.wxwidgets.org.
The download links can be found at http://www.wxwidgets.org. The primary
download location is https://sourceforge.net/downloads/wxwindows/ and there is
also an FTP mirror at ftp://ftp.wxwidgets.org/pub/. Additionally, the latest
version can always be retrieved from our version control system using either
Subversion (http://svn.wxwidgets.org/svn/wx/wxWidgets/) or Git
(https://github.com/wxWidgets/wxWidgets).
You can also buy a CD-ROM using the form on the Web site.
wxWidgets documentation that you are reading is also available online at
http://docs.wxwidgets.org/trunk/ and please also visit our wiki at
http://wiki.wxwidgets.org/ for user-contributed contents.
And if you have any questions, you can join wxWidgets community using
@section page_introduction_acknowledgements Acknowledgements
The following is the list of the core, active developers of wxWidgets which keep
it running and have provided an invaluable, extensive and high-quality amount of
changes over the many of years of wxWidgets' life:
@li Julian Smart
@li Vadim Zeitlin
@li Robert Roebling
@li Robin Dunn
@li Stefan Csomor
@li Vaclav Slavik
@li Paul Cornett
@li Wlodzimierz `ABX' Skiba
@li Chris Elliott
@li David Elliott
@li Kevin Hock
@li Stefan Neis
@li Michael Wetherell
We would particularly like to thank the following peoples for their contributions
to wxWidgets, and the many others who have been involved in the project over the years.
Apologies for any unintentional omissions from this alphabetic list:
Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI,
Patrick Albert, Karsten Ballueder, Mattia Barbon, Michael Bedward,
Kai Bendorf, Yura Bidus, Keith Gary Boyce, Chris Breeze, Pete Britton,
Ian Brown, C. Buckley, Marco Cavallini, Dmitri Chubraev, Robin Corbet, Cecil Coupe,
Andrew Davison, Gilles Depeyrot, Neil Dudman, Hermann Dunkel, Jos van Eijndhoven,
Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries,
Dominic Gallagher, Guillermo Rodriguez Garcia, Wolfram Gloger, Norbert Grotz,
Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle,
Harco de Hilster, Cord Hockemeyer, Markus Holzem, Olaf Klein, Leif Jensen,
Bart Jourquin, Guilhem Lavaux, Ron Lee, Jan Lessner, Nicholas Liebmann,
Torsten Liermann, Per Lindqvist, Francesco Montorsi, Thomas Runge, Tatu M&auml;nnist&ouml;,
Scott Maxwell, Thomas Myers, Oliver Niedung, Ryan Norton, Hernan Otero,
Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
Garrett Potts, Marcel Rasche, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton,
Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith, Kari Syst&auml;, George Tasker,
Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli,
David Webster, Otto Wyss, Xiaokun Zhu, Edward Zimmermann.
Many thanks also to AIAI for being willing to release the original version of
wxWidgets into the public domain, and to our patient partners.
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
T.J. van Eijndhoven of Eindhoven University of Technology. The code has
been used in wxGraphLayout (not in wxWidgets anymore) with his permission.
We also acknowledge the author of XFIG, the excellent Unix drawing tool,
from the source of which we have borrowed some spline drawing code.
His copyright is included below.
<em>
XFig2.1 is copyright (c) 1985 by Supoj Sutanthavibul. Permission to
use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided
that the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of M.I.T. not be used in advertising or
publicity pertaining to distribution of the software without specific,
written prior permission. M.I.T. makes no representations about the
suitability of this software for any purpose. It is provided ``as is''
without express or implied warranty.
</em>
- Web-based <a href="http://forums.wxwidgets.org/">wxForum</a>.
- <a href="http://www.wxwidgets.org/support/maillst2.htm">Mailing lists</a>.
- @c #wxwidgets IRC channel.
- Or asking questions with @c wxwidgets tag on http://stackoverflow.com/
*/

View File

@@ -19,7 +19,7 @@ wxWidgets library is divided into libraries briefly described below. This
diagram shows the dependencies between them:
@dot
digraph Dependancies
digraph Dependencies
{
node [shape = ellipse, fontname = "Courier", fontsize = 10, style = filled];

View File

@@ -9,30 +9,49 @@
@mainpage Documentation
@author Julian Smart, Robert Roebling, Vadim Zeitlin, Robin Dunn,
Stefan Csomor, Francesco Montorsi, Bryan Petty, et al
@date October, 2013
@image html main_wxlogo.png
@author Julian Smart, Vadim Zeitlin, Robin Dunn, Stefan Csomor,
Bryan Petty, Francesco Montorsi, Robert Roebling et al
@date November 11, 2013
@n
Welcome to wxWidgets, a stable and powerful open source framework for
developing native cross-platform GUI applications in C++!
@n
If you are new to wxWidgets, please start with the @subpage page_introduction
"introduction" and follow with the @subpage page_topics "programming guides",
with maybe a look at @subpage page_samples "the samples" as you go. If you are
already familiar with wxWidgets, please read about @subpage
overview_changes_since28 "the changes" in the latest version compared to 2.8
series. And you can also follow the links in the reference section or jump
directly to the <a href="classes.html">alphabetical list of classes</a>
to find out more about the topic you are interested in.
@section manual_user User Manual
@li @subpage page_introduction
@li @subpage page_copyright
@li @subpage page_utils
@li @subpage page_samples
@li @subpage page_topics
@li @subpage page_libs
@li @subpage page_class_cat
@li @subpage page_topics
@li @subpage page_multiplatform
@li @subpage page_port
@li @subpage overview_changes_since28
@section manual_reference Reference Manual
@section manual_reference Reference
@li @subpage page_constants
@li @subpage page_translations
@li @subpage group_class
@li @subpage group_funcmacro
@li @subpage page_constants
@section manual_misc Other Information
@li @subpage page_samples
@li @subpage page_utils
@li @subpage page_translations
@li @subpage page_multiplatform
@li @subpage page_copyright
*/

View File

@@ -62,7 +62,7 @@ distribution.
@subsection page_port_wxosx_carbon wxOSX/Carbon
wxOSX/Carbon is a port of wxWidgets for the Macintosh OS platform. Currently
MacOS X 10.5 or higher are supported. wxOSX/Carbon can be compiled both using
OS X 10.5 or higher are supported. wxOSX/Carbon can be compiled both using
Apple's command line developer tools as well as Apple's Xcode IDE. wxOSX/Carbon
supports both the Intel and PowerPC architectures and can be used to produce
"universal binaries" in order create application which can run both
@@ -81,7 +81,7 @@ distribution.
@subsection page_port_wxosx_cocoa wxOSX/Cocoa
wxOSX/Cocoa is another port of wxWidgets for the Macintosh OS platform.
Currently MacOS X 10.5 or higher are supported. In contrast to wxOSX/Carbon,
Currently OS X 10.5 or higher are supported. In contrast to wxOSX/Carbon,
it uses the Cocoa API in place of Carbon. Much work has gone into this port
and many controls are functional, but the port has not reached the maturity of
the wxOSX/Carbon port yet. It is possible to use wxOSX/Cocoa on 64-bit

View File

@@ -12,7 +12,7 @@
@tableofcontents
Probably the best way to learn wxWidgets is by reading the source of some 80+
samples provided with it. Many aspects of wxWidgets programming can be learnt
samples provided with it. Many aspects of wxWidgets programming can be learned
from them, but sometimes it is not simple to just choose the right sample to
look at. This overview aims at describing what each sample does/demonstrates to
make it easier to find the relevant one if a simple grep through all sources
@@ -920,7 +920,7 @@ control.
@section page_samples_webview wxWebView Sample
The wxWebView sample demonstarates the various capabilities of the wxWebView
control. It is set up as a simple single window web broswer, but with support
control. It is set up as a simple single window web browser, but with support
for many of the more complex wxWebView features, including browsing through
archives.

View File

@@ -7,7 +7,7 @@
/**
@page page_topics Topic Overviews
@page page_topics Programming Guides
@tableofcontents
@@ -22,7 +22,6 @@ topics related to building applications with wxWidgets.
@li @subpage overview_roughguide
@li @subpage overview_helloworld
@li @subpage overview_python
@li @subpage overview_changes_since28
@section page_topics_programming Important wxWidgets Topics

View File

@@ -8,7 +8,7 @@
/**
@page page_translations Translations
@page page_translations Translations to Other Languages
@tableofcontents
@@ -49,52 +49,78 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>Afrikaans</td>
<td class="orange">71%</td>
<td><a href="mailto:rkwjpj@@puk.ac.za">Petri Jooste</a></td>
<td class="orange">68%</td>
<td>
<a href="mailto:rkwjpj@@puk.ac.za">Petri Jooste</a>
</td>
</tr>
<tr>
<td>Albanian</td>
<td class="orange">79%</td>
<td><a href="mailto:besnik@@programeshqip.org">Besnik Bleta</a></td>
<td class="orange">75%</td>
<td>
<a href="mailto:besnik@@programeshqip.org">Besnik Bleta</a>
</td>
</tr>
<tr>
<td>Arabic</td>
<td class="red">45%</td>
<td>
<a href="mailto:abouzekry@@gmail.com">Abdullah Abouzekry</a>
</td>
</tr>
<tr>
<td>Basque</td>
<td class="red">18%</td>
<td><a href="mailto:3arrano@@euskalerria.org">3ARRANO Euskalgintza Taldea</a></td>
<td class="green">100%</td>
<td>
<a href="mailto:3arrano@@euskalerria.org">3ARRANO Euskalgintza Taldea</a>,
<a href="mailto:azpidatziak@@gmail.com">Xabier Aramendi</a>
</td>
</tr>
<tr>
<td>Catalan</td>
<td class="orange">67%</td>
<td><a href="mailto:paubcrespo@@hotmail.com">Pau Bosch i Crespo</a></td>
<td class="orange">65%</td>
<td>
<a href="mailto:paubcrespo@@hotmail.com">Pau Bosch i Crespo</a>,
<a href="mailto:rmh@@aybabtu.com">Robert Millan</a>
</td>
</tr>
<tr>
<td>Chinese (simplified)</td>
<td class="green">80%</td>
<td><a href="mailto:mrfx@@fm365.com">mrfx</a></td>
<td class="green">100%</td>
<td>
<a href="mailto:mrfx@@fm365.com">mrfx</a>,
<a href="mailto:liouxiao@@hotmail.com">Liu XiaoXi</a>,
<a href="mailto:hjiawei@@gmail.com">Huang Jiawei</a>,
<a href="mailto:williamroot777@@qq.com">William Jiang</a>
</td>
</tr>
<tr>
<td>Chinese (traditional)</td>
<td class="green">80%</td>
<td><a href="mailto:pal.tw@@yahoo.com.tw">pal.tw</a></td>
<td class="green">100%</td>
<td>
<a href="mailto:pal.tw@@yahoo.com.tw">pal.tw</a>
</td>
</tr>
<tr>
<td>Czech</td>
<td class="orange">68%</td>
<td class="green">100%</td>
<td>
<a href="mailto:v.slavik@@volny.cz">Vaclav Slavik</a>,
<a href="mailto:deirdre_skye@@web.de">Herbert Breunung</a>
<a href="mailto:deirdre_skye@@web.de">Herbert Breunung</a>,
<a href="mailto:zbynek.schwarz@@gmail.com">Zbyněk Schwarz</a>
</td>
</tr>
<tr>
<td>Danish</td>
<td class="orange">78%</td>
<td class="orange">74%</td>
<td>
<a href="mailto:leif@@danmos.dk">Leif Jensen</a>,
<a href="mailto:Henrik@@fangorn.dk">Henrik Ræder Clausen</a>,
@@ -104,8 +130,12 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>Dutch</td>
<td class="green">92%</td>
<td><a href="mailto:phubers@@solve-i-t.com">Patrick Hubers</a></td>
<td class="green">100%</td>
<td>
<a href="mailto:phubers@@solve-i-t.com">Patrick Hubers</a>,
<a href="mailto:gvmelle@@gmail.com">Gideon van Melle</a>,
<a href="mailto:thomasderocker@@hotmail.com">Thomas De Rocker</a>
</td>
</tr>
<tr>
@@ -116,18 +146,19 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>Finnish</td>
<td class="green">88%</td>
<td class="green">91%</td>
<td>
<a href="mailto:kgb@@compart.fi">Kaj G Backas</a>,
<a href="mailto:lanurmi@@iki.fi">Lauri Nurmi</a>,
<a href="mailto:jmsalli79@@hotmail.com">Jaakko Salli</a>,
<a href="mailto:elias.julkunen@gmail.com">Elias Julkunen</a>
<a href="mailto:elias.julkunen@gmail.com">Elias Julkunen</a>,
<a href="mailto:jani.kinnunen@@wippies.fi">Jani Kinnunen</a>
</td>
</tr>
<tr>
<td>French (standard)</td>
<td class="green">95%</td>
<td class="green">96%</td>
<td>
<a href="mailto:Stephane.Junique@@optics.kth.se">Stephane Junique</a>,
<a href="mailto:lionel.allorge@@lunerouge.com">Lionel Allorge</a>,
@@ -137,7 +168,7 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>Galician</td>
<td class="green">80%</td>
<td class="orange">76%</td>
<td>
<a href="mailto:leandro.regueiro@@gmail.com">Leandro Regueiro</a>,
<a href="mailto:correoadrian82@@hotmail.com">Adrián González Alba</a>
@@ -146,7 +177,7 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>German</td>
<td class="green">81%</td>
<td class="green">100%</td>
<td>
<a href="mailto:DanR@@gmx.de">Daniel Reith</a>,
<a href="mailto:sparhawk@@aon.at">Gerhard Gruber</a>,
@@ -155,13 +186,15 @@ to foil spam robots, remove one <tt>\@</tt> from them.
Mark Johnson,
<a href="mailto:martinnost@@users.sf.net">Martin Jost</a>,
<a href="mailto:deirdre_skye@@web.de">Herbert Breunung</a>,
<a href="mailto:chbuck@@gmail.com">Ch. Buck</a>
<a href="mailto:chbuck@@gmail.com">Ch. Buck</a>,
<a href="mailto:webmaster@@coderonline.de">Max Christian Pohle</a>,
<a href="mailto:Thomas.Krebs@@mecadtron.de">Thomas Krebs</a>
</td>
</tr>
<tr>
<td>Greek</td>
<td class="orange">76%</td>
<td class="orange">73%</td>
<td>
<a href="mailto:tsolako1@@otenet.gr">Tsolakos Stavros</a>,
<a href="mailto:nassosy@@compulink.gr">Nassos Yiannopoulos</a>
@@ -170,7 +203,7 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>Hindi</td>
<td class="green">92%</td>
<td class="green">83%</td>
<td>
<a href="mailto:dysxhi@@yahoo.co.in">Dhananjaya Sharma</a>,
<a href="mailto:priyank.bolia@@gmail.com">Priyank Bolia</a>
@@ -179,7 +212,7 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>Hungarian</td>
<td class="green">80%</td>
<td class="orange">76%</td>
<td>
<a href="mailto:Janos_Vegh@@users.sourceforge.net">Végh János Dr.</a>
</td>
@@ -187,51 +220,78 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>Indonesian</td>
<td class="orange">73%</td>
<td class="green">100%</td>
<td>
<a href="mailto:bambang@@3wsi.com">Bambang Purnomosidi D. P.</a>
<a href="mailto:bambang@@3wsi.com">Bambang Purnomosidi D. P.</a>,
<a href="mailto:doplank@@gmx.com">Rahmat Bambang</a>
</td>
</tr>
<tr>
<td>Italian</td>
<td class="green">91%</td>
<td class="green">100%</td>
<td>
<a href="mailto:mbarbon@@cpan.org">Mattia Barbon</a>,
<a href="mailto:m.cavallini@@koansoftware.com">Marco Cavallini</a>
(<a href="http://www.koansoftware.com">Koan Software</a>)
<a href="mailto:m.cavallini@@koansoftware.com">Marco Cavallini</a>,
(<a href="http://www.koansoftware.com">Koan Software</a>),
<a href="mailto:l.stickell@@yahoo.it">Stefano</a>
</td>
</tr>
<tr>
<td>Japanese</td>
<td class="green">81%</td>
<td class="green">97%</td>
<td>
<a href="mailto:james.bishop1@@tiscali.co.uk">James Bishop</a>,
<a href="mailto:saito@@inetrt.skcapi.co.jp">Hiroshi Saito</a>,
<a href="mailto:suzumizaki@@free.japandesign.ne.jp">Suzumizaki-Kimitaka</a>
<a href="mailto:suzumizaki@@free.japandesign.ne.jp">Suzumizaki-Kimitaka</a>,
<a href="mailto:kaba@@shall-systemservice.co.jp">Y. KABA.</a>
</td>
</tr>
<tr>
<td>Korean</td>
<td class="green">85%</td>
<td>
<a href="mailto:dragoneyes.org@@gmail.com">Sungkee Jung</a>
</td>
</tr>
<tr>
<td>Latvian</td>
<td class="red">21%</td>
<td class="green">90%</td>
<td>
<a href="mailto:lauris@@nix.lv">Lauris Bukshis</a>
</td>
</tr>
<tr>
<td>Lithuanian</td>
<td class="red">15%</td>
<td>
<a href="mailto:pieter.clarysse@@bricsys.com">Pieter</a>
</td>
</tr>
<tr>
<td>Malay</td>
<td class="green">95%</td>
<td class="green">89%</td>
<td>
<a href="mailto:mahrazi@@gmail.com">Mahrazi Mohd Kamal</a>
</td>
</tr>
<tr>
<td>Nepali</td>
<td class="green">100%</td>
<td>
<a href="mailto:drishtibachak@@gmail.com">Him Prasad Gautam</a>
</td>
</tr>
<tr>
<td>Norwegian Bokmal</td>
<td class="orange">78%</td>
<td class="orange">74%</td>
<td>
<a href="mailto:hans@@nordhaug.priv.no">Hans F. Nordhaug</a>
</td>
@@ -239,17 +299,19 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>Polish</td>
<td class="green">81%</td>
<td class="green">94%</td>
<td>
<a href="mailto:matiso@@hoga.pl">Piotr Mackowiak</a>,
<a href="mailto:jpiw@@go2.pl">Janusz Piwowarski</a>,
<a href="mailto:abx@@abx.art.pl">ABX</a>
<a href="mailto:abx@@abx.art.pl">ABX</a>,
<a href="mailto:hippie_1968@@hotmail.com">Michał Trzebiatowski</a>,
<a href="mailto:grzezlo@@wp.pl">Grzegorz Zlotowicz</a>
</td>
</tr>
<tr>
<td>Portuguese (pt)</td>
<td class="green">95%</td>
<td class="green">89%</td>
<td>
<a href="mailto:bernardosw@@terra.com.br">Bernardo Santos Wernesback</a>,
<a href="mailto:marionrpereira76@@hotmail.com">Mario Pereira</a>,
@@ -264,13 +326,25 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<td>
<a href="mailto:e.a.tacao@@terra.com.br">E.A. Tacao</a>,
<a href="mailto:jecdiniz@@yahoo.com.br">José Eduardo de Carvalho Diniz</a>,
<a href="mailto:adiel@@inf.ufsc.br">Adiel Mittmann</a>
<a href="mailto:adiel@@inf.ufsc.br">Adiel Mittmann</a>,
<a href="mailto:allanjos@@gmail.com">Allann Jones</a>,
<a href="mailto:felipefpl@@ig.com.br">Felipe</a>
</td>
</tr>
<tr>
<td>Romanian</td>
<td class="green">100%</td>
<td>
<a href="mailto:cata_sr@yahoo.com">Cătălin Răceanu</a>,
<a href="mailto:adrian.haisan@gmail.com">Adrian Hăisan</a>,
<a href="mailto:manuelrciosici@gmail.com">Manuel Ciosici</a>
</td>
</tr>
<tr>
<td>Russian</td>
<td class="orange">78%</td>
<td class="orange">74%</td>
<td>
<a href="mailto:wolfsoft@@mail.ru">Dennis Prochko</a>,
<a href="mailto:rolinsky@@mema.ucl.ac.be">Roman Rolinsky</a>,
@@ -281,13 +355,15 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>Slovak</td>
<td class="orange">77%</td>
<td><a href="mailto:helix84@@centrum.sk">Ivan Masar</a></td>
<td class="orange">74%</td>
<td>
<a href="mailto:helix84@@centrum.sk">Ivan Masar</a>
</td>
</tr>
<tr>
<td>Slovenian</td>
<td class="green">100%</td>
<td class="green">97%</td>
<td>
<a href="mailto:roman.plevel@@iskratr.si">Roman Plevel</a>,
<a href="mailto:miles@@filmsi.net">Martin Srebotnjak</a>
@@ -296,7 +372,7 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>Spanish</td>
<td class="green">95%</td>
<td class="green">89%</td>
<td>
<a href="mailto:guille@@iies.es">Guillermo Rodriguez Garcia</a>,
<a href="mailto:jsj666@@hotmail.com">JSJ</a>,
@@ -307,22 +383,33 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>Swedish</td>
<td class="green">95%</td>
<td class="green">98%</td>
<td>
<a href="mailto:jor@@mindless.com">Jonas Rydberg</a>,
<a href="mailto:kgb@@compart.fi">Kaj G Backas</a>
</td>
</tr>
<tr>
<td>Tamil</td>
<td class="green">100%</td>
<td>
<a href="mailto:td.dinkar@@gmail.com">DINAKAR T.D.</a>
</td>
</tr>
<tr>
<td>Turkish</td>
<td class="green">92%</td>
<td><a href="mailto:dogusanh@@dynaset.org">Hakki Dogusan</a></td>
<td class="green">100%</td>
<td>
<a href="mailto:dogusanh@@dynaset.org">Hakki Dogusan</a>,
<a href="mailto:kayazeren@@gmail.com">Kaya Zeren</a>
</td>
</tr>
<tr>
<td>Ukrainian</td>
<td class="green">95%</td>
<td class="green">100%</td>
<td>
<a href="mailto:manko@@salingshot.co.nz">Eugene Manko</a>,
<a href="mailto:yurchor@@ukr.net">Yuri Chornoivan</a>,
@@ -332,14 +419,18 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<tr>
<td>Valencian (ca\@valencia)</td>
<td class="orange">67%</td>
<td><a href="mailto:rmh@@aybabtu.com">Robert Millan</a></td>
<td class="orange">65%</td>
<td>
<a href="mailto:rmh@@aybabtu.com">Robert Millan</a>
</td>
</tr>
<tr>
<td>Vietnamese</td>
<td class="green">100%</td>
<td><a href="mailto:vnwildman@gmail.com">Tran Ngoc Quan</a></td>
<td>
<a href="mailto:vnwildman@gmail.com">Tran Ngoc Quan</a>
</td>
</tr>
</table>

View File

@@ -47,7 +47,7 @@ You can find Helpview in @c utils/helpview.
@section page_utils_hhp2cached HHP2Cached
This utility creates a "cached" version of a @c .hhp file; using cached @c .hhp
files in wxHtmlHelpController can drammatically improve the performances
files in wxHtmlHelpController can dramatically improve the performance
of the help viewer. See wxHtmlHelpController for more details.
You can find HHP2Cached in @c utils/hhp2cached.

View File

@@ -11,7 +11,12 @@
@page overview_changes_since28 Changes Since wxWidgets 2.8
This topic describes backwards-incompatible changes in wxWidgets 3.0 compared
to the last stable release.
to the last stable release and is very important to read if you are updating
from the 2.8 or an older version. And even if you hadn't used any previous
version of wxWidgets and are starting directly with 3.0, it can still be useful
to have at least a quick look at it just to know that some of the older
examples and tutorials may not be applicable any more to wxWidgets 3.0.
The incompatible changes can be grouped into the following categories:

View File

@@ -464,7 +464,7 @@ IMPLEMENT_DYNAMIC_CLASS(MyControlXmlHandler, wxXmlResourceHandler)
MyControlXmlHandler::MyControlXmlHandler()
{
// this call adds support for all wxWindows class styles
// this call adds support for all wxWidgets class styles
// (e.g. wxBORDER_SIMPLE, wxBORDER_SUNKEN, wxWS_EX_* etc etc)
AddWindowStyles();

View File

@@ -66,6 +66,23 @@ IF "%1" == "all" (
)
)
REM Check for Graphviz (its location should be in %PATH%).
REM
REM NB: Always do this check because it looks like errorlevel is not set
REM when the test is done inside the IF block.
dot <NUL >NUL 2>&1
IF %GENERATE_HTML%==YES (
IF NOT %errorlevel%==0 (
IF %errorlevel%==9009 (
echo Error: dot was not found in PATH, please install Graphviz!
) ELSE (
echo Error: %errorlevel% error code when running dot, please check Graphviz installation.
)
EXIT /B
)
)
REM
REM NOW RUN DOXYGEN
REM
@@ -75,3 +92,14 @@ REM not included!
REM
set PATH=%PATH%;%HHC_PATH%
doxygen Doxyfile
REM Check that class inheritance diagram images are present for html/chm docs.
REM
REM NB: Set the file to check outside the IF block,
REM otherwise the second check does not always pick its value.
set filetofind=out\html\classwx_app_console__inherit__graph.png
IF %GENERATE_HTML%==YES (
IF NOT EXIST %~dp0%filetofind% (
echo Warning: Class inheritance diagram images are missing, please check Graphviz installation.
)
)

View File

@@ -22,7 +22,7 @@ and another one, which only uses X11 calls and which draws its
widgets entirely itself, without using any outside library. This port
is called wxX11 or sometimes more generally wxUniv (short for
wxUniversal), since this widget set (implemented entirely within
wxWidgets) is available whereever wxWidgets is available. Since this
wxWidgets) is available wherever wxWidgets is available. Since this
short overview is mainly about how to write wxWidgets applications
for the GNOME<A HREF="http://www.gnome.org/"><SUP>[3]</SUP></A>
desktop, I will focus on the GTK+ port, which is generally referred
@@ -43,11 +43,11 @@ most aspects of GUI and non-GUI application programming. Sometimes,
various aspects of these design goals contradict each other and this
holds true especially for the Linux platform which &ndash; from the
point of view of the desktop environment integration &ndash; is
lagging behind the other two major desktops (Windows and MacOS X)
lagging behind the other two major desktops (Windows and OS X)
mostly because of the schism between the GTK+ based GNOME desktop and
the Qt<A HREF="http://www.trolltech.com/"><SUP>[5]</SUP></A> based
KDE<A HREF="http://www.kde.org/"><SUP>[6]</SUP></A> desktop. So far,
the typical wxWidgets user targeted Windows, maybe MacOS X and Linux
the typical wxWidgets user targeted Windows, maybe OS X and Linux
<I>in general</I>, so the aim was to make wxGTK applications run as
well as possible on as many versions of Linux as possible, including
those using the KDE environment. Luckily, most of these distributions

View File

@@ -1,19 +1,18 @@
wxWidgets for Mac OS X installation
-----------------------------------
wxWidgets can be compiled using Apple's Carbon or Cocoa libraries.
Carbon is the older library, and Cocoa is the more modern library.
wxWidgets can be compiled using Apple's Cocoa or Carbon libraries.
Cocoa is the more modern library, and Carbon is the older deprecated library.
In wxWidgets 2.9.x, Cocoa is the recommended library. While Carbon is still
In wxWidgets 3, Cocoa is the recommended library. While Carbon is still
supported by Apple, little new work is being done in Carbon.
Most Mac OS X developers should start by downloading and installing Xcode
from http://developer.apple.com. It is a free IDE from Apple that provides
all of the tools you need for working with wxWidgets.
After Xcode is installed, download either wxWidgets-{version}.tar.gz or
wxMac-{version}.tar.gz and then double-click on it to unpack it to create
a wxWidgets directory.
After Xcode is installed, download wxWidgets-{version}.tar.bz2 and then
double-click on it to unpack it to create a wxWidgets directory.
Next use Terminal (under Applications, Utilities, Terminal) to access a command
prompt. Use cd to change directories to your wxWidgets directory and execute
@@ -28,7 +27,7 @@ installed when you install Xcode 3.x.
# Build the library for Cocoa (wxWidgets 2.9.0 and later)
mkdir build-cocoa-debug
cd build-cocoa-debug
../configure --with-osx_cocoa --enable-debug
../configure --enable-debug
make
# Build the samples and demos
cd samples; make;cd ..
@@ -39,7 +38,7 @@ cd demos; make;cd ..
# Build the library for Carbon
mkdir build-carbon-debug
cd build-carbon-debug
../configure --enable-debug --disable-shared --enable-macosx_arch=i386 --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk CC=/Developer/usr/bin/gcc-4.2 CXX=/Developer/usr/bin/g++-4.2 LD=/Developer/usr/bin/ld
../configure --with-carbon --enable-debug --disable-shared --enable-macosx_arch=i386 --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk CC=/Developer/usr/bin/gcc-4.2 CXX=/Developer/usr/bin/g++-4.2 LD=/Developer/usr/bin/ld
make
# Build the samples and demos
cd samples;make;cd ..
@@ -48,10 +47,10 @@ cd demos; make;cd ..
---------
After the compilation completes, use Finder to run the samples and demos
Go to build-cocoa-debug/samples to experiment with the Cocoa samples.
Go to build-cocoa-debug/demos to experiment with the Cocoa demos.
Go to build-carbon-debug/samples to experiment with the Carbon samples.
Go to build-carbon-debug/demos to experiment with the Carbon demos.
Go to build-cocoa-debug/samples to experiment with the Cocoa samples.
Go to biuld-cocoa-debug/demos to experiment with the Cocoa demos.
Double-click on the executables which have an icon showing three small squares.
The source code for the samples is in wxWidgets/samples
The source code for the demos is in wxWidgets/demos
@@ -93,8 +92,10 @@ to wx-config with the --in-place option you can avoid installing the library.
Apple Developer Tools: Xcode
----------------------------
You can use the project in src/wxWindows.xcodeproj to build wxWidgets,
and there is a sample project supplied with the minimal sample.
You can use the project in build/osx/wxcocoa.xcodeproj to build the Cocoa
version of wxWidgets (wxOSX/Cocoa) and build/osx/wxcarbon.xcodeproj to
build the Carbon version of wxWidgets (wxOSX/Carbon). There are also sample
projects supplied with the minimal sample.
Notice that the command line build above builds not just the library itself but
also wxrc tool which doesn't have its own Xcode project. If you need this tool,
@@ -130,8 +131,8 @@ binaries together. Assuming building on a PPC system:
2. Then, build for Intel, in a different folder. This time use:
export CFLAGS="-g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386"
export LDFLAGS="-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk"
export CFLAGS="-g -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386"
export LDFLAGS="-syslibroot,/Developer/SDKs/MacOSX10.5.sdk"
./configure --disable-dependency-tracking --enable-static=yes --enable-shared=no \
--target=i386-apple-darwin8 --host=powerpc-apple-darwin8 --build=i386-apple-darwin8

View File

@@ -41,7 +41,7 @@ mention that wxWidgets is a C++ framework for building rich GUI
applications from a single source which can then be compiled on
different operating systems, resulting in a native application on
each system. wxWidgets uses native controls (or widgets) and other
native functions whereever possible so that the resulting
native functions wherever possible so that the resulting
applications will look and feel as native as possible, and they are
usually not distinguishable from applications written using single
platform toolkits such as MFC for Windows, GTK+ for Linux or Cocoa
@@ -51,9 +51,9 @@ achieve perfect integration with that platform.</P>
<P ALIGN=JUSTIFY>The major operating system for which wxWidgets
supports are Windows (Windows 95, NT, 2000, XP, Vista) including its
mobile variants (Windows CE, PocketPC, Windows Mobile), Linux and
Unix using the GTK+ 2 toolkit (minimum version is GTK+ 2.4, more
Unix using the GTK+ 2 toolkit (minimum version is GTK+ 2.6, more
recent features are used when available) and Mac OS X (minimum
version 10.4 Tiger, both Intel, PPC and the Universal Binaries for
version 10.5 Tiger, both Intel, PPC and the Universal Binaries for
both are supported). wxWidgets includes many code pieces for
optimising dialog and general layout for small screens such as those
of the recent netbooks and mobile phones and tablets.</P>
@@ -103,8 +103,8 @@ tries to both make use of new features of the different operating
systems and support older systems for as long as possible and as long
as supporting them does not hinder development for up-to-date
systems. This is especially true for OS X and GTK+ 2 and it was
therefore decided that OS X versions older than 10.4 Tiger and GTK+ 2
version older than 2.4 are no longer supported. The wxWidgets team
therefore decided that OS X versions older than 10.5 Leopard and GTK+ 2
version older than 2.6 are no longer supported. The wxWidgets team
also realized that it could not do everything and that support for a
cross-platform database API was beyond the scope and focus of the
project so that its old wxODBC database connectivity classes were
@@ -209,7 +209,7 @@ and may thus be the most important changes from a user's perspective
control used to display lists and hierarchies of name-value pairs.
Like wxDataViewCtrl, it offers a number of ready-to-use editors for
editing text, numbers, lists, fonts, file names etc. using in-place
editing or using pop-up dialog and combo boxes. Developement of
editing or using pop-up dialog and combo boxes. Development of
wxPropertyGrid has so far taken place outside of wxWidgets as a
separate project, but it has not been included in wxWidgets per se.
See also <A HREF="http://docs.wxwidgets.org/trunk/classwx_property_grid.html">wxPropertyGrid</A>.</P>
@@ -271,28 +271,24 @@ iPhone and iPod, and these are devices are clearly not Macs. Apart
from the name change wxMac has undergone the most fundamental
changes of the three main ports, even if some of the changes were
mostly reorganizing code instead of writing new code. The code has
been reorganized into common code (common to Carbon, Cocoa and Cocoa
been reorganized into common code (common to Carbon, Cocoa, and Cocoa
Touch) including both general wrapping or front-end classes for much
of the GUI code as well as a wrapper for the so called CoreFoundation
classes of OS X, which are responsible on all OS X variants for
string manipulation, font support, graphics and other basic
functionality (CoreImage and CoreVideo have recently been added by
Apple) and toolkit dependent code for the Carbon, Cocoa and Cocoa
Touch API. The Carbon variant is the core of what used to be wxMac
and is the most stable and mature version. The reason behind adding
optional support for Cocoa and Cocoa Touch is that Carbon is not
available on iPhones at all and that it has been deprecated for all
64-bit versions of OS X, which is likely to be the default a few
years from now. So while present applications using wxOSX are advised
to use the Carbon backend due its maturity, future developement will
have to focus on the Cocoa backend.</P>
functionality and toolkit dependent code for the Carbon, Cocoa, and
Cocoa Touch API. wxOSX/Carbon is the core of what used to be wxMac
and is now deprecated in favour of wxOSX/Cocoa. Existing applications
are encouraged to switch to wxOSX/Cocoa as Carbon is a deprecated OS X
feature, not available for 64-bit GUI applications, and not available for
iOS devices at all.</P>
<P ALIGN=JUSTIFY>As part of the restructuring, all remaining drawing
code using the old QuickDraw API has been removed (it was only an
option before) and drawing now always takes place using CoreGraphics.
Likewise, all code using Carbon functions no longer present in OS X
10.4 has been removed to clean-up the code greatly. This is turn
10.4 and 10.5 has been removed to clean-up the code greatly. This is turn
means, as mentioned above, that applications will require a minimum
of OS X 10.4 in order to run, better yet OS X 10.5.</P>
of OS X 10.5 in order to run.</P>
<P ALIGN=JUSTIFY>Apart from these large changes, these additional
features can be noted:</P>
<UL>
@@ -311,7 +307,7 @@ compatible way. The main problem of this approach is that
applications written using wxGTK should work with relatively old
versions of GTK+ but should also make use of recent features. In some
cases, supporting an old version of GTK+ hinders development so we
decided to declare GTK+ 2.4 the minimum toolkit version that is
decided to declare GTK+ 2.6 the minimum toolkit version that is
supported. As an example, this made it possible to always use the
GTK+ file dialog instead of the old generic file dialog which had to
be used when GTK+ didn't have a usable file dialog.

View File

@@ -1,13 +1,15 @@
October 28, 2013 -- The wxWidgets team is pleased to announce the
first release candidate release of wxWidgets 3.0.
November 11, 2013 -- The wxWidgets team is pleased to announce a
major new release of our open source framework for the development
of native cross-platform applications in C++.
wxWidgets 3.0-RC2 is available at
wxWidgets 3.0.0 is the first release in the new major stable 3.0
branch and is available at
https://sourceforge.net/downloads/wxwindows/3.0.0-rc2/
https://sourceforge.net/downloads/wxwindows/3.0.0/
and at our FTP mirror at
ftp://ftp.wxwidgets.org/pub/3.0.0-rc2/
ftp://ftp.wxwidgets.org/pub/3.0.0/
Please choose the archive format suitable for your platform, i.e. 7z
or ZIP for Windows platforms and tar.bz2 for the Unix systems
@@ -20,7 +22,7 @@ as only sources, not binaries, are installed.
We also provide the pre-built versions of wxMSW libraries for the
selected compilers at
https://sourceforge.net/downloads/wxwindows/3.0.0-rc2/binaries/
https://sourceforge.net/downloads/wxwindows/3.0.0/binaries/
Please see the README file there for the descriptions of the
individual files.
@@ -41,20 +43,20 @@ here, but the most important ones are:
Please see the changes.txt file in the "docs" subdirectory of
wxWidgets distribution or also available online at
https://sourceforge.net/projects/wxwindows/files/3.0.0-rc2/changes.txt
https://sourceforge.net/projects/wxwindows/files/3.0.0/changes.txt
for more details and please read the "INCOMPATIBLE CHANGES" section
in its beginning for a brief description of changes if you are
upgrading from wxWidgets 2.8. For more details, please see
http://docs.wxwidgets.org/3.0.0/overview_changes_since28.html
Please test this release candidate version to help us with making the
final 3.0 release as problem-free as possible. We are especially
looking forward to your feedback about the changes in this release
compared to 2.8 version if you're upgrading. Please let us know about
any regressions (http://trac.wxwidgets.org/newticket) so that we could
fix them in the upcoming 3.0.
We recommend that you use wxWidgets 3.0 for any new programs and
also update any existing code using the older versions to the new
one (which should be easier than the jump in the version number
indicates) as all the future development will only happen in 3.x
series.
Thanks in advance!
We hope that you will enjoy using the new release!
Vadim Zeitlin, on behalf of wxWidgets development team.

View File

@@ -1,37 +1,39 @@
wxWidgets 3.0-RC2 Release Notes
===============================
wxWidgets 3.0.0 Release Notes
=============================
Welcome to the latest release of wxWidgets, a free cross-platform C++
framework for writing advanced GUI applications using native controls.
Welcome to the latest release of wxWidgets, a free and open source
cross-platform C++ framework for writing advanced GUI applications
using native controls.
In addition to common and advanced GUI facilities such as frames,
scrolling windows, toolbars, tree controls, icons, device contexts,
printing, splitter windows and so on, there are wrappers for common
file operations, facilities for writing network applications,
thread handling, and so on. You can learn more about wxWidgets at
wxWidgets allows you to write native-looking GUI applications for
all the major desktop platforms and also helps with abstracting
the differences in the non-GUI aspects between them. It is free
for the use in both open source and commercial applications, comes
with the full, easy to read and modify, source and extensive
documentation and a collection of more than a hundred examples.
You can learn more about wxWidgets at
http://www.wxwidgets.org/
and read its documentation online at
wxWidgets sources are available for download from
http://docs.wxwidgets.org/3.0.0/
https://sourceforge.net/projects/wxwindows/files/3.0.0-rc2/
wxWidgets sources and binaries for the selected platforms are
available for download from
https://sourceforge.net/projects/wxwindows/files/3.0.0/
or
ftp://ftp.wxwidgets.org/pub/3.0.0-rc2/
ftp://ftp.wxwidgets.org/pub/3.0.0/
Please see the "Files" section below for the description of various
files available at these locations.
A detailed reference manual including in-depth overviews for various
topics is supplied in various formats and can be accessed online at
http://docs.wxwidgets.org/3.0.0/
Changes in this release
-----------------------
@@ -39,7 +41,7 @@ Changes in this release
This release contains several years worth of improvements compared
to 2.8 version. Notably, Unicode support has been completely
overhauled and made much easier to use. Debugging support, including
when using a release build of the library, was much improved making
when using a release build of the library, was greatly improved making
it less likely that you use the library incorrectly. Dynamic event
handling was made much more comfortable. Many new GUI and base classes
have been added or improved and all ports, and especially wxOSX/Cocoa
@@ -63,9 +65,9 @@ Platforms supported
wxWidgets currently supports the following primary platforms:
- Windows 95/98/ME, NT, 2000, XP, Vista, 7
- Windows 95/98/ME, NT, 2000, XP, Vista, 7 (32/64 bits).
- Most Unix variants using the GTK+ toolkit (version 2.6 or newer)
- Mac OS X (10.5 or newer) using either Carbon or Cocoa
- Mac OS X (10.5 or newer) using Cocoa (32/64 bits) or Carbon (32 only)
There is some support for the following platforms:
@@ -98,8 +100,8 @@ In addition to the sources, documentation in HTML, CHM and HTB
for Microsoft Windows. Notice that you will still need to compile
wxWidgets even when using the installer.
Experimentally, we also supply binaries of wxMSW libraries built
with several versions of Microsoft Visual C++ compiler for this
We also supply binaries of wxMSW libraries built with several
versions of Microsoft Visual C++ and GNU g++ compiler for this
release. They are available in the "binaries" subdirectory, see
the description of the files in the README file there.
@@ -107,10 +109,11 @@ the description of the files in the README file there.
Installation
------------
wxWidgets needs to be compiled before you can test out the samples
or write your own applications. For installation information, please
see the install.txt file in the docs subdirectory appropriate for
the platform you use.
Unless you have downloaded the binaries for your compiler, you
will need to build wxWidgets before you can test out the samples
or write your own applications. For installation information,
please see the install.txt file in the docs subdirectory
appropriate for the platform you use.
Licence information
@@ -136,13 +139,7 @@ applications using wxWidgets.
However, if you distribute wxGTK or wxMotif (with Lesstif)
version of your application, don't forget that it is linked
against GTK+ (or Lesstif) which is covered by LGPL *without*
exception notice. Under Linux systems your app is probably linked
against LGPL glibc as well. Please read carefully LGPL, section
6. which describes conditions for distribution of closed source
applications linked against LGPL library. Basically you should
link dynamically and include source code of LGPL libraries with
your product (unless it is already present in user's system -
like glibc usually is).
exception notice and so is bound by its requirements.
If you use TIFF image handler, please see src/tiff/COPYRIGHT
for libtiff licence details.
@@ -156,16 +153,17 @@ If you use wxRegEx class on a system without native regular
expressions support (i.e. MS Windows), see src/regex/COPYRIGHT
file for Henry Spencer's regular expression library copyright.
If you use wxXML classes or XRC, see src/expat/COPYING for licence details.
If you use wxXML classes or XRC, see src/expat/COPYING for licence
details.
Documentation
-------------
wxWidgets documentation is available online at
http://docs.wxwidgets.org/3.0.0/ and can also be downloaded in HTML
format. To generate documentation in other formats (PDF, CHM, ...)
please use the scripts in docs/doxygen directory.
http://docs.wxwidgets.org/3.0.0/ and can also be downloaded in
HTML format. To generate documentation in other formats (PDF, CHM,
...) please use the scripts in docs/doxygen directory.
Bug reporting
@@ -188,19 +186,14 @@ addressed sooner.
Further information
-------------------
The wxWidgets Web site is located at:
If you are looking for support, you can get it from
http://www.wxwidgets.org/
- wxForum at http://forums.wxwidgets.org/
- wx-users mailing list (http://www.wxwidgets.org/support/maillst2.htm)
- #wxwidgets IRC channel
- http://stackoverflow.com/ if you tag your question with "wxwidgets"
The main wxWidgets ftp site is at:
ftp://ftp.wxwidgets.org/pub/
A wxWidgets CD-ROM with the latest distribution plus an HTML
front-end and hundreds of MB of compilers, utilities and other
material may be ordered from the CD-ROM page: see the wxWidgets
web site.
Have fun!
The wxWidgets Team, October 2013
The wxWidgets Team, November 2013

View File

@@ -1,7 +1,7 @@
wxWidgets 3.0.0-rc2 Binaries
============================
wxWidgets 3.0.0 Binaries
========================
This directory contains binary files for wxWidgets 3.0.0-rc2 release.
This directory contains binary files for wxWidgets 3.0.0 release.
* Microsoft Visual C++ compiler versions 9.0, 10.0, 11.0 and 12.0
corresponding to marketing product names of Microsoft Visual Studio
@@ -14,9 +14,10 @@ For Developers
--------------
For developing applications with wxWidgets you need to download the
compiler-independent wxWidgets-3.0.0-rc2_Headers.7z file and one of
wxMSW-3.0.0-rc2-vcXXX_Dev.7z or wxMSW-3.0.0-rc2_gccXXX_Dev.7z files
depending on your compiler and its version.
compiler-independent wxWidgets-3.0.0_Headers.7z file (found in the
parent directory) and one of wxMSW-3.0.0-vcXXX_Dev.7z or
wxMSW-3.0.0_gccXXX_Dev.7z files depending on your compiler, its
version and the target architecture (x86 if not specified or x64).
Unpack both files into the same directory so that "include" and "lib"
directories are at the same level after unpacking. You should be able
@@ -29,15 +30,15 @@ symbols.
For End Users
-------------
End users may download one of wxMSW-3.0.0-rc2_vcXXX_ReleaseDLL.7z or
wxMSW-3.0.0-rc2_gccXXX_ReleaseDLL.7z files to get just the DLLs
End users may download one of wxMSW-3.0.0_vcXXX_ReleaseDLL.7z or
wxMSW-3.0.0_gccXXX_ReleaseDLL.7z files to get just the DLLs
required for running the applications using wxWidgets.
For Debugging
-------------
* Microsoft Visual C++ users: Files wxMSW-3.0.0-rc2_vcXXX_ReleasePDB.7z
* Microsoft Visual C++ users: Files wxMSW-3.0.0_vcXXX_ReleasePDB.7z
contain the debug symbols for the release build of the DLLs. Download
them if you want to debug your own applications in release build or
if you want to get meaningful information from mini-dumps retrieved
@@ -62,32 +63,38 @@ Check Sums
To verify your download you can use the following sha1sums:
23c043ccfc76d7f55db972e165d90c102ac444e4 wxMSW-3.0.0-rc2_vc100_Dev.7z
a29b1701e601421d90d38234fecafa5ea089108e wxMSW-3.0.0-rc2_vc100_ReleaseDLL.7z
e320f53d3524200cafe9b93422de49b3387f2c72 wxMSW-3.0.0-rc2_vc100_ReleasePDB.7z
b9c4a0780f1d0e1a4b05fa77fc169310562d0d66 wxMSW-3.0.0-rc2_vc100_x64_Dev.7z
bfe474fe29eed0ffb567556995f98051dcdfbb89 wxMSW-3.0.0-rc2_vc100_x64_ReleaseDLL.7z
1a4aa9a983987cd2ab9e6398cb11dedfd66bea2d wxMSW-3.0.0-rc2_vc100_x64_ReleaseDLL.msi
0d89da7e3e72b094a04ae37e49e30197e6e33bcb wxMSW-3.0.0-rc2_vc100_x64_ReleasePDB.7z
e4d31dcca207616ab9d0b9702976a2b21ae126a1 wxMSW-3.0.0-rc2_vc100_x86_ReleaseDLL.msi
05aa6624ff1fab4a9ed2c639327648dcafda0efd wxMSW-3.0.0-rc2_vc110_Dev.7z
ebbd9be982aa66abf3793e8700be98d14486fe0c wxMSW-3.0.0-rc2_vc110_ReleaseDLL.7z
79c0f8bb3d4197c83a14991b98bf65386be9951c wxMSW-3.0.0-rc2_vc110_ReleasePDB.7z
a2a109293b88decc944e43966bbaab90a049d398 wxMSW-3.0.0-rc2_vc110_x64_Dev.7z
bceedf4c1c131a1b37d5421c48f0f9098009b3bc wxMSW-3.0.0-rc2_vc110_x64_ReleaseDLL.7z
bb034c5d0f573054afd2864460e22bf95767cca4 wxMSW-3.0.0-rc2_vc110_x64_ReleaseDLL.msi
12721bf2607a412f18c620c52db30fa56629c066 wxMSW-3.0.0-rc2_vc110_x64_ReleasePDB.7z
d4da114c62ea4f246f907981447205bb90007e8b wxMSW-3.0.0-rc2_vc110_x86_ReleaseDLL.msi
6f09a33634736cf7caa7c0acddea34d1d119cfae wxMSW-3.0.0-rc2_vc90_Dev.7z
640784f90996625fcc2a3b62c99b92936dfae2ce wxMSW-3.0.0-rc2_vc90_ReleaseDLL.7z
2a36ad418c856caa040d4efc8807dbb75dd88330 wxMSW-3.0.0-rc2_vc90_ReleasePDB.7z
f356b8edc7445271ce5a77c41f6b1370154d9799 wxMSW-3.0.0-rc2_vc90_x64_Dev.7z
282f02c23e7bcb331b1373a2b0b8a2f59f7d7a6e wxMSW-3.0.0-rc2_vc90_x64_ReleaseDLL.7z
69096f6ff598285e0a8117caba879b10c4b08528 wxMSW-3.0.0-rc2_vc90_x64_ReleaseDLL.msi
30c7442d37646b7c9d8a7be3d174b5b7c24cb093 wxMSW-3.0.0-rc2_vc90_x64_ReleasePDB.7z
d1fa1c531c1bdf1d7c8806038b51a5dab0fce158 wxMSW-3.0.0-rc2_vc90_x86_ReleaseDLL.msi
c084e9a5af9c082b9d201c0fee2919d7265578bb wxWidgets-3.0.0-rc2_Headers.7z
1d9e785e2526efe2b4f184c177ce383179348da7 wxMSW-3.0.0_gcc471TDM_Dev.7z
1abdb1eb3020625c1e1c803b562f77b631acd4cc wxMSW-3.0.0_gcc471TDM_ReleaseDLL.7z
3100fdac0a8be5533cbfde6964ad593b6a07cda0 wxMSW-3.0.0_gcc471TDM_x64_Dev.7z
c4b0064ec1d5907685659cbcc5347c8ea3ab0cc0 wxMSW-3.0.0_gcc471TDM_x64_ReleaseDLL.7z
bd8cf4814f07be3ddc5749598eb50738373b7430 wxMSW-3.0.0_gcc481TDM_Dev.7z
912b85b4c8de1bdb794c9f6fd71504849d4e8b19 wxMSW-3.0.0_gcc481TDM_ReleaseDLL.7z
0c55cff4957a599f032430a25bd2049b2e771db9 wxMSW-3.0.0_gcc481TDM_x64_Dev.7z
6a39af55d53e46957bddf97b451acddb591a85f6 wxMSW-3.0.0_gcc481TDM_x64_ReleaseDLL.7z
7f6e73ecb79373fe65adcc1aa1ecad8687944ba9 wxMSW-3.0.0_vc90_Dev.7z
910e0bf0113521d49682cbd71c14991547b47d9b wxMSW-3.0.0_vc90_ReleaseDLL.7z
7ad4c98bd8366b59a0264507ecc69510cddd0b0f wxMSW-3.0.0_vc90_ReleasePDB.7z
a9340e4ee9748e2d20646f0602ab0e8770f2e2c4 wxMSW-3.0.0_vc90_x64_Dev.7z
3c4daa2c37f7d32e4d0e94436da5c075ab4c2d40 wxMSW-3.0.0_vc90_x64_ReleaseDLL.7z
7ce8db26a1f2f6262a876b67631f6015c07e2b4c wxMSW-3.0.0_vc90_x64_ReleasePDB.7z
eb695388ed136115c90f2c1f67cfed73f58d7570 wxMSW-3.0.0_vc100_Dev.7z
e11800ed1ae1b15c6bb090f30aa81d95f9ccb21e wxMSW-3.0.0_vc100_ReleaseDLL.7z
9825d9ab0b6be619555a7dfb3428ca63d97c1edf wxMSW-3.0.0_vc100_ReleasePDB.7z
0e5fec3fb8052bcb10ac995a62a4245d66ea54bd wxMSW-3.0.0_vc100_x64_Dev.7z
b9c3773ded5633bd751701491204666d8e919580 wxMSW-3.0.0_vc100_x64_ReleaseDLL.7z
ceb6eeaffff187e1e32fbd0b51d915c547a82673 wxMSW-3.0.0_vc100_x64_ReleasePDB.7z
3180663d7f31a0569679e77a43cb89a764ce7709 wxMSW-3.0.0_vc110_Dev.7z
3507a63729251b1a820cac228bf316369d93b553 wxMSW-3.0.0_vc110_ReleaseDLL.7z
72aead1781b8d472a40d40609c8f457e154331cb wxMSW-3.0.0_vc110_ReleasePDB.7z
7913f34bd92bc4a50a6d54e952e79e6403cb8125 wxMSW-3.0.0_vc110_x64_Dev.7z
2ffc603abbef783280c6ddfff0efcc3aed2ff3df wxMSW-3.0.0_vc110_x64_ReleaseDLL.7z
c1e4bb79569ccfbf73ccaca7dfc286f6e4ec553d wxMSW-3.0.0_vc110_x64_ReleasePDB.7z
0a33015bfc00729063c2dfcacb06080e41b416b7 wxMSW-3.0.0_vc120_Dev.7z
672c58c5f46c82fd62a09c5d84d9b8b8020a2137 wxMSW-3.0.0_vc120_ReleaseDLL.7z
2c408e39c9a104bf1ad594f28be5d36e24ac0764 wxMSW-3.0.0_vc120_ReleasePDB.7z
4aef4cff95215daa46c1ba67e36a4135c1da3d13 wxMSW-3.0.0_vc120_x64_Dev.7z
d6086391b72dee6ba96f6cacbe18c4ca140231e8 wxMSW-3.0.0_vc120_x64_ReleaseDLL.7z
5ef9495d65db950e5177a7781ee8bdeb36e1f575 wxMSW-3.0.0_vc120_x64_ReleasePDB.7z
Credit

View File

@@ -1,7 +1,7 @@
wxWidgets 3.0.0-rc2
===================
wxWidgets 3.0.0
===============
This directory contains the files for wxWidgets 3.0.0-rc2 release.
This directory contains the files for wxWidgets 3.0.0 release.
Please notice that since the 2.9 series only a single source distribution is
provided instead of the multiple distributions containing only the files for
@@ -24,10 +24,12 @@ Check Sums
To verify your download you can use the following sha1sums:
143b08577a4da2381d32db86cade9a6419353b9d wxWidgets-3.0.0-rc2.7z
edbcb9a105567d2ab4838183dd232317fce8ccc7 wxWidgets-3.0.0-rc2.tar.bz2
20b91a32c9e618c7f6dc767d74cc879227c59fdc wxWidgets-3.0.0-rc2.zip
aa77457c4e13de229d7ff83efaff732f530c760d wxWidgets-3.0.0-rc2-docs-html.tar.bz2
6ec5137bf53bc55ae0d213ec1c00735e8684981f wxWidgets-3.0.0-rc2-docs-html.zip
606a25aa73b9b34d3e5434d708a9026c22de1d25 wxWidgets-3.0.0-rc2_headers.7z
01751f115a8a92a51122245ffef390c273f6e642 wxWidgets-3.0.0.7z
b862990fc3dd97b4194c3955ff73b4f6aa47f823 wxWidgets-3.0.0.tar.bz2
73afa20f3fe911f90fce344098c06e2269e69585 wxWidgets-3.0.0.zip
6ec5137bf53bc55ae0d213ec1c00735e8684981f wxWidgets-3.0.0-docs-html.zip
aa77457c4e13de229d7ff83efaff732f530c760d wxWidgets-3.0.0-docs-html.tar.bz2
a482ad56606352a73e0f095af7014095c299791a wxWidgets-3.0.0-docs-chm.zip
c6f45af13a376364e4169f91a1ab2191a500ab44 wxWidgets-3.0.0_headers.7z
c1211acee0b3c24982607f1febb2d81ce0b5c2fd wxMSW-3.0.0-Setup.exe

View File

@@ -4,6 +4,8 @@
Before making the release
-------------------------
Change the version in include/wx/version.h.
Update docs/readme.txt. Please review its contents in addition to just
changing the version number.

View File

@@ -268,9 +268,22 @@ public:
wxCharTypeBuffer(size_t len)
{
this->m_data =
new Data((CharType *)malloc((len + 1)*sizeof(CharType)), len);
this->m_data->Get()[len] = (CharType)0;
CharType* const str = (CharType *)malloc((len + 1)*sizeof(CharType));
if ( str )
{
str[len] = (CharType)0;
// There is a potential memory leak here if new throws because it
// fails to allocate Data, we ought to use new(nothrow) here, but
// this might fail to compile under some platforms so until this
// can be fully tested, just live with this (rather unlikely, as
// Data is a small object) potential leak.
this->m_data = new Data(str, len);
}
else
{
this->m_data = this->GetNullData();
}
}
wxCharTypeBuffer(const wxCharTypeBuffer& src)

View File

@@ -560,7 +560,7 @@ protected:
// just recalculate.
void CalculateAreas( int btnWidth = 0 );
// Standard textctrl positioning routine. Just give it platform-dependant
// Standard textctrl positioning routine. Just give it platform-dependent
// textctrl coordinate adjustment.
virtual void PositionTextCtrl( int textCtrlXAdjust = 0,
int textCtrlYAdjust = 0);
@@ -701,7 +701,7 @@ protected:
// area used by the button
wxSize m_btnSize;
// platform-dependant customization and other flags
// platform-dependent customization and other flags
wxUint32 m_iFlags;
// custom style for m_text

View File

@@ -16,6 +16,11 @@
#include "wx/gtk/private/string.h"
#include "wx/gtk/private/gtk2-compat.h"
#ifndef G_VALUE_INIT
// introduced in GLib 2.30
#define G_VALUE_INIT { 0, { { 0 } } }
#endif
// pango_version_check symbol is quite recent ATM (4/2007)... so we
// use our own wrapper which implements a smart trick.
// Use this function as you'd use pango_version_check:

View File

@@ -47,8 +47,6 @@ public:
virtual bool Enable( bool enable = true );
// implementation
void OnSize( wxSizeEvent &event );
int m_pos;
protected:
@@ -61,9 +59,7 @@ protected:
private:
typedef wxSpinButtonBase base_type;
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxSpinButton)
};
#endif
// _WX_GTK_SPINBUTT_H_
#endif // _WX_GTK_SPINBUTT_H_

View File

@@ -133,6 +133,9 @@ protected:
virtual wxSize DoGetSizeFromTextSize(int xlen, int ylen = -1) const;
// Override this one to avoid eating events from our popup listbox.
virtual wxWindow *MSWFindItem(long id, WXHWND hWnd) const;
// this is the implementation of GetEditHWND() which can also be used when
// we don't have the edit control, it simply returns NULL then
//

View File

@@ -121,6 +121,9 @@ protected:
// one
virtual WXHBRUSH DoMSWControlColor(WXHDC pDC, wxColour colBg, WXHWND hWnd);
// Look in our GetSubcontrols() for the windows with the given ID.
virtual wxWindow *MSWFindItem(long id, WXHWND hWnd) const;
// for controls like radiobuttons which are really composite this array
// holds the ids (not HWNDs!) of the sub controls
wxArrayLong m_subControls;

View File

@@ -37,7 +37,12 @@
#endif
#include <stdlib.h>
#ifndef _CRTBLD
// Defining _CRTBLD should never be necessary at all, but keep it for now
// as there is no time to retest all the compilers before 3.0 release.
// Definitely do not use it with MSVS 2013 as defining it results in errors
// if the standard <assert.h> is included afterwards.
#if !defined(_CRTBLD) && !wxCHECK_VISUALC_VERSION(12)
// Needed when building with pure MS SDK
#define _CRTBLD
#endif

View File

@@ -116,13 +116,13 @@ public:
void SetLCID(WXLCID lcid);
// Returns the flags used for conversions between wxVariant and OLE
// VARIANT, see wxConvertVariantToOleFlags. The default value is
// VARIANT, see wxOleConvertVariantFlags. The default value is
// wxOleConvertVariant_Default but all the objects obtained by GetObject()
// inherit the flags from the one that created them.
long GetConvertVariantFlags() const;
// Sets the flags used for conversions between wxVariant and OLE VARIANT,
// see wxConvertVariantToOleFlags (default is wxOleConvertVariant_Default.
// see wxOleConvertVariantFlags (default is wxOleConvertVariant_Default.
void SetConvertVariantFlags(long flags);
public: // public for compatibility only, don't use m_dispatchPtr directly.

View File

@@ -206,7 +206,7 @@ public:
// to understand why does it work, look at SubclassWin() code and comments
bool IsOfStandardClass() const { return m_oldWndProc != NULL; }
wxWindow *FindItem(long id) const;
wxWindow *FindItem(long id, WXHWND hWnd = NULL) const;
wxWindow *FindItemByHWND(WXHWND hWnd, bool controlOnly = false) const;
// MSW only: true if this control is part of the main control
@@ -663,6 +663,15 @@ protected:
bool MSWEnableHWND(WXHWND hWnd, bool enable);
// Return the pointer to this window or one of its sub-controls if this ID
// and HWND combination belongs to one of them.
//
// This is used by FindItem() and is overridden in wxControl, see there.
virtual wxWindow* MSWFindItem(long WXUNUSED(id), WXHWND WXUNUSED(hWnd)) const
{
return NULL;
}
private:
// common part of all ctors
void Init();

View File

@@ -143,6 +143,14 @@ public:
virtual void MacNewFile() ;
// in response of a reopen-application apple event
virtual void MacReopenApp() ;
// Notice that this is just a placeholder and doesn't work yet!
//
// Override this to return false from a non-bundled console app in order to
// stay in background instead of being made a foreground application as
// happens by default.
virtual bool OSXIsGUIApplication() { return true; }
#if wxOSX_USE_COCOA_OR_IPHONE
// immediately before the native event loop launches
virtual void OSXOnWillFinishLaunching();

View File

@@ -74,10 +74,6 @@ public:
virtual void MarkDirty();
virtual void DiscardEdits();
// set the grayed out hint text
virtual bool SetHint(const wxString& hint);
virtual wxString GetHint() const;
// text control under some platforms supports the text styles: these
// methods apply the given text style to the given selection or to
// set/get the style which will be used for all appended text
@@ -151,7 +147,6 @@ protected:
private :
wxMenu *m_privateContextMenu;
wxString m_hintString;
DECLARE_EVENT_TABLE()
};

View File

@@ -81,6 +81,10 @@ public:
virtual bool SendMaxLenEvent();
// set the grayed out hint text
virtual bool SetHint(const wxString& hint);
virtual wxString GetHint() const;
// Implementation
// --------------
@@ -102,6 +106,8 @@ protected:
// need to make this public because of the current implementation via callbacks
unsigned long m_maxLength;
private:
wxString m_hintString;
};
#endif // _WX_OSX_TEXTENTRY_H_

View File

@@ -156,7 +156,7 @@ protected:
wxDECLARE_NO_COPY_CLASS(wxTextMeasureBase);
};
// Include the platform dependant class declaration, if any.
// Include the platform dependent class declaration, if any.
#if defined(__WXGTK20__)
#include "wx/gtk/private/textmeasure.h"
#elif defined(__WXMSW__)

View File

@@ -80,7 +80,7 @@ public:
private:
// (re)init
void Init() { m_defaultState = false; }
void Init() { m_count = 0; m_defaultState = false; }
// the total number of items we handle
unsigned m_count;

View File

@@ -29,7 +29,7 @@
#define wxMINOR_VERSION 0
#define wxRELEASE_NUMBER 0
#define wxSUBRELEASE_NUMBER 0
#define wxVERSION_STRING wxT("wxWidgets 3.0.0-rc2")
#define wxVERSION_STRING wxT("wxWidgets 3.0.0")
/* nothing to update below this line when updating the version */
/* ---------------------------------------------------------------------------- */

View File

@@ -1271,7 +1271,7 @@ public:
@return @true on success, @false if an error occurred (for example,
the file doesn't exist).
*/
bool SetPermissions(int permissions)
bool SetPermissions(int permissions);
/**
Sets the file creation and last access/modification times (any of the pointers

View File

@@ -9,7 +9,7 @@
@class wxGraphicsPath
A wxGraphicsPath is a native representation of a geometric path. The
contents are specific an private to the respective renderer. Instances are
contents are specific and private to the respective renderer. Instances are
reference counted and can therefore be assigned as usual. The only way to
get a valid instance is by using wxGraphicsContext::CreatePath() or
wxGraphicsRenderer::CreatePath().

View File

@@ -1372,7 +1372,7 @@ public:
/**
The data.
*/
long GetData() const;
wxUIntPtr GetData() const;
/**
The image.

View File

@@ -433,8 +433,8 @@ public:
@note
Please note that @e wxID_ABOUT and @e wxID_EXIT are predefined by wxWidgets
and have a special meaning since entries using these IDs will be taken out
of the normal menus under MacOS X and will be inserted into the system menu
(following the appropriate MacOS X interface guideline).
of the normal menus under OS X and will be inserted into the system menu
(following the appropriate OS X interface guideline).
Menu items may be either @e normal items, @e check items or @e radio items.
Normal items don't have any special properties while the check items have a

View File

@@ -610,7 +610,7 @@ public:
/**
Returns the flags used for conversions between wxVariant and OLE
VARIANT, see wxConvertVariantToOleFlags.
VARIANT, see wxOleConvertVariantFlags.
The default value is wxOleConvertVariant_Default for compatibility but
it can be changed using SetConvertVariantFlags().
@@ -624,7 +624,7 @@ public:
/**
Sets the flags used for conversions between wxVariant and OLE VARIANT,
see wxConvertVariantToOleFlags.
see wxOleConvertVariantFlags.
The default value is wxOleConvertVariant_Default.

View File

@@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: wxWidgets 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 19:04+0200\n"
"PO-Revision-Date: 2013-08-23 19:26+0100\n"
"PO-Revision-Date: 2013-11-02 14:37+0100\n"
"Last-Translator: Xabier Aramendi (Azpidatziak) <azpidatziak@gmail.com>\n"
"Language-Team: (EUS_Xabier Aramendi) <azpidatziak@gmail.com>\n"
"Language: eu\n"
@@ -1146,14 +1146,12 @@ msgid "Add"
msgstr "Gehitua"
#: ../src/richtext/richtextbuffer.cpp:10751
#, fuzzy
msgid "Add Column"
msgstr "Gehitu zutabea"
msgstr "Gehitu Zutabea"
#: ../src/richtext/richtextbuffer.cpp:10688
#, fuzzy
msgid "Add Row"
msgstr "Gehitu lerroa"
msgstr "Gehitu Lerroa"
#: ../src/html/helpwnd.cpp:439
msgid "Add current page to bookmarks"
@@ -2576,14 +2574,12 @@ msgid "Delete A&ll"
msgstr "Ezabatu &Denak"
#: ../src/richtext/richtextbuffer.cpp:10637
#, fuzzy
msgid "Delete Column"
msgstr "Ezabatu zutabea"
msgstr "Ezabatu Zutabea"
#: ../src/richtext/richtextbuffer.cpp:10587
#, fuzzy
msgid "Delete Row"
msgstr "Ezabatu lerroa"
msgstr "Ezabatu Lerroa"
#: ../src/richtext/richtextstyledlg.cpp:779
msgid "Delete Style"

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: wxWidgets 3.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-01 19:04+0200\n"
"PO-Revision-Date: 2013-07-31 14:30+0100\n"
"PO-Revision-Date: 2013-10-30 10:18+0100\n"
"Last-Translator: Dingoe <translations@gvmelle.com>\n"
"Language-Team: wxWidgets translators <wx-translators@wxwidgets.org>\n"
"Language: nl_NL\n"
@@ -1145,14 +1145,12 @@ msgid "Add"
msgstr "Toevoegen"
#: ../src/richtext/richtextbuffer.cpp:10751
#, fuzzy
msgid "Add Column"
msgstr "Voeg kolom toe"
msgstr "Kolom toevoegen"
#: ../src/richtext/richtextbuffer.cpp:10688
#, fuzzy
msgid "Add Row"
msgstr "voeg rij toe"
msgstr "Rij toevoegen"
#: ../src/html/helpwnd.cpp:439
msgid "Add current page to bookmarks"
@@ -1667,7 +1665,7 @@ msgstr "Kan niet schrijven naar deflate stream: %s"
#: ../src/msw/msgdlg.cpp:489 ../src/msw/progdlg.cpp:673
#: ../src/gtk1/fontdlg.cpp:144 ../src/motif/msgdlg.cpp:196
msgid "Cancel"
msgstr "Annuleer"
msgstr "Annuleren"
#: ../src/os2/thread.cpp:116
msgid "Cannot create mutex."
@@ -2579,12 +2577,10 @@ msgid "Delete A&ll"
msgstr "A&lles verwijderen"
#: ../src/richtext/richtextbuffer.cpp:10637
#, fuzzy
msgid "Delete Column"
msgstr "Kolom verwijderen"
#: ../src/richtext/richtextbuffer.cpp:10587
#, fuzzy
msgid "Delete Row"
msgstr "Rij verwijderen"
@@ -6322,7 +6318,7 @@ msgid ""
"[Cancel] if it cannot be replaced"
msgstr ""
"De tekenset '%s' is onbekend. U kunt een andere\n"
"tekenset kiezen om te vervangen of kies [Annuleer]\n"
"tekenset kiezen om te vervangen of kies [Annuleren]\n"
"als het niet vervangen kan worden"
#: ../src/msw/ole/dataobj.cpp:367

View File

@@ -2058,7 +2058,7 @@ void MyFrame::OnIdle( wxIdleEvent& WXUNUSED(event) )
#endif
, s_windowFocus->GetName().c_str()
#ifdef __WXMSW__
, (unsigned int) s_windowFocus->GetHWND()
, (unsigned)wxPtrToUInt(s_windowFocus->GetHWND())
#endif
);
}

View File

@@ -1305,9 +1305,9 @@ void MyListCtrl::OnRightClick(wxMouseEvent& event)
void MyListCtrl::LogEvent(const wxListEvent& event, const wxChar *eventName)
{
wxLogMessage(wxT("Item %ld: %s (item text = %s, data = %ld)"),
wxLogMessage(wxT("Item %d: %s (item text = %s, data = %ld)"),
event.GetIndex(), eventName,
event.GetText().c_str(), event.GetData());
event.GetText(), static_cast<long>(event.GetData()));
}
wxString MyListCtrl::OnGetItemText(long item, long column) const

View File

@@ -171,42 +171,42 @@ SimpleTransientPopup::~SimpleTransientPopup()
void SimpleTransientPopup::Popup(wxWindow* WXUNUSED(focus))
{
wxLogMessage( wxT("0x%lx SimpleTransientPopup::Popup"), long(this) );
wxLogMessage( "%p SimpleTransientPopup::Popup", this );
wxPopupTransientWindow::Popup();
}
void SimpleTransientPopup::OnDismiss()
{
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnDismiss"), long(this) );
wxLogMessage( "%p SimpleTransientPopup::OnDismiss", this );
wxPopupTransientWindow::OnDismiss();
}
bool SimpleTransientPopup::ProcessLeftDown(wxMouseEvent& event)
{
wxLogMessage( wxT("0x%lx SimpleTransientPopup::ProcessLeftDown pos(%d, %d)"), long(this), event.GetX(), event.GetY());
wxLogMessage( "%p SimpleTransientPopup::ProcessLeftDown pos(%d, %d)", this, event.GetX(), event.GetY());
return wxPopupTransientWindow::ProcessLeftDown(event);
}
bool SimpleTransientPopup::Show( bool show )
{
wxLogMessage( wxT("0x%lx SimpleTransientPopup::Show %d"), long(this), int(show));
wxLogMessage( "%p SimpleTransientPopup::Show %d", this, int(show));
return wxPopupTransientWindow::Show(show);
}
void SimpleTransientPopup::OnSize(wxSizeEvent &event)
{
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnSize"), long(this) );
wxLogMessage( "%p SimpleTransientPopup::OnSize", this );
event.Skip();
}
void SimpleTransientPopup::OnSetFocus(wxFocusEvent &event)
{
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnSetFocus"), long(this) );
wxLogMessage( "%p SimpleTransientPopup::OnSetFocus", this );
event.Skip();
}
void SimpleTransientPopup::OnKillFocus(wxFocusEvent &event)
{
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnKillFocus"), long(this) );
wxLogMessage( "%p SimpleTransientPopup::OnKillFocus", this );
event.Skip();
}
@@ -220,8 +220,8 @@ void SimpleTransientPopup::OnMouse(wxMouseEvent &event)
if (rect.Contains(event.GetPosition()))
{
colour = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT);
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnMouse pos(%d, %d)"),
long(event.GetEventObject()), event.GetX(), event.GetY());
wxLogMessage( "%p SimpleTransientPopup::OnMouse pos(%d, %d)",
event.GetEventObject(), event.GetX(), event.GetY());
}
if (colour != m_mouseText->GetBackgroundColour())
@@ -234,7 +234,7 @@ void SimpleTransientPopup::OnMouse(wxMouseEvent &event)
void SimpleTransientPopup::OnButton(wxCommandEvent& event)
{
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnButton ID %d"), long(this), event.GetId());
wxLogMessage( "%p SimpleTransientPopup::OnButton ID %d", this, event.GetId());
wxButton *button = wxDynamicCast(event.GetEventObject(), wxButton);
if (button->GetLabel() == wxT("Press Me"))
@@ -247,8 +247,8 @@ void SimpleTransientPopup::OnButton(wxCommandEvent& event)
void SimpleTransientPopup::OnSpinCtrl(wxSpinEvent& event)
{
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnSpinCtrl ID %d Value %d"),
long(this), event.GetId(), event.GetInt());
wxLogMessage( "%p SimpleTransientPopup::OnSpinCtrl ID %d Value %d",
this, event.GetId(), event.GetInt());
event.Skip();
}
@@ -412,7 +412,7 @@ void MyFrame::OnStartSimplePopup(wxCommandEvent& event)
wxPoint pos = btn->ClientToScreen( wxPoint(0,0) );
wxSize sz = btn->GetSize();
m_simplePopup->Position( pos, sz );
wxLogMessage( wxT("0x%lx Simple Popup Shown pos(%d, %d) size(%d, %d)"), long(m_simplePopup), pos.x, pos.y, sz.x, sz.y );
wxLogMessage( "%p Simple Popup Shown pos(%d, %d) size(%d, %d)", m_simplePopup, pos.x, pos.y, sz.x, sz.y );
m_simplePopup->Popup();
}
@@ -425,7 +425,7 @@ void MyFrame::OnStartScrolledPopup(wxCommandEvent& event)
wxPoint pos = btn->ClientToScreen( wxPoint(0,0) );
wxSize sz = btn->GetSize();
m_scrolledPopup->Position( pos, sz );
wxLogMessage( wxT("0x%lx Scrolled Popup Shown pos(%d, %d) size(%d, %d)"), long(m_scrolledPopup), pos.x, pos.y, sz.x, sz.y );
wxLogMessage( "%p Scrolled Popup Shown pos(%d, %d) size(%d, %d)", m_scrolledPopup, pos.x, pos.y, sz.x, sz.y );
m_scrolledPopup->Popup();
}
@@ -488,7 +488,7 @@ void MyDialog::OnStartSimplePopup(wxCommandEvent& event)
wxPoint pos = btn->ClientToScreen( wxPoint(0,0) );
wxSize sz = btn->GetSize();
m_simplePopup->Position( pos, sz );
wxLogMessage( wxT("0x%lx Dialog Simple Popup Shown pos(%d, %d) size(%d, %d)"), long(m_simplePopup), pos.x, pos.y, sz.x, sz.y );
wxLogMessage( "%p Dialog Simple Popup Shown pos(%d, %d) size(%d, %d)", m_simplePopup, pos.x, pos.y, sz.x, sz.y );
m_simplePopup->Popup();
}
@@ -501,6 +501,6 @@ void MyDialog::OnStartScrolledPopup(wxCommandEvent& event)
wxPoint pos = btn->ClientToScreen( wxPoint(0,0) );
wxSize sz = btn->GetSize();
m_scrolledPopup->Position( pos, sz );
wxLogMessage( wxT("0x%lx Dialog Scrolled Popup Shown pos(%d, %d) size(%d, %d)"), long(m_scrolledPopup), pos.x, pos.y, sz.x, sz.y );
wxLogMessage( "%p Dialog Scrolled Popup Shown pos(%d, %d) size(%d, %d)", m_scrolledPopup, pos.x, pos.y, sz.x, sz.y );
m_scrolledPopup->Popup();
}

View File

@@ -1801,7 +1801,7 @@ void wxDataViewListStore::SetItemData( const wxDataViewItem& item, wxUIntPtr dat
wxUIntPtr wxDataViewListStore::GetItemData( const wxDataViewItem& item ) const
{
wxDataViewListStoreLine* line = m_data[GetRow(item)];
if (!line) return static_cast<wxUIntPtr>(NULL);
if (!line) return 0;
return line->GetData();
}

View File

@@ -517,7 +517,13 @@ IMPLEMENT_DYNAMIC_CLASS(wxWindowModalDialogEvent, wxCommandEvent)
void wxDialogBase::ShowWindowModal ()
{
ShowModal();
int retval = ShowModal();
// wxWindowModalDialogEvent relies on GetReturnCode() returning correct
// code. Rather than doing it manually in all ShowModal() overrides for
// native dialogs (and getting accidentally broken again), set it here.
// The worst that can happen is that it will be set twice to the same
// value.
SetReturnCode(retval);
SendWindowModalDialogEvent ( wxEVT_WINDOW_MODAL_DIALOG_CLOSED );
}

View File

@@ -315,14 +315,20 @@ static bool IsUNCPath(const wxString& path, wxPathFormat format)
!IsDOSPathSep(path[2u]);
}
#ifndef __WIN32__
// Under Unix-ish systems (basically everything except Windows but we can't
// just test for non-__WIN32__ because Cygwin defines it, yet we want to use
// lstat() under it, so test for all the rest explicitly) we may work either
// with the file itself or its target if it's a symbolic link and we should
// dereference it, as determined by wxFileName::ShouldFollowLink() and the
// absence of the wxFILE_EXISTS_NO_FOLLOW flag. StatAny() can be used to stat
// the appropriate file with an extra twist that it also works when there is no
// wxFileName object at all, as is the case in static methods.
// Under Unix-ish systems (basically everything except Windows) we may work
// either with the file itself or its target if it's a symbolic link and we
// should dereference it, as determined by wxFileName::ShouldFollowLink() and
// the absence of the wxFILE_EXISTS_NO_FOLLOW flag. StatAny() can be used to
// stat the appropriate file with an extra twist that it also works when there
// is no wxFileName object at all, as is the case in static methods.
#if defined(__UNIX_LIKE__) || defined(__WXMAC__) || defined(__OS2__) || (defined(__DOS__) && defined(__WATCOMC__))
#define wxHAVE_LSTAT
#endif
#ifdef wxHAVE_LSTAT
// Private implementation, don't call directly, use one of the overloads below.
bool DoStatAny(wxStructStat& st, wxString path, bool dereference)
@@ -363,7 +369,7 @@ bool StatAny(wxStructStat& st, const wxFileName& fn)
return DoStatAny(st, fn.GetFullPath(), fn.ShouldFollowLink());
}
#endif // !__WIN32__
#endif // wxHAVE_LSTAT
// ----------------------------------------------------------------------------
// private constants
@@ -1851,7 +1857,7 @@ bool wxFileName::SameAs(const wxFileName& filepath, wxPathFormat format) const
if ( fn1.GetFullPath() == fn2.GetFullPath() )
return true;
#if defined(__UNIX__)
#ifdef wxHAVE_LSTAT
wxStructStat st1, st2;
if ( StatAny(st1, fn1) && StatAny(st2, fn2) )
{
@@ -1859,7 +1865,7 @@ bool wxFileName::SameAs(const wxFileName& filepath, wxPathFormat format) const
return true;
}
//else: It's not an error if one or both files don't exist.
#endif // defined __UNIX__
#endif // wxHAVE_LSTAT
return false;
}
@@ -2752,7 +2758,7 @@ bool wxFileName::GetTimes(wxDateTime *dtAccess,
return true;
}
#elif defined(__UNIX_LIKE__) || defined(__WXMAC__) || defined(__OS2__) || (defined(__DOS__) && defined(__WATCOMC__))
#elif defined(wxHAVE_LSTAT)
// no need to test for IsDir() here
wxStructStat stBuf;
if ( StatAny(stBuf, *this) )

View File

@@ -333,7 +333,7 @@ void wxColourDatabase::Initialize()
{wxT("LIGHT GREY"), 192, 192, 192},
{wxT("LIGHT STEEL BLUE"), 143, 143, 188},
{wxT("LIME GREEN"), 50, 204, 50},
{wxT("LIGHT MAGENTA"), 255, 0, 255},
{wxT("LIGHT MAGENTA"), 255, 119, 255},
{wxT("MAGENTA"), 255, 0, 255},
{wxT("MAROON"), 142, 35, 107},
{wxT("MEDIUM AQUAMARINE"), 50, 204, 153},

View File

@@ -76,9 +76,10 @@ wxXLocale& wxXLocale::GetCLocale()
{
if ( !gs_cLocale )
{
// NOTE: bcc551 has trouble doing static_cast with incomplete
// type definition. reinterpret_cast used as workaround
gs_cLocale = new wxXLocale( reinterpret_cast<wxXLocaleCTag *>(NULL) );
// Notice that we need a separate variable because clang 3.1 refuses to
// cast nullptr (which is how NULL is defined in it) to anything.
static wxXLocaleCTag* const tag = NULL;
gs_cLocale = new wxXLocale(tag);
}
return *gs_cLocale;

View File

@@ -4454,7 +4454,7 @@ void wxDataViewMainWindow::OnColumnsCountChanged()
editableCount++;
}
m_useCellFocus = (editableCount > 1);
m_useCellFocus = (editableCount > 0);
UpdateDisplay();
}

View File

@@ -3496,6 +3496,12 @@ size_t wxListMainWindow::GetItemCount() const
void wxListMainWindow::SetItemCount(long count)
{
// Update the current item if it's not valid any longer (notice that this
// invalidates it completely if the control is becoming empty, which is the
// right thing to do).
if ( HasCurrent() && m_current >= (size_t)count )
ChangeCurrent(count - 1);
m_selStore.SetItemCount(count);
m_countVirt = count;

View File

@@ -202,7 +202,7 @@ void wxBitmapComboBox::SetItemBitmap(unsigned int n, const wxBitmap& bitmap)
if ( gtk_tree_model_iter_nth_child( model, &iter, NULL, n ) )
{
GValue value0 = { 0, };
GValue value0 = G_VALUE_INIT;
g_value_init( &value0, G_TYPE_OBJECT );
g_value_set_object( &value0, bitmap.GetPixbuf() );
gtk_list_store_set_value( GTK_LIST_STORE(model), &iter,
@@ -222,7 +222,7 @@ wxBitmap wxBitmapComboBox::GetItemBitmap(unsigned int n) const
if (gtk_tree_model_iter_nth_child (model, &iter, NULL, n))
{
GValue value = { 0, };
GValue value = G_VALUE_INIT;
gtk_tree_model_get_value( model, &iter,
m_bitmapCellIndex, &value );
GdkPixbuf* pixbuf = (GdkPixbuf*) g_value_get_object( &value );
@@ -300,7 +300,7 @@ void wxBitmapComboBox::GTKInsertComboBoxTextItem( unsigned int n, const wxString
gtk_list_store_insert( store, &iter, n );
GValue value = { 0, };
GValue value = G_VALUE_INIT;
g_value_init( &value, G_TYPE_STRING );
g_value_set_string( &value, wxGTK_CONV( text ) );
gtk_list_store_set_value( store, &iter, m_stringCellIndex, &value );

View File

@@ -15,6 +15,7 @@
#include "wx/checklst.h"
#include <gtk/gtk.h>
#include "wx/gtk/private.h"
//-----------------------------------------------------------------------------
// "toggled"
@@ -111,7 +112,7 @@ bool wxCheckListBox::IsChecked(unsigned int index) const
if(!res)
return false;
GValue value = {0, };
GValue value = G_VALUE_INIT;
gtk_tree_model_get_value(GTK_TREE_MODEL(m_liststore),
&iter,
0, //column

View File

@@ -208,7 +208,7 @@ int wxChoice::FindString( const wxString &item, bool bCase ) const
int count = 0;
do
{
GValue value = { 0, };
GValue value = G_VALUE_INIT;
gtk_tree_model_get_value( model, &iter, m_stringCellIndex, &value );
wxString str = wxGTK_CONV_BACK( g_value_get_string( &value ) );
g_value_unset( &value );
@@ -239,7 +239,7 @@ void wxChoice::SetString(unsigned int n, const wxString &text)
GtkTreeIter iter;
if (gtk_tree_model_iter_nth_child (model, &iter, NULL, n))
{
GValue value = { 0, };
GValue value = G_VALUE_INIT;
g_value_init( &value, G_TYPE_STRING );
g_value_set_string( &value, wxGTK_CONV( text ) );
gtk_list_store_set_value( GTK_LIST_STORE(model), &iter, m_stringCellIndex, &value );
@@ -260,7 +260,7 @@ wxString wxChoice::GetString(unsigned int n) const
GtkTreeIter iter;
if (gtk_tree_model_iter_nth_child (model, &iter, NULL, n))
{
GValue value = { 0, };
GValue value = G_VALUE_INIT;
gtk_tree_model_get_value( model, &iter, m_stringCellIndex, &value );
wxString tmp = wxGTK_CONV_BACK( g_value_get_string( &value ) );
g_value_unset( &value );
@@ -305,10 +305,7 @@ void wxChoice::SetColumns(int n)
int wxChoice::GetColumns() const
{
// gtk_combo_box_get_wrap_width() was added in gtk 2.6
gint intval;
g_object_get(G_OBJECT(m_widget), "wrap-width", &intval, NULL);
return intval;
return gtk_combo_box_get_wrap_width(GTK_COMBO_BOX(m_widget));
}
void wxChoice::GTKDisableEvents()

View File

@@ -608,6 +608,7 @@ gtk_wx_tree_model_get_type (void)
sizeof (GtkWxTreeModel),
0,
wxgtk_tree_model_init,
NULL
};
static const GInterfaceInfo tree_model_iface_info =
@@ -1114,6 +1115,7 @@ gtk_wx_cell_renderer_text_get_type (void)
sizeof (GtkWxCellRendererText),
0, /* n_preallocs */
gtk_wx_cell_renderer_text_init,
NULL
};
cell_wx_type = g_type_register_static( GTK_TYPE_CELL_RENDERER_TEXT,
@@ -1264,6 +1266,7 @@ gtk_wx_cell_renderer_get_type (void)
sizeof (GtkWxCellRenderer),
0, /* n_preallocs */
gtk_wx_cell_renderer_init,
NULL
};
cell_wx_type = g_type_register_static( GTK_TYPE_CELL_RENDERER,
@@ -1875,7 +1878,7 @@ void wxDataViewRenderer::SetMode( wxDataViewCellMode mode )
m_mode = mode;
// This value is most often ignored in GtkTreeView
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, gtk_cell_renderer_mode_get_type() );
g_value_set_enum( &gvalue, gtkMode );
g_object_set_property( G_OBJECT(m_renderer), "mode", &gvalue );
@@ -1936,7 +1939,7 @@ void wxDataViewRenderer::GtkApplyAlignment(GtkCellRenderer *renderer)
else if (align & wxALIGN_CENTER_HORIZONTAL)
xalign = 0.5;
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_FLOAT );
g_value_set_float( &gvalue, xalign );
g_object_set_property( G_OBJECT(renderer), "xalign", &gvalue );
@@ -1950,7 +1953,7 @@ void wxDataViewRenderer::GtkApplyAlignment(GtkCellRenderer *renderer)
else if (align & wxALIGN_CENTER_VERTICAL)
yalign = 0.5;
GValue gvalue2 = { 0, };
GValue gvalue2 = G_VALUE_INIT;
g_value_init( &gvalue2, G_TYPE_FLOAT );
g_value_set_float( &gvalue2, yalign );
g_object_set_property( G_OBJECT(renderer), "yalign", &gvalue2 );
@@ -1976,7 +1979,7 @@ void wxDataViewRenderer::EnableEllipsize(wxEllipsizeMode mode)
// we use the same values in wxEllipsizeMode as PangoEllipsizeMode so we
// can just cast between them
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, PANGO_TYPE_ELLIPSIZE_MODE );
g_value_set_enum( &gvalue, static_cast<PangoEllipsizeMode>(mode) );
g_object_set_property( G_OBJECT(rend), "ellipsize", &gvalue );
@@ -1989,7 +1992,7 @@ wxEllipsizeMode wxDataViewRenderer::GetEllipsizeMode() const
if ( !rend )
return wxELLIPSIZE_NONE;
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, PANGO_TYPE_ELLIPSIZE_MODE );
g_object_get_property( G_OBJECT(rend), "ellipsize", &gvalue );
wxEllipsizeMode
@@ -2052,7 +2055,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
{
const GdkColor * const gcol = attr.GetColour().GetColor();
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, GDK_TYPE_COLOR );
g_value_set_boxed( &gvalue, gcol );
g_object_set_property( G_OBJECT(renderer), "foreground_gdk", &gvalue );
@@ -2062,7 +2065,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
}
else
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_BOOLEAN );
g_value_set_boolean( &gvalue, FALSE );
g_object_set_property( G_OBJECT(renderer), "foreground-set", &gvalue );
@@ -2071,7 +2074,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
if (attr.GetItalic())
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, PANGO_TYPE_STYLE );
g_value_set_enum( &gvalue, PANGO_STYLE_ITALIC );
g_object_set_property( G_OBJECT(renderer), "style", &gvalue );
@@ -2081,7 +2084,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
}
else
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_BOOLEAN );
g_value_set_boolean( &gvalue, FALSE );
g_object_set_property( G_OBJECT(renderer), "style-set", &gvalue );
@@ -2091,7 +2094,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
if (attr.GetBold())
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, PANGO_TYPE_WEIGHT );
g_value_set_enum( &gvalue, PANGO_WEIGHT_BOLD );
g_object_set_property( G_OBJECT(renderer), "weight", &gvalue );
@@ -2101,7 +2104,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
}
else
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_BOOLEAN );
g_value_set_boolean( &gvalue, FALSE );
g_object_set_property( G_OBJECT(renderer), "weight-set", &gvalue );
@@ -2114,7 +2117,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
wxColour colour = attr.GetBackgroundColour();
const GdkColor * const gcol = colour.GetColor();
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, GDK_TYPE_COLOR );
g_value_set_boxed( &gvalue, gcol );
g_object_set_property( G_OBJECT(renderer), "cell-background_gdk", &gvalue );
@@ -2122,7 +2125,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
}
else
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_BOOLEAN );
g_value_set_boolean( &gvalue, FALSE );
g_object_set_property( G_OBJECT(renderer), "cell-background-set", &gvalue );
@@ -2147,7 +2150,7 @@ wxDataViewTextRenderer::wxDataViewTextRenderer( const wxString &varianttype, wxD
if (mode & wxDATAVIEW_CELL_EDITABLE)
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_BOOLEAN );
g_value_set_boolean( &gvalue, true );
g_object_set_property( G_OBJECT(m_renderer), "editable", &gvalue );
@@ -2164,7 +2167,7 @@ wxDataViewTextRenderer::wxDataViewTextRenderer( const wxString &varianttype, wxD
bool wxDataViewTextRenderer::SetTextValue(const wxString& str)
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_STRING );
g_value_set_string( &gvalue, wxGTK_CONV_FONT( str, GetOwner()->GetOwner()->GetFont() ) );
g_object_set_property( G_OBJECT(m_renderer), "text", &gvalue );
@@ -2175,7 +2178,7 @@ bool wxDataViewTextRenderer::SetTextValue(const wxString& str)
bool wxDataViewTextRenderer::GetTextValue(wxString& str) const
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_STRING );
g_object_get_property( G_OBJECT(m_renderer), "text", &gvalue );
str = wxGTK_CONV_BACK_FONT( g_value_get_string( &gvalue ), const_cast<wxDataViewTextRenderer*>(this)->GetOwner()->GetOwner()->GetFont() );
@@ -2200,7 +2203,7 @@ void wxDataViewTextRenderer::SetAlignment( int align )
else if (align & wxALIGN_CENTER_HORIZONTAL)
pangoAlign = PANGO_ALIGN_CENTER;
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, gtk_cell_renderer_mode_get_type() );
g_value_set_enum( &gvalue, pangoAlign );
g_object_set_property( G_OBJECT(m_renderer), "alignment", &gvalue );
@@ -2227,7 +2230,7 @@ namespace
// set "pixbuf" property on the given renderer
void SetPixbufProp(GtkCellRenderer *renderer, GdkPixbuf *pixbuf)
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_OBJECT );
g_value_set_object( &gvalue, pixbuf );
g_object_set_property( G_OBJECT(renderer), "pixbuf", &gvalue );
@@ -2294,7 +2297,7 @@ static void wxGtkToggleRendererToggledCallback( GtkCellRendererToggle *renderer,
wxDataViewToggleRenderer *cell = (wxDataViewToggleRenderer*) user_data;
// get old value
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_BOOLEAN );
g_object_get_property( G_OBJECT(renderer), "active", &gvalue );
// invert it
@@ -2329,7 +2332,7 @@ wxDataViewToggleRenderer::wxDataViewToggleRenderer( const wxString &varianttype,
}
else
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_BOOLEAN );
g_value_set_boolean( &gvalue, false );
g_object_set_property( G_OBJECT(m_renderer), "activatable", &gvalue );
@@ -2344,7 +2347,7 @@ bool wxDataViewToggleRenderer::SetValue( const wxVariant &value )
{
bool tmp = value;
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_BOOLEAN );
g_value_set_boolean( &gvalue, tmp );
g_object_set_property( G_OBJECT(m_renderer), "active", &gvalue );
@@ -2355,7 +2358,7 @@ bool wxDataViewToggleRenderer::SetValue( const wxVariant &value )
bool wxDataViewToggleRenderer::GetValue( wxVariant &value ) const
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_BOOLEAN );
g_object_get_property( G_OBJECT(m_renderer), "active", &gvalue );
value = g_value_get_boolean( &gvalue ) != 0;
@@ -2451,7 +2454,7 @@ void wxDataViewCustomRenderer::RenderText( const wxString &text,
GtkCellRendererText * const textRenderer = GtkGetTextRenderer();
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_STRING );
g_value_set_string( &gvalue, wxGTK_CONV_FONT( text, GetOwner()->GetOwner()->GetFont() ) );
g_object_set_property( G_OBJECT(textRenderer), "text", &gvalue );
@@ -2562,7 +2565,7 @@ wxDataViewProgressRenderer::~wxDataViewProgressRenderer()
void wxDataViewProgressRenderer::GTKSetLabel()
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_STRING );
// Take care to not use GetOwner() here if the label is empty, we can be
@@ -2590,7 +2593,7 @@ bool wxDataViewProgressRenderer::SetValue( const wxVariant &value )
#endif // !wxUSE_UNICODE
gint tmp = (long) value;
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_INT );
g_value_set_int( &gvalue, tmp );
g_object_set_property( G_OBJECT(m_renderer), "value", &gvalue );
@@ -2672,7 +2675,7 @@ wxSize wxDataViewChoiceRenderer::GetSize() const
bool wxDataViewChoiceRenderer::SetValue( const wxVariant &value )
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_STRING );
g_value_set_string(&gvalue,
wxGTK_CONV_FONT(value.GetString(),
@@ -2685,7 +2688,7 @@ bool wxDataViewChoiceRenderer::SetValue( const wxVariant &value )
bool wxDataViewChoiceRenderer::GetValue( wxVariant &value ) const
{
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_STRING );
g_object_get_property( G_OBJECT(m_renderer), "text", &gvalue );
wxString temp = wxGTK_CONV_BACK_FONT(g_value_get_string(&gvalue),
@@ -2712,7 +2715,7 @@ void wxDataViewChoiceRenderer::SetAlignment( int align )
else if (align & wxALIGN_CENTER_HORIZONTAL)
pangoAlign = PANGO_ALIGN_CENTER;
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, gtk_cell_renderer_mode_get_type() );
g_value_set_enum( &gvalue, pangoAlign );
g_object_set_property( G_OBJECT(m_renderer), "alignment", &gvalue );
@@ -2894,7 +2897,7 @@ static void wxGtkTreeCellDataFunc( GtkTreeViewColumn *WXUNUSED(column),
visible = true;
}
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_BOOLEAN );
g_value_set_boolean( &gvalue, visible );
g_object_set_property( G_OBJECT(renderer), "visible", &gvalue );
@@ -2920,7 +2923,7 @@ static void wxGtkTreeCellDataFunc( GtkTreeViewColumn *WXUNUSED(column),
bool enabled = wx_model->IsEnabled( item, cell->GetOwner()->GetModelColumn() );
// a) this sets the appearance to disabled grey
GValue gvalue = { 0, };
GValue gvalue = G_VALUE_INIT;
g_value_init( &gvalue, G_TYPE_BOOLEAN );
g_value_set_boolean( &gvalue, enabled );
g_object_set_property( G_OBJECT(renderer), "sensitive", &gvalue );
@@ -4260,6 +4263,7 @@ wxdataview_selection_changed_callback( GtkTreeSelection* WXUNUSED(selection), wx
return;
wxDataViewEvent event( wxEVT_DATAVIEW_SELECTION_CHANGED, dv->GetId() );
event.SetEventObject( dv );
event.SetItem( dv->GetSelection() );
event.SetModel( dv->GetModel() );
dv->HandleWindowEvent( event );

View File

@@ -487,6 +487,7 @@ bool wxFont::GTKSetPangoAttrs(PangoLayout* layout) const
PangoAttrList* attrs = pango_attr_list_new();
PangoAttribute* a;
#ifndef __WXGTK3__
if (wx_pango_version_check(1,16,0))
{
// a PangoLayout which has leading/trailing spaces with underlined font
@@ -525,6 +526,8 @@ bool wxFont::GTKSetPangoAttrs(PangoLayout* layout) const
pango_attr_list_insert(attrs, a);
}
}
#endif // !__WXGTK3__
if (GetUnderlined())
{
a = pango_attr_underline_new(PANGO_UNDERLINE_SINGLE);

View File

@@ -14,10 +14,6 @@
#include "wx/spinbutt.h"
#ifndef WX_PRECOMP
#include "wx/utils.h"
#endif
#include <gtk/gtk.h>
//-----------------------------------------------------------------------------
@@ -71,10 +67,6 @@ gtk_value_changed(GtkSpinButton* spinbutton, wxSpinButton* win)
// wxSpinButton
//-----------------------------------------------------------------------------
BEGIN_EVENT_TABLE(wxSpinButton, wxControl)
EVT_SIZE(wxSpinButton::OnSize)
END_EVENT_TABLE()
wxSpinButton::wxSpinButton()
{
m_pos = 0;
@@ -87,14 +79,8 @@ bool wxSpinButton::Create(wxWindow *parent,
long style,
const wxString& name)
{
wxSize new_size = size,
sizeBest = DoGetBestSize();
new_size.x = sizeBest.x; // override width always
if (new_size.y == -1)
new_size.y = sizeBest.y;
if (!PreCreation( parent, pos, new_size ) ||
!CreateBase( parent, id, pos, new_size, style, wxDefaultValidator, name ))
if (!PreCreation(parent, pos, size) ||
!CreateBase(parent, id, pos, size, style, wxDefaultValidator, name))
{
wxFAIL_MSG( wxT("wxSpinButton creation failed") );
return false;
@@ -105,6 +91,7 @@ bool wxSpinButton::Create(wxWindow *parent,
m_widget = gtk_spin_button_new_with_range(0, 100, 1);
g_object_ref(m_widget);
gtk_entry_set_width_chars(GTK_ENTRY(m_widget), 0);
gtk_spin_button_set_wrap( GTK_SPIN_BUTTON(m_widget),
(int)(m_windowStyle & wxSP_WRAP) );
@@ -113,7 +100,7 @@ bool wxSpinButton::Create(wxWindow *parent,
m_parent->DoAddChild( this );
PostCreation(new_size);
PostCreation(size);
return true;
}
@@ -163,14 +150,6 @@ void wxSpinButton::SetRange(int minVal, int maxVal)
GtkEnableEvents();
}
void wxSpinButton::OnSize( wxSizeEvent &WXUNUSED(event) )
{
wxCHECK_RET( (m_widget != NULL), wxT("invalid spin button") );
m_width = DoGetBestSize().x;
gtk_widget_set_size_request( m_widget, m_width, m_height );
}
bool wxSpinButton::Enable( bool enable )
{
if (!base_type::Enable(enable))
@@ -207,7 +186,20 @@ GdkWindow *wxSpinButton::GTKGetWindow(wxArrayGdkWindows& WXUNUSED(windows)) cons
wxSize wxSpinButton::DoGetBestSize() const
{
wxSize best(15, 26); // FIXME
wxSize best = base_type::DoGetBestSize();
#ifdef __WXGTK3__
GtkStyleContext* sc = gtk_widget_get_style_context(m_widget);
GtkBorder pad = { 0, 0, 0, 0 };
gtk_style_context_get_padding(sc, GtkStateFlags(0), &pad);
best.x -= pad.left + pad.right;
#else
gtk_widget_ensure_style(m_widget);
int w = PANGO_PIXELS(pango_font_description_get_size(m_widget->style->font_desc));
w &= ~1;
if (w < 6)
w = 6;
best.x = w + 2 * m_widget->style->xthickness;
#endif
CacheBestSize(best);
return best;
}
@@ -219,4 +211,4 @@ wxSpinButton::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant))
return GetDefaultAttributesFromGTKWidget(gtk_spin_button_new_with_range(0, 100, 1));
}
#endif
#endif // wxUSE_SPINBTN

View File

@@ -674,4 +674,22 @@ wxSize wxComboBox::DoGetSizeFromTextSize(int xlen, int ylen) const
return tsize;
}
wxWindow *wxComboBox::MSWFindItem(long id, WXHWND hWnd) const
{
// The base class version considers that any window with the same ID as
// this one must be this window itself, but this is not the case for the
// comboboxes where the native control seems to always use the ID of 1000
// for the popup listbox that it creates -- and this ID may be the same as
// our own one. So we must explicitly check the HWND value too here and
// avoid eating the events from the listbox as otherwise it is rendered
// inoperative, see #15647.
if ( id == GetId() && hWnd != GetHWND() )
{
// Must be the case described above.
return NULL;
}
return wxChoice::MSWFindItem(id, hWnd);
}
#endif // wxUSE_COMBOBOX

View File

@@ -442,6 +442,15 @@ WXHBRUSH wxControl::MSWControlColorDisabled(WXHDC pDC)
GetHWND());
}
wxWindow* wxControl::MSWFindItem(long id, WXHWND hWnd) const
{
// is it us or one of our "internal" children?
if ( id == GetId() || (GetSubcontrols().Index(id) != wxNOT_FOUND) )
return const_cast<wxControl *>(this);
return wxControlBase::MSWFindItem(id, hWnd);
}
// ----------------------------------------------------------------------------
// wxControlWithItems
// ----------------------------------------------------------------------------

View File

@@ -148,7 +148,7 @@ wxAlphaBlend(HDC hdcDst, int xDst, int yDst,
#endif // wxHAS_RAW_BITMAP
namespace wxMSW
namespace wxMSWImpl
{
// Wrappers for the dynamically loaded {Set,Get}Layout() functions. They work
@@ -162,7 +162,7 @@ DWORD SetLayout(HDC hdc, DWORD dwLayout);
// temporary compatible memory DC to the real target DC) using the same layout.
HDC CreateCompatibleDCWithLayout(HDC hdc);
} // namespace wxMSW
} // namespace wxMSWImpl
// ----------------------------------------------------------------------------
// private classes
@@ -1341,7 +1341,7 @@ void wxMSWDCImpl::DoDrawBitmap( const wxBitmap &bmp, wxCoord x, wxCoord y, bool
#endif // wxUSE_SYSTEM_OPTIONS
{
HDC cdc = GetHdc();
HDC hdcMem = wxMSW::CreateCompatibleDCWithLayout(cdc);
HDC hdcMem = wxMSWImpl::CreateCompatibleDCWithLayout(cdc);
HGDIOBJ hOldBitmap = ::SelectObject(hdcMem, GetHbitmapOf(bmp));
#if wxUSE_PALETTE
wxPalette *pal = bmp.GetPalette();
@@ -1382,7 +1382,7 @@ void wxMSWDCImpl::DoDrawBitmap( const wxBitmap &bmp, wxCoord x, wxCoord y, bool
else // no mask, just use BitBlt()
{
HDC cdc = GetHdc();
HDC memdc = wxMSW::CreateCompatibleDCWithLayout( cdc );
HDC memdc = wxMSWImpl::CreateCompatibleDCWithLayout( cdc );
HBITMAP hbitmap = (HBITMAP) bmp.GetHBITMAP( );
wxASSERT_MSG( hbitmap, wxT("bitmap is ok but HBITMAP is NULL?") );
@@ -2281,8 +2281,8 @@ bool wxMSWDCImpl::DoStretchBlit(wxCoord xdest, wxCoord ydest,
buffer_bmap = (HBITMAP) bitmapCacheEntry->m_bitmap;
#else // !wxUSE_DC_CACHEING
// create a temp buffer bitmap and DCs to access it and the mask
dc_mask = wxMSW::CreateCompatibleDCWithLayout(hdcSrc);
dc_buffer = wxMSW::CreateCompatibleDCWithLayout(GetHdc());
dc_mask = wxMSWImpl::CreateCompatibleDCWithLayout(hdcSrc);
dc_buffer = wxMSWImpl::CreateCompatibleDCWithLayout(GetHdc());
buffer_bmap = ::CreateCompatibleBitmap(GetHdc(), dstWidth, dstHeight);
#endif // wxUSE_DC_CACHEING/!wxUSE_DC_CACHEING
HGDIOBJ hOldMaskBitmap = ::SelectObject(dc_mask, (HBITMAP) mask->GetMaskBitmap());
@@ -2595,7 +2595,7 @@ wxDCCacheEntry* wxMSWDCImpl::FindDCInCache(wxDCCacheEntry* notThis, WXHDC dc)
node = node->GetNext();
}
WXHDC hDC = (WXHDC) wxMSW::CreateCompatibleDCWithLayout((HDC) dc);
WXHDC hDC = (WXHDC) wxMSWImpl::CreateCompatibleDCWithLayout((HDC) dc);
if ( !hDC)
{
wxLogLastError(wxT("CreateCompatibleDC"));
@@ -2827,7 +2827,7 @@ void wxMSWDCImpl::DoGradientFillLinear (const wxRect& rect,
#if wxUSE_DYNLIB_CLASS
namespace wxMSW
namespace wxMSWImpl
{
DWORD GetLayout(HDC hdc)
@@ -2853,19 +2853,19 @@ HDC CreateCompatibleDCWithLayout(HDC hdc)
HDC hdcNew = ::CreateCompatibleDC(hdc);
if ( hdcNew )
{
DWORD dwLayout = wxMSW::GetLayout(hdc);
DWORD dwLayout = wxMSWImpl::GetLayout(hdc);
if ( dwLayout != GDI_ERROR )
wxMSW::SetLayout(hdcNew, dwLayout);
wxMSWImpl::SetLayout(hdcNew, dwLayout);
}
return hdcNew;
}
} // namespace wxMSW
} // namespace wxMSWImpl
wxLayoutDirection wxMSWDCImpl::GetLayoutDirection() const
{
DWORD layout = wxMSW::GetLayout(GetHdc());
DWORD layout = wxMSWImpl::GetLayout(GetHdc());
if ( layout == GDI_ERROR )
return wxLayout_Default;
@@ -2882,7 +2882,7 @@ void wxMSWDCImpl::SetLayoutDirection(wxLayoutDirection dir)
return;
}
DWORD layout = wxMSW::GetLayout(GetHdc());
DWORD layout = wxMSWImpl::GetLayout(GetHdc());
if ( layout == GDI_ERROR )
return;
@@ -2891,13 +2891,13 @@ void wxMSWDCImpl::SetLayoutDirection(wxLayoutDirection dir)
else
layout &= ~LAYOUT_RTL;
wxMSW::SetLayout(GetHdc(), layout);
wxMSWImpl::SetLayout(GetHdc(), layout);
}
#else // !wxUSE_DYNLIB_CLASS
// Provide stubs to avoid ifdefs in the code using these functions.
namespace wxMSW
namespace wxMSWImpl
{
DWORD GetLayout(HDC WXUNUSED(hdc))
@@ -2915,7 +2915,7 @@ HDC CreateCompatibleDCWithLayout(HDC hdc)
return ::CreateCompatibleDC(hdc);
}
} // namespace wxMSW
} // namespace wxMSWImpl
// we can't provide RTL support without dynamic loading, so stub it out
wxLayoutDirection wxMSWDCImpl::GetLayoutDirection() const

View File

@@ -586,9 +586,7 @@ int wxMessageDialog::ShowMessageBox()
// do show the dialog
int msAns = MessageBox(hWnd, message.t_str(), m_caption.t_str(), msStyle);
int ret = MSWTranslateReturnCode(msAns);
SetReturnCode(ret);
return ret;
return MSWTranslateReturnCode(msAns);
}
int wxMessageDialog::ShowModal()
@@ -623,9 +621,7 @@ int wxMessageDialog::ShowModal()
msAns = IDOK;
}
int ret = MSWTranslateReturnCode(msAns);
SetReturnCode(ret);
return ret;
return MSWTranslateReturnCode( msAns );
}
#endif // wxHAS_MSW_TASKDIALOG

View File

@@ -110,24 +110,20 @@ wxSize wxStaticText::DoGetBestClientSize() const
widthTextMax += 2;
#endif // __WXWINCE__
// It looks like the static control needs "slightly" more vertical space
// than the character height and while the text isn't actually truncated if
// we use just the minimal height, it is positioned differently than when
// the control has enough space and this result in the text in edit and
// static controls not being aligned when the controls themselves are. As
// this is something you really should be able to count on, increase the
// space allocated for the control so that the base lines do align
// correctly. Notice that while the above is true at least for the single
// line controls, there doesn't seem to do any harm to allocate two extra
// pixels in multi-line case neither so do it always for consistency.
// This extra pixel is a hack we use to ensure that a wxStaticText
// vertically centered around the same position as a wxTextCtrl shows its
// text on exactly the same baseline. It is not clear why is this needed
// nor even whether this works in all cases, but it does work, at least
// with the default fonts, under Windows XP, 7 and 8, so just use it for
// now.
//
// I still have no idea why exactly is this needed nor why should we use 2
// and not something else. This seems to work in all the configurations
// though (small/large fonts, different OS versions, ...) so just hard code
// it for now. If we need something better later it might be worth looking
// at the height of the text control returned by ::GetComboBoxInfo() as it
// seems to be the "minimal acceptable" height.
heightTextTotal += 2;
// In the future we really ought to provide a way for each of the controls
// to provide information about the position of the baseline for the text
// it shows and use this information in the sizer code when centering the
// controls vertically, otherwise we simply can't ensure that the text is
// always on the same line, e.g. even with this hack wxComboBox text is
// still not aligned to the same position.
heightTextTotal += 1;
return wxSize(widthTextMax, heightTextTotal);
}

View File

@@ -51,7 +51,6 @@
#endif
#if defined(__GNUWIN32__)
#include <sys/unistd.h>
#include <sys/stat.h>
#endif

View File

@@ -365,30 +365,21 @@ END_EVENT_TABLE()
// ---------------------------------------------------------------------------
// Find an item given the MS Windows id
wxWindow *wxWindowMSW::FindItem(long id) const
wxWindow *wxWindowMSW::FindItem(long id, WXHWND hWnd) const
{
#if wxUSE_CONTROLS
wxControl *item = wxDynamicCastThis(wxControl);
if ( item )
{
// is it us or one of our "internal" children?
if ( item->GetId() == id
#ifndef __WXUNIVERSAL__
|| (item->GetSubcontrols().Index(id) != wxNOT_FOUND)
#endif // __WXUNIVERSAL__
)
{
return item;
}
}
#endif // wxUSE_CONTROLS
// First check for the control itself and its Windows-level children which
// are mapped to the same wxWindow at wx level.
wxWindow *wnd = MSWFindItem(id, hWnd);
if ( wnd )
return wnd;
// Then check wx level children.
wxWindowList::compatibility_iterator current = GetChildren().GetFirst();
while (current)
{
wxWindow *childWin = current->GetData();
wxWindow *wnd = childWin->FindItem(id);
wnd = childWin->FindItem(id, hWnd);
if ( wnd )
return wnd;
@@ -675,7 +666,8 @@ wxWindowMSW::MSWShowWithEffect(bool show,
unsigned timeout)
{
#if wxUSE_DYNLIB_CLASS
if ( effect == wxSHOW_EFFECT_NONE )
if ( effect == wxSHOW_EFFECT_NONE ||
(GetParent() && !GetParent()->IsShownOnScreen()) )
return Show(show);
if ( !wxWindowBase::Show(show) )
@@ -5323,7 +5315,7 @@ bool wxWindowMSW::HandleCommand(WXWORD id_, WXWORD cmd, WXHWND control)
// try the id
if ( !win )
{
win = FindItem(id);
win = FindItem(id, control);
}
if ( win )

View File

@@ -302,8 +302,6 @@ protected:
wxListBox *list = static_cast<wxListBox*> ( impl->GetWXPeer());
wxCHECK_RET( list != NULL , wxT("Listbox expected"));
wxCommandEvent event( wxEVT_LISTBOX, list->GetId() );
if ((row < 0) || (row > (int) list->GetCount())) // OS X can select an item below the last item
return;

View File

@@ -254,7 +254,6 @@ public:
#endif // wxOSX_USE_NATIVE_TOOLBAR
private:
#if wxOSX_USE_NATIVE_TOOLBAR
wxFontEncoding GetToolBarFontEncoding() const
{
wxFont f;
@@ -262,7 +261,6 @@ private:
f = GetToolBar()->GetFont();
return f.IsOk() ? f.GetEncoding() : wxFont::GetDefaultEncoding();
}
#endif // wxOSX_USE_NATIVE_TOOLBAR
void Init()
{
@@ -689,9 +687,11 @@ wxToolBar::~wxToolBar()
frame->SetToolBar(NULL);
}
#if wxOSX_USE_NATIVE_TOOLBAR
[(NSToolbar*)m_macToolbar setDelegate:nil];
[(NSToolbar*)m_macToolbar release];
m_macToolbar = NULL;
#endif // wxOSX_USE_NATIVE_TOOLBAR
}
bool wxToolBar::Show( bool show )

View File

@@ -432,7 +432,13 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
totHeight = GetRowCount() * maxHeight + (GetRowCount() - 1) * space;
totWidth = GetColumnCount() * (maxWidth + charWidth);
wxSize sz = DoGetSizeFromClientSize( wxSize( totWidth, totHeight ) ) ;
// Determine the full size in case we need to use it as fallback.
wxSize sz;
if ( (width == wxDefaultCoord && (sizeFlags & wxSIZE_AUTO_WIDTH)) ||
(height == wxDefaultCoord && (sizeFlags & wxSIZE_AUTO_HEIGHT)) )
{
sz = DoGetSizeFromClientSize( wxSize( totWidth, totHeight ) ) ;
}
// change the width / height only when specified
if ( width == wxDefaultCoord )
@@ -453,6 +459,11 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
wxControl::DoSetSize( x_offset, y_offset, width, height, wxSIZE_AUTO );
// But now recompute the full size again because it could have changed.
// This notably happens if the previous full size was too small to fully
// fit the box margins.
sz = DoGetSizeFromClientSize( wxSize( totWidth, totHeight ) ) ;
// arrange radio buttons
int x_start, y_start;

View File

@@ -599,21 +599,6 @@ bool wxTextCtrl::MacSetupCursor( const wxPoint& pt )
return true ;
}
bool wxTextCtrl::SetHint(const wxString& hint)
{
m_hintString = hint;
if ( GetTextPeer() && GetTextPeer()->SetHint(hint) )
return true;
return false;
}
wxString wxTextCtrl::GetHint() const
{
return m_hintString;
}
// ----------------------------------------------------------------------------
// implementation base class
// ----------------------------------------------------------------------------

View File

@@ -287,6 +287,18 @@ wxTextWidgetImpl * wxTextEntry::GetTextPeer() const
return win ? dynamic_cast<wxTextWidgetImpl *>(win->GetPeer()) : NULL;
}
bool wxTextEntry::SetHint(const wxString& hint)
{
m_hintString = hint;
return GetTextPeer() && GetTextPeer()->SetHint(hint);
}
wxString wxTextEntry::GetHint() const
{
return m_hintString;
}
// ----------------------------------------------------------------------------
// Auto-completion
// ----------------------------------------------------------------------------

View File

@@ -1297,8 +1297,10 @@ void wxPropertyGrid::CalculateFontAndBitmapStuff( int vspacing )
void wxPropertyGrid::OnSysColourChanged( wxSysColourChangedEvent &WXUNUSED(event) )
{
RegainColours();
Refresh();
if ((m_iFlags & wxPG_FL_INITIALIZED)!=0) {
RegainColours();
Refresh();
}
}
// -----------------------------------------------------------------------

View File

@@ -537,15 +537,12 @@ void SurfaceImpl::MeasureWidths(Font &font, const char *s, int len, XYPOSITION *
}
ui++;
}
#else
#else // !wxUSE_UNICODE
// If not unicode then just use the widths we have
#if wxUSE_STD_CONTAINERS
std::copy(tpos.begin(), tpos.end(), positions);
#else
memcpy(positions, tpos.begin(), len * sizeof(int));
#endif
#endif
for (int i = 0; i < len; i++) {
positions[i] = tpos[i];
}
#endif // wxUSE_UNICODE/!wxUSE_UNICODE
}

View File

@@ -870,10 +870,10 @@ bool wxTextCtrl::ReplaceLine(wxTextCoord line,
// now change the line
MData().m_lines[line] = text;
// OPT: we choose to lay it our immediately instead of delaying it
// OPT: we choose to lay it out immediately instead of delaying it
// until it is needed because it allows us to avoid invalidating
// lines further down if the number of rows didn't chnage, but
// maybe we can imporve this even further?
// lines further down if the number of rows didn't change, but
// maybe we can improve this even further?
LayoutLine(line, lineData);
int rowsNew = lineData.GetExtraRowCount();