ComboBrowseView.st
author Jan Vrany <jan.vrany@labware.com>
Thu, 09 Feb 2023 14:03:49 +0000
branchjv
changeset 6265 09ae5bbed69e
parent 4770 6634b540fea2
permissions -rw-r--r--
Cherry-picked Ruler.st from a3177d4a9ae5: * b2a3ee58d40c: #UI_ENHANCEMENT by exept, Claus Gittinger <cg@exept.de>
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 1998 by eXept Software AG
3150
e3a55f15ef7e package information
Claus Gittinger <cg@exept.de>
parents: 1283
diff changeset
     3
	      All Rights Reserved
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
4770
6634b540fea2 Added PluggableHierarchicalList to define ad-hoc tree models.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3150
diff changeset
    12
"{ Package: 'stx:libwidg2' }"
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
4770
6634b540fea2 Added PluggableHierarchicalList to define ad-hoc tree models.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3150
diff changeset
    14
"{ NameSpace: Smalltalk }"
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
ComboBoxView subclass:#ComboBrowseView
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:'browseAction'
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:''
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	category:'Views-Interactors'
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!ComboBrowseView class methodsFor:'documentation'!
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
copyright
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
 COPYRIGHT (c) 1998 by eXept Software AG
3150
e3a55f15ef7e package information
Claus Gittinger <cg@exept.de>
parents: 1283
diff changeset
    28
	      All Rights Reserved
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 This software is furnished under a license and may be used
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 only in accordance with the terms of that license and with the
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 be provided or otherwise made available to, or used by, any
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 other person.  No title to or ownership of the software is
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 hereby transferred.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
!
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
documentation
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    This combines a text-input field with a '...'-Button.
1281
94b22cb9c19f documentation
Claus Gittinger <cg@exept.de>
parents: 1167
diff changeset
    44
    The Button opens a fileSelection browser to allow selecting a file.
94b22cb9c19f documentation
Claus Gittinger <cg@exept.de>
parents: 1167
diff changeset
    45
    The browse action can be changed programatically via the #browseAction:
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    method.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
    [author:]
3150
e3a55f15ef7e package information
Claus Gittinger <cg@exept.de>
parents: 1283
diff changeset
    49
	Claus Gittinger
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
!
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
examples
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
  non MVC operation:
3150
e3a55f15ef7e package information
Claus Gittinger <cg@exept.de>
parents: 1283
diff changeset
    56
									[exBegin]
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
     |top b|
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
     top := StandardSystemView new.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
     top extent:(300 @ 200).
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
     b := ComboBrowseView in:top.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
     b origin:(0.0 @ 0.0) corner:(1.0 @ 0.0).
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
     b bottomInset:(b preferredExtent y negated).
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
     top open.
3150
e3a55f15ef7e package information
Claus Gittinger <cg@exept.de>
parents: 1283
diff changeset
    67
									[exEnd]
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
  model operation:
3150
e3a55f15ef7e package information
Claus Gittinger <cg@exept.de>
parents: 1283
diff changeset
    72
									[exBegin]
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
     |model top b|
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
     model := 'foo' asValue.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
     top := StandardSystemView new.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
     top extent:(300 @ 200).
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
     b := ComboBrowseView in:top.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
     b origin:(0.0 @ 0.0) corner:(1.0 @ 0.0).
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
     b bottomInset:(b preferredExtent y negated).
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
     b model:model.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
     top openModal.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
     Transcript showCR:('entered value: ' , model value).
3150
e3a55f15ef7e package information
Claus Gittinger <cg@exept.de>
parents: 1283
diff changeset
    88
									[exEnd]
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
! !
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
!ComboBrowseView class methodsFor:'defaults'!
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
buttonForm
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
    "return the pull-buttons image"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
    ^ '...'
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
    "Created: / 13.10.1998 / 16:38:45 / cg"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
! !
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
!ComboBrowseView methodsFor:'accessing'!
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
browseAction
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    "return the value of the instance variable 'browseAction' (automatically generated)"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    ^ browseAction
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    "Created: / 13.10.1998 / 16:46:59 / cg"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
!
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
browseAction:something
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
    "set the value of the instance variable 'browseAction' (automatically generated)"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
    browseAction := something.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
    "Created: / 13.10.1998 / 16:46:59 / cg"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
! !
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
!ComboBrowseView methodsFor:'initialization'!
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
initialize
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
    super initialize.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
1283
60bd413544f4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1281
diff changeset
   126
"/    self font:(Font family:'helvetica' size:10).
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
    browseAction := [FileSelectionBrowser open]
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    "Created: / 13.10.1998 / 16:47:46 / cg"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
!
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
initializeButton
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
    super initializeButton.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
    pullDownButton enable.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
    pullDownButton pressAction:[self openBrowser].
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
    "Created: / 13.10.1998 / 16:39:50 / cg"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
!
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
openBrowser
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
    |s|
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
    s := browseAction value.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
    pullDownButton turnOff.
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
    s notNil ifTrue:[
3150
e3a55f15ef7e package information
Claus Gittinger <cg@exept.de>
parents: 1283
diff changeset
   146
	field contents:s.
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
    ]
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
    "Created: / 13.10.1998 / 16:40:56 / cg"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
    "Modified: / 13.10.1998 / 16:47:56 / cg"
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
! !
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
!ComboBrowseView class methodsFor:'documentation'!
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
version
3150
e3a55f15ef7e package information
Claus Gittinger <cg@exept.de>
parents: 1283
diff changeset
   156
    ^ '$Header: /cvs/stx/stx/libwidg2/ComboBrowseView.st,v 1.4 2006-11-13 16:11:29 cg Exp $'
1167
4451606328d2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
! !
4770
6634b540fea2 Added PluggableHierarchicalList to define ad-hoc tree models.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3150
diff changeset
   158