Exemple #1
0
/*********************************************************************\
	Function name    : CreateElementList
	Description      :
	Created at       : 26.03.02, @ 15:33:10
	Created by       : Thomas Kunert
	Modified by      :
\*********************************************************************/
void CreateElementList()
{
	Int32 a;
	if (bCreatedElementList) return;
	bCreatedElementList = true;

	g_pCustomElements = NewObjClear(CDoubleLinkedList<CCustomElements>);
	if (!g_pCustomElements) return;

	RecSearchPlugin(GetFirstPlugin());

	Int32 lElementCount = g_pCustomElements->Entries();
	if (!lElementCount) return;
	AutoArray(plElements, Int32, lElementCount);
	AutoArray(plCustomElements, CCustomElements*, lElementCount);
	//AutoArray <Int32> plElements(lElementCount);
	//AutoArray <CCustomElements*> plCustomElements(lElementCount);
	if (!plElements || !plCustomElements) return;

	for (a = 0; a < lElementCount; a++)
		plElements[a] = a;

	CShellSort <Int32> s;
	s.Sort(plElements, SortCustomGuiByName, lElementCount);

	for (a = 0; a < lElementCount; a++)
		plCustomElements[a] = g_pCustomElements->GetItem(plElements[a]);
	g_pCustomElements->UnlinkList();
	g_pCustomElements->FromArray(plCustomElements, lElementCount);


	/*BasePlugin* plug = FindPlugin(DESCRIPTIONCUSTOMGUIDATA, PLUGINTYPE_CUSTOMGUI);

	if (plug)
	{
		Int32 i;
		const Char *ressym = CallCustomGuiCmd(plug, GetResourceSym)();
		CustomGuiProperty *prop = CallCustomGuiCmd(plug, GetProperties)();
		for (i = 0; prop && prop[i].type != CUSTOMTYPE_END; i++)
		{
		}
	}*/
}
Exemple #2
0
/*********************************************************************\
	Function name    : TreeViewItem::SortChildren
	Description      :
	Created at       : 26.09.01, @ 11:55:36
	Created by       : Thomas Kunert
	Modified by      :
\*********************************************************************/
void TreeViewItem::SortChildren()
{
	CShellSort <TreeViewItem*> sort;
	sort.Sort(m_ppChildren, CompareTreeViewItemSort, m_lChildren);

	/*Bool bAgain;
	do
	{
		bAgain = false;
		for (Int32 a = 0; a < m_lChildren - 1; a++)
		{
			for (Int32 b = a + 1; b < m_lChildren; b++)
			{
				TreeViewItem *pItem1 = m_ppChildren[a], *pItem2 = m_ppChildren[b];
				if (pItem1->m_Data.GetString(TREEVIEW_TEXT) > pItem2->m_Data.GetString(TREEVIEW_TEXT))
				{
					m_ppChildren[b] = pItem1;
					m_ppChildren[a] = pItem2;
					bAgain = true;
				}
			}
		}
	} while (bAgain);*/
}