コード例 #1
0
NS_IMETHODIMP
nsARIAGridCellAccessible::GetColumnIndex(PRInt32 *aColumnIndex)
{
  NS_ENSURE_ARG_POINTER(aColumnIndex);
  *aColumnIndex = -1;

  if (IsDefunct())
    return NS_ERROR_FAILURE;

  *aColumnIndex = 0;

  nsCOMPtr<nsIAccessible> prevCell, tmpAcc;
  GetPreviousSibling(getter_AddRefs(prevCell));

  while (prevCell) {
    PRUint32 role = nsAccUtils::Role(prevCell);
    if (role == nsIAccessibleRole::ROLE_GRID_CELL ||
        role == nsIAccessibleRole::ROLE_ROWHEADER ||
        role == nsIAccessibleRole::ROLE_COLUMNHEADER)
      (*aColumnIndex)++;

    prevCell->GetPreviousSibling(getter_AddRefs(tmpAcc));
    tmpAcc.swap(prevCell);
  }

  return NS_OK;
}
コード例 #2
0
ファイル: BoxObject.cpp プロジェクト: Nazi-Nigger/gecko-dev
already_AddRefed<Element>
BoxObject::GetPreviousSibling()
{
    nsCOMPtr<nsIDOMElement> el;
    GetPreviousSibling(getter_AddRefs(el));
    nsCOMPtr<Element> ret(do_QueryInterface(el));
    return ret.forget();
}
コード例 #3
0
ファイル: BoxObject.cpp プロジェクト: Nazi-Nigger/gecko-dev
NS_IMETHODIMP
BoxObject::GetLastChild(nsIDOMElement * *aLastVisibleChild)
{
    *aLastVisibleChild = nullptr;
    nsIFrame* frame = GetFrame(false);
    if (!frame) return NS_OK;
    return GetPreviousSibling(frame, nullptr, aLastVisibleChild);
}
コード例 #4
0
ファイル: nsBoxObject.cpp プロジェクト: amyvmiwei/firefox
NS_IMETHODIMP
nsBoxObject::GetLastChild(nsIDOMElement * *aLastVisibleChild)
{
  *aLastVisibleChild = nsnull;
  nsIFrame* frame = GetFrame(PR_FALSE);
  if (!frame) return NS_OK;
  return GetPreviousSibling(frame, nsnull, aLastVisibleChild);
}
コード例 #5
0
ファイル: BoxObject.cpp プロジェクト: Nazi-Nigger/gecko-dev
NS_IMETHODIMP
BoxObject::GetPreviousSibling(nsIDOMElement **aPreviousOrdinalSibling)
{
    *aPreviousOrdinalSibling = nullptr;
    nsIFrame* frame = GetFrame(false);
    if (!frame) return NS_OK;
    nsIFrame* parentFrame = frame->GetParent();
    if (!parentFrame) return NS_OK;
    return GetPreviousSibling(parentFrame, frame, aPreviousOrdinalSibling);
}