SmallSense__DialogBox.st
author Jan Vrany <jan.vrany@labware.com>
Thu, 01 Jun 2023 20:20:33 +0100
changeset 1149 33f8a8571e92
parent 1144 93164087c56a
permissions -rw-r--r--
Fix class selection drop-in dialog Commit 93164087c56a added class selection dialog to SmallSense's `DialogBox`. This commit selever bugs in the implementation.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1143
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     1
"
1149
33f8a8571e92 Fix class selection drop-in dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1144
diff changeset
     2
COPYRIGHT (c) 2022-2023 LabWare
1143
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     3
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     4
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     5
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     6
This library is free software; you can redistribute it and/or
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     7
modify it under the terms of the GNU Lesser General Public
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     8
License as published by the Free Software Foundation; either
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
     9
version 2.1 of the License.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    10
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    11
This library is distributed in the hope that it will be useful,
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    14
Lesser General Public License for more details.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    15
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    16
You should have received a copy of the GNU Lesser General Public
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    17
License along with this library; if not, write to the Free Software
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    19
"
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    20
"{ Package: 'stx:goodies/smallsense' }"
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    21
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    22
"{ NameSpace: SmallSense }"
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    23
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    24
Smalltalk::DialogBox subclass:#DialogBox
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    25
	instanceVariableNames:''
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    26
	classVariableNames:'PreviousDialog'
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    27
	poolDictionaries:''
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    28
	category:'SmallSense-Core-Interface'
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    29
!
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    30
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    31
!DialogBox class methodsFor:'documentation'!
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    32
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    33
copyright
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    34
"
1149
33f8a8571e92 Fix class selection drop-in dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1144
diff changeset
    35
COPYRIGHT (c) 2022-2023 LabWare
1143
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    36
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    37
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    38
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    39
This library is free software; you can redistribute it and/or
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    40
modify it under the terms of the GNU Lesser General Public
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    41
License as published by the Free Software Foundation; either
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    42
version 2.1 of the License.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    43
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    44
This library is distributed in the hope that it will be useful,
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    45
but WITHOUT ANY WARRANTY; without even the implied warranty of
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    46
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    47
Lesser General Public License for more details.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    48
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    49
You should have received a copy of the GNU Lesser General Public
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    50
License along with this library; if not, write to the Free Software
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    51
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    52
"
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    53
!
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    54
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    55
documentation
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    56
"
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    57
    This is a drop-in replacement for stock DialogBox replacing old
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    58
    'smalltalk' dialogs with Smallsense ones.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    59
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    60
    [author:]
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    61
        Jan Vrany <jan.vrany@labware.com>
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    62
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    63
    [instance variables:]
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    64
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    65
    [class variables:]
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    66
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    67
    [see also:]
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    68
        DialogBox class, protocol 'smalltalk dialogs'
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    69
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    70
"
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    71
! !
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    72
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    73
!DialogBox class methodsFor:'installing'!
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    74
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    75
install
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    76
    | currentDialog |
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    77
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    78
    currentDialog := Smalltalk at: #Dialog.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    79
    (currentDialog isNil or: [ currentDialog ~~ self ]) ifTrue: [ 
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    80
        PreviousDialog := currentDialog.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    81
        Smalltalk at: #Dialog put: self.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    82
    ].
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    83
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    84
    "Created: / 02-09-2022 / 20:10:15 / Jan Vrany <jan.vrany@labware.com>"
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    85
!
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    86
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    87
uninstall
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    88
    | currentDialog |
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    89
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    90
    currentDialog := Smalltalk at: #Dialog.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    91
    currentDialog == self ifTrue: [ 
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    92
        Smalltalk at: #Dialog put: PreviousDialog.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    93
    ].
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    94
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    95
    "Created: / 02-09-2022 / 20:10:59 / Jan Vrany <jan.vrany@labware.com>"
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    96
! !
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    97
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    98
!DialogBox class methodsFor:'smalltalk dialogs'!
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
    99
1144
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   100
requestClassName:title list: classesOrNil okLabel:okLabel initialAnswer:initialTextOrNil
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   101
    "launch a Dialog, which allows user to enter a class name.
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   102
     Return the entered string (may be empty string) or nil (if cancel was pressed).
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   103
     The entryField does classNameCompletion on TAB."
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   104
1149
33f8a8571e92 Fix class selection drop-in dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1144
diff changeset
   105
    | dialog class |
1144
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   106
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   107
    UserPreferences current smallSenseNewDialogsEnabled ifFalse:[ 
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   108
        ^ super requestClassName:title list: classesOrNil okLabel:okLabel initialAnswer:initialTextOrNil
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   109
    ].
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   110
    dialog := SmallSense::ClassSelectDialog new.
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   111
    dialog title: title.
1149
33f8a8571e92 Fix class selection drop-in dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1144
diff changeset
   112
    dialog filter: [ :cls | classesOrNil isNil or:[classesOrNil includes: cls ] ].
1144
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   113
    initialTextOrNil notNil ifTrue: [
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   114
        dialog pattern: initialTextOrNil.
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   115
        dialog selection: initialTextOrNil.
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   116
    ].
1149
33f8a8571e92 Fix class selection drop-in dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1144
diff changeset
   117
    class := dialog open.
33f8a8571e92 Fix class selection drop-in dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1144
diff changeset
   118
    ^ class name
1144
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   119
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   120
    "Created: / 24-08-2022 / 14:45:09 / Jan Vrany <jan.vrany@labware.com>"
1149
33f8a8571e92 Fix class selection drop-in dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1144
diff changeset
   121
    "Modified: / 01-06-2023 / 19:42:27 / Jan Vrany <jan.vrany@labware.com>"
1144
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   122
!
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   123
1143
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   124
requestProject:title from:listOfProjects initialAnswer:initialTextOrNil suggestions:suggestions
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   125
    "Ask for a project (package-id)"
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   126
    | dialog |
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   127
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   128
    UserPreferences current smallSenseNewDialogsEnabled ifFalse:[ 
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   129
        ^ super requestProject:title from:listOfProjects initialAnswer:initialTextOrNil suggestions:suggestions.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   130
    ].
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   131
    dialog := SmallSense::PackageSelectDialog new.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   132
    dialog title: title.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   133
    dialog filter: [ :pkg | listOfProjects includes: pkg ].
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   134
    (initialTextOrNil notNil and:[initialTextOrNil ~~ PackageId noProjectID]) ifTrue:[
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   135
        initialTextOrNil isEmpty ifTrue:[
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   136
            suggestions size == 1 ifTrue:[
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   137
                dialog pattern:   suggestions anElement. 
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   138
                dialog selection: suggestions anElement. 
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   139
            ].
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   140
        ] ifFalse:[ 
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   141
            dialog pattern: initialTextOrNil.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   142
            dialog selection: initialTextOrNil.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   143
        ]
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   144
    ].
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   145
    ^ dialog open.
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   146
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   147
    "Created: / 24-08-2022 / 14:40:04 / Jan Vrany <jan.vrany@labware.com>"
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   148
! !
66b5c959cee1 Add `SmallSense::DialogBox` - a drop-in replacement for standard dialogs
Jan Vrany <jan.vrany@labware.com>
parents:
diff changeset
   149
1144
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   150
!DialogBox class methodsFor:'documentation'!
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   151
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   152
version_HG
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   153
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   154
    ^ '$Changeset: <not expanded> $'
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   155
! !
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 1143
diff changeset
   156