commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue designer/src/LayoutEditor.py gnuef/setup.p...


From: James Thompson
Subject: gnue designer/src/LayoutEditor.py gnuef/setup.p...
Date: Sun, 04 Nov 2001 15:26:38 -0500

CVSROOT:        /cvs
Module name:    gnue
Changes by:     James Thompson <address@hidden> 01/11/04 15:26:38

Modified files:
        designer/src   : LayoutEditor.py 
        gnuef          : setup.py 
        gnuef/samples/zipcode: pg_zip_code.sql states.gfd zipcode.gfd 
        gnuef/src      : GFForm.py 

Log message:
        Updated designer mouse code

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/designer/src/LayoutEditor.py.diff?cvsroot=OldCVS&tr1=1.22&tr2=1.23&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/setup.py.diff?cvsroot=OldCVS&tr1=1.42&tr2=1.43&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/samples/zipcode/pg_zip_code.sql.diff?cvsroot=OldCVS&tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/samples/zipcode/states.gfd.diff?cvsroot=OldCVS&tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/samples/zipcode/zipcode.gfd.diff?cvsroot=OldCVS&tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFForm.py.diff?cvsroot=OldCVS&tr1=1.126&tr2=1.127&r1=text&r2=text

Patches:
Index: gnue/designer/src/LayoutEditor.py
diff -u gnue/designer/src/LayoutEditor.py:1.22 
gnue/designer/src/LayoutEditor.py:1.23
--- gnue/designer/src/LayoutEditor.py:1.22      Sun Nov  4 11:44:33 2001
+++ gnue/designer/src/LayoutEditor.py   Sun Nov  4 15:26:37 2001
@@ -51,7 +51,7 @@
     # TODO: reasonable values based on size and position of self.panel
     self.workspace = wxScrolledWindow(self, -1, pos=wxPoint(0,32), 
style=wxCLIP_CHILDREN|wxHSCROLL|wxVSCROLL)
 
-    # TODO: There must be a better way of calculating a lighter shade
+    # TODO: There must be a better way of calculating a lighter shade 
     # TODO: for the workspace. What happens if a color value > (255-32)?
     self.workspace.SetBackgroundColour(wxColour(self.panelColor.Red()+32,
                  self.panelColor.Green()+32,    
@@ -84,7 +84,7 @@
       self.getPages()
       self._setCurrentPage(object)
 
-  def _setCurrentPage(self, object):
+  def _setCurrentPage(self, object): 
     if isinstance(object, GFObjects.GFPage) and object != self.page: 
       if self.panel != None: 
         self.panel.Destroy()
@@ -104,7 +104,7 @@
     if object == None: 
       return
     if handler != __name__:
-      if object.findParentOfType('GFPage') == self.page:
+      if object.findParentOfType('GFPage') == self.page: 
         self.__getBlocks(object)
         self.__drawItem(object)
 
@@ -112,27 +112,27 @@
         self.getPages()
 
   def onModifyObject (self, object, handler, modifications):
-    if object == None:
+    if object == None: 
       return
     self.propBar.onModifyObject(object, handler, modifications)
     if handler != __name__:
-      if object in (self._form, self.page) or object in self.widgetList:
+      if object in (self._form, self.page) or object in self.widgetList: 
         self.drawPage(self.page)
 
   def onDeleteObject (self, object, handler):
-    if object == None:
+    if object == None: 
       return
     if handler != __name__:
       if hasattr(object, '_widgetHandler') and object._widgetHandler != None:
         object._widgetHandler.Destroy()
 
-  def drawPage(self, page):
+  def drawPage(self, page): 
     self._currentSelection = {}
     self.page = page
     self.panel = GridPane(self, self.workspace, wxPoint(10,12))
     self.panelColor = self.panel.GetBackgroundColour()
     self.panelGridColor = wxColour(self.panelColor.Red()+16,
-                 self.panelColor.Green()+16,
+                 self.panelColor.Green()+16,    
                  self.panelColor.Blue()+16)
 
     UIwxpython.initFont(self.panel)
@@ -141,7 +141,7 @@
 
     # need to add string.punctionation if we dump python 1.5.2
     checkchars = string.letters+string.digits+"-\|"
-    for letter in checkchars:
+    for letter in checkchars:   
       width,height,descent,leading = self.panel.GetFullTextExtent(letter)
       maxWidth = maxWidth > width and maxWidth or width
       maxHeight = maxHeight > height and maxHeight or height
@@ -168,7 +168,7 @@
 
     self.menu_sb_space=2 # the extra spaces needed by the menu, toolbar and 
statusbar    
 
-    self.panel.SetClientSize(wxSize(int(width)*int(self.widgetWidth),
+    self.panel.SetClientSize(wxSize(int(width)*int(self.widgetWidth), 
                        int(height)*int(self.widgetHeight)))
     self.panel.Refresh()
 
@@ -182,13 +182,13 @@
 #    EVT_LEFT_UP(self.panel, self.OnLeftUp)
 #    EVT_LEFT_DOWN(self.panel, self.OnLeftDown)
     EVT_RIGHT_UP(self.panel, self.OnRightUp)
-    EVT_MOTION(self.panel, self.OnMotion)
+#    EVT_MOTION(self.panel, self.OnMotion)
 
   def getPages(self): 
     self.pageCombo.Clear()
     i = 0
     selected = 0
-    for p in self._instance._pages:
+    for p in self._instance._pages: 
       if p == self.page: 
         selected = i
       self.pageCombo.Append(p.name)
@@ -196,7 +196,7 @@
 
     self.pageCombo.SetSelection(selected)
 
-  def getBlocks(self):
+  def getBlocks(self): 
     self.blockCombo.Clear()
     self.blockList = []
     self.page.walk(self.__getBlocks)
@@ -212,7 +212,7 @@
        (not hasattr(object, 'hidden') or not object.hidden): 
       if hasattr(object, 'name'): 
         GDebug.printMesg(7, 'Drawing item %s of type %s' % (object.name, 
object.getObjectType()))
-      else:
+      else: 
         GDebug.printMesg(7, 'Drawing item of type %s' % 
(object.getObjectType()))
       object._widgetHandler = WidgetHandler(self, object)
       object._widget = self.widgets[object.getObjectType()]\
@@ -225,28 +225,28 @@
         object._widgetHandler.setSelected(0)
       self.widgetList.append(object)
 
-  def OnSize(self, event):
+  def OnSize(self, event): 
     self.toolpanel.SetSize(wxSize(self.GetClientSize().x, 
self.toolpanel.GetSize().y))
     self.propBar.SetSize(wxSize(self.GetClientSize().x, 
self.propBar.GetSize().y))
     self.propBar.SetPosition(wxPoint(0, self.GetClientSize().y - 
self.propBar.GetSize().y))
     self.workspace.SetSize(wxSize(self.GetClientSize().x, 
self.GetClientSize().y - self.toolpanel.GetSize().y - self.propBar.GetSize().y))
 
-  def OnPageSelected(self, event):
+  def OnPageSelected(self, event): 
     p = self._instance._pages[event.GetSelection()]
     if p != self.page:
       self._instance.onSetCurrentObject(p, __name__)
     self._setCurrentPage(p)
 
 
-  def OnBlockSelected(self, event):
+  def OnBlockSelected(self, event): 
     b = self.blockList[event.GetSelection()]
 #    if p != self.page:
     self._instance.onSetCurrentObject(b, None)
+ 
+ 
+  def OnRightUp(self, event): 
+    x, y = event.GetPositionTuple() 
 
-
-  def OnRightUp(self, event):
-    x, y = event.GetPositionTuple()
-
     x = int(x / self.gridWidth)
     y = int(y / self.gridHeight)
 
@@ -267,85 +267,57 @@
     self.panel.PopupMenu(menu, event.GetPosition())
 
 
+  def OnMotion(self, event): 
+    if event.Dragging() and event.LeftIsDown(): 
+      pos = event.GetPositionTuple() 
+      print pos
+    pass
+       
   def keyTrap(self, event): 
     if event.KeyCode() in (WXK_LEFT, WXK_RIGHT, WXK_UP, WXK_DOWN) and \
       len(self._currentSelection.keys()): 
       if event.AltDown(): # or event.MetaDown():
         if event.KeyCode() == WXK_LEFT:
-          for widget in self._currentSelection.keys():
+          for widget in self._currentSelection.keys(): 
             widget.relativeResize(-1,0)
         if event.KeyCode() == WXK_RIGHT:
-          for widget in self._currentSelection.keys():
+          for widget in self._currentSelection.keys(): 
             widget.relativeResize(1,0)
-        if event.KeyCode() == WXK_UP:
-          for widget in self._currentSelection.keys():
+        if event.KeyCode() == WXK_UP: 
+          for widget in self._currentSelection.keys(): 
             widget.relativeResize(0,-1)
         if event.KeyCode() == WXK_DOWN:
-          for widget in self._currentSelection.keys():
+          for widget in self._currentSelection.keys(): 
             widget.relativeResize(0,1)
-      else:
-        if event.KeyCode() == WXK_LEFT:
-          for widget in self._currentSelection.keys():
+      else: 
+        if event.KeyCode() == WXK_LEFT: 
+          for widget in self._currentSelection.keys(): 
             widget.relativeMove(-1,0)
         if event.KeyCode() == WXK_RIGHT:
-          for widget in self._currentSelection.keys():
+          for widget in self._currentSelection.keys(): 
             widget.relativeMove(1,0)
-        if event.KeyCode() == WXK_UP:
-          for widget in self._currentSelection.keys():
+        if event.KeyCode() == WXK_UP: 
+          for widget in self._currentSelection.keys(): 
             widget.relativeMove(0,-1)
         if event.KeyCode() == WXK_DOWN:
-          for widget in self._currentSelection.keys():
+          for widget in self._currentSelection.keys(): 
             widget.relativeMove(0,1)
 
 
-  def OnMotion(self, event):
-    if event.Dragging() and event.LeftIsDown():
-
-      xshift = 0
-      yshift = 0
-
-      x, y  = event.GetPositionTuple()
-#      dx, dy = self.mouseWidget.widget.GetPositionTuple()
-#      relativeX = self.mouseStartX - dx - x
-#      relativeY = self.mouseStartY - dy - y
-      relativeX = self.mouseStartX - x
-      relativeY = self.mouseStartY - y
-      GDebug.printMesg(0, 'Start XY %s, %s Current X,Y %s, %s Movement %s, %s' 
%
-                         (self.mouseStartX,self.mouseStartY, 
x,y,relativeX,relativeY))
-
-      if abs(relativeX) > self.gridWidth:
-         xshift = (abs(relativeX)/relativeX) * -1 #(abs(relativeX)/4)
-      if abs(relativeY) > self.gridHeight:
-         yshift = (abs(relativeY)/relativeY) * -1 #(abs(relativeY)/4)
-
-      if xshift or yshift:
-        GDebug.printMesg(0, 'Shift Start XY %s, %s Movement %s, %s Shift 
%s,%s' %
-                         (self.mouseStartX,self.mouseStartY, 
relativeX,relativeY,xshift,yshift))
-        self.mouseWidget.relativeMove(xshift,yshift)
-
-#        self.mouseWidget.mainWidget.widgets[0].WarpPointer(self.mouseStartX + 
xshift*self.gridWidth,
-#                                               
self.mouseStartY+yshift*self.gridHeight)
-#        
self.mouseWidget.mainWidget.widgets[0].WarpPointer(self.mouseStartX,self.mouseStartY)
-        self.mouseWidget.mainWidget.widgets[0].WarpPointer(x,y)
-
-        self.mouseStartX = x
-        self.mouseStartY = y
-
-
 #
 #
 #
-class WidgetHandler(wxEvtHandler):
-  def __init__(self, instance, object):
+class WidgetHandler(wxEvtHandler): 
+  def __init__(self, instance, object): 
     wxEvtHandler.__init__(self)
     self.instance = instance
-    self.object = object
+    self.object = object 
     self.hasFocus = 0
     self.highlightBox = WidgetHighlighter(self.instance.panel)
 
-  def initialize(self, widget):
+  def initialize(self, widget): 
     self.widget = widget.widgets[0]
-    self.mainWidget = widget
+    self.mainWidget = widget    
 
     self.recalcBoundaries()
 
@@ -360,7 +332,7 @@
       self.setAllChildren(EVT_LEFT_DOWN, widget, self.OnLeftDown)
       self.setAllChildren(EVT_RIGHT_DOWN, widget, self.OnRightDown)
       self.setAllChildren(EVT_RIGHT_UP, widget, self.OnRightUp)
-#      self.setAllChildren(EVT_MOTION, widget, self.instance.OnMotion)
+      self.setAllChildren(EVT_MOTION, widget, self.OnMotion)
       self.setAllChildren(EVT_LEFT_DCLICK, widget, self.OnEditProperties)
     self.setAllChildren(EVT_KEY_UP, self.highlightBox, self.instance.keyTrap)
     self.setAllChildren(EVT_SET_FOCUS, self.highlightBox, self.focusGainedTrap)
@@ -368,90 +340,120 @@
     self.setAllChildren(EVT_LEFT_UP, self.highlightBox, self.OnLeftUp)
     self.setAllChildren(EVT_LEFT_DOWN, self.highlightBox, self.OnLeftDown)
     self.setAllChildren(EVT_RIGHT_UP, self.highlightBox, self.OnRightUp)
-#    self.setAllChildren(EVT_MOTION, self.highlightBox, self.instance.OnMotion)
+    self.setAllChildren(EVT_MOTION, self.highlightBox, self.instance.OnMotion)
 
-    self.widget.Refresh()
+    self.widget.Refresh()    
 
-  def recalcBoundaries(self):
+  def recalcBoundaries(self): 
     x1,y1,x2,y2 = (9999999,9999999,0,0)
-
+   
     for widget in self.mainWidget.widgets:
       tx, ty = widget.GetPositionTuple()
       tw, th = widget.GetSizeTuple()
       self.instance.positionMappings[widget] = [tx,ty,tx+tw-1,ty+tw-1,self]
-      if tx < x1:
+      if tx < x1: 
         x1 = tx
-      if ty < y1:
+      if ty < y1: 
         y1 = ty
-      if tw + tx > x2:
+      if tw + tx > x2: 
         x2 = tw + tx
-      if th + ty > y2:
+      if th + ty > y2: 
         y2 = th + ty
 
     self.highlightBox.setBoundary(x1-2,y1-2,x2+2,y2+2)
-    for widget in self.mainWidget.widgets:
+    for widget in self.mainWidget.widgets: 
        widget.Refresh()
 
 
-  def setSelected(self, selected):
+  def setSelected(self, selected): 
     self.highlightBox.setSelected(selected)
 
 
   def setAllChildren(self, event, widget, trap):
-    try:
-      event(widget, trap)
-    except:
+    try: 
+      event(widget, trap) 
+    except: 
       pass
-    for child in widget.GetChildren():
+    for child in widget.GetChildren(): 
       self.setAllChildren(event, child, trap)
 
-  def focusGainedTrap(self, event):
+  def focusGainedTrap(self, event): 
     self.instance.panel.SetFocus()
     pass
 #    event.Skip()
 
-  def focusLostTrap(self, event):
+  def focusLostTrap(self, event): 
     event.Skip()
 
-  def OnLeftDown(self, event):
+  def OnLeftDown(self, event): 
 
-    x,y = event.GetPositionTuple()
-    dx,dy = self.widget.GetPositionTuple()
-    self.instance.mouseStartX, self.instance.mouseStartY = (dx+x,dy+y)
-    self.instance.mouseWidget = self
+    self.mouseStartX, self.mouseStartY = event.GetPositionTuple()
 
-    if not event.ShiftDown():
-      for selection in self.instance._currentSelection.keys():
+    if not event.ShiftDown(): 
+      for selection in self.instance._currentSelection.keys(): 
         selection.setSelected(0)
       self.instance._currentSelection = {}
     selection = self
-    if self.instance._currentSelection.has_key(selection):
+    if self.instance._currentSelection.has_key(selection): 
       del self.instance._currentSelection[selection]
       selection.setSelected(0)
-    else:
+    else: 
       self.instance._currentSelection[selection] = 1
       self.instance._instance.onSetCurrentObject(selection.object,__name__)
       selection.setSelected(1)
+ 
+ 
+  def OnLeftUp(self, event): 
+    pass
+#    self.instance.panel.ReleaseMouse() 
 
+  def OnMotion(self, event): 
+    if event.Dragging() and event.LeftIsDown(): 
 
-  def OnLeftUp(self, event):
-    pass
-#    self.instance.panel.ReleaseMouse()
+      xshift = 0
+      yshift = 0
+      
+      x, y  = event.GetPositionTuple()
+      positionWidget = wxPyTypeCast(event.GetEventObject(),'wxWindow')
+      
+      relativeX = x - self.mouseStartX
+      relativeY = y - self.mouseStartY 
 
-  def OnRightDown(self, event):
-    pass
+      GDebug.printMesg(0, 'Start XY %s, %s Current X,Y %s, %s Movement %s, %s' 
%
+                         (self.mouseStartX,self.mouseStartY, 
x,y,relativeX,relativeY))
+
+      if abs(relativeX) > self.instance.gridWidth/2:
+         xshift = (abs(relativeX)/relativeX)
+      print self.instance.gridHeight
+      if abs(relativeY) > self.instance.gridHeight/2:
+         yshift = (abs(relativeY)/relativeY)
+
+      if xshift or yshift:
+        GDebug.printMesg(0, 'Shift Start XY %s, %s Movement %s, %s Shift 
%s,%s' %
+                         (self.mouseStartX,self.mouseStartY, 
relativeX,relativeY,xshift,yshift))
+        self.relativeMove(xshift,yshift)
+        
+#        positionWidget.WarpPointer(self.mouseStartX+self.instance.gridWidth,
+#                                   self.mouseStartY+self.instance.gridHeight)
+#        positionWidget.WarpPointer(self.mouseStartX,self.mouseStartY)
+#        positionWidget.WarpPointer(x,y)
+   
+#        self.mouseStartX = x
+#        self.mouseStartY = y
 
-  def OnRightUp(self, event):
-    pt = event.GetPositionTuple()
+  def OnRightDown(self, event): 
+    pass
+ 
+  def OnRightUp(self, event): 
+    pt = event.GetPositionTuple() 
     self.instance._instance.onSetCurrentObject(self.object, None)
     wxPyTypeCast(event.GetEventObject(),'wxWindow') \
        .PopupMenu(self.object._popupMenu, pt)
-
-  def OnEditProperties(self, event):
+         
+  def OnEditProperties(self, event): 
     self.instance._instance.propertyEditorWindow.Show(1)
     self.instance._instance.propertyEditorWindow.Raise()
     self.instance._instance.propertyEditorWindow.SetFocus()
-
  
   #
   # Resize the current widget.  dx and dy are incremental
Index: gnue/gnuef/samples/zipcode/pg_zip_code.sql
diff -u gnue/gnuef/samples/zipcode/pg_zip_code.sql:1.7 
gnue/gnuef/samples/zipcode/pg_zip_code.sql:1.8
--- gnue/gnuef/samples/zipcode/pg_zip_code.sql:1.7      Mon Apr 16 21:40:37 2001
+++ gnue/gnuef/samples/zipcode/pg_zip_code.sql  Sun Nov  4 15:26:37 2001
@@ -9,7 +9,7 @@
 (
   zip char(5)      PRIMARY KEY, 
   city varchar(30) NOT NULL,
-  state_code char(2)    NOT NULL REFERENCES state
+  state char(2)    NOT NULL REFERENCES state
 );
 
 INSERT INTO state (state, description) VALUES('AL','Alabama');
Index: gnue/gnuef/samples/zipcode/states.gfd
diff -u gnue/gnuef/samples/zipcode/states.gfd:1.16 
gnue/gnuef/samples/zipcode/states.gfd:1.17
--- gnue/gnuef/samples/zipcode/states.gfd:1.16  Mon Sep 17 22:43:31 2001
+++ gnue/gnuef/samples/zipcode/states.gfd       Sun Nov  4 15:26:37 2001
@@ -11,7 +11,7 @@
   <database   name="newdevel" provider="psycopg" dbname="gnue" host="gnue"/>   
 
   <datasource name="dsstate" database="newdevel" table="state" cache="5" 
order_by="state"/>
   <datasource name="dscities" database="newdevel" table="zipcode" cache="5" 
order_by="city" 
-              master="dsstate" detaillink="state_code" masterlink="state"/> 
+              master="dsstate" detaillink="state" masterlink="state"/> 
 
   <page>
     <block name="blkstate" datasource="dsstate" rows="5">
@@ -29,7 +29,7 @@
       <entry name="city" field="city" x="2" y="10" width="20" />
 
       <label text="ST" x="23" y="9" rows="1"/>
-      <entry name="state" field="state_code" x="23" y="10" width="3" />
+      <entry name="state" field="state" x="23" y="10" width="3" />
 
       <label text="Zip" x="27" y="9" rows="1"/>
       <entry name="zip" field="zip" x="27" y="10" width="10" />
Index: gnue/gnuef/samples/zipcode/zipcode.gfd
diff -u gnue/gnuef/samples/zipcode/zipcode.gfd:1.13 
gnue/gnuef/samples/zipcode/zipcode.gfd:1.14
--- gnue/gnuef/samples/zipcode/zipcode.gfd:1.13 Mon Sep 17 22:43:31 2001
+++ gnue/gnuef/samples/zipcode/zipcode.gfd      Sun Nov  4 15:26:37 2001
@@ -9,7 +9,7 @@
   </options>
 
   <database   name="newdevel" provider="psycopg" dbname="gnue" host="gnue"/>
-  <datasource name="zips" database="newdevel" table="zipcode" cache="5" 
order_by="state_code,city" prequery=""/> 
+  <datasource name="zips" database="newdevel" table="zipcode" cache="5" 
order_by="state,city" prequery=""/> 
   <datasource name="validator" database="newdevel" table="state" prequery="" 
order_by="description"/>
 
   <page>
@@ -22,7 +22,7 @@
       </entry>
 
       <label text="State" x="17" y="1"/>
-      <entry name="state" field="state_code" x="17" y="2" width="15"  
foreign_key="validator.state" foreign_key_description="description" 
style="dropdown">
+      <entry name="state" field="state" x="17" y="2" width="15"  
foreign_key="validator.state" foreign_key_description="description" 
style="dropdown">
        <options>
          <tip>State</tip>
        </options>
Index: gnue/gnuef/setup.py
diff -u gnue/gnuef/setup.py:1.42 gnue/gnuef/setup.py:1.43
--- gnue/gnuef/setup.py:1.42    Sun Nov  4 10:54:24 2001
+++ gnue/gnuef/setup.py Sun Nov  4 15:26:37 2001
@@ -26,6 +26,9 @@
 import os.path
 import copy
 
+#
+# Leftover from initial attempt to create a .exe setup file for windows
+#
 try:
   import py2exe
 except:
@@ -225,7 +228,6 @@
          + "os.environ['INSTALL_PREFIX']='%s'\n" % dict['prefix'][1] \
          + "#######\n"
     else:
-      print "Win32"
       gnue_env = \
            "#######\n" \
          + "# The following variable were set when GNUe was installed\n\n"    \
@@ -255,7 +257,7 @@
       print "OK"
 
 setup (name = "GNUe-Forms",
-       version = "0.0.9",
+       version = "0.1.0",
        description = "GNU Enterprise Forms",
        long_description = "",
        author = "GNUe Forms Team",
@@ -284,6 +286,11 @@
 if not 'sdist' in sys.argv:
   if sys.platform != 'win32':
     os.system (""" /bin/rm -rf setup.cfg""")
+
+
+
+
+
 
 
 
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.126 gnue/gnuef/src/GFForm.py:1.127
--- gnue/gnuef/src/GFForm.py:1.126      Mon Oct 29 10:05:19 2001
+++ gnue/gnuef/src/GFForm.py    Sun Nov  4 15:26:38 2001
@@ -32,8 +32,7 @@
 import string
 import traceback
 
-from gnue.common import GDebug, openResource
-from gnue.common import GConfig
+from gnue.common import GDebug, openResource, GConnections, GConfig
 from GFObjects import *
 from GFEvent import *
 from GFError import DBError



reply via email to

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