summaryrefslogtreecommitdiff
path: root/widget/nsIDatePicker.idl
diff options
context:
space:
mode:
Diffstat (limited to 'widget/nsIDatePicker.idl')
-rw-r--r--widget/nsIDatePicker.idl50
1 files changed, 50 insertions, 0 deletions
diff --git a/widget/nsIDatePicker.idl b/widget/nsIDatePicker.idl
new file mode 100644
index 0000000000..d6be60c957
--- /dev/null
+++ b/widget/nsIDatePicker.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsISupports.idl"
+
+interface mozIDOMWindowProxy;
+
+[scriptable, uuid(13388a28-1b0b-4218-a31b-588f7a4ec26c)]
+interface nsIDatePickerShownCallback : nsISupports
+{
+ /**
+ * Callback called when the user selects cancel in the date picker
+ * This callback can not be called after done() is called.
+ */
+ void cancel();
+
+ /**
+ * Callback called when the user has finished selecting the date
+ *
+ * @param date The new selected date value following the format "YYYY-MM-DD"
+ */
+ void done(in AString date);
+};
+
+[scriptable, uuid(7becfc64-966b-4d53-87d2-9161f36bd3b3)]
+interface nsIDatePicker : nsISupports
+{
+ /**
+ * Initialize the date picker widget. The date picker will not be shown until
+ * open() is called.
+ * If the initialDate parameter does not follow the format "YYYY-MM-DD" then
+ * the behavior will be unspecified.
+ *
+ * @param parent nsIDOMWindow parent. This dialog will be dependent
+ * on this parent. parent may be null.
+ * @param title The title for the date picker widget.
+ * @param initialDate The date to show when the widget is opened. The
+ * parameter has to follow the format "YYYY-MM-DD"
+ */
+ void init(in mozIDOMWindowProxy parent, in AString title, in AString initialDate);
+
+ /**
+ * Opens the date dialog asynchrounously.
+ * The results are provided via the callback object.
+ */
+ void open(in nsIDatePickerShownCallback callback);
+};