Author: DavidCzech
Date: 2008-02-27 23:04:17 -0500 (Wed, 27 Feb 2008)
New Revision: 1007

Modified:
   trunk/pysoy/src/_core/Window-w32.pxi
   trunk/pysoy/src/_core/soy._core.pxd
   trunk/pysoy/src/_core/support.c
   trunk/pysoy/src/_core/support.pxd
Log:
Minimize and Minimized for #233

Modified: trunk/pysoy/src/_core/Window-w32.pxi
===================================================================
--- trunk/pysoy/src/_core/Window-w32.pxi        2008-02-28 00:52:04 UTC (rev 
1006)
+++ trunk/pysoy/src/_core/Window-w32.pxi        2008-02-28 04:04:17 UTC (rev 
1007)
@@ -30,7 +30,7 @@
 
 from support cimport register_class, unregister_class, make_window, \
   set_window_pos, get_window_pos, set_window_size, get_window_size, \
-  set_pixel_format
+  set_pixel_format, minimize, maximize
 
 cdef class Window :
   '''Window Class
@@ -70,7 +70,7 @@
     self._opened = 0
     self._registerClass()
     self._request_create(position[0], position[1], size[0], size[1])
-
+    self._minimized =1
   def __dealloc__(self) :
     # Delete the window here
     self._request_destroy()
@@ -80,6 +80,12 @@
     if not _windows.current:
       self._unregisterClass()
     _windows.unlock()
+  def minimize ( self ) :
+    
+    if self._minimized == 1:
+      self._minimized=minimize(self._window)
+    elif self._minimized == 0:
+      self._minimized =maximize(self._window)
 
   cdef void _request_destroy(self):
     cdef int i
@@ -320,4 +326,11 @@
     if report == [] : return '<Empty Window>'
     else : return '<Window with %s>' % ', '.join(report)
 # vim: sts=2:sw=2:et
-  
+  property minimized :
+    def __get__(self) :
+      return bool(not(self._minimized))
+    def __set__(self,value) :
+      if value:
+        self._minimized=minimize(self._window)
+      elif not value:
+        self._minimized=maximize(self._window)

Modified: trunk/pysoy/src/_core/soy._core.pxd
===================================================================
--- trunk/pysoy/src/_core/soy._core.pxd 2008-02-28 00:52:04 UTC (rev 1006)
+++ trunk/pysoy/src/_core/soy._core.pxd 2008-02-28 04:04:17 UTC (rev 1007)
@@ -75,6 +75,7 @@
     cdef void                      _request_destroy(self)
     cdef void                      _registerClass(self)
     cdef void                      _unregisterClass(self)
+    cdef int                       _minimized
   ELSE :
     # X11/GLX platform
     cdef glx.Window                _windowID

Modified: trunk/pysoy/src/_core/support.c
===================================================================
--- trunk/pysoy/src/_core/support.c     2008-02-28 00:52:04 UTC (rev 1006)
+++ trunk/pysoy/src/_core/support.c     2008-02-28 04:04:17 UTC (rev 1007)
@@ -186,3 +186,11 @@
     *height = mode.dmPelsHeight;
     *depth = mode.dmBitsPerPel;
 }
+int minimize ( HWND window ) {
+    ShowWindow(window,SW_MINIMIZE);
+     return (int) 0;
+}
+int maximize ( HWND window ) {
+    ShowWindow(window,SW_RESTORE);
+    return (int) 1;
+}

Modified: trunk/pysoy/src/_core/support.pxd
===================================================================
--- trunk/pysoy/src/_core/support.pxd   2008-02-28 00:52:04 UTC (rev 1006)
+++ trunk/pysoy/src/_core/support.pxd   2008-02-28 04:04:17 UTC (rev 1007)
@@ -30,3 +30,5 @@
   cdef windows.BOOL get_window_size(windows.HWND window, int* width, int* 
height)
   #cdef windows.HDC get_display_hdc()
   cdef void get_screen_info(int* width, int* height, int* depth)
+  cdef int minimize ( windows.HWND window )
+  cdef int maximize ( windows.HWND window )

_______________________________________________
PySoy-SVN mailing list
PySoy-SVN@pysoy.org
http://www.pysoy.org/mailman/listinfo/pysoy-svn

Reply via email to