[Top][All Lists]
[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>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r9094 - in trunk: gnue-forms/src/GFObjects gnue-samples/testcases/forms/function,
reinhard <=