commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r9094 - in trunk: gnue-forms/src/GFObjects gnue-samples/testcases


From: reinhard
Subject: [gnue] r9094 - in trunk: gnue-forms/src/GFObjects gnue-samples/testcases/forms/function
Date: Thu, 30 Nov 2006 07:03:15 -0600 (CST)

Author: reinhard
Date: 2006-11-30 07:03:14 -0600 (Thu, 30 Nov 2006)
New Revision: 9094

Added:
   trunk/gnue-samples/testcases/forms/function/foreign_key_block.gfd
Modified:
   trunk/gnue-forms/src/GFObjects/GFBlock.py
   trunk/gnue-forms/src/GFObjects/GFTabStop.py
Log:
Make blocks able to cope with a current record number of -1. This makes it
possible to attach a block to the same datasource as a lookup field.

issue5 testing


Modified: trunk/gnue-forms/src/GFObjects/GFBlock.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFBlock.py   2006-11-30 10:21:29 UTC (rev 
9093)
+++ trunk/gnue-forms/src/GFObjects/GFBlock.py   2006-11-30 13:03:14 UTC (rev 
9094)
@@ -354,10 +354,8 @@
         if self.__scrolling_blocked:
             return
 
-        # Blocks can't cope with current record #-1
         recno = self.__resultset.getRecordNumber()
-        if recno != -1:
-            self.__current_record_changed(False)
+        self.__current_record_changed(False)
 
     # -------------------------------------------------------------------------
 
@@ -1276,16 +1274,16 @@
             newRecord = 0
             newRecordCount = 1
         else:
-            newRecord      = self.__resultset.getRecordNumber()
+            newRecord = self.__resultset.getRecordNumber()
             newRecordCount = self.__resultset.getRecordCount()
 
         adjustment = newRecord - self._currentRecord
 
         if new_visible_start is None:
             new_visible_start = self.__visible_start
-        new_visible_start = min(new_visible_start, newRecord)
         new_visible_start = max(new_visible_start, newRecord - self._rows + 1)
         new_visible_start = max(new_visible_start, 0)
+        new_visible_start = min(new_visible_start, newRecord)
 
         adjustment += self.__visible_start - new_visible_start
         self.__visible_start = new_visible_start

Modified: trunk/gnue-forms/src/GFObjects/GFTabStop.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFTabStop.py 2006-11-30 10:21:29 UTC (rev 
9093)
+++ trunk/gnue-forms/src/GFObjects/GFTabStop.py 2006-11-30 13:03:14 UTC (rev 
9094)
@@ -75,6 +75,7 @@
 
         self.__first_visible_record = 0
         self.__last_enabled_row = None
+        self.__current_row_enabled = True
 
 
     # -------------------------------------------------------------------------
@@ -177,7 +178,8 @@
         entry as needed.
 
         @param adjustment: value to change the visible index, e.g. 1 or -1
-        @param cur_record: the currently active record
+        @param cur_record: the currently active record, or -1 if there is no
+            record active currently.
         @param rec_count: the number of records available at all
         @param refresh: 'none' if no records have to be redisplayed (i.e. only
             the cursor position has changed), 'current' if all records starting
@@ -216,6 +218,11 @@
                     # because widgets are created enabled by default
                     self.__last_enabled_row = self._rows - 1
 
+                # Re-enable old current row if it was disabled
+                if not self.__current_row_enabled:
+                    self.uiWidget._ui_enable_(old_visible_index)
+                    self.__current_row_enabled = True
+
                 last_enabled_row = self._visibleIndex + \
                         (rec_count - cur_record) - 1
                 last_enabled_row = min(last_enabled_row, self._rows - 1)
@@ -230,6 +237,11 @@
 
                 self.__last_enabled_row = last_enabled_row
 
+                # Disable current row if current record is -1
+                if cur_record == -1:
+                    self.uiWidget._ui_disable_(self._visibleIndex)
+                    self.__current_row_enabled = False
+
                 first_visible_record = cur_record - self._visibleIndex
                 if first_visible_record != self.__first_visible_record:
                     # If we have scrolled, redisplay all records

Added: trunk/gnue-samples/testcases/forms/function/foreign_key_block.gfd
===================================================================
--- trunk/gnue-samples/testcases/forms/function/foreign_key_block.gfd   
2006-11-30 10:21:29 UTC (rev 9093)
+++ trunk/gnue-samples/testcases/forms/function/foreign_key_block.gfd   
2006-11-30 13:03:14 UTC (rev 9094)
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+
+<form title="Foreign Key Block Test">
+  <datasource name="zipcode" connection="gnue" table="zipcode" prequery="Y"/>
+  <datasource name="state" connection="gnue" table="state" prequery="Y"/>
+
+  <logic>
+    <block name="zipcode" datasource="zipcode">
+      <field name="zip" field="zip"/>
+      <field name="city" field="city"/>
+      <field name="state" field="state" fk_source="state" fk_key="state"
+        fk_description="description"/>
+    </block>
+    <block name="state" datasource="state">
+      <field name="state" field="state"/>
+      <field name="description" field="description"/>
+    </block>
+  </logic>
+
+  <layout>
+    <page name="pg">
+      <vbox name="box">
+        <vbox name="zipcode" block="zipcode">
+          <entry name="zipcode" field="zip" label="Zip:"/>
+          <entry name="city" field="city" label="City:"/>
+          <entry name="state" field="state" label="State:"/>
+        </vbox>
+        <hbox name="state" block="state">
+          <entry name="state" field="state" label="State:"/>
+          <entry name="description" field="description" label="Description:"/>
+        </hbox>
+      </vbox>
+    </page>
+  </layout>
+</form>





reply via email to

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