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