WorkspaceApplication.st
author Claus Gittinger <cg@exept.de>
Wed, 17 Jul 2002 17:47:38 +0200
changeset 3736 687a0a8de66c
parent 3722 0a1edec5d83b
child 3752 79378c1f0faf
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:libtool' }"
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
ToolApplicationModel subclass:#WorkspaceApplication
3667
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
     4
	instanceVariableNames:'workspaces tabList selectedWorkspaceIndexHolder workspaceHolder
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
     5
		autoDefineWorkspaceVariables'
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
     6
	classVariableNames:'DefaultAutoDefineWorkspaceVariables'
3222
b95c86b3b511 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3214
diff changeset
     7
	poolDictionaries:''
b95c86b3b511 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3214
diff changeset
     8
	category:'Interface-Smalltalk'
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
3191
52879128b8a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
    11
!WorkspaceApplication class methodsFor:'documentation'!
52879128b8a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
    12
52879128b8a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
    13
documentation
52879128b8a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
    14
"
52879128b8a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
    15
    A simple wrapper around a WorkSpace-View, adding a pullDown menu.
52879128b8a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
    16
52879128b8a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
    17
    [author:]
52879128b8a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
    18
        Claus Gittinger
52879128b8a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
    19
"
52879128b8a3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3160
diff changeset
    20
! !
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
!WorkspaceApplication class methodsFor:'interface specs'!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
windowSpec
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
    "This resource specification was automatically generated
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
     by the UIPainter of ST/X."
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
    "Do not manually edit this!! If it is corrupted,
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
     the UIPainter may not be able to read the specification."
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
    "
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
     UIPainter new openOnClass:WorkspaceApplication andSelector:#windowSpec
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
     WorkspaceApplication new openInterface:#windowSpec
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
     WorkspaceApplication open
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
    "
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
    <resource: #canvas>
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
    ^ 
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
     #(#FullSpec
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
        #name: #windowSpec
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
        #window: 
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
       #(#WindowSpec
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
          #label: 'Workspace'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
          #name: 'Workspace'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
          #min: #(#Point 10 10)
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
          #max: #(#Point 1024 768)
3648
77e7128e230f oops - there was an invisible view in the spec
Claus Gittinger <cg@exept.de>
parents: 3532
diff changeset
    48
          #bounds: #(#Rectangle 177 150 609 391)
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
          #menu: #mainMenu
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
        )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
        #component: 
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
       #(#SpecCollection
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
          #collection: #(
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    54
           #(#NoteBookViewSpec
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    55
              #name: 'NoteBook1'
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    56
              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    57
              #model: #selectedWorkspaceIndexHolder
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    58
              #menu: #tabList
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    59
              #useIndex: true
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    60
              #accessTabMenuAction: #tabMenuAt:
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    61
              #canvas: #workspaceHolder
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    62
              #canvasInset: 0
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    63
              #canvasFrameLevel: 0
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    64
              #keepCanvasAlive: true
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    65
              #tabLevel: 2
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
    66
            )
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
           )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
         
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
        )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
      )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
! !
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
!WorkspaceApplication class methodsFor:'menu specs'!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
mainMenu
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    "This resource specification was automatically generated
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
     by the MenuEditor of ST/X."
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    "Do not manually edit this!! If it is corrupted,
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
     the MenuEditor may not be able to read the specification."
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    "
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
     MenuEditor new openOnClass:WorkspaceApplication andSelector:#mainMenu
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
     (Menu new fromLiteralArrayEncoding:(WorkspaceApplication mainMenu)) startUp
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    "
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    <resource: #menu>
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
    ^ 
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
     #(#Menu
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
        #(
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
         #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
            #label: 'File'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
            #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
            #submenu: 
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
           #(#Menu
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
              #(
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
               #(#MenuItem
3651
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
    99
                  #label: 'New Workspace'
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
                  #translateLabel: true
3651
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   101
                  #value: #newWorkspace
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   102
                )
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   103
               #(#MenuItem
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   104
                  #label: 'New SystemWorkspace'
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   105
                  #translateLabel: true
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   106
                  #value: #newSystemWorkspace
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
                  #label: '-'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
                  #label: 'Load File...'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
                  #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
                  #value: #menuLoad
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
                  #label: '-'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
                  #label: 'Save As...'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
                  #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
                  #value: #menuSaveAs
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
                  #label: '-'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
                  #label: 'Exit'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
                  #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
                  #value: #closeRequest
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
               )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
              nil
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
              nil
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
            )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
          )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
         #(#MenuItem
3736
687a0a8de66c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3722
diff changeset
   138
            #label: 'Buffers'
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   139
            #translateLabel: true
3651
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   140
            #nameKey: #Buffer
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   141
            #submenu: 
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   142
           #(#Menu
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   143
              #(
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   144
               #(#MenuItem
3222
b95c86b3b511 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3214
diff changeset
   145
                  #label: 'Add Buffer'
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   146
                  #translateLabel: true
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   147
                  #value: #addWorkspace
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   148
                )
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   149
               #(#MenuItem
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   150
                  #label: 'Rename...'
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   151
                  #translateLabel: true
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   152
                  #value: #renameWorkspace
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   153
                )
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   154
               #(#MenuItem
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   155
                  #label: '-'
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   156
                )
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   157
               #(#MenuItem
3222
b95c86b3b511 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3214
diff changeset
   158
                  #label: 'Remove Buffer'
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   159
                  #translateLabel: true
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   160
                  #value: #removeWorkspace
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   161
                  #enabled: #canRemoveWorkspace
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   162
                )
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   163
               )
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   164
              nil
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   165
              nil
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   166
            )
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   167
          )
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   168
         #(#MenuItem
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
            #label: 'Edit'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
            #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
            #submenu: 
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
           #(#Menu
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
              #(
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
                  #label: 'Copy'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
                  #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
                  #value: #copySelection
3391
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   178
                  #enabled: #hasSelectionInActiveWorkspace
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
                  #label: 'Cut'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
                  #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
                  #value: #cutSelection
3391
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   184
                  #enabled: #hasSelectionInActiveWorkspace
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
                  #label: 'Paste'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
                  #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
                  #value: #paste
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
               )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
              nil
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
              nil
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
            )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
          )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
         #(#MenuItem
3722
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   197
            #label: 'Workspace'
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   198
            #translateLabel: true
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   199
            #submenu: 
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   200
           #(#Menu
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   201
              #(
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   202
               #(#MenuItem
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   203
                  #label: 'Add Workspace Variable...'
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   204
                  #translateLabel: true
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   205
                  #value: #addWorkspaceVariable
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   206
                )
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   207
               #(#MenuItem
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   208
                  #label: 'Remove Workspace Variable...'
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   209
                  #translateLabel: true
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   210
                  #value: #removeWorkspaceVariable
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   211
                )
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   212
               #(#MenuItem
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   213
                  #label: '-'
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   214
                )
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   215
               #(#MenuItem
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   216
                  #label: 'Remove all Workspace Variables...'
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   217
                  #translateLabel: true
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   218
                  #value: #removeAllWorkspaceVariables
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   219
                )
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   220
         #(#MenuItem
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   221
            #label: 'Settings'
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   222
            #translateLabel: true
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   223
            #isVisible: false
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   224
            #submenu: 
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   225
           #(#Menu
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   226
              #(
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   227
               #(#MenuItem
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   228
                  #label: 'Autodefine Workspace Variables'
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   229
                  #translateLabel: true
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   230
                  #indication: #autoDefineWorkspaceVariables
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   231
                )
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   232
               )
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   233
              nil
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   234
              nil
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   235
            )
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   236
          )
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   237
               )
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   238
              nil
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   239
              nil
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   240
            )
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   241
          )
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   242
         #(#MenuItem
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
            #label: 'Smalltalk'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
            #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
            #submenu: 
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
           #(#Menu
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
              #(
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
                  #label: 'DoIt'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
                  #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
                  #value: #doIt
3391
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   252
                  #enabled: #hasSelectionInActiveWorkspace
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
                  #label: 'PrintIt'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
                  #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
                  #value: #printIt
3391
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   258
                  #enabled: #hasSelectionInActiveWorkspace
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
                  #label: 'InspectIt'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
                  #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
                  #value: #inspectIt
3391
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   264
                  #enabled: #hasSelectionInActiveWorkspace
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
                  #label: '-'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
               #(#MenuItem
3384
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   270
                  #label: 'TimeIt'
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   271
                  #translateLabel: true
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   272
                  #value: #timeIt
3391
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   273
                  #enabled: #hasSelectionInActiveWorkspace
3384
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   274
                )
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   275
               #(#MenuItem
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   276
                  #label: 'SpyOnIt'
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   277
                  #translateLabel: true
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   278
                  #value: #spyOnIt
3391
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   279
                  #enabled: #hasSelectionInActiveWorkspace
3384
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   280
                )
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   281
               #(#MenuItem
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   282
                  #label: '-'
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   283
                )
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   284
               #(#MenuItem
3383
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   285
                  #label: 'Browse Class'
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
                  #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
                  #value: #browseIt
3391
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   288
                  #enabled: #hasSelectionInActiveWorkspace
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
                )
3383
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   290
               #(#MenuItem
3710
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
   291
                  #label: 'Browse Implementors of It'
3383
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   292
                  #translateLabel: true
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   293
                  #value: #browseImplementorsOfIt
3391
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   294
                  #enabled: #hasSelectionInActiveWorkspace
3383
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   295
                )
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   296
               #(#MenuItem
3710
Claus Gittinger <cg@exept.de>
parents: 3667
diff changeset
   297
                  #label: 'Browse References to It'
3383
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   298
                  #translateLabel: true
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   299
                  #value: #browseReferencesToIt
3391
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   300
                  #enabled: #hasSelectionInActiveWorkspace
3383
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   301
                )
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
               )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
              nil
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
              nil
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
            )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
          )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
         #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
            #label: 'Help'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
            #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
            #startGroup: #right
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
            #submenu: 
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
           #(#Menu
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
              #(
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
                  #label: 'Documentation'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
                  #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
                  #value: #openDocumentation
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
               #(#MenuItem
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
                  #label: '-'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
               #(#MenuItem
3282
c871f7928ff2 menu label
Claus Gittinger <cg@exept.de>
parents: 3236
diff changeset
   323
                  #label: 'About this Application...'
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
                  #translateLabel: true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
                  #value: #openAboutThisApplication
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
                )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
               )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
              nil
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
              nil
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
            )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
          )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
         )
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
        nil
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
        nil
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
      )
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   336
!
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   337
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   338
tabMenu
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   339
    "This resource specification was automatically generated
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   340
     by the MenuEditor of ST/X."
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   341
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   342
    "Do not manually edit this!! If it is corrupted,
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   343
     the MenuEditor may not be able to read the specification."
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   344
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   345
    "
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   346
     MenuEditor new openOnClass:WorkspaceApplication andSelector:#tabMenu
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   347
     (Menu new fromLiteralArrayEncoding:(WorkspaceApplication tabMenu)) startUp
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   348
    "
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   349
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   350
    <resource: #menu>
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   351
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   352
    ^ 
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   353
     #(#Menu
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   354
        #(
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   355
         #(#MenuItem
3222
b95c86b3b511 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3214
diff changeset
   356
            #label: 'Add Buffer'
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   357
            #translateLabel: true
3651
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   358
            "/ #triggerOnDown: true
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   359
            #value: #addWorkspace
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   360
          )
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   361
         #(#MenuItem
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   362
            #label: 'Rename...'
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   363
            #translateLabel: true
3651
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   364
            "/ #triggerOnDown: true
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   365
            #value: #renameWorkspace:
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   366
          )
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   367
         #(#MenuItem
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   368
            #label: '-'
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   369
          )
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   370
         #(#MenuItem
3222
b95c86b3b511 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3214
diff changeset
   371
            #label: 'Remove Buffer'
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   372
            #translateLabel: true
3651
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   373
            "/ #triggerOnDown: true
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   374
            #value: #removeWorkspace:
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   375
            #enabled: #canRemoveWorkspace:
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   376
          )
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   377
         )
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   378
        nil
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   379
        nil
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   380
      )
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
! !
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
3332
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   383
!WorkspaceApplication class methodsFor:'special startup'!
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   384
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   385
openSystemWorkspace
3345
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   386
    |wsApp licenceView path needRemove|
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   387
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   388
    needRemove := true.
3332
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   389
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   390
    wsApp := self new.
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   391
    wsApp allButOpen.
3337
46dd799d3446 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3336
diff changeset
   392
    wsApp window extent:640@400.
3332
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   393
3345
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   394
    path := (Smalltalk getSystemFileName:'README') ?  '../../README'.
3532
e38c9dd404a2 care for missing workspace files
Claus Gittinger <cg@exept.de>
parents: 3507
diff changeset
   395
    (path notNil and:[path asFilename exists]) ifTrue:[
3345
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   396
        wsApp addWindow:(HVScrollableView for:Workspace) named:'README' asFirst:false.
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   397
        wsApp loadFile:path.
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   398
        wsApp removeWorkspace:1.  "/ the original Workspace
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   399
        needRemove := false.
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   400
    ].
3334
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   401
3346
Claus Gittinger <cg@exept.de>
parents: 3345
diff changeset
   402
"/    path := (Smalltalk getSystemFileName:'doc/online/english/LICENCE_STX.html') ?  '../../doc/online/english/LICENCE_STX.html'.
Claus Gittinger <cg@exept.de>
parents: 3345
diff changeset
   403
"/    path asFilename exists ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 3345
diff changeset
   404
"/        wsApp addWindow:(licenceView := HVScrollableView for:HTMLDocumentView) named:'License' asFirst:false.
Claus Gittinger <cg@exept.de>
parents: 3345
diff changeset
   405
"/        licenceView homeDocument:'../../doc/online/english/LICENCE_STX.html'.
Claus Gittinger <cg@exept.de>
parents: 3345
diff changeset
   406
"/        licenceView updateLabelFlag:false.
Claus Gittinger <cg@exept.de>
parents: 3345
diff changeset
   407
"/        needRemove ifTrue:[wsApp removeWorkspace:1].  "/ the original Workspace
Claus Gittinger <cg@exept.de>
parents: 3345
diff changeset
   408
"/        needRemove := false.
Claus Gittinger <cg@exept.de>
parents: 3345
diff changeset
   409
"/    ].
3332
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   410
3347
ee907655178a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3346
diff changeset
   411
    path := (Smalltalk getSystemFileName:'Keyboard.wsp').
3532
e38c9dd404a2 care for missing workspace files
Claus Gittinger <cg@exept.de>
parents: 3507
diff changeset
   412
    (path notNil and:[path asFilename exists]) ifTrue:[
3345
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   413
        wsApp addWindow:(HVScrollableView for:Workspace) named:'Keyboard' asFirst:false.
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   414
        wsApp loadFile:path.
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   415
        needRemove ifTrue:[wsApp removeWorkspace:1].  "/ the original Workspace
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   416
        needRemove := false.
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   417
    ].
3332
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   418
3347
ee907655178a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3346
diff changeset
   419
    path := (Smalltalk getSystemFileName:'Hello.wsp').
3532
e38c9dd404a2 care for missing workspace files
Claus Gittinger <cg@exept.de>
parents: 3507
diff changeset
   420
    (path notNil and:[path asFilename exists]) ifTrue:[
3345
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   421
        wsApp addWindow:(HVScrollableView for:Workspace) named:'Welcome' asFirst:false.
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   422
        wsApp loadFile:path.
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   423
        needRemove ifTrue:[wsApp removeWorkspace:1].  "/ the original Workspace
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   424
        needRemove := false.
7ddc24baa0b5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3337
diff changeset
   425
    ].
3332
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   426
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   427
    wsApp openWindow
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   428
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   429
    "
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   430
     self openSystemWorkspace
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   431
    "
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   432
! !
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   433
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
!WorkspaceApplication methodsFor:'accessing'!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   436
selectedWorkspace
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   437
    |wsIndex|
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   438
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   439
    workspaces isNil ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   440
        workspaces := OrderedCollection new.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   441
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   442
    wsIndex := self selectedWorkspaceIndexHolder value.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   443
    wsIndex == 0 ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   444
        ^ nil
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   445
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   446
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   447
    workspaces size < wsIndex ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   448
        workspaces grow:wsIndex.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   449
        workspaces at:wsIndex put:(HVScrollableView for:Workspace).
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   450
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   451
    ^ workspaces at:wsIndex
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   452
!
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   453
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   454
tabMenuAt:index
3196
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   455
    |m i ws|
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   456
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   457
    m := self class tabMenu.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   458
    m := m decodeAsLiteralArray.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   459
    i := m detectItem:[:item | item value == #removeWorkspace:] ifNone:nil.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   460
    i notNil ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   461
        i argument:index.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   462
        index ~~ self selectedWorkspaceIndexHolder value ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   463
            "/ for now: if that buffer is modified,
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   464
            "/ do not allow removing.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   465
            "/ (must be brought to front, in order for check-for-modification to work)
3196
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   466
            ws := workspaces at:index.
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   467
            (ws isKindOf:ScrollableView) ifTrue:[
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   468
                ws := ws scrolledView
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   469
            ].
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   470
            ((ws isKindOf:TextView) not
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   471
            or:[ ws modified ])
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   472
            ifTrue:[
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   473
                i disable
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   474
            ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   475
        ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   476
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   477
    i := m detectItem:[:item | item value == #renameWorkspace:] ifNone:nil.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   478
    i notNil ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   479
        i argument:index.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   480
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   481
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   482
    m findGuiResourcesIn:self.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   483
    ^ m
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   484
!
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   485
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   486
workspaceHolder
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   487
    workspaceHolder isNil ifTrue:[
3207
88ed12ce69a4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3198
diff changeset
   488
        workspaceHolder := ValueHolder with:(self selectedWorkspace).
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   489
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   490
    ^ workspaceHolder
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   491
! !
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   492
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   493
!WorkspaceApplication methodsFor:'aspects'!
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   494
3667
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   495
autoDefineWorkspaceVariables
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   496
    "does not work yet - needs more interaction with parser"
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   497
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   498
    autoDefineWorkspaceVariables isNil ifTrue:[
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   499
        autoDefineWorkspaceVariables := DefaultAutoDefineWorkspaceVariables asValue.
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   500
        autoDefineWorkspaceVariables onChangeSend:#autoDefineWorkspaceVariablesChanged to:self.
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   501
    ].
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   502
    ^ autoDefineWorkspaceVariables.
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   503
!
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   504
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   505
selectedWorkspaceIndexHolder
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   506
    selectedWorkspaceIndexHolder isNil ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   507
        selectedWorkspaceIndexHolder := 1 asValue.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   508
        selectedWorkspaceIndexHolder onChangeSend:#workspaceSelectionChanged to:self.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   509
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   510
    ^ selectedWorkspaceIndexHolder.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   511
!
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   512
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   513
tabList
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   514
    tabList isNil ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   515
        tabList := List new.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   516
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   517
    ^ tabList.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   518
! !
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   519
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   520
!WorkspaceApplication methodsFor:'aspects - queries'!
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   521
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   522
canRemoveWorkspace
3214
4c8ec2041cdb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3208
diff changeset
   523
    ^ self canRemoveWorkspace:(self selectedWorkspaceIndexHolder value)
4c8ec2041cdb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3208
diff changeset
   524
!
4c8ec2041cdb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3208
diff changeset
   525
4c8ec2041cdb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3208
diff changeset
   526
canRemoveWorkspace:idx
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   527
    ^ self tabList size > 1
3214
4c8ec2041cdb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3208
diff changeset
   528
"/       and:[ (self workspacesTextViewAt:(self selectedWorkspaceIndexHolder value))
3391
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   529
!
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   530
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   531
hasSelectionInActiveWorkspace
09fd110d1ea4 disable menu items; check for nothing selected
Claus Gittinger <cg@exept.de>
parents: 3384
diff changeset
   532
    ^ self selectedWorkspacesTextView selectionAsString size > 0
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
! !
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
!WorkspaceApplication methodsFor:'initialization & release'!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
closeRequest
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   538
    (self askIfModified:'Text was modified. Close anyway ?' yesButton:'Close') ifFalse:[
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
        ^ self
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
    ].
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
    ^ super closeRequest
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
! !
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
!WorkspaceApplication methodsFor:'menu actions'!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
3196
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   547
addWindow:aWindow named:name
3334
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   548
    self addWindow:aWindow named:name asFirst:false
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   549
!
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   550
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   551
addWindow:aWindow named:name asFirst:asFirst
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   552
    |tabList wsIndex newSelectedIndex|
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   553
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   554
    tabList := self tabList.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   555
    wsIndex := tabList size + 1.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   556
    wsIndex == 1 ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   557
        "/ first - add a name for the first tab
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   558
        tabList add:(self window label). "/ 'Workspace'.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   559
        wsIndex := wsIndex + 1.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   560
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   561
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   562
    workspaces grow:wsIndex.
3334
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   563
    asFirst ifTrue:[
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   564
        tabList addFirst:(name bindWith:wsIndex).
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   565
        workspaces replaceFrom:2 to:wsIndex with:workspaces startingAt:1.
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   566
        newSelectedIndex := 1.
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   567
    ] ifFalse:[
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   568
        tabList addLast:(name bindWith:wsIndex).
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   569
        newSelectedIndex := wsIndex.
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   570
    ].
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   571
    workspaces at:newSelectedIndex put:aWindow.
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   572
    self selectedWorkspaceIndexHolder value:newSelectedIndex.   
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   573
"/    workspaceHolder value:aWindow.
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   574
!
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   575
3196
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   576
addWorkspace
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   577
    self addWindow:(HVScrollableView for:Workspace) named:'Workspace%1'
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   578
!
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   579
3722
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   580
addWorkspaceVariable
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   581
    |name selection|
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   582
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   583
    selection := self selectedWorkspacesTextView selection ? ''.
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   584
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   585
    name := Dialog 
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   586
                request:'Name of new Workspace Variable:'
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   587
                initialAnswer:(selection asString string)
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   588
                okLabel:'Add'
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   589
                title:'Enter Variable Name'.
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   590
    name size == 0 ifTrue:[
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   591
        ^ self
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   592
    ].
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   593
    Workspace addWorkspaceVariable:name.
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   594
!
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   595
3667
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   596
autoDefineWorkspaceVariablesChanged
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   597
    "does not work yet - needs more interaction with parser"
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   598
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   599
    |doAutoDefine|
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   600
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   601
    doAutoDefine := autoDefineWorkspaceVariables value.
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   602
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   603
    DefaultAutoDefineWorkspaceVariables := doAutoDefine.
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   604
    workspaces do:[:each |
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   605
        each autoDefineWorkspaceVariables:doAutoDefine
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   606
    ].
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   607
!
12a7d71a6d3e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3651
diff changeset
   608
3198
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   609
basicInspectIt
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   610
    self inspectIt:true
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   611
!
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   612
3383
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   613
browseImplementorsOfIt
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   614
    self selectedWorkspacesTextView browseImplementorsOfIt
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   615
!
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   616
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   617
browseIt
3198
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   618
    self selectedWorkspacesTextView browseIt
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   619
!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   620
3383
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   621
browseReferencesToIt
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   622
    self selectedWorkspacesTextView browseReferencesToIt
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   623
!
fb3b6909bd1a + browseReferencesToIt & browserImplementorsOfIt
Claus Gittinger <cg@exept.de>
parents: 3347
diff changeset
   624
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   625
copySelection
3198
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   626
    self selectedWorkspacesTextView copySelection
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   627
!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   629
cutSelection
3198
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   630
    self selectedWorkspacesTextView cutSelection
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   631
!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   632
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
doIt
3198
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   634
    self selectedWorkspacesTextView doIt
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
inspectIt
3198
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   638
    self inspectIt:false
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   639
!
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   640
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   641
inspectIt:basic
3196
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   642
    |ws obj v|
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   643
3198
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   644
    ws := self selectedWorkspacesTextView.
3196
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   645
    ws
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   646
        do:(ws selection) 
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   647
        withValueDo:[:result | 
3208
853489060a4c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3207
diff changeset
   648
                        | cls resultString|
3196
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   649
3198
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   650
                        basic ifFalse:[
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   651
                            cls := result inspectorClass.
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   652
                        ].
3196
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   653
                        cls isNil ifTrue:[
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   654
                            cls := InspectorView
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   655
                        ].
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   656
                        v := cls new.
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   657
                        v inspect:result.
3208
853489060a4c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3207
diff changeset
   658
                        "/ v allowFollow:true.
853489060a4c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3207
diff changeset
   659
                        result isBehavior ifTrue:[
853489060a4c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3207
diff changeset
   660
                            resultString := result name
853489060a4c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3207
diff changeset
   661
                        ] ifFalse:[
853489060a4c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3207
diff changeset
   662
                            resultString := result classNameWithArticle
853489060a4c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3207
diff changeset
   663
                        ].
853489060a4c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3207
diff changeset
   664
                        self addWindow:v named:('Inspecting: ' , resultString).
3196
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   665
                    ]
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   666
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   667
"/    self selectedWorkspace inspectIt
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   668
!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   669
3332
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   670
loadFile:aFileName 
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   671
    |file ws lbl|
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   672
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   673
    file := aFileName asFilename.
3507
5020f3e4492f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3473
diff changeset
   674
    (ws := self selectedWorkspacesTextView) contents:file contents.
3332
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   675
    ws modified:false.
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   676
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   677
    lbl := file withoutSuffix baseName.
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   678
    tabList size <= 1 ifTrue:[
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   679
        self window label:lbl.
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   680
    ] ifFalse:[
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   681
        tabList at:self selectedWorkspaceIndexHolder value put:lbl
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   682
    ]
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   683
!
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   684
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
menuLoad
3332
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   686
    |file|
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   688
    (self askIfModified:'Text was modified. Load anyway ?' yesButton:'Load') ifFalse:[ ^ self].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   689
3469
4cb3d2184fea filter .wsp files
Claus Gittinger <cg@exept.de>
parents: 3391
diff changeset
   690
    file := Dialog requestFileName:'Load file:' default:'file.wsp' pattern:'*.wsp'.
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
    file size > 0 ifTrue:[
3332
91e39add4561 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3282
diff changeset
   692
        self loadFile:file
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
    ]
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
menuSaveAs
3473
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   697
    |file ws doAppend|
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   698
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   699
    doAppend := false.
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   700
    Dialog aboutToOpenBoxNotificationSignal handle:[:n |
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   701
        |box|
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   702
3473
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   703
        box := n parameter.
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   704
        box addButton:(Button label:'Append'
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   705
                            action:[doAppend := true. box okPressed]).
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   706
        n proceed.
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   707
    ] do:[
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   708
        file := Dialog requestFileName:'Save file:' default:'file.wsp'. 
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   709
    ].
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   710
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
    file size > 0 ifTrue:[
3473
1120657c3d2e added Append-option to saveAs
Claus Gittinger <cg@exept.de>
parents: 3469
diff changeset
   712
        (ws := self selectedWorkspacesTextView) saveAs:file doAppend:doAppend.
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   713
        ws modified:false.
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   714
    ]
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   715
!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   716
3334
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   717
newSystemWorkspace
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   718
    self class openSystemWorkspace
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   719
!
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   720
3651
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   721
newWorkspace
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   722
    self class open
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   723
!
65c74ea6803b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3648
diff changeset
   724
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   725
openDocumentation
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   726
    "opens the documentation file"
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   727
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
    self openHTMLDocument: 'tools/misc/TOP.html#WORKSPACE'
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
paste
3198
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   732
    self selectedWorkspacesTextView paste
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
printIt
3198
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   736
    self selectedWorkspacesTextView printIt
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   737
!
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   738
3722
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   739
removeAllWorkspaceVariables
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   740
    (Dialog confirm:'Do you really want to remove all Workspace Variables ?')
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   741
    ifTrue:[
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   742
        Workspace removeAllWorkspaceVariables
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   743
   ].
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   744
!
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   745
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   746
removeWorkspace
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   747
    self removeWorkspace:(self selectedWorkspaceIndexHolder value)
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   748
!
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   749
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   750
removeWorkspace:wsIndex
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   751
    |tabList newWsIndex|
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   752
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   753
    wsIndex == self selectedWorkspaceIndexHolder value ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   754
        (self askIfModified:'Text was modified. Remove anyway ?' yesButton:'Remove') ifFalse:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   755
            ^ self
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   756
        ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   757
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   758
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   759
    tabList := self tabList.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   760
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   761
    wsIndex == tabList size ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   762
        newWsIndex := wsIndex - 1.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   763
    ] ifFalse:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   764
        newWsIndex := wsIndex.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   765
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   766
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   767
    tabList removeIndex:wsIndex.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   768
    (workspaces at:wsIndex) destroy.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   769
    workspaces removeIndex:wsIndex.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   770
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   771
    tabList size == 1 ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   772
        self window label:(tabList at:1).
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   773
        tabList removeIndex:1
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   774
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   775
3334
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   776
    workspaceHolder value:(workspaces at:newWsIndex).
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   777
    self selectedWorkspaceIndexHolder value:newWsIndex.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   778
    "/ to force change (update workspaceHolder - even if same index)
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   779
    self selectedWorkspaceIndexHolder changed:#value.   
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   780
!
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   781
3722
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   782
removeWorkspaceVariable
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   783
    |name selection|
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   784
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   785
    selection := self selectedWorkspacesTextView selection ? ''.
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   786
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   787
    name := Dialog 
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   788
                request:'Variable to remove:'
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   789
                initialAnswer:(selection asString string)
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   790
                okLabel:'Remove'
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   791
                title:'Enter Variable Name'
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   792
                list:(Workspace workspaceVariables keys asOrderedCollection sort).      
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   793
    name size == 0 ifTrue:[
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   794
        ^ self
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   795
    ].
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   796
    Workspace removeWorkspaceVariable:name.
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   797
!
0a1edec5d83b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3710
diff changeset
   798
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   799
renameWorkspace
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   800
    self renameWorkspace:(self selectedWorkspaceIndexHolder value)
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   801
!
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   802
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   803
renameWorkspace:wsIndex
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   804
    |tabList oldName newName|
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   805
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   806
    tabList := self tabList.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   807
    tabList isEmpty ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   808
        oldName := self window label
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   809
    ] ifFalse:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   810
        oldName := tabList at:wsIndex.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   811
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   812
    newName := Dialog request:(resources string:'New Name for %1:' with:oldName) initialAnswer:oldName.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   813
    newName size == 0 ifTrue:[ ^ self].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   814
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   815
    tabList notEmpty ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   816
        tabList at:wsIndex put:newName.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   817
    ].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   818
    wsIndex == self selectedWorkspaceIndexHolder value ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   819
        self window label:newName.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   820
    ].
3384
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   821
!
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   822
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   823
spyOnIt
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   824
    self selectedWorkspacesTextView spyOnIt
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   825
!
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   826
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   827
timeIt
2be2f7e2a417 + timeIt & spyOnIt
Claus Gittinger <cg@exept.de>
parents: 3383
diff changeset
   828
    self selectedWorkspacesTextView timeIt
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   829
! !
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   830
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   831
!WorkspaceApplication methodsFor:'private'!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   832
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   833
askIfModified:question yesButton:yesButtonText
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   834
    "tell user, that code has been modified - let her confirm"
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   835
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   836
    |textView|
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   837
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   838
    textView := self selectedWorkspace.
3196
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   839
    (textView isKindOf:ScrollableView) ifTrue:[
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   840
        textView := textView scrolledView
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   841
    ].
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   842
    (textView isKindOf:TextView) ifFalse:[
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   843
        ^ true
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   844
    ].
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   845
    (textView modified not 
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   846
    or:[textView contentsWasSaved
86540e27b2e0 inspecting
Claus Gittinger <cg@exept.de>
parents: 3195
diff changeset
   847
    or:[textView contents withoutSeparators isEmpty]]) ifTrue:[
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   848
        ^ true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   849
    ].
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   850
    (Dialog 
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   851
        confirm:(resources string:question) withCRs
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   852
        yesLabel:(resources at:yesButtonText)
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   853
        noLabel:(resources at:'Cancel'))
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   854
    ifTrue:[
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   855
        "/ reset modified flag so question is asked only once
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   856
        textView modified:false.
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   857
        ^ true
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   858
    ].
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   859
    ^ false
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   860
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   861
    "Modified: 2.10.1997 / 14:23:47 / stefan"
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   862
!
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   863
3198
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   864
selectedWorkspacesTextView
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   865
    |textView|
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   866
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   867
    textView := self selectedWorkspace.
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   868
    (textView isKindOf:ScrollableView) ifTrue:[
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   869
        textView := textView scrolledView
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   870
    ].
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   871
    (textView isKindOf:TextView) ifTrue:[
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   872
        ^ textView
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   873
    ].
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   874
    ^ textView workspace
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   875
!
1c34cd12b80b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3196
diff changeset
   876
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   877
workspaceSelectionChanged
3334
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   878
    |wsIndex windowLabel v|
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   879
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   880
    "/ self selected
3334
3c6e88d38b59 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 3332
diff changeset
   881
    self workspaceHolder value:(v := self selectedWorkspace).
3193
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   882
    wsIndex := self selectedWorkspaceIndexHolder value.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   883
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   884
    wsIndex ~~ 0 ifTrue:[
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   885
        windowLabel := tabList at:wsIndex ifAbsent:nil.
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   886
        windowLabel notNil ifTrue:[self window label:windowLabel].
e35a94b5c2a0 multiple tabs
Claus Gittinger <cg@exept.de>
parents: 3191
diff changeset
   887
    ].
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   888
! !
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   889
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   890
!WorkspaceApplication class methodsFor:'documentation'!
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   891
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   892
version
3736
687a0a8de66c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3722
diff changeset
   893
    ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.33 2002-07-17 15:47:38 cg Exp $'
3154
859688212191 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   894
! !