implement accessible objects for xforms date input controls, r=aaronr, aaronlev, sr=neil, b=349644. Patch by Alexander Surkov <surkov.alexander@gmail.com>
git-svn-id: svn://10.0.0.236/trunk@216880 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -39,11 +39,14 @@
|
||||
|
||||
#include "nsXFormsUtilityService.h"
|
||||
|
||||
#include "nsIContent.h"
|
||||
|
||||
#include "nsIXFormsDelegate.h"
|
||||
#include "nsIXFormsAccessors.h"
|
||||
#include "nsIXFormsRangeConditionAccessors.h"
|
||||
#include "nsIXFormsRangeAccessors.h"
|
||||
#include "nsIXFormsUIWidget.h"
|
||||
#include "nsIXFormsComboboxUIWidget.h"
|
||||
#include "nsIXFormsNSEditableElement.h"
|
||||
#include "nsXFormsUtils.h"
|
||||
|
||||
@@ -62,6 +65,13 @@ NS_ENSURE_ARG_POINTER(aElement);\
|
||||
nsCOMPtr<nsIXFormsUIWidget> widget(do_QueryInterface(aElement));\
|
||||
NS_ENSURE_TRUE(widget, NS_ERROR_FAILURE);\
|
||||
|
||||
#define GET_COMBOBOX_UIWIDGET \
|
||||
NS_ENSURE_ARG_POINTER(aElement);\
|
||||
nsCOMPtr<nsIContent> content(do_QueryInterface(aElement));\
|
||||
nsCOMPtr<nsIContent> parent(content->GetBindingParent());\
|
||||
nsCOMPtr<nsIXFormsComboboxUIWidget> widget(do_QueryInterface(parent));\
|
||||
NS_ENSURE_TRUE(widget, NS_ERROR_FAILURE);\
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXFormsUtilityService::IsReadonly(nsIDOMNode *aElement, PRBool *aState)
|
||||
{
|
||||
@@ -179,3 +189,22 @@ nsXFormsUtilityService::GetEditor(nsIDOMNode *aElement, nsIEditor **aEditor)
|
||||
return editable->GetEditor(aEditor);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXFormsUtilityService::IsDropmarkerOpen(nsIDOMNode *aElement, PRBool* aIsOpen)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aIsOpen);
|
||||
|
||||
GET_COMBOBOX_UIWIDGET
|
||||
return widget->GetOpen(aIsOpen);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsXFormsUtilityService::ToggleDropmarkerState(nsIDOMNode *aElement)
|
||||
{
|
||||
GET_COMBOBOX_UIWIDGET
|
||||
|
||||
PRBool isOpen = PR_FALSE;
|
||||
nsresult rv = widget->GetOpen(&isOpen);
|
||||
return widget->SetOpen(!isOpen);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user