Changelogs

Overview

These changelogs reflect the history of all files in the Subversion repository. The changelog has been generated at 2016-05-09 08:38:04

Changes per page:

25 50 100 250 500 1000 2000

Changelog for wxWidgets (70435 changes):

2015-02-18 18:37 JS, revision 78522

Now uses the correct font and text effect when drawing bullet text.

2015-02-18 18:19 AW, revision 78521

Restore original grid size when finishing the tests in propgrid sample.

2015-02-18 18:17 AW, revision 78520

Fix "Multiple Columns" test in propgrid sample. Resize grid to make the results of test visible.

2015-02-18 18:13 AW, revision 78519

Suppress sending spurious wxEVT_PG_SELECTED events. Don't send wxEVT_PG_SELECTED event when wxPG is ordered to unselect current property but no property is actually selected.

2015-02-18 13:18 JS, revision 78518

Now allows space for a bullet even if no left subindent was specified; added a MeasureBullet function to support this.

2015-02-18 12:10 JS, revision 78517

Comment correction

2015-02-18 12:07 JS, revision 78516

Fix for GetVisibleLineForCaretPosition, and a weird boolean test.

2015-02-17 21:52 AW, revision 78515

Initialize wxPGChoices object properly in its copy ctor if source object has no data. Internal data must be always initialized whether the source object contains choices data or not. This is the backport of r78484. See #16855.

2015-02-17 21:42 AW, revision 78514

Refresh property grid when property is switched to read-only state. Property grid is refreshed to reflect the new state of the property. This is the backport of r76875. See #16306.

2015-02-17 18:36 AW, revision 78513

Implement more detailed validation of wxArrayDoubleProperty in propgrid sample. Added wxArrayDoubleProperty::ValidateValue() method checks if pending value is of proper type (wxArrayDouble). Pending value of improper type is used to signal that invalid numeric value was entered into the edit field.

2015-02-17 07:19 DS, revision 78512

Fix exception when creating a wxGauge. Platforms that don't make use of wxGaugeBase::Create when creating a wxGauge (such as GTK and MSW) access the uninitialised m_appProgressIndicator. Fix by initialising m_appProgressIndicator to NULL in the wxGaugeBase constructor. Regression since r78499.

2015-02-16 22:42 RD, revision 78511

Add some missing default ctors and Create methods.

2015-02-16 22:40 RD, revision 78510

Add some missing default ctors and Create methods.

2015-02-16 21:50 AW, revision 78509

When drawing wxPG items (with double buffering) use the same layout direction as the window uses. Memory DC used for double buffering purposes should inherit layout direction from the window DC to ensure that texts are rendered correctly. This is the backport of r76931. See #15797.

2015-02-16 21:38 AW, revision 78508

Fix saving edited property value when wxPG property is in the 'invalid value' state. When wxPGProperty is loosing focus in 'invalid value' state its pending value should be stored before resetting property to 'normal' state because this operation (wxPG::OnValidationFailureReset) also resets pending value. This is the backport of r77887. See #16587.

2015-02-16 14:00 VZ, revision 78507

Correct wxLogSysError() calls after chdir() failure in wxGTK. Another fix for the changes of r78480: don't forget to pass the file/directory name to wxLogSysError(). Closes #16865.

2015-02-16 02:06 VZ, revision 78506

Increase the buffer size used for the host names in wxIPaddress. This avoids failing to set the host name if the system /etc/hosts file has any host names that wouldn't fit in our buffer: at least under Linux/glibc, gethostname_r() returns error if any such names exist even if we don't ask for them. Closes #16641.

2015-02-16 02:05 VZ, revision 78505

Increase the buffer size used for the host names in wxIPaddress. This avoids failing to set the host name if the system /etc/hosts file has any host names that wouldn't fit in our buffer: at least under Linux/glibc, gethostname_r() returns error if any such names exist even if we don't ask for them. Closes #16641.

2015-02-16 00:26 AW, revision 78504

Display additional information for EVT_PG_SELECTED event in propgrid sample.

2015-02-16 00:23 AW, revision 78503

wxEVT_PG_SELECTED event object generated when property is unselected should refer to the property being unselected. Currently, wxEVT_PG_SELECTED event object generated when property is unselected doesn't refer to the property being unselected (in fact it doesn't refer to any property; pointer to the property is NULL) and therefore it is not possible to determine unselected property or to check its state.

2015-02-15 23:54 VZ, revision 78502

Fix wxDV_ROW_LINES drawing when horizontally scrolled in generic version. Use the correct, i.e. logical, as wxDC does the translation to physical internally, coordinates for drawing the highlighted rows. Closes #16815.

2015-02-15 23:54 VZ, revision 78501

Fix wxDV_ROW_LINES drawing when horizontally scrolled in generic version. Use the correct, i.e. logical, as wxDC does the translation to physical internally, coordinates for drawing the highlighted rows. Closes #16815.

2015-02-15 23:21 AW, revision 78500

Prevent sending wxEVT_PG_LABEL_EDIT_ENDING events recursively. By preventing sending wxEVT_PG_LABEL_EDIT_ENDING events recursively (recursive generation can happen due to the calling wxPropertyGrid::RefreshProperty() directly or indirectly from within wxEVT_PG_LABEL_EDIT_ENDING event handler) spurious events are not sent to the application and wxPropertyGrid::DoEndLabelEdit() function is not reentered. Closes #16864.

2015-02-15 21:09 DS, revision 78499

Add OS X implementation of wxAppProgressIndicator. Closes #16638.

2015-02-15 19:35 VZ, revision 78498

Show how to handle files on command line in docview sample. This is not totally obvious, so show how to do it, including the Mac-specific MacNewFile() overriding part. Closes #16816.

2015-02-15 18:11 DS, revision 78497

No code changes, fix some typos. Change several occurrences of "it's" where "its" is meant, as well as a few other minor typos.

2015-02-15 14:52 AW, revision 78496

Fix using a value of enumerated type in propgrid sample. Referring to enumerated type name (wxNumericPropertyValidator::NumericType) in expression is incorrect however it is accepted by VC++. GCC is not so merciful.

2015-02-15 01:02 VZ, revision 78495

Make wxUIActionSimulator::Text() to work with punctuation characters. Currently this only really works when using the standard US keyboard layout as we don't have information about the mapping from the characters to the keyboard keys for the other layouts, which is not ideal but better than nothing as it allows e.g. Text("foo_bar") to really produce "foo_bar" in the currently focused text control instead of "foo-bar" as before.

2015-02-15 01:01 VZ, revision 78494

Remove code not doing anything from wxUIActionSimulator::Char(). The changes of r69762 and r69960 cancelled each other out, leaving a long switch statement which didn't do absolutely anything -- and doesn't seem to be needed at all, so drop it. See #13671.

2015-02-15 01:01 VZ, revision 78493

No real changes, just fix a typo in a comment. s/ommitted/omitted/

2015-02-15 01:01 VZ, revision 78492

Remove useless check for NULL in wxFindWindowRecursively(). This is an internal function which is only ever called with non-NULL window.

2015-02-14 20:09 VZ, revision 78491

Use non-static reentrancy guard in wxScrollHelper::AdjustScrollbars(). This prevented calls to AdjustScrollbars() of another window from doing anything if they were called due to a size change from AdjustScrollbars() of an outer window. Closes #16852.

2015-02-14 19:37 DS, revision 78490

Regenerate Xcode projects. Update the Xcode projects to include addremovectrl.cpp, dbgrptg.cpp, and debugrpt.cpp .

2015-02-14 16:05 VZ, revision 78489

Fix coordinates of wxSetCursorEvent in wxGTK. The event coordinates remained in the client coordinates of the window the initial event had been sent to, even when the event was propagated to its parent.

2015-02-14 16:04 VZ, revision 78488

Fix coordinates of wxSetCursorEvent in wxGTK. The event coordinates remained in the client coordinates of the window the initial event had been sent to, even when the event was propagated to its parent.

2015-02-14 15:46 VZ, revision 78487

Correct wxInfoBar::ShowMessage() flags argument documentation. The default value is wxICON_INFORMATION, not wxICON_NONE. Closes #16861.

2015-02-14 15:46 VZ, revision 78486

Correct wxInfoBar::ShowMessage() flags argument documentation. The default value is wxICON_INFORMATION, not wxICON_NONE. Closes #16861.

2015-02-13 22:49 DS, revision 78485

Update XML Tools URL.

2015-02-13 20:42 AW, revision 78484

Initialize wxPGChoices object properly in its copy ctor if source object has no data. Internal data must be always initialized whether the source object contains choices data or not. Closes #16855

2015-02-13 20:36 VZ, revision 78483

Use non-static reentrancy guard in wxScrollHelper::AdjustScrollbars(). This prevented calls to AdjustScrollbars() of another window from doing anything if they were called due to a size change from AdjustScrollbars() of an outer window. Closes #16852.

2015-02-12 23:48 VZ, revision 78482

PCH-less build fixes after r78480. Must include wx/log.h to use wxLogSysError() when not using PCH.

2015-02-12 22:56 VZ, revision 78481

Avoid warnings about not checking read() result in wxJoystick code. Explicitly ignore errors if we can't read from the associated FD. This is mostly done to avoid -Wunused-result warning about not checking read() return value under Ubuntu.

2015-02-12 22:56 VZ, revision 78480

Avoid warnings about not checking chdir() result in wxGTK. Give error if changing directory when wxFD_CHANGE_DIR or wxDIRP_CHANGE_DIR flags are used, this is a good idea generally speaking and it also avoids warnings about not checking chdir() return value that we got under Ubuntu.

2015-02-12 07:12 PC, revision 78479

More complete fix to avoid GDK assertion "impl_window->update_freeze_count > 0" on Ubuntu. Any frozen window in the whole TLW could be affected, not just a child of the enabled window. Also do a more complete search for scrollbars. Closes #16795

2015-02-11 22:16 VZ, revision 78478

Make wxStaticText alignment work with wxGTK2. Alignment was silently ignored in wxStaticText with GTK+ 2 since 2.12 or so, make it work even at the price of using a non-default ellipsize mode as this seems to be the only way to have it at all. Closes #12539.

2015-02-11 22:16 VZ, revision 78477

Add convenient wxST_ELLIPSIZE_MASK constant. This is simply a combination of all 3 different wxST_ELLIPSIZE_XXX styles and makes it simpler to test if any of them is specified. No real changes.

2015-02-11 22:16 VZ, revision 78476

Remove obsolete checks for wxOS_WINDOWS_NT from wxMSW wxStaticText. We don't support Windows 9x any more, so there is no need to check for NT damily at run-time.

2015-02-11 19:11 PC, revision 78475

build fix for __WXUNIVERSAL__

2015-02-11 19:05 PC, revision 78474

avoid GDK assertion "impl_window->update_freeze_count > 0" on Ubuntu when enabling frozen window closes #16795

2015-02-11 07:12 MAR, revision 78473

Re-introduce private mbstowcs/wcstombs for wxQt-Android These functions are needed due Android NDK lacking wide character support, as wchar_t == char according to Android NDK bionic libc/include/wchar.h WARNING: They are minimally functional (provided provisorily until proper workaround is found, specially maybe using Qt built-in functionality). "Basically they produce complete garbage with non-ASCII characters" For more info see discussion in wx-dev list: https://groups.google.com/d/msg/wx-dev/71qtIFcujgM/Q-lbwl59vOIJ Thanks @seandepagnier (modified a bit the comments, added #warning and restructured #if blocks to be only specific for __ANDROID__)

2015-02-11 05:36 MAR, revision 78472

For Android (wxQT), add private wcstol, wcstoul and wcstod These functions are needed by wxString::ToLong wxString::ToDouble etc.. They do exist in the android library, but do not work corretly. This change implements them using strtol strtoul and strtod For more info see discussion in wx-dev list: https://groups.google.com/d/msg/wx-dev/71qtIFcujgM/TRCfCjGHUhEJ Thanks @seandepagnier (modified a bit the comments)

2015-02-11 00:14 VZ, revision 78471

Fix spurious assert in wxGTK wxDataViewCtrl::EditItem(). The assert in wxGtkTreeSelectionLock ctor failed after the first time this object was created as it doesn't reset the selection function to NULL with wxGTK2, fix this by checking for different values depending on whether it's actually the first time we do it or not. In the future we should just reset the selection function to NULL as it does work in GTK+ 3, also update the comment explaining the problem to mention this.

2015-02-11 00:14 VZ, revision 78470

Fix handling of disabled cells in wxGTK wxDataViewCtrl. The original code (see r66404 and r66416) didn't work because it used wxDataViewRenderer::SetMode() to make the renderer inactive but then used its GetMode() to restore the previous state -- which was lost. The result of this was that if the overridden IsEnabled() in the model ever returned false for any row, all the cells in this column, in all the rows, became insensitive, as could be seen by the inability to edit any rating in the first page of the dataview sample (even though it was disabled for a single row only) and any checkboxes on its third page (even though only the last two of them were supposed to be disabled). Fix this simply by making the renderer insensitive at GTK level only, but do not change the mode at wx level. See #12686.

2015-02-11 00:14 VZ, revision 78469

Add check for wxUSE_ADDREMOVECTRL being defined. This should have been part of r78462.

2015-02-11 00:14 VZ, revision 78468

Fix typos in wxTreeEvent::GetOldItem() documentation. Use the correct EVT_TREE_SEL_CHANG{ING,ED} event names instead of the non-existent EVT_TREE_ITEM_CHANG{ING,ED} ones. Closes #16847.

2015-02-11 00:14 VZ, revision 78467

Don't validate and transfer data from hidden dialogs when closing. This is unexpected and resulted e.g. in calling the user-defined TransferDataFromWindow() multiple times for wxPreferencesPages used in wxPreferencesEditor under wxGTK (where it is modeless).

2015-02-09 19:19 PC, revision 78466

don't assume size-allocate implies a widget is realized

2015-02-09 13:10 VZ, revision 78465

Fix DLL declaration of wxAddRemoveCtrlNameStr. The control, and its name string, are in the "adv" library, not "core".

2015-02-09 13:10 VZ, revision 78464

Undo accidental change to the notebook sample. This debugging/testing change was accidentally committed as part of r78462.

2015-02-09 13:10 VZ, revision 78463

Really break into the debugger at the assertion line under wxGTK. This completes the changes of r78408: in addition to making wxTrap() a macro, we also need to call it directly from the assert macro expansion instead of doing it from deep inside wx assert dialog code. See #11184.

2015-02-09 01:26 VZ, revision 78462

Add wxAddRemoveCtrl class. This is a simple high level helper combining an arbitrary control showing multiple items with the buttons allowing to add items to and remove items from this control, but using the buttons and the layout appropriate for the current platform. Add the implementation itself, an example of using it to the dialogs sample and the documentation.

2015-02-09 01:25 VZ, revision 78461

Add an accessor for GtkToolbar widget of wxToolBar. This can be used to customize the toolbar beyond the capabilities of wx API.

2015-02-08 17:36 SC, revision 78460

correcting NSSmallSquareBezelStyle layout inset (top and bottom 1 pixel)

2015-02-08 13:51 AW, revision 78459

Use wxSwap() function to swap values of array elements in wxArrayDoubleEditorDialog::ArraySwap()

2015-02-08 13:48 AW, revision 78458

Use bool constants instead of BOOL ones in propgrid sample. s/FALSE/false/ and s/TRUE/true for the sake of consistency.

2015-02-08 13:45 AW, revision 78457

Implement validator for wxArrayDoubleProperty in propgrid sample. In wxArrayDoubleProperty::DoGetValidator() there is instantiated a wxTextValidator accepting numeric characters, token delimiter and spaces.

2015-02-08 12:17 BP, revision 78456

Turn off batchmode for PDF manual, and no longer update latex_header.

2015-02-08 03:53 BP, revision 78455

Shorten PDF manual ToC, and fix ToC indents. The table of contents is over 600 pages long with the default settings. Now it only lists down to section, and runs 45 pages. Section numbers were also colliding with names, so this fixes the margins in the table of contents.

2015-02-07 23:13 BP, revision 78454

Center the PDF manual logo.

2015-02-06 20:28 VZ, revision 78453

Allow documents without template nor views be deleted correctly again. The changes of r78282 didn't take into account the case of a document without any views nor template and, consequently, without the associated manager. Such documents were not deleted at all any longer. Fix this by ensuring that a document is always associated with a manager: if not with the one specified by its template, then with the global one.

2015-02-06 02:51 BP, revision 78452

Fix LaTeX docs for PDF manual. LaTeX fails to handle tables nested in @param sections, and we've only used them to expand on enums that should be documented on their own anyway, so the docs have been extracted here.

2015-02-06 02:51 BP, revision 78451

Minor adjustments to LaTeX manual header.

2015-02-06 02:51 BP, revision 78450

Sync with Doxygen LaTeX header. Using a custom header is an "experimental" feature since it bypasses several Doxygen configuration options, and skips configuration changes necessary for all automatically generated LaTeX. This continues to use the nicer looking custom header, but brings it up-to-date with the automatically generated one from 1.8.8.

2015-02-04 18:58 BP, revision 78449

Backport r78447: Updated logos in the reference manual.

2015-02-04 18:44 VZ, revision 78448

Fix the expected size of the header logo on www.wxwidgets.org. The image has been updated in the website repository and online, update its expected size to reflect it and fix the unit test suite.

2015-02-04 18:44 BP, revision 78447

Updated logos in the reference manual.

2015-02-04 18:05 AW, revision 78446

Fix small typo in propgrid sample.

2015-02-04 17:53 AW, revision 78445

Use wxPG_IMPLEMENT_PROPERTY_CLASS macro in the propgrid sample. Replace old WX_PG_IMPLEMENT_PROPERTY_CLASS macro with new and simplified wxPG_IMPLEMENT_PROPERTY_CLASS macro. See #15541

2015-02-04 17:46 AW, revision 78444

Replace WX_PG_IMPLEMENT_PROPERTY_CLASS macro with simplified wxPG_IMPLEMENT_PROPERTY_CLASS macro. New macro have no obsolete parameters and its name conforms to the naming standard (prefixed with wx). Closes #15541

2015-02-04 17:18 VZ, revision 78443

Make wxNativePrinterDC::IsOk() const in wxOSX. Closes #16837.

2015-02-04 17:17 VZ, revision 78442

Minor changes in wxChmTools: add const, remove semicolons. Also fix a typo in a comment. Closes #16836.

2015-02-04 14:19 VZ, revision 78441

Fix a couple of typos in comments in wxX11 code. Closes #16835.

2015-02-04 14:19 VZ, revision 78440

Remove unnecessary statement from wxX11 wxTextCtrl code. We don't care about size_x variable value and should probably get rid of it entirely, but for now at least don't update it unnecessarily. Closes #16834.

2015-02-04 14:19 VZ, revision 78439

Don't declare unnecessary variable in wxUSE_NANOX wxX11 build. Closes #16833.

2015-02-04 14:18 VZ, revision 78438

Don't check if an unsigned variable is less than 0. This doesn't risk ever being true. Closes #16831.

2015-02-04 14:18 VZ, revision 78437

De-TAB wxX11 code. Remove hard TABs.

2015-02-04 14:16 VZ, revision 78436

Fix harmless unused variable warning in some build configurations. Don't declare the variables if they are not going to be used. Closes #16830.

2015-02-04 14:16 VZ, revision 78435

Suppress harmless unused parameter warnings in release build. Use WXUNUSED_UNLESS_DEBUG() for the parameters used only inside debug checks. Closes #16829.

2015-02-03 19:28 VZ, revision 78434

Consistently refuse to create bitmaps with 0 width or height. Homogenize the behaviour of all ports when creating bitmaps with 0 width or height: just fail always as it doesn't seem to make sense to support this. Closes #16828.

2015-02-02 19:31 PC, revision 78433

set transient parent for 'about' dialog, closes #16823

2015-02-02 18:23 PC, revision 78432

use logical operator, rather than bitwise, on bools, closes #16824

2015-02-01 19:06 PC, revision 78431

avoid passing invalid rect to Refresh(), closes #16819

2015-02-01 12:33 VZ, revision 78430

Prettify configure output when checking for backtrace(). The output of "checking for backtrace()" was interspersed with the output of "checking for library containing backtrace", which was ugly and potentially confusing, so move AC_SEARCH_LIBS() out of AC_CACHE_CHECK() to fix it.

2015-02-01 12:14 AW, revision 78429

Fix vertical positioning of text field in the combo box editor associated with wxPG property under wxMSW. Vertical position of text field in wxOwnerDrawnComboBox control (instantiated at property selection) doesn't need any special adjustment. This is a backport of r77687. See #16556.

2015-01-31 22:49 AW, revision 78428

Encapsulate wxPGProperty::m_children member variable. Implement RemoveChild and SortChildren methods to perform operations on m_children member variable.

2015-01-31 22:45 AW, revision 78427

Use getter methods to get access to wxPGProperty member variables. Use GetValueImage() getter to get access to m_valueBitmap data member. Use GetMaxLength() getter to get access to m_maxLen data member. Use GetAttributes() getter to get access to m_attributes data member. Use GetChoices() to get access to m_choices data member. Use GetDepth() to get access to m_depth member variable. Use GetBaseName() method to get access to m_name data member Use GetLabel() method to get access to m_label member variable.

2015-01-31 22:42 AW, revision 78426

Use getter/setter methods to get access to wxPGProperty::m_flags. Use dedicated wxPGProperty::HasFlags, wxPGProperty::SetFlag methods to check or modify wxPGProperty::m_flags member variable.

2015-01-30 16:53 VS, revision 78425

Avoid unneeded use of wxLocale in wxDateTime::Format() On OS X, wxDateTime::Format() uses wxString::Replace() to unconditionally replace locale-specific %c, %x and %X specifiers in the format string if present. Doing so causes three wxLocale::GetInfo() calls that are often not necessary. Check for the presence of these specifiers before calling GetInfo().

2015-01-30 16:53 VS, revision 78424

Handle 5+ letter codes in TranslateFromUnicodeFormat() Unicode TR #35 v26 allows for five-letter (MMMMM) or even six-letter (EEEEEE) forms of some of the fields, but TranslateFromUnicodeFormat() asserts in these situations. Fix it to fall back to short forms for MMMMM and EEEEEE that are used in practice e.g. on OS X if the user has custom formatting settings. Consulting the table of sensible specifiers from http://userguide.icu-project.org/formatparse/datetime, it appears these two were the only omissions in this function.

2015-01-30 16:53 VS, revision 78423

Avoid unneeded use of wxLocale in wxDateTime::Format() On OS X, wxDateTime::Format() uses wxString::Replace() to unconditionally replace locale-specific %c, %x and %X specifiers in the format string if present. Doing so causes three wxLocale::GetInfo() calls that are often not necessary. Check for the presence of these specifiers before calling GetInfo().

2015-01-30 16:53 VS, revision 78422

Handle 5+ letter codes in TranslateFromUnicodeFormat() Unicode TR #35 v26 allows for five-letter (MMMMM) or even six-letter (EEEEEE) forms of some of the fields, but TranslateFromUnicodeFormat() asserts in these situations. Fix it to fall back to short forms for MMMMM and EEEEEE that are used in practice e.g. on OS X if the user has custom formatting settings. Consulting the table of sensible specifiers from http://userguide.icu-project.org/formatparse/datetime, it appears these two were the only omissions in this function.

2015-01-29 13:25 VZ, revision 78421

Reset wxUSE_LIBNOTIFY if libnotify not detected in configure. This avoids WARNING: libnotify not found, wxNotificationMessage will use generic implementation. followed by Which GUI toolkit should wxWidgets use? GTK+ 2 with support for libnotify at the end.

2015-01-27 12:51 VZ, revision 78420

Fix wxEVT_TREE_STATE_IMAGE_CLICK generation in wxMSW wxTreeCtrl. Use GET_{X,Y}_LPARAM() to extract them from the event position, which handle negative coordinates (and coordinates can perfectly well be negative when using multiple displays) correctly, unlike {LO,HI}WORD(). Closes #16812.

2015-01-27 12:49 VZ, revision 78419

Fix wxEVT_TREE_STATE_IMAGE_CLICK generation in wxMSW wxTreeCtrl. Use GET_{X,Y}_LPARAM() to extract them from the event position, which handle negative coordinates (and coordinates can perfectly well be negative when using multiple displays) correctly, unlike {LO,HI}WORD(). Closes #16812.

2015-01-27 12:03 VZ, revision 78418

Improve wxThread::SetPriority() comment and documentation. Don't claim that SetPriority() can only be called before the thread is created, this is just wrong. Do document that it must be done after creating the thread in wxMSW (this is a limitation of this port as POSIX implementation allows calling it at any moment and could be lifted in the future). Closes #16809.

2015-01-26 16:10 VZ, revision 78417

Don't leave too much blank space in wxDatePickerCtrl under XP. In our efforts to account for the longest possible string we made the control too wide by default which didn't look very good, so reduce the amount of space added to it, this still seems to be (just) enough for all the reasonable date formats (tested under Windows XP SP3 with default DPI).

2015-01-24 23:09 VZ, revision 78416

Clarify wxExpectModal<> use and implementation. The only change in this commit is the omission of the primary wxExpectModal<> template as it's not needed and it's enough to just forward declare it, otherwise the changes are to the comments only and try to better explain how this class should be used, i.e. that it's not required, although it may be convenient, to specialize it, and also how it is implemented, notably the need for the CRTP in wxExpectModalBase<>.

2015-01-24 23:09 VZ, revision 78415

Use C++ RTTI in dialog testing code if wxRTTI is not available. This allows to get the best possible description of the dialog: if its class uses wxRTTI macros, its user-readable name will be used, but otherwise we now fall back on possibly unreadable but still informative mangled C++ class name rather than showing just "wxDialog" which is not useful at all.

2015-01-24 23:08 VZ, revision 78414

Cosmetic change to wxTestingModalHook error message. Don't include the word "dialog" in it, by default the description is just the class name and so typically already includes "dialog" in it, e.g. we could have "Expected wxFileDialog dialog" which was redundant.

2015-01-24 23:08 VZ, revision 78413

Provide better description of the expected message boxes. While the example in the previous commit message, with two identical expectations, still requires a custom description to be have unambiguous failure messages, in other cases it's enough to show the expected message box buttons in the error to make it possible to immediately see which expectation failed, so include the information deduced from the expected button into the description.

2015-01-24 23:08 VZ, revision 78412

Allow providing descriptions for dialog tests expectations. This makes test failure errors much more intelligible, e.g. in the following case ... some code ... wxTEST_DIALOG(wxYield, wxExpectModal<wxMessageDialog>(wxID_OK)); ... some more code ... wxTEST_DIALOG(wxYield, wxExpectModal<wxMessageDialog>(wxID_OK)); it was previously impossible to distinguish the first test failure from the second one from just the failure description (it could be done by looking at the line numbers since the recent change however), but with ... wxTEST_DIALOG(wxYield, wxExpectModal<wxMessageDialog>(wxID_OK). Describe("first warning message box")); ... wxTEST_DIALOG(wxYield, wxExpectModal<wxMessageDialog>(wxID_OK). Describe("successful completion message box")); the failure becomes immediately clear.

2015-01-24 23:08 VZ, revision 78411

Allow predefining wxTEST_DIALOG_HOOK_CLASS before wx/testing.h inclusion. Although it already was (and remains) possible to #undef and re-#define wxTEST_DIALOG_HOOK_CLASS after including wx/testing.h, it should also be possible to just define it globally in the testing code before including anything else and not have to bother with the #undef part.

2015-01-24 23:08 VZ, revision 78410

Improve error reporting from wxTEST_DIALOG() macro. Give the location (i.e. file name, line number and the name of the function) at which this macro itself appears instead of the location of ReportFailure() method inside wxTestingModalHook which was quite useless as it was the same for all the tests.

2015-01-24 23:08 VZ, revision 78409

Add wxASSERT_MSG_AT() and wxFAIL_MSG_AT() macros. These macros are useful for functions called from other macros to allow pretending that an assert inside such function actually happens at the point in the sources where the macro itself appears.

2015-01-24 23:08 VZ, revision 78408

Define wxTrap() as a macro for gcc on Intel platforms too. It is more convenient to break into the debugger at the exact location of the assert instead of inside a nested wxTrap() function. This does the same thing for gcc/x86 as was done for MSVC in r73124. See #11184.

2015-01-24 23:08 VZ, revision 78407

Fix typo in a comment for NewCloseButton(). s/common/current/

2015-01-24 16:00 VS, revision 78406

Allow disabling SetProcessDPIAware() call Add Windows-specific wxMSWDisableSettingHighDPIAware() function then can be called before startup (i.e. wxEntry() call) to disable wxWidgets' handling of DPI awareness. This is useful for code embedded in non-wx applications as well as for purely wx application that are not HiDPI-ready (although the latter has the option of forcing dpiAware=false in the manifest). See also https://groups.google.com/d/msg/wx-dev/Z0VpgzCY34U/f1FfPqGDppMJ and #16116.

2015-01-22 18:32 AW, revision 78405

Use constant variables to store cached constants in wxPGGlobalVarsClass.

2015-01-22 17:24 VZ, revision 78404

Remove accidentally left over wxLogMessage() from wxGTK wxWebViewWebKit. This resulted in a message box being shown each time Find() was called and was clearly undesirable. Closes #16801.

2015-01-21 18:28 AW, revision 78403

Use polymorphism to differentiate behaviour of wxEnumProperty and wxEditEnumProperty. Override OnSetValue(), StringToValue(), ValidateValue() methods instead of using RTTI in conditional statements to check if wxEditEnumProperty object is actually handled.

2015-01-21 18:14 AW, revision 78402

Refactor propgrid sample (rounding numbers). Use wxRound function to round floating point numbers.

2015-01-21 18:11 AW, revision 78401

Refactor propgrid sample (attribute constants). Use attribute constants instead of strings when calling wxPGProperty::SetProperty and wxPGProperty::GetProperty in propgrid samples.

2015-01-21 18:06 AW, revision 78400

Refactor property attribute names in wxPGProperty::GetAttribute calls. Use attribute constants instead of strings in wxPGProperty and wxPGDefaultRenderer classes and in NumericValidation() function.

2015-01-21 17:59 AW, revision 78399

Refactor wxPGSpinCtrlEditor. Declare and use attribute constant instead of explicit string "MotionSpin".

2015-01-21 15:31 JS, revision 78398

Remove selection before container is deleted or it could cause a crash later.

2015-01-21 15:31 JS, revision 78397

Remove selection before container is deleted or it could cause a crash later.

2015-01-20 16:26 VS, revision 78396

Use wxNB_MULTILINE in wxPreferencesEditor The size of the dialog in wxPreferencesEditor's generic implementation is determined from notebook pages alone and doesn't account for label size, which may be significantly longer in some languages (German, Danish). If the labels don't fit into the window, some of the tabs are hidden behind scroll buttons that are easy to overlook. Improve usability by using wxNB_MULTILINE, which will use multiple rows of tabs in this situation. This is what e.g. Internet Explorer does in its preferences as well.

2015-01-20 16:26 VS, revision 78395

Use wxNB_MULTILINE in wxPreferencesEditor The size of the dialog in wxPreferencesEditor's generic implementation is determined from notebook pages alone and doesn't account for label size, which may be significantly longer in some languages (German, Danish). If the labels don't fit into the window, some of the tabs are hidden behind scroll buttons that are easy to overlook. Improve usability by using wxNB_MULTILINE, which will use multiple rows of tabs in this situation. This is what e.g. Internet Explorer does in its preferences as well.

2015-01-20 16:01 TIK, revision 78394

Fix memory leak introduced in r78183: wxMenuItemBase::SetAccel does not take ownership of the passed pointer nor keeps it for later use.

2015-01-20 16:00 TIK, revision 78393

Fix memory leak introduced in r78179: wxMenuItemBase::SetAccel does not take ownership of the passed pointer nor keeps it for later use.

2015-01-19 21:19 AW, revision 78392

Function wxPGProperty::HasFlag should return Boolean value.

2015-01-19 20:58 AW, revision 78391

Implement deprecated wxPGProperty::GetValueString function only in wxPG 1.4 compatibility mode. This function was marked as deprecated in 2008.

2015-01-19 18:22 AW, revision 78390

Fix a hack implemented in wxEnumProperty::ValueFromString_ and wxEnumProperty::ValueFromInt_ functions. wxEnumProperty code is refactored in order to fix a hack which purpose was (apparently) to bypass constness of these functions by caching determined indices in wxEnumProperty::ms_nextIndex static member variable for further processing. (Unclear concept of using this static member was referred in http://trac.wxwidgets.org/ticket/12779#comment:9) Now, determined index is returned to the caller and processed there if necessary and hence caching of this index is not necessary.

2015-01-19 13:18 VZ, revision 78389

Use logical operations instead of bit-wise ones for booleans. wxUniv "Windows" theme code wrongly used bitwise operations on boolean values, fix this. Closes #16796.

2015-01-19 04:05 MAR, revision 78388

remove wxMISSING_IMPLEMENTATION because wxQtDCImpl::DoBlit is implemented Thanks @seandepagnier

2015-01-19 04:03 MAR, revision 78387

Fix problem with scrollbar events in wxQT the local variable event shadowed the parameter which caused the incorrect value to be sent Thanks @seandepagnier

2015-01-19 04:02 MAR, revision 78386

Fix crash from possible NULL pointer in wxQT list ctrl Thanks @seandepagnier

2015-01-19 04:01 MAR, revision 78385

Fix problem with clipping region in wxqt. QPainter cannot set the clipping region when it is not active. Thanks @seandepagnier

2015-01-19 03:57 MAR, revision 78384

wxQT: move destroyed debug log into class method (remove global function to handle destroyed signal) This is needed for applications because the global function is not exported, yet it is used by the opengl library. An alternative is to add utils.cpp to the opengl library Thanks @seandepagnier

2015-01-19 03:44 MAR, revision 78383

wxQt: Fix compiler error for ambiguous call (when compiling without unicode support) Thanks @seandepagnier

2015-01-19 03:41 MAR, revision 78382

wxQT: Add guard to wxWindowQt for building without unicode support Thanks @seandepagnier

2015-01-19 03:39 MAR, revision 78381

wxQt: fix performance issue with font comparisons Thanks @seandepagnier

2015-01-19 03:38 MAR, revision 78380

Added wxUSE_XLOCALE ifdef guard to wxTimePickerGenericImp Allow to compile wxQT when configure with --disable-xlocal Thanks @seandepagnier

2015-01-19 03:31 MAR, revision 78379

Fix building for wxQT-android with sockets enabled The bionic library on android does not have gethostbyname_r even though it has gethostbyname_r. The configure script in wxwidgets assumes if it has one it has the other. This change does the right thing for android, but perhaps the script should instead test for both? Thanks @seandepagnier

2015-01-19 03:29 MAR, revision 78378

Fix Select on wxQT DC implementation Need to set the underlying qt painter up with the current pen, brush and font when a new object is selected Thanks @seandepagnier

2015-01-19 03:22 MAR, revision 78377

Specify needed header files more correctly (needed for wxqt-android) Thanks @seandepagnier

2015-01-19 03:18 MAR, revision 78376

Correct wxWindowQt::DoSetSize() for possible NULL member de-reference. Thanks David Register

2015-01-19 02:03 MAR, revision 78375

Remove duplicate declaration in wxRichTextCtrl buffer interface This is needed to compile wxPython Phoenix

2015-01-18 09:06 RD, revision 78374

another test commit, undoing the last one

2015-01-18 08:48 RD, revision 78373

This is just a test commit.

2015-01-16 03:39 VZ, revision 78372

Fix typo in wxSOCKET_NOWAIT_WRITE description in the manual. Don't contradict ourselves. Closes #16779.

2015-01-16 03:39 VZ, revision 78371

Fix checks for WXWIN_COMPATIBILITY_3_0: use #if, not #ifdef. The deprecated methods were always available as WXWIN_COMPATIBILITY_3_0 is always defined, we need to check its value and not its definedness. Closes #16782.

2015-01-13 18:05 JS, revision 78370

Bullet no longer gets the attributes from the first object in the list paragraph, so we can control it via paragraph attributes.

2015-01-13 17:41 AW, revision 78369

Fix using WXWIN_COMPATIBILITY_3_0 in conditional blocks in wxPG code. Check the value of WXWIN_COMPATIBILITY_3_0 instead of checking whether it is defined.

2015-01-12 21:37 AW, revision 78368

Preserve alpha channel flag when rescaling bitmap in wxPGProperty::SetValueImage (when wxUSE_IMAGE == 0). Rescaled bitmap must have the same alpha channel flag as the source bitmap flag in order to be properly displayed.

2015-01-12 21:32 AW, revision 78367

Let system decide about required depth of rescaled bitmap in wxPGProperty::SetValueImage. There is not necessary to fix the color depth - everything is determined internally when converting wxImage to wxBitmap.

2015-01-12 21:29 AW, revision 78366

Sanity check regarding DC in wxPropertyGrid::OnComboItemPaint Ensure that wxDC used by drawing functions in wxPropertyGrid::OnComboItemPaint is valid.

2015-01-12 21:23 AW, revision 78365

Don't attempt to draw element-specific bitmap when drawing wxPGChoices element inside the control field of wxEnumProperty with wxPGComboBox. The only bitmap which can be drawn in the control field is a "general" value bitmap (assigned to the property). Closes #16781

2015-01-11 23:49 VZ, revision 78364

Fix selection of items inserted in virtual generic wxDataViewCtrl. Call wxSelectionStore::OnItemsInserted() explicitly instead of just using our UpdateCount() to update the count of items managed by the selection. This needs to be done to ensure that the newly added items have the correction selection, i.e. are always unselected, as previously this wasn't the case: if wxSelectionStore was in the "selected by default" state as it happened e.g. after selecting all the items in the control, the new items also ended up being selected.

2015-01-11 23:49 VZ, revision 78363

Fix selection in virtual generic wxDataViewCtrl after deleting items. The number of items managed by selection was first decremented by our own UpdateCount() and then, again, by an explicit call to wxSelectionStore:: OnItemDelete(), which resulted in the selection ending up in an invalid state. Fix this by not calling UpdateCount(), and hence wxSelectionStore:: SetItemCount(), at all, just OnItemDelete() is enough.

2015-01-10 10:13 SC, revision 78362

removing overridden ProcessIdle, reverting that part of r75289

2015-01-09 04:30 VZ, revision 78361

Send deactivation events to MDI children frame in wxMSW too. For some reason, the code only forwarded activation events to the current MDI child, but not the deactivation ones. And even though this was literally always the case (the check for the event being the activation one is there since r9), it is clearly wrong as the focus restoring code in wxTopLevelWindow in wxMSW doesn't work if the focus hadn't been previously saved. This fix hopefully completes the changes started by r78340 and r78341 and ensures that the focus is always properly restored to the last focused window inside an MDI child.

2015-01-09 04:30 VZ, revision 78360

No changes, just fix a slightly misleading comment in wxMSW focus code. DefWindowProc() never preserves the focused window actually, whether we use WM_NEXTDLGCTL (which is only handled by DefDlgProc() anyhow) or not.

2015-01-09 04:30 VZ, revision 78359

Make specifying minimal size for "unknown" XRC controls work. At least since the changes of r44456 (see #8378), minimal size specified in the XRC for unknown controls didn't have any effect as it was set on wxUnknownControlContainer itself and was overridden by the subsequent call to SetSizerAndFit() which reset the minimal size to the best size of the control contained in it, meaning that it was impossible to make this contained control bigger by specifying min size greater than its best size in the XRC. Fix this by honouring both the min size of the container and of the control contained in it (and do the same thing for the max size for good measure). To avoid not totally obvious interaction of overriding GetMinSize() and DoGetBestClientSize() with sizer code, also position the child control manually instead of using a sizer for it, it's an overkill for such a simple case anyhow.

2015-01-09 04:30 VZ, revision 78358

Make generic wxDataViewCtrl initially usable from keyboard. This control doesn't react to the keyboard at all if it doesn't have a current row and as it doesn't have it initially, it means that there is no way to do anything with the control without clicking it with the mouse first. Fix this by giving it a current row, if possible, whenever it gains focus.

2015-01-09 04:29 VZ, revision 78357

Always invalidate wxStaticText best size after changing its label. wxST_NO_AUTORESIZE style only affects whether the control is actually resized when its text changes, but its best size should always change, so that if the window containing it is explicitly relaid out the size does change. Moreover, in wxMSW and wxOSX the best size was never invalidated at all when the label was ellipsized, so it was never updated for them, preventing, for example, comparing the best size with the current one to check if the text is effectively ellipsized (and so needs to be shown in a tooltip, for example). Fix this by calling InvalidateBestSize() unconditionally, this should make these ports behave in the same was as wxGTK already did.

2015-01-08 15:11 VZ, revision 78356

only flush a client dc if it was not inheriting the native CGContextRef from an outside paint context, fixes #16334

2015-01-06 21:20 VZ, revision 78355

Fix wxBitmap conversion to wxImage in 64-bit wxOSX builds. Don't assume that sizeof(long) == 4, this is just wrong. Closes #16770.

2015-01-06 21:08 VZ, revision 78354

Fix wxBitmap conversion to wxImage in 64-bit wxOSX builds. Don't assume that sizeof(long) == 4, this is just wrong. Closes #16770.

2015-01-06 08:12 MAR, revision 78353

Added new ctor for wxBitmap using wxCursor for wxQT (similar to wxGTK) This is the implementation that should had been included in r78348

2015-01-05 13:49 TIK, revision 78350

On wxMac, modal event loops avoid deleting pending objects. Hide the text control after editing a label in the generic tree control so it does not remain visible e.g. if the tree control is used in a dialog.

2015-01-05 13:48 TIK, revision 78349

On wxMac, modal event loops avoid deleting pending events. Hide the text control after editing a label in the generic tree control so it does not remain visible e.g. if the tree control is used in a dialog.

2015-01-04 04:51 MAR, revision 78348

Added new ctor for wxBitmap using wxCursor for wxQT (similar to wxGTK)

2015-01-04 03:49 MAR, revision 78347

Added missing ctor for wxBitmap using wxIcon for wxQT (taken from wxOSX)

2015-01-03 21:45 VZ, revision 78346

Fix wxFileDialog::GetFilterIndex() when opening files in wxOSX. Update m_filterIndex in the "opening" case, just as we already did in the "saving" one (see #13158 and r67550). Closes #16764.

2015-01-03 21:45 VZ, revision 78345

Fix wxFileDialog::GetFilterIndex() when opening files in wxOSX. Update m_filterIndex in the "opening" case, just as we already did in the "saving" one (see #13158 and r67550). Closes #16764.

2015-01-03 16:20 AW, revision 78344

Optimize wxPGChoices::Add methods. Remove unnecessary variables, limit the scope of variables and implement some sanity checks.

2015-01-03 16:10 AW, revision 78343

Optimize wxPGChoices::Set method. There is no need to check if referenced array with values is valid since "reference cannot be bound to dereferenced null pointer in well-defined C++ code". Moreover, conditional call of Add() methods(one with explicit parameter and one with default one) is not necessary.

2015-01-03 14:33 VZ, revision 78342

Fix the size of the "new" bitmap in the toolbar sample. It was broken by the changes of r78238 and was too small for the height in the header, resulting in an immediate crash on toolbar sample startup.

2015-01-03 02:07 VZ, revision 78341

Don't change MDI children order after showing a file dialog in wxMSW. Don't use the generic focus saving/restoring code for wxMDIParentFrame in wxMSW as it already saves and restores the active MDI child on its own and we should let it do it, as our code could change the active child when restoring focus if it hadn't been saved correctly previously. The fact that it is isn't saved is another bug, but even if it is fixed, we should let MSW MDI implementation handle activation as we can't do it any better -- but can do worse, as the bug described in #16635 shows. Closes #16635.

2015-01-03 02:07 VZ, revision 78340

Fix saving focus for MDI child frames in wxMSW. Use wxWindow::IsDescendant() instead of wxGetTopLevelParent() to determine whether the focused window is inside the TLW, as the former works correctly for any window, including wxMDIChildFrames, while the latter would return wxMDIParentFrame for them (as MDI children are not considered to be TLWs) and so saving the focus would always fail and the focus was always restored to the first child of wxMDIChildFrame after switching from it to another child frame and back, as could be seen by applying the simple patch: ---------------------------------- >8 -------------------------------------- diff --git a/samples/docview/view.cpp b/samples/docview/view.cpp index 9f20032..8386522 100644 --- a/samples/docview/view.cpp +++ b/samples/docview/view.cpp @@ -160,8 +160,9 @@ bool TextEditView::OnCreate(wxDocument *doc, long flags) wxFrame* frame = wxGetApp().CreateChildFrame(this, false); wxASSERT(frame == GetFrame()); m_text = new wxTextCtrl(frame, wxID_ANY, "", - wxDefaultPosition, wxDefaultSize, + wxPoint(5, 5), wxDefaultSize, wxTE_MULTILINE); + new wxButton(frame, wxID_ANY, "Button", wxPoint(5, 100)); frame->Show(); return true; ---------------------------------- >8 -------------------------------------- Notice that the bug usually stayed hidden because it didn't happen if wxMDIChildFrame contained a wxPanel (which also stores the last focus) inside it or if the focus switched away from the entire application instead of just going to another child and back, as in this case the last focus was stored in wxMDIParentFrame, for which the old code did work.

2015-01-03 02:07 VZ, revision 78339

Add include/wx/richtext/richtexttabspage.h to the MSBuild project. This seems like an occidental omission.

2015-01-03 02:07 VZ, revision 78338

Remove files not being compiled from richtext MSBuild project. Several sources in this project are actually not compiled at all, but are included from other files, so they don't appear in the master sources list. Update the project accordingly, for consistency with the earlier versions of MSVC. If these files should appear in it, they need to be added to RICHTEXT_HDR variable.

2015-01-03 02:07 VZ, revision 78337

Add appprogress.{h,cpp} to the files list. The wxMSW header was absent from both the bakefile and master file list, and the latter also lacked the other wxAppProgressIndicator-related files. Also regenerate the project file to contain the MSW header.

2015-01-03 02:07 VZ, revision 78336

No changes, just sort files alphabetically in the bakefiles files list. Keep MSW_SRC files list sorted, appprogress.cpp was added in a wrong place.

2015-01-03 00:49 VZ, revision 78334

German translations update from Wolfgang Stöggl .

2015-01-02 17:15 AW, revision 78333

Delete wxDC object when exiting from wxPropertyGrid::OnPaint

2015-01-02 15:26 VZ, revision 78332

Improve widgets sample UI consistency. Ensure that the various attributes (colours, font, border, ...) are preserved when a widget is recreated or the current page is changed. This is more convenient and also avoids discrepancies between the state of the menu items and the actual state of the widget. Closes #16576.

2015-01-01 00:36 RD, revision 78331

a commit to test Trac/SVN integration. Closes #16754

2014-12-31 23:25 RD, revision 78330

just another test commit

2014-12-31 23:20 RD, revision 78329

just a test commit

2014-12-28 21:06 AW, revision 78328

Pass outside wxPG a modified clone of wxEVT_TEXT event instead of hacking current event object. Using a clone of event (with PG id) instead of replacing id in the currently processed event coming from wxPGTextCtrlEditor seems to be less intrusive and safer action.

2014-12-27 15:24 VZ, revision 78327

Fix reading of not NUL-terminated strings using wxRegKey. Even though this is typically the case, some strings in Windows registry are not NUL-terminated, deal with them correctly by using the explicit length. Closes #16719.

2014-12-27 15:24 VZ, revision 78326

Revert "Add support for reading multi string values to wxRegKey." Reverts r78136 (see #15727) because the multi-string values in Windows registry are actually not "name=value" pairs at all but just NUL-separated strings and the API provided for reading them was inappropriate. Also see #16719.

2014-12-27 15:24 VZ, revision 78325

Fix flickering when resizing a frame with status bar in wxMSW. The flicker was only visible under Windows XP or when using a class theme and was due to mis-positioning the status bar initially in PositionStatusBar(). Fix this by adjusting its position by the toolbar offset before calling its SetSize(). Closes #16705.

2014-12-27 15:24 VZ, revision 78324

Make disabling submenus work in wxMSW. As submenu items don't have a valid ID, we need to address them by their position when calling EnableMenuItem() -- and for simplicity do it for all the items. Closes #16747.

2014-12-27 15:17 VZ, revision 78323

Make disabling submenus work in wxMSW. As submenu items don't have a valid ID, we need to address them by their position when calling EnableMenuItem() -- and for simplicity do it for all the items. Closes #16747.

2014-12-27 15:17 VZ, revision 78322

Fix handling of fast clicks in wxRibbonBar under MSW. Second click can result in a double click event instead of the usual simple click if it happens quickly enough after the first one, so handle double clicks in the same way as simple clicks instead of ignoring them. Closes #16551.

2014-12-27 12:30 AW, revision 78321

Do not actually reconnect PG event handlers when attempting to reconnect them to the same window. When in wxPropertyGridManager::ReconnectEventHandlers() new window ID is the same as old window ID then there is no need to do anything with handlers. An assertion warning is displayed in this case to notify about this unusual (and maybe unintended) situation.

2014-12-25 02:32 VZ, revision 78320

Fix removing tools from wxToolBar in wxOSX. Release the tool instead of retaining it (typo?) and also remove it from the toolbar view. See #16663.

2014-12-25 02:32 VZ, revision 78319

Don't overflow the message queue in wxEventLoop::WakeUp() in wxOSX. First, don't add any events at all to it unless it's empty. Second, post new events with low priority instead of high one, we really don't care about them getting processed, other, real, events should take priority. Closes #14256.

2014-12-25 02:32 VZ, revision 78318

Blind fix for wxTextDataObject trailing NUL under OS X. Use the length provided to SetData() instead of assuming it is NUL-terminated. Closes #9522.

2014-12-25 02:32 VZ, revision 78317

Generate wxEVT_DATAVIEW_ITEM_ACTIVATED on Enter in wxOSX wxDVC. Allow activating wxDataViewCtrl items from keyboard under OS X. Closes #16272.

2014-12-25 02:32 VZ, revision 78316

Allow setting hints for multi-line wxTextCtrl when supported. Don't prevent people from using hints in wxMSW and wxGTK2, where they work with multiline text controls too, even though they do not work with wxGTK3 nor wxOSX. Closes #14456.

2014-12-25 02:31 VZ, revision 78315

Add support for strikeout fonts to wxMSW wxTextCtrl. Map them to CFE_STRIKEOUT in the native rich text control. See #16591.

2014-12-25 02:31 VZ, revision 78314

Fix handling of fast clicks in wxRibbonBar under MSW. Second click can result in a double click event instead of the usual simple click if it happens quickly enough after the first one, so handle double clicks in the same way as simple clicks instead of ignoring them. Closes #16551.

2014-12-24 21:02 MAR, revision 78313

Match the wxQT wxColour with public interface Now the type of the value returned by Red, Green, Blue and Alpha methods are consistent with wxGTK and wxMSW. This could fix ticket #16713 (symbols exported)

2014-12-24 20:19 MAR, revision 78312

Fix SIGSEGV due bad pointer in wxMessageDialog (wxQT) m_qtWindow should be used instead of m_qtMessageBox (removed). If not, PostCreation() cannot call wxMessageDialog::GetHandle() as it is virtual (and it is called from the ctor), so it fails to set the base window pointer, raising a SIGSEGV in wxWindow::DoSetSize (for more info, see architecture in docs)

2014-12-24 14:57 VZ, revision 78311

Fix some typos in the comments and messages in the samples. Closes #16738.

2014-12-24 14:57 VZ, revision 78310

Update dialog editors list in the manual. Remove wxDesigner which is not offered any more and add wxCrafter. Also use more neutral "form designer" term to avoid giving the impression that these tools can only be used for the dialogs. Closes #16744.

2014-12-24 14:57 VZ, revision 78309

Add brief documentation for wxLog::Flush(). See #16744.

2014-12-24 14:57 VZ, revision 78308

Escape space after "e.g." or "i.e." in the manual. This fixes formatting of the Doxygen-generated docs (maybe we should just switch to the civilized spelling of "eg" and "ie" instead?). See #16744.

2014-12-24 14:56 VZ, revision 78307

Correct minor typo in wxMimeTypesManager documentation. See #16744.

2014-12-24 14:56 VZ, revision 78306

Correct typo in wxStopWatch example in the documentation. See #16744.

2014-12-24 14:56 VZ, revision 78305

Czech translations update from Zbyněk Schwarz.

2014-12-23 10:50 VZ, revision 78303

Use Cmd-click, not Apply-click, to select items in wxVListBox. Using Apple key here under Mac was unexpected, we should use Cmd which corresponds to Ctrl used under the other platforms and which is already mapped to it by wxKeyboardState::ControlDown().

2014-12-22 02:31 VZ, revision 78297

Don't try setting width before column is added to wxOSX wxDVC. This is not going to work anyhow and the width will be really set later, when InsertColumn() is called.

2014-12-22 02:31 VZ, revision 78296

Don't warn if model cell value is empty in wxOSX wxDVC. This follows similar change to wxGTK a few commits ago and makes wxOSX consistent with the generic version.

2014-12-22 02:31 VZ, revision 78295

Refactor type checks in wxOSX wxDVC implementation. Check the type in one place only, before calling MacRender() instead of doing it in each and every implementation of it. Also replace wxFAIL_MSG() with wxLogDebug() as the former resulted in a crash due to assert reentrancy, as usual when asserting inside a wxEVT_PAINT handler which is constantly called all the time, and so wasn't particularly useful.

2014-12-22 02:31 VZ, revision 78294

Remove unnecessary methods of wxCocoaOutlineDataSource. {append,remove}Child() were never used, remove them to make it easier to remove the use of "children" array itself later (see #16740).

2014-12-22 02:31 VZ, revision 78293

Don't warn if model cell value is empty in wxGTK wxDVC. Make wxGTK consistent with the generic version and, generally speaking, more reasonable by allowing to leave any cell empty by just not filling in the wxVariant in the model GetValue() for it.

2014-12-22 02:31 VZ, revision 78292

Replace wxLogError() with wxLogDebug() in wxGTK wxDVC code. The type mismatch between the value returned from the model and the one returned by the control cannot be due to any user action, so it is quite useless to show it to the user, it is only relevant for the developers. Use wxLogDebug() and not wxASSERT() because asserting in a wxEVT_PAINT callback would result in a crash due assert reentrancies.

2014-12-22 02:31 VZ, revision 78291

Fix arguments of type mismatch error message in wxGTK wxDVC. The "required" and "actual" arguments were exchanged, making the message pretty confusing.

2014-12-20 22:52 VZ, revision 78290

Centre text vertically in wxDataViewCtrl by default in generic version. This was already the case in the native GTK (possibly unintentionally) and OS X (because vertical alignment is not supported at all there) versions, but in the generic version using the default wxALIGN_NOT alignment when calling wxDataViewCtrl::AppendXXXColumn() methods resulted in top-aligned text which looked ugly (this could be seen on the second page of the dataview sample for example). Fix this by handling wxALIGN_NOT as wxDVR_DEFAULT_ALIGNMENT in these functions to do the right thing by default.

2014-12-20 22:51 VZ, revision 78289

Use helper functions for {app,prep}ending wxDataViewCtrl columns. Make the code more maintainable by using helper functions instead of duplicating the same logic a dozen times for each of appending and prepending. This is just a refactoring, no changes in behaviour.

2014-12-20 22:51 VZ, revision 78288

Add GetDefaultType() to all standard wxDataViewRenderer-derived classes. This makes it possible to refer to the associated wxVariant types without hard coding the string constants, i.e. instead of writing "string" (error prone as typos are not detected) it is now possible to write wxDataViewTextRenderer:: GetDefaultType(). This will also make it simpler to write generic (in C++ templates sense) code using renderers.

2014-12-20 22:51 VZ, revision 78287

Undo the change of the number of items in dataview sample. Increasing it to 10000000 in r77905 brought both the native GTK (see #16741) and OSX (see #16740) wxDataViewCtrl implementation to their knees, so don't do this. This is, of course, just hiding the real bug, but still better than not allowing people to run the sample at all.

2014-12-20 22:51 VZ, revision 78286

Suppress unused parameter warning in wxRichTextCtrl code. The entire event handler should arguably be removed entirely if it's unused, but for now just avoid the warning.

2014-12-20 11:15 TIK, revision 78285

Add Windows 10 support to wxGetOsDescription(). Map Windows 10 to wxWinVersion_8 in wxGetWinVersion() to not change ABI.

2014-12-20 11:13 TIK, revision 78284

Add Windows 10 support to wxGetWinVersion() and wxGetOsDescription().

2014-12-19 16:56 VZ, revision 78283

Remove assert about unsupported wxMOD_ALTGR in wxUIActionSimulator. wxMOD_ALTGR is wxMOD_ALT + wxMOD_CONTROL and so is, actually, supported as simulating it involves only simulating both Alt and Control being pressed, at least under MSW.

2014-12-19 16:56 VZ, revision 78282

Destroy all views associated to wxDocument being forcefully closed. Forcefully closing a modified document misbehaved in several ways: first, the question about whether the document should be saved was asked twice if the first message box was cancelled. Second, DeleteAllViews() didn't actually delete the views if the second message box was cancelled as well -- so the views could be left alive while their associated document was destroyed, resulting in more or less guaranteed crash (e.g. during the next event handling as wxDocChildFrameAnyBase::TryProcessEvent() assumes that m_childDocument is still alive if m_childView is). Fix both problems by really forcing the document to close by pretending that it is not modified. We still ask the user once though, as it could be useful to be able to save the document even when it will be closed. Ideally, the message box shown in this case shouldn't have a "Cancel" button at all, but this is left for the future.

2014-12-17 18:44 PC, revision 78281

guard functions with wxCHECK_* macros rather than wxASSERT_*

2014-12-17 17:04 JS, revision 78280

Added shadows to box attributes, and relevant controls in the Background page.

2014-12-16 21:16 VZ, revision 78279

Fix inserting tools removed from wxToolBar back into it in wxMSW. Make sure to reset the "to be deleted" flag we set on the tool when removing it from the toolbar to avoid layout problems if the tool is added back later. Closes #16735.

2014-12-16 21:16 VZ, revision 78278

Move wxRendererMSW::DrawTextCtrl() implementation to wxRendererGeneric. This ensures that wxRendererGeneric::DrawGauge() is actually usable as otherwise calling it always resulted in an assertion failure because it used DrawTextCtrl() which was not implemented in wxRendererGeneric. So this fixes using DrawGauge() in non-MSW ports which was added by r77023 (see #16406) but apparently never worked. Also remove wxRendererMSW::DrawGauge() as it's exactly the same as the version inherited from wxRendererGeneric. Closes #16725.

2014-12-16 21:16 VZ, revision 78277

Remove unnecessary wxUSE_MFC option. This didn't do (almost) anything, so just remove it, using MFC and wxWidgets together works just fine without it.

2014-12-16 21:15 VZ, revision 78276

No real changes, just fix some typos in comments in the samples. Closes #16734 (for 3.0).

2014-12-16 21:15 VZ, revision 78275

Fix inserting tools removed from wxToolBar back into it in wxMSW. Make sure to reset the "to be deleted" flag we set on the tool when removing it from the toolbar to avoid layout problems if the tool is added back later. Closes #16735 (for 3.0).

2014-12-16 14:59 VZ, revision 78274

Add wxEVT_MAGNIFY mouse event. Currently this is implemented for wxOSX only. Closes #14322.

2014-12-16 14:51 VZ, revision 78273

No real changes, just fix some typos in comments in the samples. Closes #16734.

2014-12-16 14:49 VZ, revision 78272

Fix building with -std=gnu++11 -stdlib=libstdc++ under OS X. Take into account the possibility of using C++11 compiler with non-C++11 standard library as this may happen when targeting OS X < 10.7, in which case C++11 libc++ can't be used. Closes #16730.

2014-12-14 12:12 SN, revision 78271

No real changes, just fixed a couple of typos in comments, fixes #16726.

2014-12-13 18:40 PC, revision 78270

Allow setting icon before m_widget is valid. There is no need to require a valid m_widget, the "realize" handler will take care of things later. Closes #16731

2014-12-12 23:58 AW, revision 78269

Remove unused member variable from wxSimpleCheckBox (used in wxPGCheckBoxEditor).

2014-12-12 23:56 AW, revision 78268

Fix typo in a comment

2014-12-12 23:40 AW, revision 78267

Create wxPropertyGridManager with default size in the propgrid sample Since r78150 wxPropertyGridManager can be created with default size with no issues.

2014-12-12 23:36 AW, revision 78266

Use wxBufferedPaintDC to implement double buffering in wxPG. This also fixes drawing the PG when buffer is not available and there is necessary do draw directly on window DC. wxPropertyGrid::DrawItems method is simplified and wxPropertyGrid::DoDrawItems method is reimplemented since its 3-rd argument (isBuffered) is unneeded anymore.

2014-12-11 21:31 TIK, revision 78265

In wxMBConvStrictUTF8::ToWChar the length of a multibyte UTF-8 sequence is obtained from a table, with the leading byte as offset. Later in that function, the prefix of the leading byte is compared against the expected prefix for the given length. Unless the table is faulty, this comparison can never fail. It is thus redundant and not needed. As optimizing compilers aren't smart enough yet to detect this, this commit removes the redundant check.

2014-12-11 21:31 TIK, revision 78264

In wxMBConvStrictUTF8::ToWChar the length of a multibyte UTF-8 sequence is obtained from a table, with the leading byte as offset. Later in that function, the prefix of the leading byte is compared against the expected prefix for the given length. Unless the table is faulty, this comparison can never fail. It is thus redundant and not needed. As optimizing compilers aren't smart enough yet to detect this, this commit removes the redundant check.

2014-12-11 19:34 PC, revision 78263

avoid generating wxEVT_CHAR when WriteText() is called from wxEVT_CHAR handler, closes #16717

2014-12-10 02:04 VZ, revision 78262

Restore Kolya Kosenko copyrights on parts of wxQt code. The original code was originally submitted of #12042. Closes #16721.

2014-12-10 01:14 VZ, revision 78261

Cast size_t value when using it with printf() in a test. Use %lu with a cast to avoid warnings in both 32 and 64 bit builds. Closes #16720.

2014-12-09 18:11 AW, revision 78260

Refactor: mark wxPropertyGridManager::SetId() as overridden virtual method.

2014-12-09 18:07 AW, revision 78259

Reconnect wxPropertyGridManager event handlers when wxPG id is changing. Because some event handlers are bound to the particular id's they need to be reconnected when wxPG id is the subject of change.

2014-12-09 13:51 VZ, revision 78258

Update wxGetTranslation() documentation. Document "i18n" trace mask. Correct warning about [not] using wxT(). See #16714.

2014-12-09 13:51 VZ, revision 78257

Update i18n overview in the manual. Remove obsolete warning about gettext 0.10, add a link to Poedit instead. Also fix Doxygen markup: @see can't be used inside a list item. See #16714.

2014-12-07 17:40 VS, revision 78256

Don't crash on OS X on exit if -NS* argument used When converting argv[] from char* to wchar_t* in ConvertArgsToUnicode(), keep an extra (shallow) copy of argc and the argv[] array so that it can be safely freed in FreeConvertedArgs(). The reason is that other functions such as wxApp::Initialize() may modify argv[] and remove some arguments from it; this is indeed exactly what wxOSX does. After such changes, gs_initData.argv would no longer be in the original state and could contain e.g. duplicate pointers or be missing some of the pointers that we should free.

2014-12-07 17:40 VS, revision 78255

Use int& type for argc in wxInitialize and wxInitializer Other functions that take (argc,argv) arguments (wxEntry, wxEntryStart) take argc by reference, because they may manipulate the arguments list. wxInitialize() used passing by value, so any modifications would be silently lost. Make all the functions consistent in their handling of argc by using int& everywhere.

2014-12-07 17:40 VS, revision 78254

Don't crash on OS X on exit if -NS* argument used When converting argv[] from char* to wchar_t* in ConvertArgsToUnicode(), keep an extra (shallow) copy of argc and the argv[] array so that it can be safely freed in FreeConvertedArgs(). The reason is that other functions such as wxApp::Initialize() may modify argv[] and remove some arguments from it; this is indeed exactly what wxOSX does. After such changes, gs_initData.argv would no longer be in the original state and could contain e.g. duplicate pointers or be missing some of the pointers that we should free.

2014-12-07 14:47 VZ, revision 78253
  • D /wxWidgets/trunk/src/expat/.cvsignore
  • D /wxWidgets/trunk/src/expat/conftools/.cvsignore
  • D /wxWidgets/trunk/src/expat/examples/.cvsignore
  • D /wxWidgets/trunk/src/expat/gennmtab/.cvsignore
  • D /wxWidgets/trunk/src/expat/lib/.cvsignore
  • D /wxWidgets/trunk/src/expat/tests/.cvsignore
  • D /wxWidgets/trunk/src/expat/win32/.cvsignore
  • D /wxWidgets/trunk/src/expat/xmlwf/.cvsignore

Remove .cvsignore files from expat sources. These files shouldn't be included in the distribution and it's simpler to just remove them, as it is pretty unlikely that a new Expat release is going to be made, and even less likely that it would still use CVS if it does happen, than to filter them out from the distribution creation scripts. Closes #16711.

2014-12-07 14:46 VZ, revision 78252
  • D /wxWidgets/branches/WX_3_0_BRANCH/src/expat/.cvsignore
  • D /wxWidgets/branches/WX_3_0_BRANCH/src/expat/conftools/.cvsignore
  • D /wxWidgets/branches/WX_3_0_BRANCH/src/expat/examples/.cvsignore
  • D /wxWidgets/branches/WX_3_0_BRANCH/src/expat/gennmtab/.cvsignore
  • D /wxWidgets/branches/WX_3_0_BRANCH/src/expat/lib/.cvsignore
  • D /wxWidgets/branches/WX_3_0_BRANCH/src/expat/tests/.cvsignore
  • D /wxWidgets/branches/WX_3_0_BRANCH/src/expat/win32/.cvsignore
  • D /wxWidgets/branches/WX_3_0_BRANCH/src/expat/xmlwf/.cvsignore

Remove .cvsignore files from expat sources. These files shouldn't be included in the distribution and it's simpler to just remove them, as it is pretty unlikely that a new Expat release is going to be made, and even less likely that it would still use CVS if it does happen, than to filter them out from the distribution creation scripts. Closes #16711.

2014-12-07 02:52 VZ, revision 78251

Fix appearance of wxMSW wxToggleButtons with bitmaps in pressed state. Correct the "pushed" state determination in our own drawn code, it didn't work for wxToggleButton which doesn't return BST_PUSHED from BM_GETSTATE. But it does have BM_GETCHECK returning its state directly, so add a new virtual MSWIsPushed() method and implement it differently for it. Closes #13755.

2014-12-06 14:07 VZ, revision 78250

Move MSWGetDefaultLayout() outside of #if wxUSE_EXCEPTIONS block. Build fix for wxUSE_EXCEPTIONS==0 after r78236.

2014-12-06 00:09 VZ, revision 78249

Build fix for wxOSX after the changes of r78230. Fix wrong signature of DoHandleMenuEvent() by getting rid of this function entirely, it's not just a trivial wrapper for ProcessMenuEvent() anyhow, so just use the latter directly.

2014-12-05 23:19 VZ, revision 78248

Fix checked disabled wxToolBar tools with custom images in wxMSW. Windows doesn't use the correct image for checked disabled tools, at least up to and including Windows 7, so don't put such tools in the "checked" state at all: this doesn't matter as they are disabled anyhow, but shows the correct image for them. Closes #12989.

2014-12-05 23:19 VZ, revision 78247

Don't generate wxEVT_MENU_{OPEN,CLOSE} for disabled top menus in wxMSW. Windows still sends these messages even if a top level menu is disabled, for some reason, so filter them out manually. Closes #2168.

2014-12-05 23:19 VZ, revision 78246

No real changes, just make wxMenuBar::MSWGetMenu() const. There is no reason not to.

2014-12-05 23:19 VZ, revision 78245

Handle updating tooltip text in wxCompositeWindow correctly. While calling SetToolTip(wxToolTip*) overload already worked correctly for wxCompositeWindow, using SetToolTip(wxString) did not if a tooltip already existed, as it didn't use the virtual DoSetToolTip() in this case, resulting in e.g. impossibility to update wxSpinCtrlDouble tooltip using this method. Fix this by introducing DoSetToolTipText() virtual which is used by that overload now and overriding it in wxCompositeWindow. Also don't override DoSetToolTip() in wxSpinCtrlGenericBase any more, it is not necessary as it's already done by its base class wxCompositeWindow. Closes #16595.

2014-12-05 23:19 VZ, revision 78244

Don't keep out of date column widths in generic wxDataViewCtrl. The cached widths need to be invalidated whenever an item is expanded or collapsed, whether it's done programmatically (which was already handled) or interactively by the user (which wasn't). Closes #16678.

2014-12-05 23:18 VZ, revision 78243

Use another bool constant instead of BOOL one in wxBitmapComboBox. Just s/FALSE/false/ See #16690.

2014-12-05 23:18 VZ, revision 78242

Measure wxBitmapComboBox height correctly if it has images. This fixes a regression introduced in r77548 (see #14279): wxBitmapComboBox must be higher than a normal wxComboBox if it has big enough bitmaps. Closes #16690.

2014-12-05 23:18 VZ, revision 78241

Prefer file types with a defined open command in Unix wxMimeTypesManager. It can happen that more than one file type maps to the given extension, in this case prefer the one which has an open command defined for it as it is typically more useful. See #16703.

2014-12-05 23:18 VZ, revision 78240

Load *.desktop files recursively in wxMimeTypesManager under Unix. Not all .desktop files are directly under /usr/share/applications, some or, in some cases, most of them, may be under its subdirectories, so look for them there as well. See #16703.

2014-12-05 23:18 VZ, revision 78239

No changes, just fixes for typos in comments in wxMSW headers. Closes #16706.

2014-12-05 23:18 VZ, revision 78238

Make all bitmaps of the same size in the toolbar sample. This is a requirement under MSW and resulted in problems when a secondary toolbar was created. Closes #16707.

2014-12-05 23:18 VZ, revision 78237

Don't use right-to-left markers in wxMSW wxMessageDialog code. This mechanism is provided as an alternative to specifying MB_RTLREADING style, e.g. if the source code can't be modified but the [string] resource from which the message box message is loaded can be. We don't need to do this if we do add MB_RTLREADING however.

2014-12-05 23:18 VZ, revision 78236

Fall back to default process layout direction in wxMSW. Add helper wxApp::MSWGetDefaultLayout() static method and use it instead of wxTheApp->GetLayoutDirection() in wxMSW code. This serves two purposes: first, wxMessageDialog doesn't crash when it's shown before wxTheApp is created (or after it's destroyed) any more. And second, we use the correct layout direction if the main application has enabled it by calling SetProcessDefaultLayout() or using two U+200E characters in the beginning of its "FileDescription" resource field by default now.

2014-12-05 23:18 VZ, revision 78235

Use the layout direction of wxTextCtrl itself, not the app, in wxMSW. A wxTextCtrl inside an RTL window in an otherwise LTR application should still be considered RTL, it's not clear at all why do we need to ask the application for the layout here, so change this for consistency.

2014-12-05 23:18 VZ, revision 78234

Don't dereference wxTheApp unconditionally when showing wxMessageDialog. The application might not yet (or already) exist, don't crash in this case.

2014-12-05 23:18 VZ, revision 78233

Fix crash when using wxMessageBox before creating wxTheApp. CheckIfCanBeUsedAsParent() used by wxMessageBox ctor shouldn't dereference wxTheApp unconditionally, otherwise it's impossible to show a message box before creating the application object or after destroying it without crashing.

2014-12-05 23:18 VZ, revision 78232

Don't put wxMenu::MSWGetMenu() inside wxUSE_OWNER_DRAWN check. This doesn't make any sense, this function is not related to the owner drawing code at all and should always be available. This corrects the changes of r70316, see #13851.

2014-12-05 23:18 VZ, revision 78231

Remove unnecessary assert from wxMenuBar::MSWGetMenu(). This assert was triggered after the changes of the previous commit as we can get WM_MENUSELECT with menu bar handle as parameter from Windows and still search for the menu with this handle -- and there is nothing wrong with this, so just return NULL but without asserting in this case. This corrects the changes of r67355, see #13080.

2014-12-05 23:17 VZ, revision 78230

Harmonize wxMenuEvent handling between all major ports. Send these events to the menu itself first, then to the menu bar containing it or the window invoking it if it's a popup menu and, finally, to the top level window in all of wxGTK, wxMSW and wxOSX. In particular, this ensures that help strings are now shown in the parent MDI frame status bar by default, even when the menus are attached to the client MDI frame or shown as popup menus. At the implementation level, this logic is now encapsulated in a new static wxMenu::ProcessMenuEvent() method which can be easily modified and reused in other ports.

2014-12-05 23:17 VZ, revision 78229

Fix fields initialization in wxCommandEvent copy ctor. Neither m_isCommandEvent nor, worse, m_propagationLevel was set correctly for wxCommandEvent objects constructed using copy ctor -- and hence Clone(). This means that such events were not propagated upwards the window hierarchy, quite possibly resulting in mysterious bugs. Fix this now by initializing these fields in both the normal and copy ctors.

2014-12-05 23:17 VZ, revision 78228

Refactor: extract menu event handling logic from wxMenu::SendEvent(). Make this logic available for reuse with the events of different kind, e.g. wxMenuEvent in the upcoming commit.

2014-12-05 23:17 VZ, revision 78227

Remove "isPopup" parameter from DoSendMenuOpenCloseEvent() in wxMSW. This parameter is redundant, we can find out whether a menu is a popup one or not from the menu itself, assuming that we always have a valid wxMenu pointer for popup menus events, which really should be the case (we may not have one for the events from system menus). This allows to handle popup menu events case in the base class version of MSWFindMenuFromHMENU() which will allow to reuse it from places other than DoSendMenuOpenCloseEvent() without code duplication now. There should be no changes to the behaviour, this is just a simplification.

2014-12-05 23:17 VZ, revision 78226

Add a popup menu to the MDI sample. This is just to test how wxEVT_MENU_HIGHLIGHT events from popup menu items are handled under the different platforms. Also log menu events to the canvas window too as it now gets some.

2014-12-05 23:17 VZ, revision 78225

Add logging of wxEVT_MENU_HIGHLIGHT events to the MDI sample too. This allows to easily compare which events are generated and sent to which objects under different platforms.

2014-12-05 23:17 VZ, revision 78224

No real changes, just shorten log messages in the MDI sample. There is not enough space for the relatively long messages logged when menus are opened or closed (added in r78130), shorten them as much as possible while leaving them still readable.

2014-12-05 23:17 VZ, revision 78223

Document the long existing wxFrame::DoGiveHelp(). This function was added way back in 2002 (r15339) but was never documented. Do it now as it's a useful method to override for customizing the help strings display.

2014-12-05 23:17 VZ, revision 78222

Send idle events from inside wxYield() in all ports, including wxMSW. This means it can be now done in wxEventLoopBase itself and calls to ProcessIdle() in the port-specific code are not needed any more, so remove them. This introduces a change in behaviour for wxMSW, where idle event handlers were not invoked from inside wxYield() at all previously, and for wxOSX, where only a single idle event is now generated from wxYield() instead of a stream of them until no idle handler needs any more of them as before. But on the bright side, the new behaviour seems to make most sense and is now the same in all ports.

2014-12-05 23:17 VZ, revision 78221

Use DTM_GETIDEALSIZE to implement wxDateTimePickerCtrl::DoGetBestSize(). If possible, i.e. when running under Vista or later, just ask the control for its best size instead of trying to approximate it ourselves. Notice that we still use our own height, to ensure that it's the same as for the text controls, but it's the width that really counts.

2014-12-05 23:17 VZ, revision 78220

Add wxLocale::GetOSInfo() and use it in MSW wxDateTimePickerCtrl. This fixes the size of wxDateTimePickerCtrl in programs that don't set any specific locale: previously, the standard "%m/%d/%y" format was used for computing the best size of the control in this case, but this could have been significantly shorter than the format actually used (compare with the default "%d %b, %Y"), resulting in the control contents being truncated by default. GetOSInfo() is currently different from GetInfo() only under MSW, but we might need to make the same distinction under OS X too, so do make this function public instead of keeping it MSW-specific.

2014-12-05 23:17 VZ, revision 78219

Remove unneeded CacheBestSize() from wxMSW wxDateTimePickerCtrl. The best size is already cached by the base class GetBestSize(), no need to do it here as well.

2014-12-05 23:15 VZ, revision 78218

Don't keep out of date column widths in generic wxDataViewCtrl. The cached widths need to be invalidated whenever an item is expanded or collapsed, whether it's done programmatically (which was already handled) or interactively by the user (which wasn't). Closes #16678.

2014-12-05 16:56 VS, revision 78217

Xcode project: src/regex must be in non-user search path Otherwise it wouldn't be included as <regex.h> and the system copy would be used. We need to always use the builtin, wxChar-aware copy.

2014-12-05 16:55 VS, revision 78216

Xcode project: src/regex must be in non-user search path Otherwise it wouldn't be included as <regex.h> and the system copy would be used. We need to always use the builtin, wxChar-aware copy.

2014-12-03 18:18 VZ, revision 78215

No real changes, just fix some typos in comments. Closes #16699.

2014-12-03 18:01 AW, revision 78214

Define wxPG toolbar event handler only if library is compiled with toolbar classes. Include wxPropertyGridManager::OnToolbarClick() code only if wxUSE_TOOLBAR is set to 1.

2014-12-03 17:59 AW, revision 78213

Restore wxPG toolbar buttons state if selecting wxPG page was unsuccessful. Toolbar button corresponding to the unsuccessfully selected page should be released and button corresponding to the old page should be pressed again.

2014-12-01 23:47 AW, revision 78212

Use wxCONTROL_FOCUSED control state flag when drawing native wxPG check box in the "modified state" under wxOSX. Generally, wxCONTROL_PRESSED control flag is used when drawing native check box (wxPGEditor_CheckBox) in "modified state" but under wxOSX this flag is equivalent to wxCONTROL_CHECKED flag and hence it is necessary to indicate this state in an alternative way. Closes #16696

2014-11-29 21:18 AW, revision 78211

Add member function to retrieve wxBoolProperty attribute. Added wxBoolProperty::DoGetAttribute virtual function.

2014-11-29 17:45 AW, revision 78210

Check if new index is in range before selecting new value in wxPGProperty::SetChoiceSelection. Closes #16697

2014-11-28 21:45 AW, revision 78209

Refresh wxPGProperty after changing its attribute. Closes #16696

2014-11-27 23:23 RD, revision 78202

Allow explicitly selecting the carbon build since it is not the default anymore.

2014-11-27 23:23 RD, revision 78201

Add gtk3 build support

2014-11-27 01:45 VZ, revision 78188

Turkish translations update from Kaya Zeren.

2014-11-26 20:16 VZ, revision 78187

German translations update from Wolfgang Stöggl. Many minor fixes and also replacements of "..." with the ellipsis Unicode character (U+2026).

2014-11-25 20:05 VS, revision 78186

Refresh PO files after accelerators changes

2014-11-25 20:05 VS, revision 78185

Improve wxAcceleratorEntry::ToString() formatting This method used the wxKeyNames[] array originally intended for parsing accelerator specification and not for human-friendly formatting. In particular, non-alphanumeric keys such as WXK_DOWN and many others were formatted using all-uppercase name, which was highly unusual and not native on any platforms (the only unaffected one was OS X). Improve the formatting by doing the following: a) use Title case for the entries; because parsing is case-insensitive, this has no effect on it; b) add display_name field for keys where the symbolic name wasn't appropriate for display and set it for some of the keys that are likely to show up in menus; c) add explanatory comments for translators

2014-11-25 20:05 VS, revision 78184

Extract translator comments into wxstd.pot Extract the commonly used TRANSLATORS: prefix into translation files, to provide some additional context where needed.

2014-11-25 20:05 VS, revision 78183

Translate menu accelerators from XRC The content of <accel> property was taken verbatim and appended to the (translated) label; this bypassed wx's internal accelerators translation mechanism, because wxMenuItem code quite reasonably assumes that the string passed to it is translated. Explicitly use SetAccel() instead, to force translation. This matters for languages such as German where e.g. Ctrl+ is translated as Strg+.

2014-11-25 20:04 VS, revision 78182

Refresh PO files after accelerators changes

2014-11-25 20:04 VS, revision 78181

Improve wxAcceleratorEntry::ToString() formatting This method used the wxKeyNames[] array originally intended for parsing accelerator specification and not for human-friendly formatting. In particular, non-alphanumeric keys such as WXK_DOWN and many others were formatted using all-uppercase name, which was highly unusual and not native on any platforms (the only unaffected one was OS X). Improve the formatting by doing the following: a) use Title case for the entries; because parsing is case-insensitive, this has no effect on it; b) add display_name field for keys where the symbolic name wasn't appropriate for display and set it for some of the keys that are likely to show up in menus; c) add explanatory comments for translators

2014-11-25 20:04 VS, revision 78180

Extract translator comments into wxstd.pot Extract the commonly used TRANSLATORS: prefix into translation files, to provide some additional context where needed.

2014-11-25 20:04 VS, revision 78179

Translate menu accelerators from XRC The content of <accel> property was taken verbatim and appended to the (translated) label; this bypassed wx's internal accelerators translation mechanism, because wxMenuItem code quite reasonably assumes that the string passed to it is translated. Explicitly use SetAccel() instead, to force translation. This matters for languages such as German where e.g. Ctrl+ is translated as Strg+.

2014-11-25 19:23 VS, revision 78178

Close NSWindows properly Don't just release the window, call the close method. This is usually the same, but in some situations, the difference (close sends NSWindowWillCloseNotification, which wx doesn't use) is significant. In particular, if the window is shown as fullscreen, OS X won't dispose of its space correctly when the window is released, but not closed first. See https://github.com/vslavik/poedit/issues/119

2014-11-25 19:23 VS, revision 78177

Close NSWindows properly Don't just release the window, call the close method. This is usually the same, but in some situations, the difference (close sends NSWindowWillCloseNotification, which wx doesn't use) is significant. In particular, if the window is shown as fullscreen, OS X won't dispose of its space correctly when the window is released, but not closed first. See https://github.com/vslavik/poedit/issues/119

2014-11-24 17:11 AW, revision 78176

Remove unused wxPG member variable.

2014-11-24 17:09 AW, revision 78175

Use Boolean variable to store Boolean values in wxPG.

2014-11-24 17:06 AW, revision 78174

Fix using compatibility flag in propgridpagestate.h header file.

2014-11-24 17:04 AW, revision 78173

Use a hash set instead of vector to hold dedicated keys in wxPG.

2014-11-24 14:45 VS, revision 78172

Skip Cocoa's options in wxCmdLineParser on OS X Skip Cocoa-specific flags used by Xcode (such as -AppleLanguages) on OS X when parsing the command line. They all take a single argument, so skip both the flag and the following value in the argv list. Also fix handling of -ApplePersistenceIgnoreState, which didn't skip the value as it should.

2014-11-24 14:45 VS, revision 78171

Skip Cocoa's options in wxCmdLineParser on OS X Skip Cocoa-specific flags used by Xcode (such as -AppleLanguages) on OS X when parsing the command line. They all take a single argument, so skip both the flag and the following value in the argv list. Also fix handling of -ApplePersistenceIgnoreState, which didn't skip the value as it should.

2014-11-22 20:12 PC, revision 78170

Remove gtk_tree_view_set_fixed_height_mode() call from AssociateModel() The check for wxDV_VARIABLE_LINE_HEIGHT is already done in Create(), and the IsVirtualListModel() check was probably an attempt to get around a performance problem (#16680), but it's not a valid criteria for changing the height mode. closes #16683

2014-11-21 18:20 PC, revision 78169

fix assert in dataview sample, closes #16679

2014-11-21 18:00 PC, revision 78168

fix "wrong type" error when using wxDataViewChoiceByIndexRenderer, closes #15955

2014-11-20 18:04 PC, revision 78167

fix crashes in wxGTK3 when running with non-X11 backend, see #16688

2014-11-20 00:25 BP, revision 78166

Backported Doxygen 1.8.8 upgrade to 3.0 branch.

2014-11-19 23:38 BP, revision 78165

Upgrade Doxygen to 1.8.8.

2014-11-19 20:00 PC, revision 78164

clarify comment

2014-11-19 19:59 PC, revision 78163

fix build when GDK_WINDOWING_X11 is not defined

2014-11-19 14:29 VZ, revision 78162

Credit Marco Trevisan for wxGTK3/Mir patches. Closes #16688.

2014-11-19 14:29 VZ, revision 78161

Don't use X11-only functions when not using X11 in wxGTK. See #16688.

2014-11-19 14:29 VZ, revision 78160

Don't crash when switching to full screen in non X11-based wxGTK. Only use internal X11 display if we're running in a such environment. See #16688.

2014-11-19 14:29 VZ, revision 78159

Don't use frame extents when not using X11 in wxGTK. See #16688.

2014-11-19 14:29 VZ, revision 78158

Don't defer wxTLW initialization in wxGTK when not using X11. See #16688.

2014-11-19 14:29 VZ, revision 78157

Provide trivial GDK_IS_X11_DISPLAY() definition for GTK+2. This will be useful for upcoming patches using it to fix problems with GTK+ 3 without breaking GTK+ 2 compilation. See #16688.

2014-11-18 23:34 AW, revision 78156

Allow using the letter 'E' (capital) as a symbol of exponent when entering floating point numbers. Currently, only the letter 'e' is accepted when editing wxPG numeric properties.

2014-11-18 17:34 AW, revision 78154

Fix adjustment of columns width in response to splitter position change in wPG. In wxPropertyGridPageState::PropagateColSizeDec recursion is replaced with iteration and there is handled PG with more then 2 columns.

2014-11-16 22:20 VZ, revision 78153

Fix wxConfig enumeration example in the documentation. Don't use undefined GetConfig() function.

2014-11-15 18:48 AW, revision 78152

Reactivate 'SetSplitterPosition' test in wxPG sample. After fixing issues with wxPG manager sizing this test is now passed.

2014-11-15 18:39 AW, revision 78151

Make more realistic estimation of the best size of wxPropertyGridManager. Current best size (especially width) of wxPropertyGrid Manager is too small. wxPG manager should be wide enough to hold wxPG with two columns and scroll bar.

2014-11-15 18:27 AW, revision 78150

Fix setting initial size of wxPropertyGridManager. wxPG manager is now created with proper size (based on its best size) even if default size is requested. (r78149 is a prerequisite for this patch.)

2014-11-15 18:14 AW, revision 78149

Fix adding/removing categorized/alphabetic mode buttons in wxPropertyGridManager. Modify wxPropertyGridManager::RecreateControls() to allow adding/removing categorized/alphabetic mode buttons to/from wxPG manager tool bar at any time (not only when creating the tool bar). Modify wxPropertyGridManager::SetExtraStyle() to fully support manipulating these buttons via wxPG_EX_MODE_BUTTONS flag.

2014-11-15 18:02 PC, revision 78148

notify all windows in capture stack about capture lost, and empty the stack

2014-11-14 19:56 PC, revision 78147

fix releasing mouse capture before showing modal dialog, see #16647

2014-11-13 02:52 VZ, revision 78146

Remove assert checking for non zero page size in wxDataViewCtrl. This assert seems to be quite useless and can be triggered if a key is (perhaps accidentally) sent to a small (e.g. not yet fully laid out) wxDataViewCtrl window.

2014-11-12 16:11 VS, revision 78145

Fix disabling wxStaticText repeatedly in wxOSX. Changes in r78108 would reset control's color to gray if it was disabled more than once in a row. Guard against this and only remember the color of an enabled control.

2014-11-12 16:10 VS, revision 78144

Fix disabling wxStaticText repeatedly in wxOSX. Changes in r78107 would reset control's color to gray if it was disabled more than once in a row. Guard against this and only remember the color of an enabled control.

2014-11-12 13:37 VZ, revision 78143

Use wxFILTER_EXCLUDE_CHAR_LIST in the sample. It makes more sense than wxFILTER_EXCLUDE_LIST with SetCharExcludes().

2014-11-12 13:37 VZ, revision 78142

Use wxFILTER_EXCLUDE_CHAR_LIST in the sample. It makes more sense than wxFILTER_EXCLUDE_LIST with SetCharExcludes().

2014-11-12 08:43 PC, revision 78141

fix creating wxFont with non-ascii name, closes #16671

2014-11-11 19:31 PC, revision 78140

fix build with old pango versions which don't define PANGO_VERSION_CHECK(), closes #16660

2014-11-11 08:59 JJ, revision 78139

Correction on commit #78110 as suggested by VZ

2014-11-11 08:50 PC, revision 78138

non-pch build fix after r78134

2014-11-11 08:46 JJ, revision 78137

Correction on commit #78099

2014-11-11 02:03 VZ, revision 78136

Add support for reading multi string values to wxRegKey. Add a wxRegKey::QueryValue() overload working with REG_MULTI_SZ values. Closes #16653.

2014-11-11 02:02 VZ, revision 78135

Free converted command lines arguments automatically in wxMSW. This makes the code slightly simpler (no more need for the scope guard) and avoids memory leaks when not using wxEntry() (but calling wxEntryStart() instead). Closes #16664.

2014-11-11 02:02 VZ, revision 78134

Add wxCursor::GetHotSpot() and implement it for wxMSW and wxGTK. Allow retrieving the coordinates of the cursor hot spot, at least for the ports for which we know how to do it. Closes #16539.

2014-11-11 02:02 VZ, revision 78133

Introduce wxCursorBase class defining common wxCursor API. This is done in preparation for adding a new wxCursor method and will allow us to define it in a single place by default instead of having to provide stubs for all ports. See #16539.

2014-11-11 02:02 VZ, revision 78132

Add RAII AutoIconInfo class wrapping ICONINFO Windows struct. This ensures that we never forget to delete the handles returned by GetIconInfo() and also centralizes the error message given if it fails in a single place.

2014-11-11 02:02 VZ, revision 78131

Do use wxUSE_STD_CONTAINERS_COMPATIBLY around code using std::vector. This was supposed to be done in r78066, but after introducing this new wxUSE_XXX symbol I forgot to actually use it in the place it was intended to be used. Fixes compilation with wxUSE_STD_DEFAULT==0 and closes #16673.

2014-11-11 02:02 VZ, revision 78130

Return correct menu pointer for wxEVT_MENU_{OPEN,CLOSE} in MDI frames. These events are supposed to carry a pointer to the menu which was opened or closed, but wxMenuEvent::GetMenu() always returned NULL for the menus opened when a child MDI frame was active, as its menu bar, containing the menu, was not searched for it. Fix this by overriding MSWFindMenuFromHMENU() at wxMDIParentFrame level, just as we already do for FindItemInMenuBar().

2014-11-11 02:02 VZ, revision 78129

Log wxMenuEvent::GetMenu() in the menu sample for wxEVT_MENU_{OPEN,CLOSE}. Show the menu associated with the event, if any, directly in the sample to make comparing the behaviour of the different ports easier.

2014-11-11 02:02 VZ, revision 78128

Update the out of date link to DebugView in logging overview. The readable link that existed before is unfortunately not available any more.

2014-11-11 02:02 VZ, revision 78127

Fix best size calculation for buttons with bitmaps in wxMSW. Add the bitmap margins to the bitmap size, not the total button size. This fixes the buttons becoming unnecessarily tall as soon as they were assigned even a tiny bitmap. Closes #16536.

2014-11-11 02:02 VZ, revision 78126

Remove outdated comment from ShowAssertDialog(). The comment didn't correspond to the code since the changes of r62842, the asserts don't result in an immediate trap now even if they happen in non-main thread.

2014-11-11 02:02 VZ, revision 78125

Make results of wxDC::DrawEllipticArc() consistent across all platforms. And also consistent with wxGraphicsContext method with the same name. Document the rules determining what is drawn. Closes #4437.

2014-11-11 02:02 VZ, revision 78124

Set the initial text value of wxSpinCtrlGeneric correctly. The text control was left empty if the string value was not specified, but it should use the numeric initial value instead in this case. This notably affected wxSpinCtrlDouble under non-GTK platforms. Closes #16621.

2014-11-11 02:02 VZ, revision 78123

Improve drawing of monochrome bitmaps with masks in wxMSW. This is a compromise solution between r78040, which handled monochrome bitmaps correctly, but broke drawing bitmaps without using their mask, and r78054 which simply reverted it: this version preserves the old behaviour when not using the mask, but draws at least the shape (if not the colour) correctly for the monochrome bitmaps. Notice that this also reverts r78039 which is not needed any more without r78040. Closes #16512.

2014-11-11 01:59 VZ, revision 78122

Fix size of the icon returned from wxFSVolume::GetIcon(). Calling SetHICON() is not enough, the icon size already needs to be set or, even better, CreateFromHICON(), which does both atomically, should be used. Closes #16672.

2014-11-11 01:59 VZ, revision 78121

Re-add wxFD_OVERWRITE_PROMPT and wxFD_FILE_MUST_EXIST to wxGenericFileDialog. Support for these styles was accidentally removed in r48733, re-add them back. Closes #16652.

2014-11-11 01:59 VZ, revision 78120

German translation fixes from Sebastian Walderich.

2014-11-11 01:59 VZ, revision 78119

Update the out of date link to DebugView in logging overview. The readable link that existed before is unfortunately not available any more.

2014-11-11 01:58 VZ, revision 78118

Fix best size calculation for buttons with bitmaps in wxMSW. Add the bitmap margins to the bitmap size, not the total button size. This fixes the buttons becoming unnecessarily tall as soon as they were assigned even a tiny bitmap. Closes #16536.

2014-11-11 01:58 VZ, revision 78117

Set the initial text value of wxSpinCtrlGeneric correctly. The text control was left empty if the string value was not specified, but it should use the numeric initial value instead in this case. This notably affected wxSpinCtrlDouble under non-GTK platforms. Closes #16621.

2014-11-11 00:48 VZ, revision 78116

Fix size of the icon returned from wxFSVolume::GetIcon(). Calling SetHICON() is not enough, the icon size already needs to be set or, even better, CreateFromHICON(), which does both atomically, should be used. Closes #16672.

2014-11-10 18:40 PC, revision 78115

avoid reconfiguring scrollbar when settings are not changing

2014-11-10 18:10 PC, revision 78114

avoid multiple emissions of the GtkAdjustment "changed" signal when configuring scrollbar

2014-11-10 17:51 PC, revision 78113

invalidate cached client size when scrollbar visibility changes

2014-11-10 17:46 AW, revision 78112

Reset current category marker if deleted wxPG property is a category property. If deleted category or its sub-category is a current category then reset current category marker. See #16617.

2014-11-10 17:41 AW, revision 78111

Invalidate wxPG property and its sub-properties names prior deferred deletion. If deleted property is a category property then all its sub-properties have to be renamed prior deleting. See #16617.

2014-11-10 10:34 JJ, revision 78110

Some implementation of find (i.e. OpenVMS(AXP)) need the != operator

2014-11-10 07:59 JJ, revision 78109

Correction for non-precomp compilation

2014-11-10 07:58 VS, revision 78108

Fix wxStaticText::Disable() to respect text color on OS X wxStaticText emulates disabled state on OS X by changing text color to light grey. When re-enabling the control, though, it always set the color to the standard text color, which broke static texts with a custom color. Fix this by keeping track of the original color and restoring it back when setEnabled:YES is called.

2014-11-10 07:57 VS, revision 78107

Fix wxStaticText::Disable() to respect text color on OS X wxStaticText emulates disabled state on OS X by changing text color to light grey. When re-enabling the control, though, it always set the color to the standard text color, which broke static texts with a custom color. Fix this by keeping track of the original color and restoring it back when setEnabled:YES is called.

2014-11-10 05:13 PC, revision 78106

fix infinite sizing loop with GTK3 when using a non-default target window, closes #16668

2014-11-08 19:17 AW, revision 78105

Remove unused wxPG member variable.

2014-11-08 19:12 AW, revision 78104

Use Boolean variable to store Boolean values.

2014-11-07 18:32 JS, revision 78103

Don't take right indent into account twice when aligning lines

2014-11-07 18:32 JS, revision 78102

Don't take right indent into account twice when aligning lines

2014-11-07 18:13 JS, revision 78101

Fix a rounding error

2014-11-07 18:12 JS, revision 78100

Fix a rounding error

2014-11-07 16:14 JJ, revision 78099

Implement wxNativeFontInfo::GetStrikethrough() for wxX11 without pango

2014-11-07 15:59 VZ, revision 78098

Use wxTB_DEFAULT_STYLE as default value for wxToolBar style. No real changes, but this is more consistent with the other controls. It also highlights the ports which use non-default style, e.g. wxQt where wxNO_BORDER should probably not be used as part of default toolbar style but rather added in the ctor implementation. Closes #16667.

2014-11-07 15:59 VZ, revision 78097

Remove wxTB_FLAT from wxTB_DEFAULT_STYLE. The actual default styles for the toolbars don't include wxTB_FLAT anywhere, so don't include it in the (currently almost unused) wxTB_DEFAULT_STYLE neither. See #16667.

2014-11-07 14:22 JJ, revision 78096

Fix for compilation of wxX11 without UTF

2014-11-07 14:17 JJ, revision 78095

Update compile support for wxX11 on OpenVMS

2014-11-07 14:08 JJ, revision 78094

Fix compilation for wxGTK1

2014-11-05 10:33 JJ, revision 78093

Update setup.h for OpenVMS

2014-11-04 23:56 AW, revision 78092

In 3.0 compatibility mode member variable holding pending delete editor objects is emulated by hash map item.

2014-11-04 20:23 AW, revision 78091

Do not mark selected wxPG property as 'being deleted'. Only unselected wxPG property can be marked as 'being deleted'. If this is done for selected wxGP property then in some circumstances it cannot be unselected and hence cannot be safely deleted. See #16617.

2014-11-04 17:21 VS, revision 78090

Fix simulated toggle in OS X wxToolBar wiht HiDPI bitmaps Use scaled size and scale factor when creating wxMemoryDC so that the modified output bitmap has same physical dimensions as the source one.

2014-11-04 17:21 VS, revision 78089

Fix simulated toggle in OS X wxToolBar wiht HiDPI bitmaps Use scaled size and scale factor when creating wxMemoryDC so that the modified output bitmap has same physical dimensions as the source one.

2014-11-02 17:28 VS, revision 78088

Fix wxToolBarBase::AdjustToolBitmapSize() for HiDPI on OS X wxOSX's wxToolBar code uses toolbar size computed by AdjustToolBitmapSize() to determine which of the builtin toolbar sizes to use. Because AdjustToolBitmapSize() returned 2x the "logical" size, it would always pick NSToolbarSizeModeRegular regardless of icon size, resulting in differently-sized toolbar on HiDPI and low-DPI screens. Use scaled size instead.

2014-11-02 17:28 VS, revision 78087

Fix wxToolBarBase::AdjustToolBitmapSize() for HiDPI on OS X wxOSX's wxToolBar code uses toolbar size computed by AdjustToolBitmapSize() to determine which of the builtin toolbar sizes to use. Because AdjustToolBitmapSize() returned 2x the "logical" size, it would always pick NSToolbarSizeModeRegular regardless of icon size, resulting in differently-sized toolbar on HiDPI and low-DPI screens. Use scaled size instead.

2014-11-01 15:00 VZ, revision 78086

Restore code for closing inherited file descriptors under non-OS X. The code for doing this was accidentally disabled in r74957, which intended to disable it for Darwin, but ended up disabling it for everything but Darwin. Reenable it for all platforms now, clearly it didn't hurt to have it enabled under Darwin, and we do need to do it, e.g. see #12636.

2014-11-01 14:56 VZ, revision 78085

Fix clearing wxCB_READONLY wxComboBox in wxGTK. wxComboBox::Clear() must call wxTextEntry::SetValue() explicitly instead of calling its Clear() which just forwards back to wxComboBox own SetValue(), which (correctly) doesn't work for read-only comboboxes when passed an empty string. Closes #16654.

2014-11-01 14:56 VZ, revision 78084

No changes, just move wxComboBox::Clear() out of line in wxGTK. Make this function non-inline to facilitate further modifications.

2014-10-31 17:04 AW, revision 78083

Fix deleting wxPG properties with sub-properties. If property contains sub-properties they should be deselected prior deleting the property. See #16617.

2014-10-31 14:19 VZ, revision 78082

Make Clear() virtual in wxItemContainer base class. This ensures that overridden wxComboBox::Clear() is called even when it's invoked via a pointer or a reference to wxItemContainer (and not just one to wxComboBox itself or its other base wxTextEntry). Closes #16654.

2014-10-30 13:56 VZ, revision 78081

Fixes to wxGA_TEXT and wxGA_PROGRESS documentation. Correct the HTML output format for wxGA_PROGRESS, it was indented incorrectly because Doxygen appears to need a blank line (i.e. end of paragraph) after a "@since". Also improve the wording of the styles descriptions a little.

2014-10-28 19:57 VZ, revision 78080

Re-add wxFD_OVERWRITE_PROMPT and wxFD_FILE_MUST_EXIST to wxGenericFileDialog. Support for these styles was accidentally removed in r48733, re-add them back. Closes #16652.

2014-10-28 09:06 JS, revision 78079

Backported wxFontDialog NSView fix r78070, fixing bug #16643

2014-10-27 21:09 VZ, revision 78078

Don't use "@overload" to document methods without parameters. Documentation generated by @overload is misleading in this case as it refers to the "different argument [the function] accepts", but there are none, the methods can be overloaded only by const modifier as well. Use \copydetails instead to reuse the original documentation, this is less confusing and arguably more useful as well.

2014-10-27 18:36 VZ, revision 78077

German translation fixes from Sebastian Walderich.

2014-10-27 18:31 VZ, revision 78076

Update mouse capture stack when showing modal dialog in wxGTK. GTKReleaseMouseAndNotify(), which is called before showing a modal dialog in wxGTK to ensure that the mouse does not remain captured by the window which will be disabled by the modal dialog soon, should update the mouse capture stack and so must call ReleaseMouse() to do it, not just DoReleaseMouse(). See #16647, #8657.

2014-10-26 12:44 VS, revision 78075

Use subtler grey for emulated toolbar toggle on OS X Use a lighter shade of gray to avoid problems with user icons and to match the look of OS X 10.10's rendering of selected toolbar items. Fixes #16645.

2014-10-26 12:44 VS, revision 78074

Use subtler grey for emulated toolbar toggle on OS X Use a lighter shade of gray to avoid problems with user icons and to match the look of OS X 10.10's rendering of selected toolbar items. Fixes #16645.

2014-10-25 20:06 PC, revision 78073

use wxOVERRIDE

2014-10-25 20:05 PC, revision 78072

backport r77741: Return the caption from wxMessageDialog::GetTitle()

2014-10-25 14:49 VS, revision 78071

Fix wxFontDialog exceptions on OS X Yosemite Opening the font dialog would result in an exception in RunMixedFontDialog: -[NSView resetFlags]: unrecognized selector sent to instance 0x6080001285c0 The code in question assumed that NSFontPanel's accessory view either didn't exist or was created by wx, and casted it to wxMacFontPanelAccView* without checking. But this assumption is no longer true on OS X 10.10, the view is apparently pre-set to some default NSView instance. Fix the code to check accessoryView's class before treating it as wxMacFontPanelAccView.

2014-10-25 14:49 VS, revision 78070

Fix wxFontDialog exceptions on OS X Yosemite Opening the font dialog would result in an exception in RunMixedFontDialog: -[NSView resetFlags]: unrecognized selector sent to instance 0x6080001285c0 The code in question assumed that NSFontPanel's accessory view either didn't exist or was created by wx, and casted it to wxMacFontPanelAccView* without checking. But this assumption is no longer true on OS X 10.10, the view is apparently pre-set to some default NSView instance. Fix the code to check accessoryView's class before treating it as wxMacFontPanelAccView.

2014-10-25 14:35 AW, revision 78069

Get wxPGProperty items to be deleted with deferral directly from the corresponding internal list of items. Don't use iterator to collect wxPGProperty items in wxPropertyGridPageState::DoClear().

2014-10-25 01:23 VZ, revision 78068

More fixes for PCH-less build after r78063. Add missing headers/forward declarations now.

2014-10-25 00:55 VZ, revision 78067

Fix typo which broke PCH-less builds in r78063.

2014-10-24 23:54 VZ, revision 78066

Add a new wxUSE_STD_CONTAINERS_COMPATIBLY option. This option, which is on by default unless the use of STL is disabled, provides better interoperability with the standard library when it can be done without breaking backwards compatibility. The first example of its use is to allow passing std::vector<> of any string compatible type to wxItemContainer::Append(), Insert() and Set(), allowing to directly initialize various wxControls deriving from it such as wxChoice, wxComboBox, wxListBox from a std::vector<> of strings.

2014-10-24 23:54 VZ, revision 78065

Work around bad wxStaticText best size calculation under wxOSX. Expand wxStaticText controls in wxBusyInfo and centre them to avoid the problem with their contents being truncated when using markup under wxOSX. This should, of course, be fixed in wxStaticText itself, and when it is, this change should be reverted. But for now this at least allows wxBusyInfo to appear correctly under OS X.

2014-10-24 23:54 VZ, revision 78064

Clip the last word of wxStaticText if it doesn't fit in wxOSX/Cocoa. Until this change the entire last word disappeared, presumably because it was wrapped to the next line, which was not shown at all. Now as much of it as fits into the available space is shown, which is not ideal, but better than before, especially if we're only a pixel or two short.

2014-10-24 23:54 VZ, revision 78063

Allow customizing wxBusyInfo appearance. Allow customizing wxBusyInfo window by passing wxBusyInfoFlags containing information about the icon, title, colours and frame transparency to use. Update the sample to show such "rich" busy info.

2014-10-24 23:54 VZ, revision 78062

Auto resize wxGenericStaticText when its label or font is changed. This makes the generic version consistent with the native control behaviour.

2014-10-24 23:54 VZ, revision 78061

Refactor: extra wxStaticText auto-resizing code from wxMSW to common. This will allow its reuse in wxGenericStaticText and maybe other ports that need it in the future.

2014-10-24 23:54 VZ, revision 78060

Slightly improve sizing of wxInfoFrame used by wxBusyInfo. Specify the margin around the text in dialog units, not pixels.

2014-10-24 23:54 VZ, revision 78059

Don't use wxRESIZE_BORDER for wxInfoFrame, used by wxBusyInfo, under wxX11. This doesn't make sense, this frame should never be resizeable, so clean up the code a little.

2014-10-24 23:54 VZ, revision 78058

Don't specify the title for wxInfoFrame used in wxBusyInfo. The title is not shown to the user anyhow because this frame doesn't have wxCAPTION style. And if it were shown, it should have been translated, but as it isn't, just remove it.

2014-10-24 23:54 VZ, revision 78057

Use its own foreground colour in wxGenericStaticText. For some reason, the control always drew itself using wxSYS_COLOUR_BTNTEXT. This is a good default, but it shouldn't ignore the explicitly set foreground colour, so use it instead.

2014-10-24 15:45 VZ, revision 78056

Avoid spurious error messages for WM_MDISETMENU under Windows XP. WM_MDISETMENU handler doesn't seem to reset the last error under Windows XP and this could result in spurious debug error messages when setting the initial menu in which case NULL is returned to indicate that there was no previous menu, but this doesn't indicate that an error occurred. Explicitly reset the last error to ERROR_SUCCESS ourselves before using WM_MDISETMENU to ensure that the last error can only be set after its return if it was really done by the code handling it, i.e. if an error really happened.

2014-10-23 15:56 VZ, revision 78055

Document wxScopedCharTypeBuffer::release(). Although this method is dangerous, it still (or, maybe, especially) needs to be documented.

2014-10-21 00:06 VZ, revision 78054

Revert "Use MaskBlt() with the correct ROP when drawing bitmaps with mask." This reverts r78040 (see #16512) as it broke the appearance of the disabled buttons in MSW toolbars as can be seen in the sample. The change itself might still be correct and could have just uncovered some other bug elsewhere, but for now still revert it just to make the toolbars usable again.

2014-10-21 00:06 VZ, revision 78053

Skip the menu events in wxFrameBase handlers. While wxFrame may process these events for its own purposes, it shouldn't prevent the user-defined fall back handlers for them (e.g. at wxApp level) from running.

2014-10-21 00:06 VZ, revision 78052

Avoid intercepting Ctrl-TAB keys in generic wxDataViewCtrl. Check for the absence of modifiers before intercepting the TAB key, we only want to do it for plain TAB or Shift-TAB but not Ctrl-TAB, for example, as this prevented the user from switching between MDI windows when focus was on wxDataViewCtrl.

2014-10-20 17:12 AW, revision 78051

Draw cursor image in wxCursorProperty using wxDC::DrawBitmap. Since monochrome images are supported by wxBitmap (under MSW) there is no longer need to draw cursor image using native Win API.

2014-10-20 17:08 VZ, revision 78050

Fix wxStringTokenizer copy ctor and assignment operator. Implement copying of wxStringTokenizer correctly: compiler-generated versions didn't work as the position of the tokenizer didn't point into the correct string after making the copy. Fix this by adjusting the position iterator to use the copy of the string. Closes #16339.

2014-10-19 21:05 VZ, revision 78049

Fix for PCH-less build after wake up changes. Include wx/msw/private.h when not using PCH to get wxZeroMemory() (this makes it unnecessary to include wx/msw/wrapwin.h as it's already included by the other header).

2014-10-19 16:16 VZ, revision 78048

Avoid spurious errors from wxFileType::GetCommand() under Windows XP too. This problem was already fixed in r77649 for Windows 7 (and hopefully all the other supported Windows versions), but it turns out that XP returns a different error when the association is not found in the registry, so the debug error message was still given under it. Fix this by checking for both ERROR_NO_ASSOCIATION and ERROR_FILE_NOT_FOUND.

2014-10-19 16:16 VZ, revision 78047

Fix handling of spurious wake ups in GetNextMessageTimeout() in wxMSW. It didn't take long to realize that changes of r78041 did break something (see #9053), as MsgWaitForMultipleObjects() can return indicating the message availability even if no message is actually available in the queue. This notably happens when the application is activated. Fix this by calling MsgWaitForMultipleObjects() in a loop until we do get a message. Notice that this only works correctly with the infinite timeout as we don't update the remaining time to wait after a spurious wake-up, but this shouldn't be a problem in practice as no such wake-ups should happen anyhow during a small timeout duration -- and nobody typically uses long ones.

2014-10-19 14:59 VZ, revision 78046

Don't leave wxSubwindows::m_ids uninitialized. Normally it's initialized by calling Create(), but don't crash deleting an invalid pointer in the dtor if Create() hadn't been called. See #16630.

2014-10-19 14:58 VZ, revision 78045

Only select the first radio button if there is one in wxMSW wxRadioBox. Don't call SetSelection(0) if the radio box is empty. See #16630.

2014-10-19 14:57 VZ, revision 78044

Don't leave wxSubwindows::m_ids uninitialized. Normally it's initialized by calling Create(), but don't crash deleting an invalid pointer in the dtor if Create() hadn't been called. See #16630.

2014-10-19 14:57 VZ, revision 78043

Only select the first radio button if there is one in wxMSW wxRadioBox. Don't call SetSelection(0) if the radio box is empty. See #16630.

2014-10-19 14:57 VZ, revision 78042

Update the bundled Scintilla version to 3.4.1. There are relatively few changes, see Scintilla changelog at http://www.scintilla.org/ScintillaHistory.html Closes #16182.

2014-10-19 14:57 VZ, revision 78041

Make main thread wake up code more efficient and less error-prone in wxMSW. Use a kernel event object to signal the thread wake up instead of sending WM_NULL to one of its windows. This is simpler as we don't need to look for any windows and doesn't suffer from the problem of overflowing the Windows message queue if we do it too many times as signalling an already signalled event simply doesn't do anything. Closes #9053.

2014-10-19 14:57 VZ, revision 78040

Use MaskBlt() with the correct ROP when drawing bitmaps with mask. We need to AND the destination with the mask first and then XOR it with the bitmap data to achieve the correct results. Closes #16512.

2014-10-19 14:57 VZ, revision 78039

Don't replace bitmap transparency with black when converting to icon in wxMSW. This was a wrong workaround for incorrect drawing of the icons elsewhere and isn't needed if the destination is first AND-ed with the mask, as it should be. See #16512.

2014-10-19 14:56 VZ, revision 78038

Fix creating wxBitmap from monochrome icon or cursor in wxMSW. Handle the "AND" and "XOR" masks inside monochrome icons/cursors correctly instead of simply copying the monochrome data which didn't work at all. See #16512.

2014-10-19 14:56 VZ, revision 78037

Fix memory leak in richtext sample. Destroy the children of wxRichTextFieldTypeCompositeTest when updating it instead of just clearing the list and leaking the objects in it. Closes #14324.

2014-10-19 14:56 VZ, revision 78036

Handle taskbar button recreation better in wxMSW. Store the various parameters in wxTaskBarButton itself and reapply them when the button is (re)created. This fixes problems with getting the "taskbar button created" message twice, e.g. because Explorer was restarted, or getting it too late, as now wxTaskBarButton can be configured both before and after receiving this message. Closes #16566.

2014-10-19 14:56 VZ, revision 78035

Work around unavailability of std::exception_ptr with some g++ versions. g++ headers only provide std::exception_ptr when __GCC_ATOMIC_INT_LOCK_FREE is 2, indicating that atomic operations on int are available, so check for this before setting HAS_EXCEPTION_PTR as in some MinGW builds (TDM gcc 4.7) this symbol is not defined as 2. Closes #16634.

2014-10-19 14:56 VZ, revision 78034

Use TLW parent for wxMessageDialog in all ports. This avoids problems with deleting child windows which are parents of wxMessageDialog before the dialog itself is destroyed and was already done in wxGTK, but not in wxMSW nor wxOSX. Do it in all ports now by calling GetParentForModalDialog() from wxMessageDialogBase ctor itself instead of depending on the port-specific wxMessageDialog to do it. Closes #16631.

2014-10-19 02:59 PC, revision 78033

Fix ClientToScreen()/ScreenToClient() when used immediately after window creation. And whenever window does not have an up-to-date GTK size allocation. Closes #16061

2014-10-18 14:00 AW, revision 78032

Add drawing cursor images for wxCursorProperty under wxGTK. Closes #16637

2014-10-18 11:37 AW, revision 78031

Fix deleting pending editor controls if wxPG is destructed from within its own event handler. If wxPG dtor is invoked from within event handler then deleting its pending editor controls should be delegated to the global idle event handler.

2014-10-17 00:49 AW, revision 78030

Fix deleting editor controls associated with wxPG properties from within event handler. Editor controls (and their event handlers) deleted from within wxPG event handler shouldn't by deleted in global idle event handler but only in local wxPG event handler because global idle events can be generated also by calling e.g. wxYield when wxPG is not in the real idle state. Closes #16617

2014-10-17 00:33 AW, revision 78029

Prevent renaming already renamed wxPG property waiting for deferred deletion. Name of the property to be deleted with delay is changed to the some meaningless name in order to avoid conflict with other active properties. It is enough to do this only once. See #16617

2014-10-17 00:27 AW, revision 78028

Accept only real idle events in wxPropertyGrid::OnIdle() Fake idle events generated e.g. by calling wxYield from within the event handler should be skipped to avoid problems. See #16617

2014-10-16 15:33 VZ, revision 78027

Only link webview library with libwebkitgtk in wxGTK, not the core one. Add EXTRALIBS_WEBVIEW similar to the existing EXTRALIBS_MEDIA and such and set it in configure instead of adding libwebkitgtk and dependent libraries directly to GUI_TK_LIBRARY. This ensure that the core library doesn't have any dependencies on libwebkitgtk which it doesn't need. Closes #16624.

2014-10-16 15:33 VZ, revision 78026

Only link webview library with libwebkitgtk in wxGTK, not the core one. Add EXTRALIBS_WEBVIEW similar to the existing EXTRALIBS_MEDIA and such and set it in configure instead of adding libwebkitgtk and dependent libraries directly to GUI_TK_LIBRARY. This ensure that the core library doesn't have any dependencies on libwebkitgtk which it doesn't need. Closes #16624.

2014-10-16 12:13 JS, revision 78025

Don't calculate refresh optimizations if we're not going to use them

2014-10-15 18:56 PC, revision 78024

update code to match 3.0 branch after r78023

2014-10-15 18:53 PC, revision 78023

fix crash in wxGCDC::DrawEllipticArc() after r76954, closes #16623

2014-10-14 21:36 VZ, revision 78022

Disable surrogate-related unit test for MSW. This test can't work when the in-memory representation is UTF-16, as we can't convert surrogates to anything else in this case. This fixes the unit tests broken since r76622, see #16298.

2014-10-14 21:36 VZ, revision 78021

Don't end converting prematurely on encountering consecutive NULs. Don't stop converting subsequent chunks just because the length of one of them was 0: this can happen if the first character of a string is a NUL or if there are two (or more) NULs in it later. Simply remove the check for this and continue as usual even in this case. Also add a unit test verifying that we do translate NULs in input into NULs in output. Closes #16620.

2014-10-14 21:23 VZ, revision 78020

Fix typo in a comment in wxSpinCtrlGenericBase::Create(). s/satisfy/specify/ to give some sense to this comment.

2014-10-14 15:42 VZ, revision 78019

Spanish translations update from Miguel Giménez.

2014-10-14 15:40 VZ, revision 78018

Spanish translations update from Miguel Giménez.

2014-10-14 10:53 VS, revision 78017

Add support for template NSImages to wxBitmap wxBitmap uses CGImage instead of NSImage internally and the conversion looses NSImage metadata. In particular, it looses the "template" attribute, which is set for files ending with "Template" and loaded trough wxArtProvider. This change makes it easy to use template images with native controls such as the toolbar.

2014-10-14 10:53 VS, revision 78016

Add support for template NSImages to wxBitmap wxBitmap uses CGImage instead of NSImage internally and the conversion looses NSImage metadata. In particular, it looses the "template" attribute, which is set for files ending with "Template" and loaded trough wxArtProvider. This change makes it easy to use template images with native controls such as the toolbar.

2014-10-13 14:08 VZ, revision 78015

Define unambiguous Is{List,Text}Empty() in wxOwnerDrawnComboBox. Like in wxComboBox itself, it's useful to provide these methods to avoid problems with ambiguous IsEmpty(), inherited from both wxTextEntry and wxItemContainer. Closes #16618.

2014-10-13 09:19 AW, revision 78014

Fix clearing wxPG Properties deleted immediately in wxPropertyGridPageState::DoClear() should be first removed from the lists of pending deletions. Closes #16617

2014-10-12 22:48 VZ, revision 78013

Fix calling wxFileHistory::Load() more than once. Don't add all the items in the history to the menu again, remove the old ones if we had already added them. Closes #16588.

2014-10-12 22:48 VZ, revision 78012

Fix vertical cell alignment in wxDataViewCtrl in wxGTK. Pass the alignment used when creating the column to the renderer. Closes #16035.

2014-10-12 22:48 VZ, revision 78011

Update MSVS 2010+ remarks in wxMSW installation notes. Document wx_local.props instead of the old and not existing any more wx_vcN_local.props. Also mention that wx/msw/setup.h can be linked to wx/msw/setup0.h instead of being a copy of it. Closes #16597.

2014-10-12 22:48 VZ, revision 78010

Add support for 'z' size format specifier. Assume that non-MSVC compilers support it directly and use 'I' for MSVC. Closes #16596.

2014-10-12 22:48 VZ, revision 78009

Fall back to executable file name in wxApp::GetAppName(). This is especially useful when wxWidgets is used as part of another library and is not initialized with the real argc/argv containing the application name. Closes #16615.

2014-10-11 18:30 VZ, revision 77994

Add wxART_FULL_SCREEN icon. Use stock GTK+ icon in wxGTK and Tango icon elsewhere. See #2662.

2014-10-11 18:30 VZ, revision 77993

Fix resource compiler include path for Borland. Explicitly include $(BCCDIR)/include/windows/sdk directory in the resource compiler options, as it needs it to find windows.h.

2014-10-11 18:29 VZ, revision 77992

Compilation fix for Borland overload selection bug. Avoid the following bogus compiler error: Error E2015 ..\..\src\common\filename.cpp 2589: Ambiguity between 'wxFileName::Exists(int) const at ..\..\src\common\filename.cpp:777' and 'wxFileName::Exists(const wxString &,int) at ..\..\src\common\filename.cpp:790' in function wxFileName::SetPermissions(int) by using an unambiguous overload. See #16592.

2014-10-11 18:29 VZ, revision 77991

Compilation fix for Borland compiler bug with ternary operator. Don't use ?: operator with references, Borland wrongly deduces the common type as being an object in this case, so use pointers instead and dereference later. See #16592.

2014-10-11 18:29 VZ, revision 77990

Update release instructions to mention tagging the release. Also remove the reference to the non-existing "next section" and a couple of other minor changes.

2014-10-11 17:48 VZ, revision 77989

Mention Borland C++ fixes in the change log.

2014-10-11 17:48 VZ, revision 77988

Fix resource compiler include path for Borland. Explicitly include $(BCCDIR)/include/windows/sdk directory in the resource compiler options, as it needs it to find windows.h.

2014-10-11 17:47 VZ, revision 77987

Compilation fix for Borland overload selection bug. Avoid the following bogus compiler error: Error E2015 ..\..\src\common\filename.cpp 2589: Ambiguity between 'wxFileName::Exists(int) const at ..\..\src\common\filename.cpp:777' and 'wxFileName::Exists(const wxString &,int) at ..\..\src\common\filename.cpp:790' in function wxFileName::SetPermissions(int) by using an unambiguous overload. See #16592.

2014-10-11 17:47 VZ, revision 77986

Compilation fix for Borland compiler bug with ternary operator. Don't use ?: operator with references, Borland wrongly deduces the common type as being an object in this case, so use pointers instead and dereference later. See #16592.

2014-10-09 17:37 VZ, revision 77985

Fix excessive height of wxSlider with labels but no ticks in wxMSW. We shouldn't add the label height to the control best height as the labels are positioned at the same vertical level as the main part of the control. See #16604.

2014-10-09 17:36 VZ, revision 77984

Fix excessive height of wxSlider with labels but no ticks in wxMSW. We shouldn't add the label height to the control best height as the labels are positioned at the same vertical level as the main part of the control. See #16604.

2014-10-09 06:44 MAR, revision 77983

Fix invalid listctrl imagelist assert in wxQT This reverts the bug introduced in r77935, now the list control sample works again.

2014-10-09 06:23 MAR, revision 77982

Support frameless taskbarless dialogs in wxQt * Moved frameless hint to window, checking border * Removed duplicate code in wxFrame and asserts that were preventing AUI to work Thanks to @seandepagnier for the original patch

2014-10-08 12:29 JS, revision 77981

Corrections to HasCharacterAttributes, HasParagraphAttributes EditProperties functions don't try to change read-only content Page up/down behaviour now takes into account margins and scale Transparency and y poition corrections to field labels