FontMenu.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 17 Jun 2019 11:25:19 +0100
branchjv
changeset 6070 a0e88386e17c
parent 5270 0f4a11512bef
child 5678 81c653d39f49
child 6259 e37c6e062e3e
permissions -rw-r--r--
UI: move all items in menu to the right as if there was an icon If there's no icon, just fraw empty space. This makes popup menus with no icons at all looks similar to popup menus with icons and also makes item labels more readable. In general, looks much better and fits better into modern desktops (GNOME & Windows behave the same).
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
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   628
flyByHelpSpec
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
717b6c6a1a87 flybyhelp
Claus Gittinger <cg@exept.de>
parents: 3417
diff changeset
   641
    ^ super flyByHelpSpec addPairsFrom:#(
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