Recently I have been writing an app making some use of the Grid control,
and I have experienced some problems with it. After playing around with
the grid for a while I sometimes succeed to make the cells appear
outside of the window, as if the actual grid would be placed in the top
left corner of the screen, while it actually is in rather small window
in the center of th screen. I attach a screenshot for better clarity.
The occurance of the error is always accompanied by changing of the
cell “marker”/cursor from beeing thick black rectangle to beeing thin
grey rectangle, and can be provoked by inputing random data in the grid
and scrolling fast to the right by pressing down the left arrow key, and
repeting that couple of times. Im using Ruby 1.8.6 and WxRuby 1.9.5. I
know it may be hard to tell but if anyone sees any errors in my code I’d
be gratefull for pointing them out. Here is how the grid is made:
class ImageGrid < Grid
def initialize(parent, image)
@rows = 100;
@cols = 100
@img = image
super(parent, -1)
self.create_grid(@rows,@cols)
set_default_cell_alignment(ALIGN_CENTRE, ALIGN_CENTRE)
# this event will actually come when text is entered in 1 cell
evt_grid_range_select() do |e|
# deselection gives whole table...
top_row = e.get_top_row
left_col = e.get_left_col
bottom_row = e.get_bottom_row
right_col = e.get_right_col
# after cursor has left the cell... could be because of edit
cur_row = get_grid_cursor_row
cur_col = get_grid_cursor_col
# input, not range selection
if top_row == 0 and left_col == 0 and bottom_row == @rows-1
and right_col == @cols-1
# …
# range selection, not input
else
# …
end
end # ...grid range select event
end # ...initialize
end # …class ImageGrid
Best regards,
Paul W Florczykowski