% % focus on the supplied row, pending other ops % *atvalues % % get the value name and content % *gridgetr % % stack: content value % Task.@ _Grid.Button _Mouse.Right and zero { % % this is a left click of the grid % check for a grid value being edited % _Edit any)? { pop2 % % edit is currently occurring for a value % snap the focus back to the edited row % _Edit *atvalues dup whole { *gridsngr } { "Grows/" do pop } ifelse } { % % user allowed to select another grid item % % set the operating grid values % !Grid.Cell !Grid.Value *griddinh } ifelse } { % % right click % _Edit any)? { % % an edit of a value is taking place % _Grid.Row _Edit eq { % % the same row is being right clicked % treat this as a requested save of the value % pop2 "Tabber(4);" Help.! } { % % a different row is being right clicked % ignore since no selection takes place % pop2 } ifelse } { % % no edit of a value content is occurring now % set the operating grid values % !Grid.Cell !Grid.Value % % the right click did not select the row, manually select % _Grid.Row *atvalues *gridsngr % % cause the text editing of the value represented by this row % "Tabber(1);" Help.! } ifelse } ifelse