FontPanel.st
author Claus Gittinger <cg@exept.de>
Fri, 20 Feb 2004 11:45:27 +0100
changeset 2895 df3a2c63e5f5
parent 2890 2a5804121c67
child 2896 7cb365b7d75c
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     1
"
5
claus
parents: 3
diff changeset
     2
 COPYRIGHT (c) 1991 by Claus Gittinger
59
450ce95a72a4 *** empty log message ***
claus
parents: 38
diff changeset
     3
	      All Rights Reserved
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     4
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    11
"
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    12
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
    13
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
    14
2275
7076d59e9d29 gimmick
Claus Gittinger <cg@exept.de>
parents: 2170
diff changeset
    15
"{ Package: 'stx:libwidg' }"
7076d59e9d29 gimmick
Claus Gittinger <cg@exept.de>
parents: 2170
diff changeset
    16
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
    17
DialogBox subclass:#FontPanel
2878
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
    18
	instanceVariableNames:'previewField listOfEncodings familyList faceList sizeList
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
    19
		revertButton currentFamily currentFace currentStyle
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
    20
		currentFaceAndStyle currentSize currentEncoding selectedFont
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
    21
		nameLabel encodingFilter encodingLabel filter encoding'
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
    22
	classVariableNames:''
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
    23
	poolDictionaries:''
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
    24
	category:'Views-DialogBoxes'
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    25
!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
    26
1185
3b8bd5ea8d62 action block is evaluated with a fontDescription
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
    27
!FontPanel class methodsFor:'documentation'!
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
    28
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    29
copyright
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    30
"
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    31
 COPYRIGHT (c) 1991 by Claus Gittinger
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    32
	      All Rights Reserved
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    33
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    34
 This software is furnished under a license and may be used
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    35
 only in accordance with the terms of that license and with the
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    36
 inclusion of the above copyright notice.   This software may not
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    37
 be provided or otherwise made available to, or used by, any
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    38
 other person.  No title to or ownership of the software is
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    39
 hereby transferred.
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    40
"
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    41
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
    42
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
    43
!
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
    44
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
    45
documentation
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
    46
"
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
    47
    this class implements a font chooser.
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
    48
2826
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
    49
    Notice: 
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
    50
        this is a very old dialog; 
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
    51
        it was written before the UI-framework was available and is completely
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
    52
        setup manually (initialize method).
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
    53
        Therefore, it desperately asks to be rewritten using the UIPainter...
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
    54
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    55
    [author:]
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    56
        Claus Gittinger
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    57
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    58
    [see also:]
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    59
        Font FontDescription
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    60
        View Dialog
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    61
"
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    62
!
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    63
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    64
examples
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    65
"
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    66
    very simple:
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    67
                                                                        [exBegin]
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    68
        |font|
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    69
        
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    70
        font := FontPanel fontFromUser.
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 595
diff changeset
    71
        Transcript showCR:font
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    72
                                                                        [exEnd]
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    73
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    74
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    75
    with initial font:
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    76
                                                                        [exBegin]
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    77
        |font|
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    78
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    79
        font := FontPanel 
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    80
                    fontFromUserInitial:(Font 
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    81
                                            family:'courier'
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    82
                                            size:12).
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 595
diff changeset
    83
        Transcript showCR:font
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    84
                                                                        [exEnd]
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    85
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    86
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    87
    with initial font & title:
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    88
                                                                        [exBegin]
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    89
        |font|
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    90
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    91
        font := FontPanel 
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    92
                    fontFromUserInitial:(Font 
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    93
                                            family:'courier'
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    94
                                            size:12)
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    95
                                  title:'select a fooBar font'.
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 595
diff changeset
    96
        Transcript showCR:font
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    97
                                                                        [exEnd]
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    98
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
    99
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   100
    full setup; setting a filter to only present iso fonts
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   101
    and callBack action:
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   102
                                                                        [exBegin]
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   103
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
   104
        |panel|
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   105
585
8f395aba0173 documentation
Claus Gittinger <cg@exept.de>
parents: 572
diff changeset
   106
        panel := FontPanel new.
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   107
        panel label:'hi there - which iso font ?'.
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   108
        panel filter:[:fd | fd encoding notNil
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   109
                            and:[fd encoding startsWith:'iso']].
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   110
        panel action:[:family :face :style :size | 
655
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 595
diff changeset
   111
                        Transcript showCR:'family:' , family.
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 595
diff changeset
   112
                        Transcript showCR:'face:' , face.
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 595
diff changeset
   113
                        Transcript showCR:'style:' , style.
acad3ef3a46c showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 595
diff changeset
   114
                        Transcript showCR:'size:' , size printString.
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   115
                     ].
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   116
        panel open
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   117
                                                                        [exEnd]
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   118
"
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   119
! !
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   120
1185
3b8bd5ea8d62 action block is evaluated with a fontDescription
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   121
!FontPanel class methodsFor:'defaults'!
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   122
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   123
defaultExtent
571
ddc5d56bd636 commentary
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   124
    "return the default extent of my instances.
ddc5d56bd636 commentary
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   125
     The value returned here is usually ignored, and
ddc5d56bd636 commentary
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   126
     the value from preferredExtent taken instead."
ddc5d56bd636 commentary
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   127
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   128
    ^ (Screen current pixelPerMillimeter * (150 @ 100)) rounded
571
ddc5d56bd636 commentary
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   129
ddc5d56bd636 commentary
Claus Gittinger <cg@exept.de>
parents: 541
diff changeset
   130
    "Modified: 22.4.1996 / 23:36:19 / cg"
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   131
!
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   132
2860
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   133
defaultJIS0201SampleString
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   134
    "return the sample jis preview text"
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   135
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   136
    ^ ('The quick brown fox
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   137
jumps over the lazy dog
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   138
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   139
ABCDEFGHIJKLMNOPQRSTUVWXYZ
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   140
abcdefghijklmnopqrstuvwxyz
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   141
1234567890
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   142
!!@#$%^&*(){}[]:"~;,./<>?
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   143
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   144
')
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   145
!
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   146
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   147
defaultJISSampleString
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   148
    "return the sample jis preview text"
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   149
2888
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   150
    ^ CharacterEncoder 
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   151
        encodeString:(
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   152
'The quick brown fox
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   153
jumps over the lazy dog
2860
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   154
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   155
ABCDEFGHIJKLMNOPQRSTUVWXYZ
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   156
abcdefghijklmnopqrstuvwxyz
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   157
1234567890
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   158
!!@#$%^&*(){}[]:"~;,./<>?
390
1d54a9b41463 say Hello world in JIS font ;-)
Claus Gittinger <cg@exept.de>
parents: 382
diff changeset
   159
2888
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   160
' ,
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   161
(UnicodeString fromString:(#(16r65E5 16r672C 16r8A9E) collect:[:c | Character value:c]))
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   162
        )
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   163
        from:'unicode'
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   164
        into:'jisx0208.1983-0'
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   165
!
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   166
2847
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   167
defaultLatin1SampleString
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   168
    "return the sample latin1 preview text"
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   169
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   170
    |t|
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   171
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   172
    Smalltalk language == #de ifTrue:[
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   173
        t := 'Franz jagt im komplett verwahrlosten Taxi
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   174
quer durch Bayern'.
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   175
    ] ifFalse:[
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   176
        t := 'The quick brown fox
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   177
jumps over the lazy dog'.
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   178
    ].
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   179
    t := t , '
2860
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   180
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   181
ABCDEFGHIJKLMNOPQRSTUVWXYZ
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   182
abcdefghijklmnopqrstuvwxyz
2847
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   183
1234567890
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   184
!!@#$%^&*(){}[]:"~;,./<>?
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   185
' , 
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   186
(Character value:16rE4) asString ,    "/ umlaut a
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   187
(Character value:16rF6) asString ,    "/ umlaut o
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   188
(Character value:16rFC) asString ,    "/ umlaut u
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   189
(Character value:16rC4) asString ,    "/ umlaut A
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   190
(Character value:16rD6) asString ,    "/ umlaut O
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   191
(Character value:16rDC) asString ,    "/ umlaut U
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   192
(Character value:16rDF) asString ,    "/ sz
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   193
(Character value:233) asString ,      "/ e-degu
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   194
(Character value:232) asString ,      "/ e-grave
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   195
(Character value:234) asString ,      "/ e-circonflex
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   196
(Character value:197) asString ,      "/ A
2851
7e4364e9c3bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2849
diff changeset
   197
(Character value:169) asString ,      "/ copyright
7e4364e9c3bb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2849
diff changeset
   198
(Character value:164) asString.       "/ euro
2847
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   199
    ^ t
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   200
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   201
    "Modified: 29.4.1996 / 09:46:19 / cg"
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   202
!
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   203
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   204
defaultUnicodeSampleString
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   205
    "return the sample unicode preview text"
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   206
2275
7076d59e9d29 gimmick
Claus Gittinger <cg@exept.de>
parents: 2170
diff changeset
   207
    |t|
7076d59e9d29 gimmick
Claus Gittinger <cg@exept.de>
parents: 2170
diff changeset
   208
2286
2a1a6b7cb322 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2276
diff changeset
   209
    Smalltalk language == #de ifTrue:[
2275
7076d59e9d29 gimmick
Claus Gittinger <cg@exept.de>
parents: 2170
diff changeset
   210
        t := 'Franz jagt im komplett verwahrlosten Taxi
7076d59e9d29 gimmick
Claus Gittinger <cg@exept.de>
parents: 2170
diff changeset
   211
quer durch Bayern'.
7076d59e9d29 gimmick
Claus Gittinger <cg@exept.de>
parents: 2170
diff changeset
   212
    ] ifFalse:[
7076d59e9d29 gimmick
Claus Gittinger <cg@exept.de>
parents: 2170
diff changeset
   213
        t := 'The quick brown fox
7076d59e9d29 gimmick
Claus Gittinger <cg@exept.de>
parents: 2170
diff changeset
   214
jumps over the lazy dog'.
7076d59e9d29 gimmick
Claus Gittinger <cg@exept.de>
parents: 2170
diff changeset
   215
    ].
7076d59e9d29 gimmick
Claus Gittinger <cg@exept.de>
parents: 2170
diff changeset
   216
    t := t , '
2860
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   217
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   218
ABCDEFGHIJKLMNOPQRSTUVWXYZ
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   219
abcdefghijklmnopqrstuvwxyz
110
eb59f6e31e84 *** empty log message ***
claus
parents: 101
diff changeset
   220
1234567890
eb59f6e31e84 *** empty log message ***
claus
parents: 101
diff changeset
   221
!!@#$%^&*(){}[]:"~;,./<>?
2882
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   222
diaresis: ' , 
398
6f10715fef28 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   223
(Character value:16rE4) asString ,    "/ umlaut a
6f10715fef28 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   224
(Character value:16rF6) asString ,    "/ umlaut o
6f10715fef28 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   225
(Character value:16rFC) asString ,    "/ umlaut u
6f10715fef28 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   226
(Character value:16rC4) asString ,    "/ umlaut A
6f10715fef28 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   227
(Character value:16rD6) asString ,    "/ umlaut O
6f10715fef28 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   228
(Character value:16rDC) asString ,    "/ umlaut U
6f10715fef28 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   229
(Character value:16rDF) asString ,    "/ sz
2882
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   230
'
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   231
accent: ' ,
398
6f10715fef28 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   232
(Character value:233) asString ,      "/ e-degu
6f10715fef28 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   233
(Character value:232) asString ,      "/ e-grave
6f10715fef28 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   234
(Character value:234) asString ,      "/ e-circonflex
6f10715fef28 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   235
(Character value:197) asString ,      "/ A
2882
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   236
(Character value:169) asString ,       "/ copyright
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   237
'
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   238
cyrillic: ' ,
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   239
(UnicodeString fromString:(#(16r420 16r443 16r441 16r441 16r43A 16r43E) collect:[:c | Character value:c])) ,
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   240
'
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   241
greek: ' ,
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   242
(UnicodeString fromString:(#(16r395 16r3BB 16r3BB 16r3B7 16r3BD 16r3B9 16r3BA 16r3AC) collect:[:c | Character value:c])) ,
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   243
'
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   244
japanese: ' ,
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   245
(UnicodeString fromString:(#(16r65E5 16r672C 16r8A9E) collect:[:c | Character value:c])) ,
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   246
'
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   247
'.
2276
a34a00b5c65f gimmick
Claus Gittinger <cg@exept.de>
parents: 2275
diff changeset
   248
    ^ t
398
6f10715fef28 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 390
diff changeset
   249
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   250
    "Modified: 29.4.1996 / 09:46:19 / cg"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   251
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   252
2852
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   253
!FontPanel class methodsFor:'menu specs'!
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   254
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   255
previewMenu
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   256
    "This resource specification was automatically generated
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   257
     by the MenuEditor of ST/X."
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   258
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   259
    "Do not manually edit this!! If it is corrupted,
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   260
     the MenuEditor may not be able to read the specification."
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   261
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   262
    "
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   263
     MenuEditor new openOnClass:FontPanel andSelector:#previewMenu
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   264
     (Menu new fromLiteralArrayEncoding:(FontPanel previewMenu)) startUp
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   265
    "
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   266
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   267
    <resource: #menu>
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   268
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   269
    ^ 
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   270
     #(Menu
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   271
        (
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   272
         (MenuItem
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   273
            label: 'Copy'
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   274
            itemValue: previewCopySelection
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   275
            translateLabel: true
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   276
          )
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   277
         (MenuItem
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   278
            label: '-'
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   279
          )
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   280
         (MenuItem
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   281
            label: 'Show Character Set'
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   282
            itemValue: previewShowCharacterSet
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   283
            translateLabel: true
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   284
          )
2875
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   285
         (MenuItem
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   286
            label: 'Show Character Set (Using xfd)'
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   287
            itemValue: previewShowCharacterSetUsingXFD
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   288
            translateLabel: true
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   289
            isVisible: false
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   290
          )
2852
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   291
         )
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   292
        nil
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   293
        nil
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   294
      )
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   295
! !
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   296
1185
3b8bd5ea8d62 action block is evaluated with a fontDescription
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   297
!FontPanel class methodsFor:'startup'!
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   298
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   299
fontFromUser
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   300
    "open a fontPanel and return the selected font, or nil
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   301
     if abort is pressed"
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   302
410
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   303
    ^ self fontFromUserInitial:nil
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   304
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   305
    "
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   306
     FontPanel fontFromUser
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   307
    "
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   308
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   309
    "Modified: 27.2.1996 / 00:51:59 / cg"
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   310
!
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   311
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   312
fontFromUserInitial:aFont
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   313
    "open a fontPanel showing aFont initially,
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   314
     and return the selected font, or nil if abort is pressed"
410
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   315
413
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   316
    ^ self fontFromUserInitial:aFont title:nil
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   317
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   318
    "
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   319
     FontPanel fontFromUserInitial:(Font family:'courier' size:12)
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   320
    "
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   321
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   322
    "Created: 27.2.1996 / 00:51:44 / cg"
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   323
    "Modified: 29.4.1996 / 09:45:52 / cg"
413
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   324
!
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   325
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   326
fontFromUserInitial:aFont title:someTitle
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   327
    "open a fontPanel with title and return the selected font, 
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   328
     or nil if abort is pressed"
413
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   329
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   330
    ^ self fontFromUserInitial:aFont title:someTitle filter:nil
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   331
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   332
    "
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   333
     FontPanel fontFromUserInitial:(Font family:'courier' size:12) title:'select some font'
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   334
    "
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   335
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   336
    "Created: 27.2.1996 / 00:59:46 / cg"
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   337
    "Modified: 29.4.1996 / 09:45:34 / cg"
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   338
!
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   339
2849
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   340
fontFromUserInitial:initialFont title:someTitle filter:aFilterBlock
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   341
    "open a fontPanel with title and font-filter
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   342
     and return the selected font, or nil if abort is pressed"
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   343
2887
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   344
    ^ self fontFromUserInitial:initialFont title:someTitle filter:aFilterBlock encoding:nil
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   345
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   346
    "
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   347
     FontPanel fontFromUserInitial:(Font family:'courier' size:12) title:'select some font'
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   348
    "
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   349
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   350
    "Created: 27.2.1996 / 00:59:46 / cg"
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   351
    "Modified: 10.4.1997 / 09:53:03 / cg"
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   352
!
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   353
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   354
fontFromUserInitial:initialFont title:someTitle filter:aFilterBlock encoding:encoding
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   355
    "open a fontPanel with title and font-filter
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   356
     and return the selected font, or nil if abort is pressed"
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   357
1185
3b8bd5ea8d62 action block is evaluated with a fontDescription
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   358
    |fontPanel selectedFont|
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   359
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   360
    fontPanel := FontPanel new.
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   361
    fontPanel filter:aFilterBlock.
413
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   362
    someTitle notNil ifTrue:[
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   363
        fontPanel label:someTitle
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   364
    ].
1185
3b8bd5ea8d62 action block is evaluated with a fontDescription
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   365
    fontPanel action:[:aFontDescription | selectedFont := aFontDescription].
2849
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   366
    initialFont notNil ifTrue:[
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   367
        fontPanel initialFont:initialFont.
410
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   368
    ].
2888
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   369
    encoding notNil ifTrue:[
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   370
        fontPanel encoding:encoding.
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   371
    ].
410
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   372
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   373
    fontPanel showAtPointer.
1185
3b8bd5ea8d62 action block is evaluated with a fontDescription
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   374
    fontPanel destroy.
3b8bd5ea8d62 action block is evaluated with a fontDescription
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   375
    ^ selectedFont
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   376
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   377
    "
413
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   378
     FontPanel fontFromUserInitial:(Font family:'courier' size:12) title:'select some font'
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   379
    "
410
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   380
413
7474707a9e9b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 410
diff changeset
   381
    "Created: 27.2.1996 / 00:59:46 / cg"
1185
3b8bd5ea8d62 action block is evaluated with a fontDescription
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   382
    "Modified: 10.4.1997 / 09:53:03 / cg"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   383
! !
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   384
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   385
!FontPanel methodsFor:'accessing'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   386
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   387
action:aFourArgBlock
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   388
    "set the action to be evaluated on ok.
1185
3b8bd5ea8d62 action block is evaluated with a fontDescription
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   389
     The block will be evaluated with family, face, style, size and encoding."
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   390
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   391
    okAction := aFourArgBlock
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   392
1185
3b8bd5ea8d62 action block is evaluated with a fontDescription
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   393
    "Modified: 10.4.1997 / 09:49:58 / cg"
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   394
!
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   395
434
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   396
encoding:aPattern
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   397
    "set the encoding goal"
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   398
434
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   399
    encoding := aPattern.
2843
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   400
    encodingFilter contents:encoding.
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   401
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   402
    self encodingFilterSelected:encoding.
434
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   403
    shown ifTrue:[
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   404
        self updateFamilyList
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   405
    ].
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   406
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   407
    "Created: 29.2.1996 / 04:05:31 / cg"
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   408
    "Modified: 29.4.1996 / 09:40:18 / cg"
434
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   409
!
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   410
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   411
filter:aOneArgBlock
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   412
    "set a filter; if non-nil, only fonts for which the filterBlock
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   413
     returns true will be offered"
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   414
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   415
    filter := aOneArgBlock.
2826
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   416
    familyList list:nil.
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   417
    shown ifTrue:[
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   418
        self updateFamilyList
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   419
    ].
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   420
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   421
    "Created: 27.2.1996 / 01:40:08 / cg"
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   422
    "Modified: 29.4.1996 / 09:40:49 / cg"
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   423
!
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   424
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   425
initialFont:aFont
128
claus
parents: 110
diff changeset
   426
    "set the font to be selected initially"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   427
2849
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   428
    |encoding|
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   429
128
claus
parents: 110
diff changeset
   430
    selectedFont := aFont.
2849
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   431
    encoding := aFont encoding.    
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   432
"/ self halt.
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   433
    encodingFilter contents:encoding.
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   434
    self encodingFilterSelected:encoding.
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   435
    self showSelectedFont.
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   436
    self showPreview
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   437
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   438
    "Modified: 23.2.1996 / 00:51:32 / cg"
101
88e7faeda854 *** empty log message ***
claus
parents: 77
diff changeset
   439
! !
88e7faeda854 *** empty log message ***
claus
parents: 77
diff changeset
   440
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   441
!FontPanel methodsFor:'initialization'!
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   442
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   443
initialize
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   444
    |familyLabel faceLabel sizeLabel panel fontBrowserView v1 v2 v3
2847
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   445
     mm fH eH l box showFontNameLabel|
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   446
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   447
    super initialize.
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   448
2847
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   449
    showFontNameLabel := device platformName ~= 'WIN32'.
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   450
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   451
    mm := ViewSpacing.
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   452
1763
1c6be8158c27 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1297
diff changeset
   453
    self addAbortAndOkButtons.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   454
390
1d54a9b41463 say Hello world in JIS font ;-)
Claus Gittinger <cg@exept.de>
parents: 382
diff changeset
   455
    panel := View origin:0.0@0.0 corner:1.0@1.0 in:self.
2847
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   456
    panel bottomInset:(buttonPanel preferredExtent y 
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   457
                        + (mm*3) 
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   458
                        + (showFontNameLabel ifTrue:24 ifFalse:0) ).
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   459
150
claus
parents: 131
diff changeset
   460
    label := resources string:'Font dialog'.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   461
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   462
    box := HorizontalPanelView in:panel.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   463
    box horizontalLayout:#leftFit.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   464
    box origin:0.0@1.0 corner:0.6@1.0.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   465
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   466
    l := Label label:(resources string:'Encoding:') in:box.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   467
    l borderWidth:0.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   468
    l adjust:#left.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   469
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   470
    encodingFilter := ComboBoxView in:box.
2826
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   471
    encodingFilter level:-1.
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   472
    encodingFilter contents:'*'.
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   473
    encodingFilter list:(self listOfEncodingsInFilterCombo).
2826
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   474
    encodingFilter action:[:pattern | self encodingFilterSelected:pattern].
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   475
    encodingFilter immediateAccept:true.
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   476
    encodingFilter font:l font.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   477
    encodingFilter editor font:l font.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   478
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   479
    eH := encodingFilter preferredExtent y.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   480
    box topInset:(eH negated-1); horizontalInset:mm.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   481
2826
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   482
"/    encodingFilter acceptOnReturn:true.
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   483
"/    encodingFilter acceptOnTab:true.
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   484
"/    encodingFilter acceptOnLeave:true.
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   485
"/    encodingFilter acceptOnLostFocus:true.
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   486
"/    encodingFilter acceptOnPointerLeave:true.
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   487
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   488
    encodingLabel := Label label:' ' in:panel.
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   489
    "/ eH := encodingLabel preferredExtent y.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   490
    encodingLabel origin:0.6@1.0 corner:1.0@1.0.
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   491
    encodingLabel topInset:(eH negated); horizontalInset:mm.
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   492
    encodingLabel level:0; adjust:#left.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   493
    encodingLabel adjust:#right.
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   494
2847
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   495
    showFontNameLabel ifTrue:[
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   496
        nameLabel := Label label:'' in:self.
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   497
        nameLabel origin:0.0@1.0 corner:1.0@1.0.
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   498
        nameLabel bottomInset:(buttonPanel preferredExtent y + (mm*2)).
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   499
        nameLabel topInset:(buttonPanel preferredExtent y + (mm*2) + 24) negated; horizontalInset:mm.
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   500
        nameLabel level:0; adjust:#left.
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   501
        nameLabel font:(FontDescription family:'helvetica' face:'medium' style:'roman' size:9).
27017abf9298 *** empty log message ***
ca
parents: 2845
diff changeset
   502
    ].
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   503
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   504
    previewField := HVScrollableView for:TextView in:panel.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   505
    previewField origin:0.0@0.0 corner:1.0@0.4.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   506
    previewField autoHideScrollBars:true.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   507
    previewField := previewField scrolledView.
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   508
    previewField inset:mm.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   509
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   510
    self is3D ifTrue:[
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   511
        previewField level:-1.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   512
    ] ifFalse:[
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   513
        previewField borderWidth:1.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   514
    ].
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   515
390
1d54a9b41463 say Hello world in JIS font ;-)
Claus Gittinger <cg@exept.de>
parents: 382
diff changeset
   516
    fontBrowserView := View origin:0.0@0.4 corner:1.0@1.0 in:panel.
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   517
    fontBrowserView bottomInset:(eH + mm).
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   518
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   519
    v1 := View origin:0.0@0.0 corner:0.4@1.0 in:fontBrowserView.
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   520
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   521
    familyLabel := Label label:(resources string:'Family') in:v1.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   522
    familyLabel borderWidth:0.
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   523
    familyLabel origin:(0.0 @ 0.0) extent:(1.0 @ nil).
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   524
    fH := familyLabel preferredExtent y.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   525
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   526
    familyList := ScrollableView for:SelectionInListView in:v1.
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   527
    familyList origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   528
    familyList inset:mm.
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   529
    familyList topInset:fH.
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   530
128
claus
parents: 110
diff changeset
   531
    familyList := familyList scrolledView.
740
2d5cb01c7e11 no need for focusSequence - DialogBox does it
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
   532
    self makeTabable:familyList.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   533
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   534
    v2 := View origin:0.4@0.0 corner:0.8@1.0
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   535
                   in:fontBrowserView.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   536
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   537
    faceLabel := Label label:(resources string:'Typeface') in:v2.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   538
    faceLabel borderWidth:0.
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   539
    faceLabel origin:(0.0 @ 0.0) extent:(1.0 @ nil).
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   540
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   541
    faceList := ScrollableView for:SelectionInListView in:v2.
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   542
    faceList origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   543
    faceList inset:mm.
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   544
    faceList topInset:fH.
128
claus
parents: 110
diff changeset
   545
    faceList := faceList scrolledView.
740
2d5cb01c7e11 no need for focusSequence - DialogBox does it
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
   546
    self makeTabable:faceList.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   547
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   548
    v3 := View origin:0.8@0.0 corner:1.0@1.0 in:fontBrowserView.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   549
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   550
    sizeLabel := Label label:(resources string:'Size') in:v3.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   551
    sizeLabel borderWidth:0.
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   552
    sizeLabel origin:(0.0 @ 0.0)extent:(1.0 @ nil).
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   553
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   554
    sizeList := ScrollableView for:SelectionInListView in:v3.
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   555
    sizeList origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   556
    sizeList inset:mm.
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   557
    sizeList topInset:fH.
128
claus
parents: 110
diff changeset
   558
    sizeList := sizeList scrolledView.
740
2d5cb01c7e11 no need for focusSequence - DialogBox does it
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
   559
    self makeTabable:sizeList.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   560
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   561
    familyList action:[:lineNr | self familySelected:(familyList selectionValue)].
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   562
    faceList action:[:lineNr | self faceSelected:(faceList selectionValue)].
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   563
    sizeList action:[:lineNr | self sizeSelected:(sizeList selectionValue)].
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   564
2852
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   565
    previewField menuHolder:self previewMenu.
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   566
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   567
    "
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   568
     FontPanel new showAtPointer
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   569
    "
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   570
740
2d5cb01c7e11 no need for focusSequence - DialogBox does it
Claus Gittinger <cg@exept.de>
parents: 713
diff changeset
   571
    "Modified: 31.5.1996 / 22:01:45 / cg"
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   572
!
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   573
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   574
listOfEncodingsInFilterCombo
2878
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   575
    |availableEncodings listPresentedToUser|
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   576
2878
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   577
    listOfEncodings := OrderedCollection new.
2849
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   578
    device platformName = 'WIN32' ifTrue:[
2878
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   579
        listOfEncodings
2849
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   580
            addAll:
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   581
                #(
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   582
                    '*'
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   583
                    'ANSI'
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   584
                    nil
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   585
                ).
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   586
    ] ifFalse:[
2878
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   587
        listOfEncodings
2849
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   588
            addAll:
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   589
                #(
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   590
                    '*'
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   591
                    'iso8859*'
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   592
                    'iso10646-1'
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   593
                    'jis*'
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   594
                    nil
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   595
                ).
f6b71b63b33c *** empty log message ***
ca
parents: 2848
diff changeset
   596
    ].
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   597
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   598
    availableEncodings := Set new.
2845
075391fc5ed1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2843
diff changeset
   599
    device listOfAvailableFonts do:[:f | availableEncodings add:(f encoding ? '?')].
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   600
    availableEncodings := availableEncodings asSortedCollection.
2878
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   601
    listOfEncodings addAll:availableEncodings.
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   602
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   603
    listPresentedToUser := listOfEncodings collect:[:enc |
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   604
                            |encoder userFriendlyName|
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   605
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   606
                            enc notNil ifTrue:[
2888
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   607
                                encoder := CharacterEncoder encoderFor:enc ifAbsent:nil.
2878
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   608
                                encoder notNil ifTrue:[
2895
df3a2c63e5f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2890
diff changeset
   609
                                    userFriendlyName := encoder userFriendlyNameOfEncoding.
2878
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   610
                                ].
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   611
                            ].
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   612
                            (userFriendlyName notNil and:[userFriendlyName ~= enc]) ifTrue:[
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   613
                                enc , ' (' , userFriendlyName , ')'
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   614
                            ] ifFalse:[
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   615
                                enc
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   616
                            ]
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   617
                          ].
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   618
    ^ listPresentedToUser.
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   619
!
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   620
1277
2609b2dd2768 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1257
diff changeset
   621
postRealize
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   622
    "kludge for sco - xlsfont fails sometimes - try again here"
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   623
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   624
    self updateFamilyList.
1277
2609b2dd2768 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1257
diff changeset
   625
    super postRealize
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   626
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   627
    "Modified: 27.2.1996 / 01:40:47 / cg"
1277
2609b2dd2768 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1257
diff changeset
   628
    "Created: 24.7.1997 / 18:12:42 / cg"
2852
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   629
!
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   630
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   631
previewMenu
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   632
    <resource: #programMenu >
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   633
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   634
    |menu|
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   635
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   636
    menu :=  Menu new fromLiteralArrayEncoding:self class previewMenu.
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   637
    menu findGuiResourcesIn:self.
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   638
    menu receiver:self.
2875
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   639
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   640
    OperatingSystem isUNIXlike ifTrue:[
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   641
        (menu menuItemWithValue:#previewShowCharacterSetUsingXFD) isVisible: true
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   642
    ].
2852
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   643
    ^ menu
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   644
! !
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   645
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   646
!FontPanel methodsFor:'private'!
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   647
541
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   648
clearPreview
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   649
    "clear the preview subview"
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   650
541
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   651
    shown ifTrue:[
1297
f5ea02391a59 use #contents: instead of #clear
Claus Gittinger <cg@exept.de>
parents: 1284
diff changeset
   652
        previewField contents:nil.
541
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   653
        encodingLabel label:''.
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   654
    ].
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   655
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   656
    "Created: 17.4.1996 / 15:19:16 / cg"
1297
f5ea02391a59 use #contents: instead of #clear
Claus Gittinger <cg@exept.de>
parents: 1284
diff changeset
   657
    "Modified: 11.8.1997 / 03:01:42 / cg"
541
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   658
!
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   659
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   660
extractFaceAndStyleFrom:aString
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   661
    "given a string, extract currentFace and currentStyle"
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   662
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   663
    |index|
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   664
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   665
    index := aString indexOf:$-.
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   666
    (index ~~ 0) ifTrue:[
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   667
        currentFaceAndStyle := aString.
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   668
        currentFace := aString copyTo:(index - 1).
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   669
        currentStyle := aString copyFrom:(index + 1)
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   670
    ]
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   671
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   672
    "Modified: 29.4.1996 / 09:41:47 / cg"
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   673
!
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   674
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   675
showPreview
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   676
    "show the preview text"
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   677
2843
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   678
    |font deviceFont enc s allFonts fonts fontName|
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   679
541
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   680
    self clearPreview.
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   681
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   682
    "
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   683
     show a wait cursor: for some fonts (kanji etc) the
2890
2a5804121c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
   684
     X-server needs quite some time to load the font
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   685
    "
255
fdd8ed7f896c use withWaitCursorDo:
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
   686
    self withWaitCursorDo:[
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   687
        allFonts := device 
1257
cd6405b2e13a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1185
diff changeset
   688
                    fontsInFamily:(currentFamily ? '*')
cd6405b2e13a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1185
diff changeset
   689
                    face:(currentFace ? '*')
cd6405b2e13a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1185
diff changeset
   690
                    style:(currentStyle ? '*')
434
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   691
                    filtering:filter.
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   692
2848
b8a4d793764c *** empty log message ***
ca
parents: 2847
diff changeset
   693
        fonts := allFonts select:[:f | f size = currentSize].
450
71af90725928 oops - scalable fonts failed
Claus Gittinger <cg@exept.de>
parents: 434
diff changeset
   694
        fonts notEmpty ifTrue:[
2843
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   695
            font := fonts anElement.
450
71af90725928 oops - scalable fonts failed
Claus Gittinger <cg@exept.de>
parents: 434
diff changeset
   696
        ] ifFalse:[
2848
b8a4d793764c *** empty log message ***
ca
parents: 2847
diff changeset
   697
            "/ mhmh:
b8a4d793764c *** empty log message ***
ca
parents: 2847
diff changeset
   698
            "/   size=0 is returned for scalable fonts. 
b8a4d793764c *** empty log message ***
ca
parents: 2847
diff changeset
   699
            "/   Any size is possible.
450
71af90725928 oops - scalable fonts failed
Claus Gittinger <cg@exept.de>
parents: 434
diff changeset
   700
            "/
2848
b8a4d793764c *** empty log message ***
ca
parents: 2847
diff changeset
   701
            fonts := allFonts select:[:f | f size = 0].
450
71af90725928 oops - scalable fonts failed
Claus Gittinger <cg@exept.de>
parents: 434
diff changeset
   702
            fonts notEmpty ifTrue:[
2843
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   703
                font := Font family:currentFamily 
450
71af90725928 oops - scalable fonts failed
Claus Gittinger <cg@exept.de>
parents: 434
diff changeset
   704
                          face:currentFace 
71af90725928 oops - scalable fonts failed
Claus Gittinger <cg@exept.de>
parents: 434
diff changeset
   705
                          style:currentStyle
71af90725928 oops - scalable fonts failed
Claus Gittinger <cg@exept.de>
parents: 434
diff changeset
   706
                          size:currentSize      
71af90725928 oops - scalable fonts failed
Claus Gittinger <cg@exept.de>
parents: 434
diff changeset
   707
                          encoding:(fonts anElement encoding).
71af90725928 oops - scalable fonts failed
Claus Gittinger <cg@exept.de>
parents: 434
diff changeset
   708
            ]    
71af90725928 oops - scalable fonts failed
Claus Gittinger <cg@exept.de>
parents: 434
diff changeset
   709
        ].
434
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   710
2843
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   711
        font notNil ifTrue:[
2890
2a5804121c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
   712
            deviceFont := font onDevice:device.
2a5804121c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
   713
            enc := deviceFont encoding.
2875
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   714
            enc isNil ifTrue:[enc := 'fontspecific'].
434
22586d8221e1 dont get confused by same-name but different encoding
Claus Gittinger <cg@exept.de>
parents: 415
diff changeset
   715
2874
2b8f8b6a69fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2873
diff changeset
   716
            previewField font:deviceFont.
2b8f8b6a69fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2873
diff changeset
   717
            previewField characterEncoding:enc.
2b8f8b6a69fb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2873
diff changeset
   718
2287
b33ad40d7538 preview fixed when font is bad
Claus Gittinger <cg@exept.de>
parents: 2286
diff changeset
   719
            encodingLabel label:enc.
2843
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   720
            currentEncoding := enc.
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   721
            fontName := deviceFont fullName.
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   722
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   723
            (enc notNil and:[enc startsWith:'jis']) ifTrue:[
2860
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   724
                (enc includesString:'0201') ifTrue:[
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   725
                    s := self class defaultJIS0201SampleString    
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   726
                ] ifFalse:[
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   727
                    s := self class defaultJISSampleString
69d838dd825c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2852
diff changeset
   728
                ]
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   729
            ] ifFalse:[
2882
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   730
                (enc notNil and:[(enc startsWith:'unicode') or:[enc startsWith:'iso10646-']]) ifTrue:[
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   731
                    s := self class defaultUnicodeSampleString.
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   732
                ] ifFalse:[
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   733
                    s := self class defaultLatin1SampleString.
42dae296546f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2878
diff changeset
   734
                ]
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   735
            ].
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   736
            previewField contents:s.
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   737
        ] ifFalse:[
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   738
            previewField contents:nil.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   739
            encodingLabel label:nil.
2843
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   740
            currentEncoding := nil.
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   741
            fontName := nil.
382
567ea344ab9d show fonts encoding
Claus Gittinger <cg@exept.de>
parents: 255
diff changeset
   742
        ].
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   743
        nameLabel notNil ifTrue:[nameLabel label:fontName].
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   744
    ]
255
fdd8ed7f896c use withWaitCursorDo:
Claus Gittinger <cg@exept.de>
parents: 251
diff changeset
   745
1257
cd6405b2e13a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1185
diff changeset
   746
    "Modified: 30.6.1997 / 17:26:22 / cg"
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   747
!
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   748
128
claus
parents: 110
diff changeset
   749
showSelectedFont
2843
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   750
    |fam face faceAndStyle style sz|
128
claus
parents: 110
diff changeset
   751
claus
parents: 110
diff changeset
   752
    fam := selectedFont family.
2843
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   753
    currentEncoding := selectedFont encoding.
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   754
2888
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   755
    self familySelected:fam showPreview:false.
128
claus
parents: 110
diff changeset
   756
    fam notNil ifTrue:[
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   757
        face := selectedFont face.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   758
        (face notNil and:[(style := selectedFont style) notNil]) ifTrue:[
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   759
            faceAndStyle := face , '-' , style.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   760
        ].
2888
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   761
        self faceSelected:faceAndStyle showPreview:false.
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   762
        faceAndStyle notNil ifTrue:[
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   763
            sz := selectedFont size.
2888
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   764
            self sizeSelected:sz showPreview:false. 
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   765
        ]
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   766
    ].
2888
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   767
e8d9ca880a4c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2887
diff changeset
   768
    self showPreview
2826
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   769
!
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   770
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   771
updateFamilyList 
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   772
    "update the list of font families"
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   773
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   774
    |families|
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   775
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   776
    familyList list isNil ifTrue:[
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   777
        families := device fontFamiliesFiltering:filter.
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   778
        families notNil ifTrue:[
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   779
            families := families asOrderedCollection sort
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   780
        ].
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   781
        familyList list:families
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   782
    ].
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   783
    selectedFont notNil ifTrue:[
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   784
        self showSelectedFont
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   785
    ].
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   786
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   787
    "Modified: 27.2.1996 / 01:39:42 / cg"
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   788
    "Created: 27.2.1996 / 01:40:37 / cg"
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   789
! !
128
claus
parents: 110
diff changeset
   790
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   791
!FontPanel methodsFor:'queries'!
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   792
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   793
preferredExtent
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   794
    "return the boxes preferredExtent"
572
121735c2aff6 commentary
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   795
797
2f9cd56f48ee *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 740
diff changeset
   796
    "/ If I have an explicit preferredExtent ..
2f9cd56f48ee *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 740
diff changeset
   797
713
0c38ad51016d care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 690
diff changeset
   798
    preferredExtent notNil ifTrue:[
0c38ad51016d care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 690
diff changeset
   799
        ^ preferredExtent
0c38ad51016d care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 690
diff changeset
   800
    ].
0c38ad51016d care for preSet preferredExtent
Claus Gittinger <cg@exept.de>
parents: 690
diff changeset
   801
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   802
    ^ 450@350
572
121735c2aff6 commentary
Claus Gittinger <cg@exept.de>
parents: 571
diff changeset
   803
797
2f9cd56f48ee *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 740
diff changeset
   804
    "Modified: 19.7.1996 / 20:44:08 / cg"
0
e6a541c1c0eb Initial revision
claus
parents:
diff changeset
   805
! !
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   806
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   807
!FontPanel methodsFor:'user interaction'!
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   808
2826
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   809
encodingFilterSelected:anEncodingPattern
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   810
    "another encoding was selected; find available fonts and update lists"
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   811
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   812
    |pattern|
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   813
2887
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   814
    anEncodingPattern isNil ifTrue:[
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   815
        self filter:nil.
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   816
        ^ self.
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   817
    ].
f3235caea117 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2882
diff changeset
   818
2878
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   819
    pattern := (anEncodingPattern upTo:$( ) withoutSeparators.
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   820
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   821
    pattern = '?' ifTrue:[
2845
075391fc5ed1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2843
diff changeset
   822
        pattern := ''
075391fc5ed1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2843
diff changeset
   823
    ] ifFalse:[
2878
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   824
        pattern := (pattern isEmptyOrNil ifTrue:'*' ifFalse:pattern).
2845
075391fc5ed1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2843
diff changeset
   825
    ].
2826
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   826
    self 
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   827
        filter:
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   828
            [:f | 
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   829
                |encoding|
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   830
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   831
                encoding := f encoding ? ''. 
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   832
                pattern match:encoding
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   833
            ].
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   834
!
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   835
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   836
faceSelected:aFaceAndStyleName
2826
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   837
    "a fonts face was selected; find available sizes and update lists"
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   838
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   839
    self faceSelected:aFaceAndStyleName showPreview:true
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   840
!
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   841
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   842
faceSelected:aFaceAndStyleName showPreview:showPreview
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   843
    "a fonts face was selected; find available sizes and update lists"
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   844
2890
2a5804121c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
   845
    |sizes didShow|
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   846
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   847
    aFaceAndStyleName notNil ifTrue:[    
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   848
        self extractFaceAndStyleFrom:aFaceAndStyleName.
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   849
    ].
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   850
    sizes := device 
1257
cd6405b2e13a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1185
diff changeset
   851
                 sizesInFamily:(currentFamily ? '*')
cd6405b2e13a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1185
diff changeset
   852
                 face:(currentFace ? '*')
cd6405b2e13a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1185
diff changeset
   853
                 style:(currentStyle ? '*')
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   854
                 filtering:filter.
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   855
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   856
    (sizes isNil or:[sizes isEmpty]) ifTrue:[
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   857
        sizeList list:nil.
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   858
        currentSize := nil.
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   859
        showPreview ifTrue:[
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   860
            self showPreview.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   861
        ].
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   862
        ^ self
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   863
    ].
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   864
2890
2a5804121c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
   865
    didShow := false.
541
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   866
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   867
    sizes := (sizes asOrderedCollection sort) collect:[:entry | entry printString].
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   868
    sizeList list:sizes.
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   869
    currentSize notNil ifTrue:[
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   870
        (sizes includes:(currentSize printString)) ifTrue:[
2170
Claus Gittinger <cg@exept.de>
parents: 1992
diff changeset
   871
            sizeList setSelectElement:currentSize printString.
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   872
            showPreview ifTrue:[
2890
2a5804121c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
   873
                self showPreview.
2a5804121c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
   874
                didShow := true.
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   875
            ]
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   876
        ]
2890
2a5804121c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
   877
    ].
2a5804121c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
   878
    didShow ifFalse:[
2a5804121c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
   879
        self clearPreview
2a5804121c67 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2888
diff changeset
   880
    ].
251
25f76efaa547 oops - dont pass a collection of numbers to the size-view
Claus Gittinger <cg@exept.de>
parents: 243
diff changeset
   881
1257
cd6405b2e13a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1185
diff changeset
   882
    "Modified: 30.6.1997 / 17:25:46 / cg"
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   883
!
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   884
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   885
familySelected:aFamilyName
2826
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   886
    "a fonts family was selected; find available faces and update lists"
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   887
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   888
    self familySelected:aFamilyName showPreview:true
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   889
!
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   890
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   891
familySelected:aFamilyName showPreview:showPreview
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   892
    "a fonts family was selected; find available faces and update lists"
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   893
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   894
    |faces styles list|
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   895
690
d579f684aa7e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   896
    familyList setSelectElement:aFamilyName.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   897
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   898
    currentFamily := aFamilyName.
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   899
    faces := device facesInFamily:aFamilyName filtering:filter.
2353
0d373c7046f7 Show registry AND encoding
Stefan Vogel <sv@exept.de>
parents: 2287
diff changeset
   900
    (faces size = 0) ifTrue:[
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   901
        currentFace := currentStyle := currentFaceAndStyle := nil.
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   902
        faceList list:nil.
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   903
        self faceSelected:nil showPreview:showPreview.
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   904
        ^ self.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   905
    ].
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   906
2353
0d373c7046f7 Show registry AND encoding
Stefan Vogel <sv@exept.de>
parents: 2287
diff changeset
   907
    list := SortedCollection new.
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   908
    faces do:[:aFace |
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   909
        styles := device stylesInFamily:aFamilyName face:aFace filtering:filter.
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   910
        styles do:[:aStyle |
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   911
            list add:(aFace , '-' , aStyle)
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   912
        ]
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   913
    ].
541
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   914
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   915
    faceList list:list.
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   916
    currentFaceAndStyle notNil ifTrue:[
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   917
        (list includes:currentFaceAndStyle) ifTrue:[
690
d579f684aa7e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   918
            faceList setSelectElement:currentFaceAndStyle.
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   919
            self faceSelected:currentFaceAndStyle showPreview:showPreview.
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   920
            ^ self
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   921
        ]
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   922
    ].
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   923
541
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   924
    sizeList list:nil.
76018ea821ca clear preview & encoding when no font is shown
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   925
    self clearPreview.
415
2184fe27349a added filter option
Claus Gittinger <cg@exept.de>
parents: 413
diff changeset
   926
690
d579f684aa7e checkin from browser
Claus Gittinger <cg@exept.de>
parents: 655
diff changeset
   927
    "Modified: 26.5.1996 / 15:04:29 / cg"
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   928
!
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   929
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   930
okPressed
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   931
    "ok was pressed; hide myself and evaluate the okAction, passing
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   932
     family, face, style and size as arguments"
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   933
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   934
    self hide.
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   935
    okAction notNil ifTrue:[
410
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   936
        currentFamily notNil ifTrue:[
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   937
            okAction 
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   938
                value:(FontDescription
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   939
                        family:currentFamily 
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   940
                        face:currentFace 
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   941
                        style:currentStyle 
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   942
                        size:currentSize 
2843
5c470e6254d0 care for encoding
Claus Gittinger <cg@exept.de>
parents: 2842
diff changeset
   943
                        encoding:(currentEncoding ? encoding)).
410
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   944
        ]
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   945
    ]
410
d3fb280141e4 new startup message
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   946
1185
3b8bd5ea8d62 action block is evaluated with a fontDescription
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   947
    "Modified: 10.4.1997 / 09:51:31 / cg"
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   948
!
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   949
2852
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   950
previewCopySelection
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   951
    previewField copySelection.
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   952
!
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   953
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   954
previewShowCharacterSet
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   955
    CharacterSetView openOn:(previewField font)
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   956
!
7514af362940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2851
diff changeset
   957
2875
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   958
previewShowCharacterSetUsingXFD
2878
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   959
    [
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   960
        OperatingSystem executeCommand:'xfd -fn ' , previewField font fullName.
8e3fd436ed0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2875
diff changeset
   961
    ] fork.
2875
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   962
!
b9e9728d8245 font display
Claus Gittinger <cg@exept.de>
parents: 2874
diff changeset
   963
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   964
sizeSelected:aNumberOrString
2826
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   965
    "a size was selected; update preview"
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   966
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   967
    self sizeSelected:aNumberOrString showPreview:true.
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   968
!
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   969
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   970
sizeSelected:aNumberOrString showPreview:showPreview
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   971
    "a size was selected; update preview"
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   972
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   973
    aNumberOrString isNumber ifTrue:[
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   974
        currentSize := aNumberOrString
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   975
    ] ifFalse:[
2826
982a947516dc added encoding filter
Claus Gittinger <cg@exept.de>
parents: 2353
diff changeset
   976
        currentSize := Number readFromString:aNumberOrString onError:nil
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   977
    ].
2842
b660224c409a care for encoding
Claus Gittinger <cg@exept.de>
parents: 2826
diff changeset
   978
    showPreview ifTrue:[self showPreview]
595
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   979
31cdbedb303d documentation
Claus Gittinger <cg@exept.de>
parents: 585
diff changeset
   980
    "Modified: 29.4.1996 / 09:43:23 / cg"
77
565b052f5277 *** empty log message ***
claus
parents: 59
diff changeset
   981
! !
197
00927189c882 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 174
diff changeset
   982
1185
3b8bd5ea8d62 action block is evaluated with a fontDescription
Claus Gittinger <cg@exept.de>
parents: 797
diff changeset
   983
!FontPanel class methodsFor:'documentation'!
243
5c411425097d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   984
5c411425097d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   985
version
2895
df3a2c63e5f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2890
diff changeset
   986
    ^ '$Header: /cvs/stx/stx/libwidg/FontPanel.st,v 1.70 2004-02-20 10:45:27 cg Exp $'
243
5c411425097d checkin from browser
Claus Gittinger <cg@exept.de>
parents: 197
diff changeset
   987
! !