Exemplo n.º 1
0
Arquivo: OBS.cpp Projeto: SeargeDP/OBS
void OBS::SelectSources()
{
    if(scene)
        scene->DeselectAll();

    HWND hwndSources = GetDlgItem(hwndMain, ID_SOURCES);
    UINT numSelected = ListView_GetSelectedCount(hwndSources);

    if(numSelected)
    {
        List<UINT> selectedItems;
        selectedItems.SetSize(numSelected);
        //SendMessage(hwndSources, LB_GETSELITEMS, numSelected, (LPARAM)selectedItems.Array());

        if(scene)
        {
            int iPos = ListView_GetNextItem(hwndSources, -1, LVNI_SELECTED);
            while (iPos != -1)
            {
                SceneItem *sceneItem = scene->GetSceneItem(iPos);
                sceneItem->bSelected = true;
                
                iPos = ListView_GetNextItem(hwndSources, iPos, LVNI_SELECTED);
            }
        }
    }
}
Exemplo n.º 2
0
void CVideoMarkup::EmptyTrash() {

    // delete all the samples in the "trash" group
    int iItem = ListView_GetNextItem(m_sampleListView, -1, LVNI_ALL);
    while (iItem != -1) {
        LVITEM lvi;
        lvi.mask = LVIF_IMAGE | LVIF_STATE | LVIF_GROUPID;
        lvi.state = 0;
        lvi.stateMask = 0;
        lvi.iItem = iItem;
        lvi.iSubItem = 0;
        ListView_GetItem(m_sampleListView, &lvi);

        int iNextItem = ListView_GetNextItem(m_sampleListView, iItem, LVNI_ALL);
        if (lvi.iGroupId == GROUPID_TRASH) {

            // remove this sample from the listview
            UINT sampleIdToDelete = ListView_MapIndexToID(m_sampleListView, iItem);
            ListView_DeleteItem(m_sampleListView, iItem);

            // update sample in training set too
            sampleSet.RemoveSample(sampleIdToDelete);

            // indices have changed so we need to start at the beginning of the list again
            iNextItem = ListView_GetNextItem(m_sampleListView, -1, LVNI_ALL);
        }
        iItem = iNextItem;
    }
}
Exemplo n.º 3
0
void MappingDlg::editMappingDataDlg()
{
	int idx = ListView_GetNextItem(m_hList, -1, LVNI_FOCUSED);
	if (idx == -1) {
		idx = ListView_GetNextItem(m_hList, -1, LVNI_SELECTED);
		if (idx == -1) {
			return;
		}
	}
	LV_ITEM item = { 0 };
	item.mask = LVIF_PARAM;
	item.iItem = idx;
	item.iSubItem = 0;
	ListView_GetItem(m_hList, &item);
	if (item.lParam != NULL) {
		MappingDataDlg dlg;
		Mapping* btn = (Mapping*)item.lParam;
		dlg.mappingData = *btn;
		if (dlg.Open(m_hDlg)) {
			*btn = dlg.mappingData;
			ListView_DeleteItem(m_hList, idx);
			insertMappingData(idx, btn);
			m_change = true;
		}
	}
}
Exemplo n.º 4
0
VOID SetHotkey(HWND hwndList, DWORD dwKey)
{
	LVITEM lvi;
	char szBuffer[100];
	lvi.iItem = -1;

	lvi.iItem = ListView_GetNextItem(hwndList, lvi.iItem, LVIS_SELECTED);
	while(lvi.iItem != -1)
	{
		lvi.mask = LVIF_PARAM;
		lvi.iSubItem = 0;
		ListView_GetItem(hwndList, &lvi);
		
		if(dwKey == -1)
			PHOTKEY_DATA(lvi.lParam)->dwValue = PHOTKEY_DATA(lvi.lParam)->dwDefault;
		else
			PHOTKEY_DATA(lvi.lParam)->dwValue = dwKey;
		ListView_SetItem(hwndList, &lvi);
		
		lvi.mask = LVIF_TEXT;
		lvi.iSubItem = 1;
		lvi.pszText = HotkeyToString(PHOTKEY_DATA(lvi.lParam)->dwValue, szBuffer);
		ListView_SetItem(hwndList, &lvi);

		lvi.iItem = ListView_GetNextItem(hwndList, lvi.iItem, LVIS_SELECTED);
	}
}
void SearchResults::getSelList(Array<String>& sel)
{
  sel.clear();
  for (int cur = ListView_GetNextItem(hWnd, -1, LVNI_SELECTED);
      cur >= 0; cur = ListView_GetNextItem(hWnd, cur, LVNI_SELECTED))
    sel.push(items[cur].path);
}
Exemplo n.º 6
0
void FormTagManager::DelTags(void)
{
	::PrintLog(L"FormTagManager.DelTags.");

	wchar_t selectedTags[MAXCOUNT_TAG][MAXLENGTH_EACHTAG] = {0};

	int count = 0;
	int searchFrom = -1;
	int selectedIdx = -1;

	// find first
	selectedIdx = ListView_GetNextItem(_hListTags,searchFrom,LVIS_SELECTED);
	while (selectedIdx > -1){
		ListView_GetItemText(_hListTags,selectedIdx,0,selectedTags[count],MAXLENGTH_EACHTAG);

		searchFrom = selectedIdx;
		count++;

		// find next
		selectedIdx = ListView_GetNextItem(_hListTags,searchFrom,LVIS_SELECTED);
	}

	if ( NULL != selectedTags && count > 0)
	{
		wchar_t msg[LOADSTRING_BUFFERSIZE];
		const int maxShown = 20;
		const UINT len = (MAXLENGTH_EACHTAG + 3) * MAXCOUNT_TAG;	// 3 for \0\r\n.
		wchar_t tmp[len] = {0};
		for (int i = 0; i < count && i < maxShown; i++)
		{
			StrCat(tmp,selectedTags[i]);
			if(i < count -1 )
				StrCat(tmp,L"\r\n");
		}

		if( maxShown < count ){
			wsprintf(msg,::MyLoadString(IDS_MSG_MORE_N_HIDDEN),count-maxShown);
			StrCat(tmp,L"\r\n");
			StrCat(tmp,msg);
		}

		wsprintf(msg,::MyLoadString(IDS_MSG_CONFRIM_DEL_TAG),tmp);
		int result = MessageBox(_hwnd,msg,::MyLoadString(IDS_MSGBOX_CAPTION_WARNING),MB_YESNO|MB_ICONWARNING|MB_DEFBUTTON1);
		if( IDYES == result )
		{
			this->_handler->pTagHelper->DeleteTags(selectedTags,count);
			LoadTags();
		}
		else
		{
			MessageBox(_hwnd,L"CANCEL",L"Warning",MB_OK);
		}
	}
	else
	{
		// should not be occured.
		::PrintLog(L"Selected none while deleting. Should not be occured here.");
	}
}
Exemplo n.º 7
0
static BOOL
AddSelectedGroupsToUser(HWND hwndDlg,
                        PMEMBERSHIP_USER_DATA pUserData)
{
    HWND hwndLV;
    INT nItem;
    TCHAR szGroupName[UNLEN];
    BOOL bResult = FALSE;
    BOOL bFound;
    DWORD i;
    LOCALGROUP_MEMBERS_INFO_3 memberInfo;
    NET_API_STATUS status;

    hwndLV = GetDlgItem(hwndDlg, IDC_USER_ADD_MEMBERSHIP_LIST);

    if (ListView_GetSelectedCount(hwndLV) > 0)
    {
        nItem = ListView_GetNextItem(hwndLV, -1, LVNI_SELECTED);
        while (nItem != -1)
        {
            /* Get the new user name */
            ListView_GetItemText(hwndLV,
                                 nItem, 0,
                                 szGroupName,
                                 UNLEN);

            bFound = FALSE;
            for (i = 0; i < pUserData->dwGroupCount; i++)
            {
                if (_tcscmp(pUserData->pGroupData[i].lgrui0_name, szGroupName) == 0)
                    bFound = TRUE;
            }

            if (!bFound)
            {
                memberInfo.lgrmi3_domainandname = pUserData->szUserName;

                status = NetLocalGroupAddMembers(NULL, szGroupName, 3,
                                                 (LPBYTE)&memberInfo, 1);
                if (status == NERR_Success)
                {
                    DebugPrintf(_TEXT("Selected group: %s"), szGroupName);
                    bResult = TRUE;
                }
                else
                {
                    TCHAR szText[256];
                    wsprintf(szText, TEXT("Error: %u"), status);
                    MessageBox(NULL, szText, TEXT("NetLocalGroupAddMembers"), MB_ICONERROR | MB_OK);
                }
            }

            nItem = ListView_GetNextItem(hwndLV, nItem, LVNI_SELECTED);
        }
    }

    return bResult;
}
/**
 *	@brief	Makes specified item selected.
 *	@param[in]	rowIndex	item index. if this is -1, no item is selected.
 */
void WinListViewAdapter::SetSelectedItem(SInt32 rowIndex)
{
	SInt32 selectedIndex = ListView_GetNextItem(hControl, -1, LVIS_SELECTED);
	while (0 <= selectedIndex)
	{
		ListView_SetItemState(hControl, selectedIndex, 0, LVIS_SELECTED);
		selectedIndex = ListView_GetNextItem(hControl, selectedIndex + 1, LVIS_SELECTED);
	}
	ListView_SetItemState(hControl, rowIndex, LVIS_SELECTED, LVIS_SELECTED);
}
Exemplo n.º 9
0
void FolderWindow::getSelList(Array<String>& sel)
{
    for (int cur = ListView_GetNextItem(list->getHandle(), -1, LVNI_SELECTED);
            cur >= 0; cur = ListView_GetNextItem(list->getHandle(), cur, LVNI_SELECTED))
    {
        int pos = list->getItemParam(cur);
        if (pos >= 0 && pos < items.length() &&
                (items[pos].type == ITEM_FOLDER || items[pos].type == ITEM_REPLAY))
            sel.push(items[pos].path);
    }
}
Exemplo n.º 10
0
/*****************************************************************************
static bool CheckIfRehashNecessary(CONST HWND arrHwnd[ID_NUM_WINDOWS],CONST UINT uiMode)
	arrHwnd			: (IN) array with window handles
	uiMode			: (IN) create MD5 or SFV files

Return Value:
	returns true if rehash was/is necessary

Notes:
	- checks if the necessary hash has been calculated for all selected files
    - if hashes are missing the user is asked if he wants a rehash of those lists that
	  are missing the hashes
*****************************************************************************/
static bool CheckIfRehashNecessary(CONST HWND arrHwnd[ID_NUM_WINDOWS],CONST UINT uiMode)
{
	LVITEM lvitem={0};
	bool doRehash=false;
	bool needRehash=false;
	UINT uiIndex;
	list<lFILEINFO*> *doneList;
	list<lFILEINFO*> rehashList;
	lFILEINFO *pList;

	if(ListView_GetSelectedCount(arrHwnd[ID_LISTVIEW])==0) {
		doneList = SyncQueue.getDoneList();
		for(list<lFILEINFO*>::iterator it=doneList->begin();it!=doneList->end();it++) {
            if( uiMode != MODE_NORMAL && !(*it)->bCalculated[uiMode] )
				rehashList.push_back(*it);
		}
		SyncQueue.releaseDoneList();
	} else {
		uiIndex = ListView_GetNextItem(arrHwnd[ID_LISTVIEW],-1,LVNI_SELECTED);
		lvitem.mask = LVIF_PARAM;
		do {
			lvitem.iItem = uiIndex;
			ListView_GetItem(arrHwnd[ID_LISTVIEW],&lvitem);
			pList = ((FILEINFO *)lvitem.lParam)->parentList;
			if( uiMode != MODE_NORMAL && !pList->bCalculated[uiMode] )
				rehashList.push_back(pList);
		} while((uiIndex = ListView_GetNextItem(arrHwnd[ID_LISTVIEW],uiIndex,LVNI_SELECTED))!=-1);
		rehashList.sort();
		rehashList.unique();
	}
	if(!rehashList.empty())
		needRehash=true;
	
	if( needRehash ){
        TCHAR *hashName = g_hash_names[uiMode];
		TCHAR msgString[MAX_PATH_EX];
		StringCchPrintf(msgString,MAX_PATH_EX,TEXT("You have to calculate the %s checksums first. Click OK to do that now."),hashName);
		if( MessageBox(arrHwnd[ID_MAIN_WND],
			msgString,
			TEXT("Question"),MB_OKCANCEL | MB_ICONQUESTION | MB_APPLMODAL | MB_SETFOREGROUND) == IDCANCEL)
			return true;
		doRehash = true;
	}
	if(doRehash) {
		for(list<lFILEINFO*>::iterator it=rehashList.begin();it!=rehashList.end();it++) {
			SyncQueue.deleteFromList(*it);
			(*it)->bDoCalculate[uiMode] = true;
			SyncQueue.pushQueue(*it);
		}
		PostMessage(arrHwnd[ID_MAIN_WND], WM_START_THREAD_CALC, NULL, NULL);
	}
	return needRehash;
}
Exemplo n.º 11
0
void CShellBrowser::DragStarted(int iFirstItem,POINT *ptCursor)
{
	DraggedFile_t	df;
	int				iSelected = -1;

	if(iFirstItem != -1)
	{
		POINT	ptOrigin;
		POINT	ptItem;

		ListView_GetItemPosition(m_hListView,iFirstItem,&ptItem);

		ListView_GetOrigin(m_hListView,&ptOrigin);

		m_ptDraggedOffset.x = ptOrigin.x + ptCursor->x - ptItem.x;
		m_ptDraggedOffset.y = ptOrigin.y + ptCursor->y - ptItem.y;
	}

	while((iSelected = ListView_GetNextItem(m_hListView,iSelected,LVNI_SELECTED)) != -1)
	{
		QueryDisplayName(iSelected, SIZEOF_ARRAY(df.szFileName), df.szFileName);

		m_DraggedFilesList.push_back(df);
	}

	m_bDragging = TRUE;
}
Exemplo n.º 12
0
void MappingDlg::BeginDrag(int idx)
{
	if (ListView_GetNextItem(m_hList, -1, LVNI_SELECTED) == -1)
		return;
	m_dragflag = true;
	SetCapture(m_hDlg);
}
Exemplo n.º 13
0
void MappingDlg::save()
{
	m_active = false;
	if (m_change) {
		if (MessageBox(m_hDlg,I18N.MBOX_Save, I18N.APP_TITLE, MB_YESNO) != IDYES) {
			m_change = false;
		}
	}
	Mappings newmap;
	while (ListView_GetNextItem(m_hList, -1, LVNI_ALL) != -1) {
		LVITEM item = { 0 };
		item.mask = LVIF_PARAM;
		if (!ListView_GetItem(m_hList, &item))
			break;
		if (item.lParam != NULL) {
			if (m_change)
				newmap.push_back(*(Mapping*)item.lParam);
			delete (Mapping*)item.lParam;
		}
		if (!ListView_DeleteItem(m_hList, 0))
			break;
	}
	ListView_DeleteAllItems(m_hList);

	if (m_change) {
		g_settings.Mappingdata.swap(newmap);
		g_settings.Save();
		PostMessage(m_hWnd, WM_CHANGE_SETTING, 0, 0);
	}
}
Exemplo n.º 14
0
INT_PTR CDialogAbout::CTabSkins::OnCommand(WPARAM wParam, LPARAM lParam)
{
	switch (LOWORD(wParam))
	{
	case IDC_ABOUTSKINS_ITEMS_LISTBOX:
		if (HIWORD(wParam) == LBN_SELCHANGE)
		{
			UpdateMeasureList(NULL);
		}
		break;

	case IDM_COPY:
		{
			HWND item = GetFocus();
			if (item == GetDlgItem(m_Window, IDC_ABOUTSKINS_ITEMS_LISTVIEW))
			{
				int sel = ListView_GetNextItem(item, -1, LVNI_FOCUSED | LVNI_SELECTED);
				if (sel != -1)
				{
					std::wstring tmpSz(512, L'0');
					ListView_GetItemText(item, sel, 2, &tmpSz[0], 512);
					CSystem::SetClipboardText(tmpSz);
				}
			}
		}
		break;

	default:
		return 1;
	}

	return 0;
}
Exemplo n.º 15
0
static VOID
UpdateGroupProperties(HWND hwndDlg)
{
    TCHAR szGroupName[UNLEN];
    INT iItem;
    HWND hwndLV;
    PLOCALGROUP_INFO_1 pGroupInfo = NULL;

    hwndLV = GetDlgItem(hwndDlg, IDC_GROUPS_LIST);
    iItem = ListView_GetNextItem(hwndLV, -1, LVNI_SELECTED);
    if (iItem == -1)
        return;

    /* Get the group name */
    ListView_GetItemText(hwndLV,
                         iItem, 0,
                         szGroupName,
                         UNLEN);

    NetLocalGroupGetInfo(NULL, szGroupName, 1, (LPBYTE*)&pGroupInfo);

    ListView_SetItemText(hwndLV, iItem, 1,
                         pGroupInfo->lgrpi1_comment);

    NetApiBufferFree(pGroupInfo);
}
Exemplo n.º 16
0
static BOOL SoftwareDirectories_OnDelete(HWND hDlg)
{
    int     nCount;
    int     nSelect;
    int     nItem;
    HWND    hList = GetDlgItem(hDlg, IDC_DIR_LIST);
	BOOL res;

	g_bModifiedSoftwarePaths = TRUE;

    nItem = ListView_GetNextItem(hList, -1, LVNI_SELECTED | LVNI_ALL);

    if (nItem == -1)
        return FALSE;

    /* Don't delete "Append" placeholder. */
    if (nItem == ListView_GetItemCount(hList) - 1)
        return FALSE;

	res = ListView_DeleteItem(hList, nItem);

    nCount = ListView_GetItemCount(hList);
    if (nCount <= 1)
        return FALSE;

    /* If the last item was removed, select the item above. */
    if (nItem == nCount - 1)
        nSelect = nCount - 2;
    else
        nSelect = nItem;

    ListView_SetItemState(hList, nSelect, LVIS_FOCUSED | LVIS_SELECTED, LVIS_FOCUSED | LVIS_SELECTED);
	MarkChanged(hDlg);
	return TRUE;
}
Exemplo n.º 17
0
static void Directories_OnBrowse(HWND hDlg)
{
	int 	nType;
	int 	nItem;
	TCHAR	inbuf[MAX_PATH];
	TCHAR	outbuf[MAX_PATH];
	HWND	hList;

	hList = GetDlgItem(hDlg, IDC_DIR_LIST);
	nItem = ListView_GetNextItem(hList, -1, LVNI_SELECTED);

	if (nItem == -1)
		return;

	nType = ComboBox_GetCurSel(GetDlgItem(hDlg, IDC_DIR_COMBO));
	if (IsMultiDir(nType))
	{
		/* Last item is placeholder for append */
		if (nItem == ListView_GetItemCount(hList) - 1)
		{
			Directories_OnInsert(hDlg); 
			return;
		}
	}

	ListView_GetItemText(hList, nItem, 0, inbuf, MAX_PATH);

	if (BrowseForDirectory(hDlg, inbuf, outbuf) == TRUE)
	{
		nType = ComboBox_GetCurSel(GetDlgItem(hDlg, IDC_DIR_COMBO));
		DirInfo_SetDir(g_pDirInfo, nType, nItem, outbuf);
		UpdateDirectoryList(hDlg);
	}
}
Exemplo n.º 18
0
int CListView::GetSelectedItem() const
{
	if (m_hwnd==nullptr)
		return -1;

	return ListView_GetNextItem(m_hwnd,-1,LVNI_SELECTED);
}
Exemplo n.º 19
0
LPCWSTR GetValueName(HWND hwndLV, int iStartAt)
{
    int item;
    LVITEMW LVItem;
    PLINE_INFO lineinfo;

    /*
       if a new item is inserted, then no allocation,
       otherwise the heap block will be lost!
    */
    item = ListView_GetNextItem(hwndLV, iStartAt, LVNI_SELECTED);
    if (item == -1) return NULL;

    /*
        Should be always TRUE anyways
    */
    LVItem.iItem = item;
    LVItem.iSubItem = 0;
    LVItem.mask = LVIF_PARAM;
    if (ListView_GetItem(hwndLV, &LVItem) == FALSE)
        return NULL;

    lineinfo = (PLINE_INFO)LVItem.lParam;
    if (lineinfo == NULL)
        return NULL;

    return lineinfo->name;
}
Exemplo n.º 20
0
/*!
	リストビューのアイテムを削除する
	@param[in]	hWnd	親ウインドウのハンドル
	@return		削除後のアイテム数
*/
INT FileListViewDelete( HWND hWnd )
{
	HWND	hLvWnd = GetDlgItem( hWnd, IDLV_CLIPSTEAL_FILELISTVW );
	INT		iItem, iCount;
	TCHAR	atPath[MAX_PATH];

	//	選択されてる項目を確保
	iItem = ListView_GetNextItem( hLvWnd, -1, LVNI_ALL | LVNI_SELECTED );

	//	選択されてるモノがないと無意味
	if( 0 <= iItem )
	{
		//	もし選択中のアレなら削除しない
		FileListViewGet( hWnd, iItem, atPath );
		if( 0 == StrCmp( gatClipFile, atPath ) )
		{
			MessageBox( hWnd, TEXT("そのファイルは使用中だよ。\r\n削除できないよ。"), TEXT("お燐からのお知らせ"), MB_OK | MB_ICONERROR );
		}
		else	//	問題無いなら削除
		{
			ListView_DeleteItem( hLvWnd, iItem );
		}
	}

	iCount = ListView_GetItemCount( hLvWnd );

	return iCount;
}
Exemplo n.º 21
0
/* Obfuscates as in grid  table */
void Call_Obfuscate()
{
 CHAR kwrd[100],nwkw[100];

 (LRESULT)BSize = (WPARAM)SendMessage(hwMResEdit,WM_GETTEXTLENGTH,0,0);
 BSize++;
 SrcPtr = malloc(BSize*2);			// +some reserve
 SendMessage(hwMResEdit,WM_GETTEXT,BSize,SrcPtr+1);
 SrcPtr[0]=0;
 
 for(pi=-1;;)
	{
	if((pi = ListView_GetNextItem(hwKwGrid, pi, LVNI_ALL ))<0) break;
	i=0;
	GetListBoxItem(nwkw);	// new keyword
	GetListBoxItem(kwrd);	// keyword
	GetListBoxItem(buf);	// cnt,ignore
	GetListBoxItem(buf);	// descr.
	if( nwkw[0]!=0 )
		{
		Obfuscate( SrcPtr+1, nwkw, kwrd, isCheckBoxChecked(hwO2), (strstr("func",buf)!=NULL) );
		}
	}
 setText(hwOResEdit,SrcPtr+1);
 free(SrcPtr);
}
Exemplo n.º 22
0
LRESULT CVideoMarkup::OnBeginDrag(int idCtrl, LPNMHDR pnmh, BOOL&) {
    POINT p;
    HIMAGELIST hImageListSingle, hImageListMerged;

    int numSelected = ListView_GetSelectedCount(m_sampleListView);
    int iSelection = -1;
    for (int iIndex=0; iIndex<numSelected; iIndex++) {
        iSelection = ListView_GetNextItem(m_sampleListView, iSelection, LVNI_SELECTED);
        if (iIndex == 0) { // first selected icon
            hDragImageList = ListView_CreateDragImage(m_sampleListView, iSelection, &p);
        } else { // subsequent icons
            hImageListSingle = ListView_CreateDragImage(m_sampleListView, iSelection, &p);
            hImageListMerged = ImageList_Merge(hDragImageList, 0, hImageListSingle, 0, iIndex*3, iIndex*3);
            ImageList_Destroy(hDragImageList);
            ImageList_Destroy(hImageListSingle);
            hDragImageList = hImageListMerged;
        }
    }

    ImageList_BeginDrag(hDragImageList, 0, LISTVIEW_SAMPLE_X/2, LISTVIEW_SAMPLE_Y/2);
    POINT pt = ((NM_LISTVIEW*)pnmh)->ptAction;
    RECT listViewRect;
    m_sampleListView.GetClientRect(&listViewRect);
    m_sampleListView.ClientToScreen(&pt);
    m_sampleListView.ClientToScreen(&listViewRect);

    ImageList_DragEnter(GetDesktopWindow(), pt.x, pt.y);
    draggingIcon = TRUE;
    SetCapture();
    return 0;
}
Exemplo n.º 23
0
void SelfHealSetup_OnEdit( HWND hDlg )
{
	HealItemsTable::HEALITEM_TYPE hi_type;
	switch( rssh_cur_sel )
	{
	case 0: hi_type = HealItemsTable::HIT_HP; break;
	case 1: hi_type = HealItemsTable::HIT_MP; break;
	case 2: hi_type = HealItemsTable::HIT_CP; break;
	default: return; break;
	}
	HWND hwndLV = GetDlgItem( hDlg, IDC_LISTITEMS );
	int cur_sel = ListView_GetNextItem( hwndLV, -1, LVNI_SELECTED );
	if( cur_sel == -1 ) return;
	LVITEM lvi;
	lvi.iItem = cur_sel;
	lvi.iSubItem = 0;
	lvi.mask = LVIF_PARAM;
	lvi.lParam = 0;
	ListView_GetItem( hwndLV, &lvi );
	int idx = lvi.lParam;
	HealItem current;
	switch( rssh_cur_sel )
	{
	case 0: rssh_hit->getHPItem( idx, current ); break;
	case 1: rssh_hit->getMPItem( idx, current ); break;
	case 2: rssh_hit->getCPItem( idx, current ); break;
	}
	if( RS_StartHealItemEdit( hDlg, &current ) )
	{
		rssh_hit->setHealItem( hi_type, idx, &current );
		SelfHealSetup_fillList( hDlg );
	}
}
Exemplo n.º 24
0
INT_PTR CALLBACK PhysicsEditorCallback(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
	int list_view_index = ListView_GetNextItem(GetDlgItem(hDlg, IDL_COLLISION_LIST), -1, LVIS_SELECTED | LVIS_FOCUSED);
	//editor_application->updatePhysicsEditorIndex(list_view_index);

	switch(msg) {
		case WM_INITDIALOG:
			return true;

		case WM_CLOSE:
			EndDialog(hDlg, false);
			editor_application->clearPhysicsEditorGUI();
			return true;

		case WM_COMMAND:
			switch(LOWORD(wParam)) {
				case IDCANCEL:
					SendMessage(hDlg, WM_CLOSE, 0, 0);
					return true;

				case IDB_IMPORT_PHYSICS:
					editor_application->importPhysicsEditorGUI();
					return true;
			}

			break;

		case WM_NOTIFY:
			return true;
	}
	
	return false;
}
Exemplo n.º 25
0
static VOID 
sRemoveShareHolderFromList (HWND hDlg, PSPLITKEYSTRUCT psks)
{
	INT					iIndex;
	LV_ITEM				lvI;
	PSHAREHOLDERSTRUCT	pshs;

	iIndex = ListView_GetNextItem (psks->hwndList, -1, LVNI_SELECTED);

	if (iIndex > -1) {
		lvI.mask = LVIF_PARAM;
		lvI.iItem = iIndex;
		lvI.iSubItem = 0;
		ListView_GetItem (psks->hwndList, &lvI);

		// update total shares
		pshs = (PSHAREHOLDERSTRUCT)lvI.lParam;
		psks->uTotalShares -= pshs->uShares;
		SetDlgItemInt (hDlg, IDC_TOTALSHARES, psks->uTotalShares, FALSE);
		SendMessage (hDlg, WM_COMMAND, 
						MAKEWPARAM (IDC_THRESHOLD, EN_CHANGE), 0);

		KMFreePhrase (pshs->pszPassphrase);
		KMFree (pshs);

		ListView_DeleteItem (psks->hwndList, iIndex);
	}
}
Exemplo n.º 26
0
INT_PTR DialogAbout::TabSkins::OnNotify(WPARAM wParam, LPARAM lParam)
{
	LPNMHDR nm = (LPNMHDR)lParam;
	switch (nm->code)
	{
	case LVN_KEYDOWN:
		{
			NMLVKEYDOWN* lvkd = (NMLVKEYDOWN*)nm;
			if (lvkd->wVKey == 0x43 && IsCtrlKeyDown()) // CTRL + C.
			{
				int sel = ListView_GetNextItem(nm->hwndFrom, -1, LVNI_FOCUSED | LVNI_SELECTED);
				if (sel != -1)
				{
					std::wstring tmpSz(512, L'0');
					ListView_GetItemText(nm->hwndFrom, sel, 2, &tmpSz[0], 512);
					System::SetClipboardText(tmpSz);
				}
			}
		}
		break;

	default:
		return FALSE;
	}

	return TRUE;
}
Exemplo n.º 27
0
void CallStackWnd::OnDblClick()
{
	HWND hList = ::GetDlgItem(m_hWnd, IDC_LST_CALLSTACK);
	int nItem = ListView_GetNextItem(hList, -1, LVNI_FOCUSED | LVNI_SELECTED);
	if (nItem == -1)
		return;
	char fn[MAX_PATH];
	char ln[16];
	LVITEM item = {};
	item.mask = LVIF_TEXT;
	item.iItem = nItem;
	item.iSubItem = COL_SOURCE;
	item.pszText = fn;
	item.cchTextMax = MAX_PATH;
	if (ListView_GetItem(hList, &item)) {
		item.iSubItem = COL_LINE;
		item.pszText = ln;
		item.cchTextMax = 16;
		if (!ListView_GetItem(hList, &item))
			return;
		int nLine = atoi(ln);
		if (fn[0] != '@' && nLine == -1)
			return;
		OnGoto(fn[0] == '@' ? fn+1 : NULL, nLine);
	}
}
Exemplo n.º 28
0
void VDUIJobControlDialog::UpdateSelectedJobEnables(const VDJob *vdjcheck) {
	HWND hwndItem = GetDlgItem(mhdlg, IDC_JOBS);
	if (!hwndItem)
		return;

	int index = ListView_GetNextItem(hwndItem, -1, LVNI_ALL | LVNI_SELECTED);
	VDJob *vdj = NULL;

	if (index >= 0)
		vdj = g_VDJobQueue.ListGet(index);

	if (vdjcheck && vdjcheck != vdj)
		return;

	if (vdj) {
		EnableControl(IDC_DELETE, vdj->GetState() != VDJob::kStateInProgress);
		EnableControl(IDC_POSTPONE, vdj->GetState() != VDJob::kStateInProgress);
		EnableControl(IDC_RELOAD, !g_VDJobQueue.IsRunInProgress());
		EnableControl(IDC_MOVE_UP, index > 0);
		EnableControl(IDC_MOVE_DOWN, index < g_VDJobQueue.ListSize()-1);
	} else {
		EnableControl(IDC_DELETE, false);
		EnableControl(IDC_POSTPONE, false);
		EnableControl(IDC_RELOAD, false);
		EnableControl(IDC_MOVE_UP, false);
		EnableControl(IDC_MOVE_DOWN, false);
	}
}
Exemplo n.º 29
0
void LV_OnDelete(HWND hwnd, INT iRow = -1)
{
    if (iRow == -1)
        iRow = ListView_GetNextItem(hwnd, -1, LVNI_SELECTED);
    if (iRow == -1)
        return;

    UINT State = LVIS_SELECTED | LVIS_FOCUSED;
    ListView_SetItemState(g_hListView, iRow, State, State);

    WCHAR sz[MAX_STRING];
    LoadStringW(g_hInstance, IDS_QUERYDELETE, sz, _countof(sz));
    if (IDYES != MessageBoxW(g_hMainWnd, sz, g_szTitle,
                             MB_ICONINFORMATION | MB_YESNO))
    {
        return;
    }

    ListView_DeleteItem(hwnd, iRow);
    g_Items.erase(g_Items.begin() + iRow);
    g_bModified = TRUE;

    ListView_SetItemState(g_hListView, iRow, State, State);

    InvalidateRect(hwnd, NULL, TRUE);
}
Exemplo n.º 30
0
/* Double clicking means editing a frame */
BOOL List_EditData(HWND hwndApp, HWND hwndList)
{
    LV_ITEM lvi;
    BOOL result;

    /* First get the selected item */
    int index = ListView_GetNextItem(hwndList, -1, LVNI_SELECTED);

    m_hwndList = hwndList;

    if (index != -1)
    {
        lvi.mask = LVIF_PARAM;
        lvi.iItem = index;
        lvi.iSubItem = 0;

        if (ListView_GetItem(hwndList, &lvi) == TRUE)
        {
            pItem = (ID3ITEM*)lvi.lParam;
            editItemIndex = lvi.iItem;

            result = DialogBox(hInstance_for_id3editor, MAKEINTRESOURCE(IDD_EDITTEXTFRAME),
                hwndApp, EditTextFrameProc);
            if (LOWORD(result) == IDOK)
                return TRUE;
        }
    }
    return FALSE;
}