Difference between revisions of "User:Ericb"

From Apache OpenOffice Wiki
Jump to: navigation, search
(restart from last old wiki state)
Line 1: Line 1:
OLD BACKUP copy pasted from old wiki/ needs some cleanup and to be completed.
+
== Sort of documentation about VCL around Mac OS X port ==
 +
 
 +
Do we really need to understand how it works ?  ;-)
 +
 
  
 
vcl content :
 
vcl content :
Line 6: Line 9:
 
   1750
 
   1750
  
-> let 1750 files to analyse
+
-> Uff 1750 files to analyse :-/
  
Directories in vcl :
+
== Directories in vcl ==
  
aqua  : begun by P. luby and Ed Peterlin. actually in ruin, but full of ideas to investigate.
+
aqua  : begun by (probably) P. luby and Ed Peterlin. actually in ruin, but full of ideas to investigate.
  
inc : does contain all vcl relative includes
+
inc : does contain all vcl relative includes [PART1]
  
 
prj : does contain build.lst and d.lst
 
prj : does contain build.lst and d.lst
  
build.lst give us dependencies : a lot because svtools is build 98th module over ~148.  
+
build.lst give us dependencies : probably a lot for vcl, build 98th module over ~148.  
  
 
qa : does contain all qualtity assurancy stuff
 
qa : does contain all qualtity assurancy stuff
Line 30: Line 33:
 
workben ? [FIXME]  don't know ?
 
workben ? [FIXME]  don't know ?
  
Apart : exact sense of hedabu ? -> looks like a hash list of available includes is build while products are delivered in every module.
+
Apart : exact sense of hedabu ? -> [FIXME] looks like a hash list of available includes is build while products are delivered in every module... not sure
  
  
--- content of aqua  
+
'''Content of aqua'''
  
 
inc -> specific includes (188 files)
 
inc -> specific includes (188 files)
Line 47: Line 50:
 
-rw-r--r--    1 eric    eric        5815 2005-01-13 18:25 accel.hxx
 
-rw-r--r--    1 eric    eric        5815 2005-01-13 18:25 accel.hxx
  
-rw-r--r--    1 eric    eric        3394 2000-09-19 12:23 accmgr.hxx
+
[...cut : too much files ...]
 
+
-rw-r--r--    1 eric    eric        6181 2005-01-13 18:25 alpha.hxx
+
 
+
-rw-r--r--    1 eric    eric        8904 2005-01-13 18:25 animate.hxx
+
 
+
[...cut a lot of lines...]
+
 
+
-rw-r--r--    1 eric    eric        4688 2004-01-07 10:13 region.h
+
 
+
-rw-r--r--    1 eric    eric        6632 2005-03-10 14:14 region.hxx
+
 
+
-rw-r--r--    1 eric    eric        3022 2000-09-19 12:23 salatype.hxx
+
 
+
-rw-r--r--    1 eric    eric        3580 2005-03-10 14:14 salbmp.hxx
+
 
+
-rw-r--r--    1 eric    eric        28131 2005-03-10 14:14 salbtype.hxx
+
 
+
-rw-r--r--    1 eric    eric        2851 2004-05-10 17:42 salctrlhandle.hxx
+
 
+
-rw-r--r--    1 eric    eric        3578 2000-09-19 12:23 salctype.hxx
+
 
+
-rw-r--r--    1 eric    eric        10896 2005-01-21 14:32 salframe.hxx
+
 
+
-rw-r--r--    1 eric    eric        23012 2005-01-13 18:45 salgdi.hxx
+
 
+
-rw-r--r--    1 eric    eric        2990 2001-11-23 13:16 salgeom.hxx
+
 
+
-rw-r--r--    1 eric    eric        3757 2000-09-19 12:23 salgtype.hxx
+
 
+
-rw-r--r--    1 eric    eric        2843 2005-01-13 18:45 salimestatus.hxx
+
 
+
-rw-r--r--    1 eric    eric        8565 2005-01-17 16:26 salinst.hxx
+
 
+
-rwxr-xr-x    1 eric    eric        14443 2005-02-23 19:26 sallayout.hxx
+
 
+
-rw-r--r--    1 eric    eric        4295 2005-01-13 18:46 salmenu.hxx
+
 
+
-rw-r--r--    1 eric    eric        12436 2005-03-30 11:03 salnativewidgets.hxx
+
 
+
-rw-r--r--    1 eric    eric        4109 2005-01-13 18:47 salobj.hxx
+
 
+
-rw-r--r--    1 eric    eric        3386 2005-01-13 18:47 salogl.hxx
+
 
+
-rw-r--r--    1 eric    eric        34051 2000-09-19 12:23 salotype.hxx
+
 
+
-rw-r--r--    1 eric    eric        5899 2005-01-31 10:16 salprn.hxx
+
 
+
-rw-r--r--    1 eric    eric        3228 2000-09-19 12:23 salptype.hxx
+
 
+
-rw-r--r--    1 eric    eric        4336 2005-01-13 18:48 salsession.hxx
+
 
+
-rw-r--r--    1 eric    eric        4108 2005-01-13 18:48 salsound.hxx
+
 
+
-rw-r--r--    1 eric    eric        3965 2000-09-19 12:23 salstype.hxx
+
 
+
-rw-r--r--    1 eric    eric        5058 2005-01-13 18:48 salsys.hxx
+
 
+
-rw-r--r--    1 eric    eric        3366 2005-01-13 18:48 saltimer.hxx
+
 
+
-rw-r--r--    1 eric    eric        3235 2005-01-13 18:49 salvd.hxx
+
 
+
-rw-r--r--    1 eric    eric        12772 2005-03-30 11:03 salwtype.hxx
+
 
+
-rw-r--r--    1 eric    eric        7951 2005-01-13 18:49 scrbar.hxx
+
 
+
-rw-r--r--    1 eric    eric        8916 2005-01-13 18:49 seleng.hxx
+
 
+
-rw-r--r--    1 eric    eric        68317 2005-01-31 14:19 settings.hxx
+
 
+
-rw-r--r--    1 eric    eric        6065 2005-01-13 18:49 slider.hxx
+
 
+
-rwxr-xr-x    1 eric    eric        4182 2005-01-13 18:50 smartid.hxx
+
 
+
-rw-r--r--    1 eric    eric        2994 2004-01-07 10:18 sndstyle.hxx
+
 
+
-rw-r--r--    1 eric    eric        5028 2005-01-13 18:50 sound.hxx
+
 
+
-rw-r--r--    1 eric    eric        5201 2005-01-13 18:50 spinfld.hxx
+
 
+
-rw-r--r--    1 eric    eric        3189 2003-12-11 12:51 spin.h
+
 
+
-rw-r--r--    1 eric    eric        5880 2005-01-13 18:50 spin.hxx
+
 
+
-rw-r--r--    1 eric    eric        5982 2005-01-13 18:51 split.hxx
+
 
+
-rw-r--r--    1 eric    eric        10992 2005-01-31 14:19 splitwin.hxx
+
 
+
-rw-r--r--    1 eric    eric        8618 2005-01-13 18:51 status.hxx
+
 
+
-rw-r--r--    1 eric    eric        3256 2005-01-13 18:51 stdtext.hxx
+
 
+
-rw-r--r--    1 eric    eric        2915 2000-09-19 12:23 subedit.hxx
+
 
+
-rw-r--r--    1 eric    eric        18827 2005-01-13 18:51 svapp.hxx
+
 
+
-rw-r--r--    1 eric    eric        3489 2000-09-19 12:23 svcompat.hxx
+
 
+
-rw-r--r--    1 eric    eric        18478 2005-06-06 18:08 svdata.hxx
+
 
+
-rw-r--r--    1 eric    eric        2554 2004-01-07 10:21 sv.h
+
 
+
-rw-r--r--    1 eric    eric        7243 2005-03-03 20:56 svids.hrc
+
 
+
-rw-r--r--    1 eric    eric        4389 2004-09-09 18:17 symbol.hxx
+
 
+
-rw-r--r--    1 eric    eric        3346 2005-01-13 18:52 syschild.hxx
+
 
+
-rw-r--r--    1 eric    eric        4210 2004-11-26 21:40 sysdata.hxx
+
 
+
-rw-r--r--    1 eric    eric        11028 2005-03-30 11:03 syswin.hxx
+
 
+
-rw-r--r--    1 eric    eric        9891 2005-01-31 14:20 tabctrl.hxx
+
 
+
-rw-r--r--    1 eric    eric        3544 2005-01-13 18:52 tabdlg.hxx
+
 
+
-rw-r--r--    1 eric    eric        3357 2005-01-13 18:53 tabpage.hxx
+
 
+
-rw-r--r--    1 eric    eric        3162 2005-03-18 18:50 taskpanelist.hxx
+
 
+
-rw-r--r--    1 eric    eric        3138 2005-01-13 18:53 threadex.hxx
+
 
+
-rw-r--r--    1 eric    eric        3782 2005-01-13 18:53 timer.hxx
+
 
+
-rw-r--r--    1 eric    eric        7120 2004-11-26 17:20 toolbox.h
+
 
+
-rw-r--r--    1 eric    eric        29669 2005-03-15 10:31 toolbox.hxx
+
 
+
-rw-r--r--    1 eric    eric        2743 2003-12-01 14:02 unobrok.hxx
+
 
+
-rw-r--r--    1 eric    eric        4767 2005-01-31 14:20 unohelp2.hxx
+
 
+
-rw-r--r--    1 eric    eric        3815 2005-01-13 18:54 unohelp.hxx
+
 
+
-rw-r--r--    1 eric    eric        4122 2005-01-13 18:54 unowrap.hxx
+
 
+
-rw-r--r--    1 eric    eric        10268 2004-01-07 10:26 vclenum.hxx
+
 
+
-rw-r--r--    1 eric    eric        11601 2005-03-23 17:11 vclevent.hxx
+
 
+
-rw-r--r--    1 eric    eric        5343 2005-01-13 18:55 virdev.hxx
+
 
+
-rw-r--r--    1 eric    eric        3046 2005-01-13 18:55 waitobj.hxx
+
 
+
-rw-r--r--    1 eric    eric        3210 2004-01-07 10:27 wall2.hxx
+
 
+
-rw-r--r--    1 eric    eric        5881 2005-01-13 18:56 wall.hxx
+
  
 
-rw-r--r--    1 eric    eric        2902 2003-12-01 14:02 windata.hxx
 
-rw-r--r--    1 eric    eric        2902 2003-12-01 14:02 windata.hxx
Line 243: Line 100:
 
-rw-r--r--    1 eric    eric        3071 2000-12-16 03:43 VCLEvent.m
 
-rw-r--r--    1 eric    eric        3071 2000-12-16 03:43 VCLEvent.m
  
vcl/aqua/source/gdi  [ gdi means graphical display interface ]
+
vcl/aqua/source/gdi  [ gdi means graphical device interface, a Windows standard for representating graphical objects and transmitting them to output devices, such as monitors and printers said google]
  
 
eric@patate:~/OpenOffice.org/vcl/aqua/source/gdi$ ls -l
 
eric@patate:~/OpenOffice.org/vcl/aqua/source/gdi$ ls -l
 
total 256
 
total 256
 +
drwxr-sr-x    2 eric    eric        4096 2005-07-15 23:32 CVS
 +
 +
-rw-r--r--    1 eric    eric        3605 2005-01-13 18:24 makefile.mk
  
 
-rw-r--r--    1 eric    eric        57470 2004-03-30 15:41 salatsuifontutils.cxx
 
-rw-r--r--    1 eric    eric        57470 2004-03-30 15:41 salatsuifontutils.cxx
Line 273: Line 133:
  
 
-rw-r--r--    1 eric    eric        5610 2002-08-27 13:37 VCLGraphics.m
 
-rw-r--r--    1 eric    eric        5610 2002-08-27 13:37 VCLGraphics.m
 +
 +
 +
Note  .m suffixes are for Objective-C files ( like .mm are for Obj-C++ )
  
 
eric@patate:~/OpenOffice.org/vcl/aqua/source/gdi$ eric@patate:~/OpenOffice.org/vcl/aqua/source/src$ ls -l
 
eric@patate:~/OpenOffice.org/vcl/aqua/source/gdi$ eric@patate:~/OpenOffice.org/vcl/aqua/source/src$ ls -l
 
total 8
 
total 8
 
drwxr-sr-x    2 eric    eric        4096 2005-07-15 23:32 CVS
 
drwxr-sr-x    2 eric    eric        4096 2005-07-15 23:32 CVS
 +
 
-rw-r--r--    1 eric    eric        2463 2000-09-18 19:05 makefile.mk
 
-rw-r--r--    1 eric    eric        2463 2000-09-18 19:05 makefile.mk
  
 
eric@patate:~/OpenOffice.org/vcl/aqua/source/src$ eric@patate:~/OpenOffice.org/vcl/aqua/source/window$ ls -l
 
eric@patate:~/OpenOffice.org/vcl/aqua/source/src$ eric@patate:~/OpenOffice.org/vcl/aqua/source/window$ ls -l
 
total 44
 
total 44
 +
drwxr-sr-x    2 eric    eric        4096 2005-07-15 23:32 CVS
 +
 +
-rw-r--r--    1 eric    eric        3176 2005-01-13 18:24 makefile.mk
  
 
-rw-r--r--    1 eric    eric        10023 2004-01-06 13:49 salframe.cxx
 
-rw-r--r--    1 eric    eric        10023 2004-01-06 13:49 salframe.cxx
Line 291: Line 158:
  
  
content of vcl/inc
+
'''Content of vcl/inc'''
 +
 
 +
Notes :
 +
 
 +
1)
 +
 
 +
<name_a/name_b.h>  means you can find name_b.h in name_a module (exactly in name_a/inc). this header file,
 +
once name_a module is build, is copied in the solver in solver/680/build_type/inc/name_a.
 +
Verify first here is very usefull when some functions are not defined, and the build broken ;-)
 +
 
 +
2)
 +
suffix .h (for C calls or first version ?) or .hxx (C++ )
 +
 
 +
'''A) Family of includes''' :
 +
 
 +
Looking more closely at the list brings to the fore (expression from dictionnary ;-)  ) that include names are
 +
informatives. Most of the time, the name gives the function/role.
 +
What is interesting is the files with name begining with "sal". sal means System Abstraction Layer + include's function (or explicit name).
 +
 
 +
Partial list, for example :
 +
 
 +
salatypes.hxx
 +
salbmp.hxx
 +
salctrlhandle.hxx
 +
salctype.hxx
 +
salframe.hxx
 +
salgdi.hxx
 +
salgeom.hxx
 +
...
 +
salmenu
 +
salnativewidgets
 +
...etc
 +
 
 +
Other important families are "sv" and "uno" or "win" (window) prefixed. sal family will be analysed apart.
 +
 
 +
'''B)'''Includes of includes
 +
 
 +
Some includes are more important than other. To proof this, just have a look is sufficient : some are always needed, and some more rarely.
 +
 
 +
To verify, a simple test to do in vcl/inc :
 +
 
 +
egrep -H "#include" ./* | wc -l  gives me 681 lines ! And some of them are the same...
 +
 
 +
To know more, the precedent command line can be modified to make appear the numerous call
 +
to the same includes files.
 +
 
 +
 
 +
egrep -H "#include" ./* | cut -d"#" -f2 | sort > liste.txt
 +
 
 +
The content of liste.txt is explicit : dllapi.h, sv.h and some other are very important, while some other includes are only one or two times used. We can see too that vos includes are numerous, even if vos is deprecated**
 +
 
 +
[**see ]
 +
 
 +
 
 +
I'm nearly sure that a complete analyze of just this result will give us a lot of informations.
 +
 
 +
I propose to change the order of analyse starting with dllapi.h and sv.h.
 +
 
 +
 
 +
 
 +
[to be continued]
 +
 
 +
'''B1) "sal" includes family'''
 +
 
 +
 
 +
 
 +
 
 +
'''B2) Classicals includes'''
  
 
file : abstdlg.hxx  [ means abstract dialog ]
 
file : abstdlg.hxx  [ means abstract dialog ]
Line 307: Line 241:
 
   
 
   
 
VclAbstractDialogFactory,   
 
VclAbstractDialogFactory,   
 
 
  
  
Line 315: Line 247:
 
"dllapi.h"
 
"dllapi.h"
  
Note  : dllapi.h is very intersting because when we have to find (for example) a library suffix, SAL_DLLEXTENSION can replace all suffixes (every OS's and archs).  
+
Note  : dllapi.h is very intersting because when we have to find (for example) a library suffix, SAL_DLLEXTENSSION can replace all suffixes (every OS's and archs). Just includes sal/config.h does it !  
Just includes sal/config.h does it !
+
  
  
Line 325: Line 256:
  
 
Does contain the prototype of VclAbstractDialog, inherit of VCL_DLLPUBLIC
 
Does contain the prototype of VclAbstractDialog, inherit of VCL_DLLPUBLIC
 +
 +
 +
file : dllapi.h [ dll for dynamic linked library ]
 +
Uses : <sal/config.h> and >sal/types/h>
 +
includes : VCL_DLLPUBLIC macro
 +
 +
 +
file : accel.h  [ means accelerator ]
 +
 +
Classes :
 +
 +
Accelerator
 +
{
 +
}
 +
ImplAccelEntry
 +
{
 +
public members :
 +
 +
Names
 +
 +
mnId
 +
maKeyCode
 +
mpAccel
 +
mpAutoAccel
 +
mbEnabled
 +
}
 +
 +
function / returns / parameters
 +
 +
ImplGetKeyCode / void / KeyFuncType eFunc, ref rCode1 , ref rCode2, ref rCode3
 +
 +
file : accel.hxx 
 +
 +
Uses : <sv.h> , "dllapi.h" ,<tools/resid.hxx>, <<tools/rc.hxx>
 +
 +
 +
Classes:
 +
 +
ImplAccelData;
 +
ImplAccelEntry;
 +
 +
 +
[to be continued :-) ]
 +
 +
 +
--[[User:Ericb|Ericb]] 12:45, 22 Jul 2005 (EDT)
 +
--[[User:Ericb|Ericb]] 17:59, 24 Jul 2005 (EDT)

Revision as of 13:53, 9 December 2005

Sort of documentation about VCL around Mac OS X port

Do we really need to understand how it works ?  ;-)


vcl content :

ls -laR | wc -l

  1750

-> Uff 1750 files to analyse  :-/

Directories in vcl

aqua  : begun by (probably) P. luby and Ed Peterlin. actually in ruin, but full of ideas to investigate.

inc : does contain all vcl relative includes [PART1]

prj : does contain build.lst and d.lst

build.lst give us dependencies : probably a lot for vcl, build 98th module over ~148.

qa : does contain all qualtity assurancy stuff

source : the most important :-)

test : I never seen this directory before today...interesting

unx : this directory does contain all unixes stuff. This is the part to modify.

win : no interest for us :-)

workben ? [FIXME] don't know ?

Apart : exact sense of hedabu ? -> [FIXME] looks like a hash list of available includes is build while products are delivered in every module... not sure


Content of aqua

inc -> specific includes (188 files)

The list :

eric@patate:~/OpenOffice.org/vcl/aqua/source/window$ eric@patate:~/OpenOffice.org/vcl/inc$ llsls -l total 1896 -rw-r--r-- 1 eric eric 3418 2005-01-13 18:24 abstdlg.hxx

-rw-r--r-- 1 eric eric 3014 2000-09-19 12:23 accel.h

-rw-r--r-- 1 eric eric 5815 2005-01-13 18:25 accel.hxx

[...cut : too much files ...]

-rw-r--r-- 1 eric eric 2902 2003-12-01 14:02 windata.hxx

-rw-r--r-- 1 eric eric 15974 2005-03-18 18:50 window.h

-rw-r--r-- 1 eric eric 51257 2005-03-29 14:55 window.hxx

-rw-r--r-- 1 eric eric 13774 2005-03-29 16:36 wintypes.hxx

-rw-r--r-- 1 eric eric 5156 2005-01-13 18:57 wrkwin.hxx

-rw-r--r-- 1 eric eric 4290 2004-01-06 14:08 xconnection.hxx


source -> all the Mac specific sources

[IMHO continue to use this dir can be a good thing ;-) ]

source --> app |-> gdi |-> src -->window

vcl/aqua/source/app

eric@patate:~/OpenOffice.org/vcl/aqua/source/app$ ls -l total 64 drwxr-sr-x 2 eric eric 4096 2005-07-15 23:32 CVS

-rw-r--r-- 1 eric eric 3469 2005-01-13 18:24 makefile.mk

-rw-r--r-- 1 eric eric 3168 2004-01-06 13:42 saldata.cxx

-rw-r--r-- 1 eric eric 13790 2004-01-06 13:43 salinst.cxx

-rw-r--r-- 1 eric eric 2966 2004-10-28 18:23 salmain.cxx

-rw-r--r-- 1 eric eric 3922 2004-01-06 13:43 salsound.cxx

-rw-r--r-- 1 eric eric 3136 2004-01-06 13:44 salsys.cxx

-rw-r--r-- 1 eric eric 3106 2004-01-06 13:44 saltimer.cxx

-rw-r--r-- 1 eric eric 12206 2001-03-19 17:31 VCLApplication.m

-rw-r--r-- 1 eric eric 2965 2001-03-07 05:39 VCLAutoreleasePool.m

-rw-r--r-- 1 eric eric 3071 2000-12-16 03:43 VCLEvent.m

vcl/aqua/source/gdi [ gdi means graphical device interface, a Windows standard for representating graphical objects and transmitting them to output devices, such as monitors and printers said google]

eric@patate:~/OpenOffice.org/vcl/aqua/source/gdi$ ls -l total 256 drwxr-sr-x 2 eric eric 4096 2005-07-15 23:32 CVS

-rw-r--r-- 1 eric eric 3605 2005-01-13 18:24 makefile.mk

-rw-r--r-- 1 eric eric 57470 2004-03-30 15:41 salatsuifontutils.cxx

-rw-r--r-- 1 eric eric 13906 2004-01-06 13:45 salbmp.cxx

-rwxr-xr-x 1 eric eric 26958 2004-01-06 13:46 salcolorutils.cxx

-rw-r--r-- 1 eric eric 12171 2004-03-30 15:41 salfontutils.cxx

-rw-r--r-- 1 eric eric 40051 2004-01-06 13:46 salgdi.cxx

-rwxr-xr-x 1 eric eric 17298 2004-01-06 13:47 salgdiutils.cxx

-rwxr-xr-x 1 eric eric 5738 2004-01-06 13:47 salmathutils.cxx

-rw-r--r-- 1 eric eric 3642 2004-01-06 13:47 salogl.cxx

-rwxr-xr-x 1 eric eric 19763 2004-01-06 13:47 salpixmaputils.cxx

-rw-r--r-- 1 eric eric 5588 2004-01-06 13:48 salprn.cxx

-rwxr-xr-x 1 eric eric 5733 2004-01-06 13:48 salrectangleutils.cxx

-rw-r--r-- 1 eric eric 9355 2004-01-06 13:49 salvd.cxx

-rw-r--r-- 1 eric eric 5610 2002-08-27 13:37 VCLGraphics.m


Note .m suffixes are for Objective-C files ( like .mm are for Obj-C++ )

eric@patate:~/OpenOffice.org/vcl/aqua/source/gdi$ eric@patate:~/OpenOffice.org/vcl/aqua/source/src$ ls -l total 8 drwxr-sr-x 2 eric eric 4096 2005-07-15 23:32 CVS

-rw-r--r-- 1 eric eric 2463 2000-09-18 19:05 makefile.mk

eric@patate:~/OpenOffice.org/vcl/aqua/source/src$ eric@patate:~/OpenOffice.org/vcl/aqua/source/window$ ls -l total 44 drwxr-sr-x 2 eric eric 4096 2005-07-15 23:32 CVS

-rw-r--r-- 1 eric eric 3176 2005-01-13 18:24 makefile.mk

-rw-r--r-- 1 eric eric 10023 2004-01-06 13:49 salframe.cxx

-rw-r--r-- 1 eric eric 5516 2004-01-06 13:50 salobj.cxx

-rw-r--r-- 1 eric eric 3497 2002-08-27 13:57 VCLView.m

-rw-r--r-- 1 eric eric 10703 2002-08-27 13:58 VCLWindow.m


Content of vcl/inc

Notes :

1)

<name_a/name_b.h> means you can find name_b.h in name_a module (exactly in name_a/inc). this header file, once name_a module is build, is copied in the solver in solver/680/build_type/inc/name_a. Verify first here is very usefull when some functions are not defined, and the build broken ;-)

2) suffix .h (for C calls or first version ?) or .hxx (C++ )

A) Family of includes :

Looking more closely at the list brings to the fore (expression from dictionnary ;-) ) that include names are informatives. Most of the time, the name gives the function/role. What is interesting is the files with name begining with "sal". sal means System Abstraction Layer + include's function (or explicit name).

Partial list, for example :

salatypes.hxx salbmp.hxx salctrlhandle.hxx salctype.hxx salframe.hxx salgdi.hxx salgeom.hxx ... salmenu salnativewidgets ...etc

Other important families are "sv" and "uno" or "win" (window) prefixed. sal family will be analysed apart.

B)Includes of includes

Some includes are more important than other. To proof this, just have a look is sufficient : some are always needed, and some more rarely.

To verify, a simple test to do in vcl/inc :

egrep -H "#include" ./* | wc -l gives me 681 lines ! And some of them are the same...

To know more, the precedent command line can be modified to make appear the numerous call to the same includes files.


egrep -H "#include" ./* | cut -d"#" -f2 | sort > liste.txt

The content of liste.txt is explicit : dllapi.h, sv.h and some other are very important, while some other includes are only one or two times used. We can see too that vos includes are numerous, even if vos is deprecated**

[**see ]


I'm nearly sure that a complete analyze of just this result will give us a lot of informations.

I propose to change the order of analyse starting with dllapi.h and sv.h.


[to be continued]

B1) "sal" includes family



B2) Classicals includes

file : abstdlg.hxx [ means abstract dialog ]

This includes does contain the following classes definitions:

[FIXME]  : choose a precise presentation template for classes


VclAbstractDialog,

VclAbstractTerminateDialog,

VclAbstractRefreshableDialog,

VclAbstractDialogFactory,


uses <tools/solar.h> , <tools/string.hxx> +

"dllapi.h"

Note  : dllapi.h is very intersting because when we have to find (for example) a library suffix, SAL_DLLEXTENSSION can replace all suffixes (every OS's and archs). Just includes sal/config.h does it !


Classes :

Window -> what ? [FIXME] ResId -> what ?

Does contain the prototype of VclAbstractDialog, inherit of VCL_DLLPUBLIC


file : dllapi.h [ dll for dynamic linked library ] Uses : <sal/config.h> and >sal/types/h> includes : VCL_DLLPUBLIC macro


file : accel.h [ means accelerator ]

Classes :

Accelerator { } ImplAccelEntry { public members :

Names

mnId maKeyCode mpAccel mpAutoAccel mbEnabled }

function / returns / parameters

ImplGetKeyCode / void / KeyFuncType eFunc, ref rCode1 , ref rCode2, ref rCode3

file : accel.hxx

Uses : <sv.h> , "dllapi.h" ,<tools/resid.hxx>, <<tools/rc.hxx>


Classes:

ImplAccelData; ImplAccelEntry;


[to be continued :-) ]


--Ericb 12:45, 22 Jul 2005 (EDT) --Ericb 17:59, 24 Jul 2005 (EDT)

Personal tools