handling of mouse messages in widgets

Moderators: LCMark, LCfraser

trevordevore
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 851
Joined: Sat Apr 08, 2006 3:06 pm
Location: Overland Park, Kansas
Contact:

Re: handling of mouse messages in widgets

Post by trevordevore » Wed Aug 19, 2015 7:20 pm

@LCMark - How do you see the dragStart/Move/End messages being handled? Currently widgets do not pass those messages automatically and it seems that they should as drag should be handled in LC Script most of the time.
Trevor DeVore
ScreenSteps - http://www.screensteps.com

Levure Application Framework: https://github.com/trevordevore/levure
LiveCode Resources for Developers: http://livecode.bluemangolearning.com

pthirkell
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 85
Joined: Tue Nov 17, 2009 6:47 pm
Location: Wellington, New Zealand

Re: handling of mouse messages in widgets

Post by pthirkell » Sat Aug 29, 2015 3:12 am

OK well as Martin said, some of this discussion is above my pay grade! I have however been playing around in earnest with widgets since DP 3 was released, and have a couple of observations to make.

Firstly, it is probably obvious to the experienced among you, but I've just discovered that widgets support behaviors. This is very exciting and a big deal, because I will be able to replace buttons (which I drag around as nodes in a visual network on screen) with better configured widgets that will allow much more functionality (and visual appeal) for each node object.

This raises again however the question of what mouse messages widgets should (or shouldn't) receive. There was quite a discussion earlier in this thread on the point that buttons for example serve a very specific purpose - i.e. click on the button and it triggers an instruction or whatever. However I use buttons for quite a different purpose ... as objects that can be dragged around, made bigger and smaller, connected together with arrows, displaying different images selected by the user etc ... not at all the 'normal' purpose of a button. Initially I used graphic objects, but the advantage of buttons is that they can display an icon and show text, and so all of my "nodes" are in fact buttons. I plan with LC 8 to replace these buttons with widgets ... but I really hope that the commands routinely used to manage and move around my 'buttons' (mousedown, mouseup, mousemove, dragstart, dragenter, dragdrop etc) will still work by default with widgets.

What prompts me to write now is Trevor's comment that the 'mousemove' message doesn't seem to work with widgets. Is this a bug or an intended behaviour? There is a workaround ... (on mousestilldown; set the loc of me to the mouseloc; end mousestilldown) ... but it isn't nearly as smooth as mousemove - and also means that a number of my scripts will need to be rewritten as I replace my 'buttons' with widgets.

Of course I may be a bit weird in the way that I use buttons and will understand if there are more elegant solutions for how widgets should generally handle mouse messages. Nonetheless I thought that it might be helpful to report on how I use buttons in practice - in support of the comments by one or two others that you really can't predict how developers will use widgets in practice.

jameshale
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 204
Joined: Thu Sep 04, 2008 6:23 am
Location: Melbourne Australia

Re: handling of mouse messages in widgets

Post by jameshale » Wed Mar 01, 2017 2:55 am

So has anything come of this discussion?
It seems to have covered most bases and come to a near consensus as to the direction Mark was outlining but this was almost two years ago.
I have added a link to this discussion to http://quality.livecode.com/show_bug.cgi?id=17424 as this bug seemed closest to relevance.

Post Reply

Return to “LiveCode Builder”