[Lada-commits] [PATCH 1 of 2] Added library to enable 'AlwaysOnTop' for windows

Wald Commits scm-commit at wald.intevation.org
Thu Jan 26 17:34:02 CET 2017


# HG changeset patch
# User Raimund Renkert <raimund.renkert at intevation.de>
# Date 1485448398 -3600
# Node ID 8b21a3fa6e1f62cec8ec9be07c9f98d27a52aec2
# Parent  0120a72b36909423fff2ebc1775abcc565244859
Added library to enable 'AlwaysOnTop' for windows.

diff -r 0120a72b3690 -r 8b21a3fa6e1f resources/lib/ext/util/AlwaysOnTop.js
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/lib/ext/util/AlwaysOnTop.js	Thu Jan 26 17:33:18 2017 +0100
@@ -0,0 +1,58 @@
+/*
+ *    Always On Top extension for Ext JS 4.x
+ *
+ *    Copyright (c) 2011 Eirik Lorentsen (http://www.eirik.net/)
+ *
+ *    Examples and documentation at: http://www.eirik.net/Ext/ux/util/AlwaysOnTop.html
+ *
+ *    Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
+ *    and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
+ *
+ *    Version: 1.1
+ *    Last changed date: 2011-12-22
+ */
+
+Ext.define('Ext.ux.util.AlwaysOnTop', {
+    extend: 'Ext.app.Controller',
+
+    alwaysOnTopManager: null,
+
+    init: function() {
+        this.control({
+            'component{isFloating()}': {
+                'render': function (component, options) {
+                    this.onComponentRender(component, options);
+                }
+            }
+        });
+        /* Uncommenting the code below makes sure that all Ext.window.MessageBoxes stay on top. */
+        /*
+        Ext.override(Ext.window.MessageBox, {
+            alwaysOnTop: true
+        });
+        */
+        /* Uncommenting the code below makes sure that all form errormessages stay on top.
+           Necessary if you have a form inside a alwaysOnTop window. */
+        /*
+        Ext.override(Ext.tip.ToolTip, {
+            alwaysOnTop: true
+        });
+        */
+    },
+
+    onComponentRender: function (component, options) {
+        if (component.alwaysOnTop) {
+            if (!this.alwaysOnTopManager) {
+                this.alwaysOnTopManager = Ext.create('Ext.ZIndexManager');
+            }
+            this.alwaysOnTopManager.register(component);
+        }
+        if (this.alwaysOnTopManager) {
+            /* Making sure the alwaysOnTopManager always has the highest zseed */
+            if (Ext.ZIndexManager.zBase > this.alwaysOnTopManager.zseed) {
+                this.alwaysOnTopManager.zseed = this.alwaysOnTopManager.getNextZSeed();
+            }
+        }
+    }
+
+});


More information about the Lada-commits mailing list