Commit Graph

61681 Commits

Author SHA1 Message Date
Maarten Bent
9e07ba8fae Support SetDeviceOrigin and SetAxisOrientation in wxSVGFileDC.
Override SetDeviceOrigin, SetLogicalOrigin and SetAxisOrientation from wxDC and mark the graphics as changed, so the correct transform translations are applied.
2016-06-12 18:40:11 +02:00
Maarten Bent
1717db0373 Improved memory management in wxSVGFileDC. 2016-06-12 18:40:11 +02:00
Maarten Bent
c7e4b301d0 Add saving as SVG to drawing sample.
Changed the colour of the third star-polygon to test brush pattern with different colours.
Use the width and height of the scroll panel as image size.
2016-06-12 18:40:11 +02:00
Maarten Bent
b55a18f6b8 Generate valid XML in wxSVGFileDC and updated wxSVGVersion.
Use the correct doc-type and specify the encoding. 'title' is not a valid attribute of <image> so remove it.
Removed superfluous white-space and improved indenting in generated XML.
2016-06-12 18:40:10 +02:00
Maarten Bent
045265a7bb Allow to set the SVG title when creating a wxSVGFileDC. 2016-06-12 15:59:28 +02:00
Maarten Bent
2171d407e1 Support more brush styles in wxSVGFileDC. 2016-06-12 15:59:27 +02:00
Maarten Bent
4641710217 Support more pen styles in wxSVGFileDC. 2016-06-12 15:59:27 +02:00
Maarten Bent
3cc4d51c9b Implemented Clear in wxSVGFileDC.
Draw a rectangle with the background colour and a transparent pen.
Closes #15788.
2016-06-12 15:59:27 +02:00
Maarten Bent
b424445078 Improvements to printing text in wxSVGFileDC.
Support underlined and strike-through text.
Set the text length (see http://trac.wxwidgets.org/ticket/17271).
Preserve leading and trailing white-space.
Use wxS macro consistently.
Closes #17271.
2016-06-12 15:59:27 +02:00
Maarten Bent
b4c9927892 Support multi-line text in wxSVGFileDC. 2016-06-12 15:59:26 +02:00
Maarten Bent
5084c6d423 Draw lines in wxSVGFileDC as one connected line.
Do not draw each line separately because the lines will not be connected. E.g. when editing a SVG, moving a point should also move the connecting lines.
2016-06-12 15:59:26 +02:00
Maarten Bent
444c5fd630 Correctly draw poly-polygons in wxSVGFileDC.
Each polygon in the poly-polygon needs to end with the start-point. The implementation is similar to the wxDCImpl implementation, except for the extra end points that are inserted.
2016-06-12 15:59:26 +02:00
Maarten Bent
ebab640578 Enable usage of clipping regions in wxSVGFileDC.
It was implemented 3 and half years ago in 614e38d.
Close remaining clipping regions when closing the SVG file.
2016-06-12 15:59:26 +02:00
Artur Wieczorek
9d137f494a Updated changelog. 2016-06-11 23:24:13 +02:00
Artur Wieczorek
f06bfe37ae Fixed creating wxGraphicContext from native DC with Cairo renderer (MSW).
When x- or y-coordinate of DC origin > 0 then surface created with cairo_win32_surface_create() is not fully operational (for some Cairo operations memory access violation errors occur - see Cairo bug 96482) so in this case we would need to apply a workaround and pass non-transformed DC to Cairo and next apply original DC transformation to the Cairo context operations on our own.

Closes #17564
2016-06-11 23:20:12 +02:00
Artur Wieczorek
a735371b0e Fixed creating wxGraphicsContext with Direct2D renderer.
When render target to draw to a DC (created with ID2D1Factory::CreateDCRenderTarget method) is bound to the device context with ID2D1DCRenderTarget::BindDC method then not only the logical size of a DC needs to be taken into account but also the origin of this DC.
To get proper drawing output the coordinates of all drawing operations should be internally adjusted by this initial origin.
This corrective translation should be used only internally by wxGraphicsContext object and shouldn't be exposed through e.g. GetTransform() function and therefore it is stored separately (in a dedicated variable) and "subtracted" from actual transformation settings for reporting purposes.

See #17564
2016-06-11 23:18:09 +02:00
Vadim Zeitlin
3eae97d2d7 Improve documentation of pickers MUST_EXIST styles
Mention that it's still possible to enter a non-existent file or directory
into a control with wxFLP_FILE_MUST_EXIST/wxDIRP_DIR_MUST_EXIST style if it
has a text control.

Also update SetPath() documentation to mention that non-existent paths are
allowed when text control is used.
2016-06-09 17:03:51 +02:00
Vadim Zeitlin
023ee99ea7 Don't crash in wxTextFile::GetLastLine() if the file is empty
Just return a reference to an empty wxString, as GetFirstLine() already does
(although this is actually questionable -- what if this string is modified?).

See #17283.
2016-06-09 16:48:01 +02:00
Vadim Zeitlin
dd562649f0 Fix recently broken wxPickerBase::SetPickerCtrlGrowable()
Resetting growable flag didn't work correctly after the changes of
0d86c01b8b, fix this and reuse the same code for
both this function and SetTextCtrlGrowable().

See https://github.com/wxWidgets/wxWidgets/pull/296
2016-06-09 15:24:44 +02:00
Jouk
2e67381548 re-adding files that disappeared 2016-06-09 13:57:41 +02:00
Paul Cornett
acc824adc4 Fix building/running with GTK+ < 2.14
See https://github.com/wxWidgets/wxWidgets/pull/293
2016-06-08 22:14:50 -07:00
Paul Cornett
c3a224690e Also fix crash with GTK+ < 3.8 in wxMimeTypesManager code
GtkIconInfo is not a GObject prior to 3.8, not just in GTK+ 2.
See https://github.com/wxWidgets/wxWidgets/pull/293
2016-06-08 21:15:41 -07:00
Vadim Zeitlin
c4d06e8117 Merge branch 'pickers-appearance'
Miscellaneous picker control related fixes, notably fix background and improve
small button size under MSW.

Also make wxSIZE_FORCE_EVENT really work in wxMSW and remove the now unneeded
src/msw/panel.cpp.

See https://github.com/wxWidgets/wxWidgets/pull/296
2016-06-08 20:29:26 +02:00
Vadim Zeitlin
3c4f51df70 Fix crash with GTK+ 2 in wxMimeTypesManager code
Fix the crash introduced by 4dfde501df: we can't
use g_object_unref() to free GtkIconInfo with GTK+ 2.

See https://github.com/wxWidgets/wxWidgets/pull/293
2016-06-08 15:35:58 +02:00
Vadim Zeitlin
bd388e9827 Make wxBU_EXACTFIT buttons less tall in wxMSW
The ellipsis buttons of wxFilePickerCtrl (and similar controls) with
wxFLP_SMALL style looked too big because their min height was greater than
that of the accompanying text control.

Fix this by making the buttons as tall as text controls and not as tall as
standard buttons, this seems to be more aesthetically pleasing.
2016-06-08 03:41:26 +02:00
Vadim Zeitlin
0d86c01b8b Deprecate wxPickerBase::GetDefaultXXXFlag() methods
They just seem completely useless, not documented and only used by wxPickerBase
itself internally. Replace the code using them with wxSizerFlags which is more
clear and also doesn't hard code the border sizes (especially in the case of
the picker control which doesn't even have borders in the first place) and
prepare for removing them later.
2016-06-08 02:51:53 +02:00
Vadim Zeitlin
c5825827fb Ensure that picker controls are laid out
A picker control could have a completely broken appearance if its size was
never changed from the initial size under MSW. For the picker controls inside
a sizer this was indirectly fixed by the previous commit ("Make
wxSIZE_FORCE_EVENT work if only position changed in wxMSW"), but the controls
not managed by a sizer still didn't come up correctly, so add an explicit
Layout() call to ensure they do.
2016-06-08 02:40:18 +02:00
Vadim Zeitlin
9e27a1ca3a Make wxSIZE_FORCE_EVENT work if only position changed in wxMSW
If the position changed but the size didn't, we just call Win32 API for
updating the window geometry but it didn't generate WM_SIZE in this case, so
even when wxSIZE_FORCE_EVENT was used, no wxSizeEvent was sent.
2016-06-08 02:31:19 +02:00
Dimitri Schoolwerth
54e6f6e7b8 Make a public free function private
In 29cd13cc8f the free function
MSWShouldBeChecked was introduced in toolbar.cpp and mistakenly made
inline. Fix by making it static instead.
2016-06-08 00:59:53 +02:00
Vadim Zeitlin
7f603c959f Move wxPanel::HasTransparentBackground() to wxControlContainer
This MSW-specific hack is actually needed by all windows containing more than
one control, even if they don't derive from wxPanel (which is just the most
commonly used class for such windows), otherwise the parts of the window not
covered by the child controls won't have the correct appearance when the
window itself is inside a wxNotebook.

So do this for all classes inheriting from wxNavigationEnabled<>, notably this
fixes the wrong background for all kinds of picker controls (wxDirPickerCtrl,
wxFilePickerCtrl, ...) when they're used inside a wxNotebook.

After moving this method out of wxPanel, src/msw/panel.cpp became empty, so
also delete it and remove it from {bake,make,project} files.
2016-06-07 22:08:51 +02:00
Vadim Zeitlin
45919829c0 Add gtk/mimetype.* files to bakefiles and rebake
This should have been part of 4dfde501df, see
https://github.com/wxWidgets/wxWidgets/pull/293
2016-06-07 14:38:41 +02:00
Vadim Zeitlin
4dfde501df Add support for returning item location to wxGTK wxMimeTypesManager.
This is a squash merge of gtk_mimetype branch from
https://github.com/Hanmac/wxWidgets.git with some extra minor cleanup.

Closes https://github.com/wxWidgets/wxWidgets/pull/293
2016-06-07 14:29:52 +02:00
Vadim Zeitlin
5f01172165 Compilation fix for wxUSE_STATUSBAR==0 build
This should have been part of 152b9fc0eb.

Closes #17553.
2016-06-07 14:29:52 +02:00
Mike Capone
4a3203bbe5 Use backslashes in MSW installation instructions
Also use %WXWIN% in the paths for clarity.

Closes https://github.com/wxWidgets/wxWidgets/pull/295
2016-06-07 14:29:52 +02:00
Mike Capone
b440b8d519 Simplify and extend .gitignore by using wildcards better
Combine lines with a single character difference using [].

Add ignoring 64bit folders from /build/msw/ section.

Add wildcards to the /lib/vc folders to account for possible COMPILER_PREFIX values.

Closes https://github.com/wxWidgets/wxWidgets/pull/294
2016-06-07 14:29:52 +02:00
Jouk
e7e93c9ec9 Update setup for OpenVMS 2016-06-07 13:45:06 +02:00
Dimitri Schoolwerth
392a2f17a9 Add some notes to how-to-release.md 2016-06-06 03:17:23 +04:00
Dimitri Schoolwerth
89dad67b3c Doc updates for 3.1.1 release
Update old version references, remove 3.1.0 release errata, and reset
sha1sums to zeroes.
2016-06-06 03:17:23 +04:00
Dimitri Schoolwerth
9a9a1199d4 Include all repository files in setup exe
Don't exclude non-MSW specific files any longer from the generated
installer for MSW. The space savings are hardly worth the effort:
originally 46.9 MiB (133 MiB installed) and with all files included 48 MiB
(142 MiB installed).
Also by having all files in the installer more exotic builds such as wxGTK
for MSW are available.
2016-06-06 03:05:05 +04:00
Vadim Zeitlin
a5ecde1314 Roughly show the current selection in the grid sample
Allow to quickly check that cell/block/row/column selection works as expected.

This could be made more detailed, e.g. by dumping all the selected cells/rows/
columns if there are not too many of them, but for now this will do.
2016-06-06 01:06:38 +02:00
Paul Kulchenko
e6a6748eaf Fix wxStyledTextCtrl::GetTextRangeRaw() for invalid positions
Don't return garbage if the input positions are out of range, just return an
empty string in this case.
2016-06-06 00:45:21 +02:00
Vadim Zeitlin
e9a836c9dc Work around gcc -Wmissing-field-initializers warning
Use wxZeroMemory() instead of just initializing CREDENTIAL struct with 0
(which probably more efficient, but almost certainly insignificantly so).
2016-06-06 00:30:42 +02:00
Artur Wieczorek
82a0e285d8 Added drawing rounded rectangles to the graphics benchmark.
This test is executed together with standard rectangles benchmark and both benchmarks are enabled with '--rectangles' option.
2016-06-05 23:14:48 +02:00
Artur Wieczorek
81d9208424 Optimize adding rounded rectangle to wxGraphicsPath
In AddRoundedRectangle() we know in advance (angle = 90 deg) or can easily determine (center point) parameters of all arcs at the vertices of the rectangle so instead of using AddArcToPoint() function which is generic and hence computationally expensive we can use AddArc() function which implementation is simpler and execution should be faster.
2016-06-05 22:07:16 +02:00
Artur Wieczorek
edabb01032 Add initial line segment when adding arc to wxGraphicsPath with GDI+
For the sake of compatibility with Cairo (and Direct2D) an initial line segment should be added to the path from the current point (if set) to the beginning of the arc.

Closes #17557
2016-06-05 19:00:13 +02:00
Vadim Zeitlin
cc37031d46 Minor optimization in wxGTK wxYield()
Don't call gdk_window_get_display() if we don't need it because we don't have
any events to put back into the display queue.
2016-06-05 00:55:20 +02:00
Vadim Zeitlin
1a438e786c Add a trivial "About" dialog to the uiaction sample
This will be used later for testing opening (and closing) this dialog
programmatically.
2016-06-05 00:10:13 +02:00
Vadim Zeitlin
ed73e4f624 Merge branch 'uisim-xtest'
Make wxUIActionSimulator work with GTK+3, including when using DPI scaling.
2016-06-04 22:44:25 +02:00
Vadim Zeitlin
b5dbc0eb73 Disable wxUIActionSimulator in wxGTK3 if --without-xtest was given
This class can't work without XTest support with GTK+ 3, so just silently
disable it if XTest was explicitly disabled by user.
2016-06-04 22:43:21 +02:00
yenwu
beaca78962 Fix vertical scrollbar visibility in wxStyledTextCtrl
Vertical scrollbar didn't appear even when the number of lines in the control
became one greater than the maximal fitting number of lines, but only when one
more line was added.

This seems to have been a simple off-by-one error in SetScrollbar() calls, so
fix this by adding 1 to the upper end of the range.

Closes #17548.
2016-06-04 22:27:00 +02:00