//************************************************************************* // Method: RefreshLayoutOfGroup // Description: refreshes the layout of the panes in a group based on positions // // Parameters: // group - the group to refresh // // Return Value: None //************************************************************************* void DockablePaneManager::RefreshLayoutOfGroup(String *group) { ArrayList *list = dynamic_cast<ArrayList *>(groupToContentListTable->get_Item(group)); if (!list || list->Count == 0) return; WindowContent *windowContent; // put them in the correct order in a new list ArrayList *orderedList = new ArrayList(); IEnumerator *enumerator = list->GetEnumerator(); while (enumerator->MoveNext()) { Content *content = dynamic_cast<Content *>(enumerator->Current); if (!content) continue; DockablePane *pane = dynamic_cast<DockablePane *>(content->Control); if (!pane) continue; windowContent = content->ParentWindowContent; int insertPos = GetInsertPositionForContentList(orderedList, pane); orderedList->Insert(insertPos, content); } // remove all the panes enumerator = orderedList->GetEnumerator(); while (enumerator->MoveNext()) { Content *content = dynamic_cast<Content *>(enumerator->Current); if (!content) continue; if (dockManager->Contents && dockManager->Contents->Contains(content)) dockManager->Contents->Remove(content); list->Remove(content); } groupToContentListTable->Remove(group); // put them back in the right order enumerator = orderedList->GetEnumerator(); while (enumerator->MoveNext()) { Content *content = dynamic_cast<Content *>(enumerator->Current); if (!content) continue; DockablePane *pane = dynamic_cast<DockablePane *>(content->Control); if (!pane) continue; AddPane(pane); } }
int main (void) { ArrayList Table; int element; char ch; int val; Helper(); while(1) { cout<<">"; cin>>ch; switch(ch) { case 'i': cin>>element; val=Table.Insert(element); if(val==-1) cout<<"Cant Insert To table"<<endl; break; case 'r': val=Table.Delete(); if(val==-1) cout<<"Table empty"<<endl; break; case 's': cin>>element; val=Table.AccessElement(element); if(val==-1) cout<<"Item Not Found"<<endl; else cout<<"Value : "<<val<<" position : "<<element<<endl; break; case 'd': Table.Display(); break; case 'q': exit(0); break; default: Helper(); } } return 0; }