I am trying to itterate over a slection of nodes and i dont have the luxury of a foreach statement in C++.
I can see
goView1->Selection->Count; //number of selections
goView1->Selection->First; //pointer to First GoObject
goView1->Selection->Last; //pointer to Last GoObject
I have hit this problem in other .net component vendors software and usualy there is a xxxxxx->Selection->Item[] type thing,
which in conjuntion with the xxxxxx->Selection->Count thing I can then itterate over the objects
Is it possible for you to suggest the correct approach GoDiagram
I appologise for having to code in MC++ but its a contractual requirement etc.
I hope i explained it correctly
All the best and thanks for all the newbie help here
Mac
GoCollectionEnumerator *theChildren=&thePain;;
while(theChildren->MoveNext()){
GoObject *item;
try{item=__try_cast(theChildren->Current);}
catch(System::InvalidCastException*){continue;}
if(item->GetType()!=t->GetType()){
item->Left=x;
}
} All the best Mac
I suspect you don’t want to compare Types using equality.
GoObject *item = null;
try { item = __try_cast<GoObject *>(thisChildren->Current); } catch (System::InvalidCastException *) { continue; }
if (item != null) {
…
}
WARNING: although I used to be reasonably expert in C++, I haven’t done any serious programming in C++ this millenium, since long before Managed C++ and .NET existed.
Thanks walter
So the GetEnumerator is the only way to access the Selected GoObjects then…
Seeing the Selected->First and Selected->Last I was kind of hoping for a linklist style access I.E SelectedObject->Next etc
ill give your null idea that a go :¬) although you dont even get a system declared variable called null hehehe dam MC++ and its all avout to go even weirder with .net 2005 :)
I understand your position about the C++ bit
Personaly life would be 1000’s of times easier if i could use C#
But direct interaction with unmanaged C libraries stop me
Mac
Well, yes, that style access is exactly what the Enumerator provides.
GoSelection (which inherits from GoCollection, which implements IGoCollection) does not provide integer-indexed access to the collection.
Thanks sorry for all the questions but im learning :¬)