Test repository to check push and ssh key
Find a file
Noel Grandin b3464e87ae convert SymbolAlign to enum class
Change-Id: Iecc1400809212f56915cad56b739378cda49b90f
2015-03-27 08:33:44 +02:00
.git-hooks
accessibility
android Kill dead <touch/touch.h> API 2015-03-24 15:30:27 +02:00
animations
apple_remote
avmedia convert SfxChildAlignment to enum class 2015-03-24 09:36:56 +02:00
basctl convert BUTTON_ constants to enum class 2015-03-27 08:33:43 +02:00
basebmp loplugin:constantfunction: various 2015-03-24 10:51:22 +02:00
basegfx
basic const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:28 +01:00
bean
bin fdo#84628 Created .project file generator. 2015-03-25 06:49:12 +00:00
binaryurp
bridges const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:28 +01:00
canvas const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:28 +01:00
chart2 Typos 2015-03-25 20:42:37 +01:00
clew
cli_ure Typos 2015-03-25 21:19:59 +01:00
codemaker const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:29 +01:00
comphelper
compilerplugins const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:41 +01:00
config_host move cairo helpers to vcl and make per-plug 2015-03-23 11:42:28 +00:00
configmgr
connectivity const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:29 +01:00
cppcanvas
cppu
cppuhelper Typos 2015-03-25 21:19:59 +01:00
cpputools
cui convert BUTTON_ constants to enum class 2015-03-27 08:33:43 +02:00
dbaccess convert BUTTON_ constants to enum class 2015-03-27 08:33:43 +02:00
desktop tdf#39440 cppcheck cleanliness, Fixing basic cpp errors 2015-03-26 14:30:56 +00:00
dictionaries@e68d066877
distro-configs
drawinglayer const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:29 +01:00
dtrans
editeng const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:30 +01:00
embeddedobj
embedserv Fix various Windows-only XServiceInfo implementations 2015-03-24 18:08:39 +01:00
eventattacher
extensions const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:30 +01:00
external Typo: formated->formatted 2015-03-25 21:12:16 +01:00
extras
filter const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:30 +01:00
forms const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:30 +01:00
formula tdf#40835 add ODFF function FDIST 2015-03-24 22:04:50 +00:00
fpicker Typos 2015-03-25 20:42:37 +01:00
framework Resolves: tdf#90256 repair invalid docking positions 2015-03-26 13:37:35 +00:00
helpcompiler
helpcontent2@b1178f96fe Updated core 2015-03-26 00:00:27 +00:00
hwpfilter const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:31 +01:00
i18nlangtag
i18npool const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:31 +01:00
i18nutil
icon-themes Move message box icons from Tango Testing to Tango 2015-03-26 02:13:52 -06:00
idl const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:31 +01:00
idlc const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:32 +01:00
include convert SymbolAlign to enum class 2015-03-27 08:33:44 +02:00
instsetoo_native
io
ios Bin obsolete comment 2015-03-24 11:13:19 +02:00
javaunohelper
jurt
jvmaccess
jvmfwk const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:32 +01:00
l10ntools const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:32 +01:00
librelogo
libreofficekit lokdocview: add lok_docview_get_document() 2015-03-23 09:19:06 +01:00
lingucomponent const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:32 +01:00
linguistic
lotuswordpro fix windows build 2015-03-24 09:09:32 +02:00
m4
mysqlc loplugin:constantfunction 2015-03-25 12:46:55 +01:00
nlpsolver
o3tl
odk Typo: formated->formatted 2015-03-25 21:12:16 +01:00
offapi Typo: formated->formatted 2015-03-25 21:12:16 +01:00
officecfg tdf#87904 changing the sort arrangment of impress's sidebar tabs 2015-03-26 11:20:54 +00:00
oovbaapi
oox const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:33 +01:00
opencl
osx
package const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:33 +01:00
postprocess Revert "give this a copy ctor" 2015-03-25 11:59:57 +01:00
pyuno WaE: redundant const_cast on lhs of pointer comparison expression 2015-03-26 18:53:11 +02:00
qadevOOo Typos 2015-03-25 20:42:37 +01:00
readlicense_oo
registry const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:34 +01:00
remotebridges
reportbuilder
reportdesign const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:34 +01:00
ridljar
rsc const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:34 +01:00
sal const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:35 +01:00
salhelper
sax
sc Revert "tdf#89319 remove redundant file seekings in XLS export" 2015-03-26 21:01:29 +01:00
scaddins const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:35 +01:00
sccomp
scp2
scripting Typos 2015-03-25 20:42:37 +01:00
sd vexing parse 2015-03-26 15:43:59 +00:00
sdext const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:35 +01:00
setup_native
sfx2 const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:36 +01:00
shell const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:36 +01:00
slideshow loplugin:constantfunction: various 2015-03-24 10:51:22 +02:00
smoketest Build libtest on Windows, too 2015-03-23 23:54:01 +02:00
solenv correctly rebuild extension desc. l10ns when langs change 2015-03-25 17:52:20 +01:00
soltools
sot const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:36 +01:00
starmath const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:37 +01:00
stoc const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:37 +01:00
store loplugin:constantfunction: store 2015-03-24 10:31:17 +02:00
svgio Typos 2015-03-25 20:42:37 +01:00
svl const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:37 +01:00
svtools convert ProminentEntry to enum class 2015-03-27 08:33:43 +02:00
svx convert BUTTON_ constants to enum class 2015-03-27 08:33:43 +02:00
sw remove copypasta 2015-03-26 16:07:01 +01:00
swext Typo: formated->formatted 2015-03-25 21:12:16 +01:00
sysui
test Typos 2015-03-25 20:42:37 +01:00
testtools
toolkit const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:39 +01:00
tools const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:39 +01:00
translations@6a11450be8
tubes
ucb const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:39 +01:00
ucbhelper
udkapi
UnoControls
unodevtools
unoidl
unoil
unotest
unotools const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:40 +01:00
unoxml const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:40 +01:00
ure
uui convert BUTTON_ constants to enum class 2015-03-27 08:33:43 +02:00
vbahelper loplugin:constantfunction: various 2015-03-24 10:51:22 +02:00
vcl convert SymbolAlign to enum class 2015-03-27 08:33:44 +02:00
winaccessibility presumably this will fix the mismatch of the service names 2015-03-22 20:59:13 +00:00
wizards tdf#68547 Turkısh "ı" ıs specıal 2015-03-25 06:40:40 +00:00
writerfilter tdf#89496 fixed crash on rtf shape group parsing 2015-03-26 14:27:31 +00:00
writerperfect loplugin:constantfunction: various 2015-03-24 10:51:22 +02:00
xmerge
xmlhelp const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:40 +01:00
xmloff const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:41 +01:00
xmlreader
xmlscript
xmlsecurity const_cast: convert some C-style casts and remove some redundant ones 2015-03-26 15:33:41 +01:00
.gitattributes
.gitignore gbuild: allow to react on change in configured langs 2015-03-25 17:52:20 +01:00
.gitmodules
.gitreview
autogen.sh
config.guess
config.sub
config_host.mk.in fix build from module 2015-03-26 09:22:45 +01:00
config_host_lang.mk.in gbuild: allow to react on change in configured langs 2015-03-25 17:52:20 +01:00
configure.ac gbuild: allow to react on change in configured langs 2015-03-25 17:52:20 +01:00
COPYING
COPYING.LGPL
COPYING.MPL
download.lst
g
install-sh
leak-suppress.txt
Library_merged.mk
lo.xcent.in
logerrit
Makefile.fetch
Makefile.gbuild
Makefile.in add Makefile deps and cleanup for config_host_lang.mk* 2015-03-26 09:22:45 +01:00
README.cross android: add debugrun Makefile target 2015-03-23 09:19:05 +01:00
README.md README.Code → README.md 2015-03-22 21:21:57 -06:00
README.Solaris
Repository.mk Remove library urelibs. It was more just a temporary hack and is not used. 2015-03-20 20:55:04 +01:00
RepositoryExternal.mk The 'svp' "plug-in" library is empty so don't build it at all 2015-03-20 17:55:08 +02:00
RepositoryFixes.mk
RepositoryModule_build.mk
RepositoryModule_host.mk Remove library urelibs. It was more just a temporary hack and is not used. 2015-03-20 20:55:04 +01:00
TEMPLATE.SOURCECODE.HEADER
unusedcode.easy Unusedcode.easy: ScBroadcastAreaSlot::AreaBroadcastInRange 2015-03-23 21:39:39 +01:00
unusedcode.exclude
unusedcode.README

A quick overview of the LibreOffice code structure.

Overview

You can develop for LibreOffice in one of two ways, one recommended and one much less so. First the somewhat less recommended way: it is possible to use the SDK, for which you can read the API docs here. This re-uses the (extremely generic) APIs we provide for macro scripting in StarBasic.

The best way to add a generally useful feature to LibreOffice is to work on the code base however. Overall this way makes it easier to compile and build your code, it avoids any arbitrary limitations of our scripting APIs, and in general is far more simple and intuitive - if you are a reasonably able C++ programmer.

The important bits of code

Each module should have a README file inside it which has some degree of documentation for that module; patches are most welcome to improve those. We have those turned into a web page here:

http://docs.libreoffice.org/

However, there are two hundred modules, many of them of only peripheral interest for a specialist audience. So - where is the good stuff, the code that is most useful. Here is a quick overview of the most important ones:

Module Description
sal/ this provides a simple System Abstraction Layer
tools/ this provides basic internal types: 'Rectangle', 'Color' etc.
vcl/ this is the widget toolkit library and one rendering abstraction
svx/ graphics related helper code, including much of 'draw' / 'impress'
sfx2/ core framework: document model / load/save / signals for actions etc.
framework UNO wrappers around the core framework, responsible for building toolbars, menus, status bars, and the chrome around the document using widgets from VCL, and XML descriptions from */uiconfig/ files

Then applications

Module Description
desktop/ this is where the 'main' for the application lives, init / bootstrap. the name dates back to an ancient StarOffice that also drew a desktop
sw/ writer.
sc/ calc
sd/ draw / impress

There are several other libraries that are helpful from a graphical perspective:

Module Description
basebmp/ enables a VCL compatible rendering API to render to bitmaps, as used for LibreOffice Online, Android, iOS, etc.
basegfx/ algorithms and data-types for graphics as used in the canvas
canvas/ new (UNO) canvas rendering model with various backends
cppcanvas/ C++ helper classes for using the UNO canvas
drawinglayer/ code to render and manage document drawing shapes and break them down into primitives we can render more easily.

Finding out more

Beyond this, you can read the README files, send us patches, ask on the mailing list libreoffice@lists.freedesktop.org (no subscription required) or poke people on IRC #libreoffice-dev on irc.freenode.net - we're a friendly and generally helpful mob. We know the code can be hard to get into at first, and so there are no silly questions.