Add ellipsization support to wxDataViewCtrl.

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
This commit is contained in:
Vadim Zeitlin
2009-10-16 21:35:26 +00:00
parent 355ce7adea
commit c937bcac0f
15 changed files with 292 additions and 32 deletions

View File

@@ -219,12 +219,16 @@ public:
m_origTextColour = [textColour retain];
}
// The ellipsization mode which we need to set for each cell being rendered.
void SetEllipsizeMode(wxEllipsizeMode mode) { m_ellipsizeMode = mode; }
wxEllipsizeMode GetEllipsizeMode() const { return m_ellipsizeMode; }
// Set the line break mode for the given cell using our m_ellipsizeMode
void ApplyLineBreakMode(NSCell *cell);
private:
void Init()
{
m_origFont = NULL;
m_origTextColour = NULL;
}
// common part of all ctors
void Init();
id m_Item; // item NOT owned by renderer
id m_Object; // object that can be used by renderer for storing special data (owned by renderer)
@@ -237,6 +241,8 @@ private:
// we own those if they're non-NULL
NSFont *m_origFont;
NSColor *m_origTextColour;
wxEllipsizeMode m_ellipsizeMode;
};
// ============================================================================

View File

@@ -61,6 +61,9 @@ public:
return true;
}
virtual void EnableEllipsize(wxEllipsizeMode mode = wxELLIPSIZE_MIDDLE);
virtual wxEllipsizeMode GetEllipsizeMode() const;
//
// implementation
//