FlyByWindowInformation.st
author Claus Gittinger <cg@exept.de>
Sun, 01 Feb 2015 14:16:33 +0100
changeset 3178 58100b56595d
parent 3065 311d632319d9
child 3212 c973eab410cb
permissions -rw-r--r--
class: MenuEditor fixed the following redraw bug in ModelListView (which is already fixed in SelectionInListView): if a colored item is shown with selection, the color attribute should be removed (or relaxed), to avoid drawing the label invisible. I.e. if the text color is blue or grey, and the selection bg is blue. we should draw white-on-blue, instead of blue/grey on blue. For this to work, the info whether drawing a selection must be passed down through the renderer to the item's draw routine.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2587
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
     1
"
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
     2
 COPYRIGHT (c) 2008 by eXept Software AG
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
     3
              All Rights Reserved
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
     4
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
     5
 This software is furnished under a license and may be used
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
     6
 only in accordance with the terms of that license and with the
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
     8
 be provided or otherwise made available to, or used by, any
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
     9
 other person.  No title to or ownership of the software is
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    10
 hereby transferred.
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    11
"
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool2' }"
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
FlyByHelp subclass:#FlyByWindowInformation
2699
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
    15
	instanceVariableNames:'lastApplication lastView cleanupAction finishSemaphore finished'
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	classVariableNames:''
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	poolDictionaries:''
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	category:'Interface-Help'
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!FlyByWindowInformation class methodsFor:'documentation'!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
2587
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    23
copyright
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    24
"
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    25
 COPYRIGHT (c) 2008 by eXept Software AG
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    26
              All Rights Reserved
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    27
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    28
 This software is furnished under a license and may be used
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    29
 only in accordance with the terms of that license and with the
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    31
 be provided or otherwise made available to, or used by, any
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    32
 other person.  No title to or ownership of the software is
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    33
 hereby transferred.
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    34
"
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    35
!
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
    36
3065
311d632319d9 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 3058
diff changeset
    37
documentation
311d632319d9 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 3058
diff changeset
    38
"
311d632319d9 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 3058
diff changeset
    39
    I implement a tooltip, which presents a number of interesting facts
311d632319d9 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 3058
diff changeset
    40
    about the window under the mouse pointer, and also offer keyboard
311d632319d9 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 3058
diff changeset
    41
    shortcuts to quickly open browsers and/or inspectors on the view under the
311d632319d9 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 3058
diff changeset
    42
    pointer.
311d632319d9 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 3058
diff changeset
    43
    Enabled via the Launcher's 'FlyBy Window Information' menu item.
311d632319d9 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 3058
diff changeset
    44
"
311d632319d9 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 3058
diff changeset
    45
!
311d632319d9 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 3058
diff changeset
    46
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
examples
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
"
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    self shownInformationOfViewUnderMouseUntilButtonIsPressed
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
"
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
shownInformationOfViewUnderMouseUntilButtonIsPressed
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    self start waitUntilFinished
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    "
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
     self shownInformationOfViewUnderMouseUntilButtonIsPressed
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
    "
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
! !
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
!FlyByWindowInformation methodsFor:'accessing'!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
2699
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
    63
cleanupAction:something 
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    cleanupAction := something.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
lastApplication
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    ^ lastApplication
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
lastView
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
    ^ lastView
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
! !
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
2543
7ad308542625 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2493
diff changeset
    75
!FlyByWindowInformation methodsFor:'defaults'!
7ad308542625 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2493
diff changeset
    76
7ad308542625 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2493
diff changeset
    77
flyByHelpTimeoutMillis
7ad308542625 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2493
diff changeset
    78
    ^ 1000
7ad308542625 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2493
diff changeset
    79
! !
7ad308542625 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2493
diff changeset
    80
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
!FlyByWindowInformation methodsFor:'event handling'!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
2340
e51e52c8e849 code cleanup (arg-names)
Claus Gittinger <cg@exept.de>
parents: 2314
diff changeset
    83
buttonMotion:buttonAndModifierState x:x y:y view:aView
2702
96f1dbce3d00 changed:5 methods
Claus Gittinger <cg@exept.de>
parents: 2700
diff changeset
    84
    finished == true ifTrue:[^ self].
96f1dbce3d00 changed:5 methods
Claus Gittinger <cg@exept.de>
parents: 2700
diff changeset
    85
2340
e51e52c8e849 code cleanup (arg-names)
Claus Gittinger <cg@exept.de>
parents: 2314
diff changeset
    86
    super buttonMotion:buttonAndModifierState x:x y:y view:aView.
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    ^ true
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
buttonPress:button x:x y:y view:aView
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
    self stop.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
    ^ true
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
keyPress:key x:x y:y view:aView
2943
e7d181ac8f06 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
    96
    <resource: #keyboard (#Escape #Return)>
e7d181ac8f06 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
    97
2823
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
    98
    |obj objToInspect objToBrowse lcKey|
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
    key == #Escape ifTrue:[
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
        self stop.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
        ^ true
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
    ].
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
2435
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   105
    key == $? ifTrue:[
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   106
        [
2836
a2e82ebd3bc3 changed: #keyPress:x:y:view: check if WindowTreeView class is present
Stefan Vogel <sv@exept.de>
parents: 2824
diff changeset
   107
            WindowTreeView notNil ifTrue:[
a2e82ebd3bc3 changed: #keyPress:x:y:view: check if WindowTreeView class is present
Stefan Vogel <sv@exept.de>
parents: 2824
diff changeset
   108
                WindowTreeView openOn:(lastView topView) initialSelection:lastView.
a2e82ebd3bc3 changed: #keyPress:x:y:view: check if WindowTreeView class is present
Stefan Vogel <sv@exept.de>
parents: 2824
diff changeset
   109
            ] ifFalse:[
a2e82ebd3bc3 changed: #keyPress:x:y:view: check if WindowTreeView class is present
Stefan Vogel <sv@exept.de>
parents: 2824
diff changeset
   110
                self warn:'WindowTreeView class is not present!!'.
a2e82ebd3bc3 changed: #keyPress:x:y:view: check if WindowTreeView class is present
Stefan Vogel <sv@exept.de>
parents: 2824
diff changeset
   111
            ].
2435
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   112
        ] fork.
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   113
        self stop.
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   114
        ^ true.
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
    ].
2435
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   116
2823
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   117
    key == #Return ifTrue:[
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   118
        objToBrowse := lastApplication ? lastView
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   119
    ].
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   120
2435
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   121
    key isCharacter ifTrue:[
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   122
        lcKey := key asLowercase.
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   123
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   124
        lcKey == $a ifTrue:[
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   125
            obj := lastApplication
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   126
        ].
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   127
        lcKey == $o ifTrue:[
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   128
            lastView notNil ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   129
                obj := lastView model
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   130
            ].
2435
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   131
        ].
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   132
        lcKey == $m ifTrue:[
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   133
            lastApplication notNil ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   134
                obj := lastApplication masterApplication
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   135
            ]
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   136
        ].
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   137
        lcKey == $t ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   138
            lastApplication notNil ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   139
                obj := lastApplication topApplication
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   140
            ].
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
        ].
2435
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   142
        lcKey == $v ifTrue:[
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   143
            obj := lastView
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   144
        ].
2939
5e2872ba0b95 changed:
Claus Gittinger <cg@exept.de>
parents: 2847
diff changeset
   145
        lcKey == $g ifTrue:[
5e2872ba0b95 changed:
Claus Gittinger <cg@exept.de>
parents: 2847
diff changeset
   146
            obj := lastView windowGroup
5e2872ba0b95 changed:
Claus Gittinger <cg@exept.de>
parents: 2847
diff changeset
   147
        ].
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   148
        lcKey == $w ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   149
            lastView notNil ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   150
                obj := lastView topView
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   151
            ]
2435
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   152
        ].
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   153
        obj notNil ifTrue:[
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   154
            key isLowercase ifTrue:[
2823
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   155
                objToInspect := obj
2435
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   156
            ] ifFalse:[
2823
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   157
                objToBrowse := obj
2435
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   158
            ].
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   159
        ].
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    ].
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
2823
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   162
    objToInspect notNil ifTrue:[
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   163
        [ objToInspect inspect ] forkAt:(Processor userSchedulingPriority).
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   164
    ].
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   165
    objToBrowse notNil ifTrue:[
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   166
        [ objToBrowse browse ] forkAt:(Processor userSchedulingPriority).
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   167
    ].
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   168
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
    ^ true
2823
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   170
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   171
    "Modified: / 12-11-2010 / 11:51:04 / cg"
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
! !
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
!FlyByWindowInformation methodsFor:'help texts'!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
helpTextFor:aView at:aPointOrNil
2699
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
   177
    "generate the text to be shown as popup-flyby info"
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
   178
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   179
    |resources|
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   180
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
    lastView := aView.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
    lastApplication := aView application.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   184
    resources := self class classResources.
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   185
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   186
    ^ Text streamContents:[:s |
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   187
        |topViewToInspect applicationToInspect 
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   188
         masterApplicationToInspect topApplicationToInspect modelToInspect
2939
5e2872ba0b95 changed:
Claus Gittinger <cg@exept.de>
parents: 2847
diff changeset
   189
         genComponentNameForApplication windowGroupToInspect|
2700
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   190
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   191
        genComponentNameForApplication := 
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   192
            [:app :s |
2700
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   193
                (app notNil 
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   194
                and:[ app builder notNil ]) ifTrue:[
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   195
                    |components v|
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   196
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   197
                    components := app builder namedComponents.
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   198
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   199
                    v := aView.
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   200
                    [   (components includes:v) not
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   201
                        and:[v container notNil]
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   202
                    ] whileTrue:[
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   203
                        v := v container.
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   204
                    ].
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   205
                    (components includes:v) ifTrue:[
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   206
                        |k|
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   207
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   208
                        k := components keyAtValue:v.
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   209
                        v == aView ifTrue:[
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   210
                            s nextPutLine:('       component: ' , k).
2700
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   211
                        ] ifFalse:[
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   212
                            s nextPutLine:('       subview of component: ' , k).
2700
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   213
                        ].
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   214
                    ].
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   215
                ].
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   216
            ].
2314
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   217
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
        aView topView ~~ aView ifTrue:[
2314
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   219
            topViewToInspect := aView topView.
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
        ].
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
        lastApplication notNil ifTrue:[
2314
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   222
            applicationToInspect := lastApplication.
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   223
            masterApplicationToInspect := lastApplication masterApplication.
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   224
            masterApplicationToInspect notNil ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   225
                masterApplicationToInspect == applicationToInspect ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   226
                    masterApplicationToInspect := nil
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   227
                ] ifFalse:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   228
                    topApplicationToInspect := masterApplicationToInspect topApplication.
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   229
                    topApplicationToInspect == masterApplicationToInspect ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   230
                        topApplicationToInspect := nil
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   231
                    ]
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   232
                ].
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   233
            ]
2314
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   234
        ].
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   235
        aView model notNil ifTrue:[
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   236
            modelToInspect := aView model.
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   237
            ((modelToInspect == applicationToInspect)
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   238
            or:[ modelToInspect == masterApplicationToInspect ]) ifTrue:[
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   239
                modelToInspect := nil.
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
            ].
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
        ].
2314
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   242
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   243
        applicationToInspect notNil ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   244
            s nextPutLine:(resources string:'Application: %1' with:applicationToInspect class name allBold).
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   245
            genComponentNameForApplication value:applicationToInspect value:s.
2314
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   246
        ].
2700
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   247
        masterApplicationToInspect notNil ifTrue:[
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   248
            s nextPutLine:(resources string:'Master-Application: %1' with:masterApplicationToInspect class name allBold).
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   249
            "/ genComponentNameForApplication value:masterApplicationToInspect value:s.
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   250
        ].
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   251
        topApplicationToInspect notNil ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   252
            s nextPutLine:(resources string:'Top-Application: %1' with:topApplicationToInspect class name allBold).
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   253
            "/ genComponentNameForApplication value:topApplicationToInspect value:s.
2700
bad11f9b735f #helpTextFor:at: - also show component's name
Claus Gittinger <cg@exept.de>
parents: 2699
diff changeset
   254
        ].
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   255
        s nextPutLine:(resources string:'View: %1 "%2"' with:aView class name allBold with:aView name).
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   256
        topViewToInspect notNil ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   257
            s nextPutLine:(resources string:'Topview: %1' with:topViewToInspect class name allBold).
2314
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   258
        ].
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   259
        modelToInspect notNil ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   260
            s nextPutLine:(resources string:'Model: %1' with:modelToInspect class name allBold).
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   261
        ].
2699
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
   262
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
        s cr.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
        s nextPutLine:'Press:'.
2435
f803a14907b4 ? - command added
Claus Gittinger <cg@exept.de>
parents: 2352
diff changeset
   265
        s nextPutLine:'    ? to show the viewtree'.
2314
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   266
        applicationToInspect notNil ifTrue:[
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
            s nextPutLine:'    a to inspect application (A to browse)'.
2314
e65082256c46 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2300
diff changeset
   268
            masterApplicationToInspect notNil ifTrue:[
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
                s nextPutLine:'    m to inspect masterApplication (M to browse)'.
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   270
                topApplicationToInspect notNil ifTrue:[
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   271
                    s nextPutLine:'    t to inspect masterApplication (T to browse)'.
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   272
                ]
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
            ].
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
        ].
2823
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   275
        s nextPutLine:'    v to inspect view (V to browse)'.
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   276
        topViewToInspect notNil ifTrue:[
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   277
            s nextPutLine:'    w to inspect topWindow (W to browse)'.
2823
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   278
        ].
2939
5e2872ba0b95 changed:
Claus Gittinger <cg@exept.de>
parents: 2847
diff changeset
   279
        aView windowGroup notNil ifTrue:[
5e2872ba0b95 changed:
Claus Gittinger <cg@exept.de>
parents: 2847
diff changeset
   280
            s nextPutLine:'    g to inspect windowGroup'.
5e2872ba0b95 changed:
Claus Gittinger <cg@exept.de>
parents: 2847
diff changeset
   281
        ].
2823
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   282
        modelToInspect notNil ifTrue:[
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   283
            s nextPutLine:'    o to inspect model (O to browse)'.
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   284
        ].
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   285
        s cr.
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   286
        s nextPutLine:'RETURN to browse application.'.
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   287
        s nextPutAll:'ESC or click to leave flyBy-info mode.'.
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
    ]
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
    "
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
     self shownInformationOfViewUnderMouseUntilButtonIsPressed
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    "
2823
cd54d69eec13 changed:
Claus Gittinger <cg@exept.de>
parents: 2710
diff changeset
   293
2824
34ec9ea82209 changed:
Claus Gittinger <cg@exept.de>
parents: 2823
diff changeset
   294
    "Modified: / 12-11-2010 / 11:54:59 / cg"
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
! !
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
2710
0ce76feb3f91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2702
diff changeset
   297
!FlyByWindowInformation methodsFor:'private'!
0ce76feb3f91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2702
diff changeset
   298
3058
d7792b7a50b7 more control over the shape style
Claus Gittinger <cg@exept.de>
parents: 2943
diff changeset
   299
activeHelpViewForApplication:applicationOrNil text:helpText onDevice:aDevice
d7792b7a50b7 more control over the shape style
Claus Gittinger <cg@exept.de>
parents: 2943
diff changeset
   300
    ^ (ActiveHelpView for:helpText onDevice:aDevice) shapeStyle:nil.
d7792b7a50b7 more control over the shape style
Claus Gittinger <cg@exept.de>
parents: 2943
diff changeset
   301
!
d7792b7a50b7 more control over the shape style
Claus Gittinger <cg@exept.de>
parents: 2943
diff changeset
   302
2847
65280fe44707 category of: #handleMouseIn:x:y:
Claus Gittinger <cg@exept.de>
parents: 2836
diff changeset
   303
handleMouseIn:aView x:x y:y
65280fe44707 category of: #handleMouseIn:x:y:
Claus Gittinger <cg@exept.de>
parents: 2836
diff changeset
   304
    finished == true ifTrue:[^ self].
65280fe44707 category of: #handleMouseIn:x:y:
Claus Gittinger <cg@exept.de>
parents: 2836
diff changeset
   305
    super handleMouseIn:aView x:x y:y
65280fe44707 category of: #handleMouseIn:x:y:
Claus Gittinger <cg@exept.de>
parents: 2836
diff changeset
   306
!
65280fe44707 category of: #handleMouseIn:x:y:
Claus Gittinger <cg@exept.de>
parents: 2836
diff changeset
   307
2710
0ce76feb3f91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2702
diff changeset
   308
targetViewInitiatesHelpViaSensor
0ce76feb3f91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2702
diff changeset
   309
    ^ false
0ce76feb3f91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2702
diff changeset
   310
! !
0ce76feb3f91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2702
diff changeset
   311
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
!FlyByWindowInformation methodsFor:'queries'!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
toolTipFollowsMouse
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
    ^ true
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
! !
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
!FlyByWindowInformation methodsFor:'start & stop'!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
2699
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
   320
initiateHelpFor:aView at:aPointOrNil
2710
0ce76feb3f91 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2702
diff changeset
   321
    self initiateHelpFor:aView at:aPointOrNil now:true
2699
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
   322
!
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
   323
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
   324
initiateHelpFor:aView at:aPointOrNil now:showItNow
2702
96f1dbce3d00 changed:5 methods
Claus Gittinger <cg@exept.de>
parents: 2700
diff changeset
   325
    finished == true ifTrue:[^ self].
2699
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
   326
    super initiateHelpFor:aView at:aPointOrNil now:showItNow
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
   327
!
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
   328
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
start
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
    |l|
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
2702
96f1dbce3d00 changed:5 methods
Claus Gittinger <cg@exept.de>
parents: 2700
diff changeset
   332
    finished == true ifTrue:[^ self].
96f1dbce3d00 changed:5 methods
Claus Gittinger <cg@exept.de>
parents: 2700
diff changeset
   333
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
    l := FlyByHelp currentHelpListener.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
    l notNil ifTrue:[
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
        FlyByHelp stop.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
        cleanupAction := [ FlyByHelp start ].
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
    ].
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
    finishSemaphore := Semaphore new.
2699
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
   340
    finished := false.
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
    super start.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
stop
2699
22dd96b4e37f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2587
diff changeset
   345
    finished := true.
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
    super stop.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
    cleanupAction value.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
    finishSemaphore notNil ifTrue:[
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
        finishSemaphore signalIf.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
    ].
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
waitUntilFinished
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
    finishSemaphore wait.
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
! !
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
!FlyByWindowInformation class methodsFor:'documentation'!
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
2587
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
   359
version_CVS
81f38cd168a7 added: #copyright
Claus Gittinger <cg@exept.de>
parents: 2543
diff changeset
   360
    ^ '$Header$'
2300
afddc24415dc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
! !
2943
e7d181ac8f06 class: FlyByWindowInformation
Claus Gittinger <cg@exept.de>
parents: 2939
diff changeset
   362