Changelogs

Overview

These changelogs reflect the history of all files in the Subversion repository. The changelog has been generated at 2014-04-23 22:45:03

Select Changelog:

FileZilla 3, FileZilla,
FileZilla Server, wxWidgets

Changes per page:

25 50 100 250 500 1000 2000

Changelog for wxWidgets (68422 changes):

2011-01-07 18:49 SC, revision 66630

xti changes

2011-01-07 18:46 SC, revision 66629

removing xti info from msw specific files

2011-01-07 18:45 SC, revision 66628

removing xti info from msw specific files

2011-01-07 18:44 SC, revision 66627

aligning definition of rtti

2011-01-07 18:43 SC, revision 66626

xti changes

2011-01-07 18:42 SC, revision 66625

adding range type

2011-01-07 18:41 SC, revision 66624

moved xti info to common file

2011-01-07 18:29 SC, revision 66623

props

2011-01-07 18:28 SC, revision 66622

additional file, test auto-props

2011-01-07 18:22 SC, revision 66621

XTI updates

2011-01-07 18:20 PC, revision 66620

remove some extraneous semicolons

2011-01-07 18:18 PC, revision 66619

build fix, should have been part of r66615

2011-01-07 15:03 JJ, revision 66618

Update OpenVMS compile support

2011-01-07 09:48 DS, revision 66617

Fixed saving PNG in wrong format sometimes. When explicitly requesting saving as a palettised image but then later on that turns out to not be possible (or desired) the image would be marked as PNG_COLOR_TYPE_GRAY or PNG_COLOR_TYPE_GRAY_ALPHA. Simply set the colour type to RGB if this occurs also updated the unit test to catch this case. This is similar to the fix in r66590 but that one was related to wxUSE_PALETTE == 0 cases.

2011-01-07 07:45 PC, revision 66616

build fix, should have been part of r66615

2011-01-07 06:26 PC, revision 66615

Move wxColourData and wxFontData into separate files. This eliminates a linking dependency that would drag in the printing code for any program that used wxColourDialog or wxFontDialog (which is currently all of them, due to more link dependencies...)

2011-01-07 05:51 PC, revision 66614

build fix

2011-01-07 05:50 PC, revision 66613

non-pch build fixes

2011-01-06 23:02 VZ, revision 66612

Add possibility to hide panels in wxRibbon. Add wxRibbonBar::{Show,Hide}Panels() and ArePanelsShown() accessor. Also add a toggle button to the sample to test the new functionality (unfortunately it couldn't be done by a control in the ribbon itself as there would be no way to show the panels back then). Closes #12707.

2011-01-06 20:52 SJL, revision 66611

Add missing code tag before lots of wxEventTypes in the documentation. Although most of the documentation did this quite a few were missing.

2011-01-06 15:33 VS, revision 66610

Fix typo and a leftover.

2011-01-06 13:05 SC, revision 66609

reverting AssignAny fix, not needed if wxAny is not instantiated during static globals init

2011-01-06 12:06 SC, revision 66608

fixing a few typos, wxAny copy constructor implementation, making wxAnyList available everywhere

2011-01-06 10:30 JJ, revision 66607

Update compile support for OpenVMS

2011-01-06 00:54 VZ, revision 66604

Remove wxFileSystemWatcher::OnXXX() virtual methods documentation. These functions don't exist any more (they had been present initially but were removed in r61484 and r61476 for Unix and MSW respectively) so don't document them. See #12847.

2011-01-06 00:54 VZ, revision 66603

Correct wxFileSystemWatcher::GetWatchedPathsCount() documentation. The method name was misspelt. Also improve the description slightly. See #12847.

2011-01-06 00:52 VZ, revision 66602

Correct measurement for owner drawn menu items with only unchecked bitmap. Check for either checked or unchecked bitmap being specified for the item instead of checking the checked/normal bitmap twice which was an obvious typo and also resulted in items with unchecked bitmap only not being measured correctly (although I'm not sure if this is actually a supported use case). Closes #12846.

2011-01-06 00:49 VZ, revision 66601

No changes, just fix a typo in a variable name. s/widtht/width/ See #12846.

2011-01-05 19:38 PC, revision 66593

make wxMarkupEntities fully const

2011-01-05 19:27 PC, revision 66592

move variable definitions to more appropriate places, remove now-empty src/common/datacmn.cpp

2011-01-05 12:41 DS, revision 66591

Allow loading 8-bit TGA images when wxUSE_PALETTE is set to 0. Previously the image would only be loaded when wxPalette is available. This is unneccessary and probably not wanted. Instead decode as usual but use a plain memory buffer for the palette instead of wxPalette functions and don't set the image's palette.

2011-01-05 12:39 DS, revision 66590

Always save PNG as a true colour image instead of possibly a palettised image when wxUSE_PALETTE is set to 0. With wxUSE_PALETTE set to 0 and the user forcing to want a wxPNG_TYPE_PALETTE format the image would (partially) be marked as PNG_COLOR_TYPE_GRAY or PNG_COLOR_TYPE_GRAY_ALPHA instead and also saving would fail later on. Instead detect this specific case and save in the wxPNG_TYPE_COLOUR format.

2011-01-05 12:37 DS, revision 66589

fixed compilation of image test units when wxUSE_PALETTE is set to 0

2011-01-05 11:44 SC, revision 66588

was missing in xti merge

2011-01-05 11:29 SC, revision 66587

was missing in xti merge

2011-01-05 10:56 SC, revision 66586

was missing in xti merge

2011-01-05 08:30 JJ, revision 66585

Update compile support for OpenVMS

2011-01-05 07:56 PC, revision 66584

set eol-style and keywords properties on new files

2011-01-05 00:48 VZ, revision 66583

Fix wxImage test compilation for MSVC6. Don't reuse variables declared inside for loops as VC6 doesn't implement proper scoping for them.

2011-01-04 22:33 VZ, revision 66582

Disable wxCompositeWindow<> code for VC6. Revert the attempt to work around VC6 bug from the last commit and simply disable this code completely for VC6, it's not worth the trouble to try to fix it for this compiler.

2011-01-04 20:00 DS, revision 66581

compilation fixes for wxMSW compilation with wxUSE_PALETTE set to 0

2011-01-04 18:08 VZ, revision 66580

Attempt to make wxCompositeWindow<> compile with MSVC6. Blind attempt to work around VC6 error about ambiguity between "const T&" and "T" in DoSetForAllParts() template function.

2011-01-04 17:21 VZ, revision 66579

Remove duplicate IMPLEMENT_XXX_CLASS macros from wxUniv code. The RTTI macros are now used in common code only and having them in wxUniv too results in linker errors because of duplicate symbols. Just remove them to fix this.

2011-01-04 17:21 VZ, revision 66578

Declare wxStaticText in wxUniv as being dynamic, not abstract, class. This fixes a wxUniv build error due to the use of IMPLEMENT_DYNAMIC_CLASS() for wxStaticText in common code now. Closes #12842.

2011-01-04 16:10 VZ, revision 66577

Compilation fix for PNG saving code when wxUSE_PALETTE==0. Don't handle wxPNG_TYPE_PALETTE and don't compile PaletteFind() in at all when wxUSE_PALETTE is off. Closes #12505.

2011-01-04 16:08 SC, revision 66576

correct macro name

2011-01-04 15:37 SC, revision 66575

is a #deffed var

2011-01-04 15:13 VZ, revision 66574

Use wxControl instead of wxControlWithItems with wxRTTI macros. wxControlWithItems is just a convenient combination of wxControl and wxItemContainer mix-in and it is not useful to include it in wxRTTI classes hierarchy. Also, using wxControlWithItems as the base class for wxChoice and wxListBox but not for wxComboBox is inconsistent but wxControlWithItems can't be used for the latter so resolve this by not using it at all. Ideally we'd have a way of retrieving the list of supported interfaces (such as wxItemContainer or wxTextEntry) via wxRTTI too.

2011-01-04 15:13 VZ, revision 66573

Use wxControl as wxComboBox base class for wxRTTI in all ports. wxComboBox only derives from wxChoice in wxMSW but not in the other ports so use wxControl as its base class in wxIMPLEMENT_DYNAMIC_CLASS_XTI() macro in all ports. See #12841.

2011-01-04 15:09 SC, revision 66572

fixing rti

2011-01-04 14:33 DS, revision 66571

Minor wxPNGHandler cleanup. Use int instead of png_uint_16 everywhere regarding number of palette entries, similar to how libpng exposes it (internally it uses png_uint_16).

2011-01-04 14:06 DS, revision 66570

Fixed deprecated usage warnings in wxPNGHandler. Since upgrading to a newer libpng its structure members are marked as deprecated (probably as a way to discourage their direct usage). Replaced accessing them by using function calls instead.

2011-01-04 13:52 SC, revision 66569

add rtti for generic class

2011-01-04 12:48 VZ, revision 66568

Remove duplicate IMPLEMENT_DYNAMIC_CLASS() for wxGtkCalendarCtrl. wxIMPLEMENT_DYNAMIC_CLASS_XTI(wxCalendarCtrl) in the common code makes the use of IMPLEMENT_DYNAMIC_CLASS() in wxGTK implementation unnecessary. This fixes wxGTK linking.

2011-01-04 12:48 VZ, revision 66567

Don't use "/*" inside a C comment. gcc warns about it so replace the outer comment with "#if 0" to avoid it.

2011-01-04 12:47 DS, revision 66566

Cleaned up wxGIFDecoder. Applied patch by troelsk which mostly makes the GIF decoder more readable by using named constants instead of magic numbers. Left out the edits that changed unsigned char to wxUint8. In addition removed unnecessary casts around wxInputStream.GetC() calls. Closes #12506.

2011-01-04 12:41 SC, revision 66565

removing msw dependency in non-precomp build

2011-01-04 12:33 VZ, revision 66564

wxMSW compilation fix for wxCompositeWindow. Not all ports override SetXXX() methods in their wxWindow class so use the versions from wxWindowBase which are definitely known to exist. Notice that the call itself is still virtual so it doesn't matter which base class do we use. Closes #12840.

2011-01-04 12:30 VZ, revision 66563

Mention that wxDV_ROW_LINES is not implemented in the generic version. wxDV_ROW_LINES is currently only supported by the native implementations of wxDataViewCtrl. See #12834.

2011-01-04 12:17 SC, revision 66562

removing msw dependency in non-precomp build

2011-01-04 11:47 SC, revision 66561

porting back exact semicolon version

2011-01-04 11:46 SC, revision 66560

fixing placing of common files for grid and calctrl

2011-01-04 10:20 SC, revision 66559

fixing duplicate rti info for gtk

2011-01-04 10:14 SC, revision 66558

fixing duplicate rti info

2011-01-04 10:13 SC, revision 66557

fixing duplicate rti info

2011-01-04 09:34 SC, revision 66556

updating xti makefile

2011-01-04 09:31 SC, revision 66555

merging back XTI branch part 2

2011-01-04 09:28 SC, revision 66554

fixing selectors

2011-01-04 09:25 SC, revision 66553

add methods needed for XTI

2011-01-03 23:22 DS, revision 66552

Added support for saving PNG files with palette. Based on (heavily modified) patch by troelsk. Closes #12505.

2011-01-03 19:44 VZ, revision 66549

Set up pages range in the wxMSW print dialog correctly. Propagate the information about the number of pages from the printout to the print dialog in wxWindowsPrinter::Print(). Closes #12819.

2011-01-03 19:44 VZ, revision 66548

Add "virtual" keywords to the overridden functions in the printing sample. There are no real changes, just make it easier to understand that the sample code overrides the base class virtual methods by reusing the virtual keyword in the derived class. See #12819.

2011-01-03 19:43 VZ, revision 66547

Don't create slider with invalid range in mediaplayer sample. Use dummy but valid [0, 1] range instead of invalid [0, 0] one. Closes #12828.

2011-01-03 19:43 VZ, revision 66546

Don't name variables "id" in public headers. This name clashes with Objective-C reserved keyword and so prevents the headers using it from being included from Objective-C++ code. Closes #12832.

2011-01-03 19:08 SC, revision 66545

fixing warning and compile error against 10.4

2011-01-03 18:43 SC, revision 66544

adding new files for xti merge

2011-01-03 18:15 PC, revision 66543

build fix for wxUSE_CONSOLE_EVENTLOOP==0

2011-01-03 18:06 PC, revision 66542

non-pch build fix

2011-01-03 16:57 VZ, revision 66541

Decrease the margins around the page in the print preview. Don't hard code 40 pixel margins, this may be too big on small screens. Use twice the default border size between the dialog elements instead, this is still pretty arbitrary but at least smaller.

2011-01-03 16:57 VZ, revision 66540

Don't hardcode wxPreviewControlBar size in print preview code. For some reason the control bar height was hard coded to 40 pixels which could be not enough to use the buttons of the appropriate size. Don't hardcode its size any more and let the sizer determine it instead.

2011-01-03 16:57 VZ, revision 66539

Improve print preview appearance and functionality. Allow to directly enter the page number in the print preview itself instead of opening a separate dialog in order to do it. Rearrange the buttons in more visually appealing groups and replace the text arrows in them with the images.

2011-01-03 16:34 VS, revision 66538

Debug messages aren't meant to be translated. Fixed several incorrect uses of _() in dataview_osx.cpp.

2011-01-03 15:58 VZ, revision 66537

Don't use deprecated NSTableView selectRow:byExtendingSelection: method. Use selectRowIndexes:byExtendingSelection: instead even if this means that we need to create a trivial NSIndexSet containing a single index only.

2011-01-03 15:58 VZ, revision 66536

Allow selecting any kind of file in the sound sample. This is especially useful under Mac where wxSound can play files other than .wav too (e.g. .aiff files which can be found under /System/Library/Sounds).

2011-01-03 14:46 JJ, revision 66535

update configuration for OpenVMS

2011-01-03 12:24 VZ, revision 66534

Add wxCompositeWindow<> and use it in wxDatePickerCtrlGeneric. wxCompositeWindow<> is a convenient base class for composite windows, i.e. windows consisting of several other wxWindows. Currently it just automatically forwards various attributes setters calls to all of the composite window parts but it could become more useful in the future. Similarly, for now it is only used in wxDatePickerCtrlGeneric but it could (and should) be used for other composite controls later and we probably should even make this class public to allow its use in the client code.

2011-01-03 12:23 VZ, revision 66533

No real changes, just remove an unneeded header dependency. There was some commented out code in (core) valgen.cpp file using wxDatePickerCtrl (from adv library). Also comment out the inclusion of wx/datectrl.h header as it's not needed as long as this code remains commented out and creates an unexpected dependency of a core library file on an adv library header.

2011-01-03 12:01 DS, revision 66532

Fixed compilation of datectlg.cpp. Only including wx/datectrl.h does not always include wx/generic/datectrl.h, for example it does not for MSW non-Universal. As a result when compiling datectlg.cpp wxDatePickerCtrlGeneric is unknown and compilation fails. Fixed by including wx/generic/datectrl.h again (regression since r66524).

2011-01-02 23:05 VZ, revision 66528

Remove calls to wxApp::SetTopWindow() from the samples and documentation. It is definitely not necessary to call SetTopWindow() when there is only a single top level window and it is arguable whether it's useful to do it even when there are many of them so don't encourage its use in the documentation and also remove all its occurrences from the samples. Closes #12816.

2011-01-02 23:04 VZ, revision 66527

Simplify wxFileNameFromPath() implementation to avoid redundancy. No real changes, just use wxFileName::GetFullName() in wxFileNameFromPath() instead of reimplementing it there. Closes #12818.

2011-01-02 23:04 VZ, revision 66526

Fix memory leak if wxDC::DrawBitmap() fails in wxOS2. Don't forget to free the buffer if we return abnormally. Closes #12825.

2011-01-02 23:04 VZ, revision 66525

Use correct delete[] for a buffer allocated with new[]. Fix mismatch between scalar new and array delete in GetPathForIconFile() in wxOSX wxMimeTypeManager code. Closes #12826.

2011-01-02 23:03 VZ, revision 66524

Forward declare classes instead of including their declarations. No real changes, just reduce the compilation dependencies a bit by only forward declaring wxComboCtrl and wxCalendarCtrl in wx/generic/datectrl.h instead of including the headers with their full declarations.

2011-01-02 17:59 PC, revision 66523

fix preprocessor expression, closes #12822

2011-01-02 17:49 JMS, revision 66522

Allow any.cpp to compile without wxDateTime support (see #12821)

2011-01-02 13:08 JS, revision 66521

Added circle-outline standard bullet style

2011-01-02 11:14 JMS, revision 66520

Added 'HasAlpha' attribute for wxColourProperty. Setting it to true allows user to edit the alpha component.

2011-01-01 17:25 SC, revision 66515

pusing a dummy event, to make sure the stop: succeeds in immediate runloop termination, instead of waiting for the next user event

2011-01-01 12:10 SC, revision 66514

bracketing msw enhanced metafile usage

2011-01-01 12:06 SC, revision 66513

fixing iterator comparison

2010-12-31 20:38 VZ, revision 66510

PCH-less compilation fix in recently added wxTangoArtProvider. The use of wxLogDebug() requires inclusion of wx/log.h.

2010-12-31 18:39 VZ, revision 66506

Add wxUSE_ARTPROVIDER_STD build option. Make it possible to exclude wxDefaultArtProvider from build. Now that a Tango-based provider exists, it may make sense to disable the standard bitmaps if the program doesn't need the few of them not provided by Tango anyhow.

2010-12-31 18:39 VZ, revision 66505

Add wxArtProvider using Tango icons. The icons are embedded as PNG images directly in the source code to avoid the need for installing them. This does make the library larger though so provide a wxUSE_ARTPROVIDER_TANGO option to turn the new code and associated bloat off. Also turn it off by default under wxGTK as the native art provider is used there anyhow.

2010-12-31 18:39 VZ, revision 66504

Add go to first/last and plus/minus art provider icons. These icons will be used in the upcoming new implementation of the print preview frame and as they are also natively supported by GTK+ it makes sense to have support for them in wx itself. Notice that the existing bookmark add/remove icons are already mapped to the icons which look like plus and minus signs respectively in wxGTK but we need plus/minus in print preview in the other ports too so add these icons under explicit names.

2010-12-31 18:38 VZ, revision 66503

Make art provider id of type "char *" instead of "wxChar *". These strings don't need to be wide and, as elsewhere, prefer the compatibility with 2.8 ANSI build to compatibility with Unicode build.

2010-12-31 18:38 VZ, revision 66502

Add an option to embed image size in its name to PNG-to-C script. When a PNG image exists in several sizes it makes sense to use its size as a suffix to distinguish the different versions, so update the png2c script to optionally allow to do this. Current implementation simply checks the PNG header directly to avoid any extra dependencies.

2010-12-31 18:38 VZ, revision 66501

Show wxART_BUTTON icons in art provider sample resource browser. The button icons have a different size from all the other clients in wxGTK so it may be interesting to see them in the sample, add wxART_BUTTON to the list of art clients that can be chosen in it.

2010-12-31 18:38 VZ, revision 66500

Accept file names with dashes in PNG-to-C converter. Tango icon files often have dashes in their names so accept them in png2c conversion script and simply replace them with underscores to form a C identifier for the array containing the image data.

2010-12-31 18:29 VZ, revision 66499

Use open command to run the GUI unit test on Mac build slave. Running the application binary directly still doesn't work quite the same as when it's opened from Finder (or executed using open) and some tests involving event loops fail because of this. Run it using open even if it means that we lose the detailed log output.

2010-12-31 16:23 JMS, revision 66498

Revert unintended commit

2010-12-31 16:20 JMS, revision 66497

Try to better revert to the original string value in wxBitmapComboBox::RecreateControl()

2010-12-31 14:12 VZ, revision 66496

Document how to get the previous selection in wxEVT_GRID_SELECT_CELL handler. Make explicit the fact that the cell coordinates in the event are the coordinates of the newly selected cell and that the previously selected one is available from wxGrid itself.

2010-12-30 23:37 VZ, revision 66495

Move wxMSW wxCommandLinkButton files to native-only part. wxMSW wxCommandLinkButton implementation shouldn't be used in wxUniv so move src/msw/commandlinkbutton.cpp and include/wx/msw/commandlinkbutton.h to ADVANCED_MSW_NATIVE_{SRC,HDR} from ADVANCED_MSW_{SRC,HDR} in files.bkl and rebake the makefiles. This fixes wxUniv/MSW compilation.

2010-12-30 23:37 VZ, revision 66494

Compilation fixes for wxUniversal/MSW. Don't use wxMSW-specific functions when building wxUniversal.

2010-12-30 23:37 VZ, revision 66493

Move wxGetLibraryVersionInfo() to core from base. This function uses the GUI toolkit information and so can't be defined in wxBase. The code only compiled before because the function was erroneously defined in wxCore even though it was declared as WXDLLIMPEXP_BASE. Fix this by declaring it with WXDLLIMPEXP_CORE too. This corrects problems in MSW DLL build. If we need to get a string containing user-readable wxBase version too, we should add another function (as it's not possible to virtualize this one) but such function doesn't seem incredibly useful to have anyhow.

2010-12-30 23:36 VZ, revision 66492

Don't crash on malformed HTML in wxHTML font tag handler. Don't try to access the first character of the size parameter value before we are sure that it is not empty. Closes #12812.

2010-12-29 13:31 DS, revision 66491

Tightened icon and cursor file detection heuristics. When loading a TGA file that has an image type of uncompressed true colour it would be falsely detected as a cursor file and as an icon file if type is of uncompressed colour mapped. Lower the chance of this happening by also checking the remaining member of an ICO and CUR header which represents the number of images in the file. This member has to be non-zero (checked against all found ICO and CUR files in an XP installation). See also #12702.

2010-12-29 01:01 VZ, revision 66486

Update the generated makefile after wxOSX OpenGL changes. Rebake the makefile after the changes in r66357.

2010-12-28 23:38 DS, revision 66485

Added saving support to TGA image handler. Supports saving 24-bit and 32-bit (RGB with alpha). Updated image unit test to verify the alpha channel of saved TGA images. Also removed a condition skipping a test which only was in place for TGA (formerly its saving handler would do nothing yet say saving was succesful). See also #7661.

2010-12-28 23:05 DS, revision 66483

Expanded existing image saving test to also verify alpha content of saved images. Compare the alpha data of saved images (where applicable, currently for PNG only) to a generated alpha channel. Refactored most of ImageTestCase.CompareSavedImage into (static) function CompareImage to easily compare with a 24-bit image and then a 32-bit one.

2010-12-28 20:50 DS, revision 66478

Added some simple unit tests for verifying pixel content of loaded and saved images. Compare the data of loaded images in different formats against a reference image (one for 8-bit images, another for 24-bit). Do the same for images saved using SaveFile. Excluded some formats because they are either lossy or don't pass the test right now.

2010-12-28 17:44 SC, revision 66477

removing obsolete NO_PRAGMA

2010-12-28 16:57 DS, revision 66476

Updated manual regarding image alpha support for BMP, PNG, and TIFF handlers. For PNG it was mentioned only loading supports alpha, but alpha saving support has been available since r32414. Similarly there was no mention of alpha loading support for TIFF (supported since r47204) as well as BMP (since r54942).

2010-12-27 21:47 RD, revision 66474

Fix various missing or broken stuff needed for Project Phoenix

2010-12-27 14:16 SC, revision 66459

adding backtab to exception list

2010-12-27 12:50 JMS, revision 66458

Removed AdvImageFileProperty from the wxPropertyGrid sample. It was somewhat impractical and bug-prone.

2010-12-27 12:25 JMS, revision 66457

Test wxPropertyGrid::DoubleToString()

2010-12-27 12:17 JMS, revision 66456

No longer use semi-static IDs for wxPropertyGrid embedded controls and tool bar tools.

2010-12-27 07:31 SC, revision 66455

adding backtab to exception list

2010-12-27 07:30 SC, revision 66454

make sure we always have a return value

2010-12-26 17:29 VZ, revision 66452

Increase wxStaticText height in wxMSW to align its text with wxTextCtrl. The base lines of the text in wxTextCtrl and wxStaticText which were themselves vertically aligned didn't align, the text in the latter was one pixel too low. This seems to be happening because we don't give enough vertical space to the native static control by default and so, while the text wasn't truncated, it was positioned differently than usual. Work around this problem by allocating two extra pixels to wxStaticText height. While the exact explanation of the problem remains mysterious, this hack does result in correct appearance which seems to be sufficiently important to apply it.

2010-12-25 15:19 VZ, revision 66447

Compilation fix for wxMSW build without PCH. We need wxApp declaration since the changes of r66425.

2010-12-25 15:18 VZ, revision 66446

Test for wcsftime() in configure as it's not available everywhere. Contrary to the comment in wx/wxcrtbase.h, wcsftime() doesn't seem to be available under quite all the systems, notably it doesn't seem to be present in OpenBSD at all, even in the very latest version. Add a configure test for this function and fall back to our own implementation if the system doesn't have it. Closes #12766.

2010-12-25 15:18 VZ, revision 66445

Give an error from configure if wchar_t is not available. wxWidgets 2.9 doesn't support building without wchar_t any more so always define wxUSE_WCHAR_T and give an error from configure if wchar_t is really not available.

2010-12-25 14:46 VZ, revision 66444

Make the margin between wxSpinCtrlGeneric sub-windows compatible with MSW. Native MSW wxSpinCtrl uses a single pixel margin between the text part and the spin button while the generic version used 2 pixels which resulted in a slightly different appearance (see #12767). Use the same margin as MSW now in the generic version too, it should be fine for the other platforms as well and if it isn't we can always tweak them later.

2010-12-25 14:46 VZ, revision 66443

Correct bug in the wxSpinCtrlGeneric sub-controls resizing. The code in DoMoveWindow() didn't account for the margin and made the text control part of the window too large resulting in the truncation of the spin button. Simply remember to take margin into account when computing the text width. See #12767.

2010-12-25 14:19 VZ, revision 66442

Document wxItemContainer::SetStringSelection() as case-insensitive. Add unit tests checking that the behaviour really corresponds to the documentation too. And also mention that it's not a good idea to have strings differing by case only in wxComboBox anyhow.

2010-12-25 14:18 VZ, revision 66441

Minor improvements to wxComboBox documentation. Mention that wxCB_DROPDOWN is MSW (and Motif...) specific and don't document the much more often used wxCB_READONLY in its terms, just describe it directly instead.

2010-12-23 13:48 VZ, revision 66440

Run tests with "-t" option on OS X too. OS X build slave used its own commands to run unit tests, add -t to them too to be (hopefully) able to see better where does the test crash exactly.

2010-12-23 13:47 VZ, revision 66439

Correct Mac OX/iPhone check in libpng. Correct the syntax of preprocessor check for wxOSX_USE_IPHONE in libpng, it got somehow broken during upgrade to 1.4.4.

2010-12-23 11:26 JMS, revision 66438

Added dummy GetTextWidget() implementation for wxMotif wxComboCtrl

2010-12-22 19:44 JMS, revision 66435

Added section 'Customizing Keyboard Handling' into wxPropertyGrid overview

2010-12-22 18:43 JMS, revision 66433

Bring AddActionTrigger() doc string up to date with the interface

2010-12-22 18:25 JMS, revision 66432

Added wxPG_ACTION_EDIT, which allows specifying custom key to move focus to the property editor. Also documented wxPG_ACTION_FOOs better.

2010-12-22 14:57 VZ, revision 66431

Switch to GtkTooltip from deprecated GtkTooltips in wxGTK wxToolTip. Don't use deprecated GtkTooltips in wxGTK code any more, use the new GtkTooltip instead. Closes #12034.

2010-12-22 14:57 VZ, revision 66430

Really fix recently broken accelerators handling in menu items. As wxAcceleratorEntry::Create() now expects the full menu item label, just pass GetItemLabel() to it in wxMenuItemBase::GetAccel() instead of half- parsing it ourselves there. Closes #12794.

2010-12-22 14:57 VZ, revision 66429

Implement proper wxCursor cloning in wxDFB. wxDFB compilation was broken by recent wxObjectRefData copy ctor-related changes. Fix it by not using wxCursorRefData copy ctor any more, call wxCursorRefData::Clone() which does the right thing explicitly instead. Closes #12791.

2010-12-22 14:57 VZ, revision 66428

Use stock ids for menu items in the config sample. This not only removes some unnecessary code from the sample but also fixes a problem due to the use of a 0 id under wxOSX (which is unsupported there). Closes #12788.

2010-12-22 14:57 VZ, revision 66427

Compute print preview scale using real DPI values in wxGTK. Replace hardcoded 72 DPI which was "compensated" for with a 0.8 fudge factor with the values using the real screen DPI in wxGTK and PostScript print preview classes. Closes #12777.

2010-12-22 14:56 VZ, revision 66426

Correct and extend wxConfig::Create() documentation. Replace mentions of the non-existent wxCONFIG_WIN32_NATIVE with wxUSE_CONFIG_NATIVE. Also explain what does the "best implementation" really mean and link to wxAppTraitsBase::CreateConfig(). Closes #12787.

2010-12-22 14:56 VZ, revision 66425

Use generic wxHyperlinkCtrl under Vista/7 without comtrl32.dll v6. Replace the test for the OS version with the test for comtrl32.dll version in HasNativeHyperlinkCtrl() wxMSW function as the native control could be not available even under Vista/7 if we're not using comtrl32.dll v6 and this can happen if the program was linked without the appropriate manifest or, possibly more likely, if a DLL using wxWidgets was loaded by such a program. Closes #12711.

2010-12-21 20:38 RR, revision 66424

Don't let anything, such as pressing F2, start editing an entry if the renderer is set to wxDATAVIEW_CELL_INERT

2010-12-21 20:27 RR, revision 66423

model column and index of column in the dataview can be different, correct this and also make wxGTK and wxMSW report the same thing in the event following wxDataViewModel::SetValue(), fixes #12755: wxDataViewCtrl bug when the column is mapped to different model column. Also commit some older change reseting the cursor under the mouse.

2010-12-21 12:12 JS, revision 66422

XML output corrections

2010-12-21 12:12 JS, revision 66421

Fixed bad rendering with tabs by correcting the position tabs are calculated from

2010-12-21 12:11 JS, revision 66420

Fixed bad rendering with tabs by correcting the position tabs are calculated from

2010-12-20 20:15 RR, revision 66417

Better wording in docs

2010-12-20 20:13 RR, revision 66416

Correction to: Support diabling items in GTK+, see #12686: Allow disabling of wxDVC items

2010-12-20 18:40 JS, revision 66413

Added apos entity

2010-12-20 15:54 JMS, revision 66412

Removed non-implemented function prototype OnMouseWheel() from wxVListBoxComboPopup

2010-12-20 15:21 JMS, revision 66411

Use locale-specific decimal point in wxNumericPropertyValidator (fixes #12790)

2010-12-20 14:55 JMS, revision 66410

Added OwnerDrawnComboBoxTestCase (currently only has copies of wxComboBox tests)

2010-12-20 14:51 JMS, revision 66409

Added wxComboPopup::FindItem() to help in deciding how SetValue() should change the value of a read-only wxComboCtrl. This allows wxOwnerDrawnComboBox to have the same behavior as wxComboBox in that respect.

2010-12-20 14:33 JJ, revision 66408

correction to make wxGTK1 compile

2010-12-20 12:27 JMS, revision 66407

Have wxUniv wxComboBox inherit from wxItemContainer instead of wxComboBoxBase, since the latter is derived from wxTextEntry which conflicts with the recent change in wxComboCtrl (fixes #12789)

2010-12-20 12:23 JMS, revision 66406

Added dummy-wxTextEntry implementation section for wxUniversal

2010-12-20 10:23 JJ, revision 66405

include compile support for tests on OpenVMS (part3)

2010-12-19 20:43 RR, revision 66404

Support diabling items in GTK+, see #12686: Allow disabling of wxDVC items

2010-12-19 16:02 VZ, revision 66403

Add the possibility to disable invisible wxDataViewCtrl items. Add new wxDataViewModel::IsEnabled() and wxDataViewListStore::IsEnabledByRow() methods and implement support for actually disabling the items in wxOSX/Cocoa native implementation of wxDataViewCtrl and limited support for it in the generic version. We need to implement this in wxGTK using GtkCellRenderer "sensitive" propriety later. Closes #12686.

2010-12-19 16:02 VZ, revision 66402

Store menus titles in menus themselves in wxOSX. Get rid of wxMenuBar::m_titles array which doesn't seem to be needed and just store the titles in the menus themselves instead. This makes wxMenu::GetTitle() work as in the other ports and fixes unit test failures in menu test. It also makes it unnecessary to duplicate the base class Find[Menu]Item() methods in wxOSX wxMenuBar so simply remove them entirely.

2010-12-19 16:02 VZ, revision 66401

No real changes, just get rid of _wxMenuAt() in wxOSX menu code. The _wxMenuAt() function was totally unnecessary and duplicated the existing wxMenuBar::GetMenu() so simply remove it and use GetMenu() instead.

2010-12-19 16:02 VZ, revision 66400

Fix initial gradient point calculation in wxOSX. This fixes the bug introduced in r63879 which used the wrong indices into the stops array resulting in visual artefacts in wxAUI, for example (and also possible crashes due to accessing out of bound array elements). Closes #12784.

2010-12-19 15:08 VZ, revision 66399

Preserve wxSlider value when changing its range in wxOSX too. This fix is similar to r66368 for wxMSW and preserves the slider value when its range changes. This is necessary because while the underlying native control value doesn't change when the range is, the logical value of wxSlider does change if it must be inversed as this depends on the range. See #12765.

2010-12-17 13:23 JMS, revision 66398

Make wxOwnerDrawnComboBox sorting identical to the MSW sorting (same as wxComboBox)

2010-12-17 13:08 JMS, revision 66397

Add wxComboBox-compatible Popup() and Dismiss() functions in wxComboCtrl

2010-12-17 12:50 JMS, revision 66396

Add enough default arguments to one wxOwnerDrawnComboBox ctor so it can be consructed using only two arguments, same as the wxComboBox

2010-12-17 12:39 JMS, revision 66395

Mostly change the wxOwnerDrawnComboBox text value using ChangeValue() instead of SetValue()

2010-12-17 12:20 JMS, revision 66394

Make the wxComboCtrl's wxTextEntry interface more complete and consistent. All text is no longer selected on SetValue(), but only when user selects an item from the drop-down list.

2010-12-17 01:56 RD, revision 66391

Use a " " (space) for the menu item if an empty string is used for an item in a wxChoice, in order to avoid an assert in wxMenuItem.

2010-12-16 20:25 JMS, revision 66389

Removed a return statement from void function

2010-12-16 19:13 JMS, revision 66388

Resolve ambiguity with wxOwnerDrawnComboBox::Clear(), virtual method which is derived from two base classes

2010-12-16 19:08 JMS, revision 66387

In wxBitmapComboBox dtor, call DoClear() instead of ambiguous Clear()

2010-12-16 19:07 JMS, revision 66386

Override wxTextEntry::GetSelection(long *from, long *to) in wxOwnerDrawnComboBox to resolve virtual method hiding issues

2010-12-16 18:21 JMS, revision 66385

Instead of having wxComboCtrl mimic wxTextEntry interface, make it actually inherit from the class and implement functions to redirect to the embedded wxTextCtrl. This allows us to simplify the code and get rid of the dirty trick of directing wxComboCtrl's validator to the embedded wxTextCtrl. Also see #12779, which issue 1 is fixed by this change.

2010-12-16 17:12 JMS, revision 66384

Document how the sign is omitted from wxFloatProperty's displayed value when it is effectively zero (closes #12738).

2010-12-15 14:36 VZ, revision 66383

Initialize wxLogWindow::m_pLogFrame in ctor to avoid (rare) crash. If the log frame creation itself generates log messages, the code using wxLogWindow could crash because its m_pLogFrame member variable wasn't initialized yet at this moment. Do set it to NULL initially now to avoid this.

2010-12-15 13:04 VZ, revision 66382

Compilation fixes for wx{X11,GTK1,Motif} after making ref data non copyable. Don't use wrong compiler-generated copy ctors in the other ports neither (see r66371..66373 for wxGTK fixes). This fixes compilation after r66374 without reducing functionality but just making it more clear where it is missing.

2010-12-15 13:04 VZ, revision 66381

Compilation fix for wxMotif PCH build. We need to include wx/unix/utilsx11.h even when using PCH to get wxCharCodeXToWX() declaration.

2010-12-15 13:03 VZ, revision 66380

Update accelerator unit test to pass after recent changes. Changes of r66379 broke the unit test as wxAcceleratorEntry::Create() now requires the TAB to be present in the string passed to it (again). Update the test to make it pass.

2010-12-15 12:18 VZ, revision 66379

Don't pass strings not containing accelerators to ParseAccel(). Check for the presence of accelerator part in the string passed to wxAcceleratorEntry::Create() and don't call ParseAccel() at all if it's not there. This avoids the spurious warnings about unrecognized accelerators when creating menu items that don't have any accelerators at all. Also update wxAcceleratorEntry::FromString() documentation to mention that the new code should pass just the accelerator to this function and that it only accepts full menu item labels for compatibility. Closes #12770.

2010-12-15 11:54 JJ, revision 66378

Include compilation of tests for OpenVMS (part2)

2010-12-15 10:51 JJ, revision 66377

Include compilation of tests for OpenVMS (part1)

2010-12-14 19:44 VZ, revision 66376

Return false, not NULL, from a function returning bool. Fix a warning (which might be an error with some compilers) about returning NULL from bool wxRichTextImageBlock::DoMakeImageBlock() function.

2010-12-14 19:43 VZ, revision 66375

No real changes, just add a cast to fix a warning. Fix warning about implicitly converting -1 to CGKeyCode when building wxOSX with 10.4 SDK.

2010-12-14 19:43 VZ, revision 66374

Make wxRefCounter non copyable. wxRefCounter copy ctor was wrong as the new object had the same reference count as the old one instead of starting its life with reference count set to 1 as any new object should. While we could fix its copy ctor, it seems to be better to forbid copying wxRefCounter objects at all because the semantics of doing this is not obvious and the compiler-generated copy ctor in the derived classes often doesn't do what the code using it expects it to do, as was discovered by making wxRefCounter non copyable: see the fixes in the previous commits. To uncover all such bugs, make wxRefCounter and classes deriving from it non copyable. If this uncovers more problems, they should be fixed by implementing copying properly (and explicitly) in the derived classes. Closes #12768.

2010-12-14 19:43 VZ, revision 66373

Fail in CloneGDIRefData() instead of implementing it incorrectly in wxOSX. wxIcon and wxMetaFile implemented CloneGDIRefData() using copy ctors of the corresponding ref data classes but the copy ctors were either wrong (for wxIconRefData as using it would result in messing up IconRef reference count) or had wrong semantics (wxMetafileRefData copy ctor performed shallow copy only while CloneGDIRefData() supposes a deep copy is done). Replace the wrong implementations of these functions with assert that will be triggered if they are ever used (which doesn't seem to be the case so far). See #12768.

2010-12-14 19:43 VZ, revision 66372

Don't use implicit wxBitmapRefData copy ctor in wxGTK code. wxBitmapRefData didn't have a proper copy ctor but the code in wxGTK wxBitmap implementation used it nevertheless and then manually patched the newly copied object to avoid double pointer deletion and other unpleasantness. Make the code more obviously correct by not using (nor providing) copy ctor at all. There are no real changes otherwise. See #12768.

2010-12-14 19:43 VZ, revision 66371

Fail instead of crashing in wxGTK wxCursor::CloneGDIRefData(). CloneGDIRefData() used wxCursorRefData copy ctor which wasn't implemented correctly and simply copied its internal m_cursor member without incrementing its reference count which resulted in a crash when it was then dereferenced twice. Unfortunately there doesn't seem to be any simple way to clone GDK cursors but as this should be something only rarely (if ever?) needed, simply don't implement CloneGDIRefData() at all for now and just leave an assert in it if it's ever really called. Also don't define wxCursorRefData copy ctor at all as it can't be done correctly.

2010-12-14 19:43 VZ, revision 66370

Improve wxImage handlers documentation, especially ownership aspect. Correct wxImage::RemoveHandler() documentation which was plain wrong. Also mention that the handler will be deleted by wxImage in AddHandler() documentation. And add an example of using AddHandler() as well as fix the broken text in wxInitAllImageHandlers() description. Closes #12772.

2010-12-13 19:10 VZ, revision 66368

Preserve value when changing range of inverted wxSlider in wxMSW. The logical value of wxSlider was changed when its range was changed in wxMSW if the slider had wxSL_INVERSE style because the logical value was actually computed using the range and the actual physical control value and we forgot to update the latter when changing the range. Do update it now in SetRange() to fix this. Also add unit tests checking for this and, more generally, for other operations with inversed sliders. Closes #12765.

2010-12-13 17:07 JMS, revision 66367

Have wxPropertyGrid::DoubleToString() to also take comma into account as a decimal separator. In addition, the function now returns target wxString (makes writing tests easier).

2010-12-11 12:57 JMS, revision 66363

Added code to remove sign from zero in wxPropertyGrid::DoubleToString(). Fixes #12738.

2010-12-11 12:48 SC, revision 66362

changing compositing mode for Clear, see #12756

2010-12-07 16:46 SC, revision 66360

adding support for layout coordinates via insets from framecoordinates

2010-12-07 16:41 SC, revision 66359

fixing redraw debugging

2010-12-07 14:28 SC, revision 66358

attempt at making the line continuation characters stay correct

2010-12-07 11:11 SC, revision 66357

updating files list for iphone opengl

2010-12-07 10:45 SC, revision 66356

updated comment was not saved in former commit

2010-12-07 10:10 SC, revision 66355

updated comment was not saved in former commit

2010-12-07 09:53 SC, revision 66354

reverting content area calculation for iphone as translucent status bars get ignored otherwise

2010-12-06 19:40 TIK, revision 66344

In some cases menu bar height is reported as 0 when the menu hasn't fully realized yet. Nee to update the height during idle time if it is 0, otherwise no menu is shown.

2010-12-04 14:34 SC, revision 66332

fixing osx iphone build

2010-12-04 14:33 SC, revision 66331

guarding compile

2010-12-04 14:33 SC, revision 66330

adapting inheritance to other osx ports

2010-12-04 14:32 SC, revision 66329

guarding against non-implemented parts

2010-12-03 15:12 VZ, revision 66315

Rename wxGenericDirCtrl::ExpandDir() to PopulateNode(). This function doesn't really expand anything (unlike CollapseDir()) so give it a better name while keeping the old one too for compatibility. See #12735.

2010-12-03 15:00 VZ, revision 66314

Set the window in focus event sent by wxComboCtrl correctly. The window parameter wasn't copied correctly in the forwarded event. Fix this and avoid future problems of the same kind by using the copy ctor for creating the new event and then override the fields that we need to change from the original event instead of recreating the new event from bits and pieces of the original one. Closes #12741.

2010-12-03 13:40 VZ, revision 66313

Update AUI bitmaps when its colours change. Extract the bitmaps initialization in wxAuiDefaultDockArt::InitBitmaps() and call it from SetColour() to ensure that the bitmaps are updated when the colour scheme changes. Closes #12532.

2010-12-03 13:40 VZ, revision 66312

No changes, just clean up duplicate colour functions in wxAUI. Reuse wxcolour::AlphaBlend() and ChangeLightness() methods instead of duplicating them in wxAUI-specific wxAui{Blend,Step}Colour(). See #12532.

2010-12-03 13:40 VZ, revision 66311

Update the directory icon in wxGenericDirCtrl::ExpandDir(). Calling ExpandDir() to notify the control that a new item was added in a previously empty directory didn't work as wxTreeCtrl::SetItemHasChildren() wasn't called. Fix this by moving SetItemHasChildren() to ExpandDir() from OnExpandItem(), it must be always done and not just in response to an interactive action. Closes #12735.

2010-12-03 13:40 VZ, revision 66310

No changes, just clean up duplicate colour functions in wxSearchCtrl. Use wxColor::ChangeLightness() instead of private wxStepColour() that duplicates it. Close #12744.

2010-12-03 13:40 VZ, revision 66309

Optimize pixels rotation in wxImage::Rotate90(). Rotate the image by entire strips instead of doing it pixel by pixel. This seems to result in about 50% performance gain. Closes #12739.

2010-12-03 13:39 VZ, revision 66308

Don't require leading TAB in wxAcceleratorEntry::FromString(). FromString() should parse string returned by ToString() successfully but this wasn't the case because the accelerator parsing functions always insisted on having a TAB in the string. Fix this, document the string format and add a unit test checking for the correct behaviour. Closes #12745.

2010-12-03 13:39 VZ, revision 66307

Don't try to extract accelerators from menu items which don't have any. We don't need to call wxAcceleratorEntry::Create() in wxMenuItem::GetAccel() if the menu item doesn't have any accelerator at all, i.e. if there is no TAB in its label. Calling wxAcceleratorEntry::Create() is useless and won't work correctly any more when Create() is updated to allow passing it strings without TAB in them in the next commit. See #12745.

2010-12-03 13:39 VZ, revision 66306

Fix wxRect::SetRightTop() which set the wrong corner. SetRightTop() erroneously forwarded to SetTopLeft() instead of SetTopRight(). Closes #12746.

2010-12-03 13:39 VZ, revision 66305

Mention in wxHashSet documentation that its contents is not sorted. The documentation gave a wrong impression that this class was a std::set replacement which it isn't. See #12727.

2010-12-01 08:42 SC, revision 66304

fixing missing return value

2010-11-30 19:41 PC, revision 66303

merge libpng 1.4.4 to trunk

2010-11-30 19:01 PC, revision 66302

add src/gtk1/mnemonics.cpp to files.bkl and rebake

2010-11-30 11:19 JJ, revision 66301

Add mnemonics to wxGTK1

2010-11-30 10:59 SC, revision 66300

adding standard menu items for cocoa, adding translation macro to menulabels, fixes #12732

2010-11-30 07:09 PC, revision 66299

tag libpng 1.4.4

2010-11-30 07:07 PC, revision 66298

upgrade to libpng 1.4.4

2010-11-29 21:20 JS, revision 66297

Fix for caret positioning inaccuracy when there are tabs and a non-zero control margin

2010-11-29 09:57 SC, revision 66293

adding defines to support building against 10.4u.SDK

2010-11-28 16:14 VZ, revision 66287

Don't compare invalid iterators in wxCommandProcessor code. Comparing invalid iterators results in an assert failure in STL build. We might also change wxList::compatibility_iterator::operator==() to allow comparing invalid iterators (which should be different from all the other ones but what about comparing two invalid iterators?) but it would probably be better to get rid of all uses of compatibility_iterator in the code instead in the long term. Closes #12730.

2010-11-27 22:57 PMO, revision 66285

Added support for submenus

2010-11-27 21:25 PMO, revision 66284

Added more implementations in wxDisplay

2010-11-27 21:23 PMO, revision 66283

Fixed wrong signature of GetItemText()

2010-11-27 18:30 PMO, revision 66282

Use the generic text entry dialog for now

2010-11-27 18:30 PMO, revision 66281

Skeleton implementation for wxTextCtrl

2010-11-27 16:42 PMO, revision 66280

Skeleton implementation for wxStaticBox. Use wxQtGroupBox for wxStaticBox and wxRadioBox.

2010-11-27 14:35 PMO, revision 66279

Skeleton implementation for wxSpinCtrl/wxSpinCtrlDouble

2010-11-27 12:34 VZ, revision 66278

Verify the return value of wxItemContainer::Insert() in the tests. Check that Insert() returns the index of the last inserted item. Also document this behaviour for mulit-item renames explicitly.

2010-11-27 12:34 VZ, revision 66277

Fix the return value of wxSimpleHtmlListBox::Insert(). The returned index was off by 1. Closes #12717.

2010-11-27 12:34 VZ, revision 66276

Add wx(Simple)HtmlListBox unit test. For now just test the wxItemContainer methods.

2010-11-27 12:34 VZ, revision 66275

Document wxSimpleHtmlListBox inheritance from wxItemContainer. Without wxItemContainer in the docs all the item maintenance methods were absent from wxSimpleHtmlListBox. See #12717.

2010-11-27 09:42 RD, revision 66270

Move the Mac methods from wxAppConsole to wxApp

2010-11-27 09:40 RD, revision 66269

wxDefaultVideoMode is const

2010-11-27 09:38 RD, revision 66268

wxPlatformInfo does not derive from wxObject

2010-11-26 18:39 JMS, revision 66267

Fix 100% CPU usage on wxGTK caused by a recent change in wxPropertyGridEditorEventForwarder::ProcessEvent()

2010-11-26 17:31 JS, revision 66266

Allow bullet style to be switched off via the UI

2010-11-26 14:31 VZ, revision 66265

Update configure helper scripts to latest versions from GNU project. The new version (the one we used was 6 years out of date) notably detects 64 bit MinGW platforms correctly which closes #12356. Also update config.{guess,sub} scripts in 3rd party libraries directories to bring them all in sync with the main one and ensure that MinGW 64 is supported by them too.

2010-11-26 14:31 VZ, revision 66264

Small bug fixes for GetLibraryVersionInfo() changes. Fix the minor version determination for libtiff which was done wrongly by r66259 and provide a properly formatted description for Scintilla version. See #12690.

2010-11-26 14:30 VZ, revision 66263

No real changes, just remove unnecessary const workaround. The comment about "wxString doesn't having enough const members" was totally incomprehensible and clearly wrong. Just remove the hack it was explaining.

2010-11-26 14:30 VZ, revision 66262

Allow wxAutomationObject::GetInstance() create new instance if needed. When getting an instance of an OLE automation object, it is often useful to connect to the existing instance if any or start a new one otherwise. Make GetInstance() behave like this by default while still allowing to use the wxAutomationInstance_UseExistingOnly flag to reestablish the old behaviour. Also improve the error reporting in wxAutomationObject. See #12489.

2010-11-26 14:30 VZ, revision 66261

No real changes, just use ProgID term instead of incorrect CLSID. CLSID was used instead of ProgID in several places in the code and the documentation but they are different things so clear up the confusion. See #12489.

2010-11-25 19:04 SC, revision 66260

led to build issues with xcode and graphics context

2010-11-25 01:53 VZ, revision 66259

Add wxVersionInfo and functions returning it for 3rd party libraries. Add simple wxVersionInfo class holding the version information. Also add GetLibraryVersionInfo() static method to wx{JPEG,PNG,TIFF}Handler, wxStyledTextCtrl and wxXmlDocument classes and wxGetZlibVersionInfo() and wxGetLibraryVersionInfo() global functions using it. Closes #12690.

2010-11-25 01:53 VZ, revision 66258

Document some previously undocumented wxAboutDialogInfo getters. See #12690.

2010-11-25 01:53 VZ, revision 66257

Mention status bar fields limits under pre-XP MSW systems. Mention that before comctl32.dll status bar fields were limited to 127 characters only. See #12709.

2010-11-24 13:43 VZ, revision 66255

Warn that normalizing a valid path may make it invalid sometimes. Mention the special case of a path without file name and with directory that normalizes to empty string. See #10960.

2010-11-24 13:43 VZ, revision 66254

Optimize wxImage::Rotate90() by rotating alpha separately. Bringing the alpha rotation out in a separate loop results in an approximatively 10% performance improvement. Closes #12712.

2010-11-24 01:42 VZ, revision 66253

Add support for negatable command line switches. Add wxCMD_LINE_SWITCH_NEGATABLE which allows to use a dash after a command line switch to inverse its meaning (i.e. use "/X-" form). Also add new wxCmdLineParser::FoundSwitch() allowing to check for whether the switch was specified in normal or negated form. Closes #11643.

2010-11-24 01:42 VZ, revision 66252

Rewind the input stream after failing to load image from it. For seekable streams, don't change the current position when loading image fails. This allows the subsequent image handlers to succeed during image format auto-detection even if a previous, erroneously chosen, handler failed. Closes #12702.

2010-11-24 01:42 VZ, revision 66251

Improve error messages from wxImage::LoadFile(). The error given when loading an image file failed was not very useful because they didn't specify which file exactly we failed to load and also because the numeric handler type which means nothing at all to the end user (and not much to the developer) was used. Use the description of the file format instead and also always give the name of the file that we failed to load. Finally, remove the test for file existence: this is one of many reasons why opening the file could fail and it doesn't make sense to handle it specially, just let the underlying stream generate the appropriate error message in all cases.

2010-11-24 01:42 VZ, revision 66250

Skip mouse events outside of item area in wxDataViewCtrl. Don't consume mouse events outside of the area occupied by the items in the generic implementation of wxDataViewCtrl as this prevented wxEVT_CONTEXT_MENU events from being generated. Closes #12706.

2010-11-23 23:14 RD, revision 66249

Use an enum for the colour/string conversion flags

2010-11-23 23:14 RD, revision 66248

Fixed parameter names. They can't be named "short"

2010-11-23 14:12 VZ, revision 66246

VC6 compilation fix: don't return void values. Fix VC6 compilation broken by r66237: don't return the result from a void function, this compiler doesn't support this C++ feature.

2010-11-23 14:11 VZ, revision 66245

Simplify timezone-related code and fix some minor bugs in it. Try to make the chain of preprocessor checks for different ways of getting time zone from the CRT more clear. Also call _tzset() for all MSVC versions, not just MSVC8+ (closes #12700). We should probably call tzset() for the other compilers too, in fact. And multiply the timezone returned from ftime() by 60 as it's supposed to be in minutes and not seconds as needed.

2010-11-23 14:11 VZ, revision 66244

Center task dialog-based wxProgressDialog on the parent window. wxProgressDialog was created without the parent when using task dialogs so it was centred on screen and not on its parent as usual. Fix this by explicitly positioning it so that it's centered over the parent. Closes #12699.

2010-11-23 14:10 VZ, revision 66243

Deselect all items in wxMSW wxListBox when selection is set to -1. Even though this behaviour is somewhat counterintuitive, the documentation mentions that this is what should happen and wxGTK and wxOSX already behave like this so bring wxMSW in line. wxListBox::DeselectAll() should probably just call SetSelection(wxNOT_FOUND) when the item to leave selected is not specified too now. Closes #12705.

2010-11-22 17:38 SC, revision 66242

fixing 64 bit ranger error

2010-11-22 17:18 VZ, revision 66241

Initialize time zone information before using it in wxGetTimeZone(). We must call _tzset() before calling _get_timezone() as while this is normally done implicitly by the other time functions, it might not have been done yet if create a wxDateTime::TimeZone before calling any of them. Closes #12700.

2010-11-22 15:28 JMS, revision 66240

Have wxPropertyGridEditorEventForwarder::ProcessEvent() return true more often - that is when the event was recognized as being 'handled', and specifically for the case of property editor's button being pressed (fixes #12487).

2010-11-22 13:51 VZ, revision 66239

Fix wxUniv build after deriving wxStatusBar from wxControl. wxUniv build was broken since the base class of wxStatusBar was changed from wxWindow to wxControl in r66226 because it derived twice from wxInputConsumer now. Fix this by simply not inheriting wxStatusBarUniv from wxInputConsumer any more, it already derives from it via wxControl now.

2010-11-22 13:49 VZ, revision 66238

Revert "Always define WXUSINGDLL when compiling Scintilla in shared wx build." Finally it's unnecessary to define WXUSINGDLL when building wxScintilla library as it doesn't use the main DLL, it is simply used as part of it. This reverts r66222 and finally closes #12626.

2010-11-22 13:49 VZ, revision 66237

Don't try to center task dialogs under Windows. This is either unnecessary or doesn't work anyhow (they are always centered on the parent window) and just results in debug error messages. Simply don't do anything in wxMessageDialog::Centre() when using task dialog implementation under MSW. Closes #12699.

2010-11-22 13:48 VZ, revision 66236

Set the width of the last status bar pane correctly in wxMSW. The total width of status bar panes must add up to the size of the status bar as otherwise an extra unwanted border is drawn after the last pane and we did have this border for status bar with a size grip. So while we still use the width without the size grip for calculating the fields widths, pass the width with the size grip to Windows to prevent this from happening. Also, don't pretend that the last field stretches up to the status bar edge when it should end before the size grip and Windows even already helpfully does it for us. Closes #12655.

2010-11-22 13:48 VZ, revision 66235

Add status bar styles mapping to MSW styles broken by recent changes. SBARS_SIZEGRIP and CCS_TOP should be added to the normal style, not the extended one. This restores the behaviour broken by r66227.

2010-11-22 13:48 VZ, revision 66234

Put WINDRES_CPU_DEFINE in RESFLAGS and not RESCOMP in configure. WINDRES_CPU_DEFINE is just another resource compiler flag which should be part of RESFLAGS instead of being added to RESCOMP definition itself. This is not only more logical but also fixes the problem with matching RESCOMP against "windres" or "wrc" in wx-config. See #12356.

2010-11-22 02:23 VZ, revision 66233

Make wxChoicebook background transparent. This fixes the appearance of an empty wxChoicebook used as a child of a wxNotebook under MSW. Closes #12503.

2010-11-22 02:23 VZ, revision 66232

Deprecate not working wxSplitterWindow::SetSashSize(). Setting sash size to non default value didn't work correctly and didn't make much sense anyhow as the sash appearance is platform-dependent and current code for drawing it doesn't work for arbitrary sizes. Simply remove the possibility to set the sash size. Closes #12412.

2010-11-22 02:23 VZ, revision 66231

Don't set explicit background colour for wxStatusBar in wxMSW. Setting the background colour for the status bar explicitly is unnecessary and probably prevents it from rendering correctly with some themes. Simply remove the call to SetBackgroundColour() from wxStatusBar::Create(). We should also define Get[Class]DefaultAttributes() in wxStatusBar in the future.

2010-11-22 02:23 VZ, revision 66230

Don't forbid creating wxSplitterWindow with border style. Any border specified for wxSplitterWindow was explicitly discarded when creating it but there doesn't seem to be any reason to forbid it, the original code probably predated the addition of wxWindow::GetDefaultBorder() which allowed to have different borders by default for different classes. In any case, simply remove this code now to allow creating splitters with borders if so desired. Closes #12413.

2010-11-22 02:22 VZ, revision 66229

Delete pending objects in wxApp::ProcessPendingEvents() and not ProcessIdle(). Move DeletePendingObjects() call from ProcessPendingEvents() to ProcessIdle() to ensure that we delete the objects marked for destruction even if the application is sitting in a tight OnIdle() loop, i.e. if the idle event handler keeps requesting more events. Also make sure that the event loop terminates if its OnExit() was called even if the idle event handler continues to request more events. Closes #12424.

2010-11-22 02:22 VZ, revision 66228

Silently ignore timer events from timers which were just stopped. An assert in wxTimerWndProc() could be provoked by valid user code which simply started and stopped the timers quickly enough because a WM_TIMER could have been already generated just before we stopped the timer. Simply ignore events from unknown timer under assumption that they must come from the recently stopped ones instead of asserting. Ideally we'd somehow distinguish between the situation described above and the really bogus events which could indicate bugs in wx code or a change in behaviour in a future version of Windows but there is no easy way to do it so for now just settle for not asserting in normal case. Closes #10052.

2010-11-22 02:22 VZ, revision 66227

Refactor wxStatusBar creation in wxMSW to do it in standard way. Use wxControl-provided CreateControl() and MSWCreateControl() methods to create the status bar instead of duplicating their code in its Create(). Also translate wx styles to MSW ones in overridden MSWGetStyle() now. In addition to making the code smaller and more clear, this fixes the non-respect of the styles specified at status bar creation (e.g. border), see #12655.

2010-11-22 02:22 VZ, revision 66226

Derive wxStatusBar from wxControl and not wxWindow. wxStatusBar is no less a control than wxToolBar and deriving it from wxControl gives access to convenient native control creation functions under MSW (which will be used by the next commit).

2010-11-22 02:22 VZ, revision 66225

Use status full, not client, size to determine frame client size in wxMSW. We need to account for the full size of status bar, including potential borders, when calculating the client size of the frame containing it. Closes #12697.

2010-11-22 02:22 VZ, revision 66224

Send page changed event after changing the page in wxMSW wxNotebook. Update the currently selected page before generating wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED event in wxMSW wxNotebook. This is more consistent with other ports and more logical as "-ED" events are supposed to be sent after the action they notify about is completed. And it also allows to set the focus in this event handler whereas any attempts to do it would have been disregarded before as changing the active page resets focus. Notice that this does introduce an incompatibility: calling wxNotebook::GetSelection() from PAGE_CHANGED event handler now returns the new page and not the old one as before. Again, this is more logical and more consistent. Closes #12688.

2010-11-22 02:22 VZ, revision 66223

Use correct wxDEBUG_LEVEL value when building wxscintilla library. wxScintilla code uses wxVector<> which brings in wxDEBUG_LEVEL-dependent code so we must use the wxDEBUG_LEVEL value consistent with the rest of the library when building it. Simply pass wxDEBUG_LEVEL definition on the compiler command line if it's different from the default. Closes #12626.

2010-11-22 02:22 VZ, revision 66222

Always define WXUSINGDLL when compiling Scintilla in shared wx build. We need WXUSINGDLL even in monolithic build because Scintilla references wx debugging functions (wxOnAssert(), wxTheAssertHandler &c) which still must be seen as being exported from the (monolithic) DLL in this case. See #12626.

2010-11-21 14:00 VZ, revision 66221

Correct wxFont::GetFamily() unit test to test for wxFONTFAMILY_DEFAULT. GetFamily() returns wxFONTFAMILY_DEFAULT and not wxFONTFAMILY_UNKNOWN since r65670. Correct the test to handle wxFONTFAMILY_DEFAULT as allowed value.

2010-11-21 14:00 VZ, revision 66220

Revert r66070: "Unload bogus XRC resources in "garbage" unit test." This change is not needed any longer after r66219 which fixed the real underlying problem, i.e. that attempting to load an invalid XRC file resulted in failures when loading all subsequent XRC files.

2010-11-21 00:53 VZ, revision 66219

Don't keep entries for XRC resources that failed to load in wxXmlResource. Attempting to load a resource that couldn't be loaded resulted in wxXmlResource::Load() returning false for this and _all_the_subsequent_ calls to it because each call to Load() reattempted to reload all resources, including the one(s) that failed to load initially. Instead, try to load just the resource(s) that we should load right now and ignore all the other ones. Also, don't add entries for the one(s) that we fail to load. This fixes the unit test failures in the XRC test case which was affected by the test checking that XRC couldn't be loaded from garbage that ran before it. It also makes the code simpler by ensuring that wxXmlResourceDataRecords elements always have a valid wxXmlDocument associated with them. Also clean up the code: use wxScopedPtr instead of manually deleting pointers and reorganize #if checks to be easier to follow.

2010-11-21 00:53 VZ, revision 66218

Don't consider extra ".." an error in wxFileName::Normalize(). The path being normalized could have come from user and there doesn't seem to be any point in complaining about too many ".."s in it when we can handle them correctly instead. So simply ignore the extra ".."s for the absolute paths and keep them unchanged for the relative ones instead of returning an error. See #10960.

2010-11-20 12:58 JMS, revision 66217

Reworked wxSystemColourProperty::StringToValue() to use wxColour::Set() instead of doing string-to-colour conversion by itself. This adds support for HTML-colours, among other things (closes #12696).

2010-11-19 08:57 RD, revision 66210

Fix some bad parameter names, add missing methods, add missing classes, etc.

2010-11-19 08:51 RD, revision 66209

Add a SetSize to wxSizeEvent

2010-11-18 15:10 VZ, revision 66205

Improve documentation about handling C++ exceptions in wx programs. Try to explain the different exception handling strategies more clearly in the overview and also update OnUnhandledException() documentation.

2010-11-18 13:41 VZ, revision 66203

Check wxDateTime components validity more rigorously. Check that the provided day is strictly positive and also that the month is in valid range: while it should always be, considering that it's an enum element, in practice people often cast ints to wxDateTime::Month with potentially fatal results. Catch this with an assert in wxDateTime::Tm::IsValid().

2010-11-18 13:41 VZ, revision 66202

Explicitly include "wx/dynlib.h" from src/msw/combobox.cpp. This header was only included implicitly via wx/msw/uxtheme.h and thus the code failed to compile with wxUSE_UXTHEME==0 but wxUSE_DYNLIB_CLASS==1. See #12664.

2010-11-17 06:57 PC, revision 66180

remove const from by-value return type, it's useless

2010-11-17 02:22 VZ, revision 66179

Remove obsolete warning from wxMenuBar::GetTitle() documentation. This method can be used for menu bar entries also since the previous commit. Do mention that SetTitle() can't be used to change a menu bar menu title however.

2010-11-17 02:20 VZ, revision 66178

Simplify wxMSW wxMenuBar title management. Store the titles of the menu bar menus in the menu objects themselves. This makes wxMenu::GetTitle() return the expected result for them (which also fixes the current unit test failures for wxMSW) and makes wxMenuBar code simpler. This removes the wxMenuInfo class which existed for XTI purposes only but as it was apparently unfinished and MSW-specific it shouldn't be a big loss.

2010-11-17 02:20 VZ, revision 66177

No real changes, just minor cleanup of wxImage code. Make more local variables const. Use consistent spacing. Don't use needless comparison with NULL. Don't avoid not using double negation. See #12682.

2010-11-17 02:20 VZ, revision 66176

Don't pass a bool to wxImage::MakeEmptyClone() which takes an enum. Correct the changes of r66167 which accidentally left a call to MakeEmptyClone() using its previous signature. See #12682.

2010-11-16 23:38 VZ, revision 66175

Correct form of mnemonics returned by wxGTK wxMenu::GetTitle(). wxMenu::GetTitle() returned a string in GTK+ format (i.e. using underscores instead of ampersands) instead of the expected wx one. This is, of course, the right thing to do and it also fixes wxMenuBar::FindMenuItem() as a side effect. Closes #12672.

2010-11-16 23:38 VZ, revision 66174

Emphasize that wxUSE_DYNLIB_CLASS shouldn't be disabled in wxMSW. Mention in the setup.h comment that wxDynamicLibrary is used in a lot of places internally and disabling it can result in a loss of a lot of important functionality. See #12664.

2010-11-16 23:38 VZ, revision 66173

Add more checks for wxUSE_DYNLIB_CLASS to wxMSW. Compilation fixes for wxApp and wxComboBox for wxUSE_DYNLIB_CLASS==0. See #12664.

2010-11-16 23:38 VZ, revision 66172

Correct checks for wxUSE_PRINTING_ARCHITECTURE and wxUSE_ENH_METAFILE. Compilation fixes for building without one or both of these symbols. See #12664.

2010-11-16 23:38 VZ, revision 66171

Avoid asserts due to not overriding OnGetItemText() in VirtListCtrlTestCase. A virtual list control must override wxListCtrl::OnGetItemText() method and wxMSW native implementation asserts if this is not the case (the generic one should arguably do it as well). Avoid the asserts by providing a dummy implementation of OnGetItemText() in the unit test.

2010-11-16 23:38 VZ, revision 66170

Add an explicit SetFocus() call to fix wxTreeCtrl unit test. Fixing the implicit focus grabbing by wxTreeCtrl::SelectItem() in r65905 broke its unit test case as the simulated key event was not delivered to wxTreeCtrl itself any more. Fix this by simply setting the focus to the tree explicitly before sending it any key strokes.

2010-11-16 23:38 VZ, revision 66169

Correct wxMSW wxToolTip behaviour for wxRadioBox items tooltips. The assert added in r66053 checking that we couldn't have tooltips for child windows if we didn't have the tooltip for the main one turned out to be wrong, at least in wxRadioBox case it's perfectly possible to have the tooltips for the individual radio buttons without having one for the box itself. Replace the assert with a simple if check. This fixes a unit test failure in RadioBoxTestCase.

2010-11-16 23:38 VZ, revision 66168

Don't use some "recent" C++98 features not supported by VC6. Don't return void values nor redeclare the same variable in for loops to fix VC6 compilation.

2010-11-16 23:37 VZ, revision 66167

No changes, just refactor common code in wxImage cloning functions. Extract code common to several wxImage methods creating new images based on an existing one in a new MakeEmptyClone() method. Closes #12682.

2010-11-16 23:37 VZ, revision 66166

Fix crashes in wxDateTime::ParseDate() for some invalid dates. Parsing an incomplete date with nothing but whitespace and/or date delimiter characters at the end crashed as we happily went beyond the end of string. Fix this by not using a loop which didn't check for the iterator validity. Closes #12685.

2010-11-15 09:52 JJ, revision 66161

Update OpenVMS makefile

2010-11-15 01:22 VZ, revision 66157

VC6 compilation fix in wxDIB::Create(). Deal with the lack of scope around variables declared inside the for loop in this compiler, previously it gave "error C2360: initialization of 'x' is skipped by 'case' label" message and also complained about redefinition of 'x'.

2010-11-15 01:11 VZ, revision 66156

Fix incorrect use of word "alternative" in the documentation. There can't be only one alternative. Closes #12681.

2010-11-14 15:04 VZ, revision 66153

Restore code for closing inherited file descriptors in the child. The code closing all file descriptors inherited from the parent in the child process created by wxExecute() was removed in r57324 by mistake (probably due the fact that its meaning was poorly explained) but we still do need to do this, of course, to avoid descriptor "leaks" (e.g. the parent couldn't really close any of them). Restore the code for closing all unneeded file descriptors in the child in slightly modified form and add a comment pointing to an URL explaining how to do it better in the future. Closes #12636.

2010-11-14 15:04 VZ, revision 66152

Fix spurious errors when writing to the child process stdin under Unix. Since the child pipe was made non-blocking in r65993, it became possible to write to child process without deadlocking when the pipe became full. However this still resulted in an error from wxFileOutputStream as it didn't handle EAGAIN returned from write() any differently than any other error, even though it is an expected situation in this particular case. Change Unix wxExecute() to use wxPipeOutputStream which ignores EAGAIN unlike wxFileOutputStream to fix this. See #12636.

2010-11-14 15:04 VZ, revision 66151

No real changes, just reamed HAS_PIPE_INPUT_STREAM. Renamed the symbol indicating whether pipe-based streams are available from HAS_PIPE_INPUT_STREAM to HAS_PIPE_STREAMS as it's not really input-specific. See #12636.

2010-11-14 13:09 VZ, revision 66150

Add wxFile::{Get,Clear}LastError() functions. Remember the errno of the last file operation instead of just remembering whether there was an error or not. See #12636.

2010-11-14 13:09 VZ, revision 66149

Handle image hot spot in wxImage::Rotate180(). Set the hot spot coordinates correctly for the image returned from Rotate180(), just as it's already done by Rotate90(). Closes #12680.

2010-11-14 02:02 VZ, revision 66146

Add wxImage::Rotate180() function. Closes #12679.

2010-11-14 02:02 VZ, revision 66145

Handle hot spots in wxImage::Rotate90(). Set hot spot coordinates for the rotated image if the original one had them. Also handle the case when the source image has both alpha and mask correctly. Closes #3680.

2010-11-13 18:13 VZ, revision 66144

Don't use standard menu ids in the unit test to avoid Mac problems. wxOSX rearranges the standard menu items such as wxID_EXIT and wxID_ABOUT and, for the former, changes its text to "Quit", so don't use them in the menu unit test which expects to find the items in the menus to which they were added and exactly with the labels used when adding them.

2010-11-13 16:03 VZ, revision 66143

Don't put cursor at the end of wxGridCellEnumEditor control. Putting the cursor to the end of the control when the editing starts doesn't make much sense as this should be the default behaviour anyhow and, worse, this results in an assert under wxMSW where a read-only wxComboBox doesn't have any cursor to move. Closes #12446.

2010-11-13 16:03 VZ, revision 66142

Initialize scrollbar positions in wxGTK correctly. The scrollbar positions stored in wxWindow::m_scrollPos were not initially correct in wxGTK because wxScrollHelper::SetScrollbars() didn't update them and only set the values of the underlying GtkAdjustments themselves. This resulted in filtering out of the first scroll event as the code (wrongly) believed that the scrollbar position hadn't changed. Fix this by setting m_scrollPos to the real scrollbar positions. Closes #12468.

2010-11-13 16:03 VZ, revision 66141

Add a unit test checking selection updating in virtual wxListCtrl. Verify that the selection is updated correctly after the number of items in the control is decreased. See #12378.

2010-11-13 16:03 VZ, revision 66140

Don't assert if config file contains an invalid boolean value. Asserts should be only triggered by programming errors, not by user actions, and the assert checking that the value is either 0 or 1 in wxConfigBase::DoReadBool() could happen if the user edited the file and put a wrong value into it. Replace the assert with a warning message. See #11437.

2010-11-13 16:03 VZ, revision 66139

Add a beginning of wxMenu unit test. Test wxMenu and wxMenuBar item search and counting functions. See #12672.

2010-11-13 16:02 VZ, revision 66138

Make menu operations always work with "Test" menu in the sample. Some tests in the "Menu" menu of the menu sample worked with the "Test" menu while others used the last one ("Help" initially but possibly something else if the test commands from "Menubar" menu were used). Harmonize all menu commands to use the "Test" menu now. See #12668.

2010-11-13 16:02 VZ, revision 66137

Fix resizing of wxGrid columns when they were reordered. The column resizing code in wxGrid didn't take account of the fact that the column positions and indices could be different. Correct it by inserting calls to wxGrid::GetColAt() and GetColPos() in a new wxGridOperations::GetLineBefore() method. Closes #11984.

2010-11-12 08:15 JJ, revision 66124

Update SETUP for OpenVMS

2010-11-11 16:51 MW, revision 66121

Use wxFS_SEEKABLE flag loading images.

2010-11-11 13:09 VZ, revision 66120

Improve check for ASCII locale in wxGTK initialization code. Use wxFontMapper::GetEncodingFromName() to check if the current locale encoding is ASCII instead of just comparing the name with "US-ASCII" which is not the name used by most platforms (e.g. current Linux systems call this encoding "ANSI_X3.4-1968"). This avoid creating a wxCSConv object for ASCII encoding unnecessarily on startup.

2010-11-11 13:09 VZ, revision 66119

Initialize wxCSConv immediately instead of deferring it. Deferred initialization code was not MT-safe and just wasn't that useful anyhow because it is rare to create a wxCSConv object and not use it afterwards. Remove the deferred initialization logic and create the real conversion used by wxCSConv immediately in its ctor. Also improve the comments by clearly explaining the possible values of wxCSConv::m_name and m_encoding. Closes #12630.

2010-11-11 13:09 VZ, revision 66118

Fix typo in error message given if wxUSE_CAIRO is undefined. Replaced the wrongly copy-and-pasted wxUSE_BUTTON with wxUSE_CAIRO.

2010-11-11 05:09 RD, revision 66117

No docs yet, just the bare interace so we can get XML for Phoenix.

2010-11-11 02:29 RD, revision 66116

Fix a parameter type and add some missing const keywords

2010-11-10 14:53 VZ, revision 66103

Disable unit tests which can't work in ANSI build. Disable unit tests involving operations (such as conversions between UTF and anything but plain ASCII) not available in ANSI build. This fixes the test suite for non-Unicode build under Unix.

2010-11-10 14:53 VZ, revision 66102

Use wxString::To8BitData() instead of mb_str() to handle NULs correctly. In ANSI build wxString::mb_str() returns a pointer to the internal wxString data directly instead of a buffer with a proper length, so it provides access to the part of the string before the first embedded NUL only. Use To8BitData() which always returns the buffer of the correct size in all builds. The open question remains whether mb_str() should be changed to return a (non owned) buffer and not just a pointer in ANSI build. This would make manipulating strings with embedded NULs safer but mb_str() would be less efficient and less compatible.

2010-11-10 14:53 VZ, revision 66101

Fix wxString::{Before,After}{First,Last} unit test for ANSI build. The test used a wide character constant and so didn't work in ANSI build. Use an ASCII string there now while still keeping the original version in Unicode build.

2010-11-10 14:53 VZ, revision 66100

Don't check for wxDF_UNICODETEXT support in ANSI builds. wxDF_UNICODETEXT clipboard format can't be even constructed without provoking an assert in ANSI build of wxGTK, so avoid using it, we don't support it anyhow.

2010-11-10 14:53 VZ, revision 66099

Initialize paragraph descent in wxRichTextParagraph::Layout(). This variable was used as the initial value for the descent but was never initialized, so the descent computation could be completely wrong.

2010-11-10 14:53 VZ, revision 66098

Don't crash in wxGUIEventLoop::Exit() if not running in wxX11. The implementation of wxEventLoop::IsRunning() has changed since this code was written and it doesn't check for m_impl != NULL any more. Because of this, calling Exit() for an active but not running event loop resulted in a crash in wxX11. Fix this by doing nothing in this case. This seems better than asserting as the event handling code exits the loop if an event handler throws an exception and the loop might not be running in this case yet (events could be processed because of a wxYield() call).

2010-11-10 14:53 VZ, revision 66097

Implement bitmap mask copying in wxX11. Copy the mask pixmap properly in wxX11, otherwise copying masks resulted in freeing the same pixmap twice and an X error. This fixes the bitmap unit test for wxX11.

2010-11-10 14:52 VZ, revision 66096

Don't test for DC validity in wxX11 wxDC text extent functions. The code in GetTextExtent() and GetChar{Width,Height}() works fine even for non-initialized wxMemoryDC and the ellipsization unit test relies on this working so simply remove the asserts which resulted in the test failures.

2010-11-10 14:52 VZ, revision 66095

Disable measuring context unit test for wxX11. wxCairoRenderer::CreateMeasuringContext() is only implemented for wxGTK so the test fails under other ports when using Cairo. Disable it for wxX11 for now.

2010-11-10 14:52 VZ, revision 66094

Use Cairo for wxGraphicsContext in wxX11. Check for Cairo in configure for wxX11 too. Fix compilation of wxCairoContext for non-{GTK,MSW} platforms. Also make wxUSE_CAIRO a "normal" option, i.e. add it to all wx/setup.h files instead of defining it as 1 unconditionally for wxGTK and 0 for everything else.

2010-11-10 14:52 VZ, revision 66093

Disable unit test for wxColour alpha under wxX11. wxX11 doesn't support alpha component of wxColour currently.

2010-11-10 14:52 VZ, revision 66092

Fix signed/unsigned comparison warnings in wxUniv wxNotebook. Recent replacement of size_t wxNotebook::m_selection with int wxBookCtrlBase::m_selection resulted in appearance of many warnings in wxUniv wxNotebook. Fix them by removing some now unnecessary casts between int and size_t and adjusting the remaining ones.

2010-11-10 14:52 VZ, revision 66091

Add #if checks fixing minimal wxGTK build. Check for functions availability before using them. This fixes compilation of wxGTK with all features disabled.

2010-11-10 14:52 VZ, revision 66090

Fix harmless unused parameter warnings in minimal build. No real changes, just add some wxUnusedVar() to avoid warnings about parameters unused in some non-default build configurations.

2010-11-10 14:52 VZ, revision 66089

Don't exclude a bunch of wxDir methods when wxUSE_LONGLONG==0. The #endif part of a #if wxUSE_LONGLONG check was incorrectly positioned and excluded the definition of several wxDir methods not related to wxLongLong when wxUSE_LONGLONG was 0.

2010-11-10 14:52 VZ, revision 66088

Fix wxGLCanvas compilation with wxUSE_PALETTE==0. This fixes compilation problems with the minimal build of wxGTK and will make removing palette support in the future simpler.

2010-11-10 14:51 VZ, revision 66087

Fix wxStandardDialogLayoutAdapter compilation with wxUSE_BUTTON==0. This class probably should not be compiled in at all in the minimal build but in the meanwhile just add #if checks around its button-related parts.

2010-11-10 14:51 VZ, revision 66086

Make wxBitmap::ConvertToDisabled() available in all ports. This method was defined in wxBitmapBase which is not used by wxMSW (and wxOS2) so it wasn't available there. Move the definition of the method inline and reuse it for all ports, making it part of either wxBitmapBase or wxBitmap as appropriate. This is clearly ugly but we still have no good solution for deriving wxBitmap from wxBitmapBase in wxMSW as it already inherits from MSW-specific wxGDIImage there. Also document that ConvertToDisabled() is only available when wxUSE_IMAGE==1.

2010-11-10 01:36 VZ, revision 66082

Disconnect "hide" menu signal to fix menu destruction in wxGTK. The "hide" signal handler was triggered when destroying a sub-menu (even if it was not shown at this time). Disconnect it to avoid asserts due to attempts to generate an event for an already detached menu and to avoid the (bogus) wxEVT_MENU_CLOSE event as well. Closes #12668.

2010-11-10 01:36 VZ, revision 66081

Add a test for deleting a sub-menu to the menu sample. Also fix some typos in the help message. See #12668.

2010-11-10 01:36 VZ, revision 66080

Fix wxUSE_DC_CACHEING spelling in the documentation. It was consistently misspelt as wxUSE_DC_CACHE. Closes #12377.

2010-11-10 01:36 VZ, revision 66079

No changes, just simplify docview sample a bit. Remove some unnecessary function arguments and m_frame member variable. Closes #12374.

2010-11-10 01:36 VZ, revision 66078

Correct wxID_SEPARATOR description in menu documentation. Also correct a typo in Delete() function links. Closes #12666.

2010-11-10 00:53 VZ, revision 66077

Fix preprocessor definitions for wxBase build under OS X. Define __WXOSX__ for non-GUI build under Darwin. Ensure that the rest of the code compiles correctly when just __WXOSX__ is defined but neither of __WXOSX_{CARBON,COCOA,IPHONE}__ is. This ensures that wxBase can actually be built under Mac. Move OS X symbols definitions in wx/platform.h after wx/setup.h inclusion as they rely on __DARWIN__ and wxUSE_GUI values which are both define in that file now. Still keep them before wx/chkconf.h inclusion which relies on __WXOSX_XXX__ being defined. Yes, it's a mess and should be cleaned up more permanently some day. Also remove some redundancy from wx/osx/{carbon,cocoa}/private.h by factoring out common parts into wx/osx/core/private.h. Also include this header itself from wx/osx/private.h directly instead of including it thrice from different sub-ports headers. Closes #12660.

2010-11-10 00:53 VZ, revision 66076

Fix timeval struct initialization in wxSelectDispatcher. The tv_usec field could overflow its maximal value while tv_sec was always left 0. It would be even better to reuse SetTimeValFromMS() from socket.cpp here in the future. See #11542.

2010-11-10 00:53 VZ, revision 66075

Fix crash in wxCFEventLoop::AddSourceForFD(). Don't reset CFFileDescriptorRef before passing it to CFFileDescriptorCreateRunLoopSource(), this resulted in a crash inside this function. Closes #11542.

2010-11-10 00:53 VZ, revision 66074

Remove non-existent functions declarations from wxOSX/Carbon. wxMacSetupConverters() and wxMacCleanupConverters() don't seem to exist any more so don't declare them.

2010-11-08 17:28 VZ, revision 66071

Document wxRenameFile() behaviour when destination is a directory. Document that the source file is moved to the destination if it's a directory, apparently this is not obvious.

2010-11-08 17:28 VZ, revision 66070

Unload bogus XRC resources in "garbage" unit test. Leaving invalid XRC entries in wxXmlResource internal list of loaded resources resulted in failures in the XRC unit test which executed after this one. It seems that loading an invalid resource shouldn't prevent the other ones from loading correctly later and this probably should be corrected at wxXmlResource level but for now work around this problem in the test itself.

2010-11-08 14:50 VZ, revision 66069

Fix crash in XRC ID range support code. Really fix removing the record from the linked list. This code was modified by r66064 but was still wrong because the wrong pointer was updated.

2010-11-07 23:13 VZ, revision 66066

Compilation fix for STL build after ID range changes in XRC. Fix compilation of the new code which relied on implicit conversion of wxString to "const char *" which is unavailable when wxUSE_STL==1.

2010-11-07 20:34 VZ, revision 66065

Factor our hash function used for XRC ids hash map. Define the hash function in a separate function instead of duplicating it in XRCID_Lookup() and RemoveXRCIDEntry(). The hash function is extremely simplistic and inefficient right now, it should be replaced with wxStringHash::stringHash().

2010-11-07 20:33 VZ, revision 66064

Fix memory leak of XRC ids introduced by the ID range support patch. Fix bug in linked list processing in RemoveXRCIDEntry() added in r66059: it incorrectly overwrote the XRC id table entry with the next element in the list instead of just updating the pointer used during iteration.

2010-11-07 20:33 VZ, revision 66063

Reformat long lines in the new part of the xrc sample. No changes, just break the too long lines.

2010-11-07 20:33 VZ, revision 66062

Use Connect() of Bind() in the new part of xrc sample. Use Connect() for compatibility (notably with VC6 which doesn't support Bind()). Also connect the event handlers on loading the dialog instead of waiting until the relevant page is selected, this makes the code slightly simpler as we don't need to remember whether we connected them or not any longer.

2010-11-07 20:33 VZ, revision 66061

Test both ChangeSelection() and SetSelection() in notebook sample. Test wxBookCtrl::SetSelection() too to be able to check that it does generate events as expected.

2010-11-07 20:33 VZ, revision 66060

Don't require skipping "page changed" event in wxMSW wxNotebook. wxMSW wxNotebook implementation used to handle EVT_NOTEBOOK_PAGE_CHANGED event to update the currently shown page which meant that page changing was broken if the user code handled and didn't skip this event. As the other ports don't require the user code to skip this event, don't do this in wxMSW neither and always update the selected page unconditionally.

2010-11-07 15:00 VZ, revision 66059

Add support for id ranges to XRC. Allow to declare ranges of consecutive IDs in XRC by using the "id[n]" syntax. Show this functionality in the xrc sample and test it in the new unit test. Also show and test the "object reference" XRC functionality. Closes #11431.

2010-11-07 15:00 VZ, revision 66058

Make wxXmlResource::ReportError() wxXmlNode parameter const. This function (and the related DoReportError()) doesn't need to modify its "context" argument so take a const-pointer in it. See #11431.

2010-11-07 15:00 VZ, revision 66057

Mention the GUI test in the unit test tech note. Update the tech note to mention the (relatively) new GUI test program too. See #11431.

2010-11-07 15:00 VZ, revision 66056

Update and reorganize XRC overview to make it more useful. Emphasize the parts most useful for the new users instead of more advanced concepts and generally make the text more readable. Closes #12661.

2010-11-07 14:44 PJC, revision 66055

Add support for toggle buttons to wxRibbonButtonBar.

2010-11-07 14:16 VZ, revision 66054

Fix build with Borland C++ compiler. Disable some parts of the code that this compiler had problems with. Add parentheses to work around its bugs elsewhere. Closes #12558.

2010-11-07 14:12 VZ, revision 66053

Update all windows associated with the tooltip when it changes in wxMSW. Although the tooltip was initially correctly set for all windows associated with it, it was only updated for the main one if its text changed later. This resulted in leaving the old tooltip for the composite controls such as wxComboBox or controls with sub-windows such as wxRadioBox. Fix this by storing all windows associated with the tooltip (for space efficiency, only allocate the array if necessary however as it will be empty in the majority of cases) and apply SetTip() to all of them, not just the main one. Closes #12659.

2010-11-07 12:54 SC, revision 66052

disable code because of OS bug, fixes #12478, fixes #12554

2010-11-07 00:46 PJC, revision 66051

Improve behaviour of scrolling through a ribbon gallery.

2010-11-06 16:48 SC, revision 66048

routing the tab, return events for single line fields back to standard wx handler (doesn't work for secure fields unfortunately), fixes #12386 and partly #12392

2010-11-06 16:37 SC, revision 66047

implementing turning off of default button as well

2010-11-05 22:43 VZ, revision 66043

Minor cosmetic fix to generic check tools appearance in wxOSX. Use rounded rectangle to indicate the selected tool instead of a plain one. Closes #12409.

2010-11-05 22:43 VZ, revision 66042

Fix check toolbar items behaviour in non-native toolbars in wxOSX. Update the button state when the tool is toggled. Also use NSToggleButton for this tool and not NSOnOffButton as the latter doesn't use the alternative (toggled) image. Closes #12408.

2010-11-05 22:43 VZ, revision 66041

Avoid using wx GDI classes from non-main thread in wxOSX/Cocoa. OS X uses a background thread for pulsing the default button and we intercept the draw requests from it. As our drawing code is not MT-safe, executing it from the non-main thread can result in crashes. Avoid this by simply not doing anything fancy when called from a background thread and simply deferring to the superclass instead. Closes #12407.

2010-11-05 22:43 VZ, revision 66040

Really update tooltip when wxToolBar::SetShortHelp() is called. Changing a toolbar tool tooltip didn't work in wxOSX/Cocoa because the new value was never propagated to the native control. See #12362.

2010-11-05 22:43 VZ, revision 66039

Remove trailing comma from an enum. Comma after last enum element is not allowed in C++98 and some compilers will warn about it. Closes #12591.

2010-11-05 22:42 VZ, revision 66038

Show the first, not the last, inserted item in wxListBox in wxOSX. The listbox showed its last, not first, item after creation in wxOSX which was inconsistent with the other ports and generally inconvenient. Fix this by ensuring that the first item being inserted is shown, and not the last one as was (implicitly) the case before. A better fix would be to avoid scrolling entirely but I don't know how to do this with NSClipView. Closes #12365.

2010-11-05 22:42 VZ, revision 66037

Use CGFloat instead of float for mouse wheel event parameters. This fixes mouse wheel handling in 64 bits where CGFloat has size different from float. Closes #12168.

2010-11-05 22:41 VZ, revision 66036

Fix showing the frames full screen under OS X. Don't leave space for the title bar when showing the frame full screen. Closes #11701.

2010-11-05 22:40 VZ, revision 66034

Improve default position for new TLWs in wxOSX. Put the new windows in the upper left corner of the screen but not at (0, 0) as before, this was rather inconvenient and too different from the normal application behaviour under OS X. Closes #11926.

2010-11-05 22:40 VZ, revision 66033

Ensure that strings returned by wxMBConv_cf are in NFC form. Normalize all Unicode strings used internally even though the Darwin kernel gives them to us in decomposed (NFD) form. Closes #11730.

2010-11-05 22:39 VZ, revision 66032

Remove duplicate wxEVT_COMMAND_TEXT_ENTER generation from wxOSX/Cocoa. The code in -[wxNSTextField control:textView:doCommandBySelector:] generated a second copy of this event as it was also generated from wxNSTextFieldControl::controlAction() for single line text controls. Closes #11691.

2010-11-05 22:39 VZ, revision 66031

Don't update scrollbars when the window is being destroyed in wxOSX. Updating scrollbars for a window that is being destroyed anyhow is useless and resulted in crashes in the htlbox sample because it used client-to-screen coordinates conversion which asserted because the TLW was invalid any more and this unexpected assert during window destruction led to a crash. Simply don't do it at all to avoid the problem. Closes #11776.

2010-11-05 22:39 VZ, revision 66030

Fix crash in wxColour ctor from NSColor in wxOSX/Cocoa. wxColour ctor from NSColor added by Kevin Ollivier in r62525 never worked as it passed NULL pointer to NSColor:getComponents and so always crashed. This resulted in a crash in the rich text editor of the text sample, for example. Fix this by passing a valid array containing colour components instead.

2010-11-05 22:38 VZ, revision 66029

Remove unnecessary wxOSX_USE_COCOA guards in Cocoa-only file. The #if wxOSX_USE_COCOA seems unnecessary in a file that is used in wxOSX/Cocoa only so simply remove it.

2010-11-05 22:38 VZ, revision 66028

Assume sizeof(wchar_t) is always 4 under OS X. wchar_t used to be 2 bytes in Mach-O builds but they're not supported any longer so remove the code checking for sizeof(wchar_t) and just assume it's always 4. Closes #10442.

2010-11-05 22:37 VZ, revision 66027

Add another test for the insertion point position after SetValue(). Verify that setting the value of a previously not empty control resets the insertion point to its beginning. See #10051.

2010-11-05 22:37 VZ, revision 66026

Disable keyboard unit test with wxUIActionSimulator under OS X. The test doesn't work because the test window never get any events. This might be a bug in the test or in wxUIActionSimulator itself but for now I just have no idea about how to fix it, so disable the test to let the rest of the test suite run.

2010-11-05 17:05 CE, revision 66022

add execmon to CE exclude (no console)

2010-11-05 16:45 CE, revision 66021

missing namespace

2010-11-05 16:24 CE, revision 66019

missing namespace

2010-11-05 13:53 VZ, revision 66018

Remove test code accidentally committed as part of r66015. Don't call wxMenuItem::Set{Background,Text}Colour() in the menu sample, this was for testing only.

2010-11-05 07:55 JJ, revision 66017

Update OpenVMS makefiles

2010-11-04 17:13 VZ, revision 66016

Correct a trivial typo in wxLog documentation. Just remove an extra word.

2010-11-04 11:57 VZ, revision 66015

Use explicit menu item background if it's given under MSW. An explicit item background colour specified in user code should override the default theme background. Closes #12652.

2010-11-04 11:57 VZ, revision 66014

No changes, just use RAII-based classes in MSW owner drawn menu code. Add helper HDC{TextCol,BgCol,BgMode}Changer classes which ensure that the corresponding HDC attribute is reset on scope exit instead of manually calling the corresponding MSW functions to set and reset it.

2010-11-04 11:49 VZ, revision 66013

Pas long to _get_timezone() even for VC8. Apparently the MSDN documentation for VC8 is wrong and _get_timezone() function expects a long and not int when using it (as is already the case with VC9 and VC10). Closes #12653.

2010-11-04 08:38 JJ, revision 66012

Updating makefiles for OpenVMS

2010-11-04 00:48 VZ, revision 66009

Remove unused mouse event handler from dataview sample. The mouse event handler for the frame was never executed because the frame is entirely covered by other windows in this sample. Not sure what was meant here but this handler is useless so just remove it.

2010-11-04 00:48 VZ, revision 66008

Remove unnecessary tests for m_log from dataview sample. The sample contained a lot of unnecessary checks for m_log, remove them to make the code shorter and simpler to understand.

2010-11-03 17:36 VZ, revision 66007

Add wxAuiPaneInfo::IsDockable(). This function checks if the pane can be docked at any side. It is useful in its own right but most importantly is needed to fix compilation broken in r66005 which used it before it was added. See #12648.

2010-11-03 17:29 VZ, revision 66006

Set column field of wxDVC ITEM_{ACTIVATED,CONTEXT_MENU} events. Add missing calls to wxDataViewEvent::SetColumn() and SetDataViewColumn(). In the future it would be nice to refactor the code to have a common event object initialization function that would make it impossible to forget to do this. Closes #12649.

2010-11-03 17:29 VZ, revision 66005

Don't dock undockable panes in wxAuiManager::LoadPerspective(). All panes were docked when loading a perspective, including those that were created to be non-dockable. Don't dock the latter ones now. Closes #12648.

2010-11-03 17:29 VZ, revision 66004

Optimize wxDataViewMainWindow::FindNode() in generic wxDataViewCtrl. Avoid unnecessary heap allocations and extra indirections and just use the items pointers directly. Also avoid copying the (potentially huge) nodes arrays. Closes #12647.

2010-11-03 17:29 VZ, revision 66003

Don't copy potentially big arrays in generic wxDataViewCtrl. Use reference to hold the array of nodes instead of copying it. (Really) closes #12587.

2010-11-03 17:29 VZ, revision 66002

Handle wxLOCALE_DECIMAL_POINT in wxLOCALE_CAT_MONEY correctly in wxMSW. Use LOCALE_SMONDECIMALSEP and not LOCALE_SDECIMAL when querying for the decimal separator in money category, it can be different from the usual numeric one.

2010-11-03 17:29 VZ, revision 66001

Support wxLOCALE_THOUSANDS_SEP in wxMSW wxLocale::GetInfo(). Simply use ::GetLocaleInfo(LOCALE_STHOUSAND) for it. Closes #12643.

2010-11-03 15:44 JJ, revision 66000

replace m_nSelection by m_selection

2010-11-03 09:54 JJ, revision 65999

Update OpenVMS compile support

2010-11-02 23:55 VS, revision 65997

Fix compilation error in wxImplicitConversionType<> in gcc strict mode.

2010-11-02 12:57 VZ, revision 65994

Use _get_timezone() function instead of _timezone with MSVC8+. While some (but not all) versions of VC8 CRT still define _timezone variable, it is deprecated and shouldn't be used and referencing it can result in linking problems if it pulls in static CRT. Just use _get_timezone() function instead for the VC versions that support it (as was already done in r54417 for VC8 in 2.8 branch). Closes #4691.

2010-11-02 12:57 VZ, revision 65993

Make write end of the child process pipe non-blocking under Unix. We need to make at least one end of the pipe used to communicate with wxExecute() child process non-blocking to avoid deadlocks, so unblock the write end of the pipe. It seems to be unnecessary to unblock the reading ends of std{out,err} pipes as we can already check for the presence of input there. This is also consistent with wxMSW behaviour. Closes #12636.

2010-11-02 12:57 VZ, revision 65992

Refactor: extract code to make an fd non-clocking into a function. Simply extract part of the code from evtloopunix.cpp into a reusable wxPipe::MakeNonBlocking() function to be able to reuse it elsewhere. See #12636.

2010-11-02 12:57 VZ, revision 65991

Don't scroll the grid too much to bring selection in view. wxGrid scrolled completely to the right in row selection mode as it was always trying to make the bottom right selection corner visible. This was due to adjusting the selection block corner to cover the entire row in this mode (of course, the same was true for the column selection mode too). Don't do this any more as it's unnecessary, making the real selection block corner visible is enough for the block selection mode and nothing else is needed in row/column modes. See #12638.

2010-11-02 12:57 VZ, revision 65990

Changed wxImage::ConvertAlphaToMask() return type to bool. Make this function more useful by returning true from it if alpha channel was really converted to the mask by it. Closes #12637.

2010-11-02 12:57 VZ, revision 65989

Avoid crash when releasing the mouse in wxRibbonToolBar. The active tool pointer can be changed/set to NULL by the event handler in wxRibbonToolBar::OnMouseUp() so test for it before using it after processing the event. Closes #12640.

2010-11-02 04:09 RD, revision 65987

Add some asserts to ensure cols and rows are >= 0 to avoid crashes

2010-11-02 04:07 RD, revision 65986

Fix return types on wxRect::Inflate and Deflate

2010-11-01 18:01 PMO, revision 65974

More wxRadioBox implementation

2010-11-01 18:00 PMO, revision 65973

Improved naming for internal functions

2010-11-01 13:30 PMO, revision 65971

Update to trunk r65969

2010-11-01 12:58 JJ, revision 65970

Create work-around for wxGetEnvMap on OpenVMS (correction)

2010-11-01 10:48 JJ, revision 65969

Create work-around for wxGetEnvMap on OpenVMS

2010-10-31 14:41 VZ, revision 65968

Make wxMBConv_iconv MT-safe by not using wxString in it. Use just "char *" for wxMBConv_iconv::m_name to avoid MT-safety problems related to using a wxString (which is not always MT-safe) from multiple threads. See #12630.

2010-10-31 14:33 VZ, revision 65967

Avoid events when implicitly selecting first wxBookCtrl page. The first page added to a wxBookCtrlBase-derived control is always selected, even if "bSelect" argument of AddPage() was false. This is necessary because a non-empty book control must always have a selection but the "selection changed" event generated when doing it is unexpected. Fix this by not generating any events when the first page is implicitly selected. Closes #12075.

2010-10-31 12:37 VZ, revision 65966

Reposition wxSpinCtrl correctly after reparenting it in wxMSW. The position of wxSpinCtrl after reparenting was wrong because we didn't remember the old position early enough. There also was a more minor bug which resulted in the position not being set correctly if (any of its components) was -1 before reparenting. Closes #12633.

2010-10-31 12:37 VZ, revision 65965

Destroy correct HWND in wxMSW wxSpinCtrl::Reparent(). NULL HWND was passed to ::DestroyWindow() as wxWindow::UnsubclassWin() NULLed it after unsubclassing. See #12633.

2010-10-31 01:51 VZ, revision 65964

Document wxMessageQueueError. Document the enum defining the error codes of wxMessageQueue<> class. Closes #12634.

2010-10-31 01:51 VZ, revision 65963

wxUniv/MSW compilation fix in wxWindowBase::GetDlgUnitBase(). This wxWindowBase method can't access protected m_font member of another wxWindow object -- but can access it in wxWindowBase object. Closes #12358.

2010-10-31 01:51 VZ, revision 65962

No changes, just use AutoHBITMAP instead of manual DeleteObject() in wxMSW. Use RAII AutoHBITMAP class instead of manually calling DeleteObject() on temporary bitmaps in wxMSW wxImageList and wxBitmap code.

2010-10-31 01:51 VZ, revision 65961

Fix conversion of bitmaps with alpha to icons/cursors in wxMSW. CreateIconIndirect() applies pre-multiplication to the bitmap itself (as can be seen by experimenting with this or reading WINE sources for it) and so we must pass it a bitmap with data in non-pre-multiplied format to avoid doing it twice. This is similar to the change to wxImageList in the previous commit, see #9050.

2010-10-31 01:50 VZ, revision 65960

Add bitmaps in non-premultiplied format to wxImageList in wxMSW. ImageList_Draw() applies pre-multiplication to the bitmap itself (as can be seen by experimenting with this or reading WINE sources for it) and so the image list must store bitmaps with data in non-pre-multiplied format to avoid doing it twice. Do it by converting wxBitmaps passed to wxImageList::Add() and Replace() to wxImage and then to non-pre-multiplied DIBs. This is obviously very inefficient but at least results in correct appearance of images drawn by wxImageList so it's a step forward. Closes #9050.

2010-10-31 01:50 VZ, revision 65959

Allow creating DIBs storing pixels in non-premultiplied format in wxMSW. wxDIB assumed that MSW always uses bitmaps in pre-multiplied pixel format but this turns out to be wrong: some Windows functions such as ImageList_Draw() or CreateIconIndirect() apply pre-multiplication internally and so must be given data in non-pre-multiplied format on input. This commit adds a possibility to create wxDIB in such format but doesn't use it anywhere yet, this will be done in subsequent commits. See #9050.

2010-10-31 01:50 VZ, revision 65958

Make it impossible to initialize AutoHBITMAP after construction. Add default ctor and Init() method to wxMSW private AutoHBITMAP class. This doesn't change anything for now but will be used by an upcoming commit.

2010-10-31 01:50 VZ, revision 65957

Fix fatal bug in wxGetWindowFromHWND() for radio buttons. wxGetWindowFromHWND() could crash if it was called for a HWND of a radio button which was not created by wxWidgets because it blindly dereferenced the user data associated with the button expecting it to be a pointer to wxRadioBox and crashed if it was something different. And this actually happened when using the standard Windows printing dialog which can contain radio buttons which obviously used their user data field for their own purposes. Fix this by maintaining a global hash map with radio buttons HWNDs as keys and radio boxes as values. This ensures that we can always safely check whether the given HWND is a radio button in one of our radio boxes or not. Also change wxSpinCtrl which already did something similar in a different way (using an array instead or a more efficient hash map) for consistency. Closes #12083.

2010-10-31 01:50 VZ, revision 65956

Restore the old logger in wxLogChain dtor instead of deleting it. wxLogChain was leaving the global log target pointing to a deleted object, resulting in crashes when using wxLogWindow without any explicit SetActiveTarget() calls. Restore the original logger as the active target in wxLogChain dtor to ensure that the active log target remains valid.

2010-10-31 01:50 VZ, revision 65955

Fix confusion with LOGFONT{A,W} parameters to MSW GetTheme[Sys]Font(). Change the signature of GetThemeFont() and GetThemeSysFont() methods of wxUxThemeEngine to take an artificial wxUxThemeFont::Ptr type instead of LOGFONT which allows the broken code to compile correctly and even work in Unicode builds but crashed in ANSI ones under Windows Vista/7 as these functions expect a LOGFONTW and not LOGFONTA even in non-Unicode build under these systems. This generalizes the previous fix/workaround for the same problem in wxStaticBox so remove it now and use wxUxThemeFont both there and in wxMenuItem to avoid crashes when using owner-drawn menus in ANSI build. Closes #12364.

2010-10-31 01:50 VZ, revision 65954

No real changes, just cleanup of wxMSW MenuDrawData. Derive MenuDrawData::Margins from Windows MARGINS struct to avoid ugly (and potentially dangerous) reinterpret_cast<>s when using it. Also add some helper functions to Margins to make using it less painful.

2010-10-30 21:01 VZ, revision 65953

Use TAbs in debian/rules, not spaces, as it's a makefile. Fix make syntax error in debian/rules. Closes #12631.

2010-10-30 21:01 VZ, revision 65952

Fix order of arguments in wxOSX/Carbon wxListCtrl::ScrollList(). wxMacDataBrowserTableViewControl::SetScrollPosition() takes "top" and "left" arguments so swap "dx" and "dy" parameters being passed to it. It might be better to fix SetScrollPosition() to follow the more natural (at least from wx point of view) convention and as it's used in only a few places this wouldn't be difficult to do. But let's keep the changes to this code to the minimum for now. Closes #12339.

2010-10-30 17:57 VS, revision 65951

For large dataview controls, don't use all items to calculate best column width. Instead, use just top and bottom N/2 items for some large enough value of N. N is determined dynamically so that column best width calculation doesn't take more than 50ms.

2010-10-30 17:57 VS, revision 65950

Add wxDataViewRendererBase::PrepareForItem() helper. For calling SetValue() and SetAttr() consistently, instead of having the same code duplicated all over the place.

2010-10-30 17:57 VS, revision 65949

Account for text attrs in generic wxDataViewCtrl's renderers. When determining cell content's size, GetSize() measured the text using wxDataViewCtrl's font, even though it could be renderer in bold or italics. Corrected by setting the attributes - and not only the value - prior to GetSize() calls, and by using the right font in GetTextExtent() calls.

2010-10-30 17:57 VS, revision 65948

Add optional columns autosizing to wxDataViewCtrl. Only implemented in the generic and GTK+ versions at the moment, OS X support will be added later.

2010-10-30 17:57 VS, revision 65947

Add wxRenderer::GetHeaderButtonMargin(). Used for best size calculations of column width.

2010-10-28 18:41 PC, revision 65945

fix iconize event detection, logical operators don't work for testing bits

2010-10-28 16:23 VZ, revision 65944

Use floating point arithmetic in wxDC::GradientFillConcentric(). Use doubles to avoid accumulated rounding errors from using integers in the generic implementation of wxDC::GradientFillConcentric(). This results in smoother gradient. Also avoid using the expensive pow() function inside the inner loop when we just need to calculate a square. Closes #12337.

2010-10-28 16:23 VZ, revision 65943

Fix generic implementation of wxDC::GradientFillConcentric(). The selected colour was not used as the code simply changed the value of m_pen but didn't call SetPen() to actually use it. This resulted in always using the default (black) colour when drawing concentric gradients. Fix this by calling SetPen(). See #12337.

2010-10-28 16:23 VZ, revision 65942

Relax validation of wxCheckBox flags. Changes of r65824 resulted in asserts when creating wxCheckBox with just wxBORDER_NONE style. This is useless but used to be harmless so continue to allow this. Closes #12628.

2010-10-28 15:52 VZ, revision 65941

Improve positioning of wxSlider min/max labels in wxMSW. Put the min/max labels on the sides or a horizontal slider or above/below a vertical one to make them visually more distinct from the current value label. See #11427.

2010-10-28 12:27 VZ, revision 65940

wxOSX/Carbon compilation fix after wxListBoxBase changes. Making wxListBoxBase::CalcAndSendEvent() broke wxOSX/Carbon build, fix it by making the class which needs to call it friend of wxListBox in this port.

2010-10-28 12:27 VZ, revision 65939

Don't crash when waiting for thread termination in wxMSW. The changes of r65882 adding wxThread::On{Delete,Kill}() introduced a bug which made normal wxThread::Wait() crash. Fix it by calling OnDelete() only if we're really deleting a thread. Closed #12627, see #9046.

2010-10-28 01:22 VZ, revision 65938

Fix list box unit test under wxGTK. Select an item initially to prevent GTK from doing it automatically as soon as the listbox is clicked anywhere (even outside of the items area). This makes all GUI tests finally pass under wxGTK.

2010-10-28 01:22 VZ, revision 65937

No changes, just use wxGtkObject<> instead of g_object_unref(). Use smart pointer class instead of manually writing g_object_unref(). This makes code shorter and less error-prone.

2010-10-28 01:22 VZ, revision 65936

Don't duplicate event sending code in wxGTK wxListBox. Reuse wxListBoxBase::SetEvent() instead of duplicating its code in wxGTK. Also get rid of the code checking for selection of the item with index -1: this can't happen any more since r65865 which changed GTK_SELECTION_SINGLE to GTK_SELECTION_BROWSE.

2010-10-28 01:21 VZ, revision 65935

Don't send SELECTED events for an already selected item in wxGTK wxListBox. Bring wxGTK in line with wxMSW behaviour and avoid sending the wxEVT_COMMAND_LISTBOX_SELECTED events when the user clicks on an already selected item. Refactor wxMSW code to extract the logic to avoid such events into a reusable in other ports wxListBoxBase::DoChangeSingleSelection() function. Also add wxListBox::GTKOnSelectionChanged() to wxGTK to avoid having to make the new function public just so that it could be called by GTK callback and make the previously existing CalcAndSendEvent() protected as well. This fixes a unit test failure in ListBoxTestCase::ClickEvents() under wxGTK.

2010-10-27 23:41 VZ, revision 65934

wxOSX compilation fix: remove just added extra semicolon. r65931 forgot to remove a now extra semicolon from wx/osx/notebook.h, fix it.

2010-10-27 22:23 VZ, revision 65933

Fix warnings about signed/unsigned comparisons inside wxMax() and friends. wxMax, wxMin and wxClip work correctly when called with a mix of signed and unsigned arguments but give warnings about comparing them when compiled with g++. Cast both arguments to the result type, which is defined consistently with standard C rules for implicit promotion, before comparing them to avoid this. Also add more tests to check that using these functions in this case doesn't provoke warnings.

2010-10-27 21:42 RR, revision 65932

Use window-state-event to send ICONIZE events under GTK+, probably fixes #10973: Iconize event triggered when switching workspaces with Ctrl+Alt+[Arrow Key]

2010-10-27 18:54 VZ, revision 65931

Refactor: use wxBookCtrlBase::m_selection in all derived classes. All book control classes with the exception of wxGTK wxNotebook stored the currently selected page in m_selection or m_nSelection (or, in wxUniv wxNotebook case, m_sel) variable. Remove all of them and add m_selection directly to the base class itself so that it can be reused everywhere. Closes #12622.

2010-10-27 18:54 VZ, revision 65930

No real changes, just replace -1 with wxNOT_FOUND in wxBookCtrl code. Make the code consistently use wxNOT_FOUND instead of -1 everywhere. See #12622.

2010-10-26 17:11 VZ, revision 65929

Don't dispatch messages while waiting in worker thread in wxMSW. We only want to continue dispatching messages while waiting for another thread to terminate if we are waiting in the main thread. Closes #12618.

2010-10-26 17:11 VZ, revision 65928

Compilation fix for wxUSE_UNICODE_WCHAR && !wxUSE_STL_BASED_WXSTRING. Construct wxScopedWCharBuffer using CreateNonOwned() in wxString::ToStdWstring() in this case, creating it directly from wc_str() doesn't work (intentionally, as this doesn't tell if the buffer owns the string or not).

2010-10-26 17:10 VZ, revision 65927

Better document wxAutomationObject::GetDispatchPtr() return value. This function returns IDispatch pointer as a void one, mention that the user code needs to upcast it itself. Closes #12617.

2010-10-26 17:10 VZ, revision 65926

Rebake to add wx/meta/implicitconversion.h to the makefiles. Rebake after the addition of a new public header in r65920. Closes #12616.

2010-10-25 23:52 VZ, revision 65924

Mention that resource forks are deprecated under Mac in wxCursor docs. See #12614.

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