NS_IMETHODIMP
nsXFormsControlStub::DocumentChanged(nsIDOMDocument *aNewDocument)
{
  nsXFormsStubElement::DocumentChanged(aNewDocument);

  if (aNewDocument) {
    ResetHelpAndHint(PR_TRUE);

    // If we are inserted into a document and we have no model, we are probably
    // being initialized, so we should set our intrinsic state to the default
    // value
    if (!mModel && mElement) {
      nsCOMPtr<nsIXTFElementWrapper> xtfWrap(do_QueryInterface(mElement));
      NS_ENSURE_STATE(xtfWrap);
      PRInt32 iState;
      GetDefaultIntrinsicState(&iState);
      xtfWrap->SetIntrinsicState(iState);
    }
  }

  nsCOMPtr<nsIDOMNode> parent;
  mElement->GetParentNode(getter_AddRefs(parent));
  UpdateRepeatState(parent);

  return ForceModelDetach(mHasParent && mHasDoc);
}
Пример #2
0
NS_IMETHODIMP
nsXFormsItemSetElement::DocumentChanged(nsIDOMDocument *aNewDocument)
{
  nsXFormsDelegateStub::DocumentChanged(aNewDocument);

  nsCOMPtr<nsIDOMNode> parent;
  mElement->GetParentNode(getter_AddRefs(parent));
  UpdateRepeatState(parent);
  return NS_OK;
}
NS_IMETHODIMP
nsXFormsControlStub::ParentChanged(nsIDOMElement *aNewParent)
{
  nsXFormsStubElement::ParentChanged(aNewParent);

  UpdateRepeatState(aNewParent);

  // We need to re-evaluate our instance data binding when our parent changes,
  // since xmlns declarations or our context could have changed.
  return ForceModelDetach(mHasParent && mHasDoc);
}
Пример #4
0
NS_IMETHODIMP
nsXFormsItemSetElement::ParentChanged(nsIDOMElement *aNewParent)
{
  nsXFormsDelegateStub::ParentChanged(aNewParent);

  UpdateRepeatState(aNewParent);

  if (aNewParent)
    Refresh();

  return NS_OK;
}