void CArrayGrid::OnLButtonDown(UINT nFlags, CPoint point) { CBCGPGridCtrl::OnLButtonDown(nFlags, point); CDlgParamEditArray::DataType type = ((CDlgParamEditArray*)GetParent())->m_dataType; if (type!=CDlgParamEditArray::TypeBool) return; if (IsColumnSelected(0)) return; CBCGPGridItem * pItem = GetCurSelItem(); if (pItem==NULL) return; CString str; ConvertBSTR2CString( str, pItem->GetValue().bstrVal ); if ( str.CompareNoCase("true") == 0 ) str = "false"; else str = "true"; pItem->SetValue( (LPCTSTR)(str) ); int iRow = pItem->GetGridItemID().m_nRow; ((CDlgParamEditArray*)GetParent())->m_vArray[iRow] = str; }
NS_IMETHODIMP nsHTMLTableAccessible::GetSelectedColumnIndices(PRUint32 *aNumColumns, PRInt32 **aColumns) { nsresult rv = NS_OK; PRInt32 columnCount; rv = GetColumnCount(&columnCount); NS_ENSURE_SUCCESS(rv, rv); PRBool *states = new PRBool[columnCount]; NS_ENSURE_TRUE(states, NS_ERROR_OUT_OF_MEMORY); *aNumColumns = 0; PRInt32 index; for (index = 0; index < columnCount; index++) { rv = IsColumnSelected(index, &states[index]); NS_ENSURE_SUCCESS(rv, rv); if (states[index]) { (*aNumColumns)++; } } PRInt32 *outArray = (PRInt32 *)nsMemory::Alloc((*aNumColumns) * sizeof(PRInt32)); if (!outArray) { delete []states; return NS_ERROR_OUT_OF_MEMORY; } PRInt32 curr = 0; for (index = 0; index < columnCount; index++) { if (states[index]) { outArray[curr++] = index; } } delete []states; *aColumns = outArray; return rv; }
NS_IMETHODIMP nsHTMLTableAccessible::GetSelectedColumnCount(PRUint32* aCount) { NS_ENSURE_ARG_POINTER(aCount); *aCount = 0; PRInt32 count = 0; nsresult rv = GetColumnCount(&count); NS_ENSURE_SUCCESS(rv, rv); PRInt32 index; for (index = 0; index < count; index++) { PRBool state = PR_FALSE; rv = IsColumnSelected(index, &state); NS_ENSURE_SUCCESS(rv, rv); if (state) (*aCount)++; } return NS_OK; }