FileDialogWithPreview.st
author Jan Vrany <jan.vrany@labware.com>
Sat, 30 Sep 2023 22:55:25 +0100
branchjv
changeset 19648 5df52d354504
parent 15566 184cea584be5
permissions -rw-r--r--
`TestRunner2`: do not use `#keysAndValuesCollect:` ...as semantics differ among smalltalk dialects. This is normally not a problem until we use code that adds this as a "compatibility" method. So to stay on a safe side, avoid using this method.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9768
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
     1
"
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
     2
 COPYRIGHT (c) 2011 by eXept Software AG
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
     3
              All Rights Reserved
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
     4
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
     5
 This software is furnished under a license and may be used
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
     6
 only in accordance with the terms of that license and with the
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
     8
 be provided or otherwise made available to, or used by, any
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
     9
 other person.  No title to or ownership of the software is
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    10
 hereby transferred.
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    11
"
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
FileDialog subclass:#FileDialogWithPreview
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	instanceVariableNames:'imagePreview'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	classVariableNames:''
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	poolDictionaries:''
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	category:'Interface-Tools-File'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
9768
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    21
!FileDialogWithPreview class methodsFor:'documentation'!
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    22
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    23
copyright
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    24
"
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    25
 COPYRIGHT (c) 2011 by eXept Software AG
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    26
              All Rights Reserved
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    27
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    28
 This software is furnished under a license and may be used
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    29
 only in accordance with the terms of that license and with the
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    31
 be provided or otherwise made available to, or used by, any
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    32
 other person.  No title to or ownership of the software is
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    33
 hereby transferred.
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    34
"
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    35
!
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    36
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    37
documentation
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    38
"
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    39
    a FileDialog with image preview
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    40
"
eb73532608b5 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9766
diff changeset
    41
! !
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
!FileDialogWithPreview class methodsFor:'interface specs'!
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
windowSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    "This resource specification was automatically generated
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
     by the UIPainter of ST/X."
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    "Do not manually edit this!! If it is corrupted,
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
     the UIPainter may not be able to read the specification."
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    "
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
     UIPainter new openOnClass:FileDialogWithPreview andSelector:#windowSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
     FileDialogWithPreview new openInterface:#windowSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
     FileDialogWithPreview open
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    "
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
    <resource: #canvas>
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    ^ 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
     #(FullSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
        name: windowSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
        window: 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
       (WindowSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
          label: 'FileDialog'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
          name: 'FileDialog'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
          min: (Point 10 10)
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
          bounds: (Rectangle 0 0 407 607)
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
          menu: mainMenu
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
          performer: treeBrowser
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
        )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
        component: 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
       (SpecCollection
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
          collection: (
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
           (VariableVerticalPanelSpec
12847
ed021bafe2ac class: Expecco::ExpeccoDebugView
Claus Gittinger <cg@exept.de>
parents: 9768
diff changeset
    76
              name: 'FilePanel'
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -30 1.0)
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
              showHandle: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
              handlePosition: center
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
              component: 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
             (SpecCollection
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
                collection: (
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
                 (ViewSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
                    name: 'FilePart'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
                    component: 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
                   (SpecCollection
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
                      collection: (
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
                       (MenuPanelSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
                          name: 'ToolBar1'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
                          layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 40 0)
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
                          tabable: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
                          menu: toolBarMenu
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
                          textDefault: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
                        )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
                       (VariableHorizontalPanelSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
                          name: 'DeviceAndFilterPanel'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
                          layout: (LayoutFrame 0 0 40 0 0 1 70 0)
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
                          level: 1
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
                          showHandle: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
                          component: 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
                         (SpecCollection
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
                            collection: (
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
                             (ViewSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
                                name: 'Box1'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
                                component: 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
                               (SpecCollection
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
                                  collection: (
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
                                   (ComboListSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
                                      name: 'ComboList1'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
                                      layout: (LayoutFrame 1 0 1 0.0 -1 1 -1 1)
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
                                      visibilityChannel: driveSelectorVisible
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
                                      model: selectedDeviceDrive
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
                                      comboList: listOfDeviceDrives
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
                                      useIndex: false
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
                                      hidePullDownMenuButton: false
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
                                    )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
                                   )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
                                 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
                                )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
                              )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
                             (ViewSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
                                name: 'Box2'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
                                component: 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
                               (SpecCollection
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
                                  collection: (
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
                                   (LabelSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
                                      label: 'Filter:'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
                                      name: 'FilterLabel'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
                                      layout: (LayoutFrame 1 0 2 0 59 0 -2 1)
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
                                      translateLabel: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
                                      adjust: right
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
                                    )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
                                   (InputFieldSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
                                      name: 'FilterEntryField'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
                                      layout: (LayoutFrame 60 0 -27 1 -2 1 -2 1)
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
                                      model: filterHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
                                      immediateAccept: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
                                      acceptOnReturn: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
                                      acceptOnTab: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
                                      acceptOnLostFocus: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
                                      acceptOnPointerLeave: false
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
                                      postBuildCallback: postBuildFilterField:
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
                                    )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
                                   )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
                                 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
                                )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
                              )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
                             )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
                           
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
                          )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
                          handles: (Any 0.2972972972973 1.0)
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
                        )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
                       (SubCanvasSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
                          name: 'DirectoryTreeBrowser'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
                          layout: (LayoutFrame 0 0.0 70 0 0 1.0 -30 1)
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
                          tabable: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
                          hasHorizontalScrollBar: false
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
                          hasVerticalScrollBar: false
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
                          majorKey: DirectoryTreeBrowser
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
                          subAspectHolders: 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
                         (Array
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
                            
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
                           (SubChannelInfoSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
                              subAspect: filterModel
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
                              aspect: filterHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
                            ) 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
                           (SubChannelInfoSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
                              subAspect: rootHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
                              aspect: rootDirectoryHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
                            )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
                            
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
                           (SubChannelInfoSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
                              subAspect: showHiddenFiles
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
                              aspect: showHiddenFiles
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
                            )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
                          )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
                          createNewApplication: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
                          createNewBuilder: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
                          postBuildCallback: postBuildTreeBrowser:
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
                        )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
                       (LabelSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
                          label: 'Filename:'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
                          name: 'FilenameLabel'
12876
a54015e67850 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12847
diff changeset
   184
                          layout: (LayoutFrame 3 0 -25 1 90 0 -1 1)
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
                          translateLabel: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
                          labelChannel: filenameLabelHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
                          adjust: left
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
                        )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
                       (FilenameInputFieldSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
                          name: 'FilenameEntryField'
12876
a54015e67850 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12847
diff changeset
   191
                          layout: (LayoutFrame 90 0 -25 1 -4 1 -1 1)
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
                          tabable: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
                          model: filenameHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
                          immediateAccept: false
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
                          acceptOnPointerLeave: false
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
                          hasKeyboardFocusInitially: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
                          postBuildCallback: postBuildFileNameField:
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
                        )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
                       )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
                     
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
                    )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
                  )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
                 (ViewSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
                    name: 'PreviewBox'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
                    visibilityChannel: previewVisibleHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
                    component: 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
                   (SpecCollection
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
                      collection: (
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
                       (ArbitraryComponentSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
                          name: 'ArbitraryComponent1'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
                          layout: (LayoutFrame 0 0 0 0 0 1 0 1)
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
                          visibilityChannel: imageViewVisible
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
                          hasHorizontalScrollBar: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
                          hasVerticalScrollBar: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
                          miniScrollerHorizontal: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
                          miniScrollerVertical: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
                          hasBorder: false
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
                          component: ImageView
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
                          postBuildCallback: postBuildImageView:
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
                        )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
                       )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
                     
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
                    )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
                  )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
                 )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
               
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
              )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
              handles: (Any 0.750433275563258 1.0)
12876
a54015e67850 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12847
diff changeset
   229
              postBuildCallback: postBuildVerticalPanelView:
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
            )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
           (HorizontalPanelViewSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
              name: 'ButtonPanel'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
              layout: (LayoutFrame 0 0.0 -30 1 0 1 0 1)
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
              visibilityChannel: buttonPanelVisibleHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
              horizontalLayout: fitSpace
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
              verticalLayout: center
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
              horizontalSpace: 3
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
              verticalSpace: 3
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
              reverseOrderIfOKAtLeft: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
              component: 
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
             (SpecCollection
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
                collection: (
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
                 (ActionButtonSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
                    label: 'Cancel'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
                    name: 'cancelButton'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
                    translateLabel: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
                    labelChannel: cancelLabelHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
                    tabable: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
                    model: doCancel
12876
a54015e67850 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12847
diff changeset
   250
                    extent: (Point 131 25)
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
                  )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
                 (ActionButtonSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
                    label: 'Append'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
                    name: 'appendButton'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
                    visibilityChannel: appendButtonVisibleHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
                    translateLabel: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
                    labelChannel: appendLabelHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
                    tabable: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
                    model: appendPressed
12876
a54015e67850 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12847
diff changeset
   260
                    extent: (Point 132 25)
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
                  )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
                 (ActionButtonSpec
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
                    label: 'OK'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
                    name: 'okButton'
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
                    translateLabel: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
                    labelChannel: okLabelHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
                    tabable: true
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
                    model: okPressed
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
                    isDefault: true
12876
a54015e67850 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12847
diff changeset
   270
                    extent: (Point 132 25)
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
                  )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
                 )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
               
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
              )
12882
7798eeb45eb8 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12876
diff changeset
   275
              keepSpaceForOSXResizeHandleH: true
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
            )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
           )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
         
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
        )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
      )
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
! !
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
!FileDialogWithPreview class methodsFor:'plugIn spec'!
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
aspectSelectors
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
    "This resource specification was automatically generated
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
     by the UIPainter of ST/X."
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
    "Do not manually edit this. If it is corrupted,
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
     the UIPainter may not be able to read the specification."
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    "Return a description of exported aspects;
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
     these can be connected to aspects of an embedding application
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
     (if this app is embedded in a subCanvas)."
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
    ^ #(
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
        #filenameHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
        #filterHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
        #rootDirectoryHolder
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
      ).
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
! !
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
!FileDialogWithPreview methodsFor:'change & update'!
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
fileSelectionChanged
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
    |fn mime image|
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
    super fileSelectionChanged.
12882
7798eeb45eb8 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12876
diff changeset
   310
    ((fn := self filenameHolder value) notNil and:[ fn exists ]) ifTrue:[
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
        (mime := fn mimeTypeFromName) notNil ifTrue:[
13716
9f0d7f69c782 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12882
diff changeset
   312
            mime isImageType ifTrue:[
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
                image := Image fromFile:fn.
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
                imagePreview image:image.
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
            ].
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
        ].
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
    ].
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
    "Created: / 14-02-2011 / 18:00:39 / cg"
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
! !
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
!FileDialogWithPreview methodsFor:'initialization'!
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
postBuildImageView:aView
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
    imagePreview := aView
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
    "Created: / 14-02-2011 / 18:08:05 / cg"
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
! !
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
!FileDialogWithPreview class methodsFor:'documentation'!
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
12882
7798eeb45eb8 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12876
diff changeset
   332
version
13716
9f0d7f69c782 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12882
diff changeset
   333
    ^ '$Header: /cvs/stx/stx/libtool/FileDialogWithPreview.st,v 1.6 2013-12-07 10:46:29 cg Exp $'
12882
7798eeb45eb8 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12876
diff changeset
   334
!
7798eeb45eb8 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12876
diff changeset
   335
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
version_CVS
13716
9f0d7f69c782 class: FileDialogWithPreview
Claus Gittinger <cg@exept.de>
parents: 12882
diff changeset
   337
    ^ '$Header: /cvs/stx/stx/libtool/FileDialogWithPreview.st,v 1.6 2013-12-07 10:46:29 cg Exp $'
9766
8991b96a132c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
! !
12847
ed021bafe2ac class: Expecco::ExpeccoDebugView
Claus Gittinger <cg@exept.de>
parents: 9768
diff changeset
   339