Esempio n. 1
0
void CSoftWareConfig::OnNextFrame() 
{
	// TODO: Add your control notification handler code here
	if(m_imgBuff.IsNull()) return;

	CapsuleParam param;
	EIndex index= m_pProcessor->GetProcessIndex();

	switch(index)
	{
	case eFirst:
		param = GetListContent(0);
		break;
	case eSecond:
		param = GetListContent(2);
		break;
	}

	TImgDim	dim = m_imgBuff.Dimension();
	if((3 == dim.bytesPerPixel) && (!m_hue1VectPerFrame.empty()))
	{
		m_hue1Vect.insert(m_hue1Vect.end(), m_hue1VectPerFrame.begin(), m_hue1VectPerFrame.end());
		m_hue2Vect.insert(m_hue2Vect.end(), m_hue2VectPerFrame.begin(), m_hue2VectPerFrame.end());

		param.capColor	= GetStdHue(m_hue1Vect);
		param.bodyColor = GetStdHue(m_hue2Vect);
	}
	
	if((1 == dim.bytesPerPixel) && (!m_dimVectPerFrame.empty()))
	{
		m_dimVect.insert(m_dimVect.end(), m_dimVectPerFrame.begin(), m_dimVectPerFrame.end());
		param= GetStdDim(m_dimVect);
	}
	
	switch(index)
	{
	case eFirst:
		SetListContent(0, param);
		break;
	case eSecond:
		SetListContent(2, param);
		break;
	}

	m_imgBuff.GoNextFrame();
	DisplayImage();	
	Process(m_imgBuff);
}
BOOL CDlgItinerantTraffic::OnInitDialog()
{
	CXTResizeDialog::OnInitDialog();

	InitToolBar();
	InitListCtrl();
	GetAllStand();
	m_pItinerantFlightList->SetAirportDB(m_pInputAirside->m_pAirportDB);
	m_pItinerantFlightSchedule->SetAirportDB(m_pInputAirside->m_pAirportDB);

	m_pItinerantFlightList->ReadData(m_nProjID);
	m_pItinerantFlightSchedule->ReadData(m_nProjID);

	SetListContent();
	GetDlgItem(IDC_SAVE)->EnableWindow(FALSE);

	SetResize(IDC_STATIC_AREA, SZ_TOP_LEFT , SZ_BOTTOM_RIGHT);
	SetResize(IDC_LIST_CONTENTS, SZ_TOP_LEFT, SZ_BOTTOM_RIGHT);
	SetResize(IDC_VIEW_SCHEDULE, SZ_BOTTOM_LEFT , SZ_BOTTOM_LEFT);
	SetResize(IDC_UPDATE_SCHEDULE,SZ_BOTTOM_LEFT,SZ_BOTTOM_LEFT);

	SetResize(IDC_SAVE, SZ_BOTTOM_RIGHT, SZ_BOTTOM_RIGHT);
	SetResize(IDOK, SZ_BOTTOM_RIGHT, SZ_BOTTOM_RIGHT);
	SetResize(IDCANCEL, SZ_BOTTOM_RIGHT, SZ_BOTTOM_RIGHT);	

	SetIcon(LoadIcon( AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME) ),TRUE);
	SetIcon(LoadIcon( AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME) ),FALSE);

	return TRUE;
}
StatsHeroesList::StatsHeroesList(const Point & pt, KingdomHeroes & heroes) : Interface::ListBox<HEROESPTR>(pt)
{
    const Sprite & back = AGG::GetICN(ICN::OVERVIEW, 13);

    SetTopLeft(pt);
    SetScrollSplitter(AGG::GetICN(ICN::SCROLL, 4),
                        Rect(pt.x + 630, pt.y + 18, back.w(), back.h()));
    SetScrollButtonUp(ICN::SCROLL, 0, 1,
                        Point(pt.x + 626, pt.y));
    SetScrollButtonDn(ICN::SCROLL, 2, 3,
                        Point(pt.x + 626, pt.y + 20 + back.h()));
    SetAreaMaxItems(4);
    SetAreaItems(Rect(pt.x + 30, pt.y + 17, 594, 344));
    SetListContent(heroes);
}
StatsCastlesList::StatsCastlesList(const Point & pt, KingdomCastles & castles) : Interface::ListBox<CstlRow>(pt)
{
    const Sprite & back = AGG::GetICN(ICN::OVERVIEW, 13);

    SetTopLeft(pt);
    SetScrollSplitter(AGG::GetICN(ICN::SCROLL, 4),
                        Rect(pt.x + 629, pt.y + 18, back.w(), back.h()));
    SetScrollButtonUp(ICN::SCROLL, 0, 1,
                        Point(pt.x + 626, pt.y));
    SetScrollButtonDn(ICN::SCROLL, 2, 3,
                        Point(pt.x + 626, pt.y + 20 + back.h()));
    SetAreaMaxItems(4);
    SetAreaItems(Rect(pt.x + 30, pt.y + 17, 594, 344));

    content.resize(castles.size());

    for(KingdomCastles::iterator
	it = castles.begin(); it != castles.end(); ++it)
	content[std::distance(castles.begin(), it)].Init(*it);

    SetListContent(content);
}
Esempio n. 5
0
bool CSoftWareConfig::Process(const TImgBuffer &imgBuff)
{
	PixelMem*	pImage		= imgBuff.CurrentFrameData();
	size_t		bytes		= imgBuff.FrameBytes();
	TImgDim		dim			= imgBuff.Dimension();

	m_pProcessor->SetRawImage(pImage, bytes);
	CapsuleProc::ObservingTarget(100);
	m_pProcessor->Process(CapsuleProc::TRAIN);
	if (m_profileEnable)
	{
		m_cvDisplay.SetImage(reinterpret_cast<long>(CapsuleProc::ObservedIMG()));
	}	
	else
	{
		m_cvDisplay.SetImage(reinterpret_cast<long>(m_IMGForPlayer));
	}
//	CapsuleProc::ObservingTarget(999);
	

	TCapsuleParam& proData = m_pProcessor->GetProcedureData();
	int arryCount = 1;			

	if (arryCount)
	{
		if (3 == dim.bytesPerPixel)
		{
			m_hue1VectPerFrame.clear();
			m_hue2VectPerFrame.clear();
			PelLab24 hue1;
			PelLab24 hue2;
			PelLab24 color;
			for(int i = 0; i < arryCount; ++i)
			{	
				bool noEmptyHue1  = !m_hue1Vect.empty();
				bool noEmptyHue1F = !m_hue1VectPerFrame.empty();

				if( noEmptyHue1 || noEmptyHue1F)
				{
					if		(noEmptyHue1)	{	color = GetStdHue(m_hue1Vect);			}
					else if	(noEmptyHue1F)	{	color = GetStdHue(m_hue1VectPerFrame);	}
				
					size_t distHue1  =	(hue1.a - color.a)*(hue1.a - color.a)
									  + (hue1.b - color.b)*(hue1.b - color.b);

					size_t distHue2 =	(hue2.a - color.a)*(hue2.a - color.a)
									  + (hue2.b - color.b)*(hue2.b - color.b);
					if(distHue1 > distHue2)
					{
						color	= hue1;
						hue1	= hue2;
						hue2	= color;
					}
				}
				m_hue1VectPerFrame.push_back(hue1);
				m_hue2VectPerFrame.push_back(hue2);
			}
			m_curParam.capColor = GetStdHue(m_hue1VectPerFrame);
			m_curParam.bodyColor= GetStdHue(m_hue2VectPerFrame);
			SetListContent(1, m_curParam);					
		}
		else
		{
			EIndex index = m_pProcessor->GetProcessIndex();
			m_dimVectPerFrame.clear();
			m_dimVectPerFrame.push_back(proData.GetParam());		
			m_curParam = GetStdDim(m_dimVectPerFrame);
			switch(index)
			{
			case eFirst:
				SetListContent(1, proData.GetParam());
				break;
			case eSecond:
				SetListContent(3, proData.GetParam());
				break;
			}				
		}
	}
	return true;
}
void CDlgDepartureSlotSpec::InitListCtrl()
{
	DWORD dwStyle = m_wndListCtrl.GetExtendedStyle();
	dwStyle |= LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_GRIDLINES;
	m_wndListCtrl.SetExtendedStyle(dwStyle);
	CStringList strlist;	
	LV_COLUMNEX lvc;
	lvc.mask = LVCF_WIDTH|LVCF_TEXT|LVCF_FMT;

	//flight type
	lvc.pszText = "Flight Type";
	lvc.cx = 80;
	lvc.fmt = LVCFMT_NOEDIT;
	lvc.csList = &strlist;
	m_wndListCtrl.InsertColumn(0,&lvc);

	//SID
	strlist.RemoveAll();
	strlist.AddTail(_T("All"));
	m_vrSID.clear();
	m_vrSID.push_back(-2);
	AirRouteList airRouteList;
	airRouteList.ReadData(m_nProjID);
	int nAirRouteCount = airRouteList.GetAirRouteCount();
	for (int i = 0; i < nAirRouteCount; i++)
	{
		CAirRoute *pAirRoute = 0;
		pAirRoute = airRouteList.GetAirRoute(i);
		ASSERT(pAirRoute != NULL);
		if (pAirRoute && CAirRoute::SID == pAirRoute->getRouteType() )
		{
			strlist.AddTail(pAirRoute->getName());
			m_vrSID.push_back(pAirRoute->getID());
		}
	}	
	lvc.pszText = "SID";
	lvc.cx = 40;
	lvc.fmt = LVCFMT_DROPDOWN;
	m_wndListCtrl.InsertColumn(1,&lvc);

	//time range
	strlist.RemoveAll();
	lvc.pszText = "Time Range";
	lvc.cx = 80;
	lvc.fmt = LVCFMT_NOEDIT;
	lvc.csList = &strlist;
	m_wndListCtrl.InsertColumn(2,&lvc);
	
	 //distribution
	strlist.RemoveAll();
	 CProbDistManager* pProbDistMan = 0;	
	 CProbDistEntry* pPDEntry = 0;
	 int nCount = -1;
	 if(m_pAirportDB)
		 pProbDistMan = m_pInputAirside->m_pAirportDB->getProbDistMan();
	 strlist.AddTail(_T("New Probability Distribution..."));
	 if(pProbDistMan)
		 nCount = pProbDistMan->getCount();
	 for( int i=0; i< nCount; i++ )
	 {
		 pPDEntry = pProbDistMan->getItem( i );
		 if(pPDEntry)
			 strlist.AddTail(pPDEntry->m_csName);
	 } 
	 lvc.pszText = "First slot delay(mins)";
	 lvc.cx = 120;
	 lvc.fmt = LVCFMT_DROPDOWN;
	 lvc.csList = &strlist;
	 m_wndListCtrl.InsertColumn(3, &lvc);

	 lvc.pszText = "Inter slot delay(mins)";
	 lvc.cx = 200;
	 m_wndListCtrl.InsertColumn(4, &lvc);

	 SetListContent();
	 
	 GetDlgItem(IDSAVE)->EnableWindow(FALSE);
}
Esempio n. 7
0
// ----------------------------------------------------------------------------
// Name : MouseMessage()
// Desc :
// ----------------------------------------------------------------------------
WMSG_RESULT CUIHelp::MouseMessage( MSG *pMsg )
{
	WMSG_RESULT	wmsgResult;

	// Title bar
	static BOOL bTitleBarClick = FALSE;

	// Mouse point
	static int	nOldX, nOldY;
	int	nX = LOWORD( pMsg->lParam );
	int	nY = HIWORD( pMsg->lParam );

	if(!m_bVisible) return WMSG_FAIL;
	
	// Mouse message
	switch( pMsg->message )
	{
	case WM_MOUSEMOVE:
		{
			if( IsInside( nX, nY ) )
				CUIManager::getSingleton()->SetMouseCursorInsideUIs();

			if( IsInsideRect(nX,nY,m_rcRightView))
				m_bVisibleImg = TRUE;
			else
			{
				m_bVisibleImg = FALSE;
				m_bSlideImgX = 0;
			}
				
			

			// Move web board
			if( bTitleBarClick && ( pMsg->wParam & MK_LBUTTON ) )
			{
				int	ndX = nX - nOldX;
				int	ndY = nY - nOldY;
				nOldX = nX;	nOldY = nY;

				Move( ndX, ndY );

				return WMSG_SUCCESS;
			}
			// Close button
			else if( m_btnClose.MouseMessage( pMsg ) != WMSG_FAIL )
				return WMSG_SUCCESS;
			// List box
			else if( m_lbListContent.MouseMessage( pMsg ) != WMSG_FAIL )
						return WMSG_SUCCESS;
			// List box
			else if( m_lbReadContent.MouseMessage( pMsg ) != WMSG_FAIL )
						return WMSG_SUCCESS;
							
		}
		break;

	case WM_LBUTTONDOWN:
		{
			if( IsInside( nX, nY ) )
			{
				SetFocus ( TRUE );
				CUIManager::getSingleton()->RearrangeOrder( UI_HELP, TRUE );

				nOldX = nX;		nOldY = nY;

				// Close button
				if( m_btnClose.MouseMessage( pMsg ) != WMSG_FAIL )
				{
					// Nothing
				}
				// Title bar
				else if( IsInsideRect( nX, nY, m_rcTitle ) )
				{
					bTitleBarClick = TRUE;
				}
				// List box
				if( ( wmsgResult = m_lbListContent.MouseMessage( pMsg ) ) != WMSG_FAIL )
				{
					if( wmsgResult == WMSG_COMMAND )
					{
						SetViewContent( m_lbListContent.GetCurSel() );
						SetListContent( m_lbListContent.GetCurSel() );
						
					}
				}	
				// List box
				else if( ( wmsgResult = m_lbReadContent.MouseMessage( pMsg ) ) != WMSG_FAIL )
				{
					// Do Nothing
				}
			
				return WMSG_SUCCESS;
			}
		}
		break;

	case WM_LBUTTONUP:
		{
			CUIManager* pUIManager = CUIManager::getSingleton();

			// If holding button doesn't exist
			if (pUIManager->GetDragIcon() == NULL)
			{
				// Title bar
				bTitleBarClick = FALSE;

				// If teleport isn't focused
				if( !IsFocused() )
					return WMSG_FAIL;

				// Close button
				if( ( wmsgResult = m_btnClose.MouseMessage( pMsg ) ) != WMSG_FAIL )
				{
					if( wmsgResult == WMSG_COMMAND )
						CloseHelp();

					return WMSG_SUCCESS;
				}
				// List box
				else if( m_lbListContent.MouseMessage( pMsg ) != WMSG_FAIL )
					return WMSG_SUCCESS;
				// List box
				else if( m_lbReadContent.MouseMessage( pMsg ) != WMSG_FAIL )
					return WMSG_SUCCESS;
				
				
			}
			// If holding button exists
			else
			{
				if( IsInside( nX, nY ) )
				{
					// Reset holding button
					pUIManager->ResetHoldBtn();

					return WMSG_SUCCESS;
				}
			}
		}
		break;

	case WM_LBUTTONDBLCLK:
		{
			if( IsInside( nX, nY ) )
			{
				// DO NOTTHING
				return WMSG_SUCCESS;
			}
		}
		break;

	case WM_MOUSEWHEEL:
		{
			if( IsInside( nX, nY ) )
			{
				// List box of read type
				if( m_lbListContent.MouseMessage( pMsg ) != WMSG_FAIL )
						return WMSG_SUCCESS;							
				// List box of read type
				if( m_lbReadContent.MouseMessage( pMsg ) != WMSG_FAIL )
						return WMSG_SUCCESS;							
			}
		}
		break;
	}

	return WMSG_FAIL;
}
void CDlgItinerantTraffic::OnEditItem()
{
	ASSERT(::IsWindow(m_wndListCtrl.m_hWnd));

	POSITION pos = m_wndListCtrl.GetFirstSelectedItemPosition();
	if (pos != NULL)
	{
		while (pos)
		{
			int nItem = m_wndListCtrl.GetNextSelectedItem(pos);
			//TODO
			ItinerantFlight* pItinerantFlight = m_pItinerantFlightList->GetItem(nItem);
			//-------------------
			CDlgItinerantTrafficDefine dlg(m_nProjID, m_pSelectFlightType, m_pInputAirside, m_pSelectProbDistEntry, pItinerantFlight);

			if(IDOK == dlg.DoModal())
			{
				SetListContent();

// 				m_wndListCtrl.SetItemText(nIndex, 0, pItinerantFlight->GetName());
// 
// 				strTempValue.Format(_T("%d"),(int)(pItinerantFlight->GetEnRoute()));
// 				m_wndListCtrl.SetItemText(nIndex,1,strTempValue);
// 
// 				int nEntryFlag = pItinerantFlight->GetEntryFlag();
// 				int nEntryID = pItinerantFlight->GetEntryID();
// 				if(nEntryFlag == ALTOBJECT_TYPE(ALT_WAYPOINT))
// 				{
// 					for (int i = 0; i < static_cast<int>(m_vWaypoint.size()); ++ i)
// 					{
// 						if(m_vWaypoint[i].getID() == nEntryID)
// 						{
// 							CString strEntry = m_vWaypoint[i].GetObjNameString();
// 							strTempValue.Format("%s",strEntry);
// 							break;
// 						}
// 					}
// 				}
// 				else
// 				{
// 					ALTObjectGroup altObjGroup;
// 					altObjGroup.ReadData(nEntryID);	
// 					strTempValue = altObjGroup.getName().GetIDString();
// 				}
// 				m_wndListCtrl.SetItemText(nIndex, 2, strTempValue);
// 
// 				int nExitFlag = pItinerantFlight->GetExitFlag();
// 				int nExitID = pItinerantFlight->GetExitID();
// 				if(nExitFlag == ALTOBJECT_TYPE(ALT_WAYPOINT))
// 				{
// 					for (int i = 0; i < static_cast<int>(m_vWaypoint.size()); ++ i)
// 					{
// 						if(m_vWaypoint[i].getID() == nExitID)
// 						{
// 							CString strExit = m_vWaypoint[i].GetObjNameString();
// 							strTempValue.Format("%s",strExit);
// 							break;
// 						}
// 					}
// 				}
// 				else
// 				{
// 					ALTObjectGroup altObjGroup;
// 					altObjGroup.ReadData(nExitID);	
// 					strTempValue = altObjGroup.getName().GetIDString();
// 				}
// 				m_wndListCtrl.SetItemText(nIndex, 3, strTempValue);
// 
// 				//
// 				CString strTimeRange = _T(""),strDay = _T("");
// 
// 				ElapsedTime* etInsertStart = pItinerantFlight->GetArrStartTime();
// 				long lSecond = etInsertStart->asSeconds();
// 				strDay.Format(_T("Day%d %02d:%02d:%02d"),lSecond/86400+1,(lSecond % 86400)/3600,(lSecond % 86400 % 3600)/60,lSecond % 86400 % 3600 % 60);
// 				strTimeRange = strDay + _T(" - ");
// 				ElapsedTime* etInsertEnd = pItinerantFlight->GetArrEndTime();
// 				if (*etInsertStart == 0L
// 					&& *etInsertEnd == 0L)
// 				{
// 					etInsertEnd->SetTime("23:59:59");
// 				}
// 				lSecond = etInsertEnd->asSeconds();
// 				strDay.Format(_T("Day%d %02d:%02d:%02d"),lSecond/86400+1,(lSecond % 86400)/3600,(lSecond % 86400 % 3600)/60,lSecond % 86400 % 3600 % 60);
// 				strTimeRange += strDay;
// 				strTempValue = strTimeRange;
// 				//
// 				if (pItinerantFlight->GetEntryID() != -1)
// 				{
// 					m_wndListCtrl.SetItemText(nIndex, 4, strTempValue);
// 				}
// 				else
// 				{
// 					m_wndListCtrl.SetItemText(nIndex,4,_T(""));
// 				}
// 				etInsertStart = pItinerantFlight->GetDepStartTime();
// 				lSecond = etInsertStart->asSeconds();
// 				strDay.Format(_T("Day%d %02d:%02d:%02d"),lSecond/86400+1,(lSecond % 86400)/3600,(lSecond % 86400 % 3600)/60,lSecond % 86400 % 3600 % 60);
// 				strTimeRange = strDay + _T(" - ");
// 				etInsertEnd = pItinerantFlight->GetDepEndTime();
// 				if (*etInsertStart == 0L
// 					&& *etInsertEnd == 0L)
// 				{
// 					etInsertEnd->SetTime("23:59:59");
// 				}
// 				lSecond = etInsertEnd->asSeconds();
// 				strDay.Format(_T("Day%d %02d:%02d:%02d"),lSecond/86400+1,(lSecond % 86400)/3600,(lSecond % 86400 % 3600)/60,lSecond % 86400 % 3600 % 60);
// 				strTimeRange += strDay;
// 				strTempValue = strTimeRange;
// 				if(pItinerantFlight->GetEnRoute())
// 				{
// 					m_wndListCtrl.SetItemText(nIndex,5,_T(""));
// 				}
// 				else
// 				{
// 					if (pItinerantFlight->GetExitID() != -1)
// 					{
// 						m_wndListCtrl.SetItemText(nIndex, 5, strTempValue);
// 					}
// 					else
// 					{
// 						m_wndListCtrl.SetItemText(nIndex,5,_T(""));
// 					}
// 				}
// 				
// 				strTempValue.Format("%d", pItinerantFlight->GetFltCount());
// 				m_wndListCtrl.SetItemText(nIndex, 6, strTempValue);
// 				
// 				if (pItinerantFlight->GetEntryID() != -1)
// 				{
// 					strTempValue = pItinerantFlight->GetArrDistScreenPrint();
// 					m_wndListCtrl.SetItemText(nIndex, 7, strTempValue);
// 				}
// 				else
// 				{
// 					m_wndListCtrl.SetItemText(nIndex,7,_T(""));
// 				}
// 
// 				if (pItinerantFlight->GetExitID() != -1)
// 				{
// 					strTempValue = pItinerantFlight->GetDepDistScreenPrint();
// 					m_wndListCtrl.SetItemText(nIndex,8,strTempValue);
// 				}
// 				else
// 				{
// 					m_wndListCtrl.SetItemText(nIndex,8,_T(""));
// 				}
 			}
 			//-------------------
 		}

	}

	GetDlgItem(IDC_SAVE)->EnableWindow();
	UpdateToolBar();
}