// headers
// -----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "treectlg.h"
#endif
class WXDLLEXPORT wxGenericTreeItem;
-WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxGenericTreeItem *, wxArrayGenericTreeItems);
+WX_DEFINE_EXPORTED_ARRAY_PTR(wxGenericTreeItem *, wxArrayGenericTreeItems);
// ----------------------------------------------------------------------------
// constants
else
flags |= wxTREE_HITTEST_ONITEMLOWERPART;
- // 5 is the size of the plus sign
int xCross = m_x - theCtrl->GetSpacing();
+#ifdef __WXMAC__
+ // according to the drawing code the triangels are drawn
+ // at -4 , -4 from the position up to +10/+10 max
+ if ((point.x > xCross-4) && (point.x < xCross+10) &&
+ (point.y > y_mid-4) && (point.y < y_mid+10) &&
+ HasPlus() && theCtrl->HasButtons() )
+#else
+ // 5 is the size of the plus sign
if ((point.x > xCross-5) && (point.x < xCross+5) &&
(point.y > y_mid-5) && (point.y < y_mid+5) &&
HasPlus() && theCtrl->HasButtons() )
+#endif
{
flags |= wxTREE_HITTEST_ONITEMBUTTON;
return this;
const wxPoint& pos,
const wxSize& size,
long style,
- const wxValidator &validator,
+ const wxValidator& wxVALIDATOR_PARAM(validator),
const wxString& name )
{
#ifdef __WXMAC__
size_t *pIndex = (size_t *)&cookie;
if ( *pIndex < children.Count() )
{
- return children.Item(*pIndex++);
+ return children.Item((*pIndex)++);
}
else
{
void wxGenericTreeCtrl::SelectItemRange(wxGenericTreeItem *item1, wxGenericTreeItem *item2)
{
- // item2 is not necessary after item1
- wxGenericTreeItem *first=NULL, *last=NULL;
m_select_me = NULL;
+ // item2 is not necessary after item1
// choice first' and 'last' between item1 and item2
- if (item1->GetY()<item2->GetY())
- {
- first=item1;
- last=item2;
- }
- else
- {
- first=item2;
- last=item1;
- }
+ wxGenericTreeItem *first= (item1->GetY()<item2->GetY()) ? item1 : item2;
+ wxGenericTreeItem *last = (item1->GetY()<item2->GetY()) ? item2 : item1;
bool select = m_current->IsSelected();
}
else // no custom buttons
{
- static const int wImage = 10;
- static const int hImage = 12;
+ static const int wImage = 9;
+ static const int hImage = 9;
wxRendererNative::Get().DrawTreeItemButton
(
if (!next)
{
wxTreeItemId current = m_key_current;
- while (current && !next)
+ while (current.IsOk() && !next)
{
current = GetItemParent( current );
if (current) next = GetNextSibling( current );