office-gobmx/vcl
Stephan Bergmann 2a32bf29b9 Make getProcessComponentContext/ServiceFactory throw instead of returning null
...with the same rationale as recent 543158edba
"Require XComponentContext.getServiceManager to throw instead of returning null"
(this helps find problems like 065a758d0c2b66c6683d648347b7a6cdef4a80f7 "Enable
experimental gtk3 plugin only via SAL_USE_VCLPLUGIN").

Removed comphelper::createProcessComponent[WithAguments] and replaced its few
uses with direct calls to createInstance[WithArguments].

Change-Id: Ia44b8656f74de88ef6eab3eb6bd597729b08e1c8
2012-09-18 15:08:56 +02:00
..
android
aqua/source Don't access broken service mgr during bootstrap failure 2012-09-18 15:08:56 +02:00
generic Don't access broken service mgr during bootstrap failure 2012-09-18 15:08:56 +02:00
headless
inc Don't access broken service mgr during bootstrap failure 2012-09-18 15:08:56 +02:00
ios/source Don't access broken service mgr during bootstrap failure 2012-09-18 15:08:56 +02:00
null
prj
qa/complex Java cleanup, remove unnecessary imports 2012-09-10 23:43:38 +02:00
source Make getProcessComponentContext/ServiceFactory throw instead of returning null 2012-09-18 15:08:56 +02:00
test Improvement on previous commit, UCB clean up 2012-09-14 18:24:49 +02:00
unx Enable experimental gtk3 plugin only via SAL_USE_VCLPLUGIN 2012-09-18 15:08:55 +02:00
win/source Don't access broken service mgr during bootstrap failure 2012-09-18 15:08:56 +02:00
workben Improvement on previous commit, UCB clean up 2012-09-14 18:24:49 +02:00
AllLangResTarget_vcl.mk
CustomTarget_afm_hash.mk
CustomTarget_kde4_moc.mk
CustomTarget_kde_moc.mk
CustomTarget_tde_moc.mk
Executable_kdefilepicker.mk
Executable_tdefilepicker.mk
Library_desktop_detector.mk
Library_vcl.mk nothing propagates HAVE_CUPS_H so cups is always disabled 2012-09-17 10:46:27 +01:00
Library_vclplug_gen.mk
Library_vclplug_gtk.mk
Library_vclplug_gtk3.mk
Library_vclplug_kde.mk
Library_vclplug_kde4.mk
Library_vclplug_svp.mk
Library_vclplug_tde.mk
Makefile
Module_vcl.mk
Package_inc.mk
README
StaticLibrary_headless.mk
StaticLibrary_vclmain.mk
vcl.android.component
vcl.headless.component
vcl.ios.component
vcl.macosx.component
vcl.unx.component
vcl.windows.component
WinResTarget_vcl.mk
Zip_osxres.mk

Visual Components Library is responsible for the widgets (windowing, buttons, controls, file-pickers etc.) operating system abstraction, including basic rendering (e.g. the output device).

Welcome to the Visual Class Libraries (vcl) code

source/
	+ the main cross-platform chunk of source
inc/
	+ cross-platform abstraction headers / definition
	vcl/
		+ external headers
generic/
	+ shared helper code for backends,
	  actually built into vcl
headless/
	+ a backend renderer that draws to bitmaps
aqua/
	+ OS/X backend
ios/
	+ skeleton Android backend
win/
	+ windows backend
unx/
	+ unix specific platform backend code and its' sub-platforms
	plugadapt/
		+ pluggable framework to select correct unx backend
	gtk/
		+ gtk2 support
	gtk3/
		+ gtk3.2+ support
	kde/
		+ kde3 support
	kde4/
		+ kde4 support
	generic/
		+ raw X support


How the platform abstraction works

	+ InitVCL calls 'CreateSalInstance'
		+ ths is implemented by the compiled-in platform backend
		+ it stores various bits of global state in the
		  'SalData' (inc/saldatabasic.hxx) structure but:
	+ the SalInstance vtable is the primary outward facing gateway
	  API for platform backends
		+ It is a factory for:
		  SalFrames, SalVirtualDevices, SalPrinters,
		  Timers, the SolarMutexe, Drag&Drop and other
		  objects, as well as the primary event loop wrapper.