| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 | 
							- // GroupCombo.cpp : implementation file
 
- //
 
- #include "stdafx.h"
 
- #include "cp_main.h"
 
- #include "GroupCombo.h"
 
- #ifdef _DEBUG
 
- #define new DEBUG_NEW
 
- #undef THIS_FILE
 
- static char THIS_FILE[] = __FILE__;
 
- #endif
 
- /////////////////////////////////////////////////////////////////////////////
 
- // CGroupCombo
 
- CGroupCombo::CGroupCombo()
 
- {
 
- 	m_lSkipGroupID = -1;
 
- }
 
- CGroupCombo::~CGroupCombo()
 
- {
 
- }
 
- BEGIN_MESSAGE_MAP(CGroupCombo, CComboBox)
 
- 	//{{AFX_MSG_MAP(CGroupCombo)
 
- 		// NOTE - the ClassWizard will add and remove mapping macros here.
 
- 	//}}AFX_MSG_MAP
 
- END_MESSAGE_MAP()
 
- /////////////////////////////////////////////////////////////////////////////
 
- // CGroupCombo message handlers
 
- void CGroupCombo::FillCombo()
 
- {
 
- 	ResetContent();
 
- 	int nIndex = AddString(_T("-No Group-"));
 
- 	SetItemData(nIndex, -1);
 
- 	FillCombo(-1, 1);
 
- }
 
- void CGroupCombo::FillCombo(long lParentID, long lSpaces)
 
- {
 
- 	try
 
- 	{			
 
- 		int nIndex;
 
- 		CString csSpaces;
 
- 		for(int i = 0; i < lSpaces; i++)
 
- 		{
 
- 			csSpaces += "---";
 
- 		}
 
- 		//First time through
 
- 		if(lSpaces > 0)
 
- 		{
 
- 			csSpaces += " ";
 
- 			//ResetContent();
 
- 		}
 
- 		lSpaces++;
 
- 		CppSQLite3Query q = theApp.m_db.execQueryEx(_T("SELECT lID, mText FROM Main WHERE bIsGroup = 1 AND lParentID = %d"), lParentID);
 
- 			
 
- 		if(q.eof() == false)
 
- 		{
 
- 			while(!q.eof())
 
- 			{
 
- 				if(q.getIntField(_T("lID")) != m_lSkipGroupID)
 
- 				{
 
- 					nIndex = AddString(csSpaces + q.getStringField(_T("mText")));
 
- 					SetItemData(nIndex, q.getIntField(_T("lID")));
 
- 					FillCombo(q.getIntField(_T("lID")), lSpaces);
 
- 				}
 
- 				q.nextRow();
 
- 			}
 
- 		}
 
- 	}		
 
- 	CATCH_SQLITE_EXCEPTION	
 
- }
 
- BOOL CGroupCombo::SetCurSelOnItemData(long lItemData)
 
- {
 
- 	long lCount = GetCount();
 
- 	for(int i = 0; i < lCount; i++)
 
- 	{
 
- 		if(GetItemData(i) == lItemData)
 
- 		{
 
- 			SetCurSel(i);
 
- 			return TRUE;
 
- 		}
 
- 	}
 
- 	SetCurSel(-1);
 
- 	return FALSE;
 
- }
 
- int CGroupCombo::GetItemDataFromCursel()
 
- {
 
- 	int nCursel = GetCurSel();
 
- 	return (int)GetItemData(nCursel);
 
- }
 
 
  |