commit-gnue
[Top][All Lists]
Advanced

[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,
+    }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]