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