nsresult HTMLTextAreaElement::GetControllers(nsIControllers** aResult) { NS_ENSURE_ARG_POINTER(aResult); ErrorResult error; *aResult = GetControllers(error); NS_IF_ADDREF(*aResult); return error.StealNSResult(); }
NS_IMETHODIMP HTMLTextAreaElement::GetControllers(nsIControllers** aResult) { NS_ENSURE_ARG_POINTER(aResult); ErrorResult error; *aResult = GetControllers(error); NS_IF_ADDREF(*aResult); return error.ErrorCode(); }
NS_IMETHODIMP nsFocusController::GetControllerForCommand(nsPIDOMWindow* aContextWindow, const char * aCommand, nsIController** _retval) { NS_ENSURE_ARG_POINTER(_retval); *_retval = nsnull; nsCOMPtr<nsIControllers> controllers; nsCOMPtr<nsIController> controller; GetControllers(aContextWindow, getter_AddRefs(controllers)); if(controllers) { controllers->GetControllerForCommand(aCommand, getter_AddRefs(controller)); if(controller) { controller.swap(*_retval); return NS_OK; } } nsCOMPtr<nsPIDOMWindow> focusedWindow; GetRootFocusedContentAndWindow(aContextWindow, getter_AddRefs(focusedWindow)); while (focusedWindow) { nsCOMPtr<nsIDOMWindowInternal> domWindow(do_QueryInterface(focusedWindow)); nsCOMPtr<nsIControllers> controllers2; domWindow->GetControllers(getter_AddRefs(controllers2)); if(controllers2) { controllers2->GetControllerForCommand(aCommand, getter_AddRefs(controller)); if(controller) { controller.swap(*_retval); return NS_OK; } } // XXXndeakin P3 is this casting safe? nsCOMPtr<nsPIDOMWindow> piWindow = do_QueryInterface(focusedWindow); nsGlobalWindow *win = static_cast<nsGlobalWindow *> (static_cast<nsIDOMWindowInternal *>(piWindow)); focusedWindow = win->GetPrivateParent(); } return NS_OK; }
nsresult nsWindowRoot::GetControllerForCommand(const char * aCommand, nsIController** _retval) { NS_ENSURE_ARG_POINTER(_retval); *_retval = nsnull; nsCOMPtr<nsIControllers> controllers; nsCOMPtr<nsIController> controller; GetControllers(getter_AddRefs(controllers)); if (controllers) { controllers->GetControllerForCommand(aCommand, getter_AddRefs(controller)); if (controller) { controller.swap(*_retval); return NS_OK; } } nsCOMPtr<nsPIDOMWindow> focusedWindow; nsFocusManager::GetFocusedDescendant(mWindow, PR_TRUE, getter_AddRefs(focusedWindow)); while (focusedWindow) { nsCOMPtr<nsIDOMWindow> domWindow(do_QueryInterface(focusedWindow)); nsCOMPtr<nsIControllers> controllers2; domWindow->GetControllers(getter_AddRefs(controllers2)); if (controllers2) { controllers2->GetControllerForCommand(aCommand, getter_AddRefs(controller)); if (controller) { controller.swap(*_retval); return NS_OK; } } // XXXndeakin P3 is this casting safe? nsCOMPtr<nsPIDOMWindow> piWindow = do_QueryInterface(focusedWindow); nsGlobalWindow *win = static_cast<nsGlobalWindow *> (static_cast<nsIDOMWindow*>(piWindow)); focusedWindow = win->GetPrivateParent(); } return NS_OK; }
void SCA_IObject::ReParentLogic() { SCA_ActuatorList& oldactuators = GetActuators(); int act = 0; SCA_ActuatorList::iterator ita; for (ita = oldactuators.begin(); !(ita==oldactuators.end()); ++ita) { SCA_IActuator* newactuator = (SCA_IActuator*) (*ita)->GetReplica(); newactuator->ReParent(this); // actuators are initially not connected to any controller newactuator->SetActive(false); newactuator->ClrLink(); oldactuators[act++] = newactuator; } SCA_ControllerList& oldcontrollers = GetControllers(); int con = 0; SCA_ControllerList::iterator itc; for (itc = oldcontrollers.begin(); !(itc==oldcontrollers.end()); ++itc) { SCA_IController* newcontroller = (SCA_IController*)(*itc)->GetReplica(); newcontroller->ReParent(this); newcontroller->SetActive(false); oldcontrollers[con++]=newcontroller; } // convert sensors last so that actuators are already available for Actuator sensor SCA_SensorList& oldsensors = GetSensors(); int sen = 0; SCA_SensorList::iterator its; for (its = oldsensors.begin(); !(its==oldsensors.end()); ++its) { SCA_ISensor* newsensor = (SCA_ISensor*)(*its)->GetReplica(); newsensor->ReParent(this); newsensor->SetActive(false); // sensors are initially not connected to any controller newsensor->ClrLink(); oldsensors[sen++] = newsensor; } // a new object cannot be client of any actuator m_registeredActuators.clear(); m_registeredObjects.clear(); }
nsresult nsWindowRoot::GetControllerForCommand(const char * aCommand, nsIController** _retval) { NS_ENSURE_ARG_POINTER(_retval); *_retval = nullptr; { nsCOMPtr<nsIControllers> controllers; GetControllers(getter_AddRefs(controllers)); if (controllers) { nsCOMPtr<nsIController> controller; controllers->GetControllerForCommand(aCommand, getter_AddRefs(controller)); if (controller) { controller.forget(_retval); return NS_OK; } } } nsCOMPtr<nsPIDOMWindow> focusedWindow; nsFocusManager::GetFocusedDescendant(mWindow, true, getter_AddRefs(focusedWindow)); while (focusedWindow) { nsCOMPtr<nsIControllers> controllers; focusedWindow->GetControllers(getter_AddRefs(controllers)); if (controllers) { nsCOMPtr<nsIController> controller; controllers->GetControllerForCommand(aCommand, getter_AddRefs(controller)); if (controller) { controller.forget(_retval); return NS_OK; } } // XXXndeakin P3 is this casting safe? nsGlobalWindow *win = static_cast<nsGlobalWindow*>(focusedWindow.get()); focusedWindow = win->GetPrivateParent(); } return NS_OK; }