Index: third_party/google_input_tools/third_party/closure_library/closure/goog/ui/separator.js |
diff --git a/third_party/google_input_tools/third_party/closure_library/closure/goog/ui/separator.js b/third_party/google_input_tools/third_party/closure_library/closure/goog/ui/separator.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b1ffb694eb97a6fa26e9d6737165cd541f573720 |
--- /dev/null |
+++ b/third_party/google_input_tools/third_party/closure_library/closure/goog/ui/separator.js |
@@ -0,0 +1,80 @@ |
+// Copyright 2007 The Closure Library Authors. All Rights Reserved. |
+// |
+// Licensed under the Apache License, Version 2.0 (the "License"); |
+// you may not use this file except in compliance with the License. |
+// You may obtain a copy of the License at |
+// |
+// http://www.apache.org/licenses/LICENSE-2.0 |
+// |
+// Unless required by applicable law or agreed to in writing, software |
+// distributed under the License is distributed on an "AS-IS" BASIS, |
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+// See the License for the specific language governing permissions and |
+// limitations under the License. |
+ |
+/** |
+ * @fileoverview A class for representing a separator, with renderers for both |
+ * horizontal (menu) and vertical (toolbar) separators. |
+ * |
+ * @author attila@google.com (Attila Bodis) |
+ */ |
+ |
+goog.provide('goog.ui.Separator'); |
+ |
+goog.require('goog.a11y.aria'); |
+goog.require('goog.asserts'); |
+goog.require('goog.ui.Component.State'); |
+goog.require('goog.ui.Control'); |
+goog.require('goog.ui.MenuSeparatorRenderer'); |
+goog.require('goog.ui.registry'); |
+ |
+ |
+ |
+/** |
+ * Class representing a separator. Although it extends {@link goog.ui.Control}, |
+ * the Separator class doesn't allocate any event handlers, nor does it change |
+ * its appearance on mouseover, etc. |
+ * @param {goog.ui.MenuSeparatorRenderer=} opt_renderer Renderer to render or |
+ * decorate the separator; defaults to {@link goog.ui.MenuSeparatorRenderer}. |
+ * @param {goog.dom.DomHelper=} opt_domHelper Optional DOM helper, used for |
+ * document interaction. |
+ * @constructor |
+ * @extends {goog.ui.Control} |
+ */ |
+goog.ui.Separator = function(opt_renderer, opt_domHelper) { |
+ goog.ui.Control.call(this, null, opt_renderer || |
+ goog.ui.MenuSeparatorRenderer.getInstance(), opt_domHelper); |
+ |
+ this.setSupportedState(goog.ui.Component.State.DISABLED, false); |
+ this.setSupportedState(goog.ui.Component.State.HOVER, false); |
+ this.setSupportedState(goog.ui.Component.State.ACTIVE, false); |
+ this.setSupportedState(goog.ui.Component.State.FOCUSED, false); |
+ |
+ // Separators are always considered disabled. |
+ this.setStateInternal(goog.ui.Component.State.DISABLED); |
+}; |
+goog.inherits(goog.ui.Separator, goog.ui.Control); |
+ |
+ |
+/** |
+ * Configures the component after its DOM has been rendered. Overrides |
+ * {@link goog.ui.Control#enterDocument} by making sure no event handler |
+ * is allocated. |
+ * @override |
+ */ |
+goog.ui.Separator.prototype.enterDocument = function() { |
+ goog.ui.Separator.superClass_.enterDocument.call(this); |
+ var element = this.getElement(); |
+ goog.asserts.assert(element, |
+ 'The DOM element for the separator cannot be null.'); |
+ goog.a11y.aria.setRole(element, 'separator'); |
+}; |
+ |
+ |
+// Register a decorator factory function for goog.ui.MenuSeparators. |
+goog.ui.registry.setDecoratorByClassName( |
+ goog.ui.MenuSeparatorRenderer.CSS_CLASS, |
+ function() { |
+ // Separator defaults to using MenuSeparatorRenderer. |
+ return new goog.ui.Separator(); |
+ }); |