Applying scripts that don't compile

Mark Waddingham mark at livecode.com
Sat Jul 2 15:20:43 EDT 2016


On 2016-07-02 21:04, Richard Gaskin wrote:
> We can't use widgets as part of our custom drawing apps that use the
> pointer tool?

Heh - I perhaps should have been much more specific there.

The tool used to interact with an object (its effective tool) is a 
function of the cantSelect property of it and its ancestors (the mode of 
the stack also affects this), and the currently selected tool. So, the 
'mode' in which an object runs is specific to the object.

If an object's effective tool is pointer, then it goes into 'edit mode' 
- you can see this in cards, in particular. Here, clicking on controls, 
or click-dragging on the canvas causes object selection to occur. 
Indeed, the behavior of most engine controls is slightly different if 
its effective tool is pointer (i.e. edit mode).

Widgets follow this pattern (as widgets are, basically, engine 
controls). When a widget changes effective tool, it gets notified of 
this so it can change its behavior appropriately.

A good example here is the browser widget. As native layers 'float 
above' all other objects and as such interfere with mouse events you 
want to handle somewhere else when editing, when it enters edit mode the 
native layer is hidden and you got a placeholder rendering.

There's a fair bit more work to do here in the future to make it much 
easier to write widgets which can be edited with pointer - many of the 
widgets we have already would benefit from this... For example, when in 
edit mode, you should really be able to interact with the individual 
buttons on a header bar, for example, to change their properties.

Warmest Regards,

Mark.

-- 
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps




More information about the use-livecode mailing list