FontMenu.st
author Claus Gittinger <cg@exept.de>
Fri, 01 Oct 2004 13:20:55 +0200
changeset 2749 650823483815
parent 2459 aba2043446b0
child 2935 e3fa9d1a7a64
permissions -rw-r--r--
added encoding
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
421
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
     1
"
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
     2
 COPYRIGHT (c) 1995 by eXept Software AG
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
     3
              All Rights Reserved
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
     4
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
     5
 This software is furnished under a license and may be used
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
     6
 only in accordance with the terms of that license and with the
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
     8
 be provided or otherwise made available to, or used by, any
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
     9
 other person.  No title to or ownership of the software is
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    10
 hereby transferred.
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    11
"
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    12
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    13
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    14
1808
e8628b502a49 methodCategory change
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
    15
"{ Package: 'stx:libtool2' }"
e8628b502a49 methodCategory change
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
    16
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    17
MenuPanel subclass:#FontMenu
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    18
	instanceVariableNames:'fontAspects enabledChannel'
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    19
	classVariableNames:''
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    20
	poolDictionaries:''
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    21
	category:'Interface-UIPainter'
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    22
!
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    23
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    24
!FontMenu class methodsFor:'documentation'!
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    25
421
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    26
copyright
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    27
"
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    28
 COPYRIGHT (c) 1995 by eXept Software AG
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    29
              All Rights Reserved
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    30
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    31
 This software is furnished under a license and may be used
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    32
 only in accordance with the terms of that license and with the
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    33
 inclusion of the above copyright notice.   This software may not
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    34
 be provided or otherwise made available to, or used by, any
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    35
 other person.  No title to or ownership of the software is
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    36
 hereby transferred.
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    37
"
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    38
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    39
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    40
!
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    41
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    42
documentation
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    43
"
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    44
    FontMenu used by UIPainter
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    45
421
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    46
    [author:]
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    47
        Claus Atzkern
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    48
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    49
    [see also:]
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    50
        UIPainter
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    51
        FontMenuSpec
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    52
"
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    53
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    54
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    55
!
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    56
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    57
examples
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    58
"
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    59
    simple example
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    60
                                                                                [exBegin]                                      
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    61
    |top menu model|
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    62
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    63
    top := StandardSystemView new.
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    64
    top extent:250@200.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    65
    menu  := FontMenu origin:0.0@0.4 extent:1.0@30 in:top.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    66
    model := nil asValue.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    67
    menu model:model.
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    68
    top open.
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    69
    top waitUntilVisible.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    70
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    71
    [ |new old|
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    72
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    73
      old := model value.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    74
      [ top shown] whileTrue:[
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    75
        new := model value.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    76
        new ~= old ifTrue:[
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    77
            old := new.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    78
            old notNil ifTrue:[ Transcript showCR:(old userFriendlyName) ]
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    79
                      ifFalse:[ Transcript showCR:'---------' ]
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    80
        ].
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    81
        Delay waitForSeconds:0.2.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    82
      ]
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    83
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    84
    ] forkAt:8.
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    85
                                                                                [exEnd]
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    86
"
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    87
! !
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    88
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    89
!FontMenu class methodsFor:'menu spec'!
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    90
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    91
menu
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    92
    "This resource specification was automatically generated
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    93
     by the MenuEditor of ST/X."
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    94
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    95
    "Do not manually edit this!! If it is corrupted,
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    96
     the MenuEditor may not be able to read the specification."
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    97
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    98
    "
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
    99
     MenuEditor new openOnClass:FontMenu andSelector:#menu
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   100
     (Menu new fromLiteralArrayEncoding:(FontMenu menu)) startUp
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   101
    "
799
fca2e448f34f consistency to the ColorMenu
tz
parents: 615
diff changeset
   102
583
4753eec71973 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 476
diff changeset
   103
    <resource: #menu>
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   104
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   105
    ^ 
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   106
     #(Menu
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   107
        (
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   108
         (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   109
            label: 'enabled'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   110
            itemValue: updateModel
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   111
            translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   112
            indication: enabledChannel
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   113
            labelImage: (ResourceRetriever SystemBrowser emptyIcon)
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   114
          )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   115
         (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   116
            enabled: enabledChannel
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   117
            label: 'Family'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   118
            nameKey: fontFamily
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   119
            translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   120
            isButton: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   121
            submenu: 
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   122
           (Menu
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   123
              (
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   124
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   125
                  label: 'helvetica'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   126
                  itemValue: fontFamily:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   127
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   128
                  argument: helvetica
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   129
                )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   130
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   131
                  label: 'courier'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   132
                  itemValue: fontFamily:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   133
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   134
                  argument: courier
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   135
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   136
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   137
                  label: 'times'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   138
                  itemValue: fontFamily:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   139
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   140
                  argument: times
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   141
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   142
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   143
                  label: 'clean'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   144
                  itemValue: fontFamily:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   145
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   146
                  argument: clean
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   147
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   148
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   149
                  label: 'fixed'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   150
                  itemValue: fontFamily:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   151
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   152
                  argument: fixed
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   153
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   154
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   155
                  label: 'lucida'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   156
                  itemValue: fontFamily:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   157
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   158
                  argument: lucida
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   159
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   160
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   161
                  label: '-'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   162
                )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   163
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   164
                  label: 'Other...'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   165
                  itemValue: launchFontFamilyDialog
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   166
                  translateLabel: true
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   167
                )
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   168
               )
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   169
              nil
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   170
              nil
799
fca2e448f34f consistency to the ColorMenu
tz
parents: 615
diff changeset
   171
            )
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   172
          )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   173
         (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   174
            enabled: enabledChannel
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   175
            label: 'Face'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   176
            nameKey: fontFace
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   177
            translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   178
            isButton: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   179
            submenu: 
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   180
           (Menu
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   181
              (
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   182
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   183
                  label: 'bold'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   184
                  itemValue: fontFace:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   185
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   186
                  argument: bold
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   187
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   188
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   189
                  label: 'medium'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   190
                  itemValue: fontFace:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   191
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   192
                  argument: medium
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   193
                )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   194
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   195
                  label: '-'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   196
                )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   197
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   198
                  label: 'Other...'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   199
                  itemValue: launchFontFaceDialog
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   200
                  translateLabel: true
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   201
                )
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   202
               )
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   203
              nil
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   204
              nil
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   205
            )
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   206
          )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   207
         (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   208
            enabled: enabledChannel
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   209
            label: 'Style'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   210
            nameKey: fontStyle
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   211
            translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   212
            isButton: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   213
            submenu: 
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   214
           (Menu
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   215
              (
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   216
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   217
                  label: 'roman'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   218
                  itemValue: fontStyle:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   219
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   220
                  argument: roman
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   221
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   222
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   223
                  label: 'italic'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   224
                  itemValue: fontStyle:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   225
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   226
                  argument: italic
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   227
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   228
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   229
                  label: 'oblique'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   230
                  itemValue: fontStyle:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   231
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   232
                  argument: oblique
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   233
                )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   234
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   235
                  label: '-'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   236
                )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   237
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   238
                  label: 'Other...'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   239
                  itemValue: launchFontStyleDialog
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   240
                  translateLabel: true
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   241
                )
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   242
               )
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   243
              nil
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   244
              nil
799
fca2e448f34f consistency to the ColorMenu
tz
parents: 615
diff changeset
   245
            )
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   246
          )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   247
         (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   248
            enabled: enabledChannel
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   249
            label: 'Size'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   250
            nameKey: fontSize
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   251
            translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   252
            isButton: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   253
            submenu: 
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   254
           (Menu
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   255
              (
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   256
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   257
                  label: '6'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   258
                  itemValue: fontSize:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   259
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   260
                  argument: 6
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   261
                )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   262
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   263
                  label: '8'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   264
                  itemValue: fontSize:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   265
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   266
                  argument: 8
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   267
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   268
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   269
                  label: '10'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   270
                  itemValue: fontSize:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   271
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   272
                  argument: 10
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   273
                )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   274
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   275
                  label: '12'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   276
                  itemValue: fontSize:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   277
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   278
                  argument: 12
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   279
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   280
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   281
                  label: '14'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   282
                  itemValue: fontSize:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   283
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   284
                  argument: 14
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   285
                )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   286
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   287
                  label: '16'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   288
                  itemValue: fontSize:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   289
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   290
                  argument: 16
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   291
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   292
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   293
                  label: '18'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   294
                  itemValue: fontSize:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   295
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   296
                  argument: 18
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   297
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   298
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   299
                  label: '-'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   300
                )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   301
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   302
                  label: 'Other...'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   303
                  itemValue: launchFontSizeDialog
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   304
                  translateLabel: true
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   305
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   306
               )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   307
              nil
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   308
              nil
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   309
            )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   310
          )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   311
         (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   312
            enabled: enabledChannel
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   313
            label: 'Encoding'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   314
            nameKey: fontEncoding
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   315
            translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   316
            isButton: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   317
            submenu: 
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   318
           (Menu
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   319
              (
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   320
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   321
                  label: 'latin-1'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   322
                  itemValue: fontEncoding:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   323
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   324
                  argument: #'iso8859-1'
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   325
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   326
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   327
                  label: 'unicode'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   328
                  itemValue: fontEncoding:
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   329
                  translateLabel: true
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   330
                  argument: #'iso10646-1'
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   331
                )
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   332
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   333
                  label: '-'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   334
                )
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   335
               (MenuItem
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   336
                  label: 'Other...'
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   337
                  itemValue: launchFontEncodingDialog
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   338
                  translateLabel: true
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   339
                )
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   340
               )
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   341
              nil
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   342
              nil
799
fca2e448f34f consistency to the ColorMenu
tz
parents: 615
diff changeset
   343
            )
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   344
          )
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   345
         )
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   346
        nil
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   347
        nil
799
fca2e448f34f consistency to the ColorMenu
tz
parents: 615
diff changeset
   348
      )
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   349
! !
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   350
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   351
!FontMenu methodsFor:'accessing'!
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   352
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   353
fontDescription
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   354
    "get font description
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   355
    "
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   356
    enabledChannel value ifFalse:[^ nil].
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   357
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   358
  ^ FontDescription 
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   359
        family:(fontAspects at:#fontFamily)
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   360
        face:(fontAspects at:#fontFace)
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   361
        style:(fontAspects at:#fontStyle)
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   362
        size:(fontAspects at:#fontSize)
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   363
        encoding:(fontAspects at:#fontEncoding)
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   364
!
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   365
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   366
fontDescription:aFontDesc
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   367
    "set font description
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   368
    "
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   369
    |saveModel|
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   370
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   371
    aFontDesc ifNil:[
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   372
        enabledChannel value:false.
2459
aba2043446b0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2189
diff changeset
   373
        ^ self
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   374
    ].
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   375
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   376
    self disabledRedrawDo:[
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   377
        saveModel := model.     "/ do not inform the model
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   378
        model     := nil.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   379
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   380
        enabledChannel value:true.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   381
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   382
        (aFontDesc isSymbol or:[aFontDesc isString]) ifFalse:[
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   383
            self fontFamily:(aFontDesc family).
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   384
            self fontFace:(aFontDesc face).
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   385
            self fontStyle:(aFontDesc style).
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   386
            self fontSize:(aFontDesc size).
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   387
            self fontEncoding:(aFontDesc encoding ? #'iso10646-1').
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   388
        ].
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   389
        model := saveModel.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   390
    ]
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   391
! !
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   392
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   393
!FontMenu methodsFor:'accessing-aspects'!
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   394
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   395
fontAspectAt:key put:value
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   396
    (value isNil or:[value == (fontAspects at:key)]) ifTrue:[
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   397
        ^ self
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   398
    ].
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   399
    fontAspects at:key put:value.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   400
    (self itemAt:key) label:value.
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   401
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   402
    self updateModel.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   403
!
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   404
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   405
fontEncoding:anEncodingSymbol
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   406
    ^ self fontAspectAt:#fontEncoding put:anEncodingSymbol
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   407
!
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   408
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   409
fontFace:aFace
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   410
    ^ self fontAspectAt:#fontFace put:aFace
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   411
!
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   412
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   413
fontFamily:aFamily
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   414
    ^ self fontAspectAt:#fontFamily put:aFamily
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   415
!
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   416
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   417
fontSize:aSize
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   418
    ^ self fontAspectAt:#fontSize put:aSize
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   419
!
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   420
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   421
fontStyle:aStyle
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   422
    ^ self fontAspectAt:#fontStyle put:aStyle
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   423
!
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   424
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   425
launchFontEncodingDialog
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   426
    "launch dialog to get a font encoding"
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   427
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   428
    |string|
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   429
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   430
    string := EnterBox request:'Encoding: '.
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   431
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   432
    string size ~~ 0 ifTrue:[
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   433
        self fontEncoding:string asSymbol
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   434
    ].
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   435
!
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   436
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   437
launchFontFaceDialog
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   438
    "launch dialog to get a font face"
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   439
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   440
    |string|
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   441
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   442
    string := EnterBox request:'Face: '.
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   443
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   444
    string size ~~ 0 ifTrue:[
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   445
        self fontFace:string
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   446
    ].
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   447
!
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   448
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   449
launchFontFamilyDialog
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   450
    "launch dialog to get a font family"
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   451
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   452
    |string|
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   453
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   454
    string := EnterBox request:'Family: '.
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   455
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   456
    string size ~~ 0 ifTrue:[
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   457
        self fontFamily:string
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   458
    ].
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   459
!
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   460
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   461
launchFontSizeDialog
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   462
    "launch dialog to get a font size"
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   463
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   464
    |size string|
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   465
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   466
    string := EnterBox request:'size: '.
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   467
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   468
    string size ~~ 0 ifTrue:[
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   469
        size := SmallInteger readFrom:string onError:nil.
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   470
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   471
        (size notNil and:[size >= 1 and:[size <= 128]]) ifTrue:[
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   472
            self fontSize:size
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   473
        ]
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   474
    ].
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   475
!
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   476
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   477
launchFontStyleDialog
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   478
    "launch dialog to get a font style"
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   479
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   480
    |string|
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   481
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   482
    string := EnterBox request:'Style: '.
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   483
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   484
    string size ~~ 0 ifTrue:[
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   485
        self fontFace:string
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   486
    ].
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   487
! !
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   488
1818
fe99c5c721e9 category changes
Claus Gittinger <cg@exept.de>
parents: 1808
diff changeset
   489
!FontMenu methodsFor:'accessing-channels'!
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   490
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   491
enabledChannel
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   492
    ^ enabledChannel
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   493
!
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   494
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   495
model:aValueHolder
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   496
    "set my model"
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   497
2184
16d3b72ca431 use inherited functionality
Claus Gittinger <cg@exept.de>
parents: 1818
diff changeset
   498
    super model:aValueHolder.
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   499
    model ifNotNil:[
2186
05b16a66bb3d updateFromModel
Claus Gittinger <cg@exept.de>
parents: 2184
diff changeset
   500
        self updateFromModel
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   501
    ].
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   502
! !
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   503
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   504
!FontMenu methodsFor:'change & update'!
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   505
2186
05b16a66bb3d updateFromModel
Claus Gittinger <cg@exept.de>
parents: 2184
diff changeset
   506
updateFromModel
2184
16d3b72ca431 use inherited functionality
Claus Gittinger <cg@exept.de>
parents: 1818
diff changeset
   507
    self fontDescription:(model value)
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   508
!
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   509
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   510
updateModel
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   511
    model ifNotNil:[
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   512
        model value:(self fontDescription) withoutNotifying:self
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   513
    ].
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   514
! !
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   515
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   516
!FontMenu methodsFor:'initialization'!
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   517
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   518
destroy
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   519
    "release dependencies"
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   520
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   521
    self model:nil.
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   522
    enabledChannel removeDependent:self.
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   523
    super destroy.
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   524
!
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   525
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   526
initialize
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   527
    "setup menu"
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   528
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   529
    super initialize.
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   530
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   531
    fontAspects    := IdentityDictionary new.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   532
    enabledChannel := false asValue.
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   533
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   534
    #( #fontFamily #fontFace #fontStyle #fontSize #fontEncoding) do:[:k|
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   535
        fontAspects at:k put:(nil asValue)
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   536
    ].
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   537
    self verticalLayout:false.
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   538
    self menu:(self class menu).
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   539
    enabledChannel := false asValue.
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   540
    receiver := self.
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   541
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   542
    self fontDescription:(self font).
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   543
! !
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   544
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   545
!FontMenu class methodsFor:'documentation'!
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   546
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   547
version
2749
650823483815 added encoding
Claus Gittinger <cg@exept.de>
parents: 2459
diff changeset
   548
    ^ '$Header: /cvs/stx/stx/libwidg2/FontMenu.st,v 1.15 2004-10-01 11:20:55 cg Exp $'
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   549
! !