WindowGroup.st
changeset 3780 69a0a7142c48
parent 3777 c09c9ef205f4
child 3786 8e238ec303d8
equal deleted inserted replaced
3779:84c9c261f510 3780:69a0a7142c48
    14 
    14 
    15 Object subclass:#WindowGroup
    15 Object subclass:#WindowGroup
    16 	instanceVariableNames:'graphicsDevice views topViews myProcess mySensor isModal
    16 	instanceVariableNames:'graphicsDevice views topViews myProcess mySensor isModal
    17 		previousGroup focusView focusSequence preEventHook postEventHook
    17 		previousGroup focusView focusSequence preEventHook postEventHook
    18 		pointerView isForModalSubview focusByTab groupHasFocus busyHook
    18 		pointerView isForModalSubview focusByTab groupHasFocus busyHook
    19 		busyHookTimeout inModalLoop preEventHooks postEventHooks'
    19 		busyHookTimeout inModalLoop preEventHooks postEventHooks
       
    20 		creatingProcess'
    20 	classVariableNames:'LastActiveGroup LastActiveProcess LeaveSignal
    21 	classVariableNames:'LastActiveGroup LastActiveProcess LeaveSignal
    21 		WindowGroupQuerySignal LastEventQuerySignal BusyHookTime'
    22 		WindowGroupQuerySignal LastEventQuerySignal BusyHookTime'
    22 	poolDictionaries:''
    23 	poolDictionaries:''
    23 	category:'Interface-Support'
    24 	category:'Interface-Support'
    24 !
    25 !
   442         aView hasKeyboardFocus:arg
   443         aView hasKeyboardFocus:arg
   443     ].
   444     ].
   444 ! !
   445 ! !
   445 
   446 
   446 !WindowGroup methodsFor:'accessing'!
   447 !WindowGroup methodsFor:'accessing'!
       
   448 
       
   449 creatingProcess
       
   450     "return the process which created this group or nil.
       
   451      Only returns non-nil for modal groups."
       
   452 
       
   453     ^ creatingProcess
       
   454 
       
   455     "Modified: / 17.8.1998 / 10:21:29 / cg"
       
   456 !
   447 
   457 
   448 device
   458 device
   449     "return the device, we receive our events from"
   459     "return the device, we receive our events from"
   450 
   460 
   451     <resource:#obsolete>
   461     <resource:#obsolete>
   930     "Modified: 20.8.1997 / 17:54:33 / cg"
   940     "Modified: 20.8.1997 / 17:54:33 / cg"
   931 !
   941 !
   932 
   942 
   933 startupModal:checkBlock forGroup:mainGroup
   943 startupModal:checkBlock forGroup:mainGroup
   934     "startup the window-group in a modal loop 
   944     "startup the window-group in a modal loop 
   935      (i.e. under the currently running process);
   945      (i.e. under the currently running process - NOT creating a new process);
   936      checkBlock is evaluated and loop is left, when false is
   946      checkBlock is evaluated and loop is left, when false is returned.
   937      returned.
       
   938      The mainGroup info is required to allow peeking into its
   947      The mainGroup info is required to allow peeking into its
   939      event queue in order for its expose/redraws to be handled."
   948      event queue in order for its expose/redraws to be handled."
   940 
   949 
   941     |prevActiveKeyboardGrab prevActivePointerGrab prevFocus device tops prevGroup|
   950     |prevActiveKeyboardGrab prevActivePointerGrab prevFocus device tops prevGroup|
   942 
   951 
   951         device := prevGroup graphicsDevice.
   960         device := prevGroup graphicsDevice.
   952         prevActiveKeyboardGrab := device activeKeyboardGrab.
   961         prevActiveKeyboardGrab := device activeKeyboardGrab.
   953         prevActivePointerGrab := device activePointerGrab.
   962         prevActivePointerGrab := device activePointerGrab.
   954     ].
   963     ].
   955     isModal := true.
   964     isModal := true.
       
   965 
       
   966     myProcess isNil ifTrue:[
       
   967         creatingProcess := Processor activeProcess
       
   968     ].
   956 
   969 
   957     mainGroup notNil ifTrue:[
   970     mainGroup notNil ifTrue:[
   958         "/ tell the other group, that some modal dialog has started.
   971         "/ tell the other group, that some modal dialog has started.
   959         mainGroup modalDialogStarts
   972         mainGroup modalDialogStarts
   960     ].
   973     ].
  2713 ! !
  2726 ! !
  2714 
  2727 
  2715 !WindowGroup class methodsFor:'documentation'!
  2728 !WindowGroup class methodsFor:'documentation'!
  2716 
  2729 
  2717 version
  2730 version
  2718     ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.250 2002-12-10 15:59:34 penk Exp $'
  2731     ^ '$Header: /cvs/stx/stx/libview/WindowGroup.st,v 1.251 2003-01-07 12:55:24 cg Exp $'
  2719 ! !
  2732 ! !
  2720 
  2733 
  2721 WindowGroup initialize!
  2734 WindowGroup initialize!