[Gambas-user] Problem with tableview when in edit mode
Doriano Blengino
doriano.blengino at ...1909...
Sat Dec 5 20:33:05 CET 2009
Benoît Minisini ha scritto:
>> Benoît Minisini ha scritto:
>>
>>>> Benoît Minisini ha scritto:
>>>>>>>
>>>>>>>
>>>>>>> When in the tableview (in edit mode) I press an arrow key, the cursor
>>>>>>> slips on every possible cell in the request direction, until it finds
>>>>>>> the end of the tableview. But this is not enough: if the cursor key
>>>>>>> is Left or Right, the cell walking goes even further, wrapping to the
>>>>>>> next or previous row and restarting.
>>>>>>>
>>>>>>>
>>>>>>>
>
> For sure there is somewhere we don't understand each other. :-)
>
> I used a few TableView in the IDE: look at the project property dialog, in the
> environment tab. You will see how I implemented them: the insert and delete
> button, the Click, Data, Insert and Save event handlers... Please tell me the
> difference between what I did there and what you did.
>
> When you sent me your little example, I just added a Click event handler with
> a call to Edit() inside, and everything worked as expected.
>
> And if things works on some computers without change, maybe they use an old
> version of Gambas (< 2.13).
>
Don't take me wrong. Sometimes it seems to me that you don't read the
whole message before replying, and sometimes it seems to me that the
real problem is not in evidence (english language plays a role in
this...). You say that you just added a Click event handler to get the
program work. Well, this is not the problem. The program *is* correct
(it does practically nothing). The sample program, without
modifications, on some machine runs well, and on other machines shows a
problem that I will explain better. When you say "old version of gambas
(<2.13)", again it seems that you didn't read carefully what I've
posted. In every post I specified precisely what gambas version was
installed, what os was running on, and the QT library.
Now the problem. The problem is that, when the grid is in edit mode, if
you press a cursor key the cursor does not move to the adiacent cell; it
does not stop: it travels all the cells until it stops on the upper-left
cell, or the lower-right one. By doing this, it scrolls the tableview up
or down, and if the cursor key was Left or Right, it goes to the
right-most or left-most, then wraps around and restarts. For every
visited cell a Click event is generated. Note that in the sample program
there was no Click handler, just to shows precisely that my program does
nothing strange in the click handler (by doing nothing, you can't do
anything strange). Now you see that I was not complaining about
gotfocus, or "not editable" cells, or anything else. I say that a single
key press should move the cursor by a single cell, not travel the whole
tableview.
Now the history.
1. I discovered the error on one machine, with an updated debian stable,
gambas v. 2.15.2, libqt-mt.so.3.3.8, while working on an old
application. Suspecting that the complexity of the application could
have hide something, I wrote a new project (the sample program). Same
error. Then I tried it on the other machine: same OS, same libraries,
same X server - only gambas different: version 2.0.0. No error.
2. I posted a message on the list, to ask if someone else saw the same
error. Two users confirmed it - one gambas 2.16, another with gambas
2.17. So the problem is alive, on at least three machines.
3. I tried on a third machine. Same os, same libraries, gambas 2.15,
same remote X server. Identical situation. No error.
4. Now I am at home. Same os, same libraries, gambas 2.0.0. No error.
At this point, if someone tells me that I have to modify the program to
make it work, I ask myself _why_ it works (I have seen more machines on
which the program works well than machines where the problem shows up).
On my machines, which are four, I've seen the problem only once. But two
users on this list confirmed the error. So, it seems to be an error
which shows up rarely, if we want to say so.
The only idea I have now is to go back to my first machine and
investigate more. It is very difficult to investigate on an error if
that error does not show up...
Now I ask you: you say you added a Click event to make the program work
properly. Why you did so? Why you say this event handler was missing?
What was the "wrong" behaviour, when the event handler was missing?
I wait for your reply; the next week I will work again on the original
machine (the only one where I saw the problem), and I am determined to
see over the fog.
Regards,
--
Doriano Blengino
"Listen twice before you speak.
This is why we have two ears, but only one mouth."
More information about the User
mailing list