Ejemplo n.º 1
0
void CDlgFreeTrainList::UpdateList()
{
  for(int no=0;no<m_ctlList.GetItemCount();no++)
	  g_SetCheck[no] = m_ctlList.GetCheck(no);
  while(m_ctlList.GetItemCount()<g_FreeTrainManageList.GetCount())
  {
    ::AddListItem(m_ctlList,0,0,"");
  }
  while(m_ctlList.GetItemCount()>g_FreeTrainManageList.GetCount())
  {
    m_ctlList.DeleteItem(0);
  }

  for(int item=0;item<g_FreeTrainManageList.GetCount();item++)
  {
    POSITION pos = g_FreeTrainManageList.FindIndex(item);
    struct TagFreeTrainStruct *pFreeTrain = (TagFreeTrainStruct *)g_FreeTrainManageList.GetAt(pos);

    ::SetItemText(m_ctlList,item,0,::GetFormatText("%d",item+1));
    ::SetItemText(m_ctlList,item,1,g_Unit[pFreeTrain->InFeederUnitID].UnitName);
    ::SetItemText(m_ctlList,item,2,g_Unit[pFreeTrain->OutFeederUnitID].UnitName);
    ::SetItemText(m_ctlList,item,3,::GetFormatText("%0.0f",pFreeTrain->AverCurrent));
    ::SetItemText(m_ctlList,item,4,::GetFormatText("%0.0f",pFreeTrain->AverAngle));
    ::SetItemText(m_ctlList,item,5,::GetFormatText("%d",pFreeTrain->InContinuedSeconds));
    ::SetItemText(m_ctlList,item,6,::GetFormatText("%d",pFreeTrain->ChangeContinuedSeconds));
    ::SetItemText(m_ctlList,item,7,::GetFormatText("%d",pFreeTrain->OutContinuedSeconds));
    ::SetItemText(m_ctlList,item,8,::GetFormatText("%0.1f",pFreeTrain->CurrentChangeRate*100));
    ::SetItemText(m_ctlList,item,9,::GetFormatText("%d",pFreeTrain->StartupDelaySecond));
    ::SetItemImage(m_ctlList,item,0);
	  m_ctlList.SetCheck(item,g_SetCheck[item]);
  }
}
Ejemplo n.º 2
0
BOOL CPicTransparentDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	CString strColorHex;
   CPtrList SelItems;
   m_pVecTstView->GetSelectedItems(SelItems);
   POSITION pos = SelItems.GetHeadPosition();
   while(pos!=NULL)
   {
      CVecBase* pVec = (CVecBase*)SelItems.GetNext(pos);
      CVecBitmapBase* pBitmapBase = dynamic_cast<CVecBitmapBase*>(pVec);
      if(pBitmapBase!=NULL)
      {
         m_bIsTransparent = pBitmapBase->IsTransparent();

		  m_clrTransparent = pVec->GetShadowColor();
		  strColorHex.Format("Color: #%06X",m_clrTransparent);
		  m_ColorPickerButton.SetWindowText(strColorHex);

         break;
      }
   }

   UpdateData(FALSE);
   OnIsTransparent();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
Ejemplo n.º 3
0
void CDlgFreeTrainList::OnStartup() 
{
  if(::CheckOperateCondition()==FALSE)
    return;
	
  if(::AfxMessageBox("是否启动除自由行车?",MB_YESNO)==IDNO)
    return;

  for(int item=0;item<m_ctlList.GetItemCount();item++)
  {
	  if(m_ctlList.GetCheck(item))
    {
      POSITION pos = g_FreeTrainManageList.FindIndex(item);
      struct TagFreeTrainStruct *pFreeTrain = (TagFreeTrainStruct *)g_FreeTrainManageList.GetAt(pos);
      
      pFreeTrain->InBeginTime = CTime::GetCurrentTime() + CTimeSpan(0,0,0,pFreeTrain->StartupDelaySecond);;
      pFreeTrain->InFinishTime = pFreeTrain->InBeginTime+CTimeSpan(0,0,0,pFreeTrain->InContinuedSeconds);
      pFreeTrain->ChangeBeginTime = pFreeTrain->InFinishTime;
      pFreeTrain->ChangeFinishTime = pFreeTrain->ChangeBeginTime+CTimeSpan(0,0,0,pFreeTrain->ChangeContinuedSeconds);
      pFreeTrain->OutBeginTime = pFreeTrain->ChangeFinishTime;
      pFreeTrain->OutFinishTime = pFreeTrain->OutBeginTime+CTimeSpan(0,0,0,pFreeTrain->OutContinuedSeconds);

      struct TagFreeTrainStruct *pNewFreeTrain = new TagFreeTrainStruct;
      memcpy(pNewFreeTrain,pFreeTrain,sizeof(TagFreeTrainStruct));

      ::AddFreeTrain(pNewFreeTrain);

      g_pDlgMessageBox->DoShow("准备启动自由行车",3);
    }
  }

  OnCancel();
}
Ejemplo n.º 4
0
BOOL CPictureSizeDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
   for(int i = 0; i<NUM_OF_UNITS; i++)
   {
      m_cbWidthUnits.AddString(aUnitsStrings[i]);
      m_cbHeightUnits.AddString(aUnitsStrings[i]);
   }

   
   CPtrList SelItems;
   m_pVecTstView->GetSelectedItems(SelItems, TRUE);
   CVecContainer::ArrangeItemsForTrack(SelItems);
   POSITION pos = SelItems.GetHeadPosition();
   while(pos!=NULL)
   {
      CVecBase* pVec = (CVecBase*)SelItems.GetNext(pos);;

      CDRect rect;
      rect = pVec->GetRect();
      m_dPicVecWidth = m_dOriginalPicVecWidth = rect.right - rect.left;
      m_dPicVecHeight = m_dOriginalPicVecHeight = rect.bottom - rect.top;

      UpdateData(FALSE);
      break;//initiate the dialog with the data of the first text item
   }

   FillWidthAndHeight();

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void CLibraryFolderCtrl::Update(DWORD nUpdateCookie)
{
	CPtrList pAlready;

	for ( HTREEITEM hItem = GetChildItem( m_hRoot ) ; hItem ; )
	{
		HTREEITEM hNext = GetNextSiblingItem( hItem );

		CLibraryFolder* pFolder = (CLibraryFolder*)GetItemData( hItem );

		if ( LibraryFolders.CheckFolder( pFolder ) )
		{
			Update( pFolder, hItem, NULL, nUpdateCookie, FALSE );
			pAlready.AddTail( pFolder );
		}
		else
		{
			DeleteItem( hItem );
		}

		hItem = hNext;
	}

	for ( POSITION pos = LibraryFolders.GetFolderIterator() ; pos ; )
	{
		CLibraryFolder* pFolder = LibraryFolders.GetNextFolder( pos );

		if ( pAlready.Find( pFolder ) == NULL )
		{
			Update( pFolder, NULL, m_hRoot, nUpdateCookie, FALSE );
		}
	}
}
Ejemplo n.º 6
0
BOOL CInfCreature::GetAffects(CPtrList &list)
{
	if (m_plAffects.GetCount() < 1)
		return(TRUE);

	INF_AFF *pAff, *pNew;
	POSITION pos = m_plAffects.GetHeadPosition();
	while(pos)
	{
		pAff = (INF_AFF*)m_plAffects.GetNext(pos);

		// Don't return the affects that are already handled in special cases.
		if (pAff->dwAffectType == AFF_TYPE_PROF ||	
			 (pAff->dwAffectType == AFF_TYPE_SPELL && !strnicmp(pAff->chResRef3,"SPCL812",7))
			)
			continue;

		pNew = new INF_AFF;
		if (!pNew)
			return(FALSE);

		memcpy(pNew,pAff,sizeof(INF_AFF));

		list.AddTail(pNew);
	}

	TRACE("CInfCreautre::GetAffects() - %d affects found.\n",list.GetCount());
	return(TRUE);
}
Ejemplo n.º 7
0
void COwnedLostItem::SetHandledViaNetscape()
{
	m_nHandleMethod = OL_OTHER_APP;

	// Get the app's name.
	CString netscapeName;
	char buffer[_MAX_PATH+1];
	::GetModuleFileName(theApp.m_hInstance, buffer, _MAX_PATH);
	char *pSlash = ::strrchr(buffer, '\\');
	netscapeName = (char*)(pSlash+1);
	netscapeName.MakeUpper();

	// Get the app's directory. Adequate heuristic for version-checking Netscape
	CString directoryName(buffer);
	directoryName.MakeUpper();

	// Special Internet Shortcut check
	if (IsInternetShortcut())
	{
		CInternetShortcut internetShortcut;
		if (!internetShortcut.ShellSupport())
		{
			m_nHandleMethod = OL_CURRENT_NETSCAPE;
			return;
		}
		
		CString fileClass = GetInternetShortcutFileClass();
		SetHandleMethodViaFileClass(fileClass, netscapeName, directoryName);
		return;
	}

	CPtrList* allHelpers = &(CHelperApp::m_cplHelpers);

	for (POSITION pos = allHelpers->GetHeadPosition(); pos != NULL;)
	{
		CHelperApp* app = (CHelperApp*)allHelpers->GetNext(pos);
		CString helperMime(app->cd_item->ci.type);

		if (helperMime == m_csMimeType)
		{
			// Found the helper app.  See if Netscape is truly handling this mime type.
			CString fileClass(app->strFileClass);

			if (fileClass != "")
			{
				SetHandleMethodViaFileClass(fileClass, netscapeName, directoryName);
				return;
			}
			else m_bBroken = TRUE; // Treat as if ignored. Don't want to pop up a dialog over this.

			if (app->how_handle == HANDLE_VIA_NETSCAPE)
				m_nHandleMethod = OL_CURRENT_NETSCAPE;
			else m_nHandleMethod = OL_OTHER_APP;

			return;
		}
	}

	m_bBroken = TRUE; // Didn't even find this mime type. Don't want to fool with it.
}
Ejemplo n.º 8
0
int CLocalSearch::ExecuteSharedFiles(int nMaximum)
{
	CQuickLock oLock( Library.m_pSection );
	CPtrList* pFiles = Library.Search( m_pSearch, nMaximum );
	if ( pFiles == NULL ) return 0;

	int nHits = pFiles->GetCount();

	while ( pFiles->GetCount() )
	{
		int nInThisPacket = min( pFiles->GetCount(), (int)Settings.Gnutella.HitsPerPacket );

		CreatePacket( nInThisPacket );

        int nHitB = 0;
		for ( int nHitA = 0 ; nHitA < nInThisPacket ; nHitA++ )
		{
			CLibraryFile* pFile = (CLibraryFile*)pFiles->RemoveHead();
			if ( AddHit( pFile, nHitB ) ) nHitB ++;
		}

		WriteTrailer();
		if ( nHitB > 0 ) DispatchPacket(); else DestroyPacket();
	}

	delete pFiles;

	return nHits;
}
Ejemplo n.º 9
0
int
CGenethonDoc::AppendDataRows(CPtrList& SequenceList, int Append )
{

	int SkippedName = 0;
	POSITION tPos = SequenceList.GetHeadPosition();
	while ( tPos != NULL ) {

		SeqNameStruct *tSNS = (SeqNameStruct *)SequenceList.GetNext(tPos);

		int DupName = 0;

		POSITION testPos = pGSFiller->SegDataList.GetHeadPosition();
		while (testPos != NULL ) {
			CGeneSegment *tCGSeg = (CGeneSegment *)pGSFiller->SegDataList.GetNext(testPos);
			if ( tCGSeg->GetTitle() == tSNS->Name ) {
				DupName = 1;
				break;
			}
		}
		
		if ( DupName ) {
			SkippedName = 1;
			delete tSNS;
			continue;
		}
		
		CGeneSegment *tCGSeg = new CGeneSegment();

		if ( tCGSeg == 0 ) {
			AfxMessageBox("GetMSFFile:new Fail 4" );
			delete pGSFiller;
			pGSFiller = NULL;
			return 0;
		}

		if ( !tCGSeg->Create( LINESEQUENCE, tSNS->Name, tSNS->Descr, tSNS->Weight, tSNS->hText, tSNS->Len, tSNS->Start, &m_UserVars.m_ForeColor, &m_UserVars.m_BackColor ) ) {
			AfxMessageBox("GetMSFFile:Create Fail 2" );
			delete pGSFiller;
			pGSFiller = NULL;
			return 0;
		}			
		
		// Cleanup
		delete tSNS;

		// put it on the list
		pGSFiller->AddData( tCGSeg );
		

	}

	if ( SkippedName ) {
		AfxMessageBox( "Duplicate Sequences (Names) have been discarded!" );
	}

	return 1;
}
Ejemplo n.º 10
0
BOOL CUpdateUtil::CompareFileVersion(CItemList* pItemListSourceCmp, CItemList* pItemListDestCmp)
{
//	UPDATE_DATA* tmpClientSection = NULL;
//	UPDATE_DATA* tmpServerSection = NULL;

//	memset(tmpClientSection, 0, sizeof(UPDATE_DATA));
//	memset(tmpServerSection, 0, sizeof(UPDATE_DATA));
	
	CPtrList* pPLClient = pItemListDestCmp->GetPtrList();
	CPtrList* pPLServer = pItemListSourceCmp->GetPtrList();
	BOOL bExist = FALSE;
	UPDATE_DATA *psiServer = NULL;
	UPDATE_DATA *psiClient = NULL;
	CString strFilePath = "";

	UTIL_CANCEL();
	if(pPLClient->GetCount() == 0)
	{
		// Server xml File check
		POSITION posServer= pPLServer->GetHeadPosition();
		psiServer = NULL;
		strFilePath = "";
		while(posServer)
		{	
			bExist = FALSE;

			psiServer = (UPDATE_DATA *)pPLServer->GetNext(posServer);
			strFilePath.Format("%s\\%s", psiServer->DownPath, psiServer->Name);

			switch (VersionCheck(strFilePath, "0", psiServer->Version, psiServer->DownURL, psiServer->CheckSum, psiServer->Size))
			{
			case UPDATE_FLAG_NORMAL:
				TRACE("%s File : Do not anything  because %s == %s\n", strFilePath, psiServer->Version, psiServer->Version);
				psiServer->UpdateFlag = UPDATE_FLAG_NORMAL;
				break;
			case UPDATE_FLAG_NEW:
				TRACE("%s File : New  because not exsist\n", strFilePath);
				psiServer->UpdateFlag = UPDATE_FLAG_NEW;
				break;
			case UPDATE_FLAG_UPDATE:
				TRACE("%s File : Update  because %s < %s\n", strFilePath, psiServer->Version, psiServer->Version);
				psiServer->UpdateFlag = UPDATE_FLAG_UPDATE;
				break;
			case UPDATE_FLAG_DIFFERENT:
				TRACE("%s File : Update because different between xml version file and exist file\n", strFilePath);
				psiServer->UpdateFlag = UPDATE_FLAG_UPDATE;
				break;
			}
		}
	}
	else
	{
		return	CompareFileVersion2(pItemListSourceCmp, pItemListDestCmp);
	}

	return TRUE;
}
Ejemplo n.º 11
0
LONG CuDlgIpmPageProcesses::OnUpdateData (WPARAM wParam, LPARAM lParam)
{
	BOOL bOK = FALSE;
	CPtrList listInfoStruct;
	LOGPROCESSDATAMIN* pData;
	LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam;
	CString strID;
	CString strPID; 
	CString strType;
	CString strOpenDB;
	CString strWrite;
	CString strForce;
	CString strWait;
	CString strBegin;
	CString strEnd;

	ASSERT (pUps);
	switch (pUps->nIpmHint)
	{
	case 0:
		break;
	default:
		return 0L;
	}

	try
	{
		LOGPROCESSDATAMIN structData;
		CdIpmDoc* pDoc = (CdIpmDoc*)wParam;
		ResetDisplay();
		CaIpmQueryInfo queryInfo(pDoc, OT_MON_LOGPROCESS, pUps, (LPVOID)&structData, sizeof(structData));

		bOK = IPM_QueryInfo (&queryInfo, listInfoStruct);
		if (bOK)
		{
			while (!listInfoStruct.IsEmpty())
			{
				pData = (LOGPROCESSDATAMIN*)listInfoStruct.RemoveHead();
				GetDisplayInfo (pData, strID, strPID, strType, strOpenDB, strWrite, strForce, strWait, strBegin, strEnd);
				AddProcess (strID, strPID, strType, strOpenDB, strWrite, strForce, strWait, strBegin, strEnd, pData);
			}
		}
		return 0L;
	}
	catch (CMemoryException* e)
	{
		theApp.OutOfMemoryMessage();
		e->Delete();
	}
	catch (CeIpmException e)
	{
		AfxMessageBox (e.GetReason(), MB_ICONEXCLAMATION|MB_OK);
	}
	while (!listInfoStruct.IsEmpty())
		delete (LOGPROCESSDATAMIN*)listInfoStruct.RemoveHead();
	return 0L;
}
Ejemplo n.º 12
0
void* CZipArchive::myalloc(void* opaque, UINT items, UINT size)
{
	void* p = new char[size * items];
	if (opaque)
	{
		CPtrList* list  = (CPtrList*) opaque;
		list->AddTail(p);
	}
	return p;
}
Ejemplo n.º 13
0
LONG CuDlgIpmPageLockLists::OnUpdateData (WPARAM wParam, LPARAM lParam)
{
	BOOL bOK = FALSE;
	CPtrList listInfoStruct;
	LOCKLISTDATAMIN* pData;
	LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam;
	CString strID;
	CString strSession;
	CString strCount;
	CString strLogical;
	CString strMaxL;
	CString strStatus;

	ASSERT (pUps);
	switch (pUps->nIpmHint)
	{
	case 0:
	case FILTER_SYSTEM_LOCK_LISTS:
		break;
	default:
		return 0L;
	}
	try
	{
		LOCKLISTDATAMIN structData;
		CdIpmDoc* pDoc = (CdIpmDoc*)wParam;
		ResetDisplay();
		CaIpmQueryInfo queryInfo(pDoc, OT_MON_LOCKLIST, pUps, (LPVOID)&structData, sizeof(structData));

		bOK = IPM_QueryInfo (&queryInfo, listInfoStruct);
		if (bOK)
		{
			while (!listInfoStruct.IsEmpty())
			{
				pData = (LOCKLISTDATAMIN*)listInfoStruct.RemoveHead();
				GetDisplayInfo (pData, strID, strSession, strCount, strLogical, strMaxL, strStatus);
				AddLockList (strID, strSession, strCount, strLogical, strMaxL, strStatus, pData);
			}
		}
		return 0L;
	}
	catch (CMemoryException* e)
	{
		MessageBeep (-1);
		theApp.OutOfMemoryMessage ();
		e->Delete();
	}
	catch (CeIpmException e)
	{
		AfxMessageBox (e.GetReason(), MB_ICONEXCLAMATION|MB_OK);
	}
	while (!listInfoStruct.IsEmpty())
		delete (LOCKLISTDATAMIN*)listInfoStruct.RemoveHead();
	return 0L;
}
Ejemplo n.º 14
0
void CXTPMarkupEventHandlerMap::Add(CXTPMarkupRoutedEvent* pEvent, CXTPMarkupDelegate* pDelegate)
{
	CPtrList* pHandlers;
	if (!m_mapHandlers.Lookup(pEvent, pHandlers))
	{
		pHandlers  = new CPtrList();
		m_mapHandlers.SetAt(pEvent, pHandlers);
	}

	pHandlers->AddTail(pDelegate);
}
Ejemplo n.º 15
0
void CPictureSizeDlg::Apply() 
{
   if(m_dLastHeight == m_dHeight && m_dLastWidth == m_dWidth && 
      m_iLastHeightUnits == m_iHeightUnits && m_iLastWidthUnits == m_iWidthUnits)
   return;

   CPtrList SelItems;
   m_pVecTstView->GetSelectedItems(SelItems, TRUE);
   CVecContainer::ArrangeItemsForTrack(SelItems);
   POSITION pos = SelItems.GetHeadPosition();
   m_pVecTstView->m_VecController.m_UndoManager.CreateNewStep();
   while(pos!=NULL)
   {
      CVecBase* pVec = (CVecBase*)SelItems.GetNext(pos);;
      m_pVecTstView->m_VecController.m_UndoManager.AddActionToLastStep(pVec, UAT_RESTORE_OB_FROM_LIGHT_DUMP);
      CDRect rect;
      rect = pVec->GetRect();

      switch(m_iWidthUnits)
      {
      case UNITS_CM:
         rect.right = rect.left + m_dWidth * (VEC_UNITS_PER_INCH / CM_IN_INCH);
         break;
      case UNITS_INCH:
         rect.right = rect.left + m_dWidth * VEC_UNITS_PER_INCH ;
         break;
      case UNITS_PERCENT:
         rect.right = rect.left + (rect.right-rect.left) * (m_dWidth / 100);
         break;
      }

      switch(m_iHeightUnits)
      {
      case UNITS_CM:
         rect.bottom = rect.top + m_dHeight * (VEC_UNITS_PER_INCH / CM_IN_INCH);
         break;
      case UNITS_INCH:
         rect.bottom = rect.top + m_dHeight * VEC_UNITS_PER_INCH;
         break;
      case UNITS_PERCENT:
         rect.bottom = rect.top +  (rect.bottom-rect.top) * (m_dHeight / 100);
         break;
      }

      pVec->SetRect(rect);
   }
   m_pVecTstView->m_VecContainer.Repaint();
   m_pVecTstView->m_VecController.SetModified();

   m_dLastHeight = m_dHeight;
	m_dLastWidth = m_dWidth;
	m_iLastHeightUnits = m_iHeightUnits;
	m_iLastWidthUnits = m_iWidthUnits;
}
Ejemplo n.º 16
0
void CZipArchive::myfree(void* opaque, void* address)
{
	if (opaque)
	{
		CPtrList* list  = (CPtrList*) opaque;
		POSITION pos = list->Find(address);
		if (pos)
			list->RemoveAt(pos);
	}
	delete[] address;
}
Ejemplo n.º 17
0
LONG CuDlgReplicationServerPageAssignment::OnUpdateData (WPARAM wParam, LPARAM lParam)
{
	LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam;
	CPtrList listInfoStruct;
	switch (pUps->nIpmHint)
	{
	case 0:
		break;
	default:
		return 0L;
	}
	
	ASSERT (pUps);
	try
	{
		REPLICSERVERDATAMIN RepSvrdta  = *((LPREPLICSERVERDATAMIN)pUps->pStruct);
		//
		// Empty the control:
		m_cListCtrl.DeleteAllItems();
		CdIpmDoc* pIpmDoc = (CdIpmDoc*)wParam;

		CaIpmQueryInfo queryInfo(pIpmDoc, OT_MON_REPLIC_CDDS_ASSIGN,pUps);
		queryInfo.SetNode((LPCTSTR)RepSvrdta.LocalDBNode);
		queryInfo.SetDatabase ((LPCTSTR)RepSvrdta.LocalDBName);

		BOOL bOK = IPM_QueryInfo (&queryInfo, listInfoStruct);
		if (bOK)
		{
			POSITION pos = listInfoStruct.GetHeadPosition();
			while (pos != NULL)
			{
				REPLICCDDSASSIGNDATAMIN* pCdds = (REPLICCDDSASSIGNDATAMIN*)listInfoStruct.GetNext(pos);
				AddItem (pCdds);
			}
		}
	}
	catch (CMemoryException* e)
	{
		theApp.OutOfMemoryMessage();
		e->Delete();
	}
	catch (CeIpmException e)
	{
		AfxMessageBox (e.GetReason(), MB_ICONEXCLAMATION|MB_OK);
	}

	while (!listInfoStruct.IsEmpty())
		delete (REPLICCDDSASSIGNDATAMIN*)listInfoStruct.RemoveHead();
	return 0L;
}
Ejemplo n.º 18
0
// 根据回调指针获取wke对象指针
CDuiWkeView* CDuiWkeView::GetWkeViewByClientHandler(const wkeClientHandler* pWkeClientHandler)
{
	int count = g_duiWkeViews.GetCount();
	for(int i = 0; i < count; i ++)
	{
		POSITION pos = g_duiWkeViews.FindIndex(i);
		CDuiWkeView* pDuiWkeView = (CDuiWkeView*)g_duiWkeViews.GetAt(pos);
		if(pWkeClientHandler == pDuiWkeView->GetWkeClientHandler())
		{
			return pDuiWkeView;
		}
	}
	return NULL;
}
Ejemplo n.º 19
0
void Group::Add(CPtrList& listObj)
{
	Figure* pObj;
	POSITION pos = listObj.GetHeadPosition();
	while (pos)
	{
		pObj = (Figure*)listObj.GetNext(pos);
		pObj->SetGrouped(TRUE); //현재 개체가 그룹이 되었음을 표시
		if (pObj->thisobject() == MYGROUP) //그룹일 경우
			Child.AddTail((Group*)pObj); //차일드에 추가
		else //그룹이 아닐 경우
			NodeData.AddTail(pObj); //노드 데이터에 추가
	}
}
Ejemplo n.º 20
0
BOOL CDlgFreeTrainList::LoadFreeTrainManageListFile()
{
  CString FileName = g_ProjectFilePath + "FeedTrain.lst";
  CFile file;
	if(!file.Open(FileName, CFile::modeRead))
  {
    ::AfxMessageBox(FileName + " 文件读取失败");
    return FALSE;
  }
  else
  {
    CArchive ar(&file,CArchive::load);

    g_FreeTrainManageList.RemoveAll();

    CString title = "FreeTrainList 1.0";
    ar>>title;

    WORD Count = g_FreeTrainManageList.GetCount();
    ar>>Count;
    
    for(int no=0;no<Count;no++)
    {
      struct TagFreeTrainStruct *pFreeTrain = new TagFreeTrainStruct;
      g_FreeTrainManageList.AddTail(pFreeTrain);
      ar>>pFreeTrain->InFeederUnitID;
      ar>>pFreeTrain->OutFeederUnitID;
      ar>>pFreeTrain->AverCurrent;
      ar>>pFreeTrain->AverAngle;
      ar>>pFreeTrain->CurrentChangeRate;
      ar>>pFreeTrain->InContinuedSeconds;
      ar>>pFreeTrain->ChangeContinuedSeconds;
      ar>>pFreeTrain->OutContinuedSeconds;
      ar>>pFreeTrain->StartupDelaySecond;
      CString InCurrentChangeRateList;
      CString OutCurrentChangeRateList;
      ar>>InCurrentChangeRateList;
      ar>>OutCurrentChangeRateList;
      strcpy(pFreeTrain->InCurrentChangeRateList,InCurrentChangeRateList.GetBuffer(0));
      strcpy(pFreeTrain->OutCurrentChangeRateList,OutCurrentChangeRateList.GetBuffer(0));
      ar>>g_SetCheck[no];
    }

    ar.Flush();
    ar.Close();
    file.Close();
  }	

  return TRUE;
}
Ejemplo n.º 21
0
void CDlgFreeTrainList::OnEdit() 
{
  if(m_ctlList.GetSelectedCount()!=1)
    return;

  POSITION pos = m_ctlList.GetFirstSelectedItemPosition();
  int item = m_ctlList.GetNextSelectedItem(pos);
  TagFreeTrainStruct *pFreeTrain = (TagFreeTrainStruct *)g_FreeTrainManageList.GetAt(g_FreeTrainManageList.FindIndex(item));

  CDlgFreeTrain dlg;
  dlg.m_pFreeTrain = pFreeTrain;
  if(dlg.DoModal()==IDOK)
	  UpdateList();
}
Ejemplo n.º 22
0
void CXTPMarkupEventHandlerMap::Raise(CXTPMarkupObject* pSender, CXTPMarkupRoutedEventArgs* pEventArgs)
{
	CPtrList* pHandlers;
	if (!m_mapHandlers.Lookup(pEventArgs->GetEvent(), pHandlers))
		return;

	POSITION pos = pHandlers->GetHeadPosition();

	while (pos)
	{
		CXTPMarkupDelegate* pDelegate = (CXTPMarkupDelegate*)pHandlers->GetNext(pos);

		pDelegate->Execute(pSender, pEventArgs);
	}
}
Ejemplo n.º 23
0
void CDlgFreeTrainList::OnClon() 
{
  if(m_ctlList.GetSelectedCount()!=1)
    return;

  POSITION pos = m_ctlList.GetFirstSelectedItemPosition();
  int item = m_ctlList.GetNextSelectedItem(pos);
  struct TagFreeTrainStruct *pFreeTrain = (TagFreeTrainStruct *)g_FreeTrainManageList.GetAt(g_FreeTrainManageList.FindIndex(item));
  struct TagFreeTrainStruct *pNewFreeTrain = new TagFreeTrainStruct;
  memcpy(pNewFreeTrain,pFreeTrain,sizeof(TagFreeTrainStruct));
  g_FreeTrainManageList.AddTail(pNewFreeTrain);

	UpdateList();
  ::SelectListLastItem(m_ctlList);
}
Ejemplo n.º 24
0
void ChatDialog::OnExit(TNotifyUI& msg)
{
	thelockChatDlgList.Lock();
	POSITION pos,temp;
	for (pos=theChatDialogList.GetHeadPosition();pos!=NULL;)
	{
		temp = pos;
		ChatDialog* pDlg = (ChatDialog*)theChatDialogList.GetNext(pos);
		if (pDlg&&pDlg==this)
		{
			theChatDialogList.RemoveAt(temp);
		}
	}
	thelockChatDlgList.UnLock();
	Close();
}
Ejemplo n.º 25
0
void CWindowManager::Close()
{
	CSingleLock pLock( &theApp.m_pSection, TRUE );
	CPtrList pClose;
	
	for ( POSITION pos = GetIterator() ; pos ; )
	{
		pClose.AddTail( GetNext( pos ) );
	}
	
	for ( pos = pClose.GetHeadPosition() ; pos ; )
	{
		CChildWnd* pChild = (CChildWnd*)pClose.GetNext( pos );
		pChild->DestroyWindow();
	}
}
Ejemplo n.º 26
0
void CDlgFreeTrainList::OnSave() 
{
  if(::AfxMessageBox("是否保存除自由行车管理文件?",MB_YESNO)==IDNO)
    return;

  CString FileName = g_ProjectFilePath + "FeedTrain.lst";
	CFile file;
	if(!file.Open(FileName, CFile::modeCreate | CFile::modeWrite))
  {
    AfxMessageBox(FileName+" 保存文件失败!",MB_SYSTEMMODAL);
    return;
  }

  char buffer[1024];
  CArchive ar(&file,CArchive::store,1024,buffer);

  CString title = "FreeTrainList 1.0";
  ar<<title;

  WORD Count = g_FreeTrainManageList.GetCount();
  ar<<Count;
    
  for(int no=0;no<Count;no++)
  {
    POSITION pos = g_FreeTrainManageList.FindIndex(no);
    struct TagFreeTrainStruct *pFreeTrain = (TagFreeTrainStruct *)g_FreeTrainManageList.GetAt(pos);
    ar<<pFreeTrain->InFeederUnitID;
    ar<<pFreeTrain->OutFeederUnitID;
    ar<<pFreeTrain->AverCurrent;
    ar<<pFreeTrain->AverAngle;
    ar<<pFreeTrain->CurrentChangeRate;
    ar<<pFreeTrain->InContinuedSeconds;
    ar<<pFreeTrain->ChangeContinuedSeconds;
    ar<<pFreeTrain->OutContinuedSeconds;
    ar<<pFreeTrain->StartupDelaySecond;
    CString InCurrentChangeRateList = pFreeTrain->InCurrentChangeRateList;
    CString OutCurrentChangeRateList = pFreeTrain->OutCurrentChangeRateList;
    ar<<InCurrentChangeRateList;
    ar<<OutCurrentChangeRateList;
	  g_SetCheck[no] = m_ctlList.GetCheck(no);
    ar<<g_SetCheck[no];
  }

  ar.Flush();
  ar.Close();
  file.Close();
}
Ejemplo n.º 27
0
BOOL CUpdateUtil::MakeClientXMLfile(CItemList *pItemListSoruce, LPCSTR lpszDestFilePath)
{
	if(!pItemListSoruce)
		return FALSE;

	CStdioFile writeFile;
	CString strFilePath = lpszDestFilePath;
	
	BOOL bFind = CheckFolder(strFilePath);
	if(bFind){
		if(!writeFile.Open(lpszDestFilePath, (CFile::modeCreate | CFile::modeWrite | CFile::typeText))){	
			SetLastError(UPDATE_ERROR_CANT_OPEN_XML_FILE);
			TRACE("UPDATE_ERROR_CANT_OPEN_XML_FILE : %s\n", lpszDestFilePath);
			return FALSE;
		}
	}
	else{
		return FALSE;
	}

	UTIL_CANCEL();
	CString strWriteLine, strFileName, strVersion, strDownPath, strCheckSum;
	strWriteLine = "<?xml version=\"1.0\" encoding=\"euc-kr\"?> \n";
	strWriteLine +=	"<update-data> \n\n";

	CPtrList* pPLServer = pItemListSoruce->GetPtrList();
	POSITION posServer = pPLServer->GetHeadPosition();
	while(posServer)
	{	
		UPDATE_DATA *psiServer = (UPDATE_DATA *)pPLServer->GetNext(posServer);
		strFileName = psiServer->Name;
		strVersion = psiServer->Version;
		strDownPath = psiServer->DownPath;
		strCheckSum = psiServer->CheckSum;
		strWriteLine +=	"\t<file name=\"" + strFileName + "\"> \n";
		strWriteLine += "\t\t<version>" + strVersion + "</version> \n";
		strWriteLine += "\t\t<downpath>" + strDownPath + "</downpath> \n";
		strWriteLine += "\t\t<checksum>" + strCheckSum + "</checksum> \n";
		strWriteLine += "\t</file> \n\n";
	}
	
	strWriteLine +=	"</update-data>";	
	writeFile.WriteString(strWriteLine);
	writeFile.Close();
//	TRACE("Write Xml File Success \n Contents : \n%s\n", strWriteLine);
	return TRUE;
}
Ejemplo n.º 28
0
CLibraryFolder* CLibraryFolderCtrl::GetNextSelectedFolder(POSITION& pos) const
{
	CLibraryFolder* pFolder = NULL;

	do
	{
		if ( pos == NULL ) return NULL;

		HTREEITEM hItem = (HTREEITEM)pos;
		pos = (POSITION)GetNextSelectedItem( hItem );

		if ( hItem == m_hRoot ) continue;

		CPtrList pTree;

		while ( hItem != m_hRoot )
		{
			pTree.AddHead( (LPVOID)hItem );
			hItem = GetParentItem( hItem );
		}

		CLibraryFolder* pLastFolder = NULL;

		for ( POSITION posTree = pTree.GetHeadPosition() ; posTree ; pLastFolder = pFolder )
		{
			hItem = (HTREEITEM)pTree.GetNext( posTree );
			pFolder = (CLibraryFolder*)GetItemData( hItem );

			if ( pLastFolder )
			{
				if ( pLastFolder->CheckFolder( pFolder ) ) continue;
			}
			else
			{
				if ( LibraryFolders.CheckFolder( pFolder ) ) continue;
			}

			pFolder = NULL;
			break;
		}
	}
	while ( pFolder == NULL );

	return pFolder;
}
Ejemplo n.º 29
0
int 
CGenethonDoc::GetGenbankFile( CString PathName, int Append )
{

	CPtrList CommentList;
	CPtrList SequenceList;

	gMaxStrSize = 0L;

	if ( !ReadGenbankFile ( &CommentList, &SequenceList, PathName ) ) {
		while ( !SequenceList.IsEmpty() ) {
			delete (SeqNameStruct *)SequenceList.RemoveHead();
		}
		return 0;
	}

	return ProcessRows( CommentList, SequenceList, Append );
}
Ejemplo n.º 30
0
void CXTPMarkupEventHandlerMap::RemoveAll()
{
	POSITION pos = m_mapHandlers.GetStartPosition();
	while (pos)
	{
		CPtrList* pHandlers;
		CXTPMarkupRoutedEvent* pEvent;
		m_mapHandlers.GetNextAssoc(pos, pEvent, pHandlers);

		while (!pHandlers->IsEmpty())
		{
			CXTPMarkupDelegate* pDelegate = (CXTPMarkupDelegate*)pHandlers->RemoveTail();
			MARKUP_RELEASE(pDelegate);
		}
		delete pHandlers;
	}
	m_mapHandlers.RemoveAll();
}