+int wxGenericTreeItem::GetCurrentImage() const
+{
+ int image = NO_IMAGE;
+ if ( IsExpanded() )
+ {
+ if ( IsSelected() )
+ {
+ image = GetImage(wxTreeItemIcon_SelectedExpanded);
+ }
+
+ if ( image == NO_IMAGE )
+ {
+ // we usually fall back to the normal item, but try just the
+ // expanded one (and not selected) first in this case
+ image = GetImage(wxTreeItemIcon_Expanded);
+ }
+ }
+ else // not expanded
+ {
+ if ( IsSelected() )
+ image = GetImage(wxTreeItemIcon_Selected);
+ }
+
+ // may be it doesn't have the specific image we want, try the default one
+ // instead
+ if ( image == NO_IMAGE )
+ {
+ image = GetImage();
+ }
+
+ return image;
+}
+