Calligra

# Calligra

## A General Introduction

Raphael Langerhorst `<raphael.langerhorst@kdemail.net>`

Jost Schenck `<jost@schenck.de>`

Revision 2.4.0 (2012-01-03)

Calligra is a graphic art and office suite by KDE.

List of Examples

2.1. An example of a simple rc-file

Chapter 1. Introduction
Introduction

# Chapter 1. Introduction

## Calligra components

### Important

Please check http://docs.kde.org for updated versions of this document.

Calligra is a graphic art and office suite by KDE. Calligra consists of the following components:

- Calligra Words (a frames-based wordprocessor)

- Calligra Sheets (a spreadsheet application)

- Calligra Stage (screen and slide presentations)

- Calligra Flow (a flowchart application)

- Calligra Karbon (a vector drawing application)

- Calligra Plan (a project management application)

Because these components use Flake technology, Calligra components are designed to work very well with each other. Many Calligra component can be embedded in another Calligra document. For instance, you can insert a spreadsheet which you created in Calligra Sheets directly into a Calligra Words document. In this way, complex, compound documents can be created using Calligra.

A plugin mechanism makes it easy to extend the functionality of Calligra. You will find many plugins in some of the components and can learn how to write plugins yourself.

This manual only covers the general features of Calligra, those that are common to most or all components in the suite. For detailed information about the different components, have a look at the respective manual.

Overview of Calligra features
Overview of Calligra features

## Overview of Calligra features

### Integration

Calligra provides a framework that all components build on. Through this framework high integration is achieved. It is possible to develop your own component that integrates as well.

### Lightweight

Despite offering so many components, Calligra is lightweight, fast and has a rather low memory footprint. This is also achieved because Calligra builds on KDE, a powerful application development framework.

A goal of Calligra is also to not overload the user interface with features that are hardly needed. This results in a lean and mean user interface that lets you do your work efficiently.

Being lightweight can at times also mean that that very particular special functionality you need is not there. In this case you can always add the functionality yourself by extending Calligra. Extra features can always be made available through additional plugins or scripts, thus keeping Calligra itself lightweight.

### Completeness

Calligra offers a wide range of components, covering most of the home and business office needs. Additional features can always be implemented through scripts, plugins or even whole components based on the Calligra framework.

### OASIS OpenDocument Format

It is a major importance for any office suite to adhere to established standards. Especially on the file format level to allow seamless document exchange with other office suites. This also avoids vendor lock-in, which is especially important for companies and also for individuals.

For this reason Calligra has adapted the OASIS OpenDocument format as native file format.

### KDE Features

Since Calligra builds on KDE all the features you would expect from a KDE application are also available in Calligra. This includes D-Bus, KParts, Flake, Desktop Integration, Configurability and so on. All this makes the look and feel of Calligra very familiar and really integrates Calligra into the desktop environment, thus allowing seamless workflows.

Chapter 2. Configuring Calligra and Your System
Configuring Calligra and Your System

# Chapter 2. Configuring Calligra and Your System

While Calligra should work quite nice out of the box, there may well be some things to optimize to get the best out of Calligra. This chapter shows you what you might want to do to achieve the best results with your new office suite and make it suite your needs. Calligra is highly configurable, even down to detailed toolbar and menu layout.

## Customizing the Calligra GUI

While Calligra comes out of the box with a GUI (graphical user interface) that should suit most people's needs, there are good reasons why you may want to change the way the programs look.

My mother, for example, is a bit afraid of buttons and menu entries she doesn't understand. To tailor Calligra to her needs, I reduced the GUI to a bare minimum of functionality. As she only needs to write letters and use certain templates, there is no need for much more functionality than saving, loading, printing, etc.

Thanks to the “action” concept of Qt™ and KDE, you can freely customize Calligra menubars and tool bars. Unfortunately, at the moment, there are no easy-to-use dialogs to do this. Calligra stores its GUI configuration in XML files and you'll have to edit those. Hopefully, this situation will change in the future; for now, you'll need some basic knowledge of how an XML document works (or HTML, which is a subset of XML).

Normally, each Calligra application has at least two of those XML files: one describing the GUI of the shell (basically, that's what you see if there is no document open) and one describing the GUI of the respective part (that's what you see normally). For example, for Calligra Words, these two XML files are named `calligra_shell.rc` and `words.rc`.

Here's a simple example of such an rc-file.

Example 2.1. An example of a simple rc-file

    <!DOCTYPE QConfig ><qconfig>
    <menubar>
    <menu name="Edit"><text>Edit</text>
    <action name="edit_cut"/>
    <action name="edit_copy"/>
    <action name="edit_paste"/>
    <separator/>
    <action name="edit_find"/>
    </menu>
    <menu name="Insert"><text>Insert</text>
    <action name="insert_picture"/>
    <action name="insert_clipart"/>
    <menu name="Variable"><text>Variable</text>
    <action name="insert_var_datefix"/>
    <action name="insert_var_datevar"/>
    </menu>
    </menu>
    </menubar>
    <toolbars>
    <toolbar name="edit_toolbar" position="right">
    <action name="edit_cut"/>
    <action name="edit_copy"/>
    <action name="edit_paste"/>
    </toolbar>
    </toolbars>
    </qconfig>

Chapter 3. How to get more information
How to get more information

# Chapter 3. How to get more information

## Other Calligra manuals

For detailed information on the different Calligra applications, please consult their respective manuals.

Links
Links

## Links

The following links should be useful if you're looking for more information about KDE or Calligra.

- The Calligra homepage. Here you can find information on how to get and install Calligra, news about Calligra development, screenshots etc.

- The KDE Homepage. KDE is the most advanced and absolutely free desktop environment for unix-like operating systems. Calligra makes use of the KDE libraries.

- Qt™ page. The creators of the C++-toolkit Qt™. KDE and Calligra make use of Qt™.

Chapter 4. Programming Calligra
Programming Calligra

# Chapter 4. Programming Calligra

## Introduction

If you want to do Calligra development, the following resources might be of interest:

- At http://techbase.kde.org/Development you'll find many documents about programming with Qt™ and KDE. You can find the online version of the complete KDE library documentation on KDE API Reference

- The first step for contributing code is to follow those instructions to get the source code and build it.

Chapter 5. Copyright and Licensing
Copyright and Licensing

# Chapter 5. Copyright and Licensing

Calligra is the result of the joint effort of many developers. Each source file of Calligra is copyrighted by the people who wrote this particular file and their names can be found at the start of each source file with the license that applies to that source file.

This manual is copyright by Jost Schenck. It can be distributed freely, as long as this copyright notice is included. You may change it as long as you send me the changes or commit them to KDE Git. I'll not be liable for anything resulting from the use of this manual.

The other Calligra manuals are copyrighted by their respective authors.

This documentation is licensed under the terms of the GNU Free Documentation License.

This program is licensed under the terms of the GNU General Public License.