grep subobjects src/*.cc > grep_subobjects070214.txt (comments removed) --------------------------------------------------- src/DisplayUpdateFcns.cc:18: * to be drawn by topobject->Draw; LIFO List begins at topobject->subobjects. src/display.cc:340:// while (current=current->next != NULL on list of subobjects). src/fileio.cc:1262: assert(topobject!= NULL); //bug: subobjects = 0 - RJL 030811 src/fileio.cc:1560: * to be drawn by topobject->Draw; LIFO List begins at topobject->subobjects. src/fprint.cc:580: current = topobject->subobjects; In void Ggroup::PrintGraphObjectList(): src/graphobject.cc:504: for (current = subobjects; current != (List *) NULL; current = current -> next) In graphobject::graphobject(hcg_key iid): src/graphobject.cc:522:// Prepend 'this' to existing (backward) List object->subobjects. src/graphobject.cc:532: object->subobjects = new List (this, (List*) object->subobjects); In Ggroup::~Ggroup(): src/graphobject.cc:548: if (subobjects != NULL) // to avoid bug RJL 030811 src/graphobject.cc:549: delete subobjects; In graphobject *Ggroup::findbyindex (hcg_key id): src/graphobject.cc:614: for (current = subobjects; current != (List *) NULL; current = current -> next) { if ((obj = current->object->findbyindex(id)) != (graphobject *) NULL) //<-- recursion! break; //exit for loop with obj; -RJL060114 } In void Ggroup::doDraw(): src/graphobject.cc:885: * Description: doDraw traverses List* topobject->subobjects src/graphobject.cc:900: // topobject is global root of List* subobjects src/graphobject.cc:903: current = topobject->subobjects; // most recent object (prepended to List) In void Ggroup::doPrint(void): src/graphobject.cc:933: // Ggroup*topobject>List*subobjects->object[->next]... points to HG-components src/graphobject.cc:949: current = topobject->subobjects; In void Ggroup::doselection: src/graphobject.cc:1055: // search list of subobjects for one at src/graphobject.cc:1056: for (current = topobject->subobjects; current != NULL && src/graphobject.cc:1076: for (current = topobject->subobjects; current != NULL && src/graphobject.cc:1107: }//topobject->subobjects->object->getcurr() yields cs [NOT XXcurr.RJL040813] In void Ggroup::select_HN(Widget w, int x, int y) // (new vers) :1220-1252: src/graphobject.cc:1226: current = topobject->subobjects; #if 0 src/graphobject.cc:1310: // topobject->doselection(x, y); //expand to loop to search subobjects src/graphobject.cc:1312: assert(topobject->subobjects!= NULL); src/graphobject.cc:1313: for (current = topobject->subobjects; current != NULL; #endif In int Ggroup::select_CG(Widget w, int x, int y): #if 0:src/graphobject.cc:1414: for(current = topobject->subobjects; current != NULL src/graphobject.cc:1423: for (current = topobject->subobjects; (current != NULL && (((graphobject*)current->object)->select(x, y) == 0)); current = current->next) { //IFF mouse is inside HN, HL or CG, current!=NULL and select(x,y)!= 0 In void Ggroup::select_HL(Widget w, int x, int y): src/graphobject.cc:1495: for(current = topobject->subobjects; current != NULL; In void Ggroup::doDump() // #ifdef DEBUG: src/graphobject.cc:1896: * Description: doDump traverses List* topobject->subobjects->obj??? (new 040517) src/graphobject.cc:1920: List *currentlp; // init to topobject->subobjects below src/graphobject.cc:1931: // topobject is global ptr to root of List* subobjects src/graphobject.cc:1934: currentlp = topobject ->subobjects; //List of drawable HN/HL/CG's src/graphobject.cc:1949: printf("\tdoDump: currentlp = topobject->subobjects = %px\n", currentlp); ================================================ grep subobjects include/*.h >> grep_subobjects070214.txt ----------------------------- include/graph.h:681: class List *subobjects; include/graph.h:685: subobjects = 0; include/graph.h:691: subobjects = subobjects->ListRemoveItem(obj); ============================================== grep ListRemoveItem include/*.h src/*.cc >> "grep_subobjects070214.txt" ------------------------- include/graph.h:670: List* ListRemoveItem(graphobject*); include/graph.h:691: subobjects = subobjects->ListRemoveItem(obj); src/graphobject.cc:673:List *List::ListRemoveItem (graphobject *theitem) src/graphobject.cc:711:} //end List::ListRemoveItem