// headers
// -----------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "treectlg.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
int m_height; // height of this item
// use bitfields to save size
- int m_isCollapsed :1;
- int m_hasHilight :1; // same as focused
- int m_hasPlus :1; // used for item which doesn't have
+ unsigned int m_isCollapsed :1;
+ unsigned int m_hasHilight :1; // same as focused
+ unsigned int m_hasPlus :1; // used for item which doesn't have
// children but has a [+] button
- int m_isBold :1; // render the label in bold font
- int m_ownsAttr :1; // delete attribute when done
+ unsigned int m_isBold :1; // render the label in bold font
+ unsigned int m_ownsAttr :1; // delete attribute when done
DECLARE_NO_COPY_CLASS(wxGenericTreeItem)
};
void wxGenericTreeCtrl::SetWindowStyle(const long styles)
{
- if (!HasFlag(wxTR_HIDE_ROOT) && (styles & wxTR_HIDE_ROOT))
+ // Do not try to expand the root node if it hasn't been created yet
+ if (m_anchor && !HasFlag(wxTR_HIDE_ROOT) && (styles & wxTR_HIDE_ROOT))
{
// if we will hide the root, make sure children are visible
m_anchor->SetHasPlus();
wxRect ItemRect;
GetBoundingRect(m_current, ItemRect, true);
- wxTreeEvent event( wxEVT_COMMAND_TREE_ITEM_MENU, GetId() );
- event.m_item = m_current;
+ wxTreeEvent eventMenu( wxEVT_COMMAND_TREE_ITEM_MENU, GetId() );
+ eventMenu.m_item = m_current;
// Use the left edge, vertical middle
- event.m_pointDrag = wxPoint(ItemRect.GetX(),
- ItemRect.GetY() + ItemRect.GetHeight() / 2);
- event.SetEventObject( this );
- GetEventHandler()->ProcessEvent( event );
+ eventMenu.m_pointDrag = wxPoint(ItemRect.GetX(),
+ ItemRect.GetY() + ItemRect.GetHeight() / 2);
+ eventMenu.SetEventObject( this );
+ GetEventHandler()->ProcessEvent( eventMenu );
break;
}
case ' ':
case WXK_RETURN:
if ( !event.HasModifiers() )
{
- wxTreeEvent event( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, GetId() );
- event.m_item = m_current;
- event.SetEventObject( this );
- GetEventHandler()->ProcessEvent( event );
+ wxTreeEvent eventAct( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, GetId() );
+ eventAct.m_item = m_current;
+ eventAct.SetEventObject( this );
+ GetEventHandler()->ProcessEvent( eventAct );
}
// in any case, also generate the normal key event for this key,
}
// generate the drag end event
- wxTreeEvent event(wxEVT_COMMAND_TREE_END_DRAG, GetId());
+ wxTreeEvent eventEndDrag(wxEVT_COMMAND_TREE_END_DRAG, GetId());
- event.m_item = item;
- event.m_pointDrag = pt;
- event.SetEventObject(this);
+ eventEndDrag.m_item = item;
+ eventEndDrag.m_pointDrag = pt;
+ eventEndDrag.SetEventObject(this);
- (void)GetEventHandler()->ProcessEvent(event);
+ (void)GetEventHandler()->ProcessEvent(eventEndDrag);
m_isDragging = false;
m_dropTarget = (wxGenericTreeItem *)NULL;