On 2007-01-10 09:17:49 -0800 Matt Rice <[EMAIL PROTECTED]> wrote:
On 2007-01-10 09:04:57 -0800 Matt Rice <[EMAIL PROTECTED]> wrote:
On 2007-01-10 07:59:16 -0800 Fred Kiefer <[EMAIL PROTECTED]> wrote:
HI Matt,
could you please explain this patch a bit? Only the last bit is
about
selecting the right cell in NSTrackModeMatrix. Are the other change
a
result of this?
It looks like you intent to prevent the setting of the cell state
for
this mode. Is this correct?
Yes, you understand the patch correctly,
I've just noticed the difference between -keyCell and -selected*,
which seems to be what i need/the reason for my confusion.
this one is much cleaner :D
ok... so this one isn't going to be correct either.. because
_selectCellAtRow:column: sets the state..
alright sorry for the barrage of emails.
I hadn't noticed the above because _selectCell:atRow:column: sets it
to NSOnState.
and the button i tested it with was on, so it was set to On then to
Off by the setNextState.
_selectCell:atRow:column: isn't right because the selected cell can
have an NSOffState.
for track/highlight mode and NSOnState for list/radio...
hopefully this patch takes care of it :D
<matrix-kbd3.diff>
Index: NSMatrix.m
===================================================================
--- NSMatrix.m (revision 24334)
+++ NSMatrix.m (working copy)
@@ -1211,7 +1211,14 @@
_selectedColumn = column;
_selectedCells[row][column] = YES;
- [_selectedCell setState: NSOnState];
+ if (_mode == NSListModeMatrix || _mode == NSRadioModeMatrix)
+ {
+ [_selectedCell setState: NSOnState];
+ }
+ else
+ {
+ [_selectedCell setNextState];
+ }
if (_mode == NSListModeMatrix)
[aCell setHighlighted: YES];
@@ -3695,25 +3702,17 @@
[self _altModifier: character];
else
{
- NSCell *cell;
-
switch (_mode)
{
case NSTrackModeMatrix:
case NSHighlightModeMatrix:
- cell = _cells[_dottedRow][_dottedColumn];
-
- [cell setNextState];
- [self setNeedsDisplayInRect: [self cellFrameAtRow: _dottedRow
- column: _dottedColumn]];
+ case NSRadioModeMatrix:
+ [self selectCellAtRow:_dottedRow column: _dottedColumn];
break;
case NSListModeMatrix:
if (!(modifiers & NSShiftKeyMask))
[self deselectAllCells];
-
- case NSRadioModeMatrix:
- [self selectCellAtRow: _dottedRow column: _dottedColumn];
break;
}
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev