Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / src / widgets / grid / AbstractSelectionModel.js
diff --git a/src/widgets/grid/AbstractSelectionModel.js b/src/widgets/grid/AbstractSelectionModel.js
new file mode 100644 (file)
index 0000000..42ed22c
--- /dev/null
@@ -0,0 +1,57 @@
+/*!
+ * Ext JS Library 3.0.0
+ * Copyright(c) 2006-2009 Ext JS, LLC
+ * licensing@extjs.com
+ * http://www.extjs.com/license
+ */
+/**\r
+ * @class Ext.grid.AbstractSelectionModel\r
+ * @extends Ext.util.Observable\r
+ * Abstract base class for grid SelectionModels.  It provides the interface that should be\r
+ * implemented by descendant classes.  This class should not be directly instantiated.\r
+ * @constructor\r
+ */\r
+Ext.grid.AbstractSelectionModel = function(){\r
+    this.locked = false;\r
+    Ext.grid.AbstractSelectionModel.superclass.constructor.call(this);\r
+};\r
+\r
+Ext.extend(Ext.grid.AbstractSelectionModel, Ext.util.Observable,  {\r
+    /**\r
+     * The GridPanel for which this SelectionModel is handling selection. Read-only.\r
+     * @type Object\r
+     * @property grid\r
+     */\r
+\r
+    /** @ignore Called by the grid automatically. Do not call directly. */\r
+    init : function(grid){\r
+        this.grid = grid;\r
+        this.initEvents();\r
+    },\r
+\r
+    /**\r
+     * Locks the selections.\r
+     */\r
+    lock : function(){\r
+        this.locked = true;\r
+    },\r
+\r
+    /**\r
+     * Unlocks the selections.\r
+     */\r
+    unlock : function(){\r
+        this.locked = false;\r
+    },\r
+\r
+    /**\r
+     * Returns true if the selections are locked.\r
+     * @return {Boolean}\r
+     */\r
+    isLocked : function(){\r
+        return this.locked;\r
+    },\r
+    \r
+    destroy: function(){\r
+        this.purgeListeners();\r
+    }\r
+});
\ No newline at end of file