The Sliding Click

You have defined a window with many controls.
Positions of them are very precise.
You spent a lot of time to place them.
And then, you click on one control : just a small click, very short, to edit the control.
And then what ? → the control is moved ! No, you are sure you didn’t want to move the mouse during the click. Despite that, the control is moved !

In fact, during the short click, the mouse can’t stay exactly at the same place (especially the Apple mouse).

So, question : Why not waiting a small time (0,5 second or more) before starting detecting a mouse move ?
We should have the click first, and then, the mouse move is detected and every one wi’ll be happy.

This “Sliding click" is a dayly problem for us. We have to take care each time we click on a control…

3 Likes

If you wish to prevent this, you can lock controls by selecting them then clicking the Lock button in the visual editor toolbar:
image

This is a solution, but can cause problems too.

Sure, there are scenarios where this functionality is undesirable or doesn’t work exactly as one might expect, but it should get the job done more or less.

I personally don’t select controls by clicking in the visual editor often and, instead, select them via the navigator unless I actually plan to move them.

1 Like

It can be the quickest way to get to the control in the Navigator, so you can e.g. examine its event handlers.

Sure, it’s just not the way I do it, and doesn’t present me with the associated issues.

When I see that happen I just do a quick Cmd+Z to undo the move (well, suppose it is Ctrl+Z for Windows…) then more carefully click again. But I also tend to select in the navigator when convenient, for this very reason.

1 Like

Yep : CMD-Z is a friend…
Selection in the navigator is an other solution too but can be tricky if there are plenty of controls : often, their names displayed in the navigator can’t help us to choose the good control.

I don’t know if you already do this, but I usually try to name my controls something indicative of their purpose (with the exception of labels – unless they have some function or will change value as part of a process – which I toss in a ControlSet on Desktop and just ignore on Web). It helps a great deal in these scenarios.

  • Button1 → btnOK
  • Label1 → lblStatus
  • ListBox1 → lstMembers
  • PopupMenu1 → pmType

Or, more recently, as I’ve been spending too much time in JavaScript:

  • Button1 → buttonOK
  • Label1 → labelStatus
  • ListBox1 → listMembers
  • PopupMenu1 → popupType

oh yes, I do that :slight_smile:
But if you have 2 ou 4 textfields for dates, 4 or 10 textfields for plenty of different things to display and enter, you have to click on each to see if it the good one…
What is EdtFldDateForSomething ? And what is EdtFldDateForSomethingElse ? or EdtFldDateForOtherThing ?=> all are displayed the same way. So a direct click on a control is finally the best (fastest) way to select a control.

You could switch how you build the names. So Instead of ‘EdtFldDateForSomething’ use ‘DateForSomethingEdtFld’. Naming things this way would also mean that related fields eg: ‘DateForSomethingLabel’ & ‘DateForSomethingEdtFld’ would be next to each other in the Navigator which can be useful.

I also find this to be super-annoying. It doesn’t happen in other graphics editing software like Draw programs, just in Xojo. It happens so frequently that I’m almost afraid to click on a control. No matter how hard I try to keep the mouse motionless, the control still ends up moving. We shouldn’t need workarounds for something like this.

3 Likes

The sliding click is as old as Realbasic and is super annoying. With a mouse or trackpad it’s not too bad. But with my Wacom tablet this happens ALL THE TIME. And it happens only in Xojo.

2 Likes