]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/kde/dlg/README
initalize memeber vars
[lyx.git] / src / frontends / kde / dlg / README
index dd79b87f60c0c31d29df1f84024ef52e967887f9..74ffca9de0ab7f66d1485d4b5a397d71e568397d 100644 (file)
@@ -3,8 +3,13 @@ from
 
 http://qtarch.sourceforge.net/
 
-FIXME. Note this is *not* the latest version, as they only
-support Qt 2.0.
+Currently you also need this patch :
+http://www.movement.uklinux.net/patches/lyx/qtarch-1.4.6.diff
+
+Eventually the intent is to fold this patch into the official qtarch and
+release a qtarch-1.4-6 tarball.
+
+Note this is *not* the latest version, as they only support Qt 2.
 
 You should compile in the KDE module when you compile qtarch-1.4.
 For me this was just a case of a make in the module/kde/ directory,
@@ -22,6 +27,29 @@ randomdlgdata.[Ch] - qtarch-generated files, not to be touched by human hands
 
 The class names are FormRandom, RandomDialog, and RandomDialogData
 
+Note that the .dlg files have no entries for the derived class header and source 
+filenames. This is because these files have to be edited by hand and should only
+be generated once (and they belong in the parent directory, not dlg/). The
+className field, though, has a special meaning. If it is blank, then qtarch
+will assume there is no derived class defined at all. Currently this has the effect
+of making mapped variables public access. If there is a name, then it assumes that
+a derived class exists, and leaves mapped variables protected. It's done like
+this to avoid the rat's nest of friend declarations and un-necessary derived classes,
+and because the new MVC architecture needs direct access to buttons etc.
+
+There is a naming scheme for any variabled widgets, similar to the xforms frontend :
+
+buttons        - button_
+spinboxen      - spin_
+tabstack       - tabstack 
+comboboxen     - combo_
+checkboxen     - check_ 
+lengthentry    - length_ 
+radio buttons  - radio_
+line edits     - line_ 
+emptytable     - table 
+list box       - list_ 
 Some tips and guidelines for qtarch and the KDE frontend :
 
 o the default button should be the one that causes least harm, unless
@@ -56,10 +84,14 @@ o do the geometry layouts last. you cannot alter the geometry of widgets
   whilst they're being managed which makes any settings a pain, which
   are useful mainly while editing the dialog in qtarch
   
+o remember tab order, and keyboard access in general. Tab order is decided by
+  instantation order of each widget, NOT the heirarchical layout. This translates
+  to ordering the widget descriptions in the qtarch .dlg file correctly.
 o when doing layout, add all the layouts before any of the widgets otherwise
   qtarch has a tendency to get confused
 
-o qtarch often produces code that initialises stuff in the wrong order. 
+o qtarch can produce code that initialises stuff in the wrong order. 
   This is nasty, but usually dumps core so is noticable. Either way, the 
   cheesy perl script checkinitorder.pl will verify the produced files for 
   you - if it complains you need to hack the .dlg file to re-arrange the order.