Example #1
0
	//*************************************************************************
	// 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);
		}
	}
Example #2
0
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;
	
}