[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6037 - in trunk/gnue-forms/src/uidrivers: . html html/widgets html/widg
From: |
btami |
Subject: |
r6037 - in trunk/gnue-forms/src/uidrivers: . html html/widgets html/widgets/form |
Date: |
Fri, 23 Jul 2004 03:01:22 -0500 (CDT) |
Author: btami
Date: 2004-07-23 03:01:21 -0500 (Fri, 23 Jul 2004)
New Revision: 6037
Added:
trunk/gnue-forms/src/uidrivers/html/
trunk/gnue-forms/src/uidrivers/html/ErrorHandler.py
trunk/gnue-forms/src/uidrivers/html/GFhtmlApp.py
trunk/gnue-forms/src/uidrivers/html/MenuBar.py
trunk/gnue-forms/src/uidrivers/html/ToolBar.py
trunk/gnue-forms/src/uidrivers/html/UILoginHandler.py
trunk/gnue-forms/src/uidrivers/html/UIdriver.py
trunk/gnue-forms/src/uidrivers/html/__init__.py
trunk/gnue-forms/src/uidrivers/html/common.py
trunk/gnue-forms/src/uidrivers/html/widgets/
trunk/gnue-forms/src/uidrivers/html/widgets/__init__.py
trunk/gnue-forms/src/uidrivers/html/widgets/_base.py
trunk/gnue-forms/src/uidrivers/html/widgets/box.py
trunk/gnue-forms/src/uidrivers/html/widgets/button.py
trunk/gnue-forms/src/uidrivers/html/widgets/entry.py
trunk/gnue-forms/src/uidrivers/html/widgets/form/
trunk/gnue-forms/src/uidrivers/html/widgets/form/__init__.py
trunk/gnue-forms/src/uidrivers/html/widgets/form/widget.py
trunk/gnue-forms/src/uidrivers/html/widgets/form/wrappers.py
trunk/gnue-forms/src/uidrivers/html/widgets/image.py
trunk/gnue-forms/src/uidrivers/html/widgets/label.py
trunk/gnue-forms/src/uidrivers/html/widgets/page.py
Log:
started html ui
Added: trunk/gnue-forms/src/uidrivers/html/ErrorHandler.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/ErrorHandler.py 2004-07-23 07:58:30 UTC
(rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/ErrorHandler.py 2004-07-23 08:01:21 UTC
(rev 6037)
@@ -0,0 +1,12 @@
+import sys
+
+
+def handleStartupError(errortext):
+ print
+ print '-' * 60
+ print _("Error: %s") % errortext
+ print '-' * 60
+
+ print
+
+ sys.exit()
Added: trunk/gnue-forms/src/uidrivers/html/GFhtmlApp.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/GFhtmlApp.py 2004-07-23 07:58:30 UTC
(rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/GFhtmlApp.py 2004-07-23 08:01:21 UTC
(rev 6037)
@@ -0,0 +1,104 @@
+import sys, cgi
+from BaseHTTPServer import HTTPServer
+from SimpleHTTPServer import SimpleHTTPRequestHandler
+
+from gnue.common.apps import GDebug
+from gnue.common import events
+
+_htmlApp = None
+_dhtml = {}
+
+
+def gethtmlApp(uidriver):
+ global _htmlApp
+ if not _htmlApp:
+ _htmlApp = GFhtmlApp(uidriver)
+ return _htmlApp
+
+
+class GFhtmlApp:
+
+ _mainLoop= None
+ _MainWindowList = []
+
+ def __init__(self, uidriver):
+ self.uidriver = uidriver
+ global _dhtml
+ global _htmlApp
+ self._dhtml = _dhtml
+ self._htmlApp = _htmlApp
+
+ def MainLoop (self):
+ if self._mainLoop==None:
+ self._mainLoop= 1
+ print 'BaseHTTPServer started at http://www.127.0.0.1:8000'
+ server = HTTPServer(('',8000), GFRequestHandler)
+ server.serve_forever()
+
+
+class GFRequestHandler(SimpleHTTPRequestHandler):
+
+ def send_head(self):
+ self.send_response(200)
+ self.send_header("Content-Type", "text/html")
+ self.end_headers()
+
+ self.wfile.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
\
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">')
+
+ self.wfile.write('<html xmlns="http://www.w3.org/1999/xhtml">')
+ self.wfile.write('<body bgcolor="#EFEFEF" style="font-size: 18px;
font-family: courier"')
+ self.wfile.write('<form method="POST" action="http://127.0.0.1:8000">')
+ self.wfile.write(''.join([_dhtml[key] for key in _dhtml.keys()]))
+ self.wfile.write('</form></body></html>')
+
+
+ def do_POST(self):
+ fs = cgi.FieldStorage(fp=self.rfile,
+
headers={'content-length':int(self.headers["Content-Length"]),
+ 'content-disposition':'form-data'},
+ environ={'REQUEST_METHOD':'POST'})
+
+ actions = ['requestNEXTRECORD','requestPREVRECORD']
+
+ if not fs:
+ # get auth ?
+ pass
+ elif fs.has_key('requestCOMMIT'):
+
_htmlApp.uidriver._form._instance.dispatchEvent(events.Event('requestCOMMIT',_form=_htmlApp.uidriver._form))
+ elif fs.has_key('requestNEWRECORD'):
+
_htmlApp.uidriver._form._instance.dispatchEvent(events.Event('requestNEWRECORD',_form=_htmlApp.uidriver._form))
+ elif fs.has_key('requestMARKFORDELETE'):
+
_htmlApp.uidriver._form._instance.dispatchEvent(events.Event('requestMARKFORDELETE',_form=_htmlApp.uidriver._form))
+ elif fs.has_key('requestFIRSTRECORD'):
+
_htmlApp.uidriver._form._instance.dispatchEvent(events.Event('requestFIRSTRECORD',_form=_htmlApp.uidriver._form))
+ elif fs.has_key('requestPREVRECORD'):
+
_htmlApp.uidriver._form._instance.dispatchEvent(events.Event('requestPREVRECORD',_form=_htmlApp.uidriver._form))
+ elif fs.has_key('requestNEXTRECORD'):
+
_htmlApp.uidriver._form._instance.dispatchEvent(events.Event('requestNEXTRECORD',_form=_htmlApp.uidriver._form))
+ elif fs.has_key('requestLASTRECORD'):
+
_htmlApp.uidriver._form._instance.dispatchEvent(events.Event('requestLASTRECORD',_form=_htmlApp.uidriver._form))
+ elif fs.has_key('requestRECORDNUMBER'):
+
_htmlApp.uidriver._form._instance.dispatchEvent(events.Event('requestRECORDNUMBER',_form=_htmlApp.uidriver._form))
+ elif fs.has_key('requestENTERQUERY'):
+
_htmlApp.uidriver._form._instance.dispatchEvent(events.Event('requestENTERQUERY',_form=_htmlApp.uidriver._form))
+ elif fs.has_key('requestEXECQUERY'):
+
_htmlApp.uidriver._form._instance.dispatchEvent(events.Event('requestEXECQUERY',_form=_htmlApp.uidriver._form))
+ elif fs.has_key('requestROLLBACK'):
+
_htmlApp.uidriver._form._instance.dispatchEvent(events.Event('requestROLLBACK',_form=_htmlApp.uidriver._form))
+ elif fs.has_key('requestEXIT'):
+
_htmlApp.uidriver._form._instance.dispatchEvent(events.Event('requestEXIT',_form=_htmlApp.uidriver._form))
+
+
+ self.send_response(200)
+ self.send_header("Content-Type", "text/html")
+ self.end_headers()
+
+ self.wfile.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
\
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">')
+
+ self.wfile.write('<html xmlns="http://www.w3.org/1999/xhtml">')
+ self.wfile.write('<body bgcolor="#EFEFEF" style="font-size: 18px;
font-family: courier"')
+ self.wfile.write('<form method="POST" action="http://127.0.0.1:8000">')
+ self.wfile.write(''.join([_dhtml[key] for key in _dhtml.keys()]))
+ self.wfile.write('</form></body></html>')
Added: trunk/gnue-forms/src/uidrivers/html/MenuBar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/MenuBar.py 2004-07-23 07:58:30 UTC
(rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/MenuBar.py 2004-07-23 08:01:21 UTC
(rev 6037)
@@ -0,0 +1,29 @@
+from gnue.forms.uidrivers._commonGuiToolkit.MenuBar import MenuBar as
_BaseMenuBar
+from gnue.common.apps import GDebug
+
+class MenuBar(_BaseMenuBar):
+
+ # Create the menu
+ def init(self):
+ print 'MenuBar init'
+
+ # Add a (sub)menu
+ def addMenu(self, name, parent):
+ print 'addMenu'
+
+ # Add a menu item (action)
+ def addAction(self, name, parent, userAction):
+ print 'addAction'
+
+ # Add a separator
+ def addSeparator(self, parent):
+ print 'addSeparator'
+
+ # Enable a menu item
+ def enableItem(self, item):
+ print 'enableItem'
+
+ # Disable a menu item
+ def disableItem(self, item):
+ print 'disableItem'
+
Added: trunk/gnue-forms/src/uidrivers/html/ToolBar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/ToolBar.py 2004-07-23 07:58:30 UTC
(rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/ToolBar.py 2004-07-23 08:01:21 UTC
(rev 6037)
@@ -0,0 +1,62 @@
+from gnue.forms.uidrivers.html.widgets._base import HtmlWidget
+from gnue.forms.uidrivers.html.common import *
+from gnue.forms.uidrivers._commonGuiToolkit.ToolBar import ToolBar as
_BaseToolBar
+from gnue.common.apps import GDebug, GConfig
+from gnue.common import events
+
+
+class ToolBar(_BaseToolBar):
+
+ # Create the menu
+ def init(self):
+ dhtml = ''
+ self.toolbar = HtmlWidget(self.container, self.driver, 'TOOLBAR', dhtml,
getNextId())
+
+ # Add a menu item (action)
+ def addAction(self, name, userAction):
+ iconloc = userAction.getIconLocation(size="24x24")
+
+ # Set the action icon if available
+ if iconloc:
+ try:
+ # Some caching logic for faster second/third forms
+ icon = _cachedIcons[iconloc]
+ except KeyError:
+ icon = iconloc
+ _cachedIcons[iconloc] = icon
+ else:
+ print "** WARNING: Cannot add '%s' to toolbar; no icon" %
userAction.event
+ return
+
+ parent = self.toolbar
+ label = name
+
+ # Create an event binding in windows
+ id = getNextId()
+ event = 'request' + userAction.event
+ self.container.Connect(id, lambda l=self.driver, e=event, f=self.form:
l.dispatchEvent(events.Event(e,_form=f)))
+
+ dhtml = '<input type="IMAGE" name="%s" src="file://%s" value="%s" alt="%s"
/>' % (event, icon, event, label)
+ newwidget = HtmlWidget(self.container, self.driver, 'TOOLBAR', dhtml, id)
+
+ return (parent, id)
+
+ # Add a separator
+ def addSeparator(self):
+ pass
+
+ # Enable a menu item
+ def enableItem(self, item):
+ pass
+
+ # Disable a menu item
+ def disableItem(self, item):
+ pass
+
+ def startingItem(self, item):
+ pass
+
+ def endingItem(self, item):
+ pass
+
+_cachedIcons = {}
Added: trunk/gnue-forms/src/uidrivers/html/UILoginHandler.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/UILoginHandler.py 2004-07-23
07:58:30 UTC (rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/UILoginHandler.py 2004-07-23
08:01:21 UTC (rev 6037)
@@ -0,0 +1,12 @@
+from gnue.common.datasources import GLoginHandler
+from gnue.common.apps import GConfig
+
+
+#
+# UILoginHandler
+#
+class UILoginHandler(GLoginHandler.LoginHandler):
+ def __init__(self):
+ pass
+ def getLogin(self, loginData, errortext=None):#"Invalid username/password"):
+ pass
\ No newline at end of file
Added: trunk/gnue-forms/src/uidrivers/html/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/UIdriver.py 2004-07-23 07:58:30 UTC
(rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/UIdriver.py 2004-07-23 08:01:21 UTC
(rev 6037)
@@ -0,0 +1,41 @@
+import sys
+import string
+
+from gnue.forms.uidrivers._base import Exceptions
+
+from gnue.common import events
+from gnue.common.apps import GDebug
+from gnue.common.apps import GConfig
+
+from gnue.forms import VERSION
+from gnue.forms.GFForm import *
+from gnue.forms.uidrivers._commonGuiToolkit import UIdriver as commonToolkit
+
+from gnue.forms.uidrivers.html.GFhtmlApp import *
+
+
+class GFUserInterface(commonToolkit.GFUserInterface):
+
+ def initialize(self):
+
+ self._htmlapp = gethtmlApp(self)
+
+ self.textWidth = 12 # The pixel width of text inside a widget
+ self.textHeight = 24 # The pixel height of text inside a widget
+ self.widgetWidth = self.textWidth # The pixel width of a 1 char widget
(for things like buttons)
+ self.widgetHeight = self.textHeight + 5 # The pixel height of a 1 char
widget (for things like buttons)
+
+ def _exit(self,formName):
+ pass
+
+ def mainLoop(self):
+ self._htmlapp.MainLoop() # simply call the wxApp's MainLoop method
+
+ def formAlert(self, event):
+ pass
+
+ def beginWait (self, event):
+ pass
+
+ def endWait (self, event):
+ pass
Added: trunk/gnue-forms/src/uidrivers/html/__init__.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/__init__.py 2004-07-23 07:58:30 UTC
(rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/__init__.py 2004-07-23 08:01:21 UTC
(rev 6037)
@@ -0,0 +1,3 @@
+from UIdriver import GFUserInterface
+from UILoginHandler import *
+from ErrorHandler import handleStartupError
Added: trunk/gnue-forms/src/uidrivers/html/common.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/common.py 2004-07-23 07:58:30 UTC
(rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/common.py 2004-07-23 08:01:21 UTC
(rev 6037)
@@ -0,0 +1,27 @@
+import string
+from gnue.common import events
+from gnue.common.apps import GConfig
+from types import UnicodeType, StringType
+
+FIX = 24
+
+_idPos = -1
+
+def getNextId():
+ global _idPos
+ _idPos += 1
+ return _idPos
+
+
+def textEncode(u_string):
+ if type(u_string)==UnicodeType:
+ return u_string.encode(gConfig('textEncoding'),'replace')
+ else:
+ return u_string
+
+
+def textDecode(string):
+ if type(string)==StringType:
+ return unicode(string, gConfig('textEncoding'))
+ else:
+ return string
Added: trunk/gnue-forms/src/uidrivers/html/widgets/__init__.py
===================================================================
Added: trunk/gnue-forms/src/uidrivers/html/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/widgets/_base.py 2004-07-23
07:58:30 UTC (rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/widgets/_base.py 2004-07-23
08:01:21 UTC (rev 6037)
@@ -0,0 +1,114 @@
+from gnue.common import events
+from gnue.forms.GFForm import *
+from gnue.forms.uidrivers._base.widgets._base import *
+from gnue.forms.uidrivers.html.common import *
+
+
+class HtmlWidget:
+
+ _connectTable = {}
+
+ def __init__(self, parent, uidriver, type, dhtml, id):
+ self.dhtml = dhtml
+ self.value = None
+ self._type = type
+ self._parent = parent
+ self._children = []
+
+ if parent:
+ parent._children.append(self)
+
+ self._uiDriver = uidriver
+ self._id = id
+
+ def Show(self):
+ if self._type == "ENTRY":
+ try:
+ gfObject = self._uiDriver._IdToGFObj[self._id]
+ if gfObject.style == 'checkbox':
+ if self.value:
+ self._uiDriver._htmlapp._dhtml[self._id] = (self.dhtml % "checked")
+ else:
+ self._uiDriver._htmlapp._dhtml[self._id] = (self.dhtml % "")
+ else:
+ self._uiDriver._htmlapp._dhtml[self._id] = (self.dhtml % self.value)
+ except:
+ print '*'+self.dhtml+'*'
+ print '#'+self.value+'#'
+ else:
+ self._uiDriver._htmlapp._dhtml[self._id] = self.dhtml
+ for child in self._children:
+ child.Show()
+
+ def GetId(self):
+ return self._id
+
+ def SetValue(self, value):
+ self.value = value
+ self.Show()
+
+ def Connect(self, id, func):
+ self._connectTable[id] = func
+
+
+class UIHelper(UIWidget):
+ def _addToCrossRef(self, widget, gfobject, uiobject):
+ id = widget.GetId()
+ self._uiDriver._IdToGFObj[id]=gfobject
+ self._uiDriver._IdToUIObj[id]=uiobject
+
+ def _deleteFromCrossRef(self, widget, object):
+ id = widget.GetId()
+ try:
+ del self._uiDriver._IdToGFObj[id]
+ del self._uiDriver._IdToUIObj[id]
+ except:
+ pass
+
+ #
+ # Override the base UIWidget functions
+ #
+ def show(self):
+ for widget in self.widgets:
+ widget.Show()
+
+ def hide(self):
+ for widget in self.widgets:
+ widget.Hide()
+
+
+ def showModal(self):
+ for widget in self.widgets:
+ widget.Show()
+
+ def destroy(self):
+ for widget in self.widgets:
+ self.Destroy()
+
+
+ def indexedFocus(self, index):
+ pass
+
+ def setValue(self, value, index=0, enabled=1):
+ value = textEncode(value)
+ widget = self.widgets[index]
+ widget.SetValue(value)
+
+ def setCursorPosition(self, position, index=0):
+ pass
+
+ def setSelectedArea(self, selection1, selection2, index=0):
+ pass
+
+ def createWidget(self, event, spacer):
+ newWidget = self._createWidget(event, spacer)
+ self._addToCrossRef(newWidget,event.object,self)
+ return newWidget
+
+ def cleanup(self, object):
+ for widget in self.widgets[:]:
+ id = widget.GetId()
+ del self._uiDriver._IdToGFObj[id]
+ del self._uiDriver._IdToUIObj[id]
+ self.widgets.pop(0)
+ self._deleteFromCrossRef(widget, object)
Added: trunk/gnue-forms/src/uidrivers/html/widgets/box.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/widgets/box.py 2004-07-23 07:58:30 UTC
(rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/widgets/box.py 2004-07-23 08:01:21 UTC
(rev 6037)
@@ -0,0 +1,33 @@
+from gnue.forms.uidrivers.html.widgets._base import UIHelper, HtmlWidget
+from gnue.forms.uidrivers.html.common import *
+
+
+class UIBox(UIHelper):
+
+ def _createWidget(self, event, spacer):
+
+ object = event.object
+ dhtml = '<div id="" \
+ style="position:absolute; top:%spx; left:%spx; width:%spx;
height:%spx;\
+ border-width: 1px;\
+ border-style: solid">%s</div>' % \
+ (object.Char__y*event.widgetHeight + FIX,\
+ object.Char__x*event.widgetWidth,\
+ self.itemWidth,\
+ self.itemHeight,\
+ textEncode(object.label))
+
+ newWidget = HtmlWidget(event.container, self._uiDriver, 'BOX', dhtml,
getNextId())
+
+ return newWidget
+
+
+#
+# Configuration data
+#
+configuration = {
+ 'baseClass' : UIBox,
+ 'provides' : 'GFBox',
+ 'container' : 0,
+ }
+
Added: trunk/gnue-forms/src/uidrivers/html/widgets/button.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/widgets/button.py 2004-07-23
07:58:30 UTC (rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/widgets/button.py 2004-07-23
08:01:21 UTC (rev 6037)
@@ -0,0 +1,27 @@
+from gnue.forms.uidrivers.html.widgets._base import UIHelper, HtmlWidget
+from gnue.forms.uidrivers.html.common import *
+
+
+class UIButton(UIHelper):
+
+ def _createWidget(self, event, spacer):
+ object = event.object
+
+ dhtml = '<input type="button" name="entGnueName"
id="blkGnue_class_fldCGnueName_field" \
+ style="position:absolute; top:%spx; left:%spx; width:%spx;
height:%spx;\
+ value="%s" />' % \
+ (object.Char__y*event.widgetHeight + FIX,\
+ object.Char__x*event.widgetWidth,\
+ self.itemWidth,\
+ self.itemHeight,\
+ textEncode(object.label))
+
+ newWidget = HtmlWidget(event.container, self._uiDriver, 'BUTTON', dhtml,
getNextId())
+
+ return newWidget
+
+configuration = {
+ 'baseClass' : UIButton,
+ 'provides' : 'GFButton',
+ 'container' : 0,
+ }
Added: trunk/gnue-forms/src/uidrivers/html/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/widgets/entry.py 2004-07-23
07:58:30 UTC (rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/widgets/entry.py 2004-07-23
08:01:21 UTC (rev 6037)
@@ -0,0 +1,75 @@
+from gnue.forms.uidrivers.html.widgets._base import UIHelper, HtmlWidget
+from gnue.forms.uidrivers.html.common import *
+
+
+class UIEntry(UIHelper):
+
+ def _createWidget(self, event, spacer):
+ object = event.object
+
+ if object.style == 'dropdown':
+ if event.initialize:
+ choices = []
+ for val in object._field.allowedValues()[1]:
+ choices.append(val)
+ else:
+ choices = [""]
+
+ dhtml = '<select name="" id="" size="1"\
+ style="position:absolute; top:%spx; left:%spx; width:%spx;
height:%spx;\
+ "%s"></select>' % \
+ (object.Char__y*event.widgetHeight + FIX,\
+ object.Char__x*event.widgetWidth,\
+ self.itemWidth,\
+ self.itemHeight,\
+ ''.join())
+
+ elif object.style == 'listbox':
+ dhtml = '<select name="" id="" size="4"\
+ style="position:absolute; top:%spx; left:%spx; width:%spx;
height:%spx;\
+ "%s"></select>' % \
+ (object.Char__y*event.widgetHeight + FIX,\
+ object.Char__x*event.widgetWidth,\
+ self.itemWidth,\
+ self.itemHeight)
+ elif object.style == 'label':
+ dhtml = ''
+
+ # multiline edit
+ elif hasattr(object,'Char__height') and object.Char__height > 1:
+ dhtml = '<textarea name="" id="" rows="%s"\
+ style="position:absolute; top:%spx; left:%spx; width:%spx;
height:%spx;\
+ value="%%s"\
+ ></textarea>' % \
+ (object.Char__height,\
+ object.Char__y*event.widgetHeight + FIX,\
+ object.Char__x*event.widgetWidth,\
+ self.itemWidth,\
+ self.itemHeight)
+
+ elif object.style == 'checkbox':
+ dhtml = '<input type="checkbox" name="nameText" id="idText" \
+ style="position:absolute; top:%spx; left:%spx"\
+ "%%s" />' % \
+ (object.Char__y*event.widgetHeight + FIX,\
+ object.Char__x*event.widgetWidth)
+
+ else: # normal text box
+
+ dhtml = '<input type="text" name="nameText" id="idText" \
+ style="position:absolute; top:%spx; left:%spx; width:%spx;
height:%spx"\
+ value="%%s" />' % \
+ (object.Char__y*event.widgetHeight + FIX,\
+ object.Char__x*event.widgetWidth,\
+ self.itemWidth,\
+ self.itemHeight-4)
+
+ newWidget = HtmlWidget(event.container, self._uiDriver, 'ENTRY', dhtml,
getNextId())
+
+ return newWidget
+
+configuration = {
+ 'baseClass' : UIEntry,
+ 'provides' : 'GFEntry',
+ 'container' : 0,
+ }
Added: trunk/gnue-forms/src/uidrivers/html/widgets/form/__init__.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/widgets/form/__init__.py
2004-07-23 07:58:30 UTC (rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/widgets/form/__init__.py
2004-07-23 08:01:21 UTC (rev 6037)
@@ -0,0 +1,7 @@
+from widget import *
+
+configuration = {
+ 'baseClass' : UIForm,
+ 'provides' : 'GFForm',
+ 'container' : 1,
+ }
Added: trunk/gnue-forms/src/uidrivers/html/widgets/form/widget.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/widgets/form/widget.py 2004-07-23
07:58:30 UTC (rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/widgets/form/widget.py 2004-07-23
08:01:21 UTC (rev 6037)
@@ -0,0 +1,62 @@
+import string, struct
+
+from gnue.forms.uidrivers.html.widgets._base import UIHelper, HtmlWidget
+from gnue.forms.uidrivers.html.MenuBar import MenuBar
+from gnue.forms.uidrivers.html.ToolBar import ToolBar
+from gnue.forms.uidrivers.html.common import *
+
+
+class UIForm(UIHelper):
+
+ def __init__(self, event):
+ self._uiPageList=[]
+ UIHelper.__init__(self, event)
+ self.controls = []
+
+ def _createWidget(self, event, spacer):
+ object = event.object
+ #
+ # Size based upon the form definition
+ #
+
+ formWidth = int(self._form._layout.Char__width)
+ formHeight = int(self._form._layout.Char__height)
+ self._visibleSize = (formWidth*self._uiDriver.widgetWidth,
+ formHeight*self._uiDriver.widgetHeight)
+
+ self._formSize = formSize = (formWidth*self._uiDriver.widgetWidth,
+ formHeight*self._uiDriver.widgetHeight)
+
+ dhtml = ""
+ if self._form.style == 'dialog':
+ newWidget = HtmlWidget(event.container, self._uiDriver, 'DIALOG', dhtml,
getNextId())
+ else:
+ newWidget = HtmlWidget(event.container, self._uiDriver, 'FORM', dhtml,
getNextId())
+ self.mainWindow = newWidget
+
+ # Add the menu
+# if not self._form._features['GUI:MENUBAR:SUPPRESS']:
+# MenuBar(self._uiDriver, self.mainWindow, self._form)
+
+ # and the Toolbar
+ if not self._form._features['GUI:TOOLBAR:SUPPRESS']:
+ ToolBar(self._uiDriver, self.mainWindow, self._form)
+
+ dhtml = "<hr/>"
+ HtmlWidget(self.mainWindow, self._uiDriver, 'LINE', dhtml, getNextId())
+
+ self._containerToolkitWidget = newWidget
+ return newWidget
+
+ def gotoPage(self,event):
+ pass
+
+ def _setStatusBar(self,tip, statusValue, insertValue, currentRecord,
maxRecord, currentPage, maxPage):
+ pass
+
+ def show(self):
+ self.mainWindow.Show()
+
+ def showModal(self):
+ self.mainWindow.Show()
+
Added: trunk/gnue-forms/src/uidrivers/html/widgets/form/wrappers.py
===================================================================
Added: trunk/gnue-forms/src/uidrivers/html/widgets/image.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/widgets/image.py 2004-07-23
07:58:30 UTC (rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/widgets/image.py 2004-07-23
08:01:21 UTC (rev 6037)
@@ -0,0 +1,18 @@
+from gnue.forms.uidrivers.html.widgets._base import UIHelper, HtmlWidget
+from gnue.forms.uidrivers.html.common import *
+
+class UIImage(UIHelper):
+
+ def _createWidget(self, event, spacer):
+ object = event.object
+
+ dhtml = '<image>'
+ newWidget = HtmlWidget(event.container, self._uiDriver, 'IMAGE', dhtml,
getNextId())
+ return newWidget
+
+
+configuration = {
+ 'baseClass' : UIImage,
+ 'provides' : 'GFImage',
+ 'container' : 0,
+ }
Added: trunk/gnue-forms/src/uidrivers/html/widgets/label.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/widgets/label.py 2004-07-23
07:58:30 UTC (rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/widgets/label.py 2004-07-23
08:01:21 UTC (rev 6037)
@@ -0,0 +1,27 @@
+from gnue.forms.uidrivers.html.widgets._base import UIHelper, HtmlWidget
+from gnue.forms.uidrivers.html.common import *
+
+
+class UILabel(UIHelper):
+
+ def _createWidget(self, event, spacer):
+ object = event.object
+
+ dhtml = '<div style="position:absolute;\
+ top: %spx; left: %spx; width: %spx; height: %spx;\
+ id="lblGnue_name_label">%s</div>' % \
+ (object.Char__y*event.widgetHeight + FIX,\
+ object.Char__x*event.widgetWidth,\
+ self.itemWidth,\
+ self.itemHeight-4,\
+ textEncode(object.text))
+
+ newWidget = HtmlWidget(event.container, self._uiDriver, 'LABEL', dhtml,
getNextId())
+
+ return newWidget
+
+configuration = {
+ 'baseClass' : UILabel,
+ 'provides' : 'GFLabel',
+ 'container' : 0,
+ }
Added: trunk/gnue-forms/src/uidrivers/html/widgets/page.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/html/widgets/page.py 2004-07-23 07:58:30 UTC
(rev 6036)
+++ trunk/gnue-forms/src/uidrivers/html/widgets/page.py 2004-07-23 08:01:21 UTC
(rev 6037)
@@ -0,0 +1,19 @@
+from gnue.forms.uidrivers.html.widgets._base import UIHelper, HtmlWidget
+from gnue.forms.uidrivers.html.common import *
+
+class UIPage(UIHelper):
+ def _createWidget(self, event, spacer):
+
+ object = event.object
+
+ dhtml = '<page>'
+ newWidget = HtmlWidget(event.container, self._uiDriver, 'PAGE', dhtml,
getNextId())
+ self._containerToolkitWidget = newWidget
+ return newWidget
+
+
+configuration = {
+ 'baseClass' : UIPage,
+ 'provides' : 'GFPage',
+ 'container' : 1,
+ }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6037 - in trunk/gnue-forms/src/uidrivers: . html html/widgets html/widgets/form,
btami <=