virtual void DrawHeaderButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
- int flags = 0);
+ int flags = 0,
+ wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE,
+ wxHeaderButtonParams* params = NULL);
// draw the expanded/collapsed icon for a tree control item
virtual void DrawTreeItemButton(wxWindow *win,
wxRendererGTK::DrawHeaderButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
- int flags)
+ int flags,
+ wxHeaderSortIconType sortArrow,
+ wxHeaderButtonParams* params)
{
GtkWidget *button = GetButtonWidget();
+ int x_diff = 0;
+ if (win->GetLayoutDirection() == wxLayout_RightToLeft)
+ x_diff = rect.width;
+
gtk_paint_box
(
button->style,
NULL,
button,
"button",
- dc.LogicalToDeviceX(rect.x), rect.y, rect.width, rect.height
+ dc.LogicalToDeviceX(rect.x) - x_diff, rect.y, rect.width, rect.height
);
+
+ DrawHeaderButtonContents(win, dc, rect, flags, sortArrow, params);
}
// draw a ">" or "v" button
else
state = GTK_STATE_NORMAL;
+ int x_diff = 0;
+ if (win->GetLayoutDirection() == wxLayout_RightToLeft)
+ x_diff = rect.width;
+
// VZ: I don't know how to get the size of the expander so as to centre it
// in the given rectangle, +2/3 below is just what looks good here...
gtk_paint_expander
NULL,
tree,
"treeview",
- dc.LogicalToDeviceX(rect.x) + 2,
+ dc.LogicalToDeviceX(rect.x) + 2 - x_diff,
dc.LogicalToDeviceY(rect.y) + 3,
flags & wxCONTROL_EXPANDED ? GTK_EXPANDER_EXPANDED
: GTK_EXPANDER_COLLAPSED