Revision: 4392
          http://vexi.svn.sourceforge.net/vexi/?rev=4392&view=rev
Author:   clrg
Date:     2012-05-31 12:25:20 +0000 (Thu, 31 May 2012)
Log Message:
-----------
Allow off-screen v_popmaster. Make addPopBox consistent.

Modified Paths:
--------------
    trunk/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupable.t
    trunk/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupmanager.t

Modified: trunk/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupable.t
===================================================================
--- trunk/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupable.t  
2012-05-31 12:11:05 UTC (rev 4391)
+++ trunk/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupable.t  
2012-05-31 12:25:20 UTC (rev 4392)
@@ -125,7 +125,7 @@
             v.display = false;
             v.v_popmaster = trapee;
             if (s) {
-                s.popup.addPopBox(v);
+                s.popup.addPopBox(trapee);
             }
         }
     }
@@ -146,7 +146,7 @@
         }
         // register with new surface
         if (v and trapee.v_popbox) {
-            v.popup.addPopBox(trapee.v_popbox);
+            v.popup.addPopBox(trapee);
             // must do this because v_popbox is removed
             // and its surface trap won't fire otherwise
             trapee.v_popbox.surface = v;

Modified: trunk/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupmanager.t
===================================================================
--- trunk/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupmanager.t       
2012-05-31 12:11:05 UTC (rev 4391)
+++ trunk/org.vexi-vexi.widgets/src_main/org/vexi/lib/role/popupmanager.t       
2012-05-31 12:25:20 UTC (rev 4392)
@@ -1,9 +1,8 @@
-<!-- Copyright 2011 - see COPYING for details [LGPL] -->
+<!-- Copyright 2012 - see COPYING for details [LGPL] -->
 
-<vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta" xmlns="vexi">
-    <meta:doc>
-        <author>Charles Goodwin</author>
-    </meta:doc>
+<vexi xmlns:ui="vexi://ui"
+      xmlns:meta="vexi://meta"
+      xmlns="vexi">
     
     <ui:box redirect=":$content" layout="layer">
         <ui:box id="content" />
@@ -39,8 +38,10 @@
                 // original popupable as often they are designed
                 // to toggle popped state; this would interfere
                 var m = p.v_popmaster;
-                if (m.popdownOnExternalEvent and !m.mouse?.inside) {
+                if (m?.popdownOnExternalEvent and !(m?.mouse?.inside)) {
                     m.popdown = true;
+                    // popmaster may be off-screen
+                    if (!m.surface) model.pop(m, false);
                 }
             }
         }
@@ -226,7 +227,9 @@
         }
         
         /** add a popupable box to the surface */
-        model.addPopBox = function(p) {
+        model.addPopBox = function(v) {
+            var p = v.v_popbox;
+            
             // silence popbox
             p.display = false;
             

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Vexi-svn mailing list
Vexi-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vexi-svn

Reply via email to