[commit] r1976 - trunk/GME/GMEActiveBrowser
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Tue Jul 24 12:38:38 CDT 2012
Author: ksmyth
Date: Tue Jul 24 12:38:37 2012
New Revision: 1976
Log:
TreeBrowser: properly set custom tree icons on create/delete child
Modified:
trunk/GME/GMEActiveBrowser/ActiveBrowserPropertyPage.cpp
Modified: trunk/GME/GMEActiveBrowser/ActiveBrowserPropertyPage.cpp
==============================================================================
--- trunk/GME/GMEActiveBrowser/ActiveBrowserPropertyPage.cpp Mon Jul 23 13:24:35 2012 (r1975)
+++ trunk/GME/GMEActiveBrowser/ActiveBrowserPropertyPage.cpp Tue Jul 24 12:38:37 2012 (r1976)
@@ -212,10 +212,10 @@
int nImage,nSelectedImage;
m_TreeAggregate.GetItemImage(pNMTreeView->itemNew.hItem,nImage,nSelectedImage);
- if (nImage+ICON_NUMBER<8*ICON_NUMBER)
+ if (nImage<8*ICON_NUMBER)
m_TreeAggregate.SetItemImage(pNMTreeView->itemNew.hItem,nImage+ICON_NUMBER,nSelectedImage+ICON_NUMBER);
else
- m_TreeAggregate.SetItemImage(pNMTreeView->itemNew.hItem, nImage+1, nSelectedImage+1);
+ m_TreeAggregate.SetItemImage(pNMTreeView->itemNew.hItem, (nImage & ~1) + 1, (nImage & ~1) + 1);
}
else // Collapsing
@@ -230,10 +230,10 @@
m_TreeAggregate.GetItemImage(pNMTreeView->itemNew.hItem,nImage,nSelectedImage);
ASSERT(nImage-ICON_NUMBER>=0);
- if (nImage+ICON_NUMBER<8*ICON_NUMBER)
+ if (nImage<8*ICON_NUMBER)
m_TreeAggregate.SetItemImage(pNMTreeView->itemNew.hItem,nImage-ICON_NUMBER,nSelectedImage-ICON_NUMBER);
else
- m_TreeAggregate.SetItemImage(pNMTreeView->itemNew.hItem, nImage-1, nSelectedImage-1);
+ m_TreeAggregate.SetItemImage(pNMTreeView->itemNew.hItem, (nImage & ~1), (nImage & ~1));
}
@@ -2036,23 +2036,29 @@
int nImage,nSelectedImage;
m_TreeAggregate.GetItemImage(hParentItem,nImage,nSelectedImage);
- if(tvItem.cChildren)
+ bool bIsExpanded =!!(m_TreeAggregate.GetItemState(hParentItem,TVIS_EXPANDED)&TVIS_EXPANDED);
+ if (nImage >= ICON_NUMBER * 8)
{
- bool bIsExpanded=!!(m_TreeAggregate.GetItemState(hParentItem,TVIS_EXPANDED)&TVIS_EXPANDED);
- if(bIsExpanded && nImage<ICON_NUMBER)
- {
- m_TreeAggregate.SetItemImage(hParentItem,nImage+ICON_NUMBER,nSelectedImage+ICON_NUMBER);
- }
+ bIsExpanded &= !!tvItem.cChildren;
+ m_TreeAggregate.SetItemImage(hParentItem, (nImage & ~1) + (bIsExpanded ? 1 : 0), (nImage & ~1) + (bIsExpanded ? 1 : 0));
}
else
- { if(nImage>=ICON_NUMBER)
+ {
+ if(tvItem.cChildren)
{
- m_TreeAggregate.SetItemImage(hParentItem,nImage-ICON_NUMBER,nSelectedImage-ICON_NUMBER);
+ if(bIsExpanded && nImage<ICON_NUMBER)
+ {
+ m_TreeAggregate.SetItemImage(hParentItem,nImage+ICON_NUMBER,nSelectedImage+ICON_NUMBER);
+ }
+ }
+ else
+ { if (nImage>=ICON_NUMBER)
+ {
+ m_TreeAggregate.SetItemImage(hParentItem,nImage-ICON_NUMBER,nSelectedImage-ICON_NUMBER);
+ }
}
-
}
-
m_TreeAggregate.SetItem(&tvItem);
}
}
@@ -2092,19 +2098,27 @@
int nImage,nSelectedImage;
m_TreeAggregate.GetItemImage(hParentItem,nImage,nSelectedImage);
- if(tvItem.cChildren)
+ bool bIsExpanded = !!(m_TreeAggregate.GetItemState(hParentItem,TVIS_EXPANDED)&TVIS_EXPANDED);
+ if (nImage >= ICON_NUMBER * 8)
{
- bool bIsExpanded=!!(m_TreeAggregate.GetItemState(hParentItem,TVIS_EXPANDED)&TVIS_EXPANDED);
- if(bIsExpanded && nImage<ICON_NUMBER)
- {
- m_TreeAggregate.SetItemImage(hParentItem,nImage+ICON_NUMBER,nSelectedImage+ICON_NUMBER);
- }
+ bIsExpanded &= !!tvItem.cChildren;
+ m_TreeAggregate.SetItemImage(hParentItem, (nImage & ~1) + (bIsExpanded ? 1 : 0), (nImage & ~1) + (bIsExpanded ? 1 : 0));
}
else
- {
- if(nImage>=ICON_NUMBER)
+ {
+ if(tvItem.cChildren)
{
- m_TreeAggregate.SetItemImage(hParentItem,nImage-ICON_NUMBER,nSelectedImage-ICON_NUMBER);
+ if(bIsExpanded && nImage<ICON_NUMBER)
+ {
+ m_TreeAggregate.SetItemImage(hParentItem,nImage+ICON_NUMBER,nSelectedImage+ICON_NUMBER);
+ }
+ }
+ else
+ {
+ if(nImage>=ICON_NUMBER)
+ {
+ m_TreeAggregate.SetItemImage(hParentItem,nImage-ICON_NUMBER,nSelectedImage-ICON_NUMBER);
+ }
}
}
@@ -2137,19 +2151,26 @@
int nImage,nSelectedImage;
m_TreeAggregate.GetItemImage(hParentItem,nImage,nSelectedImage);
- if(tvItem.cChildren)
+ if (nImage >= ICON_NUMBER * 8)
{
- if(bIsExpanded && nImage<ICON_NUMBER)
- {
- m_TreeAggregate.SetItemImage(hParentItem,nImage+ICON_NUMBER,nSelectedImage+ICON_NUMBER);
- }
+ m_TreeAggregate.SetItemImage(hParentItem, (nImage & ~1) + (bIsExpanded ? 1 : 0), (nImage & ~1) + (bIsExpanded ? 1 : 0));
}
else
- { if(nImage>=ICON_NUMBER)
+ {
+ if(tvItem.cChildren)
{
- m_TreeAggregate.SetItemImage(hParentItem,nImage-ICON_NUMBER,nSelectedImage-ICON_NUMBER);
+ if(bIsExpanded && nImage<ICON_NUMBER)
+ {
+ m_TreeAggregate.SetItemImage(hParentItem,nImage+ICON_NUMBER,nSelectedImage+ICON_NUMBER);
+ }
}
+ else
+ { if(nImage>=ICON_NUMBER)
+ {
+ m_TreeAggregate.SetItemImage(hParentItem,nImage-ICON_NUMBER,nSelectedImage-ICON_NUMBER);
+ }
+ }
}
m_TreeAggregate.SetItem(&tvItem);
@@ -2184,15 +2205,13 @@
int nImage,nSelectedImage;
m_TreeAggregate.GetItemImage(hParentItem,nImage,nSelectedImage);
- // NOTE: the if branch is totally useless, since bIsExpanded is false
- if(tvItem.cChildren)
+ if (nImage >= ICON_NUMBER * 8)
{
- if(bIsExpanded && nImage<ICON_NUMBER) // change to opened icon
- {
- m_TreeAggregate.SetItemImage(hParentItem,nImage+ICON_NUMBER,nSelectedImage+ICON_NUMBER);
- }
+ bIsExpanded &= !!tvItem.cChildren;
+ m_TreeAggregate.SetItemImage(hParentItem, (nImage & ~1) + (bIsExpanded ? 1 : 0), (nImage & ~1) + (bIsExpanded ? 1 : 0));
}
- else // if no children then if opened icon used previously, change it to the closed icon
+ else
+ // if no children then if opened icon used previously, change it to the closed icon
{
if(nImage>=ICON_NUMBER)
{
More information about the gme-commit
mailing list