[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/forms/src/uidrivers/win32 ErrorHandler.py ...
From: |
Bajusz Tamás |
Subject: |
gnue/forms/src/uidrivers/win32 ErrorHandler.py ... |
Date: |
Thu, 08 May 2003 16:14:08 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Bajusz Tamás <address@hidden> 03/05/08 16:14:08
Modified files:
forms/src/uidrivers/win32: ErrorHandler.py GFwin32App.py
MenuBar.py TODO ToolBar.py
UILoginHandler.py UIdriver.py
common.py
forms/src/uidrivers/win32/widgets: _base.py box.py button.py
entry.py image.py label.py
page.py
forms/src/uidrivers/win32/widgets/form: widget.py wrappers.py
Log message:
* center dialogs
* cleanup
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/ErrorHandler.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/GFwin32App.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/MenuBar.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/TODO.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/ToolBar.py.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/UILoginHandler.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/UIdriver.py.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/common.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/_base.py.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/box.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/button.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/entry.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/image.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/label.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/page.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/form/widget.py.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
Patches:
Index: gnue/forms/src/uidrivers/win32/ErrorHandler.py
diff -c gnue/forms/src/uidrivers/win32/ErrorHandler.py:1.1
gnue/forms/src/uidrivers/win32/ErrorHandler.py:1.2
*** gnue/forms/src/uidrivers/win32/ErrorHandler.py:1.1 Thu May 1 08:58:18 2003
--- gnue/forms/src/uidrivers/win32/ErrorHandler.py Thu May 8 16:14:07 2003
***************
*** 19,28 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # UIwxpython.py
#
# DESCRIPTION:
! # A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
--- 19,28 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/ErrorHandler.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
Index: gnue/forms/src/uidrivers/win32/GFwin32App.py
diff -c gnue/forms/src/uidrivers/win32/GFwin32App.py:1.3
gnue/forms/src/uidrivers/win32/GFwin32App.py:1.4
*** gnue/forms/src/uidrivers/win32/GFwin32App.py:1.3 Tue Apr 15 18:21:03 2003
--- gnue/forms/src/uidrivers/win32/GFwin32App.py Thu May 8 16:14:07 2003
***************
*** 1,3 ****
--- 1,32 ----
+ #
+ # This file is part of GNU Enterprise.
+ #
+ # GNU Enterprise is free software; you can redistribute it
+ # and/or modify it under the terms of the GNU General Public
+ # License as published by the Free Software Foundation; either
+ # version 2, or (at your option) any later version.
+ #
+ # GNU Enterprise is distributed in the hope that it will be
+ # useful, but WITHOUT ANY WARRANTY; without even the implied
+ # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ # PURPOSE. See the GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public
+ # License along with program; see the file COPYING. If not,
+ # write to the Free Software Foundation, Inc., 59 Temple Place
+ # - Suite 330, Boston, MA 02111-1307, USA.
+ #
+ # Copyright 2000-2003 Free Software Foundation
+ #
+ # FILE:
+ # win32/GFwin32App.py
+ #
+ # DESCRIPTION:
+ # A PyWin32 based user interface driver for GNUe forms.
+ #
+ # NOTES:
+ #
+
import win32gui, win32con
from gnue.common.apps import GDebug
Index: gnue/forms/src/uidrivers/win32/MenuBar.py
diff -c gnue/forms/src/uidrivers/win32/MenuBar.py:1.5
gnue/forms/src/uidrivers/win32/MenuBar.py:1.6
*** gnue/forms/src/uidrivers/win32/MenuBar.py:1.5 Sun Apr 27 17:04:30 2003
--- gnue/forms/src/uidrivers/win32/MenuBar.py Thu May 8 16:14:07 2003
***************
*** 19,28 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # wx/MenuBar.py
#
# DESCRIPTION:
! # A generic UIdriver base for common message-based GUI toolkits.
#
# NOTES:
#
--- 19,28 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/MenuBar.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
Index: gnue/forms/src/uidrivers/win32/TODO
diff -c gnue/forms/src/uidrivers/win32/TODO:1.2
gnue/forms/src/uidrivers/win32/TODO:1.3
*** gnue/forms/src/uidrivers/win32/TODO:1.2 Thu May 1 08:58:18 2003
--- gnue/forms/src/uidrivers/win32/TODO Thu May 8 16:14:07 2003
***************
*** 1,10 ****
! * image widget
* scrollbar widget
* splash screen
! * cut/copy/paste support
* textencoding support
* handle key events when no entry in focus
- * refresh dropdown when foreign key changes
* multi-line edit CR/LF issues
* remove all hardcoded positioning/sizeing
--- 1,9 ----
! * scrollable windows for image widgets
* scrollbar widget
* splash screen
! * cut/copy/paste/select all support with Ctrl-X/C/V/A
* textencoding support
* handle key events when no entry in focus
* multi-line edit CR/LF issues
* remove all hardcoded positioning/sizeing
Index: gnue/forms/src/uidrivers/win32/ToolBar.py
diff -c gnue/forms/src/uidrivers/win32/ToolBar.py:1.12
gnue/forms/src/uidrivers/win32/ToolBar.py:1.13
*** gnue/forms/src/uidrivers/win32/ToolBar.py:1.12 Mon Apr 28 18:06:18 2003
--- gnue/forms/src/uidrivers/win32/ToolBar.py Thu May 8 16:14:07 2003
***************
*** 19,28 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # wx/ToolBar.py
#
# DESCRIPTION:
! # A generic UIdriver base for common message-based GUI toolkits.
#
# NOTES:
#
--- 19,28 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/ToolBar.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
Index: gnue/forms/src/uidrivers/win32/UILoginHandler.py
diff -c gnue/forms/src/uidrivers/win32/UILoginHandler.py:1.3
gnue/forms/src/uidrivers/win32/UILoginHandler.py:1.4
*** gnue/forms/src/uidrivers/win32/UILoginHandler.py:1.3 Thu May 1
05:04:30 2003
--- gnue/forms/src/uidrivers/win32/UILoginHandler.py Thu May 8 16:14:07 2003
***************
*** 19,28 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # UIwxpython.py
#
# DESCRIPTION:
! # A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
--- 19,28 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/UILoginHandler.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
***************
*** 32,38 ****
from gnue.common.datasources import GLoginHandler
from gnue.common.apps import GConfig
! from gnue.forms.uidrivers.win32.common import getNextId
g_registeredClass = 0
--- 32,38 ----
from gnue.common.datasources import GLoginHandler
from gnue.common.apps import GConfig
! from gnue.forms.uidrivers.win32.common import getNextId, centerWindow
g_registeredClass = 0
***************
*** 84,90 ****
}
dlgClassName = self._RegisterWndClass()
! style = win32con.WS_POPUP | win32con.WS_VISIBLE | win32con.WS_CAPTION |
win32con.DS_SETFONT | win32con.WS_SYSMENU
cs = win32con.WS_CHILD | win32con.WS_VISIBLE
title = _("GNU Enterprise: Login to %s") % loginData[0]
--- 84,92 ----
}
dlgClassName = self._RegisterWndClass()
! style = win32con.WS_POPUP | win32con.WS_VISIBLE | win32con.WS_CAPTION |
\
! win32con.DS_SETFONT | win32con.WS_SYSMENU
!
cs = win32con.WS_CHILD | win32con.WS_VISIBLE
title = _("GNU Enterprise: Login to %s") % loginData[0]
***************
*** 165,176 ****
bmCtrl = win32gui.GetDlgItem(self.hwnd, self.ID_BITMAP)
win32gui.SendMessage(bmCtrl, win32con.STM_SETIMAGE,
win32con.IMAGE_BITMAP, self._bmp)
! # centre the dialog
! desktop = win32gui.GetDesktopWindow()
! l,t,r,b = win32gui.GetWindowRect(hwnd)
! dt_l, dt_t, dt_r, dt_b = win32gui.GetWindowRect(desktop)
! centre_x, centre_y = win32gui.ClientToScreen( desktop, (
(dt_r-dt_l)/2, (dt_b-dt_t)/2) )
! win32gui.MoveWindow(hwnd, centre_x-(r/2), centre_y-(b/2), r-l, b-t, 0)
def OnClose(self, hwnd, msg, wparam, lparam):
win32gui.EndDialog(hwnd, 0)
--- 167,174 ----
bmCtrl = win32gui.GetDlgItem(self.hwnd, self.ID_BITMAP)
win32gui.SendMessage(bmCtrl, win32con.STM_SETIMAGE,
win32con.IMAGE_BITMAP, self._bmp)
! # center the dialog
! centerWindow(hwnd)
def OnClose(self, hwnd, msg, wparam, lparam):
win32gui.EndDialog(hwnd, 0)
***************
*** 180,186 ****
id = win32api.LOWORD(wparam)
if id == self.ID_Login:
for i in range(0, len(self._loginData[2])):
! self._rv[self._loginData[2][i][0]] =
win32gui.GetWindowText(win32gui.GetDlgItem(self.hwnd, self.textctrlList[i]))
self._completed = 1
win32gui.EndDialog(hwnd, 0)
elif id == self.ID_Cancel:
--- 178,185 ----
id = win32api.LOWORD(wparam)
if id == self.ID_Login:
for i in range(0, len(self._loginData[2])):
! dlgItem = win32gui.GetDlgItem(self.hwnd, self.textctrlList[i])
! self._rv[self._loginData[2][i][0]] =
win32gui.GetWindowText(dlgItem)
self._completed = 1
win32gui.EndDialog(hwnd, 0)
elif id == self.ID_Cancel:
Index: gnue/forms/src/uidrivers/win32/UIdriver.py
diff -c gnue/forms/src/uidrivers/win32/UIdriver.py:1.13
gnue/forms/src/uidrivers/win32/UIdriver.py:1.14
*** gnue/forms/src/uidrivers/win32/UIdriver.py:1.13 Tue May 6 17:29:02 2003
--- gnue/forms/src/uidrivers/win32/UIdriver.py Thu May 8 16:14:07 2003
***************
*** 19,31 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # UIwxpython.py
#
# DESCRIPTION:
! # A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
import sys
import string
--- 19,32 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/UIdriver.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
+
import sys
import string
***************
*** 43,49 ****
from gnue.forms.uidrivers.win32.GFwin32App import *
#from gnue.forms.uidrivers.wx.UIWXSplashScreen import *
from gnue.forms.uidrivers.win32.widgets._base import *
! from gnue.forms.uidrivers.win32.common import _eventObjToWin32Window,
setWidgetBaseFont
def OnWMMenuselect(hwnd, msg, wParam, lParam, widget):
--- 44,50 ----
from gnue.forms.uidrivers.win32.GFwin32App import *
#from gnue.forms.uidrivers.wx.UIWXSplashScreen import *
from gnue.forms.uidrivers.win32.widgets._base import *
! from gnue.forms.uidrivers.win32.common import setWidgetBaseFont
def OnWMMenuselect(hwnd, msg, wParam, lParam, widget):
***************
*** 288,293 ****
if event.CanVeto():
self.dispatchEvent('requestEXIT',_form=self._form)
else:
! object = _eventObjToWin32Window(event)
! object.Destroy()
# wxExit() TODO: Try and work this into navigator or here if it still
hangs
--- 289,293 ----
if event.CanVeto():
self.dispatchEvent('requestEXIT',_form=self._form)
else:
! event.Destroy()
# wxExit() TODO: Try and work this into navigator or here if it still
hangs
Index: gnue/forms/src/uidrivers/win32/common.py
diff -c gnue/forms/src/uidrivers/win32/common.py:1.6
gnue/forms/src/uidrivers/win32/common.py:1.7
*** gnue/forms/src/uidrivers/win32/common.py:1.6 Sun Mar 16 18:57:28 2003
--- gnue/forms/src/uidrivers/win32/common.py Thu May 8 16:14:07 2003
***************
*** 1,3 ****
--- 1,32 ----
+ #
+ # This file is part of GNU Enterprise.
+ #
+ # GNU Enterprise is free software; you can redistribute it
+ # and/or modify it under the terms of the GNU General Public
+ # License as published by the Free Software Foundation; either
+ # version 2, or (at your option) any later version.
+ #
+ # GNU Enterprise is distributed in the hope that it will be
+ # useful, but WITHOUT ANY WARRANTY; without even the implied
+ # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ # PURPOSE. See the GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public
+ # License along with program; see the file COPYING. If not,
+ # write to the Free Software Foundation, Inc., 59 Temple Place
+ # - Suite 330, Boston, MA 02111-1307, USA.
+ #
+ # Copyright 2000-2003 Free Software Foundation
+ #
+ # FILE:
+ # win32/common.py
+ #
+ # DESCRIPTION:
+ # A PyWin32 based user interface driver for GNUe forms.
+ #
+ # NOTES:
+ #
+
import string
import win32gui, win32con, win32ui
from win32con import *
***************
*** 36,50 ****
_idPos += 1
return _idPos
-
-
- # hack for wxPython 2.2 (2.3+ doesn't need this)
- def _eventObjToWin32Window(event):
- #FIX# eo = event.GetEventObject()
- #FIX# return wxPyTypeCast(eo, 'wxWindow')
- return event
-
-
#
# Little global helper routine to set font according to options
#
--- 65,70 ----
***************
*** 61,222 ****
global _font
_font = font
!
! #####################################################################
! ##
! ## Basic Event Processing
! ##
! #####################################################################
!
! def _setDefaultEventHandlers(newWidget, eventHandler, initialize, uiDriver):
! if initialize:
! pass
! # TODO: this should use one instance
! #FIX#
newWidget.PushEventHandler(mouseEvtHandler(eventHandler,uiDriver))
! #FIX#
newWidget.PushEventHandler(keyboardEvtHandler(eventHandler,uiDriver))
! pass
!
! #FIX#class uiBaseEvtHandler(wxEvtHandler):
! #FIX# def __init__(self,eventList,eventProcessor, uiDriver):
! #FIX# wxEvtHandler.__init__(self)
! #FIX# self._eventProcessor = eventProcessor
! #FIX# self._uiDriver = uiDriver
! #FIX# for eventType in eventList:
! #FIX# self.Connect(-1, -1, eventType,self._processEvent)
!
!
! #FIX# def _processEvent(self,event):
! #FIX# GDebug.printMesg(0,"uiBaseEvtHandler _processEvent was
called?!?")
!
! #
! # mouseEvtHandler
! #
! # Traps most mouse events and translates them into
! # GNUe events passed back to the form
! #
! #FIX#class mouseEvtHandler(uiBaseEvtHandler):
! #FIX# def __init__(self,eventProcessor, uiDriver):
! #FIX# eventList = [wxEVT_LEFT_DOWN]
! #FIX# uiBaseEvtHandler.__init__(self, eventList, eventProcessor, uiDriver)
!
! #
! # The putzing about with the event timestamp is to
! # allow us to process mouse click events twice.
! # The mouse handler is called before the cursor
! # position is updated so GetInsertionPoint returns
! # the position from the widget losing focus.
! # setting the timestamp to zero is a flag to prevent
! # infinate loops and allow us to avoid process that does
! # not need done twice.
!
! #FIX# def _processEvent(self,event):
! #FIX# object = _eventObjTowxWindow(event)
! #FIX#
! #FIX# id = object.GetId()
! #FIX# gfObject = self._uiDriver._IdToGFObj[id]
! #FIX# screenWidget = self._uiDriver._IdToQtObj[id]
! #FIX# count =
self._uiDriver._IdToUIObj[id].widgets.index(screenWidget)
! #FIX#
! #FIX# if event.GetTimestamp():
! #FIX# self._eventProcessor('requestFOCUS',gfObject,_form=gfObject._form)
! #FIX# self._eventProcessor('requestJUMPRECORD',count -
gfObject._visibleIndex,_form=gfObject._form)
! #FIX#
! #FIX# if isinstance(screenWidget,wxTextCtrl):
! #FIX# event.SetTimestamp(0)
! #FIX# self.AddPendingEvent(event)
! #FIX#
! #FIX# else:
! #FIX# textObject= wxPyTypeCast(object, 'wxTextCtrl')
! #FIX# cursorPosition = textObject.GetInsertionPoint()
! #FIX#
self._eventProcessor('requestCURSORMOVE',position=cursorPosition,_form=gfObject._form)
! #FIX#
! #FIX# event.Skip()
!
!
! #
! # keyboardEvtHandler
! #
! # Traps most keypress events and translates them into
! # GNUe events passed back to the form
! #
! # Note: wxEVT_KEY_DOWN event seems to only return uppercase chars so
! # i don't trap it.
! #
!
! #FIX#class keyboardEvtHandler(uiBaseEvtHandler):
! #FIX# def __init__(self, eventProcessor, uiDriver):
! #FIX# eventList = [wxEVT_CHAR]
! #FIX# uiBaseEvtHandler.__init__(self, eventList, eventProcessor, uiDriver)
! #FIX#
! #FIX# def _processEvent(self,event):
! #FIX# action = None
! #FIX# # hack for swig shortcomming needed by wxPython 2.2.x (2.3 does not
need this)
! #FIX# # compute the location of the character in the widget
! #FIX# object =
self._uiDriver._IdToGFObj[_eventObjTowxWindow(event).GetId()]
! #FIX#
! #FIX# keycode = event.KeyCode()
! #FIX#
! #FIX# #
! #FIX# # Sigh... a hack for using <enter> in multiline entries
! #FIX# #
! #FIX# if keycode == 13 and \
! #FIX# not event.ShiftDown() and \
! #FIX# not event.ControlDown() and \
! #FIX# not event.AltDown() and \
! #FIX# int (gConfigForms('enterIsNewLine')) and \
! #FIX# (hasattr(object,'Char__height') and object.Char__height) > 1:
! #FIX#
! #FIX# command = 'NEWLINE'
! #FIX#
! #FIX# else:
! #FIX#
! #FIX#
! #FIX# #
! #FIX# # Get the event to process from the KeyMapper
! #FIX# #
! #FIX# command = GFKeyMapper.KeyMapper.getEvent(
! #FIX# keycode,
! #FIX# event.ShiftDown(),
! #FIX# event.ControlDown(),
! #FIX# event.AltDown())
! #FIX#
! #FIX# if command == 'JUMPRECORD':
! #FIX# global _PROMPTFORRECORD
! #FIX# action = _PROMPTFORRECORD()
! #FIX#
! #FIX# elif command == 'NEWLINE':
! #FIX# action = events.Event('requestKEYPRESS', '\n',
! #FIX# text='\n',
! #FIX# code=10)
! #FIX#
! #FIX# elif command:
! #FIX# action = events.Event('request%s' % command)
! #FIX#
! #FIX# elif object._type == 'GFButton':
! #FIX# action = events.Event('buttonActivated',object)
! #FIX#
! #FIX# elif object.style == 'checkbox' and object._type == 'GFEntry':
! #FIX# # <space> <=> <click>
! #FIX# if keycode == 32:
! #FIX# action = events.Event('requestTOGGLECHKBOX')
! #FIX# else:
! #FIX# # maybe some background error message here
! #FIX# pass
! #FIX# else:
! #FIX# try:
! #FIX# char = chr(keycode)
! #FIX# if char in string.printable or char == "\n" or \
! #FIX# 128 <= keycode <= 255:
! #FIX# action = events.Event('requestKEYPRESS', char,
! #FIX# text=char,
! #FIX# code=keycode)
! #FIX# except ValueError:
! #FIX# pass
! #FIX#
! #FIX# if action:
! #FIX# # Add the object's _form to the outgoing event
! #FIX# # rather than every event in the function
! #FIX# action.__dict__.update({'_form':object._form})
! #FIX# self._eventProcessor(action)
!
!
--- 81,89 ----
global _font
_font = font
! def centerWindow(hwnd):
! desktop = win32gui.GetDesktopWindow()
! l,t,r,b = win32gui.GetWindowRect(hwnd)
! dt_l, dt_t, dt_r, dt_b = win32gui.GetWindowRect(desktop)
! center_x, center_y = win32gui.ClientToScreen( desktop, ( (dt_r-dt_l)/2,
(dt_b-dt_t)/2) )
! win32gui.MoveWindow(hwnd, center_x-(r/2), center_y-(b/2), r-l, b-t, 0)
Index: gnue/forms/src/uidrivers/win32/widgets/_base.py
diff -c gnue/forms/src/uidrivers/win32/widgets/_base.py:1.16
gnue/forms/src/uidrivers/win32/widgets/_base.py:1.17
*** gnue/forms/src/uidrivers/win32/widgets/_base.py:1.16 Mon May 5
08:20:33 2003
--- gnue/forms/src/uidrivers/win32/widgets/_base.py Thu May 8 16:14:07 2003
***************
*** 19,28 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # UIwxpython.py
#
# DESCRIPTION:
! # A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
--- 19,28 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/widgets/_base.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
Index: gnue/forms/src/uidrivers/win32/widgets/box.py
diff -c gnue/forms/src/uidrivers/win32/widgets/box.py:1.4
gnue/forms/src/uidrivers/win32/widgets/box.py:1.5
*** gnue/forms/src/uidrivers/win32/widgets/box.py:1.4 Thu Mar 13 16:20:32 2003
--- gnue/forms/src/uidrivers/win32/widgets/box.py Thu May 8 16:14:07 2003
***************
*** 19,28 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # UIwxpython.py
#
# DESCRIPTION:
! # A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
--- 19,28 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/widgets/box.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
Index: gnue/forms/src/uidrivers/win32/widgets/button.py
diff -c gnue/forms/src/uidrivers/win32/widgets/button.py:1.5
gnue/forms/src/uidrivers/win32/widgets/button.py:1.6
*** gnue/forms/src/uidrivers/win32/widgets/button.py:1.5 Tue May 6
17:29:03 2003
--- gnue/forms/src/uidrivers/win32/widgets/button.py Thu May 8 16:14:07 2003
***************
*** 19,28 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # UIwxpython.py
#
# DESCRIPTION:
! # A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
--- 19,28 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/widgets/button.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
***************
*** 31,37 ****
from gnue.common import events
from gnue.forms.uidrivers.win32.widgets._base import UIHelper, Win32Button
! from gnue.forms.uidrivers.win32.common import _setDefaultEventHandlers,
getNextId
#
# UIButton
--- 31,37 ----
from gnue.common import events
from gnue.forms.uidrivers.win32.widgets._base import UIHelper, Win32Button
! from gnue.forms.uidrivers.win32.common import getNextId
#
# UIButton
***************
*** 52,64 ****
if event.initialize:
self._eventHandler = event.eventHandler
event.container.Connect(newWidget.GetId(), self.buttonHandler)
- _setDefaultEventHandlers(newWidget, event.eventHandler,
event.initialize, self._uiDriver)
return newWidget
- # def buttonHandler(self,event):
def buttonHandler(self, id):
- #print "in buttonHandler id=", id
action = None
gfObject = self._uiDriver._IdToGFObj[id]
action = events.Event('buttonActivated',gfObject)
--- 52,61 ----
Index: gnue/forms/src/uidrivers/win32/widgets/entry.py
diff -c gnue/forms/src/uidrivers/win32/widgets/entry.py:1.7
gnue/forms/src/uidrivers/win32/widgets/entry.py:1.8
*** gnue/forms/src/uidrivers/win32/widgets/entry.py:1.7 Tue May 6 17:29:03 2003
--- gnue/forms/src/uidrivers/win32/widgets/entry.py Thu May 8 16:14:07 2003
***************
*** 19,28 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # UIwxpython.py
#
# DESCRIPTION:
! # A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
--- 19,28 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/widgets/entry.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
***************
*** 31,37 ****
from gnue.common import events
from gnue.forms.uidrivers.win32.widgets._base import UIHelper, Win32Entry
! from gnue.forms.uidrivers.win32.common import _setDefaultEventHandlers,
getNextId
#
# UIEntry
--- 31,37 ----
from gnue.common import events
from gnue.forms.uidrivers.win32.widgets._base import UIHelper, Win32Entry
! from gnue.forms.uidrivers.win32.common import getNextId
#
# UIEntry
***************
*** 95,102 ****
newWidget.SetValue("")
self._eventHandler = event.eventHandler
- if event.initialize:
- _setDefaultEventHandlers(newWidget, event.eventHandler,
event.initialize,self._uiDriver)
return newWidget
--- 95,100 ----
Index: gnue/forms/src/uidrivers/win32/widgets/form/widget.py
diff -c gnue/forms/src/uidrivers/win32/widgets/form/widget.py:1.14
gnue/forms/src/uidrivers/win32/widgets/form/widget.py:1.15
*** gnue/forms/src/uidrivers/win32/widgets/form/widget.py:1.14 Tue May 6
17:29:03 2003
--- gnue/forms/src/uidrivers/win32/widgets/form/widget.py Thu May 8
16:14:07 2003
***************
*** 19,28 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # UIwxpython.py
#
# DESCRIPTION:
! # A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
--- 19,28 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/widgets/form/widget.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
***************
*** 70,76 ****
buttonbarWidth = 0
else:
# TODO: calculate
! buttonbarWidth = 12*(24+8)
if self._form.style == 'dialog':
style = win32con.WS_POPUP | win32con.WS_CAPTION |
win32con.WS_CLIPCHILDREN | win32con.WS_SYSMENU #| win32con.WS_OVERLAPPED
--- 70,76 ----
buttonbarWidth = 0
else:
# TODO: calculate
! buttonbarWidth = 12*(24+8) + 4*6 #buttons and separators
if self._form.style == 'dialog':
style = win32con.WS_POPUP | win32con.WS_CAPTION |
win32con.WS_CLIPCHILDREN | win32con.WS_SYSMENU #| win32con.WS_OVERLAPPED
***************
*** 82,88 ****
max(formWidth*self._uiDriver.widgetWidth+10, buttonbarWidth)+6, # at
least buttonbar width
formHeight*self._uiDriver.widgetHeight+110+20, # TODO: calculate space
for buttonbar and statusbar and maybe for tabs
0)
!
# The window in which pages will be rendered
if object._layout.tabbed:
self._wrapper = wrappers.TabbedWrapper(self)
--- 82,91 ----
max(formWidth*self._uiDriver.widgetWidth+10, buttonbarWidth)+6, # at
least buttonbar width
formHeight*self._uiDriver.widgetHeight+110+20, # TODO: calculate space
for buttonbar and statusbar and maybe for tabs
0)
!
! if self._form.style == 'dialog':
! centerWindow(self.mainWindow.GetHwnd())
!
# The window in which pages will be rendered
if object._layout.tabbed:
self._wrapper = wrappers.TabbedWrapper(self)
***************
*** 120,145 ****
return newWidget
-
- #
- # closeTrap
- #
- # intercepts the applications closure and generates an event to the form
requesting
- # closure. Allows the form to control closure. If the form approves it'll
send
- # back an event closing the application
- #`
- # def closeTrap(self,event):
- # pass
- # form = self._form
- #
- # if event.CanVeto():
- # self._uiDriver.dispatchEvent('requestEXIT',_form=self._form)
- # else:
- # object = _eventObjToWin32Window(event)
- # object.Destroy()
- # # wxExit() TODO: Try and work this into navigator or here if it still
hangs
-
-
#
# gotoPage
#
--- 123,128 ----
***************
*** 174,197 ****
win32gui.SendMessage(self.statusBar.GetHwnd(), commctrl.SB_SETTEXT, 4,
string.strip("%s/%s" % (currentPage,maxPage)))
return
- #
- # Adjust the status fields to reflect width of text in them
- #
- # This is a hack
- #
- # tipWidth = -1 # Fill whatever remains
- # statusWidth,unused =
self.statusBar.GetTextExtent(self.statusBar.GetStatusText(1))
- # insertWidth,unused =
self.statusBar.GetTextExtent(self.statusBar.GetStatusText(2))
- # recordWidth,unused =
self.statusBar.GetTextExtent(self.statusBar.GetStatusText(3))
- # pageWidth,unused =
self.statusBar.GetTextExtent(self.statusBar.GetStatusText(4))
-
- # Either double the width if it's set or default to 5
- # statusWidth = statusWidth and (statusWidth * 2) or 5
- # insertWidth = insertWidth and (insertWidth * 2) or 5
- # recordWidth = recordWidth and (recordWidth * 2) or 5
- # pageWidth = pageWidth and (pageWidth * 2) or 5
-
- #
self.statusBar.SetStatusWidths([tipWidth,statusWidth,insertWidth,recordWidth,pageWidth])
def show(self):
self.mainWindow.Show()
--- 157,162 ----
Index: gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py
diff -c gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py:1.6
gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py:1.7
*** gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py:1.6 Tue Apr 15
18:21:04 2003
--- gnue/forms/src/uidrivers/win32/widgets/form/wrappers.py Thu May 8
16:14:08 2003
***************
*** 19,28 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # UIwxpython.py
#
# DESCRIPTION:
! # A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
--- 19,28 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/widgets/form/wrappers.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
***************
*** 56,66 ****
formHeight*uiform._uiDriver.widgetHeight+24, # TODO
frame)
- # EVT_SIZE(self.frame, self.OnFrameSize)
- ## formWidth = int(form._layout.Char__width)
- ## formHeight = int(form._layout.Char__height)
- ## self.layoutSize = wxSize(formWidth*uiform._uiDriver.widgetWidth,
- ## formHeight*uiform._uiDriver.widgetHeight)
self._fitted = 0
self._pageList = []
--- 56,61 ----
***************
*** 68,93 ****
def finalize(self):
# This is the initial panel window setup during init
# not a wxPanel set per page right after this
- ## self.SetVirtualSize(self.pane.GetSize())
- ## tempx,tempy = self.pane.GetSizeTuple()
self.sw.Show()
- ## self.fixScrollbars()
def OnFrameSize(self, event):
pass
- # self.SetSize(self.frame.GetClientSize())
- # self.fixScrollbars()
def fixScrollbars(self):
pass
- # x1, y1 = self.frame.GetClientSizeTuple()
- # x2, y2 = self.pane.GetSizeTuple()
- # if x1 < x2 or y1 < y2:
- # self.SetScrollbars(5, 5, x2, y2)
- # else:
- # self.SetScrollbars(0, 0, 0, 0)
-
#
--- 63,76 ----
***************
*** 109,128 ****
self.sw, getNextId(), hinst)
self.pane.Show()
- # pass
- # ScrollableWrapper.__init__(self, *args, **parms)
- # tabstyle = _tabStyles[self.form._layout.tabbed]
- # self.pane = notebook = wxNotebook(self,-1, #wxPoint(6,6),
- # style=tabstyle)
- # self.notebooksizer = sizer1 = wxNotebookSizer(notebook)
- # sizer2 = wxBoxSizer(wxVERTICAL)
- # sizer2.Add(self.notebooksizer)
- # self.frame.SetAutoLayout(1)
- # self.SetSizer(sizer2)
-
- # notebook.Show()
- # self.__notebookLoopTrap = 0
- # EVT_NOTEBOOK_PAGE_CHANGING(notebook, notebook.GetId(),
self.notebookTabHandler)
def createPage(self, object):
pszText = hasattr(object,'caption') and object.caption or object.name
--- 92,97 ----
***************
*** 152,178 ****
self._pageList.append(newWidget)
self.fit()
return newWidget
- # pass
- # sizer = wxBoxSizer(wxVERTICAL)
- # newWidget = wxPanel(self.pane, -1, size=self.layoutSize)
- # sizer.Add(newWidget, 0, wxCENTER)
- # newWidget.SetAutoLayout(1)
- # newWidget.SetSizer(sizer)
-
- # self._pageList.append(newWidget)
- # self.pane.AddPage(newWidget,hasattr(object,'caption') and object.caption
or object.name)
- # self.pane.SetClientSize(self.layoutSize)
- # self.fit()
- # return newWidget
def fit(self):
if self._fitted: return
- # self.notebooksizer.Layout()
- # self.notebooksizer.SetSizeHints(self.pane)
- # self.SetClientSize(self.pane.GetSize())
- # self.SetClientSize(self.layoutSize)
- # self.SetSize(self.pane.GetSize())
- # self.frame.SetClientSize(self.GetSize())
self._fitted = 1
def setPage(self, page):
--- 121,129 ----
***************
*** 191,199 ****
#
class PlainWrapper(ScrollableWrapper):
def __init__(self, *args, **parms):
ScrollableWrapper.__init__(self, *args, **parms)
- # self.pane = wxPanel(self, -1, size=self.layoutSize)
- # self.pane.Show()
formWidth = int(self.form._layout.Char__width)
formHeight = int(self.form._layout.Char__height)
style = win32con.WS_OVERLAPPED | win32con.WS_CHILD #| win32con.WS_BORDER
--- 142,149 ----
#
class PlainWrapper(ScrollableWrapper):
def __init__(self, *args, **parms):
+
ScrollableWrapper.__init__(self, *args, **parms)
formWidth = int(self.form._layout.Char__width)
formHeight = int(self.form._layout.Char__height)
style = win32con.WS_OVERLAPPED | win32con.WS_CHILD #| win32con.WS_BORDER
***************
*** 208,214 ****
self.pane.Show()
def createPage(self, object):
- # newWidget = wxPanel(self.pane, -1, size=self.layoutSize)
formWidth = int(self.form._layout.Char__width)
formHeight = int(self.form._layout.Char__height)
--- 158,163 ----
***************
*** 234,244 ****
def fit(self):
if self._fitted: return
- ## self.pane.SetClientSize(self.layoutSize)
- ## self.pane.Fit()
- ## self.SetClientSize(self.pane.GetSize())
- ## self.SetSize(self.pane.GetSize())
- ## self.frame.Fit()
self._fitted = 1
def setPage(self, page):
--- 183,188 ----
***************
*** 247,255 ****
p.Hide()
else:
p.Show()
-
- #_tabStyles = {'left':wxNB_LEFT,
- # 'right':wxNB_RIGHT,
- # 'bottom':wxNB_BOTTOM,
- # 'top':0,
- # }
--- 191,193 ----
Index: gnue/forms/src/uidrivers/win32/widgets/image.py
diff -c gnue/forms/src/uidrivers/win32/widgets/image.py:1.1
gnue/forms/src/uidrivers/win32/widgets/image.py:1.2
*** gnue/forms/src/uidrivers/win32/widgets/image.py:1.1 Fri May 2 18:37:33 2003
--- gnue/forms/src/uidrivers/win32/widgets/image.py Thu May 8 16:14:07 2003
***************
*** 19,28 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # UIwxpython.py
#
# DESCRIPTION:
! # A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
--- 19,28 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/widgets/image.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
Index: gnue/forms/src/uidrivers/win32/widgets/label.py
diff -c gnue/forms/src/uidrivers/win32/widgets/label.py:1.4
gnue/forms/src/uidrivers/win32/widgets/label.py:1.5
*** gnue/forms/src/uidrivers/win32/widgets/label.py:1.4 Tue Apr 15 18:21:04 2003
--- gnue/forms/src/uidrivers/win32/widgets/label.py Thu May 8 16:14:07 2003
***************
*** 19,28 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # UIwxpython.py
#
# DESCRIPTION:
! # A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
--- 19,28 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/widgets/label.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
Index: gnue/forms/src/uidrivers/win32/widgets/page.py
diff -c gnue/forms/src/uidrivers/win32/widgets/page.py:1.2
gnue/forms/src/uidrivers/win32/widgets/page.py:1.3
*** gnue/forms/src/uidrivers/win32/widgets/page.py:1.2 Sun Mar 9 18:08:46 2003
--- gnue/forms/src/uidrivers/win32/widgets/page.py Thu May 8 16:14:07 2003
***************
*** 19,35 ****
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # UIwxpython.py
#
# DESCRIPTION:
! # A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
import win32gui, win32con
- from gnue.forms.uidrivers.win32.common import _setDefaultEventHandlers
from gnue.forms.uidrivers.win32.widgets._base import UIHelper
#
--- 19,34 ----
# Copyright 2000-2003 Free Software Foundation
#
# FILE:
! # win32/widgets/page.py
#
# DESCRIPTION:
! # A PyWin32 based user interface driver for GNUe forms.
#
# NOTES:
#
import win32gui, win32con
from gnue.forms.uidrivers.win32.widgets._base import UIHelper
#
***************
*** 45,51 ****
object = event.object
newWidget = self._uiForm._wrapper.createPage(object)
- _setDefaultEventHandlers(newWidget, event.eventHandler, event.initialize,
self._uiDriver)
self._containerToolkitWidget = newWidget
return newWidget
--- 44,49 ----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/forms/src/uidrivers/win32 ErrorHandler.py ...,
Bajusz Tamás <=