FrameMaker dialogue modifications - DaubeFrameMaker dialogue modifications Overview FrameMaker...
Transcript of FrameMaker dialogue modifications - DaubeFrameMaker dialogue modifications Overview FrameMaker...
FrameMaker dialoguemodifications
Overview
FrameMaker dialogues even in version 7.2 are still adapted to small screens of 640 x 480 pixels. Hence the dialogues do not give room to long names of fonts, style names or page names.
One of the most annoying dialogues is «Resize Ta-ble Column» which hides the most significant figu-res of a value.
With the help of –resource editors D+DD has modi-fied many dialogs from the standard interface (none of the structured interface) and placed them on the web: www.daube.ch/docu/fmaker36.html
Dialogues depicted with blueish rather than gree-nish screen shots were added/modified 2007-05-11.
FrameMaker dialogue modifications
1 – 2
Modifications to fminit\fmdlg.dllOverview of modified dialogues
Tools and process ........................................................................... 4Modifications done ......................................................................... 6Further enhancements possible ....................................................... 7about_main .................................................................................... 8book_define (Set Up Table of Contents) ............................................ 8book_update (Update Book) ............................................................. 9charupdate (Global Update Options) ................................................ 10compare (Compare Documents) ...................................................... 10compare_opt (Comparison Options) ................................................ 11cond_text (Conditional Text) .......................................................... 12cond_visibility (Show/Hide Conditional Text) ................................... 13condsearch (Find Conditional Text) ................................................. 14cust_rs (Custom Ruling and Shading) .............................................. 15cvttotbl (Convert to Table) .............................................................. 16doc_print (Print Document) ............................................................. 17edit_dicts (Dictionary Functions) ..................................................... 18edit_spell (Spelling Checker) ........................................................... 19fontdesign (Character Designer) ..................................................... 20fontsearch (Find Character Format) ................................................. 21edit_hypertext (Hypertext) .............................................................. 22edit_markers (Marker) .................................................................... 22hard_heap_full ............................................................................... 23ins_hypertext (Insert Hypertext) ...................................................... 23ins_marker (Marker) ....................................................................... 24ins_tab (Insert Table) ..................................................................... 24masterpageuse (Master Page Usage) ............................................... 25math_fonts (Equation Fonts) ........................................................... 26num_chapters (Numbering Properties - Chapter) .............................. 27num_footnotes (Numbering Propterties - Footnote) .......................... 28num_pages (Numbering Properties - Page) ....................................... 29num_paragraphs (Numbering Properties - Paragraph) ....................... 30num_tablefoots (Numbering Properties - Table Footnote) ................. 31num_volumes (Numbering Properties - Volume) ............................... 32page_addbody (Add Disconnected Pages ......................................... 33page_addmaster (Add Master Page) ................................................. 33page_gomaster (Go to Page) ........................................................... 34page-gotoref (Go to Page) ............................................................... 34page_newmaster (New Master Page) ................................................ 34pgfadvance(Paragraph Designer - Advanced) .................................... 35pgfbasic (Paragraph Designer - Basic) .............................................. 36pgfcell (Paragraph Designer - Table Cell) ......................................... 37pgffont (Paragraph Designer - Default Font) .................................... 38pgfnum (Paragraph Designer - Numbering) ...................................... 39pgfpagination (Paragraph Designer - Pagination) .............................. 40resize (table columns) .................................................................... 41tablefmt (Table Designer - Basic) ..................................................... 42tablerule (Table Designer - Ruling) .................................................. 43tableshade (Table Designer - Shading) ............................................. 44var_user_edit (Edit User Variable) .................................................... 45xref_deref (Convert Cross-References to Text) ................................. 46xref_format (Edit Cross-Reference Format) ...................................... 47xref_main (Cross-Reference) ........................................................... 48
1 – 3
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
What has been modified? Only dialogues of the standard interface were considered, not those for the structured interface. I was guided by the follo-wing principles:
Leave out the drop down lists redundant to the tabs in document numbering, paragraph designer and table desi-gner.
Make more room for long names (character-styles, ¶-names, table names, colour names, cross references etc.
Extend other small fields (for example in Table Column Resize)
Note: Some of the screenshots are taken from the display of Resource Builder, hence some elements are not displayed in their fami-liar appearance (see picture to the left).
Indication of modification In the dialogue about_main, which is displayed with Help > About the following text indicates the modifications to the module:
Note: In the following comparison the left screen shot is from the ori-ginal dll, the right displays the modified dialogue. Few of the screenshots are scaled down.
FrameMaker dialogue modifications
1 – 4
Tools and process
The work is carried out in E:\_DDDprojects\FM-GUI-mods. From there the modiefied dlls are copied to the program directory and my website.
RB Resource Builder by Igor Siticov provides better graphic tools (in particular for aligning items) than the other tools mentioned here.
RE XN - Resource Editor by Colin Wilson could replace RH, since it also creates valid dll. It allows also to work in a graphic mode, and has an undo (Resource Builder has none).
RH Resource Hacker by Angus Johnsonis free but no more updated. However, Resource Hacker is needed to create cor-rect dlls.
Method with RB (according to its Help):
1 Create a copy of the dll to be modified (fmdlg-mod4.dll)
2 Import: select the dll; resources will be extracted to ...tmp0.res. Select all resources by clicking the >> button (takes some time), then press OK. The file ...tmp0.res will be imported.
3 File > Save the project, e.g. as fmdlg-mod4.rc
4 Add, delete or modify resources in the current project to meet your needs.
5 Link back the modified resource project to the target module (fmdlg-mod4.dll): Tools > Link to EXE…; Select the update method (Remove, Internal). A *.bak file is created from the target file and the project file is updated also.
RB RE RH
Creates valid dll no a
a. maybe I just haven’t found out how to do it!
yes yes
Open dll import open open
Moving controls CTR+arrow, mouse,num. attributes
mouse,num. attributes
Arrow key, mouse,num. attributes
Text in edit control yes (Caption) no yes
Edit Resource script
Resource > Edit as text
no directly accessible
Undo edits only in script yes script as long as not compiled
Help yes none yes
Have license yes by purchase not needed
My version 2.6.2.0 3.0.0.1 3.4.0.79
1 – 5
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
6 However, when this dll is integrated (copy and rename to fmdlg.dll, replacing original item) the application fails:
7 Even opening this erraneous dll in ResHacker and saving it there does not cure this problem. Hence IMHO with Resource Builder no valid dll cana be created.
FrameMaker dialogue modifications
1 – 6
Modifications done
Modifiations for FM 7.1 For the first modifications much manual work was involved. Initial modifications were done with Passolo, but then I swit-ched to RH.
1 In …\fm7.1en create a copy of fmdlg.dll fmdlg-mod.dll.
2 Open fmdlg-mod.dll in RH.
3 Modify the dialogues and document the changes with screenshots.
4 Save the resources as Resource file (fmdlg-mod.res)
5 Save the file as fmdlg-mod.dll. I kept intermediate steps (fmdlg-mod-1.dll …) to be able to fall back in case of pro-blems.
6 For future modifications prepare a resource file with the modifications only: fmdlg-mods.res
Modifiations for FM 7.2 1 Check what has really changed in fmdlg.dll: only one dia-logue (HISTORY) is added and of course the ABOUT_xxx dia-logues and Version Info1) changed. No new icons, bmps
2 Create a copy of …\fmdlg.dll …\fmdlg-mod.dll.
3 Import the already modified resources from …\fmdlg-mods.res to RB.
4 Open fmdlg-mod.dll in RH.
5 For each dialogue to be changed:
RB Check the quality of the resource difinition (alignment of items etc.) and modify if necessary; Copy the script from the resource preview
RH change the contents of the corresponding resource script. The script must recompiled after changing to be reflected in the dialogue view. Watch out for the error messages (especially escaped characters).
RH Make screenshot of modified dialogue (doc file must be 74% zoom for these to be inserted)..
6 At reasonable steps (every 5th modification) save dll in RH and check with FrameMaker. Continue until all is done.
7 With RH create a new …\fmdlg-mods.res file as a pendent to the dll file.
8 Name the final dll fmdlg.dll-fm72versen_mod for distribu-tion on the website.
1 Until FM 7.1 this had not been updated since old days!
1 – 7
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
Further enhancements possible
By experiments I have found out that dialogs can contain text which can be copied and pasted into an edit field. This could be used to provide building blocks or other static text.
The following is an idea for the dialogue edit_markers (fmdlg(3).dll, not implemented in public version):
The information can be inserted only by means of ResHacker or in Resource Builder (Caption of Edit object). In XN Resource Editor the text can not be entered:
CONTROL "<$startrange>\t\t<$endrange>\n<$singlepage>\t\t<$nopage>\nt<highlight>\t\t</>\ntforce sort\t\t\t[...]",
200, EDIT, ES_LEFT | ES_MULTILINE | ES_READONLY | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 9, 116, 182,
53 , 0x00000204
ResHacker Dialogue display:
Use a resource-ID well outside the numbers used in FM (>199).
Required attributes in the control
ES_WANTRETURN \n to be performed in the dialogue
ES_MULTILINE Wrap contents
ES_READONLY Do not allow overwriting of contents
Escaped characters canonly be \t, \n , \\ and \nnn (octal num-bers up to \377 = hex FF).
Note: Although \n is not performed in any of the resource editors it is performed in the actual dll as shown above.
FrameMaker dialogue modifications
8
ab
ou
t_m
ain
bo
ok_d
efi
ne (
Set
Up
Tab
le o
f C
on
ten
ts)
9
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
bo
ok_u
pd
ate
(U
pd
ate
Bo
ok)
FrameMaker dialogue modifications
10
charu
pd
ate
(G
lob
al
Up
date
Op
tio
ns)
com
pare
(C
om
pare
Do
cum
en
ts)
11
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
com
pare
_op
t (C
om
pari
son
Op
tio
ns)
FrameMaker dialogue modifications
12
con
d_t
ext
(Co
nd
itio
nal
Text)
13
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
con
d_v
isib
ilit
y (
Sh
ow
/Hid
e C
on
dit
ion
al
Text)
FrameMaker dialogue modifications
14
con
dse
arc
h (
Fin
d C
on
dit
ion
al
Text)
15
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
cust
_rs
(Cu
sto
m R
uli
ng
an
d S
had
ing
)
FrameMaker dialogue modifications
16
cvtt
otb
l (C
on
vert
to
Tab
le)
17
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
do
c_p
rin
t (P
rin
t D
ocu
men
t)
FrameMaker dialogue modifications
18
ed
it_d
icts
(D
icti
on
ary
Fu
nct
ion
s)
19
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
ed
it_s
pell
(Sp
ell
ing
Ch
eck
er)
FrameMaker dialogue modifications
20
fon
tdesi
gn
(C
hara
cter
Desi
gn
er)
21
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
fon
tsearc
h (
Fin
d C
hara
cter
Fo
rmat)
FrameMaker dialogue modifications
22
ed
it_h
yp
ert
ext
(Hyp
ert
ext)
ed
it_m
ark
ers
(M
ark
er)
Th
is a
rea m
ay h
old
up
to
ab
ou
t 3
00
ch
ara
cter
s u
til
it s
cro
lls.
Ho
wev
er,
on
ly 2
55
ch
ara
cter
s ca
n
be
in a
mark
er.
Th
is a
rea m
ay h
old
up
to
ab
ou
t 3
00
ch
ara
cter
s u
til
it s
cro
lls.
Ho
wev
er,
on
ly 2
55
ch
ara
cter
s ca
n
be
in a
mark
er.
23
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
hard
_heap
_fu
ll
ins_
hyp
ert
ext
(In
sert
Hyp
ert
ext)
Yo
ur
syst
em
do
es
no
t h
ave e
no
ug
h M
em
ory
Th
is h
ead
ing
is
tru
nca
ted
Th
is a
rea m
ay h
old
up
to
ab
ou
t 3
00
ch
ara
cter
s u
til
it s
cro
lls.
Ho
wev
er,
on
ly 2
55
ch
ara
cter
s ca
n
be
in a
mark
er.
FrameMaker dialogue modifications
24
ins_
mark
er
(Mark
er)
ins_
tab
(In
sert
Tab
le)
Th
is a
rea m
ay h
old
up
to
ab
ou
t 3
00
ch
ara
cter
s u
til
it s
cro
lls.
Ho
wev
er,
on
ly 2
55
ch
ara
cter
s ca
n
be
in a
mark
er.
25
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
mast
erp
ag
eu
se (
Mast
er
Pag
e U
sag
e)
FrameMaker dialogue modifications
26
math
_fo
nts
(Eq
uati
on
Fo
nts
)
27
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
nu
m_c
hap
ters
(N
um
beri
ng
Pro
pert
ies
- C
hap
ter)
FrameMaker dialogue modifications
28
nu
m_f
oo
tno
tes
(Nu
mb
eri
ng
Pro
pte
rtie
s - Fo
otn
ote
)
29
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
nu
m_p
ag
es
(Nu
mb
eri
ng
Pro
pert
ies
- Pag
e)
FrameMaker dialogue modifications
30
nu
m_p
ara
gra
ph
s (N
um
beri
ng
Pro
pert
ies
- Para
gra
ph
)
31
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
nu
m_t
ab
lefo
ots
(N
um
beri
ng
Pro
pert
ies
- T
ab
le F
oo
tno
te)
FrameMaker dialogue modifications
32
nu
m_v
olu
mes
(Nu
mb
eri
ng
Pro
pert
ies
- V
olu
me)
33
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
pag
e_a
dd
bo
dy (
Ad
d D
isco
nn
ect
ed
Pag
es
pag
e_a
dd
mast
er
(Ad
d M
ast
er
Pag
e)
FrameMaker dialogue modifications
34
pag
e_g
om
ast
er
(Go
to
Pag
e)
pag
e-g
oto
ref
(Go
to
Pag
e)
pag
e_n
ew
mast
er
(New
Mast
er
Pag
e)
35
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
pg
fad
van
ce(P
ara
gra
ph
Desi
gn
er
- A
dvan
ced
)
FrameMaker dialogue modifications
36
pg
fbasi
c (P
ara
gra
ph
Desi
gn
er
- Basi
c)
37
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
pg
fcell
(Para
gra
ph
Desi
gn
er
- T
ab
le C
ell
)
FrameMaker dialogue modifications
38
pg
ffo
nt
(Para
gra
ph
Desi
gn
er
- D
efa
ult
Fo
nt)
39
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
pg
fnu
m (
Para
gra
ph
Desi
gn
er
- N
um
beri
ng
)
FrameMaker dialogue modifications
40
pg
fpag
inati
on
(Para
gra
ph
Desi
gn
er
- Pag
inati
on
)
41
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
resi
ze (
tab
le c
olu
mn
s)
FrameMaker dialogue modifications
42
tab
lefm
t (T
ab
le D
esi
gn
er
- Basi
c)
43
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
tab
leru
le (
Tab
le D
esi
gn
er
- R
uli
ng
)
FrameMaker dialogue modifications
44
tab
lesh
ad
e (
Tab
le D
esi
gn
er
- Sh
ad
ing
)
45
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
var_
use
r_ed
it (
Ed
it U
ser
Vari
ab
le)
To
mak
e th
e d
efin
ion
are
a w
rap
pin
g t
he
text
(as
in t
he
Mark
er d
ialo
gu
es),
th
e co
de
of
this
co
ntr
ol
was
chan
ged
(co
pie
d f
rom
in
s_m
ark
er).
fro
mCONTROL "", 106, "EDIT", ES_AUTOHSCROLL | ES_LEFT | WS_CHILD | WS_BORDER | WS_GROUP |
WS_TABSTOP | WS_VISIBLE ,37,17,200,40
toCONTROL "", 106, EDIT, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_NOHIDESEL | ES_WANTRETURN
| WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_GROUP | WS_TABSTOP, 37, 17, 200, 40
Th
is a
rea n
ow
wra
ps
the
text
an
d m
ay h
old
up
to
ab
ou
t 3
00
ch
ara
cter
s u
til
it s
cro
lls.
Ho
wev
er,
on
ly
25
5 c
hara
cter
s ca
n b
e in
a v
ari
ab
le.
FrameMaker dialogue modifications
46
xre
f_d
ere
f (C
on
vert
Cro
ss-
Refe
ren
ces
to T
ext)
47
Modifications to fminit\fmdlg.dll
E:\
_DD
Dp
roje
cts\
FM-G
UI-
mo
ds\
fmd
lg-m
od
s.fm
2
00
7-0
5-1
4
xre
f_fo
rmat
(Ed
it C
ross
-Refe
ren
ce F
orm
at)
FrameMaker dialogue modifications
48
xre
f_m
ain
(C
ross
-Refe
ren
ce)