Temporary fix after the changes of r62323 which broke generation of makefiles
using wx presets unless they explicitly defined COMPILER_PREFIX: define
COMPILER_PREFIX as COMPILER by default.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Comment and document the (non obvious) requirement for the PNG image handler
to be enabled when using this function under OS X. In fact, document the
entire function itself which was forgotten previously.
Do enable PNG image handler when using DrawTitleBarBitmap() in the sample.
Closes#11345.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Although 2.9 and later doesn't have debug/release distinction, previous
version of wx may be installed on the system and should be usable via 2.9
wx-config so honour this option for them.
Closes#11316.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62445 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We must update the internally stored columns order even if the end reorder
event was processed (but not vetoed), otherwise we don't reflect the new order
in the our public functions such as GetColumnsOrder() which broke wxDVC
display under MSW.
Closes#11300.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We must explicitly define WX_CPU_AMD64 when compiling using mingw64 and
configure as wx/msw/genrcdefs.h is not used in this case and even if it were,
it wouldn't work because g++ doesn't define _M_AMD64 (unlike MSVC).
So just add the flag directly to windres command line in configure.
Closes#11336.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Instead of using a chain of dynamic_cast<>s to find the right type of the
value, construct a wxVariant corresponding to the type of the object we
receive in NSOutlineView:setObjectValue:forTableColumn:byItem and pass it to a
wxDataViewRenderer virtual function.
This fixes assert and allows to edit icon text items under OS X.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Reformat/reindent, use more wx coding style, wrap some extremely long lines.
Use shorter and less Carbon-ish variable names. Clarify some comments.
Also use static_cast<> because there is no need to use reinterpret_cast<> when
a static_cast<> will do.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
NSOutlineView::editedColumn: and editedRow: return -1 when they are called
from textDidEndEditing so we need to store their values in textDidBeginEditing
and reuse them later.
This fixes the crash in the sample with out-of-range array index exception
which happened whenever a cell was edited.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Implemented ellipsization in the generic, GTK and both OS X Carbon and Cocoa
versions but it currently doesn't work well in GTK as it changes the item
alignment unconditionally, this will need to be fixed later.
The behaviour for the columns is currently inconsistent between ports too:
under MSW they (natively) use wxELLIPSIZE_END, under GTK -- wxELLIPSIZE_NONE
and under OS X the same ellipsization mode as the column contents, i.e.
wxELLIPSIZE_MIDDLE by default.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We shouldn't use the same "wxELLIPSIZE_" prefix for two different enums, so
use wxELLIPSIZE_FLAGS one for wxEllipsizeFlags (they should be used less often
than wxEllipsizeMode so it's better to keep the short prefix for the latter).
Also add wxELLIPSIZE_FLAGS_NONE flag.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
By default, don't use border in wxDisclosureTriangle because the native
applications do not. However do honour wxBORDER_XXX style if specified in case
this becomes useful in the future (this required no effort as the code was
already there for bitmap buttons and just had to be extracted into a reusable
function).
Don't expand the disclosure triangle in wxCollapsiblePane sizer, as this
resulted in the text being centered instead of remaining left-aligned.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62431 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
There doesn't seem to be any reason to use a heavy border here as there is
nothing much to separate the list control from. In particular this looks
rather horrible under OS X.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Assert if inserting an item failed (this is really unexpected and must be a
programmer error) instead of asserting about items number mismatch -- which
might be true but only indirectly helpful.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This has a possible advantage of a more native look and feel (although it's
hard to tell the difference between drawing the icon ourselves and how the
default GTK+ renderer does it to be honest) and a very real advantage of
allowing to edit in place cells with icons. It also reduces code duplication
in GTK implementation.
Modify the sample to make the icon-text column in the list model editable to
show that it works. This required storing the values of the second column as
well, so do it in its own array and to avoid calling it "m_array2", rename the
existing m_array to m_textColValues (which accounts for most of the diff in
the sample) and call the new one m_iconColValues.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Actually the column size might not even be too small but the size returned by
renderers GetSize() could be too large -- as is the case for spin renderer
currently. And trusting it results in drawing outside of the cell boundary
even when there is enough space inside it, so don't do this and fall back to
left alignment if there is not enough space.
This fixes display of the year column in the dataview sample broken by the
recent changes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxDataViewCustomRenderer::RenderText() taking attributes must use correct
colour for the selected items if no attribute is specified as it can be (and
is) called directly and not only via the compatibility overload.
This fixes the display of the selected items in the dataview sample broken by
recent changes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
SetBellOnError() erroneously inversed the value of its parameter. Fixing it to
behave correctly could silently break the existing code which might work
around this bug already because it always behaved like this (ever since it was
added 10.5 years ago). So instead simply deprecate this function and add a new
SuppressBellOnError() one which behaves as expected.
Closes#11318.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We need to define __WXGTK218__ symbol in configure instead of simply checking
if we are compiled with 2.18 in wx/infobar.h because GTK_CHECK_VERSION() can't
be used when compiling user code which can't even include gtk/gtkversion.h
defining it because it doesn't necessarily use `pkg-config --cflags gtk+-2.0`
at all in its CFLAGS.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxNonOwnedWindowImpl::ShowWithEffect() is not supposed to be called with
wxSHOW_EFFECT_NONE effect so assert if it is.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Comparison operators for wxDataViewItem and wxDataViewIconText were not inline
and not exported, resulting in linking errors for any code using them in
shared wx build. Fix this by making them inline.
Also correct wxDataViewIconText operator==() implementation to compare icons
as well and to return true when comparing the object with itself.
Finally add operator!=() matching existing operator==() as a class having one
of these operators is supposed to have the other one as well and it costs
nothing to define it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62401 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxColour components are in 0.255 range while NSColor ones are in 0..1 one. The
old code compiled just fine but didn't work correctly for any colours which
had any channel with value different from 0 and 255 (unsurprisingly, my tests
only used wxRED, wxGREEN and wxBLUE which all passed...).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
After the fixes in the previous commit it is finally possibly to make the
progress renderer expand to the entire cell area instead of taking a
fixed width, it is enough to simply override RenderWithAttr() instead of
Render() and ignore the alignment as this avoids the use of (arbitrary and
hardcoded) wxDataViewProgressRenderer::GetSize().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Instead of using wxDataViewRenderer::GetSize() and rendering the cell into the
appropriate part of the rectangle, pass the full rectangle and the alignment
of the cell contents in it to the renderer itself.
This fixes the bug with bold text being truncated in the "attributes" column
of the dataview sample and is also generally more flexible as the renderer may
decide itself what to do with the extra space.
It also somewhat reduces the code duplication between CreateItemBitmap() and
OnPaint().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
After the change to the sample in r62390 it turned out that wxGTK version
didn't handle items without attributes in a column where other items did have
attributes neither -- they inherited the last used attribute.
Fix this by remembering whether we are using any non-default attributes or not
and resetting them if we do.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62392 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't duplicate wxGtkTreeCellDataFunc declaration.
Don't triplicate "visible" property setting inside the function itself.
Indent the inside of if statement properly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The attribute used for the last item was reused for the next item in the same
column unless it was overridden in the attribute of this item, fix this by
remembering the original attribute and using it if no attributes are
explicitly specified.
Also change the sample to show the items without attributes in a column with
attributes and make the label correspond to the attribute of the item.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The variables tableColumn and item are unneeded in this class so remove them.
Use static_cast<>s instead of C casts.
Avoid repeating oneVeryLongVariableName->anotherEvenLongerVariableName->
somethingElse->andSoOn multiple times, temporary variables are allowed in C++.
Also don't call wxDataViewCustomRenderer::GetSize() twice unnecessarily.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use NSFontManager to create bold or italic version of the font instead of
using wxFont. This works better for the bold attribute, but setting the italic
one still doesn't do anything.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Set the colour and font for the cell before rendering it if we have an
attribute for it.
The colours in dataview sample now work as expected, but making the font bold
or italic still doesn't work for some reason.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62386 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make the colours of the items in the "attributes" column blue/green/red in
order instead of making all odd items blue and all even and divisible by 3
ones green while making the rest of them red -- it was a bit difficult to
figure out how it worked before.
Also correct wxDataViewItemAttr::SetItalic() check: comparing the remainder of
the division by 2 with 5 didn't risk to work.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Start cleaning up Cocoa wxDataViewCtrl implementation:
- Don't use "this->" which is not used anywhere else in wx code.
- Use "()" instead of "(void)" as per wx coding standards.
- Don't use end of function comments, this is inconsistent and
unmaintainable.
No real changes otherwise.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
There is no reason to have a separate class for rendering the text honouring
the attributes defined for it, wxDataViewTextRenderer itself already does this
perfectly well.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62383 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is similar to the existing wxDCTextColourChanger ctor not changing colour
and is useful in the same kind of situations: when the font may or not be
changed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775