UIListEditor.st
author Claus Gittinger <cg@exept.de>
Sat, 29 Nov 2008 00:23:48 +0100
changeset 2437 079201bf7154
parent 2282 cc1eded4d84d
child 2588 2b4338afd9d5
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2282
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:libtool2' }"
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     2
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     3
SimpleDialog subclass:#UIListEditor
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'informationLabel listTextHolder useSymbolsHolder'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     7
	category:'Interface-UIPainter'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     8
!
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     9
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    10
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    11
!UIListEditor class methodsFor:'help specs'!
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    12
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    13
helpSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    14
    "This resource specification was automatically generated
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    15
     by the UIHelpTool of ST/X."
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    16
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    17
    "Do not manually edit this!! If it is corrupted,
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    18
     the UIHelpTool may not be able to read the specification."
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    19
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    20
    "
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    21
     UIHelpTool openOnClass:UIListEditor    
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    22
    "
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    23
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    24
    <resource: #help>
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    25
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    26
    ^ super helpSpec addPairsFrom:#(
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    27
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    28
#useSymbols
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    29
'Store list elements as symbols'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    30
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    31
)
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    32
! !
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    33
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    34
!UIListEditor class methodsFor:'interface specs'!
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    35
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    36
windowSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    37
    "This resource specification was automatically generated
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    38
     by the UIPainter of ST/X."
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    39
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    40
    "Do not manually edit this!! If it is corrupted,
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    41
     the UIPainter may not be able to read the specification."
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    42
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    43
    "
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    44
     UIPainter new openOnClass:UIListEditor andSelector:#windowSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    45
     UIListEditor new openInterface:#windowSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    46
     UIListEditor open
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    47
    "
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    48
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    49
    <resource: #canvas>
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    50
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    51
    ^ 
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    52
     #(FullSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    53
        name: windowSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    54
        window: 
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    55
       (WindowSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    56
          label: 'Edit List'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    57
          name: 'Edit List'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    58
          min: (Point 10 10)
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    59
          bounds: (Rectangle 0 0 354 422)
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    60
        )
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    61
        component: 
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    62
       (SpecCollection
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    63
          collection: (
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    64
           (LabelSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    65
              name: 'Label1'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    66
              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 28 0)
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    67
              translateLabel: true
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    68
              labelChannel: informationLabel
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    69
            )
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    70
           (TextEditorSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    71
              name: 'TextEditor1'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    72
              layout: (LayoutFrame 0 0 30 0 0 1 -63 1)
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    73
              model: listTextHolder
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    74
              hasHorizontalScrollBar: true
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    75
              hasVerticalScrollBar: true
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    76
              viewClassName: ''
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    77
            )
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    78
           (CheckBoxSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    79
              label: 'Use Symbols'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    80
              name: 'CheckBox1'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    81
              layout: (LayoutFrame 5 0 368 0 141 0 390 0)
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    82
              activeHelpKey: useSymbols
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    83
              model: useSymbolsHolder
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    84
              translateLabel: true
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    85
            )
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    86
           (HorizontalPanelViewSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    87
              name: 'HorizontalPanel1'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    88
              layout: (LayoutFrame 0 0 -33 1 0 1 0 1)
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    89
              horizontalLayout: fitSpace
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    90
              verticalLayout: center
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    91
              horizontalSpace: 3
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    92
              verticalSpace: 3
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    93
              component: 
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    94
             (SpecCollection
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    95
                collection: (
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    96
                 (ActionButtonSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    97
                    label: 'Cancel'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    98
                    name: 'Button1'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    99
                    translateLabel: true
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   100
                    model: doCancel
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   101
                    extent: (Point 172 22)
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   102
                  )
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   103
                 (ActionButtonSpec
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   104
                    label: 'OK'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   105
                    name: 'Button2'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   106
                    translateLabel: true
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   107
                    model: doAccept
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   108
                    isDefault: true
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   109
                    extent: (Point 173 22)
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   110
                  )
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   111
                 )
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   112
               
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   113
              )
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   114
            )
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   115
           )
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   116
         
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   117
        )
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   118
      )
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   119
! !
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   120
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   121
!UIListEditor methodsFor:'accessing'!
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   122
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   123
informationLabel
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   124
    ^ informationLabel
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   125
!
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   126
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   127
informationLabel:something
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   128
    informationLabel := something.
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   129
!
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   130
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   131
list
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   132
    "answer the list as an array"
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   133
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   134
    |list|
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   135
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   136
    list := self listTextHolder value asStringCollection asArray.
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   137
    self useSymbolsHolder value ifTrue:[
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   138
        list := list collect:[:e| e asSymbol].
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   139
    ].
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   140
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   141
    ^ list
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   142
!
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   143
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   144
list:anArray
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   145
    self listTextHolder value:anArray asStringCollection asString.
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   146
!
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   147
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   148
useSymbols:aBoolean
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   149
    self useSymbolsHolder value:aBoolean
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   150
! !
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   151
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   152
!UIListEditor methodsFor:'aspects'!
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   153
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   154
listTextHolder
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   155
    <resource: #uiAspect>
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   156
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   157
    listTextHolder isNil ifTrue:[
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   158
        listTextHolder := '' asValue.
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   159
    ].
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   160
    ^ listTextHolder.
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   161
!
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   162
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   163
useSymbolsHolder
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   164
    <resource: #uiAspect>
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   165
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   166
    useSymbolsHolder isNil ifTrue:[
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   167
        useSymbolsHolder := false asValue.
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   168
    ].
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   169
    ^ useSymbolsHolder.
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   170
! !
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   171
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   172
!UIListEditor class methodsFor:'documentation'!
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   173
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   174
version
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   175
    ^ '$Header$'
cc1eded4d84d initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   176
! !