Użytkownik Paul McNett napisał:
> Ah, that's because we'd already set the Position property in a block above. 
> Seems 
> silly to set the Position before setting Right and Bottom and finally setting 
> Left 
> and Top. Here's a proposed modification, let me know if it still solves your 
> problem 
> or not. If we must test for WindowState still we can do that...
>   
 
I modified your patch a little bit (setting Left and Top) and now it 
works, check it please.

--- dFormMixin.py    Fri Jan 30 11:18:07 2009
+++ dFormMixin.py.my    Fri Jan 30 11:15:10 2009
@@ -485,35 +485,36 @@
         """
         if self.Application and self.SaveRestorePosition:
             name = self.getAbsoluteName()
+            state = self.Application.getUserSetting("%s.windowstate" % 
name, self._defaultState)
+            width = self.Application.getUserSetting("%s.width" % name, 
self._defaultWidth)
+            height = self.Application.getUserSetting("%s.height" % 
name, self._defaultHeight)
+
             if not self.Centered:
                 left = self.Application.getUserSetting("%s.left" % 
name, self._defaultLeft)
                 top = self.Application.getUserSetting("%s.top" % name, 
self._defaultTop)
+               
                 if isinstance(left, int) and isinstance(top, int):
-                    self.Position = (left,top)
-            width = self.Application.getUserSetting("%s.width" % name, 
self._defaultWidth)
-            height = self.Application.getUserSetting("%s.height" % 
name, self._defaultHeight)
-            state = self.Application.getUserSetting("%s.windowstate" % 
name, self._defaultState)
+                    # Make sure that the frame is on the visible display
+                    if self.Application.Platform == "Mac":
+                        # Need to account for the menu bar
+                        minTop = 23
+                    else:
+                        minTop = 0
+                    dispWd, dispHt = dabo.ui.getDisplaySize()
+                    self.Right = min(dispWd, left + width)
+                    self.Bottom = min(dispHt, top + height)
+                    self.Left = max(0, left)
+                    self.Top = max(minTop, top)
 
             if isinstance(width, int) and isinstance(height, int):
                 if self.BorderResizable:
-                    self.Size = (width,height)
+                    self.Size = (width, height)
 
             if state is not None:
                 if state == "Minimized":
                     state = "Normal"
                 self.WindowState = state
-            # Make sure that the frame is on the visible display
-            dispWd, dispHt = dabo.ui.getDisplaySize()
-            self.Right = min(dispWd, self.Right)
-            self.Bottom = min(dispHt, self.Bottom)
-            if self.Application.Platform == "Mac":
-                # Need to account for the menu bar
-                minTop = 23
-            else:
-                minTop = 0
-            self.Left = max(0, self.Left)
-            self.Top = max(minTop, self.Top)
-
+           
             self.restoredSP = True
 

-- 
Regards
Jacek Kałucki


LS0tIGRGb3JtTWl4aW4ucHkJRnJpIEphbiAzMCAxMToxODowNyAyMDA5CisrKyBkRm9ybU1p
eGluLnB5Lm15CUZyaSBKYW4gMzAgMTE6MTU6MTAgMjAwOQpAQCAtNDg1LDM1ICs0ODUsMzYg
QEAKIAkJIiIiCiAJCWlmIHNlbGYuQXBwbGljYXRpb24gYW5kIHNlbGYuU2F2ZVJlc3RvcmVQ
b3NpdGlvbjoKIAkJCW5hbWUgPSBzZWxmLmdldEFic29sdXRlTmFtZSgpCisJCQlzdGF0ZSA9
IHNlbGYuQXBwbGljYXRpb24uZ2V0VXNlclNldHRpbmcoIiVzLndpbmRvd3N0YXRlIiAlIG5h
bWUsIHNlbGYuX2RlZmF1bHRTdGF0ZSkKKwkJCXdpZHRoID0gc2VsZi5BcHBsaWNhdGlvbi5n
ZXRVc2VyU2V0dGluZygiJXMud2lkdGgiICUgbmFtZSwgc2VsZi5fZGVmYXVsdFdpZHRoKQor
CQkJaGVpZ2h0ID0gc2VsZi5BcHBsaWNhdGlvbi5nZXRVc2VyU2V0dGluZygiJXMuaGVpZ2h0
IiAlIG5hbWUsIHNlbGYuX2RlZmF1bHRIZWlnaHQpCisKIAkJCWlmIG5vdCBzZWxmLkNlbnRl
cmVkOgogCQkJCWxlZnQgPSBzZWxmLkFwcGxpY2F0aW9uLmdldFVzZXJTZXR0aW5nKCIlcy5s
ZWZ0IiAlIG5hbWUsIHNlbGYuX2RlZmF1bHRMZWZ0KQogCQkJCXRvcCA9IHNlbGYuQXBwbGlj
YXRpb24uZ2V0VXNlclNldHRpbmcoIiVzLnRvcCIgJSBuYW1lLCBzZWxmLl9kZWZhdWx0VG9w
KQorCQkJCQogCQkJCWlmIGlzaW5zdGFuY2UobGVmdCwgaW50KSBhbmQgaXNpbnN0YW5jZSh0
b3AsIGludCk6Ci0JCQkJCXNlbGYuUG9zaXRpb24gPSAobGVmdCx0b3ApCi0JCQl3aWR0aCA9
IHNlbGYuQXBwbGljYXRpb24uZ2V0VXNlclNldHRpbmcoIiVzLndpZHRoIiAlIG5hbWUsIHNl
bGYuX2RlZmF1bHRXaWR0aCkKLQkJCWhlaWdodCA9IHNlbGYuQXBwbGljYXRpb24uZ2V0VXNl
clNldHRpbmcoIiVzLmhlaWdodCIgJSBuYW1lLCBzZWxmLl9kZWZhdWx0SGVpZ2h0KQotCQkJ
c3RhdGUgPSBzZWxmLkFwcGxpY2F0aW9uLmdldFVzZXJTZXR0aW5nKCIlcy53aW5kb3dzdGF0
ZSIgJSBuYW1lLCBzZWxmLl9kZWZhdWx0U3RhdGUpCisJCQkJCSMgTWFrZSBzdXJlIHRoYXQg
dGhlIGZyYW1lIGlzIG9uIHRoZSB2aXNpYmxlIGRpc3BsYXkKKwkJCQkJaWYgc2VsZi5BcHBs
aWNhdGlvbi5QbGF0Zm9ybSA9PSAiTWFjIjoKKwkJCQkJCSMgTmVlZCB0byBhY2NvdW50IGZv
ciB0aGUgbWVudSBiYXIKKwkJCQkJCW1pblRvcCA9IDIzCisJCQkJCWVsc2U6CisJCQkJCQlt
aW5Ub3AgPSAwCisJCQkJCWRpc3BXZCwgZGlzcEh0ID0gZGFiby51aS5nZXREaXNwbGF5U2l6
ZSgpCisJCQkJCXNlbGYuUmlnaHQgPSBtaW4oZGlzcFdkLCBsZWZ0ICsgd2lkdGgpCisJCQkJ
CXNlbGYuQm90dG9tID0gbWluKGRpc3BIdCwgdG9wICsgaGVpZ2h0KQorCQkJCQlzZWxmLkxl
ZnQgPSBtYXgoMCwgbGVmdCkKKwkJCQkJc2VsZi5Ub3AgPSBtYXgobWluVG9wLCB0b3ApCiAK
IAkJCWlmIGlzaW5zdGFuY2Uod2lkdGgsIGludCkgYW5kIGlzaW5zdGFuY2UoaGVpZ2h0LCBp
bnQpOgogCQkJCWlmIHNlbGYuQm9yZGVyUmVzaXphYmxlOgotCQkJCQlzZWxmLlNpemUgPSAo
d2lkdGgsaGVpZ2h0KQorCQkJCQlzZWxmLlNpemUgPSAod2lkdGgsIGhlaWdodCkKIAogCQkJ
aWYgc3RhdGUgaXMgbm90IE5vbmU6CiAJCQkJaWYgc3RhdGUgPT0gIk1pbmltaXplZCI6CiAJ
CQkJCXN0YXRlID0gIk5vcm1hbCIKIAkJCQlzZWxmLldpbmRvd1N0YXRlID0gc3RhdGUKLQkJ
CSMgTWFrZSBzdXJlIHRoYXQgdGhlIGZyYW1lIGlzIG9uIHRoZSB2aXNpYmxlIGRpc3BsYXkK
LQkJCWRpc3BXZCwgZGlzcEh0ID0gZGFiby51aS5nZXREaXNwbGF5U2l6ZSgpCi0JCQlzZWxm
LlJpZ2h0ID0gbWluKGRpc3BXZCwgc2VsZi5SaWdodCkKLQkJCXNlbGYuQm90dG9tID0gbWlu
KGRpc3BIdCwgc2VsZi5Cb3R0b20pCi0JCQlpZiBzZWxmLkFwcGxpY2F0aW9uLlBsYXRmb3Jt
ID09ICJNYWMiOgotCQkJCSMgTmVlZCB0byBhY2NvdW50IGZvciB0aGUgbWVudSBiYXIKLQkJ
CQltaW5Ub3AgPSAyMwotCQkJZWxzZToKLQkJCQltaW5Ub3AgPSAwCi0JCQlzZWxmLkxlZnQg
PSBtYXgoMCwgc2VsZi5MZWZ0KQotCQkJc2VsZi5Ub3AgPSBtYXgobWluVG9wLCBzZWxmLlRv
cCkKLQorCQkJCiAJCQlzZWxmLnJlc3RvcmVkU1AgPSBUcnVlCiAKIAo=

--- StripMime Report -- processed MIME parts ---
multipart/mixed
  text/plain (text body -- kept)
  text/plain (text body -- kept)
---

_______________________________________________
Post Messages to: Dabo-users@leafe.com
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: http://leafe.com/archives/byMID/4982d50e.6080...@rz.onet.pl

Reply via email to