+ if (HasFlag(wxTR_AQUA_BUTTONS))
+ {
+ if (item->IsExpanded())
+ dc.DrawBitmap( *m_arrowDown, x-5, y_mid-6, TRUE );
+ else
+ dc.DrawBitmap( *m_arrowRight, x-5, y_mid-6, TRUE );
+ }
+ else
+ {
+ dc.SetBrush(*m_hilightBrush);
+ dc.SetPen(*wxBLACK_PEN);
+ wxPoint button[3];
+
+ if (item->IsExpanded())
+ {
+ button[0].x = x-5;
+ button[0].y = y_mid-2;
+ button[1].x = x+5;
+ button[1].y = y_mid-2;
+ button[2].x = x;
+ button[2].y = y_mid+3;
+ }
+ else
+ {
+ button[0].y = y_mid-5;
+ button[0].x = x-2;
+ button[1].y = y_mid+5;
+ button[1].x = x-2;
+ button[2].y = y_mid;
+ button[2].x = x+3;
+ }
+ dc.DrawPolygon(3, button);
+ dc.SetPen(m_dottedPen);
+ }
+ }
+ else // if (HasFlag(wxTR_HAS_BUTTONS))
+ {
+ // draw the plus sign here
+ dc.SetPen(*wxGREY_PEN);
+ dc.SetBrush(*wxWHITE_BRUSH);
+ dc.DrawRectangle(x-5, y_mid-4, 11, 9);
+ dc.SetPen(*wxBLACK_PEN);
+ dc.DrawLine(x-2, y_mid, x+3, y_mid);
+ if (!item->IsExpanded())
+ dc.DrawLine(x, y_mid-2, x, y_mid+3);
+ dc.SetPen(m_dottedPen);
+ }
+ }
+ else if (!HasFlag(wxTR_NO_LINES)) // no button; maybe a line?