[GME-commit] GMESRC/GME/Gme GMEView.cpp,1.176,1.177

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Fri Nov 25 19:07:58 CST 2005


Update of /project/gme-repository/GMESRC/GME/Gme
In directory escher:/tmp/cvs-serv12470

Modified Files:
	GMEView.cpp 
Log Message:
Fixing case when freshly inserted object (in the TreeBrowser) is rightclicked (in the view), then i.e. 'Copy' operation.
(contextSelection variable was invalidated also by Reset)


CVS User: Zoltan Molnar, ISIS (zolmol)

Index: GMEView.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/GMEView.cpp,v
retrieving revision 1.176
retrieving revision 1.177
diff -C2 -d -r1.176 -r1.177
*** GMEView.cpp	17 Nov 2005 19:16:48 -0000	1.176
--- GMEView.cpp	25 Nov 2005 19:07:55 -0000	1.177
***************
*** 1648,1651 ****
--- 1648,1658 ----
  		CStringList lstSelBuffIDs;
  		CStringList lstUnsBuffIDs;
+ 		CString     cntxSelID;
+ 		CString     cntxAnnID;
+ 		if( contextSelection)
+ 			cntxSelID = contextSelection->id;
+ 		if( contextAnnotation)
+ 			cntxAnnID = contextAnnotation->id;
+ 
  		for( std::list<CGuiObject*>::iterator iti = m_lstSelect.begin(); iti != m_lstSelect.end(); ++iti)
  			lstSelBuffIDs.AddTail( (*iti)->id);
***************
*** 1708,1711 ****
--- 1715,1719 ----
  		m_lstSelect.clear(); // clear the contents of these buffers [will be refilled soon] 
  		m_lstUnselect.clear();
+ 		contextAnnotation = 0; contextSelection = 0; // these will be recalculated also
  		children.RemoveAll();
  		annotators.RemoveAll();
***************
*** 1742,1746 ****
  		// EndNote
  
! 		if( !(selIDs.IsEmpty() && lstSelBuffIDs.IsEmpty() && lstUnsBuffIDs.IsEmpty()))
  		{
  			// filling up selected, m_lstSelect and m_lstUnselect lists
--- 1750,1754 ----
  		// EndNote
  
! 		if( !(selIDs.IsEmpty() && lstSelBuffIDs.IsEmpty() && lstUnsBuffIDs.IsEmpty() && cntxSelID.IsEmpty()))
  		{
  			// filling up selected, m_lstSelect and m_lstUnselect lists
***************
*** 1750,1753 ****
--- 1758,1764 ----
  				if( obj)
  				{
+ 					if( !cntxSelID.IsEmpty() && obj->id == cntxSelID)
+ 						contextSelection = obj;
+ 					
  					POSITION sPos = selIDs.GetHeadPosition();
  					while( sPos) {
***************
*** 1799,1812 ****
  		//}
  
! 		pos = selAnIDs.GetHeadPosition();
  		while(pos) {
! 			CString id = selAnIDs.GetNext(pos);
! 			POSITION oPos = annotators.GetHeadPosition();
  			while(oPos) {
! 				CGuiAnnotator *ann = annotators.GetNext(oPos);
  				if (id == ann->id) {
  					selectedAnnotations.AddTail(ann);
  				}
  			}
  		}
  
--- 1810,1838 ----
  		//}
  
! 		// selectedAnnotations was filled up previously like this:
! 		//pos = selAnIDs.GetHeadPosition();
! 		//while(pos) {
! 		//	CString id = selAnIDs.GetNext(pos);
! 		//	POSITION oPos = annotators.GetHeadPosition();
! 		//	while(oPos) {
! 		//		CGuiAnnotator *ann = annotators.GetNext(oPos);
! 		//		if (id == ann->id) {
! 		//			selectedAnnotations.AddTail(ann);
! 		//		}
! 		//	}
! 		//}		
! 
! 		pos = annotators.GetHeadPosition();
  		while(pos) {
! 			CGuiAnnotator *ann = annotators.GetNext(pos);
! 			POSITION oPos = selAnIDs.GetHeadPosition();
  			while(oPos) {
! 				CString id = selAnIDs.GetNext(oPos);
  				if (id == ann->id) {
  					selectedAnnotations.AddTail(ann);
  				}
  			}
+ 			if( !cntxAnnID.IsEmpty() && cntxAnnID == ann->id)
+ 				contextAnnotation = ann;
  		}
  



More information about the GME-commit mailing list