eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'PointFromUserController':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: PointFromUserController


Inheritance:

   Object
   |
   +--Controller
      |
      +--ButtonController
         |
         +--PointFromUserController

Package:
stx:libwidg
Category:
Interface-Support-Controllers
Version:
rev: 1.2 date: 2017/04/10 06:41:31
user: cg
file: PointFromUserController.st directory: libwidg
module: stx stc-classLibrary: libwidg

Description:


drags a rectangle.

An instance of me can be installed temporarily as controller of any view,
to let the user select a rectangular area from the view.

Use the utility method:
    dragRectangleIn:aView thenDo:action
which does exactly that for your (and cares to restore any original controller)    



Class protocol:

utilities
o  pointFromUserIn: aView thenDo: action
wait for a button press in aView


Instance protocol:

accessing
o  action: aBlock
set the block which will be called when the point has been picked.
The block will be called with a nil arg, if escape is pressed

o  pressPoint

event handling
o  buttonPress: button x: x y: y
(comment from inherited method)
simulate momentary loss of focus to force accept into models in other components

o  buttonRelease: button x: x y: y
(comment from inherited method)
button was released - if enabled, perform releaseaction

o  keyPress: key x: x y: y
actually, this is for the escape key (to abort a drag operation)


Examples:


|v c| v := View new openAndWait. c := PointFromuserController new. c action:[:point | Transcript showCR:point ]. v openAndWait. v controller:c.

ST/X 7.1.0.0; WebServer 1.663 at exept.de:8081; Sat, 17 Nov 2018 08:38:45 GMT