]> git.lyx.org Git - lyx.git/blob - src/frontends/kde/dlg/README
The KDE monster patch from John
[lyx.git] / src / frontends / kde / dlg / README
1 These files are generated with qtarch-1.4-5 which can be downloaded
2 from 
3
4 http://qtarch.sourceforge.net/
5
6 FIXME. Note this is *not* the latest version, as they only
7 support Qt 2.0.
8
9 You should compile in the KDE module when you compile qtarch-1.4.
10 For me this was just a case of a make in the module/kde/ directory,
11 and then you can add the .so library file in the qtarch GUI.
12
13 The files in this and the kde/ directory have the following naming
14 scheme :
15
16 random.dlg         - the dlg file for qtarch
17 FormRandom.[Ch]    - LyX's notion of the dialog, real implementation modified
18                      via functions only
19 randomdlg.[Ch]     - Derived Qt class, edited by hand. The interface between widgets
20                      and LyX FormRandom file
21 randomdlgdata.[Ch] - qtarch-generated files, not to be touched by human hands
22
23 The class names are FormRandom, RandomDialog, and RandomDialogData
24
25 Some tips and guidelines for qtarch and the KDE frontend :
26
27 o the default button should be the one that causes least harm, unless
28   the action can be undone. So Print should default to cancel, whereas
29   insert index entry can be undone, so should default to OK
30
31 o the dialog should derive from QWidget (set in Properties)
32
33 o the dialog should always have the gettext option set
34
35 o give every widget a name - useful for the geometry layouts later
36
37 o don't bother setting min/max sizes for anything, but do set the size Hint
38   stuff appropriately. e.g. QLineEdit's should have a max height specified by
39   size Hint, but variable width
40
41 o if you map a variable make it the same as the widget name
42
43 o radio groups are done automagically based on positioning
44  
45 o grid units are 5 pixels
46
47 o set alignment before placing a widget inside a layout, it doesn't seem to
48   update properly. Alternatively you can just edit the .dlg file directly
49
50 o push buttons are arranged symmetrically across the dialog e.g.  
51   <1 stretch> <button> <2 stretch> <button> <2 stretch> <button> <1 stretch>
52
53 o for GroupBox and similar, you set the children in the layout manager
54  
55 o do the geometry layouts last. you cannot alter the geometry of widgets
56   whilst they're being managed which makes any settings a pain, which
57   are useful mainly while editing the dialog in qtarch
58   
59 o when doing layout, add all the layouts before any of the widgets otherwise
60   qtarch has a tendency to get confused
61
62 o qtarch often produces code that initialises stuff in the wrong order. 
63   This is nasty, but usually dumps core so is noticable. Either way, the 
64   cheesy perl script checkinitorder.pl will verify the produced files for 
65   you - if it complains you need to hack the .dlg file to re-arrange the order.
66
67         - jbl