FontMenu.st
author Claus Gittinger <cg@exept.de>
Fri, 15 Jun 2018 10:54:35 +0200
changeset 5816 7876c07931a7
parent 5678 81c653d39f49
child 5962 fff492b02cb2
permissions -rw-r--r--
#DOCUMENTATION by cg class: ComboListView class comment/format in: #documentation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
     1
"
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
     2
 COPYRIGHT (c) 1995 by eXept Software AG
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
     3
              All Rights Reserved
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
     4
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
     5
 This software is furnished under a license and may be used
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
     6
 only in accordance with the terms of that license and with the
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
     8
 be provided or otherwise made available to, or used by, any
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
     9
 other person.  No title to or ownership of the software is
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    10
 hereby transferred.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    11
"
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    12
"{ Package: 'stx:libwidg2' }"
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    13
4867
0c108dfef80a #FEATURE
Stefan Vogel <sv@exept.de>
parents: 4584
diff changeset
    14
"{ NameSpace: Smalltalk }"
0c108dfef80a #FEATURE
Stefan Vogel <sv@exept.de>
parents: 4584
diff changeset
    15
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    16
MenuPanel subclass:#FontMenu
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
    17
	instanceVariableNames:'fontAspects enabledChannel labelsAreEmphasized
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
    18
		fontIsSymbolicHolder fontSymbol allowSymbolicFontsHolder
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
    19
		applicationClass'
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    20
	classVariableNames:''
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    21
	poolDictionaries:''
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    22
	category:'Interface-UIPainter'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    23
!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    24
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    25
!FontMenu class methodsFor:'documentation'!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    26
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    27
copyright
421
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    28
"
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    29
 COPYRIGHT (c) 1995 by eXept Software AG
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    30
              All Rights Reserved
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    31
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    32
 This software is furnished under a license and may be used
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    33
 only in accordance with the terms of that license and with the
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    35
 be provided or otherwise made available to, or used by, any
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    36
 other person.  No title to or ownership of the software is
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    37
 hereby transferred.
1e994c167558 added copyrights
Claus Gittinger <cg@exept.de>
parents: 412
diff changeset
    38
"
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    39
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    40
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    41
!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    42
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    43
documentation
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    44
"
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    45
    FontMenu used by UIPainter
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    46
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    47
    [author:]
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    48
        Claus Atzkern
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    49
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    50
    [see also:]
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    51
        UIPainter
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    52
        FontMenuSpec
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    53
"
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    54
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    55
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    56
!
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    57
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    58
examples
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    59
"
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    60
    simple example
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    61
                                                                                [exBegin]                                      
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    62
    |top menu model|
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
    63
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
    64
    model := #labelFont asValue.
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
    65
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    66
    top := StandardSystemView new.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    67
    top extent:250@200.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    68
    menu  := FontMenu origin:0.0@0.4 extent:1.0@30 in:top.
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
    69
    menu allowSymbolicFonts:true.
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
    70
    menu fontIsSymbolic:true.
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    71
    menu model:model.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    72
    top open.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    73
    top waitUntilVisible.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    74
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    75
    [ |new old|
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    76
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    77
      old := model value.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    78
      [ top shown] whileTrue:[
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    79
        new := model value.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    80
        new ~= old ifTrue:[
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    81
            old := new.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    82
            old notNil ifTrue:[ Transcript showCR:(old userFriendlyName) ]
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    83
                      ifFalse:[ Transcript showCR:'---------' ]
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    84
        ].
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    85
        Delay waitForSeconds:0.2.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    86
      ]
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    87
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    88
    ] forkAt:8.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    89
                                                                                [exEnd]
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    90
"
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    91
! !
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
    92
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
    93
!FontMenu class methodsFor:'help specs'!
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
    94
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
    95
helpSpec
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
    96
    "This resource specification was automatically generated
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
    97
     by the UIHelpTool of ST/X."
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
    98
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
    99
    "Do not manually edit this!! If it is corrupted,
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   100
     the UIHelpTool may not be able to read the specification."
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   101
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   102
    "
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   103
     UIHelpTool openOnClass:FontMenu    
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   104
    "
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   105
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   106
    <resource: #help>
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   107
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   108
    ^ super helpSpec addPairsFrom:#(
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   109
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   110
#openFontChooser
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   111
''
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   112
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   113
)
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   114
! !
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   115
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   116
!FontMenu class methodsFor:'menu specs'!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   117
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   118
menu
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   119
    "This resource specification was automatically generated
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   120
     by the MenuEditor of ST/X."
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   121
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   122
    "Do not manually edit this!! If it is corrupted,
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   123
     the MenuEditor may not be able to read the specification."
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   124
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   125
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   126
    "
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   127
     MenuEditor new openOnClass:FontMenu andSelector:#menu
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   128
     (Menu new fromLiteralArrayEncoding:(FontMenu menu)) startUp
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   129
    "
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   130
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   131
    <resource: #menu>
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   132
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   133
    ^ 
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   134
     #(Menu
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   135
        (
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   136
         (MenuItem
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   137
            activeHelpKey: useDefaultFontToggle
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   138
            label: 'enabled'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   139
            itemValue: updateModel
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   140
            indication: enabledChannel
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   141
            labelImage: (ResourceRetriever SystemBrowser emptyIcon)
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   142
          )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   143
         (MenuItem
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   144
            activeHelpKey: toggleSymbolicFont
3400
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   145
            label: 'Symbolic'
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   146
            isVisible: allowSymbolicFontsAndEnabledHolder
3400
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   147
            indication: fontIsSymbolicHolder
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   148
          )
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   149
         (MenuItem
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   150
            label: '-'
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   151
            isVisible: allowSymbolicFontsAndEnabledHolder
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   152
          )
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   153
         (MenuItem
3400
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   154
            enabled: enabledChannel
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   155
            label: 'Symbolic Name'
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   156
            nameKey: fontSymbol
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   157
            isButton: true
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   158
            isVisible: allowSymbolicFontsAndFontIsSymbolicHolder
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   159
            submenuChannel: symbolicFontsMenu
3400
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   160
          )
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   161
         (MenuItem
3440
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   162
            activeHelpKey: openFontChooser
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   163
            enabled: enabledChannel
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   164
            label: 'Choose...'
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   165
            itemValue: openFontChooser
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   166
            isButton: true
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   167
            isVisible: enabledAndFontIsNotSymbolicHolder
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   168
            labelImage: (ResourceRetriever XPToolbarIconLibrary fontIcon)
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   169
          )
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   170
         (MenuItem
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   171
            activeHelpKey: concreteFontsFamily
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   172
            enabled: enabledChannel
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   173
            label: 'Family'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   174
            nameKey: fontFamily
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   175
            isButton: true
3400
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   176
            isVisible: fontIsNotSymbolicHolder
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   177
            submenu: 
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   178
           (Menu
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   179
              (
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   180
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   181
                  label: 'helvetica'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   182
                  itemValue: fontFamily:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   183
                  argument: helvetica
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   184
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   185
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   186
                  label: 'courier'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   187
                  itemValue: fontFamily:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   188
                  argument: courier
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   189
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   190
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   191
                  label: 'times'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   192
                  itemValue: fontFamily:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   193
                  argument: times
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   194
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   195
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   196
                  label: 'clean'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   197
                  itemValue: fontFamily:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   198
                  argument: clean
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   199
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   200
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   201
                  label: 'fixed'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   202
                  itemValue: fontFamily:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   203
                  argument: fixed
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   204
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   205
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   206
                  label: 'lucida'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   207
                  itemValue: fontFamily:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   208
                  argument: lucida
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   209
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   210
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   211
                  label: '-'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   212
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   213
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   214
                  label: 'Other...'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   215
                  itemValue: launchFontFamilyDialog
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   216
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   217
               )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   218
              nil
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   219
              nil
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   220
            )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   221
          )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   222
         (MenuItem
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   223
            activeHelpKey: concreteFontsFace
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   224
            enabled: enabledChannel
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   225
            label: 'Face'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   226
            nameKey: fontFace
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   227
            isButton: true
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   228
            isVisible: fontIsNotSymbolicHolder
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   229
            submenu: 
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   230
           (Menu
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   231
              (
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   232
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   233
                  label: 'bold'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   234
                  itemValue: fontFace:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   235
                  argument: bold
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   236
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   237
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   238
                  label: 'medium'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   239
                  itemValue: fontFace:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   240
                  argument: medium
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   241
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   242
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   243
                  label: '-'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   244
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   245
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   246
                  label: 'Other...'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   247
                  itemValue: launchFontFaceDialog
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   248
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   249
               )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   250
              nil
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   251
              nil
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   252
            )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   253
          )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   254
         (MenuItem
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   255
            activeHelpKey: concreteFontsStyle
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   256
            enabled: enabledChannel
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   257
            label: 'Style'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   258
            nameKey: fontStyle
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   259
            isButton: true
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   260
            isVisible: fontIsNotSymbolicHolder
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   261
            submenu: 
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   262
           (Menu
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   263
              (
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   264
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   265
                  label: 'roman'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   266
                  itemValue: fontStyle:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   267
                  argument: roman
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   268
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   269
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   270
                  label: 'italic'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   271
                  itemValue: fontStyle:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   272
                  argument: italic
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   273
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   274
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   275
                  label: 'oblique'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   276
                  itemValue: fontStyle:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   277
                  argument: oblique
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   278
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   279
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   280
                  label: '-'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   281
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   282
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   283
                  label: 'Other...'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   284
                  itemValue: launchFontStyleDialog
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   285
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   286
               )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   287
              nil
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   288
              nil
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   289
            )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   290
          )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   291
         (MenuItem
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   292
            activeHelpKey: concreteFontsSize
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   293
            enabled: enabledChannel
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   294
            label: 'Size'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   295
            nameKey: fontSize
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   296
            isButton: true
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   297
            isVisible: fontIsNotSymbolicHolder
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   298
            submenu: 
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   299
           (Menu
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   300
              (
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   301
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   302
                  label: '6'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   303
                  itemValue: fontSize:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   304
                  argument: 6
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   305
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   306
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   307
                  label: '8'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   308
                  itemValue: fontSize:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   309
                  argument: 8
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   310
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   311
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   312
                  label: '10'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   313
                  itemValue: fontSize:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   314
                  argument: 10
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   315
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   316
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   317
                  label: '12'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   318
                  itemValue: fontSize:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   319
                  argument: 12
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   320
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   321
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   322
                  label: '14'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   323
                  itemValue: fontSize:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   324
                  argument: 14
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   325
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   326
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   327
                  label: '16'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   328
                  itemValue: fontSize:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   329
                  argument: 16
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   330
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   331
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   332
                  label: '18'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   333
                  itemValue: fontSize:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   334
                  argument: 18
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   335
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   336
               (MenuItem
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   337
                  label: '24'
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   338
                  itemValue: fontSize:
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   339
                  argument: 24
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   340
                )
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   341
               (MenuItem
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   342
                  label: '32'
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   343
                  itemValue: fontSize:
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   344
                  argument: 32
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   345
                )
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   346
               (MenuItem
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   347
                  label: '-'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   348
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   349
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   350
                  label: 'Other...'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   351
                  itemValue: launchFontSizeDialog
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   352
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   353
               )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   354
              nil
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   355
              nil
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   356
            )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   357
          )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   358
         (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   359
            enabled: enabledChannel
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   360
            label: 'Encoding'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   361
            nameKey: fontEncoding
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   362
            isButton: true
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   363
            isVisible: fontIsNotSymbolicHolder
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   364
            submenu: 
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   365
           (Menu
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   366
              (
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   367
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   368
                  label: 'latin-1'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   369
                  itemValue: fontEncoding:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   370
                  argument: #'iso8859-1'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   371
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   372
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   373
                  label: 'unicode'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   374
                  itemValue: fontEncoding:
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   375
                  argument: #'iso10646-1'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   376
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   377
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   378
                  label: '-'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   379
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   380
               (MenuItem
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   381
                  label: 'Other...'
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   382
                  itemValue: launchFontEncodingDialog
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   383
                )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   384
               )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   385
              nil
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   386
              nil
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   387
            )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   388
          )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   389
         )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   390
        nil
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   391
        nil
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   392
      )
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   393
! !
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   394
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   395
!FontMenu methodsFor:'accessing'!
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   396
3398
7e778b89de59 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3342
diff changeset
   397
allowSymbolicFonts
3400
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   398
    ^ self allowSymbolicFontsHolder value
2189
cdbea1ba3466 bug fixes; rewrite because of delayed menus
ca
parents: 2186
diff changeset
   399
!
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   400
3398
7e778b89de59 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3342
diff changeset
   401
allowSymbolicFonts:aBoolean
3400
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   402
    self allowSymbolicFontsHolder value:aBoolean.
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   403
!
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   404
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   405
fontDescription
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   406
    "get the current font description"
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   408
    |fontSize|
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   409
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   410
    enabledChannel value ifFalse:[^ nil].
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   411
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   412
    self fontIsSymbolic ifTrue:[
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   413
        ^ fontSymbol
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   414
    ].
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   415
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   416
    fontSize := fontAspects at:#fontSize.
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   417
    (fontSize isFloat and:[fontSize asInteger = fontSize]) ifTrue:[
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   418
        fontSize := fontSize asInteger
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   419
    ].
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   420
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   421
    ^ FontDescription 
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   422
        family:(fontAspects at:#fontFamily)
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   423
        face:(fontAspects at:#fontFace)
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   424
        style:(fontAspects at:#fontStyle)
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   425
        size:fontSize
3640
7ca6eee17c97 pixelSize stuff
Claus Gittinger <cg@exept.de>
parents: 3639
diff changeset
   426
        sizeUnit:#pt "(fontAspects at:#sizeUnit)"
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   427
        encoding:(fontAspects at:#fontEncoding)
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   428
!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   429
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   430
fontDescription:aFontDesc
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   431
    "set the font description"
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   432
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   433
    |saveModel symbolic|
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   434
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   435
    aFontDesc isNil ifTrue:[
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   436
        enabledChannel value:false.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   437
        ^ self
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   438
    ].
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   439
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   440
    self disabledRedrawDo:[
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   441
        saveModel := model.     "/ do not inform the model
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   442
        model     := nil.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   443
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   444
        enabledChannel value:true.
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   445
        symbolic := (aFontDesc isSymbol or:[aFontDesc isString]).
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   446
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   447
        self fontIsSymbolicHolder value:symbolic.
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   448
        symbolic ifTrue:[
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   449
            self fontSymbol:aFontDesc asSymbol.
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   450
        ] ifFalse:[
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   451
            self fontFamily:(aFontDesc family).
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   452
            self fontFace:(aFontDesc face).
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   453
            self fontStyle:(aFontDesc style).
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   454
            self fontSize:(aFontDesc size).
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   455
            self fontEncoding:(aFontDesc encoding ? #'iso10646-1').
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   456
        ].
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   457
        model := saveModel.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   458
    ]
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   459
!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   460
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   461
fontIsSymbolic
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   462
    ^ self fontIsSymbolicHolder value
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   463
!
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   464
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   465
fontIsSymbolic:aBoolean
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   466
    self fontIsSymbolicHolder value:aBoolean.
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   467
!
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   468
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   469
fontSymbol
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   470
    ^ fontSymbol
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   471
!
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   472
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   473
fontSymbol:aSymbolOrMenuItem
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   474
    aSymbolOrMenuItem isSymbol ifTrue:[
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   475
        fontSymbol := aSymbolOrMenuItem.
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   476
    ] ifFalse:[
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   477
        fontSymbol := aSymbolOrMenuItem label asSymbol.
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   478
    ].
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   479
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   480
    (self itemAt:#fontSymbol) label:fontSymbol.
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   481
    self updateModel.
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   482
!
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   483
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   484
labelsAreEmphasized
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   485
    ^ labelsAreEmphasized
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   486
!
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   487
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   488
labelsAreEmphasized:aBoolean
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   489
    labelsAreEmphasized := aBoolean.
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   490
! !
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   491
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   492
!FontMenu methodsFor:'accessing-channels'!
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   493
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   494
allowSymbolicFontsAndEnabledHolder
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   495
    ^ self allowSymbolicFontsHolder & self enabledChannel
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   496
!
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   497
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   498
allowSymbolicFontsAndFontIsSymbolicHolder
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   499
    ^ self fontIsSymbolicHolder & self allowSymbolicFontsHolder
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   500
!
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   501
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   502
allowSymbolicFontsHolder
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   503
    allowSymbolicFontsHolder isNil ifTrue:[
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   504
        allowSymbolicFontsHolder := BooleanValueHolder with:false
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   505
    ].
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   506
    ^ allowSymbolicFontsHolder
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   507
!
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   508
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   509
enabledAndFontIsNotSymbolicHolder
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   510
    ^ self fontIsNotSymbolicHolder & self enabledChannel
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   511
!
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   512
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   513
enabledChannel
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   514
    ^ enabledChannel
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   515
!
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   516
4867
0c108dfef80a #FEATURE
Stefan Vogel <sv@exept.de>
parents: 4584
diff changeset
   517
enabledChannel:aValueHolder
0c108dfef80a #FEATURE
Stefan Vogel <sv@exept.de>
parents: 4584
diff changeset
   518
    enabledChannel := aValueHolder.
0c108dfef80a #FEATURE
Stefan Vogel <sv@exept.de>
parents: 4584
diff changeset
   519
!
0c108dfef80a #FEATURE
Stefan Vogel <sv@exept.de>
parents: 4584
diff changeset
   520
3400
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   521
fontIsNotSymbolicHolder
3417
eeec9494d09d cannot use not as selector - sigh !
Claus Gittinger <cg@exept.de>
parents: 3407
diff changeset
   522
    ^ self fontIsSymbolicHolder logicalNot
3400
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   523
!
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   524
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   525
fontIsSymbolicHolder
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   526
    fontIsSymbolicHolder isNil ifTrue:[
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   527
        fontIsSymbolicHolder := BooleanValueHolder with:false
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   528
    ].
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   529
    ^ fontIsSymbolicHolder
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   530
!
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   531
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   532
model:aValueHolder
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   533
    "set my model"
3400
1af9bac368be ongoing work - dont use
Claus Gittinger <cg@exept.de>
parents: 3399
diff changeset
   534
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   535
    super model:aValueHolder.
4091
4af3a42d3c3d changed:
Claus Gittinger <cg@exept.de>
parents: 4002
diff changeset
   536
    model notNil ifTrue:[
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   537
        self updateFromModel
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   538
    ].
4091
4af3a42d3c3d changed:
Claus Gittinger <cg@exept.de>
parents: 4002
diff changeset
   539
4af3a42d3c3d changed:
Claus Gittinger <cg@exept.de>
parents: 4002
diff changeset
   540
    "Modified: / 29-11-2011 / 11:27:31 / cg"
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   541
! !
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   542
4002
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   543
!FontMenu methodsFor:'accessing-dimensions'!
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   544
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   545
preferredExtent
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   546
    "workaround: will change the preferredExtent !!!!
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   547
        same in ColorMenu"
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   548
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   549
    |extent|
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   550
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   551
    preferredExtent notNil ifTrue:[
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   552
        ^ super preferredExtent.
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   553
    ].
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   554
    extent := super preferredExtent.
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   555
    preferredExtent := nil.
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   556
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   557
    ^ extent
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   558
! !
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   559
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   560
!FontMenu methodsFor:'aspects'!
412
a8ad581658ec intitial checkin
ca
parents:
diff changeset
   561
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   562
fontAspectAt:key put:value
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   563
    (value isNil or:[value = (fontAspects at:key)]) ifTrue:[
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   564
        ^ self
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   565
    ].
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   566
    fontAspects at:key put:value.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   567
    (self itemAt:key) label:value.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   568
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   569
    self updateModel.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   570
!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   571
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   572
fontEncoding
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   573
    ^ fontAspects at:#fontEncoding
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   574
!
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   575
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   576
fontEncoding:anEncodingSymbol
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   577
    ^ self fontAspectAt:#fontEncoding put:anEncodingSymbol
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   578
!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   579
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   580
fontFace
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   581
    ^ fontAspects at:#fontFace
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   582
!
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   583
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   584
fontFace:aFace
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   585
    ^ self fontAspectAt:#fontFace put:aFace
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   586
!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   587
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   588
fontFamily
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   589
    ^ fontAspects at:#fontFamily
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   590
!
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   591
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   592
fontFamily:aFamily
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   593
    ^ self fontAspectAt:#fontFamily put:aFamily
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   594
!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   595
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   596
fontSize
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   597
    ^ fontAspects at:#fontSize
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   598
!
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   599
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   600
fontSize:aSize
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   601
    ^ self fontAspectAt:#fontSize put:aSize
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   602
!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   603
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   604
fontStyle
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   605
    ^ fontAspects at:#fontStyle
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   606
!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   607
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   608
fontStyle:aStyle
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   609
    ^ self fontAspectAt:#fontStyle put:aStyle
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   610
! !
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   611
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   612
!FontMenu methodsFor:'change & update'!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   613
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   614
updateFromModel
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   615
    self fontDescription:(model value)
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   616
!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   617
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   618
updateModel
4091
4af3a42d3c3d changed:
Claus Gittinger <cg@exept.de>
parents: 4002
diff changeset
   619
    model notNil ifTrue:[
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   620
        model value:(self fontDescription) withoutNotifying:self
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   621
    ].
4091
4af3a42d3c3d changed:
Claus Gittinger <cg@exept.de>
parents: 4002
diff changeset
   622
4af3a42d3c3d changed:
Claus Gittinger <cg@exept.de>
parents: 4002
diff changeset
   623
    "Modified: / 29-11-2011 / 11:27:35 / cg"
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   624
! !
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   625
3440
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   626
!FontMenu methodsFor:'help'!
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   627
5678
81c653d39f49 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5270
diff changeset
   628
helpSpec
3440
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   629
    "This resource specification was automatically generated
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   630
     by the UIHelpTool of ST/X."
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   631
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   632
    "Do not manually edit this!! If it is corrupted,
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   633
     the UIHelpTool may not be able to read the specification."
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   634
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   635
    "
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   636
     UIHelpTool openOnClass:ColorEditDialog    
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   637
    "
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   638
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   639
    <resource: #help>
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   640
5678
81c653d39f49 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 5270
diff changeset
   641
    ^ super helpSpec addPairsFrom:#(
3440
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   642
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   643
#useDefaultFontToggle
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   644
'Turn on, to specify the font here. Turn off to use the default'
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   645
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   646
#toggleSymbolicFont
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   647
'Turn on, to specify a symbolic font. Turn off to specify a concrete font'
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   648
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   649
#openFontChooser
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   650
'Open a font dialog'
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   651
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   652
)
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   653
! !
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   654
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   655
!FontMenu methodsFor:'initialization'!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   656
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   657
destroy
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   658
    "release dependencies"
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   659
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   660
    self model:nil.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   661
    enabledChannel removeDependent:self.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   662
    super destroy.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   663
!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   664
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   665
initialize
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   666
    "setup menu"
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   667
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   668
    super initialize.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   669
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   670
    fontAspects    := IdentityDictionary new.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   671
    enabledChannel := false asValue.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   672
    labelsAreEmphasized := false.
3405
22e293ad0252 symbolic font support
Claus Gittinger <cg@exept.de>
parents: 3400
diff changeset
   673
    self allowSymbolicFonts:false.
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   674
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   675
    #(fontFamily fontFace fontStyle fontSize fontEncoding) do:[:k|
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   676
        fontAspects at:k put:(nil asValue)
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   677
    ].
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   678
    self verticalLayout:false.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   679
    self menu:(self class menu).
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   680
    enabledChannel := false asValue.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   681
    receiver := self.
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   682
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   683
    self fontDescription:self font.
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   684
    applicationClass := UIPainter applicationClassQuery query ? ApplicationModel.
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   685
! !
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   686
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   687
!FontMenu methodsFor:'menu spec'!
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   688
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   689
symbolicFontsMenu
5270
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   690
    |symbolicFontSelectors bigFontSelectors smallFontSelectors normalFontSelectors
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   691
     selectors menu menuLabels menuItems|
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   692
5269
f92fea8b5c9e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 4867
diff changeset
   693
    symbolicFontSelectors := (applicationClass methodsWithAnyResource:#(fontSpec)) 
f92fea8b5c9e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 4867
diff changeset
   694
                                collect:[:each| each selector].
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   695
5270
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   696
    bigFontSelectors := (symbolicFontSelectors select:[:nm | nm endsWith:'Big']) sort.                            
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   697
    smallFontSelectors := (symbolicFontSelectors select:[:nm | nm endsWith:'Small']) sort.                            
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   698
    normalFontSelectors := (symbolicFontSelectors reject:[:nm | nm endsWithAnyOf:#('Small' 'Big')]) sort. 
5269
f92fea8b5c9e #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 4867
diff changeset
   699
    symbolicFontSelectors :=
5270
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   700
        normalFontSelectors , #(nil) , smallFontSelectors , #(nil) , bigFontSelectors.    
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   701
5270
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   702
    selectors := (Array new:normalFontSelectors size withAll:#fontSymbol:)
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   703
                 , #( nil )
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   704
                 , (Array new:smallFontSelectors size withAll:#fontSymbol:)
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   705
                 , #( nil )
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   706
                 , (Array new:bigFontSelectors size withAll:#fontSymbol:)
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   707
                 , #(nil launchFontSymbolDialog).
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   708
                 
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   709
    menuLabels := normalFontSelectors 
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   710
                  , #('-') 
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   711
                  , smallFontSelectors 
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   712
                  , #('-') 
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   713
                  , bigFontSelectors 
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   714
                  , #('-' 'Other...').
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   715
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   716
    menu := Menu labelArray:menuLabels values:selectors.
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   717
    menuItems := menu items.
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   718
    symbolicFontSelectors keysAndValuesDo:[:eachIndex :eachFontSelector|
4584
f65232667eea class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4583
diff changeset
   719
        |font|
5270
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   720
        eachFontSelector notNil ifTrue:[ font := applicationClass resolveFont:eachFontSelector ].
4584
f65232667eea class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4583
diff changeset
   721
        font notNil ifTrue:[
f65232667eea class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4583
diff changeset
   722
            (menuItems at:eachIndex) font:font.
f65232667eea class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4583
diff changeset
   723
        ].
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   724
    ].
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   725
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   726
    ^ menu
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   727
! !
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   728
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   729
!FontMenu methodsFor:'user actions'!
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   730
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   731
launchFontEncodingDialog
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   732
    "launch dialog to get a font encoding"
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   733
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   734
    |string|
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   735
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   736
    string := EnterBox 
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   737
                request:(resources string:'Encoding:')
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   738
                initialAnswer:(self fontEncoding).
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   739
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   740
    string notEmptyOrNil ifTrue:[
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   741
        self fontEncoding:string asSymbol
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   742
    ].
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   743
!
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   744
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   745
launchFontFaceDialog
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   746
    "launch dialog to get a font face"
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   747
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   748
    |string|
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   749
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   750
    string := EnterBox 
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   751
                request:(resources string:'Face:')
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   752
                initialAnswer:(self fontFace).
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   753
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   754
    string notEmptyOrNil ifTrue:[
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   755
        self fontFace:string
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   756
    ].
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   757
!
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   758
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   759
launchFontFamilyDialog
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   760
    "launch dialog to get a font family"
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   761
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   762
    |string|
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   763
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   764
    string := EnterBox 
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   765
                request:(resources string:'Family:')
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   766
                initialAnswer:(self fontFamily).
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   767
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   768
    string notEmptyOrNil ifTrue:[
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   769
        self fontFamily:string
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   770
    ].
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   771
!
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   772
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   773
launchFontSizeDialog
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   774
    "launch dialog to get a font size"
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   775
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   776
    |size string|
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   777
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   778
    string := EnterBox 
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   779
                request:(resources string:'Size:')
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   780
                initialAnswer:(self fontSize printString).
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   781
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   782
    string notEmptyOrNil ifTrue:[
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   783
        size := SmallInteger readFrom:string onError:nil.
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   784
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   785
        (size notNil and:[size >= 1 and:[size <= 128]]) ifTrue:[
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   786
            self fontSize:size
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   787
        ]
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   788
    ].
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   789
!
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   790
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   791
launchFontStyleDialog
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   792
    "launch dialog to get a font style"
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   793
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   794
    |string|
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   795
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   796
    string := EnterBox 
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   797
                request:(resources string:'Style:')
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   798
                initialAnswer:(self fontStyle).
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   799
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   800
    string notEmptyOrNil ifTrue:[
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   801
        self fontFace:string
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   802
    ].
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   803
!
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   804
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   805
launchFontSymbolDialog
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   806
    "launch dialog to get a font symbol"
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   807
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   808
    |string|
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   809
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   810
    string := EnterBox 
5270
0f4a11512bef #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 5269
diff changeset
   811
                request:(resources string:'Symbol (message to app, which returns the font):')
3407
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   812
                initialAnswer:(self fontSymbol).
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   813
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   814
    string notEmptyOrNil ifTrue:[
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   815
        self fontSymbol:string asSymbol
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   816
    ].
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   817
!
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   818
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   819
openFontChooser
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   820
    |choosenFont|
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   821
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   822
    choosenFont := FontPanel fontFromUserInitial:(self fontDescription).
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   823
    choosenFont notNil ifTrue: [
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   824
        self fontDescription:choosenFont.
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   825
        self updateModel.
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   826
    ]
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   827
! !
0b1953846421 symbolic fonts
Claus Gittinger <cg@exept.de>
parents: 3405
diff changeset
   828
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   829
!FontMenu class methodsFor:'documentation'!
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   830
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   831
version
4867
0c108dfef80a #FEATURE
Stefan Vogel <sv@exept.de>
parents: 4584
diff changeset
   832
    ^ '$Header$'
4002
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   833
!
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   834
eabe328b59fc added: #preferredExtent
ca
parents: 3640
diff changeset
   835
version_CVS
4867
0c108dfef80a #FEATURE
Stefan Vogel <sv@exept.de>
parents: 4584
diff changeset
   836
    ^ '$Header$'
3399
a128a7f88840 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3398
diff changeset
   837
! !
4583
6674ba919908 class: FontMenu
Stefan Vogel <sv@exept.de>
parents: 4091
diff changeset
   838