void CPropertiesWnd::OnPropDownitem() { if (!IsComboType()) { return; } CMFCPropertyGridProperty *pProp = m_wndPropList.GetCurSel(); if (pProp && pProp->IsGroup()) { CString strName(pProp->GetName()); if (strName.CompareNoCase(_T("ITEM")) == 0) { CMFCPropertyGridProperty *pParentProp = pProp->GetParent(); if (pProp == pParentProp->GetSubItem(pParentProp->GetSubItemsCount() - 1)) { return; } int nEnd = 0; CList<CMFCPropertyGridProperty*, CMFCPropertyGridProperty*> lstSubItems; for (int i = pParentProp->GetSubItemsCount() - 1; i >= nEnd; i--) { CMFCPropertyGridProperty *pChildProp = pParentProp->GetSubItem(i); if (pChildProp) { if (pChildProp == pProp) { nEnd = i; lstSubItems.InsertAfter(lstSubItems.GetHeadPosition(), pChildProp); } else { lstSubItems.AddHead(pChildProp); } pParentProp->RemoveSubItem(pChildProp, FALSE); } } for (POSITION pos = lstSubItems.GetHeadPosition(); pos != NULL;) { CMFCPropertyGridProperty* pProp = lstSubItems.GetNext(pos); ASSERT_VALID(pProp); pParentProp->AddSubItem(pProp); } m_wndPropList.AdjustLayout(); } } }
int CDlgParamSet::GetDelParamlst(vector<ZTreeParam*> &vecParams,int &nGroupCount) { int ncount =0; ZTreeParam* pParam = NULL; CBCGPGridItem*pItem = NULL; CZGridRow *pRow = NULL; CList <CBCGPGridItem*, CBCGPGridItem*> lstSelected; m_wndGridTree.GetSelectedItems (lstSelected); for (POSITION pos = lstSelected.GetHeadPosition(); pos != NULL; ) { pItem = lstSelected.GetAt(pos); lstSelected.GetNext(pos); pRow = (CZGridRow*)pItem->GetParentRow(); pParam = (ZTreeParam*)pRow->GetData(); if (pParam==NULL) continue; if (pParam->m_bIsGroup) nGroupCount++; ncount++; vecParams.push_back(pParam); } return ncount; }
void CHttpRequest::AddHeaders(CList<CHttpHeader *, CHttpHeader *> &headers) { POSITION pos = headers.GetHeadPosition(); while (pos != NULL) { CHttpHeader *hdr = headers.GetNext(pos); Headers.AddTail(new CHttpHeader(hdr->Name, hdr->Value)); } }
/** * \brief Write's the Value Descriptor in the CANoe format * \param[in] CStdioFile &fileOutput,char ,CList<CValueDescriptor,CValueDescriptor&> * \param[out] None * \return int * \authors Mahesh.B.S * \date 15.11.2002 */ void CValueDescriptor::writeValuDescToFile(CStdioFile &fileOutput,char m_ucType,CList<CValueDescriptor,CValueDescriptor&> &m_listValueDescriptor) { char acLine[defVDES_MAX_OUT_STR]; POSITION posValDesc = m_listValueDescriptor.GetHeadPosition(); while(posValDesc != NULL) { CValueDescriptor& rValDesc = m_listValueDescriptor.GetNext(posValDesc); switch(m_ucType) { case CSignal::SIG_TYPE_INT: case CSignal::SIG_TYPE_FLOAT: case CSignal::SIG_TYPE_DOUBLE: case CSignal::SIG_TYPE_INT64: sprintf(acLine,"%I64d \"%s\" ",rValDesc.m_value.i64Value,rValDesc.m_sDescriptor); break; case CSignal::SIG_TYPE_BOOL: case CSignal::SIG_TYPE_UINT: case CSignal::SIG_TYPE_UINT64: sprintf(acLine,"%I64u \"%s\" ",rValDesc.m_value.ui64Value,rValDesc.m_sDescriptor); break; default: break; } fileOutput.WriteString(acLine); } fileOutput.WriteString(";\n"); return; }
void CPlayerPlaylistBar::DropItemOnList() { m_ptDropPoint.y += 10; m_nDropIndex = m_list.HitTest(CPoint(10, m_ptDropPoint.y)); TCHAR szLabel[_MAX_PATH]; LV_ITEM lvi; ZeroMemory(&lvi, sizeof(LV_ITEM)); lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE | LVIF_PARAM; lvi.stateMask = LVIS_DROPHILITED | LVIS_FOCUSED | LVIS_SELECTED; lvi.pszText = szLabel; lvi.iItem = m_nDragIndex; lvi.cchTextMax = _MAX_PATH; m_list.GetItem(&lvi); if (m_nDropIndex < 0) { m_nDropIndex = m_list.GetItemCount(); } lvi.iItem = m_nDropIndex; m_list.InsertItem(&lvi); CHeaderCtrl* pHeader = (CHeaderCtrl*)m_list.GetDlgItem(0); int nColumnCount = pHeader->GetItemCount(); lvi.mask = LVIF_TEXT; lvi.iItem = m_nDropIndex; //INDEX OF DRAGGED ITEM WILL CHANGE IF ITEM IS DROPPED ABOVE ITSELF if (m_nDropIndex < m_nDragIndex) { m_nDragIndex++; } for (int col = 1; col < nColumnCount; col++) { _tcscpy_s(lvi.pszText, _MAX_PATH, (LPCTSTR)(m_list.GetItemText(m_nDragIndex, col))); lvi.iSubItem = col; m_list.SetItem(&lvi); } m_list.DeleteItem(m_nDragIndex); CList<CPlaylistItem> tmp; UINT id = (UINT) - 1; for (int i = 0; i < m_list.GetItemCount(); i++) { POSITION pos = (POSITION)m_list.GetItemData(i); CPlaylistItem& pli = m_pl.GetAt(pos); tmp.AddTail(pli); if (pos == m_pl.GetPos()) { id = pli.m_id; } } m_pl.RemoveAll(); POSITION pos = tmp.GetHeadPosition(); for (int i = 0; pos; i++) { CPlaylistItem& pli = tmp.GetNext(pos); m_pl.AddTail(pli); if (pli.m_id == id) { m_pl.SetPos(m_pl.GetTailPosition()); } m_list.SetItemData(i, (DWORD_PTR)m_pl.GetTailPosition()); } ResizeListColumn(); }
/** * \brief Parses the Net Parameter's Other Values(BA_). * \param[in] CStdioFile &fileInput,CList<CParameters,CParameters&>& m_listParam * \param[out] None * \return void * \authors Padmaja.A * \date 16.11.2004 */ void CParameters::Format_NetParam_Value(CStdioFile &fileInput,CList<CParameters,CParameters&>& m_listParam) { CParameterValues pVal; char acLine[defCON_MAX_LINE_LEN]; char *pcToken, *pcLine; char acTemp[defCON_CHAR_LEN],*pcTemp; pcTemp = acTemp; //parses the mesg pram other values. while(strcmp((fileInput.ReadString(acLine,defCON_MAX_LINE_LEN)),"[END_PARAM_NET_VAL]\n")!=0) { pcLine = acLine; //get other values. pcToken=strtok(pcLine,","); pcToken++; while(*pcToken && *pcToken!='"') { *pcTemp++=*pcToken++; } *pcTemp='\0'; //assigns other values to the matching param. POSITION posMsg = m_listParam.GetHeadPosition(); while(posMsg != NULL) { CParameters& rParam = m_listParam.GetNext(posMsg); // find matching Parameter from list if(strcmp(rParam.m_ParamName,acTemp)==0 ) { pVal.Format_Param_Value(rParam.m_ParamType,(pcLine+strlen(acTemp)+3),0); rParam.m_listParamValues[0].AddTail(pVal); pcTemp=acTemp; break; } } } }
//****************************************************************************** void CBCGPRibbonCommandsListBox::FillFromIDs (const CList<UINT,UINT>& lstCommands, BOOL bDeep) { ASSERT_VALID (this); ASSERT_VALID (m_pRibbonBar); CArray<CBCGPBaseRibbonElement*, CBCGPBaseRibbonElement*> arElements; for (POSITION pos = lstCommands.GetHeadPosition (); pos != NULL;) { UINT uiCmd = lstCommands.GetNext (pos); if (uiCmd == 0) { if (m_pSeparator != NULL) { arElements.Add (m_pSeparator); } continue; } CBCGPBaseRibbonElement* pElem = m_pRibbonBar->FindByID (uiCmd, FALSE); if (pElem == NULL) { continue; } ASSERT_VALID (pElem); arElements.Add (pElem); } FillFromArray (arElements, bDeep, FALSE); }
int CToolCervicales::FindInList(CList<CPoint, CPoint&>& i_List, const CPoint& i_Point) const { POSITION i_Pos = i_List.GetHeadPosition(); while (i_Pos != NULL) { if (i_List.GetNext(i_Pos) == i_Point) return (int) i_Pos; } return -1; }
void CMetaDlg::OnBnClickedOk() { typedef std::map<CString, char> StrCharMap; BOOL bRemain = TRUE; ChangeAclParams params; params.buckname = m_strBucket; params.objname = m_strObject; char acl_c, acl_a; bRemain &= GetCanonicalGroupAcl(&acl_c); params.acls.insert(StrCharMap::value_type(_T(CANONICAL_GROUP), acl_c)); bRemain &= GetAnonymouseGroupAcl(&acl_a); params.acls.insert(StrCharMap::value_type(_T(ANONYMOUSE_GROUP), acl_a)); CList<CString, CString> users; GetAllUser(users); POSITION pos = users.GetHeadPosition(); while (pos) { char acl; CString name = users.GetNext(pos); bRemain &= GetUserAcl(name, &acl); params.acls.insert(StrCharMap::value_type(name, acl)); } if (!bRemain) { AfxGetApp()->GetMainWnd()->SendMessage(WM_MAINDLG_ChangeAcl, (WPARAM)¶ms); } CDialogEx::OnOK(); }
YGroup::YGroup(CList<YObject*, YObject*>& list){ resizing = FALSE; // 그룹 리스트 초기화 YObject* tmp; POSITION pos = list.GetHeadPosition(); while (pos){ tmp = list.GetNext(pos); tmp->setSelect(FALSE); groupList.AddTail(tmp); } // 리젼 사각형을 위한 좌표값 생성 sPoint.SetPoint(10000, 10000); ePoint.SetPoint(0, 0); CRect rec; pos = groupList.GetHeadPosition(); while (pos){ tmp = groupList.GetNext(pos); rec = tmp->getORect(); if (sPoint.x > rec.TopLeft().x) sPoint.x = rec.TopLeft().x; if (sPoint.y > rec.TopLeft().y) sPoint.y = rec.TopLeft().y; if (ePoint.x < rec.BottomRight().x) ePoint.x = rec.BottomRight().x; if (ePoint.y < rec.BottomRight().y) ePoint.y = rec.BottomRight().y; } }
//右键弹出处理 void CComputerListView::OnContextMenu(CWnd*, CPoint point) { m_SelectRows.RemoveAll(); CMenu menu; CBCGPGridRow* pRow = GetGridCtrl()->GetCurSel(); if (pRow != NULL)//存在选中的子行 { CList<CBCGPGridItem*, CBCGPGridItem*> lstSelected; GetGridCtrl()->GetSelectedItems(lstSelected);//多重选择队列 POSITION pos = lstSelected.GetHeadPosition();//第一个 while (pos != NULL) { CBCGPGridItem* pItem = lstSelected.GetNext(pos);//下一个 m_SelectRows.Add((UINT)pItem->GetParentRow()->GetData());//保存选中的序号 } SendMessage(WM_LBUTTONUP);//弹起 VERIFY(menu.LoadMenu(IDR_COMPUTER_MENU));//载入 CMenu* pPopup = menu.GetSubMenu(0);//第一个子菜单 ASSERT(pPopup != NULL); #ifndef __USING_INTER_RESOURCE HMENU hTmp = pPopup->GetSubMenu(6)->GetSafeHmenu(); pPopup->ModifyMenu((UINT_PTR)hTmp,MF_POPUP,(UINT_PTR)hTmp,LOAD_STRING(IDS_REMOTE_OPERATION)); #endif //弹出菜单 theApp.GetContextMenuManager()->ShowPopupMenu(pPopup->Detach(), point.x, point.y, this, TRUE); } else { //扫描鼠标位置,点击在列栏上,才弹出此菜单 CRect rect; m_pWndGridCtrl->GetClientRect(rect); rect.bottom = 21; //栏高度大概为21个像素 ClientToScreen(rect); if (rect.PtInRect(point))//点击在栏上 { VERIFY(menu.LoadMenu(IDR_MENU_COLUMN));//载入列菜单 CMenu* pPopup = menu.GetSubMenu(0); ASSERT(pPopup != NULL); for (INT i = 0; i < GetGridCtrl()->GetColumnCount(); i++)//列枚举 {//动态插入与列项有关的菜单 pPopup->InsertMenu(i, MF_BYPOSITION, IDM_MINCOLUMNCMD + i, GetGridCtrl()->GetColumnName(i)); pPopup->CheckMenuItem(i, MF_BYPOSITION | (GetGridCtrl()->GetColumnVisible(i) ? MF_CHECKED : MF_UNCHECKED)); } theApp.GetContextMenuManager()->ShowPopupMenu(pPopup->Detach(), point.x, point.y, this, TRUE); } } }
void CLibraryHeaderBar::OnLibraryView() { CMenu pMenu; pMenu.CreatePopupMenu(); CLibraryFrame* pFrame = (CLibraryFrame*)GetParent(); CList< CLibraryView* >* pViews = pFrame->GetViews(); for ( POSITION pos = pViews->GetHeadPosition() ; pos ; ) { CLibraryView* pView = (CLibraryView*)pViews->GetNext( pos ); if ( ! pView->m_bAvailable ) continue; CString strName; Skin.LoadString( strName, pView->m_nCommandID ); LPCTSTR pszName = _tcschr( strName, '\n' ); pszName = ( pszName ) ? ( pszName + 1 ) : (LPCTSTR)strName; pMenu.AppendMenu( MF_STRING | ( pView == m_pLastView ? MF_CHECKED : 0 ), pView->m_nCommandID, pszName ); } m_pCoolMenu = new CCoolMenu(); m_pCoolMenu->AddMenu( &pMenu, TRUE ); m_pCoolMenu->SetWatermark( Skin.GetWatermark( _T("CCoolMenu") ) ); if ( UINT nCmd = ThrowMenu( ID_LIBRARY_VIEW, &pMenu, this, TRUE, TRUE ) ) { for ( POSITION pos = pViews->GetHeadPosition() ; pos ; ) { CLibraryView* pView = (CLibraryView*)pViews->GetNext( pos ); if ( pView->m_nCommandID == nCmd ) { pFrame->SetView( pView ); } } } delete m_pCoolMenu; m_pCoolMenu = NULL; }
//******************************************************************************** void CBCGPRibbonButtonsGroup::AddButtons ( const CList<CBCGPBaseRibbonElement*, CBCGPBaseRibbonElement*>& lstButtons) { ASSERT_VALID (this); for (POSITION pos = lstButtons.GetHeadPosition (); pos != NULL;) { AddButton (lstButtons.GetNext (pos)); } }
CAVector CToolCervicales::SegmentationGlob(CDib * m_Dib, CRxDoc * i_Document, CList<CPoint, CPoint&>& i_List) { CList<CPoint, CPoint&> Result; Result.AddTail(i_List.GetHead()); Segmentation(m_Dib, i_Document, i_List.GetHeadPosition(), i_List.GetTailPosition(), i_List, 0, Result); Result.AddTail(i_List.GetTail()); CAVector Vector; CPoint l_Point; POSITION c_Pos = Result.GetHeadPosition(); while (c_Pos != NULL) { l_Point = Result.GetNext(c_Pos); Vector.Add(CPoint(l_Point.x, m_Dib->GetHeight()-l_Point.y)); } /* replace very close points by an intermediate value */ for (int i=2;i<(int)((double)(m_Dib->GetWidth() + m_Dib->GetHeight())/2 * 0.03);i++) RemoveClosePoints(Vector, i); /* remove pattern points */ RemovePatternPoints(Vector); //i_Document->Add(Vector); return Vector; }
//**************************************************************************************** int CBCGPGridSerializeManager::InsertNewSelection (int nInsertPos, CList<CBCGPGridRow*, CBCGPGridRow*> & lst) { ASSERT (m_pOwnerGrid != NULL); int nCount = 0; for (POSITION pos = lst.GetHeadPosition (); pos != NULL; ) { POSITION posSave = pos; CBCGPGridRow* pRow = lst.GetNext (pos); if (pRow != NULL) { ASSERT_VALID (pRow); //----------------------------------------- // Insert new row at the specified position //----------------------------------------- int nRowIndex = -1; if (m_pOwnerGrid->GetRowCount () <= nInsertPos + nCount) { nRowIndex = m_pOwnerGrid->InsertRowAfter (nInsertPos + nCount, pRow, FALSE); } else { nRowIndex = m_pOwnerGrid->InsertRowBefore (nInsertPos + nCount, pRow, FALSE); } if (nRowIndex >= 0) { nCount++; lst.GetAt (posSave) = NULL; ASSERT (nRowIndex >= nInsertPos); ASSERT (nRowIndex <= nInsertPos + nCount); } } } if (nCount > 0) { // Save inserted range m_InsertRange.SetRows (nInsertPos, nCount, TRUE); // Shift marked ranges for (int j = 0; j < m_arrCutRanges.GetSize (); j++) { m_arrCutRanges [j].OnInsertRange (nInsertPos, nCount); } } return nCount; }
/** * \brief Parses the Signal Parameter's Other Values(BA_). * \param[in] CStdioFile &fileInput,CList<CParameters,CParameters&>& m_listParam * \param[out] None * \return void * \authors Padmaja.A * \date 16.11.2004 */ void CParameters::Format_SigParam_Value(CStdioFile &fileInput,CList<CParameters,CParameters&>& m_listParam) { CParameterValues pVal; char acLine[defCON_MAX_LINE_LEN]; char *pcToken, *pcLine; char acTemp[defCON_CHAR_LEN],*pcTemp; pcTemp = acTemp; //parses the signal pram other values. while(strcmp((fileInput.ReadString(acLine,defCON_MAX_LINE_LEN)),"[END_PARAM_SIG_VAL]\n")!=0) { char temp[defCON_CHAR_LEN],sname[defCON_CHAR_LEN]; pcLine = acLine; //get mesg id. pcToken=strtok(pcLine,","); UINT msgId=unsigned int(atoi(pcToken)); pcLine=pcLine+strlen(pcToken)+1; //get message type and validates the mtype. pcToken=strtok(pcLine,","); strcpy(temp,pcToken); if(strcmp(temp,"X")==0) msgId=msgId+2147483648; pcLine=pcLine+strlen(pcToken)+1; //get signal name. pcToken=strtok(pcLine,","); if(strlen(pcToken) > 32) Truncate_str("signal name",pcToken,false); strcpy(sname,pcToken); pcLine=pcLine+strlen(pcToken)+1; //get other values. pcToken=strtok(pcLine,","); pcLine=pcLine+strlen(pcToken)+1; pcToken++; while(*pcToken && *pcToken!='"') { *pcTemp++=*pcToken++; } *pcTemp='\0'; //assigns other values to the matching param. POSITION posMsg = m_listParam.GetHeadPosition(); while(posMsg != NULL) { CParameters& rParam = m_listParam.GetNext(posMsg); // find matching Parameter from list if(strcmp(rParam.m_ParamName,acTemp)==0 ) { pVal.Format_Param_Value(rParam.m_ParamType,pcLine,3,msgId,sname); rParam.m_listParamValues[3].AddTail(pVal); pcTemp=acTemp; break; } } } }
void CDownloadGroupDlg::OnCbnCloseupSchemas() { // Get filters CList< CString > oList; for ( int nItem = 0 ; nItem < m_wndFilterList.GetCount() ; nItem++ ) { CString strFilter; m_wndFilterList.GetLBText( nItem, strFilter ); if ( oList.Find( strFilter ) == NULL ) oList.AddTail( strFilter ); } // Remove old schema filters (preserve custom ones) if ( CSchemaPtr pOldSchema = SchemaCache.Get( m_sOldSchemaURI ) ) { for ( POSITION pos = pOldSchema->GetFilterIterator(); pos ; ) { CString strFilter; BOOL bResult; pOldSchema->GetNextFilter( pos, strFilter, bResult ); if ( bResult ) { strFilter.Insert( 0, _T('.') ); while ( POSITION pos = oList.Find( strFilter ) ) oList.RemoveAt( pos ); } } } // Add new schema filters if ( CSchemaPtr pNewSchema = SchemaCache.Get( m_wndSchemas.GetSelectedURI() ) ) { for ( POSITION pos = pNewSchema->GetFilterIterator(); pos ; ) { CString strFilter; BOOL bResult; pNewSchema->GetNextFilter( pos, strFilter, bResult ); if ( bResult ) { strFilter.Insert( 0, _T('.') ); oList.AddTail( strFilter ); } } } // Refill interface filters list m_wndFilterList.ResetContent(); for ( POSITION pos = oList.GetHeadPosition() ; pos ; ) m_wndFilterList.AddString( oList.GetNext( pos ) ); m_sOldSchemaURI = m_wndSchemas.GetSelectedURI(); }
/****************************************************************************** Function Name : vIDCopy Input(s) : omDestMap, omSrcMap of IDs Output : - Functionality : Copies the source ID map values into destination. Member of : CMessageAttrib Author(s) : Arunkumar K Date Created : 08-03-2011 Modifications : ******************************************************************************/ void CMessageAttrib::vIDCopy(CList <UINT, UINT&>& omDestMap, CList <UINT, UINT&>& omSrcMap) { UINT unMsgID; omDestMap.RemoveAll(); POSITION psCurrPos = omSrcMap.GetHeadPosition(); while (psCurrPos != NULL) { unMsgID = omSrcMap.GetNext(psCurrPos); omDestMap.AddTail(unMsgID); } }
//碰撞检测 void GameManager::CheckCollision() { for (int i = Index_Player; i <= Index_Tool; ++i)//Index_Bomb { if (i == Index_Explosion)continue; CList<GameObject*, GameObject*> *listA = GetList(i); POSITION posA = listA->GetHeadPosition(); while (posA != NULL) { FlyObject* objectA = static_cast<FlyObject*>(listA->GetAt(posA)); for (int j = Index_Player; j <= Index_Tool; ++j)//Index_Bomb { if (j == Index_Explosion)continue; CList<GameObject*, GameObject*> *listB = GetList(j); POSITION posB = listB->GetHeadPosition(); while (posB != NULL) { FlyObject* objectB = static_cast<FlyObject*>(listB->GetAt(posB)); //碰撞检测 if (objectA->Group() == objectB->Group()) { listB->GetNext(posB); continue; } CPoint leftTop = CPoint(objectA->X() - objectB->Width() / 2, objectA->Y() - objectB->Height() / 2); CPoint rightBottom = CPoint(objectA->X() + objectA->Width() + objectB->Width() / 2, objectA->Y() + objectA->Height() + objectB->Height() / 2); CPoint objectCenter = CPoint(objectB->X() + objectB->Width()/2, objectB->Position()->Y() + objectB->Height() / 2); if (objectCenter.x <= rightBottom.x && objectCenter.y <= rightBottom.y && objectCenter.x >= leftTop.x && objectCenter.y >= leftTop.y) { Collision(objectA, objectB); } listB->GetNext(posB); } } listA->GetNext(posA); } } }
void CLocalSearch::SendHits(const CList< T* >& oFiles) { CPacket* pPacket = NULL; CSchemaMap pSchemas; BYTE nHits = 0; for ( POSITION pos = oFiles.GetHeadPosition(); pos; ) { if ( ! pPacket ) pPacket = CreatePacket(); AddHit( pPacket, pSchemas, oFiles.GetNext( pos ), nHits ++ ); bool bSend = false; switch ( m_nProtocol ) { case PROTOCOL_G1: case PROTOCOL_G2: bSend = nHits >= Settings.Gnutella.HitsPerPacket || pPacket->m_nLength >= MAX_QUERY_PACKET_SIZE; break; case PROTOCOL_DC: // One hit per packet in DC++ protocol bSend = true; break; default: ASSERT( FALSE ); } // Send full packet if ( bSend ) { WriteTrailer( pPacket, pSchemas, nHits ); DispatchPacket( pPacket ); pPacket = NULL; nHits = 0; } } if ( nHits ) { WriteTrailer( pPacket, pSchemas, nHits ); DispatchPacket( pPacket ); pPacket = NULL; } ASSERT( pPacket == NULL ); ASSERT( pSchemas.IsEmpty() ); }
/*游戏物体控制*/ void GameManager::MoveIt() { for (int i = Index_Enemy; i <= Index_Angela; ++i)//Index_Bomb { if (i == Index_Explosion || i == Index_Tool || i == Index_Cloud) continue; CList<GameObject*, GameObject*> *now = GetList(i); POSITION pos = now->GetHeadPosition(); while (pos != NULL) { FlyObject* fly = static_cast<FlyObject*>(now->GetNext(pos)); fly->PerformFly(); } } }
CBCGPOleCntrFrameWnd::~CBCGPOleCntrFrameWnd() { POSITION pos = NULL; for (pos = m_dockManager.m_lstMiniFrames.GetHeadPosition (); pos != NULL;) { CBCGPMiniFrameWnd* pNextFrame = DYNAMIC_DOWNCAST (CBCGPMiniFrameWnd, m_dockManager.m_lstMiniFrames.GetNext (pos)); if (pNextFrame != NULL) { pNextFrame->DestroyWindow (); } } CList<HWND, HWND> lstChildren; CWnd* pNextWnd = GetTopWindow (); while (pNextWnd != NULL) { lstChildren.AddTail (pNextWnd->m_hWnd); pNextWnd = pNextWnd->GetNextWindow (); } for (pos = lstChildren.GetHeadPosition (); pos != NULL;) { HWND hwndNext = lstChildren.GetNext (pos); if (IsWindow (hwndNext) && ::GetParent (hwndNext) == m_hWnd) { ::DestroyWindow (hwndNext); } } const CObList& list = CBCGPToolBar::GetAllToolbars (); CObList& gAllToolbars = const_cast<CObList&>(list); for (pos = gAllToolbars.GetHeadPosition (); pos != NULL;) { POSITION posSave = pos; CBCGPToolBar* pToolBar = (CBCGPToolBar*) gAllToolbars.GetNext (pos); ASSERT (pToolBar != NULL); if (CWnd::FromHandlePermanent (pToolBar->m_hWnd) == NULL) { gAllToolbars.RemoveAt (posSave); } } }
~tScriptState() { int i; for (i = 0; i < Commands.GetCount(); ++i) { tCommand *pCmd = Commands.GetAt(i); delete pCmd; } POSITION pos = Labels.GetHeadPosition(); while (pos) { tLabel *pLabel = Labels.GetAt(pos); delete pLabel; Labels.GetNext(pos); } }
__int64 Extract(PBTNODE pNode) { __int64 res = 0; CList<PBTNODE,PBTNODE&> pNL; GetLeafList(pNode, pNL); __int64 ir = pNL.GetCount(); //底数 POSITION pos = pNL.GetHeadPosition(); while(pos){ PBTNODE c = pNL.GetNext(pos); PBTNODE n = GotoNext(c); DWORD lv = n==NULL?0:n->dwLevel; res += pow(ir,lv)*c->dwPre; } res += 62; return res; }
void GameManager::Fire() { for (int i = Index_Enemy; i <= Index_Angela; i++) { if (i == Index_Bomb || i == Index_Explosion || i == Index_Tool || i == Index_Cloud) continue; CList<GameObject*, GameObject*> *now = GetList(i); POSITION pos = now->GetHeadPosition(); while (pos != NULL) { Plane* plane_ = static_cast<Plane*>(now->GetNext(pos)); if (plane_->FireStatus()) { Produce(_T("Weapon"), Point(plane_->X() + plane_->Width() / 4 + 8, plane_->Y() + plane_->Height() / 4 + 8), plane_->WeaponID()); } } } }
void CActiveMemberView::OnRebilling() { CIBAString str; str.LoadString(IDS_ENSURE_REBILLING); if (theApp.IBAMsgBox(str,MB_OKCANCEL|MB_ICONQUESTION)!=IDOK) { return; } CList <CBCGPGridItem*,CBCGPGridItem*> arrMember; GetGridCtrl()->GetSelectedItems(arrMember); if( arrMember.GetCount() > 0) { CShortMsgDlg dlg; int nValid = 0; POSITION pos = arrMember.GetHeadPosition(); while(pos!=NULL) { const CBCGPGridItem* &pItem = arrMember.GetNext(pos); CBCGPGridRow *pRow = pItem->GetParentRow(); UINT nMemberId = pRow->GetData(); INT_PTR nIn = CLocalServer::GetInstance()->ComputerList.Find(nMemberId); if ( nIn!=-1 ) { CActiveMember Act; if (CLocalServer::GetInstance()->ActiveMemberList.GetActiveMember(nMemberId,Act)) { // 发送给指定客户端 CLocalServer::GetInstance()->LocalCheckOutUser(nIn, nMemberId, 3); CIBALog::GetInstance()->WriteFormat(_T("客户端重新计费->PC=%s, memberId=%d"),Act.GetTerminalID(),nMemberId); Act.SetActivationTime(COleDateTime::GetCurrentTime()); CLocalServer::GetInstance()->ActiveMemberList.UpdateActiveMember(Act,TRUE); Refresh(FALSE); } } } } }
/** * \brief writes the value descriptors in the given list to the output file * \param[in] fileOutput Pointer to the Output file * \param[in] m_ucType data type of the value * \param[in] m_listSignals List of Value descriptors * * Writes the value descriptors in the given list to the output file. */ void CValueDescriptor::writeValuDescToFile(CStdioFile &fileOutput,char m_ucType,CList<CValueDescriptor,CValueDescriptor&> &m_listValueDescriptor) { char acLine[defVDES_MAX_OUT_STR]; POSITION posValDesc = m_listValueDescriptor.GetHeadPosition(); while(posValDesc != NULL) { CValueDescriptor& rValDesc = m_listValueDescriptor.GetNext(posValDesc); switch(m_ucType) { case CSignal::SIG_TYPE_BOOL: case CSignal::SIG_TYPE_UINT: sprintf(acLine,"%s \"%s\",%u\n",T_VALUE_DESC,rValDesc.m_acDescriptor,rValDesc.m_value.uiValue); break; case CSignal::SIG_TYPE_INT: sprintf(acLine,"%s \"%s\",%d\n",T_VALUE_DESC,rValDesc.m_acDescriptor,rValDesc.m_value.iValue); break; // when FLOAT and DOUBLE are supported enable this /* case CSignal::SIG_TYPE_FLOAT: sprintf(acLine,"%s \"%s\",%f\n",T_VALUE_DESC,rValDesc.m_acDescriptor,rValDesc.m_value.fValue); break; case CSignal::SIG_TYPE_DOUBLE: sprintf(acLine,"%s \"%s\",%f\n",T_VALUE_DESC,rValDesc.m_acDescriptor,rValDesc.m_value.dValue); break; */ case CSignal::SIG_TYPE_INT64: sprintf(acLine,"%s \"%s\",%I64d\n",T_VALUE_DESC,rValDesc.m_acDescriptor,rValDesc.m_value.i64Value); break; case CSignal::SIG_TYPE_UINT64: sprintf(acLine,"%s \"%s\",%I64u\n",T_VALUE_DESC,rValDesc.m_acDescriptor,rValDesc.m_value.ui64Value); break; default: break; } fileOutput.WriteString(acLine); } return; }
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; CList< HTREEITEM > pTree; while ( hItem != m_hRoot ) { pTree.AddHead( hItem ); hItem = GetParentItem( hItem ); } CLibraryFolder* pLastFolder = NULL; for ( POSITION posTree = pTree.GetHeadPosition() ; posTree ; pLastFolder = pFolder ) { hItem = 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; }
/** * \brief Parses the Node Parameter's Other Values(BA_). * \param[in] CStdioFile &fileInput,CList<CParameters,CParameters&>& m_listParam * \param[out] None * \return void * \authors Padmaja.A * \date 16.11.2004 */ void CParameters::Format_NodeParam_Value(CStdioFile &fileInput,CList<CParameters,CParameters&>& m_listParam) { CParameterValues pVal; char acLine[defCON_MAX_LINE_LEN]; char *pcToken, *pcLine; char acTemp[defCON_CHAR_LEN],*pcTemp; pcTemp = acTemp; //parses the node pram other values. while(strcmp((fileInput.ReadString(acLine,defCON_MAX_LINE_LEN)),"[END_PARAM_NODE_VAL]\n")!=0) { char NodeName[defCON_CHAR_LEN]; pcLine = acLine; //get node name. pcToken=strtok(pcLine,","); if(strlen(pcToken) > 32) Truncate_str("parameter Name",pcToken,false); strcpy(NodeName,pcToken); pcLine=pcLine+strlen(pcToken)+1; //get other values. pcToken=strtok(NULL,","); pcLine=pcLine+strlen(pcToken)+1; pcToken++; while(*pcToken && *pcToken!='"') { *pcTemp++=*pcToken++; } *pcTemp='\0'; //assigns other values to the matching param. POSITION posMsg = m_listParam.GetHeadPosition(); while(posMsg != NULL) { CParameters& rParam = m_listParam.GetNext(posMsg); // find matching Parameter from list if(strcmp(rParam.m_ParamName,acTemp)==0 ) { pVal.Format_Param_Value(rParam.m_ParamType,pcLine,1,0,NodeName); rParam.m_listParamValues[1].AddTail(pVal); pcTemp=acTemp; break; } } } }
//*************************************************************************************** void CBCGPOleDocIPFrameWnd::OnDestroy() { if (CBCGPPopupMenu::GetActiveMenu () != NULL) { CBCGPPopupMenu::GetActiveMenu ()->SendMessage (WM_CLOSE); } if (g_pBCGPTopLevelFrame == this) { CFrameWnd* pTopLevelFrame = DYNAMIC_DOWNCAST (CFrameWnd, CWnd::FromHandlePermanent (m_hwndLastTopLevelFrame)); g_pBCGPTopLevelFrame = pTopLevelFrame; } m_Impl.DeactivateMenu (); if (m_hAccelTable != NULL) { ::DestroyAcceleratorTable (m_hAccelTable); m_hAccelTable = NULL; } m_dockManager.m_bEnableAdjustLayout = FALSE; CList<HWND, HWND> lstChildren; CWnd* pNextWnd = GetTopWindow (); while (pNextWnd != NULL) { lstChildren.AddTail (pNextWnd->m_hWnd); pNextWnd = pNextWnd->GetNextWindow (); } for (POSITION pos = lstChildren.GetHeadPosition (); pos != NULL;) { HWND hwndNext = lstChildren.GetNext (pos); if (IsWindow (hwndNext) && ::GetParent (hwndNext) == m_hWnd) { ::DestroyWindow (hwndNext); } } COleDocIPFrameWnd::OnDestroy(); }