xquery/XQuery__Workspace.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 02 Jul 2018 08:46:01 +0200
changeset 305 bad21c4f64bf
parent 296 ea3dbc023c80
permissions -rw-r--r--
Tagged Smalltalk/X 8.0.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
235
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/xmlsuite/xquery' }"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: XQuery }"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
Perseus::Workspace subclass:#Workspace
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'workspaceUI documentProvider parserClass'
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'XQuery-UI'
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!Workspace methodsFor:'accessing'!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
documentProvider
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    ^ documentProvider
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    "Created: / 15-12-2006 / 07:45:45 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
    "Modified: / 15-12-2006 / 08:52:45 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
    "Modified: / 22-10-2008 / 10:09:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
documentProvider:anXPathDocumentProvider
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    documentProvider := anXPathDocumentProvider.
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    "Created: / 15-12-2006 / 07:45:45 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
workspaceUI
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    ^ workspaceUI
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    "Created: / 12-12-2006 / 13:36:33 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
workspaceUI:aWorkspaceUI
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    workspaceUI := aWorkspaceUI.
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    "Created: / 12-12-2006 / 13:36:33 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
! !
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
!Workspace methodsFor:'events'!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
keyPress:key x:x y:y
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    <resource: #keyboard (#Ctrld #Ctrlp #Ctrli)>
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    (key == #Ctrld) ifTrue:[^ self doIt].
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
    (key == #Ctrli) ifTrue:[^ self inspectIt].
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    (key == #Ctrlp) ifTrue:[^ self printIt].
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
    ^super keyPress:key x:x y:y.
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    "Created: / 10-02-2007 / 10:34:35 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    "Modified: / 12-04-2007 / 13:27:40 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
! !
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
!Workspace methodsFor:'initialization & release'!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
executeDoIt:aString
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    ^self interpreter
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
        setDocumentProvider: self documentProvider;
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
        evaluate: aString
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    "Created: / 12-12-2006 / 12:46:24 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    "Modified: / 29-08-2007 / 09:44:15 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
! !
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
!Workspace methodsFor:'menu & menu actions'!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
doIt
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    "user selected 'doIt' from menu; show a wait-cursor, evaluate the code
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
     and finally restore cursor; return result of evaluation"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
    
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    |res|
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    "self indexClassToUse isNil ifFalse:[
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
        |selectedText|
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
        selectedText := self selectionOrTextOfCursorLine.
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
        interpreter indexClassToUse:self indexClassToUse.
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
        self do:(selectedText) withValueDo:[:result | res := result. ].
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
        workspaceUI 
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
            ifNotNil:[workspaceUI addResult:res].
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    ].
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    interpreter indexClassToUse:nil.
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    "
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    self do:(self selectionOrTextOfCursorLine) withValueDo:[:result | res := result. ].
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
    workspaceUI ifNotNil:[workspaceUI addResult:res]
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    "janfrogs ver"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    "^ self 
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
        do:(self selectionOrTextOfCursorLine)
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
            withValueDo:[:result | workspaceUI ifNotNil:[workspaceUI addResult: result]]"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
    "Created: / 12-12-2006 / 13:24:09 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    "Modified: / 14-11-2007 / 12:40:21 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    "Modified: / 20-11-2007 / 12:36:15 / beyboy"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
    "Modified: / 17-04-2008 / 10:02:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
doIt: theCode
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
    self documentProvider ifNotNil:
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
        [self interpreter setDocumentProvider: self documentProvider].
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
    ^super doIt: theCode.
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
    "Created: / 18-09-2008 / 18:03:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
    "Modified: / 01-12-2008 / 11:04:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
inspectIt
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
    "user selected 'inspectIt' from menu; use doIt to evaluate the code
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
     and start an inspector on the result"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
    |shifted|
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
    shifted := self sensor shiftDown.
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
    ^ self 
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
        do:(self selectionOrTextOfCursorLine) 
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
        withValueDo:[:result | shifted ifTrue:[result basicInspect] ifFalse:[result asDocumentFragment inspect] ]
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
    "Modified: / 16-05-1998 / 16:44:44 / cg"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
    "Created: / 12-12-2006 / 12:42:23 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
inspectQuery
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
    "user selected 'inspect query' from menu; use doIt to evaluate the code
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
     and start an inspector on the result"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
    |shifted ast |
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
    shifted := self sensor shiftDown.
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
    ast := self interpreter parse:(self selectionOrTextOfCursorLine).
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
    shifted 
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
        ifTrue:[ast basicInspect]
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
        ifFalse:[ast inspect]
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
        "/(self selectionOrTextOfCursorLine)
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
    "Modified: / 16-05-1998 / 16:44:44 / cg"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
    "Created: / 12-04-2007 / 12:50:28 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
    "Modified: / 31-10-2007 / 12:28:36 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
    "Modified: / 18-09-2008 / 18:03:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
printIt
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
    "user selected 'printIt' from menu; use doIt to evaluate the code
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
     and insert result of evaluation into my text.
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
     If the text is readOnly, do nothing."
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
    self isReadOnly ifTrue:[
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
        self beep
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
    ] ifFalse:[ 
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
        self 
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
            do:(self selectionOrTextOfCursorLine) 
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
            withValueDo:[:result | 
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
                self cursorLine:selectionEndLine col:(selectionEndCol + 1).
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
                self insertSelectedStringAtCursor:(result asDocumentFragment asColorXMLString "printString")
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
            ]
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    ]
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
    "Modified: / 16-05-1998 / 16:44:44 / cg"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
    "Created: / 12-12-2006 / 12:36:05 / janfrog"
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
! !
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
!Workspace class methodsFor:'documentation'!
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
241
e28ef0f20186 Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   172
version_SVN
e28ef0f20186 Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 235
diff changeset
   173
    ^ '$Id$'
235
e2a2fac1f45f Restore /trunk from r231
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
! !