Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[nebula-dev][compositetable] bug: changes in topRow == 0 get lost

Hi Dave

I'm almost there with my changes in GridRowLayout. It works - beside 1
bug - on the snippets of eclipse.org/nebula and I'll have to catch up
with the changes in cvs (AbstractGridRowLayout).  
I found a bug that occurs when you have the table showing the first row
(topRow == 0). It does not fire a row focus event and the symptom is
that changes in the first row get lost (change any cell, scroll down and
up again. notice that your changes are lost). My fix consists of changes
to 

- fireRequestRowChangeEvent()

I changed:

if (rows.size() < 1 || currentRow < 1) {
	return;
}

to 

if (rows.size() < 1 || (currentRow < 1 && topRow != 0)) {
	return;
}

and the sam in 

- fireRowDepartEvent()

I post this stuff here because I'm not completely sure what your test is
for and if my change does not have other unwanted consequences.
If I understand things right, currentRow is the offset of the currently
focused row to topRow, which is the absolute position of the first row
shown (in the table) in the model (ex. swtCommitters). Explained like
this, your check avoids firing focus related events when the 'focused'
row moves out of the visible rows (rows). Am I right?

Regards
André



Back to the top