DataSetView.st
author Claus Gittinger <cg@exept.de>
Sun, 29 Aug 1999 18:56:13 +0200
changeset 1495 edd56c071260
parent 1487 fd003e2156cc
child 2090 af478f964ac0
permissions -rw-r--r--
update examples
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     1
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     2
 COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     3
              All Rights Reserved
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     4
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     5
 This software is furnished under a license and may be used
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
e22c45e26653 intitial checkin
ca
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    10
 hereby transferred.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    11
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    12
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    13
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    14
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    15
1487
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
    16
ScrollableView subclass:#DataSetView
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
    17
	instanceVariableNames:''
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    18
	classVariableNames:''
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    19
	poolDictionaries:''
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    20
	category:'Views-DataSet'
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    21
!
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    22
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    23
!DataSetView class methodsFor:'documentation'!
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    24
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    25
copyright
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    26
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    27
 COPYRIGHT (c) 1997 by Claus Gittinger / eXept Software AG
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    28
              All Rights Reserved
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    29
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    30
 This software is furnished under a license and may be used
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    31
 only in accordance with the terms of that license and with the
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    33
 be provided or otherwise made available to, or used by, any
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    34
 other person.  No title to or ownership of the software is
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    35
 hereby transferred.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    36
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    37
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    38
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    39
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    40
!
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    41
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    42
documentation
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    43
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    44
    This class implements a selection list view based on rows and columns.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    45
    It allows for the dynamic editing of this information.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    46
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    47
    [author:]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    48
        Claus Atzkern
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    49
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    50
    [see also:]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    51
        DataSetColumnSpec
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    52
        DataSetColumn
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    53
        DSVColumnView
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    54
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    55
!
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    56
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    57
examples
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    58
"
619
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    59
    example 1: list with valid rows of type Array
611
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    60
                                                                                [exBegin]
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    61
    |top scr columns rows bool rdWtSel|
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
    62
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
    63
    top  := StandardSystemView new label:'Simple Test'; extent:700@440.
611
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    64
    scr  := DataSetView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:top.
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    65
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    66
    columns := OrderedCollection new.
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    67
    rows    := OrderedCollection new.
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    68
    bool    := true.
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    69
    rdWtSel := #( #at: #at:put: ).
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    70
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    71
    1 to:1000 do:[:i||n|
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    72
        n := i printString.
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    73
        rows add:(Array with:('text: ', n) with:('input: ', n) with:bool).
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    74
        bool := bool not.
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    75
    ].
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    76
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    77
    columns add:(DataSetColumnSpec label:'Text'   editorType:#None        selector:rdWtSel).
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    78
    columns add:(DataSetColumnSpec label:'Input'  editorType:#InputField  selector:rdWtSel).
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    79
    columns add:(DataSetColumnSpec label:'Toggle' editorType:#CheckToggle selector:rdWtSel).
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    80
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    81
    scr columnDescriptors:columns.
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    82
    scr list:rows.
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    83
    top open.
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    84
                                                                                [exEnd]
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    85
7fb299f3f542 implement writeSelector
ca
parents: 607
diff changeset
    86
619
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    87
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    88
    example 2: list with none valid rows; defining #rowIfAbsent: block
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    89
                                                                                [exBegin]
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    90
    |top scr columns bool rdWtSel|
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    91
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
    92
    top  := StandardSystemView new label:'Row Is Absent'; extent:700@440.
619
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    93
    scr  := DataSetView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:top.
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    94
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    95
    columns := OrderedCollection new.
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    96
    bool    := true.
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    97
    rdWtSel := #( #at: #at:put: ).
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    98
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
    99
    columns add:(DataSetColumnSpec label:'Text'   editorType:#None        selector:rdWtSel).
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   100
    columns add:(DataSetColumnSpec label:'Input'  editorType:#InputField  selector:rdWtSel).
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   101
    columns add:(DataSetColumnSpec label:'Toggle' editorType:#CheckToggle selector:rdWtSel).
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   102
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   103
    scr rowIfAbsent:[:i|
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   104
        bool := bool not.
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   105
        Array with:('text: ', i printString) with:('input: ') with:bool
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   106
    ].
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   107
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   108
    scr columnDescriptors:columns.
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   109
    scr list:(Array new:1000).
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   110
    top open.
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   111
                                                                                [exEnd]
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   112
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   113
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   114
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   115
    example 3: list with valid rows of type Structure
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   116
                                                                                [exBegin]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   117
    |top scr clDc rows slct list idx bool|
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   118
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   119
    top  := StandardSystemView new label:'Editors'; extent:700@440.
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   120
    scr  := DataSetView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:top.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   121
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   122
    clDc := OrderedCollection new.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   123
    rows := OrderedCollection new.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   124
    list := #( 'Text ' 'Field ' 'C-Box ' 'C-List ' true    #( 'foo' 'bar' 'baz' ) ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   125
    slct := #( #text   #field   #cbox    #clist    #toggle #choices               ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   126
    idx  := 11.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   127
    bool := true.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   128
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   129
    20 timesRepeat:[ |values|
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   130
        values := list collect:[:n|
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   131
            n isString ifTrue:[n, idx printString]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   132
                      ifFalse:[n == true ifTrue:[bool] ifFalse:[n]]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   133
        ].
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   134
        rows add:(Structure newWith:slct values:values).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   135
        bool := bool not.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   136
        idx  := idx + 1.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   137
    ].
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   138
    clDc add:( DataSetColumnSpec label:'Text'   editorType:#None        selector:#text ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   139
    clDc add:( DataSetColumnSpec label:'Text'   editorType:#None        selector:#text ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   140
    clDc add:( DataSetColumnSpec label:'Field'  editorType:#InputField  selector:#field ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   141
    clDc add:( DataSetColumnSpec label:'C-Box'  editorType:#ComboBox    selector:#cbox ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   142
    clDc last choices:#choices.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   143
    clDc add:( DataSetColumnSpec label:'C-List' editorType:#ComboList   selector:#clist ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   144
    clDc last choices:#choices.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   145
    clDc add:( DataSetColumnSpec label:'Toggle' editorType:#CheckToggle selector:#toggle ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   146
607
a5e0c2bf1370 support of multiple select:rows
ca
parents: 570
diff changeset
   147
    scr has3Dseparators:true.
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   148
    scr columnDescriptors:clDc.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   149
    scr list:rows.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   150
    top open.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   151
                                                                                [exEnd]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   152
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   153
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   154
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   155
619
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   156
    example 4: table includes a row selector and multiple select is enabled
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   157
                                                                                [exBegin]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   158
    |top scr clDc rows slct list idx bool|
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   159
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   160
    top  := StandardSystemView new label:'Multiple Select'; extent:700@440.
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   161
    scr  := DataSetView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:top.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   162
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   163
    clDc := OrderedCollection new.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   164
    rows := OrderedCollection new.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   165
    list := #( 'Text ' 'Field ' 'C-Box ' 'C-List ' true    #( 'foo' 'bar' 'baz' ) ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   166
    slct := #( #text   #field   #cbox    #clist    #toggle #choices               ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   167
    idx  := 11.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   168
    bool := true.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   169
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   170
    20 timesRepeat:[ |values|
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   171
        values := list collect:[:n|
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   172
            n isString ifTrue:[n, idx printString]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   173
                      ifFalse:[n == true ifTrue:[bool] ifFalse:[n]]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   174
        ].
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   175
        rows add:(Structure newWith:slct values:values).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   176
        bool := bool not.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   177
        idx  := idx + 1.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   178
    ].
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   179
    clDc add:( DataSetColumnSpec rowSelector ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   180
    clDc add:( DataSetColumnSpec label:'Text'   editorType:#None        selector:#text ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   181
    clDc add:( DataSetColumnSpec label:'Text'   editorType:#None        selector:#text ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   182
    clDc add:( DataSetColumnSpec label:'Field'  editorType:#InputField  selector:#field ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   183
    clDc add:( DataSetColumnSpec label:'C-Box'  editorType:#ComboBox    selector:#cbox ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   184
    clDc last choices:#choices.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   185
    clDc add:( DataSetColumnSpec label:'C-List' editorType:#ComboList   selector:#clist ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   186
    clDc last choices:#choices.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   187
    clDc add:( DataSetColumnSpec label:'Toggle' editorType:#CheckToggle selector:#toggle ).
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   188
607
a5e0c2bf1370 support of multiple select:rows
ca
parents: 570
diff changeset
   189
    scr has3Dseparators:true.
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   190
    scr columnDescriptors:clDc.
619
4a919c3f5f04 add examples
ca
parents: 611
diff changeset
   191
    scr multipleSelectOk:true.
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   192
    scr list:rows.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   193
    top open.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   194
                                                                                [exEnd]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   195
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   196
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   197
    example 5: Images and Layout
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   198
                                                                                [exBegin]
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   199
    |top scr columns rows colDesc image text|
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   200
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   201
    text := 'Text'.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   202
    rows := Array new:1000.
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   203
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   204
    1 to:(rows size) do:[:i|
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   205
        rows at:i put:(Array with:('Id: ', i printString) with:text with:text)
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   206
    ].
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   207
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   208
    columns := OrderedCollection new.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   209
    image   := Image fromFile:('xpmBitmaps/misc_tools/box_full.xpm' ).
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   210
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   211
    colDesc := DataSetColumnSpec label:(LabelAndIcon icon:image string:'Left') selector:#at:.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   212
    colDesc labelAlignment:#left.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   213
    colDesc columnAlignment:#left.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   214
    columns add:colDesc.
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   215
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   216
    colDesc := DataSetColumnSpec label:(LabelAndIcon icon:image string:'Right') selector:#at:.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   217
    colDesc labelAlignment:#right.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   218
    colDesc columnAlignment:#right.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   219
    columns add:colDesc.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   220
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   221
    colDesc := DataSetColumnSpec label:(LabelAndIcon icon:image string:'Center') selector:#at:.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   222
    colDesc labelAlignment:#center.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   223
    colDesc columnAlignment:#center.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   224
    columns add:colDesc.
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   225
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   226
    columns do:[:el|el labelActionSelector:#dummy].
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   227
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   228
    top := StandardSystemView new label:'Layout'; extent:500@500.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   229
    scr := DataSetView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:top.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   230
    scr has3Dseparators:true.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   231
    scr columnDescriptors:columns.
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   232
    scr list:rows.
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   233
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   234
    top open
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   235
                                                                                [exEnd]
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   236
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   237
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   238
1487
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   239
    example 6: adding and removing
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   240
                                                                                [exBegin]
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   241
    |top scr list|
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   242
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   243
    top  := StandardSystemView new label:'Adding & Removing'; extent:600@440.
1487
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   244
    scr  := DataSetView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:top.
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   245
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   246
    scr columnDescriptors:( Array with:(DataSetColumnSpec label:'FOO' selector:#at:)
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   247
                                  with:(DataSetColumnSpec label:'BAR' selector:#at:)
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   248
                                  with:(DataSetColumnSpec label:'BAZ' selector:#at:)
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   249
                          ).
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   250
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   251
    scr has3Dseparators:true.
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   252
    scr listHolder:(list := List new).
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   253
    top openAndWait.
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   254
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   255
    1 to:32 do:[:i| |pid|
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   256
        pid := i printString.
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   257
        list add:(Array with:('foo: ', pid) with:('bar: ', pid) with:('baz: ', pid)).
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   258
        i even ifTrue:[
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   259
            list removeFirst
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   260
        ].       
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   261
        Delay waitForSeconds:0.1.
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   262
    ].
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   263
                                                                                [exEnd]
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   264
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   265
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   266
"
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   267
! !
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   268
1326
7ec8697bad24 category change
Claus Gittinger <cg@exept.de>
parents: 1314
diff changeset
   269
!DataSetView methodsFor:'initialize / release'!
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   270
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   271
initialize
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   272
    "set column area
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   273
    "
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   274
    super initialize.
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   275
1487
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   276
    self setupVertical:true mini:false horizontal:true mini:true.
fd003e2156cc bug fixes + rework
Claus Gittinger <cg@exept.de>
parents: 1483
diff changeset
   277
    self scrolledView:(DSVColumnView new labelView:(DSVLabelView in:self)).
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   278
! !
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   279
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   280
!DataSetView methodsFor:'queries'!
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   281
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   282
specClass
637
e56ec99923ae VW compatible
ca
parents: 619
diff changeset
   283
    "returns my spec class
e56ec99923ae VW compatible
ca
parents: 619
diff changeset
   284
    "
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   285
    ^ DataSetSpec
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   286
! !
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   287
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   288
!DataSetView class methodsFor:'documentation'!
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   289
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   290
version
1495
edd56c071260 update examples
Claus Gittinger <cg@exept.de>
parents: 1487
diff changeset
   291
    ^ '$Header: /cvs/stx/stx/libwidg2/DataSetView.st,v 1.31 1999-08-29 16:56:13 cg Exp $'
542
e22c45e26653 intitial checkin
ca
parents:
diff changeset
   292
! !