ComboBrowseView.st
author Jan Vrany <jan.vrany@labware.com>
Fri, 02 Sep 2022 11:25:39 +0100
branchjv
changeset 6261 9b7eb7159d29
parent 4770 6634b540fea2
permissions -rw-r--r--
Fix loong standing bug with some menus not being translated / resolved This has happened with browser "View" menu when sometimes it had the slice resolved and sometimes not. It turned out that it was because the code disabled resources (and therefore slices) resolution when processing shortcuts, so the menu was created and cached unresolved. This fixes the issue. eXept apparently run into the same problem.
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