void ThreadSearchLoggerList::OnDeleteListItem(wxCommandEvent& /*event*/) { // Finds selected item index long index = m_pListLog->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if ( index != -1 ) { long start = index; long end = index; if ( IsLineResultLine(index) ) { if ( (index > 0) && !IsLineResultLine(index - 1) && ((index == m_pListLog->GetItemCount() - 1) || !IsLineResultLine(index + 1)) ) { start--; } } else { index++; while ( (index < m_pListLog->GetItemCount()) && IsLineResultLine(index) ) { end = index; index++; } } for (int i = end; i >= start; i--) { DeleteListItem(i); } } }
void FriendListItemManager::OnUserInfoChange(const std::list<nim::UserNameCard> &uinfos) { for (auto info : uinfos) { std::string accid = info.GetAccId(); if (UserService::GetInstance()->GetUserType(accid) == nim::kNIMFriendFlagNormal) { FriendItem* item = dynamic_cast<FriendItem*>(friend_list_->FindSubControl(nbase::UTF8ToUTF16(accid))); if (item != NULL) { if (info.ExistValue(nim::kUserNameCardKeyName)) { //nim::UserNameCard all_info; //UserService::GetInstance()->GetUserInfo(info.GetAccId(), all_info); DeleteListItem(accid); AddListItem(accid); } else item->Init(false, accid); } else if(accid != LoginManager::GetInstance()->GetAccount() && !MuteBlackService::GetInstance()->IsInBlackList(accid)) AddListItem(accid); } } }
void FriendListItemManager::OnBlackListChange(const std::string& id, bool is_black) { if (is_black) DeleteListItem(id); else if (UserService::GetInstance()->GetUserType(id) == nim::kNIMFriendFlagNormal) AddListItem(id); }
static void CPROC DestroyListBox( PSI_CONTROL pc ) { ValidatedControlData( PLISTBOX, LISTBOX_CONTROL, plb, pc ); if( plb ) { plb->flags.bDestroying = TRUE; UnmakeImageFile( plb->ListSurface ); while( plb->items ) DeleteListItem( pc, (PLISTITEM)plb->items ); } }
int FillControlsList( PSI_CONTROL control, int nLevel, CTEXTSTR basename, CTEXTSTR priorname ) { CTEXTSTR name; PCLASSROOT data = NULL; PVARTEXT pvt = NULL; int added = 0; PLISTITEM pli; if( priorname ) { pli = AddListItemEx( control, nLevel, priorname ); } for( name = GetFirstRegisteredName( basename, &data ); name; name = GetNextRegisteredName( &data ) ) { pvt = VarTextCreate(); vtprintf( pvt, WIDE("%s/%s"), basename, name ); if( priorname && ( strcmp( name, WIDE( "button_create" ) ) == 0 ) ) { // okay then add this one... //snprintf( newname, sizeof( newname ), WIDE("%s/%s"), basename, name ); //if( NameHasBranches( &data ) ) { // eat the first two parts - intershell/controls/ // create the control name as that... CTEXTSTR controlpath = strchr( basename, '/' ); if( controlpath ) { controlpath++; controlpath = strchr( controlpath, '/' ); if( controlpath ) controlpath++; } //AddLink( &g.extra_types, StrDup( basename ) ); added++; SetItemData( pli, (uintptr_t)StrDup( controlpath ) ); break; } } else { if( NameHasBranches( &data ) ) { added += FillControlsList( control, nLevel+1, GetText( VarTextPeek( pvt ) ), name ); } } } if( !added ) DeleteListItem( control, pli ); VarTextDestroy( &pvt ); return added; }
PSI_PROC( void, ResetList )( PSI_CONTROL pc ) { ValidatedControlData( PLISTBOX, LISTBOX_CONTROL, plb, pc ); if( plb ) { plb->flags.bDestroying = 1; // fake it... while( plb->items ) DeleteListItem( pc, (PLISTITEM)plb->items ); plb->flags.bDestroying = 0; // okay we're not really ... SmudgeCommon( pc ); } }
static void CPROC MoveElementRemove( uintptr_t psv, PSI_CONTROL control ) { PMACRO_BUTTON button = (PMACRO_BUTTON)psv; PSI_CONTROL list = GetNearControl( control, LIST_MACRO_ELEMENTS ); PLISTITEM pli = GetSelectedItem( list ); PMACRO_ELEMENT pme = (PMACRO_ELEMENT)GetItemData( pli ); if( pme ) { DeleteListItem( list, pli ); UnlinkThing( pme ); DestroyButton( pme->button ); Release( pme ); FillList( list, button ); } }
void FriendListItemManager::OnFriendListChange(FriendChangeType change_type, const std::string& accid) { if (change_type == kChangeTypeAdd) { if (accid != LoginManager::GetInstance()->GetAccount() && UserService::GetInstance()->GetUserType(accid) == nim::kNIMFriendFlagNormal && !MuteBlackService::GetInstance()->IsInBlackList(accid)) { AddListItem(accid); } } else if (change_type == kChangeTypeDelete) { DeleteListItem(accid); } }
void CInitDlg::OnNMRClickLiInitdlg(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); // TODO: 在此添加控件通知处理程序代码 *pResult = 0; m_nSelectedItem = -1; LPNMITEMACTIVATE lpNMItemActivate = (LPNMITEMACTIVATE)pNMHDR; if (lpNMItemActivate != NULL) { m_nSelectedItem = lpNMItemActivate->iItem; } if (m_nSelectedItem == -1) { return; } m_list_init.SetItemState(m_nSelectedItem, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); CMenu menu, *pSubMenu; menu.LoadMenu(IDR_INITDLG_POP_MENU); pSubMenu = menu.GetSubMenu(0); CPoint point1; //存储鼠标位置的临时变量// GetCursorPos(&point1);//得到光标处// UINT nItem1 = pSubMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RETURNCMD | TPM_TOPALIGN, point1.x, point1.y, GetParent());//确保右键点击在哪菜单出现在哪,并返回所选的菜单项// switch (nItem1) { case ID_AA_MODIFY: //右键菜单:修改// ModifyListItem(); break; case ID_AA_DELETE: DeleteListItem(m_nSelectedItem); break; case ID_AA_MOVEUP: MoveUpItem(); break; case ID_AA_MOVEDOWN: MoveDownItem(); break; default: break; } MyOnPaint(); }
int UpdateList( int panelHandle ) { int iIndex = 0; DeleteListItem ( panelHandle, PANEL_COMMAND_NAME_LIST , 0 , -1 ); for ( iIndex = 0 ; iIndex < giNumberOfItems; iIndex++ ) { if ( strlen(gvtListOfCommands[iIndex].szCommandName) == 0 ) break; InsertListItem( panelHandle , PANEL_COMMAND_NAME_LIST , -1 , gvtListOfCommands[iIndex].szCommandName , iIndex ); } giNumberOfItems = iIndex; InsertListItem( panelHandle , PANEL_COMMAND_NAME_LIST , -1 , "..." , iIndex ); return 0; }
void OBSBasic::RemoveSceneItemFromSource(const char* name) { std::string str_name = name; auto delayDelete = [=](){ obs_source_t * source = obs_get_source_by_name(str_name.c_str()); for (int i = 0; i < ui->sources->count(); i++) { QListWidgetItem *listItem = ui->sources->item(i); OBSSceneItem item = GetOBSRef<OBSSceneItem>(listItem); obs_source_t * item_source = obs_sceneitem_get_source(item); if (source == item_source) { DeleteListItem(ui->sources, listItem); obs_source_release(source); obs_sceneitem_remove(item); return; } } obs_source_release(source); }; base::GetUIMessageLoop()->PostTask(FROM_HERE, base::Lambda(delayDelete)); }
int DoChannelAdditionCallback(int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { channelPtr chan, newchan; int i, n, checked, err, pts; if (event == EVENT_COMMIT) { GetNumCheckedItems (chanops.p, CHANOPS_1_CHANNELS, &n); if (n < 2) { MessagePopup ("Channel Addition Message", "Cannot perform addition w/ less than 2 channels"); return 0; } err = FALSE; newchan = NULL; for (i = 0; i < channelG.channels.nItems; i++) { IsListItemChecked (panel, CHANOPS_1_CHANNELS, 0, &checked); DeleteListItem (panel, CHANOPS_1_CHANNELS, 0, 1); if (checked) { chan = channellist_GetItem (i); if (newchan) { if (newchan->pts < chan->pts) pts = newchan->pts; else pts = chan->pts; err = Add1D (newchan->readings, chan->readings, pts, newchan->readings); if (!err) Fmt (newchan->note, "%s[a]<+\n%s", chan->label); else { MessagePopup ("Channel Addition Message", "Error during calculation -- operation cancelled"); break; } } else { newchan = channel_Create(); if (newchan && channel_AllocMem (newchan, chan->pts)) { Copy1D (chan->readings, chan->pts, newchan->readings); Fmt (newchan->label, "Addition Result"); Fmt (newchan->note, "%s", chan->label); } else { util_OutofMemory ("Channel Addition Message"); err = TRUE; break; } } } GetNumCheckedItems (panel, CHANOPS_1_CHANNELS, &n); if (n == 0) break; } if (!err) { Fmt (newchan->note, "%s[a]<\n"); channellist_AddChannel (newchan); } else if (newchan) { if (newchan->readings) free (newchan->readings); free (newchan); } DiscardPanel (chanops.p); } return 0; }
void DelPdptrStructure(void* pdptr) { DeleteListItem(pdptr, pFirstPS, sizeof(PAE_PAGING_STRUCTURE)); }