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):

2010-10-25 22:46 VZ, revision 65923

Use the correct accelerator for the "Preferences" Apple menu item. Use the standard Command-, accelerator for the standard "Preferences" item in the Apple menu. Closes #12121.

2010-10-25 22:46 VZ, revision 65922

Use the application name in the "About" item of the Apple menu. To conform to Apple UI guidelines the application name should be included in the "About" menu item label in the Apple menu. See #12121.

2010-10-25 11:43 VS, revision 65921

Add wxImplicitConversionType tests.

2010-10-25 11:43 VS, revision 65920

Make wxMin, wxMax and wxClip template functions. Previously used macro's arguments were evaluated twice, but there were many occurences of their use in our code that didn't account for this and used expensive-to-evaluate arguments as if they were functions.

2010-10-25 11:24 JS, revision 65919

Style page no longer grows to fit very long style names; freeze/thaw used for speed

2010-10-25 11:22 VZ, revision 65918

Compilation fix: don't use "environ" under OS X. The global environ variable is not directly accessible under OS X, use _NSGetEnviron() instead.

2010-10-25 01:06 VZ, revision 65917

Make wxUString compilable with VC6. Provide replacements for std::basic_string functionality missing from this compiler standard library. Closes #12357.

2010-10-25 01:03 VZ, revision 65916

Fix typo in wxFILTER_NUMERIC documentation. Replace wxFILTER_SIMPLE_NUMBER with wxFILTER_DIGITS. Closes #12341.

2010-10-25 01:03 VZ, revision 65915

Add wxDocManager::FindTemplate() method. This allows to find the template corresponding to the document of the given class. Closes #12170.

2010-10-25 01:03 VZ, revision 65914

Don't handle RPC_E_CHANGED_MODE return of OleInitialize() as an error. This error means that OLE had already been initialized so from our point of view it counts as a success. Closes #12516.

2010-10-25 00:41 VZ, revision 65913

Do nothing in wxMemoryDC::SelectObject() if the bitmap is already selected. It doesn't make sense to make a copy of the bitmap in order to select it into wxMemoryDC if it's already selected into it. See #11640.

2010-10-25 00:41 VZ, revision 65912

Always create new OLE objects with reference count of 1, not 0. There are no real changes but ensure that the new objects of classes using DECLARE_OLE_UNKNOWN() macro are created with valid reference count of 1 instead of being created in phantom state with reference count of 0. Remove the now unnecessary AddRef() and add the now required DecRef() calls. See #11566.

2010-10-25 00:41 VZ, revision 65911

Fix problems with reference counting in wxActiveXContainer. Ensure that the IFrameSite object is created with valid (i.e. non-zero) reference count by calling AddRef() on it immediately after creation and remove the weird QueryInterface() call which was used to work around this bug. Closes #11566.

2010-10-25 00:41 VZ, revision 65910

Don't consider lack of connection points an error in wxActiveXContainer. Handle CONNECT_E_NOCONNECTION return value from IConnectionPointContainer:: FindConnectionPoint() as an expected error and don't complain about it. See #11566.

2010-10-25 00:41 VZ, revision 65909

Don't activate the window when updating its styles in wxMSW. Add SWP_NOACTIVATE to the flags used by wxWindow::MSWUpdateStyle(). This allows to change the style of a window without necessarily activating it. Closes #11560.

2010-10-25 00:41 VZ, revision 65908

Fix wrong wxLogDebug() call in fswatcher sample. Replace wxLogDebug() with wxLogTrace() as was probably intended. This fixes the assert which happened when running the sample because of the wrong number of parameters passed to wxLogDebug().

2010-10-25 00:41 VZ, revision 65907

Allow specifying the directory to watch on command line of fswatcher sample. This makes it more convenient to run the sample repeatedly as the directory to watch can be specified only once instead of having to choose it interactively after the sample startup every time.

2010-10-25 00:41 VZ, revision 65906

Avoid duplicate wxEVT_COMMAND_TREE_SEL_CHANG{ING,ED} events in wxMSW. When changing the selected item programmatically 2 CHANGING and CHANGED events were sent because the assumption that comctl32.dll didn't send these events itself was not correct any more, it does send them at least since XP. However to avoid the tests for its exact version it's simpler to just ignore the events it generates and continue sending our own ones. Closes #11274.

2010-10-25 00:41 VZ, revision 65905

Don't grab focus when calling wxTreeCtrl::SelectItem(). The workaround for the unexpected events order introduced in r49588 should only apply to the situation when the user selects an item in the tree, not when it's done programmatically as this results in unexpected focus changes (see #11274).

2010-10-25 00:40 VZ, revision 65904

Allow to use space to toggle spinning of the cube in OpenGL sample. Small enhancement to the cube OpenGL sample. Closes #11545.

2010-10-25 00:40 VZ, revision 65903

Don't send wxEVT_COMMAND_TREE_ITEM_MENU event without valid item in wxMSW. The generic wxTreeCtrl version only sends this event when the mouse is right clicked on a valid item so do the same in wxMSW version too for consistency. This is also consistent with wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK event and avoids strange problems with unexpected wxEVT_COMMAND_TREE_ITEM_MENU events generated on right double click. Finally, replace the checks for item validity in the event handler in the sample with asserts which should loudly complain if it happens to be invalid. Closes #11226.

2010-10-25 00:40 VZ, revision 65902

No real changes, just cleanup week days handling in wxGenericCalendarCtrl. Use helper GetWeek{Start,End}() functions instead of repeating tests for wxCAL_MONDAY_FIRST over and over again. Also replace some occurrences of GetWindowStyle() with shorter and more clear HasFlag().

2010-10-25 00:40 VZ, revision 65901

Keep displayed month and year in sync in wxGenericCalendarCtrl. When the date was constrained to a range in wxGenericCalendarCtrl, the display of the month in the month combobox could get out of sync with its real value. Ensure that the correct month is always displayed and also simplify the code by removing the apparently unnecessarily complex logic in ChangeYear() and ChangeMonth() functions. Closes #11060.

2010-10-25 00:40 VZ, revision 65900

No real changes, just inline wxDIB::Create(). After removing wxDIB::m_hasAlpha in the previous commit, this method became completely trivial so put it inline in the header.

2010-10-25 00:40 VZ, revision 65899

Remove wxDIB::m_hasAlpha from wxMSW. This field can't be set reliably as we don't know if LoadImage() Windows function loaded an 0RGB or an RGB bitmap so remove it completely to avoid the risk of using it wrongly.

2010-10-25 00:40 VZ, revision 65898

Fix conversion of 32 bit ARGB bitmaps to wxImage in wxMSW. wxDIB::m_hasAlpha can't be trusted when the DIB was loaded from a file so don't rely on it in wxDIB::ConvertToImage(). Instead, suppose that 32 bpp bitmaps do have alpha channel and only get rid of it at the end of conversion if it turns out that all alpha values were 0. Closes #10133.

2010-10-25 00:40 VZ, revision 65897

Don't hard code "open" verb in wxMSW wxLaunchDefaultApplication(). Don't choose the verb explicitly and let ShellExecuteEx() choose the default one. In the vast majority of cases this will do the same thing but if some file type doesn't have an "open" verb the new version will still open it correctly using its default verb while the old version failed. See #10707.

2010-10-25 00:40 VZ, revision 65896

Add support for specifying child process cwd and env to wxExecute(). Add an optional wxExecuteEnv parameter to wxExecute() which allows to specify the initial working directory and custom environment for the child process. Closes #12163.

2010-10-25 00:40 VZ, revision 65895

Treat wxToolbook symmetrically with others in the notebook sample. Use wxToolbook as the default notebook type if the other ones are not available. Closes #12610.

2010-10-25 00:39 VZ, revision 65894

Don't reserve space for hidden controller in wxBookCtrl. Even when the controller was hidden, space was still allocated for it by wxBookCtrl. Fix this by only reserving extra space when the controller is shown. Closes #12609.

2010-10-24 16:34 VZ, revision 65893

Set wxKeyEvent::m_rawFlags to hardware key code in wxGTK. The raw flags were previously unused in wxGTK but hardware key code is an important information which may be useful to the application, so pass it in the flags (this is rather symmetric with passing lParam in it under MSW as lParam contains the scan code, among other things). Also document the meaning of raw key code and flags in all the major ports.

2010-10-24 16:34 VZ, revision 65892

Output header to the same directory as the .cpp file in wxrc. If "-o" option is given, generate the output header file in the same directory as the .cpp file and not in the current directory. Closes #4054.

2010-10-24 16:34 VZ, revision 65891

Use wxChoicebook instead of wxNotebook in the xrc sample. wxNotebook was unusable with so many pages under all platforms and completely unusable under Mac. Replace it with wxChoicebook which allows to select any page quickly instead of having to do it sequentially (or not being able to do it at all under Mac). Another possibility could be to use wxTreebook and organize the pages in categories, similarly to how it is done in the widgets sample. Closes #3699.

2010-10-24 16:34 VZ, revision 65890

Rearrange xrc sample controls in alphabetical order. Several new pages were added in random positions, rearrange them to be in alphabetical order. Also remove wxToolBar from "The Rest" page as it is shown in one of the other pages now.

2010-10-24 16:33 VZ, revision 65889

Make it easier to define custom wxSizerXmlHandler subclasses. No real changes but refactor wxSizerXmlHandler to make it easier to derive from it by adding virtual IsSizerNode() and DoCreateSizer() methods. To add support for a custom sizer class you only need to override them in wxSizerXmlHandler subclass now. Also document wxSizerXmlHandler which was not documented at all previously. Closes #11845.

2010-10-24 16:23 VZ, revision 65888

Make wxXmlResourceHandler::IsOfClass() static. This simple helper function doesn't use any wxXmlResourceHandler data as it's just a trivial wrapper for wxXmlNode::GetAttribute(). Making it static allows, in particular, to call it from const member functions of wxXmlResourceHandler-derived classes (making it "const" itself would achieve this too, of course, but it just doesn't need to be non-static).

2010-10-23 23:47 VZ, revision 65887

Add wxIcon::GetSize() to wxIcon in wxOSX. This fixes the compilation errors under OS X after r65884 due to the lack of this method there.

2010-10-23 20:56 VZ, revision 65886

Don't use non-existent icon in XRC sample. appicon.xpm was removed so use another icon in the controls demo in the sample instead, it doesn't matter which one we use anyhow.

2010-10-23 20:56 VZ, revision 65885

Add XRC handler for wxToolbook. Closes #11615.

2010-10-23 20:56 VZ, revision 65884

Don't assume any particular default size for XRC image lists. Let the image list deduce its size from the first bitmap in it. This is better than the old behaviour of using the standard icon size as it allows to omit the size from the image lists provided they contain the bitmaps of the same size.

2010-10-23 20:56 VZ, revision 65883

Correct wxDialog::SetAffirmativeId() documentation. The return value of ShowModal() is the affirmative id and not wxID_OK, of course. See ##11413 (specifically comment 5).

2010-10-23 16:10 VZ, revision 65882

Added wxThread::OnKill() and OnDelete() callbacks. Call OnXXX() from wxThread::Kill() and Delete() respectively to allow the thread being terminated perform some cleanup. Closes #9046.

2010-10-23 16:10 VZ, revision 65881

Construct paths using wxFileName in wxHTML help. Use wxFileName instead of more complicated and error-prone manipulations with strings. Closes #12602.

2010-10-23 16:09 VZ, revision 65880

Use rpmbuild to build the RPMs in "make rpm" target. In recent versions of rpm rpmbuild must be used for building the RPMs instead of rpm itself. See #12567.

2010-10-23 16:09 VZ, revision 65879

Add more headers to "make dist" and remove .mo files. Add wx/persist headers to the list of files used by "make dist" and remove the message catalogs which shouldn't be part of the source distribution. See #12567.

2010-10-23 16:09 VZ, revision 65878

Include wxscintilla library in wxGTK RPM. Include libwxscintilla.a for static linking. See #12567.

2010-10-23 16:09 VZ, revision 65877

Generate the full list of wxBase headers paths in wxGTK.spec. Instead of hardcoding the list of wxBase headers path, build it automatically from the list of their base names which is generated by bakefile and so is always up to date. See #12567.

2010-10-23 16:09 VZ, revision 65876

Force the use of GNOME printing support and wxMediaCtrl in wxGTK RPMs. Explicitly enable the use of GNOME printing and media control to ensure that RPMs are always created with these features enabled. See #12567.

2010-10-23 16:09 VZ, revision 65875

Remove "release" suffix from wx-config links used in RPMs. We don't distinguish debug and release builds under Unix any more in 2.9 and don't use "release" and "debug" suffixes in full wx-config names. Remove these suffixes from the wx-config links created by RPM post-installation step. See #12567.

2010-10-23 16:09 VZ, revision 65874

Document that wxProcess::GetOutputStream() can't be used after CloseOutput(). As closing the output stream makes it unusable, it is destroyed as well and so GetOutputStream() returns NULL after calling CloseOutput(). Closes #12605.

2010-10-23 16:03 RR, revision 65873

wxDataViewCtrl::Expand() only works on items whose parents are already expanded. The attached patch fixes this by expanding all ancestors of the item before expanding the item itself. Closes #12585: wxDataviewCtrl::Expand() needs to expand all ancestors

2010-10-23 16:00 RR, revision 65872

Set focus to generic wxDataViewCtrl when clicking with any mouse button, not just left, closes #12586: wxDataviewCtrl only gets focused on left mouse

2010-10-23 15:53 RR, revision 65871

Implement wxDataViewCtrl::HitTest() under GTK+, second part of #12582: enhancing wxDataViewCtrl, closes #12582

2010-10-23 15:48 RR, revision 65870

Also set mouse position in ITEM_BEGIN_DRAG event in wxDataViewCtrl under GTK+, part of #12582: enhancing wxDataViewCtrl

2010-10-23 00:15 MW, revision 65869

Change the return code of the test program so that aborting a test with an exception doesn't count as a failure, to provide a way to skip tests that can't be performed.

2010-10-23 00:12 MW, revision 65868

Add debugging info to the trunk Linux builds.

2010-10-22 18:33 VZ, revision 65867

Enable ListBoxTestCase::HitTest() for wxGTK. wxListBox::HitTest() does work in wxGTK but we need to realize the control before using it.

2010-10-22 18:33 VZ, revision 65866

Restore the note about auto-repeat in key events documentation. Closes #12598.

2010-10-22 18:33 VZ, revision 65865

Use GTK_SELECTION_BROWSE instead of SINGLE for wxListBox in wxGTK. A single-selection listbox must always have a selected item, at least after initial selection is done, i.e. its selected item can't be deselected. This behaviour corresponds to GTK_SELECTION_BROWSE style in GTK+. Closes #2549.

2010-10-22 16:17 VZ, revision 65864

Fixes for calling Enable() on children of a disabled TLW in wxMSW. The change of the child window state wasn't reflected immediately if it was done while the TLW itself was disabled but only happened when it was reenabled and in some cases the child could not be enabled even then. Fix this by updating the child state immediately, even when its TLW parent is disabled and only skip the update of the children state when TLW is being disabled, not when it's enabled back. Closes #11622.

2010-10-22 16:17 VZ, revision 65863

Use single BeforeLast() call in wxConfigPathChanger ctor. Use a single BeforeLast() call with the "rest" argument and avoid calling AfterLast() laster in wxConfigPathChanger ctor. This is a small optimization which may count because wxConfigPathChanger is used in a lot of wxFileConfig functions but, even more importantly, this works around a bug in g++ 4 optimized build when the name was not filled by AfterLast() call correctly as apparently the optimizer decided it was not used. The real cause of this compiler bug was difficult to find as it couldn't be reproduced in a simple test case but this change avoids it and fixes wxFileConfig unit test in optimized build.

2010-10-22 16:17 VZ, revision 65862

Added "rest" argument to wxString::Before{First,Last}(). This allows to search the string just once, in BeforeXXX(), when both the parts of the string before and after some character are needed instead of having to do it twice in both BeforeXXX() and AfterXXX().

2010-10-22 16:17 VZ, revision 65861

No real changes, just use const_cast<> instead of C casts. Replace many comments indicating that the C cast used was really a const_cast<> with the proper cast itself. There is no reason to not use it any longer, all the supported compilers understand it.

2010-10-22 16:17 VZ, revision 65860

Don't add quotes to string representation in gdb. gdb adds quotes itself around string values so don't duplicate them.

2010-10-21 21:51 VZ, revision 65859

Add missing comparison operator declarations in wxString::iterator. Fix compilation in !wxUSE_UNICODE_UTF8 case after r65857. Modify the second declaration of wxString::iterator class which was not updated by the previous commit in the same way, i.e. add declaration of comparison operators taking const_iterator to iterator class.

2010-10-21 21:44 VZ, revision 65858

Document the meaning of wxToolBar tool id more clearly. Make it clear that the id is the same one as was passed to AddTool(). Closes #12597.

2010-10-21 21:22 VZ, revision 65857

Implement comparisons between wxString::iterator and const_iterator. Only comparisons between const_iterator and iterator worked before (because of implicit conversion from the latter to the former), implement the ones in the other direction explicitly now. Closes #12594.

2010-10-21 01:11 VZ, revision 65856

Add XRC handler for wxCommandLinkButton. Added a handler for wxCommandLinkButton class and a demo of it in the xrc sample. Closes #12593.

2010-10-21 01:11 VZ, revision 65855

Merge wxBitmapButton and wxButton panels in the xrc sample. There are already way too many pages in the "Controls Example" in the sample, combine wxBitmapButton and wxButton ones to save some space and make it more usable.

2010-10-21 01:11 VZ, revision 65854

Correct the fix that broke wxRegion::ConvertToBitmap(). The changes in r64874 were incorrect and made the size of the bitmap even more wrong than before. Fix it correctly now by just adding 1 extra pixel to the size of the bitmap used in the original (pre-r64874) version. Closes #12213.

2010-10-20 19:49 PJC, revision 65852

Improve support for ribbon panel sizers: panels with sizers should now automatically minimise at small sizes, and behave properly when popping up from a minimised state. Patch by johnr in trac issue #12580.

2010-10-20 15:08 MW, revision 65851

Check for window manager before running GUI tests on unix.

2010-10-19 01:43 VZ, revision 65847

Change wxSP_XXX flags values to avoid clashes with wxTE_XXX. wxSP_ARROW_KEYS conflicted with wxTE_AUTO_URL (which was probably not important in practice as URLs don't appear in spin controls anyhow) and wxSPWR conflicted with wxTE_NOHIDESEL (which could conceivably be a problem). Change their values to reuse the bits of wxTE_CHARWRAP and wxTE_RICH2 neither of which definitely makes sense for a spin control. Closes #11461.

2010-10-19 01:43 VZ, revision 65846

Use unsigned char for XBM bitmaps data. This fixes compilation with g++ in C++0x mode in which conversions of constants not fitting into signed char range to char are not permitted. Closes #12575.

2010-10-19 01:43 VZ, revision 65845

Correctly handle S_FALSE return value of IActiveMovie::get_Duration(). IActiveMovie::get_Duration() can return S_FALSE in which case outDuration isn't initialized and so wxAMMediaBackend::GetDuration() would return a completely wrong value. Fix this by returning 0 from it instead which seems like the only reasonable thing to do (in the absence of documentation of this interface it's not really clear what does S_FALSE return value mean nor why didn't it return it before).

2010-10-19 01:43 VZ, revision 65844

Correct recently broken checked state handling in wxRearrangeList. The checked state of them wasn't preserved correctly any more since r64875, correct this by changing the state only after storing the old one. Closes #12578.

2010-10-19 01:43 VZ, revision 65843

Add missing "static" to wxSystemOptions::SetOption() documentation. Closes #12576.

2010-10-18 15:55 JMS, revision 65841

Call wxScrollHelper::AdjustScrollbars() to fix scroll bar setup that broke after wxPropertyGrid was changed to inherit from wxScrollHelper instead of wxScrolledWindow

2010-10-17 20:17 VZ, revision 65840

Fix wxSTC compilation without wxUSE_DRAG_AND_DROP after r65827. Correct the changes of r65827 to also compile with wxUSE_DRAG_AND_DROP==0 (especially important for the ports without dnd support such as wxX11 and wxDFB). Also do the changes in the correct files, i.e. src/stc/stc.{h,cpp}.in and not in the generated files themselves to prevent them from being overwritten the next time gen_iface.py is ran. Finally keep backwards compatibility as SetDragAllowMove(bool) is a public method so preserve its old semantics and add a new SetDragFlags() instead of silently breaking the existing code using SetDragAllowMove(). See #11709.

2010-10-17 16:06 MW, revision 65839

Disable the Mingw x64 builds as there's no compiler.

2010-10-17 15:59 VZ, revision 65838

No real changes, just fix a warning in the test suite. Don't assign wxNO_LEN to int variable, this results in gcc warnings about overflow in implicit constant conversion. Use size_t for the variable containing string length to fix it.

2010-10-17 15:59 VZ, revision 65837

Revert the changes of r65826 in wxConvertToGTK(). This is not necessary any longer after the previous commit which changed cMB2WC() to not return NULL for empty input. See #12432.

2010-10-17 15:59 VZ, revision 65836

Return valid buffer from wxMBConv::c{MB,WC}2{WC,MB} for empty input. Returning invalid buffer for empty input is unexpected and resulted in e.g. wxString::utf8_str() returning NULL and not "" in ANSI build for empty strings (which, in turn, resulted in crashes in the test suite and undoubtedly not only) as well as crashes when calling GTK+ functions (see #12432). Other uses of cMB2WC() also show that NULL return value from it is unexpected as it is often passed to CRT functions not accepting NULL. So return empty buffer instead for empty input to avoid all these problems.

2010-10-17 01:05 VZ, revision 65835

Fix FileTestCase to really test strings with embedded NULs. The test was intended to verify that round trip via wxFile::Write/Read() worked even for the strings with embedded NULs but as the string wasn't constructed correctly it didn't actually contain any NULs but was ended by the first of them. Fix this by using explicit length of the string as usual when dealing with strings with embedded NULs. Also fix the conversion back to Unicode to use the correct length.

2010-10-17 01:05 VZ, revision 65834

Disable tests for UTF-encoded files in FileTestCase in ANSI build. These tests didn't work correctly in ANSI build because the conversion parameter of wxFile::Write() isn't used there, the contents of an ANSI wxString is always written to the file as is -- hence reading it back using UTF-16 or UTF-32 conversion fails. The test would need to be totally rewritten for ANSI build of wx and it wouldn't test wxFile but rather conversion functions already tested elsewhere so just disable it instead. This fixes a crash (due to passing NULL pointer to memcmp()) which prevented the test suite from running to completion in ANSI build.

2010-10-17 01:05 VZ, revision 65833

Compilation fix for STL build after r65830. Explicit conversion from wxString to "const char *" is needed in STL build. And even in non-STL build it's wrong to rely on implicit conversion as it wouldn't work correctly in non-UTF-8 locales.

2010-10-16 20:11 VZ, revision 65831

Avoid crashes in wxGenericListCtrl client<->screen conversion code. At least in wxUniv build, DoScreenToClient() can be called before the main control window is created which results in a crash when attempting to forward to its DoScreenToClient() version. Check for m_mainWin being non-NULL before using it to at least avoid the crash, even if it's not really clear whether this is a 100% correct fix. Closes #12390.

2010-10-16 20:11 VZ, revision 65830

Improve wxGTK print and page setup dialogs. Handle more fields (notably collation, number of copies and "print to file" flag) and fix the bug with return value of print dialog ShowModal(). Closes #12499.

2010-10-16 20:11 VZ, revision 65829

Transfer printer name to/from GTK+ native print setup dialog. Printer name in the GTK+ dialog was neither initialized nor retrieved before. See #12499.

2010-10-16 20:11 VZ, revision 65828

Correctly initialize wxGtkPrintNativeData members. In particular, create a valid GtkPrintOperation object instead of using an uninitialized pointer to it in wxGtkPrintDialog::ShowModal(), resulting in crashes or, at best, GTK errors. Closes #12483.

2010-10-16 20:11 VZ, revision 65827

Restore text drag-and-drop in wxSTC broken by Scintilla 2 update. Drag and drop in wxStyledTextCtrl was broken, apparently since upgrade to Scintilla 2. Restore it by using the correct wxDrag_XXX constants instead of boolean values in the code for wxEVT_STC_START_DRAG events generation. Closes #11709.

2010-10-16 20:10 VZ, revision 65826

Don't return invalid buffer from wxConvertToGTK(""). The result of wxConvertToGTK() is often passed to GTK+ functions directly and not all of them handle NULLs gracefully, e.g. gtk_editable_insert_text() just crashes. Return an empty string from wxConvertToGTK() explicitly for empty string input to avoid such problems. Another potential solution might have been to change wxMBConv::cMB2WC() to return empty buffer instead of invalid one for empty input but it's not clear if this is not going to break something else. Closes #12432.

2010-10-16 20:10 VZ, revision 65825

Add wxHAS_3STATE_CHECKBOX symbol. This symbol is defined for the ports that support wxCHK_3STATE style. While most of the ports do support it, a couple still do not and having this symbol makes it more convenient to exclude 3-state-checkbox-specific code, like in CheckBoxTestCase.

2010-10-16 20:10 VZ, revision 65824

Improve validation of wxCheckBox styles. Detect when incompatible styles are used (this required changing the value of wxCHK_2STATE to be non-null) and sanitize the styles (after asserting) in this case. Put the validation code in wxCheckBoxBase instead of having slightly different versions of it in port-specific wxCheckBox implementations. Add a unit test checking that the expected asserts are indeed generated.

2010-10-16 20:10 VZ, revision 65823

Put libraries in %{_libdir} when building wxGTK RPMs. Using the default libdir value ${_prefix}/lib is not always appropriate, notably this takes care of systems using /usr/lib64 instead of /usr/lib.

2010-10-16 12:24 JS, revision 65822

Disabled wxRTC tests that don't work in wxGTK

2010-10-16 01:46 VZ, revision 65821

Clear selection when generic wxDataViewCtrl is cleared. Selection could retain its old value and become invalid after calling Reset() before. Closes #12559.

2010-10-16 01:46 VZ, revision 65820

Add wx{Pen,Brush}::Is[Non]Transparent() methods and use them. Using GetStyle() == wx{PEN,BRUSH}STYLE_TRANSPARENT doesn't work for uninitialized pen or brush objects so add convenient helpers which do work for them. Use the new helper functions everywhere instead of explicitly checking for style. This makes the code shorter and more clear and also fixes some bugs (at least those in GTK printing code). Notice that this patch removes the main reason for explicitly initializing m_pen and m_brush in wxGTKDCImpl ctor but this initialization still can't be removed, at least for the latter, as doing this somehow breaks GetPixel(). It would be nice to understand why and do remove this initialization so that a newly created DC doesn't have any non-default pen nor brush. Closes #12522.

2010-10-16 01:46 VZ, revision 65819

Use wxDCPenChanger instead of setting/resetting pen explicitly. No real changes, just use wxDCPenChanger instead of manual calls to SetPen() in wxDCImpl::DrawPolygon(). This makes the code shorter and more clear.

2010-10-16 01:46 VZ, revision 65818

Add "GTK" prefix to wxChoice::{Dis,En}ableEvents() methods in wxGTK. This is more than a cosmetic change: adding "GTK" prefix in wxComboBox and not doing it in wxChoice in r64436 broke the event generation for wxComboBox as it didn't override wxChoice methods any longer but defined its own (useless) ones. Using the same name for the methods in both classes notably fixes unexpected event generation from wxComboBox::SetSelection(). Closes #12568.

2010-10-16 01:46 VZ, revision 65817

Include wx_presets.py in the distribution made by "make dist". This file is required by "make install".

2010-10-16 01:46 VZ, revision 65816

Check for task dialog availability even under Vista and later. Task dialogs are not always available under Vista and later Windows versions because we might not be using the right (i.e. 6+) version of comctl32.dll. Improve the check for task dialog availability and fall back to the classic message box if we can't use it. Closes #12553.

2010-10-16 01:46 VZ, revision 65815

Remove all mentions of non-existent contrib from .spec files. Remove contrib packages from .spec files. Closes #12567.

2010-10-16 01:46 VZ, revision 65814

Add libraries new in 2.9 to wxGTK.spec. Add propgrid, ribbon and stc libraries. Correct the name of the media library ("mmedia" was an old contrib library name that doesn't exist any more). See #12567.

2010-10-16 01:46 VZ, revision 65813

Fix GTK+ development RPM dependency in wxGTK.spec. Apparently the standard name for this RPM is gtk2-devel and not gtk+-2.0-devel, at least rpmfind.net database doesn't have any matches for the latter and plenty for the former. See #12567.

2010-10-16 01:45 VZ, revision 65812

Fix button order in wxGTK wxMessageDialog and wxStdDialogButtonSizer. The order of buttons in wxGTK wxMessageDialog was accidentally broken since r55482 and wxStdDialogButtonSizer implementation for wxGTK was subsequently modified to work in the same way as the broken version of wxMessageDialog. Fix wxMessageDialog and remove the "compatibility" workarounds from wxStdDialogButtonSizer to restore correct behaviour in both places. Closes #12565.

2010-10-15 17:49 JMS, revision 65808

Fix non-PCH builds

2010-10-15 17:18 JMS, revision 65807

Added the missing DLL export declaration for wxNumericPropertyValidator

2010-10-15 17:15 JMS, revision 65806

Added wxNumericPropertyValidator, which is a custom wxTextValidator with more accurate filtering of inappropriate input for wxIntProperty, wxFloatProperty and wxUIntProperty (fixes #12563).

2010-10-14 20:06 JS, revision 65805

Fixed #12566 (assert on deletion) due to inconsistent commit

2010-10-14 01:08 VZ, revision 65804

wxUniv/MSW compilation fix. wxUniv/MSW compilation was broken by r65589, fix it by not assuming that wxWindowMSW is a wxWindow because wxWindow derives from it in wxUniv. Closes #12534.

2010-10-14 01:02 VZ, revision 65803

Regenerate Makefile.in after recent changes to make_dist.mk. Rebake with changes of r65800, r65801 and r65802.

2010-10-14 00:53 VZ, revision 65802

Remove obsolete files from "make dist" rules. Avoid errors due to attempts to copy non-existing files when making Unix distribution.

2010-10-14 00:53 VZ, revision 65801

Skip Windows-only samples when making Unix distribution. Some samples are by definition Windows-only so they don't have Makefile.in files for Unix at all, skip them when creating the Unix distribution to avoid errors due to attempts to copy non-existent files.

2010-10-14 00:53 VZ, revision 65800

Include include/wx/generic/private/*.h files in distribution. We must include the generic private files into the distribution as well, otherwise at least wxGTK fails to build.

2010-10-14 00:10 VZ, revision 65799

Fix display of right aligned columns in wxGenericListCtrl. Take into account the width of the image when drawing the right aligned item in wxGenericListCtrl. Closes #12562.

2010-10-14 00:10 VZ, revision 65798

Pass last page in wxEVT_WIZARD_FINISHED event. Delay resetting the wizard page to NULL when it terminates to allow wxEVT_WIZARD_FINISHED event to carry the correct pointer to the last page. Closes #12537.

2010-10-14 00:10 VZ, revision 65797

Fix print format specifiers used for enum values. Enums are ints, not longs, so use %d instead of %ld to avoid asserts under LP64 64 bit architectures. Closes #12556.

2010-10-14 00:10 VZ, revision 65796

Don't return "false" when a pointer is needed. Return NULL and not false from wxFileTranslationsLoader:: GetAvailableTranslations(). This is, of course, more correct and also fixes a compilation problem with Borland, see #12558.

2010-10-10 14:48 VZ, revision 65789

Move wxList::Member() to pseudo-template base list class. Member() should be available in all list classes, not just specially crafted list of wxObjects (wxList). See #3616.

2010-10-10 11:34 JMS, revision 65788

When wxPGProperty is un-attached from wxPropertyGrid, keep its 'default' cell references invalid/NULL (fixes #12552)

2010-10-10 10:32 JMS, revision 65787

Also reset DatePicker property editor's global pointer (fixes #11787)

2010-10-09 00:17 JS, revision 65786

Compile fix

2010-10-08 23:51 JS, revision 65785

Blind fix for Mac compile problem

2010-10-08 13:16 MW, revision 65784

Fix for wxChm

2010-10-08 13:16 MW, revision 65783

Fix for wxChm

2010-10-07 22:57 VZ, revision 65782

Don't use default "Error" title for wxMessageOutputBest message box. Use the application display name as the message box title if possible andu se "Message" rather than "Error" otherwise. See #12548.

2010-10-07 22:43 VZ, revision 65781

Remove unnecessary check from IPC sample. No real changes, just remove a check for pointer passed to wxDELETE() bot being NULL as wxDELETE() already checks for this anyhow.

2010-10-06 23:27 JS, revision 65780

Don't use wxDC in header

2010-10-06 22:22 JS, revision 65779

Eliminated redundant wxRichTextAnchoredObject class; refactored XML I/O code so that objects can stream themselves; added a wxXmlDocument-based method of writing XML, though this turned out to be much slower than writing directly so the direct approach is retained and is the default (can be changed with wxRICHTEXT_USE_XMLDOCUMENT_OUTPUT). Loading and saving new attributes implemented. Added custom properties to objects.

2010-10-06 15:15 JS, revision 65778

More efficient access to name and value

2010-10-05 15:38 VZ, revision 65769

Destroy the in-place edit control in wxGenericListCtrl dtor. If the in-place text control was still alive when wxGenericListCtrl was destroyed, it resulted in asserts from wxWindow dtor about child windows still being alive, so explicitly destroy it from wxListMainWindow dtor. As this required a slightly different behaviour from wxListTextCtrlWrapper:: EndEdit(), replace its bool argument with an enum one which can take more than 2 values. Not using bool values when calling it also made the code more clear. Finally, added a unit test verifying that the in-place control is indeed destroyed correctly.

2010-10-05 15:37 VZ, revision 65768

Disable TimerEventTestCase::Multiple() test for ANSI wxGTK build. This test crashes for unknown reasons on wxGTK ANSI build slave and prevents the rest of the test suite from running, so disable it for now.

2010-10-05 15:37 VZ, revision 65767

Fix harmless unused variables warnings. Don't initialize the variables we never use in richtext sample, this results in g++ warnings.

2010-10-05 08:33 JS, revision 65765

Removed test code

2010-10-05 08:17 JS, revision 65764

Added a flag suppressing node content conversion when saving to XML. This helps improve the extremely poor performance of XML saving if you have, for example, hex data that does not need conversion.

2010-10-04 14:25 JS, revision 65762

Exports fixed

2010-10-04 14:20 JJ, revision 65761

Update OpenVMS Makefile

2010-10-04 12:53 VZ, revision 65760

Don't throw assert failure exception in the test suite if it's unsafe. Don't throw when already handling an exception as it would result in a call to terminate() and no useful information about the test failure would be given. Abort ourselves instead to at least give the message about the assert failure. This should help debug the mysterious ListCtrlTestCase failures in buildbot wxGTK builds.

2010-10-04 12:41 VZ, revision 65759

Fix timing format string in the test suite. wxStopWatch::Time() returns a long value so use %ld, not %d. This fixes assert failure when using "-t" option with the test suite under 64 bit Unix architectures.

2010-10-04 12:41 VZ, revision 65758

Fix tests compilation with wxUSE_TOOLTIPS==0 as in wxX11. Unit test suite didn't compile in wxX11 build because it doesn't support tooltips, just disable the relevant test then.

2010-10-04 11:27 JS, revision 65757

Removed redundant GetEditableWindow on GTK+

2010-10-04 10:37 JS, revision 65756

wxRTC no longer derives from wxTextCtrlBase; added wxRichTextAttr deriving from wxTextAttr with CSS-like attributes for future developments; removed image-specific attributes object

2010-10-04 10:10 JS, revision 65755

Avoid id clashes

2010-10-04 00:24 VZ, revision 65754

Fix wchar_t with int comparisons for Apple gcc. Apple gcc refuses to compile comparisons between wchar_t and int for some reason, so add explicit casts to int to make it work there.

2010-10-04 00:23 VZ, revision 65753

Fix wxUSING_VC_CRT_IO definition in the tests when not using MinGW. The condition was always true for non-MinGW compilers because of a missing pair of parentheses, do add them.

2010-10-04 00:23 VZ, revision 65752

Fix gcc warnings about comparing iterators with NULL in STL build. Iterators are not pointers and shouldn't be compared to NULL.

2010-10-03 19:34 VZ, revision 65749

Fix use of DELETE and BACKSPACE when starting editing grid with them. Using the current insertion position in wxGridCellTextEditor::StartingKey() didn't make much sense, it was always 0 -- so DELETE worked as expected and did delete the first character of the cell but BACKSPACE never did anything. Just always delete the first character when DELETE is used and always delete the last one when BACKSPACE is.

2010-10-03 19:34 VZ, revision 65748

Fix non-ASCII key handling in wxGrid editors. Use wxKeyEvent::GetUnicodeKey() correctly, there is no need to guess about what does it return now that its correct behaviour is documented and implemented. Simply check if it returns WXK_NONE to check for non-characters. Also use WXK_START instead of hard-coded 255 when checking GetKeyCode() result.

2010-10-03 19:16 VZ, revision 65747

Disable the use of __thread with MinGW. __thread keyword doesn't work correctly with at least some MinGW builds and in particular TLS unit tests failed with the official 4.4 version. Disable the use of __thread with MinGW entirely for now to be sure that the generated code behaves correctly. In the future we should white list the known good versions of MinGW and/or use run-time test for __thread support in configure instead of compile-time one only.

2010-10-03 19:16 VZ, revision 65746

Update CRT environment in wxSetEnv() for MinGW too. MinGW uses the same CRT as MSVC so we can use the same _putenv() call for it too. This ensures that wxGetenv() returns the value updated by wxSetEnv() and fixes CrtTestCase::SetGetEnv() unit test when using MinGW.

2010-10-03 19:16 VZ, revision 65745

Use wxUSING_VC_CRT_IO for MSVC CRT-specific test results. Move USING_VC_CRT into testprec.h to allow its reuse in other files and rename it to wxUSING_VC_CRT_IO as it only checks whether we're using MSVC STDIO implementation and could be false even when we are otherwise using MSVC CRT. Use this symbol for the tests whose result depends on the concrete version of the CRT we use. This fixes StringTestCase::FromDouble() failure under MinGW.

2010-10-03 19:15 VZ, revision 65744

Fix DirTestCase to run on the systems without "C:" drive. "C:" drive doesn't need to exist under Windows, rely on HOMEDRIVE environment variable defined in all recent Windows versions to get a valid drive letter (still fall back to "C:" if the variable is not defined -- we could have use wxFSVolume to find it then but this seems like an overkill).

2010-10-03 19:15 VZ, revision 65743

Run MBConvTestCase::LibcTests() only for MSVC and not other Windows compilers. This test fails for MinGW, probably because its CRT doesn't use the same locale names as MSVC CRT. Just disable it for now, as it was already disabled for non-MSW platforms. Also use LocaleSetter class (extracted from CLocaleSetter) to change the locale for this test duration only to avoid affecting any tests running after it.

2010-10-03 19:15 VZ, revision 65742

Show the failing string when conversion fails in MBConvTestCase. No real changes, just give more information when a test fails in MBConvTestCase::TestDecoder().

2010-10-03 19:15 VZ, revision 65741

No real changes, just simplify some MBConvTestCase code. Remove unnecessary casts and initialize the variable with its contents directly instead of using strange looking wxWCharBuffer ctor from size_t (even if it did work, it was unnecessary).

2010-10-03 19:15 VZ, revision 65740

Exclude tests relying on last error being set under MinGW. The value of the last error seems to change somewhere between our code and ::GetLastError() call, probably in MinGW CRT, so exclude the tests relying on it being preserved.

2010-10-03 19:15 VZ, revision 65739

Correct wxConvAuto::ToWChar() behaviour with wxNO_LEN input size. We didn't handle the case when the length of the input buffer was not specified correctly and wxConvAuto::DetectBOM() could read beyond the end of input. Moreover, the unit test actually relied on this as it didn't pass the correct length for the literal strings with embedded NULs. This somehow worked with MSVC but failed with MinGW (see #10713). Correct the code to handle wxNO_LEN case correctly and fix the unit test to pass the correct lengths.

2010-10-03 19:15 VZ, revision 65738

Fix VsnprintfTestCase for recent MinGW versions. MinGW now uses its own printf() implementation which handles %p differently from the VC CRT one and uses %8x instead of %8X for it. Compare the results of wxPrintf("%p") case-insensitively to let the test pass in any case. Also introduce a USING_VC_CRT macro instead of testing for __USE_MINGW_ANSI_STDIO in two different places.

2010-10-03 19:15 VZ, revision 65737

Remove redundant wxUSE_WXVSNPRINTF checks from the unit test. The entire VsnprintfTestCase is only used when using our own wxUSE_WXVSNPRINTF so remove the redundant tests for it inside the enclosing #if.

2010-10-03 19:14 VZ, revision 65736

Fix tests compilation without wxUSE_REGEX. Don't build wxRegEx unit tests when wxUSE_REGEX == 0.

2010-10-03 19:14 VZ, revision 65735

Suppress harmless g++ 4.4 warnings about missing braces. Put braces around MSW-only wxLogXXX() calls to avoid warnings when building with MinGW 4.4+.

2010-10-03 12:51 JMS, revision 65734

In wxBitmapComboBox::RecreateControl(), always get recreated control's height from the best size, and also set the ComboBox item height with CB_SETITEMHEIGHT message (fixes #12515).

2010-10-02 18:50 TIK, revision 65730

Backport r65494: Initialize all fields of struct tm used by wxDateTime::Format(). Closes #12455

2010-10-02 17:47 TIK, revision 65726

Backport r65192: Fix attributes escaping when writing XML. Closes #12275

2010-10-02 15:05 TIK, revision 65725

Backport fix for crash in wxCommandProcessor::Store. Closes #12027

2010-10-02 14:57 TIK, revision 65724

Backport r65496: Fix infinite loop in wxDateTime::Format() when fields width was used. Closes #12451

2010-10-02 11:39 TIK, revision 65723

Connect to events only if using native implementation instead of using event table. Closes #12469

2010-10-02 10:53 TIK, revision 65722

Apply #12469: Do not start rename timer if the generic implementation is used which has its own rename timer already.

2010-10-01 15:05 VZ, revision 65707

Add non-vararg wxFileTypeInfo ctor and various setters. This allows to create wxFileTypeInfo objects in a more readable even if more verbose way. This should also incidentally fix the unit tests compilation with VC6 which seems to have some existential troubles with the vararg ctor in debug DLL build (only). Using the non-vararg ctor should hopefully make it happy and let the unit tests pass with this compiler. Also document wxFileTypeInfo class which wasn't documented at all.

2010-10-01 15:05 VZ, revision 65706

Add wxHAS_BITMAPTOGGLEBUTTON and test for it in the unit test. Not all ports define wxBitmapToggleButton class currently, so add a special symbol which is defined only if this class is indeed available and test for it in the unit test for this class. This fixes the tests compilation under wxX11.

2010-10-01 15:05 VZ, revision 65705

Disable ItemClick() unit test for wxListCtrl under wxMSW. This test just doesn't want to work on MSW buildbot slaves even though it works perfectly locally. No idea why but disable it when running on a build bot slave for now to let the entire test suite pass. Also add a comment explaining why the test is disabled for wxGTK.

2010-09-30 19:35 VZ, revision 65694

Disable wxEVT_COMMAND_LIST_ITEM_FOCUSED test for wxMSW. This test fails on MSW buildbot slaves for unknown reasons so disable it to make the test suite pass. The failure is irreproducible locally so no idea how to debug this unfortunately.

2010-09-30 19:30 SC, revision 65693

opening ATSU Font info for Ulrich Telle's wxPDFContext

2010-09-30 16:33 VZ, revision 65692

Add default value for GetPopupMenuSelectionFromUser() position argument. Let the menu be popped up at the system-determined position, just as it can already be done with PopupMenu() itself. Closes #12530.

2010-09-30 16:30 VZ, revision 65691

Correctly convert wxPrintf() to a buffer even when it doesn't fit. ConvertStringToBuf() helper function was defined incorrectly for converting wxString to a char* buffer as it didn't fill the buffer at all if the string didn't fit into it entirely instead of putting as much of the string into it as possible as was already done for the conversion to wchar_t* buffer. This broke wxSprintf()-related functions in when the ASCII output buffer was not big enough as it was not filled at all.

2010-09-30 16:30 VZ, revision 65690

Correct handling of %hs and %ls in our wxPrintf() implementation. The strings corresponding to %hs and %ls are always narrow/wide independently of the build so using wxArgNormalizedString which is defined differently in different builds doesn't make sense in wxPrintf(). Instead, simply expect the parameter of the appropriate matching type for these conversion specifications. Any conversions to it, if necessary, had been already done before by wxFormatString. This fixes some VsnprintfTestCase::BigToSmallBuffer() unit test failures.

2010-09-30 16:30 VZ, revision 65689

Fix handling of asterisks in wxPrintf() implementation. Count the number of asterisks before modifying the string we use to do this, otherwise we were off by one for the format specifications containing two of them. This really fixes the handling of asterisks (used for width/precision) in wxPrintf() format string, it wasn't done correctly by r60120 but now VsnprintfTestCase::Asterisk() test does pass.

2010-09-30 16:30 VZ, revision 65688

Expect an assert in wxVsnprintf() test with too many parameters. The call to wxPrintf() should provoke an assert if there are too many parameters, so update the test to expect it.

2010-09-30 16:30 VZ, revision 65687

Disable test failing under VC6 only. Somehow the expected assert is not generated by wxString::Format("%d", ptr) with VC6. Disable this test to make the test suite pass for VC6 for now to at least be able to monitor the appearance of the new errors in it. Of course, this one should ideally be debugged (by someone who is interested in VC6 support) as well...

2010-09-30 16:30 VZ, revision 65686

Insert another item in the list control in its unit test. For some reason the test fails with a single item in the control when running on the buildbot slave, check if this is still the case if we add another item to the control.

2010-09-30 16:30 VZ, revision 65685

Remove out of date code in DoStringPrintfV(). We can't clear a NULL buffer, the code didn't make any sense any more because it wasn't updated when the function was changed as part of UTF-8 transition. Closes #12529.

2010-09-30 15:09 MW, revision 65683

A couple of fixes for wxChm

2010-09-30 15:09 MW, revision 65682

A couple of fixes for wxChm

2010-09-30 14:30 VZ, revision 65681

More compilation fixes for new wxRTC image code without PCH. Add more headers needed when not using PCH.

2010-09-30 13:44 VZ, revision 65680

No changes whatsoever, just remove trailing whitespace. There are no real changes in this commit but it removes all trailing white space from our source files. This avoids problems when applying patches and making diffs and it would be nice to prevent it from reappearing.

2010-09-30 13:31 VZ, revision 65679

Use Unix EOL format for the new files.

2010-09-30 13:31 VZ, revision 65678

Include correct headers from richtextimagedlg.*. Include or forward declares the classes used by the header to make it self-contained. Do not include wx/wx.h from the source file to make compiling it faster when not using PCH. This fixes compilation under Unix after SOC2010_RTC_IMAGES branch merge.

2010-09-30 13:30 VZ, revision 65677

Remove interface/implementation #pragmas from richtextimagedlg.*. These pragmas are not necessary and may actually be harmful, no idea why were they added in the first place to a new file.

2010-09-30 12:27 VZ, revision 65676

Merge of SOC2010_RTC_IMAGES branch. Added floating images and image property dialog to wxRichTextCtrl, by Mingquan Yang as part of GSOC 2010. Also changed image block creation to use a memory stream instead of creating a temporary file.

2010-09-30 00:01 VZ, revision 65675

Correct printf() format specifiers for long variables in life demo. Fix asserts in 64 bit builds due to using %u (expecting 32 bit values on a typical Unix LP64 platform) for 64 bit long values.

2010-09-29 15:46 VZ, revision 65674

Add EVT_RIBBONBAR_TAB_LEFT_DCLICK event. Generate a special event when a ribbon bar is double clicked. Closes #12399.

2010-09-29 15:46 VZ, revision 65673

Fix crash in wxWebKitCtrl when using JavaScript. Ignore the unknown types of the script result, in particular don't crash trying to dereference an uninitialized pointer if the script didn't return anything. Closes #12361.

2010-09-29 15:46 VZ, revision 65672

Preserve page size when changing increment in wxGTK wxSpinCtrlDouble. The page size was wrongly reset when changing the increment before. See #12342.

2010-09-29 15:46 VZ, revision 65671

Fix wrong return value of wxGTK wxSpinCtrlDouble::GetIncrement(). Due to confusion in gtk_spin_button_get_increments() parameters order the page size was returned instead of the increment. See #12342.

2010-09-29 15:46 VZ, revision 65670

Return wxFONTFAMILY_DEFAULT, not UNKNOWN, from wxFont::GetFamily(). Although returning wxFONTFAMILY_UNKNOWN when the font family is not recognized makes more sense, it breaks a lot of existing code including all the font-related code generated by DialogBlocks, so prefer to return wxFONTFAMILY_DEFAULT instead -- which can't be confused for a valid font family neither but can be passed to wxFont ctor or SetFamily() without problems. To ensure that this behaviour is correctly implemented by all ports, rename the existing wxFont::GetFamily() to DoGetFamily() and call the new method from wxFontBase::GetFamily() which adjusts the return value if needed. Closes #12330.

2010-09-29 15:45 VZ, revision 65669

Improve mouse handling code in wxAuiToolBar. Capture the mouse to handle mouse input on the buttons to ensure we always reset the button when the mouse leaves it. Closes #11784.

2010-09-29 15:45 VZ, revision 65668

Include wx/defs.h before testing for wxUSE_RADIOBOX. We need to include wx/defs.h that (indirectly) defines wxUSE_RADIOBOX before testing for it in wx/radiobox.h, otherwise the test may fail if the latter header is the first wx header included by the user code. This is similar to r65210 fix for wxUSE_CHECKLISTBOX. Closes #12526.

2010-09-28 20:59 JMS, revision 65666

Reset wxPGEditor singleton instance pointers in dtors. This is useful if wxPropertyGrid is being accessed from an external main loop.

2010-09-28 08:27 JS, revision 65661

Compile fix

2010-09-27 20:13 JS, revision 65660

Image dialog properties.

2010-09-27 14:55 VZ, revision 65659

Replace some stray _T()s with wxT(). We use wxT() exclusively now so replace some _T()s which crept in unnoticed. This also fixes compilation using Sun CC. See #12452.

2010-09-27 14:55 VZ, revision 65658

Fix wx/event.h compilation with Sun CC compiler. Move wxObjectEventFunctor::operator() definition after wxEvtHandler declaration as it uses call through a pointer to member of this class and Sun CC refuses to compile this without having the full class declaration. Closes #12452.

2010-09-27 14:48 VZ, revision 65657

Use wxString methods for UTF-8 conversions in wxX11 code. Use wxString::utf8_str() and FromUTF8() to convert to and from UTF-8. This is more efficient than using wxConvUTF8 as the code did before as it avoids the conversion entirely when wxString uses UTF-8 internally (as it does by default in wxX11) and also has the advantage of compiling in STL build unlike the old code. Closes #12518.

2010-09-27 14:48 VZ, revision 65656

Small clean up in wxX11 Pango code. Don't use unnecessary explicit casts of wxCharBuffer to "const char *". Use wxCharBuffer::length() instead of strlen().

2010-09-27 14:48 VZ, revision 65655

Fix wxX11 compilation when using PCH. wx/unix/utilsx11.h is not included by wx/wxprec.h so we need to include it when using PCH too. Closes #12517.

2010-09-27 13:57 VZ, revision 65654

Document wxSpinDoubleEvent class. Add documentation for the class itself and the associated EVT_SPINCTRLDOUBLE macro. Patch by Carsten Fuchs. Closes #12520.

2010-09-27 13:52 VZ, revision 65653

Close a modal dialog even when it doesn't have any buttons. The close button in the dialog title bar should work even if there are no buttons in the dialog itself (unlike the Escape key which works as an accelerator for a button), so close the dialog explicitly if the emulated button click wasn't processed in wxDialogBase::OnCloseWindow(). Closes #12513.

2010-09-27 13:51 VZ, revision 65652

Fix typo in wxStandardPathsBase::ResourceCat description and document it. Document the enum itself and also correct GetLocalizedResourcesDir() documentation which didn't specify the default value for the category parameter. Closes #12523.

2010-09-27 00:11 VZ, revision 65651

Compilation fix for MinGW STL build. std::tr1::unordeded_map<T *>::find() doesn't accept "const T *" pointer, at least with MinGW 4.4.0 standard library version, so add an explicit const_cast<> to fix compilation.

2010-09-27 00:11 VZ, revision 65650

Compilation fix for MinGW 4.x in new keyboard code. Explicitly choose the comparison operator to use when comparing wchar_t and int values, otherwise MinGW (correctly) complains about ambiguity between (int, int) and (wchar_t, const wxUniChar&) overloads.

2010-09-27 00:11 VZ, revision 65649

Make wxDateTime::Tm::yday public and document it. There doesn't seem any reason to allow access to all the other struct Tm fields but not yday so make it public, fill it in correctly when creating Tm without using its ctor from struct tm and document struct Tm itself including its yday field.

2010-09-27 00:11 VZ, revision 65648

Initialize wxDateTime::Tm::yday in the ctor. Set Tm::yday to a fixed value in the ctor as well instead of not initializing it at all. This bug actually didn't have any visible consequences as yday is currently a private member of struct tm and didn't seem to be used anywhere but it at least avoids MinGW 4.x warnings about possibly uninitialized variable and might become important in the future if we allow accessing this field.

2010-09-27 00:11 VZ, revision 65647

Correct g++ 4.x warnings about suggested explicit braces. Several warnings were generated for wxLogLastError() calls inside CALL_CARET_API macro by MinGW 4.4. Fix them by adding the extra braces. See also r61475.

2010-09-26 22:26 PMO, revision 65646

Added basic implementation for wxRadioBox and simplified choices handling for wxComboBox and wxChoice

2010-09-26 20:39 PMO, revision 65645

Added basic implementation for wxCheckBox

2010-09-26 18:38 PMO, revision 65644

Added implementation of wxWindow::DoFindFocus

2010-09-26 18:07 JS, revision 65643

General tidying of the floating image layout code Added CanEditProperties, EditProperties to make object editing more generic

2010-09-26 16:39 PMO, revision 65642

Added missing wxStaticLine::GetHandle() implementation

2010-09-26 16:33 PMO, revision 65641

Removed manual deletion of Qt widgets (wxQtPointer destructor is doing this now)

2010-09-26 14:00 PMO, revision 65640

Replaced QPointer usage with wxQtPointer

2010-09-25 16:15 JS, revision 65639

Fix

2010-09-24 19:44 JMS, revision 65631

Correct empty space drawing

2010-09-24 19:40 JMS, revision 65630

Removed debug log message

2010-09-24 17:22 JMS, revision 65629

Fixed PCH-less build

2010-09-24 16:47 JMS, revision 65628

Have wxPropertyGrid inherit from wxControl and wxScrollHelper instead of wxScrolledWindow. This is the approach other scrolled controls use.

2010-09-23 23:12 RD, revision 65627

Fix sending a size event for the displayed page when the notebook is sized

2010-09-23 23:11 RD, revision 65626

Use the wx version of the wxDECLARE_EVENT_TABLE_ENTRY macro

2010-09-23 23:10 RD, revision 65625

Avoid an endless recursion situation

2010-09-23 23:09 RD, revision 65624

Allow the renderer to also work with wxMemoryDCs

2010-09-23 23:08 RD, revision 65623

SetUserScale(1.0, 1.0) in Unmask() so the image will not be scaled again when blitted

2010-09-23 23:07 RD, revision 65622

CanSetTransparent needs to be virtual

2010-09-23 23:05 RD, revision 65621

Various build tweaks and updates for wxPython 2.9.1.1

2010-09-23 22:54 RD, revision 65620

Add flag to enable specifying an architecture to build on Mac. Also add x86_64 architecture to universal build when buildng wxOSX-Cocoa

2010-09-23 19:02 SJL, revision 65597

Remove an assert that was not backed up by the documentation and so failed on some platforms but not on others. Re-enable some tests that were disabled in wxGTK as they now pass.

2010-09-23 18:55 SJL, revision 65596

Add ClearEventCount to wxTestableFrame. This means we can clear an event count when an event counter goes out of scope so the are no spurious results in later tests.

2010-09-23 18:24 JS, revision 65595

Fix bug finding line after line break

2010-09-23 18:16 JS, revision 65594

Fix bug finding line after line break

2010-09-23 14:58 JMS, revision 65593

Streamline wxPropertyGrid tooltip code

2010-09-23 14:55 JMS, revision 65592

When setting empty string as a tooltip, call gtk_widget_set_has_tooltip() with FALSE to remove the tooltip. This will bring wxGTK behavior in line with wxMSW.

2010-09-22 21:24 SJL, revision 65591

Fix assert when changing the filter selection on a multiple selection wxGenericDirCtrl. Because ExpandPaths selects the item we can simply grab a list of selected paths and then expand them all in the multiple selection case. The single selection case is unchanged. Closes #12340

2010-09-22 15:31 VZ, revision 65590

Better checks for wxMSWKeyboard::VKToWX() return value. Don't generate key events without any valid key code (this shouldn't normally happen but might on exotic keyboards with keys that we don't know about). Also ensure that we can distinguish between VKToWX() returning dead keys and non-Latin-1 keys by setting wchar_t output parameter to WXK_NONE too in the former case but not the latter. Generate wxEVT_CHAR_HOOK events for non-Latin-1 keys too in Unicode build.

2010-09-22 15:31 VZ, revision 65589

Fix recently broken generation of wxEVT_CHAR_HOOK events in wxMSW. Changes to VKToWX() semantics broke the logic of the global keyboard hook function in wxMSW which didn't generate wxEVT_CHAR_HOOK events for ASCII special keys such as WXK_ESCAPE any more. Fix this and also generate wxEVT_CHAR_HOOK for all events, not just the non-ASCII keys for consistency with the documentation and wxGTK. Closes #12501.

2010-09-22 14:45 SJL, revision 65588

Re-enable disabled wxWindow label tests under wxGTK as they were fixed in r65374

2010-09-22 12:06 SJL, revision 65587

Send generic wxTreeCtrl wxEVT_COMMAND_TREE_KEY_DOWN events from OnKeyDown rather than OnChar. This change means it sends events for the same keys as the wxMSW control. It also fixes the failing unit test.

2010-09-22 10:48 SJL, revision 65586

Send generic wxListCtrl wxEVT_COMMAND_LIST_KEY_DOWN events from OnKeyDown rather than OnChar. Also remove the HasCurrent check. These changes bring the generic control into line with the control under wxMSW. Re-enable the previously failing unit test and document that the key down event might not have a valid item associated with it.

2010-09-21 21:54 PMO, revision 65583

Adding wxQtPointer to ease the memory management of Qt objects.

2010-09-21 14:57 VZ, revision 65582

Compilation fixes for old SDKs (VC6) after recent commit. Define WM_QUERYUISTATE in wx/msw/missing.h too as src/msw/statbox.cpp uses it now. Also move DT_HIDEPREFIX definition from wx/msw/private/button.h to missing.h as well as it's now used in statbox.cpp too. Include missing.h explicitly from the files that use DT_HIDEPREFIX.

2010-09-21 13:56 VZ, revision 65581

Compilation fix of wxSocket code for older Solaris versions. Include sys/filio.h to define FIONBIO in all cases (sometimes this header is already included from sys/ioctl.h but not always). Closes #12481.

2010-09-21 13:44 VZ, revision 65580

Correct drawing of mnemonics in wxStaticBox label under wxMSW. Only show the mnemonics if they need to be shown, i.e. use the same logic as the standard controls use, to avoid showing mnemonics in wxStaticBox with custom label colour even when other wxStaticBoxes don't show it.

2010-09-21 13:44 VZ, revision 65579

Fix wxStaticBox label redrawing when "Alt" is pressed in wxMSW. The default handling for Alt key press in the standard control is to redraw the label to account for showing of the keyboard queues (i.e. if the mnemonics were initially hidden, they are shown when Alt is pressed) but it doesn't redraw it in the correct colour resulting in any custom label colour being lost whenever Alt is pressed anywhere in the window containing the box. Fix this by forcing the box refresh which will result in repainting it using our code which does use the correct colour. Also update the static page of the widgets sample to allow changing the colours of all static controls on this page, including the wxStaticBox, and not just the main wxStaticText. Closes #12497.

2010-09-20 17:38 JMS, revision 65577

Call SetToolTip() for the property editor control when wxPG_EX_HELP_AS_TOOLTIPS style is used

2010-09-20 16:14 VZ, revision 65576

PCH-less compilation fix to GDI+ wxMSW code. Closes #12496.

2010-09-20 15:15 VZ, revision 65575

Correctly recognize when wglChoosePixelFormatARB() fails. This function returns TRUE even if it failed to find any matching formats, so test not only its return value but also the number of formats it found. Closes #12474.

2010-09-20 15:11 VZ, revision 65574

Always use native task dialog for wxProgressDialog under MSW if supported. Use task dialogs even for the dialogs with wxPD_AUTO_HIDE style flag and without wxPD_CAN_ABORT one. Generic fallback was used in this case as native task dialog doesn't support dialogs without buttons but it is finally better to create a dummy button and use the native dialog nevertheless. We already have a mostly disabled "Close" button for the dialogs without wxPD_AUTO_HIDE style so it seems logical to also have it (but just never enable it at all) when this style is used. Closes #12462.

2010-09-20 15:10 VZ, revision 65573

Ignore time component of SYSTEMTIME in wxMSW wxDatePickerCtrl. This is similar to the fix of r64208 for wxCalendarCtrl and ignores the time component of SYSTEMTIME objects returned by the native functions in wxDatePickerCtrl too to ensure that we operate with pure dates only. Closes #12493.

2010-09-20 14:52 VZ, revision 65572

Don't use native MSW functions in wxString::CmpNoCase(). While the native CompareString() is much more efficient than MSVC CRT version of _wcsicmp(), it gives unexpected results for non-letter characters, so don't use it but use the slow but correct wxStricmp() instead. At least don't use char-by-char comparison (in non-UTF-8 case) as it's the slowest possible implementation of this function, the new one using wxStricmp() is 3 times faster (by comparison, using CompareString() is 16 times faster still -- but wrong). Closes #10375.

2010-09-20 14:52 VZ, revision 65571

Add benchmarks for various ways to compare strings. Benchmark the abstraction overhead of wxString methods compared to plain functions and also benchmark native functions for string comparison under MSW.

2010-09-20 14:52 VZ, revision 65570

Flush output after every benchmark. This purely cosmetic change simply allows to see the output of the benchmarks sooner which is more user-friendly when running several long benchmarks.

2010-09-19 18:06 PMO, revision 65569

Minimal implementation for wxTreeCtrl, wxBitmapToggleButton, wxToggleButton, wxRadioBox, wxListCtrl

2010-09-19 12:02 SJL, revision 65568

Increase the number of expected events in TreeCtrlTestCase::KeyDown and ListBaseTestCase::KeyDown from four to six as this is the number of events seen when testing using their samples. This also stops the tests failing after the recent keyboard event improvements.

2010-09-18 18:26 VZ, revision 65565

Really fix setting fonts in RichEdit 4.1 controls. The fix applied in r64394 wasn't enough and the control could still decide to overwrite the font used by default when non-ASCII characters were inserted into it. To really force it to use the font we want we apparently must send it EM_SETCHARFORMAT with SCF_ALL flag (MSDN also documents SCF_DEFAULT but it's not clear if we should use it instead or together with SCF_ALL, for now it doesn't seem to be necessary).

2010-09-18 18:26 VZ, revision 65564

No changes, just refactor wxTextCtrl::SetStyle() in wxMSW. Split this overly long function into MSWSetCharFormat() and MSWSetParaFormat(). No real changes otherwise except for the use of PARAFORMAT instead of PARAFORMAT2 if wxUSE_RICHEDIT2 is not set as it was certainly intended (but the fact that nobody complained about this problem means that nobody must be compiling without wxUSE_RICHEDIT2 by now so arguably we should just remove it completely).

2010-09-18 18:26 VZ, revision 65563

Set wxTextCtrl::m_verRichEdit to 4 for RichEdit 4.1. Set m_verRichEdit to a different value for the version 4.1 of the control as it behaves subtly differently from the previous versions. Also clarify that value of 2 is used for both 2.0 and 3.0 versions of the control. No real changes yet.

2010-09-17 21:07 RR, revision 65562

Postpone EnsureVisible() to idle as this sometimes seems to be required, fixes #12480: wxDataViewCtrl::EnsureVisible does not make item visible in some circumstances on GTK

2010-09-17 13:17 DS, revision 65561

Set svn properties on .cpp files. Add missing svn:eol-style property to all .cpp files. Also set svn:keywords for .cpp files which don't have that property yet to Id, including src/osx/core/glgrab.cpp for consistency (it doesn't make use of the property).

2010-09-16 21:36 VZ, revision 65560

Allow setting Mac-specific menu item ids to wxID_NONE to suppress them. If s_macAboutMenuItemId or s_macPreferencesMenuItemId was explicitly set to wxID_NONE by the application, don't add them to the standard menu at all, otherwise they would be present there but be always disabled and useless. This is still not documented because we really need a better API for this but it at least provides a temporary workaround for having useless menu items under OS X.

2010-09-16 21:36 VZ, revision 65559

Allow use of report mode non-native wxListCtrl in wxListBook under Mac. The use of wxListBook in report mode was disabled for wxOSX in r54001 and r54318 (see #9484) because it created problems with the native wxListCtrl implementation but the report mode can be used if we're using the generic wxListCtrl version so do allow to use it if the system option governing the choice of the version to use is set to "generic". Of course, the real fix would be to correct the bugs in the native wxListCtrl version and use report mode always but for now this at least restores correct behaviour with the generic version.

2010-09-16 13:05 VZ, revision 65558

Only use wxFORCE_LINK_MODULE() in mediaplayer sample in static build. The linking optimization this macro protects against can't happen when using DLL and so using it is at best useless and actually harmful (because it doesn't contain the correct DLL export declarations) in the latter case.

2010-09-16 13:05 VZ, revision 65557

Compilation fixes for non-MSVC 9 compilers after r65555. Somehow MSVC 9 compiled invalid wxT(__FUNCTION__) expressions but both MinGW and MSVC 6 (correctly) failed. Don't use this construct at all but instead call wxLogLastError() with the real function name. Also refactor the code slightly to avoid having to repeat this fix thrice.

2010-09-16 11:05 VS, revision 65556

Fix wxMSW rendering artifacts with modal dialogs. When a modal dialog showed another modal dialog, parts of the parent window weren't refreshed correctly. This demonstrated itself as rendering artifacts when moving the child dialog to another position: parts of the dialog were shown as disabled, parts as enabled. Fixed by explicitly refreshing the window.

2010-09-16 01:04 VZ, revision 65555

Remove display information caching from MSW wxDisplay implementation. Don't cache display rectangle and client rectangle as they can both change during the program lifetime (especially the latter which changes whenever taskbar is moved or shown/hidden) and retrieving them every time they're needed doesn't seem to be a problem performance-wise anyhow. We still cache the list of all the monitors, ideally we'd refresh it when we receive a notification about a display being [dis]connected. Closes #4582.

2010-09-16 00:13 DS, revision 65554

Fix possible errors introduced while generating Xcode project. Under some unknown circumstances two added source files are concatenated into one faulty entry in an Xcode project (this probably occurs either at the Xcode or XMLTools2 level). Try to detect these errors in the Python script and fix them by patching up the project.pbxproj file.

2010-09-16 00:10 VZ, revision 65553

Document limitations of the generic wxTextEntry hints. Calling methods other than SetValue() or ChangeValue() doesn't update the display correctly currently, see #12475.

2010-09-16 00:10 VZ, revision 65552

Update the text hint display correctly when ChangeValue() is called. wxTextEntry::ChangeValue() doesn't generate any events so we need to explicitly update the text stored by wxTextEntryHintData when it is called to ensure that it corresponds to the real controls value.

2010-09-16 00:10 VZ, revision 65551

Fix several bugs in generic text entry hints implementation. The text controls contents and colour was not updated correctly in several situations (see #12475). The old code was completely wrong as it didn't store the actual value of the control at all and so could never work. Do store and update it now and show the hint if and only if the real contents is empty. Also handle "text updated" event to correctly update the hint when the control becomes [non-]empty. Closes #12475.

2010-09-16 00:10 VZ, revision 65550

Fix wxTextEntry::SelectAll() in presence of hints in wxGTK. Translation of wx (-1, -1) selection to (0, GetValue().length()) in wxTextCtrl::SetSelection() was unnecessary as it ended up calling the base class wxTextEntry::SetSelection() version which didn't need it. Moreover, this translation was actually harmful when the text control happened to show a hint string as its official value was empty in this case and so SetSelection(0, 0) was called which didn't do anything and broke clearing/changing the controls text when it was showing a hint. Simply don't translate the indices when using a single line control to fix this. See #12475.

2010-09-15 13:45 DS, revision 65549

Use a unique namespace for generating identifiers. Instead of using uuid.NAMESPACE_DNS as namespace use a newly generated UUID. Also minor cleanup of import uuid statement.

2010-09-15 13:29 DS, revision 65548

Make Xcode identifier consecutive when there is a collision. Making them consecutive groups source files that are repeated next to each other in the project file like Xcode does, instead of creating a complete new random identifier which resulted in creating a distance between the source files after they were sorted.

2010-09-14 20:35 VS, revision 65547

Click on wxOwnerDrawnComboBox's animating popup should close it. Previously, it behaved differently from native combo box: clicking the popup while its opening animation was running had no effect. This was different from the native control, which would close the popup in this case (just like when it's fully opened).

2010-09-14 19:35 PJC, revision 65544

Fix incorrect behaviour of wxRibbonGallery::EnsureVisible when the ribbon is vertical rather than horizontal.

2010-09-14 15:18 VZ, revision 65541

Fix drawing of items with custom background in wxGenericListCtrl. This was broken by the changes of r64879 which erroneously used wxRendererNative::DrawItemSelectionRect() even for the non-selected items. Now only use DrawItemSelectionRect() for the selected items to make them appear natively while drawing the non-selected items with custom background colour ourselves. Also refactor the code to avoid (the not quite and hence especially pernicious) duplication between wxListLineData::Draw() and DrawInReportMode(): rename SetAttributes() to ApplyAttributes() and draw the item background in this function now instead of doing it in both Draw() and DrawInReportMode().

2010-09-14 12:24 VZ, revision 65540

Fix hang on termination of wxProgressDialog with wxPD_AUTO_HIDE style. We don't need to run a modal event loop waiting for the wxProgressDialog to be closed when it has wxPD_AUTO_HIDE style because it does it on its own. Closes #12472.

2010-09-13 22:12 RR, revision 65539

Document wxDataViewListModel as common abstract base class for wxDataViewIndexListModel and wxDataViewVirtualListModel. Add wxDataViewListModel::GetCount() as both have it.

2010-09-13 22:02 RR, revision 65538

Further work on wxDataViewListModel::Reset()

2010-09-13 00:58 VZ, revision 65537

Update wxRibbonPanel documentation to mention use of sizers. This documents the changes of r65436. Closes #12418.

2010-09-13 00:58 VZ, revision 65536

Delete wxListCtrl item data after handling its deletion event in wxMSW. We deleted the data associated with the item too soon as we did it before the handler for the item deletion event was run and this handler could still access this data. Only free the data after the handler returns now. Closes #12449.

2010-09-13 00:58 VZ, revision 65535

Fix compilation of EnumerateLoadedModules() call for MinGW64 4.5. Our logic for detection of whether the first argument of PENUMLOADED_MODULES_CALLBACK is const or not didn't work for MinGW64 4.5. Replace it with a less error-prone (even if more ugly) version which simply casts the callback to the type expected by the function. Closes #12465.

2010-09-13 00:05 VZ, revision 65534

Define MAPVK_VK_TO_CHAR to fix wxMSW compilation with old SDK headers. At least MinGW headers don't define this constant.

2010-09-12 22:07 RR, revision 65533

Moved more code from wxDataViewCtrl to wxDataViewCtrlInternal. Add new special API for wxDataViewVirtualIndexModel::Reset() as wxDataViewModel::Clear is something different and needs a different, two step API under GTK+, one for destroying the current view and one for rereading the new contents. Added ::BeforeReset() and ::AfterReset() notifications for that purpose.

2010-09-12 18:16 JS, revision 65532

Fix for % symbols going missing from style parameter

2010-09-12 18:16 JS, revision 65531

Fix for % symbols going missing from style parameter

2010-09-11 13:20 VZ, revision 65528

Compilation fix for wxOSX. Remove stray closing brace. Also fix a warning about unused parameter.

2010-09-11 12:19 VZ, revision 65527

Generate the same flags for modifier key events in wxGTK as in wxMSW. Resolve the discrepancy between modifier flags of the key events corresponding to the modifier key itself between wxMSW and wxGTK by changing the latter to follow wxMSW behaviour. Clearly document the now officially correct behaviour of the modifiers for the key events corresponding to the modifiers keys themselves in the manual. This fix also makes it unnecessary to work around this bug in the keyboard unit test so remove it from there.

2010-09-11 12:19 VZ, revision 65526

Generate unshifted Unicode key codes in wxEVT_KEY_XXX events in wxGTK. wxGTK generated wxEVT_KEY_XXX with key codes corresponding to the unshifted state of the key (except for the letters) but Unicode key codes corresponding to the current shift state. This was inconsistent with wxMSW and also with the idea that key events, unlike char ones, don't depend on the modifiers states. Change wxGTK to behave as wxMSW and use unshifted values for Unicode key codes as well. Remove the now unnecessary workaround for different key event Unicode codes from test. Also try to explain the difference between normal and Unicode keys and key and char events even better and mention that the Unicode key codes for the key events are also untranslated in the documentation.

2010-09-11 12:19 VZ, revision 65525

Fix generation of key events for non-alphabetic keys under Windows. Don't hardcode the values of VK_OEM_XXX keys which are completely nonsensical on keyboards with non-US layouts. Use the real unshifted value of the key as its key code instead -- at least if it's a Latin-1 character. Otherwise, use WXK_NONE as the key code and pass the character generated by the key as Unicode character code. Also generate WXK_NONE events for dead keys to avoid confusing them with the corresponding normal key events.

2010-09-11 12:18 VZ, revision 65524

Improve printing out of pressed keys in the keyboard sample. Add missing elements of wxKeyCode enum ("Windows" and "Command" keys) to the GetVirtualKeyCodeName() function in the sample. Also output "unknown" and not blank for WXK_NONE.

2010-09-11 12:18 VZ, revision 65523

Rename wxCharCode{MSWToWX,WXToMSW}() and move them to a separate header. These functions were confusingly named as they work with MSW (virtual) key codes and not character codes, rename them to better indicate what they do. They also don't need to be in wx/msw/window.h included by all wx code when they are only really needed in a couple of files, so move them to a private header. No changes in behaviour.

2010-09-11 12:18 VZ, revision 65522

Fixes to key codes in keyboard events generated by wxMSW. Only set Unicode key code if the event corresponds to a character key and set it to (newly added) WXK_NONE for the other ones to avoid nonsensical values in it for e.g. "Home" key presses. Also set non-Unicode key to WXK_NONE for the characters that can't be represented in the current locale. This is consistent with wxGTK and avoids conflicts between special key values and Unicode keys. Clearly document the above behaviour. Notice that implementing the correct behaviour in wxMSW involved untangling previously interwoven WM_KEY{DOWN,UP} and WM_CHAR messages handlers. Clearly separate them now as they get different input (key codes for the former, characters for the latter) and especially don't try to convert from both kinds of input using a single wxCharCodeMSWToWX() function. As this function doesn't need to distinguish between keys and characters any more it can simply return the converted value in all cases instead of returning 0 sometimes to indicate a character value instead of a key. Simplify the code using this function accordingly.

2010-09-11 12:18 VZ, revision 65521

Add WXK_NONE symbolic constant indicating absence of a key. wxKeyEvent::GetKeyCode() and GetUnicodeKey() return 0 to indicate that the key code or Unicode character is not available, give symbolic name to this 0 to make the code using these methods more clear.

2010-09-11 12:18 VZ, revision 65520

No real changes, just use KF_EXTENDED instead of hard-coded bit mask. KF_EXTENDED is defined in Windows headers as the mask for extracting the "extended" bit from LPARAM of the keyboard messages. Use it instead of explicitly writing less clear "1 << 24".

2010-09-11 12:18 VZ, revision 65519

Add a simple test for keyboard events generation. Check that the events generated by wxUIActionSimulator result in the same wxKeyEvents being generated under all platforms. This is not the same as checking the event generation for the actual keys pressed by the user as there are some small differences between the two but better than nothing.

2010-09-11 12:18 VZ, revision 65518

Generate correct events for extended keys in wxMSW wxUIActionSimulator. Simulating keys such as WXK_END resulted in WXK_NUMPAD_END event being generated instead of the expected WXK_END one. Fix this by returning from wxCharCodeWXToMSW() whether the key code is a normal or extended one and use this to set KEYEVENTF_EXTENDEDKEY in wxUIActionSimulator::DoKey().

2010-09-11 12:18 VZ, revision 65517

Remember the last key event in wxGTK before passing it over to IM. Save the last key event before calling IM filter to be able to get the correct modifiers, timestamp, position &c to use for the CHAR event generated from IM commit callback. This restores the changes of r34504 which were reverted for unknown (or at least unmentioned) reason in r34521.

2010-09-11 12:18 VZ, revision 65516

Explicitly send events for modifier keys in wxUIActionSimulator. Key down/up events for the modifiers were already explicitly sent under wxMSW and wxOSX but not under wxGTK where, as the result, the corresponding events were not generated at all. Do send these events explicitly to make the events generation consistent under all platforms now. This means that wxUIActionSimulator::DoKey() now generates exactly one event everywhere. Notice that the modifiers for the key events generated by the modifier keys are also the same under all platforms now which is not the case for the events actually generated by the user (wxMSW sets the corresponding bit for the modifier key down event but not the key up one while wxGTK does exactly the contrary). This should be fixed in the future so that wxUIActionSimulator generates the same sequence of events as the user would and that it's still the same for all platforms.

2010-09-11 12:18 VZ, revision 65515

Remove assert checking for wxMOD_CONTROL from wxUIActionSimulator. It doesn't make sense to fail if modifiers parameter includes wxMOD_CONTROL telling the caller to use wxMOD_CMD instead as the latter is exactly the same as the former under non-Mac platforms.

2010-09-11 12:18 VZ, revision 65514

Add a convenient wxREGISTER_UNIT_TEST() macro. This macro can be used to easily register a test following a standard naming convention in both the global test suite and the test suite with the same name as this test instead of having to use 2 different cppunit macros to do the same thing.

2010-09-11 12:17 VZ, revision 65513

No real changes, just some small cleanup in wxMSW keyboard code. No changes, just use more clear variable name ("keycode" instead of "id") and anonymous namespace instead of static keyword.

2010-09-11 11:20 SC, revision 65512

fixing 'main screen'

2010-09-10 21:42 VZ, revision 65511

Use wxLocale::GetInfo() to get date format in wxDatePickerCtrlGeneric. Instead of trying (and failing) to manually decode the format used by "%x", simply use wxLocale::GetInfo(wxLOCALE_SHORT_DATE_FMT) and just change "%y" to "%Y" if necessary. The new code is more than 10 times shorter and also gives correct results unlike the old version.

2010-09-10 21:28 VZ, revision 65510

Don't add spurious NULs at the end of wxTextDataObject text under OS X. For some reason we added an extra NUL character to the data copied from wxTextDataObject but this doesn't seem necessary because the Pasteboard API is passed the correct data size and so the string doesn't need to be NUL-terminated. In fact, adding this NUL broke drag and drop between wx and native controls, including the case of dropping text in our own wxTextCtrl as this uses its built in support for dnd and not our code (the fact that we can't even set a drop target for a wxTextCtrl is a separate bug). In this case we got a string with an extra NUL in the control resulting in all sorts of hard to debug problems. So simply don't add the extra bytes, dnd works fine without them both between wx windows and from/to another OS X applications.

2010-09-10 19:26 VZ, revision 65509

Initialize wxGenericProgressDialog button members in Init() too. wxGenericProgressDialog::m_btn{Abort,Skip} were not initialized neither which resulted in crashes inside EnableAbort() which was called if the "Cancel" button was pressed in a native MSW dialog but the dialog wasn't cancelled (and hence the button needed to be reenabled).

2010-09-10 19:26 VZ, revision 65508

Fix closing logic in wxMSW native wxProgressDialog. The dialog must always close if the C++ object was destroyed, independently of whether it was cancelled or finished.

2010-09-10 19:26 VZ, revision 65507

Block in wxMSW wxProgressDialog::Update(max) until the dialog is dismissed. For consistency with the generic version and because it makes more sense than blocking in the dialog destructor (which is the only other alternative for the dialogs without wxPD_AUTO_HIDE to work), we should block in Update() when the maximal value is reached for dialogs without wxPD_AUTO_HIDE style until the dialog is dismissed. Document this behaviour even more clearly.

2010-09-10 19:25 VZ, revision 65506

Fix errors in handling of maximum field in wxGenericProgressDialog. Provide a SetMaximum() function for setting just m_maximum and return its value from GetRange() instead of using m_gauge->GetRange() which doesn't work when the native MSW version is used nor when the range is > USHRT_MAX under MSW in any case. More generally, this should fix a lot of bugs for progress dialogs using such range as the values were not interpreted correctly in many places.

2010-09-10 19:25 VZ, revision 65505

Rename wxGenericProgressDialog::ProgressDialogState to just State. Repeating "ProgressDialog" twice is redundant.

2010-09-10 19:25 VZ, revision 65504

No changes, just use less long progress dialog states names. We can refer to them using wxProgressDialog class name and not the base wxGenericProgressDialog so do this as it is shorter and more clear because these states have nothing to do with the generic version when used by the native MSW implementation.

2010-09-10 19:25 VZ, revision 65503

Use determinate mode in native wxMSW wxProgressDialog by default. The dialog was created in indeterminate ("marquee") mode for some reason.

2010-09-10 19:25 VZ, revision 65502

Add a possibility to show a progress dialog on dialog sample startup. Add a command line option to the dialogs sample to allow testing of different wxProgressDialog styles more easily. This also tests for showing them before the main event loop is started (see r65499).

2010-09-10 19:25 VZ, revision 65501

Don't use wxGenericProgressDialog::m_windowStyle for wxPD_XXX styles. Storing progress dialog styles in the normal window style didn't work because they clashed with the TLW styles. The original progress dialog implementation worked around this by using separate m_has{Abort,Skip}Button variables instead of relying on wxPD_CAN_{ABORT,SKIP} style bits but this didn't work for the other styles and was unclear so the new native MSW implementation blithely used m_windowStyle to test or them and other bits which didn't work at all, see #12416. Solve this by using a separate m_pdStyle variable for storing the progress dialog styles and use it for all wxPD_XXX tests in both the generic and MSW code. This fixes some bugs (although not all of them yet) and allows to get rid of m_has{Abort,Skip}Button.

2010-09-10 15:41 SC, revision 65500

adjusting to new gui mutex for osx, see #12411

2010-09-10 13:44 VZ, revision 65499

Create temporary wxEventLoop in wxGenericProgressDialog if needed. wxGenericProgressDialog needs to have an active event loop in order to repaint itself and process clicks on its buttons but it's more helpful to create a temporary event loop if there is no currently active one instead of just asserting. In particular, this allows to use wxProgressDialog from overridden wxApp::OnInit(). Add temporary event loop creation and remove the now unnecessary asserts verifying that there is an active event loop as there always will be one.

2010-09-10 13:44 VZ, revision 65498

Initialize wxGenericProgressDialog::m_winDisabler properly. This field wasn't initialized by Init() which might have been harmless considering the current code structure but still untidy, do set it to NULL there. Also move the forward declaration of wxWindowDisabler class in wx/generic/progdlgg.h to the top of the file for consistency with the other forward declarations.

2010-09-10 13:44 VZ, revision 65497

Don't return false from IsOk() for accelerators without flags. wxAcceleratorEntry::IsOk() checked for m_flags != 0 for some reason. Simply remove this test. See #12444.

2010-09-10 00:20 VZ, revision 65496

Fix infinite loop in wxDateTime::Format() when fields width was used. Just add a missing increment of the loop variable. See #12451.

2010-09-10 00:20 VZ, revision 65495

Fix cast of pointer to int in artprov sample. This prevented the sample from building when using MinGW-64 and also probably prevented it from working correctly on other 64-bit systems. Closes #12453.

2010-09-09 23:57 VZ, revision 65494

Initialize all fields of struct tm used by wxDateTime::Format(). Passing not fully initialized struct tm to strftime() results in Valgrind errors and possible nastiness, see #12455. Simply use memset() to set all fields of this system-dependent struct to 0 initially.

2010-09-09 23:49 VZ, revision 65493

Fix wxKill(wxSIGNONE) always returning true for child processes in wxMSW. The fact that a handle to a process can be opened doesn't mean that the process is still running. In fact, for a child process that we store a handle for ourselves we will always be able to open (another copy of the) handle even if it already terminated. Check for the process termination using WaitForSingleObject() instead in both normal and wxSIGNONE cases. Also simplify the code by not using GetExitCodeProcess() at all as we don't need the process exit code. Closes #2834.

2010-09-09 23:49 VZ, revision 65492

Remember last values used in exec sample "Kill" menu item dialogs. Remember the PID entered in the dialog and also remember the last used signal number. This makes these dialogs slightly less painful to use when testing even though ideally we'd have a single dialog for choosing both values instead of two consecutive modal dialogs.

2010-09-09 23:49 VZ, revision 65491

Very minor fixes to wxKill() documentation. Fix "the the" typo.

2010-09-09 23:48 VZ, revision 65490

Use minimal required process access mask in wxMSW wxKill(). We don't need PROCESS_TERMINATE permission if we are not going to call TerminateProcess() for it.

2010-09-09 22:59 VZ, revision 65489

Don't filter out Cairo libraries from GTK libraries list in configure. This undoes the hack of r35357 which surreptitiously removed all Cairo libraries from the GTK libraries list. This shouldn't be necessary any more as we use Cairo calls in our own code and so can't run without it anyhow and in fact is even actively harmful as it results in linking errors under Fedora 13 (which seems to use a slightly different linker?).

2010-09-09 22:53 VZ, revision 65488

Use the same logic for closing dialogs as for handling Escape key. Pressing "Esc" key closed the dialog with only wxID_OK button (but no wxID_CANCEL one) by default but pressing the "close window" button only closed it if wxID_CANCEL was present. Fix this by using the same code in OnCloseWindow() as in OnCharHook(), after extracting it into the new SendCloseButtonClickEvent() method.

2010-09-09 22:34 VZ, revision 65487
  • D /wxWidgets/trunk/src/msw/mediactrl.cpp

Remove the unused "monolithic" MSW wxMediaCtrl file. The contents of this file was split over src/msw/mediactrl_{am,qt,wmp10}.cpp a long time ago and this file is unused and not compiled into the library so having it in the repository is useless and confusing -- remove it.

2010-09-09 22:33 VZ, revision 65486

No real changes, just don't use obsolete FORCE_LINK_ME in wxMediaCtrl. Use wxFORCE_LINK_THIS_MODULE() instead of the obsolete FORCE_LINK_ME.

2010-09-09 22:33 VZ, revision 65485

Force linking of all wxMSW wxMediaCtrl backends in mediactrl sample. Force the linker to include all the backends in the sample executable instead of discarding them because they are not used directly to allow testing all of them in the sample.

2010-09-09 22:33 VZ, revision 65484

No changes, just remove cruft from mediactrl sample. Remove the test for wxUSE_GUI together with the comment questioning its presence.

2010-09-09 22:33 VZ, revision 65483

Remove debugging wxLogMessage from wxMediaCtrl::Create(). This was added apparently by mistake in r45478 and resulted in showing the backend being used by the control in a message box whenever it was created ever since.

2010-09-09 12:18 VZ, revision 65482

Don't exclude "contrib" from wxMSW setup.exe generation. This was presumably needed to exclude the top level contrib directory but also seems to apply to src/tiff/contrib and excluding this directory breaks configuration of libtiff as it looks for src/tiff/contrib/Makefile.in. As we don't even have top level contrib any more, simply don't exclude it any longer.

2010-09-09 10:57 DS, revision 65481

use svn:keywords instead of eol:keywords

2010-09-08 22:01 RR, revision 65480

Unregister configure callback, fixes #12447: wxGTK patch: Segfault on Drag&Drop

2010-09-08 22:00 RR, revision 65479

Unregister configure callback,part of #12447: wxGTK patch: Segfault on Drag&Drop

2010-09-08 19:11 DS, revision 65478

Make Xcode identifiers in generated project files be the same after each run. From the AppleScript that composes the Xcode projects call a Python script that bases the identifiers on an associated name instead of being random each run like Xcode does. After the Python script reopen the project again in Xcode to have the identifiers sorted (Xcode wants them to be), resulting in the project.pbxproj file being completely different inside but in the IDE the order of files still will be the same.

2010-09-07 23:37 VZ, revision 65477

Use correct Unicode define for wxScintilla compilation. Compilation of wxScintilla with Borland failed because -D_UNICODE was not passed on command line resulting in mismatches between wxChar and Windows TCHAR. It's a mystery why this didn't happen with the other compilers but defining _UNICODE for them too can't hurt.

2010-09-07 18:05 SC, revision 65475

resetting the wrapper flag later, otherwise the native destructors dealloc too much, fixes #12448

2010-09-07 08:51 SC, revision 65474

modeling subclassing along msw, unsubclassing filedialog at end of ShowModal, fixes #12236

2010-09-06 15:50 SC, revision 65473

using non-sleep version for GUI mutex, solves #12411

2010-09-05 15:31 SJL, revision 65472

Simplify ButtonTestCase::Bitmap. The old test was not correct as it tested all bitmaps to see if they were valid, however these do not get set by SetBitmap and so the tests only passed if the platform set valid defaults.

2010-09-05 15:14 SJL, revision 65471

Fix typo from previous commit.

2010-09-05 15:11 SJL, revision 65470

Move the second wxListBox sort test back to the ownerdrawn section and re-enable it under wxGTK.

2010-09-05 14:47 SJL, revision 65469

Wrap BitmapToggleButtonTestCase in a preprocessor check so compilation shouldn't fail on platforms that don't support it.

2010-09-04 15:33 VZ, revision 65468

Remove unused wxProgressDialogTaskRunner::m_parent field. This seems to be a left over from old version of the code and is not used any longer. See #12414.

2010-09-04 15:33 VZ, revision 65467

Fix crash in wxMSW wxProgressDialog without wxPD_APP_MODAL style. Use the correct method to retrieve the parent window to disable and check that this pointer is not NULL before dereferencing it. Closes #12414.

2010-09-04 15:33 VZ, revision 65466

Improve main and extended messages handling in new wxMSW wxMessageDialog. Don't use the main message if there is no extended message: this looks bad as the main message is emphasized to contrast with the extended one which doesn't make sense visually if there is no extended message. Also recognize the common use of wxMessageBox() with a multiline text composed of the first string that plays the role of the main message with the rest being the extended one and handle this appropriately automatically. This results in a better appearance by default for a lot of message boxes, including even the one in our own minimal sample.

2010-09-04 11:36 VZ, revision 65465

Add a link to Microsoft guidelines from wxICON_QUESTION documentation. Microsoft documentation provides explanations as to how the icons should be used in the message dialogs which can be useful for people wondering which icon style to use an when. See #12417.

2010-09-04 00:48 VZ, revision 65464

Don't link with long obsolete ctl3d32 library when using MinGW. ctl3d32 was used for Win16 development and is not used by wxMSW since many years, don't link with it unnecessarily when using MinGW. Also remove a FIXME comment about an issue which doesn't seem to need any fixing.

2010-09-03 21:33 VS, revision 65463

Fix wxOwnerDrawnComboBox keyboard navigation with duplicate items. If the combobox contained duplicate strings (i.e. multiple items with the same string value, but differing indexes), then navigating to the second and subsequent ones skipped to the first occurence instead. We need to preserve the index.

2010-09-03 21:33 VS, revision 65462

Fixed wxscintilla compilation for wxDFB.

2010-09-01 17:25 SJL, revision 65457

Fix compilation under MinGW, also add missing SVN properties.

2010-09-01 16:48 JS, revision 65456

wxRichTextCtrl::ApplyStyle now applies a paragraph style at the cursor without needing a selection, and setting the default style now avoids duplicating character attributes in subsequently typed text when they exist in the paragraph style.

2010-09-01 16:48 JS, revision 65455

wxRichTextCtrl::ApplyStyle now applies a paragraph style at the cursor without needing a selection, and setting the default style now avoids duplicating character attributes in subsequently typed text when they exist in the paragraph style.

2010-09-01 15:28 VS, revision 65454

Reduce flicker when removing wxNotebook page. wxMSW implementation hides all pages except the selected one. But when removing selected page from the control, this invariant is temporarily broken and this results in visible flicker. Hiding the page as soon as it gets removed fixes it.

2010-09-01 11:48 VZ, revision 65453

Update wx_dll.dsw to include the ribbon library. Add wx_ribbon project with dependency on core library.

2010-08-31 21:04 JS, revision 65452

Forgotten commits - image loading and XML speedups

2010-08-31 00:18 VZ, revision 65451

Add wxGrid::RefreshAttr() method to force attribute refresh. A cached attribute may continue to be used even though the attribute returned by a custom wxGridCellAttrProvider has changed so add a method to force wxGrid to update the attribute by forgetting the cached copy. Closes #12406.

2010-08-30 23:48 VZ, revision 65450

Don't center wxGenericMessageDialog elements. Centering doesn't seem to be appropriate on neither of the major platforms and makes wxGenericMessageDialog and wxGenericRichMessageDialog which uses it look even less native than otherwise. Simply don't do it neither for the text nor, especially, for the buttons where wxStdDialogButtonSizer already exists to take care of their alignment.

2010-08-30 23:48 VZ, revision 65449

Allow using custom labels for wxGenericMessageDialog buttons. Custom labels set for wxGenericMessageDialog buttons were simply ignored as it used CreateSeparatedButtonSizer() to create the actual buttons which in turn always used the standard labels. Fix this by explicitly creating the buttons with custom labels if necessary. This also fixes custom label support in wxGenericRichMessageDialog deriving from this class.

2010-08-30 23:48 VZ, revision 65448

Extract CreateSeparatedSizer() from wxDialog::CreateSeparatedButtonSizer(). Extract the code adding a separating wxStaticLine to the sizer in its own function to be able to reuse it in upcoming commits.

2010-08-30 23:48 VZ, revision 65447

Fix button order in wxStdDialogButtonSizer in all cases under GTK. The order of Yes/No/Cancel was recently fixed by the changes in r65346 but it broke the order of the buttons in Ok/Cancel case. Ensure the correct order is used in all cases now: the one described by GNOME HIG by default but different order for the special case of Yes/No/Cancel which follows the native message box.

2010-08-30 23:48 VZ, revision 65446

Rewrite GTK section of wxStdDialogButtonSizer using wxSizerFlags. Using wxSizerFlags makes the code shorter and more understandable but otherwise there are no real changes in behaviour except for a minor fix to one of the border which was wrong before.

2010-08-30 13:30 JS, revision 65445

Documented recent wxRTC fixes.

2010-08-30 13:27 JS, revision 65444

Fixed wrong line spacing calculation

2010-08-30 13:27 JS, revision 65443

Fixed wrong line spacing calculation

2010-08-30 10:47 JS, revision 65442

Don't add space before para twice in paragraph layout Discard attributes from empty text object when merging

2010-08-30 10:47 JS, revision 65441

Don't add space before para twice in paragraph layout Discard attributes from empty text object when merging

2010-08-29 18:53 PMO, revision 65439

Replaced copy&paste code to create the underlying qt widget with a template function

2010-08-29 17:18 PMO, revision 65438

Update to trunk r65433

2010-08-29 14:24 RR, revision 65437

include wx/sizer.h as buildbot complained

2010-08-29 11:42 RR, revision 65436

Add possibility to use sizers in ribbon panel, fixes #12404: wxRibbonPanel and wxSizer

2010-08-28 19:05 VS, revision 65435

Scale sizes more accurately in generic SetWindowVariant().

2010-08-28 13:29 PMO, revision 65434

Update to trunk r65433

2010-08-26 15:51 JMS, revision 65424

Changed wxArrayStringProperty default delimiter to comma. It should allow for better looking and more easily editable property values for common cases.

2010-08-26 15:25 JMS, revision 65423

Added missing wx/defs.h includes in propgrid headers

2010-08-26 08:53 JJ, revision 65422

correcting wxX11 for wxkeysym as was done for wxMOTIF

2010-08-25 17:02 VS, revision 65406

Fix wxListBox selection handling broken by r64500. r64500 introduced tracking of previous selection in wxMSW's wxListBox so that an event isn't sent when the user clicks already selected item again. Unfortunately, it forgot to account for programatic changes of selection (e.g. when all items are removed, so is the selection) and didn't update selection book-keeping information in that case. The result was that the event wasn't sent when it should be in some cases. Fixed by using UpdateOldSelections() even in single-selection case in wxMSW.

2010-08-24 19:22 RR, revision 65400

Reenable sorting tests for GTK

2010-08-24 19:06 RR, revision 65399

Make sorting of wxListBox, wxChoice and wxComboBox identical to the MSW sorting

2010-08-24 13:36 VZ, revision 65398

Remove unused wxDisplay implementation using DirectDraw from wxMSW. Remove commented out version of DirectDraw-based wxDisplayFactory implementation. It doesn't seem to have any advantages compared to the currently used version and nobody uses it anyhow. Closes #12387.

2010-08-24 13:23 JJ, revision 65397

wxKeysym problem for wxMOTIF fixed

2010-08-24 00:04 JTN, revision 65395

Clean up bakefile: Use platform specific evtloop, timer... Also, create a QCoreApplication before a QEventLoop if the former doesn't already exists (required by Qt)

2010-08-23 20:54 VZ, revision 65393

Compilation fix: forward declare wxTextEntry in unit tests code. This should fix tests compilation on the build bot Mac OS X slaves.

2010-08-23 09:50 JJ, revision 65392

Update openVMS compile support

2010-08-23 01:46 VZ, revision 65390

Use "C" locale for locale-dependent part of TextCtrlTestCase. As we expect to get decimal points in the text control when we stream floating point numbers into it, we must do it in a locale which uses decimal point, e.g. "C" one. Otherwise the test failed when ran in e.g. French locale.

2010-08-23 01:45 VZ, revision 65389

Document that wxFD_FILE_MUST_EXIST is implied under OS X. Mention in the documentation that the standard file open dialog under OS X can't be used to select a non-existing file.

2010-08-23 01:45 VZ, revision 65388

Remove unused src/osx/cocoa/bmpbuttn.mm file. This file was empty and unused any more so simply remove it and all references to it in the makefiles. This avoids warnings about empty object files in static builds of the library.

2010-08-23 00:58 VZ, revision 65387

Don't use uninitialized variable in wxCharCodeWXToOSX(). If an unsupported wxKeyCode was passed to this function, an undefined value was returned. Return -1 instead to indicate failure.

2010-08-23 00:16 VZ, revision 65386

Merge the new GUI tests from SOC2010_GUI_TEST branch. Add a lot of tests for many wx GUI classes. Add tests using the new wxUIActionSimulator class but disable them under OS X as too many of them currently fail there. Refactor the test suite to make organizing the existing tests and adding the new ones easier. Improve documentation using the information gathered while testing the classes. Also update the documentation of the testing system itself.

2010-08-23 00:15 VZ, revision 65385

Merge wxUIActionSimulator fixes from SOC2010_GUI_TEST branch. Correct a lot of problems with the initial implementation, notably make the API consistent across all platforms, e.g. all keyboard-related methods now take just a wxKeyCode. Add some useful higher-level helpers such as Text() and MouseDragDrop(). Improve documentation. wxUIActionSimulator now works under MSW, GTK and OS X and is enabled by default.

2010-08-23 00:15 VZ, revision 65384

Fix selection corner cases in wxOSX wxComboBox. Don't crash in wxComboBox::GetString() if it's passed an invalid index. Don't call GetString() with invalid index from GetStringSelection() if there is no selection. Do accept wxNOT_FOUND in SetSelectedItem() as it means, according to the docs, that the existing selection should be reset.

2010-08-23 00:15 VZ, revision 65383

Don't crash in wxOSX::wxClipboard::Clear() if initialization failed. Creating the clipboard may fail (e.g. when running from a ssh session to an OS X machine), don't crash by passing NULL pointer to PasteboardClear() if this happens but assert and return instead.

2010-08-23 00:15 VZ, revision 65382

Work around a crash on starting editing in wxGrid under wxOSX/Cocoa. wxOSX/Cocoa currently generates unexpected focus loss events with the window gaining focus being the same one as losing it. This is wrong and shouldn't happen but as long as it does, filter these events out to at least allow editing the grid to work. See #12267.

2010-08-23 00:15 VZ, revision 65381

Don't send event from wxMSW::wxListCtrl::DeleteAllItems() if it did nothing. wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS should only be sent if the control hadn't been empty before. Document this behaviour and adjust wxMSW to match the other platforms. Also document the return value better. Closes #12336.

2010-08-23 00:15 VZ, revision 65380

Extract X11 Display wrapper class in a private header. No real changes, just extract a private Dpy class used by wxGTK to a header and rename it to wxX11Display. This will allow reusing it from X11 wxUIActionSimulator implementation in the upcoming commits.

2010-08-23 00:15 VZ, revision 65379

Add missing header required if wx/mousestate.h is included first. This header uses wxPoint so it must include wx/gdicmn.h (instead of relying on it having been already included).

2010-08-22 01:33 VZ, revision 65378

Don't report spurious errors from wxSocket in "no wait" mode. In wxSOCKET_NOWAIT mode wxSOCKET_WOULDBLOCK is not a real error as it's expected and should be just discarded. Failing to do this could result in the following scenario: 1. Try to read a big buffer with wxSOCKET_NOWAIT (setting wxSocket error to wxSOCKET_WOULDBLOCK). 2. Process small part of it. 3. Read more data from wxSocket -- which now goes to the data containing already cached data without going to the socket itself and this without resetting the error. 4. Check wxSocket::Error() which turns out to be (still) true. And this was exactly what happened in mysteriously failing unit test case reading wxImage contents from a socket: the failure was difficult to reproduce because it depended on how much data exactly did we read from the socket in one go. Fix this by resetting the error properly and reenable the unit test which was previously disabled for the build bot, it should pass now.

2010-08-21 19:06 VZ, revision 65376

Merge with the trunk and some minor fixes. This is the version of this branch which should be easier to merge into the trunk in the future as it's based on a more recent r65375. It also contains some minor changes by me to Julien's work and style fixes.

2010-08-21 12:17 RR, revision 65375

Allow calling wxGenericDirCtrl::GetPath() in multiple selection mode, fixes #12340 ([wxGenericDirCtrl] conflicts wxDirFilterListCtrl::OnSelFilter())

2010-08-21 11:54 RR, revision 65374

make Set/GetLabel() set and return something (albeit unused) as per the docs, fixes #12350: wxWindow Get/SetLabel non-functional in GTK

2010-08-21 11:53 RR, revision 65373

make Set/GetLabel() set and return title in wxTLW, fixes #12371: Dialog::GetLabel() Inconsistent behaviour across operating systems

2010-08-21 11:39 RR, revision 65372

Fix crash by checking if icon is valid before drawing it, fixes #12376: PATCH for Ribbon crash

2010-08-21 11:36 RR, revision 65371

Fix potential crash, fixes #12375: PATCH to fix help controller crash

2010-08-20 22:51 RR, revision 65370

Properly implement Cleared() by calling row_deleted on every child of root, fixes #12327: wxDataViewListCtrl Crash

2010-08-20 20:13 VZ, revision 65369

Mention that not all standard IDs are stock IDs. Also add a link to the list of stock IDs from the standard IDs documentation.

2010-08-20 17:38 JJ, revision 65368

include correct private.h for wxgtk1

2010-08-20 17:22 RR, revision 65367

Make it compile

2010-08-19 20:29 RR, revision 65366

Link to wxRichMessageDialog in some places

2010-08-19 20:17 RR, revision 65365

Make it compile a bit more

2010-08-19 17:41 VZ, revision 65364

Slightly improve wx[Generic]RichMessageDialog layout. Keep the icon at the top instead of centering it, this is more consistent with the native behaviour under both MSW and GTK. Get rid of an unnecessary sizer in wxGenericRichMessageDialog and give the checkbox the right border to align with the rest of the dialog contents.

2010-08-19 17:41 VZ, revision 65363

Make the main message of wxGenericMessageDialog stand out. Use larger bold font for the main message in wxGenericMessageDialog if the extended message is also given to make it stand out similarly to how it happens in the native GTK and MSW dialogs.

2010-08-19 14:12 JS, revision 65362

Better close button placement on tabs, especially for bottom tab alignment

2010-08-19 14:12 JS, revision 65361

Better close button placement on tabs, especially for bottom tab alignment

2010-08-19 11:53 SJL, revision 65360

Disable some more failing tests under wxGTK

2010-08-19 09:14 SC, revision 65359

fixing compilos

2010-08-19 09:13 JJ, revision 65358

update compile configuration for OpenVMS

2010-08-19 02:06 VZ, revision 65357

Compilation fix for STL build in wxGtkCollatableString code. Include wx/string.h to define wxString used by this class.

2010-08-19 02:06 VZ, revision 65356

Compilation fix for non-PCH build in wxGenericRichMessageDialog code. Move IsCheckBoxChecked() to the .cpp file where wxCheckBox is fully defined and not just forward declared (at least when not using PCH).

2010-08-19 01:57 VZ, revision 65355

Compilation fix for old SDKs in new native MSW wxHyperLinkCtrl code. Define WC_LINK ourselves if it's not defined in the headers.

2010-08-19 01:55 VZ, revision 65354

VC6 compilation fix for native wxProgressDialog implementation. Don't use return with a void value, VC6 doesn't support this and it's unnecessary here anyhow.

2010-08-19 00:49 VZ, revision 65352

Use task dialog for wxProgressDialog implementation in wxMSW. If available, the task dialog is now used for the wxProgressDialog under Windows. This provides a much more native looking dialog which doesn't look out of place under modern Windows versions, unlike the generic implementation. The internals of the code had to be significantly changed as the task dialog can only be shown modally so, to emulate wxProgressDialog modeless nature, a separate thread is used for the progress dialog management.

2010-08-19 00:48 VZ, revision 65351

Only use native wxHyperlinkCtrl in Unicode build under MSW. The native control is available to Unicode applications only so disable its use in non-Unicode build.

2010-08-19 00:48 VZ, revision 65350

Don't use native MSW wxCommandLinkButton in wxUniversal. Test for __WXUNIVERSAL__ when selecting the version of this class to use.

2010-08-19 00:48 VZ, revision 65349

Add wxRichMessageDialog class. This is a generalization of wxMessageDialog based on the native task dialog under recent (Vista and later) Windows versions and implemented generically for the other ports for now. It provides the possibility to use additional controls in the message boxes (checkbox useful for the "Don't ask me again" kind of dialogs and collapsible detailed explanations field) and better look and feel under Windows.

2010-08-19 00:48 VZ, revision 65348

Provide a task-dialog based wxMSW wxMessageDialog implementation. Use the task dialog instead of the legacy message box for wxMessageDialog implementation under wxMSW on recent (Vista and later) Windows versions. As part of this change, remove wxMessageDialogWithCustomLabels and integrate its functionality in wxMessageDialogBase itself as it's now used by all platforms.

2010-08-19 00:48 VZ, revision 65347

Handle mnemonics correctly in wxGTK::wxCollapsiblePaneSetLabel(). Convert mnemonics in wx format to the one used by GTK+, just as we already do in the ctor.

2010-08-19 00:48 VZ, revision 65346

Fix Yes/No/Cancel buttons order in wxGTK wxStdDialogButtonSizer. "Yes" and "No" buttons should be positioned next to each other for consistency with the native message box instead of separating them with the "Cancel" button.

2010-08-18 23:40 RR, revision 65345

Document recetnyl added name parameter in wxDataViewCtrl

2010-08-18 23:36 RR, revision 65344

Mention that you cannot call wxRadioButton::SetValue(false) if that radiobutton belongs to a group

2010-08-18 23:32 RR, revision 65343

GTK+ just won't let you uncheck any radiobutton that belongs to a group.

2010-08-18 23:29 RR, revision 65342

make wxChoice and wxComboBox sort in a case insensitive and locale adapted way, fixes #12351: Incorrect sort order in wxChoice / wxComboBox

2010-08-18 23:28 RR, revision 65341

Make wxListBox sort in a case insensitive way, fixes #12352: Incorrect sort order in wxListBox

2010-08-18 21:44 SJL, revision 65340

Enable wxUIActionSimulator by default

2010-08-18 20:34 SJL, revision 65339

Disable tests that fail under wxOSX so that they play nicely with the buildbot.

2010-08-18 18:46 SJL, revision 65338

Disable tests that fail under wxGTK so that they play nicely with the buildbot.

2010-08-18 15:57 MYA, revision 65337

Add a readme file of the implmentation detail

2010-08-18 14:59 JS, revision 65336

Use common inline version of wxHexToDec

2010-08-18 14:50 MYA, revision 65335

'Image para moving' feature works well now

2010-08-17 18:55 VZ, revision 65334

Provide native wxHyperlinkCtrl implementation for wxMSW. Use the "syslink" native control to implement wxHyperlinkCtrl under (recent enough, i.e. XP or later) versions of Windows.

2010-08-17 18:12 VZ, revision 65333

Compilation fix: include wx/button.h from wx/commandlinkbutton.h. Include the base class declaration to fix compilation under non-MSW.

2010-08-17 17:24 RAW, revision 65332

Parent window of MSW wxProgressDialog gains focus when the dialog ends.

2010-08-17 17:22 RAW, revision 65331

Updated documentation for wxMessageDialog.

2010-08-17 17:21 RAW, revision 65330

Finalized handling of right-alignment for MSW wxHyperlinkCtrl and updated the documentation.

2010-08-17 17:13 MYA, revision 65329

Move feature works mostly

2010-08-17 17:13 VZ, revision 65328

Export wxMSWButton::GetFittingSize() private function. It is now used by wxCommandLinkButton from adv library and so needs to be exported from core.

2010-08-17 16:48 VZ, revision 65327

Add new wxCommandLinkButton class. A command link button wraps a native MSW control under recent Windows versions and is implemented generically as a simple bitmap button elsewhere. In the future, GTK implementation should allow using a different font for the button label and its note.

2010-08-17 12:10 JS, revision 65326

Large image-loading speedup and small attribute-loading speedup

2010-08-17 08:21 SC, revision 65325

fixes horizontal scrolling in textfields, fixes #12322

2010-08-16 19:48 RR, revision 65324

Ignore non-existant string selection in wxComboBox::SetValue() in read-only mode, as per the very exact docs, fixes #12329: wxComboBox can set non-existing string in read only mode

2010-08-16 17:33 RR, revision 65323

Uncheck radiobutton when calling ::SetValue(false) as per wxMSW, fixes #12344: Cannot set GTK wxRadioButton to fasle

2010-08-16 17:01 MYA, revision 65321

Some fast fixup

2010-08-16 16:50 SJL, revision 65320

Add an extra paragraph to the unit testing tech-note about the classes that are available to help with GUI testing.

2010-08-16 16:28 MYA, revision 65319

Paragraph move feature

2010-08-16 12:45 RAW, revision 65318

Fixed crash when invoking a dynamically loaded TaskDialogIndirect().

2010-08-15 23:49 JWE, revision 65317

add svn:eol

2010-08-15 23:14 VZ, revision 65316

Improve EVT_SHOW documentation. Mention that it applies to the TLWs only and explain when it is generated (and not generated). Closes #12353.

2010-08-15 23:14 VZ, revision 65315

Fix wxMSW compilation in wxUSE_STL==1 case. A wxDECLARE_NO_ASSIGN_CLASS() was recently added to ClassRegInfo but storing it in a vector requires it to be "Assignable" so this broke compilation in STL case (wxVector<> doesn't enforce this requirement currently). Make ClassRegInfo assignable again to fix this. Closes #12355.

2010-08-15 23:14 VZ, revision 65314

Revert "Make wxComboBox::Popup() and ::Dismiss() emit events" This reverts commit r65310 which was not, in fact, necessary as the events were already sent. See #12335.

2010-08-15 21:31 JWE, revision 65313

correct WXK_BACK error

2010-08-15 20:32 JWE, revision 65312

resolved Visual c++ assert.

2010-08-15 19:53 JWE, revision 65311

correct focus feature under windows

2010-08-15 18:16 RR, revision 65310

Make wxComboBox::Popup() and ::Dismiss() emit events as per the docs, fixes (wxComboBox not sending popup and dismiss events)

2010-08-15 18:02 JWE, revision 65309

correct a error in default constructor

2010-08-15 17:45 JWE, revision 65308

add doc for change key features

2010-08-15 15:23 SJL, revision 65306

Set right button click value to 2. This fixes the tests that simulate right click events in wxGTK.

2010-08-15 15:11 SJL, revision 65305

Add extra wxYield calls to allow many more tests to run correctly in wxGTK. This needs to be done after every action rather than after batches of operations.

2010-08-15 14:29 RAW, revision 65304

GTK wxCollapsiblePane correctly handles mnemonics in SetLabel().

2010-08-15 12:59 RAW, revision 65303

Fixed bug with setting message dialog button labels for the dialog sample.

2010-08-15 10:34 RAW, revision 65302

Removed a black border from the MSW commandlink button image.

2010-08-15 06:38 RAW, revision 65301

Set eol-style property on new files.

2010-08-14 17:11 RAW, revision 65300

wxHyperlinkCtrl calculates size correctly under Win XP and can be right-aligned under Vista and greater.

2010-08-14 12:24 RAW, revision 65299

Calls to TaskDialogIndirect() are now done dynamically by retrieving the symbol from relevant DLL.

2010-08-13 22:12 JMS, revision 65297

Allow wxVariant::Convert(wxUniChar* value) to convert single-character string into a character.

2010-08-13 17:17 SJL, revision 65295

Only run BitmapComboBoxTestCase when it is natively supported.

2010-08-13 13:57 VZ, revision 65292

Fix harmless MSVC warning about double to float conversion. Make the constant double as well as it's compared with other doubles in the code below.

2010-08-13 13:04 SJL, revision 65291

Remove some assumptions in WindowTestCase that are not necessarily true.

2010-08-13 13:02 SJL, revision 65290

Remove assumption that no item is focussed by default in wxTreeCtrl.

2010-08-13 13:00 SJL, revision 65289

Stop wxRadioButton::SetValue(false) test under GTK as this is not supported.

2010-08-13 12:57 SJL, revision 65288

Set a sensible initial size for the wxListBook.

2010-08-13 12:55 SJL, revision 65287

Do not test values outside the range as the behaviour is unspecified. Also make sure a small enough indent is set.

2010-08-13 12:51 SJL, revision 65286

Test that no events are sent when an empty wxListControl is cleared.

2010-08-13 11:55 VZ, revision 65285

Update wxWinCE compilation instructions. Remove obsolete information about eVC. Give the example of using bakefile to generate VC[89] CE projects directly.

2010-08-13 11:36 JWE, revision 65284

add change choice key feature

2010-08-13 06:23 SC, revision 65283

no-op change to get build bot running

2010-08-12 15:30 SJL, revision 65282

Only include testableframe.h if we are compiling with wxUSE_GUI otherwise many compiler errors occur when compiling the non-gui tests.

2010-08-12 15:21 SJL, revision 65281

Wrap all individual tests in #if wxUSE_UIACTIONSIMULATOR blocks so they compile correctly when wxUIActionSimulator isn't available. The technote has also been updated to specify that this must be done.

2010-08-12 14:36 JTN, revision 65278

Move timer.cpp from core to base library

2010-08-12 10:52 SJL, revision 65277

Define a new macro WXUISIM_TEST that is only defined if wxUSE_UIACTIONSIMULATOR is defined. Wrap all existing tests that use wxUIActionSimulator in it and document that it should always be used for this reason. This will allow the tests to run on platforms that don't support wxUIActionSimulator and is especially important as it is not enabled be default.

2010-08-12 10:25 SC, revision 65276

no-op change to get build bot running

2010-08-12 01:11 JTN, revision 65273

New build slave for wxQt

2010-08-11 18:51 PJC, revision 65265

Improve wxRibbonMSWArtProvider's colour scheme generation when the primary and/or secondary colours are grey (see ticket #12331).

2010-08-11 18:46 SJL, revision 65264

Don't test a backwards range as this is properly handled by wxSL_INVERSE in wxSlider.