diff options
Diffstat (limited to 'doc')
826 files changed, 51188 insertions, 0 deletions
diff --git a/doc/.directory b/doc/.directory new file mode 100644 index 00000000..6aa9870a --- /dev/null +++ b/doc/.directory @@ -0,0 +1,4 @@ +# KDE Config File +[KDE Desktop Entry] +BgImage= +Icon= diff --git a/doc/CookBook.odt b/doc/CookBook.odt Binary files differnew file mode 100644 index 00000000..7e950e34 --- /dev/null +++ b/doc/CookBook.odt diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 00000000..8016c150 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,7 @@ + + +KDE_LANG = en +KDE_DOCS = koffice +SUBDIRS = $(AUTODIRS) + +xdg_apps_DATA = koffice.desktop diff --git a/doc/TODO b/doc/TODO new file mode 100644 index 00000000..a3bd38ba --- /dev/null +++ b/doc/TODO @@ -0,0 +1,2 @@ +You can find status information and TODO items for KOffice +documentation in the CookBook.odt diff --git a/doc/api/Doxyfile.am b/doc/api/Doxyfile.am new file mode 100644 index 00000000..05aa7591 --- /dev/null +++ b/doc/api/Doxyfile.am @@ -0,0 +1,153 @@ +## generate API documentation with doxygen +apidox-am-yes: + @if test "$(subdir)" != "."; then \ + $(mkinstalldirs) $(top_builddir)/apidocs/$(subdir) ;\ + cp $(top_srcdir)/doc/api/Doxyfile.pim Doxyfile; \ + echo "PROJECT_NAME = \"$(subdir)\"" >> Doxyfile; \ + echo "PROJECT_NUMBER = \"Version $(VERSION)\"" >> Doxyfile; \ + echo "INPUT = $(srcdir)" >> Doxyfile; \ + echo "IMAGE_PATH = $(top_srcdir)/doc/api" >> Doxyfile ;\ + echo "OUTPUT_DIRECTORY = $(top_builddir)/apidocs" >> Doxyfile; \ + echo "HTML_OUTPUT = $(subdir)/html" >> Doxyfile; \ + echo "HTML_HEADER = $(top_srcdir)/doc/api/header.html" >> Doxyfile; \ + echo "HTML_FOOTER = $(top_srcdir)/doc/api/footer.html" >> Doxyfile; \ + echo "HTML_STYLESHEET = $(top_builddir)/apidocs/doxygen.css" >> Doxyfile; \ + echo "LATEX_OUTPUT = $(subdir)/latex" >> Doxyfile; \ + echo "RTF_OUTPUT = $(subdir)/rtf" >> Doxyfile; \ + echo "MAN_OUTPUT = $(subdir)/man" >> Doxyfile; \ + $(DOXYGEN) Doxyfile ;\ + sh $(top_srcdir)/doc/api/doxyndex.sh $(top_builddir)/apidocs $(subdir)/html ; \ + fi + +apidox-am-no: + +install-data-local: install-apidox + +## install API documentation +install-apidox: + @if test "$(subdir)" != "."; then \ + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html ; \ + if test -f $(top_builddir)/apidocs/$(subdir)/$(subdir).tag; then \ + echo $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \ + $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/$(subdir).tag $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \ + fi; \ + if test -d $(top_builddir)/apidocs/$(subdir)/html; then \ + list=`ls $(top_builddir)/apidocs/$(subdir)/html`; \ + echo "installing $(top_builddir)/apidocs/$(subdir)/html" ;\ + for file in $$list; do \ + $(INSTALL_DATA) $(top_builddir)/apidocs/$(subdir)/html/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir)/html; \ + done; \ + fi; \ + rm -f $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/common; \ + $(LN_S) $(kde_libs_htmldir)/en/common $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/common; \ + else\ + if test -d $(top_builddir)/apidocs; then \ + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs ;\ + list=`cd $(top_builddir)/apidocs && ls -1`; \ + echo "installing $(top_builddir)/apidocs/$$file" ;\ + for file in $$list; do \ + if test -f $(top_builddir)/apidocs/$$file; then \ + $(INSTALL_DATA) $(top_builddir)/apidocs/$$file $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \ + fi; \ + done ; fi; \ + fi + +uninstall-local: uninstall-apidox + +## uninstall API documentation +uninstall-apidox: + @if test "$(subdir)" != "."; then \ + if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); then \ + rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs/$(subdir); \ + fi\ + else\ + if test -d $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; then \ + rm -rfv $(DESTDIR)$(kde_htmldir)/en/$(PACKAGE)-apidocs; \ + fi\ + fi + +apidox: + @if test "$(subdir)" != "."; then \ + $(MAKE) apidox-am-@KDE_HAS_DOXYGEN@ ;\ + else \ + $(MAKE) apidox-am-toplevel-@KDE_HAS_DOXYGEN@ ;\ + fi + @set fnord $(MAKEFLAGS); amf=$$2; if test -n '$(SUBDIRS)'; then \ + list='$(SUBDIRS)'; \ + for subdir in $$list; do \ + if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am > /dev/null ; then \ + echo "Making apidox in $$subdir"; \ + if test "$$subdir" != "."; then \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=no apidox) || exit 1; \ + fi ; fi ;\ + done; \ + for subdir in $$list; do \ + if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am > /dev/null ; then \ + echo "Making apidox in $$subdir"; \ + if test "$$subdir" != "."; then \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) GENERATE_FLAG=yes apidox) || exit 1; \ + fi ; fi ;\ + done; \ + fi + +apidox-am-toplevel-no: +apidox-am-toplevel-yes: + @echo "*** Creating API documentation main page"; \ + cp $(top_srcdir)/admin/Doxyfile.global Doxyfile; \ + echo "PROJECT_NAME = \"$(DOXYGEN_PROJECT_NAME)\"" >> Doxyfile ; \ + echo "PROJECT_NUMBER = \"$(DOXYGEN_PROJECT_NUMBER)\"" >> Doxyfile ; \ + echo "INPUT = $(top_srcdir)" >> Doxyfile ; \ + echo "OUTPUT_DIRECTORY = $(top_builddir)/apidocs" >> Doxyfile ; \ + echo "FILE_PATTERNS = *.dox" >> Doxyfile ; \ + echo "RECURSIVE = NO" >> Doxyfile ; \ + echo "SOURCE_BROWSER = NO" >> Doxyfile ; \ + echo "ALPHABETICAL_INDEX = NO" >> Doxyfile ; \ + echo "HTML_OUTPUT = ." >> Doxyfile ; \ + echo "HTML_HEADER = $(top_srcdir)/doc/api/mainheader.html" >> Doxyfile ; \ + echo "HTML_FOOTER = $(top_srcdir)/doc/api/mainfooter.html" >> Doxyfile ; \ + echo "HTML_STYLESHEET = $(top_builddir)/apidocs/common/doxygen.css" >> Doxyfile ; \ + echo "GENERATE_LATEX = NO" >> Doxyfile ; \ + echo "GENERATE_RTF = NO" >> Doxyfile ; \ + echo "GENERATE_MAN = NO" >> Doxyfile ; \ + echo "GENERATE_XML = NO" >> Doxyfile ; \ + echo "GENERATE_AUTOGEN_DEF = NO" >> Doxyfile ; \ + echo "ENABLE_PREPROCESSING = NO" >> Doxyfile ; \ + echo "CLASS_DIAGRAMS = NO" >> Doxyfile ; \ + echo "HAVE_DOT = NO" >> Doxyfile ; \ + echo "GENERATE_HTML = YES" >> Doxyfile ;\ + $(mkinstalldirs) $(top_builddir)/apidocs ; \ + rm -f $(top_builddir)/apidocs/common ; \ + if test -d $(top_srcdir)/doc/common; then \ + common_dir=`cd $(top_srcdir)/doc/common && pwd` ;\ + else \ + common_dir=$(kde_libs_htmldir)/en/common ;\ + fi ;\ + $(LN_S) $$common_dir $(top_builddir)/apidocs/common ;\ + doxygen Doxyfile; \ + rm -f Doxyfile + @true > $(top_builddir)/apidocs/subdirs + @$(MAKE) apidox-am-tree PARENT="" PARENTINDENT="" + @sort $(top_builddir)/apidocs/subdirs | sed -e 's+<!--.*-->++' > $(top_builddir)/apidocs/subdirs_ && mv $(top_builddir)/apidocs/subdirs_ $(top_builddir)/apidocs/subdirs + @sh $(top_srcdir)/doc/api/doxyndex.sh $(top_builddir)/apidocs . + + +apidox-am-tree: + @if test -n '$(SUBDIRS)' ; then \ + list='$(SUBDIRS)' ; \ + for subdir in $$list ; do \ + if test "x$$subdir" != "x."; then \ + if grep '^include .*Doxyfile.am' $(srcdir)/$$subdir/Makefile.am > /dev/null ; then \ + echo "Making apidox index in $$subdir"; \ + echo "<li><!-- $(PARENT)/$$subdir -->$(PARENTINDENT)<a href=\"@topdir@$(PARENT)/$$subdir/html/index.html\">$$subdir</a></li>" >> $(top_builddir)/apidocs/subdirs ; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) apidox-am-tree PARENT="$(PARENT)/$$subdir" PARENTINDENT='\ \ $(PARENTINDENT)' ) || exit 1; \ + fi ; \ + fi ; \ + done ; \ + fi + +.PHONY: apidox-am-yes apidox-am-no install-data-local install-apidox install-apidox uninstall-local uninstall-apidox uninstall-apidox apidox apidox-am-toplevel-no apidox-am-toplevel-yes apidox-am-tree + + +# Local Variables: +# mode: makefile +# End: diff --git a/doc/api/Doxyfile.koffice b/doc/api/Doxyfile.koffice new file mode 100644 index 00000000..76049d36 --- /dev/null +++ b/doc/api/Doxyfile.koffice @@ -0,0 +1,191 @@ +PROJECT_NAME = +PROJECT_NUMBER = +OUTPUT_DIRECTORY = ../apidocs/ +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = NO +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = YES +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = YES +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 4 +ALIASES = obsolete=@deprecated +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = YES +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = NO +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = NO +GENERATE_TESTLIST = NO +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_IF_DOC_ERROR = YES +WARN_FORMAT = +WARN_LOGFILE = +INPUT = +FILE_PATTERNS = *.h \ + *.cpp \ + *.cc \ + *.hpp \ + *.dox \ + *.c++ \ + *.cxx \ + *.h++ \ + *.hh +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = *.moc.* \ + moc* \ + *.all_cpp.* \ + *unload.* \ + */test/* \ + */tests/* \ + *_p.h +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_SOURCE_FILES = NO +SOURCE_BROWSER = YES +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 3 +IGNORE_PREFIX = K +GENERATE_HTML = NO +HTML_OUTPUT = +HTML_FILE_EXTENSION = .html +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = YES +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = NO +TREEVIEW_WIDTH = 250 +GENERATE_LATEX = NO +LATEX_OUTPUT = +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +GENERATE_RTF = NO +RTF_OUTPUT = +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +GENERATE_MAN = NO +MAN_OUTPUT = +MAN_EXTENSION = .kde3 +MAN_LINKS = YES +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = NO +GENERATE_AUTOGEN_DEF = NO +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = QT_VERSION=320 \ + __cplusplus \ + Q_WS_X11 +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = NO +PERL_PATH = +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = NO +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 800 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 0 +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +SEARCHENGINE = NO + +#----------------------------------------------------------------------- +# KOffice Settings +#----------------------------------------------------------------------- + +HTML_ALIGN_MEMBERS = NO +REFERENCED_BY_RELATION = NO +REFERENCES_RELATION = NO +VERBATIM_HEADERS = NO +GENERATE_LATEX = NO +GENERATE_RTF = NO +GENERATE_MAN = NO +GENERATE_XML = NO +GENERATE_HTML = YES +SOURCE_BROWSER = NO +GENERATE_AUTOGEN_DEF = NO +ENABLE_PREPROCESSING = NO +CLASS_DIAGRAMS = NO +HAVE_DOT = NO +IGNORE_PREFIX = K +EXTRACT_ALL = NO + diff --git a/doc/api/doxyndex.sh b/doc/api/doxyndex.sh new file mode 100644 index 00000000..a310c8e9 --- /dev/null +++ b/doc/api/doxyndex.sh @@ -0,0 +1,60 @@ +#! /bin/sh +# +# A shell script to post-process doxy-generated files; the purpose +# is to make the menu on the left in the file match the actually +# generated files (ie. leave out namespaces if there are none). +# +# Usage: doxyndex.sh <toplevel-apidocs-dir> <relative-html-output-directory> +# +# Typically, this means $(top_builddir)/apidocs and something like +# libfoo/html for the output. For the top-level dig, set relative-html +# to "." . In non-top directories, both <!-- menu --> and <!-- gmenu --> +# are calculated and replaced. Top directories get an empty <!-- menu --> +# if any. + +WRKDIR="$1/$2" +TOPDIR=`echo "$2" | sed -e 's+[^/][^/]*/+../+g' -e 's+html$+..+'` +echo "Postprocessing files in $WRKDIR ($TOPDIR)" + +# Special case top-level to have an empty MENU. +if test "x$2" = "x." ; then +MENU="" +else +MENU="<ul>" + +# This is a list of pairs, with / separators so we can use basename +# and dirname (a crude shell hack) to split them into parts. For +# each, if the file part exists (as a html file) tack it onto the +# MENU variable as a <li> with link. +for i in "Main Page/index" \ + "Modules/modules" \ + "Namespace List/namespaces" \ + "Class Hierarchy/hierarchy" \ + "Alphabetical List/classes" \ + "Class List/annotated" \ + "File List/files" \ + "Namespace Members/namespacemembers" \ + "Class Members/functions" \ + "Related Pages/pages" +do + NAME=`dirname "$i"` + FILE=`basename "$i"` + test -f "$WRKDIR/$FILE.html" && MENU="$MENU<li><a href=\"$FILE.html\">$NAME</a></li>" +done + +MENU="$MENU</ul>" +fi + + +# Get the list of global Menu entries. +GMENU=`cat "$1"/subdirs | tr -d '\n'` + +PMENU=`grep '<!-- pmenu' "$WRKDIR/index.html" | sed -e 's+.*pmenu *++' -e 's+ *-->++' | awk '{ c=split($0,a,"/"); for (j=1; j<=c; j++) { printf " / <a href=\""; if (j==c) { printf("."); } for (k=j; k<c; k++) { printf "../"; } if (j<c) { printf("../html/index.html"); } printf "\">%s</a>\n" , a[j]; } }' | tr -d '\n'` + +# Now substitute in the MENU in every file. This depends +# on HTML_HEADER (ie. header.html) containing the <!-- menu --> comment. +for i in "$WRKDIR"/*.html +do + sed -e "s+<!-- menu -->+$MENU+" -e "s+<!-- gmenu -->+$GMENU+" -e "s+<!-- pmenu.*-->+$PMENU+" < "$i" | sed -e "s+@topdir@+$TOPDIR+g" > "$i.new" && mv "$i.new" "$i" +done + diff --git a/doc/api/header.html b/doc/api/header.html new file mode 100644 index 00000000..b6b7b877 --- /dev/null +++ b/doc/api/header.html @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US"> + +<head> + <title>$title ($projectname)</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <meta http-equiv="Content-Style-Type" content="text/css" /> + + <meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline DE v2.0" l gen true for "http://www.kde.org" r (nz 1 vz 1 lz 1 oz 1 cb 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://www.kde.org" r (n 0 s 0 v 0 l 0))' /> + + <meta name="trademark" content="KDE e.V." /> + <meta name="description" content="K Desktop Environment Homepage, KDE.org" /> + <meta name="MSSmartTagsPreventParsing" content="true" /> + <meta name="robots" content="all" /> + + <link rel="shortcut icon" href="@topdir@/favicon.ico" /> + +<link rel="stylesheet" media="screen" type="text/css" title="APIDOX" href="doxygen.css" /> + + + +<style type="text/css"> +<!-- +hr { display: none; } +#content h2 { margin-left: 0px; } +table.mdTable { background-color: #f8f8f8; border: .2em solid #d7d7d7; } +td.mdRow { padding: 8px 20px; } +td.md { font-weight: bold; } +td.mdname1 { font-weight: bold; color: #602020; } +td.mdname { font-weight: bold; color: #602020; } + +--> +</style> + +</head> + +<body> + +<div id="nav_header_top" align="right"> + <a href="#content" class="doNotDisplay" accesskey="2">Skip to main content ::</a> + + <a href="@topdir@"><img id="nav_header_logo" alt="Home" align="left" src="@topdir@/kde_gear_64.png" border="0" /></a> + <span class="doNotDisplay">::</span> + + <div id="nav_header_title" align="left">KOffice API Docs</div> + + +</div> + +<div id="nav_header_bottom" align="right"> + <span class="doNotDisplay">:: <a href="#navigation" accesskey="5">Skip to Link Menu</a><br/></span> + <span id="nav_header_bottom_left"> + / <a href="http://www.koffice.org">KOffice</a> + / <a href="@topdir@">API Docs</a> +<!-- pmenu $projectname --> +</span> +</div> + + +<table id="main" border="0" cellpadding="0" cellspacing="0" width="100%"> +<tr> + <td valign="top" class="menuheader" height="0"></td> + + <td id="contentcolumn" valign="top" rowspan="2" > + <div id="content" style="padding-top: 0px;"><div style="width:100%; margin: 0px; padding: 0px;"> + <h2><a name="content"></a>$projectname</h2> + + diff --git a/doc/api/kfontdialog.png b/doc/api/kfontdialog.png Binary files differnew file mode 100644 index 00000000..8d834d46 --- /dev/null +++ b/doc/api/kfontdialog.png diff --git a/doc/api/mainheader.html b/doc/api/mainheader.html new file mode 100644 index 00000000..780ae3d7 --- /dev/null +++ b/doc/api/mainheader.html @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US"> + +<head> + <title>$title ($projectname)</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <meta http-equiv="Content-Style-Type" content="text/css" /> + + <meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline DE v2.0" l gen true for "http://www.kde.org" r (nz 1 vz 1 lz 1 oz 1 cb 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://www.kde.org" r (n 0 s 0 v 0 l 0))' /> + + <meta name="trademark" content="KDE e.V." /> + <meta name="description" content="K Desktop Environment Homepage, KDE.org" /> + <meta name="MSSmartTagsPreventParsing" content="true" /> + <meta name="robots" content="all" /> + + <link rel="shortcut icon" href="@topdir@/favicon.ico" /> + +<link rel="stylesheet" media="screen" type="text/css" title="APIDOX" href="doxygen.css" /> + + +<style type="text/css"> +<!-- +hr { display: none; } +#content h2 { margin-left: 0px; } +table.mdTable { background-color: #f8f8f8; border: .2em solid #d7d7d7; } +td.mdRow { padding: 8px 20px; } +td.md { font-weight: bold; } +td.mdname1 { font-weight: bold; color: #602020; } +td.mdname { font-weight: bold; color: #602020; } + +.copyrights { width: 100%; margin: 1ex 10%; color:#BCBCBC; } +.copyrights a { color: #9A9A9A; } + +--> +</style> + +</head> + +<body> + +<div id="nav_header_top" align="right"> + <a href="#content" class="doNotDisplay" accesskey="2">Skip to main content ::</a> + + <a href="@topdir@"><img id="nav_header_logo" alt="Home" align="left" src="@topdir@/kde_gear_64.png" border="0" /></a> + <span class="doNotDisplay">::</span> + + <div id="nav_header_title" align="left">KOffice API Docs</div> + + +</div> + +<div id="nav_header_bottom" align="right"> + <span class="doNotDisplay">:: <a href="#navigation" accesskey="5">Skip to Link Menu</a><br/></span> + <span id="nav_header_bottom_left"> + / <a href="http://www.koffice.org">KOffice</a> + / <a href="@topdir@">API Docs</a> +</span> +</div> + + +<table id="main" border="0" cellpadding="0" cellspacing="0" width="100%"> +<tr> + <td valign="top" class="menuheader" height="0"></td> + + <td id="contentcolumn" valign="top" rowspan="2" > + <div id="content"><div style="width:100%;"> + <a name="content"></a><h2>$projectname</h2> + + diff --git a/doc/karbon/Makefile.am b/doc/karbon/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/karbon/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/karbon/index.docbook b/doc/karbon/index.docbook new file mode 100644 index 00000000..670d3acc --- /dev/null +++ b/doc/karbon/index.docbook @@ -0,0 +1,67 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kappname "&karbon14;"> + <!ENTITY package "koffice"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % English "INCLUDE"> +]> + +<book lang="&language;"> + +<bookinfo> +<title>The &karbon14; Handbook</title> + +<authorgroup> +<author> +<firstname></firstname> +<othername></othername> +<surname></surname> +<affiliation> +<address><email></email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> + +<legalnotice>&FDLNotice;</legalnotice> + +<!-- Date and version information of the documentation +Don't forget to include this last date and this last revision number, we +need them for translation coordination ! +Please respect the format of the date (DD/MM/YYYY) and of the version +(Major.minor.lesser), it could be used by automation scripts --> + +<date>2005-09-04</date> +<releaseinfo>0.1.0</releaseinfo> + +<!-- Abstract about this handbook --> + +<abstract> +<para> +&karbon14; is a Scalable Graphics editer for &kde;. +</para> +</abstract> + + +<keywordset> +<keyword>KDE</keyword> +<keyword>Karbon14</keyword> +</keywordset> + +</bookinfo> + +<chapter id="introduction"> <title>Introduction</title> <para> +The documentation for &kappname; was not finished when &kde; was installed on +this computer.</para> <para>If you need help, please check <ulink +url="http://www.kde.org">The &kde; Website</ulink> for updates, or by +submitting your question to <ulink url="mailto:kde@kde.org">The +&kde; User Mailing list</ulink>.</para> <para><emphasis>The &kde; +Team</emphasis></para> + +&underFDL; + +</chapter> + +&documentation.index; +</book> + diff --git a/doc/kchart/Makefile.am b/doc/kchart/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/kchart/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/kchart/cr22-action-chart_line.png b/doc/kchart/cr22-action-chart_line.png Binary files differnew file mode 100644 index 00000000..ea1199db --- /dev/null +++ b/doc/kchart/cr22-action-chart_line.png diff --git a/doc/kchart/cr22-action-data.png b/doc/kchart/cr22-action-data.png Binary files differnew file mode 100644 index 00000000..a72e5438 --- /dev/null +++ b/doc/kchart/cr22-action-data.png diff --git a/doc/kchart/cr22-action-options.png b/doc/kchart/cr22-action-options.png Binary files differnew file mode 100644 index 00000000..f03bb673 --- /dev/null +++ b/doc/kchart/cr22-action-options.png diff --git a/doc/kchart/cr22-action-wizard.png b/doc/kchart/cr22-action-wizard.png Binary files differnew file mode 100644 index 00000000..cece74de --- /dev/null +++ b/doc/kchart/cr22-action-wizard.png diff --git a/doc/kchart/file-toolbar.png b/doc/kchart/file-toolbar.png Binary files differnew file mode 100644 index 00000000..3297c7c0 --- /dev/null +++ b/doc/kchart/file-toolbar.png diff --git a/doc/kchart/file-toolbar2.png b/doc/kchart/file-toolbar2.png Binary files differnew file mode 100644 index 00000000..699c4479 --- /dev/null +++ b/doc/kchart/file-toolbar2.png diff --git a/doc/kchart/frame_chart.png b/doc/kchart/frame_chart.png Binary files differnew file mode 100644 index 00000000..a28f1437 --- /dev/null +++ b/doc/kchart/frame_chart.png diff --git a/doc/kchart/index.docbook b/doc/kchart/index.docbook new file mode 100644 index 00000000..8fdfac40 --- /dev/null +++ b/doc/kchart/index.docbook @@ -0,0 +1,1375 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kappname "&kchart;"> + <!ENTITY package "koffice"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % English "INCLUDE"> + <!ENTITY dataeditor "Data Editor"> +]> + +<book lang="&language;"> + +<bookinfo> +<title>The &kchart; Handbook</title> + +<!-- CURRENTLY MAINTAINED BY RAPHAEL LANGERHORST --> + +<authorgroup> +<author> +&Jonathan.Drews; &Jonathan.Drews.mail; +</author> +<author> +<firstname>Raphael</firstname> +<surname>Langerhorst</surname> +<email>raphael.langerhorst@kdemail.net</email> +</author> +<!-- +<othercredit role="developer"> +&Matthias.Kalle.Dalheimer; &Matthias.Kalle.Dalheimer.mail; +<contrib>Developer</contrib> +</othercredit> +--> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> + +<legalnotice>&FDLNotice;</legalnotice> + +<date>2006-01-30</date> +<releaseinfo>1.5.0</releaseinfo> + +<abstract> +<para> +&kchart; is an application for visualizing numerical data. It has many +different chart types available like bar graphs, line plots, pie charts, +ring charts and more. +</para> +<para> +&kchart; is a &koffice; component and is very well integrated with &kspread; +to allow visualization of spreadsheet data. But it is also possible to use +&kchart; as a standalone application or integrate it in other &koffice; +components. +</para> +</abstract> + +<keywordset> +<keyword>KDE</keyword> +<keyword>kdeutils</keyword> +<keyword>Kchart</keyword> +<keyword>chart</keyword> +<keyword>graph</keyword> +<keyword>plot</keyword> +</keywordset> + +</bookinfo> + +<chapter id="introduction"> + +<title>Introduction</title> + +<para> +&kchart; is a tool for visualizing numerical data. It can be used +as a standalone application with a simple &dataeditor;. But as a +&koffice; component it offers very flexible integration. &kspread; +uses the &kchart; component for charts and diagrams. &kspread; +can be seen as a very powerful data provider for &kchart; input. +</para> +<para> +But embedding is not limited to &kspread;. A &kchart; chart can +be embedded in many of the &koffice; components like &kword;, +&kpresenter; or &kivio;. +</para> +<para> +To start with we will look at the user interface of &kchart; +and how it can be used as a standalone application. When we +are familiar with &kchart; we will investigate the charting +capabilities it offers together with &kspread;. +</para> +</chapter> + +<chapter id="userinterface"> +<title>The User Interface</title> +<sect1 id="mainuserinterface"> +<title>Main Application Interface</title> +<para> +We will take a look at a simple example to get to know &kchart;. +Along the way we will also discuss the user interface at length +so you will learn about many details of the component. +</para> +<para> +When you start &kchart; as a standalone application you get +the usual startup dialog where you can choose between different +templates or load existing chart documents. +</para> +<screenshot> +<screeninfo>&kchart; Startup Dialog</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-startupdialog.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +You can choose between various ways to startup &kchart;. On the left, you can +see three options: <guilabel>Recent Documents</guilabel>, +<guilabel>Charts</guilabel> templates and <guilabel>Open Existing +Document...</guilabel>. The first option lets you choose between +recently opened charts, the second is for creating a +new chart from various templates and the third is for opening an existing +chart with a file dialog. +</para> +<para> +For now we will start with the default template. Select +<guilabel>Charts</guilabel> in the left area and then select +<guilabel>Bar Chart</guilabel> in the main template area. Normally +this template should already be selected after choosing +<guilabel>Charts</guilabel>. +</para> +<para> +If you decide to always start &kchart; with a selected template as default +you can also check <guilabel>Always use this template</guilabel>. +</para> +<para> +Click the <guibutton>Use This Template</guibutton> +button on the right, under the template preview. +</para> +<screenshot> +<screeninfo>&kchart; User Interface</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-default.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +As you can see, there is already some example data present. &kchart; +offers the default toolbar for creating a new chart, saving, loading +and printing the chart. The second toolbar offers icons for editing +the data, configuring the chart or using a configuration wizard. +You can also switch between different chart types with the rest +of the icons. Note that some of these chart types also have subtypes. +</para> +<para> +The menu offers all standard entries, including shortcut and +toolbar configuration and page layout for printing. +</para> +<para> +Note that data editing is not available if you use &kchart; from +within &kspread; because all data is provided by the spreadsheet. +As a standalone application the &dataeditor; is an important part +of the application. +</para> +</sect1> +<sect1 id="wizard"> +<title>Chart Wizard</title> +<para> +The wizard is actually a very useful part of &kchart; for quickly +setting up some basic options like chart type and chart labelling +in a few easy steps. +</para> +<para> +You can run the wizard at any time, it will always preserve your data +and other configuration. Also, you can change every single configuration +you do with the wizard later as well, without losing anything. In fact +the wizard is just a way to set some basic and important options +in one go. +</para> +<para> +To start the wizard simply click on the +<inlinemediaobject><imageobject> +<imagedata fileref="cr22-action-wizard.png" format="PNG"/> +</imageobject></inlinemediaobject> icon in the toolbar. +</para> + +<sect2 id="wizard-data"> +<title>Step 0 - Choosing the Data source</title> +<screenshot> +<screeninfo>Wizard Step 0 - Data source</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-wizard0.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +The first step in the wizard is to actually choose the data source. +If the selected data area does not match the data you want, +select the data now.</para> +<para> +Include cells that you want to use as row and column labels, +if you want them in the chart.</para> +<para> +Then go to the next step with the <guibutton>Next ></guibutton> +button. You can also choose <guibutton>Finish</guibutton> at any step +if you are already comfortable with the setup done so far. +</para> +</sect2> + +<sect2 id="wizard-charttype"> +<title>Step 1 - Choosing the Chart Type</title> +<screenshot> +<screeninfo>Wizard Step 1 - Chart Type</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-wizard1.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +The next step in the wizard is to actually choose the primary +type of the chart. This selection has the most important +impact on how your data will be presented. Thus it should +be chosen well. You can change the type of the chart with the +icons in the toolbar without losing any data or configuration +later on. In fact it is even considered normal to test all the +various chart types to find the best fitting. +</para> +<para> +In this example we choose the <guilabel>Lines</guilabel> type. Depending on the +chosen chart type different options are available in the +following steps. +</para> +<para> +After chosing the type you can get to the next step with +the <guibutton>Next ></guibutton> button. +</para> +</sect2> +<sect2 id="wizard-chartsubtype"> +<title>Step 2 - Choosing the Subtype</title> +<screenshot> +<screeninfo>Wizard Step 2 - Chart Sub Type</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-wizard2.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +In case the chosen chart type has various sub types you can +choose it in the second step. If the chart type has no sub types, +this step will be skipped automatically. +</para> +<para> +If you decide to change the sub type later, you can do this +in the appropriate configuration dialog which will be shown +later. +</para> +<para> +You can simply leave the default selection and go to the next +step. Of course you can chose any desired sub type if you want. +</para> +</sect2> +<sect2 id="wizard-labelsandlegend"> +<title>Step 3 - Labels and Legend, Fonts</title> +<screenshot> +<screeninfo>Wizard Step 3 - Labels and Legend</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-wizard3.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +In the third step you can set the text for the chart title, +the axes and the legend. You can also configure the desired +font in detail for each of these. +</para> +</sect2> +<sect2 id="wizard-axes"> +<title>Step 4 - Axes</title> +<screenshot> +<screeninfo>Wizard Step 4 - Axes</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-wizard4.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +The last step of the wizard lets you set various options for +the axes and other options, depending on the chart type. +</para> +<para> +You can either choose <guibutton>Finish</guibutton> to accept +the options for your chart, go <guibutton>< Back</guibutton> and +change various things or simply dismiss all options from the +wizard by choosing <guibutton>Cancel</guibutton>. +</para> +<para> +If you choose <guibutton>Finish</guibutton> all your choices in the wizard will +be integrated in the chart and you can continue to enter +some data and do some fine tuning of various options. +</para> +<para> +Remember that the chart configuration dialog has many more +options available, we will discuss these later. +</para> +</sect2> +</sect1> +<sect1 id="dataeditorinterface"> +<title>The &dataeditor;</title> +<para> +The &dataeditor; can be reached by selecting <menuchoice> +<guimenu>Edit</guimenu><guimenuitem>Edit Data...</guimenuitem> +</menuchoice> from the menu or by clicking on the +<inlinemediaobject><imageobject> +<imagedata fileref="cr22-action-data.png" format="PNG"/> +</imageobject></inlinemediaobject> icon in the toolbar. +</para> +<screenshot> +<screeninfo>&dataeditor; in standalone mode</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-dataeditor.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +The &dataeditor; can be used to set all values. You can also define +the number of rows and columns. +</para> +<para> Depending on the chart type rows and columns have different +representations. Each row can generally be considered to be one data +series or data set while each column represents the values of all +data sets at a certain location. +</para> +<para> +The name of a data set can be changed by clicking on the row header +(left of the first column with values). The name of a column can +be changed by clicking on the column header (above the first +row). +</para> +<para> +The number of rows and columns can be adjusted to fit the needs. +Since version 1.4 the restriction to 16 rows and 16 columns has been +eliminated. +</para> +</sect1> +<sect1 id="configurationinterface"> +<title>Chart Configuration</title> +<para> +&kchart; offers many configuration options for the chart. These are +available in standalone mode and when embedded in &kspread; +</para> +<para> +Depending on the chart type you have selected, the available +options are slightly different. Let's choose the line chart +type by clicking on the <inlinemediaobject><imageobject> +<imagedata fileref="cr22-action-chart_line.png" format="PNG"/> +</imageobject></inlinemediaobject> icon in the toolbar. +</para> +<para> +To get to the chart configuration dialog, select <menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Chart...</guimenuitem> +</menuchoice> from the menu or click on the +<inlinemediaobject><imageobject> +<imagedata fileref="cr22-action-options.png" format="PNG"/> +</imageobject></inlinemediaobject> icon in the toolbar. +You might need to click on the right or left arrow at the top of the +dialog to get all pages if the width of the dialog is too small.</para> +<sect2 id="config-rowcol"> +<title>Row and Column Swapping</title> +<screenshot> +<screeninfo>Configuration page 1 - Row/column swapping</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-config1.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +The first configuration page can be used to swap the +interpretation of rows and columns. +By default one row is considered to be a data set +and each column holds the individual values of the data +series. Here you can choose to have a each column hold +one data set. Note that the values are not really swapped +but only their interpretation. +</para> +</sect2> +<sect2 id="config-subtype"> +<title>Chart Subtype</title> +<screenshot> +<screeninfo>Configuration page 2 - Chart Subtype</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-config2.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +The second page can be used to select the desired sub type of +a chart. The available sub types depend on the chart type, in +this case the line chart. Some chart types have no sub type +at all in which case this configuration page is not shown. +You also get a preview for each subtype. +</para> +<para> +Remember that the chart type can be chosen from the toolbar while +the subtype can be set through this configuration dialog. +</para> +</sect2> +<sect2 id="config-titlefooter"> +<title>Header and Footer</title> +<screenshot> +<screeninfo>Configuration page 3 - Header and Footer</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-config3.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +On the third page you can set the title, the subtitle and the footer of +the chart, each with individual font settings. +</para> +</sect2> +<sect2 id="config-legend"> +<title>Legend</title> +<screenshot> +<screeninfo>Configuration page 4 - Legend</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-config4.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +The legend configuration page lets you set all aspects of the legend. +The legend contains the names for all data sets with the respective +colors, this is important to identify the data on the chart. +</para> +<para> +The <guilabel>General</guilabel> box holds the title of the legend, which is displayed +at the top of the legend box. +The <guilabel>Position</guilabel> box can be used to place the legend at various locations +on the chart. Use the central button to hide the legend. +</para> +<para> +The <guilabel>Font</guilabel> box can be used to set +different fonts for the legend title and the individual entries. +Additionally you can set different colors in the <guilabel>Color</guilabel> box. +</para> +</sect2> +<sect2 id="config-axes"> +<title>Axes</title> +<screenshot> +<screeninfo>Configuration page 5 - Axes</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-config5.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +The <guilabel>Axes</guilabel> page holds configuration for the chart axes. This +page highly depends on the chart type chosen. For the line +chart you can set linear or logarithmic scales and turn the grid +on and off. +</para> +</sect2> +<sect2 id="config-colors"> +<title>Colors</title> +<screenshot> +<screeninfo>Configuration page 6 - Colors</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-config6.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +On the <guilabel>Colors</guilabel> page you can choose the colors for the individual +data sets. You can also set colors for some general chart parts +like axes <guilabel>Line color</guilabel> and <guilabel>Grid color</guilabel>. +</para> +</sect2> +<sect2 id="config-font"> +<title>Font</title> +<screenshot> +<screeninfo>Configuration page 7 - Font</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-config7.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +The <guilabel>Font</guilabel> page can be used to configure various fonts like +titles, axes labels and so on. Some of these fonts can +be set on other pages as well, but on the font page you +have them all in one place. +</para> +</sect2> +<sect2 id="config-background"> +<title>Background</title> +<screenshot> +<screeninfo>Configuration page 8 - Background </screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-config8.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +On the <guilabel>Background</guilabel> page you will find various options for tweaking +the background settings of the chart. You can either choose +different background colors or even a background picture. +</para> +</sect2> +<sect2 id="config-more"> +<title>More...</title> +<para> +This short overview of the configuration options gave you an +introduction to the configuration possibilities of your chart, +it is by no means complete. Different chart types like <guilabel>Bar</guilabel>, +<guilabel>Line</guilabel> and <guilabel>Pie</guilabel>, have +additional specialised configuration pages and you are welcome +to look around, try different chart types and look at the +configuration possibilities. Use the tooltips and read the +What's This? help. To use the What's This? help simply +click on the question mark on the window +decoration and then click on the area of the configuration +page you want get more information on. +</para> +</sect2> +</sect1> +</chapter> + +<chapter id="kchartstandalone"> +<title>&kchart; as a standalone Application</title> +<para> +The previous chapter described the user interface, +various configuration options, data editing and the wizard +in detail. +</para> +<para> +This chapter gives real-life examples on how to use +&kchart; in various situations as a standalone application. +The purpose is to give you some understanding of the +way &kchart; works and how various parts relate to each other. +</para> +<sect1 id="kchartexample-profit"> +<title>Presenting Sales Figures</title> +<sect2> +<title>Warming up</title> +<para> +This first example which might often be encountered in real +life is presenting sales figures, or in this particular case +profit. +</para> +<para> +Imagine you own a company that has three main categories of +business: sales, support and training. And you would like +to present the profit of these categories over some years. Making +a graphical statistics is certainly a good idea. &kchart; can +help you here. +</para> +</sect2> +<sect2> +<title>Getting started</title> +<para> +Run &kchart; and select the <guilabel>Blank Worksheeet</guilabel>. +</para> +<screenshot> +<screeninfo>Starting with a blank chart</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-example1-1.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +Hit the button <guibutton>Use This Template</guibutton> to get started. &kchart; will present to you +a completely empty document. That's good, we just need to enter +some data and do some basic configuration to get a nice chart. +</para> +<screenshot> +<screeninfo>A blank chart</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-example1-2.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +</sect2> +<sect2> +<title>Getting the numbers in</title> +<para> +The first step, and probably the most important, is to get the +actual data into the chart. This can easily be done with the +&dataeditor;. As usual you can get to the data editor by +clicking on the <inlinemediaobject><imageobject> +<imagedata fileref="cr22-action-data.png" format="PNG"/> +</imageobject></inlinemediaobject> icon in the toolbar. +</para> +<para> +You will notice that no data is present. Also note that +the number of data rows and columns is set to a minimum, +which is 1. +</para> +<para> +Now, just enter the data you see in the next screenshot. +Note that you can increase the number of rows and columns +with the spin boxes in the lower left corner. The names +of the rows and columns themselves can be changed by +clicking on them. +</para> +<screenshot> +<screeninfo>The Data</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-example1-3.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +Simply click the <guibutton>OK</guibutton> button when you are done. This will present +to you a simple bar chart. +</para> +<screenshot> +<screeninfo>Simple chart without fine tuning</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-example1-4.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +Read on to do some fine tuning! +</para> +</sect2> +<sect2> +<title>Fine Tuning</title> +<para> +We will now do some fine tuning and put a title on the chart. +And, we will add a nice 3D effect to the bars as well. +</para> +<para> +Start up the configuration dialog by clicking on the +<inlinemediaobject><imageobject> +<imagedata fileref="cr22-action-options.png" format="PNG"/> +</imageobject></inlinemediaobject> icon in the toolbar. +</para> +<sect3> +<title>Title</title> +<screenshot> +<screeninfo>Options - Title</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-example1-5.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +Let's start with labeling. Go to the <guilabel>Header/Footer</guilabel> +page and enter the text like in the above screenshot. +</para> +</sect3> +<sect3> +<title>X-Axis Font Settings</title> +<para> +The next step is to make the font of the x axis a bit bigger. You +can do this on the <guilabel>Font</guilabel> page. +</para> +<screenshot> +<screeninfo>Options - Fonts</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-example1-6.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +Choose the <guilabel>X-Axis</guilabel> item and click on the +<guibutton>Font...</guibutton> button. Choose a somewhat +larger font like in the following screenshot. +</para> +<screenshot> +<screeninfo>Options - X-Axis Font</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-example1-7.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +Note that the font size is set to <guilabel>Relative</guilabel>. +This means that the font is automatically scaled according +to the overall chart size. This is quite usefull and most +of the time what the average user expects. +</para> +</sect3> +<sect3> +<title>Giving it a 3D Look</title> +<para> +Some types of charts like <guilabel>Bar</guilabel> and <guilabel>Pie</guilabel> +have an additional configuration page. +</para> +<screenshot> +<screeninfo>Options - 3D Parameters</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-example1-8.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +To get a 3D effect for this type of chart, go to the <guilabel>Bar</guilabel> +page and simply activate <guilabel>3D bar</guilabel>. +</para> +<para> +That's all what we need for a reasonable looking chart. Note +that much of this configuration could also have been achieved +with the wizard. It's basically a matter of taste what you +use. Experienced users will likely use the full option dialog +we used in this example. +</para> +<para> +Simply accept the settings by clicking on the <guibutton>OK</guibutton> +button. +</para> +</sect3> +</sect2> +<sect2> +<title>Final output</title> +<para> +The final chart will look like the next screenshot. +</para> +<screenshot> +<screeninfo>Final Chart</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-example1-9.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> +You might want to enlarge the application window to see the chart +in full size. Note how the fonts get larger in relation to the +chart size. +</para> +<para> +There are certainly aspects to improve further for your personal +taste. For example try to make the title font even bigger. +Just experiment further, this way you will get to know a lot +of the &kchart; application. +</para> +<para> +Finally you can save the chart from the <guimenu>File</guimenu> +menu and quit &kchart; with +<menuchoice><guimenu>File</guimenu> +<guimenuitem>Quit</guimenuitem> +</menuchoice> +</para> +</sect2> +<sect2> +<title>Exporting to Graphic Formats: SVG, PNG, JPG, &krita;, &karbon14;, Gimp and +more</title> +<para> +For further processing, the chart can also be exported as a graphics file. +Many formats are available. Using either PNG, SVG, JPG or &krita; will likely +produce the best result. +</para> +<para> +To export your current chart simply choose +<menuchoice><guimenu>File</guimenu> +<guimenuitem>Export...</guimenuitem></menuchoice> +from the menu and select the desired file format from the filter box. +</para> +</sect2> +</sect1> +</chapter> + + +<!-- HANDBOOK REWRITTEN UP TO HERE BY RAPHAEL LANGERHORST --> + +<!-- HANDBOOK WRITTEN FROM HERE BY JONATHAN DREWS --> +<!-- HANDBOOK UPDATED FROM HERE BY RAPHAEL LANGERHORST --> + + +<chapter id="kchartinkspread"> + +<title>Using &kchart; in &kspread;</title> + +<para> +In addition to standalone operation, &kchart; is designed to be used with +&kspread;. This chapter describes how to create and manipulate charts +from within &kspread;. +</para> +<para> +Remember that &kchart; embedding into &kspread; is a very commonly +used and well implemented feature, the examples in this chapter should +just get you started. +</para> +<para> +As soon as you have created a chart in &kspread; you can take full +advantage of all the &kchart; features by double clicking on the +chart area. This is necessary to get to all advanced configuration +options. Keep in mind that the data editor is not available when +&kchart; is embedded into &kspread;. This is obvious since &kspread; +serves, from &kchart;'s point of view, as a powerful data +provider. +</para> +<para> +Swapping x and y is of particular interest when working with &kspread;. +You can swap interpretation of x and y axis in &kchart; in the +Data Format settings which can be accessed through the Edit menu +or the context menu when right clicking on the chart itself. As noted +above you need to be inside the &kchart; component in order to access +these settings, which can be done by double clicking the embedded +chart in your spreadsheet. +</para> + +<sect1 id="main_window"> +<title>Plotting with &kchart;</title> +<para>To plot with &kchart;, when it is embedded in &kspread;, do the following:</para> + +<screenshot> +<screeninfo>Picture of toolbars dialog</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-kspread.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<itemizedlist> +<listitem><para> +Highlight the second row of numbers. +</para></listitem> + +<listitem><para> +Next click on the <guilabel>Chart</guilabel> button +<inlinemediaobject><imageobject><imagedata fileref="frame_chart.png" +format="PNG"/></imageobject></inlinemediaobject> to create the chart. +</para></listitem> + +<listitem><para>Select the options you want from the chart wizard. The +chart Wizard will pop up after you insert the chart.</para></listitem> + +</itemizedlist> + +<para> +The whole data could also be created using two columns instead of +two rows. If using columns you might want to switch x and y axis +in the &kchart; configuration as described above. +</para> + +<para>To make a bar chart for individual items, put the numbers in a +column, as shown below.</para> + +<screenshot> +<screeninfo>Picture of toolbars dialog</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="kchart-kspread-bar.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<para>The orientation of the numbers determines how the plot will be +made. </para> + +<itemizedlist> +<listitem><para> +A row of numbers defines the ordinates for a single plot. +</para></listitem> + +<listitem><para> +A column of numbers defines the heights for each bar, in a bar +graph. It also determines the size of the slices in a pie chart. +</para></listitem> +</itemizedlist> + +</sect1> +</chapter> + +<chapter id="commands"> +<title>Command Reference</title> + +<sect1 id="kchart-menus"> +<title>The Main &kchart; Window</title> + +<sect2> +<title>The <guimenu>File</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>New</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new document</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Open...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens a document</action></para></listitem> + +</varlistentry> +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guisubmenu>Open Recent</guisubmenu> +</menuchoice></term> +<listitem><para><action>Shows a list of recently opened documents</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Save</guimenuitem> +</menuchoice></term> +<listitem><para><action>Saves the chart to the current file.</action> If the chart +has not yet been saved the file dialog is shown.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Save As...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Saves the document, the file dialog is used.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Reload</guimenuitem> +</menuchoice></term> +<listitem><para><action>Reloads the document.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Import...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens a document with any supported format. +The original document will not be modified.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Export...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Saves a document to any supported format.</action> +The original document will not be modified. You can also choose +among many image formats like PNG, SVG, &krita;, Gimp or JPG. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Mail...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Sends the chart as an email attachment.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Import Data...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Imports values from a CSV (Comma Separated Values) file, much like +the CSV import in &kspread;. Note that you can specify various +options and different separators (not just commas).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Create Template From Document...</guimenuitem> +</menuchoice></term> +<listitem><para>Create a &kchart; template +based on this document. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Print...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Prints the document</action></para> +<important><para>Make sure the proper print system is selected in the +<guilabel>Print system currently used:</guilabel> section. This option can +be seen after clicking on the <guibutton>Options >></guibutton> button.</para></important></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Print Preview...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Displays a preview of what the printed +document will look like.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Document Information</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens a dialog box</action> where you can enter +information about your chart.</para> +<note><para>This document information will be +displayed in the &konqueror; file browser as a tooltip. The tooltips +are pop-ups that show the contents of a file when you move your mouse over +the file icon.</para></note></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>W</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Close</guimenuitem> +</menuchoice></term> +<listitem><para><action>Closes the current chart.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Quit</guimenuitem> +</menuchoice></term> +<listitem><para><action>Quits</action> &kchart;</para></listitem> +</varlistentry> + +</variablelist> +</sect2> + +<sect2> +<title>The <guimenu>Edit</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Edit Data...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the &dataeditor;.</action></para></listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2> +<title>The <guimenu>Format</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Chart...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens</action> the <link linkend="configurationinterface">&kchart; Configuration</link> +dialog.</para> +</listitem> +</varlistentry> +</variablelist> + +<sect3> +<title>The Configure Tabs</title> +<variablelist> +<varlistentry> +<term><menuchoice> +<guimenu>Data Format...</guimenu> +</menuchoice></term> +<listitem><para><action>Swap row and colums (x/y flipping).</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Chart Sub-type...</guimenu> +</menuchoice></term> +<listitem><para><action>Changes the arrangement of bar graphs.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Header & Footer...</guimenu> +</menuchoice></term> +<listitem><para><action>Enter the titles you want for your graph here.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Colors...</guimenu> +</menuchoice></term> +<listitem><para><action>Select graph colors</action>, line colors, grid colors and +axis title and axis label colors here.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Font...</guimenu> +</menuchoice></term> +<listitem><para><action>Select font style and size</action> here. The +series colors can be selected here also. The series refer to the +individual graphs. Each graphed set of data is a series.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Background...</guimenu> +</menuchoice></term> +<listitem><para><action>Select a color or a wallpaper</action> as background for your +graph.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Legend...</guimenu> +</menuchoice></term> +<listitem><para><action>Change title, font and location of the legend</action> box. The +color of the legend box can be changed also.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Page Layout...</guimenu> +</menuchoice></term> +<listitem><para><action>Set the <guilabel>Margins</guilabel> of the page</action> here.</para> +</listitem> +</varlistentry> + +</variablelist> +</sect3> +</sect2> + +<sect2> +<title>The <guimenu>Settings</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +</menuchoice></term> +<listitem><para><action>Show/Hide various toolbars</action> (<guimenuitem>File</guimenuitem>, +<guimenuitem>Actions</guimenuitem> and <guimenuitem>Types</guimenuitem>).</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Shortcuts...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Configure key shortcuts for &kchart;.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Toolbars...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Configure the &kchart; toolbars.</action></para></listitem> +</varlistentry> + +</variablelist> +</para> + +</sect2> + +<sect2> +<title>The <guimenu>Help</guimenu> Menu</title> + +&help.menu.documentation; + +</sect2> + +<sect2> +<title>Configuring Shortcuts</title> + +<para>The <menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure Shortcuts...</guimenuitem></menuchoice> +allows you to specify shortcuts.</para> + + +<para>Below is an example of how to configure a shortcut for opening +the chart wizard.</para> + +<screenshot> +<screeninfo>Picture of shortcut dialog</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="shortcut.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<itemizedlist> +<listitem><para> +Click on <guibutton>Custom</guibutton>. +</para></listitem> + +<listitem><para> +Next click on <guibutton>Primary shortcut:</guibutton>. +</para></listitem> + +<listitem><para> +Do <userinput><keycombo +action="seq">&Alt;&Ctrl;<keycap>W</keycap></keycombo></userinput> +and the dialog should disappear. The shortcut is now entered. +</para></listitem> +</itemizedlist> + +<para>Pressing the keys <userinput><keycombo +action="seq">&Alt;&Ctrl;<keycap>W</keycap></keycombo></userinput> +now opens the wizard.</para> +</sect2> + + +<sect2> +<title>Configuring Toolbars</title> +<para>The <menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure Toolbars...</guimenuitem></menuchoice> +is used to add additional buttons to the toolbars.</para> + +<screenshot> +<screeninfo>Picture of toolbars dialog</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="toolbars.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<itemizedlist> + +<listitem> +<para>To add a button to the <guilabel>File</guilabel> toolbar, +</para> + +<screenshot> +<screeninfo>Picture of toolbars dialog</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="file-toolbar.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<para> make sure <guilabel>File + <&koffice;></guilabel> is displayed in the top combo box. +</para></listitem> + +<listitem><para> +Click on one of the items in the left hand pane. This item will now be +highlighted showing that it has been selected. +</para></listitem> + +<listitem><para> +Next click on the <guiicon>Right arrow</guiicon> button to place it in +the right pane. +</para></listitem> + +<listitem><para> +Click on <userinput><guilabel>Apply</guilabel></userinput> and then +click on <userinput><guilabel>OK</guilabel></userinput> +</para></listitem> +</itemizedlist> + + +<para>The new Item should be in the toolbar. <inlinemediaobject><imageobject> + <imagedata fileref="file-toolbar2.png" format="PNG"/> + </imageobject></inlinemediaobject></para> + + +</sect2> + +</sect1> +</chapter> + +<chapter id="credits"> +<title>Credits and License</title> + +<para> +&kchart; +</para> +<para> +Program copyright 1998-2005 the &kchart; Team +</para> +<para> +Original Authors: +</para> +<itemizedlist> +<listitem><para>&Matthias.Kalle.Dalheimer; &Matthias.Kalle.Dalheimer.mail; +</para></listitem> +<listitem><para>Torben Weis <email>weis@kde.org</email></para> +</listitem> +</itemizedlist> +<para> +Contributors: +</para> +<itemizedlist> +<listitem><para>Laurent Montel <email>lmontel@mandrakesoft.com</email></para> +</listitem> +<listitem><para>Karl-Heinz Zimmer <email>khz@kde.org</email></para> +</listitem> +<listitem><para>Inge Wallin <email>inge@lysator.liu.se</email></para> +</listitem> +</itemizedlist> + +<para> +Documentation copyright 2002 &Jonathan.Drews; &Jonathan.Drews.mail; +</para> +<para> +Documentation copyright 2005 Raphael Langerhorst +<email>raphael.langerhorst@kdemail.net</email> +</para> + +<!-- TRANS:CREDIT_FOR_TRANSLATORS --> +&underFDL; +&underGPL; + +</chapter> + +&documentation.index; +</book> + +<!-- +Local Variables: +mode: sgml +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: + +--> + diff --git a/doc/kchart/kchart-config1.png b/doc/kchart/kchart-config1.png Binary files differnew file mode 100644 index 00000000..5aeb06ad --- /dev/null +++ b/doc/kchart/kchart-config1.png diff --git a/doc/kchart/kchart-config2.png b/doc/kchart/kchart-config2.png Binary files differnew file mode 100644 index 00000000..9fec6cfd --- /dev/null +++ b/doc/kchart/kchart-config2.png diff --git a/doc/kchart/kchart-config3.png b/doc/kchart/kchart-config3.png Binary files differnew file mode 100644 index 00000000..cd52c606 --- /dev/null +++ b/doc/kchart/kchart-config3.png diff --git a/doc/kchart/kchart-config4.png b/doc/kchart/kchart-config4.png Binary files differnew file mode 100644 index 00000000..b3b12a4d --- /dev/null +++ b/doc/kchart/kchart-config4.png diff --git a/doc/kchart/kchart-config5.png b/doc/kchart/kchart-config5.png Binary files differnew file mode 100644 index 00000000..1fe1cf1f --- /dev/null +++ b/doc/kchart/kchart-config5.png diff --git a/doc/kchart/kchart-config6.png b/doc/kchart/kchart-config6.png Binary files differnew file mode 100644 index 00000000..206f1a44 --- /dev/null +++ b/doc/kchart/kchart-config6.png diff --git a/doc/kchart/kchart-config7.png b/doc/kchart/kchart-config7.png Binary files differnew file mode 100644 index 00000000..9c972945 --- /dev/null +++ b/doc/kchart/kchart-config7.png diff --git a/doc/kchart/kchart-config8.png b/doc/kchart/kchart-config8.png Binary files differnew file mode 100644 index 00000000..51d43a8a --- /dev/null +++ b/doc/kchart/kchart-config8.png diff --git a/doc/kchart/kchart-dataeditor.png b/doc/kchart/kchart-dataeditor.png Binary files differnew file mode 100644 index 00000000..ac06d9d3 --- /dev/null +++ b/doc/kchart/kchart-dataeditor.png diff --git a/doc/kchart/kchart-default.png b/doc/kchart/kchart-default.png Binary files differnew file mode 100644 index 00000000..b8c751b8 --- /dev/null +++ b/doc/kchart/kchart-default.png diff --git a/doc/kchart/kchart-example1-1.png b/doc/kchart/kchart-example1-1.png Binary files differnew file mode 100644 index 00000000..9efa5708 --- /dev/null +++ b/doc/kchart/kchart-example1-1.png diff --git a/doc/kchart/kchart-example1-2.png b/doc/kchart/kchart-example1-2.png Binary files differnew file mode 100644 index 00000000..2a5373c3 --- /dev/null +++ b/doc/kchart/kchart-example1-2.png diff --git a/doc/kchart/kchart-example1-3.png b/doc/kchart/kchart-example1-3.png Binary files differnew file mode 100644 index 00000000..5cbaab82 --- /dev/null +++ b/doc/kchart/kchart-example1-3.png diff --git a/doc/kchart/kchart-example1-4.png b/doc/kchart/kchart-example1-4.png Binary files differnew file mode 100644 index 00000000..6e144ee0 --- /dev/null +++ b/doc/kchart/kchart-example1-4.png diff --git a/doc/kchart/kchart-example1-5.png b/doc/kchart/kchart-example1-5.png Binary files differnew file mode 100644 index 00000000..c15585b4 --- /dev/null +++ b/doc/kchart/kchart-example1-5.png diff --git a/doc/kchart/kchart-example1-6.png b/doc/kchart/kchart-example1-6.png Binary files differnew file mode 100644 index 00000000..da621f0a --- /dev/null +++ b/doc/kchart/kchart-example1-6.png diff --git a/doc/kchart/kchart-example1-7.png b/doc/kchart/kchart-example1-7.png Binary files differnew file mode 100644 index 00000000..3cbbba7f --- /dev/null +++ b/doc/kchart/kchart-example1-7.png diff --git a/doc/kchart/kchart-example1-8.png b/doc/kchart/kchart-example1-8.png Binary files differnew file mode 100644 index 00000000..c2f88cfe --- /dev/null +++ b/doc/kchart/kchart-example1-8.png diff --git a/doc/kchart/kchart-example1-9.png b/doc/kchart/kchart-example1-9.png Binary files differnew file mode 100644 index 00000000..80c6493b --- /dev/null +++ b/doc/kchart/kchart-example1-9.png diff --git a/doc/kchart/kchart-kspread-bar.png b/doc/kchart/kchart-kspread-bar.png Binary files differnew file mode 100644 index 00000000..e363f2d6 --- /dev/null +++ b/doc/kchart/kchart-kspread-bar.png diff --git a/doc/kchart/kchart-kspread.png b/doc/kchart/kchart-kspread.png Binary files differnew file mode 100644 index 00000000..fec93cc6 --- /dev/null +++ b/doc/kchart/kchart-kspread.png diff --git a/doc/kchart/kchart-startupdialog.png b/doc/kchart/kchart-startupdialog.png Binary files differnew file mode 100644 index 00000000..0e64ca9e --- /dev/null +++ b/doc/kchart/kchart-startupdialog.png diff --git a/doc/kchart/kchart-wizard0.png b/doc/kchart/kchart-wizard0.png Binary files differnew file mode 100644 index 00000000..e53f73c7 --- /dev/null +++ b/doc/kchart/kchart-wizard0.png diff --git a/doc/kchart/kchart-wizard1.png b/doc/kchart/kchart-wizard1.png Binary files differnew file mode 100644 index 00000000..9b07001a --- /dev/null +++ b/doc/kchart/kchart-wizard1.png diff --git a/doc/kchart/kchart-wizard2.png b/doc/kchart/kchart-wizard2.png Binary files differnew file mode 100644 index 00000000..4c5c711b --- /dev/null +++ b/doc/kchart/kchart-wizard2.png diff --git a/doc/kchart/kchart-wizard3.png b/doc/kchart/kchart-wizard3.png Binary files differnew file mode 100644 index 00000000..73c85a49 --- /dev/null +++ b/doc/kchart/kchart-wizard3.png diff --git a/doc/kchart/kchart-wizard4.png b/doc/kchart/kchart-wizard4.png Binary files differnew file mode 100644 index 00000000..6069b890 --- /dev/null +++ b/doc/kchart/kchart-wizard4.png diff --git a/doc/kchart/shortcut.png b/doc/kchart/shortcut.png Binary files differnew file mode 100644 index 00000000..faa52243 --- /dev/null +++ b/doc/kchart/shortcut.png diff --git a/doc/kchart/toolbars.png b/doc/kchart/toolbars.png Binary files differnew file mode 100644 index 00000000..6c94d35c --- /dev/null +++ b/doc/kchart/toolbars.png diff --git a/doc/kexi/Makefile.am b/doc/kexi/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/kexi/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/kexi/basics.docbook b/doc/kexi/basics.docbook new file mode 100644 index 00000000..7bb34b9f --- /dev/null +++ b/doc/kexi/basics.docbook @@ -0,0 +1,504 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" > + + --> + +<chapter id="basics"> + <title> + &kexi; Basics + </title> + + <sect1 id="doc-vs-project"> + <title> + &kexi; Databases + </title> + <para> + Many applications such as OpenOffice.org or Microsoft Excel create + files which are called <firstterm>documents</firstterm>. &kexi; + creates files too, but we refer to them as <firstterm>&kexi; + database files</firstterm>, or simple <firstterm>database + files</firstterm> here. &kexi; database files usually have the + extension <filename>.kexi</filename>. + </para> + +<!-- TODO: Picture of Kexi database icon? --> + + <para> + In addition to storing your databases in database files, &kexi; + can also use databases on <firstterm>database + servers</firstterm>, which is why we refer to them as + <emphasis>database files</emphasis>, and not simply as + <emphasis>databases</emphasis>. + </para> + + <para> + The term <firstterm>&kexi; project</firstterm>, or simply + <firstterm>project</firstterm> is also used to refer to a &kexi; + database, regardless of whether it is stored in a file or on a + database server. + </para> + </sect1> + + <sect1 id="new-database"> + <title> + Creating a New Database File + </title> + + <procedure> + <step> + <para> + Run &kexi;, or if it is already running, use + <menuchoice> + <shortcut> + <keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> + </shortcut> + <guimenu>File</guimenu><guimenuitem>New</guimenuitem> + </menuchoice>. + </para> + </step> + <step> + <para> + Click the <guibutton>OK</guibutton> to confirm the + creation of the project. + </para> + </step> + <step> + <para> + Enter a name for your project, and click <guibutton>Next</guibutton>. + </para> + </step> + <step> + <para> + Use the file browser to choose a folder where you would + like to save your database file. You may change the file + name in the <guilabel>Location:</guilabel> box if you dislike + the one that is suggested. + </para> + </step> + <step> + <para> + Click <guibutton>Create</guibutton>. + </para> + </step> + </procedure> + </sect1> + + <sect1 id="main-window"> + <title> + The &kexi; Main Window + </title> + <para> + The <guilabel>Project Navigator</guilabel> and + <guilabel>Properties Editor</guilabel> are shown in panes on + each side of the child window. These can be resized or hidden + as required. A pane can be hidden by clicking the small cross + at the top of the pane (just below the toolbar). + </para> + <para> + Database objects (tables, queries, etc.) listed in the <guilabel>Project + Navigator</guilabel> can opened by clicking (or + double-clicking, depending upon your global &kde; settings) on their names. + </para> + +<sect2 id="main-application-elements"> +<title> +Main application elements +</title> +<!-- +<br><img src="img/04_06_00_main_window.png"> +<br>Kexi's main window<br><br> +--> +<itemizedlist> +<title> +Main elements of &kexi; application's window are: +</title> +<listitem> +<para><emphasis>Menubar</emphasis></para> +<para> +contains available commands for the application. +You will find detailed description of any of the commands in the appendix. +<!-- @todo: point to the appendix (link) --> +</para> +</listitem> +<listitem> +<para><emphasis>Toolbar</emphasis></para> +<para> +contains most frequently used commands. +</para> +</listitem> + +<listitem> +<!-- @todo: link to the various chapters from the listitems --> +<para><emphasis><guilabel>Project Navigator</guilabel>'s pane</emphasis></para> +<para> +contains a list of any object (tables, queries, forms, ...) created +within the currently opened database project. The navigator also contains +small toolbar with most usable commands related to the database objects. +</para> +</listitem> + +<listitem> +<para><emphasis><guilabel>Opened database objects</guilabel> area</emphasis></para> +<para> +a central area of the application taking most of the screen space. +For IDEAl user interface mode it contains switchable tabs with +windows that are always maximized. For Childframe user interface +mode it contains floating windows. +</para> +</listitem> + +<listitem> +<para><emphasis><guilabel>Properties</guilabel> pane</emphasis></para> +<para> +contains a list of properties of currently activated database object. +For certain objects (⪚ form's widgets) it can have several tabs. +</para> +</listitem> + +<listitem> +<para><emphasis>Taskbar</emphasis></para> +<para> +contains a list of currently opened windows with database objects. +For IDEAl user interface mode, it is available as a number of tabs. +For Childframe user interface mode, it is available as a number of +buttons, behaving just like your operating system's taskbar. +</para> +</listitem> + +</itemizedlist> + +<sect3 id="project-navigator-pane"> +<title><guilabel>Project Navigator</guilabel> pane</title> +<para> +The <guilabel>Project Navigator</guilabel> pane is one of the most frequently used elements +of the &kexi; main window. The pane contains a list of all objects +created within the currently opened &kexi; database project. The objects +are split into groups: tables, queries, forms. +</para> +<para id="project-navigator-pane-toolbar"> +The <guilabel>Project Navigator</guilabel> pane also contains a <emphasis>small toolbar for most +frequently used commands</emphasis> (from left to right): <guilabel>Open +selected object</guilabel>, <guilabel>Design selected object</guilabel>, +<guilabel>Create a new object</guilabel>, and <guilabel>Delete selected +object</guilabel>. +<!-- +<img src="img/04_06_01_nav_mini_toolbar.png"> +<br>A toolbar in the Project Navigator pane<br><br> +--> +</para> +<para> +For each object on the list a context menu is available using the &RMB;. +For example, this is context menu for the <emphasis>persons</emphasis> table. +<!-- + <br><img src="img/04_06_01_context_menu.png"> + <br>Project Navigator pane's context menu<br><br> +--> + +<!-- TODO Commands of this menu is documented in <appendix> + +See also a list of available shortcuts in <a href= +"ab_00_00_shortcuts.html#nav_panel">Appendix B.2. Project Navigator +pane <! - - TODO (js) APPENDIX number - - ></a> . + +--> +</para> + +<para> +Double clicking with the &LMB; on the object's name on the list allows to +open the object in Data View. If the object's window was alread opened, +the action just activates the window without switching it's view mode. +</para> +<para> +Note that your operating system or window manager can be set up to handle +single clicks instead of double clicks. In this case it is enough to single +click on the object name to open its window. +<!-- TODO (js) but then how to select an object without opening it? --> +</para> + +</sect3> + +<sect3 id="database-object-windows"> +<title>Database object windows</title> + +<orderedlist> +<title>Opening an object's window</title> +<listitem> +<para> +Select the object in the <link linkend="project-navigator-pane">Project Navigator +pane</link>. +</para> +</listitem> +<listitem> +<para> +<!-- <img src="icons/edit.png" class="icon"> --> +Click the <guibutton>Open</guibutton> button on the <link +linkend="project-navigator-pane-toolbar">Project Navigator pane's toolbar</link>. +</para> +</listitem> +</orderedlist> + +<itemizedlist> +<title>Commands related to object windows</title> +<listitem><para><emphasis>Closing an object window</emphasis></para> +<para> +When the IDEAl user interface mode (the default) is used, each window has +its own tab. Place the mouse pointer on the icon on the tab. A +<!-- <img src="fileclose.png" class="icon"> --> <guibutton>Close</guibutton> button will become +visible. Click it to close the tab. +</para> +<para> +In the Childframe on the right hand of each opened window there are +buttons you can use to control the window. Click the first one on the +right hand to close the window. +</para> +<para> +Alternatively, regardless of the user interface mode you are using, +you can select <menuchoice><guimenu>Window</guimenu> +<guimenuitem>Close</guimenuitem></menuchoice> from the Menubar. +</para> +</listitem> +<listitem><para><emphasis>Window buttons for Childframe user interface +mode</emphasis></para> +<!-- +<para> +<br><img src="img/04_06_02_window_buttons.png"> +<br>Window's buttons<br><br> +</para> +--> +<para> +The other buttons (from right to left) can be used to: maximize, minimize +and undock the window. +</para> +<para> +There's a small icon on the left side of the title bar which can be clicked +to show a context menu with commands related to the window. +</para> +<!-- +<para>See also Docking and undocking of the windows.</para> +--> +</listitem> +</itemizedlist> + +</sect3> + +<sect3 id="property-editor-pane"> +<title><guilabel>Property Editor</guilabel> pane</title> +<para> +In the <guilabel>Property Editor</guilabel> pane you can change properties of the object +displayed in the active window. Depending on the context, the pane is +consisted of one or more tabs. The first, always visible tab, Properties, +contains the list of available properties. +</para> +<!-- +<para> +<img src="img/04_06_03_prop_panel.png"> +<br>Property Editor<br><br> +</para> +--> +<itemizedlist> +<title>Rules for using the Property Editor:</title> +<listitem> +<para>Each row contains a single property.</para> +</listitem> +<listitem> +<para>You can use the mouse or the keyboard to change values of particular +properties.</para> +</listitem> +<listitem> +<itemizedlist> +<title>Most frequently used types of property values are:</title> +<listitem> +<para><emphasis>a number;</emphasis> you can enter the value directly +or increase or decrease its value by clicking with the &LMB; on the arrows. +<!-- <img src="img/04_06_03_prop_arrows.png" class="icon"> --> +</para> +</listitem> +<listitem><para>text</para></listitem> +<listitem><para>drop down list of values</para></listitem> +<listitem><para><emphasis>Yes/No;</emphasis> +you can toggle the value by clicking on the button; +<guibutton>Yes</guibutton> (<emphasis>true</emphasis>) means that the button is +toggled on, <guibutton>>No</guibutton> (<emphasis>false</emphasis>) means that +the button is toggled off. +<!-- see the above figure --> +</para> +</listitem> +</itemizedlist> +</listitem> +<listitem><para> +There is no need to confirm a changed value: changes are visible immediately +after moving to a different row of the Property Editor's list or by pressing +the <keycombo><keycap>Enter</keycap></keycombo> key. +</para></listitem> +<listitem> +<para> +Names of the recently changed properties that not yet were stored in the +database are marked with bold text. +</para> +</listitem> +<listitem> +<para> +After changing the value of a property, a special <guibutton>Undo changes</guibutton> +button appears on the right side of the Property Editor's list. +<!-- <img src="img/04_06_03_prop_undo.png" class="icon"> --> +By clicking it you can revert the value of the property to the original value +that was loaded from the database upon opening the database object. The button +is only visible when the property is actually highlighted. +</para> +</listitem> +</itemizedlist> + +<itemizedlist> +<title>The Property Editor pane is empty if:</title> +<listitem><para>no single database object's window is opened, or</para> +</listitem> +<listitem><para> +the active database object's window does not offer properties; it is usually +the case when it is opened in Data View instead of Design View +</para> +</listitem> +</itemizedlist> + +<!-- +<para> +See also the list of keyboard shortcuts available for the Property Editor +pane in appendix Property Editor pane. +</para> +--> + +</sect3> + +</sect2> + + </sect1> + + <sect1 id="project-opening"> + <title> + Opening an existing &kexi; database file + </title> + <itemizedlist> + <title> + To open an existing &kexi; database file: + </title> + <listitem><para> + select it in the <guilabel>Open Existing Project</guilabel> + dialog; or + </para></listitem> + <listitem><para> + open it by clicking on the .kexi file icon. + </para></listitem> + </itemizedlist> + + <sect2 id="window-open-existing"> + <title> + Opening a database file in the <guilabel>Open Existing + Project</guilabel> dialog + </title> + <itemizedlist> + <listitem><para> + Run &kexi;. <!--(see <a href="04_02_00_running_kexi.html">Running Kexi</a>).--> + You should see <guilabel>Choose Project</guilabel> startup dialog. + Choose <guilabel>Open Existing Project</guilabel> tab. + You will see the following dialog: + <!-- image: <img src="img/04_04_01_startup_open_existing.png"> --> + </para></listitem> + <listitem><para> + From <guilabel>Current location</guilabel> drop down box, pick a folder + containing a file you are looking for. + </para></listitem> + <listitem><para> + You can either pick a file or enter its name in the + <guilabel>Location:</guilabel> box. + </para></listitem> + <listitem><para> + Click <guibutton>OK</guibutton>. + </para></listitem> + </itemizedlist> + + <sect3 id="open-existing-notes"> + <title> + Notes + </title> + <itemizedlist> + <listitem><para> + By default the <guilabel>Filter:</guilabel> drop down list has + <guilabel>Kexi Database File-Based Project</guilabel> selected. + In case the file you are looking for has an other extension, + you can change the selection of the <guilabel>Filter:</guilabel> + drop down list to <guilabel>All Files</guilabel> to display + all available files (regardless of an extension). + </para></listitem> + <listitem><para> + If you have selected a file of an external type, like a MS Access .mdb + file, &kexi; will provide you with the option to import the file. +<!-- todo an advice to read "importing" chapter will be placed here --> + </para></listitem> + <listitem><para> + If you have selected a <emphasis>connection data</emphasis> file + (with .kexic extension) or a <emphasis>shortcut to a project on + database server</emphasis> file (with .kexis extension), &kexi; + will display appropriate dialogs. + </para></listitem> + </itemizedlist> + </sect3> + </sect2> + + <sect2 id="open-icon"> + <title> + Opening an existing &kexi; database file by clicking on .kexi file's icon + </title> + <para> + Click file's icon using your file manager or desktop. + &kexi; will open this database project automatically. + </para> +<!-- <img src="icons/mime-kexiproject_sqlite.png" class="icon"/> --> + <sect3 id="open-icon-notes"> + <title> + Notes + </title> + <para> + <emphasis>Note about database files accessed remotely.</emphasis> + You may want to open a database file that is located on a remote + source (⪚ a web or FTP server or a MS Windows network share). + K Desktop Environment allows you to open files from remote sources + directly in applications and to save changes back to the source, but + this is not the case with database files. By clicking on a database + file located on a remote source, a copy of the file will be + downloaded to a temporary directory on your computer and all your + changes will be made to this local file. The remote original of + the file will remain unchanged, so it's recommended to copy + (download) the file to your computer first, then open the file and + copy it back to the remote source if you want to make it up to date. + </para> + </sect3> + </sect2> + </sect1> + + <sect1 id="using-help"> + <title> + Using built-in help + </title> + <itemizedlist> + <title> + The following ways to get built-in help in &kexi; are available: + </title> + <listitem> + <para><emphasis>The Handbook in form of electronic document.</emphasis></para> + <para> + The Handbook is available by pressing <keycombo><keycap>F1</keycap></keycombo> + key or selecting <menuchoice><guimenu>Help</guimenu><guimenuitem>&kexi; + Handbook</guimenuitem></menuchoice> from the menubar. + </para> + </listitem> + <listitem> + <para><emphasis>What's This? hints.</emphasis></para> + <para> + Select <menuchoice><guimenu>Help</guimenu><guimenuitem>What's + This?</guimenuitem></menuchoice>from the menu bar and click on + an area of the application to get hints about it. + </para> + </listitem> + </itemizedlist> + </sect1> + +</chapter> diff --git a/doc/kexi/building.docbook b/doc/kexi/building.docbook new file mode 100644 index 00000000..9b900c77 --- /dev/null +++ b/doc/kexi/building.docbook @@ -0,0 +1,248 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" > +--> + +<chapter id="building-databases"> +<title>Building Simple Databases</title> +<sect1 id="building-intro"> +<title>Introduction</title> +<para> +To learn the basics of &kexi;, you could build a simple database +utilizing most elementary &kexi;'s features. To make things simpler, +advanced database design topics will not be covered here. +</para> +<para> +Start by creating a new empty <emphasis>Phone Book</emphasis>. +<!-- +See chapter <a href="04_03_00_creating_database.html">4.3. +Creating a new database project</a> for information how to do this. +--> +</para> + +<para>Having a new empty database project, perform the following steps:</para> +<procedure> +<step><para>Design database tables. Read <xref linkend="designing-tables"/>.</para></step> +<step><para>Enter data into tables. Read <xref linkend="entering-data-into-tables"/>.</para></step> +<step><para>Design database queries. Read <xref linkend="designing-queries"/>.</para></step> +<step><para>Design forms. Read <xref linkend="designing-forms"/>.</para></step> +<step><para>Use forms to enter data. Read <xref linkend="entering-data-using-forms"/>.</para></step> +</procedure> +</sect1> + +<sect1 id="designing-tables"> +<title>Designing Database Tables</title> +<para> +First, there will be two tables added to your database: +<emphasis>persons</emphasis> and <emphasis>phone_numbers</emphasis>. +These are exactly the same tables as described in chapter <link +linkend="database-and-spreadsheet">Database and spreadsheet</link>. +A layout for <emphasis>Persons</emphasis> can be found in section +<link linkend="data-integrity-and-validity">Data integrity and validity</link> +in that chapter. +</para> + +<procedure> +<step> +<para> +Select <menuchoice><guimenu>Insert</guimenu><guimenuitem>Table</guimenuitem> +</menuchoice> from the Menubar. You can also use the button <guilabel>Create +object: table</guilabel> on the <link linkend="project-navigator-pane">Project +Navigator's toolbar</link>. +</para> +</step> +<step> +<para> +The Table Designer's window will appear. Looking at the top of designer's window +you will notice that &kexi; proposed you a generic name like +<emphasis>template</emphasis> for the new table. The table design is not saved +yet so you will be able to assign more proper name later. Moreover, because of +the same reason, the table name is not yet visible in the +<link linkend="project-navigator-pane">Project Navigator</link>. +</para> +</step> +</procedure> + + +<sect2 id="design-window"> +<title>The Table Designer window</title> +<itemizedlist> +<title>Table Designer window consists of following columns:</title> +<listitem><para> +<guilabel>PK</guilabel> - Primary Key. <!-- It will be discussed this topic in +<link linkend="building-advanced-database">in a later chapter</link>. --> +</para></listitem> +<listitem><para> +<guilabel>Field Caption</guilabel> - caption of the field +which will be displayed during data entering. +</para></listitem> +<listitem><para> +<guilabel>Data Type</guilabel> - a combo box containing a list of data types, +allowing to set a main rule for entered data for a given field. For example, +when an integer number data type is set for a field, a database user will not +able to enter letter characters into this field. +</para></listitem> +<listitem><para> +<guilabel>Comments</guilabel> - you can enter here any information useful for +understanding what the given field is provided for. This additional text will +be saved within the table design and only visible in design mode. +</para></listitem> +</itemizedlist> +<para> +In the <guilabel>Table designer</guilabel> window, every row corresponds to +a single table field. You can recognize you are in <emphasis>design +mode</emphasis> because the <!-- <img src="icons/state_edit.png" class="icon"> --> +<guibutton>Switch to Design View mode</guibutton> button is toggled on within +the main &kexi; toolbar. +</para> + + +<procedure> +<title>Designing the <emphasis>Persons</emphasis> table</title> +<step><para> +In the first row click on the cell in the <guilabel>Field Caption</guilabel> +column and enter <emphasis>Name</emphasis> as field caption. +</para> +<itemizedlist> +<title>Notes about field names and captions</title> +<listitem><para> +Every table field must have a name and a caption, these cannot be empty. +</para></listitem> +<listitem><para> +Field name is a word used by the database, usually not visible for users of the database application. The name may not contain special (national) characters (like ±, ¶, Ü) +or space characters. The name must only contain roman letters, +<!-- JSTANIEK: TODO: what about for example japanese letters? Are they allowed in japanese versions?--> +numbers and underscore sign "_". Use the latter instead of +spaces or dashes. +</para></listitem> +<listitem><para> +Field names must be started with a letter or underscore sign +"_", never with a number. +</para></listitem> +<listitem><para> +It does not matter whether you are using small or capital letters. +For &kexi; the database name "Persons" is the same as +"persons". +</para></listitem> +<listitem><para> +Field caption, on the other hand, allows you to enter any letters and special characters. It will be displayed for users of the database application. +</para></listitem> +</itemizedlist> +</step> + +<step> +<itemizedlist> +<title>In a similar way, enter the following fields into the table design:</title> +<listitem><para><guilabel>surname</guilabel></para></listitem> +<listitem><para>street</para></listitem> +<listitem><para>house_number</para></listitem> +<listitem><para>city</para></listitem> +</itemizedlist> +</step> + +<step><para> +All the above fields, except <emphasis>house_number</emphasis>, are of type +<emphasis>text</emphasis>. +Change <emphasis>house_number</emphasis> field's type to <emphasis>integer +number</emphasis>. To do this, click on a cell in the <guilabel>Data +Type</guilabel> column, <emphasis>house_number</emphasis> row and then +click on drop down list's button <!--<img src="icons/dropdown_button.png" class="icon">--> +(you can also press <keycombo><keycap>F4</keycap></keycombo> or +<keycombo action="simul">&Alt;<keycap>Down</keycap></keycombo>. The list +of data types will appear. Select the <emphasis>Integer number</emphasis> type. +<!-- + <br><img src="img/05_01_01_changing_datatype.png"> + <br>Changing data type of a filed to integer number<br><br> +--> +</para><para> +From now on, the <emphasis>house_number</emphasis> field only accepts numbers. +</para></step> + +<!-- TODO setting additional properties: e.g. caption --> +<step><para> +<emphasis>Persons</emphasis> table design is ready. Click <!-- <img src="icons/state_data.png" class="icon">--> +<guibutton>Switch to Data View</guibutton> button on the toolbar to finish +designing and switch to Data View for the table. This allows you entering +data into the table. +</para></step> + +<step><para> +As the design is not yet saved in the database, the <guibutton>Save Object As</guibutton> +dialog window appears. You need to specify the name for the new table. +<!-- + <br><img src="img/05_01_01_entering_table_name.png"> + <br>Entering table name before saving its design<br><br> +--> +</para> +<para> +&kexi; offers a generic name like <emphasis>Table1</emphasis>. +To change the name, enter <emphasis>Persons</emphasis> into the +<emphasis>Caption</emphasis> field and press the <keycombo> +<keycap>Enter</keycap></keycombo> key or click the <guibutton>OK</guibutton> +button. The <guilabel>Caption</guilabel> field will be used to display the +table to database end-users, ⪚ as a form. Unlike the name, the caption can +contain any characters including spaces and special characters. +</para> +<para> +Note that filling the <guilabel>Caption</guilabel> field automatically fills +the <guilabel>Name</guilabel> field. For your convenience the rule for using +only letters, numbers and the "_" character is kept. You +can alter the contents of the <guilabel>Name</guilabel> field if you want to. +<!-- + <br><img src="img/05_01_01_automatic_names.png"> + <br>Example of automatically filled Name field<br><br> +--> +</para></step> + +<step><para> +You are asked about an agreement for automatic adding of primary key to the table. +<!--The idea of primary keys is described in <a href=""> --> +<!-- TODO chapter # chapter 6</a>.--> Click <guibutton>Add primary key</guibutton> +button to continue. +<!-- + <br><img src="img/05_01_01_pkey_recommended.png"> + <br>A question about automatic adding a primary key<br><br> +--> +</para></step> + +<step><para> +The <emphasis>Persons</emphasis> table has been created and opened in Data View. +Its name appears in the <guilabel>Project Navigator</guilabel> pane. +<!-- <br><img src="img/05_01_01_table_created.png"> + <br><em>Persons</em> table in the Project Navigator pane<br><br> +--> +</para></step> + +<step><para> +Create the <emphasis>phone_numbers</emphasis> table, in a similar +way as <emphasis>persons</emphasis> table. +</para></step> + +<step><para> +Create a <emphasis>person</emphasis> field of type <emphasis>Integer +number</emphasis> and <emphasis>phone</emphasis> of type <emphasis>Text</emphasis>. +Do not use a number type here because phone numbers can have many different +forms and prefixes. +</para></step> + +<step><para> +Click <!--<img src="icons/state_data.png" class="icon"> --> <guibutton>Switch to +Data View</guibutton> button on the toolbar and enter <emphasis>Phones</emphasis> +caption for the table. As for your previous table, allow &kexi; to automatically +create a primary key. +</para></step> +</procedure> + +</sect2> + +</sect1> + +&enteringdataintotables; + +&querydesigning; + +&designingforms; + +&enteringdatausingforms; + +</chapter> + diff --git a/doc/kexi/comparing.docbook b/doc/kexi/comparing.docbook new file mode 100644 index 00000000..f213ac04 --- /dev/null +++ b/doc/kexi/comparing.docbook @@ -0,0 +1,98 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" > +--> + +<appendix id="comparing"> + <title> + Comparing &kexi; to other database applications + </title> + <para> + Although different database applications tend to provide similar + functionality, they often use different terminology. For your + convenience, this appendix shows how the terminology used in + &kexi; corresponds to that used by other database applications. + Thus, this chapter may be useful when migrating databases from + one application to another. + </para> + <sect1 id="comparing-data-types"> + <title> + Data types + </title> + <para> + The table below shows how the data types in &kexi; correspond + to data types in other database applications. + </para> + <para> + Some of the data types listed here are + <firstterm>sub-types</firstterm> of other types. For example, + the <emphasis>Long text</emphasis> type is a sub-type of the + <emphasis>Text</emphasis> type. To use a sub-type in + &kexi;, you should select the corresponding basic type (in + this case, Text) in the table designer, and then select the + sub-type using the <guilabel>Subtype</guilabel> setting in the + <guilabel>Properties Editor</guilabel>. + </para> + <table> + <title> + Comparison of data types used in &kexi; and other database + applications + </title> + <tgroup cols="4"> + <thead> + <row> + <entry>&kexi;</entry> + <entry>MS Access</entry> + <entry>dBase/FoxPro</entry> + <entry>Paradox</entry> + </row> + </thead> + <tbody> + <row> + <entry>Text (Text)</entry> + <entry>Text</entry> + <entry>Character</entry> + <entry>Alphanumeric</entry> + </row> + <row> + <entry>Long text (Long text)</entry> + <entry>Memo</entry> + <entry>Memo</entry> + <entry>Memo</entry> + </row> + <row> + <entry>Date/Time (Date/Time)</entry> + <entry>Date, Time</entry> + <entry>Date</entry> + <entry>DateTime</entry> + </row> +<!-- Not visible in Kexi GUI yet. + <row> + <entry>Object (Object)</entry> + <entry>OLE Object</entry> + <entry>General</entry> + <entry>OLE, Graphical Binary</entry> + </row> +--> + <row> + <entry>Integer Number (Integer Number)</entry> + <entry>Number (Integer)</entry> + <entry>Numeric</entry> + <entry>Integer</entry> + </row> + <row> + <entry>Big Integer Number (Big Integer Number)</entry> + <entry>Long Integer</entry> + <entry>Numeric</entry> + <entry>Long Integer</entry> + </row> + <row> + <entry>Floating Point Number (Floating Point Number)</entry> + <entry>Single/Double precision number</entry> + <entry>Float</entry> + <entry>Number</entry> + </row> + </tbody> + </tgroup> + </table> + </sect1> +</appendix> diff --git a/doc/kexi/configuration.docbook b/doc/kexi/configuration.docbook new file mode 100644 index 00000000..f3d134f7 --- /dev/null +++ b/doc/kexi/configuration.docbook @@ -0,0 +1,230 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" > +--> + +<chapter id="configuration"> + <title> + Configuring &kexi; + </title> + + <para> + This chapter describes how you can configure &kexi; to suit your + own needs and preferences. + </para> + + <sect1 id="configuring-window-layout"> + <title> + Window Layout + </title> + <para> + &kexi; provides a <firstterm>Mutiple Document + Interface</firstterm> (MDI). This means that you can have + several database objects (such as tables, queries, forms and + scripts) open at the same time and in the same &kexi; main + window. Each database object is shown in a <firstterm>child + window</firstterm> within the main window. + </para> + <para> + There is a choice of two MDI modes available, allowing a choice + of how child windows are managed and displayed. The two modes + are: + <itemizedlist> + <listitem><para><guisubmenu>IDEAl Mode</guisubmenu>; and</para></listitem> + <listitem><para><guisubmenu>Childframe Mode</guisubmenu>.</para></listitem> + </itemizedlist> + These modes are described in the following two sections. You + can change the MDI mode from the <guisubmenu>MDI + Mode</guisubmenu> sub-menu under the <guimenu>Window</guimenu> + menu. Note that changing the MDI mode requires &kexi; to be + restarted before the new mode takes effect. + </para> + <sect2 id="window-layout-ideal"> + <title> + IDEAl mode + </title> +<!-- TODO: Screenshot of IDEAl mode --> + <para> + IDEAl mode is the default MDI mode, and may be familiar from + other &kde; applications. In this mode, a single child window + is shown maximized within the &kexi; main window at once. + A tab bar, containing one tab for each child window, allows + other child windows to be viewed by simply clicking on the + relevant tab. + </para> + </sect2> + <sect2 id="window-layout-childframe"> + <title> + Childframe mode + </title> +<!-- TODO: Screenshot of Childframe mode --> + <para> + In Childframe mode, child windows are displayed in the + main &kexi; window, but need not be maximized within it. + In order to use Childframe mode, you need to select + <action> + <guimenu>Window</guimenu>, + <guisubmenu>MDI Mode</guisubmenu>, + <guimenuitem>Childframe Mode</guimenuitem> + </action> from the menu. + </para> + <para> + Each child window has a titlebar with buttons for maximizing, + minimizing and closing it. They can also be moved and resized + within the main window in the normal way (for example, they + can be moved by clicking and dragging the title bar). + </para> + <para> + The buttons behave as follows: the right-most button closes + the child window. The button on its left maximizes the child + window - note this causes the buttons to move to the top right + of the main window, above the <guilabel>Properties + editor</guilabel> if it is open. The next button to the left + toggles the child window between minimized and restored. + </para> + <para> + The left-most button detaches, or + <firstterm>undocks</firstterm>, the child window, allowing it + to be moved out of the main window. For more information on + docking and undocking windows, see the next section. + </para> + </sect2> + </sect1> + + <sect1 id="docking-windows"> + <title> + Docking and Undocking Windows + </title> + <para> + By default, the <guilabel>Project Navigator</guilabel> and + <guilabel>Properties Editor</guilabel> panels are displayed as + part of the main &kexi; window. It is possible to + <firstterm>undock</firstterm> each panel, so that it is + displayed in a separate window. Once undocked, it is possible + to <firstterm>dock</firstterm> the panel so it appears back in + the main window again. + </para> + <para> + In <link linkend="window-layout-childframe">Childframe + mode</link>, it is also possible to undock child windows. For + example, a child window showing a database table could be + undocked, allowing the child window showing the table to be + maximized on the screen. + </para> + <para> + It can be useful to undock a window when using: + <itemizedlist> + <listitem> + <para> + a small screen; + </para> + </listitem> + <listitem> + <para> + large tables, queries or forms; and/or + </para> + </listitem> + <listitem> + <para> + more than one montitor. + </para> + </listitem> + </itemizedlist> + </para> + <sect2> + <title> + Docking and undocking side panels + </title> + <para> + The <guilabel>Project Navigator</guilabel> and + <guilabel>Properties Editor</guilabel> side panels may be + undocked by either: + <itemizedlist> + <listitem> + <para> + double-clicking on the 'grip' bar at the top of the + panel; or + </para> + </listitem> + <listitem> + <para> + clicking once on the arrow at the top of the panel, next + to the cross. + </para> + </listitem> + </itemizedlist> +<!-- TODO: Screenshot --> + </para> + <para> + Once undocked, panel windows may be docked into the main + window again similarly to undocking: + <itemizedlist> + <listitem> + <para> + double-clicking on the 'grip' bar at the top of the window; or + </para> + </listitem> + <listitem> + <para> + clicking once on the arrow at the top of the panel, next + to the cross. + </para> + </listitem> +<!-- TODO: Screenshot --> + </itemizedlist> + </para> + </sect2> + <sect2> + <title> + Docking and undocking child windows + </title> + <para> + Child windows may be docked and undocked in <link + linkend="window-layout-childframe">Childframe mode</link> + only. + </para> + <para> + In Childframe mode, child windows may be undocked by: + <itemizedlist> + <listitem> + <para> + right-clicking in the tab bar, on the tab corresponding + to the window to be undocked, and selecting + <guilabel>Undock</guilabel>; or + </para> +<!-- TODO: Screenshot --> + </listitem> + <listitem> + <para> + right-clicking on the title bar of the child window, and + selecting <guilabel>Undock</guilabel>; or + </para> +<!-- TODO: Screenshot --> + </listitem> + <listitem> + <para> + if the child window is <emphasis>not</emphasis> + maximized, clicking the arrow in the top right corner of + the child window (next to the minimize, maximize and + close buttons for that child window); + </para> +<!-- TODO: Screenshot --> + </listitem> + <listitem> + <para> + if the child window is maximized, clicking the arrow to + the right of the menu bar (next to the minimize, restore + and close buttons for that child window). + </para> +<!-- TODO: Screenshot --> + </listitem> + </itemizedlist> + </para> + <para> + To dock a child window, right-clicking in the tab bar, on the + tab corresponding to the window to be docked, and select + <guilabel>Dock</guilabel>. + </para> +<!-- TODO: Screenshot --> + </sect2> + </sect1> +</chapter> diff --git a/doc/kexi/contact-example.png b/doc/kexi/contact-example.png Binary files differnew file mode 100644 index 00000000..9b2e5dbf --- /dev/null +++ b/doc/kexi/contact-example.png diff --git a/doc/kexi/credits.docbook b/doc/kexi/credits.docbook new file mode 100644 index 00000000..6b910547 --- /dev/null +++ b/doc/kexi/credits.docbook @@ -0,0 +1,63 @@ +<chapter id="credits"> +<!-- Include credits for the programmers, documentation writers, and + contributors here. The license for your software should then be + included below the credits with a reference to the appropriate + license file included in the KDE distribution. --> + +<title>Credits and License</title> + +<para> + &kexi; Copyright 2002-2006 The &kexi; Team + <itemizedlist> + <title>&kexi; Developers:</title> + <listitem> + <para>Jaroslaw Staniek / OpenOffice Polska <email>js@iidea.pl</email></para> + </listitem> + <listitem> + <para>Lucijan Busch <email>lucijan@kde.org</email></para> + </listitem> + <listitem> + <para>Cedric Pasteur <email>cedric.pasteur@free.fr</email></para> + </listitem> + <listitem> + <para>Adam Pigg <email>adam@piggz.fsnet.co.uk</email></para> + </listitem> + <listitem> + <para>Martin Ellis <email>martin.ellis@kdemail.net</email></para> + </listitem> + <listitem> + <para>Sebastian Sauer <email>mail@dipe.org</email></para> + </listitem> + <listitem> + <para>Christian Nitschkowski <email>segfault_ii@web.de</email></para> + </listitem> + <listitem> + <para>Peter Simonsson <email>psn@linux.se</email></para> + </listitem> + <listitem> + <para>&Joseph.Wenninger; <email>jowenn@kde.org</email></para> + </listitem> + <listitem> + <para>Seth Kurzenberg <email>seth@cql.com</email></para> + </listitem> + <listitem> + <para>Laurent Montel <email>montel@kde.org</email></para> + </listitem> + <listitem> + <para>Till Busch <email>till@bux.at</email></para> + </listitem> + </itemizedlist> +</para> + +<para> + Documentation by Martin A. Ellis <email>martin.ellis@kdemail.net</email>, + Jaroslaw Staniek <email>js@iidea.pl</email> + with contributions from Anne-Marie Mahfouf, Raphael Langerhorst, Michal Kubicki and Aron Stansvik. +</para> + +<!-- TRANS:CREDIT_FOR_TRANSLATORS --> + +&underFDL; <!-- FDL: do not remove --> +&underLGPL; <!-- LGPL License --> + +</chapter> diff --git a/doc/kexi/database.docbook b/doc/kexi/database.docbook new file mode 100644 index 00000000..e89afa55 --- /dev/null +++ b/doc/kexi/database.docbook @@ -0,0 +1,649 @@ +<!-- + <!DOCTYPE appendix PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" > +--> + +<appendix id="database"> +<title>Introduction to Databases</title> + +<sect1 id="what-is-a-database"> +<title>What Is a Database?</title> +<para> +You can define a database as a collection of data on one topic. +It is organised in a way allowing to easily browse the information, +make changes or add new items. +</para> +<para> +Look at this diagram for one of the above examples: a simple phone book. +</para> +<screenshot> + <screeninfo>A diagram of a phone number database</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="contact-example.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>A diagram of a phone number database</phrase> + </textobject> + </mediaobject> +</screenshot> +<para> +The above picture shows a set of two contacts each of which is +presented on a separate card. It appears that such a card can +constitute a single row in a table: +</para> + +<para><emphasis><guilabel>Contacts</guilabel> table</emphasis></para> +<informaltable> +<tgroup cols="2"> +<tbody> +<row> +<entry><guilabel>Name</guilabel></entry> +<entry><guilabel>Tel No.</guilabel></entry> +</row> +<row> +<entry>Joan</entry> +<entry>699 23 43 12</entry> +</row> +<row> +<entry>Adam</entry> +<entry>711 19 77 21</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para> +<emphasis>Terms and definitions</emphasis>: +A single data which constitutes a part of a greater collection can be called a +<firstterm>row</firstterm> or more professionally a +<firstterm>record</firstterm>. +The collection is normally called a <firstterm>table</firstterm>. +Moreover, the most natural name for the table is one describing the data it +offers/stores which is <guilabel>Contacts</guilabel>. +Furthermore, each row in the table consists of <firstterm>columns</firstterm> +often also called <firstterm>fields</firstterm>. In the table +<guilabel>Contacts</guilabel> there are two columns (fields): +<guilabel>Name</guilabel> and <guilabel>Tel No.</guilabel>. +</para> +<para> +For simple uses a single table can make up a <firstterm>database</firstterm>. +Many people consider these two equivalent. +As you will see, for real databases we usually need more than one table. +</para> +<para> +To sum up, you have already got a simple database with one table +<guilabel>Contacts</guilabel>. +</para> +</sect1> + + +<sect1 id="database-and-spreadsheet"> +<title>Database and Spreadsheet</title> +<para> +It is very likely that you have already used spreadsheet applications like +KSpread, OpenOffice.org Calc or Microsoft Excel. If so, you will probably +wonder: since both spreadsheets and databases have tables, why should I use +the latter? +</para> +<para> +While comparing spreadsheets and databases you may encounter the following issues which you will later see in greater detail: +</para> +<itemizedlist> +<listitem><para><link linkend="referential-data-integrity">Referential +data integrity</link></para></listitem> +<listitem><para><link linkend="data-redundyncy">Data redundancy</link> +</para></listitem> +<listitem><para><link linkend="data-integrity-and-validity">Data integrity +and validity</link></para></listitem> +<listitem><para><link linkend="data-limiting">Limiting data view</link></para></listitem> +<listitem><para><link linkend="performance-and-capacity">Performance and +capacity</link></para></listitem> +<listitem><para><link linkend="convenient-data-entry">Convenient data entry</link></para></listitem> +<listitem><para><link linkend="reports">Reports</link></para></listitem> +<listitem><para><link linkend="programming">Programming</link></para></listitem> +<listitem><para><link linkend="multiuse">Multiuse</link></para></listitem> +<listitem><para><link linkend="security">Security</link></para></listitem> +</itemizedlist> + +<sect2 id="difference-database-and-spreadsheet"> +<title>How Is a Database Different From a Spreadsheet?</title> + +<para> +Gradually exceeding the capacity of a mobile phone, expand your table +<guilabel>Contacts</guilabel> adding a column (field) +<guilabel>Address</guilabel>. Add more telephone numbers +(office, home) for each person and add surnames to names. +To make it simpler we assume the following: +</para> +<itemizedlist> +<listitem><para>the table is limited to two people (obviously, +there could be hundreds and thousands of them in a real +database)</para></listitem> +<listitem><para>there are no two persons with the same name and surname</para> +</listitem> +</itemizedlist> +<para><emphasis>Contacts table</emphasis></para> +<informaltable> +<tgroup cols="3"> +<tbody> +<row> +<entry><emphasis>Name and surname</emphasis></entry> +<entry><emphasis>Tel</emphasis></entry> +<entry><emphasis>Address</emphasis></entry> +</row> +<row> +<entry>Joan Smith</entry> +<entry>699 23 43 12</entry> +<entry>Western Gate 1, Warsaw</entry> +</row> +<row> +<entry>Adam Willson</entry> +<entry>711 19 77 21</entry> +<entry>London, Frogs Drive 5</entry> +</row> +<row> +<entry>Joan Smith</entry> +<entry>110 98 98 00</entry> +<entry>Western Gate 1</entry> +</row> +<row> +<entry>Smith Joan</entry> +<entry>312 43 42 22</entry> +<entry>Warsaw, Western Gate 1</entry> +</row> +<row> +<entry>ADAM Willson</entry> +<entry>231 83 02 04</entry> +<entry>Frogs Drive 5, London</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para> +Such a table can be made both in a spreadsheet and in a database. +Using a spreadsheet is very easy, of couse. What problems do we +encounter at this stage? +</para> + +<sect3 id="referential-data-integrity"> +<title>Referential data integrity</title> +<para> +Suppose you are using a spreadsheet and you need to change the address of at +least one person. You have a small problem: you often have to change the +address in many rows. For example, Joan takes three rows. A real problem +will arise if you forget to change one of the rows - the address asigned +to this person will be <emphasis>ambiguous</emphasis>, hence +<emphasis>your data loses integrity</emphasis>. +</para> +<para> +Moreover there is no simple way of deleting a chosen person from the table +since you have to remember about deleting all rows releted to him or her. +</para> +</sect3> + + +<sect3 id="data-redundyncy"> +<title>Data redundancy</title> +<para> +This is directly connected to the previous problem. In fields +<guilabel>Name and surname</guilabel> and <guilabel>Address</guilabel> +the same data is entered many times. This is typical of a spreadsheets' +ineffective way of storing data because the database grows unnecessarily, +thus requiring more computer resources (larger size of data and slower access). +</para> +<para> +How can you solve these problems with a database? You can split information +into smaller chunks by creating an additional table <emphasis>Persons</emphasis> +with only two columns: <guilabel>Name and surname</guilabel> +and <guilabel>Address</guilabel>: +</para> + +<para><emphasis><guilabel>Persons</guilabel> table</emphasis></para> +<informaltable> +<tgroup cols="2"> +<tbody> +<row> +<entry><emphasis>Name and surname</emphasis></entry> +<entry><emphasis>Address</emphasis></entry> +</row> +<row> +<entry>Joan Smith</entry> +<entry>Western Gate 1, Warsaw</entry> +</row> +<row> +<entry>Adam Willson</entry> +<entry>Frogs Drive 5, London</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para> +Each row in the table <guilabel>Persons</guilabel> corresponds to a +<emphasis>single person</emphasis>. Table <guilabel>Contacts</guilabel> +is from now on a relation to the table <guilabel>Persons</guilabel> +<!--(see next paragraph)-->. +</para> + +</sect3> + +<sect3 id="data-integrity-and-validity"> +<title>Data integrity and validity</title> +<para> +Note the way data is entered in the fields <guilabel>Name and surname</guilabel> +and <guilabel>Address</guilabel>. People entering data can be fallible, +sometimes even negligent. In our sample data we have both different sequence +of entering name and surname (Joan Smith and Smith Joan; Adam and ADAM) and +many more ways of entering the same address. Surely you can think of many +other ways. +</para> +<para> +The above problem shows that ⪚ when searching the telephone number of a +person whose address is "Western Gate 1, Warsaw" you will not get a full +result. You will get only one row instead of three. Moreover You will also +not find all the telephone numbers searching for the value "Joan Smith" in +the field <guilabel>Name and surname</guilabel>, because "Smith Joan" will +not fit to "Joan Smith". +</para> +<para> +How can you solve these problems using a database? You can do this by changing the design of the table <guilabel>Persons</guilabel> by: +</para> +<orderedlist> +<listitem><para> +<emphasis>Dividing data</emphasis> in the field <guilabel>Name and +surname</guilabel> into two separate fields: <guilabel>Name</guilabel> +and <guilabel>Surname</guilabel>. +</para></listitem> +<listitem><para> +<emphasis>Dividing data</emphasis> in the field <guilabel>Address</guilabel> +into three separate fields: <guilabel>Street</guilabel>, <guilabel>House +number</guilabel> and <guilabel>City</guilabel>. +</para></listitem> +<listitem><para> +<emphasis>Guaranteeing data correctness:</emphasis> by ensuring that no fields +are empty, ⪚ you must always enter house number. +</para></listitem> +</orderedlist> + +<para> +A modified table looks something like this: +</para> + +<para><emphasis>Persons table</emphasis></para> +<informaltable> +<tgroup cols="5"> +<colspec colnum="1" colname="c1"></colspec> +<colspec colnum="2" colname="c2"></colspec> +<colspec colnum="3" colname="c3"></colspec> +<colspec colnum="4" colname="c4"></colspec> +<colspec colnum="5" colname="c5"></colspec> +<tbody> +<row> +<entry><emphasis>Name</emphasis></entry> +<entry><emphasis>Surname</emphasis></entry> +<entry><emphasis>Street</emphasis></entry> +<entry><emphasis>House number</emphasis></entry> +<entry><emphasis>City</emphasis></entry> +</row> +<row> +<entry>Joan</entry> +<entry>Smith</entry> +<entry>Western Gate</entry> +<entry>1</entry> +<entry>Warsaw</entry> +</row> +<row> +<entry>Adam</entry> +<entry>Willson</entry> +<entry>Frogs Drive</entry> +<entry>5</entry> +<entry>London</entry> +</row> +<row> +<entry namest="c1" nameend="c5"><emphasis>Conditions</emphasis></entry> +</row> +<row> +<entry>required field</entry> +<entry>required field</entry> +<entry>required field</entry> +<entry>required field</entry> +<entry>required field</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para> +Thanks to introducing the condition <guilabel>required field</guilabel> we can +be sure that the entered data is complete. In case of other tables you may +of course allow omitting certain fields while entering data. +</para> + +</sect3> + +<sect3 id="data-limiting"> +<title>Limiting data view</title> +<para> +A spreadsheet displays all rows and columns of the table which is bothersome +in case of very large data sheets. You may of course filter and sort rows +in spreadsheets, however you must be extra careful while doing so. Spreadsheet +users are in risk of forgetting that their data view has been filtered what +can lead to mistakes. For example, while calculating sums you may think you +have 100 rows of data while in fact there are 20 rows more hidden. +</para> +<para> +If you want to work on a small subset of data, ⪚ to send it for others to edit, you can copy and paste it to another spreadsheet and after editing paste the changed data back to the main spreadsheet. Such "manual" editing may cause data loss or incorect calculations. +</para> +<para> +To limit the <emphasis>data view</emphasis> database applications offer +<emphasis>queries</emphasis>, <emphasis>forms</emphasis> +and <emphasis>reports</emphasis>. +</para> +<para> +A very practical way of limitting is the following extended version of +the previously described table <guilabel>Persons</guilabel>: +</para> + +<para><emphasis>Persons table</emphasis></para> +<informaltable> +<tgroup cols="6"> +<tbody> +<row> +<entry><emphasis>Name</emphasis></entry> +<entry><emphasis>Surname</emphasis></entry> +<entry><emphasis>Street</emphasis></entry> +<entry><emphasis>House number</emphasis></entry> +<entry><emphasis>City</emphasis></entry> +<entry><emphasis>Income</emphasis></entry> +</row> +<row> +<entry>Joan</entry> +<entry>Smith</entry> +<entry>Western Gate</entry> +<entry>1</entry> +<entry>Warsaw</entry> +<entry>2300</entry> +</row> +<row> +<entry>Adam</entry> +<entry>Willson</entry> +<entry>Frogs Drive</entry> +<entry>5</entry> +<entry>London</entry> +<entry>1900</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para> +Let's assume that the newly introduced column <guilabel>Income</guilabel> +contains confidential data. How can you share ⪚ contact details of the +persons with your coworkers but without <emphasis>revealing their +income</emphasis>? It is possible if <emphasis>you share only a query and +not the whole table</emphasis>. The query could select all columns except +for the column <guilabel>Income</guilabel>. In database world such a query +is often known as a <guilabel>view</guilabel>. +</para> + +</sect3> + +<sect3 id="performance-and-capacity"> +<title>Performance and capacity</title> +<para> +Your computer is probably quite fast, however you will easily see that it +doesn't help with slow, large spreadsheets. Their low efficiency is first +of all due to lack of indexes accelertaing the process of data search +(databases do offer them). Moreover if you use things like system clipboard, +even copying data may become troublesome with time. +</para> +<para> +Spreadsheets containing large data sets may take ages to open. A spreadsheet +loads lots of data to the computer's memory while opening. Most of the data +loaded are probably useless/unneccessary for you at the moment. Databases +unlike spreadsheets load data from computer storage only when needed. +</para> +<para> +In most cases you will not have to worry how the database stores its data. +This means that unlike spreadsheets, databases do not care about: +</para> +<itemizedlist> +<listitem><para> +The sequence of rows since you can order the rows according to your needs. +Moreover, you can view the same data in many views with different orders. +</para></listitem> +<listitem><para> +The same goes for columns (fields) of the table. +</para></listitem> +</itemizedlist> + +<para> +Together with <link linkend="data-limiting">Limiting data view</link> +described in the previous paragraph these qualities constitute the +advantage of databases. +</para> + +</sect3> + +<sect3 id="convenient-data-entry"> +<title>Data entry</title> +<para> +The latest editions of applications for creating spreadsheets enable you +to design data-entry forms. Such forms are most useful if your data cannot +be conveniently displayed in tabular view, ⪚ if the text occupies +too many rows or if all the columns do not fit on the screen. +</para> +<para> +In this case the very way the spreadsheet works is problematic. +Fields for data entry are placed loosely within the spreadsheet +and very often are not secure against the user's (intentional +or accidental) intervention. +</para> +</sect3> + +<sect3 id="reports"> +<title>Reports</title> +<para> +Databases enable grouping, limiting and summing up data in a form of a +<emphasis>report</emphasis>. Spreadsheets are usually printed in a form +of small tables without fully automatic control over page divisions and +the layout of fields. +</para> +</sect3> + +<sect3 id="programming"> +<title>Programming</title> +<para> +Applications for creating databases often contain full programming languages. +Newer spreadsheets have this capability too, however calculations come down +to modifying the spreadsheet's fields and simple data copying, regardless of +the relevance and integrity rules mentioned in previous paragraphs. +</para> +<para> +Data processing within a spreadsheet is usually done via a graphical user's +interface which may slow down the data processing speed. Databases are +capable of working in background, outside of graphical interfaces. +</para> +</sect3> + +<sect3 id="multiuse"> +<title>Multiuse</title> +<para> +It is hard to imagine a multiuse of one spreadsheet. Even if it is technically +possible in the case of the latest applications, it requires a lot of +discipline, attention and knowledge from the users, and these cannot +be guaranteed. +</para> +<para> +A classical way to sharing data saved in a spreadsheet with other person is +to send a file as a whole (usually using e-mail) or providing a spreadsheet +file in a computer network. This way of work is ineffective for larger +groups of people - data that could be needed in a particular time may +be currently locked by another person. +</para> +<para> +On the other hand, databases have been designed mainly with multiuser +access in mind. Even for the simplest version locking at a particular table +row's level is possible, which enables easy sharing of table data. +</para> +</sect3> + +<sect3 id="security"> +<title>Security</title> +<para> +Securing a spreadsheet or its particular sections with a password is only +symbolic activity. After providing a spreadsheet file in a computer network, +every person being able to copy the file can try to break the password. +It is sometimes not so hard as the password is stored in the same file +as the spreadsheet. +</para> +<para> +Features for edit locking or copy locking of a spreadsheet (or its part) +is equally easy to break. +</para> +<para> +Databases (except these saved in a file instead of a server) do not need +to be available in a single file. You're accessing them using a computer +network, usually by providing a user name and a password. You are gaining +access only to these areas (tables, forms or even selected rows and columns) +which were assigned to you by setting appropriate access rights. +</para> +<para> +Access rights can affect ability of data editing or only data reading. +If any data is not avaliable to you, it will not be even sent to your +computer, so there is no possibility of making a copy of the data in such +easy way as in case of spreadsheet files. +</para> + +</sect3> +</sect2> +</sect1> + +<sect1 id="database-design"> +<title>Database Design</title> +<para> +Database design needs careful planning. Note that <guilabel>Contacts</guilabel> +table redesign proposed in section 1.2 can generate problems when the +table is filled with data. For example, renaming a field is a simple task, +but splitting the <guilabel>Address</guilabel> field into separate fields +requires careful and tedious work. +</para> +<para> +To avoid such situations, <emphasis>rethink your database project</emphasis> +before you create it in your computer, and before you and others will start +to use it. Thus, by investing some time initially, you will most probably +save your time on everyday use. +</para> +</sect1> + +<sect1 id="who-needs-a-database"> +<title>Who Needs a Database?</title> +<itemizedlist> +<title>Stick to spreadsheets if:</title> +<listitem><para> +Your needs are limited and your data will never grow to +large volumes (can you actually forecast that now?) +</para></listitem> +<listitem><para> +You are unable to acquire the methodology of database construction. +You may however consider either outsourcing this task to someone else +or using simpler tools. +</para></listitem> +<listitem><para> +You use complicated spreadsheets and you lack time or money to switch +to databases. Think or ask someone whether this does not lead down a +blind alley. Don't count on magical tools that would change your +spreadsheet (regardless how well made) into a database. +</para></listitem> +</itemizedlist> + +<itemizedlist> +<title>Consider using databases if:</title> +<listitem><para>Your data collection expands every week.</para></listitem> +<listitem><para> +You often create new spreadsheets, copy within these and you feel +that this work is getting more and more tedious. In this case the +effort of switching to databases easily pays off. +</para></listitem> +<listitem><para> +You create reports and statements for which the table view of +a spreadsheet is not suitable. You can then consider switch +to using a database with form views. +</para></listitem> +</itemizedlist> +</sect1> + +<sect1 id="database-software"> +<title>Database Creation Software</title> +<para> +So far you have learnt the general characteristics of databases without +going into much detail about specific applications for designing them. +</para> +<para> +The first databases were built together with large mainframe computers +in the 60s, ⪚ IBM System/360. Those were not the days of PCs, +therefore these databases required a highly specialized personnel. +Although the old computers' hardware was unreliable, they were immeasurably +slower and had less storage capacity, one feature of databases still remains +most attractive: the data access by many users through a network. +</para> +<para> +In the 70s scientists formed the theory of relational databases +(terms like: <firstterm>table</firstterm>, <firstterm>record</firstterm>, +<firstterm>column (field)</firstterm> and <firstterm>relationality</firstterm> +and many others). +On the basis of this theory IBM DB2 and Oracle databases were created, +which have been developed and used till today. In the late 70s the first +PCs were constructed. Their users could (gradually) utilize many types of +applications, including those for database construction. +</para> +<para>When it comes to large databases in companies, the situation +hasn't changed: +they still require powerful computers or computer complexes called +<firstterm>clusters</firstterm>. This goes, however, beyond the topic +of this manual. +</para> +<para> +In the area of "accessible" databases with graphic user interface +for PCs you can choose from the following: +</para> + +<itemizedlist> +<listitem><para> +<ulink url="http://www.dbase.com/">DBase</ulink> +- a tool for databases operation for DOS popular in the 80s. Files in DBase format +are still used in some specific cases due to their simplicity. +</para></listitem> +<listitem><para> +<ulink url="http://msdn.microsoft.com/vfoxpro/productinfo/overview/">FoxPro</ulink> +- an application similar to DBase (early 90s). After being taken over by +Microsoft, graphic user interfaces were introduced and therefore it is +used for creating databases on PCs. This product is still offered, though +seems a bit obsolete. +</para></listitem> +<listitem><para> +<ulink url="http://office.microsoft.com/access/">Microsoft Access</ulink> +- an application for databases (data and graphic interface design) with many +simplifications, therefore suitable for beginners, designed in the late 80s, +based on 16-Bit Architecture. This product is offered and widely used till today, especially +by small companies, where efficiency and multiuser requirements are not very demanding. +</para></listitem> +<listitem><para> +<ulink url="http://www.filemaker.com/">FileMaker</ulink> +- popular application similar to MS Access in simplicity, operating on Windows +and Macintosh platforms, offered since 1985. +</para></listitem> +<listitem><para> +<ulink url="http://www.kexi.pl/">&kexi;</ulink> +- a multiplatform application (Unix/Linux, Windows, Mac OS X) designed in 2003, +developed according to OpenSource principles, part of the global +<ulink url="http://www.kde.org/">K Desktop Environment</ulink> project, +&ie; graphic environment for Unix/Linux systems. A significant contributor +to &kexi;'s development is the OpenOffice Poland company. +</para></listitem> +</itemizedlist> + +</sect1> + +</appendix> diff --git a/doc/kexi/designingforms.docbook b/doc/kexi/designingforms.docbook new file mode 100644 index 00000000..b205fe71 --- /dev/null +++ b/doc/kexi/designingforms.docbook @@ -0,0 +1,1480 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" > + + --> + + <sect1 id="designing-forms"> + <title>Designing Forms</title> + + <sect2 id="most-important-terms"> + <title>Most important terms</title> + <glosslist> + <glossentry id="gloss-form"> + <glossterm>Form</glossterm> + <glossdef> + <para> + A window provided for easy data entry and presentation on the + computer screen. + </para> + </glossdef> + </glossentry> + <glossentry id="gloss-form-data-source"> + <glossterm>Form's data source</glossterm> + <glossdef> + <para> + Database table or query providing data displayed in the + form. The data source is needed because forms itself are only + <emphasis>tools</emphasis> for displaying and entering data, + while tables and queries are the source of data. New, empty + forms have no data source assigned, so they are not displaying + any data from your database unless you assign a data source + to them. + </para> + </glossdef> + </glossentry> + <glossentry id="gloss-form-field"> + <glossterm>Form field</glossterm> + <glossdef> + <para> + Direct equivalent of a column in a table or query. Most frequently + used are fields for displaying text and numbers. Entering a new + value or changing the existing value of such a field causes a change + in the bound table or query column (after accepting the change). + </para> + </glossdef> + </glossentry> + <glossentry id="gloss-form-design"> + <glossterm>Form design</glossterm> + <glossdef> + <para> + Tasks you are performing to define the appearance and functions of + the form. To do this, you need to provide + <glossterm linkend="gloss-form-data-source">data source</glossterm>, + insert <glossterm linkend="gloss-form-field">form fields</glossterm> + of various types and place them at the appropriate location. + </para> + </glossdef> + </glossentry> + <glossentry id="gloss-form-widget"> + <glossterm>Form widget</glossterm> + <glossdef> + <para>Form's element. Main widget types are:</para> + <itemizedlist> + <listitem> + <para> + Widgets displaying information, ⪚ a text box or an image box. Each + widget of this type can be <emphasis>bound</emphasis> to a data + source field (a table or a query column). Therefore, such widgets + are called in short <glossterm linkend="gloss-form-field">form fields</glossterm>. + </para> + </listitem> + <listitem> + <para> + Widgets able to perform a specified action, ⪚ a push button + that can close the current form. Within other applications this + widget type is sometimes called <firstterm>form control</firstterm> + because it can perform previously defined action of + <emphasis>controlling</emphasis> your database application's + behavior. + </para> + </listitem> + <listitem> + <para> + Other widgets allowing to enrich a form's appearance, ⪚ + a <quote>line widget</quote> can visually separate two form + areas. + </para> + </listitem> + </itemizedlist> + </glossdef> + </glossentry> + <glossentry id="gloss-container-widget"> + <glossterm>Container widget</glossterm> + <glossdef> + <para> + A widget that can <emphasis>contain</emphasis> other widgets within + its area. For example, frame widget or tab widget are containers. + The form's surface itself is a container as well. A command button cannot + be called as container because it is not possible to insert a widget + inside it. In more complex cases, container widgets can be inserted + inside a container, so nesting is possible. + </para> + <!-- + <screenshot> + <screeninfo>Example container widgets</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_01_widget_containers.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Example container widgets</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </glossdef> + </glossentry> + </glosslist> + </sect2> + + <sect2 id="forms-versus-tables"> + <title>Forms versus tables</title> + <para> + In chapter <!--<a href="05_02_00_entering_data_into_tables.html">5.2</a>--> + 5.2 you learned about how to enter data directly into tables using their + data sheet view. However, in many cases forms are better suited for data + entry: + </para> + <itemizedlist> + <listitem> + <para> + A table can contain too many columns to display them on your + screen. A form can display such a data using multiple rows. + </para> + </listitem> + <listitem> + <para> + A form allows to visually split data <glossterm linkend="gloss-form-field">fields</glossterm> + into logical groups, thus increasing readability. Labels with + additional information can be inserted to give users more hints + on how to use the form or what given data <glossterm linkend="gloss-form-field">fields</glossterm> mean. + </para> + </listitem> + <listitem> + <para> + Command buttons can be used within forms for commonly used commands + so users can use forms in a similar way as a standalone applications they + know. + </para> + </listitem> + <listitem> + <para>In data sheet view displaying multi-row data text + <glossterm linkend="gloss-form-field">fields</glossterm> or images + is as easy as within forms. + </para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Working with form design</title> + <para>As with table or query design, you are able to use <interface>Data View</interface> + and <interface>Design View</interface>. Form designing is performed in + <interface>Design View</interface>. We will often refer to the form design window as to + <interface>Form Designer</interface>. + </para> + <procedure> + <step> + <para>To create a new empty form, select + <menuchoice><guimenu>Insert</guimenu><guimenuitem> + <!--<img src="img/form_newobj.png" class="icon">-->Form</guimenuitem></menuchoice> + from the Menubar. Optionally, you can use + <menuchoice><guimenuitem> + <!--<img src="img/form_newobj.png" class="icon">-->New Form</guimenuitem></menuchoice> + command from drop-down button on the <interface>Project Navigator's</interface> + toolbar or <menuchoice><guimenuitem>Create Object: Form</guimenuitem></menuchoice> command from the context menu. + </para> + </step> + <step> + <para>A new frame will appear, you can resize the form by moving the + borders. The form is covered with a grid which simplifies + accurate positioning of the widgets. + </para> + <!--<screenshot> + <screeninfo>A window with design of a new form</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_03_new_empty_form.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>A window with design of a new form</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </step> + </procedure> + <para>As with table design, <interface>Form Designer</interface> provides + <interface>Property pane</interface>. To save some space on the screen, + the pane has three tabs related to the currently + selected form: + </para> + <variablelist> + <varlistentry> + <term>The <guilabel>Properties</guilabel> tab</term> + <listitem> + <para>Contains a list of properties for the currently selected widget.</para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <!--<img src="img/property_pane_datasource_tab.png" class="icon">--> + The <guilabel>Data source</guilabel> tab + </term> + <listitem> + <para> + Contains properties related specifically to the <glossterm linkend="gloss-form-data-source">data source</glossterm> + of the currently selected widget or the form itself. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <!--<img src="img/property_pane_widget_tab.png" class="icon">--> + The <guilabel>Widgets</guilabel> tab + </term> + <listitem> + <para> + Contains a hierarchy of all widgets of the form. The list simplifies + widgets lookup by name and navigation between them. + </para> + </listitem> + </varlistentry> + </variablelist> + <para> + There is information about currently selected widget's name and type displayed + on the first and second tab. + </para> + <para>Additional toolbars are also available:</para> + <itemizedlist> + <listitem> + <para> + The <guilabel>Widgets</guilabel> toolbar used for inserting new widgets + into the form + </para> + </listitem> + <listitem> + <para> + The <guilabel>Format</guilabel> toolbar used to format form's elements (⪚ + adjusting widget's size, grouping). Formatting commands are also available + in the <guimenu>Format</guimenu> menu. More about these commands can be found + in <xref linkend="formatmenu"/>. + <!--<a href="aa_05_00_menu.html#menu_format">A.6. Format Menu</a>--> + </para> + </listitem> + </itemizedlist> + </sect2> + + <sect2 id="using-the-widgets-tab"> + <title>Using the <guilabel>Widgets</guilabel> tab</title> + <para> + The <guilabel>Widgets</guilabel> tab in the <interface>Property pane</interface> provides + a list of form widgets and their hierarchy. Each widget is presented + within the hierarchy beside other widgets being on the same level + (the same parent container). Child widgets (inside containers) are + presented using indented names. + </para> + <!--<para>In the picture below, the form (a container) contains two widgets: + <guilabel>groupBox2</guilabel> and <guibutton>options</guibutton> command button. In + turn, <guilabel>groupBox2</guilabel> (being a container itself) contains two check box + widgets. + </para> + <screenshot> + <screeninfo>Using the <quote>Widgets</quote> tab</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_04_widgets_tab.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Using the <quote>Widgets</quote> tab</phrase> + </textobject> + </mediaobject> + </screenshot>--> + <para> + Each widget has displayed its name and type. The type has also an icon + displayed - the same as the one displayed on the toolbar used while + form designing is performed. + </para> + <note> + <itemizedlist> + <listitem> + <para> + Changing the current selection on the list causes appropriate selection + on the designed form. This allows for easier widget lookup by name and + easier navigation. For example, it is possible to select a widget by + name, and then switch to the <guilabel>Properties</guilabel> tab to change the + widget's properties.</para> + </listitem> + <listitem> + <para> + Keeping the <keycap>Ctrl</keycap> key pressed while an item on the + widgets list is being selected allows to select multiple widgets at a time. + Keeping the <keycap>Shift</keycap> key pressed allows to select entire lists + of widgets.</para> + </listitem> + <!--<listitem> + <para> + When widget is inserted, it is recommended to give it a reasonable name. + For example, <guilabel>green</guilabel> check box widget has been named specifically + for its meaning, using the <guilabel>Properties</guilabel> tab + (<guilabel>Name</guilabel> property has been used to do that). Such change + can make it easier to find a widget within the list. + </para> + <screenshot> + <screeninfo>Naming the widget as <guilabel>green</guilabel></screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_04_renaming_widgets.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Naming the widget as <guilabel>green</guilabel></phrase> + </textobject> + </mediaobject> + </screenshot> + </listitem>--> + </itemizedlist> + </note> + <para> + Giving widgets reasonable names can be useful but is not mandatory. Note + that widget's name is a property that is not visible to the user of your form. + Users will only see a widget text, provided by <varname>Text</varname> property + or similar. + </para> + </sect2> + + <sect2 id="inserting-widgets-text-fields"> + <title>Inserting widgets - text fields</title> + <para> + Let's create a form providing information about persons, i.e. a form connected + it with <literal>Persons</literal> table. + </para> + <para> + If the form being designed should present data obtained from the database, + you need to place appropriate <glossterm linkend="gloss-form-field">fields</glossterm> + on it. To do this, use the buttons on the <guilabel>Widgets</guilabel> toolbar. Each button corresponds to a single widget type. + </para> + <procedure> + <step> + <para> + Click <!--<img src="img/lineedit.png" class="icon">--> + <guibutton>Text Box</guibutton> button on the <guilabel>Widgets</guilabel> toolbar. + </para> + </step> + <step> + <para> + Click on the form surface with the <mousebutton>left</mousebutton> mouse + button. A new text box widget will be placed in the point where you clicked. + Before you release you can drag your mouse to specify a desired size for the widget. + </para> + </step> + <step> + <para> + If needed, move the inserted widget using drag & drop to a desired + position. You can resize the widget afterwards by dragging one of the + small boxes appearing near its corners. Note that the boxes are only + visible when the widget is selected. If you select another widget or the + form surface, the boxes disappear. + </para> + </step> + <step> + <para>Click the <guibutton>Text Box</guibutton> toolbar button again and click + on the form surface to insert another widget. Repeat this action once + again until you get three text boxes inserted in your form. For sake of + simplicity we will limit ourselves to three data + <glossterm linkend="gloss-form-field">fields</glossterm>. + </para> + </step> + </procedure> + <note> + <itemizedlist> + <listitem> + <para> + There is a context menu available in form's design mode, activated by a + <mousebutton>right</mousebutton> mouse button click the desired widget + or the form's surface. The menu offers commands like + <!--<img src="img/editcut.png" class="icon">--><guimenuitem>Cut</guimenuitem>, + <!--<img src="img/editcopy.png" class="icon">--><guimenuitem>Copy</guimenuitem>, + <!--<img src="img/editpaste.png" class="icon">--><guimenuitem>Paste</guimenuitem>, + <!--<img src="img/editdelete.png" class="icon">--><guimenuitem>Delete</guimenuitem> + and other, more complex. Many of the commands are also provided in the + <guilabel>Menubar</guilabel>, usually <guimenuitem>Edit</guimenuitem>. + Keyboard shortcuts are also available for these commands. Some of the + commands are only available for certain types of widgets. + </para> + </listitem> + <listitem> + <para> + The commands <guimenuitem> + <!--<img src="img/editcut.png" class="icon">-->Cut</guimenuitem>,<guimenuitem> + <!--<img src="img/editcopy.png" class="icon">-->Copy</guimenuitem> and <guimenuitem> + <!--<img src="img/editpaste.png" class="icon">-->Paste</guimenuitem> + makes it possible to move or copy widgets between forms, even between separate + database projects. + </para> + </listitem> + <listitem> + <para> + Holding the <keycap>Ctrl</keycap> key down while clicking a widget allows to select + multiple widgets. + </para> + </listitem> + <listitem> + <para> + Instead of using <guimenuitem> + <!--<img src="img/editcopy.png" class="icon">-->Copy</guimenuitem> + and <guimenuitem> + <!--<img src="img/editpaste.png" class="icon">-->Paste</guimenuitem> + commands, to duplicate a widget within the same form you can hold down the + <keycap>Ctrl</keycap> key while moving the widget. After the <keycap>Ctrl</keycap> + key is released, the dragged widget will not be moved but copied in the new location. + </para> + </listitem> + </itemizedlist> + </note> + </sect2> + + <sect2 id="assigning-data-sources"> + <title>Assigning data sources</title> + <para> + The <glossterm linkend="gloss-form-field">fields</glossterm> you inserted + have no <emphasis>data source</emphasis> assigned yet, + so these are not able to display information from the database. To assign data + source, use the <!--<img src="img/database.png" class="icon">--> + <guilabel>Data Source</guilabel> tab of the <interface>Property pane</interface>. + </para> + <para> + The very first step is to specify the <glossterm linkend="gloss-form-data-source">form's data source</glossterm>, + i.e. a place the displayed data will be fetched from. As mentioned above, you + will use table <literal>persons</literal> as a + <glossterm linkend="gloss-form-data-source">data source</glossterm> + for your new form. + </para> + <procedure> + <step> + <para>Click on the form's surface, as you will alter its properties.</para> + </step> + <step> + <para> + Switch to the <!--<img src="img/database.png" class="icon">--> + <guilabel>Data Source</guilabel> tab and enter <literal>persons</literal> + table name in the <guilabel>Form's data source</guilabel> drop down list. + Alternatively, you can select this name from the drop down list. + </para> + <!--<screenshot> + <screeninfo>Entering <glossterm linkend="gloss-form-data-source">form's data source</glossterm> name</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_05_entering_form_data_source.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Entering <glossterm linkend="gloss-form-data-source">form's data source</glossterm> name</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </step> + </procedure> + <para> + You have assigned <glossterm linkend="gloss-form-data-source">form's data source</glossterm>. Now you need to do specify + widget's data source. + </para> + <procedure> + <step> + <para>Click the first text field widget at the top of the form.</para> + </step> + <step> + <para> + In the <!--<img src="img/database.png" class="icon">--><guilabel>Data Source</guilabel> + tab of the property pane enter field name <varname>name</varname> in the + <emphasis>Widget's data source</emphasis> drop down list. Alternatively, you can select + this name from the drop down list. + </para> + <!--<screenshot> + <screeninfo>Entering widget's data source name</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_05_entering_text_field_data_source.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Entering widget's data source name</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </step> + <step> + <para>Click on next text field widget and enter <varname>surname</varname> as the data source.</para> + </step> + <step> + <para> + Enter data sources for <varname>street</varname>, <varname>house_number</varname> + and <varname>city</varname> text <glossterm linkend="gloss-form-field">fields</glossterm> + in a similar way. + </para> + </step> + </procedure> + <para> + You can now save the form's design (this is not mandatory to test the + form in action). To save, click the + <!--<img src="img/filesave.png" class="icon">--> + <guilabel>Save object changes</guilabel> toolbar button or use the + <menuchoice><shortcut><keycombo action="simul"><keycap>Ctrl</keycap><keycap>S</keycap></keycombo></shortcut> + <guimenu>File</guimenu><guimenuitem> + <!--<img src="img/filesave.png" class="icon">-->Save</guimenuitem></menuchoice> + menu command. Upon saving you will be asked for entering the form's name. Enter + <literal>Persons</literal> as caption and click the <guibutton>OK</guibutton> + button. The form's name will be filled automatically. + </para> + <para> + This is the right moment for testing your form. Click the <!--<img src="img/state_data.png" class="icon">--> + <guibutton>Switch to data view</guibutton> toolbar button. Unless you made a + mistake while entering data sources, you should see + <glossterm linkend="gloss-form-field">form's fields</glossterm> filled + with data from the <literal>persons</literal> table. + </para> + <!--<screenshot> + <screeninfo>The <literal>Persons</literal> form in data view after inserting text fields and assigning data sources</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_06_form_with_text_fields.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>The <literal>Persons</literal> form in data view after inserting text fields and assigning data sources</phrase> + </textobject> + </mediaobject> + </screenshot>--> + <note> + <itemizedlist> + <listitem> + <para> + If you want to remove widget's <glossterm linkend="gloss-form-data-source">data source</glossterm> + assignment for a form widget, you can use <!--<img src="img/clear_left.png" class="icon">--> + <guibutton>Clear widget's data source</guibutton> button near + the <guilabel>Widet's data source</guilabel> drop down list. Similarly, you can use the + <!--<img src="img/clear_left.png" class="icon">--> + <guibutton>Clear form's data source</guibutton> button near the + <guilabel>Form's data source</guilabel> drop down list. + </para> + </listitem> + <listitem> + <para> + Use the <!--<img src="img/goto.png" class="icon">--> + <guibutton>Go to selected form's data source</guibutton> button to select + appropriate table or query in the <interface>Project Navigator</interface>, + so you can quickly open a table or query being the + <glossterm linkend="gloss-form-data-source">data source</glossterm> + of the form. + </para> + </listitem> + </itemizedlist> + <!-- TODO: mention about creating Auto Fields by using drag & drop --> + </note> + </sect2> + + <sect2 id="inserting-text-labels"> + <title>Inserting text labels</title> + <para> + To make it easier for the form's user to identify the meaning of every field + widget, these should have added text labels with appropriate titles. To + create text labels the <!--<img src="img/label.png" class="icon">--> + <literal>Label</literal> widget is used. + </para> + <para> + Insert three text label widgets onto the form, placing them on the left + side of the text fields (or on the right hand if your operating system + uses right-to-left layout). On inserting a new label, a text cursor + appears at the location where you can enter the desired title. Enter consecutively: + <literal>Name</literal>, <literal>Surname</literal> and <literal>Street</literal>. Additionally, + on the top of the form insert another label displaying name of the form, + i.e. <literal>Persons</literal>. Enlarge this label's size and and increase the font size using + <!--<a href="aa_00_00_menu.html#menu_format_font">--> + <menuchoice><guimenu>Format</guimenu><guimenuitem>Font...</guimenuitem></menuchoice> + <!--</a>--> + menu command. + </para> + <!--<screenshot> + <screeninfo>Ready to use form after adding text labels</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_06_form_with_labels.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Ready to use form after adding text labels</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </sect2> + + <sect2 id="actions"> + <title>Actions</title> + <para> + An <literal>Action</literal> is a single activity isolated in the application, + available for the user to execute. It can also be executed automatically as a + reaction for a given event (⪚ after opening a form). + </para> + + <sect3 id="assigning-actions-to-form-buttons"> + <title>Assigning actions to form buttons</title> + <para> + Many actions can be assigned to form button. The assigned action is executed + after button is clicked. + </para> + <para>To assign action:</para> + <procedure> + <step> + <para>Switch to form's <interface>Design view</interface> if you have not done yet.</para> + </step> + <step> + <para> + Select the existing button widget by clicking on it or put a new button + widget onto the form. If you inserted a new button, enter its title and + press <keycombo action="press"><keycap>Enter</keycap></keycombo> key. + </para> + </step> + <step> + <para> + Click the button widget with the <mousebutton>right</mousebutton> mouse + button to display the context menu. + </para> + </step> + <step> + <para> + From the context menu select + <!--<img src="img/form_action.png" class="icon">--> + <guimenuitem>Assign action...</guimenuitem> command. + </para> + </step> + <step> + <para> + An <guilabel>Assigning Action to Command Button</guilabel> dialog window + will appear presenting a list of available actions. One of the actions + is selected if the widget already has action assigned. Otherwise the + <guilabel>Action type</guilabel> drop down list has the <guilabel>No type</guilabel> + item selected. + </para> + </step> + <step> + <para> + From the <guilabel>Action type</guilabel> drop down list select + <guilabel>Application</guilabel> item. Available application-wide actions + will be listed. + </para> + </step> + <step> + <para>Select one of the actions on the list (⪚ <guilabel>Delete Row</guilabel>).</para> + </step> + <step> + <para> + Click the <guibutton>OK</guibutton> button or press + the <keycombo action="press"><keycap>Enter</keycap></keycombo> key to + accept your selection. + </para> + </step> + </procedure> + <!--<screenshot> + <screeninfo>Assigning <guilabel>Delete Row</guilabel> action to a form's button</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_07_assigning_action_to_button.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Assigning <guilabel>Delete Row</guilabel> action to a form's button</phrase> + </textobject> + </mediaobject> + </screenshot>--> + <para> + After switching to the form's <emphasis>data view</emphasis> you can try + whether the action works. For example, if you assigned <guilabel>Delete Row</guilabel> + action, clicking the button, the current database row will be deleted, similarly + to executing <menuchoice><shortcut><keycombo action="simul"><keycap>Ctrl</keycap><keycap>Delete</keycap></keycombo></shortcut><guimenu>Edit</guimenu><guimenuitem>Delete Row</guimenuitem></menuchoice> + menu command (depending on your settings you may be asked to confirm the removal). + </para> + + <note> + <itemizedlist> + <listitem> + <para> + To remove an action assignment, select <guilabel>No type</guilabel> item from + the <guilabel>Action type</guilabel> drop down list of the + <guilabel>Assigning Action to Command Button</guilabel> dialog window. + </para> + </listitem> + <listitem> + <para> + Actions only work in the form's <emphasis>data view</emphasis>. Not every + action's assignment is reasonable. For example, the + <guimenuitem>Font...</guimenuitem> action is available in data view, but + only if you have a widget selected in the <interface>Design view</interface>. If you + make changes to the font settings the changes are applied to the text + of that selected widget. + </para> + </listitem> + </itemizedlist> + </note> + </sect3> + </sect2> + + <sect2 id="widget-layouts"> + <title>Widget layouts</title> + <para> + In most cases form widgets should be conveniently arranged and aligned. + Positioning, aligning and resizing widgets by hand is not easy and these + parameters are not adjusted when the user resizes the form. In fact the + situation is even worse because you cannot assume a given form requires + a given space because users have different font sizes and display resolutions. + </para> + <!-- + <para> + The following example presents a form where text fields and labels were + placed by hand. Some of them cannot fit in the form's window. + </para> + <screenshot> + <screeninfo>An example form with widgets that cannot not fit in the window</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_no_fit.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>An example form with widgets that cannot not fit in the window</phrase> + </textobject> + </mediaobject> + </screenshot>--> + <para> + Using special tool called widget layouts can help to automatically lay + out the form widgets. Widget layout is an action of grouping two or more + widgets so these are well positioned and have appropriate sizes. + </para> + <para> + Using layout in a form improves alignment. Moreover, its space is + better used. Text fields are closer to each other, spacing is constant. + </para> + <!--<screenshot> + <screeninfo>Example form with layout used</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_well_fit.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Example form with layout used</phrase> + </textobject> + </mediaobject> + </screenshot>--> + <para>There are two methods to create widget layout.</para> + <itemizedlist> + <listitem> + <para> + Select two or more widgets that should be placed in a common layout, + and select one of the layout types from the context menu item + <!--<a href="aa_00_00_menu.html#menu_format_layout">--> + <guilabel>Layout Widgets</guilabel> + <!--</a>-->. + </para> + </listitem> + <listitem> + <para> + Click a container widget (or a form surface itself), where widgets are + inserted and select one of the layout types from the context menu item + <!--<a href="aa_00_00_menu.html#menu_format_layout">-->Layout Widgets + <!--</a>-->. + All widgets existing within the container or within the + form, being on the same level will be put into a single common layout. + </para> + </listitem> + </itemizedlist> + <para> + In each of these cases you can also use + <menuchoice><guimenu>Format</guimenu><guimenuitem>Layout Widgets</guimenuitem></menuchoice> + menu. + </para> + <!--<screenshot> + <screeninfo>Selecting widgets that will be put into a layout</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_layout_selecting.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Selecting widgets that will be put into a layout</phrase> + </textobject> + </mediaobject> + </screenshot> + <screenshot> + <screeninfo>Four widgets are selected</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_layout_selected.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Four widgets are selected</phrase> + </textobject> + </mediaobject> + </screenshot> + <screenshot> + <screeninfo>Using the context menu for putting the widgets into a grid layout</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_layout_popup.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Using the context menu for putting the widgets into a grid layout</phrase> + </textobject> + </mediaobject> + </screenshot>--> + <para> + Widget layout is presented in the design view using a blue, green or + red box drawn with a broken line. This line is displayed only in the + form's design view. + </para> + <!--<screenshot> + <screeninfo>Widgets within a grid layout</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_layout_grid.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Widgets within a grid layout</phrase> + </textobject> + </mediaobject> + </screenshot>--> + <para>Besides the grid type, there are other widget layout types.</para> + <variablelist> + <varlistentry> + <term>vertical</term> + <listitem> + <para>Vertical widget layout</para> + <!--<screenshot> + <screeninfo>Vertical widget layout</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_layout_vertical.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Vertical widget layout</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </listitem> + </varlistentry> + <varlistentry> + <term>horizontal</term> + <listitem> + <para>Horizontal widget layout</para> + <!--<screenshot> + <screeninfo>Horizontal widget layout</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_layout_horizontal.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Horizontal widget layout</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </listitem> + </varlistentry> + <!-- TODO podzia poziomy / pionowy + <br><img src="img/05_04_08_form_layout_vertical_splitter.png"> + <br><br> + <br><img src="img/05_04_08_form_layout_horizontal_splitter.png"> + <br><br> + </li> --> + </variablelist> + + <sect3 id="springs-in-widget-layouts"> + <title>Springs in widget layouts</title> + <para> + A <emphasis>spring</emphasis> in widget layouts is a special, invisible element allowing + to adjust widget's position and size within layouts. Such a spring + stretches or squeezes a widget on the right, top, bottom or left hand, + so it can have desired size and position. + </para> + <para>To use a spring:</para> + <procedure> + <step> + <para> + Select <!--<img src="img/spring.png" class="icon">-->spring icon on the + <guilabel>Widgets</guilabel> toolbar. + </para> + </step> + <step> + <para>Click on a selected point of the form to insert the spring.</para> + </step> + </procedure> + <!--<para> + For the following example, the spring has been inserted on the left + hand of the text label "Persons". The label is thus displayed on the + right hand of the form. To make the spring work, it has been put into + a common horizontal layout with the label. + </para> + <screenshot> + <screeninfo>Horizontal layout containing a spring and a text label</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_spring.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Horizontal layout containing a spring and a text label</phrase> + </textobject> + </mediaobject> + </screenshot>--> + <para> + To make springs work you need to create a global widget layout, i.e. a + layout for the form itself. Then, springs can use edges of the form as + a boundary for expanding. + </para> + </sect3> + <!-- + + TODO: The entire text in this section is built around a screenshot + example, so it's commented out for now. + + <sect3 id="advanced-widget-layouts"> + <title>Advanced widget layouts</title> + <para> + Widget layouts can be combined (or nested). On the following example + you can identify two nested layouts: + </para> + <orderedlist> + <listitem> + <para> + Horizontal layout with a spring, aligning the <literal>Persons</literal> + text label to the right. + </para> + </listitem> + <listitem> + <para>Grid layout grouping widgets on the whole form.</para> + </listitem> + </orderedlist> + <screenshot> + <screeninfo>Two widget layouts combined: horizontal layout inside of a grid layout</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_advanced_layout.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Two widget layouts combined: horizontal layout inside of a grid layout</phrase> + </textobject> + </mediaobject> + </screenshot> + <para> + The horizontal layout is treated in the example as a single widget by + the grid layout - it takes exactly one <quote>cell</quote> of the grid. + After opening a form designed this way in the data view, you can notice + (by resizing the form) that: + </para> + <itemizedlist> + <listitem> + <para> + <literal>Persons</literal> text label thanks to the spring used is constantly + aligned to the to the right side of the form. + </para> + </listitem> + <listitem> + <para> + Text fields take all of the available width thanks to putting them + into the grid layout. + </para> + </listitem> + <listitem> + <para> + All the form's widgets are pushed to the top thanks to the spring + used at the bottom of the form. + </para> + </listitem> + </itemizedlist> + <screenshot> + <screeninfo>The form using the two layouts displayed in data view</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_08_form_advanced_layout_view.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>The form using the two layouts displayed in data view</phrase> + </textobject> + </mediaobject> + </screenshot> + </sect3>--> + + <sect3 id="removing-widget-layouts"> + <title>Removing widget layouts</title> + <para> + To remove widget layout without removing widgets, perform one of + these actions: + </para> + <itemizedlist> + <listitem> + <para> + Click with the <mousebutton>right</mousebutton> mouse button on + the layout's border and select <guimenuitem>Break Layout</guimenuitem> + command from the context menu. + </para> + </listitem> + <listitem> + <para> + Click with the <mousebutton>left</mousebutton> mouse button on + the layout's border and select + <menuchoice><guimenu>Format</guimenu><guimenuitem>Break Layout</guimenuitem></menuchoice> + menu command. + </para> + </listitem> + </itemizedlist> + <note> + <para> + Removing widget layout using the <guimenuitem>Break Layout</guimenuitem> + command will not remove widgets contained in the layout. If you want to + remove the widgets as well, just select the layout by clicking on its + border and press <keycap>Delete</keycap> key or use + <menuchoice><guimenu>Edit</guimenu><guimenuitem> + <!--<img src="img/editdelete.png" class="icon">-->Delete</guimenuitem></menuchoice> + menu command or context menu command. + </para> + </note> + </sect3> + + <sect3 id="size-policies-for-widgets-within-a-layout"> + <title>Size policies for widgets within a layout</title> + <para> + Instead of setting a fixed size for your widgets, in &kexi; you can + choose between various widget's size policies. A <emphasis>size policy</emphasis> + is a flexible strategy for controlling how a widget is stretched (or shrunk) + depending on other neighbouring widgets and space available within the form. + </para> + <para> + After putting widgets into a <emphasis>layout</emphasis>, typically each widget + gets a proportional (<guilabel>Preferred</guilabel>) size policy. These widgets + will be automatically resized with preferred settings, depending on their + type and size of the entire layout itself. For example, three buttons put + into the horizontal layout will be resized to fit their visible text. + </para> + <para>For each widget inserted into the form, there are settings for size policy + available in the <interface>Property Editor</interface>. The settings are presented + as a group of properties called <guilabel>Size Policy</guilabel>. + </para> + <!--<screenshot> + <screeninfo>A group of properties for defining a widget's size policy</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_09_size_policy_properties.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>A group of properties for defining a widget's size policy</phrase> + </textobject> + </mediaobject> + </screenshot>--> + <para>This group of properties contains:</para> + <variablelist> + <varlistentry> + <term><guilabel>Horizontal Size Policy</guilabel></term> + <listitem> + <para>defining horizontal size of the widget,</para> + </listitem> + </varlistentry> + <varlistentry> + <term><guilabel>Vertical Size Policy</guilabel></term> + <listitem> + <para>defining vertical size of the widget,</para> + </listitem> + </varlistentry> + <varlistentry> + <term><guilabel>Horizontal Stretch</guilabel></term> + <listitem> + <para> + defining strength of activity of the + <guilabel>Horizontal Size Policy</guilabel>, + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><guilabel>Vertical Stretch</guilabel></term> + <listitem> + <para> + defining strength of activity of the + <guilabel>Vertical Size Policy</guilabel> + </para> + </listitem> + </varlistentry> + </variablelist> + + <sect4> + <title>Values of size policies</title> + <para> + The following values are available in the drop down list for + <guilabel>Horizontal Size Policy</guilabel> and + <guilabel>Vertical Size Policy</guilabel> properties visible + in the <interface>Property Editor</interface>: + </para> + <variablelist> + <varlistentry> + <term><guilabel>Fixed</guilabel></term> + <listitem> + <para> + this value means that the widget cannot be automatically resized; it + should maintain the constant size defined at design time (width or height), + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><guilabel>Minimum</guilabel></term> + <listitem> + <para> + this value means that the original size of the widget is set as minimal + allowed, it is sufficient and there is no need for expanding the widget, + but the widget will be expanded if needed. This type of policy can be used + to force the widget to be expanded to the whole width or height, especially + if you set a stretch value greater than 0. + </para> + <!--<screenshot> + <screeninfo>Text field and two buttons within a grid layout (Minimum horizontal size policy is set for both buttons, so these are slightly wider than needed)</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_09_size_policy_minimum.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Text field and two buttons within a grid layout (Minimum horizontal size policy is set for both buttons, so these are slightly wider than needed)</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </listitem> + </varlistentry> + <varlistentry> + <term><guilabel>Maximum</guilabel></term> + <listitem> + <para> + this value means that the original size of the widget is set as maximum + allowed and can be decreased without breaking the widget's usability + and readability if other widgets need more space, + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><guilabel>Preferred</guilabel></term> + <listitem> + <para> + this value means that the original size of the widget is the best and + preferred; the widget can be shrunk or expanded however and it + will stay readable, + </para> + <!--<screenshot> + <screeninfo>Text field and two buttons within a grid layout (Preferred horizontal size policy is set for both buttons)</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_09_size_policy_preferred.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Text field and two buttons within a grid layout (Preferred horizontal size policy is set for both buttons)</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </listitem> + </varlistentry> + <varlistentry> + <term><guilabel>Expanding</guilabel></term> + <listitem> + <para> + this value means that the original size of the widget is reasonable but + the widget can be also shrunk; it can be expanded as well to take + as much space as possible, + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><guilabel>Minimum Expanding</guilabel></term> + <listitem> + <para> + this value means that the original size of the widget is allowed; it + can be expanded to take as much space as possible, + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><guilabel>Ignored</guilabel></term> + <listitem> + <para> + this value means that the original size of the widget is ignored; the + widget can be expanded to take as much space as possible but other + widgets usually will not allow for that + </para> + </listitem> + </varlistentry> + </variablelist> + <para> + Different widget types have various default size policies; for example, + button widgets have default size policy set to <guilabel>Minimum</guilabel> (in both directions), + while text field widgets have vertical size policy set to <guilabel>Fixed</guilabel>. + </para> + <para> + The most frequently used size policies are <guilabel>Preferred</guilabel>, + <guilabel>Minimum</guilabel> and <guilabel>Maximum</guilabel>. + </para> + </sect4> + + <sect4> + <title>Vertical and horizontal stretch</title> + <para> + The <guilabel>Vertical Stretch</guilabel> and <guilabel>Horizontal Stretch</guilabel> + properties accept integer values greater than or equal to 0. These properties allow to fine-tune the + behavior of size policies. The default value for the properties is 0. + A higher value of the stretch means that the widget will be expanded + more than widgets for which a lower stretch value is set. <!--For example, + the following image presents two buttons where the first button has + Vertical Stretch set to 0 and the second button has Vertical Stretch + set to 1.--> + </para> + <!--<screenshot> + <screeninfo>Size of button widgets affected by setting Vertical Stretch property of the second button to 1</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_09_size_policy_vertical_stretch.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Size of button widgets affected by setting Vertical Stretch property of the second button to 1</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </sect4> + </sect3> + </sect2> + + <sect2 id="setting-widgets-size-and-position-by-hand"> + <title>Setting widgets size and position by hand</title> + <para>In case when your form has no main layout set for auto-positioning and + auto-resizing its widgets, you will probably want to modify the position and size of widgets so the form can look cleaner and be easier to use. The &kexi; form + designer simplifies this task by offering the following groups of commands: + </para> + <itemizedlist> + <listitem> + <para> + Adjusting sizes of selected widgets. The commands are available in the + <menuchoice><guimenu>Format</guimenu><guisubmenu>Adjust Widgets Size</guisubmenu></menuchoice> + submenu of the menubar and in the + <menuchoice><guisubmenu>Adjust Widgets Size</guisubmenu></menuchoice> + submenu of the context menu. The toolbar's drop down + button <!--<img src="img/aogrid.png" class="icon">--><guibutton>Adjust Widgets Size</guibutton> + is also available. + </para> + <variablelist> + <varlistentry> + <term><!--<img src="img/aofit.png" class="icon">--><guilabel>To Fit</guilabel></term> + <listitem> + <para> + The size of the selected widgets will be altered so each widget will be + resized to its preferred size and its contents; for example, a text + label's size will be changed to fit its text. The position of the widgets + will not be changed. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><!--<img src="img/aogrid.png" class="icon">--><guilabel>To Grid</guilabel></term> + <listitem> + <para> + The size of the selected widgets will be altered so each widget's corner + will be placed on the form's (or other container's) grid point. + The widget's position can be slightly altered. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><!--<img src="img/aoshortest.png" class="icon">--><guilabel>To Shortest</guilabel></term> + <listitem> + <para> + The height of the selected widgets will be altered so that each of them + will have the same height as the shortest one. The position of the widgets + will not be changed. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><!--<img src="img/aotallest.png" class="icon">--><guilabel>To Tallest</guilabel></term> + <listitem> + <para> + The height of the selected widgets will be altered so that each of them + will have the same height as the tallest one. The position of the widgets + will not be changed. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><!--<img src="img/aonarrowest.png" class="icon">--><guilabel>To Narrowest</guilabel></term> + <listitem> + <para> + The width of the selected widgets will be altered so that each of them + will have the same height as the narrowest one. The position of the + widgets will not be changed. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><!--<img src="img/aowidest.png" class="icon">--><guilabel>To Widest</guilabel></term> + <listitem> + <para> + The width of the selected widgets will be altered so that each of them + will have the same height as the widest one. The position of the widgets + will not be changed. + </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + <listitem> + <para> + Aligning positions of the selected widgets. The commands are available + in the + <menuchoice><guimenu>Format</guimenu><guisubmenu>Align Widgets Position</guisubmenu></menuchoice> + submenu of the menubar and in the + <menuchoice><guisubmenu>Align Widgets Position</guisubmenu></menuchoice> + submenu of the context menu. The toolbar's drop + down button <!--<img src="img/aoleft.png" class="icon">--> + <guibutton>Align Widgets Position</guibutton> is also available. + </para> + <variablelist> + <varlistentry> + <term><!--<img src="img/aoleft.png" class="icon">--><guilabel>To Left</guilabel></term> + <listitem> + <para> + All the selected widgets' left positions will be moved to the + position of the leftmost widget's left edge. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><!--<img src="img/aoright.png" class="icon">--><guilabel>To Right</guilabel></term> + <listitem> + <para> + All the selected widgets' right positions will be moved to the + position of the rightmost widget's right edge. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><!--<img src="img/aotop.png" class="icon">--><guilabel>To Top</guilabel></term> + <listitem> + <para> + All the selected widgets' top positions will be moved to the + position of the uppermost widget's upper edge. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><!--<img src="img/aobottom.png" class="icon">--><guilabel>To Bottom</guilabel></term> + <listitem> + <para> + All the selected widgets' bottom positions will be moved to the + position of the bottommost widget's bottom edge. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><!--<img src="img/aopos2grid.png" class="icon">--><guilabel>To Grid</guilabel></term> + <listitem> + <para> + All the selected widgets' top-left corners will be moved so that + they are positioned in the nearest grid point. + </para> + </listitem> + </varlistentry> + </variablelist> + <para>None of the above commands resizes the widgets.</para> + </listitem> + </itemizedlist> + <para> + There are also additional commands available: + <!--<img src="img/raise.png" class="icon">--><guimenuitem>Bring Widget to Front</guimenuitem> + (i.e. above all other widgets) and + <!--<img src="img/lower.png" class="icon">--><guimenuitem>Send Widget to Back</guimenuitem> (i.e. below all + other widgets). These two commands are rarely used, as it is not + common to place one widget on top of an other (except when a + container widget contains other widget inside). Also note that clicking + a widget with a mouse button is enough to bring the widget to front. + </para> + </sect2> + + <sect2 id="setting-the-tab-order"> + <title>Setting the tab order</title> + <para> + A widget's focus determines that widget's activity available using keyboard. + Focus is related to widgets displayed in the form's data view. Exactly one + form widget can have focus at the same time. The most frequent use of focus + is text entry (when a given text field is active, i.e. it is focused). + An other example is a button widget - when focused, it is possible to + <quote>press</quote> it using the <keycombo action="press"><keycap>Enter</keycap></keycombo> + or <keycombo action="press"><keycap>Space</keycap></keycombo> key instead of a mouse button. + </para> + <para> + There are a few methods of making the widgets active (moving the focus + to the widget): clicking with a mouse button, rotating the mouse wheel + over the widget, or using the <keycombo action="press"><keycap>Tab</keycap></keycombo> + key. The latter method is often used because of its speed and convenience + for users. Availability of the focusing methods is controlled by + <guilabel>Focus Policy</guilabel> property of a given widget. + </para> + <para> + There is a relationship between focusing (activating) widgets using <keycombo action="press"><keycap>Tab</keycap></keycombo> + key and tab order setting of a form. After pressing the <keycombo action="press"><keycap>Tab</keycap></keycombo> key, the + next widget should be focused, so the form should know about the tab order. + </para> + <para>To alter tab order for a form's widget:</para> + <procedure> + <step> + <para>Switch to design view of the form.</para> + </step> + <step> + <para> + Execute <menuchoice><guimenu>Edit</guimenu><guimenuitem>Edit Tab Order...</guimenuitem></menuchoice> + menu command. The <guilabel>Edit Tab Order</guilabel> dialog will appear with settings for this form. + </para> + <!--<screenshot> + <screeninfo>A window for editing tab order for a form</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_11_tab_stop_dialog.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>A window for editing tab order for a form</phrase> + </textobject> + </mediaobject> + </screenshot>--> + <para> + The window contains a list with two columns: the first column displays + widget names, the second - types of the widgets. To make it easier to + recognize meaning of the names and types for the user, icons related + to the types are also displayed. The list contains only widgets having + focus policy allowing to use the <keycap>Tab</keycap> key. The window + allows you to change the tab order or set the automatic tab order. + </para> + </step> + <step> + <para>To change tab order, either:</para> + <itemizedlist> + <listitem> + <para> + Click a selected widget name in the widgets list and drag it + to a desired position (up or down) using the mouse. + </para> + </listitem> + <listitem> + <para> + Click a selected widget name on the widgets list and use + <guibutton>Move Up</guibutton> or <guibutton>Move Down</guibutton> + buttons, to move the widgets to a desired position. + </para> + </listitem> + <listitem> + <para> + Click the <guilabel>Handle tab order automatically</guilabel> check box to set the + automatic tab order for the form. If this option has been switched + on, any changes made to the list of widgets by hand are not taken + into account - &kexi; will be handling the tab orders on its own. + The automatic ordering means that the top-left widget will be focused + first (or the top-right if your operating system uses right-to-left + layout), and the order comes from the left to right (from the right + to left, respectively) and from the top to bottom. + </para> + <!--<screenshot> + <screeninfo>Automatic tab order for a form</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_04_11_auto_tab_stop.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Automatic tab order for a form</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </listitem> + </itemizedlist> + </step> + <step> + <para> + Click the <guibutton>OK</guibutton> button to accept the changes or <guibutton>Cancel</guibutton> button to dismiss + the changes. + </para> + </step> + </procedure> + </sect2> + </sect1> diff --git a/doc/kexi/enteringdataintotables.docbook b/doc/kexi/enteringdataintotables.docbook new file mode 100644 index 00000000..d65c17d3 --- /dev/null +++ b/doc/kexi/enteringdataintotables.docbook @@ -0,0 +1,130 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" > + + --> + + <sect1 id="entering-data-into-tables"> + <title>Entering Data Into Tables</title> + <para> + You have designed the two tables <literal>Persons</literal> and + <literal>phone_numbers</literal>. None of them contain any data yet. You can + enter some, and in this chapter you will learn how to do this fast and effectively. + </para> + <procedure> + <step> + <para> + Start with the <literal>persons</literal> table. Open it in <interface>Data View</interface> using the <!--<a href="04_06_01_project_navigator.html">--><interface>Project Navigtor</interface>'s context menu. + The current cell is marked with + (usually black) thicker border, a <firstterm>cell cursor</firstterm>. The contents + of the cell, if present, are highlighted with a different color. The current + row, i.e. the one you have placed your rectangular cursor in, is marked + on the left hand with an arrow symbol. + <!--<img src="icons/button_tableview_currentrow.png" class="icon">--> + </para> + <para> + You can navigate through table cells using the arrow keys, <keycap>Page Down</keycap>, + <keycap>Page Down</keycap>, <keycap>Home</keycap>, <keycap>End</keycap> keys; you can also + click with the mouse in a cell to select it. <!-- TODO chapter moved + To learn more + about available key bindings for the data table view, see the section + <a href="ab_00_00_shortcuts.html#data_table"> + B.4. Data Table in the Appendix B. Key Bindings. --> + </para> + <para> + Initially, after opening the table <literal>Persons</literal>, the cursor is placed in + the <literal>id</literal> column. The column has autonumber property defined, + marked with blue <literal>(autonumber)</literal> text in the last row. It + means you do not have to enter values there by hand when entering data for a new + row because the cell will be filled automatically with successive numbers. + </para> + <!--<screenshot> + <screeninfo>Data entry</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_02_00_data_editing.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Data entry</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </step> + <step> + <para> + Inserting new rows and entering data for them in &kexi; is different from + the way of doing this in spreadsheets. To enter data for a new row, you need + to use the arrow keys or mouse, to move your cursor to the special empty last + row marked with a plus <!--<img src="icons/button_tableview_newrow.png" class="icon">--> + sign. Place your cursor in the (second) <literal>name</literal> column and enter a + person's name. Also enter surname, street, house number and city. When + done, move the cell cursor to the last empty row either by using the + <keycap>Arrow Down</keycap> key or by clicking in the last + row with the mouse to append a new row. + </para> + <note> + <title>Details About Actions Available While Entering Data Into Tables</title> + <itemizedlist> + <listitem> + <para> + As soon as you enter the first character, the current row is being edited. A pencil <!--<img src="icons/button_tableview_editrow.png" class="icon">--> symbol appears on the left side of the data table. + </para> + </listitem> + <listitem> + <para> + Double clicking a cell with the &LMB; or pressing <keycap>Enter</keycap> or the <keycap>F2</keycap> key also starts + editing of the current row. + </para> + </listitem> + <listitem> + <para> + Pressing the <keycap>Esc</keycap> key when the contents of a cell is edited + <emphasis>cancels changes made to this cell</emphasis>. However, the pencil + <!--<img src="icons/button_tableview_editrow.png" class="icon">--> + symbol will not disappear because you can still move to a different cell + of the edited row to change its contents. To + <emphasis>cancel changes made to the entire edited row</emphasis>, press the + <keycap>Esc</keycap> key again. + </para> + </listitem> + <listitem> + <para> + Instead of pressing the <keycap>Esc</keycap> key, you can click the + <!--<img src="icons/button_cancel.png" class="icon">--><guibutton>Cancel</guibutton> + toolbar button or select + <menuchoice><guimenu>Data</guimenu><guimenuitem>Cancel Row Changes</guimenuitem></menuchoice> + from the menubar. + </para> + </listitem> + <listitem> + <para> + Click the <keycombo action="simul"><keycap>Shift</keycap><keycap>Enter</keycap></keycombo> + keys to accept changes made to all cells in the currently edited row. You can also click + <!--<img src="icons/button_ok.png" class="icon">--><guibutton>OK</guibutton> toolbar + button or select <menuchoice><guimenu>Data</guimenu><guimenuitem>Save Row</guimenuitem></menuchoice> + from the menubar. + </para> + </listitem> + </itemizedlist> + </note> + </step> + <step> + <para> + Fill the <literal>phone_numbers</literal> table with data.<!--, e.g. similar to + provided in the figure below.--> In the <literal>persons</literal> column you + need to provide a number of the person existing in the <literal>persons</literal> + table. + </para> + <!--<screenshot> + <screeninfo>Example contents of the <literal>phone_numbers</literal> table</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_01_01_table2_contents.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Example contents of the <literal>phone_numbers</literal> table</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </step> + </procedure> + </sect1> diff --git a/doc/kexi/enteringdatausingforms.docbook b/doc/kexi/enteringdatausingforms.docbook new file mode 100644 index 00000000..08fcb627 --- /dev/null +++ b/doc/kexi/enteringdatausingforms.docbook @@ -0,0 +1,33 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" > + + --> + + <sect1 id="entering-data-using-forms"> + <title>Entering Data Using Forms</title> + <para> + Data entering and editing is usually the task of the user of the database application. The designer of the database should check the form in terms of valid + data entry, and see whether the form works as expected. + </para> + <para> + To test your form, switch to its data view. A single database row (record) + of data will be displayed and a text cursor will be set inside the first + data field. You can move between fields using the &LMB; or the <keycap>Tab</keycap> and + <keycombo action="simul"><keycap>Shift</keycap><keycap>Tab</keycap></keycombo> + keys. While editing, there will be a + <!--<img src="icons/button_tableview_editrow.png" class="icon">--> + pencil icon visible near the record navigator. After entering the row's (record) + data you can press the + <keycombo action="simul"><keycap>Shift</keycap><keycap>Enter</keycap></keycombo> + keys or click the + <!--<img src="icons/button_ok.png" class="icon">--><guibutton>OK</guibutton> + toolbar button to accept changes made to the current row. Clicking the + <!--<img src="icons/button_cancel.png" class="icon">--><guibutton>Cancel</guibutton> + toolbar button discards changes made to the current row and restores the contents of + the data fields. You can use the <!--<img src="icons/navigator_next.png" class="icon">--> + record navigator's button to move to a new row. All the navigator's functions are + also available in a similar way as in the data table view + <!-- TODO link -->. + <!-- TODO shortcuts! --> + </para> + </sect1> diff --git a/doc/kexi/index.docbook b/doc/kexi/index.docbook new file mode 100644 index 00000000..04692e4c --- /dev/null +++ b/doc/kexi/index.docbook @@ -0,0 +1,122 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY package "koffice"> + <!ENTITY kappname "&kexi;"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % English "INCLUDE"> + + <!-- Chapters --> + <!ENTITY intro SYSTEM "intro.docbook"> + <!ENTITY basics SYSTEM "basics.docbook"> + <!ENTITY building SYSTEM "building.docbook"> + <!ENTITY querydesigning SYSTEM "querydesigning.docbook"> + <!ENTITY enteringdataintotables SYSTEM "enteringdataintotables.docbook"> + <!ENTITY designingforms SYSTEM "designingforms.docbook"> + <!ENTITY enteringdatausingforms SYSTEM "enteringdatausingforms.docbook"> + <!ENTITY configuration SYSTEM "configuration.docbook"> + <!ENTITY menus SYSTEM "menus.docbook"> + <!ENTITY credits SYSTEM "credits.docbook"> + <!ENTITY database SYSTEM "database.docbook"> + <!ENTITY comparing SYSTEM "comparing.docbook"> + <!-- Do not define any other entities; instead, use the entities + from entities/general.entities and $LANG/user.entities. --> +]> + +<book lang="&language;"> + +<bookinfo> +<title> + The &kexi; Handbook +</title> + +<authorgroup> + <author> + <personname> + <firstname>Martin</firstname> + <othername>A.</othername> + <surname>Ellis</surname> + </personname> + <email>martin.ellis@kdemail.net</email> + </author> + <author> + <personname> + <firstname>Jaroslaw</firstname> + <surname>Staniek</surname> + </personname> + <email>js@iidea.pl</email> + </author> + <!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> + +<copyright> + <year>2004</year> + <year>2005</year> + <year>2006</year> + <holder>Jaroslaw Staniek</holder> + <holder>Martin Ellis</holder> +</copyright> + +<!-- Translators: put here the copyright notice of the translation --> +<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook + and in the FDL itself on how to use it. --> +<legalnotice>&FDLNotice;</legalnotice> + +<!-- Date and version information of the documentation +Don't forget to include this last date and this last revision number, we +need them for translation coordination ! +Please respect the format of the date (YYYY-MM-DD) and of the version +(V.MM.LL), it could be used by automation scripts. +Do NOT change these in the translation. --> + +<date>2006-09-07</date> +<releaseinfo>1.6</releaseinfo> + +<!-- Abstract about this handbook --> +<abstract> + <para> + &kexi; is the application for creating databases and for data management + in the &koffice; productivity suite. + </para> +</abstract> + +<!-- Keywords --> +<keywordset> + <keyword>KDE</keyword> + <keyword>KOffice</keyword> + <keyword>Kexi</keyword> + <keyword>database</keyword> +</keywordset> + +</bookinfo> + +<!-- The contents of the documentation begin here. Label +each chapter so with the id attribute. This is necessary for two reasons: it +allows you to easily reference the chapter from other chapters of your +document, and if there is no ID, the name of the generated HTML files will vary +from time to time making it hard to manage for maintainers and for the CVS +system. Any chapter labelled (OPTIONAL) may be left out at the author's +discretion. Other chapters should not be left out in order to maintain a +consistent documentation style across all KDE apps. --> + +&intro; +&basics; +&building; +&configuration; +&menus; +&credits; +&database; +&comparing; + +&documentation.index; +</book> + +<!-- +Local Variables: +mode: sgml +sgml-minimize-attributes: nil +sgml-general-insert-case: lower +End: + +vim:tabstop=2:shiftwidth=2:expandtab +kate: space-indent on; indent-width 2; tab-width 2; indent-mode none; +--> diff --git a/doc/kexi/intro.docbook b/doc/kexi/intro.docbook new file mode 100644 index 00000000..dc62ba00 --- /dev/null +++ b/doc/kexi/intro.docbook @@ -0,0 +1,78 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" > +--> + +<chapter id="introduction"> +<title>Introduction</title> + +<!-- The introduction chapter contains a brief introduction for the +application that explains what it does and where to report +problems. Basically a long version of the abstract. Don't include a +revision history. (see installation appendix comment) --> + +<para> + &kexi; is a database management application. It can be used for + creating databases, inserting data, performing queries, and processing + data. Forms can be created to provide a custom interface to your + data. All database objects - tables, queries and forms - are stored in + the database, making it easy to share data and design. +</para> + +<para> + &kexi; is part of the &koffice; productivity suite for the K Desktop + Environment. +</para> + +<para> + In addition to storing your &kexi; databases in files, &kexi; can also + store your data on a <firstterm>database server</firstterm>. Using + a database server allows you to share your database with other + people, and also allows more than one person to use the database at + one time. The following database servers are supported by &kexi;: + <itemizedlist> + <listitem> + <para> + MySQL (See <ulink url="http://www.mysql.com/" + >http://www.mysql.com/</ulink>) + </para> + </listitem> + <listitem> + <para> + PostgreSQL (See <ulink url="http://www.postgresql.org/" + >http://www.postgresql.org/</ulink>) + </para> + </listitem> + </itemizedlist> +</para> + +<para> + More information about &kexi; can be found at the &kexi; page on the + &koffice; website + at <ulink + url="http://www.koffice.org/kexi/">http://www.koffice.org/kexi/</ulink>, + and on the website for &kexi; itself + at <ulink url="http://www.kexi-project.org/about.html" + >http://www.kexi-project.org/about.html</ulink>. +</para> + +<para> + If you have any questions about &kexi;, there are two mailing lists + you can use. The <ulink url="mailto:kexi@kde.org">Kexi user mailing + list</ulink> can be used to ask questions about using &kexi; or about + the &kexi; project. The <ulink url="mailto:kexi-devel@kde.org">Kexi + development mailing list</ulink> can be used to ask questions about + the development of &kexi;. Further information on how to subscribe + to these lists, together with a few other ways of making contact with + &kexi; developers, can be found at: + <itemizedlist> + <listitem> + <para> + <ulink + url="http://www.kexi-project.org/support.html" + >http://www.kexi-project.org/support.html</ulink> + </para> + </listitem> + </itemizedlist> +</para> +</chapter> + diff --git a/doc/kexi/menus.docbook b/doc/kexi/menus.docbook new file mode 100644 index 00000000..8428fcaf --- /dev/null +++ b/doc/kexi/menus.docbook @@ -0,0 +1,701 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" > +--> + +<chapter id="menus"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Anne-Marie</firstname> + <surname>Mahfouf</surname> + <affiliation> + <address><email>annemarie.mahfouf@free.fr</email></address> + </affiliation> + </author> + <author> + <personname> + <firstname>Jarosław</firstname> + <surname>Staniek</surname> + </personname> + <email>js@iidea.pl</email> + </author> + <!-- TRANS:ROLES_OF_TRANSLATORS --> + </authorgroup> + </chapterinfo> + <title>Command Reference</title> + + <sect1 id="filemenu"> + <title>The <guimenu>File</guimenu> Menu</title> + <para> + <variablelist> + <varlistentry> + <term><menuchoice> + <shortcut> + <keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> + </shortcut> + <guimenu>File</guimenu> + <guimenuitem>New...</guimenuitem> + </menuchoice></term> + <listitem><para><action>Create a new project.</action> Currently opened project is not affected.</para></listitem> + </varlistentry> + + <varlistentry> + <term><menuchoice> + <shortcut> + <keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo> + </shortcut> + <guimenu>File</guimenu> + <guimenuitem>Open...</guimenuitem> + </menuchoice></term> + <listitem><para><action>Open an existing project.</action> Currently opened project is not affected.</para></listitem> + </varlistentry> + + <varlistentry> + <term> + <menuchoice> + <guimenu>File</guimenu> + <guimenuitem>Download Example Databases...</guimenuitem> + </menuchoice> + </term> + <listitem> + <para><action>Open the KNewStuff dialog</action> which + allows you to download example databases via the + Internet. This is currently not available for MS Windows.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <menuchoice> + <shortcut> + <keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo> + </shortcut> + <guimenu>File</guimenu> + <guimenuitem>Save</guimenuitem> + </menuchoice> + </term> + <listitem> + <para><action>Saves object changes from the active window.</action></para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <menuchoice> + <guimenu>File</guimenu> + <guisubmenu>Import</guisubmenu> + <guimenuitem>Data Table...</guimenuitem> + </menuchoice> + </term> + <listitem> + <para><action>Imports table data from a file in Comma Separated Value (CSV) format.</action></para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <menuchoice> + <guimenu>File</guimenu> + <guisubmenu>Export</guisubmenu> + <guimenuitem>Table or Query as Data Table...</guimenuitem> + </menuchoice> + </term> + <listitem> + <para><action>Export data from the active table or query data to a file in Comma Separated Value (CSV) format.</action></para> + </listitem> + </varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Print...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Print data from the active (opened) table or query.</action></para> +<important><para>Note for KDE: Make sure the proper print system is selected in the +<quote>Print system currently used:</quote> section. This option can +be seen after clicking on the <guimenu>Options>></guimenu> button.</para></important></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Print Preview...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Show print preview for the active (opened) table or query.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Page Setup...</guimenuitem> +</menuchoice></term> +<listitem><para><guibutton>Set Font...</guibutton> for the <guilabel>Page title:</guilabel>, +<guibutton>Change...</guibutton> <guilabel>Page Size & Margins</guilabel> and +<guilabel>Add table borders</guilabel>.</para></listitem> +</varlistentry> + + <varlistentry> + <term> + <menuchoice> + <shortcut> + <keycombo action="simul">&Ctrl;<keycap>W</keycap></keycombo> + </shortcut> + <guimenu>File</guimenu> + <guimenuitem>Close Project</guimenuitem> + </menuchoice> + </term> + <listitem> + <para><action>Close the currently opened project but leave &kexi; running. + </action></para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <menuchoice> + <shortcut> + <keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo> + </shortcut> + <guimenu>File</guimenu> + <guimenuitem>Quit</guimenuitem> + </menuchoice> + </term> + <listitem> + <para><action>Quit</action> &kexi;.</para> + </listitem> + </varlistentry> + </variablelist> + </para> + </sect1> + +<sect1 id="editmenu"> +<title>The <guimenu>Edit</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Undo</guimenuitem> +</menuchoice></term> +<listitem><para><action>Undoes an action.</action> You can revert to the state that existed +before your last change.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl; &Shift; <keycap>Z</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Redo</guimenuitem> +</menuchoice></term> +<listitem><para><action>Undoes an undo.</action> Reverse the action of Undo. This will restore the change +you originally made.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>X</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Cut</guimenuitem> +</menuchoice></term> +<listitem><para><action>Remove currently selected text and put it on the clipboard.</action> +This command is unavailable if there is no text currently selected. If this action is used +in the Form Designer, currently selected widget or group of widgets are removed and put on the clipboard. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Copy</guimenuitem> +</menuchoice></term> +<listitem><para><action>Copy currently selected text onto the clipboard. </action> +This command is unavailable if there is no text currently selected. If this action is used +in the Form Designer, currently selected widget or group of widgets are copied onto +the clipboard.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Paste</guimenuitem> +</menuchoice></term> +<listitem><para><action>Copy of the clipboard contents at the insertion point. </action> +This command is unavailable if the clipboard is empty. If this action is used +in the Form Designer and the clipboard contains copied widgets, they will be inserted +onto the form.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guisubmenu>Copy Special</guisubmenu> +<guimenuitem>Table or Query As Data Table...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Copy selected table or query data to clipboard.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guisubmenu>Paste Special</guisubmenu> +<guimenuitem>As Data Table...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Paste clipboard data to a new table within the current project. +</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>A</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Select All</guimenuitem> +</menuchoice></term> +<listitem><para><action>Select all characters in the edited text box or all widgets in the Form Designer. +</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Delete</guimenuitem> +</menuchoice></term> +<listitem><para><action>Delete the currently selected object.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Delete</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Delete Row</guimenuitem> +</menuchoice></term> +<listitem><para><action>Delete currently selected row from a table.</action></para></listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="viewmenu"> +<title>The <guimenu>View</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<shortcut><keycap>F6</keycap></shortcut> +<guimenu>View</guimenu> +<guimenuitem>Data View</guimenuitem> +</menuchoice></term> +<listitem><para><action>Switch to Data View.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycap>F7</keycap></shortcut> +<guimenu>View</guimenu> +<guimenuitem>Design View</guimenuitem> +</menuchoice></term> +<listitem><para><action>Switch to Design View.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycap>F8</keycap></shortcut> +<guimenu>View</guimenu> +<guimenuitem>Text View</guimenuitem> +</menuchoice></term> +<listitem><para><action>Switch to Text View.</action> Currently, only available for database queries +and means switching to the SQL View of the Query Designer.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Alt;<keycap>1</keycap></keycombo> +</shortcut> +<guimenu>View</guimenu> +<guimenuitem>Project Navigator</guimenuitem> +</menuchoice></term> +<listitem><para><action>Go to Project Navigator pane.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Alt;<keycap>2</keycap></keycombo> +</shortcut> +<guimenu>View</guimenu> +<guimenuitem>Main Area</guimenuitem> +</menuchoice></term> +<listitem><para><action>Go to the main area.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Alt;<keycap>3</keycap></keycombo> +</shortcut> +<guimenu>View</guimenu> +<guimenuitem>Property Editor</guimenuitem> +</menuchoice></term> +<listitem><para><action>Go to the Property Editor pane.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Show/Hide Properties</guimenuitem> +</menuchoice></term> +<listitem><para><action>Display or hide the Property Editor pane.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Show/Hide Project Navigator</guimenuitem> +</menuchoice></term> +<listitem><para><action>Display or hide the Project Navigator pane.</action></para></listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="insertmenu"> +<title>The <guimenu>Insert</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Table...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a new, empty table design without saving it.</action> +The Table Designer window will appear.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Query...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a new, empty query design without saving it.</action> +The Query Designer window will appear.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Form...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a new, empty form design without saving it.</action> +The Form Designer window will appear.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Script...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a new, empty script design without saving it.</action> +The Script Editor window will appear. The command is available only if scripting +is enabled in &kexi;.</para></listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="formatmenu"> +<title>The <guimenu>Format</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Font...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Change font for selected object.</action> +Can be used in the Form Designer to set widget's font.</para></listitem> +</varlistentry> + +<!-- Forms --> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Snap to Grid</guimenuitem> +</menuchoice></term> +<listitem><para><action>If this is enabled, when moving widgets on the form surface +the top left corner of the widget will snap or move to the nearest grid point.</action> +This does reduce your freedom to freely position widgets on the form surface, +however it also helps to line up widgets precisely.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Layout Widgets</guimenuitem> +</menuchoice></term> +<listitem><para>Creates a new layout for widgets. Widgets can be layed out Horizontally, Vertically, In Grid, Horizontally in Splitter, Vertically in Splitter.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Break Layout</guimenuitem> +</menuchoice></term> +<listitem><para><action>Breaks the currently selected layout.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Align Widgets Position</guimenuitem> +</menuchoice></term> +<listitem><para><action>Align the currently selected widgets' position: +To Left, To Right, To Top, To Bottom, To Grid.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Align Widgets Size</guimenuitem> +</menuchoice></term> +<listitem><para><action>Align the currently selected widgets' size: +To Fit, To Grid, To Shortest, To Tallest, To Narrowest, To Widest.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Bring Widget to Front</guimenuitem> +</menuchoice></term> +<listitem><para><action>Bring the currently selected widgets to front.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Send Widget to Back</guimenuitem> +</menuchoice></term> +<listitem><para><action>Send the currently selected widgets to back.</action></para></listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="datamenu"> +<title>The <guimenu>Data</guimenu> Menu</title> + +<!--when do the first two items appear ???--> +<variablelist> +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Shift;<keycap>Return</keycap></keycombo> +</shortcut> +<guimenu>Data</guimenu> +<guimenuitem>Save Row</guimenuitem> +</menuchoice></term> +<listitem><para><action>Save currently selected table row's data.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Cancel Row Changes</guimenuitem> +</menuchoice></term> +<listitem><para><action>Cancel changes made to currently selected table row.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guisubmenu>Sort</guisubmenu> +<guimenuitem>Ascending</guimenuitem> +</menuchoice></term> +<listitem><para><action>Sorts data in ascending order (from A to Z and from 0 to 9).</action> +Data from selected column is used for sorting.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guisubmenu>Sort</guisubmenu> +<guimenuitem>Descending</guimenuitem> +</menuchoice></term> +<listitem><para><action>Sorts data in descending (from Z to A and from 9 to 0).</action> +Data from selected column is used for sorting.</para></listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="toolsmenu"> +<title>The <guimenu>Tools</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Import Database...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the Data Base Importing Wizard</action> +to import an existing database into a &kexi; database.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Execute Script File...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Displays the file dialog</action> +to open an existing script file.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Scripts Manager...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Displays &kexi;'s <guilabel>Scripts Manager</guilabel> +dialog</action> to execute, load, unload, install, unistall or download scripts.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Scripts</guimenuitem> +</menuchoice></term> +<listitem><para><action>Executes an already loaded script.</action></para></listitem> +</varlistentry> + +</variablelist> +</sect1> + +<sect1 id="windowmenu"> +<title>The <guimenu>Window</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>W</keycap></keycombo> +</shortcut> +<guimenu>Window</guimenu> +<guimenuitem>Close</guimenuitem> +</menuchoice></term> +<listitem><para><action>Close the active window.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Window</guimenu> +<guimenuitem>Close All</guimenuitem> +</menuchoice></term> +<listitem><para><action>Close all opened windows.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Window</guimenu> +<guisubmenu>MDI Mode</guisubmenu> +<guimenuitem>Childframe Mode</guimenuitem> +</menuchoice></term> +<listitem><para><action>Switch to Childframe user interface mode.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Window</guimenu> +<guisubmenu>MDI Mode</guisubmenu> +<guimenuitem>IDEAl Mode</guimenuitem> +</menuchoice></term> +<listitem><para><action><action>Switch to IDEAl user interface mode.</action></action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Alt;<keycap>Right</keycap></keycombo> +</shortcut> +<guimenu>Window</guimenu> +<guimenuitem>Next Window</guimenuitem> +</menuchoice></term> +<listitem><para><action>Switch to the next window.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Alt;<keycap>Left</keycap></keycombo> +</shortcut> +<guimenu>Window</guimenu> +<guimenuitem>Previous Window</guimenuitem> +</menuchoice></term> +<listitem><para><action>Switch to the previous window.</action></para></listitem> +</varlistentry> + +</variablelist> +<para>The last items in this menu show the currently opened window names.</para> +</sect1> + + <sect1 id="settingsmenu"> + <title>The <guimenu>Settings</guimenu> Menu</title> + + <para> + <variablelist> + <varlistentry> + <term> + <menuchoice> + <guimenu>Settings</guimenu> + <guimenuitem>Toolbars</guimenuitem> + </menuchoice> + </term> + <listitem> + <para><action>Show or hide one of the toolbars.</action></para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <menuchoice> + <guimenu>Settings</guimenu> + <guimenuitem>Configure Shortcuts...</guimenuitem> + </menuchoice> + </term> + <listitem> + <para><action>Configure the keyboard shortcuts used by &kexi;. + </action> See the section on configuring shortcuts for more + details.</para> + </listitem> + </varlistentry> + + </variablelist> +</para> +</sect1> + +<sect1 id="helpmenu"> + <title>The <guimenu>Help</guimenu> Menu</title> + +&help.menu.documentation; + +</sect1> +</chapter> diff --git a/doc/kexi/querydesigning.docbook b/doc/kexi/querydesigning.docbook new file mode 100644 index 00000000..5114dbd0 --- /dev/null +++ b/doc/kexi/querydesigning.docbook @@ -0,0 +1,109 @@ +<!-- + <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" > + + --> + + <sect1 id="designing-queries"> + <title>Designing Database Queries</title> + <para> + A database's primary purpose is to store and help extract information + you are looking for. Unlike databases written on a paper sheets, &kexi; + database allows you to specify more search criteria. Results + are returend faster even for large data sets. All this is a power of + databases, however to be able to perform efffective <emphasis>queries</emphasis> + in your database, you need to learn how to tell the database what you are + looking for. + </para> + <para> + With database queries you can limit data coming from a table to a predefined + set of rows and columns as well as dynamically <firstterm>join</firstterm> + data coming from multiple tables. + </para> + <para> + To see how queries work in practice you will create a <literal>contacts</literal> + query joining data from two tables: <literal>persons</literal> and + <literal>phone_numbers</literal> (designed in + <!--<a href="05_01_00_table_designing.html">-->chapter 3.1i + <!--</a>--> + and filled with data in + <!--<a href="05_02_00_entering_data_into_tables.html">-->chapter 3.2 + <!--</a>-->). + </para> + <procedure> + <step> + <para> + Create a new empty query by selecting <!--<img src="icons/query_newobj.png" class="icon">--> + <menuchoice><guimenu>Insert</guimenu><guimenuitem>Query</guimenuitem></menuchoice> from + the menubar. The design window will appear. <!--similar to the one presented in the + figure below. -->The window is split into two areas: query + relationships at the top and query columns below. + <!-- TODO update screenshot with names of window's areas --> + </para> + </step> + <step> + <para> + Select the table <literal>persons</literal> in the drop down list <guilabel>Table:</guilabel> + located at the top of the window and click the <guibutton>Add</guibutton> button. A graphical + representation of the table will appear in the relations area. Do the same for the + <literal>phone_numbers</literal> table to insert it too, as in the figure below. + </para> + <!--<screenshot> + <screeninfo><literal>contacts</literal> query design</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_03_00_query_design.png" format="PNG"/> + </imageobject> + <textobject> + <phrase><literal>contacts</literal> query design</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </step> + <step> + <para> + Add query relationship using mouse drag & drop technique: click the field + <literal>id</literal> in the table <literal>persons</literal> table, drag it + and drop into the <literal>person</literal> field of the <literal>phone_numbers</literal> + table. This will <emphasis>join both fields by creating a new relationship</emphasis>. + </para> + </step> + <step> + <para> + Double-click the <literal>name</literal> field in the <literal>persons</literal> + table, to add the field as a <firstterm>query column</firstterm>. In a similar way, + add <literal>surname</literal>, <literal>street</literal>, <literal>house_number</literal>, + <literal>city</literal> fields from the <literal>persons</literal> table and + <literal>phone</literal> from the <literal>phone_numbers</literal> table. + </para> + </step> + <step> + <para> + Query design is now ready for testing. Click the <!--<img src="icons/state_data.png" class="icon">--> + <guibutton>Switch to data view</guibutton> button on the toolbar, to switch from + design to viewing the data provided as query results. + </para> + <!--<screenshot> + <screeninfo><literal>Contacts</literal> query results</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="img/05_03_00_query_results.png" format="PNG"/> + </imageobject> + <textobject> + <phrase><literal>Contacts</literal> query results</phrase> + </textobject> + </mediaobject> + </screenshot>--> + </step> + <step> + <para> + Save the query design for later use by clicking the <!--<img src="icons/filesave.png" class="icon">--> + <guibutton>Save</guibutton> button on the toolbar. You can also use + <menuchoice><guimenu>File</guimenu><guimenuitem>Save</guimenuitem></menuchoice> + from the menubar or press the <keycombo action="simul"><keycap>Ctrl</keycap><keycap>S</keycap></keycombo> + keys. Because the query design has not been saved yet, you will be asked to + specify a name for it. Enter <literal>Contacts</literal> text in the + <guilabel>caption</guilabel> field and click the <guibutton>OK</guibutton> button. + </para> + </step> + </procedure> + </sect1> diff --git a/doc/kformula/Makefile.am b/doc/kformula/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/kformula/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/kformula/ambiguous-string.png b/doc/kformula/ambiguous-string.png Binary files differnew file mode 100644 index 00000000..83aafdc5 --- /dev/null +++ b/doc/kformula/ambiguous-string.png diff --git a/doc/kformula/correct_index_location.png b/doc/kformula/correct_index_location.png Binary files differnew file mode 100644 index 00000000..65f07d18 --- /dev/null +++ b/doc/kformula/correct_index_location.png diff --git a/doc/kformula/definite_integral.png b/doc/kformula/definite_integral.png Binary files differnew file mode 100644 index 00000000..16af377e --- /dev/null +++ b/doc/kformula/definite_integral.png diff --git a/doc/kformula/file-toolbar.png b/doc/kformula/file-toolbar.png Binary files differnew file mode 100644 index 00000000..39ea201d --- /dev/null +++ b/doc/kformula/file-toolbar.png diff --git a/doc/kformula/file-toolbar2.png b/doc/kformula/file-toolbar2.png Binary files differnew file mode 100644 index 00000000..3c2f94d3 --- /dev/null +++ b/doc/kformula/file-toolbar2.png diff --git a/doc/kformula/green1.png b/doc/kformula/green1.png Binary files differnew file mode 100644 index 00000000..880f5768 --- /dev/null +++ b/doc/kformula/green1.png diff --git a/doc/kformula/green2.png b/doc/kformula/green2.png Binary files differnew file mode 100644 index 00000000..132cfb9f --- /dev/null +++ b/doc/kformula/green2.png diff --git a/doc/kformula/greens.png b/doc/kformula/greens.png Binary files differnew file mode 100644 index 00000000..8f1abfc3 --- /dev/null +++ b/doc/kformula/greens.png diff --git a/doc/kformula/incorrect_index_location.png b/doc/kformula/incorrect_index_location.png Binary files differnew file mode 100644 index 00000000..33b7238b --- /dev/null +++ b/doc/kformula/incorrect_index_location.png diff --git a/doc/kformula/index.docbook b/doc/kformula/index.docbook new file mode 100644 index 00000000..f142b689 --- /dev/null +++ b/doc/kformula/index.docbook @@ -0,0 +1,1246 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kappname "&kformula;"> + <!ENTITY package "koffice"> + <!ENTITY % English "INCLUDE" > <!-- change language only here --> + <!ENTITY % addindex "IGNORE"> +]> + +<book lang="&language;"> + +<bookinfo> +<title>The &kformula; Handbook</title> + +<authorgroup> + +<author> +<firstname>Jonathan</firstname> +<surname>Drews</surname> +<affiliation><address><email>j.e.drews@att.net</email></address></affiliation> +</author> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation><address><email>annma@kde.org</email></address></affiliation> +</author> +<author> +<firstname>Alfredo</firstname> +<surname>Beaumont Sainz</surname> +<affiliation><address><email>alfredo.beaumont@gmail.com</email></address></affiliation> +</author> +<othercredit role="developer"> +<firstname>Ulrich</firstname> +<surname>Küttler</surname> +<contrib>Developer</contrib> +</othercredit> + +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +<copyright> +<year>2002</year> +<holder>Jonathan Drews</holder> +</copyright> +<copyright> +<year>2005</year> +<holder>Anne-Marie Mahfouf</holder> +</copyright> +<copyright> +<year>2006</year> +<holder>Alfredo Beaumont Sainz</holder> +</copyright> +<legalnotice>&FDLNotice;</legalnotice> + +<date>2006-09-09</date> +<releaseinfo>1.5.90</releaseinfo> + +<abstract> +<para> +&kformula; is used to layout formulas. +</para> +</abstract> + + +<keywordset> +<keyword>KDE</keyword> +<keyword>KOffice</keyword> +<keyword>kformula</keyword> +<keyword>formula</keyword> +</keywordset> + +</bookinfo> + +<chapter id="introduction"> +<title>Introduction</title> +<para>&kformula; is used to write formulas. It doesn't evaluate +anything. All it does is print them.</para> +<para>&kformula; was designed for your editing pleasure. It makes it +delightful to enter Greek letters, fractions and all the stuff that +makes a formula look like a formula.</para> +<para>But most of the time you won't want to use &kformula; itself. +Instead you might choose to use it from within &kword; or any other +&koffice; application. That is &kformula; is not a useful application +on its own but an extension to all the other &koffice; applications +you've fallen in love with.</para> + +<para>Where ever &kformula; gets embedded, it will +behave the same.</para> + +</chapter> + +<chapter id="basics"> +<title>Basics</title> +<para>A new (empty) &kformula; document looks like a small blue square. +This square stands for the central idea of &kformula;. It represents an +empty list. The idea of &kformula; is to have different elements +arranged in lists. An element in this respect might be a single char +or a root symbol or something like that. The lists are put together so +that they form a formula. That is there are lists for indexes, lower +and upper bounds and so on. And of course there is the main +list, which we've already seen.</para> + +<para>Writing a formula means to fill the empty list with letters, +figures and mathematical symbols. That is straightforward: use your +keyboard. As soon as you type something the <quote>empty</quote> +symbol will vanish and you will see whatever you have inserted +instead. New characters are always put at the current cursor +position.</para> + +<para>There is a toolbar called <guilabel>Add</guilabel> that allows +you to create more complex elements. There are indices, fractions, +roots and matrices to name a few. All these elements +consist of at least one list, you can move the cursor into and insert +new items.</para> + +</chapter> + +<chapter id="using-kformula"> +<title>Using &kformula;</title> +<para> Below is a typical formula entry in &kformula;. To enter the partial +derivatives and Greek letters click on the symbol combo box, on the +right, and select the appropriate symbol. The symbol combo box, in the figure +below, has the word +<quote>Cap</quote> on it. Click on the return key symbol to the right of it, +to enter a symbol.</para> +<screenshot> +<screeninfo>Screenshot of &kformula;</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="green1.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Screenshot of &kformula;</phrase> + </textobject> + </mediaobject> +</screenshot> + +<para> The Greens formula above can be printed to a &PostScript; +file. To do that choose <menuchoice><guimenu>File</guimenu><guimenuitem>Print</guimenuitem> +</menuchoice> and configure print as shown below:</para> + +<screenshot> +<screeninfo>Here's a screenshot of Greens Formula in &kformula;</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="green2.png" format="PNG"/> + </imageobject> +<textobject><phrase>Here's a screenshot of Greens Formula in &kformula;</phrase></textobject> + </mediaobject> +</screenshot> + +<para> +Here is what the the resulting &PostScript; file should look +like:</para> + +<screenshot> +<screeninfo>Here is the &PostScript; output from &kformula;</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="greens.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<sect1 id="kformula-features"> +<title>More &kformula; features</title> + +<para>More on formulas</para> +<para>To enter matrices, click on the <guiicon>[ ]</guiicon> and then click +on the matrix symbol <inlinemediaobject><imageobject> + <imagedata fileref="matrix.png" format="PNG"/> + </imageobject></inlinemediaobject>. +You can move from matrix element to matrix element using the arrow +keys <keysym>Right arrow</keysym>, <keysym>Up arrow</keysym>, +<keysym>Down arrow</keysym> and <keysym>Left arrow</keysym>. An example matrix +is shown below. +</para> +<screenshot> +<screeninfo>Here is the resulting matrix;</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="matrix-view.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +</sect1> +</chapter> + +<chapter id="commands"> +<title>Command Reference</title> + +<sect1 id="kformula-mainwindow"> +<title>The Main &kformula; Window</title> + +<sect2> +<title>The <guimenu>File</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>New</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new &kformula; +document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Open...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens a previously saved +document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guisubmenu>Open Recent</guisubmenu> +</menuchoice></term> +<listitem><para><action>Displays a selection of recently opened documents.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Save</guimenuitem> +</menuchoice></term> +<listitem><para><action>Saves the document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Save As...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Saves the document with a name you provide.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Reload</guimenuitem> +</menuchoice></term> +<listitem><para><action>Reloads the more recently opened document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Import</guimenuitem> +</menuchoice></term> +<listitem><para><action>Imports formulas from other formats.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Export</guimenuitem> +</menuchoice></term> +<listitem><para><action>Exports the current document in another format.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Mail...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Invokes &kmail; so you can email the file. +The file is already attached to the email.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Print...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Prints the document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Print Preview...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Shows how the printed document will appear.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Document Information</guimenuitem> +</menuchoice></term> +<listitem><para><action>Provides a dialog box where you can enter your name, +email address and a short description about the document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>W</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Close</guimenuitem> +</menuchoice></term> +<listitem><para><action>Closes the current document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Quit</guimenuitem> +</menuchoice></term> +<listitem><para><action>Quits</action> &kformula;.</para></listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2> +<title>The <guimenu>Edit</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Undo</guimenuitem> +</menuchoice></term> +<listitem><para><action>Undoes an action. You can revert to the state that existed +before your last change.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl; &Shift; <keycap>Z</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Redo</guimenuitem> +</menuchoice></term> +<listitem><para><action>Undoes an undo. Reverse the action of Undo. This will restore the change +you originally made.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>X</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Cut</guimenuitem> +</menuchoice></term> +<listitem><para><action>Cuts a highlighted piece of text from the &kformula; screen.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Copy</guimenuitem> +</menuchoice></term> +<listitem><para><action>Copies a highlighted piece of text from the &kformula; screen.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Paste</guimenuitem> +</menuchoice></term> +<listitem><para><action>Pastes the text you selected with Cut or Copy to the &kformula; screen.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>A</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Select All</guimenuitem> +</menuchoice></term> +<listitem><para><action>Highlights all the text in the &kformula; screen for +either Cut or Copy.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>R</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Remove Enclosing Element</guimenuitem> +</menuchoice></term> +<listitem><para><action>Removes enclosing braces, brackets or absolute value bars. +This action takes place on the braces just outside the cursor.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>G</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Convert to Greek</guimenuitem> +</menuchoice></term> +<listitem><para><action>Converts a Latin character to a Greek symbol.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Edit Formula String...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Brings up an editor where you can edit the existing formula.</action></para></listitem> +</varlistentry> + +</variablelist> + +<para>See the <link linkend="advanced"> Advanced editing</link> +section for details.</para> + +</sect2> + +<sect2> +<title>The <guimenu>Element</guimenu> Menu</title> + +<variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Root</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts the square root.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Fraction</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a fraction.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Bracket</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a pair of brackets, &ie; ( ). You can also just +type ( to insert a pair of brackets.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Integral</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts the integral sign.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Sum</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts the summation sign. +(sigma).</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Product</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts the product sign.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Matrix...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a matrix. A dialog box pops up, with the default size being 3x3. +You can specify the number of rows and columns in this box.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add 1x2 Matrix</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a two rowed column vector.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Overline</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts an overline in this box.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Underline</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts an underline in this box.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Multiline</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a new line each time you type Enter in the square.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>U</keycap></keycombo> +</shortcut> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Upper Index</guimenuitem> +</menuchoice></term> +<listitem><para><action>Adds an upper index like so: </action><inlinemediaobject><imageobject> + <imagedata fileref="upper-index.png" format="PNG"/> + </imageobject></inlinemediaobject>.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>L</keycap></keycombo> +</shortcut> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Lower Index</guimenuitem> +</menuchoice></term> +<listitem><para><action>Adds a lower index: </action><inlinemediaobject><imageobject> + <imagedata fileref="lower-index.png" format="PNG"/> + </imageobject></inlinemediaobject>.</para> +<note><para> See the <link linkend="indices">Definite Integrals and +Indices</link> section for details about indices.</para></note></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Negative Thin Space</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a small reduced space, here between the o and the e:</action><inlinemediaobject><imageobject> + <imagedata fileref="negative_thin_space.png" format="PNG"/> + </imageobject></inlinemediaobject>.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Thin Space</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a small space.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Medium Space</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a space that is one and a half times wider.</action></para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Thick Space</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a double space.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Add</guisubmenu> +<guimenuitem>Add Quad Space</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a quadruple wide space.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Matrix</guisubmenu> +<guimenuitem>Insert Column</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a column in an existing matrix. The column is inserted where the cursor is at.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Matrix</guisubmenu> +<guimenuitem>Append Column</guimenuitem> +</menuchoice></term> +<listitem><para><action>Appends a column to an existing matrix. The column is appended on the right.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Matrix</guisubmenu> +<guimenuitem>Remove Column</guimenuitem> +</menuchoice></term> +<listitem><para><action>Removes a column from an existing matrix. Removal occurs where the cursor is positioned.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Matrix</guisubmenu> +<guimenuitem>Insert Row</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts a row in an existing matrix. The row is inserted where the cursor is at.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Matrix</guisubmenu> +<guimenuitem>Append Row</guimenuitem> +</menuchoice></term> +<listitem><para><action>Appends a row to an existing matrix. The row is appended on the bottom.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guisubmenu>Matrix</guisubmenu> +<guimenuitem>Remove Row</guimenuitem> +</menuchoice></term> +<listitem><para><action>Removes a row from an existing matrix. Removal occurs where the cursor is positioned.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guimenuitem>Size</guimenuitem> +</menuchoice></term> +<listitem><para><action>Allows to set the size of the font (from 6 to 72).</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guimenuitem>Left Delimiter</guimenuitem> +</menuchoice></term> +<listitem><para><action>Allows insertion of various delimiters &ie; (, {, and +[.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Element</guimenu> +<guimenuitem>Right Delimiter</guimenuitem> +</menuchoice></term> +<listitem><para><action>Allows insertion of various delimiters &ie; ), }, and +].</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>I</keycap></keycombo> +</shortcut> +<guimenu>Element</guimenu> +<guimenuitem>Insert Symbol</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inserts the symbol, selected in the symbol +toolbar.</action></para></listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2> +<title>The <guimenu>Settings</guimenu> Menu</title> +<para>Here you can choose how &kformula; is configured. + You can select the toolbars you want displayed or the type of fonts to be +used.</para> + +<variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +<guimenuitem>File (KFormula)</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggles the toolbar that contains clickable icons for +new, open and save files. +Print and print preview are here also.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +<guimenuitem>Edit (KFormula)</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggles the edit toolbar. Here are clickable icons for +cut and paste as well as Undo and Redo.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +<guimenuitem>Add (KFormula)</guimenuitem> +</menuchoice></term> +<listitem><para><action>This toolbar contains all the mathematical elements such +as Sum, Integral, Exponent &etc;</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +<guimenuitem>Font (KFormula)</guimenuitem> +</menuchoice></term> +<listitem><para><action>This toolbar contains the font settings (size, bold, italic, &etc;).</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +<guimenuitem>Symbol (KFormula)</guimenuitem> +</menuchoice></term> +<listitem><para><action>This toggles the combo box that contains Del, the +partial derivative symbol, limit arrows, +boolean operators and other mathematical symbols.</action></para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +<guimenuitem>Matrix (KFormula)</guimenuitem> +</menuchoice></term> +<listitem><para><action>This toggles the matrix toolbar. It contains clickable +icons that pertain to matrix creation and editing.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Syntax Highlighting</guimenuitem> +</menuchoice></term> +<listitem><para><action>Checking this item determines if the numbers will be +displayed in color.</action></para></listitem> +</varlistentry> + + + +</variablelist> + +</sect2> + +<sect2> +<title>Configuring Shortcuts</title> + +<para>The <menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure Shortcuts...</guimenuitem></menuchoice> +allows you to specify shortcuts.</para> + + +<para>Below is an example of how to configure a shortcut for a +print preview. +</para> + +<screenshot> +<screeninfo>Picture of shortcut dialog</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="shortcut0.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<itemizedlist> +<listitem><para> +Click on <guilabel>Custom</guilabel>. +</para></listitem> + +<listitem><para> +Next click on the button <guibutton>Advanced >></guibutton> and then <guilabel>Primary shortcut:</guilabel>. +</para></listitem> + +<listitem><para> +Do <userinput><keycombo +action="seq">&Ctrl;<keycap>Space</keycap></keycombo></userinput> +and the dialog should disappear. The shortcut is now entered. +</para></listitem> +</itemizedlist> + +<screenshot> +<screeninfo>Picture of shortcut dialog</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="shortcut1.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<para>Pressing the keys <userinput><keycombo +action="seq"><keycap>&Ctrl;</keycap><keycap>Space</keycap></keycombo></userinput> +now displays the print preview. +</para> +</sect2> + + +<sect2> +<title>Configuring Toolbars</title> +<para>The <menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure Toolbars...</guimenuitem></menuchoice> +is used to add additional buttons to the toolbars.</para> + +<screenshot> +<screeninfo>Picture of toolbars dialog</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="toolbars.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + + +<itemizedlist> + +<listitem> +<para>To add a button to the <guilabel>File</guilabel> toolbar, +</para> + +<screenshot> +<screeninfo>Picture of toolbars dialog</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="file-toolbar.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<para> make sure <guilabel>File + <&koffice;></guilabel> is displayed in the top combo box. +</para></listitem> + +<listitem><para> +Click on one of the items in the left hand pane. This item will now be +highlighted to show that it has been selected. +</para></listitem> + +<listitem><para> +Next click on the <guiicon>Right arrow</guiicon> button to place it in +the right pane. +</para></listitem> + +<listitem><para> +Click on <userinput><guilabel>Apply</guilabel></userinput> and then +click on <userinput><guilabel>OK</guilabel></userinput>. +</para></listitem> +</itemizedlist> + + +<para>The new Item should be in the toolbar. <inlinemediaobject><imageobject> + <imagedata fileref="file-toolbar2.png" format="PNG"/> + </imageobject></inlinemediaobject></para> + + +</sect2> + + + + +<sect2> +<title>Configuring &kformula;</title> +<para>The <menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure +&kformula;...</guimenuitem></menuchoice> is where the font sizes and font styles are +selected.</para> + +<itemizedlist> +<listitem> +<para>The <guilabel>Formula</guilabel> section allows you to select fonts +and font highlight colors.</para> +</listitem> +</itemizedlist> +</sect2> + + + +<sect2> +<title>The <guimenu>Help</guimenu> Menu</title> + <variablelist> +<varlistentry> +<term><menuchoice> +<guimenu>Help</guimenu> +<guimenuitem>Tip of the Day</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <guilabel>Tip of the Day</guilabel> dialog which displays a random tip about &kformula;.</action></para></listitem> +</varlistentry> + </variablelist> +&help.menu.documentation; + +</sect2> +</sect1> + +</chapter> + +<chapter id="advanced"> +<title>Advanced Editing</title> + +<sect1 id="insertion"> +<title>Name insertion</title> +<para> +A special feature is the name insertion. The blue square you +type into is actual a list. Furthermore, that list can contain other +lists. When you type a backslash (<literal>\</literal>) you get a new +empty list right away. But this one is special. It uses a different +font and is meant to insert things like function names. There is, +however, a second idea here. Your keyboard only has a limited number of keys. +The wealth of mathematical symbols on the other side is overwhelming. To get one +of those you can type its name and press the space bar afterwards. The name you +typed will be replaced by the symbol then. In this context, the +<keycap>Space</keycap> bar means <quote>get out of here</quote>, that +is move the cursor to the containing list. The cursor will be +positioned at the end of what you just entered but will also enclose part of the original +formula, after pressing the space bar. +</para> + +<para>Another thing you might want to insert are spaces. We all know, +printing formulae is all about the right spacing. And you can do just +that using a <quote>name list</quote>.</para> +<para> +Inside the blue square do: <userinput><keycombo +action="seq"><keycap>\</keycap><keycap>,</keycap><keycap>SPACE</keycap></keycombo></userinput> to get a small space. +</para> +<para> +Do: <userinput><keycombo +action="seq"><keycap>\</keycap><keycap><</keycap><keycap>Space</keycap></keycombo></userinput> to get a medium space. +</para> +<para> +Do: <userinput><keycombo +action="seq"><keycap>\</keycap><keycap>;</keycap><keycap>Space</keycap></keycombo></userinput> to get a thick space. +</para> +<para> +Do: <userinput><keycap>\</keycap> quad <keycap>Space</keycap></userinput> to get +a quadruple wide space. +</para> +<para> +In the same way, specific mathematical symbols can be inserted. +<userinput><keycap>\</keycap> oint <keycap>Space</keycap></userinput> inserts +the path integral about a closed contour. Below is the result of +<userinput><keycap>\</keycap> oint <keycap>Space</keycap></userinput>:</para> +<screenshot> +<screeninfo>Picture of path integral</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="path-integral.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +</sect1> + +<sect1 id="formula-strings"> +<title>Editing Formulas</title> + +<para>The <menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Edit Formula String</guimenuitem> +</menuchoice> allows the user to edit the <acronym>ASCII</acronym> formulas that have been copied from other applications, +such as <ulink url="http://scilabsoft.inria.fr/">Scilab</ulink>, and transform them directly into mathematical type. An example will make this clear. Below is a screenshot of <literal>INRIA</literal> Scilab. +</para> + +<screenshot> +<screeninfo>Scilab picture</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="scilab.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para> Copy and paste the text beginning with <literal>x*sin(30*x)</literal> into the formula editor as +shown below:</para> + +<screenshot> +<screeninfo>Scilab formula edit picture</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="scilab-edit.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<para>If you click on <guibutton>OK</guibutton>, the editor will complain about aborted parsing. It cannot +recognize one of the symbols in the formula. The displayed formula would show that the Pi symbol is +not correctly rendered. This means that the <literal>%</literal> must be deleted. Do this and &kformula; will +render the mathematical font properly, as shown below.</para> + +<screenshot> +<screeninfo>Scilab formula rendered in &kformula;</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="sin.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<para> The formula editor will accept most C language mathematical expressions, like the formulas from a +Runge-Kutta program below:</para> +<programlisting><function>void derives(float x, float y[], float dydx[]) +{ + dydx[1] = y[2]; + dydx[2] = -0.8*x*y[2] - sin(x)*y[1]; +}</function></programlisting> + +<para>Here <literal>dydx[1]</literal> is the first order derivative and <literal>dydx[2]</literal> is the second order +derivative. After copying the formula, you will have to edit the derivatives with &kformula;. Here is how it is done. +First copy and paste the bottom expression into the formula editor.</para> + +<screenshot> +<screeninfo>Runge-Kutta in editor;</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="rk-edit0.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<para>Next remove the <literal>[ ]</literal>, leaving just y's.</para> + +<screenshot> +<screeninfo>Runge-Kutta edited</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="rk-edit1.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<para>Now click <guibutton>OK</guibutton> and place the cursor by a <literal>y</literal> and delete it. Insert the appropriate symbols as +shown below.</para> + +<screenshot> +<screeninfo>Runge-Kutta in &kformula;</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="rk-edit2.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<para>Not every expression that &kformula; is capable of translates into a valid C expression. For example the +superscript expression:</para> + +<screenshot> +<screeninfo>Superscript in &kformula;</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="ambiguous-string.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> + +<para>is displayed as <literal>()**()</literal>, which is not a valid C statement for exponentiation. Similarly the 1 by 2 +matrix displays as <literal>()/()</literal>. This is not a valid array in C.</para> + +</sect1> + +<sect1 id="indices"> +<title>Definite Integrals and Indices</title> +<sect2> +<title>Definite Integrals</title> +<para> A definite integral is made by using <keycombo +action="simul">&Ctrl;<keycap>U</keycap></keycombo> for the upper limit +of integration and <keycombo action="simul">&Ctrl;<keycap>L</keycap></keycombo> +for the lower limit of integration. +</para> + +<screenshot> +<screeninfo>definite integral</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="definite_integral.png" format="PNG"/> + </imageobject> + </mediaobject> +</screenshot> +<para>Reposition the cursor in front of the integral after making the +first of the limits.</para> +</sect2> + +<sect2> +<title>Positioning Indices</title> +<para> +The upper or lower index can be positioned by highlighting the desired +text. In this example, an arrow is needed above the P, in dP. Using <keycombo +action="simul">&Ctrl;<keycap>U</keycap></keycombo> places the desired vector +symbol in the wrong place; namely above the <quote>d</quote>. +<inlinemediaobject><imageobject> + <imagedata fileref="incorrect_index_location.png" format="PNG"/> + </imageobject></inlinemediaobject> +</para> + +<para>The problem is solved by + highlighting only the P in <inlinemediaobject><imageobject> + <imagedata fileref="index_smear.png" format="PNG"/> + </imageobject></inlinemediaobject> and then entering <keycombo +action="simul">&Ctrl;<keycap>U</keycap></keycombo>. Here is the correct + result. <inlinemediaobject> + <imageobject> + <imagedata fileref="correct_index_location.png" format="PNG"/> + </imageobject> +</inlinemediaobject> +</para> +</sect2> + +</sect1> +</chapter> + +<chapter id="credits-and-licenses"> +<title>Credits and Licenses</title> + +<para>&kformula; Copyright by The KFormula Team</para> + +<itemizedlist> +<title>&kformula; Developers (Alphabetically)</title> +<listitem><para>Alfredo Beaumont Sainz <email>alfredo.beaumont@gmail.com</email></para></listitem> +<listitem><para>Ulrich Küttler</para></listitem> +<listitem><para>Andrea Rizzi</para></listitem> +</itemizedlist> + +<para>Documentation copyright 2002 Jonathan Drews +<email>j.e.drews@att.net</email></para> + +<para>Documentation copyright 2005 Anne-Marie Mahfouf +<email>annma@kde.org</email></para> + +<para>Documentation copyright 2006 Alfredo Beaumont Sainz +<email>alfredo.beaumont@gmail.com</email></para> +<!--TRANS:CREDIT_FOR_TRANSLATORS--> +&underFDL; +&underGPL; + +</chapter> + +<appendix id="installation"> +<title>Installation</title> + +<sect1 id="getting-kformula"> +<title>How to obtain &kformula;</title> + +&install.intro.documentation; + +</sect1> + +<sect1 id="requirements"> +<title>Requirements</title> + +<para> +&kformula; is part of &koffice; +on <ulink url="http://www.koffice.org/kformula ">The &kformula; home +page</ulink> +You must have &koffice; installed. &kformula; will not work without the rest of +&koffice; +</para> + +</sect1> + +<sect1 id="compilation"> +<title>Compilation and Installation</title> + + +&install.compile.documentation; + +</sect1> + +</appendix> + +&documentation.index; + +</book> +<!-- +Local Variables: +mode: sgml +sgml-minimize-attributes: nil +sgml-general-insert-case: lower +End: +--> + + + + + + + diff --git a/doc/kformula/index_smear.png b/doc/kformula/index_smear.png Binary files differnew file mode 100644 index 00000000..b557b7db --- /dev/null +++ b/doc/kformula/index_smear.png diff --git a/doc/kformula/kfontinst1.png b/doc/kformula/kfontinst1.png Binary files differnew file mode 100644 index 00000000..a81486bc --- /dev/null +++ b/doc/kformula/kfontinst1.png diff --git a/doc/kformula/kfontinst2.png b/doc/kformula/kfontinst2.png Binary files differnew file mode 100644 index 00000000..be40a39f --- /dev/null +++ b/doc/kformula/kfontinst2.png diff --git a/doc/kformula/kfontinst3.png b/doc/kformula/kfontinst3.png Binary files differnew file mode 100644 index 00000000..42e64364 --- /dev/null +++ b/doc/kformula/kfontinst3.png diff --git a/doc/kformula/kfontinst4.png b/doc/kformula/kfontinst4.png Binary files differnew file mode 100644 index 00000000..6f3c42e7 --- /dev/null +++ b/doc/kformula/kfontinst4.png diff --git a/doc/kformula/kfontinst5.png b/doc/kformula/kfontinst5.png Binary files differnew file mode 100644 index 00000000..ec5cb4a5 --- /dev/null +++ b/doc/kformula/kfontinst5.png diff --git a/doc/kformula/kfontinst6.png b/doc/kformula/kfontinst6.png Binary files differnew file mode 100644 index 00000000..377d088e --- /dev/null +++ b/doc/kformula/kfontinst6.png diff --git a/doc/kformula/lower-index.png b/doc/kformula/lower-index.png Binary files differnew file mode 100644 index 00000000..04ce92f4 --- /dev/null +++ b/doc/kformula/lower-index.png diff --git a/doc/kformula/matrix-view.png b/doc/kformula/matrix-view.png Binary files differnew file mode 100644 index 00000000..c1ea56a9 --- /dev/null +++ b/doc/kformula/matrix-view.png diff --git a/doc/kformula/matrix.png b/doc/kformula/matrix.png Binary files differnew file mode 100644 index 00000000..58247413 --- /dev/null +++ b/doc/kformula/matrix.png diff --git a/doc/kformula/negative_thin_space.png b/doc/kformula/negative_thin_space.png Binary files differnew file mode 100644 index 00000000..765079f8 --- /dev/null +++ b/doc/kformula/negative_thin_space.png diff --git a/doc/kformula/path-integral.png b/doc/kformula/path-integral.png Binary files differnew file mode 100644 index 00000000..cc21d087 --- /dev/null +++ b/doc/kformula/path-integral.png diff --git a/doc/kformula/rk-edit0.png b/doc/kformula/rk-edit0.png Binary files differnew file mode 100644 index 00000000..5faaf35d --- /dev/null +++ b/doc/kformula/rk-edit0.png diff --git a/doc/kformula/rk-edit1.png b/doc/kformula/rk-edit1.png Binary files differnew file mode 100644 index 00000000..e8785d05 --- /dev/null +++ b/doc/kformula/rk-edit1.png diff --git a/doc/kformula/rk-edit2.png b/doc/kformula/rk-edit2.png Binary files differnew file mode 100644 index 00000000..9366015a --- /dev/null +++ b/doc/kformula/rk-edit2.png diff --git a/doc/kformula/scilab-edit.png b/doc/kformula/scilab-edit.png Binary files differnew file mode 100644 index 00000000..79c5aa69 --- /dev/null +++ b/doc/kformula/scilab-edit.png diff --git a/doc/kformula/scilab.png b/doc/kformula/scilab.png Binary files differnew file mode 100644 index 00000000..7bb27190 --- /dev/null +++ b/doc/kformula/scilab.png diff --git a/doc/kformula/shortcut0.png b/doc/kformula/shortcut0.png Binary files differnew file mode 100644 index 00000000..f538419e --- /dev/null +++ b/doc/kformula/shortcut0.png diff --git a/doc/kformula/shortcut1.png b/doc/kformula/shortcut1.png Binary files differnew file mode 100644 index 00000000..525bc92f --- /dev/null +++ b/doc/kformula/shortcut1.png diff --git a/doc/kformula/sin.png b/doc/kformula/sin.png Binary files differnew file mode 100644 index 00000000..b495d874 --- /dev/null +++ b/doc/kformula/sin.png diff --git a/doc/kformula/toolbars.png b/doc/kformula/toolbars.png Binary files differnew file mode 100644 index 00000000..7d3f9798 --- /dev/null +++ b/doc/kformula/toolbars.png diff --git a/doc/kformula/upper-index.png b/doc/kformula/upper-index.png Binary files differnew file mode 100644 index 00000000..3147a8a2 --- /dev/null +++ b/doc/kformula/upper-index.png diff --git a/doc/kivio/Makefile.am b/doc/kivio/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/kivio/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/kivio/credits.docbook b/doc/kivio/credits.docbook new file mode 100644 index 00000000..1a85a4e6 --- /dev/null +++ b/doc/kivio/credits.docbook @@ -0,0 +1,64 @@ +<chapter id="credits"> +<chapterinfo> +<authorgroup> +<author><firstname>Ben</firstname> +<surname>Lamb</surname> +<affiliation> +<address> +<email>kde@zurgy.org</email> +</address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> + +<title>Credits and License</title> + +<para> +&kivio; +</para> + +<para> +Program copyright 2000-2003 The &kivio; Team +</para> + +<para> +Current maintainer is Peter Simonsonn <email>psn@linux.se</email>. +</para> + +<itemizedlist> +<title>Contributors</title> + +<listitem> +<para>Ian Reinhart Geiser <email>geiseri@kde.org</email></para> +</listitem> + +<listitem> +<para>Laurent Montel <email>montel@kde.org</email></para> +</listitem> + +<listitem> +<para>Frauke Oster <email>frauke@frsv.de</email></para> +</listitem> + +<listitem> +<para>Dave Marotti <email>lndshark@verticaladdiction.net</email></para> +</listitem> + +<listitem> +<para>The Kompany.com - "<trademark>Where Open Source is at Home</trademark>" <email>info@thekompany.com</email></para> +</listitem> + +<listitem> +<para>Current documentation is maintained by Ben Lamb +<email>kde@zurgy.org</email></para> +</listitem> + +</itemizedlist> + +<!-- TRANS:CREDIT_FOR_TRANSLATORS --> +&underFDL; +&underGPL; + +</chapter> diff --git a/doc/kivio/index.docbook b/doc/kivio/index.docbook new file mode 100644 index 00000000..02300ced --- /dev/null +++ b/doc/kivio/index.docbook @@ -0,0 +1,64 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY package "koffice"> + <!ENTITY kappname "&kivio;"> + <!ENTITY introduction SYSTEM "introduction.docbook"> + <!ENTITY usage SYSTEM "usage.docbook"> + <!ENTITY working SYSTEM "working.docbook"> + <!ENTITY credits SYSTEM "credits.docbook"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % English "INCLUDE" > <!-- change language only here --> +]> + +<book lang="&language;"> + +<bookinfo> +<title>The &kivio; Handbook</title> + +<authorgroup> + +<author> +<firstname>Ben</firstname> +<surname>Lamb</surname> +<affiliation> +<address> +<email>kde@zurgy.org</email> +</address> +</affiliation> +</author> + +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> + +<date>2006-01-30</date> +<releaseinfo>1.5.0</releaseinfo> + +<copyright> +<year>2003</year><year>2000</year> +<holder>Ben Lamb</holder> +</copyright> + + +<legalnotice>&FDLNotice;</legalnotice> +<abstract> +<para> +&kivio; is the &koffice; flowchart and diagram creation tool. +</para> +</abstract> + +<keywordset> +<keyword>KDE</keyword> +<keyword>Kivio</keyword> +<keyword>KOffice</keyword> +<keyword>Flowchart</keyword> +<keyword>Diagram</keyword> +</keywordset> + +</bookinfo> + +&introduction; +&usage; +&working; +&credits; + +</book> diff --git a/doc/kivio/introduction.docbook b/doc/kivio/introduction.docbook new file mode 100644 index 00000000..0fac6914 --- /dev/null +++ b/doc/kivio/introduction.docbook @@ -0,0 +1,33 @@ +<chapter id="introduction"> +<chapterinfo> +<authorgroup> +<author><firstname>Ben</firstname> +<surname>Lamb</surname> +<affiliation> +<address> +<email>kde@zurgy.org</email> +</address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Introduction</title> + +<sect1 id="what-is"> +<title>What is &kivio;?</title> + +<para>&kivio; is the &koffice; flowchart and diagram creation tool. It allows you to create accurate scale diagrams by arranging pre-drawn shapes and stencils on a page. The stencils might represent stages of a process, office furniture or components on an electronic circuit. &kivio; comes with a large collection of different stencils which are grouped into collections, known as stencil sets, by subject area.</para> +</sect1> + +<sect1 id="this-document"> +<title>About this Document</title> +<para>This document describes the features of &kivio; and how to use them. There are often several ways to perform a particular task. Where possible the appropriate menu option is described as this is the easiest to explain without the aid of screenshots. Users are encouraged to explore the menus and to try right-clicking on stencils to reveal shortcut menus.</para> +</sect1> + +<sect1 id="contributing"> +<title>Contributing to &kivio;</title> +<para>&kivio; is a volunteer project. Your contributions are welcome. If you find a bug whilst using the software please report it by selecting <menuchoice><guimenu>Help</guimenu><guimenuitem>Report Bug...</guimenuitem></menuchoice>.</para> +<para>Contributions to the documentation, stencils, translations into other languages and the code itself are welcome. Please see the &koffice; website for more information about how to contribute.</para> +</sect1> +</chapter> diff --git a/doc/kivio/usage.docbook b/doc/kivio/usage.docbook new file mode 100644 index 00000000..7714ef43 --- /dev/null +++ b/doc/kivio/usage.docbook @@ -0,0 +1,203 @@ +<chapter id="usage"> +<chapterinfo> +<authorgroup> +<author><firstname>Ben</firstname> +<surname>Lamb</surname> +<affiliation> +<address> +<email>kde@zurgy.org</email> +</address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> + +<title>Basic Usage</title> + +<sect1 id="starting"> +<title>Starting &kivio;</title> +<para>Like other &koffice; applications, on startup &kivio; presents a startup dialog. The dialog offers a choice of creating a new document, opening a saved document or choosing a document from a list of recently saved files.</para> +<para>If you're new to &kivio; begin by creating an empty document by double-clicking on the <guilabel>Empty Document</guilabel> template.</para> +<para>&kivio;'s main window contains a view of the current document. The page outline and margins are shown, as is a grid. Surrounding this view are horizontal and vertical rules. By default a tools toolbar is placed on the left-hand side and beneath the document view is a page selector. Beneath that is the status bar which shows the current position of the mouse pointer as a location on the page.</para> +<para>At the top of the window are the two main toolbars. These contain buttons for the most commonly used features of &kivio;.</para> +</sect1> + +<sect1 id="stencils"> +<title>Using Stencils</title> +<para>Diagrams are created by placing different pre-drawn shapes and stencils on the page. Stencils can represent many different things and &kivio; comes with a wide selection. For ease of reference they are grouped into collections known as stencil sets. To use a stencil set select <menuchoice><guimenu>Tools</guimenu><guisubmenu>Add Stencil Set</guisubmenu></menuchoice>. The stencil sets have been sub-divided into several groups; a sub-menu lists these. The shapes in the stencil set are shown on the left-hand side of the document view.</para> +<para>Stencils are grouped into stencil sets for organizational purposes only; it is perfectly okay to add several stencil sets to a document and &kivio; allows you to mix and match stencils from different sets freely.</para> +<para>To place a stencil onto the document simply drag it from the stencil area to the page.</para> + +<sect2> +<title>Selecting Stencils</title> +<para> +&kivio; identifies the stencil currently being edited by displaying eight green squares on the corners and edges of a square around the stencil. Stencils shown in this manner are described as being selected. The green rectangles are known as handles. +To change the currently selected stencil move the mouse pointer over the stencil you wish to select and press the &LMB;. +To select all the stencils on the current page select <menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></menuchoice>. +To deselect all stencils select <menuchoice><guimenu>Edit</guimenu><guimenuitem>Deselect</guimenuitem></menuchoice>. +</para> +</sect2> + +<sect2> +<title>Moving Stencils</title> +<para> +To move a stencil to another position on the page, select the stencil. Note the pointer will change to a hand icon. Hold down the &LMB; and move the mouse to the new position. Release the mouse button to place the stencil at the new position.</para> +</sect2> + +<sect2> +<title>Resizing a Stencil</title> +<para>Select the stencil, and then move the mouse pointer over one of the handles. Note the mouse pointer change. Hold down the &LMB; and move the mouse. The coordinates of the stencil will be adjusted continuously as the mouse is moved. When you are happy with the new size release the mouse button to give the stencil its new final size.</para> +</sect2> + +<sect2> +<title>Undoing a Mistake</title> +<para>If at any time you are unhappy with a change you have made to the document you can select <menuchoice><guimenu>Edit</guimenu><guimenuitem>Undo</guimenuitem></menuchoice> to revert the change. There is also an icon on the toolbar.</para> +<para>If you undo an action and decide that was a mistake, select <menuchoice><guimenu>Edit</guimenu><guimenuitem>Redo</guimenuitem></menuchoice> to restore the change. &kivio; stores multiple actions to undo/redo several changes.</para> +</sect2> + +<sect2> +<title>Limitations of the Stencils</title> +<para>Note that stencils cannot currently be rotated.</para> +</sect2> + +<sect2> +<title>Labeling Stencils</title> +<para>A lot of stencils in the <guilabel>Flowcharting Collections</guilabel>, <guilabel>Geographic Collections</guilabel>, <guilabel>Hardware Collections</guilabel>, <guilabel>Miscellaneous Collections</guilabel> and <guilabel>UML Collections</guilabel> can contain text to describe their function. To add text to a stencil move the mouse pointer over the stencil and double-click it or open the context menu with the &RMB; and select <guimenuitem>Edit Text...</guimenuitem>. A dialog box will appear prompting for some text. Enter some text and click <guibutton>OK</guibutton>. The text should be shown inside the stencil.</para> +<para>The item <guimenuitem>Edit Text...</guimenuitem> in the menu is disabled, if a stencil cannot be labeled.</para> +<para>The font, size, alignment and style of the text can be adjusted by selecting <menuchoice><guimenu>Format</guimenu><guimenuitem>Text...</guimenuitem></menuchoice>. Alternatively use the buttons on the Format toolbar. +The adjustments will only affect the currently selected stencil.</para> +</sect2> + +<sect2> +<title>Selecting Several Stencils</title> +<para>There are two ways to select multiple stencils in &kivio;.</para> +<orderedlist> +<listitem> +<para>Click once inside the first stencil you wish to select. + Hold down &Ctrl; as you click inside subsequent stencils. + All the stencils will be shown with handles around them.</para> +</listitem> +<listitem> +<para>Move the mouse pointer to a blank area of the document near the stencils you want to select.</para> +<para>Hold down the &LMB; and move the mouse to the other side of the stencils you want to select, drawing a rectangle around them.</para> +<para>The rectangle must completely encompass the stencils for them to be selected. +</para> +</listitem> +</orderedlist> +</sect2> + +<sect2> +<title>Adjusting the Fill Color and Line Color</title> +<para>Stencils can be filled with a solid color and the color of the outline can be changed. Select a stencil then select <menuchoice><guimenu>Format</guimenu><guimenuitem>Stencils & Connectors...</guimenuitem></menuchoice>.</para> +<!--para>There is also a <guibutton>Set Background Color</guibutton> button on the Format toolbar. Clicking on the arrow to the right-hand side of this button will display a drop-down color selector. Clicking on the button itself will display a color palette allowing you to choose any color. A similar toolbar button exists to adjust the line color.</para--> +</sect2> + +<sect2> +<title>Adjusting the Line Thickness</title> +<para>The width of a stencil's border can be adjusted by selecting <menuchoice><guimenu>Format</guimenu><guimenuitem>Stencils & Connectors...</guimenuitem></menuchoice>. The line width can be entered in centimeters or increased/decreased using the arrows of the spin box. Or use the <guibutton>Line Width</guibutton> button on the <guilabel>Format</guilabel> toolbar. Select a width from the drop down box or select <guilabel>Custom...</guilabel> to open enter the width in the spin box.</para> +</sect2> + +<sect2> +<title>Connecting Shapes Together</title> +<para>&kivio;'s connector tool allows lines to be drawn between shapes. The lines remain connected to the shapes even when the shapes are moved to new positions on the page.</para> +<para>To draw a connector select <menuchoice><guimenu>Tools</guimenu><guimenuitem>Straight Connector</guimenuitem></menuchoice> or <menuchoice><guimenu>Tools</guimenu><guimenuitem>Polyline Connector</guimenuitem></menuchoice>.</para> +<para>The <guilabel>Polyline Connector</guilabel> tool is also available from the <guilabel>Tools</guilabel> toolbar; by default shown on the top side of the window. Click on this tool to begin using it; the mouse pointer will change shape.</para> +<para>Notice that all stencils have little blue crosses around their edges. These crosses mark points where connectors can be attached.</para> +<para>To connect two stencils move to one of the connection points on the first stencil, hold down the &LMB; and drag a line to one of the connection points on the second stencil. The green square at the end of the line will change to red when it is over a connection point indicating that the line is attached to a stencil. </para> +<para>When you have finished using the connector tool, click on the <guiicon>Arrow</guiicon> tool to regain normal selection functionality.</para> +<note><para>A stencil can have multiple connectors attached to it, even at the same connection point.</para></note> +<para>Various properties of the connector can be adjusted including line thickness and color, this is done in the same way as for stencils.</para> +<para><guilabel>Straight Connectors</guilabel> may also be labeled with text. To add text to a straight connector open the context menu with the &RMB; and select <guimenuitem>Edit Text...</guimenuitem>. Enter the text in the dialog that appears. The text will be shown with a green handle next to it. Use this to modify the position of the text.</para> +<para>Arrowheads can be added to either end of a connector. Select the connector and then select <menuchoice><guimenu>Format</guimenu><guimenuitem>Arrowheads...</guimenuitem></menuchoice>.</para> +<para>Limitations: Connectors do not currently reroute around stencils, you need to adjust them manually. Text is always displayed horizontally; rotated text is not currently possible. </para> +</sect2> + +<sect2> +<title>Grouping Stencils</title> +<para>Several stencils may be semi-permanently grouped together. Once this has been done any changes made to one stencil will affect the others in the group.</para> +<para>To make a group select the stencils and select <menuchoice><guimenu>Format</guimenu><guimenuitem>Group Selection</guimenuitem></menuchoice>.</para> +<para>The procedure can be reversed by selecting a group of stencils and select <menuchoice><guimenu>Format</guimenu><guimenuitem>Ungroup</guimenuitem></menuchoice>.</para> +</sect2> + +<sect2> +<title>Overlaying Stencils</title> +<para>Stencils can be positioned on top of one another. A stencil drawn on top of another stencil will obscure the stencil underneath it. To adjust the drawing order select one of the stencils and select either <menuchoice><guimenu>Format</guimenu><guimenuitem>Bring to Front</guimenuitem></menuchoice> or <menuchoice><guimenu>Format</guimenu><guimenuitem>Send to Back</guimenuitem></menuchoice>.</para> +<para><guimenuitem>Send to Back</guimenuitem> will cause the stencil to be obscured by any stencil which overlaps it. <guimenuitem>Bring to Front</guimenuitem> will cause the stencil to obscure any stencil which it overlaps.</para> +</sect2> + +<sect2> +<title>Locking Stencils</title> +<para>A stencil's properties may be <quote>locked</quote> to prevent accidental changes. To alter a stencil's protection use the protection palette. This can be displayed by selecting <menuchoice><guimenu>View</guimenu><guisubmenu>Palettes</guisubmenu><guimenuitem>Show Protection</guimenuitem></menuchoice>. Select the stencil or stencils you wish to protect and then tick the properties you want to protect on the protection palette.</para> +<para>The protections available are: <guilabel>Width</guilabel>, <guilabel>Height</guilabel>, <guilabel>Aspect ratio</guilabel>, <guilabel>X position</guilabel>, <guilabel>Y position</guilabel> and <guilabel>Deletion</guilabel>. Deletion prevents a stencil from being deleted from the document.</para> +</sect2> + +<sect2> +<title>Stencil Geometry</title> +<para>For accurately specifying the dimensions of a stencil use the Geometry palette. To display the palette select <menuchoice><guimenu>View</guimenu><guisubmenu>Palettes</guisubmenu><guimenuitem>Show Geometry</guimenuitem></menuchoice>. The palette contains four spin boxes for specifying the horizontal (<guilabel>X:</guilabel>) and vertical (<guilabel>Y:</guilabel>) position of the stencil and the <guilabel>Width:</guilabel> and <guilabel>Height:</guilabel>.</para> + +<tip><para>Although the measurements are displayed in centmeters it is possible to enter other units into the textbox. For example, entering 2.5 mm will be converted into centimeter. Points (pt) and inches (in) are also accepted.</para></tip> + +</sect2> + +</sect1> + +<sect1 id="viewing"> +<title>Viewing the Document</title> + +<sect2> +<title>Zooming In and Out</title> +<para>To adjust the zoom level select <menuchoice><guimenu>View</guimenu><guisubmenu>Zoom Level</guisubmenu></menuchoice>. This submenu contains a list of percentages from 33% to 500%; selecting one of these magnify the document by that percentage.</para> +<para>There is also a list of zoom levels in a spin box on the <guilabel>Edit</guilabel> toolbar, by default shown at the top of the screen.</para> +<para>A second method of controlling the magnification is to use the zoom tool. This is available on the <guilabel>Tools</guilabel> toolbar. This tool can be used in two ways. Clicking on the document with the zoom tool active will increase the magnification. Holding down the &Shift; key whilst clicking will decrease the magnification, &ie; zoom out.</para> +<para>Alternatively, holding down the &LMB; and dragging out a box then releasing the mouse button will increase the magnification so that that portion of the document fills the available space.</para> +</sect2> + +<sect2> +<title>Panning the Document</title> +<para>The <guiicon>Pan Document</guiicon> tool lets you move the document around, adjusting the portion that is visible. This is very useful when working at high magnifications where the entire document is not completely visible. To pan a document select <guiicon>Pan Document</guiicon> from the <guilabel>Tools</guilabel> toolbar or <menuchoice><guimenu>Tools</guimenu><guisubmenu>Pan Document</guisubmenu></menuchoice> in the menu. Once activated the mouse pointer turns into a hand. To move the document move the mouse over the currently visible portion, hold down the &LMB; and drag.</para> +</sect2> + +<sect2> +<title>The Overview</title> +<para>The <guilabel>Overview</guilabel> palette provides a quick way of adjusting the zoom level and moving around the document. To enable it select <menuchoice><guimenu>View</guimenu><guisubmenu>Palettes</guisubmenu><guimenuitem>Overview</guimenuitem></menuchoice>.</para> +<para>A miniature representation of the document itself is shown underneath. A red rectangle indicates the portion that is currently visible. Clicking anywhere on this representation pans the view to that area. The rectangle can also be dragged.</para> +<para>At the bottom of the palette there is a slider and two buttons to zoom 25% in or out.</para> +</sect2> + +<sect2> +<title>Using Palettes</title> +<para>All palettes have a handle on the top side which enables them to be moved around and positioned on any edge of the main view. They can also float anywhere on the screen. To hide or show a palette select it from <menuchoice><guimenu>View</guimenu><guisubmenu>Palettes</guisubmenu></menuchoice>.</para> +</sect2> + +<sect2> +<title>Multiple Views</title> +<para>It is possible to have multiple views of the same document displayed simultaneously.</para> +<para>Select <guimenuitem>New View</guimenuitem> from the <guimenu>View</guimenu> menu and a new &kivio; window showing the same document will appear. This is very useful for multiple monitor setups.</para> +<para>The additional windows can be closed and &kivio; will only prompt you to save the document when the last window is closed. All windows pertaining to a particular document can be closed simultaneously by selecting <menuchoice><guimenu>View</guimenu><guimenuitem>Close All Views</guimenuitem></menuchoice>.</para> +</sect2> + +<sect2> +<title>Split Views</title> +<para>It is also possible to split the window into two or more portions which can be used to view two areas of a document at once. +To split a window select <menuchoice><guimenu>View</guimenu><guimenuitem>Split View</guimenuitem></menuchoice>. The orientation of the split can be changed from horizontal to vertical using <menuchoice><guimenu>View</guimenu><guisubmenu>Splitter Orientation</guisubmenu></menuchoice>. To restore the window to its original state select <menuchoice><guimenu>View</guimenu><guimenuitem>Remove View</guimenuitem></menuchoice>.</para> +</sect2> + +<!--sect2> +<title>The View Manager</title> +<para>The View Manager allows you to store the current display settings, including zoom level and position. You can then adjust the view and still be able to revert back to the previous settings. A number of different settings can be stored and given names for ease of reference.</para> +<para>To display the View Manager choose <menuchoice><guimenu>View</guimenu><guisubmenu>Docker</guisubmenu><guimenuitem>View Manager</guimenuitem></menuchoice>. The docker contains five buttons and a list of stored views.</para> +<para>The first button, <guibutton>Add Current View</guibutton>, stores the current display settings. Once the settings have been stored you can modify the display settings. To revert to any one of the stored settings click on its name in the list.</para> +<para>By default &kivio; labels the settings with the page number and the magnification level, to enter a more descriptive name click on the middle button, <guibutton>Rename Item</guibutton>; this lets you enter your own text.</para> +<para>The second button, <guibutton>Remove Item</guibutton>, removes the currently selected set of stored settings.</para> +<para>The final two buttons, <guibutton>Move Item Up</guibutton> and <guibutton>Move Item Down</guibutton>, allow the order of the settings in the list to be adjusted.</para> +</sect2--> + +<sect2> +<title>Customizing the Display</title> +<para>The <guimenu>View</guimenu> menu contains options for toggling the display of page margins, rulers, guides and the grid.</para> +</sect2> + +</sect1> + +</chapter> diff --git a/doc/kivio/working.docbook b/doc/kivio/working.docbook new file mode 100644 index 00000000..809b8aeb --- /dev/null +++ b/doc/kivio/working.docbook @@ -0,0 +1,212 @@ +<chapter id="working"> +<chapterinfo> +<authorgroup> +<author><firstname>Ben</firstname> +<surname>Lamb</surname> +<affiliation> +<address> +<email>kde@zurgy.org</email> +</address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> + +<title>Working with &kivio;</title> + +<sect1 id="opening"> +<title>Opening a Document</title> +<para>To open a previously saved document select <menuchoice><guimenu>File</guimenu><guimenuitem>Open...</guimenuitem></menuchoice>, a standard &kde; file dialog box will appear.</para> +<para>Recently used documents are listed under <menuchoice><guimenu>File</guimenu><guisubmenu>Open Recent</guisubmenu></menuchoice>.</para> +</sect1> + +<sect1 id="saving"> +<title>Saving a Document</title> +<para>To save the current document select <menuchoice><guimenu>File</guimenu><guimenuitem>Save</guimenuitem></menuchoice> or <menuchoice><guimenu>File</guimenu><guimenuitem>Save As...</guimenuitem></menuchoice> to give an existing file a different name.</para> +<note><para>It is possible to save the document in a format that can be opened by earlier versions of &kivio;. Select the version you require from the <guilabel>Filter:</guilabel> combo box in the save file dialog.</para></note> +</sect1> + +<sect1 id="printing"> +<title>Printing</title> +<para>The document can be printed by selecting <menuchoice><guimenu>File</guimenu><guimenuitem>Print...</guimenuitem></menuchoice>. The standard &kde; printing dialog appears. A preview of the printed output can be obtained by selecting <menuchoice><guimenu>File</guimenu><guimenuitem>Print Preview...</guimenuitem></menuchoice>.</para> +</sect1> + +<sect1 id="import-export"> +<title>Importing/Exporting Documents</title> +<para>The <guimenuitem>Import...</guimenuitem> menu option on the <guimenu>File</guimenu> menu currently loads a &kivio; or &XML; document into a new &kivio; application.</para> +<para>The <guimenuitem>Export...</guimenuitem> menu option on the <guimenu>File</guimenu> menu currently perform the same functions as <menuchoice><guimenu>File</guimenu> <guimenuitem>Save As...</guimenuitem></menuchoice>. These options let you save a document under a different name or into an other format.</para> +</sect1> + +<sect1 id="multiple-pages"> +<title>Documents with Multiple Pages</title> +<para>A &kivio; document can contain several pages of diagrams.</para> + +<sect2> +<title>Adding Pages</title> +<para>To <action>add additional pages</action> to a document select <menuchoice><guimenu>Page</guimenu><guimenuitem>Insert Page</guimenuitem></menuchoice> or click with the &RMB; on the page tab and select <guimenuitem>Insert Page</guimenuitem> from the context menu. The selector beneath the document view shows tabs for all the pages in the document that have not been hidden.</para> +</sect2> + +<sect2> +<title>Removing Pages</title> +<para>Unwanted pages can be removed by selecting <menuchoice><guimenu>Page</guimenu><guimenuitem>Remove Page</guimenuitem></menuchoice> or click with the &RMB; on the page tab and select <guimenuitem>Remove Page</guimenuitem> from the context menu.</para> +</sect2> + +<sect2> +<title>Renaming Pages</title> +<para>The names given to each page can be adjusted by double-clicking on the page name on the page selector or by clicking with the &RMB; on the page tab and select <guimenuitem>Rename Page...</guimenuitem> from the context menu. A dialog box will appear allowing the name to be edited.</para> +</sect2> + +<sect2> +<title>Working with Pages</title> +<para>The order of the pages can be adjusted by dragging the tabs on the page selector bar.</para> +<note><para>The arrow buttons on the page selector bar are for scrolling through the page tabs, they do not cycle through the pages themselves.</para></note> +<para>If you have a lot of pages in a document and you do not want to see them all on the page selector you can hide pages by selecting <menuchoice><guimenu>Page</guimenu><guimenuitem>Hide Page</guimenuitem></menuchoice>. This will remove the currently selected page from the page selector bar.</para> +<para>To reveal a hidden page select <menuchoice><guimenu>Page</guimenu><guimenuitem>Show Page...</guimenuitem></menuchoice> and choose the page you want to see from the list box.</para> +</sect2> + +</sect1> + +<sect1 id="page-export"> +<title>Exporting a Page</title> +<para>Individual pages can be exported as bitmap graphics files. To export the current page select <menuchoice><guimenu>File</guimenu> <guimenuitem>Export...</guimenuitem></menuchoice> or <menuchoice><guimenu>File</guimenu> <guimenuitem>Save As...</guimenuitem></menuchoice>. A standard &kde; file dialog box appears. The export format is determined by the name extension you give the file, it must end with one of the extensions listed below.</para> +<para>The following formats are supported:</para> + +<itemizedlist> +<listitem><para>PNG Image (.png)</para></listitem> +<listitem><para>JPEG Image (.jpg)</para></listitem> +<listitem><para>BMP Image (.bmp)</para></listitem> +<listitem><para>Encapsulated Postscript Image (.eps)</para></listitem> +<listitem><para>Portable Bitmap (.pbm)</para></listitem> +<listitem><para>PCX Image (.pcx)</para></listitem> +<listitem><para>Portable Pixmap Image (.ppm)</para></listitem> +<listitem><para>SGI Image (RGB) (.rgb)</para></listitem> +<listitem><para>X PixMap Image (.xpm)</para></listitem> +<listitem><para>JPEG 2000 Image (.jp2)</para></listitem> +<listitem><para>Krita Document (.kra)</para></listitem> +<listitem><para>Adobe Illustrator Document (.ai)</para></listitem> +<listitem><para>TIFF Image (.tiff)</para></listitem> +<listitem><para>ILM EXR Image (.exr)</para></listitem> +<listitem><para>Karbon14 Document (.karbon)</para></listitem> +<listitem><para>GIMP Native Image Format (.xcf)</para></listitem> +<listitem><para>Scalable Vector Graphics (.svg)</para></listitem> +<listitem><para>&Windows; MetaFile (.wmf)</para></listitem> +</itemizedlist> + +<para>You have to confirm the export, because this may result in some loss of formatting. Click the button <guibutton>Save</guibutton> and the <guilabel>Export to Image</guilabel> dialog is displayed. In this dialog you can set some export options: <guilabel>Page:</guilabel> range, the <guilabel>Area to export:</guilabel>, the <guilabel>Custom size (in pixels):</guilabel> and the <guilabel>Margin:</guilabel> of the page.</para> +</sect1> + +<sect1 id="grid"> +<title>The Grid</title> +<para>&kivio; displays a regularly spaced grid over the document to aid stencil positioning. The visibility of the grid can be toggled by selecting <menuchoice><guimenu>View</guimenu><guimenuitem>Show Grid</guimenuitem></menuchoice>.</para> +<para>Objects edges are snapped to the nearest point on the grid regardless of whether it is visible. To toggle this behavior select <menuchoice><guimenu>View</guimenu><guimenuitem>Snap Grid</guimenuitem></menuchoice>.</para> +<para>To customize the grid select <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &kivio;...</guimenuitem></menuchoice> and click on the <guiicon>Grid</guiicon> on the icon list.</para> +<para>This dialog box will let you adjust the color the grid is drawn in, the horizontal and vertical spacing and the snap distance.</para> +<para>Tip: It is possible to have a non-square grid by specifying different horizontal and vertical spacings.</para> +</sect1> + +<sect1 id="text-tool"> +<title>Freestanding Text</title> +<para>The text tool can be used to add text to a document that is not associated with any object. This is useful for noting general information about a drawing.</para> +<para>To add freestanding text make sure no object is selected by selecting <menuchoice><guimenu>Edit</guimenu><guimenuitem>Deselect </guimenuitem></menuchoice>, then activate the text tool by selecting <menuchoice><guimenu>Tools</guimenu><guimenuitem>Text Tool</guimenuitem></menuchoice>. The mouse pointer will change to indicate the text tool is activated.</para> +<para>Drag a box to contain the text. A dialog box will appear prompting for the text, enter some text and click <guibutton>OK</guibutton>. The formatting of the text can be adjusted by selecting <menuchoice><guimenu>Format</guimenu><guimenuitem>Text...</guimenuitem></menuchoice> or by using the toolbars.</para> +</sect1> + +<sect1 id="page-layout"> +<title>Page Layout</title> +<para>The page size, margins and orientation, portrait or landscape, can be adjusted using the <guilabel>Page Size & Margins</guilabel> dialog box. This is accessible by selecting <menuchoice><guimenu>Format</guimenu><guimenuitem>Page Layout...</guimenuitem></menuchoice>.</para> +</sect1> + +<sect1 id="guides"> +<title>Using Guides</title> +<para>Guides are lines used to help you position stencils. Not only can you use guides as a visual reference when aligning items but, optionally, &kivio; will snap stencils to guides. This means that as soon as the edge of a stencil is within a certain distance to a guide it will immediately move to the guide's position.</para> + +<sect2> +<title>Adding Guides</title> +<para>To add a guide move the mouse pointer over either the horizontal or vertical ruler, depending on the type of guide you require. Hold down the &LMB; and drag the mouse over the document and release the mouse button where you want to position the guide. As you drag the mouse the guide will move accordingly. +Or use <menuchoice><guimenu>View</guimenu><guimenuitem>Add Guide Line...</guimenuitem></menuchoice> to open a dialog to select the <guilabel>Orientation</guilabel> and the <guilabel>Position</guilabel> of the guide.</para> +</sect2> + +<sect2> +<title>Repositioning Guides</title> +<para>Once a guide is in place you can reposition it by moving the mouse over it, holding down the &LMB; and dragging. Release the mouse button when the guide is in its new position.</para> +</sect2> + +<sect2> +<title>Visibility and Snapping</title> +<para>To hide guides select <menuchoice><guimenu>View</guimenu><guimenuitem>Guide Lines</guimenuitem></menuchoice>, this toggles the visibility.</para> +<para>By default stencil edges are snapped to the nearest guide, to toggle this behavior select <menuchoice><guimenu>View</guimenu><guimenuitem>Snap Grid</guimenuitem></menuchoice>.</para> +</sect2> + +</sect1> + +<sect1 id="layers"> +<title>Layers</title> +<para>&kivio; allows complex diagrams to be split into multiple layers. The visibility of layers can be turned on and off. This functionality is useful if you have a basic diagram, for example a floorplan, and need to create several versions of it for different audiences. The information for each audience can be placed in a different layer. +Each page of the document has its own set of layers.</para> + +<sect2> +<title>The Layer Palette</title> +<para>To adjust the current page's layers select <menuchoice><guimenu>View</guimenu><guisubmenu>Palettes</guisubmenu><guimenuitem>Show Layers </guimenuitem></menuchoice>. The layer palette allows layers to be created, deleted and renamed. It can also be used to adjust layer visibility, drawing order and select the current layer.</para> +<para>&kivio; has the concept of the currently active layer which is the one affected by any editing actions. By default a page contains only one layer which is the active layer.</para> +</sect2> + +<sect2> +<title>Adding Layers</title> +<para>Using the <guilabel>Layers</guilabel> palette you can add new layers by clicking the <guibutton>New Layer</guibutton> button, the first from the left. Layers can be deleted by clicking the second button, <guibutton>Remove Layer</guibutton>. &kivio; numbers the layers consecutively, to rename a layer select it in the list and click <guibutton>Rename Layer</guibutton>.</para> +</sect2> + +<sect2> +<title>Layer Settings</title> +<para>Layers are drawn in the order they are listed. The drawing occurs from the top down so objects in the layer at the bottom of the list are drawn on top of objects in all the other layers. The order of the list can be changed by selecting a layer and using the <guibutton>Move Layer Up</guibutton> and <guibutton>Move Layer Down</guibutton> buttons to change its position.</para> +<para>Each layer is listed with four small icons next to its name. From left +to right they represent:</para> +<variablelist> +<varlistentry> +<term>Visibility (shown as a small eye)</term> +<listitem><para>Clicking on the icon will toggle the layer's visibility. +</para></listitem> +</varlistentry> +<varlistentry> +<term>Printable (shown as a small printer)</term> +<listitem><para>Toggles if the layer should be printed with the document or +not. You might use a non-printing layer to keep notes to yourself, or as a +scrapbook to hold images you're not ready to use yet.</para> +</listitem> +</varlistentry> +<varlistentry> +<term>Editable (shown as a small pencil)</term> +<listitem><para>Toggles if you can edit a layer or not. You might want to +mark some layers non-editable while you work on others, to prevent +inadvertant changes.</para> +</listitem> +</varlistentry> +<varlistentry> +<term>Connectable (shown as a small connector)</term> +<listitem><para>You can permit connecting of items that lie on different +layers with this icon.</para></listitem> +</varlistentry> +</variablelist> + +</sect2> +</sect1> + +<sect1 id="arranging"> +<title>Arranging Stencils</title> + +<sect2> +<title>The Align Tool</title> +<para>The <guilabel>Align</guilabel> tool rearranges a group of stencils so that they are aligned on one edge or on an invisible centerline. To use the tool select several stencils, then select <menuchoice><guimenu>Format</guimenu><guimenuitem>Align & Distribute...</guimenuitem></menuchoice>. If the stencils are arranged in a horizontal row you the choice of aligning along the top or bottom edges or the centerline. For stencils that are arranged in a vertical row the choice is left or right edge or the centerline.</para> +</sect2> + +<sect2> +<title>The Distribute Tool</title> +<para>The <guilabel>Distribute</guilabel> tool arranges a group of stencils so that there is an even amount of spacing between each stencil.</para> +<para>First select the stencils you want to rearrange, then select <menuchoice><guimenu>Format</guimenu><guimenuitem>Align & Distribute...</guimenuitem></menuchoice> and click on the <guilabel>Distribute</guilabel> tab in the tabbed window that appears.</para> +<para>You can choose whether the items should be spaced so that there is equal spacing between two edges, for example, the distance between the lefthand edge of each stencil should be the same. Or, whether the gap between each item should be identical. Choose the <guilabel>Spacing</guilabel> option if you desire this.</para> +<para>The second choice is whether the spacing should use the entire extent of the page or just the extent of the selection. If the latter is chosen the stencils will not occupy any more space than they did originally.</para> +<note><para>The option to use the extent of the page takes the page margins into consideration.</para></note> +</sect2> +</sect1> + +</chapter> diff --git a/doc/koffice.desktop b/doc/koffice.desktop new file mode 100644 index 00000000..fcc5f617 --- /dev/null +++ b/doc/koffice.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=KOffice +Name[sv]=Koffice +Name[tr]=Koffice +NoDisplay=true +DocPath=koffice/index.html +Categories=Qt;KDE;Office; diff --git a/doc/koffice/Makefile.am b/doc/koffice/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/koffice/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/koffice/index.docbook b/doc/koffice/index.docbook new file mode 100644 index 00000000..4c194a7f --- /dev/null +++ b/doc/koffice/index.docbook @@ -0,0 +1,855 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kappname "&koffice;"> + <!ENTITY package "koffice"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % English "INCLUDE" > <!-- change language only here --> +]> + +<!-- maintained by raphael.langerhorst@kdemail.net --> + +<book lang="&language;"> +<bookinfo> +<title>&koffice;</title> +<subtitle>A General Introduction</subtitle> +<authorgroup> +<author> +<firstname>Raphael</firstname> +<surname>Langerhorst</surname> +<affiliation><address><email>raphael.langerhorst@kdemail.net</email></address></affiliation> +</author> +<author> +<firstname>Jost</firstname> +<surname>Schenck</surname> +<affiliation><address><email>jost@schenck.de</email></address></affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> + +<date>2005-10-27</date> +<releaseinfo>1.5.0</releaseinfo> + +<abstract> +<para> +&koffice; is an integrated office suite for the K Desktop Environment +(&kde;). +</para> +</abstract> + +<keywordset> +<keyword>KDE</keyword> +<keyword>KOffice</keyword> +</keywordset> + +</bookinfo> + + +<chapter id="introduction"> +<title>Introduction</title> +<sect1> +<title>&koffice; components</title> + +<para> +&koffice; is an integrated office suite for the K Desktop Environment +(&kde;). &koffice; currently consists of the following components: +</para> + +<itemizedlist> +<listitem><para>&kword; (a frames-based wordprocessor)</para></listitem> +<listitem><para>&kspread; (a spreadsheet application)</para></listitem> +<listitem><para>&kpresenter; (screen and slide presentations)</para></listitem> +<listitem><para>&kivio; (a flowchart application)</para></listitem> +<listitem><para>Karbon14 (a vector drawing application)</para></listitem> +<listitem><para>&krita; (a pixel based drawing application)</para></listitem> +<listitem><para>&kugar; (a tool for generating business quality reports)</para></listitem> +<listitem><para>Kexi (an integrated environment for managing data)</para></listitem> +<listitem><para>&kchart; (a charts/graphs generation application)</para></listitem> +<listitem><para>&kformula; (an editor for mathematical formulae)</para></listitem> +</itemizedlist> + +<para> +Because these components are based on the KParts component model, &koffice; +components are designed to work very well with each other. Any &koffice; +component can be embedded in another &koffice; document. For instance, you +can insert a spreadsheet which you created in &kspread; directly into a &kword; +document. In this way, complex, compound documents can be created using +&koffice;. +</para> + +<para> +A plugin mechanism makes it easy to extend the functionality of +&koffice;. You will find many plugins in some of the components +and can learn how to write plugins yourself. There is also a section +of this manual dedicated to developing plugins that should get you +started. +</para> + +<para> +This manual only covers the general features of &koffice;, 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. +</para> + +</sect1> + +<sect1 id="features"> +<title>Overview of &koffice; features</title> +<sect2 id="featureintegration"> +<title>Integration</title> +<para> +&koffice; 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. The technology of this is +described in more depth in the <link linkend="kparts">chapter on +KParts</link>. +</para> +</sect2> +<sect2 id="featureleightweight"> +<title>Lightweight</title> +<para> +Despite offering so many components, &koffice; is very lightweight, fast and +has a rather low memory footprint. This is also achieved because &koffice; builds +on &kde;, which is already a very powerful application development framework. +</para> +<para> +A goal of &koffice; 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. +</para> +<para> +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 &koffice;. &koffice; really doesn't +want to get bloated by adding large chunks of features that only very +few users might need. Such features can always be made available through +additional plugins or scripts, thus keeping &koffice; itself lightweight. +</para> +</sect2> +<sect2 id="featurecompleteness"> +<title>Completeness</title> +<para> +&koffice; 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 &koffice; +framework. +</para> +</sect2> +<sect2 id="featurefileformat"> +<title>OASIS OpenDocument Format</title> +<para> +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. +</para> +<para> +For this reason &koffice; has adapted the OASIS OpenDocument format +as native file format. +</para> +</sect2> +<sect2 id="featurekde"> +<title>KDE Features</title> +<para> +Since &koffice; builds on &kde; all the features you would expect from a +&kde; application are also available in &koffice;. This includes DCOP, KParts, +Desktop Integration, Configurability and so on. All this makes the look and +feel of &koffice; very familiar and really integrates &koffice; into the +desktop environment, thus allowing seamless workflows. +</para> +</sect2> + +</sect1> + +</chapter> +<chapter> +<title>&koffice; Technology</title> + +<sect1 id="kparts"> +<title>KParts - the building blocks of &koffice;</title> + +<!-- <sect2 id="kpartsintro"> --> +<!-- <title>KParts Introduction</title> --> + +<para> +Each &koffice; application is designed to fulfill very specific needs. +For example, &kspread; is a program for manipulating spreadsheets, while +&kword; is a program for word processing. By focusing on a specific +area, each program aims for perfection in exactly this area. However, +depending on what you do with &koffice;, you'll often want to take +advantage of functionality provided by different applications, but in +the <emphasis>same</emphasis> document. +</para> + +<para> +Suppose that you are preparing a document in &kword; and want to +illustrate some point using a table. While &kword; provides its own +functionality for the insertion of tables, this may not be enough for +your needs. For example, you may want to use certain currency data +formats or to do calculations using spreadsheet formulae. Now, some +&kword; programmer certainly <emphasis>could</emphasis> try to implement +this functionality. However, &kword; would never be as good as &kspread; +in this field; and if it tried to implement all the functionality you +might possibly need, it would end up becoming unreasonably complex and +the source code would become impossible to maintain. +</para> + +<para> +The alternative to this is KParts. Its philosophy is simple: let every +application do what it does best. +</para> + +<!-- </sect2> --> + +<sect2 id="compound-docs"> +<title>Compound documents with KParts</title> + +<para> +With KParts, your documents can use <emphasis>all</emphasis> +functionality offered by <emphasis>all</emphasis> &koffice; +applications. You can take advantage of this by inserting so-called +<quote>parts</quote> into your document. Every one of those parts is +essentially another document, that is, <quote>a document within a +document</quote>. +</para> + +<para> +In the example mentioned above, you would simply insert a &kspread; part +into your &kword; document. Then, whenever you edit your table, +&kspread; would take control in the background. Control would return to +&kword; when you stop working on the table and start working on text +again. The only change you would notice is that the toolbars and menus, +while editing the table, reflect the functionality of &kspread; instead +of that of &kword;. This ability to include the functionality of one +application in another is called <quote>embedding</quote>. +</para> + +</sect2> + + +<sect2 id="kparts-try-it"> +<title>Using KParts in your document</title> + +<para> +If you have never worked with compound documents, you may find them +confusing at first. The following step-by-step instructions show you +that using KParts is just as easy as working with a single application. +</para> + +<procedure> +<title>Inserting a &kspread; part into a &kword; application</title> +<step> +<para>Start &kword;. You can do that either from the panel or by typing +<userinput><command>kword</command></userinput> at the command line. +</para> +</step> +<step> +<para> +Start a new, blank document. You may want to type some sample text. +</para> +</step> +<step> +<para> +Select <menuchoice><guimenu>Insert</guimenu> <guisubmenu>Object Frame</guisubmenu> + <guimenuitem>Spreadsheets</guimenuitem></menuchoice>. You'll notice that the mouse cursor has +changed to a cross. This form of the cursor indicates that you are supposed +to select an area. +</para> +</step> +<step> +<para> +Press the &LMB; mouse button where you want the upper left corner of +your table to be, hold it and drag it to the lower right corner. Release +the button. Now a dialog appears that gives you the possibility to +insert an existing document or to create a new one. Create a blank worksheet. +That's it--you're done. +</para> +</step> +</procedure> + +<para> +Easy, isn't it? You should now see a table frame in your &kword; +document. Now, doubleclick inside the table to see what happens. You'll +notice that: +</para> + +<itemizedlist> +<listitem> +<para> +Your menubars and toolbars have changed. They now reflect those of +&kspread;. +</para> +</listitem> +<listitem> +<para> +Your table frame now contains the elements of a &kspread; view, with +scrollbars, a tab bar for the selection of tables, &etc; +</para> +</listitem> +</itemizedlist> + +<para> +Try editing the table. You'll see that it's not different from using +&kspread;. In fact you <emphasis>are</emphasis> using &kspread;. +</para> + +<para> +Now click somewhere into your &kword; document, outside of the table +area. The menubars and toolbars should change back to those of +&kword;, the elements of the &kspread; view should disappear. Your table +stays and still reflects all of the changes you've applied to it. +</para> + +<para> +KParts are easy to use. Try inserting other parts or even parts in +parts. +</para> + +</sect2> + +</sect1> + +</chapter> + +<chapter id="configuration"> +<title>Configuring &koffice; and Your System</title> + +<para> +While &koffice; should work quite nice out of the box, there may well be +some things to optimize to get the best out of &koffice;. 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. &koffice; is +highly configurable, even down to detailed toolbar and menu layout. +</para> + +<sect1 id="the-font-issue"> +<title>Optimizing Font Output</title> +<para> +Fonts are a difficult topic on X Windows. In this section we'll cover +some problems that are frequently reported by people using +&koffice;. Some problems are not just &koffice;s fault, but depend on +your system configuration, which is why you may need to modify system +configuration files in order to solve them. If you don't have access to +the root account on your system, please ask your system operator about +this and point him or her to this manual. As the topic of fonts is too +complex to cover all of it here, you may want to consult the <ulink +url="http://www.pegasus.rutgers.edu/~elflord/font_howto/Font-HOWTO/">Font +HOWTO</ulink> from which I've taken the following information. You will +find more details there. +</para> + +<sect2> +<title>How to Get Nicely Scaled Fonts on Screen</title> + +<para> +STUFF +</para> + +</sect2> + +<sect2><title>How to Get Correct Printout</title> + +<para> While &koffice; automatically can handle all X11 fonts +<emphasis>on screen</emphasis>, printout can pose a problem: on most +systems, printing is done via +<application>ghostscript</application>. Now, while &koffice; knows the +font names used by X Windows, it does normally +<emphasis>not</emphasis> know the font names used by +<application>ghostscript</application>. &koffice; tries to guess these +names, which unfortunately doesn't work all of the time. </para> + +<para> +This problem can be solved, although this is not that easy. Actually, +maybe you are using a distribution which has done most work for you +already (so if you have no reason to complain about printout you can +skip this section). What you have to do is to tell +<application>ghostscript</application> how to translate the (guessed) +font names &koffice; uses to its own font names. This can be done by +adding lines to a file called <filename>Fontmap</filename>. An alias +line in <filename>Fontmap</filename> looks like the following +example:</para> + +<example> +<title>An alias in the <application>ghostscript</application> Fontmap</title> +<screen> +/Algerian-Roman /Algerian ; +</screen> +</example> + +<para> +Please note that a space before the ';' is mandatory. In this example, +Algerian-Roman is the name &koffice; uses for Algerian. You'll have to +add such lines for the fonts &koffice; doesn't display correctly. To +make this task easier, Donovan Rebbechi has written a perl script you +can find at <ulink +url="http://pegasus.rutgers.edu/~elflord/font_howto/kwdfont">http://pegasus.rutgers.edu/~elflord/font_howto/kwdfont</ulink>. +Assuming that you have a fontfile +<filename>/usr/share/ghostscript/fonts/fontfile.ttf</filename> you'll +enter <userinput><command>kwdfont</command> +<parameter>/usr/share/ghostscript/fonts/fontfile.ttf</parameter></userinput> +to get the appropriate aliases. The script should mork in most cases. As +mentioned, you should have a look at the <ulink +url="http://pegasus.rutgers.edu/~elflord/font_howto/html/">Font +HOWTO</ulink> for more accurate and in-depth information. +</para> + +</sect2> +</sect1> + +<sect1 id="custom-gui"> +<title>Customizing the &koffice; &GUI;</title> + +<para> +While &koffice; 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. +</para> + +<para> +My mother, for example, is a bit afraid of buttons and menu entries she +doesn't understand. To tailor &koffice; 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; +</para> + +<para> Thanks to the <quote>action</quote> concept of &Qt; and &kde;, +you can freely customize &koffice; menubars and tool +bars. Unfortunately, at the moment, there are no easy-to-use dialogs +to do this. &koffice; 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 <acronym>HTML</acronym>, which is a subset of +&XML;). [The <quote>action</quote> concept needs to be discussed in +more detail -- kt.] </para> + +<para> +Normally, each &koffice; 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 +&kword;, these two &XML; files are named +<filename>kword_shell.rc</filename> and <filename>kword.rc</filename>. +</para> + +<para> +Here's a simple example of such an rc-file. +</para> + +<example> +<title>An example of a simple rc-file</title> +<screen> +<!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> +</screen> +</example> + +</sect1> + +</chapter> + +<chapter id="more-info"> +<title>How to get more information</title> + +<sect1 id="other-manuals"> +<title>Other &koffice; manuals</title> + +<para> +For detailed information on the different &koffice; applications, please +consult their respective manuals. <!-- (use ulink to help:/appname/ --> +<!-- for the meantime - it's a hack, but it's the best we have --> +<!-- presently. [FIXME: how do I provide links to them? Do we --> +<!-- need set-tag?] --> +</para> + +</sect1> + +<sect1 id="links"> +<title>Links</title> + +<para> +The following links should be useful if you're looking for more information +about &kde; or &koffice;. +</para> + +<itemizedlist> +<listitem> +<para><ulink url="http://koffice.kde.org">The &koffice; +homepage</ulink>. Here you can find information on how to get and +install &koffice;, news about &koffice; development, screenshots &etc; +</para></listitem> +<listitem> +<para> +<ulink url="http://www.kde.org">The KDE Homepage</ulink>. KDE is the most advanced and +absolutely free desktop environment for unix-like operating systems. +&koffice; makes use of the &kde; libraries. +</para></listitem> +<listitem> +<para><ulink url="http://www.trolltech.com">Trolltech</ulink>. The creators +of the C++-toolkit &Qt;. &kde; and &koffice; make use of &Qt;. +</para></listitem> +</itemizedlist> + +</sect1> + +</chapter> + +<chapter id="programmersinfo"> +<title>Programming &koffice;</title> + +<sect1 id="programmingintro"> +<title>Introduction</title> +<para> +If you want to do &koffice; development, the following resources might +be of interest: +</para> + +<itemizedlist> +<listitem><para> At <ulink +url="http://developer.kde.org">http://developer.kde.org</ulink> you'll +find many documents about programming with &Qt; and &kde;. Here you can find +the online version of the complete &kde; library documentation. +</para></listitem> +<listitem><para> +In the &koffice; sources you'll find an example application in the +<filename class="directory">example</filename> folder. +</para></listitem> +</itemizedlist> +</sect1> + +<!-- +<sect1 id="programmingplugin"> +<title>Developing &koffice; Plugins</title> +<para> +TO BE WRITTEN. +</para> +</sect1> + +<sect1 id="scripting"> +<title>Scripting &koffice;</title> +<para> +This section gives you information on how you can automate and +script &koffice;. +</para> +<sect2 id="dcop"> +<title>DCOP</title> +<para> +TO BE WRITTEN. +</para> +</sect2> +</sect1> + +<sect1 id="programmingreport"> +<title>Creating Reports with Kugar</title> +<para> +TO BE WRITTEN. + +Maybe this should go completely into the +Kugar manual? So we just keep a reference to the kugar manual +here. + +</para> +</sect1> + +<sect1 id="programmingdatabase"> +<title>Integrating a Database with Kexi</title> +<para> +TO BE WRITTEN. + +Again, should this just be a reference to kexi documentation? + +</para> +</sect1> + +<sect1 id="programmingcomponents"> +<title>Developing &koffice; Components</title> +<para> +TO BE WRITTEN. +</para> +</sect1> + +--> + +</chapter> + +<chapter id="legal"> +<title>Copyright and Licensing</title> + +<para> +&koffice; is the result of the joint effort of many developers. Each source file +of &koffice; 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. The names of the core developers can be found at +<ulink url="http://www.koffice.org/people.php"> +http://www.koffice.org/people.php</ulink>. +</para> + +<para> +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; +<acronym>CVS</acronym>. I'll not be liable for anything resulting +from the use of this manual. +</para> + +<para> +The other &koffice; manuals are copyrighted by their respective authors. +</para> + +<!--TRANS:CREDIT_FOR_TRANSLATORS--> +&underFDL; +&underGPL; + +</chapter> + +<appendix id="installation"> +<title>Installation</title> + +<sect1 id="requirements"> +<title>System Requirements</title> + +<para> +In order to install and use &koffice; you must have: +</para> + +<itemizedlist> +<listitem><para> +A functioning &UNIX; system (for example, &Linux; or BSD) +with a configured &X-Window; (for example, XFree86 or X.Org). +</para></listitem> +<listitem><para> +The &Qt; 3.3 libraries from Trolltech. See +<ulink url="http://www.trolltech.com/">www.trolltech.com</ulink> +for more information. +</para></listitem> +<listitem><para> +The K Desktop Environment 3.3 (&kde; 3.3) or newer. &koffice; cannot be compiled +with earlier versions of &kde;. Information on obtaining and installing +&kde; can be found at: &kde-http; +</para></listitem> +<listitem><para> +Permission to install software on your computer. If you are on a +stand-alone system, this should not be a problem. However, if you are +using a networked computer, check with your administrator first. +</para></listitem> +</itemizedlist> + +<para> +Please note that, while you need the &kde; 3.3 (or newer) libraries +on your system, you can still use &koffice; in a different desktop +environment (for example, XFCE or GNOME). +</para> + +<para> +If you plan on <link linkend="from-source">compiling &koffice; from +source code</link> you will also need: +</para> + +<itemizedlist> +<listitem><para> +<command>automake</command> 1.6.1 or later. This can be downloaded from: +<ulink url="ftp://ftp.gnu.org/pub/gnu/automake/">ftp://ftp.gnu.org/pub/gnu/automake/</ulink> +</para></listitem> +<listitem><para> +<command>autoconf</command> 2.53 or later. This can be downloaded from: +<ulink url="ftp://ftp.gnu.org/pub/gnu/autoconf/">ftp://ftp.gnu.org/pub/gnu/autoconf/</ulink> +</para></listitem> +<listitem><para> +A C++ compiler which supports exceptions, preferably a recent version of GCC. +(See <ulink url="http://gcc.gnu.org">http://gcc.gnu.org</ulink> +for info about getting and installing it.) +</para></listitem> +<listitem><para> +Troll Tech's &Qt; 3.3 development packages. If these packages are not installed on +your system and they are not included in the distribution of your operating +system, you should probably have to compile &Qt; from source. +These sources can be obtained from +<ulink url="http://www.trolltech.com/download/index.html"> +http://www.trolltech.com/download/index.html</ulink>. +</para></listitem> +</itemizedlist> + +<para> +Once you have determined that your system meets these requirements, +you should decide whether you want to compile the source code +or install from pre-compiled binary packages. +</para> + +<para> +If you want to obtain the most current binary version of &koffice;, +you can find more information by following this link: +<link linkend="getting-binaries">Getting Binary Packages</link>. +</para> + +<para> +If pre-compiled binaries are not available for your system, you can download +the source code and compile it yourself. Instructions on where to obtain the +current source code (and what to do with the source code once you have it) +can be found by following this link: +<link linkend="getting-source">Getting the source code</link>. +</para> + +<note><para> Please see the <ulink +url="http://koffice.kde.org">&koffice; homepage</ulink> for further +details. That is where you can always find the most up-to-date +information on both source and binary distributions! </para></note> + +</sect1> + + +<sect1 id="getting-binaries"> +<title>Getting Binary Packages</title> + +<para> +You can download the most current binaries from: +</para> + +<para> +<ulink url="http://koffice.kde.org/releases/1.4.0-release.php"> +http://koffice.kde.org/releases/1.4.0-release.php</ulink> +</para> + +<para> +or from one of many mirror sites. The current list of mirror sites +can be found at: +</para> + +<para> +<ulink url="http://www.kde.org/mirrors.html">http://www.kde.org/mirrors.html</ulink> +</para> + +<note><para> It is important that you use a binary package which is +compatible with your system. If you use the &Linux; operating system +and are unable to find a binary package at the &koffice; web site or +one of its mirrors, you may be able to obtain one from the website of +your distribution. </para></note> + +</sect1> + + +<sect1 id="from-binaries"> +<title>From Binary Packages</title> + +<para> +To install &koffice; from precompiled binaries, you should: +</para> + +<procedure> +<step> +<para>Ensure your computer has all of the required software installed +and in working condition (excluding &koffice; of course). You can find +the system requirements by following this link: <link +linkend="requirements">System Requirements</link>.</para></step> +<step><para>Download the &koffice; binary (or binaries) into a temporary +folder.</para></step> +<step><para>If the filename ends in <literal +role="extension">.rpm</literal> (&RedHat; Package Management file), +&koffice; can be installed with the following command: +<screen><prompt>$</prompt><userinput><command>rpm</command><option>-U </option><replaceable>filename</replaceable></userinput></screen> +</para> +<para>If the filename ends in <literal role="extension">.deb</literal> (Debian Package file), &koffice; can be installed with the following command: +<screen><prompt>$</prompt> <userinput><command>dpkg</command><option>-i </option><replaceable>filename</replaceable></userinput></screen> +</para> +<para>If the filename ends in <literal role="extension">.tar.gz</literal> +or <literal role="extension">.tgz</literal> (a tarball file), +&koffice; can be installed with the following commands:</para> +<screen> +<prompt>$</prompt> <userinput><command>cd</command> /</userinput> +<prompt>$</prompt> <userinput><command>tar</command> <option>-xzvf</option> <replaceable>filename</replaceable></userinput> +</screen> +<para>In these examples <emphasis>filename</emphasis> should be replaced by the +complete name of the package <emphasis>including the full path</emphasis> if +you are not in the directory in which you saved.</para> +</step> +<step><para> +That's all. &koffice; should now be installed on your system. +</para></step> +</procedure> + +<note><para> If you have a graphical front-end for package management, +such as &kpackage; or <application>GnoRPM</application>, installed on +your system, you may find that more convenient to use than a command +line. Consult the program's documentation to find out how to install +with it. </para></note> + +</sect1> + + +<sect1 id="getting-source"> +<title>Getting Source Code</title> + +<para> +You can download the current source code from: +<ulink url="http://koffice.kde.org/">http://koffice.kde.org/</ulink> +or from one of many mirror sites. The current list of mirror sites +can be found at: +</para> + +<para> +<ulink url="http://www.kde.org/mirrors.html">http://www.kde.org/mirrors.html</ulink> +</para> + +</sect1> + + +<sect1 id="from-source"> +<title>From Source Code</title> + +<para> +If you want to build &koffice; from source code, you should: +</para> + +<procedure> +<step><para> +Ensure your computer has all the required software installed and +in working condition (excluding &koffice; of course). You can find +the system requirements by following this link: +<link linkend="requirements">System Requirements</link>. +</para></step> +<step><para> +Download the &koffice; source file into a temporary folder. +</para></step> +<step><para> +If the filename ends in <literal role="extension">.src.rpm</literal> +(&RedHat; Package Management file), the source code for &koffice; can +be installed with: +<screen><prompt>$</prompt> <userinput><command>rpm</command><option>-U</option> <replaceable>filename</replaceable></userinput></screen></para> + +<para>If the filename ends in <literal role="extension">.src.tar.gz</literal> or <literal role="extension">.src.tgz</literal> (a tarball file), +the source code for &koffice; can be installed with: +<screen><prompt>$</prompt> <userinput><command>tar</command> <option>-xzvf</option> <replaceable>filename</replaceable></userinput></screen> +</para></step> +<step><para>The source code for &koffice; should now be installed on +your system.</para></step> +</procedure> + +</sect1> + +</appendix> + +&documentation.index; +</book> + diff --git a/doc/koshell/Makefile.am b/doc/koshell/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/koshell/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/koshell/index.docbook b/doc/koshell/index.docbook new file mode 100644 index 00000000..dc43b5d9 --- /dev/null +++ b/doc/koshell/index.docbook @@ -0,0 +1,507 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kappname "&koshell;"> + <!ENTITY package "koffice"> + <!ENTITY % English "INCLUDE" > + <!ENTITY % addindex "IGNORE"> +]> + +<book lang="&language;"> + +<bookinfo> +<title>The &koshell; Handbook</title> + +<authorgroup> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annma@kde.org</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> + +<copyright> +<year>2005-2006</year> +<holder>Anne-Marie Mahfouf</holder> +</copyright> + +<legalnotice>&FDLNotice;</legalnotice> + +<!-- Date and version information of the documentation +Don't forget to include this last date and this last revision number, we +need them for translation coordination ! +Please respect the format of the date (DD/MM/YYYY) and of the version +(Major.minor.lesser), it could be used by automation scripts --> + +<date>2006-01-30</date> +<releaseinfo>1.5.0</releaseinfo> + +<!-- Abstract about this handbook --> + +<abstract> +<para> +&koshell; is the &koffice; Workspace where you can work with each component of the &koffice; productivity suite at the same time. &koshell; helps you organize your work in a friendly environment. +</para> +</abstract> + + +<keywordset> +<keyword>KDE</keyword> +<keyword>KOffice</keyword> +<keyword>workspace</keyword> +<keyword>KWord</keyword> +<keyword>KSpread</keyword> +<keyword>KPresenter</keyword> +<keyword>KChart</keyword> +<keyword>KPlato</keyword> +<keyword>Kexi</keyword> +<keyword>Krita</keyword> +<keyword>Kivio</keyword> +<keyword>Kugar</keyword> +<keyword>KFormula</keyword> +<keyword>Karbon14</keyword> +</keywordset> + +</bookinfo> + +<chapter id="introduction"> +<title>Introduction</title> + +<para>&koshell; is a framework in which you can work with several &koffice; applications in the same window. Being based on a true component framework &koshell; provides exactly the +same functionality as the stand-alone applications, and adds more +features, by making available all components in the same window. </para> + +<para> +&koshell; is part of the &koffice; productivity suite for the K Desktop +Environment. Other applications in &koffice; include:</para> + +<itemizedlist> +<listitem><para>&kword; (A full featured <acronym>WYSIWYG</acronym> (What You See Is What You Get) +Word-processor/Desktop Publishing Program.)</para></listitem> +<listitem><para>&kspread; (A spreadsheet application.)</para></listitem> +<listitem><para>&kpresenter; (A presentation creator.)</para></listitem> +<listitem><para>Kexi (An integrated environment for databases.) </para></listitem> +<listitem><para>&kivio; (A flowchart creator.)</para></listitem> +<listitem><para><application>Karbon14</application> (A vector drawing program.)</para></listitem> +<listitem><para>&krita; (A pixel based drawing program.)</para></listitem> +<listitem><para>&kchart; (A chart and graph creator.)</para></listitem> +<listitem><para>&kformula; (A formula editor.)</para></listitem> +<listitem><para>&kugar; (A report generation tool.) </para></listitem> +</itemizedlist> + +<para>See the individual application manuals for details on how to use them. These manuals apply to +running the applications as components inside &koshell; just as well as running them stand-alone. +</para> + +</chapter> + +<chapter id="main-window"> +<title>The &koshell; Main Window</title> + +<sect1 id="General"> +<title>General</title> + +<para>&koshell; consists in a friendly workspace to allow you to work on several &koffice; applications at the same time. In the &koshell; main window you can see a side pane on the left showing the icons of the available &koffice; components and the main view on the right which contains the main window of the active component and the usual menubar and toolbar. </para> + +<screenshot> +<screeninfo>Here's a screenshot of &koshell; when you start it for the first time</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="koshell1.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>&koshell; screenshot</phrase> + </textobject> + </mediaobject> +</screenshot> + +<para> +Here you can see &koshell; as it is the first time you run it. &koshell; always starts empty. You can then choose different actions. You can use the side pane on the left to open the programs as if they are standalone applications. You can also open any supported document via the <menuchoice><guimenu>File</guimenu><guimenuitem>Open</guimenuitem> +</menuchoice> menu and the corresponding &koffice; application will open with the document loaded. +</para> + +<para> +You can also import any supported document using the <menuchoice><guimenu>File</guimenu><guimenuitem>Import</guimenuitem> +</menuchoice> menu and as with the Open action, the adequate &koffice; application will be used to load your document. +</para> + +</sect1> + +<sect1 id="side-pane"> +<title>Side Pane</title> + +<screenshot> +<screeninfo>&koshell;'s Side Pane</screeninfo> +<mediaobject> +<imageobject><imagedata format="PNG" fileref="side-pane.png"/></imageobject> +<textobject> +<phrase>&koshell;'s Side Pane</phrase> +</textobject> +<caption> +<para> +&koshell;'s Side Pane +</para> +</caption> +</mediaobject> +</screenshot> + +<para>The side pane allows you to open a new &koffice; component as if it was the stand-alone application. In most components, you are asked what document you want to open, a template, an empty document or an existing document. The main window of the component is then shown and the menubar, toolbars and statusbar in &koshell; are +adapted to reflect the functionality of the active component.</para> + + +<para>You can change the size of the icons in the side pane. +Right-clicking on the side pane will give you the option to use Large, +Normal, or Small icons, as well as the option to use text only +instead of icons.</para> + +<para>If you dislike the sidebar, you can simply hide it by dragging the +splitter to the left. </para> + +</sect1> + +<sect1 id="main-view"> + +<title>Main View</title> + +<para>The view on the right which takes up most of the area of the &koshell; +main window shows the active component. This exactly corresponds to the main +window the component uses when run as a stand-alone application. </para> + +<screenshot> +<screeninfo>&koshell;'s Main View</screeninfo> +<mediaobject> +<imageobject><imagedata format="PNG" fileref="main-view.png"/></imageobject> +<textobject> +<phrase>&koshell;'s Main View</phrase> +</textobject> +<caption> +<para> + &koshell;'s Main View +</para> +</caption> +</mediaobject> +</screenshot> +<para>When a component is loaded, the component own menus are merged with the &koshell; menus and the component toolbars are added on the workspace.</para> + +<para>Each new component is opened in a new tab. Using the &RMB; on each tab title, you can save the document in that tab or close that tab. The small button on the right bottom with a red cross also allows you to close the current tab.</para> + +<para>A special action common to all components is the + <menuchoice><guimenu>File</guimenu><guimenuitem>New</guimenuitem> </menuchoice> action in &koshell; menubar. It opens the <guilabel>Insert Object</guilabel> dialog which starts the &koffice; component as if it was a stand-alone application.</para> + +<screenshot> +<screeninfo>&koshell; Insert Object dialog</screeninfo> +<mediaobject> +<imageobject><imagedata format="PNG" fileref="new-dialog.png"/></imageobject> +<textobject> +<phrase>&koshell; Insert Object dialog</phrase> +</textobject> +<caption> +<para> +&koshell; Insert Object dialog +</para> +</caption> +</mediaobject> +</screenshot> + +</sect1> +</chapter> + +<chapter id="commands"> +<title>Command Reference</title> + +<sect1 id="koshell-mainwindow"> +<title>Menus and shortcut keys</title> + +<sect2> +<title>The <guimenu>File</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>New</guimenuitem> +</menuchoice></term> +<listitem><para><action>Open</action> the <guilabel>Insert Object</guilabel> dialog which lists all possible new documents you can open.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Open...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Open</action> a supported document by choosing the corresponding &koffice; application. </para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guisubmenu>Open Recent</guisubmenu> +</menuchoice></term> +<listitem><para><action>Display</action> a selection of recently saved documents you can open. </para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Save</guimenuitem> +</menuchoice></term> +<listitem><para><action>Save</action> the current document. </para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Save As...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Save</action> the current document with a name you provide. </para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Reload</guimenuitem> +</menuchoice></term> +<listitem><para><action>Reload</action> the current document. </para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Import...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Import</action> a supported document. </para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Export...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Export</action> the current document. </para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Mail...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Invokes &kmail; so you can email the file. +The file is already attached to the email.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Save All</guimenuitem> +</menuchoice></term> +<listitem><para>Saves all open documents in &koffice; Workspace. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Print...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Print the current document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Print Preview...</guimenuitem> +</menuchoice></term> +<listitem><para><action>View the current document as it will be printed.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Document Information</guimenuitem> +</menuchoice></term> +<listitem><para><action>View or enter information about the current document and +author.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>W</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Close</guimenuitem> +</menuchoice></term> +<listitem><para><action>Close the current document but leave &koshell; running. +</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Quit</guimenuitem> +</menuchoice></term> +<listitem><para><action>Quits</action> &koshell;.</para></listitem> +</varlistentry> +</variablelist> + +</sect2> + + +<sect2> +<title>The <guimenu>Settings</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Hide/Show Toolbar</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggle</action> the <guilabel>Main</guilabel> Toolbar.</para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Shortcuts...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Configure</action> the shortcuts. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Toolbars...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Configure</action> the items you want to put in the toolbar. +</para></listitem> +</varlistentry> + +</variablelist> + +</sect2> + +<sect2> +<title>The <guimenu>Help</guimenu> Menu</title> +&help.menu.documentation; +</sect2> +</sect1> +</chapter> + +<chapter id="technology"> +<title>Under The Hood</title> + +<para>&koshell; makes extensive use of several &kde; key technologies, most +notably KParts and &DCOP;.</para> + +<para>The &GUI; integration of the components is done by plugins +providing KParts versions of the applications. This only needs a thin +additional layer on top of the already existing code of the +stand-alone applications. Because they are based on the KParts component model, &koffice; programs +are designed to work very well with each other. Any &koffice; component +can be embedded in another &koffice; document.</para> + +<para>For communication between the components &DCOP; is used. This +has the nice characteristic that it is completely transparent to +whether the application is run stand-alone or embedded as KPart into +&koshell;. </para> + +</chapter> + +<chapter id="credits"> + +<title>Credits and License</title> + +<para> +&koshell; +</para> +<para> +Program copyright 2001-2005 The &koffice; Workspace Team +</para> +<para> +Original authors: +<itemizedlist> +<listitem><para>Sven Lüppken +<email>sven@kde.org</email></para> </listitem> +<listitem><para>Torben Weis +<email>weis@kde.org</email></para> </listitem> +<listitem><para>David Faure +<email>faure@kde.org</email></para> </listitem> +</itemizedlist> +</para> + +<para> +Documentation copyright 2005 Anne-Marie Mahfouf annma@kde.org +</para> + +<!-- TRANS:CREDIT_FOR_TRANSLATORS --> + +&underFDL; <!-- FDL: do not remove --> +&underGPL; <!-- GPL License --> + +</chapter> + +<appendix id="installation"> +<title>Installation</title> + +<sect1 id="getting-koshell"> +<title>How to obtain &koshell;</title> + +&install.intro.documentation; + +</sect1> + +<sect1 id="requirements"> +<title>Requirements</title> + +<para> +&koshell; is part of &koffice; +on <ulink url="http://www.koffice.org/koshell ">The &koshell; home +page</ulink> +You must have &koffice; installed. &koshell; will not work without the rest of +&koffice; +</para> + +</sect1> + +<sect1 id="compilation"> +<title>Compilation and installation</title> + +&install.compile.documentation; + +</sect1> +</appendix> + +&documentation.index; +</book> +<!-- +Local Variables: +mode: sgml +sgml-minimize-attributes: nil +sgml-general-insert-case: lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> + + diff --git a/doc/koshell/koshell1.png b/doc/koshell/koshell1.png Binary files differnew file mode 100644 index 00000000..164b9b5c --- /dev/null +++ b/doc/koshell/koshell1.png diff --git a/doc/koshell/main-view.png b/doc/koshell/main-view.png Binary files differnew file mode 100644 index 00000000..19d9e581 --- /dev/null +++ b/doc/koshell/main-view.png diff --git a/doc/koshell/new-dialog.png b/doc/koshell/new-dialog.png Binary files differnew file mode 100644 index 00000000..515cb8ba --- /dev/null +++ b/doc/koshell/new-dialog.png diff --git a/doc/koshell/side-pane.png b/doc/koshell/side-pane.png Binary files differnew file mode 100644 index 00000000..b196ea8b --- /dev/null +++ b/doc/koshell/side-pane.png diff --git a/doc/kplato/Makefile.am b/doc/kplato/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/kplato/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/kplato/commands.docbook b/doc/kplato/commands.docbook new file mode 100644 index 00000000..94847b1b --- /dev/null +++ b/doc/kplato/commands.docbook @@ -0,0 +1,566 @@ +<chapter id="commands"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annma@kde.org</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Command Reference</title> + +<sect1 id="filemenu"> +<title>The <guimenu>File</guimenu> Menu</title> +<para> +<variablelist> +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>New</guimenuitem> +</menuchoice></term> +<listitem><para><action>Create a new document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Open...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Open an existing document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Open Recent</guimenuitem> +</menuchoice></term> +<listitem><para><action>Open an existing document</action> by selecting it +from a combo box of recently used files.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Save</guimenuitem> +</menuchoice></term> +<listitem><para><action>Save the document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Save As...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Save the document with a new name or format.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Reload</guimenuitem> +</menuchoice></term> +<listitem><para><action>Reloads the document.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Import...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Import other documents.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Export...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Save a document to any supported format.</action> +The document does not become the exported file. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Mail...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Send the file as an email attachment.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Print...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Print the document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Print Preview...</guimenuitem> +</menuchoice></term> +<listitem><para><action>View the document as it will be printed.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Document Information</guimenuitem> +</menuchoice></term> +<listitem><para><action>View or enter information about the document and +author.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>W</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Close</guimenuitem> +</menuchoice></term> +<listitem><para><action>Close the current document but leave &kplato; running. +</action></para></listitem> +</varlistentry> +<varlistentry> + +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Quit</guimenuitem> +</menuchoice></term> +<listitem><para><action>Quit</action> &kplato;.</para></listitem> +</varlistentry> +</variablelist> +</para> + +</sect1> + +<sect1 id="editmenu"> +<title>The <guimenu>Edit</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Undo</guimenuitem> +</menuchoice></term> +<listitem><para><action>Undo the last action.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Redo</guimenuitem> +</menuchoice></term> +<listitem><para><action>Redo the last undone action.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Delete Task</guimenuitem> +</menuchoice></term> +<listitem><para><action>Delete</action> the currently highlighted task. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Indent Task</guimenuitem> +</menuchoice></term> +<listitem><para><action>Indent</action> the currently highlighted task. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Unindent Task</guimenuitem> +</menuchoice></term> +<listitem><para><action>Unindent</action> the currently highlighted task. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Move Up</guimenuitem> +</menuchoice></term> +<listitem><para><action>Move up</action> the currently highlighted task. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Move Down</guimenuitem> +</menuchoice></term> +<listitem><para><action>Move down</action> the currently highlighted task. +</para></listitem> +</varlistentry> + +</variablelist> +</para> +</sect1> + +<sect1 id="viewmenu"> +<title>The <guimenu>View</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Expected</guimenuitem> +</menuchoice></term> +<listitem><para><action> - </action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Optimistic</guimenuitem> +</menuchoice></term> +<listitem><para><action> - </action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Pessimistic</guimenuitem> +</menuchoice></term> +<listitem><para><action> -</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Gantt</guimenuitem> +</menuchoice></term> +<listitem><para><action>View Gantt</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Resources</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggle</action> on and off the resources names in the +Gantt view. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Task Name</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggle</action> on and off the tasks names in the +Gantt view. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Task Links</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggle</action> on and off the task links in the +Gantt view. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Progress</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggle</action> on and off the progress in the +Gantt view. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Float</guimenuitem> +</menuchoice></term> +<listitem><para><action> - </action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Critical Path</guimenuitem> +</menuchoice></term> +<listitem><para><action>Highlight</action> the critical path in red. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Critical Tasks</guimenuitem> +</menuchoice></term> +<listitem><para><action>Highlight</action> the critical tasks in red. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Resources</guimenuitem> +</menuchoice></term> +<listitem><para><action>View</action> the resources instead of the Gantt or +the accounts. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Accounts</guimenuitem> +</menuchoice></term> +<listitem><para><action>View</action> the accounts instead of the Gantt or +the resources. +</para></listitem> +</varlistentry> + +</variablelist> +</para> +</sect1> + + +<sect1 id="insertmenu"> +<title>The <guimenu>Insert</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Task...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Display</action> the task settings dialog which allows +to define a new task after the current highlighted task. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Sub-Task...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Display</action> the task settings dialog which allows +to define and insert a new sub-task of the current highlighted task. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Milestone...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Display</action> the task settings dialog which allows +to define and insert a new sub-task of the current highlighted task. +</para></listitem> +</varlistentry> + +</variablelist> +</para> +</sect1> + +<sect1 id="projectmenu"> +<title>The <guimenu>Project</guimenu> Menu</title> +<para><variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Project</guimenu> +<guimenuitem>Edit Main Project...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Display</action> the project settings dialog. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Project</guimenu> +<guimenuitem>Edit Standard Worktime...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Display</action> the standard worktime dialog. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Project</guimenu> +<guimenuitem>Edit Calendar...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Display</action> the calendar settings dialog. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Project</guimenu> +<guimenuitem>Edit Accounts...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Display</action> the accounts settings dialog. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Project</guimenu> +<guimenuitem>Edit Resources...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Display</action> the resources dialog where you can add +new resources groups and new resources names and properties. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Project</guimenu> +<guimenuitem>Calculate</guimenuitem> +</menuchoice></term> +<listitem><para><action>Calculate</action> Expected, Optimistic and Pessimistic. +</para></listitem> +</varlistentry> + +</variablelist></para> +</sect1> + +<sect1 id="toolsmenu"> +<title>The <guimenu>Tools</guimenu> Menu</title> +<para><variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Generate WBS Code</guimenuitem> +</menuchoice></term> +<listitem><para><action> - </action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Define WBS Pattern...</guimenuitem> +</menuchoice></term> +<listitem><para><action> - </action> +</para></listitem> +</varlistentry> + +</variablelist></para> +</sect1> + +<sect1 id="settingsmenu"> +<title>The <guimenu>Settings</guimenu> Menu</title> +<para><variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Toolbars</guimenuitem> +</menuchoice></term> +<listitem><para><action>Show or hide the toolbars: <guilabel>File</guilabel>, <guilabel>Report</guilabel>, +<guilabel>View</guilabel> and <guilabel>Project</guilabel>.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Shortcuts...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Configure the keyboard shortcuts used by &kplato;. +</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Toolbars...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Configure</action> the items you want to put in +the toolbars. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure &kplato;...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Display</action> the &kplato; settings dialog. +</para></listitem> +</varlistentry> + + +</variablelist></para> +</sect1> + +<sect1 id="helpmenu"> +<title>The <guimenu>Help</guimenu> Menu</title> + +&help.menu.documentation; + +</sect1> + +</chapter> + +<!-- +Local Variables: +mode: sgml +sgml-parent-document: ("index.docbook" "book" "chapter") +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> diff --git a/doc/kplato/configure-wbs.png b/doc/kplato/configure-wbs.png Binary files differnew file mode 100644 index 00000000..c50b9c0f --- /dev/null +++ b/doc/kplato/configure-wbs.png diff --git a/doc/kplato/configure1.png b/doc/kplato/configure1.png Binary files differnew file mode 100644 index 00000000..747847fe --- /dev/null +++ b/doc/kplato/configure1.png diff --git a/doc/kplato/configure2.1.png b/doc/kplato/configure2.1.png Binary files differnew file mode 100644 index 00000000..06746519 --- /dev/null +++ b/doc/kplato/configure2.1.png diff --git a/doc/kplato/configure2.png b/doc/kplato/configure2.png Binary files differnew file mode 100644 index 00000000..0d693c3d --- /dev/null +++ b/doc/kplato/configure2.png diff --git a/doc/kplato/definitions.docbook b/doc/kplato/definitions.docbook new file mode 100644 index 00000000..fb2e2cf7 --- /dev/null +++ b/doc/kplato/definitions.docbook @@ -0,0 +1,228 @@ +<chapter id="definitions"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annma@kde.org</email></address> +</affiliation> +</author> +<author> +<firstname>Raphael</firstname> +<surname>Langerhorst</surname> +<affiliation> +<address><email>raphael.langerhorst@kdemail.net</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Definitions</title> + +<sect1 id="gantt"> +<title>Gantt charts</title> +<para>A Gantt chart is a popular type of bar chart, that aims to show the timing +of tasks or activities as they occur over time. Although the Gantt chart did not +initially indicate the relationships between tasks this has become more +common in current usage as both timing and interdependencies between tasks can +be identified. +</para> +<para> +In project management, a Gantt chart can show when the project terminal elements +start and finish, summary elements (shown) or terminal element dependencies (not +shown). A terminal element is defined as the smallest task tracked as part of +the project effort. The tasks are displayed on a page as bars. The page is laid +out such that time increases as you move across the page. A task's start +time/date is indicated by the point on the page the bar starts, and it's +duration is indicated by the length of the bar. +</para> +<para> +Since the initial introduction of Gantt charts, they have become an industry +standard as a key project management tool for representing the phases, tasks and +activities that are scheduled as part of a project Work Breakdown Structure +(WBS) or timeline of tasks. +</para> +<para> +The initial format of the chart was developed by Henry L. Gantt (1861-1919) in +1910 (see <quote>Work, Wages and Profit</quote> by H. L. Gantt, published by The +Engineering Magazine, NY, 1910). +</para> +</sect1> + +<sect1 id="wbs"> +<title>Work Breakdown Structure (WBS)</title> +<para> +In project management, a work breakdown structure (WBS) is an exhaustive, +hierarchical (from general to specific) tree structure of deliverables and tasks +that need to be performed to complete a project. +</para> +<para> +The purpose of a WBS is to identify terminal elements (the actual items to be +done in a project). Therefore, WBS serves as the basis for much of project +planning. +</para> +<para>A useful rule of thumb is that any project can be broken down into +between 10 and 20 tasks. +</para> +<para> +Work breakdown structure is a very common project management tool. Many United +States government statements of work require work breakdown structures. +</para> +<para>See the <xref linkend="configure-wbs" /> section to learn how to +configure your WBS. +</para> +</sect1> + +<sect1 id="float"> +<title>Float</title> +<para> +Float in project management is the amount of time that a terminal element in a +project network can be delayed by, without causing a delay to: +<itemizedlist> +<listitem><para>subsequent terminal elements (free float)</para></listitem> +<listitem><para>project completion date (total float).</para></listitem> +</itemizedlist> +Float is sometimes also called slack. +</para> +</sect1> + +<sect1 id="task"> +<title>Task</title> +<para> +A task is a part of a project that needs to be accomplished within a defined +period of time. Tasks can be linked together to create Dependencies. +</para> +<para> +Tasks take place over a period of time and generally consume resources. +</para> +<para> +A task is termed critical when it has zero or negative float. +</para> +<para> +In &kplato;, each task has a task ID, a name and a responsible person. +The timing, the cost and the assigned resources can also be set +in the <guilabel>Task Settings</guilabel>dialog. +</para> +<para>A subtask is any node in the WBS tree that has a task as its +parent.</para> + +</sect1> + +<sect1 id="resource"> +<title>Resource</title> +<para> +A resource is an item required to complete a task. Resources can be +people, equipment, facilities, funding or anything else needed to perform the +work of a project. Resources can have a limited time availability (&ie; an +employee that works 8 hours a day, 5 days a week). +</para> +<para>The availability is +defined by <link linkend="calendar">calendars</link>. +</para> +<para> +In &kplato; resources are either persons (work) or machines/devices (material). +</para> +</sect1> + +<sect1 id="calendar"> +<title>Calendars</title> +<para> +A calendar defines at what time a <link linkend="resource">resource</link> +is available. +</para> +<para> +Calendars can be either a regular working week or special working times +that can be individually defined for each day. This allows for very subtle +control over the availability of resources. +</para> +<para> +Every <link linkend="resource">resource</link> is usually connected to a +calendar. +</para> +<para> +In &kplato; you can even use hierarchical calendars. +</para> +</sect1> + +<sect1 id="milestone"> +<title>Milestone</title> +<para> +A milestone is a scheduled event signifying the completion of a major +deliverable or a set of related deliverables (usually marking the end of a +period). A milestone is an activity with zero duration and no effort &ie; there +is no work associated with a milestone. It is a flag in the workplan to signify +some other work has completed. +</para> +<para> +Usually a milestone is used as a project checkpoint to validate how the project +is progressing and revalidate work. Milestones are also used as high-level +snapshots for management to validate the progress of the project. In many cases +there is a decision to be made at a milestone. +</para> +</sect1> + +<sect1 id="critical-path"> +<title>Critical path</title> +<para>A path is a series of connected tasks. In project management, a +critical path is the sequence of project network terminal elements with the +longest overall duration, determining the shortest time to complete the project. +</para> +<para> +The duration of the critical path determines the duration of the entire project. +Any delay of a terminal element on the critical path directly impacts the +planned project completion date (i.e. there is no float on the critical path). +For example, if a task on the critical path is delayed by one day, then the +entire project will be delayed by one day (unless another task on the +critical path can be accelerated by one day). +</para> +<para> +A project can have several, parallel critical paths. An additional parallel path +through the network with the total duration just shorter than the critical path +is called a sub-critical path. +</para> +<para> +Originally, the critical path method considered only logical dependencies among +terminal elements. A related concept is the critical chain, which adds resource +dependencies. +</para> +<para> +The critical path method was invented by the DuPont corporation. +</para> +</sect1> + +<sect1 id="scheduling"> +<title>Scheduling</title> +<para> +Scheduling is the process of creating a project schedule based on the project +data like <link linkend="task">tasks</link>, +<link linkend="resource">resources</link> and +<link linkend="calendar">calendars</link>. The result can be viewed in a chart, +like a <link linkend="gantt">gantt chart</link>. &kplato; can also generate +reports for a project. +</para> +<para> +There are usually various scheduling modes, like optimistic, expected and +pessimistic scheduling. When creating a task the additional estimation +percentage +for optimistic and pessimistic scheduling can be set. These settings are then +used for the various scheduling modes. +</para> +<para> +When scheduling a project with &kplato;, you can choose between optimistic, +expected and pessimistic scheduling. +</para> +</sect1> + +</chapter> + +<!-- +Local Variables: +mode: sgml +sgml-parent-document: ("index.docbook" "book" "chapter") +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> diff --git a/doc/kplato/edit-accounts.png b/doc/kplato/edit-accounts.png Binary files differnew file mode 100644 index 00000000..7de6f367 --- /dev/null +++ b/doc/kplato/edit-accounts.png diff --git a/doc/kplato/edit-accounts1.png b/doc/kplato/edit-accounts1.png Binary files differnew file mode 100644 index 00000000..804474d1 --- /dev/null +++ b/doc/kplato/edit-accounts1.png diff --git a/doc/kplato/edit-calendar.png b/doc/kplato/edit-calendar.png Binary files differnew file mode 100644 index 00000000..41f37158 --- /dev/null +++ b/doc/kplato/edit-calendar.png diff --git a/doc/kplato/edit-calendar1.png b/doc/kplato/edit-calendar1.png Binary files differnew file mode 100644 index 00000000..abe7acaa --- /dev/null +++ b/doc/kplato/edit-calendar1.png diff --git a/doc/kplato/edit-calendar2.png b/doc/kplato/edit-calendar2.png Binary files differnew file mode 100644 index 00000000..9c0ed3ab --- /dev/null +++ b/doc/kplato/edit-calendar2.png diff --git a/doc/kplato/edit-resources.png b/doc/kplato/edit-resources.png Binary files differnew file mode 100644 index 00000000..e8662dc4 --- /dev/null +++ b/doc/kplato/edit-resources.png diff --git a/doc/kplato/edit-resources1.png b/doc/kplato/edit-resources1.png Binary files differnew file mode 100644 index 00000000..c7428ba5 --- /dev/null +++ b/doc/kplato/edit-resources1.png diff --git a/doc/kplato/edit-worktime.png b/doc/kplato/edit-worktime.png Binary files differnew file mode 100644 index 00000000..b898cf38 --- /dev/null +++ b/doc/kplato/edit-worktime.png diff --git a/doc/kplato/index.docbook b/doc/kplato/index.docbook new file mode 100644 index 00000000..e9204839 --- /dev/null +++ b/doc/kplato/index.docbook @@ -0,0 +1,131 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kplato "KPlato"> + <!ENTITY kappname "&kplato;"> + <!ENTITY package "koffice"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % English "INCLUDE"> + <!ENTITY definitions SYSTEM "definitions.docbook"> + <!ENTITY mainwindow SYSTEM "mainwindow.docbook"> + <!ENTITY wbs SYSTEM "wbs.docbook"> + <!ENTITY options SYSTEM "options.docbook"> + <!ENTITY commands SYSTEM "commands.docbook"> +]> + +<book lang="&language;"> + +<bookinfo> +<title>The &kplato; Handbook</title> + +<authorgroup> +<author> +<firstname>Raphael</firstname> +<!-- <othername></othername> --> +<surname>Langerhorst</surname> +<affiliation> +<address><email>raphael.langerhorst@kdemail.net</email></address> +</affiliation> +</author> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annma@kde.org</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> + +<legalnotice>&FDLNotice;</legalnotice> + +<!-- Date and version information of the documentation +Don't forget to include this last date and this last revision number, we +need them for translation coordination ! +Please respect the format of the date (DD/MM/YYYY) and of the version +(Major.minor.lesser), it could be used by automation scripts --> + +<date>2006-02-11</date> +<releaseinfo>0.5.0</releaseinfo> + +<!-- Abstract about this handbook --> + +<abstract> +<para> +&kplato; is a project planning and management application for &kde;. +</para> +</abstract> + + +<keywordset> +<keyword>KDE</keyword> +<keyword>KPlato</keyword> +<keyword>Project</keyword> +<keyword>Management</keyword> +<keyword>gantt</keyword> +</keywordset> + +</bookinfo> + +<chapter id="introduction"> <title>Introduction</title> +<para><emphasis> +&kplato; as included in &koffice; 1.5 is a technology preview +release and it is not advised to use &kplato; in critical +production scenarios. Do so at your own risk. In this first public release we +focus on planning and scheduling of projects. +</emphasis></para> +<para> +&kplato; is a project management application and a planning tool. +As an integrated component of &koffice;, &kplato; can +be used within larger documents of other &koffice; components. +</para> +</chapter> +<chapter id="features"> <title>Features</title> +<itemizedlist> +<title>Features include:</title> +<listitem><para>Resource management,</para></listitem> +<listitem><para>Hierarchical calendars,</para></listitem> +<listitem><para>Tasks with dependencies and subtasks.</para></listitem> +<listitem> +<itemizedlist> +<title>Chart for visualization:</title> +<listitem><para>Gantt</para></listitem> +</itemizedlist> +</listitem> +<listitem> +<itemizedlist><title>Project scheduling</title> +<listitem><para>Pessimistic,</para></listitem> +<listitem><para>Expected,</para></listitem> +<listitem><para>Optimistic.</para></listitem> +</itemizedlist> +</listitem> +<listitem><para>Work breakdown structure (WBS).</para></listitem> +<listitem><para>Critical path and resources.</para></listitem> +<listitem><para>Embedding into other KOffice applications.</para></listitem> +</itemizedlist> +</chapter> + +&definitions; +&mainwindow; +&wbs; +&options; +&commands; + +<chapter id="license"><title>License</title> + +&underFDL; + +</chapter> + +&documentation.index; +</book> + + +<!-- +Local Variables: +mode: sgml +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> diff --git a/doc/kplato/mainwindow.docbook b/doc/kplato/mainwindow.docbook new file mode 100644 index 00000000..7b48ec20 --- /dev/null +++ b/doc/kplato/mainwindow.docbook @@ -0,0 +1,53 @@ +<chapter id="main-window"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annma@kde.org</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>&kplato; Main window</title> + +<para>Here is the default &kplato; main window when you load an existing +project.</para> + + +<screenshot> +<screeninfo>Here's a screenshot of &kplato;</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="mainwindow1.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>&kplato; main window</phrase> + </textobject> + </mediaobject> +</screenshot> + +<para>At the top there is the menubar (1). All &kplato; functions are +available from the menus, which are described in detail in <xref +linkend="commands" />.</para> + +<para>Below the menubar are located the toolbars (2) and (3). You can show or +hide them using the +<menuchoice><guimenu>Settings</guimenu> +<guimenuitem>Toolbars</guimenuitem></menuchoice> menu. You can also configure +the toolbars (add or remove actions) using the +<menuchoice><guimenu>Settings</guimenu> +<guimenuitem>Configure Toolbars...</guimenuitem></menuchoice> dialog. +</para > +<para>(3) is the view toolbar. It allows you to quickly switch between +different views: Gantt, Resources or Accounts.</para> +<para>(4) is the main view. In the Gantt view currently shown on +the screenshot, you have 2 panes, one with the tasks names and one with +the Gantt chart.</para> +<para>(5) is the resource pane which you can see in the Gantt and Resources +views but not in the Account view. It is not shown per default and you +can drag the separation bar to display it.</para> + +</chapter> diff --git a/doc/kplato/mainwindow1.png b/doc/kplato/mainwindow1.png Binary files differnew file mode 100644 index 00000000..99a98a6c --- /dev/null +++ b/doc/kplato/mainwindow1.png diff --git a/doc/kplato/options.docbook b/doc/kplato/options.docbook new file mode 100644 index 00000000..86354a2d --- /dev/null +++ b/doc/kplato/options.docbook @@ -0,0 +1,366 @@ +<chapter id="options"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annma@kde.org</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Configuring &kplato;</title> + +<sect1 id="project-settings"> +<title>The <guilabel>Project Settings</guilabel> Dialog</title> + +<para>This dialog allows you to set some properties for your current project. +You can access this dialog using the +<menuchoice><guimenu>Project</guimenu> +<guimenuitem>Edit Main Project...</guimenuitem></menuchoice> menu.</para> + +<screenshot> +<screeninfo>The Project Settings dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="project-settings.png" format="PNG"/> +</imageobject> +<textobject><phrase>The Project Settings dialog</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>ID:</guilabel></term> +<listitem><para>Enter a number. It sets the project +identification and must be unique.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Name:</guilabel></term> +<listitem><para>Enter the name of your project.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Leader:</guilabel></term> +<listitem><para>Enter the name of the project leader. Clicking +the <guibutton>Choose...</guibutton> button will bring your +contact list from KAddressBook and you can choose a name here.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Scheduling</guilabel></term> +<listitem><para>Here you define when the project will start or +end. Choose either a start date or an end date.</para> +<variablelist> +<varlistentry> +<term><guilabel>Start Date:</guilabel></term> +<listitem><para>If a start date is set, the project is scheduled forward +from this time. When the project has been calculated, end time shows when the +project is planned to end.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>End Date:</guilabel></term> +<listitem><para>If a end date is set, the project is scheduled backwards +from this time. When the project has been calculated, start time shows when the +project must start in order to finish in time.</para></listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Project notes and summary:</guilabel></term> +<listitem><para>You can write here various notes associated +with the project or/and a project summary.</para></listitem> +</varlistentry> +</variablelist> + +<para>Clicking the <guibutton>OK</guibutton> button will apply your changes and +close the dialog and clicking the <guibutton>Cancel</guibutton> button will +cancel any change you just made.</para> + +</sect1> + +<sect1 id="standard-worktime"> +<title>The <guilabel>Standard Worktime</guilabel> Dialog</title> +<para>This dialog allows you to set the worktime in terms of hours. +You can access this dialog using the +<menuchoice><guimenu>Project</guimenu> +<guimenuitem>Edit Standard Worktime...</guimenuitem></menuchoice> menu.</para> + +<screenshot> +<screeninfo>The Standard Worktime dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="edit-worktime.png" format="PNG"/> +</imageobject> +<textobject><phrase>The Standard Worktime dialog</phrase></textobject> +</mediaobject> +</screenshot> + +<para>These values are used when you estimate the effort needed to +complete a task. Defaults are the numbers of hours worked in a normal +day/week/month and year.</para> + +<variablelist> +<varlistentry> +<term><guilabel>Hours per year:</guilabel></term> +<listitem><para>Set the hours worked per year.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Hours per month:</guilabel></term> +<listitem><para>Set the hours worked per month.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Hours per week:</guilabel></term> +<listitem><para>Set the hours worked per week.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Hours per day:</guilabel></term> +<listitem><para>Set the hours worked per day.</para></listitem> +</varlistentry> +</variablelist> + +<para>Clicking the <guibutton>OK</guibutton> button will apply your changes and +close the dialog and clicking the <guibutton>Cancel</guibutton> button will +cancel any change you just made.</para> + +</sect1> + +<sect1 id="edit-calendar"> +<title>The <guilabel>Calendar's Settings</guilabel> Dialog</title> +<para>This dialog allows you to set a calendar for your current project. +You can access this dialog using the +<menuchoice><guimenu>Project</guimenu> +<guimenuitem>Edit Calendar...</guimenuitem></menuchoice> menu.</para> + +<screenshot> +<screeninfo>The Calendar's Settings dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="edit-calendar.png" format="PNG"/> +</imageobject> +<textobject><phrase>The Calendar's Settings dialog</phrase></textobject> +</mediaobject> +</screenshot> +<para>You can have several calendars for your current project. First add a name +for your first calendar using the <guibutton>Add</guibutton> button. The +calendar view becomes active with the current day marked in a square +when you click on the calendar name.</para> + +<screenshot> +<screeninfo>Working with a calendar</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="edit-calendar1.png" format="PNG"/> +</imageobject> +<textobject><phrase>Working with a calendar</phrase></textobject> +</mediaobject> +</screenshot> + +<para>You can set <guilabel>Working</guilabel> or <guilabel>Non-working</guilabel> days. Click on the days you want +as Working days for example for your project and choose <guilabel>Working</guilabel> instead +of <guilabel>Undefined</guilabel>. Set then the work interval by choosing the start and end +times and click the <guibutton>Add interval</guibutton> button to add the +working time. Click the <guibutton>Apply</guibutton> button to validate your +choice.</para> + +<screenshot> +<screeninfo>Working and non-working days</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="edit-calendar2.png" format="PNG"/> +</imageobject> +<textobject><phrase>Working and non-working days</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Here you can see the working days in blue and the non-working day +in red.</para> + +<para>Clicking the <guibutton>OK</guibutton> button will apply your changes and +close the dialog and clicking the <guibutton>Cancel</guibutton> button will +cancel any change you just made.</para> + +</sect1> + +<sect1 id="edit-accounts"> +<title>The <guilabel>Edit Accounts</guilabel> Dialog</title> +<para>Accounts are used to evaluate the project cost. This dialog allows you to +set up the various accounts used in your current project. +You can access this dialog using the +<menuchoice><guimenu>Project</guimenu> +<guimenuitem>Edit Accounts...</guimenuitem></menuchoice> menu.</para> + +<screenshot> +<screeninfo>The Edit Accounts dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="edit-accounts.png" format="PNG"/> +</imageobject> +<textobject><phrase>The Edit Accounts dialog</phrase></textobject> +</mediaobject> +</screenshot> + +<para>To create an account, click the <guibutton>New</guibutton> button. +You can then enter the account name which you validate by using the Enter +key. You can add a short description of this account by double-clicking +in the description field.</para> +<para>You can create sub-accounts of your main account or a new account. Remove +any highlighted account using the <guibutton>Remove</guibutton> button.</para> +<para>You can also set a default account by choosing the account name in +the drop-down list.</para> + +<screenshot> +<screeninfo>Creating accounts</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="edit-accounts1.png" format="PNG"/> +</imageobject> +<textobject><phrase>Creating accounts</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Clicking the <guibutton>OK</guibutton> button will apply your changes and +close the dialog and clicking the <guibutton>Cancel</guibutton> button will +cancel any change you just made.</para> + +</sect1> + +<sect1 id="edit-resources"> +<title>The <guilabel>Resources</guilabel> Dialog</title> +<para>This dialog allows you to set the resources for your current project. +You can access this dialog using the +<menuchoice><guimenu>Project</guimenu> +<guimenuitem>Edit Resources...</guimenuitem></menuchoice> menu.</para> + +<screenshot> +<screeninfo>The Resources dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="edit-resources.png" format="PNG"/> +</imageobject> +<textobject><phrase>The Resources dialog</phrase></textobject> +</mediaobject> +</screenshot> + +<para>You need first to define a resource group by clicking the +<guibutton>New</guibutton> button in the resource group area. Click on +this group name and add a new resource by clicking the +<guibutton>New</guibutton> button in the resource area. This will display +the <guilabel>Resource Settings</guilabel> dialog.</para> + +<screenshot> +<screeninfo>The Resources Settings dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="edit-resources1.png" format="PNG"/> +</imageobject> +<textobject><phrase>The Resources Settings dialog</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Clicking the <guibutton>OK</guibutton> button will apply your changes and +close the dialog and clicking the <guibutton>Cancel</guibutton> button will +cancel any change you just made.</para> + +</sect1> + +<sect1 id="configure-dialog"> +<title>The <guilabel>Configure &kplato;...</guilabel> Dialog</title> + +<para>This dialog allows you to set default options globally in &kplato;. You +can access this dialog using the +<menuchoice><guimenu>Settings</guimenu> +<guimenuitem>Configure &kplato;...</guimenuitem></menuchoice> menu.</para> + +<para>On any widget in this dialog you can get a <guilabel>What's This +</guilabel>help with <keycombo +action="simul">&Shift;<keycap>F1</keycap></keycombo> or using the +<guiicon>Help</guiicon> icon. +</para> + +<sect2 id="configure-task-defaults"> +<title><guilabel>Task Defaults</guilabel></title> + +<para>This set the options that will be used per default each time you add a +new task. +</para> + +<screenshot> +<screeninfo>Task Defaults</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure2.png" format="PNG"/> +</imageobject> +<textobject><phrase>Task Defaults</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Responsible:</guilabel></term> +<listitem><para>Insert the name of the person responsible for this task. +This is not limited to persons available in a resource group but can be +anyone.</para> +<para>Clicking the <guibutton>Choose...</guibutton> button will allow you to +insert a person from your address book.</para> +<screenshot> +<screeninfo>Addresses</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure2.1.png" format="PNG"/> +</imageobject> +<textobject><phrase>Addresses</phrase></textobject> +</mediaobject> +</screenshot> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Timing</guilabel></term> +<listitem> + +<variablelist> +<varlistentry> +<term><guilabel>Schedule:</guilabel></term> +<listitem><para>Choose the scheduling constraint you would +like as default. Depending on this constraint, the date fields +become available if they need to be filled. These +settings affect the actual scheduling of the task.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Estimate:</guilabel></term> +<listitem><para>Estimates the predictions of the quantitative +results. The estimation can be either effort based or duration based. If it is +effort based, the final duration will depend on the resources assigned to the +task. For duration based estimation, the assigned resources don't affect the +fixed duration of the task, but only the costs.</para></listitem> +</varlistentry> +</variablelist> + +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Note:</guilabel></term> +<listitem><para>Write here a note that you would like to be +displayed as default on each new task.</para></listitem> +</varlistentry> +</variablelist> + +<para>Clicking the <guibutton>Defaults</guibutton> button will reset the +dialog to its defaults, while clicking <guibutton>Apply</guibutton> will apply +your changes but leave the dialog open. Clicking the <guibutton>OK</guibutton> +button will apply your changes and close the dialog and +<guibutton>Cancel</guibutton> will cancel any change you just made.</para> + +</sect2> +</sect1> + +</chapter>
\ No newline at end of file diff --git a/doc/kplato/project-settings.png b/doc/kplato/project-settings.png Binary files differnew file mode 100644 index 00000000..1beb2a96 --- /dev/null +++ b/doc/kplato/project-settings.png diff --git a/doc/kplato/wbs.docbook b/doc/kplato/wbs.docbook new file mode 100644 index 00000000..0581c772 --- /dev/null +++ b/doc/kplato/wbs.docbook @@ -0,0 +1,139 @@ +<chapter id="configure-wbs"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annma@kde.org</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Configuring the Work Breakdown Structure (WBS)</title> + +<para>The <link linkend="wbs">Work Breakdown Structure</link> introduces +numbering for all tasks in the +project, according to the task structure. The tasks are numbered in a fashion +that reflects the structure of the project. +The WBS is defined as a tree structure. +</para> + +<screenshot> +<screeninfo>The WBS</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="wbs.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>The WBS</phrase> + </textobject> + </mediaobject> +</screenshot> + +<para>You can configure the way you want the WBS to look in your project. To do +so, you can use the <menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Define WBS Pattern... +</guimenuitem></menuchoice> menu. This displays the <guilabel>WBS Definition</guilabel> Dialog. +</para> + +<sect1 id="define-wbs"> +<title>The WBS Definition Dialog</title> + +<screenshot> +<screeninfo>WBS Definition Dialog</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="configure-wbs.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>WBS Definition Dialog</phrase> + </textobject> + </mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Code</guilabel></term> +<listitem><para>Default is <guilabel>Number</guilabel> but you can set the WBS +code to be Roman Numbers or Letters, either upper case or +lower case.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Separator</guilabel></term> +<listitem><para>The default separator is a dot and can be set +to anything else you want. The separator defines the way the +tree will look. On the screenshot above, the separator is the +dot.</para></listitem> +</varlistentry> +</variablelist> + +<para>Instead of having the same code for all levels (for example 3.2.1) +you can define a different code for each level. For this you can check +<guilabel>Use Levels</guilabel> and then you define each level code and +separator.</para> + +<para>For example if you want your tree to be 1:II-B you will set +level 0 to Number and separator :, level 1 will be Roman upper case and +separator - and level 2 will be Letter upper case.</para> + +<para>This is illustrated on the next screenshot.</para> + +<screenshot> +<screeninfo>WBS levels definition</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="wbs1.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>WBS levels definition</phrase> + </textobject> + </mediaobject> +</screenshot> + +<para>To set a new level, choose the level number in the box near the +<guibutton>Add Level</guibutton> button then click the <guibutton>Add +Level</guibutton> button. Then choose the Code for the level and the +separator.</para> + +<screenshot> +<screeninfo>Add a level</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="wbs3.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Add a level</phrase> + </textobject> + </mediaobject> +</screenshot> + +<para>To remove a level, choose the level number in the first column of the +list and click on it. The level row is then highlighted and the level number +changes to bold. Then click the <guibutton>Remove</guibutton> button. This is +demonstrated on the screenshot with Level 2.</para> + +<screenshot> +<screeninfo>Remove a level</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="wbs2.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Remove a level</phrase> + </textobject> + </mediaobject> +</screenshot> +</sect1> + +<sect1 id="generate-wbs-code"> +<title><guilabel>Generate WBS Code</guilabel></title> +<para>The WBS code is auto-generated; simply choose <guimenuitem>Generate WBS +Code</guimenuitem> from the <guimenu>Tools</guimenu> menu to generate the +WBS code for the project.</para> +<para>After you changed the WBS definition you will want to generate the +new WBS.</para> +</sect1> + +</chapter>
\ No newline at end of file diff --git a/doc/kplato/wbs.png b/doc/kplato/wbs.png Binary files differnew file mode 100644 index 00000000..f597935b --- /dev/null +++ b/doc/kplato/wbs.png diff --git a/doc/kplato/wbs1.png b/doc/kplato/wbs1.png Binary files differnew file mode 100644 index 00000000..24503a85 --- /dev/null +++ b/doc/kplato/wbs1.png diff --git a/doc/kplato/wbs2.png b/doc/kplato/wbs2.png Binary files differnew file mode 100644 index 00000000..daf13363 --- /dev/null +++ b/doc/kplato/wbs2.png diff --git a/doc/kplato/wbs3.png b/doc/kplato/wbs3.png Binary files differnew file mode 100644 index 00000000..7758ab86 --- /dev/null +++ b/doc/kplato/wbs3.png diff --git a/doc/kpresenter/Makefile.am b/doc/kpresenter/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/kpresenter/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/kpresenter/a11y.docbook b/doc/kpresenter/a11y.docbook new file mode 100644 index 00000000..66f687e2 --- /dev/null +++ b/doc/kpresenter/a11y.docbook @@ -0,0 +1,321 @@ +<chapter id="a11y"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Gary</firstname> +<surname>Cramblitt</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> + +<title>For Users with Disabilities</title> +<para>This section of the documentation discusses accessibility features in &kpresenter; +for users with disabilities. Some of these features apply to &kde; as a whole and are controlled from +<ulink url="help:kcontrol">&kcontrolcenter;</ulink>. Some apply to all &koffice; applications, +and some are specific to &kpresenter;.</para> + +<sect1 id="a11y-install"> +<title>Installing the <command>kdeaccessibility</command> Module</title> +<indexterm><primary>kdeaccessibility</primary></indexterm> +<para> +Most of the features described in this chapter are enabled by installing the +<command>kdeaccessibility</command> module. +The <command>kdeaccessibility</command> module is part of the &kde; project +<ulink url="http://www.kde.org">http://www.kde.org</ulink>. The <command>kdeaccessibility</command> +package can be obtained from &kde-ftp;, the +main ftp site of the &kde; project. +</para> + +<para>Many distributions offer precompiled binaries on their ftp sites. Please check your distribution's web sites for more information.</para> + +<para>More information about &kde; accessibility can be obtained by +visiting <ulink url="http://accessibility.kde.org/">http://accessibility.kde.org/</ulink>. +</para> +</sect1> + +<sect1 id="a11y-sight"> +<title>Visual Impairments</title> +<indexterm><primary>Visual Impairments</primary></indexterm> + +<note><para>&kpresenter; is not usable by totally blind users. It is hoped that +a general screen reader for the blind will be available in future versions of &kde;. +</para></note> + +<sect2 id="a11y-theming"> +<title>Theming</title> +<indexterm><primary>Theming</primary></indexterm> +<para>For low-sighted or light alergic users, several features are available from +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem></menuchoice>. +Under <menuchoice><guimenu>Appearance & Themes</guimenu><guimenuitem>Theme Manager</guimenuitem> +</menuchoice>, you may select from several themes. If you are light alergic, the +<guilabel>HighContrastDark</guilabel> or <guilabel>HighContrastLight</guilabel> themes +may be helpful. If you have difficulty reading small fonts or seeing small icons, the +<guilabel>HighContrastDark-Big</guilabel> or <guilabel>HighContrastLight-Big</guilabel> +themes will increase the size of text, buttons, and icons. You may also customize +background, colors, fonts, and icons from the same screen. A set of monochrome icons +is available. +</para> + +<tip><para>If you choose one of the <guilabel>Big</guilabel> themes, you may discover that +some screens are too large to fit your monitor. Purchasing a larger monitor will be helpful. +You can drag the portions of the screen not visible into the visable area by +holding down the &Alt; key and dragging with the mouse anywhere +within the screen. If you have trouble operating a mouse, you can also move screens by pressing +<keycombo action="simul">&Alt;<keycap>F3</keycap></keycombo>. In +the dropdown Windows Operations Menu, choose +<menuchoice><guimenuitem>Move</guimenuitem></menuchoice>. +Move the screen with the arrow keys and press <keycap>&Esc;</keycap>. +</para></tip> + +</sect2> + +<sect2 id="a11y-kmagnifier"> +<title>KMagnifier</title> +<indexterm><primary>magnifier</primary></indexterm> +<para>The <command>kdeaccessibility</command> module includes a screen magnifier +application called <ulink url="help:kmag">KMagnifier</ulink>. +If it is installed, you may run it from +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>Utilities</guimenuitem> +<guimenuitem>Accessibility</guimenuitem><guimenuitem>Screen Magnifier</guimenuitem></menuchoice>. +</para> +</sect2> + +<sect2 id="a11y-tts"> +<title>Text-to-Speech</title> +<indexterm><primary>Text-to-Speech</primary></indexterm> +<indexterm><primary>TTS</primary></indexterm> +<para>The <command>kdeaccessibility</command> module includes a Text-to-Speech +component called KTTS. If KTTS is installed, you can configure &kpresenter; to +speak the text that is under the mouse pointer or speak the text of each +screen widget as it receives focus. Before using this feature, first configure +KTTS. See <ulink url="help:kttsd">The KTTS Handbook</ulink> for details. +To turn on the TTS feature in &kpresenter;, +select <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure +&kpresenter;...</guimenuitem></menuchoice> from the menubar. +This will display a dialog box. +Clicking <guibutton>TTS</guibutton> will allow you to change +the following.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="tts.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Speak widget under mouse pointer</guilabel></term> +<listitem><para>When checked, &kpresenter; will speak the text of each widget +as the mouse pointer moves over the widget.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Speak widget with focus</guilabel></term> +<listitem><para>When checked, &kpresenter; will speak the text of each widget +as it receives focus.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Speak tool tips</guilabel></term> +<listitem><para>When checked, &kpresenter; will speak the popup tool tip +for each widget in addition to the text of the widget.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Speak Whats This</guilabel></term> +<listitem><para>When checked, &kpresenter; will speak the Whats This help +for each widget in addition to the text of the widget.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Say whether disabled</guilabel></term> +<listitem><para>When checked, &kpresenter; will speak the word "disabled" +if the widget is currently disabled (grayed).</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Speak accelerators</guilabel></term> +<listitem><para>When checked, &kpresenter; will speak the accelerator +of the widget in addition to the text of the widget. +Accelerators are the underlined letters you see in the text of the +widget. For example, in the main menu, the +<menuchoice><guimenuitem>Quit</guimenuitem></menuchoice> menu item +has the "Q" underlined. You can choose it by pressing <keycap>Q</keycap>. +To speak the accelerator, check this option and enter the +word you want to speak before the accelerator in the +<guilabel>Prefaced by the word</guilabel> box. In this +example shown above, &kpresenter; will speak "Accelerator Q".</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Polling interval</guilabel></term> +<listitem><para>This option determines how often &kpresenter; will +check for a change in the widget under the mouse pointer or +a new focused widget. You should leave this option on the +default setting.</para> +</listitem> +</varlistentry> +</variablelist> + +<note><para> +If the <guibutton>TTS</guibutton> option does not appear +on this screen, you do not have the KTTS component installed +in your system. +</para></note> + +<note><para>Not all widgets are spoken. For example, +the items on the main menubar are not spoken. +</para></note> + +</sect2> + +</sect1> + +<sect1 id="a11y-motor"> +<title>Motor Impairments and Mouseless Operation</title> +<indexterm><primary>Motor Impairments</primary></indexterm> +<indexterm><primary>Mouseless Operation</primary></indexterm> + +<sect2 id="a11y-kmousetool"> +<title>KMouseTool</title> +<para>If you can operate a mouse, but have trouble clicking, the +<ulink url="help:kmousetool">KMouseTool</ulink> application may help. Run it from +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>Utilities</guimenuitem> +<guimenuitem>KMouseTool (Automatik Mouse Click)</guimenuitem></menuchoice>. +</para> +</sect2> + +<sect2 id="a11y-kbd-xaccess"> +<title>XAccess Features</title> +<indexterm><primary>XAccess</primary></indexterm> +<indexterm><primary>Sticky Keys</primary></indexterm> +<indexterm><primary>Slow Keys</primary></indexterm> +<indexterm><primary>Bounce Keys</primary></indexterm> + +<para>The &kcontrolcenter; offers several keyboard features collectively called XAccess. +They include:</para> +<variablelist> +<varlistentry> +<term>Sticky Keys</term> +<listitem><para>This feature permits operation of meta keys, such as +&Alt;, &Ctrl;, and &Shift; without having to hold the keys down. It is useful +when you can only use one finger or one hand to operate the keyboard. +With Sticky Keys on, press and release a &Alt;, &Ctrl;, or &Shift; key, then +press another key. The result is as if you pressed both keys at once. +Press the &Alt;, &Ctrl;, or &Shift; key again to turn off the sticky key. +Activate this feature in +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem> +<guimenuitem>Regional & Accessibility</guimenuitem><guimenuitem>Modifier Keys</guimenuitem></menuchoice>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term>Slow Keys</term> +<listitem><para>This feature is useful if you have hand tremors or difficulty +accurately pressing keys. It prevents +inadvertent key presses by requiring that a key be held down for a minimum +time before it is accepted. Activate this feature in +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem> +<guimenuitem>Regional & Accessibility</guimenuitem><guimenuitem>Keyboard Filters </guimenuitem></menuchoice>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term>Bounce Keys</term> +<listitem><para>This feature is also useful if you have hand tremors. It prevents +inadvertent repeated key presses by preventing another keystroke for +a certain amount of time. Activate this feature in +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem> +<guimenuitem>Regional & Accessibility</guimenuitem><guimenuitem>Keyboard Filters</guimenuitem></menuchoice>.</para> +</listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2 id="a11y-mouse-emulation"> +<title>Mouse Emulation</title> +<indexterm><primary>Mouse Emulation</primary></indexterm> +<para>Mouse Emulation permits you to move and click the mouse using the keyboard. +Press <keycombo>&Alt;<keycap>F12</keycap></keycombo> to activate it. Use the arrow keys +to move the mouse pointer to the desired location, and press <keycap>spacebar</keycap> +to "click" the mouse. Unfortunately, you cannot use Mouse Emulation to perform +&RMB; clicks or dragging. +</para> +</sect2> + +<sect2 id="a11y-mouse-navigation"> +<title>Mouse Navigation</title> +<indexterm><primary>Mouse Navigation</primary></indexterm> +<para>This feature permits you to emulate the mouse using the numeric keypad +of your keyboard. To activate it, go to +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem> +<guimenuitem>Peripherals</guimenuitem><guimenuitem>Mouse</guimenuitem> +<guimenuitem>Mouse Navigation</guimenuitem></menuchoice>. +Check the <guilabel>Move pointer with keyboard (using the num pad)</guilabel> box. When you do this, the other settings will become enabled, and you can customize the keyboard pointer behavior further, if required. + The various keys on the number pad move in the direction you would expect. Note that you can move diagonally as well as up, down, left and right. The <keycap>5</keycap> key emulates a click to a pointer button, typically &LMB;. You change which button is emulated by using the <keycap>/</keycap> key (which makes it &LMB;), +<keycap>*</keycap> key (which makes it middle mouse button) and <keycap>-</keycap> (which makes it &RMB;). + Using the <keycap>+</keycap> emulates a doubleclick to the selected pointer button. You can use the +<keycap>0</keycap> key to emulate holding down the selected pointer button (for easy dragging), +and then use the <keycap>.</keycap> to emulate releasing the selected pointer button. +</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="mousenav.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +</sect2> + +<sect2 id="a11y-motor-shortcuts"> +<title>Keyboard shortcuts</title> + +<para>Use the <keycap>Menu</keycap> key to pop up the context +menu. On most keyboards, the <keycap>Menu</keycap> key is on the righthand +side of the keyboard between the <keycap>&Windows;</keycap> and &Ctrl; +keys. It has a menu icon on it. +</para> + +</sect2> + +<sect2 id="a11y-motor-panel-sizing"> +<title>Resizing panels</title> + +<para>You can move the sizing bar between the outline panel and the +slide panel, and between the slide panel and the notes panel +by pressing <keycap>F8</keycap>. A sizing icon appears +overtop the sizing bar. Pressing <keycap>F8</keycap> again moves from one +sizing bar to the next. After the last sizing bar, pressing <keycap>F8</keycap> +hides the sizing icon. Use the arrow keys to move the bar up or down, or left or right. +Press &Esc; when finished sizing. +</para> + +</sect2> + +<sect2 id="a11y-motor-moving-focus"> +<title>Setting focus to widgets</title> + +<para>Normally, one can use the 	 and <keycombo action="simul">&Shift;	</keycombo> +to move focus from one widget to the next in any application. However, when focus is +in the slide panel of &kpresenter;, pressing 	 does not move the focus. +You can set focus to any widget that can receive focus by +pressing <keycombo action="simul">&Alt;<keycap>F8</keycap></keycombo>. A small lettered box appears +overtop each widget on the screen that can receive focus. +</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="kbd-focus-ext.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Press the letter to move focus to the corresponding widget. Press +<keycombo action="simul">&Alt;<keycap>F8</keycap></keycombo> again or &Esc; +to abandon moving the focus. +</para> + +</sect2> + +</sect1> + +</chapter> diff --git a/doc/kpresenter/autocorrection1.png b/doc/kpresenter/autocorrection1.png Binary files differnew file mode 100644 index 00000000..8de3dcf9 --- /dev/null +++ b/doc/kpresenter/autocorrection1.png diff --git a/doc/kpresenter/autocorrection2.png b/doc/kpresenter/autocorrection2.png Binary files differnew file mode 100644 index 00000000..d8227294 --- /dev/null +++ b/doc/kpresenter/autocorrection2.png diff --git a/doc/kpresenter/autocorrection3.png b/doc/kpresenter/autocorrection3.png Binary files differnew file mode 100644 index 00000000..6ea8c51d --- /dev/null +++ b/doc/kpresenter/autocorrection3.png diff --git a/doc/kpresenter/autocorrection4.png b/doc/kpresenter/autocorrection4.png Binary files differnew file mode 100644 index 00000000..a9e07fc5 --- /dev/null +++ b/doc/kpresenter/autocorrection4.png diff --git a/doc/kpresenter/barstyle1.png b/doc/kpresenter/barstyle1.png Binary files differnew file mode 100644 index 00000000..47747f59 --- /dev/null +++ b/doc/kpresenter/barstyle1.png diff --git a/doc/kpresenter/barstyle3.png b/doc/kpresenter/barstyle3.png Binary files differnew file mode 100644 index 00000000..19db5238 --- /dev/null +++ b/doc/kpresenter/barstyle3.png diff --git a/doc/kpresenter/barstyle4.png b/doc/kpresenter/barstyle4.png Binary files differnew file mode 100644 index 00000000..53dfacdf --- /dev/null +++ b/doc/kpresenter/barstyle4.png diff --git a/doc/kpresenter/barstyle5.png b/doc/kpresenter/barstyle5.png Binary files differnew file mode 100644 index 00000000..d27f23fa --- /dev/null +++ b/doc/kpresenter/barstyle5.png diff --git a/doc/kpresenter/barstyle6.png b/doc/kpresenter/barstyle6.png Binary files differnew file mode 100644 index 00000000..11145c3c --- /dev/null +++ b/doc/kpresenter/barstyle6.png diff --git a/doc/kpresenter/barstyle7.png b/doc/kpresenter/barstyle7.png Binary files differnew file mode 100644 index 00000000..0f4a9593 --- /dev/null +++ b/doc/kpresenter/barstyle7.png diff --git a/doc/kpresenter/break.png b/doc/kpresenter/break.png Binary files differnew file mode 100644 index 00000000..02d88898 --- /dev/null +++ b/doc/kpresenter/break.png diff --git a/doc/kpresenter/changeformat.png b/doc/kpresenter/changeformat.png Binary files differnew file mode 100644 index 00000000..074f95e9 --- /dev/null +++ b/doc/kpresenter/changeformat.png diff --git a/doc/kpresenter/completion.png b/doc/kpresenter/completion.png Binary files differnew file mode 100644 index 00000000..6d9b7bf3 --- /dev/null +++ b/doc/kpresenter/completion.png diff --git a/doc/kpresenter/configure1.png b/doc/kpresenter/configure1.png Binary files differnew file mode 100644 index 00000000..50097708 --- /dev/null +++ b/doc/kpresenter/configure1.png diff --git a/doc/kpresenter/configure2.png b/doc/kpresenter/configure2.png Binary files differnew file mode 100644 index 00000000..520282c0 --- /dev/null +++ b/doc/kpresenter/configure2.png diff --git a/doc/kpresenter/configure3.png b/doc/kpresenter/configure3.png Binary files differnew file mode 100644 index 00000000..53e74781 --- /dev/null +++ b/doc/kpresenter/configure3.png diff --git a/doc/kpresenter/configure4.png b/doc/kpresenter/configure4.png Binary files differnew file mode 100644 index 00000000..21e07ac2 --- /dev/null +++ b/doc/kpresenter/configure4.png diff --git a/doc/kpresenter/configure4a.png b/doc/kpresenter/configure4a.png Binary files differnew file mode 100644 index 00000000..01e85f55 --- /dev/null +++ b/doc/kpresenter/configure4a.png diff --git a/doc/kpresenter/configure4a1.png b/doc/kpresenter/configure4a1.png Binary files differnew file mode 100644 index 00000000..8c09e4b2 --- /dev/null +++ b/doc/kpresenter/configure4a1.png diff --git a/doc/kpresenter/configure4b.png b/doc/kpresenter/configure4b.png Binary files differnew file mode 100644 index 00000000..72bbecc4 --- /dev/null +++ b/doc/kpresenter/configure4b.png diff --git a/doc/kpresenter/configure4c.png b/doc/kpresenter/configure4c.png Binary files differnew file mode 100644 index 00000000..eb76fdef --- /dev/null +++ b/doc/kpresenter/configure4c.png diff --git a/doc/kpresenter/configure5.png b/doc/kpresenter/configure5.png Binary files differnew file mode 100644 index 00000000..dcc4d93f --- /dev/null +++ b/doc/kpresenter/configure5.png diff --git a/doc/kpresenter/configure6.png b/doc/kpresenter/configure6.png Binary files differnew file mode 100644 index 00000000..ccf339f2 --- /dev/null +++ b/doc/kpresenter/configure6.png diff --git a/doc/kpresenter/configure6b.png b/doc/kpresenter/configure6b.png Binary files differnew file mode 100644 index 00000000..8d584386 --- /dev/null +++ b/doc/kpresenter/configure6b.png diff --git a/doc/kpresenter/configure6c.png b/doc/kpresenter/configure6c.png Binary files differnew file mode 100644 index 00000000..af374508 --- /dev/null +++ b/doc/kpresenter/configure6c.png diff --git a/doc/kpresenter/configure6d.png b/doc/kpresenter/configure6d.png Binary files differnew file mode 100644 index 00000000..b843ee13 --- /dev/null +++ b/doc/kpresenter/configure6d.png diff --git a/doc/kpresenter/configure6e.png b/doc/kpresenter/configure6e.png Binary files differnew file mode 100644 index 00000000..cf306af8 --- /dev/null +++ b/doc/kpresenter/configure6e.png diff --git a/doc/kpresenter/configure7.png b/doc/kpresenter/configure7.png Binary files differnew file mode 100644 index 00000000..178d9ca0 --- /dev/null +++ b/doc/kpresenter/configure7.png diff --git a/doc/kpresenter/faq.docbook b/doc/kpresenter/faq.docbook new file mode 100644 index 00000000..29ab9b05 --- /dev/null +++ b/doc/kpresenter/faq.docbook @@ -0,0 +1,53 @@ +<chapter id="q-and-a"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Neil</firstname> +<surname>Lucock</surname> +<affiliation> +<address><email>neil@nlucock.freeserve.co.uk</email></address> +</affiliation> +</author> +<author> +<firstname>Krishna</firstname> +<surname>Tateneni</surname> +<affiliation> +<address><email>tateneni@pluto.njcc.com</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Questions and Answers</title> +<subtitle>&kpresenter; 1.6</subtitle> + +<para>Things you might like but &kpresenter; does not yet do (and what +to do about it)</para> + +<!-- + FIXME: Does video embedding via kmplayer or kaboodle work? + +<para>Movies or video. You cannot run video within &kpresenter;. If +you really need to show a movie, make a link to it on your desktop, +move &kpresenter; out of the way, click the link to the movie file and +use <application>mplayer</application> (or similar) to view it.</para> + --> + +<para><application>Powerpoint</application> Files. &kpresenter; does +attempt to import &Microsoft; <application>Powerpoint</application> +files but it does not always work perfectly. It depends on the +<application>Powerpoint</application> file version and what is in the +file. You can always import pictures for the background image and +re-type any text. It's not the ideal solution, re-doing the entire +presentation. However, just bear in mind that +<application>Powerpoint</application> does not even attempt to read +&kpresenter; files.</para> + +<para>Taking notes or minutes. One piece of software allows you to +make notes during the meeting and puts them into a word +processor. If you are speaking, someone else should be taking notes. If +you really must do this sort of thing, take a note pad and pencil. + +</para> + +</chapter> diff --git a/doc/kpresenter/great-presentations.docbook b/doc/kpresenter/great-presentations.docbook new file mode 100644 index 00000000..82d4bcdc --- /dev/null +++ b/doc/kpresenter/great-presentations.docbook @@ -0,0 +1,145 @@ +<!-- +<?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"> + +To edit or validate this document separately, uncomment this prolog +Be sure to comment it out again when you are done --> + +<chapter id="hints-and-tips"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Neil</firstname> +<surname>Lucock</surname> +<affiliation> +<address><email>neil@nlucock.freeserve.co.uk</email></address> +</affiliation> +</author> +<author> +<firstname>Krishna</firstname> +<surname>Tateneni</surname> +<affiliation> +<address><email>tateneni@pluto.njcc.com</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>General Hints and Tips for Great Presentations</title> + +<para>Okay, you've decided to use &kpresenter; for your +presentation. Before you start making transparencies or animated slide +shows, go and find a piece of paper and sit down at a desk away from +the computer. It doesn't matter whether you are doing a teaching +session or trying to convince the boss that your plan, policy or idea +should be adopted, you need to figure out what you are trying to +say. Write down all the subjects you need to cover, try to get them in +the order you think will make sense. Don't put any details in yet, +just decide on headings and the structure of your talk.</para> + +<para>Under each heading make a note of what facts you need to +cover. You are trying to build a convincing argument. Consider +grouping your facts into things must be included, things that should +be included and things that it would be nice to cover if you had +plenty of time.</para> + +<para>Once you have written down all the things you need to say, +consider the time available to do it in. Ten minutes seems ages when +you start, but it is very difficult to actually get much across in so +short a time. Get your sheet of paper and a clock with a second +hand. Practise your presentation over and over again. This has many +benefits. Firstly, you get the timing right. If someone says you have +ten minutes, never go over the allowed time. Secondly, when you +actually do it in front of a live audience, it will not be the first +time you have done that presentation. Third, you get the words right +in your own head. You will find ways of saying things about the +subject. If you've heard yourself do this presentation several times, +you will know what you are going to say next and how you are going to +say it. </para> + +<para>&kpresenter; does not produce Speaker's Notes at the time of +writing, but I am happy to just use ordinary slides. Produce some +slides for yourself, printed on plain paper, and some for use with the +Overhead Projector. Make the text on your slides nice and big, you +need to be able to read it at a distance. I use 14 or 16 point text, +experiment to find a size that you can read easily. I never write out +a script.</para> + +<para>If you are using an Overhead projector, learn how to use it +beforehand. Make sure that the bulb works, that the spare bulb is +still okay. Clean the lens and display plates. If you are not used to +working with projectors, practice. Ensure that the projection screen +itself is clean. It's probably best, when timing yourself, to allow +for five seconds (count <quote>one thousand and one, one thousand and +two....</quote>) to change each slide. That way you know you don't +have to rush. If you need to point at something on a slide, you can +use a pointer and point at the display screen, find a laser pointer or +put a pencil on the transparency itself. Be warned, these tend to roll +out of place when you nudge the table.</para> + +<para>Consider where you are going to stand. You cannot stand in +front of your display, so off to one side is probably your best option +if you want your audience to be able to see. I often project a picture +onto a wipeboard and draw over the top of it. If you are using a PC +with a digital projector you can draw over the top of your slides with +&kpresenter;'s pen tool. Remember, drawing freehand with a mouse is a +skill that needs practice. If you are using an Overhead projector, you +can use transparent overlay slides and a pen over the top of your +computer generated ones.</para> + +<para>When you are doing the presentation do not accidently look into +the light, it's easy to do. If you are not going to use the machine +for a few minutes, turn it off. Practise to get where you are going +to stand sorted out. Check the room you intend to use for electrical +sockets and learn how the blinds work and where the light switches +are. Good preparation not only makes you less likely to make mistakes +(inanimate things can be a nightmare in front of an audience) but also +gives you confidence. Always have a <quote>Plan B</quote> ready if +something refuses to work. Have a paper copy of your slides with +you. You can photocopy and distribute these to your audience if the +equipment fails.</para> + +<para>I have not said much about the content yet. At present all you +have is a piece of paper with everything you want to say on it. Before +you make anything, ask youself if their understanding of what you are +saying is going to improved by showing them a picture. Bad +presentations consist of a series of slides full of text. The +presenter then reads the slide to the audience (who have already read +it as they can read faster than someone can say it aloud). Try to +avoid writing anything on the slide, except a title and a number. Draw +a picture of what you need to say, then explain the picture to +them. That way they do not get ahead of you (they can read faster than +you can speak, remember?) and you look like you know it. You do not +know it, you are using the picture as a series of prompts. A slide +should support what you are saying, not duplicate it. A slide should +be the focus of the audience's attention, not a distraction.</para> + +<para>An example. I teach Railway staff how to respond to accidents. I +wanted to use a slide to discuss how you can move dangerous loads from +a derailed or damaged rail vehicle to a road vehicle after an +accident. The slide I made had a simple drawing of tank wagon, the +kind used for carrying gases or oils. On the side I wrote +<quote>Lethal Chemical Company</quote> so that I do not have to +explain it. I wanted to make several important points. First, you must +get any overhead electric wires turned off before you do anything if +they are within a certain distance. I drew one of the supporting +structures and drew an arrow with the safety distance on it. Then I +wanted to say that you must not transfer the wagon's contents in +darkness or thunderstorms. I drew a moon and a lightning bolt above +the vehicle. You must get specialist advice, so I drew a sheet of +paper and wrote the word <quote>Plan</quote> near the vehicle. You +also have to ensure that the vehicle does not move when the weight +inside is removed. I drew little red wedges by the wheels. Everything +I need to talk about is on this drawing. All I have to do is look at +the drawing and it tells me what I need to cover. When I have covered +all the things in the drawing, I have finished on that +subject. </para> + +<para>In general, only use a slide or picture if it shows something +that adds to what you are saying. Finally, relax and try not to rush +through it all. Talk to them, not at them and remember that a +presentation is about whatever message you are trying to get +across. &kpresenter; is a useful tool. It can help you to get that +message over, but it cannot do the job for you.</para> + +</chapter> diff --git a/doc/kpresenter/guides.docbook b/doc/kpresenter/guides.docbook new file mode 100644 index 00000000..9055bb43 --- /dev/null +++ b/doc/kpresenter/guides.docbook @@ -0,0 +1,556 @@ +<chapter id="guides"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Neil</firstname> +<surname>Lucock</surname> +<affiliation> +<address><email>neil@nlucock.freeserve.co.uk</email></address> +</affiliation> +</author> +<author> +<firstname>Krishna</firstname> +<surname>Tateneni</surname> +<affiliation> +<address><email>tateneni@pluto.njcc.com</email></address> +</affiliation> +</author> +<author> +<firstname>Brad</firstname> +<surname>Hards</surname> +<affiliation> +<address><email>bradh@frogmouth.net</email></address> +</affiliation> +</author> +<author> +<firstname>Danny</firstname> +<surname>Allen</surname> +<affiliation> +<address><email>danny@dannyallen.co.uk</email></address> +</affiliation> +</author> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annemarie.mahfouf@free.fr</email></address> +</affiliation> +</author> + +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Detailed Guides</title> + +<para>This chapter describes how to perform some common tasks in +&kpresenter;.</para> + +<sect1 id="html-wizard"> +<title>Create a <acronym>HTML</acronym> Slideshow</title> + +<para>Turn an existing presentation into standard <acronym>HTML</acronym> +pages with accompanying navigation aids.</para> + +<procedure> +<step> +<para>First, either make a new presentation, or open an existing one. Then, +click on <guimenu>File</guimenu><guimenuitem>Create HTML +Slideshow...</guimenuitem></para> + +<screenshot> +<screeninfo>File menu option to <guimenuitem>Create HTML +Slideshow...</guimenuitem></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="htmlshow1.png" format="PNG"/> +</imageobject> +<textobject><phrase>File menu option to <guimenuitem>Create HTML +Slideshow...</guimenuitem></phrase></textobject> +</mediaobject> +</screenshot> +</step> + +<step> +<para>A dialog box asks if you want to use a previously saved +configuration:</para> + +<screenshot> +<screeninfo>Previous configuration dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="htmlshow2.png" format="PNG"/> +</imageobject> +<textobject><phrase>Previous configuration dialog</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Click <guibutton>No</guibutton> if this is the first time that you have +used this feature, or if you want to alter specific options. The +<guibutton>Yes</guibutton> option allows you to use details that you have +previously entered for your <acronym>HTML</acronym> slideshow, so that you can +quickly create the slideshow without needing to adjust the options.</para> +</step> + +<step> +<para>You will then get a dialog box asking for a few details:</para> + +<screenshot> +<screeninfo>Fill in the details for your <acronym>HTML</acronym> +slideshow</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="htmlshow3.png" format="PNG"/> +</imageobject> +<textobject><phrase>Fill in the details for your <acronym>HTML</acronym> +slideshow</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Fill in each field (the dialog takes the informations from &kcontrol; if they exist) and ensure that the path details are correct, as this +is where &kpresenter; will save your new <acronym>HTML</acronym> files +and pictures. Click on the <guibutton>Next</guibutton> when you are +done.</para> + +<para>If the path you select at this stage does not exist, &kpresenter; will +ask if you would like to create it.</para></step> + +<step> +<para>Now you can configure the specific <acronym>HTML</acronym> options:</para> + +<screenshot> +<screeninfo>Fill in additional details for your <acronym>HTML</acronym> +slideshow</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="htmlshow4.png" format="PNG"/> +</imageobject> +<textobject><phrase>Fill in additional details for your <acronym>HTML</acronym> +slideshow</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Here, the encoding and format details can be changed, along with +the zoom level of the slides. For example, if you originally designed your +slides to display full screen on a 1280 x 1024 resolution screen, you could +scale the slides to 50% to enable them to be easily viewed in a much smaller web +browser window.</para> + +<para>In most cases, the defaults will be fine, and you can safely press the +<guibutton>Next</guibutton> to continue to the next page.</para> +</step> + +<step> +<para>Now you can customize the colors of the web pages:</para> + +<screenshot> +<screeninfo>Setting up the display style for your <acronym>HTML</acronym> +slideshow</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="htmlshow5.png" format="PNG"/> +</imageobject> +<textobject><phrase>Setting up the display style for your +<acronym>HTML</acronym> +slideshow</phrase></textobject> +</mediaobject> +</screenshot> + +<para>When &kpresenter; creates the web pages for you, the text colors +for the navigation aids will follow whatever you set here. To change any of +these colors, click the colored bar next to the corresponding text label. The +colors used in your actual slides will be unchanged.</para> + +<tip><para>Choose colors that are complementary to the contents of your +presentation.</para></tip> +</step> + +<step><para>The <guibutton>Next</guibutton> button presents a dialog box +that allows you to change the name used on the <acronym>HTML</acronym> page for +each slide:</para> + +<screenshot> +<screeninfo>Setting the slide names</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="htmlshow6.png" format="PNG"/> +</imageobject> +<textobject><phrase>Setting the slide names</phrase> +</textobject> +</mediaobject> +</screenshot> +</step> + +<step> +<para>If your presentation was intended to be displayed in an unattended manner +(&ie; automatic advance to next slide, &etc;), you can also make your +<acronym>HTML</acronym> +presentation counterpart exhibit the same behavior:</para> + +<screenshot> +<screeninfo>Unattended presentations</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="htmlshow7.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Unattended presentations</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Here, you can force the slide to advance to the next after a specified +amount of time, and also make the presentation return to the start once it +reaches the end.</para> +</step> + +<step> +<para>Now it is time to actually produce your <acronym>HTML</acronym> +presentation, the progress of +which is shown in this dialog box:</para> + +<screenshot> +<screeninfo>Saving your configuration</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="htmlshow8.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Saving your configuration</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Finally, you can save the configuration you have just used before you +close the dialog box by pressing the <guibutton>Save +Configuration...</guibutton> button. +</para> +</step> + +<step><para>What we now have are the newly-produced <filename>html/</filename> +and <filename>pics/</filename> folders, +created where we earlier set the path:</para> + +<screenshot> +<screeninfo>The newly created <acronym>HTML</acronym> slideshow +folders</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="htmlshow9.png" format="PNG"/> +</imageobject> +<textobject><phrase>The newly created <acronym>HTML</acronym> slideshow +folders</phrase></textobject> +</mediaobject> +</screenshot> +</step> +</procedure> + +<para>There is also an <filename>index.html</filename> file to launch +your web slideshow.</para> + +<para>You can see how it works by using your file manager or web +browser to open the <filename>index.html</filename> file. Click where prompted, +and the first slide of your presentation is displayed. It will now behave as a +&kpresenter; slideshow.</para> + +<para>Each click on the arrow icons take you to the next or previous slide. +To get back to the start of the slideshow click on the slide icon.</para> + +<tip><para>To share your presentation with the world, transfer the +newly-produced files to a network-accessible location (&ie; webspace), +remembering to keep the directory structure intact.</para></tip> +</sect1> + +<sect1 id="ms-export"> +<title>Exporting &kpresenter; presentations to a <trademark>Memory +Stick</trademark></title> +<para> +Some Sony projectors have the ability to run a presentation directly +from a <trademark>Memory Stick</trademark>, without needing to connect a +computer up to the projector. &kpresenter; can export presentations to the +format required by these projectors, and this tutorial will show you how to +export your presentation. +</para> + +<para> +Each exported slideshow consists of a series of image files (one for +each slide in the original presentation, plus two title slides) and an +index file. They are created in a fairly complex directory structure +that allows more than one presentation to be stored on a single memory +stick. A simple example is shown below, consisting of two +presentations. +</para> + +<mediaobject id="ms-export-directory-structure"> +<imageobject> +<imagedata format="PNG" fileref="msexport4.png"/> +</imageobject> +<textobject><phrase><trademark>Memory Stick</trademark> directory +structure</phrase></textobject> +</mediaobject> + +<procedure> + + +<step> +<para> +If the presentation that you want to export is not already open, go to +<guimenu>File</guimenu><guimenuitem>Open...</guimenuitem> and select the +presentation that you want to export. +</para> +</step> + +<step> +<para> +Now, select the <guimenu>File</guimenu> menu and choose <guimenuitem>Create +Memory Stick Slideshow...</guimenuitem>. +</para> + +<screenshot> +<screeninfo>The &kpresenter; <guimenuitem>Create Memory Stick +Slideshow...</guimenuitem> menu selection.</screeninfo> +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="msexport1.png"/> +</imageobject> +<textobject><phrase>The &kpresenter; <guimenuitem>Create Memory Stick +Slideshow...</guimenuitem> menu selection.</phrase></textobject> +</mediaobject> +</screenshot> +</step> + +<step> +<para> +This will bring up the <guilabel>Create Memory Stick +Slideshow</guilabel> dialog.</para> + +<screenshot> +<screeninfo>The &kpresenter; <guilabel>Create Memory Stick +Slideshow</guilabel> dialog.</screeninfo> +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="msexport2.png"/> +</imageobject> +<textobject><phrase>The &kpresenter; <guilabel>Create Memory Stick +Slideshow</guilabel> dialog.</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +The <guilabel>Path</guilabel> is the directory in which your presentation will +be exported to as directories (<filename>DCIM</filename> and +<filename>MSSONY</filename>, see the <link +linkend="ms-export-directory-structure">directory structure +diagram</link> above) will be created. If you are able to, you may wish to export +directly +to the <trademark>Memory Stick</trademark>, in which case you would enter the +location of the medium here. +</para> + +<para> +The <guilabel>Title</guilabel> is used for both the name of the index +file, and as a text label on the title slide. Note that this title +does not affect the titles on any of the normal presentation slides - +the title slide is visible using the Sony projector setup prior to +starting the actual presentation display. +</para> + +<para>Select the <guibutton>Set Colors</guibutton> option to expand the +dialog:</para> + +<screenshot> +<screeninfo>The &kpresenter; <guilabel>Create Memory Stick +Slideshow</guilabel> dialog (extended).</screeninfo> +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="msexport2b.png"/> +</imageobject> +<textobject><phrase>The &kpresenter; <guilabel>Create Memory Stick +Slideshow</guilabel> dialog (extended).</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +These two color selectors are only used for the title slide. It +can be useful to change the title slides to make the presentations +easier to identify when working on the projector, though it is perfectly safe to +leave them as default. +</para> + +<para> +You can then press the <guibutton>OK</guibutton> button to proceed with the +actual export process. +</para> +</step> + +<step> + +<para> +Your presentation will now be exported into the correct format, with the +following dialog informing you of the progress of this process: +</para> + +<screenshot> +<screeninfo>The &kpresenter; <guilabel>Create Memory Stick +Slideshow</guilabel> progress dialog.</screeninfo> +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="msexport3.png"/> +</imageobject> +<textobject><phrase>The &kpresenter; <guilabel>Create Memory Stick +Slideshow</guilabel> progress dialog.</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +When the export is complete, you can select the +<guibutton>Done</guibutton> button, and the dialog will close. +</para> +</step> + +<step> +<para> +If you did not export the slideshow directly onto a <trademark>Memory +Stick</trademark>, you will need to copy the correct files onto the +<trademark>Memory +Stick</trademark> before you can utilise the projector. As noted above, +you need to copy over the correct directories and files starting at +<filename>DCIM</filename> and <filename>MSSONY</filename> into the +"root", or <filename>/</filename> of the <trademark>Memory Stick</trademark>. It +is +critical that the directory structure is maintained, and you may +find it easier to copy the whole of <filename>DCIM</filename> and +<filename>MSSONY</filename> directories. +</para> + +<para> +If necessary, you can safely rename the index file (which is +<filename>Slideshow.SPP</filename> by default), however you cannot +rename the slide images, nor can you change the name of these directories, +as these are encoded into the index file. +</para> +</step> + +</procedure> + +</sect1> + +<sect1 id="creating-templates"> +<title>Creating &kpresenter; Templates</title> + +<para>It is very easy to add new templates to &kpresenter;'s library.</para> + +<para>If you have made a presentation in a style that you would like to use +again, you can save it as a template.</para> + +<para>This tutorial will show how we can make a new template and save +it.</para> + +<procedure> +<step> +<para>Open &kpresenter; and create a new document.</para> +</step> + +<step> +<para>To add a little sparkle to the blank slide, we can change the slide +background - do this by either going to <guimenu>Format</guimenu> > +<guimenuitem>Slide Background...</guimenuitem>, or by selecting the same item +from the &RMB; menu:</para> + +<screenshot> +<screeninfo>The &kpresenter; <guilabel>Slide Background</guilabel> +dialog.</screeninfo> +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="template02.png"/> +</imageobject> +<textobject><phrase>The &kpresenter; <guilabel>Slide Background</guilabel> +dialog.</phrase></textobject> +</mediaobject> +</screenshot> + +<para>We want the background to look attractive, so let's add a background +gradient by using the drop-down menu, and then selecting the gradient colors by +clicking the colored boxes. Of course, you may choose to use an image as a +background by clicking the <guilabel>Picture</guilabel> tab: feel free to +experiment, but keep it beautiful!</para> + +<screenshot> +<screeninfo>Choosing a slide background</screeninfo> +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="template03.png"/> +</imageobject> +<textobject><phrase>Choosing a slide background</phrase></textobject> +</mediaobject> +</screenshot> +</step> + +<step> +<para>The page should now have the background you desire. Create a text box, and +type a heading for your slide:</para> + +<screenshot> +<screeninfo>Adding a Heading to the new template</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="template04.png" format="PNG"/> +</imageobject> +<textobject><phrase>Adding a Heading to the new template</phrase></textobject> +</mediaobject> +</screenshot> + +<para>When you are happy with your template, go to <menuchoice><guimenu>File</guimenu> +<guimenuitem>Template Manager</guimenuitem></menuchoice>:</para> + +<screenshot> +<screeninfo><guimenu>File</guimenu><guimenuitem>Template +Manager</guimenuitem></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="template05.png" format="PNG"/> +</imageobject> +<textobject><phrase><guimenu>File</guimenu><guimenuitem>Template +Manager</guimenuitem></phrase></textobject> +</mediaobject> +</screenshot> + +<para>This dialog box allows you to select where you would like your template to +be saved:</para> + +<screenshot> +<screeninfo>Saving the new template</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="template06.png" format="PNG"/> +</imageobject> +<textobject><phrase>Saving the new template</phrase></textobject> +</mediaobject> +</screenshot> + +<para>I highly recommend that you save the template in the <guilabel>Screen +Presentations</guilabel> group. You may call it whatever you wish, in this case, +my template is named <userinput>Tutorial_Template</userinput>. Once you are +happy with the settings, press <guibutton>OK</guibutton> to add your custom +template to the template collection.</para> +</step> + +<step> +<para>You can now close the document you have been working on (there is no need +to save it). The next time you are presented with the startup +dialog, your very own template will be available to select!</para> + +<screenshot> +<screeninfo>Your new template in the &kpresenter; startup +dialog.</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="template07.png" format="PNG"/> +</imageobject> +<textobject><phrase>Your new template in the &kpresenter; +startup dialog.</phrase></textobject> +</mediaobject> +</screenshot> +</step> +</procedure> + +</sect1> + +</chapter> diff --git a/doc/kpresenter/htmlshow1.png b/doc/kpresenter/htmlshow1.png Binary files differnew file mode 100644 index 00000000..a9f8a4e8 --- /dev/null +++ b/doc/kpresenter/htmlshow1.png diff --git a/doc/kpresenter/htmlshow2.png b/doc/kpresenter/htmlshow2.png Binary files differnew file mode 100644 index 00000000..ba52b6ad --- /dev/null +++ b/doc/kpresenter/htmlshow2.png diff --git a/doc/kpresenter/htmlshow3.png b/doc/kpresenter/htmlshow3.png Binary files differnew file mode 100644 index 00000000..c4876d15 --- /dev/null +++ b/doc/kpresenter/htmlshow3.png diff --git a/doc/kpresenter/htmlshow4.png b/doc/kpresenter/htmlshow4.png Binary files differnew file mode 100644 index 00000000..49da99b6 --- /dev/null +++ b/doc/kpresenter/htmlshow4.png diff --git a/doc/kpresenter/htmlshow5.png b/doc/kpresenter/htmlshow5.png Binary files differnew file mode 100644 index 00000000..c69ec431 --- /dev/null +++ b/doc/kpresenter/htmlshow5.png diff --git a/doc/kpresenter/htmlshow6.png b/doc/kpresenter/htmlshow6.png Binary files differnew file mode 100644 index 00000000..9db24bc7 --- /dev/null +++ b/doc/kpresenter/htmlshow6.png diff --git a/doc/kpresenter/htmlshow7.png b/doc/kpresenter/htmlshow7.png Binary files differnew file mode 100644 index 00000000..d7011cfe --- /dev/null +++ b/doc/kpresenter/htmlshow7.png diff --git a/doc/kpresenter/htmlshow8.png b/doc/kpresenter/htmlshow8.png Binary files differnew file mode 100644 index 00000000..6fb56df5 --- /dev/null +++ b/doc/kpresenter/htmlshow8.png diff --git a/doc/kpresenter/htmlshow9.png b/doc/kpresenter/htmlshow9.png Binary files differnew file mode 100644 index 00000000..39e9270c --- /dev/null +++ b/doc/kpresenter/htmlshow9.png diff --git a/doc/kpresenter/index.docbook b/doc/kpresenter/index.docbook new file mode 100644 index 00000000..79ac6913 --- /dev/null +++ b/doc/kpresenter/index.docbook @@ -0,0 +1,267 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY package "koffice"> + <!ENTITY kappname "&kpresenter;"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY tutorial SYSTEM "tutorial.docbook"> + <!ENTITY screen SYSTEM "screen.docbook"> + <!ENTITY guides SYSTEM "guides.docbook"> + <!ENTITY great SYSTEM "great-presentations.docbook"> + <!ENTITY menus SYSTEM "menus.docbook"> + <!ENTITY options SYSTEM "options.docbook"> + <!ENTITY a11y SYSTEM "a11y.docbook"> + <!ENTITY faq SYSTEM "faq.docbook"> + <!ENTITY % English "INCLUDE" > <!-- change language only here --> +]> + +<book lang="&language;"> +<bookinfo> +<title>The &kpresenter; Handbook</title> + +<authorgroup> +<author> +<firstname>Neil</firstname> +<surname>Lucock</surname> +<affiliation> +<address><email>neil@nlucock.freeserve.co.uk</email></address> +</affiliation> +</author> + +<author> +<firstname>Krishna</firstname> +<surname>Tateneni</surname> +<affiliation> +<address><email>tateneni@pluto.njcc.com</email></address> +</affiliation> +</author> + +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annemarie.mahfouf@free.fr</email></address> +</affiliation> +</author> + +<author> +<firstname>Gary</firstname> +<surname>Cramblitt</surname> +<affiliation> +<address><email>garycramblitt@comcast.net</email></address> +</affiliation> +</author> + +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> + +<date>2006-11-22</date> +<releaseinfo>1.6</releaseinfo> + +<copyright> +<year>1999</year><year>2000</year> +<holder>Krishna Tateneni</holder> +</copyright> + +<copyright> +<year>2001</year><year>2002</year> +<holder>Neil Lucock</holder> +</copyright> + +<copyright> +<year>2005</year> +<holder>Anne-Marie Mahfouf</holder> +</copyright> + +<copyright> +<year>2006</year> +<holder>Gary Cramblitt</holder> +</copyright> + +<legalnotice>&FDLNotice;</legalnotice> + +<abstract> +<para> +&kpresenter; is the presentations program in the &koffice; suite of +productivity applications. +</para> +</abstract> + +<keywordset> +<keyword>KDE</keyword> +<keyword>KPresenter</keyword> +<keyword>KOffice</keyword> +<keyword>Graphics</keyword> +<keyword>Presentations</keyword> +</keywordset> + +</bookinfo> + +<chapter id="introduction"> +<title>Introduction</title> + +<important> <para>Please check <ulink +url="http://docs.kde.org/en/HEAD/koffice/kpresenter/">http://docs.kde.org</ulink> +for updated versions of this document.</para></important> + +<para> +&kpresenter; is the presentations program in the &koffice; productivity +suite. Using &kpresenter;, you can prepare a set of slides for use in an +on-screen slideshow or for printing. Your slides can include text and +graphics in a variety of formats, and of course, you can embed all sorts +of objects using KParts. +</para> + +<para> +The &koffice; productivity suite consists of a number of applications +which are designed to work together. Overview documentation for +&koffice; is available, as well as manuals for each component of the +suite. The components of &koffice; are: +</para> + +<itemizedlist> +<listitem> +<para> +&kword; - a frames based wordprocessor. +</para> +</listitem> + +<listitem><para> +&kspread; - a spreadsheet application. +</para> +</listitem> + +<listitem> +<para> +&kpresenter; - a presentations application. +</para> +</listitem> + + +<listitem> +<para> +&kformula; - an editor for mathematical formulae. +</para> +</listitem> + +<listitem> +<para> +&kchart; - an application to draw charts and diagrams. +</para> +</listitem> + + +</itemizedlist> + +<para> +&koffice; is a free (or open-source) software project which is +released under the terms of the &GNU; General Public +License. +</para> + +</chapter> + +&tutorial; + +&screen; + +&guides; + +&great; + +&menus; + +&options; + +&a11y; + +&faq; + +<chapter id="credits"> +<title>Credits and License</title> + +<para> +&kpresenter; +</para> + +<para> +Program copyright 1998-2000 by Reginald Stadlbauer +<email>reggie@kde.org</email> +</para> + +<para> +Current maintainer is Laurent Montel <email>montel@kde.org</email>. +</para> + + +<itemizedlist> +<title>Contributors</title> + +<listitem> +<para> +Werner Trobin <email>trobin@kde.org</email>. +</para> +</listitem> + +<listitem> +<para> +David Faure <email>dfaure@kde.org</email> +</para> +</listitem> + +<listitem> +<para> +Toshitaka Fujioka <email>fujioka@kde.org</email> +</para> +</listitem> + +<listitem> +<para> +Lukáš Tinkl <email>lukas@kde.org</email> +</para> +</listitem> + +<listitem> +<para> +Thorsten Zachmann <email>t.zachmann@zagge.de</email> +</para> +</listitem> + +<listitem> +<para> +Ariya Hidayat <email>ariya@kde.org</email> +</para> +</listitem> + +<listitem> +<para> +Percy Leonhardt <email>percy@eris23.de</email> +</para> +</listitem> +</itemizedlist> + +<para> +Documentation based on the work copyright 1999-2000 by Krishna +Tateneni. Portions are copyright 2000-2002 Neil Lucock +<email>neil@nlucock.freeserve.co.uk</email> +and 2005 Anne-Marie Mahfouf <email>annemarie.mahfouf@free.fr</email> +</para> + +<!-- TRANS:CREDIT_FOR_TRANSLATORS --> +&underFDL; +&underGPL; + +</chapter> + +<appendix id="installation"> +<title>Installation</title> + +&install.intro.documentation; + +&install.compile.documentation; + +</appendix> + +&documentation.index; + +</book> + diff --git a/doc/kpresenter/kbd-focus-ext.png b/doc/kpresenter/kbd-focus-ext.png Binary files differnew file mode 100644 index 00000000..1135bb70 --- /dev/null +++ b/doc/kpresenter/kbd-focus-ext.png diff --git a/doc/kpresenter/link.png b/doc/kpresenter/link.png Binary files differnew file mode 100644 index 00000000..9c12b06e --- /dev/null +++ b/doc/kpresenter/link.png diff --git a/doc/kpresenter/menus.docbook b/doc/kpresenter/menus.docbook new file mode 100644 index 00000000..52d29d6e --- /dev/null +++ b/doc/kpresenter/menus.docbook @@ -0,0 +1,2066 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" +"dtd/kdex.dtd"> + +To edit or validate this document separately, uncomment this prolog +Be sure to comment it out again when you are done --> + +<chapter id="menu-items"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Neil</firstname> +<surname>Lucock</surname> +<affiliation> +<address><email>neil@nlucock.freeserve.co.uk</email></address> +</affiliation> +</author> +<author> +<firstname>Krishna</firstname> +<surname>Tateneni</surname> +<affiliation> +<address><email>tateneni@pluto.njcc.com</email></address> +</affiliation> +</author> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annemarie.mahfouf@free.fr</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>The Menu and Toolbar Items</title> + +<para>&kpresenter; presents different types of interfaces for you to interact +with the program. Perhaps the most familiar type of interface is the +menu which appears on the top of the &kpresenter; window.</para> + +<para>Clicking on the menu items gives you a list of commands from which you +can choose the one you want. Many of the commands can also be accessed +directly by holding down &Ctrl; or &Alt; and pressing another key on +your keyboard. In the next section, each of the menu commands is +described in brief.</para> + +<sect1 id="toolbars"> +<title>The Toolbars</title> + +<sect2 id="manipulating-toolbars"> +<title>Manipulating the Toolbars</title> + +<para>In addition to the menus, &kpresenter; also has a set of toolbars. Each +toolbar consists of a collection of icons. A toolbar icon often presents +a convenient shortcut to a command that is found in one of the menus.</para> + +<screenshot> +<screeninfo>The toolbars</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="barstyle1.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The toolbars</phrase> +</textobject> +</mediaobject> +</screenshot> + +<para>You can move the toolbar around by dragging the handle, shown here in red. Toolbars can +be <quote>docked</quote> or attached to any side of the &kpresenter; +window. If you like, you can also have the toolbar <quote>float</quote> in +its own window, separated from the main &kpresenter; window as shown in the +screenshot below:</para> + +<screenshot> +<screeninfo>Floating toolbar</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="barstyle3.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Floating toolbar</phrase> +</textobject> +</mediaobject> +</screenshot> + +<para> If you don't like dragging toolbars around, +<mousebutton>right</mousebutton> click on the handle and a menu pops up as shown +in the screenshot below: </para> + +<screenshot> +<screeninfo>Toolbar context menu</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="barstyle4.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Toolbar context menu</phrase> +</textobject> +</mediaobject> +</screenshot> + +<para> +The first few items in the popup menu have to do with the placement of +the toolbar. You can choose any of the four sides of the &kpresenter; +window, or have the toolbar <quote>float</quote> in a separate +window. Choosing <guimenuitem>Flat</guimenuitem> hides the toolbar. +To unflat a hidden toolbar, &LMB; click on its handle. + + +</para> + +<para> +Choosing the next item in the menu, <guisubmenu>Text Position</guisubmenu>, leads +to an additional menu which lets you control the appearance of the items +in toolbar. This additional cascading menu is shown in the screenshot +below: +</para> + +<screenshot> +<screeninfo>The toolbar modes menu</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="barstyle5.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The toolbar modes menu</phrase> +</textobject> +</mediaobject> +</screenshot> + +<para> +The default view of the toolbar is icons only. In this view, if you +don't know what a particular icon means, you can hold the mouse over the +icon, and after a second or so, a little hint pops up in a highlighted +text box as shown in the screenshot below: +</para> + +<screenshot> +<screeninfo>Tooltips</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="barstyle6.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Tooltips</phrase> +</textobject> +</mediaobject> +</screenshot> + +<para> +You can choose to display the toolbar items as text instead of icons, or +even to combine both icons and text. If you want both text and icons, +the cascading menu allows you to select whether the text appears beside +the icons or below them. All four styles of displaying toolbar items are +shown in the screenshot below: +</para> + +<screenshot> +<screeninfo>The toolbar styles</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="barstyle7.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The toolbar styles</phrase> +</textobject> +</mediaobject> +</screenshot> + +<para> +The &kpresenter; menus are discussed in the following sections. +</para> + +</sect2> +</sect1> + +<sect1 id="file-menu"> +<title><guimenu>File</guimenu> Menu</title> + +<variablelist> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>New</guimenuitem> +</menuchoice> +</term> +<listitem> +<para> +<action>Begins a new presentation.</action> The +startup dialog will open, allowing you to choose a +template for your presentation. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Open...</guimenuitem> +</menuchoice></term> +<listitem> +<para> +<action>Opens an existing presentation.</action> A standard &kde; file +open dialog will appear, allowing you to choose a file to open. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>File</guimenu> +<guisubmenu>Open Recent</guisubmenu> +</menuchoice> +</term> +<listitem> +<para> +<action>Displays a list of recently opened files for you to choose +from.</action> +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut><keycombo action="simul"> +&Ctrl;<keycap>S</keycap> +</keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Save</guimenuitem> +</menuchoice> +</term> +<listitem> +<para> +<action>Saves the currently open presentation.</action> If you have not +previously saved it, you will be asked to name the file. If you have +previously saved the presentation, it will be resaved with the same name. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Save As...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para> +<action>Saves the currently open presentation with a new name.</action> +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Reload</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Reload the currently active file. +<!-- FIXME: What's a situation when you might want to do this? --> +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Import...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Import a presentation that was previously created in +one of several common formats.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Export...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Export the currently open presentation to one of several common +formats for use in another application, or for exchange with someone +who does not have access to &kpresenter;.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Mail...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Open</action> a new email message in your selected email client with the current &kpresenter; document attached. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Create HTML Slideshow...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para> +<action>Starts the HTML wizard</action>, which is described in the +section <xref linkend="html-wizard"/>. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Create Memory Stick Slideshow...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para> +<action>Starts the Memory Stick dialog</action>, which is described in the +section <xref linkend="ms-export"/>. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Template Manager</guimenu> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to save the current slide as a +template.</action> In future the template will be available for you to +use to build slides with. Creating a template is further discussed in +section <xref linkend="creating-templates"/>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Use Current Slide as Default Template</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Sets the current slide as your default template</action>. +Especially useful if you have created a template of your own to fit into +corporate style guidelines, or if you just use a particular layout very +often.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>P</keycap></keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Print...</guimenuitem> +</menuchoice></term> +<listitem> +<para><action>Prints the presentation</action>. More precisely, it opens the +print settings dialog, where you can adjust the settings before printing +your presentation.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Print Preview...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Displays the presentation</action> with a &PostScript; viewer, +exactly as it would look if printed.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Document Information</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to enter information about the document.</action> +This includes information about the author, and an abstract on the +documents contents.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>W</keycap></keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Close</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Close the current presentation.</action> You will be given an +opportunity to save any changes first.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Quit</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Close</action> &kpresenter;. You will be given an opportunity +to save all changes in all open presentations first.</para> +</listitem> +</varlistentry> +</variablelist> + +</sect1> + +<sect1 id="edit-menu"> +<title><guimenu>Edit</guimenu> Menu</title> + +<variablelist> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Undo: <replaceable>Last task</replaceable></guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Undo the last action you performed.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Redo: <replaceable>Last undone +task</replaceable></guimenuitem> +</menuchoice></term> +<listitem> +<para><action>Redo the last action you undid.</action> If you have not undone +any actions, or the last undo action is not reversible, this menu item +is disabled.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>X</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Cut</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Copy the selected item to the clipboard, and remove it from the +document.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Copy</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Copy the selected item to the clipboard, while leaving it intact +in your presentation.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Paste</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Insert the contents of the clipboard into your +presentation.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Delete</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Delete</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Remove the currently selected item from your +presentation.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>A</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Select All</guimenuitem> +</menuchoice></term> +<listitem> +<para> +<action>Select all the objects and text on the current slide.</action> +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;&Shift;<keycap>A</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Deselect</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Deselect any currently selected objects.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>F</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Find...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para> +<action>Search for text within the presentation.</action> +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycap>F3</keycap> +</shortcut> +<guimenu>Edit</guimenu><guimenuitem>Find Next</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Find the next occurrence of a piece of text within a presentation.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Shift;<keycap>F3</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu><guimenuitem>Find Previous</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Find the previous occurrence of a piece of text within a +presentation.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>R</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu><guimenuitem>Replace...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Replace one or more occurrences of a piece of text in +your presentation with a different piece of text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Copy Slide</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Copy the current slide to the clipboard.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Duplicate Slide</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Insert an exact copy of the current slide.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Delete Slide</guimenuitem> +</menuchoice></term> +<listitem> +<para><action>Delete the current page from the presentation.</action> You +will be asked to confirm this action.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Duplicate Object...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Create a duplicate of the currently selected object. A dialog will +display allowing you to set some options for the duplicate, ⪚ if it +should be rotated, or scaled, or offset to a new position on the +slide.</para> +</listitem> +</varlistentry> + +</variablelist> + +</sect1> + +<sect1 id="view-menu"> +<title><guimenu>View</guimenu> Menu</title> + +<variablelist> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu> +<guimenuitem>New View</guimenuitem> +</menuchoice></term> +<listitem> +<para><action>Opens another window with the same presentation loaded</action> +so you can work on more than one slide at a time.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;&Shift;<keycap>W</keycap></keycombo></shortcut> +<guimenu>View</guimenu> +<guimenuitem>Close All Views</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Close all views on the presentation.</action> You will be given +a chance to save any changes, or to cancel closing.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Split View</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Splits the window into two (or more) views on the same +presentation.</action> The default split is horizontal.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Remove View</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Close only the currently active view</action>. The +presentation, and any other views you have open, remain open, and any +changes you have made remain unsaved.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Splitter Orientation</guisubmenu> +</menuchoice> +</term> +<listitem> +<para><action>Toggle the split view</action> between +<guimenuitem>Horizontal</guimenuitem> (the default) and +<guimenuitem>Vertical</guimenuitem>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Show Sidebar</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Toggle the display of the sidebar</action> where you can +see an overview of all the slides in your presentation.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Show Notebar</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Toggle the display of the notebar</action> where you can +see an overview of all the notes in your presentation.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Slide Master</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Toggle the display of the slide master</action> where you can put objects that you want to appear on each slide in your presentation.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Formatting Characters</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Show a visual representation of <quote>non-printing +characters</quote>, such as tabs and paragraph markers. This can be +a useful aid to precisely positioning text.</para> + +<para>This item can be toggled. If enabled, formatting characters are +visible; if disabled, they are not.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Guide Lines</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>When working in &kpresenter; you can drag a <quote>guide +line</quote> from either the horizontal or vertical ruler onto your +document. This guide-line will not print or display in the finished +presentation, it is simply to help you align objects on screen. If +this item is enabled, these guide lines will be visible. If this is +disabled, they will not be visible.</para> + +<para>Guide lines work across slides, allowing you to align objects the +same way across multiple slides.</para> + +<para>Disabling (hiding) guide lines does not delete them. If you have +created guide lines, and then disabled this item, enabling it again +will retain the guide lines you created.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Add Guide Line...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para> +Opens a dialog to select the <guilabel>Orientation</guilabel> +(<guilabel>Horizontal</guilabel> or <guilabel>Vertical</guilabel>) +and choose a <guilabel>Position:</guilabel> +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Show/Hide Grid</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>If enabled, &kpresenter; will display a grid of dots +representing the intersections of imaginary horizontal and vertical +lines. You can use these dots to precisely position objects on the +slide.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice><guimenu>View</guimenu><guimenuitem> +Snap to Grid</guimenuitem></menuchoice> +</term> +<listitem><para>If this is enabled, when dropping or moving objects on the +slide the top left corner of the object will <quote>snap</quote> or +move, to the nearest grid point.</para> +<para>This does reduce your freedom to freely position objects on the +slide, however it also helps to line up objects precisely. It is +easily disabled or enabled with this menu entry, allowing you the best +of both worlds.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Zoom</guisubmenu> +</menuchoice> +</term> +<listitem> +<para>This submenu allows you to zoom in or out of the +slide. Several predefined zoom levels are available, including +<guimenuitem>Whole Slide</guimenuitem> to scale the entire slide so as +to be visible in the size window you have open, and +<guimenuitem>Width</guimenuitem> to scale the slide so it fills the +entire width of the window, although you may now have to scroll +vertically. There are also several other scaling choices, from +<guimenuitem>33%</guimenuitem> up to +<guimenuitem>500%</guimenuitem>.</para> +</listitem> +</varlistentry> + +</variablelist> + +</sect1> + +<sect1 id="insert-menu"> +<title><guimenu>Insert</guimenu> Menu</title> + +<variablelist> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Alt;&Shift;<keycap>C</keycap></keycombo> +</shortcut> +<guimenu>Insert</guimenu> +<guimenuitem>Special Character...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Insert a special character. This might be a character +you don't have a key for on your keyboard layout, for instance ü +on a US Keyboard.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu> +<guisubmenu>Variable</guisubmenu> +</menuchoice> +</term> +<listitem> +<para>Here you can insert a variable that is filled in with a +value that may be updated as you update the document.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Link...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Insert a hyperlink to a file, a website, or an email +address. This enables these locations to be linked to directly from within active presentations, with resources being handled as appropriately by other applications installed on your system.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Comment...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Enter a small note that does not display during the +real presentation. You might use this to comment on a colleague's +text, or to leave a note for yourself about something to do +later.</para> +<!-- FIXME: How do you display these again? --> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut><keycap>F2</keycap></shortcut> +<guimenu>Insert</guimenu> +<guimenuitem>Slide...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para> +<action>Add a new page to your presentation.</action> A dialog will open +allowing you to choose a template, and whether to insert the new page +before or after the currently selected page. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu><guimenuitem>File...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Insert an already existing presentation.</action> A standard &kde; file +open dialog will appear, allowing you to choose a <guilabel>&kpresenter; Document</guilabel> (.kpr) or a +<guilabel>OASIS OpenDocument Presentation</guilabel> (.odp), which will be inserted after the last slide in your current presentation.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut><keycap>F10</keycap></shortcut> +<guimenu>Insert</guimenu><guimenuitem>Text</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Add a new text object. Click and drag to create a frame where +you wish the text to appear.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Chart</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Insert a chart. Click and drag to define the size of the +chart. Some default data will be displayed. Double click to edit the +data and choose the type of chart to display, using the embedded +&kchart; editor.</para> + +<!--<para>FIXME: KChart has it's own help file, but a brief overview of +charting in this doc wouldn't go astray either.</para>--> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut><keycap>F5</keycap></shortcut> +<guimenu>Insert</guimenu><guimenuitem>Table</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Insert a table. Click and drag to define the size of +the table.</para> + +<para>A &kspread; open dialog will display. You may import a +spreadsheet that you have saved in one of many formats, including +plain text files. You may also choose to create a new and empty +table.</para> + +<para>Double clicking on the table will allow you to edit the +contents.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu> +<guisubmenu>Object</guisubmenu> +</menuchoice> +</term> +<listitem> +<!--<para>FIXME: This needs a section of it's own</para>--> + +<para>An object is an embeddable file, in one of many formats.</para> + +<para>A common use of this action is to insert scaleable clipart in +vector format.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Shift;<keycap>F5</keycap></keycombo> +</shortcut> +<guimenu>Insert</guimenu> +<guimenuitem>Picture...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Insert a raster image.</action> These are not as easily +scaleable as vector images or <quote>clipart</quote>. &kpresenter; +currently understands many formats, including <literal +role="extension">.tiff</literal>, <literal +role="extension">.jpg</literal>, <literal +role="extension">.png</literal> and many more.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu> +<guisubmenu>Line</guisubmenu> +</menuchoice> +</term> +<listitem> +<para>You can insert several types of lines. Line drawing is described +further in the drawing tools<!-- FIXME: Make a drawing tools section --> section.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu> +<guisubmenu>Shape</guisubmenu> +</menuchoice> +</term> +<listitem> +<para>You can insert several prepared shapes, in vector format. These are +editable just like lines you have drawn yourself. Using the drawing +tools is described in detail in the drawing tools +section.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Scan Image...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Scan an image with a scanner.</action> This requires you have a +scanner installed. It opens the <guilabel>Acquire Image</guilabel> dialog to allow the use of the scanner.<!--FIXME: Document how to set up a scanner that &kpresenter; can +use.--></para> +</listitem> +</varlistentry> +</variablelist> + +</sect1> + +<sect1 id="format-menu"> +<title><guimenu>Format</guimenu> Menu</title> + +<variablelist> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Select</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>If you have been using a tool such as the line drawing tool which does +not allow you to select other objects, you can use this menu item to +return to the normal selection cursor.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Rotate</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Changes the cursor to a double headed curved arrow. Click with the &LMB; onto an object +and keep the button pressed.Drag with the cursor to rotate the object on the slide around its center. When you are +happy with the position of the object, release the mousebutton to stop +rotating.</para> + +<para>If you change your mind and wish to cancel the rotation, use +<menuchoice><guimenu>Edit</guimenu><guimenuitem>Undo</guimenuitem> +</menuchoice> to later undo it.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Zoom</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Allow you to zoom in or out in the current slide. You can see the zoom factor in the <guilabel>Edit</guilabel> toolbar, in the zoom indicator.</para> +<screenshot> +<screeninfo>The <guilabel>zoom factor</guilabel> indicator</screeninfo> +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="zoomfactor.png"/> +</imageobject> +<textobject> +<phrase>The <guilabel>zoom factor</guilabel> indicator</phrase> +</textobject> +</mediaobject> +</screenshot> +<para>Left clicking on the slide will <guimenuitem>Zoom In</guimenuitem>. Right clicking on the current slide will present you a menu to allow you to <guimenuitem>Zoom In</guimenuitem>, to <guimenuitem>Zoom Out</guimenuitem>, to <guimenuitem>Zoom Entire Slide</guimenuitem>, to <guimenuitem>Zoom Slide Width</guimenuitem> or <guimenuitem>Zoom Slide Height</guimenuitem>, to <guimenuitem>Zoom Selected Objects</guimenuitem> or <guimenuitem>Zoom All Objects</guimenuitem> which put back all objects in your view. +</para> +<para>This action has the same effect as <menuchoice><guimenu>View</guimenu><guimenuitem>Zoom</guimenuitem> +</menuchoice> on another form.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Properties</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Open</action> the <guilabel>Properties</guilabel> dialog for the currently selected object on your slide.</para> +<screenshot> +<screeninfo>The <guilabel>Properties</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="properties.png"/> +</imageobject> +<textobject> +<phrase>The <guilabel>Properties</guilabel>dialog</phrase> +</textobject> +</mediaobject> +</screenshot> +<para>The <guilabel>Properties</guilabel> dialog for an object allows you to manipulate it in a +very detailed manner. You can change several properties for the selected object, like the text color if the object is text or the depth if the object is a picture.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu> +<guisubmenu>Arrange Objects</guisubmenu> +</menuchoice> +</term> +<listitem> +<para>This is where you can manipulate the stacking order of +objects on the slide.</para> + +<para>An object that is on top will cover, either partially or fully +depending on its size, all other objects beneath it. Meanwhile an +object on the bottom of the stack may not be visible at all, as it is +covered up by other objects. An object in the middle may be partially +covered by other objects, while partially covering yet more objects +itself.</para> + +<para>You can send the selected object down or up a layer, or directly +to the top or bottom of the stack.</para> + +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu> +<guisubmenu>Align Objects</guisubmenu> +</menuchoice> +</term> +<listitem> + +<para>In the submenu you can quickly align all the currently +selected objects with a side of the slide, or center them either +vertically or horizontally.</para> + +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>G</keycap></keycombo> +</shortcut> +<guimenu>Format</guimenu> +<guimenuitem>Group Objects</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>If you are drawing, you might want to make something out of +several objects. Arrange the individual parts where you +want them, select one, then hold down the &Ctrl; key +as you click in the others you want to group together. Click +<guimenuitem>Group Objects</guimenuitem> and from then on they act as +if they are just one thing. It glues things together.</para> + +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;&Shift;<keycap>G</keycap></keycombo> +</shortcut> +<guimenu>Format</guimenu> +<guimenuitem>Ungroup Objects</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>If you decide that you want to alter an object that is made out +of several pieces, you can unglue it with this tool. Click somewhere +away from the object to deselect it, then click to select one of its +parts.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Shadow Objects...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>This puts a colored copy of either text or a drawn object behind +it. You can make nice <quote>dropped shadows</quote> for logos with +this tool. To enable this item, ensure that you have object(s) +selected (you will see the six small black boxes around the +outline.) You choose the color, select which way the shadow is going to +fall and select a distance. For text it looks nice if you set the +distance to two or three. Click <guibutton>Apply</guibutton> +to see the result of your settings for all selected objects on the slide +without leaving the dialog.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Page Layout...</guimenuitem> +</menuchoice></term> +<listitem> +<para>Allows you to set the page details. You can specify the margins, +the orientation, either portrait (higher than wide) or Landscape +(wider than high) formats. There are many templates, such as screen, +A4, US legal.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Enable/Disable Document Header</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Toggle the display of the header field</action> on the current slide. Header content can only be added in the master slide but you can choose to display the header only on some slides with this action.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Enable/Disable Document Footer</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Toggle the display of the footer field</action> on the current slide. Footer content can only be added in the master slide but you can choose to display the footer only on some slides with this action.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Slide Background...</guimenuitem> +</menuchoice> +</term> +<listitem> + +<para>Allows you to alter the background to your presentation +slides. Your options are <guilabel>Color/Gradient</guilabel>, (which lets you +set either a plain color or one of many gradients) +or <guilabel>Picture</guilabel>, which gives a dialog box to find the picture +you want. Set the <guilabel>View mode:</guilabel> for this picture +to <guilabel>Scaled</guilabel>, <guilabel>Centered</guilabel>, +or <guilabel>Tiled</guilabel>.</para> + +<para> If you want a plain color, click in the box to select +it. Gradients only work when you have chosen two colors. The picture +option allows you to center the picture, zoom it to cover the entire +slide (if it is smaller than the screen, this is very useful) or tile +it. This is used when you want a small pattern to repeat across the +page. It's probably best used with patterns rather than pictures of +logos.</para> + +<para>You can get rid of a picture by selecting another one or +choosing a color/gradient.</para> + +</listitem> +</varlistentry> + +</variablelist> + +</sect1> + +<sect1 id="text-menu"> +<title><guimenu>Text</guimenu> Menu</title> + +<para>This menu modifies selected text and provides a few tools familiar from +word processing applications for your convienience for when you are making +presentations with large amounts +of text in them. The <guimenu>Text</guimenu> menu will only effect selected or +highlighted text.</para> + +<variablelist> +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guimenuitem>Default Format</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Restores selected text to the system default font size, style and +formatting.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guimenuitem>Font...</guimenuitem> +</menuchoice> +</term> +<listitem> + +<para>The <guilabel>Select Font</guilabel> dialog contains options for selected +segments of text:</para> + +<screenshot> +<screeninfo>The <guilabel>Select Font</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="textmenu1.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The <guilabel>Select Font</guilabel> dialog</phrase> +</textobject> +</mediaobject> +</screenshot> + +<para>With this dialog, you can <action>change the font, style and size of +selected text</action>. The <interface>preview box</interface> at the bottom +allows you to <action>approximate changes before you make them</action>. </para> + +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul"> +&Ctrl;&Alt;<keycap>P</keycap> +</keycombo> +</shortcut> +<guimenu>Text</guimenu> +<guimenuitem>Paragraph...</guimenuitem> +</menuchoice> +</term> +<listitem> + +<para>The <guilabel>Paragraph Settings</guilabel> dialog contains settings for +larger blocks of text, such as paragraphs. Using this dialog, you can set +indenting, line spacing, bullet/numbered list and border settings.</para> + +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guimenuitem>Color...</guimenuitem> +</menuchoice> +</term> +<listitem> + +<para>Use the <guilabel>Select Color</guilabel> dialog to have precise control +over the color of selected text:</para> + +<screenshot> +<screeninfo>The <guilabel>Select Color</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="textmenu2.png"/> +</imageobject> +<textobject> +<phrase>The <guilabel>Select Color</guilabel> dialog</phrase> +</textobject> +</mediaobject> +</screenshot> + +<para>Using the <interface>color spectrum box</interface> on the left, +<action>colors can be precisely defined</action> for use in your document. The +color tone can then be adjusted using the <interface>scale</interface> to the +right of the spectrum box. The <interface>input boxes</interface> below the +color spectrum allow <action>color values to be entered</action>, so that exact +colors can be specified.</para> + +<tip> +<para>Use the color picker to select colors from elsewhere in your document +(⪚ images).</para> +</tip> + +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;&Alt;<keycap>S</keycap></keycombo> +</shortcut> +<guimenu>Text</guimenu> +<guimenuitem>Style Manager</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>The <guilabel>Style Manager</guilabel> allows you to create an entire set of +attributes that will be applied to selected text all at once. See Working With Styles</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guimenuitem>Import Styles...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Here you can import styles that you have defined in another &kpresenter; +document.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guisubmenu>Style</guisubmenu> +</menuchoice> +</term> +<listitem> +<para>Using this submenu, you can apply a style that you have previously defined +to the currently selected text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guimenuitem>Create Style From Selection</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Copy the properties of the currently selected text and +save them as a style that you may apply to other text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guisubmenu>Align</guisubmenu> +</menuchoice> +</term> +<listitem> +<para><guisubmenu>Align</guisubmenu> has a submenu with several options: +<guimenuitem>Align Left</guimenuitem> (<keycombo action="simul">&Alt;<keycap>L</keycap></keycombo>), +<guimenuitem>Align Center</guimenuitem> (<keycombo action="simul">&Alt;<keycap>C</keycap></keycombo>), +<guimenuitem>Align Right</guimenuitem> (<keycombo action="simul">&Alt;<keycap>R</keycap></keycombo>), and +<guimenuitem>Align Block</guimenuitem> (<keycombo action="simul">&Alt;<keycap>J</keycap></keycombo>) +which is also commonly known as <quote>Justify</quote>.</para> + +<para>Text is by default left-aligned.</para> + +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guisubmenu>Type</guisubmenu> +</menuchoice> +</term> +<listitem> +<para>Using this submenu, you can format the currently selected text as a list, +either of the numbered or bulleted type. If you choose numbered, you can then +select a numbering style, and likewise if you choose bulleted, you can +choose the style of bullets to use.</para> + +<para>To change a list back to plain text, select +<guimenuitem>None</guimenuitem> as the style.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>+</keycap></keycombo> +</shortcut> +<guimenu>Text</guimenu> +<guimenuitem>Increase Depth</guimenuitem> +</menuchoice> +</term> + +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>-</keycap></keycombo> +</shortcut> +<guimenu>Text</guimenu> +<guimenuitem>Decrease Depth</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><guimenuitem>Increase Depth</guimenuitem> and <guimenuitem>Decrease +Depth</guimenuitem> move paragraphs in a list either to the right +(<guimenuitem>Increase Depth</guimenuitem>) or back to the left +(<guimenuitem>Decrease Depth</guimenuitem>).</para> + +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guimenuitem>Extend Contents to Object Height</guimenuitem> +</menuchoice></term> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guimenuitem>Extend Object to Fit Contents</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><guimenuitem>Extend Contents to Object Height</guimenuitem> and +<guimenuitem>Extend Object to Fit Contents</guimenuitem> help to +resize text within the text box or make the text box fit the text you have typed +or pasted into it.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guimenuitem>Insert Slide Number</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Insert a dynamically-updated slide number. This page number will +automatically update when slides are added or removed from your presentation to +reflect the correct slide value.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guimenuitem>Change Case...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Presents a dialog that provides a variety of different case/capitalization +options for the currently selected text.</para> + +<para>You may choose between several styles of capitalization, +including all lower or uppercase, book style capitalization where each +word except conjunctions has an initial capital letter, and sentence +style capitalization where the first word in a sentence is capitalized. You can +also toggle the case, so that uppercase becomes lowercase, and vice +versa.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guisubmenu>Spellcheck</guisubmenu> +</menuchoice> +</term> +<listitem> +<para>Use this submenu to utilize the spellcheck options. If you enable +<guimenuitem>Autospellcheck</guimenuitem>, &kpresenter; will automatically check +text that you enter for spelling errors.</para> + +<para>If you prefer to check spelling explicitly, rather than automatically, you +can also force a <guimenuitem>Spelling...</guimenuitem> check here.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Text</guimenu> +<guisubmenu>Autocorrection</guisubmenu> +</menuchoice> +</term> +<listitem> +<para>Use this submenu to utilize autocorrection options. If you +<guimenuitem>Enable Autocorrection</guimenuitem>, common spelling errors will be +corrected as you type. For example, if you entered <userinput>Teh</userinput>, +it would be autocorrected to <userinput>The</userinput>.</para> + +<para>If the autocorrection feature is not active, you can also +<guimenuitem>Apply Autocorrection</guimenuitem> check here.</para> +</listitem> +</varlistentry> + +</variablelist> + +</sect1> + +<sect1 id="slide-show-menu"> +<title><guimenu>Slide Show</guimenu> Menu</title> + +<variablelist> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Slide Show</guimenu> +<guimenuitem>Configure Slide Show...</guimenuitem> +</menuchoice> +</term> +<listitem> +<!--<para> +FIXME: Write a working with slideshows section +</para>--> +<para>You can set up the properties for the entire slide show here, +including whether to show the duration on screen, which of the slides +in a presentation to include, and several other global settings.</para> + +<!--<para>This is discussed in detail in the FIXME: link to presentation +section.</para>--> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Slide Show</guimenu> +<guimenuitem>Edit Object Effect...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Choose what effect you want to apply for the highlighted object. This is where +you can set the order of appearance, how the object will appear, if you want a sound while the object appears and if you want some disappearance effects too.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Slide Show</guimenu> +<guimenuitem>Edit Slide Transition...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Apply transition effects to the currently open slide. This is where +you can choose how the transition from one slide to the next +will be handled.</para> + +<para>The transition effects you select here are applied on the +transition <emphasis>from</emphasis> this slide +<emphasis>to</emphasis> the next.</para> + +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut><keycap>F12</keycap></shortcut> +<guimenu>Slide Show</guimenu> +<guimenuitem>Start</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Begin the slideshow from the current slide.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Slide Show</guimenu> +<guimenuitem>Start From First Slide</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Begin the slideshow from the first slide.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Slide Show</guimenu> +<guimenuitem>Custom Slide Show...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Opens a dialog to <guibutton>Add...</guibutton>, <guibutton>Modify...</guibutton>, +<guibutton>Remove</guibutton> and <guibutton>Copy</guibutton> slides and +<guibutton>Test</guibutton> the slide show in full screen mode.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut><keycap>Home</keycap></shortcut> +<guimenu>Slide Show</guimenu> +<guimenuitem>Go to Start</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Go directly to the first slide in the slide show.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut><keycap>PageUp</keycap></shortcut> +<guimenu>Slide Show</guimenu> +<guimenuitem>Previous Slide</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Go back to the previous slide in the slide show.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut><keycap>PageDown</keycap></shortcut> +<guimenu>Slide Show</guimenu> +<guimenuitem>Next Slide</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Go to the next slide in the slide show.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut><keycap>End</keycap></shortcut> +<guimenu>Slide Show</guimenu> +<guimenuitem>Go to End</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Go immediately to the final slide in the slide show.</para> +</listitem> +</varlistentry> + +</variablelist> + +</sect1> + +<sect1 id="settingsmenu"> +<title><guimenu>Settings</guimenu> Menu</title> + +<para>The <guimenu>Settings</guimenu> menu allows you to customize +&kpresenter;.</para> + +<variablelist> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +</menuchoice> +</term> +<listitem> +<para>The items in this submenu can be toggled, that is, you can both enable and +disable the display of specific toolbars here.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Autocorrection...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Autocorrection is &kpresenter;'s ability to correct +common typing errors or expand abbreviations independently of the spell +checking function. There are several common typing errors entered for +you by default such as replacing <userinput>teh</userinput> with +<userinput>the</userinput> and you can add as many more as you +like.</para> + +<para>The ability to expand abbreviations can save you a lot of typing +time, if you often repeat text whether in the same presentation or in +multiple presentations.</para> + +<para>For instance, if you work for <quote>Company with a really really +long name Inc.</quote> then you might define an autocorrection entry so +that whenever you type <userinput>myJob</userinput> or some other piece +of unique text, it will be replaced with <quote>Company with a really +really long name Inc.</quote>.</para> + +<para>Autocorrection can be applied automatically as you type, or only +on demand when you choose it from the <guimenu>Text</guimenu> +menu.</para> + +<para>Please see the <link +linkend="configure-autocorrection">Configure Autocorrection</link> section for a complete explanation.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Completion...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Autocompletion allows you to type the first few letters of a commonly used word (often technical or job specific), and tells &kpresenter; to finish typing the word for you.</para> + +<para>Please see the <link +linkend="configure-completion">Configure Completion</link> section for a complete explanation.</para> +</listitem> +</varlistentry> + + +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Shortcuts...</guimenuitem> +</menuchoice> +</term> +<listitem> + +<para><guimenuitem>Configure Shortcuts</guimenuitem> allows you to +assign a keyboard shortcut to actions that &kpresenter; menus or icons +contain.</para> + +<screenshot> +<screeninfo>Customize Shortcuts</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="settings03.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Customizing the shortcuts</phrase> +</textobject> +</mediaobject> +</screenshot> + +<para>If you try to assign a shortcut that is already used, it will +give you a warning message. Highlight what you want to do (in the +picture, I have chosen to make a keyboard shortcut to <guilabel>About +KDE</guilabel>).</para> + +<para>Click the radio button to the <guilabel>Custom</guilabel> key setting and type the +key you want to use. I assigned <keycap>Control</keycap> key and +<keycap>Y</keycap> to bring up the <quote>About KDE</quote> dialog +box.</para> + +<para>The button shows what has been assigned. Click +<guibutton>OK</guibutton> to make the changes, click +<guibutton>Default</guibutton> to restore whatever was assigned as +default, click <guibutton>Cancel</guibutton> to do nothing and leave +the dialog.</para> + +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Toolbars...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Configure Toolbars allows you to add or delete icons on each of +the toolbars.</para> + +<screenshot> +<screeninfo>Configuring &kpresenter; toolbars</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="settings04.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Configuring &kpresenter; toolbars</phrase> +</textobject> +</mediaobject> +</screenshot> + + + +<para>At the top is a drop down box to enable you to choose which +toolbar you want to modify. In the picture the <guilabel>Format</guilabel> toolbar is +selected. If I want to add the <guiicon>Spelling</guiicon> icon to +that toolbar, I click the entry in the left window. The arrow pointing +right becomes available, if I click the arrow the <guiicon>Spelling</guiicon> +entry is added to the selected toolbar. The left arrow +is available when you click in the right side window. It allows you to +remove an icon from a toolbar. The up and down arrows become active +when an item on the wright side is selected. You can also move the highlight in +the right side window up and down with the keyboard arrow keys. By +clicking on the arrows with the mouse you can change the order of the entries +in the menu. +<!--The <guimenuitem>Configure +&kpresenter;...</guimenuitem> menu entry gives two menu boxes. --> +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure &kpresenter;...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>See the <link +linkend="configure-dialog">configure &kpresenter;</link> section for a complete explanation of all &kpresenter; settings.</para> +</listitem> +</varlistentry> +</variablelist> + +</sect1> + +<sect1 id="helpmenu"> +<title><guimenu>Help</guimenu> Menu</title> + +&help.menu.documentation; + +</sect1> + +</chapter>
\ No newline at end of file diff --git a/doc/kpresenter/mousenav.png b/doc/kpresenter/mousenav.png Binary files differnew file mode 100644 index 00000000..462c6051 --- /dev/null +++ b/doc/kpresenter/mousenav.png diff --git a/doc/kpresenter/msexport1.png b/doc/kpresenter/msexport1.png Binary files differnew file mode 100644 index 00000000..fa3de1e4 --- /dev/null +++ b/doc/kpresenter/msexport1.png diff --git a/doc/kpresenter/msexport2.png b/doc/kpresenter/msexport2.png Binary files differnew file mode 100644 index 00000000..27bb44f2 --- /dev/null +++ b/doc/kpresenter/msexport2.png diff --git a/doc/kpresenter/msexport2b.png b/doc/kpresenter/msexport2b.png Binary files differnew file mode 100644 index 00000000..a141a903 --- /dev/null +++ b/doc/kpresenter/msexport2b.png diff --git a/doc/kpresenter/msexport3.png b/doc/kpresenter/msexport3.png Binary files differnew file mode 100644 index 00000000..55b03e60 --- /dev/null +++ b/doc/kpresenter/msexport3.png diff --git a/doc/kpresenter/msexport4.png b/doc/kpresenter/msexport4.png Binary files differnew file mode 100644 index 00000000..63424610 --- /dev/null +++ b/doc/kpresenter/msexport4.png diff --git a/doc/kpresenter/options.docbook b/doc/kpresenter/options.docbook new file mode 100644 index 00000000..39f13e13 --- /dev/null +++ b/doc/kpresenter/options.docbook @@ -0,0 +1,1032 @@ +<chapter id="options"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Neil</firstname> +<surname>Lucock</surname> +<affiliation> +<address><email>neil@nlucock.freeserve.co.uk</email></address> +</affiliation> +</author> +<author> +<firstname>Krishna</firstname> +<surname>Tateneni</surname> +<affiliation> +<address><email>tateneni@pluto.njcc.com</email></address> +</affiliation> +</author> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annemarie.mahfouf@free.fr</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Configuring &kpresenter;</title> + +<sect1 id="configure-autocorrection"> +<title>The <guilabel>Configure Autocorrection...</guilabel> Dialog</title> +<para>Auto correction is a system for correcting common typing errors, converting abbreviations to their full spelling and adjusting capitalization. As you could guess from its name, this all occurs automatically, while you are editing your document.</para> + +<sect2 id="enabling-autocorrection"> +<title>Enabling/Disabling Autocorrection</title> + +<para>To toggle autocorrection on, select <menuchoice><guimenu>Text</guimenu><guisubmenu>Autocorrection</guisubmenu><guimenuitem>Enable Autocorrection</guimenuitem></menuchoice> from the menubar. When enabled, autocorrection makes changes to your document <emphasis>as you type</emphasis>. You can determine which changes to make by configuring autocorrection, as explained below. +</para> + +<para>To toggle autocorrection off, select <menuchoice><guimenu>Text</guimenu><guisubmenu>Autocorrection</guisubmenu><guimenuitem>Disable Autocorrection</guimenuitem></menuchoice> from the menubar. When disabled, autocorrection changes are not made. You can, however, <link linkend="manually">apply autocorrection manually</link>, using the <menuchoice><guimenu>Text</guimenu><guisubmenu>Autocorrection</guisubmenu><guimenuitem>Apply Autocorrection</guimenuitem></menuchoice> menu. +</para> + +<para>To adjust the options for autocorrection, select <menuchoice><guimenu>Settings</guimenu> +<guimenuitem>Configure Autocorrection...</guimenuitem></menuchoice> from the menubar.</para> + +<para>A dialog window appears to help you set your options, with four tabs: <link linkend="simple-autocorrection">Simple Autocorrection</link>, <link linkend="custom-quotes">Custom Quotes</link>, <link linkend="advanced-autocorrestion">Advanced Autocorrection</link> and <link linkend="exceptions">Exceptions</link>.</para> +</sect2> + +<sect2 id="simple-autocorrection"> +<title><guilabel>Simple Autocorrection</guilabel></title> + +<screenshot> +<screeninfo>Simple Autocorrection</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="autocorrection1.png" format="PNG"/> +</imageobject> +<textobject><phrase>Simple Autocorrection</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Convert first letter of a sentence automatically to uppercase</guilabel></term> +<listitem><para>When selected, &kpresenter; will automatically capitalize the first letter after a period. You can tell &kpresenter; when not to alter capitalization in certain instances (ie “Sr.” or “Jr.”). For more details, see the section entitled <link linkend="exceptions">Autocorrection Exceptions</link>.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Convert two uppercase characters to one uppercase and one lowercase character</guilabel></term> +<listitem><para>When selected, &kpresenter; will automatically convert a double capital letter (a common typographical error), into a single capital letter. You can tell &kpresenter; when not to alter capitalization in certain instances. For more details, see the section entitled <link linkend="exceptions">Autocorrection Exceptions</link>.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Autoformat URLs</guilabel></term> +<listitem><para>When selected, &kpresenter; will scan text for patterns which suggest a certain section of text is a URL and automatically creates a link.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Suppress double spaces</guilabel></term> +<listitem><para>When checked, &kpresenter; will ignore the second space typed. This prevents users from adding double spaces between words or sentences</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Remove spaces at the beginning and end of paragraphs</guilabel></term> +<listitem><para>When selected, &kpresenter; will automatically remove spaces at the beginning and/or the end of a line of text.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Automatically do bold and underline formatting</guilabel></term> +<listitem><para>When selected, &kpresenter; will look for words surrounded by asterisks ( * ). It will remove the asterisks and change the font of all words in between the two asterisks to bold face.</para> +<para>&kpresenter; will also look for words surrounded by underscores ( _ ). It will remove the underscores and underline all words in between the two underscores.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Replace 1/2... with ½...</guilabel></term> +<listitem><para>When selected, &kpresenter; will automatically change 1/2, 1/3 and 3/4 to their single character equivalents.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Use autonumbering for numbered paragraphs</guilabel></term> +<listitem><para>If you start a paragraph with a number and a symbol ( <emphasis>1)</emphasis> for example), &kpresenter; will automatically convert that paragraph to a numbered paragraph. All future paragraphs will be consecutively numbered.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Replace 1st with 1^st...</guilabel></term> +<listitem><para>When selected, &kpresenter; will automatically change 1st to 1<superscript>st</superscript>.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Capitalize name of days</guilabel></term> +<listitem><para>Automatically capitalize the days of the week (Sunday, Monday, Tuesday, etc...).</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Use list-formatting for bulleted paragraphs</guilabel></term> +<listitem><para>When selected, &kpresenter; will look for lines that begin with <emphasis>- </emphasis>, and automatically convert the paragraph style to a bulleted list. The bullet is selected with the left button below this option.</para></listitem> +</varlistentry> + +</variablelist> + +</sect2> +<sect2 id="custom-quotes"> +<title><guilabel>Custom Quotes</guilabel></title> + +<para>Select the tab labeled <guilabel>Custom Quotes</guilabel></para> + +<screenshot> +<screeninfo>Custom Quotes</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="autocorrection2.png" format="PNG"/> +</imageobject> +<textobject><phrase>Custom Quotes</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Replace double quotes with typographical quotes</guilabel></term> +<listitem> +<para>When selected, this option will replace the standard keyboard double +quotes, with typographical quotation marks. If you want to change the +quotation character, click on one of the buttons. Clicking on +<guibutton>Default</guibutton>, restores the default paragraph marks.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Replace single quotes with typographical quotes</guilabel></term> +<listitem> +<para>When selected, this option will replace the standard keyboard single +quotes, with typographical quotation marks. If you want to change the +quotation character, click on one of the buttons. Clicking on +<guibutton>Default</guibutton>, restores the default paragraph marks.</para> +</listitem> +</varlistentry> +</variablelist> + +</sect2> +<sect2 id="advanced-autocorrestion"> +<title><guilabel>Advanced Autocorrection</guilabel></title> + +<para>To switch to the Advanced Autocorrection, click on the tab labeled +<guilabel>Advanced Autocorrection</guilabel>.</para> + +<screenshot> +<screeninfo>Advanced Autocorrection</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="autocorrection3.png" format="PNG"/> +</imageobject> +<textobject><phrase>Advanced Autocorrection</phrase></textobject> +</mediaobject> +</screenshot> + +<para>This allows you to automatically have &kpresenter; replace one string +of text with another. This can be useful for special symbols, commonly +used abbreviations that you want spelled out, or common typing errors.</para> + +<para>&kpresenter; uses different autocorrection strings depending on the language. +Set the correct language using the combo box labeled +<guilabel>Replacement and exceptions for language:</guilabel>.</para> + +<para>The check box labeled <guilabel>Enable word replacement</guilabel> is used to +toggle on and off the autoreplacement features of &kpresenter;. If there is no mark in the check box, +then &kpresenter; will not perform any autoreplacements from the list in this dialog.</para> + +<para>If there is a mark in the check box labeled <guilabel>Replace text with format</guilabel> +&kpresenter; will not only change the text when it finds a match, but it will change the formatting of the new text. +If there is no mark in this check box, then +&kpresenter; uses the same formatting options for the replaced text as it found in the search text. For more information +on setting the format options for replacement text, see the section on +<link linkend="autocorrection-format-options">Changing the format of the autocorrection string</link>.</para> + +<sect3> +<title>Adding an autocorrection string</title> + +<para>To add an autocorrection string, simply type the text you want &kpresenter; to +check for in the text box labeled +<guilabel>Find:</guilabel>, then enter the text you want &kpresenter; +to substitute in the text box labeled <guilabel>Replace:</guilabel>.</para> + + +<note><para>If you want to insert symbols or special characters not available on your +keyboard, you can click the +buttons with three periods on them and select a special character from the table provided.</para></note> + +<para>When these are entered, click <guibutton>Add...</guibutton>. Your text +strings are now added to the table.</para> +</sect3> + +<sect3> +<title>Editing an autocorrection string</title> +<para><emphasis>Changing the text you want to find.</emphasis></para> +<para>&kpresenter; does not allow you to change the text to search for. +This is to prevent disastrous mistakes.</para> +<para>Instead, you must delete the current autocorrection rule and +add a new text string with the corrected text to find.</para> + +<para><emphasis>Changing the text you want to replace.</emphasis></para> +<para>Begin by clicking once on the string you want to edit. It will be +highlighted and the find and replace text will be listed in the text boxes +above. You can alter the replacement text. When you +are done, simply click on the <guibutton>Modify</guibutton> button.</para> + +</sect3> + +<sect3> +<title>Deleting an autocorrection string</title> + +<para>Simply click on the string you want to delete. Now click the +<guibutton>Remove</guibutton> button. The string is removed.</para> + +<warning> +<para>Be aware that &kpresenter; does not give you a chance to back out once +you have deleted a string. Be sure you have selected the correct string +<emphasis>before</emphasis> you click the <guibutton>Remove</guibutton> +button.</para> +</warning> +</sect3> + +<sect3 id="autocorrection-format-options"> +<title>Changing the format of the autocorrection string</title> +<note><para>Currently, you must create the autocorrection string <emphasis>before</emphasis> you can format it.</para></note> +<para>Once the autocorrection string has been created, simply click on it once with the &LMB;.</para> +<para>Now click on the <guibutton>Change Format...</guibutton> button. A small dialog will appear:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="changeformat.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>You can use this dialog to select the format of the replaced text.</para> +<para>The left column consists of 13 check boxes. If there is a mark in the check box, then &kpresenter; will change +any replaced text to match the property selected. +If no mark is in the check box, &kpresenter; does not consider that property when replacing text.</para> + +<variablelist> + +<varlistentry> +<term><guilabel>Family:</guilabel></term> +<listitem> +<para>Use this combo box to select the font family you want your replacement text to use.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Size:</guilabel></term> +<listitem> +<para>Use this spin box to set the font size you want &kpresenter; to use for your replaced text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Color:</guilabel> and <guilabel>Background color:</guilabel></term> +<listitem> +<para>Clicking on either of these two buttons allows you to select the font color and/or background color respectively, +you want &kpresenter; to use. <!--For more information on selecting a color, see the +section on <link linkend="select-colors">Selecting Colors from the Color Dialog</link>.--></para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Bold:</guilabel> and <guilabel>Italic:</guilabel></term> +<listitem> +<para>Use these <guilabel>Yes</guilabel>/<guilabel>No</guilabel> radio buttons to determine whether you want &kpresenter; +to change the fonts to boldface or italicized fonts.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Strikeout:</guilabel></term> +<listitem> +<para>You can select <guilabel>None</guilabel>, <guilabel>Single</guilabel>, <guilabel>Double</guilabel> +or <guilabel>Simple Bold</guilabel> to use for the replacement text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Underline:</guilabel></term> +<listitem> +<para>You can select <guilabel>None</guilabel>, <guilabel>Single</guilabel>, <guilabel>Double</guilabel>, +<guilabel>Simple Bold</guilabel> or <guilabel>Wave</guilabel> to use for the replacement text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Vertical alignment:</guilabel></term> +<listitem> +<para>You can select <guilabel>Normal</guilabel>, <guilabel>Superscript</guilabel> or +<guilabel>Subscript</guilabel> to determine what font alignment you want &kpresenter; to use.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Shadow:</guilabel> and <guilabel>Word by word:</guilabel></term> +<listitem> +<para>Use these <guilabel>Yes</guilabel>/<guilabel>No</guilabel> radio buttons to determine whether you want &kpresenter; +to use shadow text and/or word by word underlining and strikethrough in the replacement text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Capitalization:</guilabel></term> +<listitem> +<para>You can select <guilabel>Normal</guilabel>, <guilabel>Uppercase</guilabel>, <guilabel>Lowercase</guilabel>, or +<guilabel>Small Caps</guilabel> to determine what capitalization to use for the replacement text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Language:</guilabel></term> +<listitem> +<para>You can select the language of the text you will use to replace the found text.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>Once you have selected your options, click <guibutton>OK</guibutton> to accept your text options.</para> +<para>Click <guibutton>Cancel</guibutton> to ignore all changes.</para> +<para>Click <guibutton>Reset</guibutton> to restore the options dialog box to the initial values prior to making any changes.</para> +<para>Click <guibutton>Clear</guibutton> to remove all marks from the checked options.</para> +</sect3> + +</sect2> +<sect2 id="exceptions"> +<title><guilabel>Exceptions</guilabel></title> + +<para>There are instances where &kpresenter; will make autocorrection changes +that are inappropriate. You can use the fourth tab of this dialog to define +<emphasis>exceptions</emphasis> to the rules previously discussed.</para> +<para>The dialog for exceptions is shown below:</para> + +<screenshot> +<screeninfo>Exceptions</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="autocorrection4.png" format="PNG"/> +</imageobject> +<textobject><phrase>Exceptions</phrase></textobject> +</mediaobject> +</screenshot> + +<para>To prevent &kpresenter; from deciding an abbreviation or other text is +the end of a sentence, simply enter the text fragment in the text box below +<guilabel>Do not treat as the end of a sentence:</guilabel>. Then click +<guibutton>Add</guibutton>.</para> +<para>As an example: Adding <quote>Jr.</quote> to this dialog prevents</para> +<para><quote>Robert Jones Jr. is a friend of the family.</quote></para> +<para>from being changed to:</para> +<para><quote>Robert Jones Jr. Is a friend of the family.</quote></para> +<para>To remove an erroneous entry, simply click once on the wrong entry with the &LMB; +and click on the <guibutton>Remove</guibutton> button.</para> +<para>The second set of boxes performs a similar function to the first except text entered in these boxes will allow two capital letters in a word if it +is entered in this text box.</para> +<para>Simply enter the word in the text box below +<guilabel>Accept two uppercase letters in:</guilabel>. Then click +<guibutton>Add</guibutton>.</para> +<para>As an example: Adding <quote>CD</quote> to this dialog prevents</para> +<para><quote>CD</quote></para> +<para>from being changed to:</para> +<para><quote>Cd</quote></para> +<para>To remove an erroneous entry, simply click once on the wrong entry with the &LMB; +and click on the <guibutton>Remove</guibutton> button.</para> + +</sect2> +<sect2 id="manually"> +<title>Manually applying autocorrection</title> + +<para>If autocorrection is turned off in your document, you can manually enable autocorrection.</para> +<para>To manually apply autocorrection, first configure your options by using the +<link linkend="configure-autocorrection">autocorrection dialogs</link>.</para> +<para>Then select <menuchoice> +<guimenu>Text</guimenu><guisubmenu>Autocorrection</guisubmenu><guimenuitem>Apply Autocorrection</guimenuitem></menuchoice> +from the menubar.</para> +<para>&kpresenter; will start at the beginning of the document and apply all selected autocorrection options to the entire document.</para> +<para>When &kpresenter; is finished, it will return you to your document for further editing.</para> +<para>For more information on enabling and disabling autocorrection, +see <link linkend="enabling-autocorrection">Enabling/Disabling Autocorrection</link>.</para> + +</sect2> +</sect1> + +<sect1 id="configure-completion"> +<title>The <guilabel>Configure Completion</guilabel> Dialog</title> + +<para>Autocompletion allows you to type the first few letters of a commonly +used word (often technical or job specific), and tells &kpresenter; to +finish typing the word for you. This is often very useful when you have lengthy technical words.</para> + +<sect2 id="autocomplete-using"> +<title>Using autocompletion</title> +<para>Using autocompletion could not be easier. Simply type the first few +letters of the word you want &kpresenter; to finish, and press +<keycombo>&Ctrl;<keycap>E</keycap></keycombo>. &kpresenter; will look +through the list of autocompletion words and if it finds a word which begins +with those letters, it will finish entering the remainder of the word.</para> +<sect3 id="autocomplete-using-add"> +<title>Adding words to autocompletion</title> +<para>&kpresenter; maintains a list of words for each user that will be used for autocompletion.</para> +<para>You can add words to this list one of two ways:</para> +<itemizedlist> +<listitem><para>&kpresenter; can automatically add new words to the completion list for later approval. +This is selected using <link linkend="autocomplete-dialog">the dialog</link>.</para></listitem> +<listitem><para>Individual words can be added to the list by using +<link linkend="autocomplete-dialog">the dialog</link>.</para></listitem> +</itemizedlist> +</sect3> +</sect2> + +<sect2 id="autocomplete-dialog"> +<title>Configuring autocomplete</title> +<para>To configure autocompletion, select <menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure Completion...</guimenuitem></menuchoice> +from the menubar. This will bring up a dialog.</para> + +<screenshot> +<screeninfo><guilabel>Completion</guilabel> Dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="completion.png" format="PNG"/> +</imageobject> +<textobject><phrase><guilabel>Completion</guilabel> Dialog</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Enable word completion</guilabel></term> +<listitem><para>It is used to toggle autocompletion on and off.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Add</guilabel></term> +<listitem> +<para>By clicking this button you can manually add +an individual word to the completion list.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Remove</guilabel></term> +<listitem> +<para>To remove words from the completion list, select the word with the &LMB; +from the list, then click this button.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Automatically add new words to suggestion list</guilabel></term> +<listitem> +<para>This option will add any word equal to or longer than +the <guilabel>Characters needed:</guilabel> to the list of proposed +autocompletion words.</para> +<para>The large listbox in the center of the dialog contains the current +proposed list of autocompletion words.</para> +<note><para>Not all words listed in the list box will be immediatly affected by +autocompletion when entered into this dialog.</para></note> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show words in tooltip</guilabel></term> +<listitem> +<para>If this option is enabled, a tool tip box will appear when you type the +beginning of a word that exists in the completion list. To complete the word, +press the key you set to accept suggestions in the <guilabel>Key to accept +suggestion:</guilabel> drop-down list.</para> +</listitem> +</varlistentry> + + +<varlistentry> +<term><guilabel>Characters needed:</guilabel></term> +<listitem> +<para>Use this spinbox/slider combination to prevent &kpresenter; +from automatically adding short words to the completion list. You can select +any value from 5-100 and the words will need to be at least the number of +characters set here to be added in the list.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Suggest words:</guilabel></term> +<listitem> +<para>This spinbox/slider combination can be adjusted to allow more or less +words into the autocompletion list. This option is most important when +<guilabel>Automatically add new words to suggestion list</guilabel> is enabled. +This option keeps the list from becoming too cumbersome. You can select any +value from 1 to 500.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Append space</guilabel></term> +<listitem> +<para>If checked, it adds a single space to the end of a word after +autocompletion, this means it is not necessary to add the space manually for the +next word.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Key to accept suggestion:</guilabel></term> +<listitem> +<para>Set the key you want to use when an autocompleted word is suggested to you +and you want to accept it. You can choose +<keycap>Enter</keycap>, <keycap>Tab</keycap>, <keycap>Space</keycap>, +<keycap>End</keycap> or <keycap>Right</keycap>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Make Default</guilabel></term> +<listitem> +<para>A word is not part of autocompletion until the list is +<emphasis>saved</emphasis> to disk. At that moment, &kpresenter; +will use that saved list for all autocompletion, until the list is replaced with +another saved list.</para> +<para>Some of the words in the autocompletion list may not have been saved +yet.</para><para>To save the current list to disk and have &kpresenter; begin +using this new list for autocompletion, click this button.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>Click <guibutton>OK</guibutton> to save your options. Click +<guibutton>Cancel</guibutton> to abort all changes. Click +<guibutton>Reset</guibutton> to reset to the state after you clicked on the +<guibutton>Make Default</guibutton> button.</para> + +</sect2> + +</sect1> + +<sect1 id="configure-dialog"> +<title>The <guilabel>Configure &kpresenter;</guilabel> Dialog</title> + +<sect2 id="configure-interface"> +<title><guilabel>Interface</guilabel></title> + +<screenshot> +<screeninfo>Configure Interface</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure1.png" format="PNG"/> +</imageobject> +<textobject><phrase>Configure Interface</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Show rulers</guilabel></term> +<listitem><para>This is checked by default and both a vertical and horizontal +ruler are shown on &kpresenter;slides. When unchecked, the rulers are not shown +anymore on any slide.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show status bar</guilabel></term> +<listitem><para>Toggle the statusbar which is shown by default.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Number of recent files:</guilabel></term> +<listitem><para>Set the number of recent files which will be opened using the +<menuchoice><guimenu>File</guimenu><guisubmenu>Open +Recent</guisubmenu></menuchoice> menu. Default is to remember 10 filenames. The +maximum you can set is 20 and the minimum is 1.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Text indentation depth:</guilabel></term> +<listitem><para>This setting is used in the <guimenu>Text</guimenu> menu by <guimenuitem>Increase Depth</guimenuitem> and <guimenuitem>Decrease Depth</guimenuitem> menu items to change the indentation depth. Default is 1 centimeter.</para></listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2 id="configure-color"> +<title><guilabel>Color</guilabel></title> + +<screenshot> +<screeninfo>Color</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure2.png" format="PNG"/> +</imageobject> +<textobject><phrase>Color</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Background object color:</guilabel></term> +<listitem><para>It changes the background color of the text box. The Text boxes background is white by default. If you had a dark +background color and you wanted to put some white text over it, you +could color the text box so that you could see what you were +typing. When you have finished, the area around the text would revert +to whatever the background color was. The +<guibutton>Defaults</guibutton> button restores the original +settings.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Grid color:</guilabel></term> +<listitem><para>You can change here the grid color which is black as default.</para></listitem> +</varlistentry> + +</variablelist> + +</sect2> + +<sect2 id="configure-spelling"> +<title><guilabel>Spelling</guilabel></title> + +<para>This tab defines the spellchecker behavior.</para> + +<screenshot> +<screeninfo>Spelling</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure3.png" format="PNG"/> +</imageobject> +<textobject><phrase>Spelling</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Default language:</guilabel></term> +<listitem><para>You can choose here the language for the spellchecker. The languages listed come from aspell so if you want more spelling support languages, you should install the corresponding aspell-ISO packages.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Enable background spellchecking</guilabel> </term> +<listitem><para>If it is checked, it will highlight in red mispelled words according to the dictionary selected above and it will spellcheck words as you type them. This is enabled by default. This option has the same effect as <menuchoice><guimenu>Text</guimenu><guimenuitem>Spellcheck</guimenuitem><guimenuitem>Autospellcheck</guimenuitem></menuchoice> and both are checked/unchecked at the same time.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Skip all uppercase words</guilabel></term> +<listitem><para>If this option is checked, the all uppercase words will not be checked for spelling. This option is also used when you choose the <menuchoice><guimenu>Text</guimenu><guisubmenu>Spellcheck</guisubmenu><guimenuitem>Spelling...</guimenuitem></menuchoice> menu option.</para> +<tip><para>This is useful if the document you are working on uses a large number of acronyms. If this box is left unchecked, most of those acronyms will be incorrectly marked. By placing a mark in this checkbox, &kpresenter; will not mark the acronyms as misspelled.</para></tip> +</listitem></varlistentry> + +<varlistentry> +<term><guilabel>Skip run-together words</guilabel></term> +<listitem><para>If checked, then concatenated words made of existing words are not spellchecked. This is useful in some languages. This option is also used when you choose the <menuchoice><guimenu>Text</guimenu><guisubmenu>Spellcheck</guisubmenu><guimenuitem>Spelling...</guimenuitem></menuchoice> menu option.</para> +<para>Examples of such words are <emphasis>shutout</emphasis>, +<emphasis>cannot</emphasis> and <emphasis>blackout</emphasis>.</para> +<tip> +<para>Checking this box will help prevent &kpresenter; from +flagging website and email addresses for spelling errors. These +addresses often contain words run together.</para> +</tip> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Ignore These Words</guilabel></term> +<listitem><para>You can have here a list of words you want to ignore in all spellchecking.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Add</guilabel></term> +<listitem><para>Write a word in the field then click on the <guilabel>Add</guilabel> button to add it in the list. Once the word is added in the list, even if you click the <guibutton>Cancel</guibutton> button of the configuration dialog, it will stay in the list.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Remove</guilabel></term> +<listitem><para>Highlight a word in the list then click on this button to remove it.</para></listitem> +</varlistentry> + +</variablelist> +</sect2> + +<sect2 id="configure-misc"> +<title><guilabel>Misc</guilabel></title> + +<screenshot> +<screeninfo>Misc</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure4.png" format="PNG"/> +</imageobject> +<textobject><phrase>Misc</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<title><guilabel>Misc</guilabel></title> +<varlistentry> +<term><guilabel>Undo/Redo limit:</guilabel></term> +<listitem><para>Set the number of actions you can undo and redo (how many actions &kpresenter; keeps in its Undo buffer). Default is 30. Maximum is 60 and minimum is 10. Any action that exceeds the number set will be forgotten.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Display links</guilabel></term> +<listitem><para>When you want to include a link in your slide, you will use the <menuchoice><guimenu>Insert</guimenu><guimenuitem>Link...</guimenuitem></menuchoice> menu which allows you to insert URL, mail or file links. If the option <guilabel>Display links</guilabel> is checked, all links will be displayed in a different color. This makes document links visible. This is the default behavior. If the option is unchecked, the link will be the same color as the text color. The links are visible (or not) both in the edited slides and in the slide show. A displayed link: <inlinemediaobject><imageobject> +<imagedata fileref="configure4a.png" format="PNG"/></imageobject></inlinemediaobject> A non displayed link: <inlinemediaobject><imageobject> +<imagedata fileref="configure4a1.png" format="PNG"/></imageobject></inlinemediaobject></para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Underline all links</guilabel></term> +<listitem><para>If this is checked, all links will be underlined. The option is checked per default. If it is not checked, the link will not be underlined. A displayed and underlined link: <inlinemediaobject><imageobject> +<imagedata fileref="configure4b.png" format="PNG"/></imageobject></inlinemediaobject></para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Display comments</guilabel></term> +<listitem><para>Comments are inserted in the text at the cursor using the <menuchoice><guimenu>Insert</guimenu><guimenuitem>Comment...</guimenuitem></menuchoice> menu. Comments can only be viewed in editing mode and not in the slide show. If this option is checked (default) then each comment will be shown as a small yellow rectangle. You can then right click on it to edit it, remove it or copy its text. A displayed comment: <inlinemediaobject><imageobject> +<imagedata fileref="configure4c.png" format="PNG"/> +</imageobject></inlinemediaobject></para></listitem> +</varlistentry> + + +<varlistentry> +<term><guilabel>Display field code</guilabel></term> +<listitem><para>In editor mode (not in slide show) this option will display all the variable codes. This is very useful to see what variable is displayed. Variables are inserted using the <menuchoice><guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu></menuchoice> menu.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Print slide notes</guilabel></term> +<listitem><para>If checked, all notes will be printed on paper. The notes will all be printed on a separate last page, from slide one to the last slide and finishing with the Master Page Note. You can see the notes for each slide using the <menuchoice><guimenu>View</guimenu><guimenuitem>Show Notebar</guimenuitem></menuchoice> menu.</para></listitem> +</varlistentry> +</variablelist> + +<variablelist> +<title><guilabel>Grid</guilabel></title> +<varlistentry> +<term><guilabel>Horizontal grid size:</guilabel></term> +<listitem><para>Set the space in centimeters between two points on an horizontal line on the grid. Default is 0.5 centimeter.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Vertical grid size:</guilabel></term> +<listitem><para>Set the space in centimeters between two points on a vertical line on the grid. Default is 0.5 centimeter.</para></listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="configure-document"> +<title><guilabel>Document</guilabel></title> + +<screenshot> +<screeninfo>Document</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure5.png" format="PNG"/> +</imageobject> +<textobject><phrase>Document</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<title><guilabel>Document Defaults</guilabel></title> +<varlistentry> +<term><guilabel>Default font:</guilabel></term> +<listitem><para>Click on the <guibutton>Choose...</guibutton> button, and a new dialog will appear. Use this dialog to choose the default font. This setting determines the default font used by &kpresenter; until further formatting is done. You can revert any text to this default by selecting <menuchoice><guimenu>Text</guimenu><guimenuitem>Default Format</guimenuitem></menuchoice> from the menubar.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Global language:</guilabel></term> +<listitem><para>Use this drop down box to determine the default language for the document. This setting is used by the hyphenation and spelling tools.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Automatic hyphenation</guilabel></term> +<listitem><para>Check this box if you want &kpresenter; to automatically hyphenate long words when it determines the word wrap in text frames. This is not set as default.</para></listitem> +</varlistentry> + +</variablelist> + +<variablelist> +<title><guilabel>Document Settings</guilabel></title> +<varlistentry> +<term><guilabel>Create backup file</guilabel></term> +<listitem><para>If checked, this will create a <filename>.<name>.odp.autosave.odp</filename> in the dir where your file is. This backup file can then be used in case of a problem. The backup file is updated everytime you save your document or everytime there is an autosave.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Autosave (min):</guilabel></term> +<listitem><para>You can use this to adjust how often &kpresenter; saves a temporary file. If you set this value to <guilabel>No autosave</guilabel>, &kpresenter; will not autosave. You can adjust the autosave from 1 minute to 60 minutes.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Starting page number:</guilabel></term> +<listitem><para>You can change here the number for the first page. It is set to 1 per default. </para> +<tip><para>This is helpful if you have split a single document into multiple files.</para></tip></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Tab stop:</guilabel></term> +<listitem><para>Each &kpresenter; document has a default set of tab stops. If you add tab stops to your document, the newly added tab stops override the default tabstops. You can use this text box to define the spacing between default tab stops. +As an example, if you enter 1.5 in this text box, and the unit of measure is in centimeters, then the first default tab stop will be located 1.5 cm to the right of the left margin of the frame. The second default tab stop will be located at 3 cm from the left margin, etc.</para></listitem> +</varlistentry> +</variablelist> + +<variablelist> +<title><guilabel>Cursor</guilabel></title> +<varlistentry> +<term><guilabel>Cursor in protected area</guilabel></term> +<listitem><para>When this box is checked and you click in a protected frame of your document, a cursor appears. When the mark is removed from this check box, and you click in a protected frame, there is no cursor visible.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Direct insert cursor</guilabel></term> +<!-- FIXME: Is this the same as the type anywhere cursor? if so, why +two names? --> +<listitem><para>When this box is checked then you can select a section of text using your mouse. Move the mouse to a new place in your document and click once with the middle mouse button and a copy of the selected text is copied and pasted to the new location in the document.</para> +<para>When there is no mark in this checkbox, in order to copy text from one section to another, you must select the text, manually copy the text in to the clipboard, then manually paste the text in the new location. +</para></listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="configure-tools"> +<title><guilabel>Tools</guilabel></title> + +<para>This dialog sets the default tools settings. There are 5 tabs in this dialog.</para> + +<sect3 id="outline"> +<title><guilabel>Outline</guilabel></title> + +<screenshot> +<screeninfo>The <guilabel>Outline</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure6.png" format="PNG"/> +</imageobject> +<textobject><phrase>The <guilabel>Outline</guilabel> tab</phrase></textobject> +</mediaobject> +</screenshot> + +<para>This is used in the <menuchoice><guimenu>Insert</guimenu><guisubmenu>Line</guisubmenu></menuchoice> menu.</para> + +<variablelist> +<varlistentry> +<term><guilabel>Color:</guilabel></term> +<listitem><para>Set the color of the line. Clicking on the color will bring the standard KDE <guilabel>Select Color</guilabel> dialog.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Style:</guilabel></term> +<listitem><para>Choose the line style from <guilabel>No Outline</guilabel> which will not draw any line to dotted lines and plain line.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Width:</guilabel></term> +<listitem><para>Set the width of the line.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Arrow Style</guilabel></term> +<listitem><para>Set the styles of the beginning and the end of your line for example you can choose an arrow at the end and a square dot at the beginning.</para></listitem> +</varlistentry> +</variablelist> +<para>The last field displays a preview of your settings.</para> +</sect3> + +<sect3 id="fill"> +<title><guilabel>Fill</guilabel></title> + +<screenshot> +<screeninfo>The <guilabel>Fill</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure6b.png" format="PNG"/> +</imageobject> +<textobject><phrase>The <guilabel>Fill</guilabel> tab</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Type:</guilabel></term> +<listitem><para>You can choose between <guilabel>Single Color</guilabel>, <guilabel>Gradient</guilabel> or <guilabel>Transparent</guilabel> as the type.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Style:</guilabel></term> +<listitem><para>Choose the style or the pattern.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Color:</guilabel></term> +<listitem><para>Choose the color. White is the default one. Clicking on the color will bring you the standard KDE <guilabel>Select Color</guilabel> dialog.</para></listitem> +</varlistentry> +</variablelist> +<para>The last field displays a preview of your settings, provided the color is not white!</para> +</sect3> + +<sect3 id="rectangle"> +<title><guilabel>Rectangle</guilabel></title> + +<para>This is used in the <menuchoice><guimenu>Insert</guimenu><guisubmenu>Shape</guisubmenu><guimenuitem>Rectangle</guimenuitem></menuchoice> menu.</para> + +<screenshot> +<screeninfo>The <guilabel>Rectangle</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure6c.png" format="PNG"/> +</imageobject> +<textobject><phrase>The <guilabel>Rectangle</guilabel> tab</phrase></textobject> +</mediaobject> +</screenshot> + +<para>You can choose to keep the same ratio for the two settings below by having the <inlinemediaobject><imageobject> +<imagedata fileref="link.png" format="PNG"/></imageobject></inlinemediaobject> icon or to separate the two settings by using the <inlinemediaobject><imageobject> +<imagedata fileref="break.png" format="PNG"/></imageobject></inlinemediaobject> icon.</para> +<variablelist> +<varlistentry> +<term><guilabel>Vertical declination:</guilabel></term> +<listitem><para>Set the vertical declination.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Horizontal declination:</guilabel></term> +<listitem><para>Set the horizontal declination.</para></listitem> +</varlistentry> +</variablelist> +<para>The last field displays a preview of your settings.</para> +</sect3> + +<sect3 id="polygon"> +<title><guilabel>Polygon</guilabel></title> + +<para>This is used in the <menuchoice><guimenu>Insert</guimenu><guisubmenu>Shape</guisubmenu><guimenuitem>Convex/Concave Polygon</guimenuitem></menuchoice> menu.</para> + +<screenshot> +<screeninfo>The <guilabel>Polygon</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure6d.png" format="PNG"/> +</imageobject> +<textobject><phrase>The <guilabel>Polygon</guilabel> tab</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Type:</guilabel></term> +<listitem><para>You can choose <guilabel>Polygon</guilabel> or <guilabel>Convex/Concave</guilabel>.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Corners:</guilabel></term> +<listitem><para>Set here the number of corners of the polygon.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Sharpness:</guilabel></term> +<listitem><para>Increase or decrease the sharpness of the polygon.</para></listitem> +</varlistentry> +</variablelist> +<para>The last field displays a preview of your settings.</para> +</sect3> + +<sect3 id="pie"> +<title><guilabel>Pie</guilabel></title> + +<para>This is used in the <menuchoice><guimenu>Insert</guimenu><guisubmenu>Shape</guisubmenu><guimenuitem>Pie/Arc/Chord</guimenuitem></menuchoice> menu.</para> + +<screenshot> +<screeninfo>The <guilabel>Pie</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure6e.png" format="PNG"/> +</imageobject> +<textobject><phrase>The <guilabel>Pie</guilabel> tab</phrase></textobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Type:</guilabel></term> +<listitem><para>You can choose among three options in the dropdown box: <guilabel>Pie</guilabel>, <guilabel>Arc</guilabel> or <guilabel>Chord</guilabel>.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Start position:</guilabel></term> +<listitem><para>Set here the start position.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Length:</guilabel></term> +<listitem><para>Set the length of your pie.</para></listitem> +</varlistentry> +</variablelist> +<para>The last field displays a preview of your settings.</para> +</sect3> + +</sect2> + +<sect2 id="configure-paths"> +<title><guilabel>Paths</guilabel></title> + +<screenshot> +<screeninfo>Paths</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="configure7.png" format="PNG"/> +</imageobject> +<textobject><phrase>Paths</phrase></textobject> +</mediaobject> +</screenshot> +<para>There are two paths that are set here, the <guilabel>Backup Path</guilabel> and the <guilabel>Picture Path</guilabel>. The <guilabel>Backup Path</guilabel> is the directory where your backup files are saved and the <guilabel>Picture Path</guilabel> is the directory where your pictures are saved. Highlight a path in order to modify it and click on <guilabel>Modify Path...</guilabel>. A small dialog appears and if you uncheck <guilabel>Default path</guilabel>, you will be able either to enter a path yourself or to choose one with the standard KDE file dialog.</para> + +</sect2> + +<sect2 id="opt-tts"><title>TTS</title> + +<para>See the <link linkend="a11y-tts">Text-to-Speech</link> section +in the accessibility chapter for further details.</para> +</sect2> + + +</sect1> + +</chapter> diff --git a/doc/kpresenter/properties.png b/doc/kpresenter/properties.png Binary files differnew file mode 100644 index 00000000..a1b38c30 --- /dev/null +++ b/doc/kpresenter/properties.png diff --git a/doc/kpresenter/screen.docbook b/doc/kpresenter/screen.docbook new file mode 100644 index 00000000..f35d1116 --- /dev/null +++ b/doc/kpresenter/screen.docbook @@ -0,0 +1,44 @@ +<chapter id="screen-description"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Neil</firstname> +<surname>Lucock</surname> +<affiliation> +<address><email>neil@nlucock.freeserve.co.uk</email></address> +</affiliation> +</author> +<author> +<firstname>Krishna</firstname> +<surname>Tateneni</surname> +<affiliation> +<address><email>tateneni@pluto.njcc.com</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>The &kpresenter; Screen</title> + +<para>Here is the default &kpresenter; Screen Layout.</para> + +<para>At the top there is the menubar. All &kpresenter; functions are +available from the menus, which are described in detail in <xref +linkend="menu-items" />.</para> + +<para>Below the menubar are the toolbars. There are several +toolbars. You may hide and show toolbars as you prefer. The toolbars +are described in detail in <xref linkend="toolbars" />. +</para> + +<para>The <guilabel>Outline</guilabel> and +<guilabel>Preview</guilabel> panes give an overview of your entire +presentation. The <guilabel>Preview</guilabel> pane provides +thumbnails of each slide, and allows you to drag and drop to change +the order. The <guilabel>Outline</guilabel> pane provides a +hierarchal tree of each slide, and also the objects inside the slides. +As well as overview, this allows you to easily select objects which +may be covered by others, or are otherwise difficult to grab directly on +the slide.</para> + +</chapter> diff --git a/doc/kpresenter/settings01.png b/doc/kpresenter/settings01.png Binary files differnew file mode 100644 index 00000000..db91f31c --- /dev/null +++ b/doc/kpresenter/settings01.png diff --git a/doc/kpresenter/settings03.png b/doc/kpresenter/settings03.png Binary files differnew file mode 100644 index 00000000..85d370e6 --- /dev/null +++ b/doc/kpresenter/settings03.png diff --git a/doc/kpresenter/settings04.png b/doc/kpresenter/settings04.png Binary files differnew file mode 100644 index 00000000..6f2883bd --- /dev/null +++ b/doc/kpresenter/settings04.png diff --git a/doc/kpresenter/template02.png b/doc/kpresenter/template02.png Binary files differnew file mode 100644 index 00000000..8d1ef976 --- /dev/null +++ b/doc/kpresenter/template02.png diff --git a/doc/kpresenter/template03.png b/doc/kpresenter/template03.png Binary files differnew file mode 100644 index 00000000..53efdad5 --- /dev/null +++ b/doc/kpresenter/template03.png diff --git a/doc/kpresenter/template04.png b/doc/kpresenter/template04.png Binary files differnew file mode 100644 index 00000000..f0e69a16 --- /dev/null +++ b/doc/kpresenter/template04.png diff --git a/doc/kpresenter/template05.png b/doc/kpresenter/template05.png Binary files differnew file mode 100644 index 00000000..4faa5eb2 --- /dev/null +++ b/doc/kpresenter/template05.png diff --git a/doc/kpresenter/template06.png b/doc/kpresenter/template06.png Binary files differnew file mode 100644 index 00000000..e92f9f73 --- /dev/null +++ b/doc/kpresenter/template06.png diff --git a/doc/kpresenter/template07.png b/doc/kpresenter/template07.png Binary files differnew file mode 100644 index 00000000..4e8b694f --- /dev/null +++ b/doc/kpresenter/template07.png diff --git a/doc/kpresenter/textmenu1.png b/doc/kpresenter/textmenu1.png Binary files differnew file mode 100644 index 00000000..0ed57be7 --- /dev/null +++ b/doc/kpresenter/textmenu1.png diff --git a/doc/kpresenter/textmenu2.png b/doc/kpresenter/textmenu2.png Binary files differnew file mode 100644 index 00000000..7ce121e6 --- /dev/null +++ b/doc/kpresenter/textmenu2.png diff --git a/doc/kpresenter/toolsmenu01.png b/doc/kpresenter/toolsmenu01.png Binary files differnew file mode 100644 index 00000000..f1ad7692 --- /dev/null +++ b/doc/kpresenter/toolsmenu01.png diff --git a/doc/kpresenter/tts.png b/doc/kpresenter/tts.png Binary files differnew file mode 100644 index 00000000..916f04ca --- /dev/null +++ b/doc/kpresenter/tts.png diff --git a/doc/kpresenter/tut01.png b/doc/kpresenter/tut01.png Binary files differnew file mode 100644 index 00000000..fc61e1db --- /dev/null +++ b/doc/kpresenter/tut01.png diff --git a/doc/kpresenter/tut02.png b/doc/kpresenter/tut02.png Binary files differnew file mode 100644 index 00000000..edc1f1c1 --- /dev/null +++ b/doc/kpresenter/tut02.png diff --git a/doc/kpresenter/tut03.png b/doc/kpresenter/tut03.png Binary files differnew file mode 100644 index 00000000..6f7f419c --- /dev/null +++ b/doc/kpresenter/tut03.png diff --git a/doc/kpresenter/tut04.png b/doc/kpresenter/tut04.png Binary files differnew file mode 100644 index 00000000..e609be60 --- /dev/null +++ b/doc/kpresenter/tut04.png diff --git a/doc/kpresenter/tut05.png b/doc/kpresenter/tut05.png Binary files differnew file mode 100644 index 00000000..962fcf1f --- /dev/null +++ b/doc/kpresenter/tut05.png diff --git a/doc/kpresenter/tut06.png b/doc/kpresenter/tut06.png Binary files differnew file mode 100644 index 00000000..2fd81c15 --- /dev/null +++ b/doc/kpresenter/tut06.png diff --git a/doc/kpresenter/tut07.png b/doc/kpresenter/tut07.png Binary files differnew file mode 100644 index 00000000..0320f122 --- /dev/null +++ b/doc/kpresenter/tut07.png diff --git a/doc/kpresenter/tut08.png b/doc/kpresenter/tut08.png Binary files differnew file mode 100644 index 00000000..4e479869 --- /dev/null +++ b/doc/kpresenter/tut08.png diff --git a/doc/kpresenter/tut09.png b/doc/kpresenter/tut09.png Binary files differnew file mode 100644 index 00000000..f46e7edf --- /dev/null +++ b/doc/kpresenter/tut09.png diff --git a/doc/kpresenter/tut10.png b/doc/kpresenter/tut10.png Binary files differnew file mode 100644 index 00000000..345db52a --- /dev/null +++ b/doc/kpresenter/tut10.png diff --git a/doc/kpresenter/tut11.png b/doc/kpresenter/tut11.png Binary files differnew file mode 100644 index 00000000..bc7df396 --- /dev/null +++ b/doc/kpresenter/tut11.png diff --git a/doc/kpresenter/tut12.png b/doc/kpresenter/tut12.png Binary files differnew file mode 100644 index 00000000..440e49d5 --- /dev/null +++ b/doc/kpresenter/tut12.png diff --git a/doc/kpresenter/tut13.png b/doc/kpresenter/tut13.png Binary files differnew file mode 100644 index 00000000..991f7493 --- /dev/null +++ b/doc/kpresenter/tut13.png diff --git a/doc/kpresenter/tut14.png b/doc/kpresenter/tut14.png Binary files differnew file mode 100644 index 00000000..54ee8257 --- /dev/null +++ b/doc/kpresenter/tut14.png diff --git a/doc/kpresenter/tut15.png b/doc/kpresenter/tut15.png Binary files differnew file mode 100644 index 00000000..1954661f --- /dev/null +++ b/doc/kpresenter/tut15.png diff --git a/doc/kpresenter/tut16.png b/doc/kpresenter/tut16.png Binary files differnew file mode 100644 index 00000000..1f289c11 --- /dev/null +++ b/doc/kpresenter/tut16.png diff --git a/doc/kpresenter/tut17.png b/doc/kpresenter/tut17.png Binary files differnew file mode 100644 index 00000000..c36b2af8 --- /dev/null +++ b/doc/kpresenter/tut17.png diff --git a/doc/kpresenter/tut18.png b/doc/kpresenter/tut18.png Binary files differnew file mode 100644 index 00000000..87a7fda6 --- /dev/null +++ b/doc/kpresenter/tut18.png diff --git a/doc/kpresenter/tut19.png b/doc/kpresenter/tut19.png Binary files differnew file mode 100644 index 00000000..4d469987 --- /dev/null +++ b/doc/kpresenter/tut19.png diff --git a/doc/kpresenter/tut20.png b/doc/kpresenter/tut20.png Binary files differnew file mode 100644 index 00000000..0a9c8c01 --- /dev/null +++ b/doc/kpresenter/tut20.png diff --git a/doc/kpresenter/tut21.png b/doc/kpresenter/tut21.png Binary files differnew file mode 100644 index 00000000..c1d736f2 --- /dev/null +++ b/doc/kpresenter/tut21.png diff --git a/doc/kpresenter/tut22.png b/doc/kpresenter/tut22.png Binary files differnew file mode 100644 index 00000000..b96c2f57 --- /dev/null +++ b/doc/kpresenter/tut22.png diff --git a/doc/kpresenter/tut23.png b/doc/kpresenter/tut23.png Binary files differnew file mode 100644 index 00000000..9da71f83 --- /dev/null +++ b/doc/kpresenter/tut23.png diff --git a/doc/kpresenter/tut24.png b/doc/kpresenter/tut24.png Binary files differnew file mode 100644 index 00000000..d7d20eab --- /dev/null +++ b/doc/kpresenter/tut24.png diff --git a/doc/kpresenter/tut25.png b/doc/kpresenter/tut25.png Binary files differnew file mode 100644 index 00000000..4454bcfe --- /dev/null +++ b/doc/kpresenter/tut25.png diff --git a/doc/kpresenter/tut26.png b/doc/kpresenter/tut26.png Binary files differnew file mode 100644 index 00000000..302216b5 --- /dev/null +++ b/doc/kpresenter/tut26.png diff --git a/doc/kpresenter/tutorial.docbook b/doc/kpresenter/tutorial.docbook new file mode 100644 index 00000000..a0aa1be2 --- /dev/null +++ b/doc/kpresenter/tutorial.docbook @@ -0,0 +1,510 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"> + +To edit or validate this document separately, uncomment this prolog +Be sure to comment it out again when you are done --> + +<chapter id="tutorial"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Neil</firstname> +<surname>Lucock</surname> +<affiliation> +<address><email>neil@nlucock.freeserve.co.uk</email></address> +</affiliation> +</author> +<author> +<firstname>Krishna</firstname> +<surname>Tateneni</surname> +<affiliation> +<address><email>tateneni@pluto.njcc.com</email></address> +</affiliation> +</author> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annemarie.mahfouf@free.fr</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>A Step-By-Step Tutorial</title> + +<para> +In this chapter, &kpresenter; is introduced using a simple tutorial. We +shall walk through the most basic steps that are involved in creating a +presentation, and adding some basic effects. +</para> + +<sect1 id="start-new"> +<title>Start a new document</title> + +<para> +When you start &kpresenter;, the usual &koffice; startup dialog appears. +</para> + +<screenshot> +<screeninfo>The <guilabel>&koffice;</guilabel> +startup dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tut01.png" format="PNG"/></imageobject> +<textobject><phrase>The &koffice; startup dialog</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Select <guilabel>Screen</guilabel> on the left then select the template labeled +<guilabel>Title</guilabel> (highlighted in blue in the screenshot above) by +clicking on it. You can check <guilabel>Always use this template</guilabel> to +make it the default template. +</para> + +<para> +Now click <guibutton>Use This Template</guibutton>. This brings up the slide +editor window, where you can view and edit the slides (and objects contained in +them) in your document. At the moment, we just have one slide, with one +object on it, which is a text box. +</para> + +<screenshot> +<screeninfo>The slide editor</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut02.png" format="PNG"/></imageobject> +<textobject><phrase>The slide editor</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Double-click the text box. The cursor changes to a vertical bar to show +that you can now type some text and the background of the edited area +becomes grey. +</para> + +<screenshot> +<screeninfo>The text insertion cursor</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut03.png" format="PNG"/> +</imageobject> +<textobject><phrase>The text insertion cursor</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Go ahead, type some text! +</para> + +<screenshot> +<screeninfo>Adding text</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tut04.png" format="PNG"/></imageobject> +<textobject><phrase>Adding text</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Click away from the text to de-select the text box when you are done +typing. +</para> + +</sect1> + +<sect1 id="insert-page"> +<title>Add a new page</title> + +<para> +Let's now add a new slide to our document. To do so, click the +<guimenu>Insert</guimenu> menu, and then click on +<guimenuitem>Slide...</guimenuitem>. +</para> + +<screenshot> +<screeninfo>Inserting a slide from the menu</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tut05.png" format="PNG"/></imageobject> +<textobject><phrase>Inserting a slide from the menu</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +This brings up the <guilabel>Insert Slide</guilabel> dialog. +</para> + +<screenshot> +<screeninfo>The <guilabel>Insert Slide</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tut06.png" format="PNG"/></imageobject> +<textobject><phrase>The <guilabel>Insert Slide</guilabel> +dialog</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Select <guilabel>Use different template</guilabel> and click <guibutton>OK</guibutton> to add a +new page after page 1. +</para> + +<para> +The <guilabel>Create Document</guilabel> dialog comes up so that we can decide +what the new slide should look like. This time, select <guilabel>Screen</guilabel> on the left and double click on the +<guilabel>One Column</guilabel> template (highlighted in blue.) +</para> + +<screenshot> +<screeninfo>Choosing a template for the new page</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut07.png" format="PNG"/></imageobject> +<textobject><phrase>Choosing a template for the new +page</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +The new slide now appears in the editing window. To change between pages +of your presentation, you can select slides in the pane to the left +(highlighted in blue for this screenshot). +</para> + +<screenshot> +<screeninfo>The slides list</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut08.png" format="PNG"/></imageobject> +<textobject><phrase>The slides list</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +The newly inserted slide has two text boxes. There is one for a title, +and another to contain a bulleted list of items. +</para> + +<screenshot> +<screeninfo>The new slide</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut09.png" format="PNG"/></imageobject> +<textobject><phrase>The new slide</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Double-click and type a title. Then double-click on the second text +box with the bullet. Type some text and end the paragraph by pressing the +<keycap>Enter</keycap> or <keycap>Return</keycap> key. As you type new +paragraphs, bullets automatically appear in front of them. +</para> + +<screenshot> +<screeninfo>Adding text to the second slide</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut10.png" format="PNG"/></imageobject> +<textobject><phrase>Adding text to the second slide</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +You can de-select the text box by clicking away from it. +</para> + +</sect1> + +<sect1 id="insert-pic"> +<title>Insert a picture</title> + +<para> +Let's go back to the first slide now. Use the list of slides on the left +of your screen. +</para> + +<para> +In this section, we'll liven our presentation up a bit by adding a nice +logo to the title page. To do so, the first step is to click on the +<guimenu>Insert</guimenu> menu item, and then on +<guimenuitem>Picture...</guimenuitem>. +</para> + +<screenshot> +<screeninfo>Using the menu to add an image</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut11.png" format="PNG"/></imageobject> +<textobject><phrase>Using the menu to add an image</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +This brings up a file selection dialog. To learn about this or other +standard &kde; dialog boxes in detail, please consult the &kde; +documentation. You can browse by clicking on <guiicon>folder</guiicon> +icons or by using the <guiicon>browser</guiicon> style buttons on the +toolbar (highlighted in red.) Clicking the <guiicon>up arrow</guiicon> +takes you up one folder level. +</para> + +<para> +Find the file named <filename>koffice-logo.png</filename>, which may be +in a different folder than the one shown in the screenshot below. You +can also choose any other graphic file if you like! Select the file, and +click <guibutton>OK</guibutton>. +</para> + +<screenshot> +<screeninfo>Choosing a picture to add</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut12.png" format="PNG"/></imageobject> +<textobject><phrase>Choosing a picture to add</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Click with the &LMB; where you want to place the loge in it's original size or +draw a rectangle with the left mouse cursor to specify the position and size for the logo. +There are selection handles (little squares) visible around the border of the graphic. +</para> + +<screenshot> +<screeninfo>The newly added image</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut13.png" format="PNG"/></imageobject> +<textobject><phrase>The newly added image</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Place the mouse cursor anywhere in the middle of the logo, and drag it +to the middle of the title page. Then use the selection handles to resize +it correctly. +</para> + +<screenshot> +<screeninfo>Dragging and resizing the image</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut14.png" format="PNG"/></imageobject> +<textobject><phrase>Dragging and resizing the image</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +That's it. Now you have a picture on the title page! +</para> + +</sect1> + +<sect1 id="insert-object"> +<title>Insert a &koffice; object</title> +<para>Let's insert another &koffice; object under the picture, for example +a chart.</para> + +<para> +Every &koffice; supported document can be embedded in a &kpresenter; slide. +Let's choose a chart from &kchart;. To do so, the first step is to click on the +<guimenu>Insert</guimenu> menu item, and then +on <guisubmenu>Object</guisubmenu>. +</para> + +<screenshot> +<screeninfo>The Insert Object menu</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut24.png" format="PNG"/></imageobject> +<textobject><phrase>The Insert Object menu</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +A list of the &koffice; available components appears as submenu. +Select <guilabel>Chart</guilabel> and then outline with your mouse the area you +want to put your chart in on the &kpresenter; slide. +</para> + +<screenshot> +<screeninfo>Select the area where to put the chart</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut25.png" format="PNG"/></imageobject> +<textobject><phrase>Select the area where to put the chart</phrase></textobject> +</mediaobject> +</screenshot> + +<!--TODO check if the Open Document dialog should appear when the chart is +created and not a blank chart--> + +<para> +Once you release the mouse button, a blank chart is added on the slide. Whenever +you work in the chart, the toolbars and menubar in &kpresenter; main window are +replaced by those from &kchart;. +</para> + +<screenshot> +<screeninfo>&kchart; menus and toolbars embedded</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut26.png" format="PNG"/></imageobject> +<textobject><phrase>&kchart; menus and toolbars embedded</phrase></textobject> +</mediaobject> +</screenshot> + +<para>While you are in the chart, clicking with the &RMB; will bring the +&kchart; settings menu which allows you to modify the parameters of the chart. +Please see the &kchart; user manual to get more information on how to use +&kchart;.</para> + +<para>Click anywhere with the &LMB; outside the chart to go back to +&kpresenter; slide.</para> + +<para>A single click on the chart will allow you to drag it to change its +location and also to drag the borders to make it bigger as with any other +&kpresenter; object. Double click on the chart to get into &kchart; mode and +modify any of the chart property.</para> + +</sect1> + +<sect1 id="addshadow"> +<title>Add a shadow to the title text</title> + +<para> +Let's continue enhancing our title page by adding a shadow +behind the title. <mousebutton>Right</mousebutton> click anywhere on the +title text. This achieves two things: the text box containing the title +is selected, and a menu pops up. +</para> + +<para> +Select the <guimenuitem>Shadow Objects...</guimenuitem> option in the popup menu. +</para> + +<screenshot> +<screeninfo>The context menu</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut15.png" format="PNG"/></imageobject> +<textobject><phrase>The context menu</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +The <guilabel>Shadow</guilabel> dialog pops up. The distance between the +shadow and the text is currently 0 so the shadow cannot be seen (this +part of the dialog box is highlighted in red.) +</para> + +<screenshot> +<screeninfo>The <guilabel>Shadow</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut16.png" format="PNG"/></imageobject> +<textobject><phrase>The <guilabel>Shadow</guilabel> +dialog</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Increase the distance value to 3. The effect of changing the distance +can be seen in the preview window. Now click <guibutton>OK</guibutton>. +</para> + +<screenshot> +<screeninfo>Adding a shadow to the title</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut17.png" format="PNG"/></imageobject> +<textobject><phrase>Adding a shadow to the title</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Now the title has a shadow! +</para> + +<screenshot> +<screeninfo>The new shadowed title</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut18.png" format="PNG"/></imageobject> +<textobject><phrase>The new shadowed title</phrase></textobject> +</mediaobject> +</screenshot> + +</sect1> + +<sect1 id="textcolor"> +<title>Change the color of the title text</title> + +<para> +Let's finish by changing the color of the title text from black to +blue. To do so, select the title text by double-clicking the text box and select the text. +</para> + +<para> +Open the <guilabel>Select Color</guilabel> dialog by clicking on the <guiicon>dark blue A</guiicon> +icon on the right side of the <guilabel>Text</guilabel> toolbar (this icon has +a Color... tooltip) or choose the <guimenu>Text</guimenu> menu and then click on +<guimenuitem>Color...</guimenuitem> and change the color to blue.</para> + +<screenshot> +<screeninfo>The color palette</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut19.png" format="PNG"/></imageobject> +<textobject><phrase>The color palette</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Click <guilabel>OK</guilabel> in the <guilabel>Select Color</guilabel> dialog. Changing the color of +the selected text to blue changes its appearance. The exact color that +highlighted text turns depends on your system color scheme. +</para> + +<screenshot> +<screeninfo>Highlighted text</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut20.png" format="PNG"/></imageobject> +<textobject><phrase>Highlighted text</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Now click away from the text to de-select it. +</para> + +<screenshot> +<screeninfo>The finished title</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut21.png" format="PNG"/></imageobject> +<textobject><phrase>The finished title</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +Now that there are two slides, why not try a slide show! To start the +slide show, press the <guiicon>play</guiicon> button (the blue double arrow) on +the <guilabel>Slide Show</guilabel> toolbar. The first slide should appear on your screen. +</para> + +<screenshot> +<screeninfo>The first slide</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut22.png" format="PNG"/></imageobject> +<textobject><phrase>The first slide</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +To advance from the first slide to the next, just click anywhere on the +screen, or use the <keycap>Page Down</keycap> key. +</para> + +<screenshot> +<screeninfo>The second slide</screeninfo> +<mediaobject> +<imageobject><imagedata fileref="tut23.png" format="PNG"/></imageobject> +<textobject><phrase>The second slide</phrase></textobject> +</mediaobject> +</screenshot> + +<para> +To exit the slide show, <mousebutton>right</mousebutton> click, and then +select the <guimenuitem>End</guimenuitem> option from the +popup menu. +</para> + +</sect1> + +</chapter> diff --git a/doc/kpresenter/zoomfactor.png b/doc/kpresenter/zoomfactor.png Binary files differnew file mode 100644 index 00000000..49973890 --- /dev/null +++ b/doc/kpresenter/zoomfactor.png diff --git a/doc/krita/Makefile.am b/doc/krita/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/krita/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/krita/README.SCREENSHOTS b/doc/krita/README.SCREENSHOTS new file mode 100644 index 00000000..bc1d55bd --- /dev/null +++ b/doc/krita/README.SCREENSHOTS @@ -0,0 +1,7 @@ +Note for translators: + +The file "mountains.png" is the original photo used for creating the screenshots +in the Dialogs section. + + +- ASK
\ No newline at end of file diff --git a/doc/krita/commands-dialogs.docbook b/doc/krita/commands-dialogs.docbook new file mode 100644 index 00000000..758a4924 --- /dev/null +++ b/doc/krita/commands-dialogs.docbook @@ -0,0 +1,1411 @@ +<sect1 id="commands-dialogs"> +<title>Dialogs</title> + +<para> +This section describes &krita;'s dialog windows. +</para> + +<sect2 id="commands-dialogs-image"> +<title>Dialogs for working with images</title> + +<sect3 id="commands-dialogs-images-colorrange"> +<title>The <guilabel>Color Range</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Color Range</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-colorrange.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Color Range</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Color Range</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +You can create a selection based on the color values of pixels here. In the +dropdown box, choose which color range you want to select. Pixels will be +selected according to their color value on this scale (⪚ a fully yellow +pixel would score maximally on the yellow scale and on the red and green scales). +If you check the <guilabel>Invert</guilabel> box, the selection becomes inverted: +pixels will become selected if they have a lower value in the specified range instead. +You can choose whether the current selection should be +added to or subtracted from the color range selection by clicking the +respective option: <guilabel>Add to current selection</guilabel> or +<guilabel>Subtract from current selection</guilabel>. Choose +<guibutton>Select</guibutton> to actually perform the selection or +<guibutton>Deselect</guibutton> to remove these pixels from the selection. +</para> + +</sect3> + +<sect3 id="commands-dialogs-image-convertimagetype"> +<title>The <guilabel>Convert Image Type</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Convert Image Type</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-convertimagetype.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Convert Image Type</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Convert Image Type</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog allows you to convert your image from one color space to another. +The <guilabel>Target color space</guilabel> and <guilabel>Destination ICM +profile</guilabel> are used to set to which colorspace and profile the image +will be converted. You can influence how this conversion is done with the +<guilabel>Rendering Intent</guilabel> option. +</para> +<para> +With <guilabel>Perceptual</guilabel> conversion, the source color space is +mapped linearly to the destination color space. If the destination color space +<quote>accepts</quote> a lesser color range than the source, shifts may occur +because the range is compressed. <guilabel>Relative colorimetric</guilabel> +conversion converts every color to the closest color in the destination color +space. This may mean that a certain color range is mapped to one color in the +destination color space. <guilabel>Saturation</guilabel> means that fully +saturated colors will remain fully saturated, even if this means that the +actual color is changed. With <guilabel>Absolute colorimetric</guilabel> +conversion, the same approach is used as with <guilabel>Relative +colorimetric</guilabel>, but the white point of the color space (the value +designating the color white) is not changed to match the new color space, +which may result in unwanted changes to near colors. +</para> + +</sect3> + +<sect3 id="commands-dialogs-image-imageproperties"> +<title>The <guilabel>Image Properties</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Image Properties</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-imageproperties.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Image Properties</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Image Properties</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +In this dialog you can change a couple of image properties. First of all, the +<guilabel>Name</guilabel> of the image. If you did not set a name earlier +(that can also be done when creating the image), it will have a default name +like <quote>Image1</quote>. Then, you can set its size (determined by the +<guilabel>Width</guilabel> and <guilabel>Height</guilabel> in pixels and +the <guilabel>Resolution</guilabel> in dots per inch) and the color profile to +be used (<guilabel>Profile</guilabel>). Finally, you can fill in the +<guilabel>Description</guilabel> field with any information you want to add to +the image. +</para> + +</sect3> + +<sect3 id="commands-dialogs-image-imagesize"> +<title>The <guilabel>Image Size</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Image Size</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-imagesize.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Image Size</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Image Size</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog lets you resize your image. In the top part, you can choose the +way the image is resized. If you choose <guilabel>Resize</guilabel>, the size +of the image is changed, but its layers (which contain the actual contents) +will not be modified. So, when you double the height and width of the image, +your original image will occupy the top-left quarter part of your new image. +On decreasing the size of your image, the image layers will stretch out over +the image borders, unless you choose <guilabel>Crop layers on image +resize</guilabel>, which will crop all layers to the new image size. +</para><para> +With <guilabel>Scale</guilabel>, the image layers will be resized with the +image. So increasing the image size will actually enlarge the contents, and +similar for decreasing. +</para><para> +Under <guilabel>Pixel dimensions</guilabel>, you can set which new size you +want the image to have. The original size is given as a reference. The new +size can be set both as pixels or as a percentage, with 100% being the +original size. If you select <guilabel>Constrain proportions</guilabel>, the +new width and height will always be set to the same percentage. For example, +if you have an image of 200 x 100 pixels, and set the width to 20 pixels, the +height will automatically be changed to 10. With this checkbox unselected, you +can also resize the image non-proportionally. +</para><para> +The <guilabel>Filter:</guilabel> dropdown box can be used to select a +different algorithm for determining the colors of the pixels in the newly +resized image that did not correspond to a pixel in the old image (the +calculated corresponding location in the old image was located in between +pixels). <guilabel>BSpline</guilabel> uses a 4 x 4 pixel grid and results into a quite high +blurring. <guilabel>Bell</guilabel> is quite fast while resulting in a reasonably smooth image. +<guilabel>Box</guilabel> is the fastest method, but yields the least appealing result. <guilabel>Hermite</guilabel> +keeps the image quite sharp, while smoothing it as well, and is reasonably +fast. <guilabel>Lanczos3</guilabel> results in sharp images, but is very slow. <guilabel>Mitchell</guilabel> (the +default) is not very fast, but often yields a good intermediate result. +<guilabel>Triangle/Bilinear</guilabel> uses the 2 x 2 pixel grid around the calculated location +resulting in relatively sharp lines. +</para> + +</sect3> + +<sect3 id="commands-dialogs-image-rotateimage"> +<title>The <guilabel>Rotate Image</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Rotate Image</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-rotateimage.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Rotate Image</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Rotate Image</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +With this dialog, you can rotate the image. The top part of the dialog shows +the result of the rotation in the form of a change in dimension (if any). +Under <guilabel>Direction</guilabel> you can choose between +rotating clockwise and counter-clockwise. Under <guilabel>Angle</guilabel>, +you can set the amount of rotation. 90, 180 and 270 degrees can be selected +using the respective option button, other amounts need to be specified with +the <guilabel>Custom</guilabel> spin box. +</para> + +</sect3> + +<sect3 id="commands-dialogs-image-separateimage"> +<title>The <guilabel>Separate Image</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Separate Image</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-separateimage.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Separate Image</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Separate Image</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +With this dialog, you can separate (part of) your image. Every color component +(channel) will be put into a separate layer or image. At the top of the +dialog, the current color model is shown. Below that, a couple of options can +be set. +</para> +<para> +Under <guilabel>Source</guilabel>, you can choose what part of the image to +separate. The two options are <guilabel>Current layer</guilabel>, which +(obviously) only uses the currently selected layer and <guilabel>Flatten all +layers before separation</guilabel>, which uses the entire image. +</para> +<para> +Under <guilabel>Output</guilabel>, you can choose where the result of the +separation should be written to: either to a couple of layers, or to a couple +of images. +</para> +<para> +Under <guilabel>Alpha Options</guilabel>, you can choose what should be done +with the alpha channel of the selected layer(s). It can be copied to each new +channel, be discarded, or separated on its own. +</para> +<para> +The two options at the bottom of the dialog, finally, determine whether the +source should be downscaled to 8 bit colors (if it contains more), and whether +the output should be in color (default is to separate the channels to grayscale +values). +</para> +</sect3> + +<sect3 id="commands-dialogs-image-shearimage"> +<title>The <guilabel>Shear Image</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Shear Image</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-shearimage.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Shear Image</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Shear Image</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog allows you to shear your image. By shearing, the bounding +rectangle of your image is transformed into a parallellogram. One pixel +row/column is kept in place, the next one is shifted by a certain amount, the +next one by the same amount relative to the previous one, etcetera. +The X and Y shearing angles can be set using the two spin boxes. +</para> + +</sect3> + +<sect3 id="commands-dialogs-image-substrate"> +<title>The <guilabel>Substrate</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Substrate</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-substrate.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Substrate</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Substrate</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +(This dialog is still to be described.) +</para> + +</sect3> + +</sect2> + +<sect2 id="commands-dialogs-layers"> +<title>Dialogs for working with layers</title> + +<sect3 id="commands-dialogs-layers-convertlayertype"> +<title>The <guilabel>Convert Layer Type</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Convert Layer Type</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-convertlayertype.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Convert Layer Type</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Convert Layer Type</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog is exactly the same as the <link +linkend="commands-dialogs-image-convertimagetype"><guilabel>Convert Image +Type</guilabel> dialog</link>, which converts an entire image instead of a +single layer. See the description there for details. +</para> + +</sect3> + +<sect3 id="commands-dialogs-layers-dropshadow"> +<title>The <guilabel>Drop Shadow</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Drop Shadow</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-dropshadow.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Drop Shadow</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Drop Shadow</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +With this dialog, you can add a drop shadow effect to the current layer. +Select the X and Y offsets (displacements) of the shadow relative to the +original layer with the two topmost spin boxes. The <guilabel>Blur +radius</guilabel> spinbox determines the radius in which the shadow will be +blurred (to achieve a smooth transition at the shadow border). If you want +a special color for the shadow, you can choose one with the +<guilabel>Color</guilabel> field. The <guilabel>Opacity</guilabel> slider and +spinbox can be used to make the shadow more or less transparent. Disable the +<guilabel>Allow resizing</guilabel> checkbox if you don't want the layer to be +resized in order to give it a shadow. +</para> + +</sect3> + +<sect3 id="commands-dialogs-layers-histogram"> +<title>The <guilabel>Histogram</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Histogram</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-histogram.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Histogram</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Histogram</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog shows a histogram for the current layer. With the +<guilabel>Method:</guilabel> settings, you can choose what kind of histogram +to show. You can change the channel(s) to show with the +<guilabel>Channels:</guilabel> listbox, and the scale on which it should be +drawn with the <guilabel>Linear</guilabel> and +<guilabel>Logarithmic</guilabel> radio buttons. Under the preview, there are +buttons available to zoom in to, and move over, the histogram. These are +activated for 16-bit colorspace layers. +</para> + +</sect3> + +<sect3 id="commands-dialogs-layers-layerproperties"> +<title>The <guilabel>Layer Properties</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Layer Properties</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-layerproperties.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Layer Properties</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Layer Properties</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog is in essence the same as the <link +linkend="commands-dialogs-layers-newlayer">New Layer</link> dialog, with the difference that +you cannot change its colorspace or profile anymore. These properties are +shown, though, to keep the information complete. +</para> +</sect3> + +<sect3 id="commands-dialogs-layers-layersize"> +<title>The <guilabel>Layer Size</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Layer Size</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-layersize.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Layer Size</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Layer Size</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog allows you to resize the current layer. +Under <guilabel>Pixel dimensions</guilabel>, you can set which new size you +want the layer to have. The original size is given as a reference. The new +size can be set both as pixels or as a percentage, with 100% being the +original size. If you select <guilabel>Constrain proportions</guilabel>, the +new width and height will always be set to the same percentage. For example, +if you have a layer of 200 x 100 pixels, and set the width to 20 pixels, the +height will automatically be changed to 10. With this checkbox unselected, you +can also resize the layer non-proportionally. The <guilabel>Filter:</guilabel> +dropdown list can be used to select a different algorithm for resizing the +layer. +</para> + +</sect3> + +<sect3 id="commands-dialogs-layers-newadjustmentlayer"> +<title>The <guilabel>New Adjustment Layer</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>New Adjustment Layer</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-newadjustmentlayer.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>New Adjustment Layer</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>New Adjustment Layer</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +In this dialog, you can select the type of adjustment layer to add to the +image. In the left-hand list, you can see the available adjustment layers, +each with a preview. When you select one, the <guilabel>Preview</guilabel> +will change to show a correctly scaled preview of what the result of the +adjustment layer is going to be. +</para><para> +You can then choose to show either the original image or the preview of the +adjustment layer with the radio buttons below the preview window. The buttons +next to these allow you to zoom in, zoom out, and refresh the preview, +respectively. The <guilabel>Autoupdate</guilabel> checkbox determines if the +preview window should update automatically after you made a change. +</para><para> +The various options available for the filter that is used to create the +adjustment layer, are shown at the bottom of the dialog. See the section on +<link linkend="commands-dialogs-filters">filters</link> of this chapter for +descriptions. +</para> + +</sect3> + +<sect3 id="commands-dialogs-layers-newlayer"> +<title>The <guilabel>New Layer</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>New Layer</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-newlayer.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>New Layer</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>New Layer</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +You can add a new layer to your image with this dialog. If you want a +descriptive name for your layer, you can fill one in at +<guilabel>Name:</guilabel>. You can select the desired colorspace for the new +layer from the <guilabel>Colorspace:</guilabel> list, and the specific +color profile for that colorspace at <guilabel>Profile:</guilabel>. +You can preset the layer's <guilabel>Opacity</guilabel> (you can change it later with the slider in +the <guilabel>Layer</guilabel> box), and choose the mode with which the layer should be composited +onto the final image. +</para> + +</sect3> + +<sect3 id="commands-dialogs-layers-rotatelayer"> +<title>The <guilabel>Rotate Layer</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Rotate Layer</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-rotatelayer.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Rotate Layer</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Rotate Layer</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog, similar to the <link +linkend="commands-dialogs-image-rotateimage"><guilabel>Rotate Image</guilabel> +dialog</link>, allows you to rotate the current layer. You can choose the +direction in which to rotate and the amount to rotate the layer by. +</para> + +</sect3> + +<sect3 id="commands-dialogs-layers-shearlayer"> +<title>The <guilabel>Shear Layer</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Shear Layer</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-shearlayer.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Shear Layer</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Shear Layer</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog works the same as the <link +linkend="commands-dialogs-image-shearimage"><guilabel>Shear Image</guilabel> +dialog</link>, except that it operates on the current layer instead of on the +entire image. +</para> + +</sect3> + +</sect2> + +<sect2 id="commands-dialogs-filters"> +<title>Dialogs for working with filters</title> + +<para> +All filter dialogs consist of a filter-specific part, at the left, and a +generic part, at the right. The generic part contains a preview window, which +you can configure using the controls below it. Choose +<guilabel>Preview</guilabel> or <guilabel>Original</guilabel> depending on +whether you want the preview window to show the preview of the filter effect +or the original image. The four buttons at the bottom right allow you to zoom +in and zoom out, set the zooming factor to 100% (this shows the image at its +original size), and refresh the preview, respectively. Furthermore, the option +<guilabel>Autoupdate</guilabel> determines if the preview window is updated +automatically. If you uncheck this checkbox, you will have to refresh the +preview yourself. +</para> + +<sect3 id="commands-dialogs-filters-blur"> +<title>The <guilabel>Blur</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Blur</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-blur.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Blur</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Blur</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog allows you to customize the way your image is blurred. The +<guilabel>Half-width</guilabel> and <guilabel>Half-height</guilabel> spinboxes +determine the size of the areas of your image that are consecutively blurred. +With the <guilabel>Strength</guilabel> spinbox you can set the strength with which the +blurring should be applied, and with the <guilabel>Angle</guilabel> spinbox +you can add a rotation to the area. The <guilabel>Shape</guilabel> setting, +finally, allows you to choose between circular and rectangular areas +</para> + +</sect3> + + +<sect3 id="commands-dialogs-filters-brightnesscontrast"> +<title>The <guilabel>Brightness / Contrast</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Brightness / Contrast</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-brightnesscontrast.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Brightness / Contrast</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Brightness / Contrast</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +With this dialog, you can customize the brightness and contrast of your image. +</para><para> +The curve diagram has a histogram-like background that shows you the abundance +of various brightness levels. The curve itself (initially a diagonal line from +bottom left to top right) determines to which new brightness level (on the +vertical axis) pixels with a certain original level (on the horizontal axis) are +to be mapped. For example, the default diagonal line from bottom left to top +right sets every original pixel to its own brightness value, meaning no +change. A horizontal line means that all pixels will get the same brightness. +This means minimal contrast, the brightness itself is indicated by the height +at which the line is placed. +</para><para> +You can click on a handle (red circle) to select it (a selected handle is +indicated by a filled circle) and drag it around to change the shape of the +curve. The curve will be drawn smoothly through the handles (always +strictly from left to right). If you click on the curve, a handle is added to +it at that position. Clicking somewhere else in the image will also add a +handle at that point. You can press <keycap>Delete</keycap> to delete the +currently selected handle. +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-bumpmap"> +<title>The <guilabel>Bumpmap</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Bumpmap</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-bumpmap.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Bumpmap</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Bumpmap</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +You can apply a bumpmap effect and customize it using this dialog. One layer +is used as bumpmap layer: it is read as grayscale image and the gray values of +its pixels are used to to distort the other layer for creating the depth +illusion. High grey values, &ie; more white, mean a larger height, small +values, &ie; near black, mean a smaller height — or a larger depth, the +height can get <quote>below sealevel</quote>. A light source, shining +<quote>from above</quote> on the image that lies <quote>on the ground</quote>, +is simulated to determine the depth and direction of the shadows. +</para><para> +The first option in this dialog offers you the selection of the +<guilabel>Bumpmap layer</guilabel>. +</para><para> +Under <guilabel>Type</guilabel>, you can select what kind of bumpmap to be +applied. There are three types, <guilabel>Linear</guilabel> (a normal +application of the bumpmap), <guilabel>Spherical</guilabel> (focusing on the +extremes, that is, the shadow and highlight values) and +<guilabel>Sinusoidal</guilabel> (focusing on the midtone values). +</para><para> +Then, there are three options to modify the bumpmap apart from its +algorithmical application. With <guilabel>Compensate for darkening</guilabel>, +the image is restored to about its original average lightness if using the +bumpmap filter would make it darker. The <guilabel>Invert bumpmap</guilabel> +option creates an inverted bumpmap (high and low are reversed). With +<guilabel>Tile bumpmap</guilabel>, a bumpmap layer that is smaller than the +layer it is applied to, will be tiled (repeatedly) to cover the entire layer. +</para><para> +Under <guilabel>Settings</guilabel>, you can select the mathematical +parameters for the bumpmap. First of all, <guilabel>Azimuth</guilabel> (the +angle of the light source in the X-Y plane), <guilabel>Elevation</guilabel> +(the height of the simulated light source above the surface in degrees, with 0 +degrees being on the ground and 90 degrees being vertically above the image), +and <guilabel>Depth</guilabel> (the maximal vertical distortion of the image). +</para><para> +Then, there are the <guilabel>X offset</guilabel> and <guilabel>Y +offset</guilabel>, with which you can displace the bumpmap layer relative to +the destination layer, <guilabel>Water level</guilabel> (the depth seen as +neutral), and <guilabel>Ambient light</guilabel>, which determines the +relative amount of ambient (environmental) light. +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-coloradjustment"> +<title>The <guilabel>Color Adjustment</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Color Adjustment</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-coloradjustment.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Color Adjustment</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Color Adjustment</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog allows you to customize the <guilabel>Color Adjustment</guilabel> filter. You can use +the curve (see the section on <link +linkend="commands-dialogs-filters-brightnesscontrast">Brightness / +Contrast</link> for a description on the curve) to determine the mapping +from old to new color levels, for each of the channels separately. +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-colortoalpha"> +<title>The <guilabel>Color to Alpha</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Color to Alpha</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-colortoalpha.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Color to Alpha</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Color to Alpha</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +With this dialog, you can make parts of the image having a certain color +transparent (officially <quote>alpha-transparent</quote>). You can select the +color you want to remove from the image (replacing it with transparency) with +the <guilabel>Color</guilabel> swatch, and how much a color may differ from +the selected one before it is considered not to match, with the +<guilabel>Threshold</guilabel> spinbox. Setting a threshold of zero (0) +ensures that only pixels with the exact matching color will be made +transparent, higher thresholds will make other colors match as well. +</para> + +</sect3> +<sect3 id="commands-dialogs-filters-colortransfer"> +<title>The <guilabel>Color Transfer</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Color Transfer</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-colortransfer.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Color Transfer</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Color Transfer</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog lets you copy the colors from one image (the <guilabel>Reference +Image</guilabel>) to the current one. The colors in both images are compared +and each color in the one you are working with, will be replaced by the +nearest one in the reference image. +</para> + +</sect3> + +<!-- +<sect3 id="commands-dialogs-filters-cubism"> +<title>The <guilabel>Cubism</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Cubism</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-cubism.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Cubism</guilabel> dialog</phrase> +</textobject> +<caption><para>The Cubism dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog has two filter-specific options. The <guilabel>Tile +size:</guilabel> slider and spinbox determine how big the tiles are in which +the image is subdivided, the <guilabel>Tile saturation:</guilabel> setting +sets the color saturation of the tiles. +</para> + +</sect3> +--> + +<sect3 id="commands-dialogs-filters-customconvolution"> +<title>The <guilabel>Custom Convolution</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Custom Convolution</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-customconvolution.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Custom Convolution</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Custom Convolution</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +With this filter, you can apply a customized distortion effect to your image. +The nine spinboxes at the top left determine the distortion. Each pixel is +assigned a new value based on these values: the old color values of the pixel +inself and the eight surrounding pixels are each multiplied by the values in +the respective spinboxes, these results are added, and the final result is the +new color value for the pixel. Before being applied, this final result can be +multiplied with a certain <guilabel>Factor:</guilabel> or a certain +<guilabel>Offset:</guilabel> can be added to it. +</para><para> +In the example screenshot, each pixel is assigned a new value based on its +own (the 1 in the center), to which are added the values of the pixels to its +top right and directly below it (each with a factor of 1, &ie; the actual +value, since multiplying by one has no effect), and from which are subtracted +the values of the pixels to its bottom right and directly above it (added with +a factor of -1, so subtracted by a factor of 1). +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-emboss"> +<title>The <guilabel>Emboss</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Emboss</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-emboss.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Emboss</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Emboss</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog contains just one option, the <guilabel>Depth:</guilabel> slider +and spinbox which determines the depth of the embossing effect. +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-filtersgallery"> +<title>The <guilabel>Filters Gallery</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Filters Gallery</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-filtersgallery.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Filters Gallery</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Filters Gallery</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog can be used to get a quick overview of what the various available +filters do. The filters are in turn applied to the current image and the +results are put in the left list box as thumbnails. If you select one, its +options become available in the <guilabel>Configuration</guilabel> section. +See the description of the respective filter for details. +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-gaussiannoise"> +<title>The <guilabel>Gaussian Noise Reduction</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Gaussian Noise Reduction</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-gaussiannoise.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Gaussian Noise Reduction</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Gaussian Noise Reduction</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog allows you to customize a Gaussian noise reduction. The +<guilabel>Threshold</guilabel> setting is a measure for how much noise should +be removed (&ie; how quickly a <quote>lonely</quote> pixel should be made +equal to its surroundings), while the <guilabel>Window Size</guilabel> setting +determines the radius of the area considered when changing pixels. +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-lenscorrection"> +<title>The <guilabel>Lens Correction</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Lens Correction</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-lenscorrection.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Lens Correction</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Lens Correction</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +With this dialog, you can fix an image which is distorted due to common lens +anomalies. You can specify a <guilabel>Distortion correction</guilabel>, +indicating how much the image should be corrected if its +concaveness / convexness is not right, for areas near the center and areas +near the edges. If you want an asymmetrical correction, you can specify +different <guilabel>X</guilabel> and <guilabel>Y</guilabel> coordinates for +the center (in percentages of the total width and height, measured from the +top left). +</para><para> +You can also correct a too light or too dark image with the +<guilabel>Brightness correction</guilabel> spinbox. +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-imagerestoration"> +<title>The <guilabel>Image Restoration</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Image Restoration</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-imagerestoration.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Image Restoration</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Image Restoration</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +Using this dialog, you can specify exactly how the image restoration should +be done. This filter tries to increase the quality of an image, for instance +by removing scratches. Various options are available to customize its +behaviour. +</para><para> +(Unfortunately, these are not described as of yet.) +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-oilpaint"> +<title>The <guilabel>Oilpaint</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Oilpaint</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-oilpaint.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Oilpaint</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Oilpaint</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog can configure two parameters for the associated filter. The +<guilabel>Brush size:</guilabel> setting determines the size of the brush that +is used to simulate the oilpaint effect, the <guilabel>Smooth:</guilabel> +setting specifies if the difference in colors between adjacent +<quote>swatches</quote> may be large (low smoothness) or should be small (high +smoothness). +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-pixelize"> +<title>The <guilabel>Pixelize</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Pixelize</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-pixelize.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Pixelize</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Pixelize</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +On this dialog, you can adjust two settings. <guilabel>Pixel width:</guilabel> +and <guilabel>Pixel height:</guilabel> indicate the width and height of the +area that should be taken together and averaged to form one new, large +<quote>pixel</quote>. +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-raindrops"> +<title>The <guilabel>Raindrops</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Raindrops</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-raindrops.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Raindrops</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Raindrops</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This filter can be configured using the settings <guilabel>Drop +size:</guilabel> (the average diameter of the raindrops), +<guilabel>Number:</guilabel> (the number of raindrop effects that should be +added to the image), and <guilabel>Fish eyes:</guilabel> (the percentage of +raindrops that should be rendered as fisheye lens effects instead of plain +raindrop effects). +</para> +</sect3> + +<sect3 id="commands-dialogs-filters-randomnoise"> +<title>The <guilabel>Random Noise</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Random Noise</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-randomnoise.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Random Noise</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Random Noise</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This filter adds random noise (speckles, or something similar) to your image. +There are two customizable settings: the amount of noise +(<guilabel>Level</guilabel>, as a percentage) and the +<guilabel>Opacity</guilabel> of the noise (should the original color still be +a bit visible or not). +</para> + +</sect3> +<sect3 id="commands-dialogs-filters-randompick"> +<title>The <guilabel>Random Pick</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Random Pick</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-randompick.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Random Pick</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Random Pick</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +In this dialog, you can specify parameters for the <guilabel>Random Pick</guilabel> +filter. The <guilabel>Level</guilabel> setting determines how much pixels will +be affected (measured as a percentage), the area which is looked in to take a +new color for a pixel is set with the <guilabel>Size of the window</guilabel> +setting, and the <guilabel>Opacity</guilabel> of the modifications can be set as +well. +</para> + +</sect3> + + +<sect3 id="commands-dialogs-filters-roundcorners"> +<title>The <guilabel>Round Corners</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Round Corners</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-roundcorners.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Round Corners</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Round Corners</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog has one setting: the radius of the rounded corners. +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-smalltiles"> +<title>The <guilabel>Small Tiles</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Small Tiles</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-smalltiles.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Small Tiles</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Small Tiles</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +In this dialog, you can set the amount of subdivisions with the +<guilabel>Number of tiles</guilabel> settings. +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-sobel"> +<title>The <guilabel>Sobel</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Sobel</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-sobel.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Sobel</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Sobel</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +Here, you can set the parameters for the <guilabel>Sobel</guilabel> edge +detection filter. First of all you can determine which directions to sobel in: +horizontally, vertically, or both. The <guilabel>Keep sign of +result</guilabel> setting does not affect regular images. +<guilabel>Make image opaque</guilabel> determines whether the resulting image +is opaque or transparent. +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-unsharpmask"> +<title>The <guilabel>Unsharp Mask</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Unsharp Mask</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-unsharpmask.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Unsharp Mask</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Unsharp Mask</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog offers three options for the sharpening filter +<guilabel>Unsharp Mask</guilabel>: the radius (<guilabel>Half-size</guilabel>) +of the mask, the <guilabel>Amount</guilabel> of sharpening that should be +done, and the <guilabel>Threshold</guilabel> level. +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-wave"> +<title>The <guilabel>Wave</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Wave</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-wave.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Wave</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Wave</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +For both the horizontal and the vertical components of the wave distortion +(note: a vertical wave means that the vertical position is dependent on the +horizontal one, and hence looks like a <quote>W</quote>), +you can determine four settings here. The <guilabel>Wavelength</guilabel> (a +shorter wavelength means a more erratical wave), the +<guilabel>Shift</guilabel> (which point of the wave should be started at), the +<guilabel>Amplitude</guilabel> (the amount of distortion), and the +<guilabel>Shape</guilabel> (<guilabel>Sinusoidal</guilabel> or rounded, +versus <guilabel>Triangle</guilabel> or pointy). +</para> + +</sect3> + +<sect3 id="commands-dialogs-filters-waveletnoise"> +<title>The <guilabel>Wavelet Noise Reduction</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Wavelet Noise Reduction</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-waveletnoise.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Wavelet Noise Reduction</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Wavelet Noise Reduction</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +The only setting here, <guilabel>Threshold</guilabel>, indicates how easily pixels +are seen as noise that should be removed and made equal to the surrounding area. +</para> + +</sect3> + +</sect2> + +<sect2 id="commands-dialogs-misc"> +<title>Miscellaneous dialogs</title> + +<sect3 id="commands-dialogs-misc-addpalette"> +<title>The <guilabel>Add Palette</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Add Palette</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-addpalette.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Add Palette</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Add Palette</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +With this dialog, you can add a custom color palette to &krita;. Fill in the +name for your palette in the text field at the top. Then make the palette: use +the button <guibutton>Add New Color...</guibutton> to add a color to the palette +and <guibutton>Remove Selected Color</guibutton> to remove the currently +selected color. Click the button <guibutton>Add to Predefined +Palettes</guibutton> to add your newly created palette to the palette list, or +just choose <guibutton>OK</guibutton> when you're done. +</para> + +</sect3> + +<sect3 id="commands-dialogs-misc-documentinformation"> +<title>The <guilabel>Document Information</guilabel> dialog</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Document Information</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-documentinformation.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Document Information</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Document Information</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This dialog is the same as in other &koffice; programs. You can enter various +information about your document here, which will be saved with the document so +that you can retrieve it later to review or edit. +</para> + +<para> +On the <guilabel>General</guilabel> tab, you can enter the title, subject and +keywords, as well as an abstract. On the bottom of this tab, some statistical +information is displayed. On the <guilabel>Author</guilabel> tab, you can +store information about yourself. The third tab, <guilabel>User-defined +Metadata</guilabel>, allows you to store any other information. +</para> +</sect3> + +</sect2> + + +</sect1> diff --git a/doc/krita/commands-menus.docbook b/doc/krita/commands-menus.docbook new file mode 100644 index 00000000..b3abdcc9 --- /dev/null +++ b/doc/krita/commands-menus.docbook @@ -0,0 +1,2158 @@ +<sect1 id="commands-menus"> +<title>Menus</title> + +<para> +Some of &krita;'s menus are standard in &kde; or &koffice;, while others are +particular to &krita;. The <guimenu>File</guimenu> menu contains commands for +manipluating files. In the <guimenu>Edit</guimenu> menu, you can find commands +that do things with the current selection. With the commands from the +<guimenu>View</guimenu> menu, you can change the way you look at the image. +The <guimenu>Image</guimenu> menu contains commands that change the entire +image, like converting all layers to another color model or resizing or +scaling the image. The <guimenu>Layer</guimenu> menu is like the +<guimenu>Image</guimenu> menu, but the commands only work on the current +layer. The <guimenu>Select</guimenu> menu contains commands to create and +manipulate selections. The <guimenu>Filter</guimenu> menu contains all the +filters you have installed. These work on the current layer. The +<guimenu>Scripts</guimenu> menu contains entries for working with scripts. +The <guimenu>Settings</guimenu> menu is again common to &koffice; and allows +you to manipulate the toolbars, shortcuts and configuration of &krita;. +Finally, the <guimenu>Help</guimenu> menu gives you access to various +(hopefully helpful) information, such as this handbook. +</para> + +<!-- ====== File ================================================ --> + +<sect2 id="commands-menus-file"> +<title>The <guimenu>File</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>N</keycap></keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>New</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new document.</action> This displays the +<guilabel>New document</guilabel> dialog, standard across &koffice;, in which +you can choose to start with a blank document of a certain type, or to open a +recently opened document.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>O</keycap></keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Open...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens an existing document.</action> +Because this uses the usual &kde; <guilabel>Open Document</guilabel> +dialog to let you select a file, you can open files via various protocols +(ftp, fish, etcetera). +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Open Recent</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens a recently +opened document.</action> Clicking this menu item will show a +submenu with the ten most recently opened documents in which +you can quickly open an image you have been working on lately.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>S</keycap></keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Save</guimenuitem> +</menuchoice></term> +<listitem><para><action>Saves the document.</action> If you +haven't saved the document before, you will get the <guilabel>Save +Document As</guilabel> dialog, otherwise the document will be saved under +its current name. </para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Save As...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Saves the document under a different name.</action> +The default &kde; dialog is used, so saving remotely via ftp +or ssh (fish) is perfectly possible.</para> </listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Reload</guimenuitem> +</menuchoice></term> +<listitem><para><action>Reloads the current document +from disk.</action> All changes since you last saved the document +will be lost.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Import...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens an existing document.</action> Unlike +<menuchoice><guimenu>File</guimenu><guimenuitem>Open</guimenuitem></menuchoice>, +this does not load the actual document, but only its contents: you receive a +copy of the chosen file as a new document. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Export...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Saves the document under a different name.</action> (For +the moment, this is the same as +<menuchoice><guimenu>File</guimenu><guimenuitem>Save +As...</guimenuitem></menuchoice>.) +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Mail...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Sends the document via email.</action> The default &kde; +mail compose window will be used.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>P</keycap></keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Print...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Prints the document.</action> You will see the usual +&kde; print dialog appear.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Print Preview...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Shows a preview of what the printed document +will look like.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Document Information</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-misc-documentinformation"><guilabel>Document +Information</guilabel> dialog</link>.</action> This dialog can be used to add +various information to the image, like title, subject, keywords, author +information, and any other information you want to save with the +image.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>W</keycap></keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Close</guimenuitem> +</menuchoice></term> +<listitem><para><action>Closes the document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>Q</keycap></keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Quit</guimenuitem> +</menuchoice></term> +<listitem><para><action>Quits &krita;.</action></para></listitem> +</varlistentry> + +</variablelist> +</para> + +</sect2> + +<!-- ====== Edit ================================================ --> + + +<sect2 id="commands-menus-edit"> +<title>The <guimenu>Edit</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>Z</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Undo</guimenuitem> +</menuchoice></term> +<listitem><para><action>Undoes the last action carried out.</action> Actions +(like painting a stroke, filling an area, etcetera) are stored on +a <quote>stack</quote>. The last action you did will be undone, and the image is +restored to the state before that. Immediately choosing +<guimenuitem>Undo</guimenuitem> again will undo the action that was carried +out before the one just undone, etcetera.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Redo</guimenuitem> +</menuchoice></term> +<listitem><para><action>Redoes the last action undone.</action> As described at +<guimenuitem>Undo</guimenuitem>, a series of actions can be undone. With +<guimenuitem>Redo</guimenuitem>, an action undone is carried out again, and if +more actions have been undone before that, you can redo these in +turn.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>X</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Cut</guimenuitem> +</menuchoice></term> +<listitem><para><action>Cuts the selection to the +clipboard.</action> The current selection is put on the &kde; +clipboard, and the selection is cleared.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>C</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Copy</guimenuitem> +</menuchoice></term> +<listitem><para><action>Copies the selection to the +clipboard.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>V</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Paste</guimenuitem> +</menuchoice></term> +<listitem><para><action>Pastes the contents of the +clipboard.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Paste into New Image</guimenuitem> +</menuchoice></term> +<listitem><para><action>Pastes the contents of the +clipboard as a new image.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Clear</guimenuitem> +</menuchoice></term> +<listitem><para><action>Clears the selection.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Alt;&Backspace;</keycombo></shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Fill with Foreground Color</guimenuitem> +</menuchoice></term> +<listitem><para><action>Fills the selection with the current foreground +color.</action> The current foreground color is shown in the top left color +square of the <guilabel>Colors</guilabel> palette.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut>&Backspace;</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Fill with Background Color</guimenuitem> +</menuchoice></term> +<listitem><para><action>Fills the selection with the current background +color.</action> The current background color is shown in the bottom right color +square in the top left corner of the <guilabel>Colors</guilabel> +palette.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Fill with Pattern</guimenuitem> +</menuchoice></term> +<listitem><para><action>Fills the selection with the current pattern.</action> +The current pattern is shown on the <guilabel>Brush Shapes</guilabel> toolbar, +usually at the top right of the &krita; window.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guisubmenu>Resources</guisubmenu> +</menuchoice></term> +<listitem><para><action>Contains options for working with color +palettes.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guisubmenu>Resources</guisubmenu> +<guimenuitem>Add New Palette...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-misc-addpalette"><guilabel>Add Palette</guilabel> +dialog</link>.</action> You can create a custom color palette +here.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guisubmenu>Resources</guisubmenu> +<guimenuitem>Edit Palette...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <guilabel>Edit Palette</guilabel> +dialog.</action> Choose a color palette to edit from this list. You will then be +given the same dialog as with <guilabel>Add Palette</guilabel>, with the +difference that you edit the chosen color palette instead of adding a new +one.</para> +</listitem></varlistentry> + +</variablelist> +</para> + +</sect2> + +<!-- ====== View ================================================ --> + + +<sect2 id="commands-menus-view"> +<title>The <guimenu>View</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;&Shift;<keycap>F</keycap></keycombo></shortcut> +<guimenu>View</guimenu> +<guimenuitem>Full Screen Mode</guimenuitem> +</menuchoice></term> +<listitem><para><action>Switches between normal view +and full screen view.</action> In full screen view, the title +bar is hidden and the actual application window is resized to the entire +screen.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>New View</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens a new view for the +current document.</action> A new application window is opened +so that you can have two different views of the same document, for example +to work on different areas at the same time, or to look at an area at different +zoom levels simultaneously. Changes you make to the document in one view are +immediately visible in other views.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;&Shift;<keycap>W</keycap></keycombo></shortcut> +<guimenu>View</guimenu> +<guimenuitem>Close All Views</guimenuitem> +</menuchoice></term> +<listitem><para><action>Closes all views.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Split View</guimenuitem> +</menuchoice></term> +<listitem><para><action>Splits the current view.</action> The +drawing area will be split into two parts, which can be used +just like two views in different windows.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Remove View</guimenuitem> +</menuchoice></term> +<listitem><para><action>Unsplits the view.</action> The second +view (the bottom or right one) will be closed and the first one will remain +visible.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Splitter Orientation</guisubmenu> +</menuchoice></term> +<listitem><para><action>Changes the way the split +view is displayed.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Splitter Orientation</guisubmenu> +<guimenuitem>Vertical</guimenuitem> +</menuchoice></term> +<listitem><para><action>Changes the orientation of +the splitter to vertical.</action> The two split +views will be positioned side by side.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Splitter Orientation</guisubmenu> +<guimenuitem>Horizontal</guimenuitem> +</menuchoice></term> +<listitem><para><action>Changes the orientation of +the splitter to horizontal.</action> The two split views will +be positioned above each other.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>+</keycap></keycombo></shortcut> +<guimenu>View</guimenu> +<guimenuitem>Zoom In</guimenuitem> +</menuchoice></term> +<listitem><para><action>Zooms in on the view.</action> The view +will be more detailed, but a smaller area will be visible at the +same time.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>-</keycap></keycombo></shortcut> +<guimenu>View</guimenu> +<guimenuitem>Zoom Out</guimenuitem> +</menuchoice></term> +<listitem><para><action>Zooms out of the view.</action> A larger +area will be visible at the same time, but it will be less +detailed.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>0</keycap></keycombo></shortcut> +<guimenu>View</guimenu> +<guimenuitem>Actual Pixels</guimenuitem> +</menuchoice></term> +<listitem><para><action>Zooms the view to actual pixel +level.</action> (1:1 scale)</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Actual Size</guimenuitem> +</menuchoice></term> +<listitem><para><action>Zooms the view to the actual image +size.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Fit to Page</guimenuitem> +</menuchoice></term> +<listitem><para><action>Zooms the view so that the image fills the available +workspace.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>R</keycap></keycombo></shortcut> +<guimenu>View</guimenu> +<guimenuitem>Show Rulers</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggles display of the +rulers on and off.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Show Grid</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggles display of the +grid lines on and off.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Grid Spacing</guisubmenu> +</menuchoice></term> +<listitem><para><action>Contains various options to set the distance between +grid lines.</action> The available spacing options are +<guimenuitem>1x1</guimenuitem>, <guimenuitem>2x2</guimenuitem>, +<guimenuitem>5x5</guimenuitem>, <guimenuitem>10x10</guimenuitem>, +<guimenuitem>20x20</guimenuitem>, and <guimenuitem>40x40</guimenuitem>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Show Perspective Grid</guisubmenu> +</menuchoice></term> +<listitem><para><action>Toggles display of the perspective grid on and off.</action> +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Clear Perspective Grid</guisubmenu> +</menuchoice></term> +<listitem><para><action>Clears the perspective grid.</action> (All grid lines +that were created, are deleted.)</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Palettes</guisubmenu> +</menuchoice></term> +<listitem><para><action>Allows you to toggle the +display of the various palettes on and off.</action> The +default view of &krita; shows all palettes, and the items are listed as Hide +<replaceable>palette</replaceable> therefore. When a certain palette is hidden, +the corresponding menu item changes to Show +<replaceable>palette</replaceable>.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;&Shift;<keycap>H</keycap></keycombo></shortcut> +<guimenu>View</guimenu> +<guisubmenu>Palettes</guisubmenu> +<guimenuitem>Hide All Palette Windows</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides all palettes.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Palettes</guisubmenu> +<guimenuitem>Hide Overview</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides the +<guilabel>Overview</guilabel> palette.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Palettes</guisubmenu> +<guimenuitem>Hide HSV</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides the +<guilabel>HSV</guilabel> palette.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Palettes</guisubmenu> +<guimenuitem>Hide RGB</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides the +<guilabel>RGB</guilabel> palette.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Palettes</guisubmenu> +<guimenuitem>Hide Gray</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides the +<guilabel>Gray</guilabel> palette.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Palettes</guisubmenu> +<guimenuitem>Hide Palettes</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides the +<guilabel>Palettes</guilabel> palette.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Palettes</guisubmenu> +<guimenuitem>Hide Layers</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides the <guilabel>Layers</guilabel> +palette.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Palettes</guisubmenu> +<guimenuitem>Hide Scripts Manager</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides the <guilabel>Scripts Manager</guilabel>. +</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Palettes</guisubmenu> +<guimenuitem>Hide Histogram</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides the +<guilabel>Histogram</guilabel> palette.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Palettes</guisubmenu> +<guimenuitem>Hide Watercolors</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides the <guilabel>Watercolors</guilabel> +palette.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Palettes</guisubmenu> +<guimenuitem>Hide Brush, Ellipse, Filter tool, Line, Polygon &etc;</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides the palette of the selected +<guilabel>Tool</guilabel>.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Wetness Visualisation</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggles indication of the wetness of watercolor paint +on and off.</action></para></listitem> +</varlistentry> + +</variablelist> +</para> + +</sect2> + +<!-- ====== Image =============================================== --> + + +<sect2 id="commands-menus-image"> +<title>The <guimenu>Image</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Image</guimenu> +<guimenuitem>Image Properties</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-image-imageproperties"><guilabel>Image +Properties</guilabel> dialog</link>, +in which you can change the image name, size, +profile and description.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Image</guimenu> +<guimenuitem>Resize Image to Size of Current Layer</guimenuitem> +</menuchoice></term> +<listitem><para><action>Resizes the image to the +size of the currently active layer.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Image</guimenu> +<guisubmenu>Substrate...</guisubmenu> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-image-substrate"><guilabel>Substrate</guilabel> dialog</link>.</action></para></listitem> +</varlistentry> +<varlistentry> +<term><menuchoice> +<guimenu>Image</guimenu> +<guisubmenu>Rotate</guisubmenu> +</menuchoice></term> +<listitem><para><action>Rotates the image.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Image</guimenu> +<guisubmenu>Rotate</guisubmenu> +<guimenuitem>Rotate Image...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-image-rotateimage"><guilabel>Rotate Image</guilabel> +dialog</link>.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Image</guimenu> +<guisubmenu>Rotate</guisubmenu> +<guimenuitem>Rotate Image CW</guimenuitem> +</menuchoice></term> +<listitem><para><action>Rotates the image 90 degrees +clockwise.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Image</guimenu> +<guisubmenu>Rotate</guisubmenu> +<guimenuitem>Rotate Image CCW</guimenuitem> +</menuchoice></term> +<listitem><para><action>Rotates the image 90 degrees counterclockwise +(270 degrees clockwise).</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Image</guimenu> +<guisubmenu>Rotate</guisubmenu> +<guimenuitem>Rotate 180</guimenuitem> +</menuchoice></term> +<listitem><para><action>Rotates the image 180 degrees.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Image</guimenu> +<guimenuitem>Convert Image Type...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-image-convertimagetype"><guilabel>Convert All +Layers</guilabel> dialog</link>.</action> This allows you to convert the image +to a different color space. Apart from the color space, the profile and +rendering intent can be specified as well.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Image</guimenu> +<guimenuitem>Separate Image...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the +<link linkend="commands-dialogs-image-separateimage"><guilabel>Separate Image</guilabel> +dialog</link>.</action> You can separate the image into layers for each +individual colorspace component there.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Image</guimenu> +<guimenuitem>Change Image Size...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the +<link linkend="commands-dialogs-image-imagesize"><guilabel>Image Size</guilabel> +dialog </link>.</action> You can resize or scale the image using various +algorithms here.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Image</guimenu> +<guimenuitem>Shear Image...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-image-shearimage"><guilabel>Shear Image</guilabel> +dialog</link>.</action> You can shear the image in X or Y directions, +or both.</para></listitem> +</varlistentry> + +</variablelist> +</para> + +</sect2> + +<!-- ====== Layer =============================================== --> + +<sect2 id="commands-menus-layer"> +<title>The <guimenu>Layer</guimenu> Menu</title> + +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +</menuchoice></term> +<listitem><para><action>Creates a new layer.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;&Shift;<keycap>N</keycap></keycombo></shortcut> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guimenuitem>Add...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the +<link linkend="commands-dialogs-layers-newlayer"><guilabel>New Layer</guilabel> +dialog</link>.</action> This will create a new empty +layer. You can set the name, opacity, composite mode and +layer type.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guisubmenu>Object Layer</guisubmenu> +</menuchoice></term> +<listitem><para><action>Creates a new layer for a +given &koffice; object type.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guisubmenu>Object Layer</guisubmenu> +<guimenuitem>Scalable Graphics</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new layer for an +embedded &karbon14; object.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guisubmenu>Object Layer</guisubmenu> +<guimenuitem>Text Documents</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new layer for an +embedded &kword; document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guisubmenu>Object Layer</guisubmenu> +<guimenuitem>Flowchart & Diagram</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new layer for an embedded +&kivio; object.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guisubmenu>Object Layer</guisubmenu> +<guimenuitem>Slide Presentations</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new layer for an embedded +&kpresenter; object.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guisubmenu>Object Layer</guisubmenu> +<guimenuitem>Image Object</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new layer for an +embedded &krita; object.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guisubmenu>Object Layer</guisubmenu> +<guimenuitem>Report Template</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new layer for an embedded +&kugar; Designer object.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guisubmenu>Object Layer</guisubmenu> +<guimenuitem>Chart</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new layer for an +embedded &kchart; object.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guisubmenu>Object Layer</guisubmenu> +<guimenuitem>Formula Editor</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new layer for an +embedded &kformula; object.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guisubmenu>Object Layer</guisubmenu> +<guimenuitem>Report Generator</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new layer for an +embedded &kugar; object.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guisubmenu>Object Layer</guisubmenu> +<guimenuitem>Project Management</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new layer for an +embedded KPlato object.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guisubmenu>Object Layer</guisubmenu> +<guimenuitem>Spreadsheets</guimenuitem> +</menuchoice></term> +<listitem><para><action>Creates a new layer for an +embedded &kspread; document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guimenuitem>Adjustment Layer</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-layers-newadjustmentlayer"><guilabel>New Adjustment +Layer</guilabel>dialog</link>.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guimenuitem>Insert Image as Layer...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <guilabel>Import Image</guilabel> +dialog.</action> You can browse and select an image file, +which will be inserted in a new layer.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;&Shift;<keycap>J</keycap></keycombo></shortcut> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guimenuitem>Cut Selection to New Layer</guimenuitem> +</menuchoice></term> +<listitem><para><action>Cuts the current selection +and inserts it as a new layer.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>J</keycap></keycombo></shortcut> +<guimenu>Layer</guimenu> +<guisubmenu>New</guisubmenu> +<guimenuitem>Copy Selection to New Layer</guimenuitem> +</menuchoice></term> +<listitem><para><action>Copies the current selection +and inserts it as a new layer.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guimenuitem>Remove</guimenuitem> +</menuchoice></term> +<listitem><para><action>Removes the current layer +and its contents.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guimenuitem>Duplicate</guimenuitem> +</menuchoice></term> +<listitem><para><action>Duplicates the current +layer.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guimenuitem>Hide/Show</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggles the visibility of +the current layer in the image editing window.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Mask</guisubmenu> +</menuchoice></term> +<listitem><para>Contains actions for working with layer masks.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Mask</guisubmenu> +<guimenuitem>Create Mask</guimenuitem> +</menuchoice></term> +<listitem><para><action></action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Mask</guisubmenu> +<guimenuitem>Mask From Selection</guimenuitem> +</menuchoice></term> +<listitem><para><action></action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Mask</guisubmenu> +<guimenuitem>Mask To Selection</guimenuitem> +</menuchoice></term> +<listitem><para><action></action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Mask</guisubmenu> +<guimenuitem>Apply Mask</guimenuitem> +</menuchoice></term> +<listitem><para><action></action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Mask</guisubmenu> +<guimenuitem>Remove Mask</guimenuitem> +</menuchoice></term> +<listitem><para><action></action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Mask</guisubmenu> +<guimenuitem>Edit Mask</guimenuitem> +</menuchoice></term> +<listitem><para><action></action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Mask</guisubmenu> +<guimenuitem>Show Mask</guimenuitem> +</menuchoice></term> +<listitem><para><action></action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>]</keycap></keycombo></shortcut> +<guimenu>Layer</guimenu> +<guimenuitem>Raise</guimenuitem> +</menuchoice></term> +<listitem><para><action>Moves the current layer one +level upward.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>[</keycap></keycombo></shortcut> +<guimenu>Layer</guimenu> +<guimenuitem>Lower</guimenuitem> +</menuchoice></term> +<listitem><para><action>Moves the current layer one +level downward.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;&Shift;<keycap>]</keycap></keycombo></shortcut> +<guimenu>Layer</guimenu> +<guimenuitem>To Top</guimenuitem> +</menuchoice></term> +<listitem><para><action>Moves the current layer to the +top.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;&Shift;<keycap>[</keycap></keycombo></shortcut> +<guimenu>Layer</guimenu> +<guimenuitem>To Bottom</guimenuitem> +</menuchoice></term> +<listitem><para><action>Moves the current layer to +the bottom.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guimenuitem>Save Layer as Image...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <guilabel>Export Layer</guilabel> +dialog.</action> The current layer will be saved to the +chosen file.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guimenuitem>Flip on X Axis</guimenuitem> +</menuchoice></term> +<listitem><para><action>Flips the current layer +horizontally.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guimenuitem>Flip on Y Axis</guimenuitem> +</menuchoice></term> +<listitem><para><action>Flips the current layer +vertically.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guimenuitem>Properties</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-layers-layerproperties"><guilabel>Layer +Properties</guilabel> dialog</link>.</action> You can change the name, +colorspace, opacity, composite mode and position of the current layer +here.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>E</keycap></keycombo></shortcut> +<guimenu>Layer</guimenu> +<guimenuitem>Merge with Layer Below</guimenuitem> +</menuchoice></term> +<listitem><para><action>Merges the current layer +with the one below it.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;&Shift;<keycap>E</keycap></keycombo></shortcut> +<guimenu>Layer</guimenu> +<guimenuitem>Flatten Image</guimenuitem> +</menuchoice></term> +<listitem><para><action>Merges all visible layers.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Rotate</guisubmenu> +</menuchoice></term> +<listitem><para><action>Rotates the current layer.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Rotate</guisubmenu> +<guimenuitem>Rotate Layer...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-layers-rotatelayer"><guilabel>Rotate Layer</guilabel> +dialog</link>.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Rotate</guisubmenu> +<guimenuitem>Rotate CW</guimenuitem> +</menuchoice></term> +<listitem><para><action>Rotates the current layer 90 degrees +clockwise.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Rotate</guisubmenu> +<guimenuitem>Rotate CCW</guimenuitem> +</menuchoice></term> +<listitem><para><action>Rotates the current layer 90 degrees counterclockwise +(270 degrees clockwise).</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Rotate</guisubmenu> +<guimenuitem>Rotate 180</guimenuitem> +</menuchoice></term> +<listitem><para><action>Rotates the current layer by +180 degrees.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guimenuitem>Histogram...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-layers-histogram"><guilabel>Histogram</guilabel> +dialog</link>, in which you can see histograms for the current +layer.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guimenuitem>Convert Layer Type...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the +<link linkend="commands-dialogs-layers-convertlayertype"><guilabel>Convert +Current Layer</guilabel> dialog</link>.</action> You can +set various options with respect to the colorspace and +rendering intent.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guimenuitem>Scale Layer...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-layers-layersize"><guilabel>Layer +Size</guilabel> dialog</link>.</action> You can choose the new +dimensions and the resize filter to use.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Layer Effects</guisubmenu> +</menuchoice></term> +<listitem><para>Contains commands to add effects to the current layer. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guisubmenu>Layer Effects</guisubmenu> +<guimenuitem>Add Drop Shadow...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-layers-dropshadow"><guilabel>Drop Shadow</guilabel> +dialog</link>.</action> This dialog can be used to add a drop shadow beneath +the current layer.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Layer</guimenu> +<guimenuitem>Shear Layer...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-layers-shearlayer"><guilabel>Shear Layer</guilabel> +dialog</link>.</action> You can select the X and Y angles to shear +by.</para></listitem> +</varlistentry> + +</variablelist> +</para> + +</sect2> + +<!-- ====== Select ============================================== --> + + +<sect2 id="commands-menus-select"> +<title>The <guimenu>Select</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>A</keycap></keycombo></shortcut> +<guimenu>Select</guimenu> +<guimenuitem>Select All</guimenuitem> +</menuchoice></term> +<listitem><para><action>Selects the entire +current layer.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;&Shift;<keycap>A</keycap></keycombo></shortcut> +<guimenu>Select</guimenu> +<guimenuitem>Deselect</guimenuitem> +</menuchoice></term> +<listitem><para><action>Unselects everything.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;&Shift;<keycap>D</keycap></keycombo></shortcut> +<guimenu>Select</guimenu> +<guimenuitem>Reselect</guimenuitem> +</menuchoice></term> +<listitem><para><action>Reselects the previous +unselected areas.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>I</keycap></keycombo></shortcut> +<guimenu>Select</guimenu> +<guimenuitem>Invert</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inverts the selection.</action> +(Everything that is selected will be unselected and vice +versa.)</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Alt;&Ctrl;<keycap>D</keycap></keycombo></shortcut> +<guimenu>Select</guimenu> +<guimenuitem>Feather...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Feathers the selection.</action> (Adds +a soft border around it.)</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Select</guimenu> +<guimenuitem>Similar</guimenuitem> +</menuchoice></term> +<listitem><para><action></action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>H</keycap></keycombo></shortcut> +<guimenu>Select</guimenu> +<guisubmenu>Hide Selection</guisubmenu> +</menuchoice></term> +<listitem><para><action>Hides the selection.</action> The selection is still +active, but it is not made visible anymore.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Select</guimenu> +<guisubmenu>Grow Selection...</guisubmenu> +</menuchoice></term> +<listitem><para><action>Grows the selection.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Select</guimenu> +<guisubmenu>Shrink Selection...</guisubmenu> +</menuchoice></term> +<listitem><para><action>Shrinks the selection.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Select</guimenu> +<guisubmenu>Border Selection...</guisubmenu> +</menuchoice></term> +<listitem><para><action>Borders the selection.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Select</guimenu> +<guimenuitem>Color Range...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-images-colorrange"><guilabel>Color Range</guilabel> +dialog</link>.</action></para></listitem> +</varlistentry> + +</variablelist> +</para> + +</sect2> + +<!-- ====== Filter ============================================== --> + + +<sect2 id="commands-menus-filter"> +<title>The <guimenu>Filter</guimenu> Menu</title> + +<para>See the <link linkend="filters">Filters</link> chapter for more +information on filters.</para> <para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;&Shift;<keycap>J</keycap></keycombo></shortcut> +<guimenu>Filter</guimenu> +<guimenuitem>Apply Filter Again</guimenuitem> +</menuchoice></term> +<listitem><para><action>Repeats the last filter +action.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Adjust</guisubmenu> +</menuchoice></term> +<listitem><para>Contains various options for changing the +colors in your image.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Adjust</guisubmenu> +<guimenuitem>Auto Contrast</guimenuitem> +</menuchoice></term> +<listitem><para><action>Automatically changes the image to obtain as much +contrast as possible.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Adjust</guisubmenu> +<guimenuitem>Brightness/Contrast...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the +<link +linkend="commands-dialogs-filters-brightnesscontrast"><guilabel>Brightness/Contrast</guilabel> +dialog</link>.</action> You can set the +brightness and contrast ratio of your image here.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Adjust</guisubmenu> +<guimenuitem>Desaturate</guimenuitem> +</menuchoice></term> +<listitem><para><action>Desaturates the image.</action> This +will effectively convert the current image to grayscale, but all subsequent +painting is done with usual colors.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Adjust</guisubmenu> +<guimenuitem>Invert</guimenuitem> +</menuchoice></term> +<listitem><para><action>Inverts the image or +selection.</action> (Black becomes white, blue becomes yellow, +etcetera.)</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Adjust</guisubmenu> +<guimenuitem>Color Adjustment...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-coloradjustment"><guilabel>Color Adjustment</guilabel> +dialog</link>.</action> You can adjust the colorspace components +of the current image there (for example, in an RGB image, you can change the +contribution of red, green, and blue to the total image).</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Artistic</guisubmenu> +</menuchoice></term> +<listitem><para>Contains various filters for +<quote>artistic</quote> actions.</para></listitem> +</varlistentry> + +<!--<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Artistic</guisubmenu> +<guimenuitem>Cubism...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-cubism"><guilabel>Cubism</guilabel> +dialog</link>.</action> This allows you to add a cubism effect to the +selection or image.</para></listitem> +</varlistentry>--> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Artistic</guisubmenu> +<guimenuitem>Oilpaint...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-oilpaint"><guilabel>Oilpaint</guilabel> +dialog</link> to add +an oilpaint effect to the selection or image.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Artistic</guisubmenu> +<guimenuitem>Pixelize...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-pixelize"><guilabel>Pixelize</guilabel> +dialog</link> to pixelize the image.</action> (A block of pixels is +changed so that they all become the same, averaged color.)</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Artistic</guisubmenu> +<guimenuitem>Raindrops...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-raindrops"><guilabel>Raindrops</guilabel> +dialog</link> to add a raindrops effect to the selection or +image.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Artistic</guisubmenu> +<guimenuitem>Dry the Paint</guimenuitem> +</menuchoice></term> +<listitem><para><action>Dries wet paint.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Blur</guisubmenu> +</menuchoice></term> +<listitem><para>Contains various blur filters.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Blur</guisubmenu> +<guimenuitem>Gaussian Blur</guimenuitem> +</menuchoice></term> +<listitem><para><action>Performs a slight blur on the image or +selection.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Colors</guisubmenu> +</menuchoice></term> +<listitem><para>Contains filters that change the image colors.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Colors</guisubmenu> +<guimenuitem>Color to Alpha</guimenuitem> +</menuchoice></term> +<listitem><para><action></action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Colors</guisubmenu> +<guimenuitem>Color Transfer</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-colortransfer">Color Transfer</link> dialog +to give the image a new look.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Colors</guisubmenu> +<guimenuitem>Maximize Channel</guimenuitem> +</menuchoice></term> +<listitem><para><action>Adjusts the colors of each pixel by removing color +channels that are less abundant.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Colors</guisubmenu> +<guimenuitem>Minimize Channel</guimenuitem> +</menuchoice></term> +<listitem><para><action>Adjusts the colors of each pixel by removing color +channels that are abundant.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Edge Detection</guisubmenu> +</menuchoice></term> +<listitem><para>Contains edge detecting filters.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Edge Detection</guisubmenu> +<guimenuitem>Bottom Edge Detection</guimenuitem> +</menuchoice></term> +<listitem><para><action>Performs edge detection with the bottom sides of image +parts as references.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Edge Detection</guisubmenu> +<guimenuitem>Left Edge Detection</guimenuitem> +</menuchoice></term> +<listitem><para><action>Performs edge detection with the left sides of image +parts as references.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Edge Detection</guisubmenu> +<guimenuitem>Right Edge Detection</guimenuitem> +</menuchoice></term> +<listitem><para><action>Performs edge detection with the right sides of image +parts as references.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Edge Detection</guisubmenu> +<guimenuitem>Sobel...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <guilabel>Sobel</guilabel> +dialog.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Edge Detection</guisubmenu> +<guimenuitem>Top Edge Detection</guimenuitem> +</menuchoice></term> +<listitem><para><action>Performs edge detection with the top sides of image +parts as references.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu> +</menuchoice></term> +<listitem><para>Contains image enhancing +filters.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu> +<guimenuitem>CImg Image Restoration...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-imagerestoration"><guilabel>Image +Restoration</guilabel> dialog</link>.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu> +<guimenuitem>Custom Convolution...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-customconvolution"><guilabel>Custom +Convolution</guilabel> dialog</link>.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu> +<guimenuitem>Gaussian Noise Reduction...</guimenuitem> +</menuchoice></term> +<listitem><para><action></action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu> +<guimenuitem>Mean Removal</guimenuitem> +</menuchoice></term> +<listitem><para><action>Sharpens the image or selection by aggravating color +borders.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu> +<guimenuitem>Sharpen</guimenuitem> +</menuchoice></term> +<listitem><para><action>Sharpens the image or selection.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu> +<guimenuitem>Unsharp Mask</guimenuitem> +</menuchoice></term> +<listitem><para><action>Applies an unsharp mask to the image or +selection.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu> +<guimenuitem>Wavelet Noise Reducer</guimenuitem> +</menuchoice></term> +<listitem><para><action>Reduces noise in the image or +selection.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Emboss</guisubmenu> +</menuchoice></term> +<listitem><para>Contains emboss filters.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Emboss</guisubmenu> +<guimenuitem>Emboss Horizontal & Vertical</guimenuitem> +</menuchoice></term> +<listitem><para><action>Embosses the image or selection on the two main +directions.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Emboss</guisubmenu> +<guimenuitem>Emboss with Variable Depth...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-emboss"><guilabel>Emboss</guilabel> +dialog</link>.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Emboss</guisubmenu> +<guimenuitem>Emboss in All Directions</guimenuitem> +</menuchoice></term> +<listitem><para><action>Embosses the image or +selection.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Emboss</guisubmenu> +<guimenuitem>Emboss Horizontal Only</guimenuitem> +</menuchoice></term> +<listitem><para><action>Embosses the image or selection on the horizontal axis +only.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Emboss</guisubmenu> +<guimenuitem>Emboss Laplascian</guimenuitem> +</menuchoice></term> +<listitem><para><action>Embosses the image or selection using the Laplace +technique.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Emboss</guisubmenu> +<guimenuitem>Emboss Vertical Only</guimenuitem> +</menuchoice></term> +<listitem><para><action>Embosses the image or selection on the vertical axis +only.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Map</guisubmenu> +</menuchoice></term> +<listitem><para>Contains map filters.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Map</guisubmenu> +<guimenuitem>Bumpmap...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-bumpmap"><guilabel>Bumpmap</guilabel> +dialog</link>.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Map</guisubmenu> +<guimenuitem>Round Corners...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-roundcorners"><guilabel>Round +Corners</guilabel> dialog</link> to round off the corners of the image or +selection.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Map</guisubmenu> +<guimenuitem>Small Tiles...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Shrinks the image or selection and then tiles +it.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Other</guisubmenu> +</menuchoice></term> +<listitem><para>Contains miscellaneous filters.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Other</guisubmenu> +<guimenuitem>Lens Correction...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-lenscorrection">Lens Correction</link> +dialog to correct for lens anomalies.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Other</guisubmenu> +<guimenuitem>Random Noise...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-randomnoise">Random Noise</link> dialog to add +random noise to the image.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Other</guisubmenu> +<guimenuitem>Random Pick...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-randompick">Random Pick</link> dialog to +distort the image.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guisubmenu>Other</guisubmenu> +<guimenuitem>Wave...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <link +linkend="commands-dialogs-filters-wave">Wave</link> dialog to distort the +image</action></para></listitem> +</varlistentry> + + +<varlistentry> +<term><menuchoice> +<guimenu>Filter</guimenu> +<guimenuitem>Filters Gallery</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the +<link linkend="commands-dialogs-filters-filtersgallery"><guilabel>Filters +Gallery</guilabel> dialog</link>.</action> This +shows previews of the various filters and allows for easy +comparison.</para></listitem> +</varlistentry> + +</variablelist> +</para> + +</sect2> + +<!-- ====== Scripts ============================================= --> + + +<sect2 id="commands-menus-scripts"> +<title>The <guimenu>Scripts</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Scripts</guimenu> +<guimenuitem>Execute Script File</guimenuitem> +</menuchoice></term> +<listitem><para><action>Executes a script file.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Scripts</guimenu> +<guimenuitem>Script Manager</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <guilabel>Script Manager</guilabel> dialog. +</action></para></listitem> +</varlistentry> + +</variablelist> +</para> + +</sect2> + +<!-- ====== Settings ============================================ --> + +<sect2 id="commands-menus-settings"> +<title>The <guimenu>Settings</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +</menuchoice></term> +<listitem><para>Contains options to display or hide the various +toolbars.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +<guimenuitem>File</guimenuitem> +</menuchoice></term> +<listitem><para><action>Displays or hides the <guilabel>File</guilabel> +toolbar.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +<guimenuitem>Edit</guimenuitem> +</menuchoice></term> +<listitem><para><action>Displays or hides the <guilabel>Edit</guilabel> +toolbar.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +<guimenuitem>Navigation</guimenuitem> +</menuchoice></term> +<listitem><para><action>Displays or hides the <guilabel>Navigation</guilabel> +toolbar.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +<guimenuitem>&krita;</guimenuitem> +</menuchoice></term> +<listitem><para><action>Displays or hides the +<guilabel>&krita;</guilabel> toolbar.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +<guimenuitem>Brushes and Stuff</guimenuitem> +</menuchoice></term> +<listitem><para><action>Displays or hides the +<guilabel>Brushes and Stuff</guilabel> toolbar.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Shortcuts...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <guilabel>Configure Shortcuts +</guilabel> dialog.</action> This dialog is common to most &kde; applications +and allows you to configure shortcuts for all actions &krita; has to +offer.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Toolbars...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <guilabel>Configure Toolbars</guilabel> +dialog.</action> This dialog is common to most &kde; applications +and allows you to configure &krita;'s toolbars.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure &krita;...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the +<link linkend="settings-preferences"><guilabel>Preferences</guilabel> +dialog</link>.</action> You can configure &krita; here to match your personal +preferences.</para></listitem> +</varlistentry> + +</variablelist> +</para> + +</sect2> + + +<!-- ====== Help ================================================ --> + +<sect2 id="commands-menus-help"> +<title>The <guimenu>Help</guimenu> Menu</title> +&help.menu.documentation; +</sect2> + +</sect1> diff --git a/doc/krita/commands-palettes.docbook b/doc/krita/commands-palettes.docbook new file mode 100644 index 00000000..3661be60 --- /dev/null +++ b/doc/krita/commands-palettes.docbook @@ -0,0 +1,769 @@ +<sect1 id="commands-palettes"> +<title>Palettes</title> + +<para> +This section describes &krita;'s palettes. The palettes are usually found at +the right hand side of &krita;'s main window. There are three palettes which +help you in customizing your images: +</para> + +<sect2 id="commands-palettes-controlbox"> +<title>The <guilabel>Control box</guilabel> palette</title> +<para>The <guilabel>Control box</guilabel> contains three tabs. You can get an +overview of the image, view a color histogram, and modify options for the +current tool.</para> + +<sect3 id="commands-palettes-controlbox-overview"> +<title><guilabel>Overview</guilabel></title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Overview</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-overview.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Overview</guilabel> tab</phrase> +</textobject> +<caption><para>The <guilabel>Overview</guilabel> tab</para></caption> +</mediaobject> +</screenshot> +</para> +<para>This tab offers you two settings. With the spinbox, slider, and +<guibutton>1:1</guibutton> button at the bottom, you can set the zoom level +for the document. The <guilabel>Exposure</guilabel> slider and textbox can be +used to choose the exposure level for OpenEXR images. Furthermore, the +<guilabel>X</guilabel> and <guilabel>Y</guilabel> labels indicate the current +pointer position, with (0,0) being the top left corner of the canvas.</para> +</sect3> + +<sect3 id="commands-palettes-controlbox-histogram"> +<title><guilabel>Histogram</guilabel></title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Histogram</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-histogram.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Histogram</guilabel> tab</phrase> +</textobject> +<caption><para>The <guilabel>Histogram</guilabel> tab</para></caption> +</mediaobject> +</screenshot> +</para> +<para>This tab displays a color histogram showing the distribution of +colors over the image. The histogram is split up in red, green and blue +levels.</para> +</sect3> + +<sect3 id="commands-palettes-controlbox-tool"> +<title><guilabel>Tool</guilabel></title> + +<para>Actually, there is no tab named like this, since the tab name changes to +reflect the name of the currently selected tool. This tab shows the +customization options available for the tools that have them.</para> + +<sect4 id="commands-palettes-controlbox-tool-brush"> +<title><guilabel>Brush</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Brush</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-brush.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Brush</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Brush</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>There are three options available on this tab. +</para><para> +The <guilabel>Opacity</guilabel> slider and spin box are used to set the +opacity when drawing (opacity is the opposite of transparency, i.e. 100% +opaque is 0% transparent, and vice versa). +</para><para> +In the <guilabel>Mode</guilabel> drop down box, you can choose a drawing +mode. This changes the actual effect that results from drawing on the image +(for example, only changing the saturation or lightness). +</para><para> +With the <guilabel>Paint direct</guilabel> option, you can determine whether +you want to paint directly on the current layer, or on a temporary layer which +is then composited onto the actual layer. This makes a difference especially +when using relative low opacity values.</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-line"> +<title><guilabel>Line</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Line</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-line.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Line</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Line</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>See <link +linkend="commands-palettes-controlbox-tool-brush">Brush</link> +for the description of <guilabel>Opacity</guilabel> and +<guilabel>Mode</guilabel>. The <guilabel>?</guilabel> button shows a tip about +the usage of modifier keys.</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-rectangle"> +<title><guilabel>Rectangle</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Rectangle</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-rectangle.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The Tool tab for <guilabel>Rectangle</guilabel></phrase> +</textobject> +<caption><para>The Tool tab for <guilabel>Rectangle</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>See <link +linkend="commands-palettes-controlbox-tool-brush">Brush</link> for a description of <guilabel>Opacity</guilabel> and +<guilabel>Mode</guilabel>. +</para><para> +The <guilabel>Fill</guilabel> drop down box is used to specify whether the +inside of the rectangle should be filled. You can choose between three fill +options: the current foreground color, background color or pattern is +used.</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-bezier"> +<title><guilabel>Bezier</guilabel></title> +<para>See <link +linkend="commands-palettes-controlbox-tool-brush">Brush</link> for the +description of <guilabel>Mode</guilabel> and <guilabel>Opacity</guilabel>.</para> +</sect4> + + +<sect4 id="commands-palettes-controlbox-tool-ellipse"> +<title><guilabel>Ellipse</guilabel></title> +<para>The same options as for <link +linkend="commands-palettes-controlbox-tool-rectangle">Rectangle</link> are +available here.</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-polygon"> +<title><guilabel>Polygon</guilabel></title> +<para>The same options as for <link +linkend="commands-palettes-controlbox-tool-rectangle">Rectangle</link> are +available here.</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-polyline"> +<title><guilabel>Polyline</guilabel></title> +<para>The same options as for <link +linkend="commands-palettes-controlbox-tool-line">Line</link> +are available here.</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-star"> +<title><guilabel>Star</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Star</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-star.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Star</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Star</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>The options for <link +linkend="commands-palettes-controlbox-tool-rectangle">Rectangle</link> are +available here, as well as two options specific to this tool. +</para><para> +The <guilabel>Vertices</guilabel> drop down box is used to set the amount +of vertices (points) in the star. +</para><para> +The <guilabel>Ratio</guilabel> setting defines the shape of the +star. A ratio of 0% will create a star with no inner area (when drawing the +star, the two lines that make up a star point, overlap). Increasing the ratio +will slowly make the star more outlined (the two lines are <quote>pulled +apart</quote>). A star with a ratio of 100% is a regular polygon. +</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-duplicate"> +<title><guilabel>Duplicate</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Duplicate</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-duplicate.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Duplicate</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Duplicate</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>The same options as for <link +linkend="commands-palettes-controlbox-tool-line">Line</link> +are available here. In addition, there are three other options. +</para><para> +With the <guilabel>Healing</guilabel> and +<guilabel>Healing radius</guilabel> options, you can specify that the +duplication should not copy the colors, but only the <quote>structure</quote> +of the source area. +</para><para> +If you enable the <guilabel>Correct the perspective</guilabel> option, the +duplicate tool will follow your perspective grid. +</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-paintwithfilters"> +<title><guilabel>Paint with Filters</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Paint with Filters</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-paintwithfilters.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Paint with Filters</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Paint with Filters</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>Depending on the filter, you can set different options here. The +options you can set are the same as those available in the +<quote>normal</quote> settings dialog for the chosen filter. See the +<link linkend="commands-dialogs-filters">Filters section in the Dialogs +chapter</link> for more information.</para> </sect4> + +<sect4 id="commands-palettes-controlbox-tool-transform"> +<title><guilabel>Transform</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Transform</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-transform.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Transform</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Transform</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<!-- >The <guilabel>Move X</guilabel> and <guilabel>Move Y</guilabel> +spin boxes show, and can be used to set, the displacement of the layer or +selection. The same applies to <guilabel>Scale X</guilabel> and <guilabel>Scale +Y</guilabel> for the scaling of the current layer or selection. Finally, --> +<para>You can choose which transformation algorithm to use in the +<guilabel>Filter</guilabel> drop down box.</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-crop"> +<title><guilabel>Crop</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Crop</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-crop.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Crop</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Crop</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>Set the corner coordinates of the area that should remain with the +four spin boxes <guilabel>X</guilabel>, <guilabel>Y</guilabel>, +<guilabel>Width</guilabel> and <guilabel>Height</guilabel>. You can also +fill in <guilabel>Ratio</guilabel> to determine the Y/X ratio. Check one of +the checkboxes to have the respective value remain constant while changing the +size of the area. The drop down box can be used to select whether the entire +image or only the current layer should be cropped. Clicking the +<guibutton>Crop</guibutton> button has the same effect as double-clicking +outside the area in the image.</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-contiguousfill"> +<title><guilabel>Contiguous Fill</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Contiguous Fill</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-contiguousfill.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Contiguous Fill</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Contiguous Fill</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>The same options as for <link +linkend="commands-palettes-controlbox-tool-brush">Brush</link> +are available here, as are a couple of other options. +</para><para> +The setting in the <guilabel>Threshold</guilabel> slider and spin box +determines how near the color of a point should be to the color of the +starting point of the fill, in order for the fill to spread out over the +former point. A higher threshold will therefore fill areas that have less +similar colors, a lower threshold limits the spread. +</para><para> +If you check the <guilabel>Fill entire selection</guilabel> checkbox, the +entire selection will be filled instead of only the neighboring area. +</para><para> +Checking the <guilabel>Limit to current layer</guilabel> checkbox changes the +behavior of the fill: the extent to which the fill is done, is determined from +the current layer only instead of the entire image. +</para><para> +By checking the <guilabel>Use pattern</guilabel> checkbox you can choose to +fill with the currently selected pattern instead of with the foreground color. +</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-gradient"> +<title><guilabel>Gradient</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Gradient</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-gradient.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Gradient</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Gradient</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>The same options as for <link +linkend="commands-palettes-controlbox-tool-brush">Brush</link> +are available here, as are a couple of other options. +</para><para> +The <guilabel>Shape</guilabel> drop down box can be used to select the gradient +type: <guilabel>Linear</guilabel>, <guilabel>Bi-Linear</guilabel>, <guilabel>Radial</guilabel>, +<guilabel>Square</guilabel>, <guilabel>Conical</guilabel> and <guilabel>Conical Symmetric</guilabel>. +</para><para> +The <guilabel>Repeat</guilabel> option determines whether the gradient is +repeated if it does not fill the entire image. With <guilabel>None</guilabel>, the colors on the +ends of the gradient are used to fill the remaining space. With <guilabel>Forwards</guilabel>, the +gradient is normally repeated (connecting the back end of one occurrence with +the front end of the next). With <guilabel>Alternating</guilabel>, the gradient is repeated with +every second occurrence being drawn from back to front (linking front to front +and back to back). +</para><para> +Check the <guilabel>Reverse</guilabel> checkbox to have the gradient drawn +reversed (from back to front). +</para><para> +The final setting is <guilabel>Anti-alias threshold</guilabel>, which +determines how smooth the gradient will become. +</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-text"> +<title><guilabel>Text</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Text</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-text.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Text</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Text</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>The same options as for <link +linkend="commands-palettes-controlbox-tool-brush">Brush</link> +are available here. Furthermore there is an option <guilabel>Font</guilabel>, +which shows the font that will be used for the text. Click the +<guibutton>...</guibutton> button to change the font. +</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-colorpicker"> +<title><guilabel>Color Picker</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Color Picker</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-colorpicker.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Color Picker</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Color Picker</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>The first option is a dropdown box in which you can choose which +layer to pick the color from. If you choose a specific layer, +the color of the point in that layer will be retrieved. With <guilabel>Sample +All Visible Layers</guilabel>, the topmost visible layer which is not +transparent at that point is used. +</para><para> +If the <guilabel>Update current color</guilabel> checkbox is checked, then the +current foreground color (when clicking with the &LMB;) or background color +(when clicking with the &RMB;) is set to the picked color. +</para><para> +The checkbox <guilabel>Add to palette</guilabel> and the accompanying +dropdown box determine whether the picked color should be added to an existing +palette. Check the checkbox, and choose the desired palette from the list, if +you want to do so. +</para><para> +The checkbox <guilabel>Show colors as percentages</guilabel> switches the +range of color values displayed from the <quote>normal</quote> range (e.g. 0 to +255) to a scaled value between 0% and 100%. +</para><para> +With the <guilabel>Sample radius</guilabel> option, you can choose the area +size to use when picking the color. A radius of one just picks one pixel, +larger radii will make the picker average over the colors of the circle-shaped +area with the chosen radius that is centered around the chosen pixel. +</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-select"> +<title><guilabel>Select</guilabel> tools</title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Select</guilabel> tools</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-select.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Select</guilabel> tools</phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Select</guilabel> tools</para></caption> +</mediaobject> +</screenshot> +</para> +<para>The <guilabel>Paint Selection</guilabel>, <guilabel>Erase Selection</guilabel>, +<guilabel>Select Rectangular</guilabel>, <guilabel>Select Elliptical</guilabel>, <guilabel>Select Polygonal</guilabel> and <guilabel>Select Outline</guilabel> tools have one option: +the <guilabel>Action</guilabel> to perform. You can choose between <guilabel>Add</guilabel> to, or +<guilabel>Subtract</guilabel> from the selection.</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-selectcontiguous"> +<title><guilabel>Select Contiguous Area</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Select Contiguous</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-selectcontiguous.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Select Contiguous</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Select Contiguous</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>The <guilabel>Action</guilabel> is the same as discussed with the +<link linkend="commands-palettes-controlbox-tool-select">Select +operations</link>. +</para><para> +The slider and spin box at <guilabel>Fuzziness</guilabel> determine how near +colors must be to the color at the clicked point to be added to the selection. +</para><para> +When the <guilabel>Sample merged</guilabel> checkbox is checked, the +bounds of the selection are determined by looking at the entire image instead +of at the current layer. +</para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-selectsimilar"> +<title><guilabel>Similar Select</guilabel></title> +<para>The <guilabel>Action</guilabel> and <guilabel>Fuzziness</guilabel> +options are the same as with <link +linkend="commands-palettes-controlbox-tool-selectcontiguous">Select +contiguous</link>. </para> +</sect4> + +<sect4 id="commands-palettes-controlbox-tool-selectmagnetic"> +<title><guilabel>Select Magnetic</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Tool</guilabel> tab for <guilabel>Select Magnetic</guilabel></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-controlbox-selectmagnetic.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tool</guilabel> tab for <guilabel>Select Magnetic</guilabel></phrase> +</textobject> +<caption><para>The <guilabel>Tool</guilabel> tab for <guilabel>Select Magnetic</guilabel></para></caption> +</mediaobject> +</screenshot> +</para> +<para>The <guilabel>Action</guilabel> option is the same as with the other +<link linkend="commands-palettes-controlbox-tool-select">Select tools</link>. +</para> +<para> +The <guilabel>Distance</guilabel> option determines the maximal distance at +which boundaries to attach to, are searched for. The <guibutton>To +Selection</guibutton> button has the same effect as double-clicking the &LMB;: +the selection is finished. +</para> +</sect4> + +</sect3> + +</sect2> + +<sect2 id="commands-palettes-colors"> +<title>The <guilabel>Colors</guilabel> palette</title> +<para>In this palette you can choose the foreground and background colors +that should be used for painting. You can choose these in five different +ways. Each of these has its own tab on this palette. +</para><para> +You can choose which color to set by clicking the corresponding +buttons at the top left. The topmost color is the foreground color, the +bottom one is the background color. You can click the double-headed arrow +to swap the colors: foreground color becomes background color and vice +versa. You can reset the colors to the default (foreground black, background +white) by clicking the small black/white icon. +</para> + +<sect3 id="commands-palettes-colors-hsv"> +<title><guilabel>HSV</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>HSV</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-colors-hsv.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>HSV</guilabel> tab</phrase> +</textobject> +<caption><para>The <guilabel>HSV</guilabel> tab</para></caption> +</mediaobject> +</screenshot> +</para> +<para>On this tab, you can select a color via the Hue / Saturation / Value +system. +</para><para> +The hue determines the major color and starts at red with 0, then increases +along the color spectrum (that is, along the <quote>line</quote> yellow, green, +blue, violet) to a maximum of 359. This is represented in the circle on the tab +as the angle component (starting at the top, rotate along the circle +in clockwise direction to increase the hue). +</para><para> +The saturation determines the pureness of the color. A saturation of 255 +yields the pure color, while a saturation of 0 yields a gray. This is the +radius component of the color circle on the tab: the center corresponds to +no saturation, the circle boundary corresponds to fully saturated. +</para><para> +The value determines the lightness of the color. This darkens or lightens the +color, as can be set using the vertical slider on the tab. A value of 0 gives +black, a value of 255 gives the pure color. +</para> +</sect3> + +<sect3 id="commands-palettes-colors-rgb"> +<title><guilabel>RGB</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>RGB</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-colors-rgb.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>RGB</guilabel> tab</phrase> +</textobject> +<caption><para>The <guilabel>RGB</guilabel> tab</para></caption> +</mediaobject> +</screenshot> +</para> +<para>On this tab, colors can be selected using their Red / Green / Blue +components. +</para><para> +You can set red, green and blue components on a scale of 0 to 255. At 0 that +color component is absent, at 255 it is used at maximum intensity. The sliders +will change color to give you a hint about which color you will produce by +altering the corresponding value. +</para> +</sect3> + +<sect3 id="commands-palettes-colors-gray"> +<title><guilabel>Gray</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Gray</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-colors-gray.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Gray</guilabel> tab</phrase> +</textobject> +<caption><para>The <guilabel>Gray</guilabel> tab</para></caption> +</mediaobject> +</screenshot> +</para> +<para>On this tab, you can choose a gray value (indicated with a K for Key, +the usual designation for black).</para> +<para>The gray value can be chosen on a scale from 0 (pure white) to 255 +(pure black).</para> +</sect3> + +<sect3 id="commands-palettes-colors-palettes"> +<title><guilabel>Palettes</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Palettes</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-colors-palettes.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Palettes</guilabel> tab</phrase> +</textobject> +<caption><para>The <guilabel>Palettes</guilabel> tab</para></caption> +</mediaobject> +</screenshot> +</para> +<para>On this tab, you can select a color from one of several predefined +color palettes.</para> +<para>You can choose which color palette to pick from in the drop down +box at the top.</para> +</sect3> + +<sect3 id="commands-palettes-colors-watercolors"> +<title><guilabel>Watercolors</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Watercolors</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-colors-watercolors.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Watercolors</guilabel> tab</phrase> +</textobject> +<caption><para>The <guilabel>Watercolors</guilabel> tab</para></caption> +</mediaobject> +</screenshot> +</para> +<para>This tab offers you a selection of watercolors for painting with <quote>wet +paint</quote>. +</para><para> +You can set two options to modify the painting behaviour: <guilabel>Paint +strength</guilabel> influences how much paint you will apply to the canvas, +and <guilabel>Wetness</guilabel> determines how wet the paint is when it is +applied. You can dry the paint later. +</para> +</sect3> + +</sect2> + +<sect2 id="commands-palettes-layers"> +<title>The <guilabel>Layers</guilabel> palette</title> +<para>This palette offers two tabs.</para> + +<sect3 id="commands-palettes-layers-layers"> +<title><guilabel>Layers</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Layers</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-layers-layers.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Layers</guilabel> tab</phrase> +</textobject> +<caption><para>The <guilabel>Layers</guilabel> tab</para></caption> +</mediaobject> +</screenshot> +</para> +<para>This tab offers you access to various operations on layers. +</para><para> +On the top left, you can select what blending mode should be used for the +selected layer. These are the same possibilities as you can choose from for +drawing modes. +</para><para> +The slider/textbox at the top right determines the opacity of the selected +layer. 0% opacity corresponds to 100% transparency, and vice versa. +</para><para> +The list shows all layers and their names, and offers various controls for each +layer. The eye icon toggles whether the layer is visible or not. The link icon +is used to link layers together. The lock icon determines if the layer is +locked or not. Locked layers cannot be edited. +</para><para> +Below the layer list, there are some other controls. You can create a new +layer, move the current layer up or down, show the layer's properties and +delete it. +</para> +<para> +There are some more handy tricks you can do with the mouse within the list. +Right-click on the layer list and select <guilabel>New Folder</guilabel> to +create a new layer folder, which you can use to group layers in. You can also +drag and drop layers to change their order. To do so, click on the bottom part +of the list item representing the layer, drag the mouse, and release the mouse +button at the desired position. If you click at the top part of the list item +instead, you will get a text field so that you can rename the layer. +</para> +</sect3> + +<sect3 id="commands-palettes-layers-scriptsmanager"> +<title><guilabel>Scripts Manager</guilabel></title> +<para> +<screenshot> +<screeninfo>The <guilabel>Script Manager</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="palettes-layers-scriptsmanager.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Script Manager</guilabel> tab</phrase> +</textobject> +<caption><para>The <guilabel>Script Manager</guilabel> tab</para></caption> +</mediaobject> +</screenshot> +</para> +<para>This tab is a smaller version of the <guilabel>Script +Manager</guilabel> dialog. See the description over there for more +information. +</para> +</sect3> + +</sect2> + +</sect1> diff --git a/doc/krita/commands-toolbars.docbook b/doc/krita/commands-toolbars.docbook new file mode 100644 index 00000000..05ddea55 --- /dev/null +++ b/doc/krita/commands-toolbars.docbook @@ -0,0 +1,752 @@ +<sect1 id="commands-toolbars"> +<title>Toolbars</title> + +<para>This section describes &krita;'s toolbars. By default, the +<guilabel>Krita</guilabel> toolbar is located to the left of the drawing area, +while the others can be found at the top, below the menu bar.</para> + +<para>You can customize your toolbars by choosing +<menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure +Toolbars...</guimenuitem></menuchoice> or by clicking with the &RMB; on a +toolbar and choosing <guimenuitem>Configure Toolbars...</guimenuitem>.</para> + +<sect2 id="commands-toolbars-file"> +<title>The <guilabel>File</guilabel> Toolbar</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>File</guilabel> toolbar</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="toolbar-file.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>File</guilabel> toolbar</phrase> +</textobject> +<caption><para>The <guilabel>File</guilabel> toolbar</para></caption> +</mediaobject> +</screenshot> +</para> + +<para>This toolbar contains actions for working with files. In &krita;'s +default, there are five buttons on this toolbar: <guilabel>New</guilabel>, +<guilabel>Open</guilabel>, <guilabel>Save</guilabel>, <guilabel>Print +Preview</guilabel>, and <guilabel>Print</guilabel>.</para> + +<para>These actions all correspond to entries in the <link +linkend="commands-menus-file"><guimenu>File</guimenu> menu</link>.</para> + +</sect2> + +<sect2 id="commands-toolbars-edit"> +<title>The <guilabel>Edit</guilabel> Toolbar</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Edit</guilabel> toolbar</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="toolbar-edit.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Edit</guilabel> toolbar</phrase> +</textobject> +<caption><para>The <guilabel>Edit</guilabel> toolbar</para></caption> +</mediaobject> +</screenshot> +</para> + +<para>This toolbar contains editing actions. With default settings this +toolbar offers four buttons: <guilabel>Undo</guilabel>, +<guilabel>Redo</guilabel>, <guilabel>Cut</guilabel>, and +<guilabel>Copy</guilabel>.</para> + +<para>These actions all correspond to entries in the <link +linkend="commands-menus-edit"><guimenu>Edit</guimenu> menu</link>.</para> +</sect2> + +<sect2 id="commands-toolbars-navigation"> +<title>The <guilabel>Navigation</guilabel> Toolbar</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Navigation</guilabel> toolbar</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="toolbar-navigation.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Navigation</guilabel> toolbar</phrase> +</textobject> +<caption><para>The <guilabel>Navigation</guilabel> toolbar</para></caption> +</mediaobject> +</screenshot> +</para> + +<para>This toolbar offers easy access to navigation actions. The two +default actions available are <guilabel>Zoom In</guilabel> and +<guilabel>Zoom Out</guilabel>. With <guilabel>Zoom In</guilabel>, the zoom +level is increased. You will see less, but in higher detail. With +<guilabel>Zoom Out</guilabel>, the zoom level is decreased, so that you see +more at less detail. </para> + +</sect2> + +<sect2 id="commands-toolbars-krita"> +<title>The <guilabel>Krita</guilabel> Toolbar</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Krita</guilabel> toolbar</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="toolbar-krita.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Krita</guilabel> toolbar</phrase> +</textobject> +<caption><para>The <guilabel>Krita</guilabel> toolbar</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This toolbar contains painting operations and tools, as well as editing and +selecting tools. The available actions and some controls are listed below. You +can change the behaviour of most tools (and with that, usually the resulting +effect) by setting their <link +linkend="commands-palettes-controlbox-tool">options</link>. +</para> + +<variablelist> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-brush.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Brush</guilabel></term> +<listitem><para> +With this tool you can paint freely. Click the &LMB; to paint a +single instance of the currently selected brush, or hold the &LMB; and drag +your mouse around to paint. The mouse movements you make are directly used for +painting. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-line.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Line</guilabel></term> +<listitem><para> +This tool is used to draw lines. Click the &LMB; to indicate the first +endpoint, keep the button pressed, drag to the second endpoint and release the +button. +</para><para> +Use &Shift; while holding the mouse button to restrict drawing to only +horizontal or vertical lines. You can press &Alt; while still keeping the &LMB; +down to move the line to a different location. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-rectangle.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Rectangle</guilabel></term> +<listitem><para> +This tool can be used to paint rectangles. Click and hold the &LMB; to indicate +one corner of the rectangle, drag to the opposite corner, and release the +button. +</para><para> +If you hold &Shift; while drawing, a square will be drawn instead of a +rectangle. Holding &Ctrl; will change the way the rectangle is constructed. +Normally, the first mouse click indicates one corner and the second click the +opposite. With &Ctrl;, the initial mouse position indicates the center of the +rectangle, and the final mouse position indicates a corner. +You can press &Alt; while still keeping the &LMB; down to move the rectangle to +a different location. +</para><para> +You can change between the corner/corner and center/corner drawing +methods as often as you want by pressing or releasing &Ctrl;, provided that you +keep the &LMB; pressed. With &Ctrl; pressed, mouse movements will affect all +four corners of the rectangle (relative to the center), without &Ctrl;, one +of the corners is unaffected. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-ellipse.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Ellipse</guilabel></term> +<listitem><para> +Use this tool to paint an ellipse. The currently selected brush is used for +drawing the ellipse outline. Click and hold the &LMB; to indicate one corner of +the <quote>bounding rectangle</quote> of the ellipse, then move your mouse to +the opposite corner. &krita; will show a preview of the ellipse using a thin +line. Release the button to draw the ellipse. +</para><para> +If you hold &Shift; while drawing, a circle will be drawn instead of an +ellipse. Holding &Ctrl; will change the way the ellipse is constructed: instead +of two corners, the initial mouse position indicates the ellipse center, and the +final mouse position indicates one of the corners of the bounding rectangle. +You can press &Alt; while still keeping the &LMB; down to move the ellipse to a +different location. +</para><para> +You can change between the corner/corner and center/corner drawing +methods as often as you want by pressing or releasing &Ctrl;, provided that you +keep the &LMB; pressed. With &Ctrl; pressed, mouse movements will +affect all four corners of the bounding rectangle (relative to the center), +without &Ctrl;, the corner opposite to the one you are moving remains still. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-polygon.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Polygon</guilabel></term> +<listitem><para> +With this tool you can draw polygons. Click the &LMB; to indicate the +starting point and successive vertices, then double-click or press &Enter; to +connect the last vertex to the starting point. +</para></listitem></varlistentry> + +<varlistentry> <term><inlinemediaobject><imageobject><imagedata +fileref="tool-polyline.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Polyline</guilabel></term> +<listitem><para> +Polylines are drawn like polygons, with the difference that the double-click +indicating the end of the polyline does not connect the last vertex to the +first one. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-star.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Star</guilabel></term> +<listitem><para> +This tool creates star-shaped objects. Press the &LMB; to indicate the center, +and drag the mouse to change the size and rotation of the star. +</para><para> +You can press &Alt; while still keeping the &LMB; down to move the star to a +different location. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-bezier.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Bezier</guilabel></term> +<listitem><para> +You can draw Bezier curves by using this tool. Click the &LMB; to indicate the +starting point of the curve, then click again for consecutive control points +of the curve. +</para> +<para> +<screenshot> +<screeninfo>Drawing a Bezier curve</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tool-bezier-example.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>Drawing a Bezier curve</phrase> +</textobject> +<caption><para>Drawing a Bezier curve</para></caption> +</mediaobject> +</screenshot> +</para> +<para> +&krita; will show a blue line with two handles when you add a control point. +You can drag these handles to change the direction of the curve in that point. +</para> +<para> +<screenshot> +<screeninfo>Modifying a Bezier curve</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tool-bezier-example2.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>Modifying a Bezier curve</phrase> +</textobject> +<caption><para>Modifying a Bezier curve</para></caption> +</mediaobject> +</screenshot> +</para> +<para> +You can click on a previously inserted control point to modify it. With an intermediate +control point (&ie; a point that is not the starting point and not the ending +point), you can move the direction handles seperately to have the curve enter +and leave the point in different directions. After editing a point, you can +just click on the canvas to continue adding points to the curve. +</para> +<para> +Pressing <keycap>Delete</keycap> will remove the currently selected control +point from the curve. Double-click the &LMB; on any point of the curve or +press &Enter; to finish drawing, or press &Esc; to cancel the entire curve. +You can use &Ctrl; while keeping the &LMB; pressed to move the entire curve to +a different position. +</para> +<para> +<screenshot> +<screeninfo>A finished Bezier curve</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tool-bezier-example3.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>A finished Bezier curve</phrase> +</textobject> +<caption><para>A finished Bezier curve</para></caption> +</mediaobject> +</screenshot> +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-duplicate.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Duplicate</guilabel></term> +<listitem><para> +You can use this tool to duplicate parts of an image. Press &Shift; and click +with the &LMB; on the location you want to duplicate from. &krita; will +indicate this location by an outline of your current brush. Then click with +the &LMB; to designate the location where you want to duplicate to, and drag +with the mouse. You will then duplicate whatever is at the source location to +the current (destination) location. +</para><para> +While you are painting the duplicate, both your cursor in the destination +location and the brush outline in the source location will move, in order to +give you visual feedback. +</para><para> +You can also use this tool to correct colors in a part of the image: use the +<guilabel>Healing</guilabel> option for that. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-paintwithfilters.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Paint with +filters</guilabel></term> +<listitem><para> +This tool allows you to pick a filter and draw with it. The image below shows +the effect of using a large circular brush and painting with, from left to +right, the Maximize Channel, Minimize Channel, Invert, and Desaturate filters. +</para> +<para> +<screenshot> +<screeninfo>Painting with filters</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tool-paintwithfilters-example.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>Painting with filters</phrase> +</textobject> +<caption><para>Painting with filters</para></caption> +</mediaobject> +</screenshot> +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-crop.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Crop</guilabel></term> +<listitem><para> +With this tool you can crop a layer or an image to a certain rectangular area. +Click and drag with the &LMB; to define an area. This area is designated by an +outline with 8 handles. You can then use the handles to change the size of the +area which the image or layer is to be cropped to. You can also click and drag +inside the area to move the outline in its entirety. +</para><para> +Double-click outside the area (i.e. on a part of the image that is to be removed) +to confirm the cropping operation. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-move.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Move</guilabel></term> +<listitem><para> +With this tool, you can move the current layer or selection by dragging the +mouse. +</para></listitem></varlistentry> + +<varlistentry> +<term><inlinemediaobject><imageobject><imagedata fileref="tool-transform.png" +format="PNG"></imagedata> </imageobject></inlinemediaobject> Transform</term> +<listitem><para> +With this tool you can quickly transform the current selection or layer. +Handles will appear at the corners and sides, with which you can resize the +selection or layer. You can perform rotations by moving the mouse above or to +the left of the handles and dragging it. You can also click anywhere inside +the selection or layer and move it by dragging the mouse. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-perspectivetransform.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Perspective Transform</guilabel></term> +<listitem><para> +This tool allows you to change the perspective of an image. Designate the area +which should become the new image by clicking at its top-left, top-right, +bottom-right and bottom-left corners. The area given by these four corners +will then be transformed so that the given corners become the corners of the +actual image. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-contiguousfill.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Contiguous Fill</guilabel></term> +<listitem><para> +Use this tool to fill a contiguous area of one color with the current +foreground color or a pattern. Simply click to fill up the area. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-gradient.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Gradient</guilabel></term> +<listitem><para> +This tool fills the current layer or selection with the currently selected +gradient. Click the &LMB;, hold it, and drag the mouse to define two endpoints. +The gradient will be drawn along this line. If the line does not extend to the +border of the selection or layer, the color at the corresponding endpoint of +the gradient will be used to fill up the rest of the area at that side. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-text.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Text</guilabel></term> +<listitem><para> +With this tool you can add simple text to your image. Click the &LMB; on the +location at which you want have the text. Then enter the desired text in the +dialog window that appears. The text will be horizontally centered on, and +the top of the text will be at the same height as, the chosen location. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-colorpicker.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Color Picker</guilabel></term> +<listitem><para> +With this tool you can find the color values of a point. Click the &LMB; +somewhere in the image to see color information about that point in the +<guilabel>Control box</guilabel>. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-pan.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Pan</guilabel></term> +<listitem><para> +This tool can be used to navigate through your image. Click and hold the &LMB; +and move the mouse to scroll in a certain direction. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-zoom.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Zoom</guilabel></term> +<listitem><para> +Use this tool to zoom in and out. Click the &LMB; to increase the zoom by +a factor 2 (e.g. 1:1 to 2:1), click the &RMB; to decrease the zoom by a factor +2 (e.g. 1:1 to 1:2). +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-perspectivegrid.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Perspective Grid</guilabel></term> +<listitem><para> +You can create and edit a perspective grid with this tool. Click the &LMB; and +drag the mouse to indicate the first two corners of the grid, then click for +the third and fourth corners. The outline of the grid is now shown and you can +edit it if you are not completely happy. When you switch to a different tool, +the perspective grid will be subdivided and shown as thin gray lines. +</para> +<note><para>If you only see three corners instead of four, you probably +clicked instead of dragging initially. In this case you can still click the +handle of your now combined first and second corners and drag it to get four +separate corners.</para></note> +<para> +Clicking the <guilabel>Perspective Grid</guilabel> tool again later will allow +you to modify the grid. You can hide or remove the grid by choosing the +<guimenuitem>Hide Perspective Grid</guimenuitem> or <guimenuitem>Clear +Perspective Grid</guimenuitem> options from the <guimenu>View</guimenu> menu. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-paintselection.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Paint Selection</guilabel></term> +<listitem><para> +This tool can be used to select custom areas. The currently selected brush is +used to select areas: instead of painting on the image, the area is selected. +For more information on selections, see <link +linkend="selections">the Selections chapter</link>. +</para></listitem></varlistentry> + +<varlistentry> +<term><inlinemediaobject><imageobject><imagedata +fileref="tool-eraseselection.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Erase Selection</guilabel></term> +<listitem><para> +This tool works almost the same as the <guilabel>Paint Selection</guilabel> +tool, but a selection, if it exists at the mouse location, is removed instead +of created. +</para></listitem></varlistentry> + +<varlistentry> +<term><inlinemediaobject><imageobject><imagedata +fileref="tool-selectrectangular.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Select Rectangular</guilabel></term> +<listitem><para> +You can use this tool to select rectangular areas. Operation is similar to the +<guilabel>Rectangle</guilabel> tool, and &Shift;, &Ctrl; and &Alt; can be used +like when painting rectangles. +</para></listitem></varlistentry> + +<varlistentry> +<term><inlinemediaobject><imageobject><imagedata +fileref="tool-selectelliptical.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Select Elliptical</guilabel></term> +<listitem><para> +You can use this tool to select elliptical areas. Operation is similar to the +<guilabel>Ellipse</guilabel> tool, and &Shift;, &Ctrl; and &Alt; can be used +like when painting ellipses. +</para></listitem></varlistentry> + +<varlistentry> +<term><inlinemediaobject><imageobject><imagedata +fileref="tool-selectpolygonal.png" +format="PNG"></imagedata> </imageobject></inlinemediaobject> <guilabel>Select +Polygonal</guilabel></term> +<listitem><para> +You can use this tool to select polygonal areas. Operation is similar to the +<guilabel>Polygon</guilabel> tool, and &Shift;, &Ctrl; and &Alt; can be used +like when painting polygons. +</para></listitem></varlistentry> + +<varlistentry> +<term><inlinemediaobject><imageobject><imagedata +fileref="tool-selectoutline.png" +format="PNG"></imagedata> </imageobject></inlinemediaobject> <guilabel>Select +Outline</guilabel></term> +<listitem><para> +You can use this tool to select custom outlined areas. Click the &LMB; and drag +with your mouse, like when painting with the <guilabel>Brush</guilabel> tool, +to define the outline. When you release the mouse button, the outline will be +finished with a straight line between the current position and the start +position. +</para></listitem></varlistentry> + +<varlistentry> +<term><inlinemediaobject><imageobject><imagedata +fileref="tool-selectcontiguous.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Select Contiguous</guilabel></term> +<listitem><para> +With this tool you can select contiguous areas of a color. Click with the +&LMB; to select an area. +</para></listitem></varlistentry> + +<varlistentry> +<term><inlinemediaobject><imageobject><imagedata +fileref="tool-selectsimilar.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Select Similar</guilabel></term> +<listitem><para> +With this tool you can select multiple areas with the same color. Detection is +done the same as with the contiguous fill, but the areas do not need to be +adjacent. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-selectmagnetic.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Magnetic Selection</guilabel></term> +<listitem><para> +With this tool you can easily select a visually distinct area. Click with the +&LMB; and move the mouse around the area that you want to select. If the area +has a well enough defined boundary, the selection will be drawn nicely around +it. You will see a number of control points appear, which connect the various +parts of the selection boundary. +</para><para> +If you want more control over the area that is selected, press &Ctrl; to +switch to manual mode. You will now have to click for each control point. +In manual mode, you can also move control points by clicking on them with the +&LMB; and dragging with the mouse. +</para><para> +When you want to return to automatic mode, simply press &Ctrl; again. You can +switch between these two modes as often as you like. +</para></listitem></varlistentry> + +<varlistentry><term><inlinemediaobject><imageobject><imagedata +fileref="tool-selectbezier.png" format="PNG"></imagedata> +</imageobject></inlinemediaobject> <guilabel>Select Bezier</guilabel></term> +<listitem><para> +With this tool you can select an area by drawing a Bezier outline. See the +description of the Bezier tool for details. +</para></listitem></varlistentry> + +</variablelist> + +</sect2> + +<sect2 id="commands-toolbars-brushesandstuff"> +<title>The <guilabel>Brushes and Stuff</guilabel> Toolbar</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Brushes and Stuff</guilabel> toolbar</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="toolbar-brushesandstuff.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Brushes and Stuff</guilabel> toolbar</phrase> +</textobject> +<caption><para>The <guilabel>Brushes and Stuff</guilabel> toolbar</para></caption> +</mediaobject> +</screenshot> +</para> + +<para>This toolbar contains dropdown <quote>palettes</quote> in which you +can choose brush shapes, gradients, and fill patterns. It also contains a +dropdown box for painter's tools, and a tablet pressure setting.</para> + +<sect3 id="commands-toolbars-brushesandstuff-brushshapes"> +<title><guilabel>Brush Shapes</guilabel></title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Brush Shapes</guilabel> palette</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="toolbar-brushes-brushshapes-predefined.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Brush Shapes</guilabel> palette</phrase> +</textobject> +<caption><para>The <guilabel>Brush Shapes</guilabel> palette</para></caption> +</mediaobject> +</screenshot> +</para> + +<para>In the <guilabel>Brush Shapes</guilabel> palette, you can choose +which brush to paint with. This brush is used for painting operations +like <guilabel>Freehand</guilabel>, <guilabel>Rectangle</guilabel>, +<guilabel>Ellipse</guilabel>, etcetera. You can choose a predefined +brush (in the <guilabel>Predefined Brushes</guilabel> tab, shown above), or +customize or create one.</para> + +<para> +<screenshot> +<screeninfo>The <guilabel>Brush Shapes</guilabel> palette with the <guilabel>Autobrush</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="toolbar-brushes-brushshapes-autobrush.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Brush Shapes</guilabel> palette with the <guilabel>Autobrush</guilabel> tab</phrase> +</textobject> +<caption><para>The <guilabel>Brush Shapes</guilabel> palette with the <guilabel>Autobrush</guilabel> +tab</para></caption> +</mediaobject> +</screenshot> +</para> + +<para>The <guilabel>Autobrush</guilabel> tab allows you to create a customized +rectangular or ellipsoid brush. You can set its height and width using +the <guilabel>Size</guilabel> spin boxes. The link icon controls whether +the height and width are forced to be the same or not. If a connected link +picture is shown, changing one value will automatically change the other one +as well. A disconnected link indicates that both values can be set +independently. The fuzziness of the brush can be set with the +<guilabel>Fade</guilabel> spin boxes. Again, horizontal and vertical values can +be allowed to differ or not, depending on the state of the link button.</para> + +<para> +<screenshot> +<screeninfo>The <guilabel>Brush Shapes</guilabel> palette with the <guilabel>Custom Brush</guilabel> tab</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="toolbar-brushes-brushshapes-custombrush.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Brush Shapes</guilabel> palette with the <guilabel>Custom Brush</guilabel> tab</phrase> +</textobject> +<caption><para>The <guilabel>Brush Shapes</guilabel> palette with the <guilabel>Custom Brush</guilabel> +tab</para></caption> +</mediaobject> +</screenshot> +</para> + +<para>The <guilabel>Custom Brush</guilabel> tab of this palette lets you +use the current image as a brush. With the <guibutton>Add to +Predefined Brushes</guibutton> button, you can save it for later use.</para> + +</sect3> + +<sect3 id="commands-toolbars-brushesandstuff-gradients"> +<title>Gradients</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Gradients</guilabel> palette</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="toolbar-brushes-gradients.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Gradients</guilabel> palette</phrase> +</textobject> +<caption><para>The <guilabel>Gradients</guilabel> palette</para></caption> +</mediaobject> +</screenshot> +</para> + +<para>In the <guilabel>Gradients</guilabel> palette, you can choose a gradient +to paint with using the <guilabel>Gradient</guilabel> tool. Clicking once on a gradient in the +palette will show a larger preview. Click it again to make it the current +gradient.</para> +<para>You can create your own gradients with the <guibutton>Custom +Gradient</guibutton> button.</para> + +</sect3> + +<sect3 id="commands-toolbars-brushesandstuff-patterns"> +<title>Patterns</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Patterns</guilabel> palette</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="toolbar-brushes-patterns.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Patterns</guilabel> palette</phrase> +</textobject> +<caption><para>The <guilabel>Patterns</guilabel> palette</para></caption> +</mediaobject> +</screenshot> +</para> + +<para>The <guilabel>Patterns</guilabel> palette allows you to choose a pattern +for operations like Pattern fill. Click a pattern to see a preview at +actual size, then click it again to select it.</para> + +<para> +<screenshot> +<screeninfo>The <guilabel>Patterns</guilabel> palette with the <guilabel>Custom Pattern</guilabel> tab selected</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="toolbar-brushes-patterns-custompattern.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Patterns</guilabel> palette with the <guilabel>Custom Pattern</guilabel> tab selected</phrase> +</textobject> +<caption><para>The <guilabel>Patterns</guilabel> palette with the <guilabel>Custom Pattern</guilabel> tab selected</para></caption> +</mediaobject> +</screenshot> +</para> + +<para>You can also create a custom pattern, as is shown above.</para> + +</sect3> + +<sect3 id="commands-toolbars-brushesandstuff-painterstools"> +<title>Painter's tools</title> + +<para>With the <guilabel>Painter's tools</guilabel> dropdown box, you can +select the tool your painting operation should simulate. For example, you can +paint with a normal brush, an airbrush, or a filter.</para> + +</sect3> + +<sect3 id="commands-toolbars-brushesandstuff-pressurevariation"> +<title>Pressure variation</title> + +<para>This setting allows you to change &krita;'s behaviour when you use a +tablet to paint with. When you change the pressure on the tablet, you can +choose between changing the line width (<guilabel>size</guilabel>), the +opacity, and the darkness.</para> + +</sect3> + +</sect2> + +</sect1> diff --git a/doc/krita/commands.docbook b/doc/krita/commands.docbook new file mode 100644 index 00000000..13ab46b0 --- /dev/null +++ b/doc/krita/commands.docbook @@ -0,0 +1,14 @@ +<chapter id="commands"> +<title>Command Reference</title> + +<para> +This chapter explains &krita;'s user interface in detail. Each of the menus, +toolbars, palettes, and dialogs will be discussed. +</para> + +&commands-menus; +&commands-toolbars; +&commands-palettes; +&commands-dialogs; + +</chapter> diff --git a/doc/krita/createdocument.png b/doc/krita/createdocument.png Binary files differnew file mode 100644 index 00000000..5188e232 --- /dev/null +++ b/doc/krita/createdocument.png diff --git a/doc/krita/credits.docbook b/doc/krita/credits.docbook new file mode 100644 index 00000000..9059e147 --- /dev/null +++ b/doc/krita/credits.docbook @@ -0,0 +1,63 @@ +<chapter id="credits"> + +<title>Credits and License</title> + +<para> +&krita; +</para> +<para> +Program copyright © 1999-2006 The &krita; Team +</para> + +<para> +Contributors: + +<itemizedlist> +<listitem><para>Adrian Page +<email>Adrian.Page@tesco.net</email></para></listitem> +<listitem><para>Andrew Richards +<email>physajr@phys.canterbury.ac.nz</email></para></listitem> +<listitem><para>Bart Coppens <email>kde@bartcoppens.be</email></para></listitem> +<listitem><para>Boudewijn Rempt +<email>boud@valdyas.org</email> (current maintainer)</para></listitem> +<listitem><para>Carsten Pfeiffer +<email>pfeiffer@kde.org</email></para></listitem> +<listitem><para>Casper Boemann <email>cbr@boemann.dk</email></para></listitem> +<listitem><para>Cyrille Berger <email>cyb@lepi.org</email></para></listitem> +<listitem><para>Danny Allen +<email>dannya40uk@yahoo.co.uk</email></para></listitem> +<listitem><para>Dirk Schoenberger +<email>dirk.schoenberger@sz-online.de</email></para></listitem> +<listitem><para>Gábor Lehel +<email>illissius@gmail.com</email></para></listitem> +<listitem><para>John Califf +<email>jcaliff@compuzone.net</email></para></listitem> +<listitem><para>Matthias Elter <email>elter@kde.org</email></para></listitem> +<listitem><para>Melchior Franz <email>melchior@kde.org</email></para></listitem> +<listitem><para>Michael Koch <email>koch@kde.org</email></para></listitem> +<listitem><para>Michael Thaler +<email>michael.thaler@ph.tum.de</email></para></listitem> +<listitem><para>Patrick Julien +<email>freak@codepimps.org</email></para></listitem> +<listitem><para>Roger Larsson +<email>roger.larsson@norran.net</email></para></listitem> +<listitem><para>Sven Langkamp +<email>longamp@reallygood.de</email></para></listitem> +</itemizedlist> +</para> + +<para> +Documentation copyright © 2005-2006 Boudewijn Rempt +<email>boud@valdyas.org</email>, Sander Koning +<email>sanderkoning@kde.nl</email> +with contributions from Casper Boemann, Bart Coppens, Cyrille Berger, Burkhard +Lueck, and Anne-Marie Mahfouf. +</para> + +<!-- TRANS:CREDIT_FOR_TRANSLATORS --> +&underFDL; <!-- FDL: do not remove --> +&underGPL; <!-- GPL License --> + +</chapter> + + diff --git a/doc/krita/crocusses-autocontrast.png b/doc/krita/crocusses-autocontrast.png Binary files differnew file mode 100644 index 00000000..e03b3635 --- /dev/null +++ b/doc/krita/crocusses-autocontrast.png diff --git a/doc/krita/crocusses-blur.png b/doc/krita/crocusses-blur.png Binary files differnew file mode 100644 index 00000000..b6aa67da --- /dev/null +++ b/doc/krita/crocusses-blur.png diff --git a/doc/krita/crocusses-brightnesscontrast.png b/doc/krita/crocusses-brightnesscontrast.png Binary files differnew file mode 100644 index 00000000..f09808fe --- /dev/null +++ b/doc/krita/crocusses-brightnesscontrast.png diff --git a/doc/krita/crocusses-bumpmap.png b/doc/krita/crocusses-bumpmap.png Binary files differnew file mode 100644 index 00000000..ed3d0175 --- /dev/null +++ b/doc/krita/crocusses-bumpmap.png diff --git a/doc/krita/crocusses-coloradjustment.png b/doc/krita/crocusses-coloradjustment.png Binary files differnew file mode 100644 index 00000000..4e30ad20 --- /dev/null +++ b/doc/krita/crocusses-coloradjustment.png diff --git a/doc/krita/crocusses-colortoalpha.png b/doc/krita/crocusses-colortoalpha.png Binary files differnew file mode 100644 index 00000000..f3f805a1 --- /dev/null +++ b/doc/krita/crocusses-colortoalpha.png diff --git a/doc/krita/crocusses-colortransfer.png b/doc/krita/crocusses-colortransfer.png Binary files differnew file mode 100644 index 00000000..cae7c1a9 --- /dev/null +++ b/doc/krita/crocusses-colortransfer.png diff --git a/doc/krita/crocusses-customconvolution.png b/doc/krita/crocusses-customconvolution.png Binary files differnew file mode 100644 index 00000000..406c4229 --- /dev/null +++ b/doc/krita/crocusses-customconvolution.png diff --git a/doc/krita/crocusses-desaturate.png b/doc/krita/crocusses-desaturate.png Binary files differnew file mode 100644 index 00000000..5d91e28f --- /dev/null +++ b/doc/krita/crocusses-desaturate.png diff --git a/doc/krita/crocusses-edgebottom.png b/doc/krita/crocusses-edgebottom.png Binary files differnew file mode 100644 index 00000000..7438f8ab --- /dev/null +++ b/doc/krita/crocusses-edgebottom.png diff --git a/doc/krita/crocusses-edgeleft.png b/doc/krita/crocusses-edgeleft.png Binary files differnew file mode 100644 index 00000000..2b31536b --- /dev/null +++ b/doc/krita/crocusses-edgeleft.png diff --git a/doc/krita/crocusses-edgeright.png b/doc/krita/crocusses-edgeright.png Binary files differnew file mode 100644 index 00000000..996b6de8 --- /dev/null +++ b/doc/krita/crocusses-edgeright.png diff --git a/doc/krita/crocusses-embossall.png b/doc/krita/crocusses-embossall.png Binary files differnew file mode 100644 index 00000000..dcdd6f55 --- /dev/null +++ b/doc/krita/crocusses-embossall.png diff --git a/doc/krita/crocusses-embosshorvert.png b/doc/krita/crocusses-embosshorvert.png Binary files differnew file mode 100644 index 00000000..b3eb0d37 --- /dev/null +++ b/doc/krita/crocusses-embosshorvert.png diff --git a/doc/krita/crocusses-embossvariable.png b/doc/krita/crocusses-embossvariable.png Binary files differnew file mode 100644 index 00000000..526e45f3 --- /dev/null +++ b/doc/krita/crocusses-embossvariable.png diff --git a/doc/krita/crocusses-gaussianblur.png b/doc/krita/crocusses-gaussianblur.png Binary files differnew file mode 100644 index 00000000..df58f7f1 --- /dev/null +++ b/doc/krita/crocusses-gaussianblur.png diff --git a/doc/krita/crocusses-gaussiannoise.png b/doc/krita/crocusses-gaussiannoise.png Binary files differnew file mode 100644 index 00000000..3de2a4e9 --- /dev/null +++ b/doc/krita/crocusses-gaussiannoise.png diff --git a/doc/krita/crocusses-invert.png b/doc/krita/crocusses-invert.png Binary files differnew file mode 100644 index 00000000..9f3d5046 --- /dev/null +++ b/doc/krita/crocusses-invert.png diff --git a/doc/krita/crocusses-lenscorrection.png b/doc/krita/crocusses-lenscorrection.png Binary files differnew file mode 100644 index 00000000..4ac1da9a --- /dev/null +++ b/doc/krita/crocusses-lenscorrection.png diff --git a/doc/krita/crocusses-maximizechannel.png b/doc/krita/crocusses-maximizechannel.png Binary files differnew file mode 100644 index 00000000..a3f3a3f2 --- /dev/null +++ b/doc/krita/crocusses-maximizechannel.png diff --git a/doc/krita/crocusses-meanremoval.png b/doc/krita/crocusses-meanremoval.png Binary files differnew file mode 100644 index 00000000..d867e95a --- /dev/null +++ b/doc/krita/crocusses-meanremoval.png diff --git a/doc/krita/crocusses-minimizechannel.png b/doc/krita/crocusses-minimizechannel.png Binary files differnew file mode 100644 index 00000000..cfe00f21 --- /dev/null +++ b/doc/krita/crocusses-minimizechannel.png diff --git a/doc/krita/crocusses-oilpaint.png b/doc/krita/crocusses-oilpaint.png Binary files differnew file mode 100644 index 00000000..6edf1d24 --- /dev/null +++ b/doc/krita/crocusses-oilpaint.png diff --git a/doc/krita/crocusses-pixelize.png b/doc/krita/crocusses-pixelize.png Binary files differnew file mode 100644 index 00000000..bce9291c --- /dev/null +++ b/doc/krita/crocusses-pixelize.png diff --git a/doc/krita/crocusses-raindrops.png b/doc/krita/crocusses-raindrops.png Binary files differnew file mode 100644 index 00000000..322f674a --- /dev/null +++ b/doc/krita/crocusses-raindrops.png diff --git a/doc/krita/crocusses-randomnoise.png b/doc/krita/crocusses-randomnoise.png Binary files differnew file mode 100644 index 00000000..e43979f5 --- /dev/null +++ b/doc/krita/crocusses-randomnoise.png diff --git a/doc/krita/crocusses-randompick.png b/doc/krita/crocusses-randompick.png Binary files differnew file mode 100644 index 00000000..2b35f9d5 --- /dev/null +++ b/doc/krita/crocusses-randompick.png diff --git a/doc/krita/crocusses-roundcorners.png b/doc/krita/crocusses-roundcorners.png Binary files differnew file mode 100644 index 00000000..12f38646 --- /dev/null +++ b/doc/krita/crocusses-roundcorners.png diff --git a/doc/krita/crocusses-sharpen.png b/doc/krita/crocusses-sharpen.png Binary files differnew file mode 100644 index 00000000..25014c6c --- /dev/null +++ b/doc/krita/crocusses-sharpen.png diff --git a/doc/krita/crocusses-smalltiles.png b/doc/krita/crocusses-smalltiles.png Binary files differnew file mode 100644 index 00000000..0916036b --- /dev/null +++ b/doc/krita/crocusses-smalltiles.png diff --git a/doc/krita/crocusses-sobel.png b/doc/krita/crocusses-sobel.png Binary files differnew file mode 100644 index 00000000..a59c98f3 --- /dev/null +++ b/doc/krita/crocusses-sobel.png diff --git a/doc/krita/crocusses-topedge.png b/doc/krita/crocusses-topedge.png Binary files differnew file mode 100644 index 00000000..291da428 --- /dev/null +++ b/doc/krita/crocusses-topedge.png diff --git a/doc/krita/crocusses-unsharpmask.png b/doc/krita/crocusses-unsharpmask.png Binary files differnew file mode 100644 index 00000000..31b60d26 --- /dev/null +++ b/doc/krita/crocusses-unsharpmask.png diff --git a/doc/krita/crocusses-wave.png b/doc/krita/crocusses-wave.png Binary files differnew file mode 100644 index 00000000..107c53a6 --- /dev/null +++ b/doc/krita/crocusses-wave.png diff --git a/doc/krita/crocusses-waveletnoise.png b/doc/krita/crocusses-waveletnoise.png Binary files differnew file mode 100644 index 00000000..e3b25b42 --- /dev/null +++ b/doc/krita/crocusses-waveletnoise.png diff --git a/doc/krita/crocusses.png b/doc/krita/crocusses.png Binary files differnew file mode 100644 index 00000000..837da62d --- /dev/null +++ b/doc/krita/crocusses.png diff --git a/doc/krita/developers-plugins.docbook b/doc/krita/developers-plugins.docbook new file mode 100644 index 00000000..58dd345e --- /dev/null +++ b/doc/krita/developers-plugins.docbook @@ -0,0 +1,1553 @@ +<sect1 id="developers-plugins"> +<title>Developing &krita; Plugins</title> + +<sect2 id="developers-plugins-introduction"> +<title>Introduction</title> + +<para> +&krita; is infinitely extensible with plugins. Tools, filters, large +chunks of the user interface and even colorspaces are plugins. In fact, +&krita; recognizes these six types of plugins: +</para> + +<itemizedlist> +<listitem><para>colorspaces — these define the channels that constitute +a single pixel</para></listitem> +<listitem><para>tools — anything that is done with a mouse or tablet +input device</para></listitem> +<listitem><para>paint operations — pluggable painting effects for +tools</para></listitem> +<listitem><para>image filters — change all pixels, or just the selected +pixels in a layer</para></listitem> +<listitem><para>viewplugins — extend Krita’s user interface with new +dialog boxes, palettes and operations</para></listitem> +<listitem><para>import/export filters — read and write all kinds of +image formats</para></listitem> +</itemizedlist> + +<para> +&krita; itself consists of three layered libraries and a directory with some +common support classes: kritacolor, kritaimage and kritaui. Within +&krita;, objects can by identified by a <classname>KisID</classname>, that is +the combination of a unique untranslated string (used when saving, for +instance) and a translated string for GUI purposes. +</para><para> +A word on compatibility: &krita; is still in development. From &krita; 1.5 to +1.6 not many API changes are expected, but there may be some. From &krita; 1.6 +to 2.0 we will move from &Qt;3 to &Qt;4, from &kde;3 to &kde;4, from +<command>automake</command> to <command>cmake</command>: many changes are to +be expected. If you develop a plugin for &krita; and choose to do so in +&krita;’s subversion repository, chances are excellent that we’ll help you +porting. These changes may also render parts of this document out of date. +Always check with the latest API documentation or the header files installed +on your system. +</para> + +<sect3 id="developers-plugins-introduction-kritacolor"> +<title>KritaColor</title> + +<para> +The first library is kritacolor. This library loads the colorspace plugins. +</para><para> +A colorspace plugin should implement the <classname>KisColorSpace</classname> +abstract class or, if the basic capabilities of the new colorspace will be +implemented by <command>lcms</command> (<ulink url="http://www.littlecms.com/" +/>), extend <classname>KisAbstractColorSpace</classname>. The kritacolor +library could be used from other applications and does not depend on +&koffice;. +</para> +</sect3> + +<sect3 id="developers-plugins-introduction-kritaimage"> +<title>KritaImage</title> + +<para> +The libkritaimage library loads the filter and paintop plugins and is +responsible for working with image data: changing pixels, compositing and +painting. Brushes, palettes, gradients and patterns are also loaded by +libkritaimage. It is our stated goal to make libkritaimage independent of +&koffice;, but we currently share the gradient loading code with &koffice;. +</para><para> +It is not easy at the moment to add new types of resources such as brushes, +palettes, gradients or patterns to &krita;. (Adding new brushes, palettes, +gradients and patterns is easy, of course.) &krita; follows the guidelines of +the Create project (<ulink url="http://create.freedesktop.org/" />) for these. +Adding support for Photoshop's brush file format needs libkritaimage hacking; +adding more gimp brush data files not. +</para><para> +<classname>KritaImage</classname> loads the following types of plugins: +</para> + +<itemizedlist> +<listitem><para>&krita; filters must extend and implement the abstract class +<classname>KisFilter</classname>, +<classname>KisFilterConfiguration</classname> and possibly +<classname>KisFilterConfigurationWidget</classname>. +An example of a filter is Unsharp Mask.</para></listitem> +<listitem><para>Paint operations or paintops are the set of operations +painting tools suchs as freehand or circle have access to. Examples of +paintops are pen, airbrush or eraser. Paintops should extend the +<classname>KisPaintop</classname> base class. Examples of new paintops could +be a chalk brush, an oilpaint brush or a complex programmable +brush.</para></listitem> +</itemizedlist> + +</sect3> + +<sect3 id="developers-plugins-introduction-kritaui"> +<title>KritaUI</title> + +<para> +The libkritaui library loads the tool and viewplugins. This library is a +&koffice; Part, but also contains a number of widgets that are useful for +graphics applications. Maybe we will have to split this library in kritapart +and kritaui in the 2.0 release. For now, script writers are not given access +to this library and plugin writers are only allowed to use this library when +writing tools or viewplugins. <classname>KritaUI</classname> loads the +following types of plugins: +</para> + +<itemizedlist> +<listitem><para>Tools are derived from <classname>KisTool</classname> or one +of the specialized tool base classes such as +<classname>KisToolPaint</classname>, <classname>KisToolNonPaint</classname> or +<classname>KisToolFreehand</classname>. A new tool could be a foreground +object selection tool. Painting tools (and that includes tools that paint on +the selection) can use any paintop to determine the way pixels are +changed.</para></listitem> +<listitem><para>Viewplugins are ordinary KParts that use +<command>kxmlgui</command> to insinuate themselves into &krita;'s user +interface. Menu options, dialogs, toolbars — any kind of user interface +extension can be a viewplugin. In fact, important functionality like &krita;'s +scripting support is written as a viewplugin.</para></listitem> +</itemizedlist> + +</sect3> + +<sect3 id="developers-plugins-introduction-importexport"> +<title>Import/Export filters</title> + +<para> +Import/Export filters are &koffice; filters, subclasses of +<classname>KoFilter</classname>. Filters read and write image data in any of +the myriad image formats in existence. And example of a new &krita; +import/export filter could be a PDF filter. Filters are loaded by the +&koffice; libraries. +</para> + +</sect3> + +</sect2> + +<sect2 id="developers-plugins-creating"> +<title>Creating plugins</title> + +<para> +Plugins are written in C++ and can use all of &kde; and &Qt; and the &krita; +developer API. Only viewplugins should use the &koffice; API. Don’t worry: +&krita;’s API’s are quite clear and rather extensively documented (for free +software) and coding your first filter is really easy. +</para><para> +If you do not want to use C++, you can write scripts in Python or Ruby; that +is a different thing altogether, though, and you cannot currently write tools, +colorspaces, paintops or import/export filters as scripts. +</para><para> +&krita; plugins use &kde;'s parts mechanism for loading, so the parts +documentation at <ulink url="http://developer.kde.org" /> is relevant here, too. +</para><para> +Your distribution should have either installed the relevant header files with +&krita; itself, or might have split the header files into either a &koffice; +dev or a &krita; dev package. You can find the API documentation for &krita;'s +public API at <ulink url="http://koffice.org/developer/apidocs/krita/html/" />. +</para> + +<sect3 id="developers-plugins-creating-automake"> +<title>Automake (and CMake)</title> + +<para> +&kde; 3.x and thus &koffice; 1.5 and 1.6 use <command>automake</command>; +&kde; 4.0 and &koffice; 2.0 use <command>cmake</command>. This tutorial +describes the <command>automake</command> way of creating plugins. +<!-- If I have not updated this manual when we release KOffice 2.0, please +remind me to do so. --> +</para><para> +Plugins are &kde; modules and should be tagged as such in their +<filename>Makefile.am</filename>. Filters, tools, paintops, colorspaces and +import/export filters need <literal role="extension">.desktop</literal> files; +viewplugins need a <application>KXMLGui</application> +<filename>pluginname.rc</filename> file in addition. The easiest way to get +started is to checkout the krita-plugins project from the &koffice; Subversion +repository and use it as the basis for your own project. We intend to prepare +a skeleton &krita; plugin pack for KDevelop, but haven’t had the time to do +so yet. +</para> + +<sect4 id="d-p-c-a-makefile"> +<title><filename>Makefile.am</filename></title> + +<para> +Let's look at the skeleton for a plugin module. First, the +<filename>Makefile.am</filename>. This is what &kde; uses to generate the +makefile that builds your plugin: + +<programlisting> +kde_services_DATA = kritaLIBRARYNAME.desktop + +INCLUDES = $(all_includes) + +kritaLIBRARYNAME_la_SOURCES = sourcefile1.cc sourcefile2.cc + +kde_module_LTLIBRARIES = kritaLIBRARYNAME.la +noinst_HEADERS = header1.h header2.h + +kritaLIBRARYNAME_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) +kritaLIBRARY_la_LIBADD = -lkritacommon + +kritaextensioncolorsfilters_la_METASOURCES = AUTO +</programlisting> + +This is the makefile for a filter plugin. Replace +<replaceable>LIBRARYNAME</replaceable> with the name of your work, and you are +set. +</para><para> +If your plugin is a viewplugin, you will likely also install a <literal +role="extension">.rc</literal> file with entries for menubars and toolbars. +Likewise, you may need to install cursors and icons. That is all done through +the ordinary &kde; <filename>Makefile.am</filename> magic incantantions: + +<programlisting> +kritarcdir = $(kde_datadir)/krita/kritaplugins +kritarc_DATA = LIBRARYNAME.rc +EXTRA_DIST = $(kritarc_DATA) + +kritapics_DATA = \ + bla.png \ + bla_cursor.png +kritapicsdir = $(kde_datadir)/krita/pics +</programlisting> + +</para> +</sect4> + +<sect4 id="d-p-c-a-desktop"> +<title>Desktop files</title> + +<para> +The <literal role="extension">.desktop</literal> file announces the type of plugin: + +<programlisting> +[Desktop Entry] +Encoding=UTF-8 +Icon= +Name=User-visible Name +ServiceTypes=Krita/Filter +Type=Service +X-KDE-Library=kritaLIBRARYNAME +X-KDE-Version=2 +</programlisting> +</para><para> +Possible ServiceTypes are: +</para> + +<itemizedlist> +<listitem><para>Krita/Filter</para></listitem> +<listitem><para>Krita/Paintop</para></listitem> +<listitem><para>Krita/ViewPlugin</para></listitem> +<listitem><para>Krita/Tool</para></listitem> +<listitem><para>Krita/ColorSpace</para></listitem> +</itemizedlist> + +<para> +File import and export filters use the generic &koffice; filter framework and +need to be discussed separately. +</para> +</sect4> + +<sect4 id="d-p-c-a-boilerplate"> +<title>Boilerplate</title> + +<para> +You also need a bit of boilerplate code that is called by the &kde; part +framework to instantiate the plugin — a header file and an implementation file. +</para><para> +A header file: +<programlisting> +#ifndef TOOL_STAR_H_ +#define TOOL_STAR_H_ + +#include <kparts/plugin.h> + +/** +* A module that provides a star tool. +*/ +class ToolStar : public KParts::Plugin +{ + Q_OBJECT +public: + ToolStar(QObject *parent, const char *name, const QStringList &); + virtual ~ToolStar(); + +}; + +#endif // TOOL_STAR_H_ +</programlisting> +</para> + +<para> +And an implementation file: +<programlisting> +#include <kinstance.h> +#include <kgenericfactory.h> + +#include <kis_tool_registry.h> + +#include "tool_star.h" +#include "kis_tool_star.h" + + +typedef KGenericFactory<ToolStar> ToolStarFactory; +K_EXPORT_COMPONENT_FACTORY( kritatoolstar, ToolStarFactory( "krita" ) ) + + +ToolStar::ToolStar(QObject *parent, const char *name, const QStringList &) + : KParts::Plugin(parent, name) +{ + setInstance(ToolStarFactory::instance()); + if ( parent->inherits("KisToolRegistry") ) + { + KisToolRegistry * r = dynamic_cast<KisToolRegistry*>( parent ); + r -> add(new KisToolStarFactory()); + } + +} + +ToolStar::~ToolStar() +{ +} + +#include "tool_star.moc" +</programlisting> +</para> +</sect4> + +<sect4 id="d-p-c-a-registries"> +<title>Registries</title> + +<para> +Tools are loaded by the tool registry and register themselves with the tool +registry. Plugins like tools, filters and paintops are loaded only once: view +plugins are loaded for every view that is created. Note that we register +factories, generally speaking. For instance, with tools a new instance of a +tool is created for every pointer (mouse, stylus, eraser) for every few. And a +new paintop is created whenever a tool gets a mouse-down event. +</para> + +<para> +Filters call the filter registry: +<programlisting> + if (parent->inherits("KisFilterRegistry")) { + KisFilterRegistry * manager = dynamic_cast<KisFilterRegistry *>(parent); + manager->add(new KisFilterInvert()); + } +</programlisting> +</para><para> +Paintops the paintop registry: +<programlisting> + if ( parent->inherits("KisPaintOpRegistry") ) { + KisPaintOpRegistry * r = dynamic_cast<KisPaintOpRegistry*>(parent); + r -> add ( new KisSmearyOpFactory ); + } +</programlisting> +</para><para> +Colorspaces the colorspace registry (with some complications): +<programlisting> + if ( parent->inherits("KisColorSpaceFactoryRegistry") ) { + KisColorSpaceFactoryRegistry * f = dynamic_cast<isColorSpaceFactoryRegistry*>(parent); + + KisProfile *defProfile = new KisProfile(cmsCreate_sRGBProfile()); + f->addProfile(defProfile); + + KisColorSpaceFactory * csFactory = new KisRgbColorSpaceFactory(); + f->add(csFactory); + + KisColorSpace * colorSpaceRGBA = new KisRgbColorSpace(f, 0); + KisHistogramProducerFactoryRegistry::instance() -> add( + new KisBasicHistogramProducerFactory<KisBasicU8HistogramProducer> + (KisID("RGB8HISTO", i18n("RGB8 Histogram")), colorSpaceRGBA) ); + } +</programlisting> +</para><para> +View plugins do not have to register themselves, and they get access to a +<classname>KisView</classname> object: +<programlisting> + if ( parent->inherits("KisView") ) + { + setInstance(ShearImageFactory::instance()); + setXMLFile(locate("data","kritaplugins/shearimage.rc"), true); + + (void) new KAction(i18n("&Shear Image..."), 0, 0, this, SLOT(slotShearImage()), actionCollection(), "shearimage"); + (void) new KAction(i18n("&Shear Layer..."), 0, 0, this, SLOT(slotShearLayer()), actionCollection(), "shearlayer"); + + m_view = (KisView*) parent; + } +</programlisting> +</para><para> +Remember that this means that a view plugin will be created for every view the +user creates: splitting a view means loading all view plugins again. +</para> +</sect4> + +<sect4 id="d-p-c-a-versioning"> +<title>Plugin versioning</title> + +<para> +&krita; 1.5 loads plugins with <literal>X-KDE-Version=2</literal> set in the +<literal role="extension">.desktop</literal> file. &krita; 1.6 plugins will +probably be binary incompatible with 1.5 plugins and will need the version +number 3. &krita; 2.0 plugins will need the version number 3. Yes, this is not +entirely logical. +</para> + +</sect4> +</sect3> +</sect2> + +<sect2 id="developers-plugins-colorspaces"> +<title>Colorspaces</title> + +<para> +Colorspaces implement the <classname>KisColorSpace</classname> pure virtual +class. There are two types of colorspaces: those that can use +<command>lcms</command> for transformations between colorspaces, and those +that are too weird for <command>lcms</command> to handle. Examples of the +first are cmyk, rgb, yuv. An example of the latter is watercolor or wet & +sticky. Colorspaces that use <command>lcms</command> can be derived from +<classname>KisAbstractColorSpace</classname>, or of one of the base classes +that are specialized for a certain number of bits per channel. +</para><para> +Implementing a colorspace is pretty easy. The general principle is that +colorspaces work on a simple array of bytes. The interpretation of these bytes +is up to the colorspace. For instance, a pixel in 16-bit GrayA consists of +four bytes: two bytes for the gray value and two bytes for the alpha value. +You are free to use a struct to work with the memory layout of a pixel in your +colorspace implementation, but that representation is not exported. The only +way the rest of &krita; can know what channels and types of channels your +colorspace pixels consist of is through the +<classname>KisChannelInfo</classname> class. +</para><para> +Filters and paintops make use of the rich set of methods offered by +<classname>KisColorSpace</classname> to do their work. In many cases, the +default implementation in <classname>KisAbstractColorSpace</classname> will +work, but more slowly than a custom implementation in your own colorspace +because <classname>KisAbstractColorSpace</classname> will convert all pixels +to 16-bit L*a*b and back. +</para> + +<sect3 id="developers-plugins-colorspaces-kischannelinfo"> +<title><classname>KisChannelInfo</classname></title> + +<programlisting> +(http://websvn.kde.org/trunk/koffice/krita/kritacolor/kis_channelinfo.h) +</programlisting> +<para> +This class defines the channels that make up a single pixel in a particular +colorspace. A channel has the following important characteristics: +</para> +<itemizedlist> +<listitem><para>a name for display in the user interface</para></listitem> +<listitem><para>a position: the byte where the bytes representing this channel +start in the pixel.</para></listitem> +<listitem><para>a type: color, alpha, substance or substrate. Color is plain +color, alpha is see-throughishness, substance is a representation of amount of +pigment or things like that, substrate is the representation of the canvas. +(Note that this may be refactored at the drop of a hat.)</para></listitem> +<listitem><para>a valuetype: byte, short, integer, float — or +other.</para></listitem> +<listitem><para>size: the number of bytes this channel takes</para></listitem> +<listitem><para>color: a <classname>QColor</classname> representation of this +channel for user interface visualization, for instance in +histograms.</para></listitem> +<listitem><para>an abbreviaton for use in the GUI when there’s not much +space</para></listitem> +</itemizedlist> +</sect3> + +<sect3 id="developers-plugins-colorspaces-kiscompositeop"> +<title><classname>KisCompositeOp</classname></title> + +<para> +As per original Porter-Duff, there are many ways of combining pixels to get a +new color. The <classname>KisCompositeOp</classname> class defines most of +them: this set is not easily extensible except by hacking the kritacolor +library. +</para><para> +A colorspace plugin can support any subset of these possible composition +operations, but the set must always include "OVER" (same as "NORMAL") and +"COPY". The rest are more or less optional, although more is better, of +course. +</para> +</sect3> + +<sect3 id="developers-plugins-colorspaces-kiscolorspace"> +<title><classname>KisColorSpace</classname></title> + +<para> +The methods in the <classname>KisColorSpace</classname> pure virtual classs +can be divided into a number of groups: conversion, identification and +manipulation. +</para><para> +All classes must be able to convert a pixel from and to 8 bit RGB (i.e., a +<classname>QColor</classname>), and preferably also to and from 16 bit L*a*b. +Additionally, there is a method to convert to any colorspace from the current +colorspace. +</para><para> +Colorspaces are described by the <classname>KisChannelInfo</classname> vector, +number of channels, number of bytes in a single pixel, whether it supports +High Dynamic Range images and more. +</para><para> +Manipulation is for instance the combining of two pixels in a new +pixel: bitBlt, darkening or convolving of pixels. +</para><para> +Please consult the API documentation for a full description of all methods you +need to implement in a colorspace. +</para><para> +<classname>KisAbstractColorSpace</classname> implements many of the virtual +methods of <classname>KisColorSpace</classname> using functions from the +<command>lcms</command> library. On top of +<classname>KisAbstractColorSpace</classname> there are base colorspace classes +for 8 and 16 bit integer and 16 and 32 bit float colorspaces that define +common operations to move between bit depths. +</para> + +</sect3> +</sect2> + +<sect2 id="developers-plugins-filters"> +<title>Filters</title> + +<para> +Filters are plugins that examine the pixels in a layer and them make changes +to them. Although &krita; uses an efficient tiled memory backend to store +pixels, filter writers do not have to bother with that. When writing a filter +plugin for the &Java; imaging API, Photoshop or The Gimp, you need to take care +of tile edges and <quote>cobble</quote> tiles together: &krita; hides that +implementation detail. +</para> +<note><para>Note that it is theoretically easy to replace the current tile +image data storage backend with another backend, but that backens are not true +plugins at the moment, for performance reasons.</para></note> +<para> +&krita; uses iterators to read and write pixel values. Alternatively, you can +read a block of pixels into a memory buffer, mess with it and then write it +back as a block. But that is not necessarily more efficient, it may even be +slower than using the iterators; it may just be more convenient. See the API +documentation. +</para><para> +&krita; images are composed of layers, of which there are currently four +kinds: paint layers, group layers, adjustment layers (that contain a filter +that is applied dynamically to layers below the adjustment layer) and part +layers. Filters always operate on paint layers. Paint layers contain paint +devices, of the class <classname>KisPaintDevice</classname>. A paint device in +its turn gives access to the actual pixels. +</para><para> +<classname>PaintDevice</classname>s are generally passed around wrapped in +shared pointers. A shared pointer keeps track of in how many places the paint +device is currently used and deletes the paint device when it is no longer +used anywhere. You recognize the shared pointer version of a paint device +through its <literal>SP</literal> suffix. Just remember that you never have to +explicitly delete a <classname>KisPaintDeviceSP</classname>. +</para><para> +Let's examine a very simple filter, one that inverts every pixel. The code for +this filter is in the <filename +class="directory">koffice/krita/plugins/filters/example</filename> directory. +The main method is +<programlisting> +KisFilterInvert::process(KisPaintDeviceSP src, KisPaintDeviceSP dst, + KisFilterConfiguration* /*config*/, const QRect& rect). +</programlisting> +The function gets passed two paint devices, a configuration object (which is +not used in this simple filter) and a <varname>rect</varname>. The +<varname>rect</varname> describes the area of the +paint device which the filter should act on. This area is described by +integers, which means no sub-pixel accuracy. +</para><para> +The <varname>src</varname> paint device is for reading from, the +<varname>dst</varname> paint device for writing to. These parameters may point +to the same actual paint device, or be two different paint devices. (Note: +this may change to only one paint device in the future.) +</para><para> +Now, let's look at the code line by line: +</para> +<programlisting> +void KisFilterInvert::process(KisPaintDeviceSP src, KisPaintDeviceSP dst, + KisFilterConfiguration* /*config*/, const QRect& rect) +{ + Q_ASSERT(src != 0); + Q_ASSERT(dst != 0); + + KisRectIteratorPixel srcIt = src->createRectIterator(rect.x(), rect.y(), rect.width(), rect.height(), false); <co id="invert1" /> + KisRectIteratorPixel dstIt = dst->createRectIterator(rect.x(), rect.y(), rect.width(), rect.height(), true ); <co id="invert2" /> + + int pixelsProcessed = 0; + setProgressTotalSteps(rect.width() * rect.height()); + + KisColorSpace * cs = src->colorSpace(); + Q_INT32 psize = cs->pixelSize(); + + while( ! srcIt.isDone() ) + { + if(srcIt.isSelected()) <co id="invert3" /> + { + memcpy(dstIt.rawData(), srcIt.oldRawData(), psize); <co id="invert4" /> + + cs->invertColor( dstIt.rawData(), 1); <co id="invert5" /> + } + setProgress(++pixelsProcessed); + ++srcIt; + ++dstIt; + } + setProgressDone(); // Must be called even if you don't really support progression +} +</programlisting> + +<calloutlist> +<callout arearefs="invert1"> +<para>This creates an iterator to read the existing pixels. Krita has three +types of iterators: horizontal, vertical and rectangular. The rect iterator +takes the most efficient path through the image data, but does not guarantee +anything about the location of the next pixel it returns. That means that you +cannot be sure that the pixel you will retrieve next will be adjacent to the +pixel you just got. The horizontal and vertical line iterators do guarantee +the location of the pixels they return. +</para></callout> +<callout arearefs="invert2"><para> +(2) We create the destination iterator with the <literal>write</literal> +setting to <literal>true</literal>. This means that if the destination paint +device is smaller than the rect we write, it will automatically be enlarged to +fit every pixel we iterate over. Note that we have got a potential bug here: +if <varname>dst</varname> and <varname>src</varname> are not the same device, +then it is quite possible that the pixels returned by the iterators do not +correspond. For every position in the iterator, <varname>src</varname> may be, +for example, at 165,200, while <varname>dst</varname> could be at 20,8 — +and therefore the copy we perform below may distort the image... +</para></callout> +<callout arearefs="invert3"><para> +Want to know if a pixel is selected? That is easy — use the +<methodname>isSelected</methodname> method. But selectedness is not a binary +property of a pixel, a pixel can be half selected, barely selected or almost +completely selected. That value you can also got from the iterator. Selections +are actually a mask paint device with a range between 0 and 255, where 0 is +completely unselected and 255 completely selected. The iterator has two +methods: <methodname>isSelected()</methodname> and +<methodname>selectedNess()</methodname>. The first returns true if a pixel is +selected to any extent (i.e., the mask value is greater than 1), the other +returns the maskvalue. +</para></callout> +<callout arearefs="invert4"><para> +As noted above, this <literal>memcpy</literal> is a big bad bug... +<methodname>rawData()</methodname> returns the array of bytes which is the +current state of the pixel; <methodname>oldRawData()</methodname> returns the +array of bytes as it was before we created the iterator. However, we may be +copying the wrong pixel here. In actual practice, that will not happen too +often, unless <varname>dst</varname> already exists and is not aligned with +<varname>src</varname>. +</para></callout> +<callout arearefs="invert5"><para> +But this is correct: instead of figuring out which byte represents which +channel, we use a function supplied by all colorspaces to invert the current +pixel. The colorspaces have a lot of pixel operations you can make use of. +</para></callout> +</calloutlist> + +<para> +This is not all there is to creating a filter. Filters have two other +important components: a configuration object and a configuration widget. The +two interact closely. The configuration widget creates a configuration object, +but can also be filled from a pre-existing configuration object. Configuration +objects can represtent themselves as XML and can be created from XML. That is +what makes adjustment layers possible. +</para> + +<sect3 id="developers-plugins-filters-iterators"> +<title>Iterators</title> + +<para> +There are three types of iterators: +</para> + +<itemizedlist> +<listitem><para>Horizontal lines</para></listitem> +<listitem><para>Vertical lines</para></listitem> +<listitem><para>Rectangular iterors</para></listitem> +</itemizedlist> + +<para> +The horizontal and vertical line iterators have a method to move the iterator +to the next row or column: <methodname>nextRow()</methodname> and +<methodname>nextCol()</methodname>. Using these is much faster than creating a +new iterator for every line or column. +</para><para> +Iterators are thread-safe in &krita;, so it is possible to divide the work +over multiple threads. However, future versions of &krita; will use the +<methodname>supportsThreading()</methodname> method to determine whether your +filter can be applied to chunks of the image (&ie;, all pixels modified +independently, instead of changed by some value determined from an examination +of all pixels in the image) and automatically thread the execution your +filter. +</para> +</sect3> + +<sect3 id="developers-plugins-filters-kisfilterconfiguration"> +<title><classname>KisFilterConfiguration</classname></title> + +<para> +<classname>KisFilterConfiguration</classname> is a structure that is used to +save filter settings to disk, for instance for adjustment layers. The +scripting plugin uses the property map that’s at the back of +<classname>KisFilterConfigaration</classname> to make it possible to script +filters. Filters can provide a custom widget that &krita; will show in the +filters gallery, the filter preview dialog or the tool option tab of the +paint-with-filters tool. +</para> +<para> +An example, taken from the oilpaint effect filter: +</para> +<programlisting> +class KisOilPaintFilterConfiguration : public KisFilterConfiguration +{ + +public: + + KisOilPaintFilterConfiguration(Q_UINT32 brushSize, Q_UINT32 smooth) + : KisFilterConfiguration( "oilpaint", 1 ) + { + setProperty("brushSize", brushSize); + setProperty("smooth", smooth); + }; +public: + + inline Q_UINT32 brushSize() { return getInt("brushSize"); }; + inline Q_UINT32 smooth() {return getInt("smooth"); }; + +}; +</programlisting> +</sect3> + +<sect3 id="developers-plugins-filters-kisfilterconfigurationwidget"> +<title><classname>KisFilterConfigurationWidget</classname></title> + +<para> +Most filters can be tweaked by the user. You can create a configuration widget +that Krita will use where-ever your filter is used. An example: +</para> + +<para> +<screenshot> +<screeninfo>The <guilabel>Oilpaint</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="dialogs-oilpaint.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Oilpaint</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Oilpaint</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +Note that only the left-hand side of this dialog is your responsibility: +&krita; takes care of the rest. There are three ways of going about creating +an option widget: +</para> + +<itemizedlist> +<listitem><para>Use &Qt; Designer to create a widget base, and subclass it for +your filter</para></listitem> +<listitem><para>Use one of the simple widgets that show a number of sliders +for lists of integers, doubles or bools. These are useful if, like the above +screenshot, your filter can be configured by a number of integers, doubles or +bools. See the API dox for <classname>KisMultiIntegerFilterWidget</classname>, +<classname>KisMultiDoubleFilterWidget</classname> and +<classname>KisMultiBoolFilterWidget</classname>.</para></listitem> +<listitem><para>Hand-code a widget. This is not recommended, and if you do so +and want your filter to become part of &krita;’s official release, then I’ll ask +you to replate your hand-coded widget with a &Qt; Designer +widget.</para></listitem> +</itemizedlist> + +<para> +The oilpaint filter uses the multi integer widget: +</para> + +<programlisting> +KisFilterConfigWidget * KisOilPaintFilter::createConfigurationWidget(QWidget* parent, KisPaintDeviceSP /*dev*/) +{ + vKisIntegerWidgetParam param; + param.push_back( KisIntegerWidgetParam( 1, 5, 1, i18n("Brush size"), "brushSize" ) ); + param.push_back( KisIntegerWidgetParam( 10, 255, 30, i18n("Smooth"), "smooth" ) ); + return new KisMultiIntegerFilterWidget(parent, id().id().ascii(), id().id().ascii(), param ); +} + +KisFilterConfiguration* KisOilPaintFilter::configuration(QWidget* nwidget) +{ + KisMultiIntegerFilterWidget* widget = (KisMultiIntegerFilterWidget*) nwidget; + if( widget == 0 ) + { + return new KisOilPaintFilterConfiguration( 1, 30); + } else { + return new KisOilPaintFilterConfiguration( widget->valueAt( 0 ), widget->valueAt( 1 ) ); + } +} + +std::list<KisFilterConfiguration*> KisOilPaintFilter::listOfExamplesConfiguration(KisPaintDeviceSP ) +{ + std::list<KisFilterConfiguration*> list; + list.insert(list.begin(), new KisOilPaintFilterConfiguration( 1, 30)); + return list; +} +</programlisting> + +<para> +You can see how it works: fill a vector with your integer parameters and +create the widget. The <methodname>configuration()</methodname> method +inspects the widget and creates the right filter configuration object, in this +case, of course, <classname>KisOilPaintFilterConfiguration</classname>. The +<methodname>listOfExamplesConfiguration</methodname> method (which should be +renamed to correct English...) returns a list with example configuration +objects for the filters gallery dialog. +</para> +</sect3> + +<sect3 id="developers-plugins-filters-conclusion"> +<title>Filters conclusion</title> + +<para> +There’s more to coding interesting filters, of course, but with this +explanation, the API documentation and access to our source code, you should +be able to get started. Don’t hesitate to contact the &krita; developers on +IRC or on the mailing list. +</para> +</sect3> + +</sect2> + +<sect2 id="developers-plugins-tools"> +<title>Tools</title> + +<para> +Tools appear in &krita;’s toolbox. This means that there is limited space for +new tools — think carefully whether a paint operation isn’t enough for +your purposes. Tools can use the mouse/tablet and keyboard in complex ways, +which paint operations cannot. This is the reason that Duplicate is a tool, +but airbrush a paint operation. +</para><para> +Be careful with static data in your tool: a new instance of your tool is +created for every input device: mouse, stylus, eraser, airbrush — whatever. +Tools come divided into logical groups: +</para> +<itemizedlist> +<listitem><para>shape drawing tools (circle, rect)</para></listitem> +<listitem><para>freehand drawing tools (brush)</para></listitem> +<listitem><para>transform tools that mess up the geometry of a +layer</para></listitem> +<listitem><para>fill tools (like bucket fill or gradient)</para></listitem> +<listitem><para>view tools (that don’t change pixels, but alter the way you +view the canvas, such as zoom)</para></listitem> +<listitem><para>select tools (that change the selection +mask)</para></listitem> +</itemizedlist> + +<para> +The tool interface is described in the API documentation for +<classname>KisTool</classname>. There are three subclasses: +<classname>KisToolPaint</classname>, <classname>KisToolNonPaint</classname> +and <classname>KisToolShape</classname> (which is actually a subclass of +<classname>KisToolPaint</classname>) that specialize +<classname>KisTool</classname> for painting tasks (i.e., changing pixels) , +non-painting tasks and shape painting tasks. +</para><para> +A tool has an option widget, just like filters. Currently, the option widgets +are shown in a tab in a dock window. We may change that to a strip under the +main menu (which then replaces the toolbar) for &krita; 2.0, but for now, +design your option widget to fit in a tab. As always, it’s best to use &Qt; +Designer for the design of the option widget. +</para><para> +A good example of a tool is the star tool: +</para> + +<screen> +kis_tool_star.cc Makefile.am tool_star_cursor.png wdg_tool_star.ui +kis_tool_star.h Makefile.in tool_star.h +kritatoolstar.desktop tool_star.cc tool_star.png +</screen> + +<para> +As you see, you need two images: one for the cursor and one for the toolbox. +<filename>tool_star.cc</filename> is just the plugin loader, similar to what +we have seen above. The real meat is in the implementation: +</para> + +<programlisting> +KisToolStar::KisToolStar() + : KisToolShape(i18n("Star")), + m_dragging (false), + m_currentImage (0) +{ + setName("tool_star"); + setCursor(KisCursor::load("tool_star_cursor.png", 6, 6)); + m_innerOuterRatio=40; + m_vertices=5; +} +</programlisting> + +<para> +The constructor sets the internal name — which is not translated +— and the call to the superclass sets the visible name. We also load the +cursor image and set a number of variables. +</para> + +<programlisting> +void KisToolStar::update (KisCanvasSubject *subject) +{ + KisToolShape::update (subject); + if (m_subject) + m_currentImage = m_subject->currentImg(); +} +</programlisting> + +<para> +The <methodname>update()</methodname> method is called when the tool is +selected. This is not a <classname>KisTool</classname> method, but a +<classname>KisCanvasObserver</classname> method. Canvas observers are notified +whenever something changes in the view, which can be useful for tools. +</para><para> +The following methods (<methodname>buttonPress</methodname>, +<methodname>move</methodname> and <methodname>buttonRelease</methodname>) are +called by &krita; when the input device (mouse, stylus, eraser etc.) is +pressed down, moved or released. Note that you also get move events if the +mouse button isn’t pressed. The events are not the regular &Qt; events, but +synthetic &krita; events because we make use of low-level trickery to get +enough events to draw a smooth line. By default, toolkits like &Qt; (and GTK) +drop events if they are too busy to handle them, and we want them all. +</para> + +<programlisting> +void KisToolStar::buttonPress(KisButtonPressEvent *event) +{ + if (m_currentImage && event->button() == LeftButton) { + m_dragging = true; + m_dragStart = event->pos(); + m_dragEnd = event->pos(); + m_vertices = m_optWidget->verticesSpinBox->value(); + m_innerOuterRatio = m_optWidget->ratioSpinBox->value(); + } +} + +void KisToolStar::move(KisMoveEvent *event) +{ + if (m_dragging) { + // erase old lines on canvas + draw(m_dragStart, m_dragEnd); + // move (alt) or resize star + if (event->state() & Qt::AltButton) { + KisPoint trans = event->pos() - m_dragEnd; + m_dragStart += trans; + m_dragEnd += trans; + } else { + m_dragEnd = event->pos(); + } + // draw new lines on canvas + draw(m_dragStart, m_dragEnd); + } +} + +void KisToolStar::buttonRelease(KisButtonReleaseEvent *event) +{ + if (!m_subject || !m_currentImage) + return; + + if (m_dragging && event->button() == LeftButton) { + // erase old lines on canvas + draw(m_dragStart, m_dragEnd); + m_dragging = false; + + if (m_dragStart == m_dragEnd) + return; + + if (!m_currentImage) + return; + + if (!m_currentImage->activeDevice()) + return; + + KisPaintDeviceSP device = m_currentImage->activeDevice ();; + KisPainter painter (device); + if (m_currentImage->undo()) painter.beginTransaction (i18n("Star")); + + painter.setPaintColor(m_subject->fgColor()); + painter.setBackgroundColor(m_subject->bgColor()); + painter.setFillStyle(fillStyle()); + painter.setBrush(m_subject->currentBrush()); + painter.setPattern(m_subject->currentPattern()); + painter.setOpacity(m_opacity); + painter.setCompositeOp(m_compositeOp); + KisPaintOp * op = + KisPaintOpRegistry::instance()->paintOp(m_subject->currentPaintop(), m_subject->currentPaintopSettings(), &painter); + painter.setPaintOp(op); // Painter takes ownership + + vKisPoint coord = starCoordinates(m_vertices, m_dragStart.x(), m_dragStart.y(), m_dragEnd.x(), m_dragEnd.y()); + + painter.paintPolygon(coord); + + device->setDirty( painter.dirtyRect() ); + notifyModified(); + + if (m_currentImage->undo()) { + m_currentImage->undoAdapter()->addCommand(painter.endTransaction()); + } + } +} +</programlisting> + +<para> +The <methodname>draw()</methodname> method is an internal method of +<classname>KisToolStar</classname> and draws the outline of the star. We call +this from the <methodname>move()</methodname> method to give the user feedback +of the size and shape of their star. Note that we use the +<varname>Qt::NotROP</varname> raster operation, which means that calling +<methodname>draw()</methodname> a second time with the same start and end +point the previously drawn star will be deleted. +</para> + +<programlisting> +void KisToolStar::draw(const KisPoint& start, const KisPoint& end ) +{ + if (!m_subject || !m_currentImage) + return; + + KisCanvasController *controller = m_subject->canvasController(); + KisCanvas *canvas = controller->kiscanvas(); + KisCanvasPainter p (canvas); + QPen pen(Qt::SolidLine); + + KisPoint startPos; + KisPoint endPos; + startPos = controller->windowToView(start); + endPos = controller->windowToView(end); + + p.setRasterOp(Qt::NotROP); + + vKisPoint points = starCoordinates(m_vertices, startPos.x(), startPos.y(), endPos.x(), endPos.y()); + + for (uint i = 0; i < points.count() - 1; i++) { + p.drawLine(points[i].floorQPoint(), points[i + 1].floorQPoint()); + } + p.drawLine(points[points.count() - 1].floorQPoint(), points[0].floorQPoint()); + + p.end (); +} +</programlisting> + +<para> +The <methodname>setup()</methodname> method is essential: here we create the +action that will be plugged into the toolbox so users can actually select the +tool. We also assign a shortcut key. Note that there’s some hackery going on: +remember that we create an instance of the tool for every input device. This +also means that we call <methodname>setup()</methodname> for every input +device and that means that an action with the same name is added several times +to the action collection. However, everything seems to work, so why worry? +</para> + +<programlisting> +void KisToolStar::setup(KActionCollection *collection) +{ + m_action = static_cast<KRadioAction *>(collection->action(name())); + + if (m_action == 0) { + KShortcut shortcut(Qt::Key_Plus); + shortcut.append(KShortcut(Qt::Key_F9)); + m_action = new KRadioAction(i18n("&Star"), + "tool_star", + shortcut, + this, + SLOT(activate()), + collection, + name()); + Q_CHECK_PTR(m_action); + + m_action->setToolTip(i18n("Draw a star")); + m_action->setExclusiveGroup("tools"); + m_ownAction = true; + } +} +</programlisting> + +<para> +The <methodname>starCoordinates()</methodname> method contains some funky math +— but is not too interesting for the discussion of how to create a tool +plugins. +</para> + +<programlisting> +KisPoint KisToolStar::starCoordinates(int N, double mx, double my, double x, double y) +{ + double R=0, r=0; + Q_INT32 n=0; + double angle; + + vKisPoint starCoordinatesArray(2*N); + + // the radius of the outer edges + R=sqrt((x-mx)*(x-mx)+(y-my)*(y-my)); + + // the radius of the inner edges + r=R*m_innerOuterRatio/100.0; + + // the angle + angle=-atan2((x-mx),(y-my)); + + //set outer edges + for(n=0;n<N;n++){ + starCoordinatesArray[2*n] = KisPoint(mx+R*cos(n * 2.0 * M_PI / N + angle),my+R*sin(n *2.0 * M_PI / N+angle)); + } + + //set inner edges + for(n=0;n<N;n++){ + starCoordinatesArray[2*n+1] = KisPoint(mx+r*cos((n + 0.5) * 2.0 * M_PI / N + angle),my+r*sin((n +0.5) * 2.0 * M_PI / N + angle)); + } + + return starCoordinatesArray; +} +</programlisting> + +<para> +The <methodname>createOptionWidget()</methodname> method is called to create +the option widget that &krita; will show in the tab. Since there is a tool per +input device per view, the state of a tool can be kept in the tool. This +method is only called once: the option widget is stored and retrieved the next +time the tool is activated. +</para> + +<programlisting> +QWidget* KisToolStar::createOptionWidget(QWidget* parent) +{ + QWidget *widget = KisToolShape::createOptionWidget(parent); + + m_optWidget = new WdgToolStar(widget); + Q_CHECK_PTR(m_optWidget); + + m_optWidget->ratioSpinBox->setValue(m_innerOuterRatio); + + QGridLayout *optionLayout = new QGridLayout(widget, 1, 1); + super::addOptionWidgetLayout(optionLayout); + + optionLayout->addWidget(m_optWidget, 0, 0); + + return widget; +} +</programlisting> + +<sect3 id="developers-plugins-tools-conclusions"> +<title>Tool Conclusions</title> + +<para> +Tools are relatively simple plugins to create. You need to combine the +<classname>KisTool</classname> and <classname>KisCanvasObserver</classname> +interfaces in order to effectively create a tool. +</para> + +</sect3> + +</sect2> + +<sect2 id="developers-plugins-paintoperations"> +<title>Paint operations</title> + +<para> +PaintOps are one of the more innovative types of plugins in Krita (together +with pluggable colorspaces). A paint operation defines how tools change the +pixels they touch. Airbrush, aliased pencil or antialiased pixel brush: these +are all paint operations. But you could — with a lot of work — +create a paintop that reads Corel Painter XML brush definitions and uses those +to determine how painting is done. +</para><para> +Paint operations are instantiated when a paint tool receives a +<literal>mouseDown</literal> event and are deleted when the mouseUp event is +received by a paint tool. In between, the paintop can keep track of previous +positions and other data, such as pressure levels if the user uses a tablet. +</para><para> +The basic operation of a paint operation is to change pixels at the cursor +position of a paint tool. That can be done only once, or the paint op can +demand to be run at regular intervals, using a timer. The first would be +useful for a pencil-type paint op, the second, of course, for an +airbrush-type paintop. +</para><para> +Paintops can have a small configuration widget which is placed in a toolbar. +Thus, paintop configuration widgets need to have a horizontal layout of +widgets that are not higher than a toolbar button. Otherwise, &krita; will +look very funny. +</para><para> +Let’s look at a simple paintop plugin, one that shows a little bit of +programmatic intelligence. First, in the header file, there’s a factory +defined. This factory creates a paintop when the active tool needs one: +</para> + +<programlisting> +public: + KisSmearyOpFactory() {} + virtual ~KisSmearyOpFactory() {} + + virtual KisPaintOp * createOp(const KisPaintOpSettings *settings, KisPainter * painter); + virtual KisID id() { return KisID("paintSmeary", i18n("Smeary Brush")); } + virtual bool userVisible(KisColorSpace * ) { return false; } + virtual QString pixmap() { return ""; } + +}; +</programlisting> + +<para> +The factory also contains the <classname>KisID</classname> with the public and +private name for the paintop — make sure your paintop’s private name +does not clash with another paintop! — and may optionally return a +pixmap. &krita; can then show the pixmap together with the name for visual +identifcation of your paintop. For instance, a painter’s knife paintop would +have the image of such an implement. +</para><para> +The implementation of a paintop is very straightforward: +</para> + +<programlisting> +KisSmearyOp::KisSmearyOp(KisPainter * painter) + : KisPaintOp(painter) +{ +} + +KisSmearyOp::~KisSmearyOp() +{ +} +void KisSmearyOp::paintAt(const KisPoint &pos, const KisPaintInformation& info) +{ +</programlisting> + +<para> +The <methodname>paintAt()</methodname> method really is where it’s at, with +paintops. This method receives two parameters: the current position (which is +in floats, not in whole pixels) and a +<classname>KisPaintInformation</classname> object. which contains the +pressure, x and y tilt, and movement vector, and may in the future be extended +with other information. +</para> + +<programlisting> + if (!m_painter->device()) return; + + KisBrush *brush = m_painter->brush(); +</programlisting> + +<para> +A <classname>KisBrush</classname> is the representation of a Gimp brush file: +that is a mask, either a single mask or a series of masks. Actually, we don’t +use the brush here, except to determine the <quote>hotspot</quote> under the +cursor. +</para> + +<programlisting> + Q_ASSERT(brush); + + if (!brush) return; + + if (! brush->canPaintFor(info) ) + return; + + KisPaintDeviceSP device = m_painter->device(); + KisColorSpace * colorSpace = device->colorSpace(); + KisColor kc = m_painter->paintColor(); + kc.convertTo(colorSpace); + + KisPoint hotSpot = brush->hotSpot(info); + KisPoint pt = pos - hotSpot; + + // Split the coordinates into integer plus fractional parts. The integer + // is where the dab will be positioned and the fractional part determines + // the sub-pixel positioning. + Q_INT32 x, y; + double xFraction, yFraction; + + splitCoordinate(pt.x(), &x, &xFraction); + splitCoordinate(pt.y(), &y, &yFraction); + + KisPaintDeviceSP dab = new KisPaintDevice(colorSpace, "smeary dab"); + Q_CHECK_PTR(dab); +</programlisting> + +<para> +We don’t change the pixels of a paint device directly: instead we create a +small paint device, a dab, and composite that onto the current paint device. +</para> + +<programlisting> + m_painter->setPressure(info.pressure); +</programlisting> + +<para> +As the comments say, the next bit code does some programmatic work to create +the actual dab. In this case, we draw a number of lines. When I am done with +this paintop, the length, position and thickness of the lines will be +dependent on pressure and paint load, and we’ll have create a stiff, smeary +oilpaint brush. But I haven’t had time to finish this yet. +</para> + +<programlisting> + // Compute the position of the tufts. The tufts are arranged in a line + // perpendicular to the motion of the brush, i.e, the straight line between + // the current position and the previous position. + // The tufts are spread out through the pressure + + KisPoint previousPoint = info.movement.toKisPoint(); + KisVector2D brushVector(-previousPoint.y(), previousPoint.x()); + KisVector2D currentPointVector = KisVector2D(pos); + brushVector.normalize(); + + KisVector2D vl, vr; + + for (int i = 0; i < (NUMBER_OF_TUFTS / 2); ++i) { + // Compute the positions on the new vector. + vl = currentPointVector + i * brushVector; + KisPoint pl = vl.toKisPoint(); + dab->setPixel(pl.roundX(), pl.roundY(), kc); + + vr = currentPointVector - i * brushVector; + KisPoint pr = vr.toKisPoint(); + dab->setPixel(pr.roundX(), pr.roundY(), kc); + } + + vr = vr - vl; + vr.normalize(); +</programlisting> + +<para> +Finally we blt the dab onto the original paint device and tell the painter +that we’ve dirtied a small rectangle of the paint device. +</para> + +<programlisting> + if (m_source->hasSelection()) { + m_painter->bltSelection(x - 32, y - 32, m_painter->compositeOp(), dab.data(), + m_source->selection(), m_painter->opacity(), x - 32, y -32, 64, 64); + } + else { + m_painter->bitBlt(x - 32, y - 32, m_painter->compositeOp(), dab.data(), m_painter->opacity(), x - 32, y -32, 64, 64); + } + + m_painter->addDirtyRect(QRect(x -32, y -32, 64, 64)); +} + + +KisPaintOp * KisSmearyOpFactory::createOp(const KisPaintOpSettings */*settings*/, KisPainter * painter) +{ + KisPaintOp * op = new KisSmearyOp(painter); + Q_CHECK_PTR(op); + return op; +} +</programlisting> + +<para> +That’s all: paintops are easy and fun! +</para> + +</sect2> + +<sect2 id="developers-plugins-viewplugins"> +<title>View plugins</title> + +<para> +View plugins are the weirdest of the bunch: a view plugin is an ordinary KPart +that can provide a bit of user interface and some functionality. For instance, +the histogram tab is a view plugin, as is the rotate dialog. +</para> + +</sect2> + +<sect2 id="developers-plugins-importexport"> +<title>Import/Export filters</title> + +<para> +&krita; works with the ordinary &koffice; file filter architecture. There is a +tutorial, a bit old, but still useful, at: <ulink +url="http://koffice.org/developer/filters/oldfaq.php" />. It is probably best +to cooperate with the &krita; team when developing file filters and do the +development in the &koffice; filter tree. Note that you can test your filters +without running &krita; using the <command>koconverter</command> utility. +</para><para> +Filters have two sides: importing and exporting. These are usually two +different plugins that may share some code. +</para><para> +The important <filename>Makefile.am</filename> entries are: +</para> + +<programlisting> +service_DATA = krita_XXX_import.desktop krita_XXX_export.desktop +servicedir = $(kde_servicesdir) +kdelnk_DATA = krita_XXX.desktop +kdelnkdir = $(kde_appsdir)/Office +libkritaXXXimport_la_SOURCES = XXXimport.cpp +libkritaXXXexport_la_SOURCES = XXXexport.cpp +METASOURCES = AUTO +</programlisting> + +<para> +Whether you are building an import filter or an export filter, your work always +boils down to implementing the following function: +</para> + +<programlisting> +virtual KoFilter::ConversionStatus convert(const QCString& from, const QCString& to); +</programlisting> + +<para> +It is the settings in the <literal role="extension">.desktop</literal> files +that determine which way a filter converts: +</para><para> +Import: +</para> + +<programlisting> +X-KDE-Export=application/x-krita +X-KDE-Import=image/x-xcf-gimp +X-KDE-Weight=1 +X-KDE-Library=libkritaXXXimport +ServiceTypes=KOfficeFilter +</programlisting> + +<para> +Export: +</para> + +<programlisting> +X-KDE-Export=image/x-xcf-gimp +X-KDE-Import=application/x-krita +ServiceTypes=KOfficeFilter +Type=Service +X-KDE-Weight=1 +X-KDE-Library=libkritaXXXexport +</programlisting> + +<para> +And yes, the mimetype chosen for the example is a hint. Please, pretty please, +implement an xcf filter? +</para> + +<sect3 id="plugins-developers-importexport-import"> +<title>Import</title> + +<para> +The big problem with import filters is of course your code to read the data on +disk. The boilerplate for calling that code is fairly simple: +</para> + +<note><para>Note: we really, really should find a way to enable &krita; to keep +a file open and only read data on a as-needed basis, instead of copying the +entire contents to the internal paint device representation. But that would +mean datamanager backends that know about tiff files and so on, and is not +currently implemented. It would be ideal if some file filters could implement +a class provisionally named <classname>KisFileDataManager</classname>, create +an object of that instance with the current file and pass that to KisDoc. But +&krita; handles storage per layer, not per document, so this would be a hard +refactor to do.</para></note> + +<programlisting> +KoFilter::ConversionStatus XXXImport::convert(const QCString&, const QCString& to) +{ + if (to != "application/x-krita") <co id="import1" /> + return KoFilter::BadMimeType; + + KisDoc * doc = dynamic_cast<KisDoc*>(m_chain -> outputDocument()); <co id="import2" /> + KisView * view = static_cast<KisView*>(doc -> views().getFirst()); <co id="import3" /> + + QString filename = m_chain -> inputFile(); <co id="import4" /> + + if (!doc) + return KoFilter::CreationError; + + doc -> prepareForImport(); <co id="import5" /> + + if (!filename.isEmpty()) { + + KURL url(filename); + + if (url.isEmpty()) + return KoFilter::FileNotFound; + + KisImageXXXConverter ib(doc, doc -> undoAdapter()); <co id="import6" /> + + if (view != 0) + view -> canvasSubject() -> progressDisplay() -> setSubject(&ib, false, true); + + switch (ib.buildImage(url)) <co id="import7" /> { + case KisImageBuilder_RESULT_UNSUPPORTED: + return KoFilter::NotImplemented; + break; + case KisImageBuilder_RESULT_INVALID_ARG: + return KoFilter::BadMimeType; + break; + case KisImageBuilder_RESULT_NO_URI: + case KisImageBuilder_RESULT_NOT_LOCAL: + return KoFilter::FileNotFound; + break; + case KisImageBuilder_RESULT_BAD_FETCH: + case KisImageBuilder_RESULT_EMPTY: + return KoFilter::ParsingError; + break; + case KisImageBuilder_RESULT_FAILURE: + return KoFilter::InternalError; + break; + case KisImageBuilder_RESULT_OK: + doc -> setCurrentImage( ib.image()); <co id="import8" /> + return KoFilter::OK; + default: + break; + } + + } + return KoFilter::StorageCreationError; +} +</programlisting> + +<calloutlist> +<callout arearefs="import1"><para>This is supposed to be an importfilter, so +if it is not called to convert to a &krita; image, then something is +wrong.</para></callout> +<callout arearefs="import2"><para>The filter chain already has created an +output document for us. We need to cast it to <classname>KisDocM</classname>, +because &krita; documents need special treatment. It would not, actually, be +all that bad an idea to check whether the result of the cast is not 0, because +if it is, importing will fail.</para></callout> +<callout arearefs="import3"><para>If we call this filter from the GUI, we try +to get the view. If there is a view, the conversion code can try to update the +progressbar.</para></callout> +<callout arearefs="import4"><para>The filter has the filename for our input +file for us.</para></callout> +<callout arearefs="import5"><para><classname>KisDoc</classname> needs to be +prepared for import. Certain settings are initialized and undo is disabled. +Otherwise you could undo the adding of layers performed by the import filter +and that is weird behaviour.</para></callout> +<callout arearefs="import6"><para>I have chosed to implement the actual +importing code in a separate class that I instantiate here. You can also put +all your code right in this method, but that would be a bit +messy.</para></callout> +<callout arearefs="import7"><para>My importer returns a statuscode that I +can then use to set the status of the import filter. &koffice; takes care of +showing error messages.</para></callout> +<callout arearefs="import8"><para>If creating the +<classname>KisImage</classname> has succeeded we set the document's current +image to our newly created image. Then we are done: <literal>return +KoFilter::OK;</literal>.</para></callout> +</calloutlist> + +</sect3> + +</sect2> + +</sect1> diff --git a/doc/krita/developers-scripting.docbook b/doc/krita/developers-scripting.docbook new file mode 100644 index 00000000..b4ee3a53 --- /dev/null +++ b/doc/krita/developers-scripting.docbook @@ -0,0 +1,534 @@ +<sect1 id="developers-scripting"> +<title>Scripting</title> + +<para> +In &krita;, you can write scripts in Ruby or Python (the availability of the +interpreters might depend on what your distributions or the administrator of +your machine did install). Here you will find a description of the scripting +API. +</para><para> +Some examples are distributed with &krita;, and you might find them in +<filename>/usr/share/apps/krita/scripts</filename> (or +<filename>/opt/kde/share/apps/krita/scripts</filename>). +</para> + +<sect2 id="developers-scripting-variables"> +<title>Variables in the <classname>Krosskritacore</classname> module</title> + +<itemizedlist> +<listitem><para><varname>KritaDocument</varname> returns a +<classname>Document</classname> object</para></listitem> +<listitem><para><varname>KritaScript</varname> returns a +<classname>ScriptProgress</classname> object</para></listitem> +</itemizedlist> + +<para> +You can retrieve an object using the <function>get</function> function of the +<classname>Krosskritacore</classname> module, in Ruby you will have to write something like that: +<programlisting> +doc = Krosskritacore::get("KritaDocument") +script = Krosskritacore::get("KritaScript") +</programlisting> +</para> + +</sect2> + +<sect2 id="developers-scripting-functions"> +<title>Functions in the <classname>Krosskritacore</classname> module</title> + +<itemizedlist> +<listitem><para>Function: <function>getBrush</function></para><para> +This function returns a <classname>Brush</classname> taken from the list of +&krita; resources. It takes one argument: the name of the brush. +For example (in Ruby): +<programlisting> +Krosskritacore::getBrush("Circle (05)") +</programlisting></para></listitem> + +<listitem><para>Function: <function>getFilter</function></para><para> +This function returns a <classname>Filter</classname> taken from the list of +&krita; resources. It takes one argument: the name of the filter. +For example (in Ruby): +<programlisting> +Krosskritacore::getFilter("invert") +</programlisting></para></listitem> + +<listitem><para>Function: <function>getPattern</function></para><para> +This function returns a <classname>Pattern</classname> taken from the list of +&krita; resources. It takes one argument: the name of the pattern. +For example (in Ruby): +<programlisting> +Krosskritacore::getPattern("Bricks") +</programlisting></para></listitem> + +<listitem><para>Function: <function>loadBrush</function></para><para> +This function loads a <classname>Brush</classname> and then returns it. +It takes one argument: the filename of the brush.</para></listitem> + +<listitem><para>Function: <function>loadPattern</function></para><para> +This function loads a <classname>Pattern</classname> and then returns it. +It takes one argument: the filename of the pattern.</para></listitem> + +<listitem><para>Function: <function>newCircleBrush</function></para><para> +This function returns a <classname>Brush</classname> with a circular shape. It +takes at least two arguments: width and height. It can take two other +arguments: width of the shading, and height of the shading. If the shading +is not specified, no shading will be used. +For example (in Ruby): +<programlisting> +Krosskritacore::newCircleBrush(10,20) # create a plain circle +Krosskritacore::newCircleBrush(10,20,5,10) # create a gradient +</programlisting></para></listitem> + +<listitem><para>Function: <function>newHSVColor</function></para><para> +This function returns a new <classname>Color</classname> with the given HSV +triplet. It takes three arguments: hue component (0 to 255), saturation +component (0 to 255), value component (0 to 255). + +For example (in Ruby): +<programlisting> +Krosskritacore::newHSVColor(255,125,0) +</programlisting></para></listitem> + +<listitem><para>Function: <function>newImage</function></para><para> +This function returns a new <classname>Image</classname>. It takes four arguments: +width, height, colorspace id, name of the image. And in return you get an +<classname>Image</classname> object. +For example (in Ruby): +<programlisting> +Krosskritacore::newImage(10,20, "RGBA", "kikoo") +</programlisting></para></listitem> + +<listitem><para>Function: <function>newRectBrush</function></para><para> +This function returns a <classname>Brush</classname> with a rectangular shape. +It takes at least two arguments: width and height. It can take two other +arguments: width of the shading and height of the shading. If the shading is +not specified, no shading will be used. +For example (in Ruby): +<programlisting> + Krosskritacore::newRectBrush(10,20) # create a plain rectangle + Krosskritacore::newRectBrush(10,20,5,10) # create a gradient +</programlisting></para></listitem> + +<listitem><para>Function: <function>newRGBColor</function></para><para> +This function returns a new <classname>Color</classname> with the given RGB +triplet. It takes three arguments: red component (0 to 255), blue component (0 to +255), green component (0 to 255). +For example (in Ruby): +<programlisting> +Krosskritacore::newRGBColor(255,0,0) # create a red color +Krosskritacore::newRGBColor(255,255,255) # create a white color +</programlisting></para></listitem> +</itemizedlist> +</sect2> + +<sect2 id="developers-scripting-objects"> +<title>Descriptions and function lists for various objects in +<classname>Krosskritacore</classname></title> + +<itemizedlist> +<listitem><para>Object: PaintLayer</para> + +<itemizedlist> +<listitem><para>Function: <function>beginPainting</function></para></listitem> + +<listitem><para>Function: <function>convertToColorspace</function></para><para> +Convert the image to a colorspace. This function takes one argument: the name +of the destination colorspace. +For example (in Ruby): +<programlisting> +image.convertToColorspace("CMYK") +</programlisting></para></listitem> + +<listitem><para>Function: <function>createHistogram</function></para><para> +This function creates a Histogram for this layer. It takes two arguments: +the type of the histogram ("RGB8HISTO"), and 0 if the histogram is linear, or +1 if it is logarithmic.</para></listitem> + +<listitem><para>Function: <function>createHLineIterator</function></para><para> +Create an iterator over a layer, it will iterate on a row. This function takes three arguments: +<varname>x</varname> (start in the row), <varname>y</varname> (vertical +position of the row), width of the row.</para></listitem> + +<listitem><para>Function: <function>createPainter</function></para><para> +This function creates a <classname>Painter</classname> which will allow you to +paint on the layer. </para></listitem> + +<listitem><para>Function: <function>createRectIterator</function></para><para> +Create an iterator over a layer, it will iterate on a rectangular area. This +function takes four arguments: <varname>x</varname>, <varname>y</varname>, +width of the rectangle, height of the rectangle.</para></listitem> + +<listitem><para>Function: <function>createVLineIterator</function></para><para> +Create an iterator over a layer, it will iterate on a column. This function +takes three arguments: <varname>x</varname> (horizontal position of the +column), <varname>y</varname> (start in the column), height of the column.</para></listitem> + +<listitem><para>Function: <function>endPainting</function></para><para> +This function closes the current undo entry and adds it to the history.</para></listitem> + +<listitem><para>Function: <function>fastWaveletTransformation</function></para><para> +Returns the fast wavelet transformation of the layer.</para></listitem> + +<listitem><para>Function: <function>fastWaveletUntransformation</function></para><para> +Untransforms a fast wavelet into this layer. It takes one argument: a wavelet +object. +For example (in Ruby): +<programlisting> +wavelet = layer.fastWaveletTransformation() +layer.fastWaveletUntransformation(wavelet) +</programlisting></para></listitem> + +<listitem><para>Function: <function>getHeight</function></para><para> +Return the height of the layer.</para></listitem> + +<listitem><para>Function: <function>getWidth</function></para><para> +Return the width of the layer.</para></listitem> +</itemizedlist> +</listitem> + +<listitem><para>Object: <classname>Filter</classname></para> +<itemizedlist> + +<listitem><para>Function: <function>getFilterConfiguration</function></para><para> +This function returns the <classname>FilterConfiguration</classname> +associated with this filter.</para></listitem> + +<listitem><para>Function: <function>process</function></para><para> +This function will apply the filter. It takes at least one argument: the +source layer. You can also use these four aguments: <varname>x</varname>, +<varname>y</varname>, <varname>width</varname>, <varname>height</varname>. +(<varname>x</varname>,<varname>y</varname>,<varname>width</varname>,<varname>height</varname>) +defines the rectangular area on which the filter +will be computed. If the rectangle is not defined, then the filter will be +applied on the entire source layer. +For example (in Ruby) +<programlisting> +doc = Krosskritacore::get("KritaDocument") +image = doc.getImage() +layer = image.getActivePaintLayer() +width = layer.getWidth() +height = layer.getHeight() +filter = Krosskritacore::getFilter("invert") +filter.process(layer, layer) +filter.process(layer, layer, 10, 10, 20, 20 ) +</programlisting></para></listitem> +</itemizedlist></listitem> + +<listitem><para>Object: <classname>FilterConfiguration</classname></para> +<itemizedlist> + +<listitem><para>Function: <function>getProperty</function></para><para> +This function returns the value of a parameter of the associated +<classname>Filter</classname>. It takes one argument: the name of the +parameter.</para></listitem> + +<listitem><para>Function: <function>setProperty</function></para><para> +This function defines a parameter of the associated +<classname>Filter</classname>. It takes two arguments: the name of the +parameter and the value, whose type depends on the +<classname>Filter</classname>.</para></listitem> +</itemizedlist> +</listitem> + +<listitem><para>Object: <classname>Histogram</classname></para> + +<para>This class allows you to access the histogram of a +<classname>PaintLayer</classname>. +Example (in Ruby): +<programlisting> + doc = krosskritacore::get("KritaDocument") + image = doc.getImage() + layer = image.getActiveLayer() + histo = layer.createHistogram("RGB8HISTO",0) + min = layer.getMin() * 255 + max = layer.getMax() * 255 + for i in min..max + print layer.getValue(i) + print "\n" + end +</programlisting> +</para> + +<itemizedlist> +<listitem><para>Function: <function>getChannel</function></para><para> +Return the selected channel.</para></listitem> + +<listitem><para>Function: <function>getCount</function></para><para> +This function returns the number of pixels used by the histogram.</para></listitem> + +<listitem><para>Function: <function>getHighest</function></para><para> +This function returns the highest value of the histogram.</para></listitem> + +<listitem><para>Function: <function>getLowest</function></para><para> +This function returns the lowest value of the histogram.</para></listitem> + +<listitem><para>Function: <function>getMax</function></para><para> +This function returns the maximum bound of the histogram (values at greater +position than the maximum are null). The value is in the range 0.0 – 1.0.</para></listitem> + +<listitem><para>Function: <function>getMean</function></para><para> +This function returns the mean of the histogram.</para></listitem> + +<listitem><para>Function: <function>getMin</function></para><para> +This function returns the minimum bound of the histogram (values at smaller +position than the minimum are null). The value is in the range 0.0 – 1.0.</para></listitem> + +<listitem><para>Function: <function>getNumberOfBins</function></para><para> +Return the number of bins of this histogram. </para></listitem> + +<listitem><para>Function: <function>getTotal</function></para><para> +This function returns the sum of all values of the histogram.</para></listitem> + +<listitem><para>Function: <function>getValue</function></para><para> +Return the value of a bin of the histogram. This function takes one argument: +index, in the range [0..255].</para></listitem> + +<listitem><para>Function: <function>setChannel</function></para><para> +Select the channel of the layer on which to get the result of the histogram. +This function takes one argument: the channel number.</para></listitem> +</itemizedlist> +</listitem> + +<listitem><para>Object: <classname>ScriptProgress</classname></para> +<para><classname>ScriptProgress</classname> is used to manage the progress bar +of the status bar in &krita;. +For example (in Ruby): +<programlisting> +script = Krosskritacore::get("KritaScript") +script.setProgressTotalSteps(1000) +script.setProgressStage("progressive", 0) +for i in 1..900 + script.incProgress() +end +script.setProgressStage("brutal", 1000) +</programlisting></para> + +<itemizedlist> +<listitem><para>Function: <function>incProgress</function></para><para> +This function increments the progress by one step.</para></listitem> + +<listitem><para>Function: <function>setProgress</function></para><para> +This function sets the value of the progress. It takes one argument: +the value of the progress.</para></listitem> + +<listitem><para>Function: <function>setProgressStage</function></para><para> +This function sets the value of the progress and displays the text.</para></listitem> + +<listitem><para>Function: <function>setProgressTotalSteps</function></para><para> +This function set the number of steps that the script will require. It takes +one argument: the maximum value of the progress</para></listitem> +</itemizedlist> +</listitem> + +<listitem><para>Object: <classname>Wavelet</classname></para><para> +This object holds the coefficients of a wavelet transformation of a +<classname>PaintLayer</classname>.</para> +<itemizedlist> + +<listitem><para>Function: <function>getDepth</function></para><para> +Returns the depth of the layer.</para></listitem> + +<listitem><para>Function: <function>getNCoeff</function></para><para> +Returns the value of the Nth coefficient. The function takes one argument: the +index of the coefficient.</para></listitem> + +<listitem><para>Function: <function>getNumCoeffs</function></para><para> +Returns the number of coefficients in this wavelet (= size * size * depth).</para></listitem> + +<listitem><para>Function: <function>getSize</function></para><para> +Returns the size of the wavelet (size = width = height).</para></listitem> + +<listitem><para>Function: <function>getXYCoeff</function></para><para> +Returns the value of a coefficient. The function takes two arguments: +<varname>x</varname> and <varname>y</varname>.</para></listitem> + +<listitem><para>Function: <function>setNCoeff</function></para><para> +Set the value of the Nth coefficient. The function takes two arguments: the +index of the coefficient and the new value of the coefficient.</para></listitem> + +<listitem><para>Function: <function>setXYCoeff</function></para><para> +Set the value of a coefficient. The function takes three arguments: +<varname>x</varname>, <varname>y</varname>, and the new value of the +coefficient.</para></listitem> +</itemizedlist> +</listitem> + +<listitem><para>Object: <classname>Painter</classname></para> +<itemizedlist> + +<listitem><para>Function: <function>convolve</function></para><para> +This function applies a convolution kernel to an image. It takes at least three arguments: +a list of kernels (all lists need to have the same size), +factor, and offset. +</para><para> +The value of a pixel will be given by the following function: K * P / factor + offset, +where K is the kernel and P is the neighbourhood. +</para><para> +It can take the following optional arguments: <varname>borderOp</varname> +(control how to convolve the pixels on the border of an image: 0 = use the +default color, 1 = use the pixel on the opposite side of the image, 2 = use +the border pixel, 3 = avoid border pixels), <varname>channel</varname> (1 for +color, 2 for alpha, 3 for both), <varname>x</varname>, <varname>y</varname>, +<varname>width</varname>, <varname>height</varname>.</para></listitem> + +<listitem><para>Function: <function>setFillThreshold</function></para><para> +Sets the fill threshold. It takes one argument: the threshold.</para></listitem> + +<listitem><para>Function: <function>fillColor</function></para><para> +Starts filling with a color. It takes two arguments: <varname>x</varname> and +<varname>y</varname>.</para></listitem> + +<listitem><para>Function: <function>fillPattern</function></para><para> +Starts filling with a pattern. It takes two arguments: <varname>x</varname> +and <varname>y</varname>.</para></listitem> + +<listitem><para>Function: <function>paintPolyline</function></para><para> +This function will paint a polyline. It takes two arguments: a list of x +positions, and a list of y positions.</para></listitem> + +<listitem><para>Function: <function>paintLine</function></para><para> +This function will paint a line. It takes five arguments: +<varname>x1</varname>, <varname>y1</varname>, <varname>x2</varname>, +<varname>y2</varname>, and <varname>pressure</varname>. +</para></listitem> + +<listitem><para>Function: <function>paintBezierCurve</function></para><para> +This function will paint a Bezier curve. It takes ten arguments: +<varname>x1</varname>, <varname>y1</varname>, <varname>p1</varname>, +<varname>cx1</varname>, <varname>cy1</varname>, <varname>cx2</varname>, +<varname>cx2</varname>, <varname>x2</varname>, <varname>y2</varname>, +<varname>p2</varname>, where (<varname>x1</varname>,<varname>y1</varname>) is +the start position, <varname>p1</varname> is the pressure at the start, +(<varname>x2</varname>,<varname>y2</varname>) is the end position, +<varname>p2</varname> is the pressure at the end. +(<varname>cx1</varname>,<varname>cy1</varname>) and +(<varname>cx2</varname>,<varname>cy2</varname>) are the positions of the +control points.</para></listitem> + +<listitem><para>Function: <function>paintEllipse</function></para><para> +This function will paint an ellipse. It takes five arguments: +<varname>x1</varname>, <varname>y1</varname>, <varname>x2</varname>, +<varname>y2</varname>, <varname>pressure</varname>, where +(<varname>x1</varname>,<varname>y1</varname>) and +(<varname>x2</varname>,<varname>y2</varname>) are the positions of the two +centers.</para></listitem> + +<listitem><para>Function: <function>paintPolygon</function></para><para> +This function will paint a polygon. It takes two arguments: a list of x +positions and a list of y positions.</para></listitem> + +<listitem><para>Function: <function>paintRect</function></para><para> +This function will paint a rectangle. It takes five arguments: +<varname>x</varname>, <varname>y</varname>, <varname>width</varname> +<varname>height</varname>, <varname>pressure</varname>.</para></listitem> + +<listitem><para>Function: <function>paintAt</function></para><para> +This function will paint at a given position. +It takes three arguments: <varname>x</varname>, <varname>y</varname>, +<varname>pressure</varname>.</para></listitem> + +<listitem><para>Function: <function>setPaintColor</function></para><para> +This function sets the paint color (also called foreground color). It takes +one argument: a <classname>Color</classname>.</para></listitem> + +<listitem><para>Function: <function>setBackgroundColor</function></para><para> +This function sets the background color. It takes one argument: a +<classname>Color</classname>.</para></listitem> + +<listitem><para>Function: <function>setPattern</function></para><para> +This function sets the pattern used for filling. It takes one argument: a +<classname>Pattern</classname> object.</para></listitem> + +<listitem><para>Function: <function>setBrush</function></para><para> +This function sets the brush used for painting. It takes one argument: a +<classname>Brush</classname> object.</para></listitem> + +<listitem><para>Function: <function>setPaintOp</function></para><para> +This function defines the paint operation. It takes one argument: the name of +the paint operation.</para></listitem> + +<listitem><para>Function: <function>setDuplicateOffset</function></para><para> +This function defines the duplicate offset. It takes two arguments: the +horizontal offset and the vertical offset.</para></listitem> + +<listitem><para>Function: <function>setOpacity</function></para><para> +This function set the opacity of the painting. It takes one argument: the +opacity, in the range 0 to 255.</para></listitem> + +<listitem><para>Function: <function>setStrokeStyle</function></para><para> +This function sets the style of the stroke. It takes one argument: 0 for none, +or 1 for brush.</para></listitem> + +<listitem><para>Function: <function>setFillStyle</function></para><para> +This function sets the fill style of the <classname>Painter</classname>. +It takes one argument: 0 for none, 1 for fill with foreground color, 2 for +fill with background color, 3 for fill with pattern.</para></listitem> +</itemizedlist> +</listitem> + +<listitem><para>Object: <classname>Iterator</classname></para><para> +This object allows you to change pixel values one by one. +The name of some functions depends on the colorspace, for instance, if the +colorspace of the layer is RGB, you will have <function>setR</function>, +<function>setG</function> and <function>setB</function>, and for +CMYK: <function>setC</function>, <function>setM</function>, +<function>setY</function> and <function>setK</function>. In the documentation +below we will assume that the colorspace is called ABC, with three channels: +A, B and C.</para> + +<itemizedlist> +<listitem><para>Functions: <function>setA</function>, +<function>setB</function>, <function>setC</function></para><para> +Those functions take one argument: the new value of one of the channels of +this pixel.</para></listitem> + +<listitem><para>Function: <function>setABC</function></para><para> +Set the value of all channels. This function takes one argument: an array with +the new values for all channels.</para></listitem> + +<listitem><para>Functions: <function>getA</function>, +<function>getB</function>, <function>getC</function></para><para> +Return the value of one of the channels of this pixel.</para></listitem> + +<listitem><para>Function: <function>getABC</function></para><para> +Return an array with the values of all channels.</para></listitem> + +<listitem><para>Function: <function>darken</function></para><para> +Darken a pixel. This function takes at least one argument: +<varname>shade</varname> (amount used to darken all color channels). This +function can take the following optional argument: +<varname>compensation</varname> (to limit the darkening).</para></listitem> + +<listitem><para>Function: <function>invertColor</function></para><para> +Invert the color of a pixel.</para></listitem> + +<listitem><para>Function: <function>next</function></para><para> +Increment the position, go to the next pixel.</para></listitem> + +<listitem><para>Function: <function>isDone</function></para><para> +Return true if the iterator is at the end (no more pixels are +available).</para></listitem> +</itemizedlist> +</listitem> +</itemizedlist> + +</sect2> + +<sect2 id="developers-scripting-resources"> +<title>Resources</title> + +<para> +Here are hints or partial lists of resources for &krita;. +</para><para> +For <classname>Brush</classname> and <classname>Pattern</classname>: You can get +the name and the associated brush or pattern from the selector in &krita;'s +toolbar. +</para><para> +A list of ids for colorspaces in &krita;: LABA, RGBA, RGBA16, RGBAF32, +RGBAF16HALF, LMSAF32, GRAYA, GRAYA16, CMYK, CMYKA16. +</para> +</sect2> + +</sect1> + diff --git a/doc/krita/developers.docbook b/doc/krita/developers.docbook new file mode 100644 index 00000000..27549530 --- /dev/null +++ b/doc/krita/developers.docbook @@ -0,0 +1,13 @@ +<chapter id="developers"> +<title>Developer's information</title> + +<para> +This chapter contains information for developers or other enthousiasts who +want to get more out of &krita;. +</para> + +&developers-scripting; +&developers-plugins; + +</chapter> + diff --git a/doc/krita/dialogs-addpalette.png b/doc/krita/dialogs-addpalette.png Binary files differnew file mode 100644 index 00000000..378ba4db --- /dev/null +++ b/doc/krita/dialogs-addpalette.png diff --git a/doc/krita/dialogs-blur.png b/doc/krita/dialogs-blur.png Binary files differnew file mode 100644 index 00000000..d41f5844 --- /dev/null +++ b/doc/krita/dialogs-blur.png diff --git a/doc/krita/dialogs-brightnesscontrast.png b/doc/krita/dialogs-brightnesscontrast.png Binary files differnew file mode 100644 index 00000000..4dd8673d --- /dev/null +++ b/doc/krita/dialogs-brightnesscontrast.png diff --git a/doc/krita/dialogs-bumpmap.png b/doc/krita/dialogs-bumpmap.png Binary files differnew file mode 100644 index 00000000..5a778bef --- /dev/null +++ b/doc/krita/dialogs-bumpmap.png diff --git a/doc/krita/dialogs-coloradjustment.png b/doc/krita/dialogs-coloradjustment.png Binary files differnew file mode 100644 index 00000000..8d6dcc29 --- /dev/null +++ b/doc/krita/dialogs-coloradjustment.png diff --git a/doc/krita/dialogs-colorrange.png b/doc/krita/dialogs-colorrange.png Binary files differnew file mode 100644 index 00000000..d72961a1 --- /dev/null +++ b/doc/krita/dialogs-colorrange.png diff --git a/doc/krita/dialogs-colortoalpha.png b/doc/krita/dialogs-colortoalpha.png Binary files differnew file mode 100644 index 00000000..c51d3878 --- /dev/null +++ b/doc/krita/dialogs-colortoalpha.png diff --git a/doc/krita/dialogs-colortransfer.png b/doc/krita/dialogs-colortransfer.png Binary files differnew file mode 100644 index 00000000..ccdfe92b --- /dev/null +++ b/doc/krita/dialogs-colortransfer.png diff --git a/doc/krita/dialogs-convertimagetype.png b/doc/krita/dialogs-convertimagetype.png Binary files differnew file mode 100644 index 00000000..54ec4e93 --- /dev/null +++ b/doc/krita/dialogs-convertimagetype.png diff --git a/doc/krita/dialogs-convertlayertype.png b/doc/krita/dialogs-convertlayertype.png Binary files differnew file mode 100644 index 00000000..748ef1f9 --- /dev/null +++ b/doc/krita/dialogs-convertlayertype.png diff --git a/doc/krita/dialogs-cubism.png b/doc/krita/dialogs-cubism.png Binary files differnew file mode 100644 index 00000000..302a4017 --- /dev/null +++ b/doc/krita/dialogs-cubism.png diff --git a/doc/krita/dialogs-customconvolution.png b/doc/krita/dialogs-customconvolution.png Binary files differnew file mode 100644 index 00000000..c3036a05 --- /dev/null +++ b/doc/krita/dialogs-customconvolution.png diff --git a/doc/krita/dialogs-documentinformation.png b/doc/krita/dialogs-documentinformation.png Binary files differnew file mode 100644 index 00000000..0df47cdd --- /dev/null +++ b/doc/krita/dialogs-documentinformation.png diff --git a/doc/krita/dialogs-dropshadow.png b/doc/krita/dialogs-dropshadow.png Binary files differnew file mode 100644 index 00000000..5539c24c --- /dev/null +++ b/doc/krita/dialogs-dropshadow.png diff --git a/doc/krita/dialogs-emboss.png b/doc/krita/dialogs-emboss.png Binary files differnew file mode 100644 index 00000000..cd1ddfff --- /dev/null +++ b/doc/krita/dialogs-emboss.png diff --git a/doc/krita/dialogs-filtersgallery.png b/doc/krita/dialogs-filtersgallery.png Binary files differnew file mode 100644 index 00000000..30994265 --- /dev/null +++ b/doc/krita/dialogs-filtersgallery.png diff --git a/doc/krita/dialogs-gaussiannoise.png b/doc/krita/dialogs-gaussiannoise.png Binary files differnew file mode 100644 index 00000000..5630a2aa --- /dev/null +++ b/doc/krita/dialogs-gaussiannoise.png diff --git a/doc/krita/dialogs-histogram.png b/doc/krita/dialogs-histogram.png Binary files differnew file mode 100644 index 00000000..1f91c1e4 --- /dev/null +++ b/doc/krita/dialogs-histogram.png diff --git a/doc/krita/dialogs-imageproperties.png b/doc/krita/dialogs-imageproperties.png Binary files differnew file mode 100644 index 00000000..1d100a2d --- /dev/null +++ b/doc/krita/dialogs-imageproperties.png diff --git a/doc/krita/dialogs-imagerestoration.png b/doc/krita/dialogs-imagerestoration.png Binary files differnew file mode 100644 index 00000000..0f5f8286 --- /dev/null +++ b/doc/krita/dialogs-imagerestoration.png diff --git a/doc/krita/dialogs-imagesize.png b/doc/krita/dialogs-imagesize.png Binary files differnew file mode 100644 index 00000000..7db26de9 --- /dev/null +++ b/doc/krita/dialogs-imagesize.png diff --git a/doc/krita/dialogs-layerproperties.png b/doc/krita/dialogs-layerproperties.png Binary files differnew file mode 100644 index 00000000..1c0852d2 --- /dev/null +++ b/doc/krita/dialogs-layerproperties.png diff --git a/doc/krita/dialogs-layersize.png b/doc/krita/dialogs-layersize.png Binary files differnew file mode 100644 index 00000000..2b7bfaa7 --- /dev/null +++ b/doc/krita/dialogs-layersize.png diff --git a/doc/krita/dialogs-lenscorrection.png b/doc/krita/dialogs-lenscorrection.png Binary files differnew file mode 100644 index 00000000..39449f4b --- /dev/null +++ b/doc/krita/dialogs-lenscorrection.png diff --git a/doc/krita/dialogs-newadjustmentlayer.png b/doc/krita/dialogs-newadjustmentlayer.png Binary files differnew file mode 100644 index 00000000..cb55622b --- /dev/null +++ b/doc/krita/dialogs-newadjustmentlayer.png diff --git a/doc/krita/dialogs-newlayer.png b/doc/krita/dialogs-newlayer.png Binary files differnew file mode 100644 index 00000000..07b9b7c8 --- /dev/null +++ b/doc/krita/dialogs-newlayer.png diff --git a/doc/krita/dialogs-oilpaint.png b/doc/krita/dialogs-oilpaint.png Binary files differnew file mode 100644 index 00000000..c25e49ff --- /dev/null +++ b/doc/krita/dialogs-oilpaint.png diff --git a/doc/krita/dialogs-pixelize.png b/doc/krita/dialogs-pixelize.png Binary files differnew file mode 100644 index 00000000..87e5d72c --- /dev/null +++ b/doc/krita/dialogs-pixelize.png diff --git a/doc/krita/dialogs-raindrops.png b/doc/krita/dialogs-raindrops.png Binary files differnew file mode 100644 index 00000000..8fef6e22 --- /dev/null +++ b/doc/krita/dialogs-raindrops.png diff --git a/doc/krita/dialogs-randomnoise.png b/doc/krita/dialogs-randomnoise.png Binary files differnew file mode 100644 index 00000000..40cffc10 --- /dev/null +++ b/doc/krita/dialogs-randomnoise.png diff --git a/doc/krita/dialogs-randompick.png b/doc/krita/dialogs-randompick.png Binary files differnew file mode 100644 index 00000000..dd71fe13 --- /dev/null +++ b/doc/krita/dialogs-randompick.png diff --git a/doc/krita/dialogs-rotateimage.png b/doc/krita/dialogs-rotateimage.png Binary files differnew file mode 100644 index 00000000..569a157d --- /dev/null +++ b/doc/krita/dialogs-rotateimage.png diff --git a/doc/krita/dialogs-rotatelayer.png b/doc/krita/dialogs-rotatelayer.png Binary files differnew file mode 100644 index 00000000..8b06e26f --- /dev/null +++ b/doc/krita/dialogs-rotatelayer.png diff --git a/doc/krita/dialogs-roundcorners.png b/doc/krita/dialogs-roundcorners.png Binary files differnew file mode 100644 index 00000000..07d3c1d1 --- /dev/null +++ b/doc/krita/dialogs-roundcorners.png diff --git a/doc/krita/dialogs-separateimage.png b/doc/krita/dialogs-separateimage.png Binary files differnew file mode 100644 index 00000000..ae245750 --- /dev/null +++ b/doc/krita/dialogs-separateimage.png diff --git a/doc/krita/dialogs-shearimage.png b/doc/krita/dialogs-shearimage.png Binary files differnew file mode 100644 index 00000000..0b7c4676 --- /dev/null +++ b/doc/krita/dialogs-shearimage.png diff --git a/doc/krita/dialogs-shearlayer.png b/doc/krita/dialogs-shearlayer.png Binary files differnew file mode 100644 index 00000000..1b4fb94b --- /dev/null +++ b/doc/krita/dialogs-shearlayer.png diff --git a/doc/krita/dialogs-smalltiles.png b/doc/krita/dialogs-smalltiles.png Binary files differnew file mode 100644 index 00000000..d7640ec5 --- /dev/null +++ b/doc/krita/dialogs-smalltiles.png diff --git a/doc/krita/dialogs-sobel.png b/doc/krita/dialogs-sobel.png Binary files differnew file mode 100644 index 00000000..5ce7b6a6 --- /dev/null +++ b/doc/krita/dialogs-sobel.png diff --git a/doc/krita/dialogs-substrate.png b/doc/krita/dialogs-substrate.png Binary files differnew file mode 100644 index 00000000..2c9fe069 --- /dev/null +++ b/doc/krita/dialogs-substrate.png diff --git a/doc/krita/dialogs-unsharpmask.png b/doc/krita/dialogs-unsharpmask.png Binary files differnew file mode 100644 index 00000000..b26332f9 --- /dev/null +++ b/doc/krita/dialogs-unsharpmask.png diff --git a/doc/krita/dialogs-wave.png b/doc/krita/dialogs-wave.png Binary files differnew file mode 100644 index 00000000..929a20c5 --- /dev/null +++ b/doc/krita/dialogs-wave.png diff --git a/doc/krita/dialogs-waveletnoise.png b/doc/krita/dialogs-waveletnoise.png Binary files differnew file mode 100644 index 00000000..90b735ec --- /dev/null +++ b/doc/krita/dialogs-waveletnoise.png diff --git a/doc/krita/faq.docbook b/doc/krita/faq.docbook new file mode 100644 index 00000000..91ac0b1e --- /dev/null +++ b/doc/krita/faq.docbook @@ -0,0 +1,51 @@ +<chapter id="faq"> +<title>Questions and Answers</title> + +<para> +Sometimes, stuff does not work as one would like. &krita; can crash — not all +that often, these days, but still. So you might need some help. The first thing +to do is trying to determine what was going on, exactly. Try to reproduce the +problem and write down what you did before the problem occurred. +</para><para> +Then you can create a bug report: go to the <guimenu>Help</guimenu> menu and select +<guimenuitem>Report Bug</guimenuitem>. That way, we know exactly which version of +&krita; you are using. Please try to make reasonably sure that your problem has +not been reported already! Also, please try to be as complete as possible in +describing your problem. +</para><para> +You can also, if it is just that you cannot figure out how to do something +that you can do using Photoshop (or any other drawing program) using &krita;, +or if you have some other question, e-mail the &krita; developers at our +mailing list <email>kimageshop@kde.org</email>, or e-mail the program or +documentation maintainer directly at <email>boud@valdyas.org</email> or +<email>sanderkoning@kde.nl</email>, respectively. +</para> + +<!-- TODO Add a set of Q&As? --> + +&reporting.bugs; +&updating.documentation; + +<!-- <qandaset id="faqlist"> +<qandaentry> +<question> +<para>My Mouse doesn't work. How do I quit &kmyapplication;?</para> +</question> +<answer> +<para>You silly goose! Check out the <link linkend="commands">Commands +Section</link> for the answer.</para> +</answer> +</qandaentry> +<qandaentry> +<question> +<para>Why can't I twiddle my documents?</para> +</question> +<answer> +<para>You can only twiddle your documents if you have the foobar.lib +installed.</para> +</answer> +</qandaentry> +</qandaset> --> + +</chapter> + diff --git a/doc/krita/index.docbook b/doc/krita/index.docbook new file mode 100644 index 00000000..b5ef3c1b --- /dev/null +++ b/doc/krita/index.docbook @@ -0,0 +1,137 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kappname "&krita;"> + <!ENTITY package "koffice"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % English "INCLUDE"> + <!ENTITY introduction SYSTEM "introduction.docbook"> + <!ENTITY tutorial SYSTEM "tutorial.docbook"> + <!ENTITY tutorial-starting SYSTEM "tutorial-starting.docbook"> + <!ENTITY tutorial-select-layer SYSTEM "tutorial-select-layer.docbook"> + <!ENTITY tutorial-quick-starts SYSTEM "tutorial-quick-starts.docbook"> + <!ENTITY tutorial-tablet SYSTEM "tutorial-tablet.docbook"> + <!ENTITY images SYSTEM "using-images.docbook"> + <!ENTITY views SYSTEM "using-views.docbook"> + <!ENTITY layers SYSTEM "using-layers.docbook"> + <!ENTITY selections SYSTEM "using-selections.docbook"> + <!ENTITY filters SYSTEM "using-filters.docbook"> + <!ENTITY colorspaces SYSTEM "using-colorspaces.docbook"> + <!ENTITY commands SYSTEM "commands.docbook"> + <!ENTITY commands-toolbars SYSTEM "commands-toolbars.docbook"> + <!ENTITY commands-palettes SYSTEM "commands-palettes.docbook"> + <!ENTITY commands-menus SYSTEM "commands-menus.docbook"> + <!ENTITY commands-dialogs SYSTEM "commands-dialogs.docbook"> + <!ENTITY settings SYSTEM "settings.docbook"> + <!ENTITY developers SYSTEM "developers.docbook"> + <!ENTITY developers-scripting SYSTEM "developers-scripting.docbook"> + <!ENTITY developers-plugins SYSTEM "developers-plugins.docbook"> + <!ENTITY faq SYSTEM "faq.docbook"> + <!ENTITY credits SYSTEM "credits.docbook"> + <!ENTITY installation SYSTEM "installation.docbook"> +]> + +<book lang="&language;"> + +<bookinfo> +<title>The &krita; Handbook</title> + +<authorgroup> +<author> +<personname> +<firstname>Boudewijn</firstname> +<surname>Rempt</surname> +</personname> +<email>boud@valdyas.org</email> +</author> +<author> +<personname> +<firstname>Casper</firstname> +<surname>Boemann</surname> +</personname> +<email>cbr@boemann.dk</email> +</author> +<author> +<personname> +<firstname>Cyrille</firstname> +<surname>Berger</surname> +</personname> +<email>cberger@cberger.net</email> +</author> +<author> +<personname> +<firstname>Sander</firstname> +<surname>Koning</surname> +</personname> +<email>sanderkoning@kde.nl</email> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> + +<copyright> +<year>2005-2006</year> +<holder>Boudewijn Rempt</holder> +<holder>Casper Boemann</holder> +<holder>Cyrille Berger</holder> +<holder>Sander Koning</holder> +</copyright> + +<legalnotice>&FDLNotice;</legalnotice> + +<!-- Date and version information of the documentation --> + +<date>2006-09-13</date> +<releaseinfo>1.6</releaseinfo> + +<!-- Abstract about this handbook --> + +<abstract> +<para> +&krita; is part of the &koffice; package. &krita; is a photo retouching, image +editing application, but above all, a paint application that will allow you to +create original art on your computer as if you were working with paint and +brushes, pencils, pen and ink — or, at least, it will one day. We are +continually working on extending &krita; and making it better in every respect. +</para> +</abstract> + +<keywordset> +<keyword>KDE</keyword> +<keyword>koffice</keyword> +<keyword>Krita</keyword> +<keyword>image manipulation</keyword> +<keyword>graphics</keyword> +<keyword>painting</keyword> +</keywordset> + +</bookinfo> + +&introduction; +&tutorial; +&images; +&views; +&layers; +&selections; +&filters; +&colorspaces; +&commands; +&settings; +&developers; +&faq; +&credits; +&installation; + +&documentation.index; +</book> + +<!-- +Local Variables: +mode: xml +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: + +vim:tabstop=2:shiftwidth=2:expandtab +kate: space-indent on; indent-width 2; tab-width 2; indent-mode none; +--> diff --git a/doc/krita/installation.docbook b/doc/krita/installation.docbook new file mode 100644 index 00000000..83158a74 --- /dev/null +++ b/doc/krita/installation.docbook @@ -0,0 +1,73 @@ +<appendix id="installation"> +<title>Installation</title> + +<sect1 id="getting-kapp"> +<title>How to obtain &krita;</title> + +<!-- This first entity contains boiler plate for applications that are +part of KDE CVS. You should remove it if you are releasing your +application --> + +&install.intro.documentation; + +</sect1> + +<sect1 id="requirements"> +<title>Requirements</title> + +<!-- +List any special requirements for your application here. This should include: +.Libraries or other software that is not included in kdesupport, +kdelibs, or kdebase. +.Hardware requirements like amount of RAM, disk space, graphics card +capabilities, screen resolution, special expansion cards, etc. +.Operating systems the app will run on. If your app is designed only for a +specific OS, (you wrote a graphical LILO configurator for example) put this +information here. +--> + +<para> +&krita; depends on the following libraries, apart from what &koffice; needs +itself: +</para> +<itemizedlist> +<listitem><para><ulink url="http://www.imagemagick.org/">Image +Magick</ulink> — X11 Image Processing and Display +Package</para></listitem> +<listitem><para><ulink url="http://www.littlecms.com/">Little CMS</ulink> +— A free color management system in 100K</para></listitem> +<listitem><para><ulink +url="http://www.openexr.com/">OpenEXR</ulink></para></listitem> +</itemizedlist> + +<!-- For a list of updates, you may refer to the application web site +or the ChangeLog file, or ... --> +<para> +You can find a list of changes in the <filename>ChangeLog</filename> file or on +<ulink url="http://koffice.org/krita/">&krita;'s website</ulink>. +</para> +</sect1> + +<sect1 id="compilation"> +<title>Compilation and Installation</title> + +<!-- This entity contains the boilerplate text for standard --> +<!-- compilation instructions. If your application requires any --> +<!-- special handling, remove it, and replace with your own text. --> + +&install.compile.documentation; + +</sect1> + +<!-- +<sect1 id="configuration"> +<title>Configuration</title> + +<para>Don't forget to tell your system to start the <filename>dtd</filename> +dicer-toaster daemon first, or &kmyapplication; won't work !</para> + +</sect1> +--> + +</appendix> + diff --git a/doc/krita/introduction.docbook b/doc/krita/introduction.docbook new file mode 100644 index 00000000..7441f80d --- /dev/null +++ b/doc/krita/introduction.docbook @@ -0,0 +1,153 @@ +<chapter id="introduction"> +<title>Introduction</title> + +<sect1 id="introduction-krita"> +<title>What is &krita;?</title> +<para> +&krita;, part of &koffice;, can do everything you want with images — or +it will be able to one day. Everything from photo retouching, image editing, +and last but not least creating original art on your computer as if you were +working with real paint and brushes, pencils, pen and ink. Every day +&krita; becomes a little better, a little more useful. We are working on it, +anyway. We, that is, Adrian, Bart, Boudewijn, Casper, Cyrille, Michael and Sven. +It could be you, too — whether you would like to help with some artwork +for the user interface, cool ideas for the todo, helpful bug reports, usability +reviews or even actual code, you will not be snubbed by us. +</para> +<para> +&krita; is as much yours as it is ours. It should be fun, innovative, and +experimental — first and foremost a pleasure to use and to hack on. +</para> +</sect1> + +<sect1 id="introduction-keyfeatures"> +<title>Key features</title> + +<para>The most important features &krita; currently has to offer, are:</para> +<itemizedlist> + +<listitem><para>Plugins: Krita is extensible through plugins. There are tools, +colorspaces, paint operations, filters and kpart-based user interface plugins. +</para></listitem> + +<listitem><para>Scriptable: &krita; is scriptable in Python and Ruby using +Kross, the cross language scripting engine that originated in Kexi. The +scripting is compatible with PyQt/KDE and Korundum for adding GUI +items, such as dialog boxes.</para></listitem> + +<listitem><para>Color models: &krita; uses lcms for a dependable color +workflow using icc profiles for importing, exporting, selecting paint colors, +printing, cutting and pasting. 8, 16, and 32 bit colorspaces are available +(RGB, CMYK, L*a*b*, ...) and colors can be selected from a color wheel, rgb or +grayscale sliders or with a palette.</para></listitem> + +<listitem><para>Editing and viewing: Unlimited undo and redo are available. +You can cut, copy and paste between lagers and images, with conversion through +icc profiles if this is necessary. OpenGL is supported for display. The view +can be made fullscreen and can be split. Rulers are available, the +image can be zoomed, and for maximizing the workspace all palette windows can +be hidden in one go. Also a histogram palette is available.</para></listitem> + +<listitem><para>Images and layers: Layers and entire images can be mirrored, +sheared, rotated and scaled, converted between colorspaces, and layers in +different colorspaces can be merged. An image can be separated into colorspace +channels.</para></listitem> + +<listitem><para>Layers: Layers can be added, removed, grouped, locked, made +(in)visible, and re-ordered. Adjustment layers (layers which perform a filter +function) can be added as well. A layer can be saved as a separate image and +its colorspace can be changed.</para></listitem> + +<listitem><para>Tools: Through the innovative paintOp plugin system, all +painting tools (brush, ellipse, line, etc.) can paint aliased, anti-aliased, +erase, airbrush and more.</para></listitem> + +<listitem><para>Filters: &krita; can multithread the operation of some +filters. Filters can be previewed in the filter gallery. Available filters +include color adjustment, sharpen or blur, emboss, raindrops, and +more.</para></listitem> + +<listitem><para>Brushes: The GIMP brush shapes can be used, both colored and +grayscale brushes and pipe brushes. Custom brushes can be created, even from +entire layers or images. Colored brushes can also be used as +masks.</para></listitem> + +</itemizedlist> + +<sect2 id="introduction-keyfeatures-colormanagement"> +<title>Color management</title> +<para> +One of the most distinguishing features in &krita; is its color management. +If you put two screens side to side, you will notice that there is often a lot +of difference in the way they display colors. Even white, especially white, is +often not the same thing at all. On one screen it can be a dirty yellow, on +another screen a sickly bluish. Very seldom is it a creamy milk-white. The same +holds, unfortunately, for scanners, printers and digital cameras. So, if you +want to see the right colors on screen and on paper, being the colors that you +saw when taking your snapshot, you will have to compensate. +</para><para> +&krita; can do this for you: in &krita;, a color is (almost) never just a set of +numbers, one for each color channel; it is a set of numbers with information +attached. And that extra information is contained in a profile: your image has a +profile, your scanner has a profile, your camera should have a profile and your +screen has a profile. When passing information from your image to your screen, +the profiles are checked and the correct color is computed. This may cause a +little slowness, now and then, but the result is that you can work with colors, +instead of almost meaningless RGB triplets. +</para><para> +Available colorspaces are: 8 bit/channel RGB, CMYK, grayscale and wet +watercolors, 16 bit/channel RGB, CMYK, grayscale and L*a*b*, <quote>half</quote> +RGB, and 32 bit float RGB (HDR) and LMS. +</para> +</sect2> + +<sect2 id="introduction-keyfeatures-imageformats"> +<title>Image formats</title> +<para> +&krita; currently supports the following image formats, both for importing and +exporting, apart from its own: PNG, TIFF, JPEG, Dicom, XCF, PSD, GIF, BMP, +XPM, Targa, RGB, and OpenEXR. Additionally, &krita; can import +ICO files. PSD (the Photoshop file format) is only supported up to version 6, +from version 7 on, the Photoshop file format is closed. +</para><para> +Embedded icc profiles and exif information are preserved on export to +supporting file formats. &krita;'s native file format stores icc and exif +information. +</para> +</sect2> + +</sect1> + +<sect1 id="introduction-manual"> +<title>About this manual</title> +<para> +We are assuming you have got a good working knowledge of &kde; and of your +operating system. The first chapter will give you a quick tour of &krita;'s +cool features; the other chapters will expand on that information. +</para> +<note><para> +This manual is not complete. The invitation to join us and help out extends to +the manual, too! +</para></note> +<para> +Should you have any questions, comments or suggestions, please contact the +documentation maintainer at <email>sanderkoning@kde.nl</email>. +</para> +</sect1> + +<sect1 id="introduction-maintainer"> +<title>About the application maintainer</title> +<para> +Hi! I'm Boudewijn Rempt — the current maintainer of &krita;. I was +educated as a linguist, retrained as a database developer, work as a Java +hacker, study theology and I have always liked to paint and sketch a little. +Conspiciously absent in my life have been two important things for a developer +of an image app: mathematics and experience with graphic design. That means that +I am probably not the best person to explain the niceties of using an image +editor or a paint application to you. If you catch me in an error, please don't +hesitate to mail me: <email>boud@valdyas.org</email>. +</para> +</sect1> + +</chapter> + diff --git a/doc/krita/mainscreen.png b/doc/krita/mainscreen.png Binary files differnew file mode 100644 index 00000000..f0f775a7 --- /dev/null +++ b/doc/krita/mainscreen.png diff --git a/doc/krita/mountains-burn.png b/doc/krita/mountains-burn.png Binary files differnew file mode 100644 index 00000000..679e0ebd --- /dev/null +++ b/doc/krita/mountains-burn.png diff --git a/doc/krita/mountains-color.png b/doc/krita/mountains-color.png Binary files differnew file mode 100644 index 00000000..0766e86f --- /dev/null +++ b/doc/krita/mountains-color.png diff --git a/doc/krita/mountains-darken.png b/doc/krita/mountains-darken.png Binary files differnew file mode 100644 index 00000000..9f15fe4c --- /dev/null +++ b/doc/krita/mountains-darken.png diff --git a/doc/krita/mountains-divide.png b/doc/krita/mountains-divide.png Binary files differnew file mode 100644 index 00000000..1471b2dc --- /dev/null +++ b/doc/krita/mountains-divide.png diff --git a/doc/krita/mountains-dodge.png b/doc/krita/mountains-dodge.png Binary files differnew file mode 100644 index 00000000..4904225f --- /dev/null +++ b/doc/krita/mountains-dodge.png diff --git a/doc/krita/mountains-hue.png b/doc/krita/mountains-hue.png Binary files differnew file mode 100644 index 00000000..82be57dc --- /dev/null +++ b/doc/krita/mountains-hue.png diff --git a/doc/krita/mountains-lighten.png b/doc/krita/mountains-lighten.png Binary files differnew file mode 100644 index 00000000..d8e5a85a --- /dev/null +++ b/doc/krita/mountains-lighten.png diff --git a/doc/krita/mountains-multiply.png b/doc/krita/mountains-multiply.png Binary files differnew file mode 100644 index 00000000..e734cfc5 --- /dev/null +++ b/doc/krita/mountains-multiply.png diff --git a/doc/krita/mountains-normal.png b/doc/krita/mountains-normal.png Binary files differnew file mode 100644 index 00000000..244bc6ff --- /dev/null +++ b/doc/krita/mountains-normal.png diff --git a/doc/krita/mountains-original.png b/doc/krita/mountains-original.png Binary files differnew file mode 100644 index 00000000..7bd1dea9 --- /dev/null +++ b/doc/krita/mountains-original.png diff --git a/doc/krita/mountains-overlay.png b/doc/krita/mountains-overlay.png Binary files differnew file mode 100644 index 00000000..bf6cf10f --- /dev/null +++ b/doc/krita/mountains-overlay.png diff --git a/doc/krita/mountains-saturation.png b/doc/krita/mountains-saturation.png Binary files differnew file mode 100644 index 00000000..c114891c --- /dev/null +++ b/doc/krita/mountains-saturation.png diff --git a/doc/krita/mountains-screen.png b/doc/krita/mountains-screen.png Binary files differnew file mode 100644 index 00000000..2600fbcd --- /dev/null +++ b/doc/krita/mountains-screen.png diff --git a/doc/krita/mountains-value.png b/doc/krita/mountains-value.png Binary files differnew file mode 100644 index 00000000..097aa5d1 --- /dev/null +++ b/doc/krita/mountains-value.png diff --git a/doc/krita/mountains.png b/doc/krita/mountains.png Binary files differnew file mode 100644 index 00000000..b97ed9ea --- /dev/null +++ b/doc/krita/mountains.png diff --git a/doc/krita/newimage.png b/doc/krita/newimage.png Binary files differnew file mode 100644 index 00000000..804f927c --- /dev/null +++ b/doc/krita/newimage.png diff --git a/doc/krita/palettes-colors-gray.png b/doc/krita/palettes-colors-gray.png Binary files differnew file mode 100644 index 00000000..9c7d2fab --- /dev/null +++ b/doc/krita/palettes-colors-gray.png diff --git a/doc/krita/palettes-colors-hsv.png b/doc/krita/palettes-colors-hsv.png Binary files differnew file mode 100644 index 00000000..78da99c9 --- /dev/null +++ b/doc/krita/palettes-colors-hsv.png diff --git a/doc/krita/palettes-colors-palettes.png b/doc/krita/palettes-colors-palettes.png Binary files differnew file mode 100644 index 00000000..4c71dce0 --- /dev/null +++ b/doc/krita/palettes-colors-palettes.png diff --git a/doc/krita/palettes-colors-rgb.png b/doc/krita/palettes-colors-rgb.png Binary files differnew file mode 100644 index 00000000..55f1ff4f --- /dev/null +++ b/doc/krita/palettes-colors-rgb.png diff --git a/doc/krita/palettes-colors-watercolors.png b/doc/krita/palettes-colors-watercolors.png Binary files differnew file mode 100644 index 00000000..722bf0ff --- /dev/null +++ b/doc/krita/palettes-colors-watercolors.png diff --git a/doc/krita/palettes-controlbox-bezier.png b/doc/krita/palettes-controlbox-bezier.png Binary files differnew file mode 100644 index 00000000..b31e87b2 --- /dev/null +++ b/doc/krita/palettes-controlbox-bezier.png diff --git a/doc/krita/palettes-controlbox-brush.png b/doc/krita/palettes-controlbox-brush.png Binary files differnew file mode 100644 index 00000000..b3a62f38 --- /dev/null +++ b/doc/krita/palettes-controlbox-brush.png diff --git a/doc/krita/palettes-controlbox-colorpicker.png b/doc/krita/palettes-controlbox-colorpicker.png Binary files differnew file mode 100644 index 00000000..02d19266 --- /dev/null +++ b/doc/krita/palettes-controlbox-colorpicker.png diff --git a/doc/krita/palettes-controlbox-contiguousfill.png b/doc/krita/palettes-controlbox-contiguousfill.png Binary files differnew file mode 100644 index 00000000..97eb56cf --- /dev/null +++ b/doc/krita/palettes-controlbox-contiguousfill.png diff --git a/doc/krita/palettes-controlbox-crop.png b/doc/krita/palettes-controlbox-crop.png Binary files differnew file mode 100644 index 00000000..c8338b77 --- /dev/null +++ b/doc/krita/palettes-controlbox-crop.png diff --git a/doc/krita/palettes-controlbox-duplicate.png b/doc/krita/palettes-controlbox-duplicate.png Binary files differnew file mode 100644 index 00000000..6b7f0277 --- /dev/null +++ b/doc/krita/palettes-controlbox-duplicate.png diff --git a/doc/krita/palettes-controlbox-ellipse.png b/doc/krita/palettes-controlbox-ellipse.png Binary files differnew file mode 100644 index 00000000..b057604c --- /dev/null +++ b/doc/krita/palettes-controlbox-ellipse.png diff --git a/doc/krita/palettes-controlbox-fill.png b/doc/krita/palettes-controlbox-fill.png Binary files differnew file mode 100644 index 00000000..3aed5634 --- /dev/null +++ b/doc/krita/palettes-controlbox-fill.png diff --git a/doc/krita/palettes-controlbox-gradient.png b/doc/krita/palettes-controlbox-gradient.png Binary files differnew file mode 100644 index 00000000..e18a8325 --- /dev/null +++ b/doc/krita/palettes-controlbox-gradient.png diff --git a/doc/krita/palettes-controlbox-histogram.png b/doc/krita/palettes-controlbox-histogram.png Binary files differnew file mode 100644 index 00000000..9c2c2b65 --- /dev/null +++ b/doc/krita/palettes-controlbox-histogram.png diff --git a/doc/krita/palettes-controlbox-line.png b/doc/krita/palettes-controlbox-line.png Binary files differnew file mode 100644 index 00000000..36900c63 --- /dev/null +++ b/doc/krita/palettes-controlbox-line.png diff --git a/doc/krita/palettes-controlbox-overview.png b/doc/krita/palettes-controlbox-overview.png Binary files differnew file mode 100644 index 00000000..9bab4336 --- /dev/null +++ b/doc/krita/palettes-controlbox-overview.png diff --git a/doc/krita/palettes-controlbox-paintwithfilters.png b/doc/krita/palettes-controlbox-paintwithfilters.png Binary files differnew file mode 100644 index 00000000..da712402 --- /dev/null +++ b/doc/krita/palettes-controlbox-paintwithfilters.png diff --git a/doc/krita/palettes-controlbox-polygon.png b/doc/krita/palettes-controlbox-polygon.png Binary files differnew file mode 100644 index 00000000..11347420 --- /dev/null +++ b/doc/krita/palettes-controlbox-polygon.png diff --git a/doc/krita/palettes-controlbox-polyline.png b/doc/krita/palettes-controlbox-polyline.png Binary files differnew file mode 100644 index 00000000..36900c63 --- /dev/null +++ b/doc/krita/palettes-controlbox-polyline.png diff --git a/doc/krita/palettes-controlbox-rectangle.png b/doc/krita/palettes-controlbox-rectangle.png Binary files differnew file mode 100644 index 00000000..b057604c --- /dev/null +++ b/doc/krita/palettes-controlbox-rectangle.png diff --git a/doc/krita/palettes-controlbox-select.png b/doc/krita/palettes-controlbox-select.png Binary files differnew file mode 100644 index 00000000..59cd04ea --- /dev/null +++ b/doc/krita/palettes-controlbox-select.png diff --git a/doc/krita/palettes-controlbox-selectcontiguous.png b/doc/krita/palettes-controlbox-selectcontiguous.png Binary files differnew file mode 100644 index 00000000..26c3d4d9 --- /dev/null +++ b/doc/krita/palettes-controlbox-selectcontiguous.png diff --git a/doc/krita/palettes-controlbox-selectmagnetic.png b/doc/krita/palettes-controlbox-selectmagnetic.png Binary files differnew file mode 100644 index 00000000..798434f8 --- /dev/null +++ b/doc/krita/palettes-controlbox-selectmagnetic.png diff --git a/doc/krita/palettes-controlbox-selectsimilar.png b/doc/krita/palettes-controlbox-selectsimilar.png Binary files differnew file mode 100644 index 00000000..6043a28e --- /dev/null +++ b/doc/krita/palettes-controlbox-selectsimilar.png diff --git a/doc/krita/palettes-controlbox-star.png b/doc/krita/palettes-controlbox-star.png Binary files differnew file mode 100644 index 00000000..e963b2d5 --- /dev/null +++ b/doc/krita/palettes-controlbox-star.png diff --git a/doc/krita/palettes-controlbox-text.png b/doc/krita/palettes-controlbox-text.png Binary files differnew file mode 100644 index 00000000..42043596 --- /dev/null +++ b/doc/krita/palettes-controlbox-text.png diff --git a/doc/krita/palettes-controlbox-transform.png b/doc/krita/palettes-controlbox-transform.png Binary files differnew file mode 100644 index 00000000..4c4c95d7 --- /dev/null +++ b/doc/krita/palettes-controlbox-transform.png diff --git a/doc/krita/palettes-layers-layers.png b/doc/krita/palettes-layers-layers.png Binary files differnew file mode 100644 index 00000000..4ca4ff8e --- /dev/null +++ b/doc/krita/palettes-layers-layers.png diff --git a/doc/krita/palettes-layers-scriptsmanager.png b/doc/krita/palettes-layers-scriptsmanager.png Binary files differnew file mode 100644 index 00000000..b0092993 --- /dev/null +++ b/doc/krita/palettes-layers-scriptsmanager.png diff --git a/doc/krita/preferences-color.png b/doc/krita/preferences-color.png Binary files differnew file mode 100644 index 00000000..9db8e687 --- /dev/null +++ b/doc/krita/preferences-color.png diff --git a/doc/krita/preferences-display.png b/doc/krita/preferences-display.png Binary files differnew file mode 100644 index 00000000..b7d245f5 --- /dev/null +++ b/doc/krita/preferences-display.png diff --git a/doc/krita/preferences-general.png b/doc/krita/preferences-general.png Binary files differnew file mode 100644 index 00000000..f8322529 --- /dev/null +++ b/doc/krita/preferences-general.png diff --git a/doc/krita/preferences-grid.png b/doc/krita/preferences-grid.png Binary files differnew file mode 100644 index 00000000..6bb9ed95 --- /dev/null +++ b/doc/krita/preferences-grid.png diff --git a/doc/krita/preferences-performance.png b/doc/krita/preferences-performance.png Binary files differnew file mode 100644 index 00000000..2884030b --- /dev/null +++ b/doc/krita/preferences-performance.png diff --git a/doc/krita/preferences-sidebar.png b/doc/krita/preferences-sidebar.png Binary files differnew file mode 100644 index 00000000..a7fcff98 --- /dev/null +++ b/doc/krita/preferences-sidebar.png diff --git a/doc/krita/preferences-tablet.png b/doc/krita/preferences-tablet.png Binary files differnew file mode 100644 index 00000000..6ec6f8c0 --- /dev/null +++ b/doc/krita/preferences-tablet.png diff --git a/doc/krita/settings.docbook b/doc/krita/settings.docbook new file mode 100644 index 00000000..fd72d68d --- /dev/null +++ b/doc/krita/settings.docbook @@ -0,0 +1,229 @@ +<chapter id="settings"> + +<title>Settings</title> + +<para>This chapter describes the various settings that affect the way &krita; +functions and looks.</para> + +<sect1 id="settings-preferences"> +<title>The <guilabel>Preferences</guilabel> dialog</title> + +<para> +A number of options to configure &krita; are available via the +<guilabel>Preferences</guilabel> dialog, which is available via +<menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure +&krita;...</guimenuitem></menuchoice>. The dialog is divided into several +sections, which you can open via the sidebar at the left, shown below. +</para> + +<para> +<screenshot> +<screeninfo>The available <guilabel>Preferences</guilabel> sections</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="preferences-sidebar.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The available <guilabel>Preferences</guilabel> sections</phrase> +</textobject> +<caption><para>The available <guilabel>Preferences</guilabel> sections</para></caption> +</mediaobject> +</screenshot> +</para> + +<sect2 id="settings-preferences-general"> +<title>The <guilabel>General</guilabel> section</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>General</guilabel> section</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="preferences-general.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>General</guilabel> section</phrase> +</textobject> +<caption><para>The <guilabel>General</guilabel> section</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This section offers three options. First of all, the setting in the +<guilabel>Cursor shape:</guilabel> dropdown box determines what the drawing +cursor looks like. You can choose between a cursor resembling the actual tool +you are working with, a normal cursor, a crosshair, and a brush-shaped cursor. +Then you can select the <guilabel>Palette Behavior</guilabel>. You can set +here when palettes may be <quote>docked</quote> (set aside at a window +border): always (<guilabel>Allow docking</guilabel>), never +(<guilabel>Allow only floating</guilabel>), or when there is enough space +(<guilabel>Allow docking only on large screens</guilabel>). The last option is +<guilabel>Palette font size:</guilabel> which determines the text size used in +the palettes. Set this to a larger value if you have trouble reading the text, +with the side effect that the palettes will take more space. +</para> + +</sect2> + +<sect2 id="settings-preferences-display"> +<title>The <guilabel>Display</guilabel> section</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Display</guilabel> section</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="preferences-display.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Display</guilabel> section</phrase> +</textobject> +<caption><para>The <guilabel>Display</guilabel> section</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This section contains just one option. If your graphics card and driver have +OpenGL support, you can enable it here to make drawing faster (the +processor of yor graphics card will take over part of the calculations). Be +warned, though: there are a few cases where enabling OpenGL is known to +introduce erratic behavior. +</para> + +</sect2> + +<sect2 id="settings-preferences-colormanagement"> +<title>The <guilabel>Color Management</guilabel> section</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Color Management</guilabel> section</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="preferences-color.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Color Management</guilabel> section</phrase> +</textobject> +<caption><para>The <guilabel>Color Management</guilabel> section</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +Here you can set various options related to colorspaces in rendering, editing +and printing of images. The topmost option can be used to set the default +color model for creating new images (useful if you usually want to create CMYK +images, for instance). Use the <guilabel>Display</guilabel> options to let +&krita; know what color profile your monitor uses, and how rendering should be +done. Under <guilabel>Printing</guilabel>, you can set the color model and +profile for your printer. The next option determines what &krita; should do +when you paste an image into it that was copied from another application. If +<guilabel>Use Blackpoint compensation</guilabel> is checked, whenever a +colorspace conversion is needed, the black points of the source and +destination colorspaces are matched. +</para> + +</sect2> + +<sect2 id="settings-preferences-performance"> +<title>The <guilabel>Performance</guilabel> section</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Performance</guilabel> section</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="preferences-performance.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Performance</guilabel> section</phrase> +</textobject> +<caption><para>The <guilabel>Performance</guilabel> section</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +Two options are available here. The <guilabel>Maximum number of tiles kept in +memory</guilabel> setting indicates how many tiles (image subparts) &krita; +will keep in memory. The default setting should be reasonable, if you are low +or very high on memory, you may want to decrease or increase this option, +respectively. The <guilabel>Swappiness:</guilabel> option determines how eager +&krita; will be to swap to disk. +</para> + +</sect2> + +<sect2 id="settings-preferences-tablet"> +<title>The <guilabel>Tablet</guilabel> section</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Tablet</guilabel> section</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="preferences-tablet.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Tablet</guilabel> section</phrase> +</textobject> +<caption><para>The <guilabel>Tablet</guilabel> section</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +If you have a tablet device attached, you can enable it and set its pressure +sensitivity in this section. +</para><para> +You need to activate the tablet devices you want to use with &krita;. There +are three supported devices: the cursor, the eraser and the stylus. You can +activate them using the tablet sections. Only use the configuration options of +a device if you use a non-Wacom tablet, and if the behavior of the tablet is +unexpected, like moving when you press on the tablet for instance. In this +situation, you can use the dialog to make sure you have a correct interaction: +values (position, pressure, tilt...) are sent from the tablet to the computer +in a given order, it might happen that some tablets do not use the default +order. You can set this in the configuration options of a device. +</para> + +</sect2> + +<sect2 id="settings-preferences-grid"> +<title>The <guilabel>Grid</guilabel> section</title> + +<para> +<screenshot> +<screeninfo>The <guilabel>Grid</guilabel> section</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="preferences-grid.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Grid</guilabel> section</phrase> +</textobject> +<caption><para>The <guilabel>Grid</guilabel> section</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +In this section, you can fine-tune &krita;'s grid. The line styles for the +grid can be set in the <guilabel>Styles</guilabel> option set. +<guilabel>Colors</guilabel> allows you to choose the line colors for the grid. +The horizontal and vertical spacing between the main lines can be set under +<guilabel>Spacing</guilabel>, as well as the amount of subdivisions (in how +many smaller parts a grid section is subdivided). Furthermore you can set the +<guilabel>Offset</guilabel>: usually the grid is painted starting at the top +left corner, if you want the first main grid lines not to start there, you can +enter an offset (displacement) here. +</para> + +</sect2> + +</sect1> + +</chapter> diff --git a/doc/krita/tool-bezier-example.png b/doc/krita/tool-bezier-example.png Binary files differnew file mode 100644 index 00000000..818774a7 --- /dev/null +++ b/doc/krita/tool-bezier-example.png diff --git a/doc/krita/tool-bezier-example2.png b/doc/krita/tool-bezier-example2.png Binary files differnew file mode 100644 index 00000000..07a4eb65 --- /dev/null +++ b/doc/krita/tool-bezier-example2.png diff --git a/doc/krita/tool-bezier-example3.png b/doc/krita/tool-bezier-example3.png Binary files differnew file mode 100644 index 00000000..6ff03222 --- /dev/null +++ b/doc/krita/tool-bezier-example3.png diff --git a/doc/krita/tool-bezier.png b/doc/krita/tool-bezier.png Binary files differnew file mode 100644 index 00000000..84e3d75b --- /dev/null +++ b/doc/krita/tool-bezier.png diff --git a/doc/krita/tool-brush.png b/doc/krita/tool-brush.png Binary files differnew file mode 100644 index 00000000..f2f917c5 --- /dev/null +++ b/doc/krita/tool-brush.png diff --git a/doc/krita/tool-colorpicker.png b/doc/krita/tool-colorpicker.png Binary files differnew file mode 100644 index 00000000..285e04f6 --- /dev/null +++ b/doc/krita/tool-colorpicker.png diff --git a/doc/krita/tool-contiguousfill.png b/doc/krita/tool-contiguousfill.png Binary files differnew file mode 100644 index 00000000..a2c087f9 --- /dev/null +++ b/doc/krita/tool-contiguousfill.png diff --git a/doc/krita/tool-crop.png b/doc/krita/tool-crop.png Binary files differnew file mode 100644 index 00000000..05e80ae1 --- /dev/null +++ b/doc/krita/tool-crop.png diff --git a/doc/krita/tool-duplicate.png b/doc/krita/tool-duplicate.png Binary files differnew file mode 100644 index 00000000..604e4210 --- /dev/null +++ b/doc/krita/tool-duplicate.png diff --git a/doc/krita/tool-ellipse.png b/doc/krita/tool-ellipse.png Binary files differnew file mode 100644 index 00000000..77fdda70 --- /dev/null +++ b/doc/krita/tool-ellipse.png diff --git a/doc/krita/tool-eraseselection.png b/doc/krita/tool-eraseselection.png Binary files differnew file mode 100644 index 00000000..3ad47747 --- /dev/null +++ b/doc/krita/tool-eraseselection.png diff --git a/doc/krita/tool-gradient.png b/doc/krita/tool-gradient.png Binary files differnew file mode 100644 index 00000000..4c110075 --- /dev/null +++ b/doc/krita/tool-gradient.png diff --git a/doc/krita/tool-line.png b/doc/krita/tool-line.png Binary files differnew file mode 100644 index 00000000..60dfa84d --- /dev/null +++ b/doc/krita/tool-line.png diff --git a/doc/krita/tool-move.png b/doc/krita/tool-move.png Binary files differnew file mode 100644 index 00000000..cf019e7a --- /dev/null +++ b/doc/krita/tool-move.png diff --git a/doc/krita/tool-paintselection.png b/doc/krita/tool-paintselection.png Binary files differnew file mode 100644 index 00000000..83ae74e4 --- /dev/null +++ b/doc/krita/tool-paintselection.png diff --git a/doc/krita/tool-paintwithfilters-example.png b/doc/krita/tool-paintwithfilters-example.png Binary files differnew file mode 100644 index 00000000..15c8e1c8 --- /dev/null +++ b/doc/krita/tool-paintwithfilters-example.png diff --git a/doc/krita/tool-paintwithfilters.png b/doc/krita/tool-paintwithfilters.png Binary files differnew file mode 100644 index 00000000..dc8815ae --- /dev/null +++ b/doc/krita/tool-paintwithfilters.png diff --git a/doc/krita/tool-pan.png b/doc/krita/tool-pan.png Binary files differnew file mode 100644 index 00000000..1470a167 --- /dev/null +++ b/doc/krita/tool-pan.png diff --git a/doc/krita/tool-perspectivegrid.png b/doc/krita/tool-perspectivegrid.png Binary files differnew file mode 100644 index 00000000..f2815380 --- /dev/null +++ b/doc/krita/tool-perspectivegrid.png diff --git a/doc/krita/tool-perspectivetransform.png b/doc/krita/tool-perspectivetransform.png Binary files differnew file mode 100644 index 00000000..fbcbf59d --- /dev/null +++ b/doc/krita/tool-perspectivetransform.png diff --git a/doc/krita/tool-polygon.png b/doc/krita/tool-polygon.png Binary files differnew file mode 100644 index 00000000..98f4d711 --- /dev/null +++ b/doc/krita/tool-polygon.png diff --git a/doc/krita/tool-polyline.png b/doc/krita/tool-polyline.png Binary files differnew file mode 100644 index 00000000..5a688216 --- /dev/null +++ b/doc/krita/tool-polyline.png diff --git a/doc/krita/tool-rectangle.png b/doc/krita/tool-rectangle.png Binary files differnew file mode 100644 index 00000000..27c9dfd1 --- /dev/null +++ b/doc/krita/tool-rectangle.png diff --git a/doc/krita/tool-selectbezier.png b/doc/krita/tool-selectbezier.png Binary files differnew file mode 100644 index 00000000..4604f957 --- /dev/null +++ b/doc/krita/tool-selectbezier.png diff --git a/doc/krita/tool-selectcontiguous.png b/doc/krita/tool-selectcontiguous.png Binary files differnew file mode 100644 index 00000000..07339ef1 --- /dev/null +++ b/doc/krita/tool-selectcontiguous.png diff --git a/doc/krita/tool-selectelliptical.png b/doc/krita/tool-selectelliptical.png Binary files differnew file mode 100644 index 00000000..5ae5f504 --- /dev/null +++ b/doc/krita/tool-selectelliptical.png diff --git a/doc/krita/tool-selectmagnetic.png b/doc/krita/tool-selectmagnetic.png Binary files differnew file mode 100644 index 00000000..77d3a49d --- /dev/null +++ b/doc/krita/tool-selectmagnetic.png diff --git a/doc/krita/tool-selectoutline.png b/doc/krita/tool-selectoutline.png Binary files differnew file mode 100644 index 00000000..6258c37f --- /dev/null +++ b/doc/krita/tool-selectoutline.png diff --git a/doc/krita/tool-selectpolygonal.png b/doc/krita/tool-selectpolygonal.png Binary files differnew file mode 100644 index 00000000..5e390dee --- /dev/null +++ b/doc/krita/tool-selectpolygonal.png diff --git a/doc/krita/tool-selectrectangular.png b/doc/krita/tool-selectrectangular.png Binary files differnew file mode 100644 index 00000000..1ad6718e --- /dev/null +++ b/doc/krita/tool-selectrectangular.png diff --git a/doc/krita/tool-selectsimilar.png b/doc/krita/tool-selectsimilar.png Binary files differnew file mode 100644 index 00000000..cfa8b235 --- /dev/null +++ b/doc/krita/tool-selectsimilar.png diff --git a/doc/krita/tool-star.png b/doc/krita/tool-star.png Binary files differnew file mode 100644 index 00000000..7dab3218 --- /dev/null +++ b/doc/krita/tool-star.png diff --git a/doc/krita/tool-text.png b/doc/krita/tool-text.png Binary files differnew file mode 100644 index 00000000..da97cda6 --- /dev/null +++ b/doc/krita/tool-text.png diff --git a/doc/krita/tool-transform.png b/doc/krita/tool-transform.png Binary files differnew file mode 100644 index 00000000..fded6ebe --- /dev/null +++ b/doc/krita/tool-transform.png diff --git a/doc/krita/tool-zoom.png b/doc/krita/tool-zoom.png Binary files differnew file mode 100644 index 00000000..e30f00d9 --- /dev/null +++ b/doc/krita/tool-zoom.png diff --git a/doc/krita/toolbar-brushes-brushshapes-autobrush.png b/doc/krita/toolbar-brushes-brushshapes-autobrush.png Binary files differnew file mode 100644 index 00000000..5ea48486 --- /dev/null +++ b/doc/krita/toolbar-brushes-brushshapes-autobrush.png diff --git a/doc/krita/toolbar-brushes-brushshapes-custombrush.png b/doc/krita/toolbar-brushes-brushshapes-custombrush.png Binary files differnew file mode 100644 index 00000000..4c89af8d --- /dev/null +++ b/doc/krita/toolbar-brushes-brushshapes-custombrush.png diff --git a/doc/krita/toolbar-brushes-brushshapes-predefined.png b/doc/krita/toolbar-brushes-brushshapes-predefined.png Binary files differnew file mode 100644 index 00000000..ddcb7d1b --- /dev/null +++ b/doc/krita/toolbar-brushes-brushshapes-predefined.png diff --git a/doc/krita/toolbar-brushes-gradients.png b/doc/krita/toolbar-brushes-gradients.png Binary files differnew file mode 100644 index 00000000..f466a81d --- /dev/null +++ b/doc/krita/toolbar-brushes-gradients.png diff --git a/doc/krita/toolbar-brushes-patterns-custompattern.png b/doc/krita/toolbar-brushes-patterns-custompattern.png Binary files differnew file mode 100644 index 00000000..90f76a23 --- /dev/null +++ b/doc/krita/toolbar-brushes-patterns-custompattern.png diff --git a/doc/krita/toolbar-brushes-patterns.png b/doc/krita/toolbar-brushes-patterns.png Binary files differnew file mode 100644 index 00000000..5e64f461 --- /dev/null +++ b/doc/krita/toolbar-brushes-patterns.png diff --git a/doc/krita/toolbar-brushesandstuff.png b/doc/krita/toolbar-brushesandstuff.png Binary files differnew file mode 100644 index 00000000..3915acd8 --- /dev/null +++ b/doc/krita/toolbar-brushesandstuff.png diff --git a/doc/krita/toolbar-edit.png b/doc/krita/toolbar-edit.png Binary files differnew file mode 100644 index 00000000..aef82505 --- /dev/null +++ b/doc/krita/toolbar-edit.png diff --git a/doc/krita/toolbar-file.png b/doc/krita/toolbar-file.png Binary files differnew file mode 100644 index 00000000..302e5c1c --- /dev/null +++ b/doc/krita/toolbar-file.png diff --git a/doc/krita/toolbar-krita.png b/doc/krita/toolbar-krita.png Binary files differnew file mode 100644 index 00000000..d1c6c4b9 --- /dev/null +++ b/doc/krita/toolbar-krita.png diff --git a/doc/krita/toolbar-navigation.png b/doc/krita/toolbar-navigation.png Binary files differnew file mode 100644 index 00000000..f1dd911c --- /dev/null +++ b/doc/krita/toolbar-navigation.png diff --git a/doc/krita/toolbar-transformationtools.png b/doc/krita/toolbar-transformationtools.png Binary files differnew file mode 100644 index 00000000..32a8125f --- /dev/null +++ b/doc/krita/toolbar-transformationtools.png diff --git a/doc/krita/toolbars-button-zoomin.png b/doc/krita/toolbars-button-zoomin.png Binary files differnew file mode 100644 index 00000000..bdc0746c --- /dev/null +++ b/doc/krita/toolbars-button-zoomin.png diff --git a/doc/krita/toolbars-button-zoomout.png b/doc/krita/toolbars-button-zoomout.png Binary files differnew file mode 100644 index 00000000..4d002a6a --- /dev/null +++ b/doc/krita/toolbars-button-zoomout.png diff --git a/doc/krita/tutorial-quick-starts.docbook b/doc/krita/tutorial-quick-starts.docbook new file mode 100644 index 00000000..05f36729 --- /dev/null +++ b/doc/krita/tutorial-quick-starts.docbook @@ -0,0 +1,183 @@ +<sect1 id="tutorial-quickstarts"> +<title>Quick start guides</title> +<sect2 id="tutorial-quickstarts-cropimage"> +<title>Crop an area and save it</title> + +<para>Aim: from a picture, crop an area and save that area in a new file</para> + +<para>Open &krita; with the original picture.</para> + +<screenshot> +<screeninfo>The original picture</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-quick-starts1.png" format="PNG"/> +</imageobject> +<textobject><phrase>The original picture</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Select the <guiicon>Select Rectangular</guiicon> tool in the +&krita; toolbar.</para> + +<screenshot> +<screeninfo>The Select a rectangular area tool</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-quick-starts2.png" format="PNG"/> +</imageobject> +<textobject><phrase>The Select a rectangular area tool</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Select the area you want to make a new picture with. &krita; makes the +outside area grey.</para> + +<screenshot> +<screeninfo>The selected area</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-quick-starts3.png" format="PNG"/> +</imageobject> +<textobject><phrase>The selected area</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Then use the +<menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice> +menu item or <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> to +copy the selected area.</para> + +<para>Click again on the <guimenu>Edit</guimenu> menu.</para> +<para>Use the <guimenuitem>Paste into new image</guimenuitem> item.</para> + +<screenshot> +<screeninfo>The <guimenu>Edit</guimenu> menu</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-quick-starts4.png" format="PNG"/> +</imageobject> +<textobject><phrase>The <guimenu>Edit</guimenu> menu</phrase></textobject> +</mediaobject> +</screenshot> + +<para>&krita; opens a new window with the selected area as new image.</para> + +<screenshot> +<screeninfo>The new image</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-quick-starts5.png" format="PNG"/> +</imageobject> +<textobject><phrase>The new image</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Save the new image.</para> + +</sect2> +<sect2 id="tutorial-quickstarts-drawrectangle"> +<title>Draw a rectangle on your picture</title> + +<para>Aim: draw a coloured rectangle on your picture</para> + +<para>Open &krita; with the original picture. My picture consists of a view of +a toolbar in which I want to point an icon by putting a red rectangle around +it.</para> + +<screenshot> +<screeninfo>The original picture</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-quick-starts6.png" format="PNG"/> +</imageobject> +<textobject><phrase>The original picture</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Enable the <guilabel>Brushes and Stuff</guilabel> toolbar using +<menuchoice><guimenu>Settings</guimenu><guimenuitem>Toolbars</guimenuitem></menuchoice> +menu.</para> +<para>Also make sure the palettes are viewed. If not, use the +<menuchoice><guimenu>View</guimenu><guimenuitem>Palettes</guimenuitem></menuchoice> +menu.</para> + +<screenshot> +<screeninfo>&krita; view</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-quick-starts7.png" format="PNG"/> +</imageobject> +<textobject><phrase>&krita; view</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Click on the <guiicon>Brush Shapes</guiicon> icon in the +<guilabel>Brushes and Stuff</guilabel> toolbar.</para> + +<screenshot> +<screeninfo>The <guiicon>Brush Shapes</guiicon> icon</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-quick-starts8.png" format="PNG"/> +</imageobject> +<textobject><phrase>The <guiicon>Brush Shapes</guiicon> icon</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Select which brush shape you want to use among the predefined +brushes.</para> + +<screenshot> +<screeninfo>Selecting a brush shape</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-quick-starts9.png" format="PNG"/> +</imageobject> +<textobject><phrase>Selecting a brush shape</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Select the drawing shape on the &krita; toolbar. I choose a +rectangle.</para> + +<screenshot> +<screeninfo>Selecting the <guiicon>Rectangle</guiicon> icon</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-quick-starts10.png" format="PNG"/> +</imageobject> +<textobject><phrase>Selecting the <guiicon>Rectangle</guiicon> icon</phrase></textobject> +</mediaobject> +</screenshot> + +<para>In the <guilabel>Colors</guilabel> palette, select the color you want by clicking on one of the +tabs and then choosing the color.</para> + +<screenshot> +<screeninfo>Choosing the color</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-quick-starts11.png" format="PNG"/> +</imageobject> +<textobject><phrase>Choosing the color</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Finally draw your shape on your picture and save the new picture!</para> + +<screenshot> +<screeninfo>Drawing</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-quick-starts12.png" format="PNG"/> +</imageobject> +<textobject><phrase>Drawing</phrase></textobject> +</mediaobject> +</screenshot> + +<para>Thanks go to Anne-Marie Mahfouf for providing this tutorial.</para> + +</sect2> + +</sect1> diff --git a/doc/krita/tutorial-quick-starts1.png b/doc/krita/tutorial-quick-starts1.png Binary files differnew file mode 100644 index 00000000..9db94c65 --- /dev/null +++ b/doc/krita/tutorial-quick-starts1.png diff --git a/doc/krita/tutorial-quick-starts10.png b/doc/krita/tutorial-quick-starts10.png Binary files differnew file mode 100644 index 00000000..7df8da5b --- /dev/null +++ b/doc/krita/tutorial-quick-starts10.png diff --git a/doc/krita/tutorial-quick-starts11.png b/doc/krita/tutorial-quick-starts11.png Binary files differnew file mode 100644 index 00000000..35ea5696 --- /dev/null +++ b/doc/krita/tutorial-quick-starts11.png diff --git a/doc/krita/tutorial-quick-starts12.png b/doc/krita/tutorial-quick-starts12.png Binary files differnew file mode 100644 index 00000000..c8647140 --- /dev/null +++ b/doc/krita/tutorial-quick-starts12.png diff --git a/doc/krita/tutorial-quick-starts2.png b/doc/krita/tutorial-quick-starts2.png Binary files differnew file mode 100644 index 00000000..450c82a5 --- /dev/null +++ b/doc/krita/tutorial-quick-starts2.png diff --git a/doc/krita/tutorial-quick-starts3.png b/doc/krita/tutorial-quick-starts3.png Binary files differnew file mode 100644 index 00000000..e6e65d9e --- /dev/null +++ b/doc/krita/tutorial-quick-starts3.png diff --git a/doc/krita/tutorial-quick-starts4.png b/doc/krita/tutorial-quick-starts4.png Binary files differnew file mode 100644 index 00000000..0d5f1a20 --- /dev/null +++ b/doc/krita/tutorial-quick-starts4.png diff --git a/doc/krita/tutorial-quick-starts5.png b/doc/krita/tutorial-quick-starts5.png Binary files differnew file mode 100644 index 00000000..877d07c6 --- /dev/null +++ b/doc/krita/tutorial-quick-starts5.png diff --git a/doc/krita/tutorial-quick-starts6.png b/doc/krita/tutorial-quick-starts6.png Binary files differnew file mode 100644 index 00000000..b1b4173c --- /dev/null +++ b/doc/krita/tutorial-quick-starts6.png diff --git a/doc/krita/tutorial-quick-starts7.png b/doc/krita/tutorial-quick-starts7.png Binary files differnew file mode 100644 index 00000000..42477b57 --- /dev/null +++ b/doc/krita/tutorial-quick-starts7.png diff --git a/doc/krita/tutorial-quick-starts8.png b/doc/krita/tutorial-quick-starts8.png Binary files differnew file mode 100644 index 00000000..314467f7 --- /dev/null +++ b/doc/krita/tutorial-quick-starts8.png diff --git a/doc/krita/tutorial-quick-starts9.png b/doc/krita/tutorial-quick-starts9.png Binary files differnew file mode 100644 index 00000000..a42b2d51 --- /dev/null +++ b/doc/krita/tutorial-quick-starts9.png diff --git a/doc/krita/tutorial-select-layer-1.png b/doc/krita/tutorial-select-layer-1.png Binary files differnew file mode 100644 index 00000000..0ebdfe16 --- /dev/null +++ b/doc/krita/tutorial-select-layer-1.png diff --git a/doc/krita/tutorial-select-layer-10.png b/doc/krita/tutorial-select-layer-10.png Binary files differnew file mode 100644 index 00000000..0b8f6750 --- /dev/null +++ b/doc/krita/tutorial-select-layer-10.png diff --git a/doc/krita/tutorial-select-layer-11.png b/doc/krita/tutorial-select-layer-11.png Binary files differnew file mode 100644 index 00000000..589f049b --- /dev/null +++ b/doc/krita/tutorial-select-layer-11.png diff --git a/doc/krita/tutorial-select-layer-12.png b/doc/krita/tutorial-select-layer-12.png Binary files differnew file mode 100644 index 00000000..045ecc55 --- /dev/null +++ b/doc/krita/tutorial-select-layer-12.png diff --git a/doc/krita/tutorial-select-layer-13.png b/doc/krita/tutorial-select-layer-13.png Binary files differnew file mode 100644 index 00000000..fb715dfd --- /dev/null +++ b/doc/krita/tutorial-select-layer-13.png diff --git a/doc/krita/tutorial-select-layer-2.png b/doc/krita/tutorial-select-layer-2.png Binary files differnew file mode 100644 index 00000000..8fc7f9a0 --- /dev/null +++ b/doc/krita/tutorial-select-layer-2.png diff --git a/doc/krita/tutorial-select-layer-3.png b/doc/krita/tutorial-select-layer-3.png Binary files differnew file mode 100644 index 00000000..bc1ce878 --- /dev/null +++ b/doc/krita/tutorial-select-layer-3.png diff --git a/doc/krita/tutorial-select-layer-4.png b/doc/krita/tutorial-select-layer-4.png Binary files differnew file mode 100644 index 00000000..37f971d0 --- /dev/null +++ b/doc/krita/tutorial-select-layer-4.png diff --git a/doc/krita/tutorial-select-layer-5.png b/doc/krita/tutorial-select-layer-5.png Binary files differnew file mode 100644 index 00000000..77658e0b --- /dev/null +++ b/doc/krita/tutorial-select-layer-5.png diff --git a/doc/krita/tutorial-select-layer-6.png b/doc/krita/tutorial-select-layer-6.png Binary files differnew file mode 100644 index 00000000..85d78dd5 --- /dev/null +++ b/doc/krita/tutorial-select-layer-6.png diff --git a/doc/krita/tutorial-select-layer-7.png b/doc/krita/tutorial-select-layer-7.png Binary files differnew file mode 100644 index 00000000..deca6a10 --- /dev/null +++ b/doc/krita/tutorial-select-layer-7.png diff --git a/doc/krita/tutorial-select-layer-8.png b/doc/krita/tutorial-select-layer-8.png Binary files differnew file mode 100644 index 00000000..576a9081 --- /dev/null +++ b/doc/krita/tutorial-select-layer-8.png diff --git a/doc/krita/tutorial-select-layer-9.png b/doc/krita/tutorial-select-layer-9.png Binary files differnew file mode 100644 index 00000000..79e846ce --- /dev/null +++ b/doc/krita/tutorial-select-layer-9.png diff --git a/doc/krita/tutorial-select-layer-sample.png b/doc/krita/tutorial-select-layer-sample.png Binary files differnew file mode 100644 index 00000000..b6294b1b --- /dev/null +++ b/doc/krita/tutorial-select-layer-sample.png diff --git a/doc/krita/tutorial-select-layer.docbook b/doc/krita/tutorial-select-layer.docbook new file mode 100644 index 00000000..3e60bc88 --- /dev/null +++ b/doc/krita/tutorial-select-layer.docbook @@ -0,0 +1,263 @@ +<sect1 id="tutorial-select-layer"> +<title>A Small selections and layers tutorial</title> + +<!-- Does someone know a better way to do this? --> +<screenshot> +<screeninfo>The starting image</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-sample.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The starting image</phrase> +</textobject> +<caption><para>The starting image</para></caption> +</mediaobject> +</screenshot> + +<para> +The image above is the image we will work with. Start krita with this +image (in the documentation folder +<filename>$<envar>KDEDIR</envar>/share/doc/HTML/en/krita/tutorial-select-layer-sample.png</filename>) +and save it to your Home folder (by choosing <guilabel>Save Image As...</guilabel>). + +Then open it in &krita; — your screen will look a bit like this (we have +zoomed in): +</para> + +<screenshot> +<screeninfo>Krita with the starting image</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-1.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The starting image</phrase> +</textobject> +<caption><para>The starting image</para></caption> +</mediaobject> +</screenshot> + +<para> +Now try to select the outline of the head with the <guilabel>Select Outline</guilabel> tool: +</para> + +<screenshot> +<screeninfo>The <guilabel>Select Outline</guilabel> tool</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-2.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Select Outline</guilabel> tool</phrase> +</textobject> +<caption><para>The <guilabel>Select Outline</guilabel> tool</para></caption> +</mediaobject> +</screenshot> + +<para> +After you select it, it should look a bit like this picture: +</para> + +<screenshot> +<screeninfo>The picture after selecting the head</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-3.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The picture after selecting the head</phrase> +</textobject> +<caption><para>The picture after selecting the head</para></caption> +</mediaobject> +</screenshot> + +<para> +If you accidently select too much, you can cut that part easily off by switching the tool to <guilabel>Subtract</guilabel> mode: +</para> + +<screenshot> +<screeninfo>The <guilabel>Subtract</guilabel> mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-4.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Subtract</guilabel> mode</phrase> +</textobject> +<caption><para>The <guilabel>Subtract</guilabel> mode</para></caption> +</mediaobject> +</screenshot> + +<para> +Now it's time to make the edges of the selection a bit fuzzy. This can be done by applying <guilabel>Feather</guilabel> to the selection. +</para> + +<screenshot> +<screeninfo><guilabel>Feather</guilabel> selection</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-5.png" format="PNG" /> +</imageobject> +<textobject> +<phrase><guilabel>Feather</guilabel> selection</phrase> +</textobject> +<caption><para><guilabel>Feather</guilabel> selection</para></caption> +</mediaobject> +</screenshot> + +<para> +Now cut the selection, using +<menuchoice><guimenu>Edit</guimenu><guimenuitem>Cut</guimenuitem></menuchoice>. +Delete the current layer with +<menuchoice><guimenu>Layer</guimenu><guimenuitem>Remove +Layer</guimenuitem></menuchoice>. Paste your selection, with +<menuchoice><guimenu>Edit</guimenu><guimenuitem>Paste</guimenuitem></menuchoice>. +Now we give ourselves a bit more room to work in by resizing the image a bit. +Use the <menuchoice><guimenu>Image</guimenu><guimenuitem>Change Image +Size...</guimenuitem></menuchoice> dialog for this. +</para> + +<screenshot> +<screeninfo>The <guilabel>Image Size</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-6.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Image Size</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Image Size</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> + +<para> +Add a new layer, and place it below the old layer. You do this by selecting +the new layer in the layerbox, and then pressing the little 'down' arrow at the bottom. +Now we are going to select the area around the head with a contiguous select +(the tool has a selection-with-bucketfill icon at the border). +</para> + +<screenshot> +<screeninfo>The <guilabel>Select Contiguous</guilabel> tool</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-7.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Select Contiguous</guilabel> tool</phrase> +</textobject> +<caption><para>The <guilabel>Select Contiguous</guilabel> tool</para></caption> +</mediaobject> +</screenshot> + +<para> +Make sure to select <guilabel>Sample merged</guilabel> in the tool options: +</para> + +<screenshot> +<screeninfo>The <guilabel>Sample merged</guilabel> option</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-8.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Sample merged</guilabel> option</phrase> +</textobject> +<caption><para>The <guilabel>Sample merged</guilabel> option</para></caption> +</mediaobject> +</screenshot> + +<para> +Feather the selection again, and invert it. +Select the <guilabel>Contiguous Fill</guilabel> tool (this is a different tool than +the <guilabel>Contiguous Select</guilabel> tool) and use it on the layer. +</para> + +<screenshot> +<screeninfo>The <guilabel>Contiguous Fill</guilabel> tool</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-9.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Contiguous Fill</guilabel> tool</phrase> +</textobject> +<caption><para>The <guilabel>Contiguous Fill</guilabel> tool</para></caption> +</mediaobject> +</screenshot> + +<para> +Deselect with <menuchoice><guimenu>Select</guimenu><guimenuitem>Deselect</guimenuitem></menuchoice>. +You'll notice some artefacts of the feathering at the sides. You can select them easily with a rectangular selection and then cut them. +</para> + +<screenshot> +<screeninfo>The <guilabel>Select Rectangular</guilabel> tool</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-10.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Select Rectangular</guilabel> tool</phrase> +</textobject> +<caption><para>The <guilabel>Select Rectangular</guilabel> tool</para></caption> +</mediaobject> +</screenshot> + +<para> +Move the shadow layer a bit down and to the right to make it look nice. +</para> + +<screenshot> +<screeninfo>Moving the shadow layer</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-11.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>Moving the shadow layer</phrase> +</textobject> +<caption><para>Moving the shadow layer</para></caption> +</mediaobject> +</screenshot> + +<para> +Now you can use the <guilabel>Crop</guilabel> tool to make the image better fit around the head. +</para> + +<screenshot> +<screeninfo>The <guilabel>Crop</guilabel> tool</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-12.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Crop</guilabel> tool</phrase> +</textobject> +<caption><para>The <guilabel>Crop</guilabel> tool</para></caption> +</mediaobject> +</screenshot> + +<para> +Save the image, and you're done :-) +</para> + +<screenshot> +<screeninfo>The resulting image</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-select-layer-13.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The resulting image</phrase> +</textobject> +<caption><para>The resulting image</para></caption> +</mediaobject> +</screenshot> + +<para> +Thanks go to Bart Coppens for providing this tutorial. The original is available at <ulink url="http://www.bartcoppens.be/krita/hackergotchi.html">http://www.bartcoppens.be/krita/hackergotchi.html</ulink>. +</para> + +</sect1> diff --git a/doc/krita/tutorial-starting.docbook b/doc/krita/tutorial-starting.docbook new file mode 100644 index 00000000..f720a88c --- /dev/null +++ b/doc/krita/tutorial-starting.docbook @@ -0,0 +1,117 @@ +<sect1 id="tutorial-starting"> +<title>Starting to know &krita;</title> + +<para> +So, let's show you all the niceties. You can start &krita; either on its own +or from the &koffice; shell. In your &kde; menus, &krita; should be placed +either under Graphics or under Office — it depends a bit on who packaged +&koffice; for you. Or do what I do: press +<keycombo action="simul">&Alt;<keycap>F2</keycap></keycombo> (which opens the +minicli), type <userinput><command>krita</command></userinput> and +press <guibutton>OK</guibutton>. +</para> + +<para> +A little later, you'll be greeted by a dialog: +</para> + +<para> +<screenshot> +<screeninfo>The <guilabel>Create Document</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="createdocument.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>Create Document</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>Create Document</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +This is standard for &koffice;: you can create a new document, choose a +document from among your files or select a document you had opened in an earlier +session. We have got a bunch of templates here, ordered by color model. &krita; +is a very flexible application and can handle many different types of images: +<acronym>CMYK</acronym> images for printers, <acronym>RGB</acronym> images for +the web, <acronym>RGB</acronym> images with high channel depths for +photographers, watercolor images for painters — and more. For now, choose +<guilabel>Custom Document</guilabel>. That will allow +us to see the <guilabel>New Image</guilabel> dialog box: +</para> + +<para> +<screenshot> +<screeninfo>The <guilabel>New Image</guilabel> dialog</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="newimage.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The <guilabel>New Image</guilabel> dialog</phrase> +</textobject> +<caption><para>The <guilabel>New Image</guilabel> dialog</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +Here you can give your document a name, determine the dimensions and the +resolution. The combination of width/height and resolution determines how big +your image will be on screen or on paper: if your image has a resolution of +100x100 dpi, and your image is 1000x1000 pixels big, then, if everything is +configured correctly, your image will be exactly 10 inches long and 10 inches +wide if you check with a ruler, no matter the resolution of your screen or of +your printer — if shown at 100%. However, life is seldom so well-regulated +that this actually works out. For now, just think pixels, not inches. +</para> + +<para> +The next group of options is a lot more interesting than resolution: &krita; +is an enormously flexible application and you can work with many kinds of +images. For this tutorial, just select <guilabel>RGB (8 +bits/channel)</guilabel>. You can also select a profile. For now, we leave this +at the default setting of <guilabel>sRGB built-in - (lcms internal)</guilabel>. +</para> + +<para> +In the third option group, you can select the initial canvas color and the +amount of opacity/transparency of this color. Furthermore you can +add a description of the contents. We leave these options at their default +settings as well, so click <guibutton>Create</guibutton> to actually create the new +image. +</para> + +<para> +You will now see the main &krita; screen. +</para> + +<para> +<screenshot> +<screeninfo>&krita;'s main screen</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mainscreen.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>&krita;'s main screen</phrase> +</textobject> +<caption><para>&krita;'s main screen</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +On the left hand side and on the top, there are toolbars which offer you access +to tools for painting, editing, and selecting. +You can find a more detailed description of these toolbars <link +linkend="commands-toolbars">here</link>. The actual painting area is in the +middle. On the right side of your screen, there are various palettes, which you +can read more about in <link linkend="commands-palettes">this section</link>. +Finally, there is a menu bar at the top of the screen, as usually. Read more +about it <link linkend="commands-menus">here</link>. +</para> + +</sect1> diff --git a/doc/krita/tutorial-tablet-1.png b/doc/krita/tutorial-tablet-1.png Binary files differnew file mode 100644 index 00000000..6857e2d6 --- /dev/null +++ b/doc/krita/tutorial-tablet-1.png diff --git a/doc/krita/tutorial-tablet-2.png b/doc/krita/tutorial-tablet-2.png Binary files differnew file mode 100644 index 00000000..21f49de7 --- /dev/null +++ b/doc/krita/tutorial-tablet-2.png diff --git a/doc/krita/tutorial-tablet-3.png b/doc/krita/tutorial-tablet-3.png Binary files differnew file mode 100644 index 00000000..092fe4ab --- /dev/null +++ b/doc/krita/tutorial-tablet-3.png diff --git a/doc/krita/tutorial-tablet.docbook b/doc/krita/tutorial-tablet.docbook new file mode 100644 index 00000000..2e5e6184 --- /dev/null +++ b/doc/krita/tutorial-tablet.docbook @@ -0,0 +1,141 @@ +<sect1 id="tutorial-tablet"> +<title>Working with tablets</title> + +<para>This tutorial is intended to describe you the first steps with working +with a tablet with &krita;. The tutorial assumes you are using &Linux;.</para> + +<sect2 id="tutorial-tablet-configuring"> +<title>Configuring it</title> + +<para> +As any hardware it nearly works out of the box. &Linux; should recognize it +fine, but you might have to configure the X11 server by hand. The best way to +do this is to follow the instruction on the Wacom &Linux; howto: <ulink +url="http://linuxwacom.sourceforge.net/index.php/howto/main" />. +</para><para> +Then, in &krita;, you need to enable the various tools (in the +<guilabel>Tablet</guilabel> section of the +<menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure +&krita;...</guimenuitem></menuchoice> dialog) — you can find more +information in the <link linkend="settings-preferences-tablet">tablet settings +section</link>. +</para> + +</sect2> + +<sect2 id="tutorial-tablet-firstcontact"> +<title>First contact with the tablet</title> + +<para> +There are three devices of your tablet that you can use with &krita;: +</para> + +<itemizedlist> +<listitem><para>the cursor, the mouse that was shipped with the Wacom +tablet</para></listitem> +<listitem><para>the eraser, the round part on the top of the pen</para></listitem> +<listitem><para>the stylus, the thin point on the bottom of the pen</para></listitem> +</itemizedlist> + +<para> +By default, when you use the stylus or the cursor on the tablet, the Brush +tool and the pixel brush painting operation will get selected. The eraser +device is associated to the <quote>pixel eraser</quote> painting operation. +But if you select a different tool or a different painting operation with one +device, &krita; will remember the association when you switch between devices. +</para> + +</sect2> + +<sect2 id="tutorial-tablet-outlines"> +<title>Outlines of a flower</title> + +<para> +Even if you knew how to draw before you started with a tablet, you will need +to adapt to the tablet. It doesn't feel the same. So I suggest to start with +something simple, like a flower, and to use a picture as a model: +</para> + +<para> +<screenshot> +<screeninfo>A flower</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-tablet-1.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>A flower</phrase> +</textobject> +<caption><para>A flower</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +First, you will need to create a new layer for the outline. I advise you to +lock the layer with the picture, it will prevent you from making mistakes. +</para><para> +Drawing the outline of the flower seems pretty easy, but for your first +experience you will have a great difficulty to precisely follow the line on +the screen while your hand has to move on the tablet. Eventually you will get +something like this: +</para> + +<para> +<screenshot> +<screeninfo>The outline of the flower</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-tablet-2.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The outline of the flower</phrase> +</textobject> +<caption><para>The outline of the flower</para></caption> +</mediaobject> +</screenshot> +</para> + +</sect2> + +<sect2 id="tutorial-tablet-colorization"> +<title>Colorization</title> + +<para> +For the colorization, you will need to create a third layer. You will +have to move it below the layer with the outlines, and do not forget to lock +the outline layer. +</para><para> +It's mostly easier than the outline part, just select the color you want to +use (either with the color selector or with the color picker), then for most +of the work you can use the fill tool: with the mouse, click on the part you +want to fill, as by default the fill tool will take the outline into +consideration. On the following image, the different colors of the heart of +the flower are not seperated by outlines, to do them I just completed the +missing outline with a yellow or brown line to create the separation between +the different colors. +</para> + +<para> +<screenshot> +<screeninfo>The colored flower</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-tablet-3.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The colored flower</phrase> +</textobject> +<caption><para>The colored flower</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +The resulting image looks and feels like old fashion clipart, mostly because +it lacks shadows and illumination, which are not covered by this tutorial. +</para> + +</sect2> + +</sect1> diff --git a/doc/krita/tutorial.docbook b/doc/krita/tutorial.docbook new file mode 100644 index 00000000..078b1886 --- /dev/null +++ b/doc/krita/tutorial.docbook @@ -0,0 +1,14 @@ +<chapter id="tutorial"> +<title>Tutorial</title> + +<note><para> +The toolbars and palettes shown in these tutorials may not match your +installation of &krita;. Our apologies for this inconvenience. +</para></note> + +&tutorial-starting; +&tutorial-select-layer; +&tutorial-quick-starts; +&tutorial-tablet; + +</chapter> diff --git a/doc/krita/using-colorspaces.docbook b/doc/krita/using-colorspaces.docbook new file mode 100644 index 00000000..0222e8d3 --- /dev/null +++ b/doc/krita/using-colorspaces.docbook @@ -0,0 +1,149 @@ +<chapter id="colorspaces"> +<title>Colorspaces</title> + +<para> +This chapter gives information on what colorspaces are, which colorspaces +&krita; offers, and what you should keep in mind when using them. +</para> + +<sect1 id="colorspaces-intro"> +<title>Introduction to colorspaces</title> + +<sect2 id="colorspaces-intro-whatis"> +<title>What is a colorspace?</title> + +<para> +In short, a colorspace is a way to represent colors by specifying a number of +parameters. As parameters, one can choose for example the amounts of red, +green and blue light needed for the color. This results in the commonly known +RGB colorspace. One can visualize this as a three-dimensional space, with each +of the red, green, and blue light components being an axis in the colorspace. +A color then corresponds to a certain point in this colorspace, defined by its +coordinates on the three axes. +</para> +<note><para> +To be more precise, a colorspace is a combination of a color model (indicating +which axes are present) and a mapping function (indicating which values +correspond to which colors). +</para></note> +<para> +Not every color can be represented in every colorspace. Some colorspaces +define more, or different, colors than others. The set of colors that can be +represented in a certain colorspace is called its gamut. Because gamuts +can differ widely, it is not guaranteed that images in a certain colorspace +can be converted to another colorspace without having to substitute certain +colors for others, even if they are based on the same color model. +</para> + +</sect2> + +</sect1> + +<sect1 id="colorspaces-list"> +<title>Available colorspaces</title> + +<para> +&krita; offers colorspaces based on RGB, CMYK, Lab, LMS, YCbCr, and Gray +color models. These are shortly discussed in this section. +</para> + +<sect2 id="colorspaces-list-rgb"> +<title>The RGB color models</title> + +<para> +The abbreviation RGB stands for Red, Green, Blue, and the color model with +this name refers to the three light components that are emitted in displays +(televisions, computer monitors, etcetera) to create a certain color. This +color model is used by default in virtually any standard painting application. +</para><para> +When defining a color in the RGB model, its red, green and blue components are +specified. If all components are absent (each component is emitted at 0 +percent intensity, so no light at all), the color is pure black. If all +components are fully present (100 percent intensity), the color is pure white. +If one component is present at full intensity and the other two are absent, +the pure respective color is obtained. +</para><para> +Two more examples: if both red and green are emitted at 100 percent and blue +is not emitted, pure yellow is obtained. A color with all three components at +the same intensity is a shade of gray. +</para><para> +There are various colorspaces that implement the RGB model. For example, the +so-called RGB8 colorspace represents each color with 8 bits per component. +Since 8 bits allow for 256 distinct values, the total number of different +colors that can be specified in this colorspace is 256 (red) * 256 (green) * +256 (blue), or about 16.7 million colors. In &krita;, a couple of RGB +colorspaces are available, for example RGB32, which is able to distinguish +between 4.2 billion values per component. +</para> + +</sect2> + +<sect2 id="colorspaces-list-cmyk"> +<title>The CMYK color model</title> + +<para> +CMYK is the abbreviation for Cyan, Magenta, Yellow, blacK (although officially +the K stands for Key, black is much more commonly used). This color model is +based on ink: a color is specified by the amount of ink needed for a point +to be perceived as having that color. +</para><para> +Since CMYK colors are used by printers while RGB colors are used on-screen, +one often wants to convert RGB colors to CMYK colors. As this cannot always be +done correctly, printed images may turn out to look quite different than what +is perceived on-screen. +</para> + +</sect2> + +<sect2 id="colorspaces-list-lab"> +<title>The L*a*b* color model</title> + +<para> +This color model uses three parameters for a color: its +luminance or lightness (L*, which lies between 0 for black and +100 for white), its position between absolute red and absolute green (a*, +which is negative for colors closer to green and positive for colors closer to +red), and its position between yellow and blue (b*, which is negative for +colors closer to blue and positive for colors closer to yellow). +</para> + +</sect2> + +<sect2 id="colorspaces-list-LMS"> +<title>The LMS color model</title> + +<para> +This model is based on the contribution of actual light wave lengths to the +color. The human eye is sensitive to three types of light waves, distinguished +by their wave lengths: long (L), middle (M) and short (S) waves. The eye's +sensitivity for a certain color on these three wavelengths can be expressed in +L, M and S coordinates. +</para> + +</sect2> + +<sect2 id="colorspaces-list-YCbCr"> +<title>The YCbCr color model</title> + +<para> +The YCbCr model is often used for video systems. The Y parameter indicates the +luminance or lightness of the color (which can be seen as a gray-tone), the Cb +and Cr parameters indicate the chrominance (color tone): Cb places the color +on a scale between blue and yellow, Cr indicates the place of the color +between red and green. +</para> + +</sect2> + +<sect2 id="colorspaces-list-Gray"><title>The Gray color model</title> + +<para> +The Gray color model simply represents colors as shades of gray (with black +and white being the extremes). +</para> + +</sect2> + +</sect1> + +</chapter> diff --git a/doc/krita/using-filters.docbook b/doc/krita/using-filters.docbook new file mode 100644 index 00000000..3dd686c4 --- /dev/null +++ b/doc/krita/using-filters.docbook @@ -0,0 +1,923 @@ +<chapter id="filters"> +<title>Filters</title> + +<para> +&krita; comes with a number of filters. These can be used to enhance or +otherwise modify the image, either in whole or in part. Some filters are +applied directly, others are customizable, meaning that you are presented with +a dialog in which you can tune the result to your liking before the filter is +applied. If a selection is active, a filter is applied on the selected part of +the image. If no selection is active, the entire image is modified. +</para><para> +This chapter describes the available filters in detail. To make comparing the +filters easier, each filter has been applied to the same image and each description +contains a comparison image, showing the result of applying the filter described. +The original image (with thanks to the photographer, Christian Peper) is shown +below at half the original size. The sample images demonstrating the +results of applying the filters, with the original image at the left and the +modified image at the right, are shown at 25% of the original size. +</para> +<note><para>Some filters yield reasonable results for most images. For +other filters though, quite some tweaking needs to be done before the desired +outcome is achieved. If a filter does not do what you want, it might need +more or less customising. The examples in this chapter are exaggerated to +give a good impression of the filters. You will usually want to have more +<quote>gentle</quote> modifications.</para></note> +<para> +Tip: If you want to apply a filter to everything except a certain part of your +image (for example, you want to desaturate your image except for the centre), +select the part you do not want to apply the filter to, use the +<menuchoice><guimenu>Select</guimenu><guimenuitem>Invert</guimenuitem></menuchoice> +menu option, and then apply the filter. +</para> +<para> +See the <link linkend="commands-dialogs-filters">Dialogs for working with +filters</link> section for descriptions of the settings available for the +customizable filters. +</para> + +<screenshot> +<screeninfo>The original image</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The original image</phrase> +</textobject> +<caption><para>The original image</para></caption> +</mediaobject> +</screenshot> + +<sect1 id="filters-autocontrast"> +<title>The Auto Contrast filter</title> +<para> +The Auto Contrast filter changes the contrast of your image to what should be +the best settings. Usually this works out fine, but in some cases (for example +photos taken under unusual lighting circumstances), the filter will not yield +satisfying results. +</para> +<para> +You can find the Auto Contrast filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Adjust</guisubmenu></menuchoice> menu. This filter is not customizable. +</para> +<screenshot> +<screeninfo>The image with the Auto Contrast filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-autocontrast.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Auto Contrast filter applied to it</phrase> +</textobject> +<caption><para>The image with the Auto Contrast filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-blur"> +<title>The Blur filter</title> +<para> +You can use the Blur filter to blur your image (give it a fuzzy look). +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Blur</guisubmenu></menuchoice> menu. +See the section on <link linkend="commands-dialogs-filters-blur">the +<guilabel>Blur</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Blur filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-blur.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Blur filter applied to it</phrase> +</textobject> +<caption><para>The image with the Blur filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-brightnesscontrast"> +<title>The Brightness / Contrast filter</title> +<para> +With this filter, you can adjust the brightness and contrast of your image. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Adjust</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-brightnesscontrast">the +<guilabel>Brightness / Contrast</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Brightness / Contrast filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-brightnesscontrast.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Brightness / Contrast filter applied to it</phrase> +</textobject> +<caption><para>The image with the Brightness / Contrast filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-bumpmap"> +<title>The Bumpmap filter</title> +<para> +The Bumpmap filter takes two layers and uses one of these to convert the other +one so that it will give an illusion of depth. The object layer (the layer to be +transformed) is the actual layer that should receive the three-dimensional +looks. The bumpmap layer is a grayscale layer, which is read and used to +determine the height for each point of the object layer. Alternatively, the +same layer can be used as both object layer and bumpmap layer. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Map</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-bumpmap">the +<guilabel>Bumpmap</guilabel> dialog</link> for more information on its +settings. +</para> +<screenshot> +<screeninfo>The image with the Bumpmap filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-bumpmap.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Bumpmap filter applied to it</phrase> +</textobject> +<caption><para>The image with the Bumpmap filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-cimg"> +<title>The CImg Image Restoration filter</title> +<para> +With this filter, you can perform minor enhancements to your image, for +example removing small scratches or adding a slight blur. The difference +between our sample original image and the result of applying this filter with +standard settings is virtually none. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-imagerestoration">the +<guilabel>Image Restoration</guilabel> dialog</link> +for more information on its settings. +</para> +</sect1> + +<sect1 id="filters-coloradjustment"> +<title>The Color Adjustment filter</title> +<para> +This filter allows you to change the looks of your image by increasing or +decreasing the abundance of certain colors. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Adjust</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-coloradjustment">the +<guilabel>Color Adjustment</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Color Adjustment filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-coloradjustment.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Color Adjustment filter applied to it</phrase> +</textobject> +<caption><para>The image with the Color Adjustment filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-colortoalpha"> +<title>The Color to Alpha filter</title> +<para> +This filter changes a color or color range in your image to become +transparent, effectively clearing regions with those colors. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Colors</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-colortoalpha">the +<guilabel>Color to Alpha</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Color to Alpha filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-colortoalpha.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Color to Alpha filter applied to it</phrase> +</textobject> +<caption><para>The image with the Color to Alpha filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-colortransfer"> +<title>The Color Transfer filter</title> +<para> +With this filter, you can re-color an image using the colors from another +image. Each color in your current image will be replaced by the most alike +color used in the other image. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Colors</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-colortransfer">the +<guilabel>Color Transfer</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Color Transfer filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-colortransfer.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Color Transfer filter applied to it</phrase> +</textobject> +<caption><para>The image with the Color Transfer filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-customconvolution"> +<title>The Custom Convolution filter</title> +<para> +This filter allows you to distort your image by setting a number of +parameters. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-customconvolution">the +<guilabel>Custom Convolution</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Custom Convolution filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-customconvolution.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Custom Convolution filter applied to it</phrase> +</textobject> +<caption><para>The image with the Custom Convolution filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-desaturate"> +<title>The Desaturate filter</title> +<para> +This filter converts your image to grayscale by setting the saturation of each +pixel's color to zero. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Adjust</guisubmenu></menuchoice> menu. +This filter is not customizable. +</para> +<screenshot> +<screeninfo>The image with the Desaturate filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-desaturate.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Desaturate filter applied to it</phrase> +</textobject> +<caption><para>The image with the Desaturate filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-edgedetection"> +<title>The Edge Detection filters</title> +<para> +These filters try to detect <quote>edges</quote> (boundaries) in the picture +and modify the image such that only these edges retain their respective colors, +while the rest of the image is turned gray. Through the use of lighting the +image will then get a three-dimensional look. +</para><para> +There are four edge detection filters available. Each of these detects edges +from a different side (possibly considering other parts of the image as being +edges) and will therefore obtain a different resulting image. +</para> +<para> +You can find the filters in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Edge Detection</guisubmenu></menuchoice> menu. +These filters are not customizable. +</para> +<screenshot> +<screeninfo>The image with the Bottom Edge Detection filter applied to +it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-edgebottom.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Bottom Edge Detection filter applied to it</phrase> +</textobject> +<caption><para>The image with the Bottom Edge Detection filter applied to +it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-emboss"> +<title>The Emboss filters</title> +<para> +Emboss filters work somewhat like edge detection filters, with the difference +that embossed images are entirely gray. Areas in the picture are detected and +are given a certain <quote>height level</quote>, which is made visible by using +grayscale borders, making the image look like it is three-dimensional. +</para> +<para> +You can find the filters in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Emboss</guisubmenu></menuchoice> menu. +Except for the Emboss with Variable Depth filter, these filters are not +customizable. See the section on <link +linkend="commands-dialogs-filters-emboss">the +<guilabel>Emboss</guilabel> dialog</link> +for more information on the settings of the Emboss with Variable Depth filter. +</para> +<screenshot> +<screeninfo>The image with the Emboss in All Directions filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-embossall.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Emboss in All Directions filter applied to it</phrase> +</textobject> +<caption><para>The image with the Emboss in All Directions filter applied to +it</para></caption> +</mediaobject> +</screenshot> +<screenshot> +<screeninfo>The image with the Emboss with Variable depth filter applied to +it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-embossvariable.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Emboss with Variable depth filter applied to it</phrase> +</textobject> +<caption><para>The image with the Emboss with Variable depth filter applied to +it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-gaussianblur"> +<title>The Gaussian Blur filter</title> +<para> +This filter makes the image a little fuzzy by blurring it in a pseudo-random +way. A gaussian algorithm is used for finding the extent to which each part of +the image should be blurred. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Blur</guisubmenu></menuchoice> menu. +This filter is not customizable. +</para> +<screenshot> +<screeninfo>The image with the Gaussian Blur filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-gaussianblur.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Gaussian Blur filter applied to it</phrase> +</textobject> +<caption><para>The image with the Gaussian Blur filter applied to +it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-gaussiannoise"> +<title>The Gaussian Noise Reduction filter</title> +<para> +With this filter, you can remove noise from your image. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-gaussiannoise">the +<guilabel>Gaussian Noise Reduction</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Gaussian Noise Reduction filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-gaussiannoise.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Gaussian Noise Reduction filter applied to it</phrase> +</textobject> +<caption><para>The image with the Gaussian Noise Reduction filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-invert"> +<title>The Invert filter</title> +<para> +This filter inverts all colors. The Red, Green and Blue component of each pixel +are taken and subtracted from 255. This means that red becomes cyan, green +becomes purple, and blue becomes yellow. The resulting values form the new +pixel color. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Adjust</guisubmenu></menuchoice> menu. +This filter is not customizable. +</para> +<screenshot> +<screeninfo>The image with the Invert filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-invert.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Invert filter applied to it</phrase> +</textobject> +<caption><para>The image with the Invert filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-lenscorrection"> +<title>The Lens Correction filter</title> +<para> +This filter can fix distortions in your image resulting from for example +<quote>pincushion</quote> lens effects, and modify some lighting. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Other</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-lenscorrection">the +<guilabel>Lens Correction</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Lens Correction filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-lenscorrection.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Lens Correction filter applied to it</phrase> +</textobject> +<caption><para>The image with the Lens Correction filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-maximizechannel"> +<title>The Maximize Channel filter</title> +<para> +This filter gives each pixel in your image a new color: only the color channel +that contributes the most to the color of a pixel is retained (except for +gray pixels, which are kept gray). +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Colors</guisubmenu></menuchoice> menu. +This filter is not customizable. +</para> +<screenshot> +<screeninfo>The image with the Maximize Channel filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-maximizechannel.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Maximize Channel filter applied to it</phrase> +</textobject> +<caption><para>The image with the Maximize Channel filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-meanremoval"> +<title>The Mean Removal filter</title> +<para> +This filter sharpens the image by changing the colors of neighboring pixels +with approximately the same color, so that small differences are evened out. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu></menuchoice> menu. +This filter is not customizable. +</para> +<screenshot> +<screeninfo>The image with the Mean Removal filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-meanremoval.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Mean Removal filter applied to it</phrase> +</textobject> +<caption><para>The image with the Mean Removal filter applied to +it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-minimizechannel"> +<title>The Minimize Channel filter</title> +<para> +This filter gives each pixel in your image a new color: the color channel +that contributes the most to the color of a pixel is removed (except for +gray pixels, which are kept gray). +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Colors</guisubmenu></menuchoice> menu. +This filter is not customizable. +</para> +<screenshot> +<screeninfo>The image with the Minimize Channel filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-minimizechannel.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Minimize Channel filter applied to it</phrase> +</textobject> +<caption><para>The image with the Minimize Channel filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-oilpaint"> +<title>The Oilpaint filter</title> +<para> +An oilpaint effect is given to the image by creating patch-shaped areas in which +the most important color is applied to the entire area. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Artistic</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-oilpaint">the +<guilabel>Oilpaint</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Oilpaint filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-oilpaint.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Oilpaint filter applied to it</phrase> +</textobject> +<caption><para>The image with the Oilpaint filter applied to +it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-pixelize"> +<title>The Pixelize filter</title> +<para> +The image is pixelated by taking a square area and giving it the mean color +value of the pixels it contains. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Artistic</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-pixelize">the +<guilabel>Pixelize</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Pixelize filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-pixelize.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Pixelize filter applied to it</phrase> +</textobject> +<caption><para>The image with the Pixelize filter applied to +it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-raindrops"> +<title>The Raindrops filter</title> +<para> +This filter makes it look like raindrops have fallen on the image by distorting +drop-shaped areas with a lens-like effect as one would see when looking +at the image through a real raindrop. Some raindrops will have a fish-eye lens +effect. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Artistic</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-raindrops">the +<guilabel>Raindrops</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Raindrops filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-raindrops.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Raindrops filter applied to it</phrase> +</textobject> +<caption><para>The image with the Raindrops filter applied to +it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-randomnoise"> +<title>The Random Noise filter</title> +<para> +With this filter, random noise can be added to your image. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Other</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-randomnoise">the +<guilabel>Random Noise</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Random Noise filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-randomnoise.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Random Noise filter applied to it</phrase> +</textobject> +<caption><para>The image with the Random Noise filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-randompick"> +<title>The Random Pick filter</title> +<para> +This filter distorts the image by interchanging pixels. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Other</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-randompick">the +<guilabel>Random Pick</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Random Pick filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-randompick.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Random Pick filter applied to it</phrase> +</textobject> +<caption><para>The image with the Random Pick filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-roundcorners"> +<title>The Round Corners filter</title> +<para> +This filter just rounds off the corners of the image. This is done by making +the outside of the rounded corner transparent. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Map</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-roundcorners">the +<guilabel>Round Corners</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Round Corners filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-roundcorners.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Round Corners filter applied to it</phrase> +</textobject> +<caption><para>The image with the Round Corners filter applied to +it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-sharpen"> +<title>The Sharpen filter</title> +<para> +This filter sharpens the image. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu></menuchoice> menu. +This filter is not customizable. +</para> +<screenshot> +<screeninfo>The image with the Sharpen filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-sharpen.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Sharpen filter applied to it</phrase> +</textobject> +<caption><para>The image with the Sharpen filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-smalltiles"> +<title>The Small Tiles filter</title> +<para> +The picture is reduced in size and repeated multiple times. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Map</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-smalltiles">the +<guilabel>Small Tiles</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Small Tiles filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-smalltiles.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Small Tiles filter applied to it</phrase> +</textobject> +<caption><para>The image with the Small Tiles filter applied to +it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-sobel"> +<title>The Sobel filter</title> +<para> +This is a more enhanced edge detection filter. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Edge Detection</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-sobel">the +<guilabel>Sobel</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Sobel filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-sobel.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Sobel filter applied to it</phrase> +</textobject> +<caption><para>The image with the Sobel filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-unsharpmask"> +<title>The Unsharp Mask filter</title> +<para> +This filter sharpens part of your image. (The name <quote>unsharp</quote> is +historical: parts would be masked off while the rest would be made less sharp.) +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-unsharpmask">the +<guilabel>Unsharp Mask</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Unsharp Mask filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-unsharpmask.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Unsharp Mask filter applied to it</phrase> +</textobject> +<caption><para>The image with the Unsharp Mask filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-wave"> +<title>The Wave filter</title> +<para> +This filter transforms your image into a wave shape. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Other</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-wave">the +<guilabel>Wave</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Wave filter applied to it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-wave.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Wave filter applied to it</phrase> +</textobject> +<caption><para>The image with the Wave filter applied to it</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="filters-waveletnoise"> +<title>The Wavelet Noise Reduction filter</title> +<para> +This filter reduces noise in the image by giving loose pixels a color close to +the surrounding area. This causes small details to be lost, but can enhance the +general view of the image when this is hampered by too many unnecessary details. +</para> +<para> +You can find the filter in the <menuchoice><guimenu>Filter</guimenu> +<guisubmenu>Enhance</guisubmenu></menuchoice> menu. +See the section on <link +linkend="commands-dialogs-filters-waveletnoise">the +<guilabel>Wavelet Noise Reduction</guilabel> dialog</link> +for more information on its settings. +</para> +<screenshot> +<screeninfo>The image with the Wavelet Noise Reduction filter applied to +it</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="crocusses-waveletnoise.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The image with the Wavelet Noise Reduction filter applied to it</phrase> +</textobject> +<caption><para>The image with the Wavelet Noise Reduction filter applied to +it</para></caption> +</mediaobject> +</screenshot> +</sect1> + + +</chapter> diff --git a/doc/krita/using-images.docbook b/doc/krita/using-images.docbook new file mode 100644 index 00000000..e3b1f239 --- /dev/null +++ b/doc/krita/using-images.docbook @@ -0,0 +1,66 @@ +<chapter id="images"> +<title>Images</title> + +<para> +Creating and modifying images is one of &krita;'s core functionalities. While +most of the other chapters in this manual focus on the things you can do when +painting or editing, this chapter shows you what you can do with respect to +the images themselves. +</para> + +<sect1 id="images-files"> +<title>Working with files</title> + +<para> +Unless you are doing some quick sketching, working with &krita; will most +likely involve files. You can open existing images — &krita; can work +with a large number of file formats, see <link +linkend="introduction-keyfeatures-imageformats">Image formats</link> — +or start &krita; to create a new one. When you are done or if you want to +continue at a later time, you can easily save your work. +</para> + +<variablelist> + +<varlistentry><term>Opening existing files</term> +<listitem><para>When you start &krita;, you can open an existing image with +the <guibutton>Open Existing Document</guibutton> button at the lower left of +the opening dialog. You can also use the +<menuchoice><guimenu>File</guimenu><guimenuitem>Open</guimenuitem></menuchoice> +menu option (<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo>). +This will bring up the <guilabel>Open Document</guilabel> dialog in which you +can choose an image to open. The opening dialog and the +<guimenu>File</guimenu> menu also contain a list of the most recently used +files for quick access.</para></listitem> +</varlistentry> + +<varlistentry><term>Saving your work in progress</term> +<listitem><para>With the +<menuchoice><guimenu>File</guimenu><guimenuitem>Save</guimenuitem></menuchoice> +and <menuchoice><guimenu>File</guimenu><guimenuitem>Save As...</guimenuitem></menuchoice> +menu options (or their respective shortcuts <keycombo +action="simul">&Ctrl;<keycap>S</keycap></keycombo> and <keycombo +action="simul">&Ctrl;&Shift;<keycap>S</keycap></keycombo>), you can save your +work. The former option will save the modifications to the current image, the +latter option will show the <guilabel>Save Document</guilabel> dialog in which +you can give a new file name for the image. If this is the first time you save +the image, <guimenuitem>Save</guimenuitem> will ask for a file name as well. +</para></listitem> +</varlistentry> + +<varlistentry><term>Creating a new image</term> +<listitem><para>From the opening dialog (available via the +<menuchoice><guimenu>File</guimenu><guimenuitem>New</guimenuitem></menuchoice> +menu option or the <keycombo +action="simul">&Ctrl;<keycap>N</keycap></keycombo> keys), you can create a +fully custom document or choose one of the image templates. These templates +offer a quick way of creating a new image. See the <link +linkend="tutorial-starting">Starting to know &krita;</link> tutorial. +</para></listitem> +</varlistentry> + +</variablelist> + +</sect1> + +</chapter> diff --git a/doc/krita/using-layers.docbook b/doc/krita/using-layers.docbook new file mode 100644 index 00000000..8cb574f6 --- /dev/null +++ b/doc/krita/using-layers.docbook @@ -0,0 +1,620 @@ +<chapter id="layers"> +<title>Layers</title> + +<para> +This chapter gives an overview of how layers work in &krita;. +</para> + +<sect1 id="layers-background"> +<title>Background information on layers</title> + +<para> +Extensive use of &krita; will almost require you to have some knowledge of +layers. Using layers, you can work on one part of the image without touching +the rest of it, and most effects are best applied on a layer, instead of on +the whole image. Of course, if you do want to apply an effect to an entire +image, &krita; does offer you that possibility, and there is nothing against +it. +</para><para> +The idea behind layers is quite simple. As the name suggests, layers lie on +top of each other, and together form the layer stack. The final resulting +image is that what you see when looking through the stack from top to bottom. +This means that usually the upper layers of your image will have more or less +transparency, since you cannot look through a layer which has no transparency. +(&krita; works with opaqueness instead of transparency. A layer that is 100 +percent opaque is 0 percent transparent, and vice versa.) A layer higher in +the stack gets applied later than one lower in the stack. For example, if your +image contains four layers, numbered from 1 (lowest) to 4 (highest), the +effect that layer number 4 adds to the image, is applied to the result from +applying layers 1 through 3. +</para><para> +Every image you edit in &krita; contains layers. When you create a new image, +the layer box (usually shown at the bottom right of your screen, see <link +linkend="commands-palettes-layers-layers">this section</link>) will contain +one layer. The painting and editing you do is then applied to that layer. Once +you add more layers, you can choose on which part of the image you want to +work, by selecting the respective layer. All further painting is then applied +to that layer, until you select another one. +</para><para> +Layers are also an excellent way to check whether adding certain effects (or +applying certain image modifications) come out right. Add a layer which +contains what you want to try out, and show or hide it with the eye icon in +the layer box. You can especially profit from this method if you have multiple +effects to check out: show and hide them in any combination, and decide which +you like best. And since you can move the layers around, you can also +experiment with the order in which the effects are applied. +</para><para> +See the <link linkend="tutorial-select-layer">Selections and layers +tutorial</link> for a small hands-on introduction. +</para> +</sect1> + +<sect1 id="layers-layerbox"> +<title>The layer box</title> + +<para>The layer box is the instrument you will use most to work with layers. It +gives an overview of the layers that are present in your image, and using it +you can manage layers by adding, removing, reordering or modifying them. +</para><para> +The layer box consists of three parts. The middle part gives an overview of the +layers in the image. At the top, you can set some properties for the current +layer. At the bottom, a couple of layer management options can be found. The +next sections describe these three parts in more detail. +</para> + +<sect2 id="layers-layerbox-overview"> +<title>Layer overview</title> + +<para>This part shows you which layers are present in your image. In a tree-like +structure, the layer group hierarchy is shown: layers that are contained within +a layer group are displayed a bit to the right to indicate their belonging to +that group. +</para><para> +For each layer, a thumbnail preview and its name are shown. The layer name +is preceded by a folder icon if it is a group layer. Furthermore, two +indicators are present: the eye icon shows whether the layer is currently +visible (an open eye indicates that the layer is visible, a closed eye +indicates that it is not), and the lock icon shows whether the layer is +locked. No changes can be made to a locked layer. +</para><para> +When you click on a layer's eye icon, its visibility is switched from on to +off or vice versa. Clicking on the lock icon enables or disables editing of +that layer. You can click on the name of the current layer to rename it. +Note that to rename a layer, it has to be the current one. You do not need to +activate a layer in order to make it (in)visible or (un)locked via the eye and +lock icons, respectively: these work directly. +</para><para> +Doubleclick on a layer entry in the list to open the <link +linkend="commands-dialogs-layers-layerproperties"><guilabel>Layer +Properties</guilabel></link> dialog. This dialog shows a layer's colorspace and +profile. You can also change its name, opacity and composite mode here. +</para> +</sect2> + +<sect2 id="layers-layerbox-options"> +<title>Layer options</title> +<para> +The top of the layer box contains two controls for setting properties of the +currently selected layer. The list box at the left allows you to quickly set +the layer's composite mode. The spin field and slider at the right can be used +to change the layer's opacity. +</para><para> +At the bottom of the layer box, there are five buttons. From left to right, +these are as follows. The <guibutton>New Layer</guibutton> icon brings up a +submenu from which you can choose which type of layer you want to add. This +menu can also be opened by clicking with the &RMB; on the layer box. The +<guibutton>Move Layer Down</guibutton> and <guibutton>Move Layer Up</guibutton> +buttons move the current layer one level down and up, respectively, within the +current layer group. If the layer is already the last or first within the +layer group, trying to move it further will move it out of the layer group. +The <guibutton>Layer Properties</guibutton> button opens the <link +linkend="commands-dialogs-layers-layerproperties"><guilabel>Layer +Properties</guilabel></link> dialog, just as when you would have doubleclicked +on the layer. The <guibutton>Delete Layer</guibutton> button deletes the +current layer. +</para> +</sect2> + +</sect1> + +<sect1 id="layers-working"> +<title>Working with layers</title> + +<para> +Because layers are quite important when extensively using &krita;, you can +perform a lot of operations on them. These are all available via the <link +linkend="commands-menus-layer"><guimenu>Layer</guimenu> menu</link>. Some of +the possibilities: +</para> + +<variablelist> +<varlistentry><term></term><listitem><para>Add, remove, and duplicate layers;</para></listitem></varlistentry> +<varlistentry><term></term><listitem><para>Create and edit layer masks;</para></listitem></varlistentry> +<varlistentry><term></term><listitem><para>Flip, rotate, scale and shear layers;</para></listitem></varlistentry> +<varlistentry><term></term><listitem><para>Convert layers between colorspaces;</para></listitem></varlistentry> +<varlistentry><term></term><listitem><para>Save layers as images;</para></listitem></varlistentry> +<varlistentry><term></term><listitem><para>View layer histograms.</para></listitem></varlistentry> +</variablelist> + +</sect1> + +<sect1 id="layers-adjustment"> +<title>Adjustment Layers</title> + +<para>Adjustment layers are layers that consist of a filter and an optional +selection. The filter effect is applied to the composite image of all +layers under the adjustment layer in the current layer group. The big +thing is, adjustment layers apply these effects non-destructively. The +original image data is not modified. +</para><para> +Almost all &krita; filters are suitable for use in adjustment +layers -- even filters that would downgrade the image quality. For instance, +the raindrops filter converts to 8-bit RGB before working its magic. If you +would try to use this filter directly on a 16-bit L*a*b* layer, &krita; would +warn you about the conversion to RGB and back again this filter would cause. +Not so with adjustment layers: the original data isn't touched, so applying +the filter is safe. +</para><para> +What about the colorspace of an adjustment layer then? In order to examine +this issue, you need to know what happens when &krita; renders an adjustment +layer. +</para> + +<sect2 id="layers-adjustment-selections"> +<title>Adjustment layers and selections</title> + +<para>If the currently active layer has an active selection, then that selection +will be copied and used as a mask for the adjustment layer. If there is no +active selection, then there will be no mask and the adjustment will apply to +the entire extent of the layers under the adjustment layer in the current +group. There is <emphasis>no</emphasis> way of adding a mask to an existing +adjustment layer. +</para><para> +If there is a mask in the adjustment layer, you can edit the mask using the +ordinary painting tools and painting operations. +</para> + +</sect2> + +<sect2 id="layers-adjustment-projection"> +<title>A note on projections</title> + +<para> +&krita; composites the layers bottom to top, within each layer group. The +aggregate -- or the projection as it is also called -- is then filtered by +the adjustment layer. If there are layers on top of the adjustment layer, +those are composited onto the projection. &krita; converts all layer data before +compositing, so if the bottom-most layer in an image is grayscale, all layers +are converted to grayscale before compositing -- and that means that the +adjustment layer projection will be grayscale, too. +</para><para> +With this knowledge you'll understand why &krita; can often offer better +performance working with layers on top of an adjustment layer which is on top +of a complex layer structure: &krita; uses the projection and doesn't even look +anymore at the layers under the adjustment layer. Unless, of course, you +change one of them. +</para> +</sect2> + +</sect1> + +<sect1 id="layers-composite"> +<title>Compositing modes</title> + +<para> +Layers can be composited in various ways, each yielding a different effect. +This section describes the available compositing modes. Each description is +accompanied by an example: on top of an original image (see below), a rainbow +gradient is added. +</para> + +<para> +<screenshot> +<screeninfo>The original image</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-original.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The original image</phrase> +</textobject> +<caption><para>The original image</para></caption> +</mediaobject> +</screenshot> +</para> + +<sect2 id="layers-composite-normal"> +<title><guilabel>Normal</guilabel></title> + +<para> +The <guilabel>Normal</guilabel> mode does nothing special. It adds the layer +to the image, and if no other special effects like opacity are changed, the +underlying layers will only be visible at places where the new layer is +itself transparent. +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Normal</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-normal.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Normal</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Normal</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +</sect2> + +<sect2 id="layers-composite-multiply"> +<title><guilabel>Multiply</guilabel></title> + +<para> +The <guilabel>Multiply</guilabel> mode blends the two layers so that the +bottom layer gets <quote>colorized</quote> by the new layer. The resulting +image is generally quite dark. +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Multiply</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-multiply.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Multiply</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Multiply</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +</sect2> + +<sect2 id="layers-composite-burn"> +<title><guilabel>Burn</guilabel>, <guilabel>Dodge</guilabel>, +<guilabel>Divide</guilabel> and <guilabel>Screen</guilabel></title> + +<para> +The <guilabel>Burn</guilabel>, <guilabel>Dodge</guilabel>, +<guilabel>Divide</guilabel> and <guilabel>Screen</guilabel> modes all add an +extra <quote>burning</quote> effect by following contours instead of using +straight lines. In addition, <guilabel>Burn</guilabel> and +<guilabel>Divide</guilabel> use the inverted colors instead of the actual +colors of the composited layer. +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Burn</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-burn.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Burn</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Burn</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Dodge</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-dodge.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Dodge</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Dodge</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Divide</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-divide.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Divide</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Divide</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Screen</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-screen.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Screen</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Screen</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +</sect2> + +<sect2 id="layers-composite-overlay"> +<title><guilabel>Overlay</guilabel></title> + +<para> +Like <guilabel>Multiply</guilabel>, the <guilabel>Overlay</guilabel> mode +colorizes the underlying layer. The resulting image is about as light as +the original layer. +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Overlay</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-overlay.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Overlay</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Overlay</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +</sect2> + +<sect2 id="layers-composite-darken"> +<title><guilabel>Darken</guilabel></title> + +<para> +The <guilabel>Darken</guilabel> mode darkens the underlying layer while +colorizing it to match the colors in the composited layer. +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Darken</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-darken.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Darken</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Darken</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +</sect2> + +<sect2 id="layers-composite-lighten"> +<title><guilabel>Lighten</guilabel></title> + +<para> +The <guilabel>Lighten</guilabel> mode lightens the underlying layer while +colorizing it to match the colors in the composited layer. +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Lighten</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-lighten.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Lighten</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Lighten</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +</sect2> + +<sect2 id="layers-composite-hue"> +<title><guilabel>Hue</guilabel>, <guilabel>Saturation</guilabel> and +<guilabel>Value</guilabel></title> + +<para> +The <guilabel>Hue</guilabel>, <guilabel>Saturation</guilabel> and +<guilabel>Value</guilabel> modes respectively apply the hue, saturation and +value components of the composited layer to the underlying layer. +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Hue</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-hue.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Hue</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Hue</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Saturation</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-saturation.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Saturation</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Saturation</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Value</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-value.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Value</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Value</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +</sect2> + +<sect2 id="layers-composite-color"> +<title><guilabel>Color</guilabel></title> + +<para> +The <guilabel>Color</guilabel> mode colorizes the underlying layer, yielding +very strong colors. +</para> + +<para> +<screenshot> +<screeninfo>The gradient applied with the <guilabel>Color</guilabel> compositing +mode</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="mountains-color.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>The gradient applied with the <guilabel>Color</guilabel> compositing +mode</phrase> +</textobject> +<caption><para>The gradient applied with the <guilabel>Color</guilabel> compositing +mode</para></caption> +</mediaobject> +</screenshot> +</para> + +</sect2> + +</sect1> + +<sect1 id="layers-masks"> +<title>Layer Masks</title> + +<para> +Basically, a layer mask is a mask that you place on your paint layer. This +will literally mask areas of the layer, so that the content underneath shows +through. You can paint on it with greyscale colors: the more black the color, +the less the layer under it will shine through, the more white, the less the +layer under it will be shown. So complete white will let nothing through, +complete black will let everything through. Basically, it is a bit like +selecting a piece of your image, and then cutting it, so that the selected +bits go away. So what is the use for a mask here? The big advantage is that it +is non-destructive: if you decide that you masked out the wrong part of your +layer, you can easily remove the mask and start anew, something a lot harder +(not to say near impossible, especially in between sessions) with regular +selection-cutting. +</para><para> +So, how to create a mask? There are 2 ways: +</para> + +<itemizedlist> +<listitem><para> +Start from scratch. +<menuchoice><guimenu>Layer</guimenu><guisubmenu>Mask</guisubmenu><guimenuitem>Create +Mask</guimenuitem></menuchoice>. The mask starts with everything being +retained, that is, a complete white mask. Basically you will not see any +changes as long as you do not paint on it. +</para></listitem> +<listitem><para> +Start from the current selection. +<menuchoice><guimenu>Layer</guimenu><guisubmenu>Mask</guisubmenu><guimenuitem>Mask +From Selection</guimenuitem></menuchoice>. The selectedness will be converted +to whiteness. This means that fully selected area will be visible, fully +unselected areas will be invisible, and the rest will be partially visible, +depending on how much the area was selected. +</para></listitem> +</itemizedlist> + +<sect2 id="layers-masks-editing"> +<title>Editing the mask</title> + +<para> +First, make sure you are editing the mask, not the layer, by making sure +<menuchoice><guimenu>Layer</guimenu><guisubmenu>Mask</guisubmenu><guimenuitem>Edit +Mask</guimenuitem></menuchoice> is checked. (This is checked by default.) Then +you can paint on the layer just like before, only now you are +painting on the mask, instead of on the layer itself. To stop painting on the +mask, you can uncheck the <guilabel>Edit Mask</guilabel> checkbox. There's +also the option to show the mask, through checking +<menuchoice><guimenu>Layer</guimenu><guisubmenu>Mask</guisubmenu><guimenuitem>Show +Mask</guimenuitem></menuchoice>. (This is not checked by +default). This option will render the entire layer as a visual representation +of the mask in greyscale, instead of the actual layer. This can be handy to +see where your mask is, but it might be not as handy when you want to edit it, +since you cannot look at the actual layer. +</para><para> +Other actions: you can also remove the mask if you are not satisfied with it, +and want to start over again, or just want to remove it, with +<menuchoice><guimenu>Layer</guimenu><guisubmenu>Mask</guisubmenu><guimenuitem>Remove +Mask</guimenuitem></menuchoice>. You can also <quote>apply</quote> the mask, +meaning that the mask will be made permanently. This means that the mask is +removed, but that its effect of transparency will be committed to the layer. +</para> + +</sect2> +</sect1> + +</chapter> diff --git a/doc/krita/using-selections-1.png b/doc/krita/using-selections-1.png Binary files differnew file mode 100644 index 00000000..b3ff682a --- /dev/null +++ b/doc/krita/using-selections-1.png diff --git a/doc/krita/using-selections-2.png b/doc/krita/using-selections-2.png Binary files differnew file mode 100644 index 00000000..4b23bb5f --- /dev/null +++ b/doc/krita/using-selections-2.png diff --git a/doc/krita/using-selections-3.png b/doc/krita/using-selections-3.png Binary files differnew file mode 100644 index 00000000..cca12363 --- /dev/null +++ b/doc/krita/using-selections-3.png diff --git a/doc/krita/using-selections-4.png b/doc/krita/using-selections-4.png Binary files differnew file mode 100644 index 00000000..5d82cafb --- /dev/null +++ b/doc/krita/using-selections-4.png diff --git a/doc/krita/using-selections-5.png b/doc/krita/using-selections-5.png Binary files differnew file mode 100644 index 00000000..5c524be8 --- /dev/null +++ b/doc/krita/using-selections-5.png diff --git a/doc/krita/using-selections-6.png b/doc/krita/using-selections-6.png Binary files differnew file mode 100644 index 00000000..16d76bc3 --- /dev/null +++ b/doc/krita/using-selections-6.png diff --git a/doc/krita/using-selections.docbook b/doc/krita/using-selections.docbook new file mode 100644 index 00000000..5465b8a6 --- /dev/null +++ b/doc/krita/using-selections.docbook @@ -0,0 +1,200 @@ +<chapter id="selections"> +<title>Selections</title> + +<para> +This chapter gives a short introduction on selections. +</para><para> +You can select a part of an image masking off the rest. This is handy when +you want to cut, copy or just modify a part of the image without affecting +the rest. For processing selected objects &krita; applies a mask. Each pixel of +the selection is processed based on a value of its mask, or the <quote>level +of the selection</quote>, that can range from 0 (unselected) to 255 +(selected). Yes, that is right, you can have fractionally selected pixels. +And by working on individual pixels you can <quote>paint</quote> your selection. +</para><para> +The selection mask is visualized with unselected pixels having a blueish +tint, and selected pixels looking like normal. Fractionally selected pixels +are shown as something in between. Additionally a red border is drawn around +the selected areas. Fractionally selected pixels are inside the border, so +even inside the red border you can possibly see the blueish tint on some pixels. +</para> + +<sect1 id="selections-making"> +<title>Making a selection</title> +<para> +A whole range of tools exist to make selections. From rectangles, ellipses +and freehand to the more exotic like color range select. When you make +several selections they add up. So a rectangle select followed by an +ellipse select select both areas. Later on, you can subtract areas from +the selection by using, for example, the <guilabel>Erase Selection</guilabel> tool. +</para><para> +To get back to normal (no active selection), choose +<menuchoice><guimenu>Select</guimenu><guimenuitem>Deselect</guimenuitem> +</menuchoice>. To select all pixels, choose +<menuchoice><guimenu>Select</guimenu><guimenuitem>Select All</guimenuitem> +</menuchoice>. +</para><para> +You may think that those two actions give the same result, but it +is much more efficient to have no active selection than to have selected +everything. +</para><para> +After having deselected you can bring your selection back by choosing +<menuchoice><guimenu>Select</guimenu><guimenuitem>Reselect</guimenuitem> +</menuchoice>. +</para> +</sect1> + +<sect1 id="selections-painting"> +<title>Painting your selection</title> +<para> +As said above you can essentially paint your selection, and just like +when you paint normally you can choose to paint your selection freehand or +guided with rectangles, ellipses, &etc;. You also have the choice of different +paint tools like pen, brush, airbrush, &etc;. Choose the guide tool, and the +paint tool in the toolbox, and go ahead and <quote>paint</quote> your +selection. +</para><para> +The guide tools work just like you may be used to from other applications. So +holding down shift while drawing a rectangle or an ellipse still forces them to +be a square or a circle respectively. +</para> + +<screenshot> +<screeninfo>Painting a selection</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="using-selections-1.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>Painting a selection</phrase> +</textobject> +<caption><para>Painting a selection</para></caption> +</mediaobject> +</screenshot> +<screenshot> +<screeninfo>Painting a selection</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="using-selections-2.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>Painting a selection</phrase> +</textobject> +<caption><para>Painting a selection</para></caption> +</mediaobject> +</screenshot> + +</sect1> + +<sect1 id="selections-unselecting"> +<title>Unselecting</title> +<para> +All the selection paint tools have an option to add or subtract from the +selection. This means that you can use all your familiar tools to both select +and unselect. There is also a true selection eraser among the selection paint +tools. +</para> + +<screenshot> +<screeninfo>Unselecting</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="using-selections-3.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>Unselecting</phrase> +</textobject> +<caption><para>Unselecting</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="selections-making-new"> +<title>Making a new selection</title> +<para> +When you want to make a new selection, replacing the currently active one, you +first need to deselect the active selection. Choose +<menuchoice><guimenu>Select</guimenu><guimenuitem>Deselect</guimenuitem> +</menuchoice>. +</para> +</sect1> + +<sect1 id="selections-contigious"> +<title>Selecting a contiguous area (magic wand)</title> +<para> +To follow the analogy of painting your selection &krita; also provides an +equivalent to filling a contiguous area. Some paint applications call this +selection tool the magic wand tool. What it does is select the nearby +pixels as long as they have nearly the same color as the pixel you click +on. The selection floods out from the point you click on. In the fuzziness +option you can set how different the colors are allowed to be before the +flooding stops. +</para> + +<screenshot> +<screeninfo>Before the magic wand</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="using-selections-4.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>Before the magic wand</phrase> +</textobject> +<caption><para>Before the magic wand</para></caption> +</mediaobject> +</screenshot> + +<screenshot> +<screeninfo>A magic wand selection</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="using-selections-5.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>A magic wand selection</phrase> +</textobject> +<caption><para>A magic wand selection</para></caption> +</mediaobject> +</screenshot> + +</sect1> + +<sect1 id="selections-similar"> +<title>Selecting similar colors</title> +<para> +The <guilabel>Select Similar</guilabel> tool lets you pick a pixel and then select all pixels that +have a similar color. Picking a color in one corner of the image may select a +pixel in another corner if they have similar color. +With the <guilabel>Fuzziness</guilabel> option you can set how similar the colors must be to become +selected. +</para> + +<screenshot> +<screeninfo>Selecting similar colors</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="using-selections-6.png" format="PNG" /> +</imageobject> +<textobject> +<phrase>Selecting similar colors</phrase> +</textobject> +<caption><para>Selecting similar colors</para></caption> +</mediaobject> +</screenshot> +</sect1> + +<sect1 id="selections-inverting"> +<title>Inverting the selection</title> +<para> +In some cases it is easier to specify your selection the other way around. That +is, first you select the parts that ultimately should not be selected and then +then you choose +<menuchoice><guimenu>Select</guimenu><guimenuitem>Invert</guimenuitem> +</menuchoice>. +What invert does, is that for every pixel it flips the selection level so to +speak, by setting it to 256 minus the current selection level. Thus what was +selected becomes unselected and vice versa. +</para> +</sect1> + +</chapter> diff --git a/doc/krita/using-views.docbook b/doc/krita/using-views.docbook new file mode 100644 index 00000000..6760209e --- /dev/null +++ b/doc/krita/using-views.docbook @@ -0,0 +1,167 @@ +<chapter id="views"> +<title>Views</title> + +<para> +One of the most important things you need to know when working with a painting +or image editing application, is how to adapt the view of your image to your +(changing) needs. This chapter describes the various possibilities &krita; +offers. +</para> + +<sect1 id="views-zooming"> +<title>Zooming</title> + +<para> +By zooming, you can view your images at various levels of detail. Zooming out +will show a larger part of the image, but with less detail. &krita; offers a +couple of options that affect which part of the image is shown: +</para> + +<variablelist> + +<varlistentry><term>Zooming in</term> +<listitem><para>Zooming in allows you to see more details, but you will only +see a smaller part of the image. You can zoom in by choosing the +<menuchoice><guimenu>View</guimenu><guimenuitem>Zoom +in</guimenuitem></menuchoice> menu item, by clicking the +<inlinemediaobject><imageobject><imagedata +fileref="toolbars-button-zoomin.png" format="PNG"/> +</imageobject></inlinemediaobject> <guilabel>Zoom in</guilabel> button on the +toolbar, or by pressing the <keycombo +action="simul">&Ctrl;<keycap>+</keycap></keycombo> keys. +You can zoom in up to 1600% (a 16:1 ratio) via a number of fixed zoom levels. +</para></listitem> +</varlistentry> + +<varlistentry><term>Zooming out</term> +<listitem><para>Zooming out allows you to see a larger part of the image while +losing some detail. Zooming out can be done by choosing the +<menuchoice><guimenu>View</guimenu><guimenuitem>Zoom +out</guimenuitem></menuchoice> menu item, by clicking the +<inlinemediaobject><imageobject><imagedata +fileref="toolbars-button-zoomout.png" format="PNG"/> +</imageobject></inlinemediaobject> <guilabel>Zoom out</guilabel> button on the +toolbar, or by pressing the <keycombo +action="simul">&Ctrl;<keycap>-</keycap></keycombo> keys. +You can zoom out up to 0.2% (a 1:500 ratio) via a number of fixed zoom levels. +</para></listitem> +</varlistentry> + +<varlistentry><term>Going back to 100%</term> +<listitem><para>As viewing your image at its real size is quite handy at +times, you can do so via the +<menuchoice><guimenu>View</guimenu><guimenuitem>Actual +pixels</guimenuitem></menuchoice> menu item or by pressing <keycombo +action="simul">&Ctrl;<keycap>0</keycap></keycombo>. +</para></listitem> +</varlistentry> + +<varlistentry><term>Zooming in and out from the <guilabel>Overview</guilabel> +tab</term> +<listitem><para>The <guilabel>Overview</guilabel> tab of the control box +(usually found at the right hand side of the &krita; window) also allows you +to change the zoom level by using the slider or the spinbox. Slightly +different zoom levels are available here, so if zooming in or out as described +above does not produce a view you want, you can try using this option. The +<guibutton>1:1</guibutton> button offers another way of getting back to a 100% +zoom.</para></listitem> +</varlistentry> + +<varlistentry><term>Special zooms</term> +<listitem><para>There are two more special ways of zooming. The +<menuchoice><guimenu>View</guimenu><guimenuitem>Fit to +Page</guimenuitem></menuchoice> menu item zooms your image such that it is +as large as possible while remaining entirely visible. The +<menuchoice><guimenu>View</guimenu><guimenuitem>Full Screen +Mode</guimenuitem></menuchoice> menu item (pressing <keycombo +action="simul">&Ctrl;&Shift;<keycap>F</keycap></keycombo> will also activate +this mode) enlarges the &krita; window to fill your entire screen, removing +the title bar as well. Although this is not a <quote>real</quote> way of +zooming, it can help you by showing just that little bit more of your +image.</para></listitem> +</varlistentry> + +</variablelist> + +</sect1> + +<sect1 id="views-views"> +<title>Working with views</title> + +<para> +Apart from changing the zoom level of your view, you can also open different +views for the same image. This way, you can for example look at two different +parts of your image that would not fit on your screen together otherwise. +</para> + +<variablelist> + +<varlistentry><term>New view windows</term> +<listitem><para>You can open a new &krita; window for your image by choosing +<menuchoice><guimenu>View</guimenu><guimenuitem>New +View</guimenuitem></menuchoice> Both windows are independent from each other +(so you can select different tools, view different parts of your image, +&etc;), but changes you make to the image in one window are immediately +visible in the other. To close a window, use the normal window closing button. +There is also an option <menuchoice><guimenu>View</guimenu><guimenuitem>Close +All Views</guimenuitem></menuchoice>, which closes all newly created views and +leaves only the original window open.</para></listitem> +</varlistentry> + +<varlistentry><term>Splitting views</term> +<listitem><para>You can also split a window into two views. Like a new window, +one view of a split window has its own settings for brushes, zoom levels and +the like, but both views are shown in the same window. To split your window, +choose <menuchoice><guimenu>View</guimenu><guimenuitem>Split +View</guimenuitem></menuchoice>. The viewing area of the &krita; window will +then be divided into two halves. You can switch between horizontal and +vertical division with the +<menuchoice><guimenu>View</guimenu><guisubmenu>Splitter +Orientation</guisubmenu></menuchoice> menu, and get back to one view by +choosing <menuchoice><guimenu>View</guimenu><guimenuitem>Remove +View</guimenuitem></menuchoice>.</para></listitem> +</varlistentry> + +</variablelist> + +</sect1> + +<sect1 id="views-miscellaneous"> +<title>Miscellaneous view options</title> + +<para> +&krita; also offers two options that can help you with knowing where you are. +</para> + +<variablelist> + +<varlistentry><term>Rulers</term> +<listitem><para>You can have &krita; show rulers along the sides of your +image, indicating x and y coordinates. To do so, choose +<menuchoice><guimenu>View</guimenu><guimenuitem>Show +Rulers</guimenuitem></menuchoice> or press <keycombo +action="simul">&Ctrl;<keycap>R</keycap></keycombo>. The rulers will +automatically adapt to your zoom level to show a proper amount of +subdivisions. To remove the rulers, choose the same menu option (now called +<guimenuitem>Hide Rulers</guimenuitem>) or press <keycombo +action="simul">&Ctrl;<keycap>R</keycap></keycombo> again. </para></listitem> +</varlistentry> + +<varlistentry><term>Grid</term> +<listitem><para>In order to see grid lines, choose +<menuchoice><guimenu>View</guimenu><guimenuitem>Show +Grid</guimenuitem></menuchoice>. You can set the distance between grid lines +with <menuchoice><guimenu>View</guimenu><guisubmenu>Grid +Spacing</guisubmenu></menuchoice> and you can choose different colours for the +lines in the <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure +&krita;...</guimenuitem></menuchoice> dialog (see <link +linkend="settings-preferences-grid">the Grid section of the Settings +chapter</link>). +</para></listitem> +</varlistentry> + +</variablelist> + +</sect1> + +</chapter> diff --git a/doc/kspread/Makefile.am b/doc/kspread/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/kspread/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/kspread/a11y.docbook b/doc/kspread/a11y.docbook new file mode 100644 index 00000000..c7ceaee5 --- /dev/null +++ b/doc/kspread/a11y.docbook @@ -0,0 +1,320 @@ +<chapter id="a11y"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Gary</firstname> +<surname>Cramblitt</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> + +<title>For Users with Disabilities</title> +<para>This section of the documentation discusses accessibility features in &kspread; +for users with disabilities. Some of these features apply to &kde; as a whole and are controlled from +<ulink url="help:kcontrol">&kcontrolcenter;</ulink>. Some apply to all &koffice; applications, +and some are specific to &kspread;.</para> + +<sect1 id="a11y-install"> +<title>Installing the <command>kdeaccessibility</command> Module</title> +<indexterm><primary>kdeaccessibility</primary></indexterm> +<para> +Most of the features described in this chapter are enabled by installing the +<command>kdeaccessibility</command> module. +The <command>kdeaccessibility</command> module is part of the &kde; project +<ulink url="http://www.kde.org">http://www.kde.org</ulink>. The <command>kdeaccessibility</command> +package can be obtained from &kde-ftp;, the +main ftp site of the &kde; project. +</para> + +<para>Many distributions offer precompiled binaries on their ftp sites. Please check your distribution's web sites for more information.</para> + +<para>More information about &kde; accessibility can be obtained by +visiting <ulink url="http://accessibility.kde.org/">http://accessibility.kde.org/</ulink>. +</para> +</sect1> + +<sect1 id="a11y-sight"> +<title>Visual Impairments</title> +<indexterm><primary>Visual Impairments</primary></indexterm> + +<note><para>&kspread; is not usable by totally blind users. It is hoped that +a general screen reader for the blind will be available in future versions of &kde;. +</para></note> + +<sect2 id="a11y-theming"> +<title>Theming</title> +<indexterm><primary>Theming</primary></indexterm> +<para>For low-sighted or light allergic users, several features are available in the &kcontrolcenter; +<menuchoice><guimenu>Appearance & Themes</guimenu><guimenuitem>Theme Manager</guimenuitem></menuchoice>, +like high contrast color themes. If you are light allergic, the +<guilabel>HighContrastDark</guilabel> or <guilabel>HighContrastLight</guilabel> themes +may be helpful. If you have difficulty reading small fonts or seeing small icons, the +<guilabel>HighContrastDark-big</guilabel> or <guilabel>HighContrastLight-big</guilabel> +themes will increase the size of text, buttons, and icons. You may also customize +background, colors, fonts, and icons from the same dialog. A set of monochrome icons +is available. +</para> + +<tip><para>If you choose one of the <guilabel>Big</guilabel> themes, you may discover that +some windows are too large to fit your monitor. Purchasing a larger monitor will be helpful. +You can drag the portions of the window not visible into the visible area by +holding down the &Alt; key and dragging with the &LMB; anywhere +within the screen. If you have trouble operating a mouse, you can also move screens by pressing +<keycombo action="simul">&Alt;<keycap>F3</keycap></keycombo>. In +the dropdown Windows Operations Menu, choose +<menuchoice><guimenuitem>Move</guimenuitem></menuchoice>. +Move the screen with the arrow keys and press &Esc; to finish the move. +</para></tip> + +</sect2> + +<sect2 id="a11y-kmagnifier"> +<title>&kmagnifier;</title> +<indexterm><primary>magnifier</primary></indexterm> +<para>The <command>kdeaccessibility</command> module includes a screen magnifier +application called <ulink url="help:kmag">&kmagnifier;</ulink>. +If it is installed, you can run it from +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>Utilities</guimenuitem> +<guimenuitem>KMag (Screen Magnifier)</guimenuitem></menuchoice>. +</para> +</sect2> + +<sect2 id="a11y-tts"> +<title>Text-to-Speech</title> +<indexterm><primary>Text-to-Speech</primary></indexterm> +<indexterm><primary>TTS</primary></indexterm> +<para>The <command>kdeaccessibility</command> module includes a Text-to-Speech +component called KTTS. If KTTS is installed, you can configure &kspread; to +speak the text that is under the mouse pointer or speak the text of each +screen widget as it receives focus. Before using this feature, first configure +KTTS. See <ulink url="help:kttsd">The KTTS Handbook</ulink> for details. +To turn on the TTS feature in &kspread;, +select <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure +&kspread;...</guimenuitem></menuchoice> from the menubar. +This will display a dialog box. +Clicking on <guilabel>TTS</guilabel> will allow you to change +the following.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="tts.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Speak widget under mouse pointer</guilabel></term> +<listitem><para>When checked, &kspread; will speak the text of each widget +as the mouse pointer moves over the widget.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Speak widget with focus</guilabel></term> +<listitem><para>When checked, &kspread; will speak the text of each widget +as it receives focus.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Speak tool tips</guilabel></term> +<listitem><para>When checked, &kspread; will speak the popup tool tip +for each widget in addition to the text of the widget.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Speak Whats This</guilabel></term> +<listitem><para>When checked, &kspread; will speak the Whats This help +for each widget in addition to the text of the widget.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Say whether disabled</guilabel></term> +<listitem><para>When checked, &kspread; will speak the word "disabled" +if the widget is currently disabled (grayed).</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Speak accelerators</guilabel></term> +<listitem><para>When checked, &kspread; will speak the accelerator +of the widget in addition to the text of the widget. +Accelerators are the underlined letters you see in the text of the +widget. For example, in the main menu, the +<menuchoice><guimenuitem>Quit</guimenuitem></menuchoice> menu item +has the "Q" underlined. You can choose it by pressing <keycap>Q</keycap>. +To speak the accelerator, check this option and enter the +word you want to speak before the accelerator in the +<guilabel>Prefaced by the word</guilabel> box. In this +example shown above, &kspread; will speak "Accelerator Q".</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Polling interval</guilabel></term> +<listitem><para>This option determines how often &kspread; will +check for a change in the widget under the mouse pointer or +a new focused widget. You should leave this option on the +default setting.</para> +</listitem> +</varlistentry> +</variablelist> + +<note><para> +If the <guibutton>TTS</guibutton> option does not appear +on this screen, you do not have the KTTS component installed +in your system. +</para></note> + +<note><para>Not all widgets are spoken. For example, +the items on the main menubar are not spoken. +</para></note> + +</sect2> + +</sect1> + +<sect1 id="a11y-motor"> +<title>Motor Impairments and Mouseless Operation</title> +<indexterm><primary>Motor Impairments</primary></indexterm> +<indexterm><primary>Mouseless Operation</primary></indexterm> + +<sect2 id="a11y-kmousetool"> +<title>KMouseTool</title> +<para>If you can operate a mouse, but have trouble clicking, the +<ulink url="help:kmousetool">KMouseTool</ulink> application may help. Run it from +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>Utilities</guimenuitem> +<guimenuitem>KMouseTool (Automatik Mouse Click)</guimenuitem></menuchoice>. +</para> +</sect2> + +<sect2 id="a11y-kbd-xaccess"> +<title>XAccess Features</title> +<indexterm><primary>XAccess</primary></indexterm> +<indexterm><primary>Sticky Keys</primary></indexterm> +<indexterm><primary>Slow Keys</primary></indexterm> +<indexterm><primary>Bounce Keys</primary></indexterm> + +<para>The &kcontrolcenter; offers several keyboard features collectively called XAccess. +They include:</para> +<variablelist> +<varlistentry> +<term>Sticky Keys</term> +<listitem><para>This feature permits operation of meta keys, such as +&Alt;, &Ctrl;, and &Shift; without having to hold the keys down. It is useful +when you can only use one finger or one hand to operate the keyboard. +With Sticky Keys on, press and release a &Alt;, &Ctrl;, or &Shift; key, then +press another key. The result is as if you pressed both keys at once. +Press the &Alt;, &Ctrl;, or &Shift; key again to turn off the sticky key. +Activate this feature in +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem> +<guimenuitem>Regional & Accessibility</guimenuitem><guimenuitem>Accessibility</guimenuitem> +<guimenuitem>Modifier Keys</guimenuitem></menuchoice>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term>Slow Keys</term> +<listitem><para>This feature is useful if you have hand tremors or difficulty +accurately pressing keys. It prevents +inadvertent key presses by requiring that a key be held down for a minimum +time before it is accepted. Activate this feature in +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem> +<guimenuitem>Regional & Accessibility</guimenuitem><guimenuitem>Accessibility</guimenuitem> +<guimenuitem>Keyboard Filters</guimenuitem></menuchoice>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term>Bounce Keys</term> +<listitem><para>This feature is also useful if you have hand tremors. It prevents +inadvertent repeated key presses by preventing another keystroke for +a certain amount of time. Activate this feature in +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem> +<guimenuitem>Regional & Accessibility</guimenuitem><guimenuitem>Accessibility</guimenuitem> +<guimenuitem>Keyboard Filters</guimenuitem></menuchoice>.</para> +</listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2 id="a11y-mouse-emulation"> +<title>Mouse Emulation</title> +<indexterm><primary>Mouse Emulation</primary></indexterm> +<para>Mouse Emulation permits you to move and click the mouse using the keyboard. +Press <keycombo>&Alt;<keycap>F12</keycap></keycombo> to activate it. Use the arrow keys +to move the mouse pointer to the desired location, and press <keycap>spacebar</keycap> +to "click" the mouse. Unfortunately, you cannot use Mouse Emulation to perform +&RMB; clicks or dragging. +</para> +</sect2> + +<sect2 id="a11y-mouse-navigation"> +<title>Mouse Navigation</title> +<indexterm><primary>Mouse Navigation</primary></indexterm> +<para>This feature permits you to emulate the mouse using the numeric keypad +of your keyboard. To activate it, go to +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem> +<guimenuitem>Peripherals</guimenuitem><guimenuitem>Mouse</guimenuitem> +<guimenuitem>Mouse Navigation</guimenuitem></menuchoice>. +Check the <guilabel>Move pointer with keyboard (using the num pad)</guilabel> box. When you do this, the other settings will become enabled, and you can customize the keyboard pointer behavior further, if required. + The various keys on the number pad move in the direction you would expect. Note that you can move diagonally as well as up, down, left and right. The <keycap>5</keycap> key emulates a click to a pointer button, typically &LMB;. You change which button is emulated by using the <keycap>/</keycap> key (which makes it &LMB;), +<keycap>*</keycap> key (which makes it middle mouse button) and <keycap>-</keycap> (which makes it &RMB;). + Using the <keycap>+</keycap> emulates a doubleclick to the selected pointer button. You can use the +<keycap>0</keycap> key to emulate holding down the selected pointer button (for easy dragging), +and then use the <keycap>.</keycap> to emulate releasing the selected pointer button. +</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="mousenav.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +</sect2> + +<sect2 id="a11y-motor-shortcuts"> +<title>Keyboard shortcuts</title> + +<para>Use the <keycap>Menu</keycap> key to pop up the context +menu. On most keyboards, the <keycap>Menu</keycap> key is on the righthand +side of the keyboard between the <keycap>&Windows;</keycap> and &Ctrl; +keys. It has a menu icon on it. +</para> + +</sect2> + +<sect2 id="a11y-motor-panel-sizing"> +<title>Resizing panels</title> + +<para>If you have activated two or more views of a spreadsheet, +you can move the sizing bar between the views by pressing <keycap>F8</keycap>. A sizing icon appears +overtop the sizing bar. Use the arrow keys to move the bar up or down, or left or right. +Press <keycap>F8</keycap> again or &Esc; when finished sizing. +</para> + +</sect2> + +<sect2 id="a11y-motor-moving-focus"> +<title>Setting focus to widgets</title> + +<para>Normally, one can use the 	 and <keycombo action="simul">&Shift;	</keycombo> +to move focus from one widget to the next in any application. However, in &kspread;, +pressing 	 does not move the focus; instead it moves the cell selection forwards. +You can set focus to any widget that can receive focus by +pressing <keycombo action="simul">&Alt;<keycap>F8</keycap></keycombo>. A small lettered box appears +overtop each widget on the screen that can receive focus. +</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="kbd-focus-ext.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Press the letter to move focus to the corresponding widget. Press +<keycombo action="simul">&Alt;<keycap>F8</keycap></keycombo> again or &Esc; +to abandon moving the focus. +</para> + +</sect2> + +</sect1> + +</chapter> diff --git a/doc/kspread/advanced.docbook b/doc/kspread/advanced.docbook new file mode 100644 index 00000000..f6aadfab --- /dev/null +++ b/doc/kspread/advanced.docbook @@ -0,0 +1,815 @@ + <chapter id="hardsums"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Pamela</firstname> +<surname>Robert</surname> +<affiliation> +<address><email>pamroberts@blueyonder.co.uk</email></address> +</affiliation> +</author> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annemarie.mahfouf@free.fr</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Advanced &kspread;</title> +<sect1 id="series"> +<title>Series</title> +<para>When constructing a spreadsheet you often need to include a series of +values, such as 10, 11, 12..., in a row or column. There are several ways you +can do this in &kspread;.</para> +<para>For a simple short series such as 5, 6, 7, 8... the <quote>Drag and Copy +</quote> method is the simplest. Enter the starting value into the starting +cell and the next value of the series into an adjacent cell. +Then select both cells and move the mouse pointer so that it is over the small +square at the bottom right corner; the cursor will change to a +diagonal double headed arrow. Then hold the <mousebutton>left</mousebutton> +mouse button down while you drag the cells down or across as needed.</para> +<para>The step size is calculated as the difference between the two starting +values that you have entered. +For example if you enter <userinput>4</userinput> into cell A1 and +<userinput>3.5</userinput> into A2 then select both cells and Drag and Copy +them down, the step size will be the value in A2 minus the value +in A1, -0.5 in this case so you will get the series 4, 3.5, 3, 2.5, 2...</para> + +<para>The <quote>Drag and Copy</quote> method will even cope with series where +the step value is not a constant value but is itself a series. So that if you +start with 1, 3, 4, 6 Drag and Copy will extend it to 1, 3, 4, 6, 7, 9, 10, +12..., the step value in this example being the series 2, 1, 2, 1...</para> + +<para>&kspread; also recognizes some special <quote>series</quote> such as +the days of the week. Try entering <userinput>Friday</userinput> into a cell +(note the capitalization) then Drag and Copy it down. To see what special series +are available, and perhaps create your own, select <menuchoice><guimenu>Tools +</guimenu><guimenuitem>Custom Lists...</guimenuitem></menuchoice> .</para> + +<para>If you select a cell and choose <guimenuitem>Series...</guimenuitem> +from the <guimenu>Insert</guimenu> menu you will see the <guilabel>Series +</guilabel> dialog box. This is useful for creating series that are too long +to be conveniently constructed using the Drag and Copy method, or for +creating geometric series such as 1, 1.5, 2.25, 3.375... where the step value, +1.5 in this case, is used as a multiplier.</para> +<para>If the type of series that you want is too complicated for any of the +previous methods, consider using a formula and Drag and Copying that. For +example to create a series with the values 2, 4, 16, 256... enter +<userinput>2</userinput> into A1, <userinput>=A1*A1</userinput> into A2, and +Drag and Copy cell A2 down.</para> +</sect1> + +<sect1 id="formulas"> +<title>Formulae</title> +<sect2 id="builtin"> +<title>Built in Functions</title> +<para>&kspread; has a huge range of built in mathematical and other functions +that can be used in a formula cell. They can be seen and accessed by selecting +a cell then choosing <guimenuitem>Function...</guimenuitem> from the +<guimenu>Insert</guimenu> menu. This brings up the <guilabel>Function +</guilabel> dialog box.</para> +<para>Select the function you want to use from the listbox at the left of the +dialog box. The <guilabel>Help</guilabel> tab page will then display a description, +the return type, Syntax, Parameters, and Examples for this function. +In addition this page provides often links to Related Functions. +Then press the button with the down arrow key symbol on it to paste +it into the text edit box at the bottom of the dialog.</para> +<para>The <guilabel>Parameters</guilabel> tab page will then be displayed +to let you enter the parameter(s) for the function you have just +chosen. If you want to enter an actual value for a parameter, just type it +into the appropriate text box in the <guilabel>Parameters</guilabel> page. To +enter a cell reference rather than a value, <mousebutton>left</mousebutton> +click on the appropriate text box in the <guilabel>Parameters</guilabel> page; +then <mousebutton>left</mousebutton> click on the target cell in +the spreadsheet.</para> +<para>Instead of using the <guilabel>Parameters</guilabel> page, cell +references such as <userinput>B6</userinput> can be entered by typing them +directly into the edit box at the bottom of the <guilabel>Function</guilabel> +dialog. If a function has more than one parameter separate them with a +semi-colon (<keysym>;</keysym>).</para> +<para>Pressing the <guibutton>OK</guibutton> button will insert the +function into the current cell and close the <guilabel>Function</guilabel> +dialog.</para> +<para>You can of course do without the <guilabel>Function</guilabel> +dialog and simply type the complete expression into the Formula toolbar's +main edit box. Function names are not case sensitive. Do not forget that all +expressions must start with an <keysym>=</keysym> symbol.</para> +</sect2> + +<sect2 id="logical"> +<title>Logical Comparisons</title> +<para>Logical functions such as IF(), AND(), OR() take parameters which have the +logical (boolean) values True or False. This type of value can be produced by +other logical functions such as ISEVEN() or by the comparison of values in +spreadsheet cells using the comparison expressions given in the following +table.</para> + +<informaltable><tgroup cols="3"> +<thead> +<row> +<entry> Expression </entry> +<entry> Description </entry> +<entry> Example </entry></row> +</thead> +<tbody> + +<row><entry><keysym>=</keysym><keysym>=</keysym></entry> +<entry>Is equal to</entry> +<entry><userinput>A2==B3</userinput> is True if the value in A2 is equal to +the value in B3</entry> +</row> + +<row><entry><keysym>!</keysym><keysym>=</keysym></entry> +<entry>Is not equal to</entry> +<entry><userinput>A2!=B3</userinput> is True if the value in A2 is not equal +to the value in B3</entry> +</row> + +<row><entry><keysym><</keysym><keysym>></keysym></entry> +<entry>Is not equal to</entry> +<entry>Same as <userinput>A2!=B3</userinput></entry> +</row> + +<row><entry><keysym><</keysym></entry> +<entry>Is less than</entry> +<entry><userinput>A2<B3</userinput> is True if the value in A2 is less than +the value in B3</entry> +</row> + +<row><entry><keysym><</keysym><keysym>=</keysym></entry> +<entry>Is less than or equal to</entry> +<entry><userinput>A2<=B3</userinput> is True if the value in A2 is less than +or equal to the value in B3</entry> +</row> + +<row><entry><keysym>></keysym></entry> +<entry>Is greater than</entry> +<entry><userinput>A2>B3</userinput> is True if the value in A2 is greater +than the value in B3</entry> +</row> + +<row><entry><keysym>></keysym><keysym>=</keysym></entry> +<entry>Is greater than or equal to</entry> +<entry><userinput>A2>=B3</userinput> is True if the value A2 is greater than +or equal to the value in B3</entry> +</row> + +</tbody></tgroup></informaltable> + +<para>Thus if you enter <userinput>=IF(B3>B1;"BIGGER";"")</userinput> into +a cell it will display BIGGER if the value in B3 is greater than that in B1, +otherwise the cell will show nothing.</para> +</sect2> + +<sect2 id="absolute"> +<title>Absolute Cell References</title> +<para>If a formula contains a cell reference that reference will normally be +changed when the cell is copied to another part of the worksheet. To prevent +this behavior put a <keysym>$</keysym> symbol before the column letter, row +number or both. </para> + +<itemizedlist> +<listitem><para> +If A1 contains the formula <userinput>=D5</userinput> then on copying the +cell to B2 it will become <userinput>=E6</userinput> (the normal behavior). +</para></listitem> +<listitem><para> +If A1 contains the formula <userinput>=$D5</userinput> then on copying the +cell to B2 it will become <userinput>=D6</userinput> (column letter not +changed). +</para></listitem> +<listitem><para> +If A1 contains the formula <userinput>=D$5</userinput> then on copying the +cell to B2 it will become <userinput>=E5</userinput> (row number not +changed). +</para></listitem> +<listitem><para> +If A1 contains the formula <userinput>=$D$5</userinput> then on copying the +cell to B2 it will remain as <userinput>=D5</userinput> (neither the column +letter nor the row number are changed). +</para></listitem> + +</itemizedlist> +<para>When you are entering or editing a cell reference in a formula the +shortcut key <keysym>F4</keysym> can be used to step through these four +possibilities.</para> +<para><link linkend="namedareas">Named cells</link> can be used in a similar +way to include a unchanging cell reference in a formula. +</para> +</sect2> +</sect1> + +<sect1 id="sumspecialpaste"> +<title>Arithmetic using Special Paste</title> +<para>Sometimes you may want to add a single value to a number of +cells, or subtract a value from them, or multiply or divide them all by a +single value. The <guimenuitem>Special Paste...</guimenuitem> option lets you +do this quickly and easily.</para> +<para>First, enter the modifier value into any spare cell on your spreadsheet +and <guimenuitem>Copy</guimenuitem> it. Then select the area of cells you want +to change, choose <guimenuitem>Special Paste...</guimenuitem> from the +<guimenu>Edit</guimenu> or <mousebutton>right</mousebutton> mouse button menu +and select <guilabel>Addition</guilabel>, <guilabel>Subtraction</guilabel>, +<guilabel>Multiplication</guilabel> or <guilabel>Division</guilabel> from the +<guilabel>Operation</guilabel> section of the dialog box.</para> +<para>You can also apply different modifier values to different rows or +columns of the target area by copying an area containing the wanted modifiers +before selecting the target area and doing <guimenuitem>Special Paste... +</guimenuitem> . For example, if you enter <userinput>5</userinput> into cell +A1, <userinput>10</userinput> into B1, select both cells and do a <guimenuitem> +Copy</guimenuitem> then <guimenuitem>Special Paste...</guimenuitem> <guilabel> +Addition</guilabel> into cells A10 to D15, 5 will be added to A10:A15 and +C10:C15, and 10 to B10:B15 and D10:D15.</para> +<para>Note that a modifier value can be a formula as well as a simple numeric +value. If it is a formula then &kspread; will adjust the cell references as +for a normal <guimenuitem>Paste</guimenuitem> operation.</para> +</sect1> + +<sect1 id="goalseek"> +<title>Goal Seeking</title> +<para>&kspread; can be used to solve algebraic expressions such as <emphasis> +x + x^2 = 4</emphasis> or <emphasis>For what value of x does x + x squared +equal 4 ?</emphasis></para> +<para>For this example you could enter <userinput>=A2+A2*A2</userinput> +into A1 then either try different values in A2 until the result in A1 is as +close as you wish to <emphasis>4</emphasis> or, preferably, use &kspread;'s +<guimenuitem>Goal Seek</guimenuitem> feature which automatically adjusts the +value in one cell to try to make the value in another cell as close as +possible to a target value.</para> +<para>It is invoked by selecting <guimenuitem>Goal Seek</guimenuitem> from +the <guimenu>Data</guimenu> menu. This brings up a dialog box in which you +should enter the reference of the target value cell (<userinput>A1</userinput> +in this case) into the <guilabel>Set cell:</guilabel> box, the target value +itself (<userinput>4</userinput>) into the <guilabel>To value:</guilabel> box +and the reference of the cell that is to be changed +(<userinput>A2</userinput>) into the <guilabel>By changing cell:</guilabel> +box. Note that you need to have entered some initial value into the cell that +is to be changed before starting <guimenuitem>Goal Seek</guimenuitem>.</para> +<para>Pressing the <guibutton>Start</guibutton> button will start the +calculation. When it finishes and if it has found a solution press the +<guibutton>OK</guibutton> button to accept the result or +<guibutton>Cancel</guibutton> to keep the original value. +</para> +</sect1> + +<sect1 id="sheets"> +<title>Using more than one Worksheet</title> +<para>When you start a new, empty, document with &kspread; it will create a +number of blank worksheets. The number of sheets it creates is determined +by the <guilabel>Number of sheets open at the beginning:</guilabel> setting in +the <guilabel>Interface</guilabel> page of &kspread;'s +<link linkend="configinterface">configuration</link> dialog box.</para> +<para><menuchoice><guimenu>Insert</guimenu><guimenuitem>Sheet</guimenuitem> +</menuchoice> will add another sheet to the document.</para> +<para>If the <guilabel>Show tabs</guilabel> box in the <guilabel>Interface +</guilabel> page of &kspread;'s configuration dialog box is checked a small +tab will be shown near the bottom left of &kspread;'s window for each sheet. +<mousebutton>Left</mousebutton> click on one of these tabs to see that sheet. +</para> +<para>You can also switch between worksheets by using the +<keycombo action="simul">&Ctrl;<keysym>PageDown</keysym></keycombo> +to move to the next sheet, +<keycombo action="simul">&Ctrl;<keysym>PageUp</keysym></keycombo> to move to +the previous one.</para> +<para>Worksheets are given the default names of <emphasis>Sheet1</emphasis>, +<emphasis>Sheet2</emphasis>... You can give a sheet a different name by +<mousebutton>right</mousebutton> clicking on the tab and selecting +<guimenuitem>Rename Sheet...</guimenuitem>.</para> +<para>To remove a sheet from the document use the <guimenuitem>Remove Sheet +</guimenuitem> option in the <menuchoice><guimenu>Format</guimenu><guisubmenu> +Sheet</guisubmenu></menuchoice> submenu or in the little +menu that pops up when you <mousebutton>right</mousebutton> click on the tab +for the sheet you want to remove.</para> +<para>Other entries in the <menuchoice><guimenu>Format</guimenu><guisubmenu> +Sheet</guisubmenu></menuchoice> submenu allow you to show or hide a sheet in +much the same way as rows and columns can be hidden.</para> +<para>If you want a formula in one sheet to refer to a cell in another sheet, +the cell reference must start with the sheet name followed by an exclamation +mark (<keysym>!</keysym>). For example if you enter <userinput>=Sheet2!A2 +</userinput> into a cell in Sheet 1, that cell will take the value from A2 of +Sheet2. Note that sheet names are case sensitive.</para> + + +<sect2 id="consolidate"> +<title>Consolidating Data</title> +<para>You may have constructed a document containing several worksheets +containing similar data but for, say, different months of the year, and wish +to have summary sheet containing the consolidated (⪚, sum or average) values +of the corresponding data items in the other sheets.</para> +<para>This task can be made slightly easier by using the <guimenuitem> +Consolidate...</guimenuitem> item from the <guimenu>Data</guimenu> menu.</para> +<para>Selecting this option brings up the <guilabel>Consolidate</guilabel> +dialog box.</para> +<para>For each of the source sheets, enter a reference to the desired data area +in the <guilabel>Reference:</guilabel> box. Press <guibutton>Add</guibutton> to +transfer it to the <guilabel>Entered references:</guilabel> box. The reference +should include the name of the sheet containing the source data, such as +<userinput>January!A1:A10</userinput>, and can be entered automatically by +selecting the area in the appropriate sheet.</para> +<para>After entering the references for all of the source data sheets +select the cell in the target sheet where you want the top left corner of the +consolidated results to appear. Then choose the appropriate function from +the <guilabel>Function:</guilabel> combo box and press the +<guibutton>OK</guibutton> button.</para> +<para>If you check the <guilabel>Copy data</guilabel> box in the <guilabel> +Consolidate</guilabel> dialog the values resulting from the consolidation will +be placed into the target cells rather than the formulae to calculate them. +</para> +</sect2> +</sect1> + +<sect1 id="insertchart"> +<title>Inserting a Chart</title> +<para>You can insert a chart into a sheet to give a graphical view of your +data.</para> +<para>First select the area of cells containing the data and choose +<menuchoice><guimenu>Insert</guimenu><guimenuitem>Chart</guimenuitem> +</menuchoice>. The cursor will change to a small cross shape which you +should drag across the sheet while holding the <mousebutton>left +</mousebutton> mouse button down to define the area where you want the +chart to appear, there is no need to be too accurate at this stage as the +chart size can easily be changed at any time. When you release the mouse +button a chart wizard dialog box will appear.</para> +<para>The wizard allows you to define the type of chart, labels and legend +that you need. You may wish to refer to the &kchart; Handbook at this stage, +but again if you make a wrong choice you can correct it later. +When you press the <guibutton>Finish</guibutton> button the wizard will +vanish and you will see the chart embedded into the worksheet.</para> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="chart1.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Screenshot of embedded chart</phrase> +</textobject> +</mediaobject> +</para> +<para>To move, resize or even delete the embedded chart click anywhere +within the chart area. It should now appear with a diagonal hatch border +and with a small black square at each corner and in the middle of each edge. +</para> +<para>If you move the cursor over any of the black squares it should change +to a double headed arrow. You can resize the chart by dragging one of these +squares with the <mousebutton>left</mousebutton> mouse button pressed. To +delete the chart <mousebutton>right</mousebutton> click on one of the +squares and select <guimenuitem>Delete Embedded Document</guimenuitem>.</para> +<para>To move the chart move the cursor so that it is over one of the +hatched borders. The cursor should then change to a hand, press the +<mousebutton>left</mousebutton> mouse button and you will be able to drag the +chart to where you want it to be.</para> +<para>To restore the chart to its normal appearance simply click anywhere +outside of the chart area.</para> +<para>To change the format of the chart itself <mousebutton>left</mousebutton> +click twice within the chart area. It should then appear with a diagonal +hatch border without any small black squares and &kchart;'s <interface> +Chart Toolbar</interface> should appear in &kspread;'s window. You can then +use these &kchart; tools or a selection from the menu that pops up when you +<mousebutton>right</mousebutton> click in the chart area to change the chart.</para> +</sect1> + +<sect1 id="insertdata"> +<title>Inserting External Data</title> +<para>You can insert data from a text file or from the clipboard into a +worksheet by first selecting the cell where you want the top left item of the +inserted data to appear, then choosing <guimenuitem>From Text File... +</guimenuitem> or <guimenuitem>From Clipboard...</guimenuitem> from the +<menuchoice><guimenu>Insert</guimenu><guisubmenu>External Data</guisubmenu> +</menuchoice> sub menu.</para> +<para>In both cases &kspread; will assume that the data is in +<acronym>CSV</acronym> form and will open a +dialog box allowing you to control how the data is extracted from the file or +clipboard and placed into the worksheet cells.</para> +<para>If support for it has been included in your system, &kspread; can also +insert data from a <acronym>SQL</acronym> database into a worksheet. This is +done by using the <menuchoice><guimenu>Insert</guimenu><guisubmenu> +External Data</guisubmenu><guimenuitem>From Database...</guimenuitem> +</menuchoice> option.</para> +</sect1> + +<sect1 id="hyper"> +<title>Link Cells</title> +<para>A spreadsheet cell can be linked to an action so that <mousebutton> +left </mousebutton> clicking on the cell will, for example, open your +browser. To make a cell act in this way select it and choose +<menuchoice><guimenu>Insert</guimenu><guimenuitem>Link...</guimenuitem> +</menuchoice>. This will bring up the <guilabel>Insert Link</guilabel> +dialog box, which lets you choose between four types of link:</para> + +<itemizedlist> +<listitem><para>An <guilabel>Internet</guilabel> link cell will try to +open your default browser at the &URL; entered in the +<guilabel>Internet address:</guilabel> text box of the <guilabel>Insert +Link</guilabel> dialog when it is clicked. This could be, for example, +<userinput>http://www.koffice.org</userinput>. +</para></listitem> + +<listitem><para>Clicking on a cell containing a <guilabel>Mail</guilabel> +link will open your email composer using the address entered in the +<guilabel>Email:</guilabel> text box as the To: address. For example +<userinput>anon@example.com</userinput>. +</para></listitem> + +<listitem><para>A <guilabel>File</guilabel> link cell holds the path to +a file or folder, as entered into the <guilabel>File location:</guilabel> +text box, and will try to open that file or folder with a suitable +application when clicked on. +</para></listitem> + +<listitem><para>The <guilabel>Cell</guilabel> type of link cell holds a +&kspread; cell reference, entered in the <guilabel>Cell:</guilabel> text box. +<mousebutton>Left</mousebutton> clicking on this type of link cell causes +&kspread;'s focus to move to the target cell. +</para></listitem> +</itemizedlist> + +<para>All four types of link cell need some suitable text to be entered into +the <guilabel>Comment:</guilabel> field of the <guilabel>Insert Link</guilabel> +dialog. This is the text that appears in the cell, you can set +its style to <guilabel>Bold</guilabel> or <guilabel>Italic</guilabel> if you +wish.</para> +</sect1> + +<sect1 id="validcheck"> +<title>Validity Checking</title> +<para>&kspread; can automatically check the validity of entered data against +a number of criteria, and pop up a message box if the data is invalid.</para> +<para>To enable this feature, select the cell(s) to be monitored and choose +<menuchoice><guimenu>Edit</guimenu><guimenuitem>Validity...</guimenuitem> +</menuchoice>. This will bring up &kspread;'s <guilabel>Validity</guilabel> +dialog box which has two tabbed pages.</para> +<para>In the <guilabel>Values</guilabel> page select what type of data is to +be considered valid from the <guilabel>Allow:</guilabel> combo box list then +define the valid range of values by choosing one of the options in the +<guilabel>Data:</guilabel> combo box and entering suitable value(s) into +one or both of the edit box(es).</para> +<para>When you have done this change to the <guilabel>Error Alert</guilabel> +tab page. Here you can choose the type of message box +(<guimenuitem>Stop</guimenuitem>, <guimenuitem>Warning</guimenuitem> +or <guimenuitem>Information</guimenuitem>) that will appear when an invalid +value is entered, and define the message box title and message text.</para> +<para>Note that this feature only checks data that you enter into the cell, +for a way of checking the results from formulae cells see the <link +linkend="formatdata">Conditional Cell Attributes</link> section of this +Handbook.</para> +</sect1> + +<sect1 id="protection"> +<title>Protection</title> + +<sect2 id="doc-protection"> +<title>Document Protection</title> +<para>Protecting the document means that without the password a user cannot add +or delete sheets. Document protection does not protect cells.</para> +<para>Select <menuchoice><guimenu>Tools</guimenu><guimenuitem>Protect +Document...</guimenuitem></menuchoice>. +A dialog appears asking you for a password. The <guilabel>Password:</guilabel> strength meter +indicates if your password is secure enough. The longer the indicator is, the +more secure your password.</para> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="cellprotection1.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The Protect Document dialog</phrase> +</textobject> +</mediaobject> +</para> +<para>That password will then be required to unprotect the document.</para> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="cellprotection2.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>The Unprotect Document dialog</phrase> +</textobject> +</mediaobject> +</para> +<para>When a document is protected, you may not:</para> +<itemizedlist> +<listitem><para> +Rename a sheet +</para></listitem> +<listitem><para> +Insert a sheet +</para></listitem> +<listitem><para> +Remove a sheet +</para></listitem> +<listitem><para> +Hide a sheet +</para></listitem> +<listitem><para> +Show a sheet +</para></listitem> +<listitem><para> +See the sheet properties +</para></listitem> +<listitem><para> +Merge or dissociate cells +</para></listitem> +</itemizedlist> +</sect2> + +<sect2 id="sheet-protection"> +<title>Sheet protection</title> +<para>Protecting a sheet means protecting the contents of all protected cells +and objects on a sheet. Individual cells or a selection of cells can be +unprotected within a protected sheet, see <link +linkend="cell-protection">next section</link>.</para> +<para>To protect a sheet, select +<menuchoice><guimenu>Tools</guimenu><guimenuitem>Protect Sheet...</guimenuitem></menuchoice>. +A dialog appears asking you for a password. The <guilabel>Password</guilabel> strength meter +indicates if your password is secure enough. The longer the indicator is, the +more secure will be your password.</para> +<para>That password will then be required to unprotect the sheet.</para> +<para>When a sheet is protected, you may not:</para> +<itemizedlist> +<listitem><para> +Insert any object or chart +</para></listitem> +<listitem><para> +Format any cell +</para></listitem> +<listitem><para> +Insert a row or a column +</para></listitem> +<listitem><para> +Edit and change cell content +</para></listitem> +<listitem><para> +Change any content in the sheet +</para></listitem> +</itemizedlist> + +<note><para>Protecting a sheet is especially useful for preventing accidental +erasure of formulae.</para></note> +</sect2> + +<sect2 id="cell-protection"> +<title>Cell or selected cells protection</title> +<warning><para>Cell protection is active for all cells by default and is +effective when you enable sheet protection. So if you keep the default and if +you protect the sheet, all cells will be protected.</para></warning> +<para>If you want only certain cells to be protected, this default protection +must be turned off for all other cells. For example you might want most cells +to accept user input so you will uncheck <guilabel>Protected</guilabel> for +those and choose to keep protected cells that should stay unchanged (such as +titles). So you need 3 steps in order to protect only some cells: unprotect all +the cells, select the cells to protect and protect them and then protect the +whole sheet.</para> +<para>To unprotect all the cells:</para> +<itemizedlist> +<listitem><para> +Select the entire spreadsheet with the mouse. +</para></listitem> +<listitem><para> +In the menubar, select <menuchoice><guimenu>Format</guimenu><guimenuitem>Cell +Format...</guimenuitem></menuchoice>. +</para></listitem> +<listitem><para> +In the dialog that appears, go to the <guilabel>Cell Protection</guilabel> tab. +</para></listitem> +<listitem><para> +Check <guilabel>Hide all</guilabel> and uncheck <guilabel>Protected</guilabel> +to remove the protection on all cells. The cells are now all unprotected. +</para></listitem> +</itemizedlist> +<para>To protect a range of selected cells or a selection of non-contiguous +cells:</para> +<itemizedlist> +<listitem><para> +Highlight the range of cells that are to be protected or use the <keycombo +action="simul">&Ctrl;</keycombo> key to select non-contiguous cells. +</para></listitem> +<listitem><para> +When all of the desired cells are selected, go to +the <menuchoice><guimenu>Format</guimenu><guimenuitem>Cell +Format...</guimenuitem></menuchoice> menu. +</para></listitem> +<listitem><para> +In the dialog that appears, go to the <guilabel>Cell Protection</guilabel> tab. +</para></listitem> +<listitem><para> +Click on the box next to <guilabel>Protected</guilabel> then click +on <guibutton>OK</guibutton>. +</para></listitem> +</itemizedlist> +<para>Once the cells are marked for protection, the protection option must be +enabled at the sheet level, that means you must protect the entire sheet for the +cell to be effectively protected:</para> +<itemizedlist> +<listitem><para> +Select +<menuchoice><guimenu>Tools</guimenu><guimenuitem>Protect Sheet...</guimenuitem></menuchoice>. +</para></listitem> +<listitem><para> +In the dialog that appears, provide a safe password, then confirm it by typing +it again. Click on <guibutton>OK</guibutton>. +</para></listitem> +<listitem><para> +Protected cells in a protected sheet cannot be edited without unprotecting the +whole sheet, and any sheet changes are disabled. For example, no one can +insert rows or columns, change column width, or create embedded charts. +</para></listitem> +</itemizedlist> +</sect2> + +<sect2 id="hide-formula"> +<title>Hide cell formula</title> +<para>You might want to hide your formulae so other people cannot see +them. By default, every cell is protected and not hidden. But it is important to +remember that these attributes have no effect unless the sheet itself is +protected.</para> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="hideformula1.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>A default cell with a formula</phrase> +</textobject> +</mediaobject> +</para> +<para>To hide cell formulae, select the appropriate cell or range of cells or +non-contiguous cells with <keycombo action="simul">&Ctrl;</keycombo> and +then choose the <menuchoice><guimenu>Format</guimenu><guimenuitem>Cell +Format...</guimenuitem></menuchoice> menu. In the Cell format +dialog, click the <guilabel>Cell Protection</guilabel> tab and select <guilabel>Hide formula</guilabel>. +After you protect the sheet, the results of the formulae will be visible, but +the formulae will not. </para> +<para>You have now to protect the sheet: choose +<menuchoice><guimenu>Tools</guimenu><guimenuitem>Protect Sheet...</guimenuitem></menuchoice> +to display the <guilabel>Protect Sheet</guilabel> dialog box. Enter a safe password twice to prevent +others from unprotecting the sheet. </para> +<para>When <guilabel>Hide formula</guilabel> is enabled and +<guilabel>Protected</guilabel> is disabled, the formula is hidden after +protecting the sheet but the cell content can be changed.</para> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="hideformula5.png" format="PNG"/> +</imageobject> +<textobject> +<phrase><guilabel>Hide formula</guilabel> is enabled but the cell is not protected and the +sheet is protected</phrase> +</textobject> +</mediaobject> +</para> +<para>When <guilabel>Hide formula</guilabel> and <guilabel>Protected</guilabel> +are enabled, the formula is hidden after protecting the sheet and the cell +content cannot be changed.</para> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="hideformula2.png" format="PNG"/> +</imageobject> +<textobject> +<phrase><guilabel>Hide formula</guilabel> and <guilabel>Protected</guilabel> are enabled in <guilabel>Cell Protection</guilabel> and the +sheet is protected</phrase> +</textobject> +</mediaobject> +</para> +<para>Keep in mind that it is very easy to break the password for a +protected sheet so if you are looking for real security, this is not the +best solution.</para> +</sect2> + +<sect2 id="hide-all"> +<title>Hide all in the cell</title> +<para>You can hide both the formula and the content of the cell by +choosing <guilabel>Hide all</guilabel> in the Cell Protection tab in the +<menuchoice><guimenu>Format</guimenu><guimenuitem>Cell +Format...</guimenuitem></menuchoice> menu. In the screenshot below, the +cell itself is not protected (<guilabel>Protected</guilabel> is unchecked) thus +the cell content can be changed.</para> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="hideformula3.png" format="PNG"/> +</imageobject> +<textobject> +<phrase><guilabel>Hide all</guilabel> only is enabled (no cell protection) and +the sheet is protected</phrase> +</textobject> +</mediaobject> +</para> +<para>Here the cell itself is protected so it cannot be overwritten.</para> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="hideformula4.png" format="PNG"/> +</imageobject> +<textobject> +<phrase><guilabel>Hide all</guilabel> and <guilabel>Protected</guilabel> are +enabled in Cell Protection and the sheet is protected</phrase> +</textobject> +</mediaobject> +</para> +</sect2> +</sect1> + + +<sect1 id="other"> +<title>Other Features</title> + +<sect2 id="splitview"> +<title>Splitting the View</title> +<para>If your spreadsheet is so large that you cannot see all of it at once, +splitting &kspread;'s window into two or more views can help you work on it. +This is done by selecting <menuchoice><guimenu>View</guimenu><guimenuitem> +Split View</guimenuitem></menuchoice> which will split the current view into +two parts. <menuchoice><guimenu>View</guimenu><guisubmenu>Splitter Orientation +</guisubmenu></menuchoice> lets you choose between +<guimenuitem>Horizontal</guimenuitem> and <guimenuitem>Vertical</guimenuitem> +splitting.</para> +<para>This technique is particularly useful when you want to select an area +of the spreadsheet that is larger than can be shown in one view, perhaps to +paste a copied cell into it. +Use the scrollbars to position the two views to show the top left and +bottom right cells of the wanted area, select the top left cell in one +view then hold the &Shift; key pressed while you select the +bottom right cell with the <mousebutton>left</mousebutton> mouse button.</para> +<para>If there is more than one sheet in your document, you can show a +different sheet in each of the split views.</para> +<para>The relative sizes of the views can be changed by dragging the thick bar +separating the views.</para> +<para>To remove a view select <menuchoice><guimenu>View</guimenu><guimenuitem> +Remove View</guimenuitem></menuchoice></para> +</sect2> + + +<sect2 id="namedareas"> +<title>Named Cells and Areas</title> +<para>You can give a name such as <userinput>foo</userinput> to a cell or to +any area of a sheet by selecting the cell or area then selecting <guimenuitem> +Area Name...</guimenuitem> from the <mousebutton>right</mousebutton> mouse +button menu. This will bring up the <guilabel>Area Name</guilabel> dialog box +where you can enter any name you wish.</para> +<para>You can also name a cell or area by selecting it then typing the name +into the small text box at the left end of the Formula toolbar, overwriting the +cell reference that normally appears here.</para> +<para>If you enter a name that has already been used into this text box +&kspread;'s selection will change to show the named cell(s).</para> +<para>The <menuchoice><guimenu>Data</guimenu><guimenuitem>Show Area... +</guimenuitem></menuchoice> option will give you a list of existing names +and let you change &kspread;'s focus to any of them or let you remove a name. +</para> +<para>Named cells are particularly useful in formulae as an alternative to +<link linkend="absolute"> absolute cell references</link> as the names can +be used in place of normal cell references and do not change when the +cell containing the formula is copied. When a name is used in this way it +should be enclosed in single quotation marks.</para> +<para>For example, if cell A1 has been given the name <userinput>fred +</userinput> then you can enter a formula such as <userinput>='fred' + 2 +</userinput> into another cell which would always give the result of adding +2 to the value in A1 no matter where the formula cell was copied to.</para> +<para>Note that cell and area names are treated as being in lowercase.</para> +</sect2> + +<sect2 id="cellcomments"> +<title>Cell Comments</title> +<para>A cell can contain a text comment that can be viewed when working on +the spreadsheet but which is not printed and not normally seen.</para> +<para>To add a comment select the cell and choose <guimenuitem>Add/Modify +Comment...</guimenuitem> from the <mousebutton>right</mousebutton> mouse +button menu or from the <menuchoice><guimenu>Insert</guimenu><guisubmenu> +Cell Comment</guisubmenu></menuchoice> menu and type your comment into the +resulting <guilabel>Cell Comment</guilabel> dialog box.</para> +<para>To see the comment hover the mouse pointer over the top right corner of +the cell. The comment will appear as if it were a Tooltip. +</para> +<para>If you check the <guilabel>Show comment indicator</guilabel> box of the +<guilabel>Sheet Properties</guilabel> dialog, those +cells containing comments will be highlighted by a small red triangle in the +top right corner.</para> +<para>To open this dialog, click with the <mousebutton>right</mousebutton> mouse +button onto the sheet tab at the bottom of the main window and select +<guimenuitem>Sheet Properties</guimenuitem> from the popup menu. Or select it from the +<menuchoice><guimenu>Format</guimenu><guisubmenu>Sheet</guisubmenu></menuchoice> menu.</para> + +<para>To remove a comment from a cell, select <guimenuitem>Remove Comment +</guimenuitem> from the <mousebutton>right</mousebutton> mouse button menu or +choose <menuchoice><guimenu>Edit</guimenu><guisubmenu>Clear</guisubmenu> +<guimenuitem>Comment</guimenuitem></menuchoice>.</para> +</sect2> + +</sect1> + +</chapter> + +<!-- +Local Variables: +mode: sgml +sgml-parent-document: ("index.docbook" "book" "chapter") +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> diff --git a/doc/kspread/basics.docbook b/doc/kspread/basics.docbook new file mode 100644 index 00000000..2a06be21 --- /dev/null +++ b/doc/kspread/basics.docbook @@ -0,0 +1,637 @@ +<chapter id="basics"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Pamela</firstname> +<surname>Robert</surname> +<affiliation> +<address><email>pamroberts@blueyonder.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>&kspread; Basics</title> + +<note><para>Like the rest of &kde;, &kspread; is highly configurable, which can +cause problems for readers trying to compare the text in a document such as +this with what they see on the version of &kspread; running on their desktop. +To cut down on some of the possibilities for confusion, it it suggested that +when you first start to use &kspread; you set the default options in all pages +of the &kspread; configuration dialog (obtained by selecting +<menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure +&kspread;...</guimenuitem></menuchoice>) except for <guilabel>Completion mode: +</guilabel> in the <guisubmenu>Misc</guisubmenu> page, which should be set to +<guimenuitem>None</guimenuitem>. +</para> +<para>You may also find it helpful to globally <guilabel>Enable tooltips</guilabel> +in &kcontrolcenter; in <menuchoice><guimenu>Appearance & +Themes</guimenu><guimenuitem>Style</guimenuitem></menuchoice> +on the <guilabel>Style</guilabel> page. </para></note> + +<sect1 id="starting"> +<title>Spreadsheets for Beginners</title> + +<para>This section attempts to explain by example what a spreadsheet program +such as &kspread; actually does, and why it is such a useful tool in any +situation where you have to deal with numbers. If you have already used a +spreadsheet program you may wish to skip to the next section.</para> + +<para>The first thing to do is to start up &kspread;. You can do this by +<mousebutton>left</mousebutton> clicking on a &kspread; icon if there is one +on your desktop or panel, or you can select +<menuchoice><guimenu>Office</guimenu><guimenuitem>&kspread;</guimenuitem> +</menuchoice> +from the K menu.</para> + +<para> +<mediaobject> +<imageobject> +<imagedata fileref="newdocument.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>&kspread; at first run</phrase> +</textobject> +</mediaobject> +When it has started you will be given the choice of opening a recent +document, creating a new document from a template (with templates categories) or +opening an existing document . Select the <guilabel>General</guilabel> category +on the left and choose the <guilabel>Blank Worksheet</guilabel> template. Then +click the <guibutton>Use This Template</guibutton> button.</para> + +<para>Looking at &kspread; once it has started up, you will see a sheet of +empty rectangular cells arranged in numbered rows and lettered columns. This +is where you enter data or formula, text or charts. +<mediaobject> +<imageobject> +<imagedata fileref="starting1.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Screenshot starting1</phrase> +</textobject> +</mediaobject> +</para> +<para>Now, enter the text and values shown in the first 5 rows of the above +screenshot into the same cells of your spreadsheet. Ignore what is in row 7 +for the moment. To enter anything into a cell first select the cell by +<mousebutton>left</mousebutton> clicking inside it, then type whatever you +want, then press <keycap>Enter</keycap> or use the arrow keys to move the +selection point to another cell. +</para> +<para>What we have entered so far could be a simple budget for the next two +months, listing how much we think we will be spending for Food, Shelter, +Clothing and any Other expenditure. Now select cell B7 (column B, row 7), +type in <userinput>=B2+B3+B4+B5</userinput> and press <keycap>Enter</keycap>. +Because it begins with a <keycap>=</keycap> symbol &kspread; sees this as a +formula, something it has to calculate, in this case by adding together the +values in the 4 cells B2 to B5, and what is shown in the cell B7 is the result +of that calculation.</para> +<para>You could enter a similar formula into cell C7, except that in this case +it would have to be <userinput>=C2+C3+C4+C5</userinput>, but there is an +easier way which is to Copy cell B7 and Paste it into C7. &kspread; will +automatically adjust the cell references from B.. to C.. when the Paste is +done.</para> +<para>At this point you may think that &kspread; is doing no more than you +could manage with pencil, paper and a calculator, and you could be right, but +remember that this is a very small example of a spreadsheet, doing simple +calculations on only a few numbers. For any reasonably amount of values or data +using a spreadsheet to do the calculations is much quicker and more accurate +than doing them manually.</para> +<para>Also, a spreadsheet lets you play the <quote>What if?</quote> game. +Because each formula is automatically recalculated whenever any of the values +it refers to are changed, you can quickly see what happens if you alter any of +them. Using our example you can see the effect of reducing the amount spent on +food in December by just entering a new value into cell C2. If you had a +spreadsheet that modelled the greenhouse effect accurately you could perhaps +see the effect of a 50 percent reduction in the amount of methane released +into the atmosphere.</para> +</sect1> + +<sect1 id="selecting"> +<title>Selecting Cells</title> +<para>You can select a single cell or a rectangular area of cells in the +spreadsheet. The selected cell(s) are displayed with a thick black border. +</para> +<itemizedlist> +<title>You can select a single cell in one of the following ways</title> +<listitem><para><mousebutton>left</mousebutton> click on it</para></listitem> +<listitem><para>enter the cell reference (for example <userinput>B5</userinput>) +into the cell reference box at the left end of the Formula toolbar and press +<keycap>Enter</keycap></para></listitem> +<listitem><para>use the <menuchoice><guimenu>View</guimenu><guimenuitem>Goto +Cell...</guimenuitem></menuchoice> menu option</para></listitem> +</itemizedlist> + +<para>You can also steer your way around with the <keysym>arrow</keysym> keys. +Pressing the <keysym>Enter</keysym> key will move the current selection one +position up, down, left or right depending on the setting in the <guilabel>Misc +</guilabel> page of &kspread;'s <link linkend="configmisc">configuration dialog +box</link>.</para> <para>If you hold the <keycombo +action="simul">&Shift;</keycombo> key down while using the +<keysym>arrow</keysym> keys the selection will move to the start or end of the +block of occupied cells.</para> +<para>To select an area of contiguous cells drag the mouse cursor across the +desired area with the <mousebutton>left</mousebutton> button held down, or enter +the references of the top left and bottom right cells separated by a colon into +the Formula toolbar cell reference box (for example <userinput>B7:C14 +</userinput>) and press <keycap>Enter</keycap>, or enter these cell references +in a similar format into the dialog box brought up by <menuchoice><guimenu> +View</guimenu><guimenuitem>Goto Cell...</guimenuitem></menuchoice>.</para> +<para>You can also select an area of cells by selecting the cell in one corner +of the wanted area then holding the <keycombo +action="simul">&Shift; </keycombo> key down while using the +<mousebutton>left</mousebutton> mouse button to select the cell in the opposite +corner.</para> + +<para>To select a complete row or column of cells <mousebutton>left +</mousebutton> click on the row number at the left of the worksheet or on the +column letters at the top. To select adjacent rows or columns drag the mouse +pointer over the appropriate row numbers or column letters with the +<mousebutton>left</mousebutton> button held down.</para> + +<para>To select non-contiguous cells, click on the first cell you want to select +then hold the <keycombo +action="simul">&Ctrl;</keycombo> key and select the other +cells.</para> + +</sect1> + +<sect1 id="entering"> +<title>Entering Data</title> +<para>Entering data into a cell can be as simple as selecting the cell, typing +your data, then pressing <keycap>Enter</keycap> or moving the selection to +another cell with one of the <keysym>arrow</keysym> keys. Depending on how you +enter the data, &kspread; will interpret it as a number, date, time or text:</para> +<itemizedlist> +<listitem><para> +Numbers are entered in the obvious way; <userinput>123</userinput>, <userinput> +-123</userinput>, <userinput>456.7</userinput> or in scientific notation +<userinput>-1.2E-5</userinput>. +</para></listitem> +<listitem><para> +Dates should be entered in your <quote>System</quote> format, as defined in +the &kcontrolcenter; in <menuchoice><guimenu> +Regional & Accessibility</guimenu> <guisubmenu> +Country/Region & Language</guisubmenu><guimenuitem>Time & Dates</guimenuitem> +</menuchoice> dialog box. If, for example, you are using the DD/MM/YYYY form +you should enter <userinput>30/03/2002</userinput> for 30th March 2002. +Leading zeroes can be omitted from the day and month fields and only the last +one or two digits of the year need to be entered if the date is in the current +century, for example <userinput>9/1/2</userinput> for 9th January 2002. +</para></listitem> +<listitem><para> +Times should also be entered using the <quote>System</quote> format. For +example if you are using a 12 hour clock then enter times in HH:MIN am|pm or +HH:MIN:SS am|pm format such as <userinput>9:42 am</userinput> or <userinput> +10:30:52 pm</userinput>. +</para></listitem> +<listitem><para> +&kspread; defines any input data as <quote>text</quote> if it cannot +recognize the data as being a number, date or time. +</para></listitem> +</itemizedlist> +<note><para>By default, &kspread; right justifies numbers, dates and times +within a cell and left justifies anything else. This can be a useful guide +to whether you have entered a date or time in the correct format. But +remember that how items are displayed can be changed by altering +the <link linkend="formatdata">cell format</link>.</para></note> + +<para>The main text entry box in the Formula toolbar provides an easy way of +editing the contents of a selected cell. Press <keycap>Enter</keycap> or +<mousebutton>left</mousebutton> click on the green tick mark when you are +happy with what you have entered, or click on the red cross to cancel your +edits.</para> + +<sect2 id="genericformat"> +<title>Generic Cell Format</title> +<para> +&kspread; uses the <quote>Generic</quote> cell format as default. As long +as this format is used, &kspread; autodetects the actual data type depending +on the current cell data. For example if you enter some text into a cell and +later enter a number into the same cell, &kspread; automatically interprets +the new data as a number. If you want to define the type of data yourself, you +can explicitly set it in the <link linkend="formatdata">cell format</link>. +You can change the format back to <quote>Generic</quote> at any time. +</para> +</sect2> + +</sect1> + +<sect1 id="copypaste"> +<title>Copy, Cut and Paste</title> + +<para>At first glance, &kspread;'s <guimenuitem>Cut</guimenuitem>, +<guimenuitem>Copy</guimenuitem> and <guimenuitem>Paste</guimenuitem> appear +to be similar to these functions in other &kde; applications. Having selected +a cell or cells, you can choose <guimenuitem>Copy</guimenuitem> or +<guimenuitem>Cut</guimenuitem> from the <guimenu>Edit</guimenu> menu or from +the drop down menu you get by holding the <mousebutton>right</mousebutton> +mouse button down on a selected cell. You can also use the shortcuts +<keycombo action="simul">&Ctrl;<keycap>C</keycap> +</keycombo> or <keycombo action="simul">&Ctrl;<keycap>X</keycap> +</keycombo>, then move the selection to the target cell and choose +<guimenuitem>Paste</guimenuitem> or press <keycombo action="simul"> +&Ctrl;<keycap>V</keycap></keycombo>. However there are some +subtleties associated with these functions in &kspread; and these are discussed +below.</para> + +<para>If a cell contains a formula then the formula itself is copied rather +than the displayed result, and if the formula contains a reference to another +cell, then that reference is changed by the <guimenuitem>Cut</guimenuitem> +or <guimenuitem>Copy</guimenuitem> and <guimenuitem>Paste</guimenuitem> +operation to point to the cell that is in the same relative position as in +the original cell. For example if cell A2 contains the formula <userinput> +=B3</userinput> and is copied to C4, cell C4 will contain <userinput>=D5 +</userinput>.</para> +<para>This may seem to be a rather strange way of doing a copy, but +99 percent of the time it is exactly what is wanted (if it is not then see the +section about <link linkend="absolute">absolute cell references</link>). +For example in the simple shopping list shown below, cell D2 should contain +<userinput>=B2 * C2</userinput>, D3 should be <userinput>=B3 * C3</userinput>, +D4 should be <userinput>=B4 * C4</userinput> and so on. Instead of having to +enter a different formula in each cell, you can just enter the first formula +into D2 and then copy it into the cells below, letting &kspread; adjust the +cell references to suit.</para> +<mediaobject> +<imageobject> +<imagedata fileref="copy1.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Screenshot copy1</phrase> +</textobject> +</mediaobject> + +<sect2 id="copypasteareas"> +<title>Copying and Pasting Cell Areas</title> +<para>In the above example D2 can be copied into all three cells D3 to D5 at +once by just copying D2 then selecting the complete cell area D3:D5 before +doing the paste.</para> +<para>A rectangular area of cells can be cut or copied in one operation by +selecting the area before doing the cut or copy. Then select the top left +corner cell of the area you want to paste into before doing the paste.</para> +<para>If you cut or copy a rectangular area of cells, say B2:C3, and paste it +into a larger area such as A10:D13 the original pattern of cells will be +repeated to fill the target area.</para> +<para>&kspread; also provides a <quote>Drag and Copy</quote> method for +copying cells down into other cells immediately below or to the +right of the original cell(s). To use this method select the cell(s) to be +copied then position the mouse pointer over the small black square at the +bottom right corner of the selected cell(s) so the cursor changes to a double +headed arrow. Then hold the <mousebutton>left</mousebutton> mouse button down +while you drag the selected cell(s) as far as you wish. Note that cell +references in formulae are incremented according to the +relative position change. Absolute references are not changed.</para> +</sect2> + +<sect2 id="specialpaste"> +<title>Other Paste Modes</title> +<para>A cell may contain text, a value, or a formula, and may also contain +special font, border or background <link linkend="formatspread">formatting +information</link>. &kspread; has special versions of Paste that let +you handle these items in different ways.</para> + +<para><menuchoice><guimenu>Edit</guimenu><guimenuitem>Special +Paste...</guimenuitem></menuchoice>brings up the <guilabel> Special +Paste</guilabel> dialog box. By selecting the appropriate item from +the top part of this dialog you can choose to paste just +<guilabel>Text </guilabel>, the cell <guilabel>Format</guilabel>, any +<guilabel>Comment </guilabel> in the cell(s) or <guilabel>Everything +without border</guilabel>. The items in the bottom part of this dialog +box allow you to do simple <link linkend="sumspecialpaste">arithmetic +on an area of cells</link>. +</para> + +<para><guimenuitem>Paste with Insertion...</guimenuitem> inserts the copied +cell(s) into the sheet by moving the cells that would otherwise be overwritten +a suitable number of rows of columns down or to the right. It can also be used +to insert complete copied row(s) or column(s) into the worksheet.</para> +</sect2> + +</sect1> + +<sect1 id="insdel"> +<title>Insert and Delete</title> +<para>Use the <keysym>Delete</keysym> key or <menuchoice><guimenu>Edit +</guimenu><guisubmenu>Clear</guisubmenu><guimenuitem>Text</guimenuitem> +</menuchoice> to remove the text, value or formula from selected cell(s), +row(s) or column(s) without affecting anything else.</para> + +<para>To delete everything in the selected cell(s), row(s) or column(s), +including comments and special formatting, use <keycombo action="simul"> +&Shift;<keysym>Delete</keysym></keycombo> or choose the <guimenuitem>Delete +</guimenuitem> option from the <guimenu>Edit</guimenu> menu or from the pop +up menu you get when you <mousebutton>right</mousebutton> click on a selection. +</para> +<para>To remove selected row(s) or column(s) completely, use the +<guimenuitem>Delete Rows</guimenuitem> or <guimenuitem>Delete +Columns</guimenuitem> options from the <mousebutton>right</mousebutton> mouse +button pop up menu.</para> +<para>If you select a cell or cells and choose <guimenuitem>Remove Cells... +</guimenuitem> from the <mousebutton>right</mousebutton> mouse button pop up +menu, you can then choose whether other cells in the worksheet will be moved +up or to the left to fill in the space left by the cell(s) you have chosen to +remove.</para> +<para>If you want to insert new, blank, row(s) or column(s) into the +sheet, select row(s) or column(s) where you wish the new row(s) or +column(s) to be placed and choose the <guimenuitem>Insert Rows</guimenuitem>, +<guimenuitem>Insert Columns</guimenuitem> option from the <mousebutton> +right</mousebutton> mouse button pop up menu.</para> +<para>You can insert new cells into the worksheet by selecting the +area where you want them to appear then choosing the <guimenuitem> +Insert Cells...</guimenuitem> option from the <mousebutton>right</mousebutton> +mouse button pop up menu. You will then be asked whether the existing cell(s) +in the selected area should be moved down or to the right to make room for the +new ones.</para> + +</sect1> + +<sect1 id="simplesums"> +<title>Simple Sums</title> +<para>If the first character in a cell is an equals sign (<keycap>=</keycap>) +&kspread; will take the cell contents to be a formula which is to be +calculated. The result of the calculation will be displayed in the cell rather +than the formula itself. For example, enter <userinput>=2+3</userinput> +into a cell and it should display <emphasis>5</emphasis>.</para> +<para>More usefully, a formula can contain references to other cells, so +that <userinput>=B4+A3</userinput> will calculate the sum of the values in +cells B4 and A3, and this calculation will be updated whenever cells B4 or A3 +are changed.</para> +<para>As well as addition, a formula can make use of the <keycap>-</keycap> +symbol for subtraction, <keycap>*</keycap> for multiplication, and <keycap> +/</keycap> to perform division. The round bracket symbols <keycap>(</keycap> +and <keycap>)</keycap> can also be used as in normal algebra, so you could +enter more complex formulae such as <userinput>=((B10 + C3) *5 - F11) / 2 +</userinput>.</para> + +<para>Cells containing a formula will be marked with a small blue triangle +at the bottom left corner if the <guilabel>Show formula indicator</guilabel> +check box in the <menuchoice><guimenu>Format</guimenu> +<guisubmenu>Sheet</guisubmenu><guisubmenu>Sheet Properties</guisubmenu> +</menuchoice> dialog is checked.</para> +<para>&kspread; also includes a large number of built-in functions for +applications such as statistical, trigonometrical and financial calculations. +Their use will be examined in more depth in a <link linkend="formulas"> +later section</link> of this manual, but if you are interested at this stage +choose <guimenuitem>Function...</guimenuitem> from the <guimenu>Insert +</guimenu> menu and take a look through the <guilabel>Function +</guilabel> dialog box that will be displayed..</para> +<para>For the time being, however, the <userinput>SUM</userinput> function may +be of interest as it calculates the sum of all values in a specified area of +cells. For example <userinput>=SUM(B4:C10)</userinput> calculates the sum of +all values in the cell area B4 to C10.</para> +<para>If &kspread; displays a row of <keycap>#</keycap> symbols when you have +entered your formula this usually means that it cannot understand what +you have entered, but if the row of <keycap>#</keycap> symbols ends with a +small red arrow this just means that the cell is not wide enough to display +the complete result, in which case you should either make the cell(s) wider +or change their <link linkend="formatdata">format</link> so that the result +does fit properly.</para> + +<sect2 id="recalc"> +<title>Recalculation</title> +<para>If the <guilabel>Automatic recalculation</guilabel> box in the +<menuchoice><guimenu>Format</guimenu> +<guisubmenu>Sheet</guisubmenu><guisubmenu>Sheet Properties</guisubmenu> +</menuchoice> dialog box is +checked, &kspread; will recalculate the values of cells whenever anything that +affects them is changed in the sheet.</para> +<para>When <guilabel>Automatic recalculation</guilabel> is not checked for the current sheet, you can instruct &kspread; to perform a recalculation at any time by +using the <guimenuitem>Recalculate Sheet</guimenuitem> or <guimenuitem> +Recalculate Document</guimenuitem> option in the <guimenu>Tools</guimenu> +menu or their shortcuts <keycombo action="simul">&Shift;<keysym>F9</keysym> +</keycombo> or <keysym>F9</keysym>.</para> +</sect2> +</sect1> + +<sect1 id="sort"> +<title>Sorting Data</title> +<para>In the simple example shown below, the data consist of the names and +countries of a number of mountains together with their height above sea level. +&kspread; can sort data such as this in different ways.</para> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="sort1.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Screenshot of sorted data</phrase> +</textobject> +</mediaobject> +</para> +<para>We may want the data sorted so that the names are in +alphabetical order. To do this select the area containing the data (A2:C7 +in this case) and choose <guimenuitem>Sort...</guimenuitem> from the <guimenu>Data</guimenu> +menu. This opens the <guilabel>Sorting</guilabel> dialog box.</para> +<para>Sorting is done alphanumerically, and the default is case sensitive, numbers coming +before uppercase letters which come before lowercase letters, so that cells +containing the entries <userinput>Cat</userinput>, <userinput>bar</userinput>, +<userinput>77</userinput> and <userinput>Bat</userinput> would be sorted into +the following order: <emphasis>77 Bat Cat bar</emphasis>.</para> +<!-- Obsolete, AFAICT (Phil) +<para>The <guimenuitem>Sort Increasing</guimenuitem> and <guimenuitem>Sort +Decreasing</guimenuitem> options from the <guimenu>Data</guimenu> menu options +sort the data according to the contents of the cells in the left column of the +selected area. For more complex sorting select <menuchoice><guimenu>Data +</guimenu><guimenuitem>Sort...</guimenuitem></menuchoice> to bring up the +<guilabel>Sort</guilabel> dialog box.</para> +--> +<para>Using the <guilabel>Sort Criteria</guilabel> page of this dialog box +lets you <guilabel>Sort Rows</guilabel> or <guilabel>Sort Columns</guilabel>. +If you check the <guilabel>First row contains headers</guilabel> box data in the +first row will not be included in the sort operation. +You can choose which column or which row of the data is to be used as a primary sort key and, +if you wish, other columns or rows to be used as secondary and tertiary keys. Using +the example in the above screenshot, choosing column B as the first key and +column C as the second would sort the data by country and, for each country, +by height.</para> + +<para>The <guilabel>Options</guilabel> page of the dialog allows you to sort using the +order of items in a custom list such as January, February... instead +of alphanumerically. +The cell format is moved with the cell content, if you select +<guilabel>Copy cell Formatting (Borders, Colors, Text Style)</guilabel> +Uncheck the option <guilabel>Case sensitive sort</guilabel> to get a sort +not depending on capitalization. +</para> +</sect1> + + +<sect1 id="statusbarsum"> +<title>The Status bar Summary Calculator</title> +<para>The left hand end of the Status bar shows a summary of the values in +the selected cell(s). According to the setting of the <guilabel>Method of +calc:</guilabel> combo box in the <guilabel>Misc</guilabel> page of +&kspread;'s configuration dialog the summary can be:</para> + +<variablelist> +<varlistentry> +<term><guilabel>Sum</guilabel></term> +<listitem><para>The value displayed is the sum of the values in the selected +cells. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Min</guilabel></term> +<listitem><para>The value displayed is the minimum of the values in the selected +cells. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Max</guilabel></term> +<listitem><para>The value displayed is the maximum of the values in the selected +cells. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Average</guilabel></term> +<listitem><para>The value displayed is the average of the values in the selected +cells. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Count</guilabel></term> +<listitem><para>The value displayed is the number of cells containing numeric +values. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>None</guilabel></term> +<listitem><para>No summary calculation is performed. +</para></listitem> +</varlistentry> +</variablelist> +<para>The method of calculation can also be changed by <mousebutton>right +</mousebutton> clicking on the summary calculation result area of the +Status bar and choosing an item from the pop up menu.</para> + +</sect1> + +<sect1 id="saving"> +<title>Saving your Work</title> +<para>&kspread; saves the complete document, which may include more than one +worksheet, as a single document file.</para> +<para>If you have created a new document, or want to save an existing one +under a different name, use <menuchoice><guimenu>File</guimenu><guimenuitem> +Save As...</guimenuitem></menuchoice>. This will bring up &kde;'s common +<guilabel>Save Document As</guilabel> dialog box. +Choose the folder where you want to save the document and enter a +suitable file name into the <guilabel>Location:</guilabel> text box. &kspread; +documents are normally automatically saved with a <filename>.ods</filename> +extension, you do not need to add this to the filename but do make sure that +the <guilabel>Filter:</guilabel> selection is set to +<guilabel>OASIS OpenDocument SpreadSheet</guilabel>.</para> +<para>To save your document without changing its name, just use <menuchoice> +<guimenu>File</guimenu><guimenuitem>Save</guimenuitem></menuchoice>.</para> + +<para>You can also save a &kspread; document in a foreign format: see + the Import/Export section for more information +about doing this.</para> +<para>When you save a modified version of an existing document +&kspread; will keep the previous version as a backup file, adding a +<literal>~</literal> to the end of the filename.</para> +<para>&kspread; can provide some protection against losing your work because +of a computer crash or because you have closed &kspread; without saving the +current document. It does this by automatically saving the latest version of +the document you are working on every few minutes using a modified file name. +The autosaved version is normally removed when you next save your document, +so that it will only exist if it is more up to date than the version that was +saved manually. +When you open a document &kspread; checks to see if an autosaved +version exists, and if it finds one it will offer to open that instead.</para> +<para>Autosaved documents are saved with a file name of the form +<filename>.yourfilename.autosave</filename> (note the leading period), +so that <filename>spread1.ods</filename> would be autosaved as +<filename>.spread1.ods.autosave</filename>. The autosave feature is +user configurable in the <link linkend="configinterface">settings dialog</link>.</para> + +<sect2 id="templates"> +<title>Templates</title> +<para>If you are going to be creating a lot of similar documents you can +save yourself time and trouble by first creating a template and then +using that as the basis for the individual documents.</para> +<para>To do this first create a document containing the common elements, +then save it as a template by choosing <menuchoice><guimenu>File</guimenu> +<guimenuitem>Create Template From Document...</guimenuitem></menuchoice>. +Doing this opens the <guilabel>Create Template</guilabel> dialog box. +Enter a name for your new template into the <guilabel>Name:</guilabel> text +box and press <guibutton>OK</guibutton>. The next time you start a new +document by choosing <menuchoice><guimenu>File</guimenu><guimenuitem>New +</guimenuitem></menuchoice> or when you next start &kspread; the +startup dialog window will give you the option of creating the +new document from your template.</para> +<para>The <guilabel>Create Template</guilabel> dialog box also lets you +choose a different picture to be displayed above the template name in the +startup dialog window, and lets you save your templates +under different group names, which will appear as different pages in +the dialog.</para> +</sect2> + +</sect1> + +<sect1 id="printing"> +<title>Printing a Spreadsheet</title> +<para>Printing a spreadsheet is basically done by selecting <menuchoice> +<guimenu>File</guimenu><guimenuitem>Print...</guimenuitem></menuchoice> which +brings up &kde;'s common <guilabel>Print</guilabel> dialog box where you can +choose, among other options, the printer to be used, the number of copies and +whether all or only selected pages are to be printed.</para> +<para>By default &kspread; will print all items in the current worksheet, but +you can restrict this by first selecting the area that you want to be +printed then choosing <guimenuitem>Define Print Range</guimenuitem> from the +<menuchoice><guimenu>Format</guimenu><guisubmenu>Print Range</guisubmenu> +</menuchoice> sub menu.</para> +<para>&kspread; will print as many pages as are necessary to include all +items in the current worksheet. You can quickly see how a worksheet will be +spilt into separate pages for printing by checking the <menuchoice><guimenu> +View</guimenu> +<guimenuitem>Show Page Borders</guimenuitem></menuchoice> box. The boundaries +of each printed page will then be marked by colored lines in the +worksheet.</para> + +<para>For a more detailed view of what is to be sent to the printer, including +anything you have asked to be included in the page headers and footers (see +below), choose <menuchoice><guimenu>File</guimenu><guimenuitem>Print +Preview...</guimenuitem></menuchoice>.</para> + +<para>To improve the appearance of the printed output , you can change the +fonts, colors, borders and sizes of the cells in the worksheet, see the +<link linkend="formatspread">Spreadsheet Formatting</link> section for more +details about how to do this.</para> + +<para>You can also use the <guilabel>Page Layout</guilabel> dialog box, +invoked by selecting <menuchoice><guimenu>Format</guimenu><guimenuitem>Page +Layout...</guimenuitem></menuchoice>, to change the orientation of the printed +pages, the paper size (this should be suitable for your printer) and the size +of the page borders.</para> +<para>The <guilabel>Header & Footer</guilabel> page of the <guilabel> +Page Layout</guilabel> dialog box also lets you add text, including items such +as the filename, date and page number to the header and footer, of each +printed page.</para> +<para>The <guilabel>Ranges</guilabel> section of the <guilabel>Options +</guilabel> page of the <guilabel>Page Layout</guilabel> dialog box provides +an alternative way of restricting the printed output to just one part of the +worksheet and allows you to repeat selected column(s) or row(s) on each printed +page. This page also lets you select whether or not to print the grid, +comment indicators and formula indicators, objects and charts. +In the section <guilabel>Scale Printout</guilabel> you can set a scalefactor +or limit the number of pages for the print.</para> + +</sect1> + +</chapter> + +<!-- +Local Variables: +mode: sgml +sgml-parent-document: ("index.docbook" "book" "chapter") +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> diff --git a/doc/kspread/cellformat0.png b/doc/kspread/cellformat0.png Binary files differnew file mode 100644 index 00000000..fe692bf8 --- /dev/null +++ b/doc/kspread/cellformat0.png diff --git a/doc/kspread/cellformat1.png b/doc/kspread/cellformat1.png Binary files differnew file mode 100644 index 00000000..cf3a2333 --- /dev/null +++ b/doc/kspread/cellformat1.png diff --git a/doc/kspread/cellformat2.png b/doc/kspread/cellformat2.png Binary files differnew file mode 100644 index 00000000..a7752f03 --- /dev/null +++ b/doc/kspread/cellformat2.png diff --git a/doc/kspread/cellformat3.png b/doc/kspread/cellformat3.png Binary files differnew file mode 100644 index 00000000..eb36f521 --- /dev/null +++ b/doc/kspread/cellformat3.png diff --git a/doc/kspread/cellformat4.png b/doc/kspread/cellformat4.png Binary files differnew file mode 100644 index 00000000..2bb29706 --- /dev/null +++ b/doc/kspread/cellformat4.png diff --git a/doc/kspread/cellformat5.png b/doc/kspread/cellformat5.png Binary files differnew file mode 100644 index 00000000..5c4b7b15 --- /dev/null +++ b/doc/kspread/cellformat5.png diff --git a/doc/kspread/cellformat6.png b/doc/kspread/cellformat6.png Binary files differnew file mode 100644 index 00000000..358ede34 --- /dev/null +++ b/doc/kspread/cellformat6.png diff --git a/doc/kspread/cellformat7.png b/doc/kspread/cellformat7.png Binary files differnew file mode 100644 index 00000000..2760c71d --- /dev/null +++ b/doc/kspread/cellformat7.png diff --git a/doc/kspread/cellprotection1.png b/doc/kspread/cellprotection1.png Binary files differnew file mode 100644 index 00000000..6f95cb94 --- /dev/null +++ b/doc/kspread/cellprotection1.png diff --git a/doc/kspread/cellprotection2.png b/doc/kspread/cellprotection2.png Binary files differnew file mode 100644 index 00000000..eda1e10c --- /dev/null +++ b/doc/kspread/cellprotection2.png diff --git a/doc/kspread/chart1.png b/doc/kspread/chart1.png Binary files differnew file mode 100644 index 00000000..3cdf6055 --- /dev/null +++ b/doc/kspread/chart1.png diff --git a/doc/kspread/commands.docbook b/doc/kspread/commands.docbook new file mode 100644 index 00000000..1c2ae044 --- /dev/null +++ b/doc/kspread/commands.docbook @@ -0,0 +1,1540 @@ +<chapter id="commands"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Pamela</firstname> +<surname>Robert</surname> +<affiliation> +<address><email>pamroberts@blueyonder.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Command Reference</title> + +<sect1 id="filemenu"> +<title>The <guimenu>File</guimenu> Menu</title> +<para> +<variablelist> +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>New</guimenuitem> +</menuchoice></term> +<listitem><para><action>Create a new document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Open...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Open an existing document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guisubmenu>Open Recent</guisubmenu> +</menuchoice></term> +<listitem><para><action>Open an existing document</action> by selecting it +from a combo box of recently used files.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Save</guimenuitem> +</menuchoice></term> +<listitem><para><action>Save the document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Save As...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Save the document with a new name or format.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Reload</guimenuitem> +</menuchoice></term> +<listitem><para><action>Reloads the document.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Import...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Import other documents.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Export...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Save a document to any supported format.</action> +The document does not become the exported file. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Mail...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Send the file as an email attachment.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Create Template From Document...</guimenuitem> +</menuchoice></term> +<listitem><para>Create a &kspread; <link linkend="templates">template</link> +based on this document. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Print...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Print the document.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Print Preview...</guimenuitem> +</menuchoice></term> +<listitem><para><action>View the document as it will be printed.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Document Information</guimenuitem> +</menuchoice></term> +<listitem><para><action>View or enter information about the document and +author.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>W</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Close</guimenuitem> +</menuchoice></term> +<listitem><para><action>Close the current document but leave &kspread; running. +</action></para></listitem> +</varlistentry> +<varlistentry> + +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>Quit</guimenuitem> +</menuchoice></term> +<listitem><para><action>Quit</action> &kspread;.</para></listitem> +</varlistentry> +</variablelist> +</para> + +</sect1> + +<sect1 id="editmenu"> +<title>The <guimenu>Edit</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Undo</guimenuitem> +</menuchoice></term> +<listitem><para><action>Undo the last action.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Redo</guimenuitem> +</menuchoice></term> +<listitem><para><action>Redo the last undone action.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>X</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Cut</guimenuitem> +</menuchoice></term> +<listitem><para><action>Put selected item(s) into the clipboard and remove +them from the original location.</action> If you then +do a <guimenuitem>Paste</guimenuitem> the item(s) will be be inserted at +the new location. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Copy</guimenuitem> +</menuchoice></term> +<listitem><para><action>Copy selected item(s) to the clipboard.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Paste</guimenuitem> +</menuchoice></term> +<listitem><para><action>Paste item(s) from the clipboard to the selected +cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Special Paste...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Special forms of Paste. +</action> See the sections <link linkend="specialpaste">Other Paste +Modes</link> and <link linkend="sumspecialpaste">Arithmetic using Special +Paste</link> for more details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Paste with Insertion</guimenuitem> +</menuchoice></term> +<listitem><para><action>Move content of the paste area either to the right +or down and paste item(s) from the clipboard to the selected cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guisubmenu>Fill</guisubmenu> +</menuchoice></term> +<listitem><para><action>Fills up the selected area with the values from the +first item-set.</action> All four directions are supported. Note that the +term "item-set" describes the first set of values seen in the fill direction. +If the fill direction is Left then the first item-set is the last column of the +selection. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>F</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Find...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Find cell containing given text.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keysym>F3</keysym> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Find Next</guimenuitem> +</menuchoice></term> +<listitem><para><action>Find the next cell containing given text.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Shift;<keycap>F3</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Find Previous</guimenuitem> +</menuchoice></term> +<listitem><para><action>Find the previous cell containing given text.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>R</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Replace...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Find and replace given text in cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guisubmenu>Clear</guisubmenu> +</menuchoice></term> +<listitem><para><action>Clear <guimenuitem>Text</guimenuitem>, +<guimenuitem>Comment</guimenuitem>, <guimenuitem>Validity</guimenuitem> or +<guimenuitem>Conditional Cell +Attributes</guimenuitem> from selected cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Delete</guimenuitem> +</menuchoice></term> +<listitem><para><action>Delete everything from selected cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Remove Link</guimenuitem> +</menuchoice></term> +<listitem><para><action>Remove the link while leave the displayed text.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Conditional Cell Attributes...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Add or modify conditional cell attributes.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Validity...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Set or modify the error checking criteria and error +alert message for selected cell(s).</action> See <link linkend="validcheck"> +Validity Checking</link> for more details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>M</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu> +<guimenuitem>Modify Cell</guimenuitem> +</menuchoice></term> +<listitem><para><action>To modify selected cell in-situ.</action> +</para></listitem> +</varlistentry> +<!-- +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Transform Object...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Rotate, scale or move the selected object.</action> +</para></listitem> +</varlistentry> +--> +</variablelist> +</para> +</sect1> + +<sect1 id="viewmenu"> +<title>The <guimenu>View</guimenu> Menu</title> +<para> +<variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>New View</guimenuitem> +</menuchoice></term> +<listitem><para><action>Open a new instance of &kspread; +with the same document.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;&Shift;<keycap>W</keycap></keycombo> +</shortcut> +<guimenu>View</guimenu> +<guimenuitem>Close All Views</guimenuitem> +</menuchoice></term> +<listitem><para><action>Close all open instances of &kspread;</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Split View</guimenuitem> +</menuchoice></term> +<listitem><para><action>Split current view into two parts.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Remove View</guimenuitem> +</menuchoice></term> +<listitem><para><action>Remove current view.</action> (Where the window +contains two or more views) +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Splitter Orientation</guisubmenu> +</menuchoice></term> +<listitem><para><action>Change view split to <guilabel>Horizontal</guilabel> or <guilabel>Vertical</guilabel>.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Goto Cell...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Change &kspread;'s focus to show defined cell.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Show/Hide Page Borders</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggle marking of printed page borders in the sheet +with red lines. +</action> +</para></listitem> +</varlistentry> +<!-- +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guimenuitem>Show/Hide Comment Indicator</guimenuitem> +</menuchoice></term> +<listitem><para><action>Toggle marking of cell comments.</action> +If a cell contains a comment and this option is selected, a small red triangle +is shown in the upper right corner of the cell. +</para></listitem> +</varlistentry> +--> +<varlistentry> +<term><menuchoice> +<guimenu>View</guimenu> +<guisubmenu>Zoom</guisubmenu> +</menuchoice></term> +<listitem><para><action>Increase or decrease the magnification used to display +the spreadsheet. Range from 33% to 500%. +</action> +</para></listitem> +</varlistentry> + +</variablelist> +</para> +</sect1> + + +<sect1 id="insertmenu"> +<title>The <guimenu>Insert</guimenu> Menu</title> +<para> +<variablelist> + +<!-- OBSOLETE <varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Sheet</guimenuitem> +</menuchoice></term> +<listitem><para><action>Add another worksheet.</action> +</para></listitem> +</varlistentry>--> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guisubmenu>Cell Comment</guisubmenu> +</menuchoice></term> +<listitem><para><action><guimenuitem>Add/Modify Comment...</guimenuitem> or +<guimenuitem>Remove Comment</guimenuitem>.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Function...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Insert a mathematical function.</action> See the +section <link linkend="formulas">Formulae</link> for more details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Series...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Insert a series.</action> See the section +<link linkend="series">Series</link> for more details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Link...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Insert a link into the selected cell.</action> +See the section +<link linkend="hyper">Link Cells</link> for more details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Special Character...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Insert a special character into the selected cell.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guisubmenu>Object</guisubmenu> +</menuchoice></term> +<listitem><para><action>Embed another &koffice; document into the sheet.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Chart</guimenuitem> +</menuchoice></term> +<listitem><para><action>Insert a chart.</action> See the section +<link linkend="insertchart">Inserting a Chart</link> for more details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Picture</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the standard &kde; file dialog</action> +to insert a picture. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Insert</guimenu> +<guisubmenu>External Data</guisubmenu> +</menuchoice></term> +<listitem><para><action>Insert data <guilabel>From Database...</guilabel>, +<guilabel>From Text File...</guilabel> or <guilabel>From +Clipboard...</guilabel>.</action> See the section <link linkend="insertdata">Inserting +External Data</link> for more details. +</para></listitem> +</varlistentry> + +</variablelist> +</para> +</sect1> + +<sect1 id="formatmenu"> +<title>The <guimenu>Format</guimenu> Menu</title> +<para><variablelist> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Alt;&Ctrl;<keycap>F</keycap></keycombo> +</shortcut> +<guimenu>Format</guimenu> +<guimenuitem>Cell Format...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Format selected cell(s).</action> See the +<link linkend="formatspread">Spreadsheet Formatting</link> section for more +details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Properties</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens a dialog</action> to change the properties of +an inserted object or picture. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Change Angle...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Change angle of displayed text in selected cell(s). +</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Decrease Indent</guimenuitem> +</menuchoice></term> +<listitem><para><action>Move text in selected cell(s) to the left.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Increase Indent</guimenuitem> +</menuchoice></term> +<listitem><para><action>Move text in selected cell(s) to the right.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Increase Precision</guimenuitem> +</menuchoice></term> +<listitem><para><action>Increase displayed precision of numbers in selected +cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Decrease Precision</guimenuitem> +</menuchoice></term> +<listitem><para><action>Decrease displayed precision of numbers in selected +cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Adjust Row & Column</guimenuitem> +</menuchoice></term> +<listitem><para><action>Set row and column sizes to show selected cell(s) +properly.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guisubmenu>Row</guisubmenu> +</menuchoice></term> +<listitem><para><action>Resize, equalize, hide or show row(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guisubmenu>Column</guisubmenu> +</menuchoice></term> +<listitem><para><action>Resize, equalize, hide or show column(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guisubmenu>Sheet</guisubmenu> +</menuchoice></term> +<listitem><para><action>Remove, hide, show worksheet or configure +advanced sheet properties.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>AutoFormat...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Autoformat the selected cells: a dialog let you choose betwen two proposed formats.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Style Manager</guimenuitem> +</menuchoice></term> +<listitem><para><action>Create, Modify or delete cell format styles.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guisubmenu>Style</guisubmenu> +</menuchoice></term> +<listitem><para><action>Apply a style to selected cell(s).</action> +To manage styles use <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Style Manager...</guimenuitem> +</menuchoice> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Create Style From Cell...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Create a new style from the format of the +selected cell.</action> +To manage styles use <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Style Manager...</guimenuitem> +</menuchoice> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guimenuitem>Page Layout...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Format printed page layout.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Format</guimenu> +<guisubmenu>Print Range</guisubmenu> +</menuchoice></term> +<listitem><para><action>Define or reset the print range.</action> +</para></listitem> +</varlistentry> + +</variablelist></para> +</sect1> + +<sect1 id="datamenu"> +<title>The <guimenu>Data</guimenu> Menu</title> +<para><variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Sort...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Sort data in selected cells.</action> See the section +<link linkend="sort">Sorting Data</link> for more details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Text to Columns...</guimenuitem> +</menuchoice></term> +<listitem><para>This option attempts to interpret text in the selected cell(s) +as <acronym>CSV</acronym> data, placing each +item into a different cell in the row. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Insert Columns</guimenuitem> +</menuchoice></term> +<listitem><para><action>Insert new column(s) at left of selected column(s). +</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Insert Rows</guimenuitem> +</menuchoice></term> +<listitem><para><action>Insert new row(s) above selected row(s). +</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Delete Columns</guimenuitem> +</menuchoice></term> +<listitem><para><action>Delete selected column(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Delete Rows</guimenuitem> +</menuchoice></term> +<listitem><para><action>Delete selected row(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Insert Cells...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Insert new cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Remove Cells...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Remove selected cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Merge Cells</guimenuitem> +</menuchoice></term> +<listitem><para><action>Merge selected cells.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Dissociate Cells</guimenuitem> +</menuchoice></term> +<listitem><para><action>Dissociate (split apart) previously merged cells. +</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Show Area...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Change &kspread;'s focus to show a previously +named area.</action> See the section <link linkend="namedareas">Named Cells +and Areas</link> for further details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Subtotals...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Create different kinds of subtotals to a +database.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Goal Seek...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Open the Goal Seek dialog box</action>. See +<link linkend="goalseek">Goal Seeking</link> for details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Data</guimenu> +<guimenuitem>Consolidate...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Consolidate data.</action> See the section +<link linkend="consolidate">Consolidating Data</link> for more details. +</para></listitem> +</varlistentry> + +</variablelist></para> +</sect1> + +<sect1 id="toolsmenu"> +<title>The <guimenu>Tools</guimenu> Menu</title> +<para><variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Spelling...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Check spelling of words in the worksheet.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Custom Lists...</guimenuitem> +</menuchoice></term> +<listitem><para><action>View or amend the special series of words recognized +by &kspread;.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Protect Sheet...</guimenuitem> +</menuchoice></term> +<listitem><para> +<action>Protect the sheet with a password. A dialog pops up prompting you for a password. Unchecking this option will prompt you for the password in order to unprotect the sheet. Protecting a sheet means protecting all cells in the sheet. In a protected sheet, the cells cannot be reformatted or overwritten.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Protect Document...</guimenuitem> +</menuchoice></term> +<listitem><para> +<action>Protect the whole document with a password. A dialog pops up prompting +you for a password. Unchecking this option will prompt you for the password in +order to unprotect the document. In a protected document you cannot rename or +remove a sheet. Document protection does not mean that each individual sheet +is protected.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Shift;<keysym>F9</keysym></keycombo> +</shortcut> +<guimenu>Tools</guimenu> +<guimenuitem>Recalculate Sheet</guimenuitem> +</menuchoice></term> +<listitem><para><action>Recalculate formulae in the current sheet.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keysym>F9</keysym> +</shortcut> +<guimenu>Tools</guimenu> +<guimenuitem>Recalculate Document</guimenuitem> +</menuchoice></term> +<listitem><para><action>Recalculate all sheets.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Insert Calendar...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Insert a calendar in your sheet. A dialog asks you for the start and end dates. The corresponding calendar is then inserted from the current cell. +</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Script Manager...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens</action> the <guilabel>Scripts Manager</guilabel> dialog to execute, load, unload, install, uninstall and get more scripts. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Tools</guimenu> +<guisubmenu>Scripts</guisubmenu> +</menuchoice></term> +<listitem><para>Here you can execute the script <guilabel>Export to HTML File</guilabel> or start the <guilabel>Script Editor</guilabel>. +</para></listitem> +</varlistentry> + +</variablelist></para> +</sect1> + +<sect1 id="settingsmenu"> +<title>The <guimenu>Settings</guimenu> Menu</title> +<para><variablelist> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Show/Hide Status Bar</guimenuitem> +</menuchoice></term> +<listitem><para><action>Show or hide the Status Bar.</action> +The Status Bar shows additional information for selected items and +instant calculations of the selected cells. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Show/Hide Tab Bar</guimenuitem> +</menuchoice></term> +<listitem><para><action>Show or hide the Tab Bar.</action> +All Sheets of the current Document can be accessed through the Tab Bar. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Show/Hide Formula Bar</guimenuitem> +</menuchoice></term> +<listitem><para><action>Show or hide the Formula Bar.</action> +The Formula Bar can be used to edit the content of the selected cell. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guisubmenu>Toolbars</guisubmenu> +</menuchoice></term> +<listitem><para><action>Show or hide the toolbars: <guilabel>File</guilabel>, +<guilabel>Edit</guilabel>, <guilabel>Navigation</guilabel>, +<guilabel>Format</guilabel> and <guilabel>Color/Border</guilabel>.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Shortcuts...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Configure the keyboard shortcuts used by &kspread;. +</action> See the section on <link linkend="configshort">configuring shortcuts +</link> for more details. + +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure Toolbars...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Configure the toolbars.</action> The section on +<link linkend="configtoolbars">configuring toolbars</link> has more +information. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure &kspread;...</guimenuitem> +</menuchoice></term> +<listitem><para><action>General &kspread; configuration.</action> See the +section on <link linkend="configdialog">&kspread; configuration</link> for +more details. +</para></listitem> +</varlistentry> + + +</variablelist></para> +</sect1> + +<sect1 id="helpmenu"> +<title>The <guimenu>Help</guimenu> Menu</title> + +&help.menu.documentation; + +</sect1> + +<sect1 id="rmbmenu"> +<title>The Right Mouse Button Menu</title> +<para>This section describes the items in the pop up menu obtained by +<mousebutton>right</mousebutton> clicking on a selected cell or cells, +row(s) or column(s). +</para> + +<para><variablelist> +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Alt;&Ctrl;<keycap>F</keycap></keycombo> +</shortcut> +<guimenuitem>Cell Format...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Format selected cell(s).</action> See the +<link linkend="formatspread">Spreadsheet Formatting</link> section for more +details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>X</keycap></keycombo> +</shortcut> +<guimenuitem>Cut</guimenuitem> +</menuchoice></term> +<listitem><para><action>Put selected item(s) into the clipboard.</action> If +you then do a <guilabel>Paste</guilabel> the item(s) will be moved from the +original location to the new one. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> +</shortcut> +<guimenuitem>Copy</guimenuitem> +</menuchoice></term> +<listitem><para><action>Copy selected item(s) into the clipboard.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo> +</shortcut> +<guimenuitem>Paste</guimenuitem> +</menuchoice></term> +<listitem><para><action>Paste item(s) from the clipboard to the selected cells. +</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Special Paste...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Special forms of Paste. +</action> See the sections <link linkend="specialpaste">Other Paste +Modes</link> and <link linkend="sumspecialpaste">Arithmetic using Special +Paste</link> for more details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Paste with Insertion</guimenuitem> +</menuchoice></term> +<listitem><para><action>Paste from the clipboard to the selected cell(s), moving the +previous cell(s) to make room.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Delete</guimenuitem> +</menuchoice></term> +<listitem><para><action>Delete contents of selected cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Adjust Row & Column</guimenuitem> +</menuchoice></term> +<listitem><para><action>Change size of row and column to display selected +cell(s) completely.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Default</guimenuitem> +</menuchoice></term> +<listitem><para><action>Set default formats for selected cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Area Name...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Name selected area.</action> See the section +<link linkend="namedareas">Named Areas</link> for more details. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Resize Row...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Change height of selected row.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Adjust Row</guimenuitem> +</menuchoice></term> +<listitem><para><action>Change height of selected row to display cell(s) +completely.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Resize Column...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Change width of selected column.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Adjust Column</guimenuitem> +</menuchoice></term> +<listitem><para><action>Change width of selected column to display cell(s) +completely.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Insert Cells...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Insert new cell(s) at selected location, moving +existing cell(s) to make room.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Remove Cells...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Remove selected cell(s), moving other cell(s) to +occupy the space left by the removed cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Insert Rows</guimenuitem> +</menuchoice></term> +<listitem><para><action>Insert new row(s) above selected row(s). +</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Delete Rows</guimenuitem> +</menuchoice></term> +<listitem><para><action>Delete selected row(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Hide Rows</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides selected row(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Show Rows</guimenuitem> +</menuchoice></term> +<listitem><para><action>Shows selected row(s). +In order to show hidden rows you need to select a range of rows that +includes the hidden rows.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Insert Columns</guimenuitem> +</menuchoice></term> +<listitem><para><action>Insert new column(s) at left of selected column(s). +</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Delete Columns</guimenuitem> +</menuchoice></term> +<listitem><para><action>Delete selected column(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Hide Columns</guimenuitem> +</menuchoice></term> +<listitem><para><action>Hides selected column(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Show Columns</guimenuitem> +</menuchoice></term> +<listitem><para><action>Shows selected column(s). +In order to show hidden columns you need to select a range of columns that +includes the hidden columns.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Add/Modify Comment...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Add or modify a comment to the selected cell.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Selection List...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Lets you select and paste text from any +cell of the current selection of cells into the selected cell.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenuitem>Show Related Words</guimenuitem> +</menuchoice></term> +<listitem><para><action>Opens the <guilabel>Related Words</guilabel> dialog box.</action> +</para></listitem> +</varlistentry> + +</variablelist></para> +</sect1> + +<sect1 id="othershort"> +<title>Other Shortcuts</title> +<para>This section describes those &kspread; shortcut keys used for operations +that do not appear in any of the menus.</para> + +<variablelist> + +<varlistentry> +<term> +<keycombo action="simul">&Ctrl;<keysym>Arrow keys</keysym></keycombo> +</term> +<listitem><para><action>If the selected cell is occupied then move the +cell cursor to the start or end of the occupied block in the current row or +column. If the selected cell is not occupied then move the cell cursor to +the start or end of the block of unoccupied cells in the current row or column. +</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keycombo action="simul">&Ctrl;&Shift;<keysym>Arrow keys</keysym></keycombo> +</term> +<listitem><para><action>If the selected cell is occupied then select all +occupied cells to the start or end of that block of occupied cells in the +current row or column. +If the selected cell is not occupied then select all unoccupied cells to the +start or end of that block of unoccupied cells in the current row or column. +</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keysym>Page Down</keysym> +</term> +<listitem><para><action>Move the cell cursor 10 cells down.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keysym>Page Up</keysym> +</term> +<listitem><para><action>Move the cell cursor 10 cells up.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keycombo action="simul">&Ctrl;<keysym>Page Down</keysym></keycombo> +</term> +<listitem><para><action>Move to the next sheet.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keycombo action="simul">&Ctrl;<keysym>Page Up</keysym></keycombo> +</term> +<listitem><para><action>Move to the previous sheet.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keysym>F4</keysym> +</term> +<listitem><para><action>Change cell reference</action> between normal and +<link linkend="absolute">absolute reference</link> types. +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keycombo action="simul">&Ctrl;<keysym>&</keysym></keycombo> +</term> +<listitem><para><action>Add a border to the selected cell(s).</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keycombo action="simul">&Ctrl;<keysym>$</keysym></keycombo> +</term> +<listitem><para><action>Display the value of the selected cell(s) in Money +format.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keycombo action="simul">&Ctrl;<keysym>%</keysym></keycombo> +</term> +<listitem><para><action>Display the value of the selected cell(s) in +Percentage format.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keycombo action="simul">&Ctrl;<keysym>^</keysym></keycombo> +</term> +<listitem><para><action>Display the value of the selected cell(s) in +Scientific format.</action> +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keycombo action="simul">&Ctrl;<keysym>#</keysym></keycombo> +</term> +<listitem><para><action>Display the value of the selected cell(s) in +Date format</action>. The value is taken as the number of days since +1 January 1900. +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keycombo action="simul">&Ctrl;<keysym>@</keysym></keycombo> +</term> +<listitem><para><action>Display the value of the selected cell(s) in +Time format</action>. The value is taken as the number of seconds since +midnight. +</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<keycombo action="simul">&Ctrl;<keysym>!</keysym></keycombo> +</term> +<listitem><para><action>Display the value of the selected cell(s) in +normal Number format</action>. +</para></listitem> +</varlistentry> + +</variablelist> + +</sect1> + +</chapter> + +<!-- +Local Variables: +mode: sgml +sgml-parent-document: ("index.docbook" "book" "chapter") +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> diff --git a/doc/kspread/config.docbook b/doc/kspread/config.docbook new file mode 100644 index 00000000..23f1a29f --- /dev/null +++ b/doc/kspread/config.docbook @@ -0,0 +1,145 @@ +<chapter id="configure"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Pamela</firstname> +<surname>Robert</surname> +<affiliation> +<address><email>pamroberts@blueyonder.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Configuring &kspread; Shortcuts and Toolbars</title> + +<sect1 id="configshort"> +<title>Shortcuts</title> +<para>To change the shortcut key arrangements used by &kspread; select +<menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure Shortcuts... +</guimenuitem></menuchoice>. This will launch a dialog box as shown below. +</para> +<mediaobject> +<imageobject> +<imagedata fileref="shortcut1.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Shortcut config screenshot 1</phrase> +</textobject> +</mediaobject> +<para>Search through the list box to find the action you want to add or +change the shortcut keys for and select it by <mousebutton>left</mousebutton> +clicking on the name. By entering the name of the action in the search bar at the +top you can quickly find the desired action. You will then be able to change the shortcut +by selecting the <guilabel>None</guilabel>, <guilabel>Default</guilabel> or +<guilabel>Custom</guilabel> radio button or by clicking on the large button in +the <guilabel>Shortcut for Selected Action</guilabel> area.</para> +<para>The <guilabel>Configure Shortcut</guilabel> dialog box will then open. +</para> +<mediaobject> +<imageobject> +<imagedata fileref="shortcut2.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Simple shortcut configuration</phrase> +</textobject> +</mediaobject> +<para>You can now simply press the key combination you want to act as the +shortcut, for example <keycombo action="simul"> +&Ctrl;&Shift;<keycap>S</keycap></keycombo>. The <guilabel>Configure +Shortcut</guilabel> dialog box will then close by itself as soon as the shortcut +is configured. +</para> +<mediaobject> +<imageobject> +<imagedata fileref="shortcut3.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Advanced shortcut configuration</phrase> +</textobject> +</mediaobject> +<para> +You can also click on the <guibutton>Advanced >></guibutton> button in the +<guilabel>Configure Shortcut</guilabel> dialog to get more options. +There you can configure a <guilabel>Primary shortcut:</guilabel> and a secondary +<guilabel>Alternate shortcut:</guilabel>. +You can even choose <guilabel>Multi-key mode</guilabel>, which lets you add additional +keys to the shortcut. +</para> +<para> +Configuring the shortcut with the simple dialog sets the primary +shortcut. +</para> + +<sect2 id="userdefmenus"> +<title>User Defined Menus</title> +<para>You can add your own pop up menu to &kspread; so that pressing one key +combination will make the menu appear then pressing a second key, or using the +<keysym>Up arrow</keysym> and <keysym>Down arrow</keysym> keys and pressing +<keysym>Enter</keysym>, will select an item from it.</para> +<para>To do this add a <guilabel>Custom</guilabel> shortcut for each of the +actions you want to appear in the menu and in the <guilabel>Configure Shortcut +</guilabel> dialog check the <guilabel>Multi-key mode</guilabel> box, press the +key combination that you want to bring up your new menu then, separately, +press the key that will choose that item from the menu.</para> +</sect2> +</sect1> + +<sect1 id="configtoolbars"> +<title>Toolbars</title> +<para>&kspread; has five toolbars: <guilabel>File</guilabel>, +<guilabel>Edit</guilabel>, <guilabel>Navigation</guilabel>, +<guilabel>Format</guilabel> and <guilabel>Color/Border</guilabel>. +each of which may or may not be shown depending on the choices made in the +<guimenu>Settings</guimenu> menu.</para> +<para>You can choose whether a toolbar appears at the <guimenuitem>Top</guimenuitem>, +<guimenuitem>Left</guimenuitem>, <guimenuitem>Right</guimenuitem> or +<guimenuitem>Bottom</guimenuitem> of &kspread;'s window by <mousebutton>right</mousebutton> clicking on +the toolbar, which brings up the <guilabel>Toolbar Menu</guilabel>, and making +a selection from the <guisubmenu>Orientation</guisubmenu> sub menu. This +<guilabel>Toolbar Menu</guilabel> also has sub menus for choosing whether the +toolbar displays icons, text or both, and the size of the icons.</para> + +<para>Another way of moving a toolbar is by positioning the mouse pointer over +the two vertical bars at the left end of each toolbar and holding the +<mousebutton>left</mousebutton> mouse button down while you drag the toolbar +to the wanted position. When you drag the toolbar in this way you can release +the mouse button when it is some distance from any of &kspread;'s window +sides, and then you will get a floating toolbar, which is not locked to any +particular part of &kspread;'s window and can in fact be moved outside of +the window. To put a floating toolbar back into one of the traditional +positions <mousebutton>right</mousebutton> click on its titlebar to bring +up the <guilabel>Toolbar Menu</guilabel> then choose one of the options in +the <guisubmenu>Orientation</guisubmenu> sub menu.</para> +<para>You can also <quote>flatten</quote> a toolbar by <mousebutton>left +</mousebutton> clicking on the two vertical bars at the left end of the +toolbar or by selecting <menuchoice><guisubmenu>Orientation</guisubmenu> +<guimenuitem>Flat</guimenuitem></menuchoice> from the <guilabel>Toolbar +Menu</guilabel>. A <quote>flattened</quote> toolbar appears as a small +rectangle containing two horizontal bars just under &kspread;'s Menubar. It +can be restored to normal by <mousebutton>left</mousebutton> clicking on it. +</para> +<para>Selecting <guimenuitem>Configure Toolbars...</guimenuitem> from the +<guimenu>Settings</guimenu> menu will bring up a dialog box which lets you add +buttons to or remove them from &kspread;'s toolbars.</para> +<para>To use this <guilabel>Configure Toolbars</guilabel> dialog box first +select a toolbar from the <guilabel>Toolbar:</guilabel> combo box. The +right hand <guilabel>Current actions:</guilabel> window will then show the +buttons currently present on the toolbar. You can remove a button by selecting +it in this window then pressing the left arrow button, or move it around by +pressing the up and down arrow buttons. To add a new button to the toolbar +select it in the <guilabel>Available actions:</guilabel> list then press the +right arrow button.</para> +</sect1> +</chapter> + +<!-- +Local Variables: +mode: sgml +sgml-parent-document: ("index.docbook" "book" "chapter") +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> diff --git a/doc/kspread/configdialog.docbook b/doc/kspread/configdialog.docbook new file mode 100644 index 00000000..8936eef5 --- /dev/null +++ b/doc/kspread/configdialog.docbook @@ -0,0 +1,377 @@ +<chapter id="configdialog"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Pamela</firstname> +<surname>Robert</surname> +<affiliation> +<address><email>pamroberts@blueyonder.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>The &kspread; Configuration Dialog Box</title> + +<para>Selecting <menuchoice><guimenu>Settings</guimenu><guimenuitem> +Configure &kspread;...</guimenuitem></menuchoice> opens a dialog box +with several pages, selected with the icons at the left of the dialog box, +which allow you to change many aspects of &kspread;'s operation.</para> + +<sect1 id="configlocale"> +<title><guilabel>Locale Settings</guilabel></title> +<para> + <mediaobject> + <imageobject> + <imagedata fileref="configure1.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Locale Settings Configuration.</phrase> + </textobject> + </mediaobject> +</para> +<para>This page of &kspread;'s configuration dialog box shows how items +such as numbers, date, time and money are displayed.</para> +<para>If you have loaded a spreadsheet that was generated using a different +locale, then pressing the <guibutton>Update Locale Settings</guibutton> +button on this page will update it to conform to your locale settings as they are fixed in &kcontrolcenter;.</para> +</sect1> + +<sect1 id="configinterface"> +<title><guilabel>Interface</guilabel></title> +<para> + <mediaobject> + <imageobject> + <imagedata fileref="configure2.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Interface Configuration.</phrase> + </textobject> + </mediaobject> +</para> +<para>This page of &kspread;'s configuration dialog box (obtained by selecting +<guimenuitem>Configure &kspread;...</guimenuitem> from the <guimenu>Settings +</guimenu> menu) controls some more &kspread; features:</para> + +<para><variablelist> +<varlistentry> +<term><guilabel>Number of sheets open at the beginning:</guilabel></term> +<listitem><para>Controls how many worksheets will be created if the +option <guilabel>Blank Worksheet</guilabel> is chosen when +&kspread; is started. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Number of files to show in Recent Files list:</guilabel></term> +<listitem><para>Controls the maximum number of filenames that are shown +when you select <menuchoice><guimenu>File</guimenu><guisubmenu> +Open Recent</guisubmenu></menuchoice>. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Autosave Delay (minutes):</guilabel></term> +<listitem><para>Here you can select the time between autosaves, or disable +this feature altogether by choosing <guilabel>Do not save automatically</guilabel> +(drag the slider to the far left). +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Create backup files</guilabel></term> +<listitem><para>Check this box if you want some backup files created. This is checked per default. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show vertical scrollbar</guilabel></term> +<listitem><para>Check or uncheck this box to show or hide the vertical +scrollbar in all sheets. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show horizontal scrollbar</guilabel></term> +<listitem><para>Check or uncheck this box to show or hide the horizontal +scrollbar in all sheets. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show column header</guilabel></term> +<listitem><para>Check this box to show the column letters across the top of each +worksheet. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show row header</guilabel></term> +<listitem><para>Check this box to show the row numbers down the left side. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show tabs</guilabel></term> +<listitem><para>This check box controls whether the sheet tabs are shown +at the bottom of the worksheet. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show formula toolbar</guilabel></term> +<listitem><para>Here is where you can choose to show or hide the <guilabel>Formula</guilabel> bar. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show status bar</guilabel></term> +<listitem><para>Uncheck this box if you want to hide the status bar. +</para></listitem> +</varlistentry> + +</variablelist></para> + +</sect1> + +<sect1 id="configmisc"> +<title><guilabel>Misc</guilabel></title> +<para> + <mediaobject> + <imageobject> + <imagedata fileref="configure3.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Miscellaneous Configuration.</phrase> + </textobject> + </mediaobject> +</para> +<para>The <guilabel>Misc</guilabel> page of &kspread;'s configuration +dialog box contains the following items;</para> + +<para><variablelist> +<varlistentry> +<term><guilabel>Completion mode:</guilabel></term> +<listitem><para>Lets you choose the (auto) text completion mode from a +range of options in the drop down selection box. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Pressing enter moves cell cursor:</guilabel></term> +<listitem><para>Select whether pressing the <keysym>Enter</keysym> +key will move the cursor <guilabel>Down</guilabel>, <guilabel>Up</guilabel>, +<guilabel>Right</guilabel>, <guilabel>Left</guilabel> or <guilabel>Down, +First Column</guilabel> as determined by the setting in this drop down selection box. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Method of calc:</guilabel></term> +<listitem><para>This drop down selection box can be used to choose the +calculation performed by the <link linkend="statusbarsum">Statusbar Summary +</link> function. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Indentation step (cm):</guilabel></term> +<listitem><para>Lets you define the amount of indenting used by the +<guimenuitem>Increase Indent</guimenuitem> option in the <guimenu>Format +</guimenu> menu. +</para> +<para>The unit taken here is the one you fixe in the Configure +&kspread; dialog, in the Page Layout tab in the <guilabel>Default page +unit:</guilabel> setting. </para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show error message for invalid formulae</guilabel></term> +<listitem><para>If this box is checked a message box will pop up when what +you have entered into a cell cannot be understood by &kspread;. +</para></listitem> +</varlistentry> + +<!--<varlistentry> +<term><guilabel>Show comment indicator</guilabel></term> +<listitem><para>If this box is checked cells containing comments will be +marked by a small red triangle at the top right corner. +</para></listitem> +</varlistentry>--> + +</variablelist></para> + +</sect1> + +<sect1 id="configcolor"> +<title><guilabel>Color</guilabel></title> +<para> + <mediaobject> + <imageobject> + <imagedata fileref="configure4.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Color Configuration.</phrase> + </textobject> + </mediaobject> +</para> +<para>This page of &kspread;'s configuration dialog box lets you choose the +color of the sheet grid. If you do not want the grid to appear at all, uncheck the <guilabel>Show grid</guilabel> box in +the <menuchoice><guimenu>Format</guimenu><guisubmenu>Sheet</guisubmenu><guimenuitem>Sheet Properties</guimenuitem></menuchoice> dialog.</para> + +<para>This page also lets you select the color of the lines used to indicate +the printed page borders when the <guimenuitem>Show Page Borders</guimenuitem> +box in the <guimenu>View</guimenu> menu is checked.</para> +<para>Click on the current color to display the standard KDE <guilabel>Select Color</guilabel> dialog.</para> + +<para><variablelist> + +<varlistentry> +<term><guilabel>Grid color:</guilabel></term> +<listitem><para>Click here to change the grid color &ie; the color of the borders of each cell. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Page borders:</guilabel></term> +<listitem><para>When the <menuchoice><guimenu>View</guimenu><guimenuitem>Show Page Borders</guimenuitem></menuchoice> menu item is checked, the page borders are displayed. Click here to choose another color for the borders than the default red. +</para></listitem> +</varlistentry> + +</variablelist></para> + +</sect1> + +<sect1 id="configpagelayout"> +<title><guilabel>Page Layout</guilabel></title> +<para> + <mediaobject> + <imageobject> + <imagedata fileref="configure5.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Page Layout Configuration.</phrase> + </textobject> + </mediaobject> +</para> +<para>This page of &kspread;'s configuration dialog box lets you set up the +default page size, orientation and units used by the printer and by the +<guilabel>Page Layout</guilabel> dialog box (obtained by selecting +<guimenuitem>Page Layout...</guimenuitem> from the <guimenu>Format +</guimenu> menu.</para> + +<para><variablelist> + +<varlistentry> +<term><guilabel>Default page size:</guilabel></term> +<listitem><para>Choose the default page size for your worksheet among all the most common page sizes. Note that you can overwrite the page size for the current sheet using the <menuchoice><guimenu>Format</guimenu><guimenuitem>Page Layout...</guimenuitem></menuchoice> dialog. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Default page orientation:</guilabel></term> +<listitem><para>Choose the default sheet orientation: portrait or landscape. +Note that you can overwrite the orientation for the current sheet using the +<menuchoice><guimenu>Format</guimenu><guimenuitem>Page +Layout...</guimenuitem></menuchoice> dialog. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Default page unit:</guilabel></term> +<listitem><para>Choose the default unit that will be used in your all your sheets. Note that you can overwrite the unit for the current sheet using the <menuchoice><guimenu>Format</guimenu><guimenuitem>Page Layout...</guimenuitem></menuchoice> dialog. +</para></listitem> +</varlistentry> + +</variablelist></para> + +</sect1> + +<sect1 id="configspelling"> +<title><guilabel>Spelling</guilabel></title> +<para> + <mediaobject> + <imageobject> + <imagedata fileref="configure6.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Spelling Configuration.</phrase> + </textobject> + </mediaobject> +</para> +<para>This page lets you configure the behavior of &kspread;'s spell +checker.</para> +<para><variablelist> + +<varlistentry> +<term><guilabel>Create root/affix combinations not in dictionary</guilabel> +</term> +<listitem><para>If this box is checked then when &kspread; finds a word in +the document which it does not recognize but which consists of a recognized +root word plus a recognized prefix or suffix it will accept it, whereas if +the box is not checked the spell checker will reject it. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Consider run-together words as spelling errors</guilabel> +</term> +<listitem><para>If this box is checked then common words which are run +together will be considered to be spelling errors, for example <emphasis> +cannot</emphasis>. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Dictionary:</guilabel></term> +<listitem><para>This drop down selection box can be used to select +alternative dictionaries. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Encoding:</guilabel></term> +<listitem><para>To select the character encoding that should be used. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Client:</guilabel></term> +<listitem><para>This combo box lets you select between different spell +checking programs that may be present on your computer. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Skip all uppercase words</guilabel></term> +<listitem><para>Check this box if you want the spellchecker to ignore +uppercase words, which are usually acronyms such as &kde;. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Do not check title case</guilabel></term> +<listitem><para>Check this box if you want the spellchecker to ignore +the title case, for example My Own Spreadsheet or My own spreadsheet. If this is unchecked, the spell checker will ask for a uppercase letter in the title nouns. +</para></listitem> +</varlistentry> + +</variablelist></para> +</sect1> + +<sect1 id="opt-tts"><title>Configure Text-To-Speech options</title> +<para>See the <link linkend="a11y-tts">Text-to-Speech</link> section +in the accessibility chapter for further details.</para> +</sect1> +</chapter> + +<!-- +Local Variables: +mode: sgml +sgml-parent-document: ("index.docbook" "book" "chapter") +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> diff --git a/doc/kspread/configure1.png b/doc/kspread/configure1.png Binary files differnew file mode 100644 index 00000000..7d227130 --- /dev/null +++ b/doc/kspread/configure1.png diff --git a/doc/kspread/configure2.png b/doc/kspread/configure2.png Binary files differnew file mode 100644 index 00000000..af956024 --- /dev/null +++ b/doc/kspread/configure2.png diff --git a/doc/kspread/configure3.png b/doc/kspread/configure3.png Binary files differnew file mode 100644 index 00000000..d12ca56a --- /dev/null +++ b/doc/kspread/configure3.png diff --git a/doc/kspread/configure4.png b/doc/kspread/configure4.png Binary files differnew file mode 100644 index 00000000..549b8f1b --- /dev/null +++ b/doc/kspread/configure4.png diff --git a/doc/kspread/configure5.png b/doc/kspread/configure5.png Binary files differnew file mode 100644 index 00000000..3d179421 --- /dev/null +++ b/doc/kspread/configure5.png diff --git a/doc/kspread/configure6.png b/doc/kspread/configure6.png Binary files differnew file mode 100644 index 00000000..92910c62 --- /dev/null +++ b/doc/kspread/configure6.png diff --git a/doc/kspread/copy1.png b/doc/kspread/copy1.png Binary files differnew file mode 100644 index 00000000..4833e0d5 --- /dev/null +++ b/doc/kspread/copy1.png diff --git a/doc/kspread/currency.png b/doc/kspread/currency.png Binary files differnew file mode 100644 index 00000000..5143aeb1 --- /dev/null +++ b/doc/kspread/currency.png diff --git a/doc/kspread/decreasedecimal.png b/doc/kspread/decreasedecimal.png Binary files differnew file mode 100644 index 00000000..6167f5dd --- /dev/null +++ b/doc/kspread/decreasedecimal.png diff --git a/doc/kspread/faq.docbook b/doc/kspread/faq.docbook new file mode 100644 index 00000000..c8687449 --- /dev/null +++ b/doc/kspread/faq.docbook @@ -0,0 +1,45 @@ +<chapter id="faq"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Pamela</firstname> +<surname>Robert</surname> +<affiliation> +<address><email>pamroberts@blueyonder.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Questions and Answers</title> + +<qandaset> + +<qandaentry> +<question><para>How many rows and columns can I have in a sheet?</para> +</question> +<answer><para>Theoretically up to 32767 rows and 32767 columns.</para></answer> +</qandaentry> + +<qandaentry> +<question><para>Where are the templates stored?</para> +</question> +<answer><para>As <literal role="extension">.kst</literal> files under +<filename>~/.kde/share/apps/kspread/templates/</filename>. +</para></answer> +</qandaentry> + +</qandaset> +</chapter> + + +<!-- +Local Variables: +mode: sgml +sgml-parent-document: ("index.docbook" "book" "chapter") +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> diff --git a/doc/kspread/format.docbook b/doc/kspread/format.docbook new file mode 100644 index 00000000..afe5787c --- /dev/null +++ b/doc/kspread/format.docbook @@ -0,0 +1,693 @@ +<chapter id="formatspread"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Pamela</firstname> +<surname>Robert</surname> +<affiliation> +<address><email>pamroberts@blueyonder.co.uk</email></address> +</affiliation> +</author> +<author> +<firstname>Raphael</firstname> +<surname>Langerhorst</surname> +<affiliation> +<address><email>raphael.langerhorst@kdemail.net</email></address> +</affiliation> +</author> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annemarie.mahfouf@free.fr</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Spreadsheet Formatting</title> + +<sect1 id="formatcells"> +<!--<title>Fonts, Text, Borders and Colors</title>--> +<title>Cell Format</title> +<para>To change the format and appearance of selected cell(s), row(s) or column(s) use +the <guimenuitem>Cell Format...</guimenuitem> option from the <guimenu>Format +</guimenu> menu or from the <mousebutton>right</mousebutton> mouse button popup +menu.</para> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="cellformat0.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Right mouse button context menu.</phrase> +</textobject> +</mediaobject> +</para> +<para>This will bring up the <guilabel>Cell Format</guilabel> dialog box +which has several tabbed pages:</para> +<sect2 id="formatdata"> +<!-- beginning of annma writing --> +<title>Data Formats and Representation</title> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="cellformat1.png" format="PNG"/> +</imageobject> +<textobject> +<phrase><guilabel>Data Format</guilabel> page.</phrase> +</textobject> +</mediaobject> +</para> +<para>The <guilabel>Data Format</guilabel> page of the <guilabel>Cell Format</guilabel> dialog box +lets you control how the values of cells are displayed.</para> +<para>The top part of this page lets you select the format to be used when +displaying numeric values, dates or times. A <guilabel>Preview</guilabel> pane +allows you to see the effect of the new format. +</para> +<para>You can set the same data format for a row or a column by selecting the +row or column and calling the <guilabel>Cell Format</guilabel> dialog with the &RMB;.</para> +<note><para>You can increase the precision decimal for any number in <guilabel>Generic</guilabel>, +<guilabel>Number</guilabel>, <guilabel>Percent</guilabel>, <guilabel>Money</guilabel> or +<guilabel>Scientific</guilabel> formats using the <guiicon>Increase decimal +precision</guiicon> icon in the <guilabel>Format</guilabel> toolbar: <inlinemediaobject><imageobject> +<imagedata fileref="increasedecimal.png" format="PNG"/> +</imageobject></inlinemediaobject></para> +<para>You can decrease the precision decimal for any number in <guilabel>Generic</guilabel>, +<guilabel>Number</guilabel>, <guilabel>Percent</guilabel>, <guilabel>Money</guilabel> or +<guilabel>Scientific</guilabel> formats using the <guiicon>Decrease decimal precision</guiicon> icon +in the <guilabel>Format</guilabel> toolbar: <inlinemediaobject><imageobject> +<imagedata fileref="decreasedecimal.png" format="PNG"/> +</imageobject></inlinemediaobject></para> +</note> +<variablelist> +<varlistentry> +<term><guilabel>Generic</guilabel></term> +<listitem><para>This is the default format and &kspread; autodetects the +actual +data type depending on the current cell data. By default, &kspread; right +justifies numbers, dates and times within a cell and left justifies anything +else.</para> +<para>If the <guilabel>Generic</guilabel> format does not suit you, you can change to a specific +format among the choices below.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Number</guilabel></term> +<listitem><para>The number notation uses the notation you globally choose in +&kcontrolcenter; in <menuchoice><guimenu>Regional & +Accessibility</guimenu><guisubmenu>Country/Region & Language</guisubmenu><guimenuitem>Numbers</guimenuitem></menuchoice>. +Numbers are right justified by default.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Percent</guilabel></term> +<listitem><para>When you have a number in the current cell and you switch the +cell format from <guilabel>Generic</guilabel> to <guilabel>Percent</guilabel>, the current cell number will be multiplied +by 100%.</para> +<para>For example if you enter 2 and set the cell format to <guilabel>Percent</guilabel>, the number +will then be 200 %. Switching back to <guilabel>Generic</guilabel> cell format will bring it back to +2.</para> +<para>You can also use the <guiicon>Percent</guiicon> icon in the <guilabel>Format</guilabel> +Toolbar: <inlinemediaobject><imageobject> +<imagedata fileref="percent.png" format="PNG"/> +</imageobject></inlinemediaobject></para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Money</guilabel></term> +<listitem><para>The <guilabel>Money</guilabel> format converts your number into money notation using +the settings globally fixed in &kcontrolcenter; in <menuchoice><guimenu>Regional +& Accessibility</guimenu><guisubmenu>Country/Region & Language</guisubmenu><guimenuitem>Money</guimenuitem></menuchoice>. The +currency symbol will be displayed and the precision will be the one set in +&kcontrolcenter;.</para> +<para>You can also use the <guiicon>Currency</guiicon> icon in the <guilabel>Format</guilabel> toolbar to set the +cell formatting to look like your current currency: +<inlinemediaobject><imageobject> +<imagedata fileref="currency.png" format="PNG"/> +</imageobject></inlinemediaobject></para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Scientific</guilabel></term> +<listitem><para>The <guilabel>Scientific</guilabel> format changes your number using the scientific +notation. For example, 0.0012 will be changed to 1.2E-03. Going back using +<guilabel>Generic</guilabel> cell format will display 0.0012 again. The <guilabel>Generic</guilabel> cell data format does +not keep scientific notation so if you want this notation, you have to specify +it using this menu item.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Fraction</guilabel></term> +<listitem><para>The <guilabel>Fraction</guilabel> format changes your number into a fraction. For +example, 0.1 can be changed to 1/8, 2/16, 1/10, &etc;. You define the type of +fraction by choosing it in the field on the right. If the exact fraction is not +possible in the fraction mode you choose, the nearest closest match is chosen. +For example: when we have 1.5 as number, we choose <guilabel>Fraction</guilabel> +and <guilabel>Sixteenths 1/16</guilabel> the text displayed into cell is "1 +8/16" which is an exact fraction. If you have 1.4 as number in your cell and you +choose <guilabel>Fraction</guilabel> and <guilabel>Sixteenths 1/16</guilabel> +then the cell will display "1 6/16" which is the nearest closest Sixteenth +fraction.</para> +</listitem><!--TODO formatting of numbers?--> +</varlistentry> +<varlistentry> +<term><guilabel>Date format</guilabel></term> +<listitem><para>To enter a date, you should enter it in one of the formats set +in &kcontrolcenter; in <menuchoice><guimenu>Regional & +Accessibility</guimenu><guisubmenu>Country/Region & Language</guisubmenu><guimenuitem>Time & +Dates</guimenuitem></menuchoice>. There are two formats set here: the date format +and the short date format.</para> +<para>A random natural number NN will be transformed in the date from 30st +December 1899 (which is 0) with the number of days NN added. For example if you +have a cell with 100 and you choose <guilabel>Date format</guilabel>, "1900-04-09" will be +displayed in the cell which is 100 days after 30st December 1899. This starting +date is two days early as it was a bug in Lotus 123 and then it stayed that way +in Excel in order to keep compatibility. Few people will need to calculate from +1st January 1900 anyway and adding 9 days to 1st November 2000 for example will +give you 10th November 2000 so all normal calculations on dates are +correct.</para> +<note><para>When a cell is in the <guilabel>Date format</guilabel>, you can drag this cell down as +you do with numbers and the next cells will also get +dates, each date being increased by one day.</para></note><!--TODO explain that +better--> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Time format</guilabel></term> +<listitem><para>This formats your cell content as a time. To enter a time, you +should enter it in the <guilabel>Time format</guilabel> set in &kcontrolcenter; +in <menuchoice><guimenu>Regional & Accessibility</guimenu><guisubmenu>Country/Region & +Language</guisubmenu><guimenuitem>Time +& Dates</guimenuitem></menuchoice>. In the <guilabel>Cell Format</guilabel> +dialog box you can set how the time should be displayed by choosing one of the +available time format options. The default format is the system format set in +&kcontrolcenter;. When the number in the cell does not make sense as a time, +&kspread; will display 00:00 in the global format you have in +&kcontrolcenter;.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Text</guilabel></term> +<listitem><para>This formats your cell content as text. This can be useful if +you want a number treated as text instead as a number, for example for a ZIP +code. Setting a number as text format will left justify it. When numbers are +formatted as text, they cannot be used in calculations or formulas. It also +change the way the cell is justified.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Custom</guilabel></term> +<listitem><para>Does not work yet. To be enabled in the next release.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>The lower part of the <guilabel>Data Format</guilabel> page lets you add +a <guilabel>Prefix:</guilabel> such as a $ symbol at the start of each item or +a <guilabel>Postfix:</guilabel> such as $HK to the end. You can also control +how many digits are displayed after the decimal point for numeric values, +whether positive values are displayed with a leading + sign and whether +negative values are shown in red. +</para> +</sect2> <!--end of annma writing --> + +<sect2 id="formattext"> +<title>Fonts and Text Settings</title> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="cellformat2.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Font page.</phrase> +</textobject> +</mediaobject> +</para> +<para>The <guilabel>Font</guilabel> page lets you select the font family, <guilabel>Style:</guilabel>, +<guilabel>Size:</guilabel>, <guilabel>Weight:</guilabel> +and <guilabel>Color:</guilabel> for the current cell, including some additional options like +underlined or striked out text. +The lower part of the page gives a <guilabel>Preview</guilabel> of the selected text format.</para> +<para>The default font is set for all cells in the +<menuchoice><guimenu>Format</guimenu><guimenuitem>Style +Manager</guimenuitem></menuchoice> menu with the currently used style.</para> +<!--annma--> +<variablelist> +<!--varlistentry> +<term><guilabel>Family List box</guilabel></term> +<listitem><para>Allows you to choose a new font family.</para> +</listitem> +</varlistentry--> +<varlistentry> +<term><guilabel>Style:</guilabel></term> +<listitem><para>Choose the style for your font for the currently selected cells. +When you select several cells with different styles, the displayed style is set +to <guilabel>Varying (No Change)</guilabel> and leaving it that way will keep +all your current style settings for each cell. Changing to +<guilabel>Roman</guilabel> for example will change all the selected cells style +text to <guilabel>Roman</guilabel>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Size:</guilabel></term> +<listitem><para>Choose the size for your font for the currently selected cells. +When you select several cells with different sizes, the displayed size is set to +<guilabel> </guilabel> (no number written) and leaving it that way will keep all +your current size settings for each cell. Changing to <guilabel>14</guilabel> +for example will change all the selected cells font size to +<guilabel>14</guilabel>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Weight:</guilabel></term> +<listitem><para>Choose the weight for your font for the currently selected +cells. When you select several cells with different font weight, the displayed +weight is set to <guilabel>Varying (No Change)</guilabel> and leaving it that +way will keep all your current weight settings for each cell. Changing to +<guilabel>Bold</guilabel> for example will change all the selected cells font +weight to <guilabel>Bold</guilabel>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Color:</guilabel></term> +<listitem><para>Choose the color for the currently selected cells' text. +Clicking on the color bar will bring you the standard KDE <guilabel>Select Color</guilabel> dialog +where you will be able to choose the new color. </para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Underline</guilabel></term> +<listitem><para>Underlines the currently selected cells' text if checked. This +is +not checked per default.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Strike out</guilabel></term> +<listitem><para>This will strike out the currently selected cells' text if this +is checked. This is not checked per default.</para> +</listitem> +</varlistentry> +</variablelist> +<!--end of annma--> +</sect2> + +<sect2 id="formatposition"> +<title>Text Position and Rotation</title> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="cellformat3.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Position page.</phrase> +</textobject> +</mediaobject> +</para> +<para>From the <guilabel>Position</guilabel> page you can control the position +of text within a cell by making suitable selections in the <guilabel>Horizontal +</guilabel> and <guilabel>Vertical</guilabel> areas or by setting the +<guilabel>Indent</guilabel> value. You can also choose to have the text +appear vertically rather than horizontally, or even at an angle.</para> + +<variablelist> +<varlistentry> +<term><guilabel>Horizontal</guilabel></term> +<listitem><para>Set the content position horizontally in the cell. +<guilabel>Standard</guilabel> is default and is set from the data format you choose. +<guilabel>Left</guilabel> means the content will be displayed on the left of the cell. +<guilabel>Center</guilabel> means the content will be in the center horizontally in the cell. +<guilabel>Right</guilabel> means the content of the cell will be displayed on the right of the +cell.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Vertical</guilabel></term> +<listitem><para>Set the content position vertically in the cell. +<guilabel>Top</guilabel> means the content will be displayed on top of the cell. +<guilabel>Middle</guilabel> means the content will be in the middle vertically in the cell. +<guilabel>Bottom</guilabel> means the content of the cell will be displayed at the bottom of the +cell.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Text Option</guilabel></term> +<listitem><para>This is only available when the rotation is 0°. +<guilabel>Wrap text</guilabel> wraps the text so it fits in the previous cell size. If this is not +checked, the text will stay on one line.</para> +<para><guilabel>Vertical text</guilabel> puts your text vertically.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Rotation</guilabel></term> +<listitem><para>Your text will appear oriented in the angle you set here. +Positive values will move it counter-clockwise and negative values will move it +clockwise.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Merge Cells</guilabel></term> +<listitem><para>When checked, this has the same effect +as <menuchoice><guimenu>Data</guimenu><guimenuitem>Merge +Cells</guimenuitem></menuchoice>. You need to have at least two +consecutive cells selected. Those consecutive cells are then merged into a +bigger one.</para> +<para>When a merged cell is selected and when you uncheck this, then all cells +come back to their original size as before the merging. It has the same effect +as <menuchoice><guimenu>Data</guimenu><guimenuitem>Dissociate +Cells</guimenuitem></menuchoice>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Indent</guilabel></term> +<listitem><para>Set the amount of indent that will be used in the cell when you +choose the <menuchoice><guimenu>Format</guimenu><guimenuitem>Increase +Indent</guimenuitem></menuchoice> or +<menuchoice><guimenu>Format</guimenu><guimenuitem>Decrease +Indent</guimenuitem></menuchoice> menus.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Size of Cell</guilabel></term> +<listitem><para>You set here the size of the cell, either a custom width and +height or choose the default width and height.</para> +</listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="formatborder"> +<title>Cell Border</title> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="cellformat4.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Border page.</phrase> +</textobject> +</mediaobject> +</para> +<para>The <guilabel>Border</guilabel> page lets you set the appearance of the +cell borders. If you have selected more than one cell you can apply different +styles to the borders between the cells and that surrounding the selected area. +</para> +<para>First select the pattern and color from the <guilabel>Pattern</guilabel> +section of the <guilabel>Border</guilabel> page then apply that to +different parts of the border by clicking on the appropriate button in the +<guilabel>Border</guilabel> section, or on one of the <guilabel>Preselect +</guilabel> buttons. The left hand button in the <guilabel>Preselect +</guilabel> section will clear any previously applied border(s). Note that you +can also add a diagonal strike-through line to the cell(s).</para> +</sect2> +<sect2 id="formatbackground"> +<title>Cell Background</title> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="cellformat5.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Background page.</phrase> +</textobject> +</mediaobject> +</para> +<para>The cell background pattern and color can be selected from the +<guilabel>Background</guilabel> page.</para> +<para>Simply choose a desired <guilabel>Pattern</guilabel>, then select the pattern +<guilabel>Color</guilabel> and the <guilabel>Background color</guilabel>.</para> +<para>At the bottom of this page you can see a <guilabel>Preview</guilabel> of the configured +cell background.</para> +</sect2> +<sect2 id="formatprotection"> +<title>Cell Protection</title> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="cellformat6.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Cell protection page.</phrase> +</textobject> +</mediaobject> +</para> +<para>You can change the way the content of a cell is protected in the +<guilabel>Cell Protection</guilabel> page.</para> +<para>All cells are protected by default (that means cell content cannot be +changed) and for the cell protection to be active you also need to protect the +sheet using the <menuchoice><guimenu>Tools</guimenu><guimenuitem>Protect Sheet...</guimenuitem></menuchoice> +menu and to provide a password. +You can also hide the cell formula in order to protect the way you calculate the +formula. This also needs to enable sheet protection to work. +You can hide the cell content with <guilabel>Hide all</guilabel> and again this needs sheet +protection. +You can learn more about all these settings in the <link +linkend="protection">Advanced &kspread; chapter, Protection +section</link>.</para> +<variablelist> +<varlistentry> +<term><guilabel>Hide all</guilabel></term> +<listitem><para>This hides the cell content and works only when the sheet is +protected which means that changing the <guilabel>Hide all</guilabel> +attribute of a cell has no effect unless the sheet is protected. Whether the +cell itself is protected or not does not matter.</para> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="cellformat7.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Hide all.</phrase> +</textobject> +</mediaobject> +</para> +<para>When <guilabel>Hide all</guilabel> is selected, <guilabel>Protected</guilabel> +and <guilabel>Hide formula</guilabel> are disabled as when the +sheet is protected <guilabel>Hide all</guilabel> hides the cell content and the +formula and thus masks and protects the cell content.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Protected</guilabel></term> +<listitem><para>If checked, the cell content will be protected. This is +the default behaviour. You need to protect the whole sheet using the +<menuchoice><guimenu>Tools</guimenu><guimenuitem>Protect Sheet...</guimenuitem></menuchoice> +menu for this individual cell protection to work. When a cell is protected, its +content cannot be changed.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Hide formula</guilabel></term> +<listitem><para>When this is checked, the cell is still visible. However, +its contents do not appear in the <guilabel>Formula</guilabel> bar. Hiding formula is only working +for cells that contain formulae so the user cannot view the formula. And the +sheet must be protected for this to work.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Do not print text</guilabel></term> +<listitem><para>If you check <guilabel>Do not print text</guilabel> then the +text in the cell will not be printed. This is unchecked per default which means +that the cell text will always be printed by default.</para> +</listitem> +</varlistentry> +</variablelist> +</sect2> +</sect1> + +<sect1 id="conditional"> +<title>Conditional Cell Attributes</title> +<para>You can make the appearance of a cell change according to the value it +contains, useful perhaps if you are using &kspread; to keep track of your +household expenses and want to highlight any item greater than, say, one +thousand dollars.</para> +<para>To do this select the cell(s) then choose <guimenuitem>Conditional Cell +Attributes...</guimenuitem> from the <guimenu>Edit</guimenu> menu. This will +bring up the <guilabel>Conditional Cell Attributes</guilabel> dialog box where +you can make the font type and color of a cell change when the value meets +one or more conditions. Note that the second and third conditions only apply +if the previous condition(s) are not met.</para> +<para>Use <menuchoice><guisubmenu>Clear</guisubmenu><guimenuitem>Conditional +Cell Attributes</guimenuitem></menuchoice> from the <guimenu>Edit</guimenu> +menu to clear any conditional attributes from selected cells.</para> +</sect1> + +<sect1 id="cellsize"> +<title>Changing Cell Sizes</title> +<para>The <guilabel>Position</guilabel> page in the <guilabel>Cell Format +</guilabel> dialog lets you alter the size of the selected cell(s). Note that +changing the height of a single cell will change the height for all cells in +that row, similarly changing the width will affect the entire column.</para> +<para>You can also select the row(s) or column(s) to be changed then select +<guimenuitem>Resize Row...</guimenuitem> or <guimenuitem>Resize Column... +</guimenuitem> from the <mousebutton>right</mousebutton> mouse button pop up +menu or from the <menuchoice><guimenu>Format</guimenu><guisubmenu>Row +</guisubmenu></menuchoice> or <menuchoice><guimenu>Format</guimenu><guisubmenu> +Column</guisubmenu></menuchoice> menu.</para> +<para>If you move the mouse cursor so that its tip is over the line between +two of the row numbers at the left of &kspread;'s window the cursor will +change to show two parallel lines each with a short arrow headed line coming +from it. When the cursor is in this state you can hold the <mousebutton>left +</mousebutton> mouse button down and drag the border between the two rows, +changing the height of the upper row. A similar technique can be used to +change the width of a column.</para> + +<para>To set the row height or column width to the minimum needed to +display the contents, select the whole row or column, and click with the &RMB; +on the row or column label. In the menu which appears, select +<guimenuitem>Adjust Row</guimenuitem> or <guimenuitem>Adjust +Column</guimenuitem>. The row or column will resize to the minimum +necessary. You can also select a single cell or range of cells, and +click <guimenuitem>Adjust Row & Column</guimenuitem> from either +the &RMB; popup menu or the <guimenu>Format</guimenu> menu.</para> + +<para>You can make a number of adjacent rows or columns the same size by +selecting them then choosing <menuchoice><guimenu>Format</guimenu><guisubmenu> +Row</guisubmenu><guimenuitem>Equalize Row</guimenuitem></menuchoice> or +<menuchoice><guimenu>Format</guimenu><guisubmenu>Column</guisubmenu> +<guimenuitem>Equalize Column</guimenuitem></menuchoice>.</para> + +</sect1> + +<sect1 id="merging"> +<title>Merging Cells</title> +<para>It is often convenient to have one cell that spreads across two or more +columns or down more than one row. This can be done by merging two or more +cells into one. Select the cells to be merged than choose <menuchoice><guimenu> +Data</guimenu><guimenuitem>Merge Cells</guimenuitem></menuchoice>.</para> +<para>To reverse this process, select the merged cell then choose <guimenuitem> +Dissociate Cells</guimenuitem> from the <guimenu>Data</guimenu> menu.</para> +</sect1> + +<sect1 id="hiding"> +<title>Hiding Rows and Columns</title> +<para>A finished spreadsheet can often be made to look more attractive by +hiding the cells containing intermediate calculations so that only the +important data input and result areas are shown.</para> +<para>In &kspread; you can hide selected rows or columns by +using the <guimenuitem>Hide Rows</guimenuitem> and <guimenuitem>Hide +Columns</guimenuitem> options from the <menuchoice><guimenu>Format</guimenu> +<guisubmenu>Row</guisubmenu></menuchoice>, <menuchoice><guimenu>Format +</guimenu><guisubmenu>Column</guisubmenu></menuchoice> or +<mousebutton>right</mousebutton> mouse button menus. Hidden rows and columns +are not displayed on the screen or included in a print out.</para> +<para>Hiding cells in this way also makes them slightly less prone to +accidental change.</para> +<para>To un-hide a row or column select <menuchoice><guisubmenu>Row +</guisubmenu><guimenuitem>Show Rows...</guimenuitem></menuchoice> or +<menuchoice><guisubmenu>Column</guisubmenu><guimenuitem>Show Columns... +</guimenuitem></menuchoice> from the <guimenu>Format</guimenu> +menu. In the dialog box which appears, you can select any number of +rows to show (use <keycombo action="simul">&Ctrl;</keycombo> + click to select +multiple rows or columns).</para> +</sect1> + +<sect1 id="sheet-properties"> +<title>Sheet properties</title> +<para>You can access the current sheet properties either by right clicking +on the sheet tab and choosing <guilabel>Sheet Properties</guilabel> or by +using the <menuchoice><guimenu>Format</guimenu> +<guisubmenu>Sheet</guisubmenu><guimenuitem>Sheet +Properties</guimenuitem></menuchoice> menu. Please note that you can only +access the <guilabel>Sheet Properties</guilabel> when the document or the sheet is not +protected.</para> +<para>You can set different properties that will be valid in the current +sheet. Clicking on <guibutton>OK</guibutton> will validate your changes +and <guibutton>Defaults</guibutton> will bring back the default settings.</para> +<para> +<mediaobject> +<imageobject> +<imagedata fileref="sheetproperties.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Sheet Properties dialog.</phrase> +</textobject> +</mediaobject> +</para> +<variablelist> +<varlistentry> +<term><guilabel>Layout direction:</guilabel></term> +<listitem><para>Let you choose the sheet orientation. Default is that the first +column of the sheet is on the left. If you choose <guilabel>Right to Left</guilabel>, then the first +column will be on the right and the others added from right to left.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Hide zero</guilabel></term> +<listitem><para>If this box is checked any cell containing the value zero will +appear blank.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Automatic recalculation</guilabel></term> +<listitem><para> This setting controls whether formulae are recalculated +automatically when the value of any cell they refer to changes.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Show column as numbers</guilabel></term> +<listitem><para>If this box is checked the column headings will show as numbers +rather than as letters. Letters are default.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Use LC mode</guilabel></term> +<listitem><para>If this box is checked the cell reference shown at the left end +of the Formula Bar will be displayed in LC mode (i.e. L2C3) rather than in its +normal form B3. This does not seem to be of much use at the moment.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Convert first letter to uppercase</guilabel></term> +<listitem><para>Check this box and the first letter of any text you type in will +automatically be converted to uppercase.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Show grid</guilabel></term> +<listitem><para>If checked the grid (the cell limits) will be shown. This is +default. If you uncheck it, the grid will be hidden.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Show page borders</guilabel></term> +<listitem><para>If you check this option, the page borders will be drawn on your +current sheet. Per default the page borders are not displayed. It is useful to +see the page borders if you want to print your sheet.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Show formula</guilabel></term> +<listitem><para>If this box is checked &kspread; will display the actual +formulae in cells rather than the results.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Show formula indicator</guilabel></term> +<listitem><para>If this box is checked &kspread; will display a small blue +triangle at the bottom left corner of cells containing formulae. This is useful +if you want to protect cells with formulae.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Show comment indicator</guilabel></term> +<listitem><para>If this box is checked cells containing comments will be marked +by a small red triangle at the top right corner.</para> +</listitem> +</varlistentry> +</variablelist> +</sect1> +</chapter> + +<!-- +Local Variables: +mode: sgml +sgml-parent-document: ("index.docbook" "book" "chapter") +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> diff --git a/doc/kspread/hideformula1.png b/doc/kspread/hideformula1.png Binary files differnew file mode 100644 index 00000000..5a9b589a --- /dev/null +++ b/doc/kspread/hideformula1.png diff --git a/doc/kspread/hideformula2.png b/doc/kspread/hideformula2.png Binary files differnew file mode 100644 index 00000000..f4f1fe26 --- /dev/null +++ b/doc/kspread/hideformula2.png diff --git a/doc/kspread/hideformula3.png b/doc/kspread/hideformula3.png Binary files differnew file mode 100644 index 00000000..9b2c58ca --- /dev/null +++ b/doc/kspread/hideformula3.png diff --git a/doc/kspread/hideformula4.png b/doc/kspread/hideformula4.png Binary files differnew file mode 100644 index 00000000..cb5b5a7f --- /dev/null +++ b/doc/kspread/hideformula4.png diff --git a/doc/kspread/hideformula5.png b/doc/kspread/hideformula5.png Binary files differnew file mode 100644 index 00000000..a0ebc9e5 --- /dev/null +++ b/doc/kspread/hideformula5.png diff --git a/doc/kspread/importexport.docbook b/doc/kspread/importexport.docbook new file mode 100644 index 00000000..e5c36f3a --- /dev/null +++ b/doc/kspread/importexport.docbook @@ -0,0 +1,105 @@ +<chapter id="importexport"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Pamela</firstname> +<surname>Robert</surname> +<affiliation> +<address><email>pamroberts@blueyonder.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Importing and Exporting Foreign Formats</title> +<para>&kspread; has a limited ability to import (read) and export (write) +spreadsheet files with foreign formats. &kspread;'s capabilities at the time +of writing are summarized in the table below, for more up to date +information visit <ulink url="http://www.koffice.org/filters/status.phtml"> +http://www.koffice.org/filters/status.phtml</ulink>.</para> + +<informaltable><tgroup cols="3"> +<thead> +<row> +<entry> Format </entry> +<entry> Import </entry> +<entry> Export </entry></row> +</thead> +<tbody> + +<row><entry>Applix Spreadsheet</entry> +<entry>Beta</entry> +<entry>None</entry> +</row> + +<row><entry>Comma Separated Values (<link linkend="csvdata"><acronym>CSV +</acronym></link>)</entry> +<entry>Good</entry> +<entry>Good</entry> +</row> + +<row><entry>dBase</entry> +<entry>Beta</entry> +<entry>None</entry> +</row> + +<row><entry>Excel 97/2000</entry> +<entry>Good</entry> +<entry>None</entry> +</row> + +<row><entry>Gnumeric</entry> +<entry>Beta</entry> +<entry>Beta</entry> +</row> + +<row><entry>HTML</entry> +<entry>None</entry> +<entry>Beta</entry> +</row> + +<row><entry>Quattro Pro</entry> +<entry>Beta</entry> +<entry>None</entry> +</row> + +</tbody></tgroup></informaltable> + +<para>To import a foreign file just load it as though it were a &kspread; +native file with <menuchoice><guimenu>File</guimenu><guimenuitem> +Open...</guimenuitem></menuchoice>.</para> +<para>To export a &kspread; file in a different format select <menuchoice> +<guimenu>File</guimenu><guimenuitem>Save As...</guimenuitem></menuchoice> +and select the format from the <guilabel>Filter:</guilabel> combo box. +Although &kspread; automatically adds a <literal role="extension"> +.ksp</literal> extension to the names of files saved in its native format, +you should add the correct extension for foreign formats.</para> + +<sect1 id="csvdata"> +<title><acronym>CSV</acronym> Data</title> +<para>Tables of data are often held in text files with the values in a +line being separated by a comma, space, tab or other character, +for example <emphasis>123, 456, 789, abcd, efgh</emphasis>. Such files +are commonly called <quote><acronym>CSV</acronym></quote> (Comma Separated +Values) files, even though the separating character may not be a comma.</para> +<para>If you ask &kspread; to open a text file it assumes that the file is +in <acronym>CSV</acronym> format and launches a dialog box that allows you to +specify the delimiter (separating character) used by the file, and shows how +the data items will be placed into different spreadsheet cells.</para> +<para>Other options in this dialog box let you define the <guilabel>Format +</guilabel> of the spreadsheet cells, whether text quote characters should be +removed, and whether the first line(s) of the file should be ignored.</para> +</sect1> +</chapter> + + +<!-- +Local Variables: +mode: sgml +sgml-parent-document: ("index.docbook" "book" "chapter") +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> diff --git a/doc/kspread/increasedecimal.png b/doc/kspread/increasedecimal.png Binary files differnew file mode 100644 index 00000000..bb56dd92 --- /dev/null +++ b/doc/kspread/increasedecimal.png diff --git a/doc/kspread/index.docbook b/doc/kspread/index.docbook new file mode 100644 index 00000000..171b78a6 --- /dev/null +++ b/doc/kspread/index.docbook @@ -0,0 +1,207 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kappname "&kspread;"> + <!ENTITY package "koffice"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % English "INCLUDE"> + <!ENTITY basics SYSTEM "basics.docbook"> + <!ENTITY format SYSTEM "format.docbook"> + <!ENTITY advanced SYSTEM "advanced.docbook"> + <!ENTITY importexport SYSTEM "importexport.docbook"> + <!ENTITY config SYSTEM "config.docbook"> + <!ENTITY configdialog SYSTEM "configdialog.docbook"> + <!ENTITY a11y SYSTEM "a11y.docbook"> + <!ENTITY commands SYSTEM "commands.docbook"> + <!ENTITY faq SYSTEM "faq.docbook"> +]> + +<book lang="&language;"> + +<bookinfo> +<title>The &kspread; Handbook</title> + +<!-- MAINTAINED BY raphael.langerhorst@kdemail.net --> + +<authorgroup> +<author> +<firstname>Pamela</firstname> +<surname>Roberts</surname> +<affiliation> +<address><email>pamroberts@blueyonder.co.uk</email></address> +</affiliation> +</author> +<author> +<firstname>Anne-Marie</firstname> +<surname>Mahfouf</surname> +<affiliation> +<address><email>annemarie.mahfouf@free.fr</email></address> +</affiliation> +</author> +<author> +<firstname>Gary</firstname> +<surname>Cramblitt</surname> +<affiliation> +<address><email>garycramblitt@comcast.net</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> + +<copyright> +<year>2002</year> +<holder>Pamela Roberts</holder> +</copyright> + +<copyright> +<year>2005</year> +<holder>Anne-Marie Mahfouf</holder> +</copyright> + +<copyright> +<year>2006</year> +<holder>Gary Cramblitt</holder> +</copyright> + +<!-- Translators: put here the copyright notice of the translation --> + +<legalnotice>&FDLNotice;</legalnotice> + +<date>2006-06-12</date> +<releaseinfo>1.5.2</releaseinfo> + + +<abstract> +<para> +&kspread; is a full featured spreadsheet program. +</para> +</abstract> + +<keywordset> +<keyword>KDE</keyword> +<keyword>Koffice</keyword> +<keyword>KSpread</keyword> +<keyword>Spreadsheet</keyword> +</keywordset> + +</bookinfo> + +<chapter id="introduction"> +<title>Introduction</title> + +<para>This handbook is dedicated to the memory of <ulink +url="http://www.bricklin.com/visicalc.htm">Visicalc.</ulink></para> +<para> +&kspread; is a full featured spreadsheet program. It is part of the &koffice; +productivity suite for the K Desktop Environment (&kde;).</para> +<para>Other &koffice; applications include &kword;, (word processing), +&kpresenter; (slide presentation creator) and &kchart; (for producing charts +and graphs) among others.</para> + +<para>You might care to visit <ulink url="http://www.kde.org"> +http://www.kde.org</ulink> for more information about &kde; in general, or the +&koffice; web site at <ulink url="http://www.koffice.org"> +http://www.koffice.org</ulink></para> + +</chapter> + +&basics; + +&format; + +&advanced; + +&config; + +&configdialog; + +&a11y; + +&commands; + +&faq; + +<chapter id="credits"> + +<title>Credits and License</title> + +<para> +&kspread; +</para> +<para> +Program copyright 1998-2002 The KSpread Team: +</para> +<para> +<itemizedlist> +<listitem><para>Torben Weis <email>weis@kde.org</email></para> +</listitem> +<listitem><para>Laurent Montel <email>lmontel@mandrakesoft.com</email></para> +</listitem> +<listitem><para>David Faure <email>faure@kde.org</email></para> +</listitem> +<listitem><para>John Dailey <email>dailey@vt.edu</email></para> +</listitem> +<listitem><para>Philipp Müller <email>philipp.mueller@gmx.de</email></para> +</listitem> +<listitem><para>Ariya Hidayat <email>ariya@kde.org</email></para> +</listitem> +<listitem><para>Norbert Andres <email>nandres@web.de</email></para> +</listitem> +<listitem><para>Shaheed Haque <email>srhaque@iee.org</email></para> +</listitem> +<listitem><para>Werner Trobin <email>trobin@kde.org</email></para> +</listitem> +<listitem><para>Nikolas Zimmerman <email>wildfox@kde.org</email></para> +</listitem> +<listitem><para>Helge Deller <email>deller@gmx.de</email></para> +</listitem> +<listitem><para>Percy Leonhart <email>percy@eris23.org</email></para> +</listitem> +<listitem><para>Eva Brucherseifer <email>eva@kde.org</email></para> +</listitem> +<listitem><para>Phillip Ezolt <email>phillipezolt@hotmail.com</email></para> +</listitem> +<listitem><para>Enno Bartels <email>ebartels@nwn.de</email></para> +</listitem> +<listitem><para>Graham Short <email>grahshrt@netscape.net</email></para> +</listitem> +</itemizedlist> +</para> + +<para> +Documentation copyright 2002 Pamela Roberts +<email>pamroberts@blueyonder.co.uk</email> +</para> + +<para>Minor updates to documentation for &koffice; 1.3 by +&Philip.Rodrigues; &Philip.Rodrigues.mail;.</para> +<!-- TRANS:CREDIT_FOR_TRANSLATORS --> +&underFDL; +&underGPL; +</chapter> + +<appendix id="installation"> +<title>Installation</title> + +<para>&kspread; is part of &kde;'s &koffice; package and uses various +&koffice; libraries. &koffice; itself is part of &kde; and depends on the +general &kde; libraries.</para> +<para>For instructions on acquiring and installing &kde;, &koffice; and +&kspread; please visit +<ulink url="http://www.kde.org">http://www.kde.org</ulink> and +<ulink url="http://www.koffice.org">http://www.koffice.org</ulink>.</para> + +</appendix> + +&documentation.index; +</book> + +<!-- +Local Variables: +mode: sgml +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> + diff --git a/doc/kspread/kbd-focus-ext.png b/doc/kspread/kbd-focus-ext.png Binary files differnew file mode 100644 index 00000000..f7aa6f58 --- /dev/null +++ b/doc/kspread/kbd-focus-ext.png diff --git a/doc/kspread/mousenav.png b/doc/kspread/mousenav.png Binary files differnew file mode 100644 index 00000000..462c6051 --- /dev/null +++ b/doc/kspread/mousenav.png diff --git a/doc/kspread/newdocument.png b/doc/kspread/newdocument.png Binary files differnew file mode 100644 index 00000000..923a61b6 --- /dev/null +++ b/doc/kspread/newdocument.png diff --git a/doc/kspread/percent.png b/doc/kspread/percent.png Binary files differnew file mode 100644 index 00000000..75649e5b --- /dev/null +++ b/doc/kspread/percent.png diff --git a/doc/kspread/sheetproperties.png b/doc/kspread/sheetproperties.png Binary files differnew file mode 100644 index 00000000..ee325f86 --- /dev/null +++ b/doc/kspread/sheetproperties.png diff --git a/doc/kspread/shortcut1.png b/doc/kspread/shortcut1.png Binary files differnew file mode 100644 index 00000000..df152f85 --- /dev/null +++ b/doc/kspread/shortcut1.png diff --git a/doc/kspread/shortcut2.png b/doc/kspread/shortcut2.png Binary files differnew file mode 100644 index 00000000..d47fab20 --- /dev/null +++ b/doc/kspread/shortcut2.png diff --git a/doc/kspread/shortcut3.png b/doc/kspread/shortcut3.png Binary files differnew file mode 100644 index 00000000..34a25dea --- /dev/null +++ b/doc/kspread/shortcut3.png diff --git a/doc/kspread/sort1.png b/doc/kspread/sort1.png Binary files differnew file mode 100644 index 00000000..cc1436b4 --- /dev/null +++ b/doc/kspread/sort1.png diff --git a/doc/kspread/starting1.png b/doc/kspread/starting1.png Binary files differnew file mode 100644 index 00000000..0bcc216e --- /dev/null +++ b/doc/kspread/starting1.png diff --git a/doc/kspread/tts.png b/doc/kspread/tts.png Binary files differnew file mode 100644 index 00000000..332d77bf --- /dev/null +++ b/doc/kspread/tts.png diff --git a/doc/kugar/Makefile.am b/doc/kugar/Makefile.am new file mode 100644 index 00000000..e786da56 --- /dev/null +++ b/doc/kugar/Makefile.am @@ -0,0 +1,3 @@ + +KDE_LANG = en +KDE_DOCS = AUTO diff --git a/doc/kugar/add_detail.png b/doc/kugar/add_detail.png Binary files differnew file mode 100644 index 00000000..852d7361 --- /dev/null +++ b/doc/kugar/add_detail.png diff --git a/doc/kugar/add_detail_footer.png b/doc/kugar/add_detail_footer.png Binary files differnew file mode 100644 index 00000000..2db8829c --- /dev/null +++ b/doc/kugar/add_detail_footer.png diff --git a/doc/kugar/add_detail_header.png b/doc/kugar/add_detail_header.png Binary files differnew file mode 100644 index 00000000..44cbc570 --- /dev/null +++ b/doc/kugar/add_detail_header.png diff --git a/doc/kugar/datadtd.docbook b/doc/kugar/datadtd.docbook new file mode 100644 index 00000000..d393e1b8 --- /dev/null +++ b/doc/kugar/datadtd.docbook @@ -0,0 +1,46 @@ +<!-- To validate this document separately, uncomment this prolog +<?xml version="1.0" ?> +<!DOCTYPE appendix PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"> +--> + +<sect1 id="kugardata-dtd"> +<sect1info> +<authorgroup> +<author> +<firstname>Alexander</firstname> +<surname>Dymo</surname> +<affiliation> +<address><email>cloudtemple@mksat.net</email></address> +</affiliation> +</author> +<author> +<firstname>Phil</firstname> +<surname>Thompson</surname> +<affiliation> +<address><email>phil@river-bank.demon.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title><sgmltag class="element">KugarData</sgmltag> Document Type +Definition</title> + +<synopsis> +<?xml version="1.0" encoding="UTF-8"?> + +<!DOCTYPE KugarData [ + <!ELEMENT <link linkend="kugar-data-element">KugarData</link> (<link linkend="row-element">Row</link>*)> + <!ATTLIST KugarData + <link linkend="template-att">Template</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="row-element">Row</link> EMPTY> + <!ATTLIST Row + <link linkend="level-att">level</link> CDATA #REQUIRED + <link linkend="column-att">col1</link> CDATA #IMPLIED + <link linkend="column-att">col2</link> CDATA #IMPLIED + <link linkend="column-att">...</link> CDATA #IMPLIED + <link linkend="column-att">coln</link> CDATA #IMPLIED> + ]> +</synopsis> +</sect1> diff --git a/doc/kugar/dataref.docbook b/doc/kugar/dataref.docbook new file mode 100644 index 00000000..30f56ec3 --- /dev/null +++ b/doc/kugar/dataref.docbook @@ -0,0 +1,130 @@ +<!-- if you want to validate this file separately, uncomment this prolog: + +<?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"> + +--> + +<sect1 id="kugardata-element"> +<sect1info> +<authorgroup> +<author> +<firstname>Alexander</firstname> +<surname>Dymo</surname> +<affiliation> +<address><email>cloudtemple@mksat.net</email></address> +</affiliation> +</author> +<author> +<firstname>Phil</firstname> +<surname>Thompson</surname> +<affiliation> +<address><email>phil@river-bank.demon.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title><sgmltag class="element">KugarData element</sgmltag></title> + +<para> +The <sgmltag class="element">KugarData</sgmltag> element defines a +report's data source. The basic structure is a collection of rows and +columns. This document does not define data types and their attributes. +<!--at this time. -->The report template defines column data type information. +</para> + +<para> +The document creator can apply an &XSL; style sheet to an existing +document to convert it to this format. If &XSL; is used, the creator +can apply custom macros using &XSL; for column calculations, sorting, +&etc;. +</para> + +<synopsis> +<!ELEMENT KugarData (Row*)> +<!ATTLIST KugarData + Template CDATA #REQUIRED> + +<!ELEMENT Row EMPTY> +<!ATTLIST Row + level CDATA #REQUIRED + col1 CDATA #IMPLIED + col2 CDATA #IMPLIED + ... CDATA #IMPLIED + coln CDATA #IMPLIED> +</synopsis> + + +<sect2 id="kugar-data-element"> +<title>Kugar data element</title> +<para> +The <sgmltag class="element">KugarData</sgmltag> element contains zero +or more <sgmltag class="element">Row</sgmltag> elements. A <sgmltag +class="element">Row</sgmltag> must contain one <sgmltag class="attribute">level</sgmltag> +attribute with a value corresponding to detail level in the template. Other attributes +represent data columns. +</para> +<para> +<anchor id="template-att"/>The value of the <sgmltag class="attribute">Template</sgmltag> +attribute is the &URL; of the report template +used to format the data. +</para> +<!-- +<variablelist> +<varlistentry id="template-att"> +<term><sgmltag class="attribute">Template</sgmltag></term> +<listitem> +<para> +This is an attribute of the <sgmltag class="element">KugarData</sgmltag> +element. The value of the attribute is the &URL; of the report template +used to format the data. +</para> +</listitem> +</varlistentry> +--> +</sect2> + +<sect2 id="row-element"> +<title>Row element</title> + +<variablelist> + +<varlistentry> +<term>Attributes</term> +<listitem> + +<variablelist> + +<varlistentry> +<term><anchor id="level-att"/><sgmltag class="attribute">level</sgmltag></term> +<listitem> +<para> +The attribute value indicates which detail in the report template +is used to display data. Rows can contain various column sets for various levels, +so any attribute except <sgmltag class="attribute">level</sgmltag> should +be stated as #IMPLIED. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="column-att"/><sgmltag class="attribute">column</sgmltag></term> +<listitem> +<para> +The name of the attribute is the column name, and uses the format as given +in the <sgmltag class="element">KugarData</sgmltag> definition. +The attribute name is used in the report template to bind the data to the +report fields. +</para> +</listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> + +</sect2> + +</sect1> + diff --git a/doc/kugar/designer.docbook b/doc/kugar/designer.docbook new file mode 100644 index 00000000..34195ca3 --- /dev/null +++ b/doc/kugar/designer.docbook @@ -0,0 +1,364 @@ +<!-- If you want to validate or edit this document separately, uncomment +this prolog + +<?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"> + +--> +<chapter id="designer-manual"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Alexander</firstname> +<surname>Dymo</surname> +<affiliation> +<address><email>cloudtemple@mksat.net</email></address> +</affiliation> +</author> +<author> +<firstname>Phil</firstname> +<surname>Thompson</surname> +<affiliation> +<address><email>phil@river-bank.demon.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Report Template Designer Manual</title> + +<para>&kudesigner; allows interactive creation and modification of +report templates, and placement of report sections and section items onto a +report.</para> + +<para> &kudesigner; is a <acronym>WYSIWYG</acronym> +application. <guilabel>Report page size</guilabel> defines the report +dimensions on the screen. At the present moment, the scale is set +to 100% automatically and cannot be changed.</para> + +<itemizedlist> +<title>Every report template may contain the following report sections:</title> +<listitem><para>Report Header</para></listitem> +<listitem><para>Page Header</para></listitem> +<listitem><para>Detail Header</para></listitem> +<listitem><para>Detail</para></listitem> +<listitem><para>Detail Footer</para></listitem> +<listitem><para>Page Footer</para></listitem> +<listitem><para>Report Footer</para></listitem> +</itemizedlist> + +<itemizedlist> +<title>Report sections may contain the following report items:</title> +<listitem><para>Label</para></listitem> +<listitem><para>Field</para></listitem> +<listitem><para>Calculated Field</para></listitem> +<listitem><para>Special Field</para></listitem> +<listitem><para>Line</para></listitem> +</itemizedlist> + +<para>Report sections and items can be placed onto the report template by +using menus or toolbars.</para> + +<para>Every element, such as a report template, a report section or an +item has its own properties. These properties define geometrical, +textual and any other parameters. Every time an element is placed, a set +of default properties is applied. For example, when +<guilabel>Label</guilabel> is placed, its Text property value is +set to <quote>Text</quote>.</para> + +<para>To change properties, use the <guilabel>Report Item +Options</guilabel> dialog. This dialog can be called by &RMB; clicking +on an item or with an <guilabel>Edit Properties</guilabel> button in the +<guilabel>Edit Toolbar</guilabel>. + See screenshot below (properties for a Field item): +</para> + +<para> +To delete an item, &MMB; click on it or use the <guilabel>Delete</guilabel> button in the +<guilabel>Edit Toolbar</guilabel>. +</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="props.png" format="PNG"/> +</imageobject> +<textobject> +<phrase><guilabel>New Report</guilabel> dialog</phrase> +</textobject> +</mediaobject> +</screenshot> + +<variablelist> +<title>The &kudesigner; menu reference</title> +<varlistentry> +<term><menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl; +<keycap>N</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu> +<guimenuitem>New</guimenuitem> +</menuchoice></term> +<listitem> +<para><action>Bring up</action> the <guilabel>New Report</guilabel> dialog +to create a new report template.</para> +<para> +As seen on the screenshot, the report page size, orientation and margins +must be set before the report can be created. +</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="file_new.png" format="PNG"/> +</imageobject> +<textobject> +<phrase><interface>New Report</interface> dialog</phrase> +</textobject> +</mediaobject> +</screenshot> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo action="simul">&Ctrl; +<keycap>O</keycap> +</keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Open...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Open</action> the previously saved report template.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Open Recent</guimenuitem> +</menuchoice></term> +<listitem><para><action>Display</action> a list of recently opened templates. +Select a file to open it.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo action="simul">&Ctrl; +<keycap>S</keycap> +</keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Save</guimenuitem> +</menuchoice></term> +<listitem><para><action>Save</action> the current report template into a text file in &XML; format.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>File</guimenu> +<guimenuitem>Save As...</guimenuitem> +</menuchoice></term> +<listitem><para><action>Save</action> the current report template into a file and give it another name.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo action="simul">&Ctrl; +<keycap>W</keycap> +</keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Close</guimenuitem> +</menuchoice></term> +<listitem><para><action>Close</action> the current report template.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo action="simul">&Ctrl; +<keycap>P</keycap> +</keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Print</guimenuitem> +</menuchoice></term> +<listitem><para><action>Print...</action> the current report template as text in &XML; format.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<shortcut><keycombo action="simul">&Ctrl; +<keycap>Q</keycap> +</keycombo></shortcut> +<guimenu>File</guimenu> +<guimenuitem>Quit</guimenuitem> +</menuchoice></term> +<listitem><para><action>Quit</action> the program.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Clear Selection</guimenuitem> +</menuchoice></term> +<listitem><para><action>Cancel</action> any edit action, so no properties +will be edited or items deleted.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Edit Properties</guimenuitem> +</menuchoice></term> +<listitem><para><action>Edit</action> properties of the selected item.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Edit</guimenu> +<guimenuitem>Delete</guimenuitem> +</menuchoice></term> +<listitem><para><action>Delete</action> the selected item.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Sections</guimenu> +<guimenuitem>Report Header</guimenuitem> +</menuchoice></term> +<listitem><para><action>Place the Report Header</action> section onto the report template.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Sections</guimenu> +<guimenuitem>Page Header</guimenuitem> +</menuchoice></term> +<listitem><para><action>Place the Page Header</action> section onto the report template.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Sections</guimenu> +<guimenuitem>Detail Header</guimenuitem> +</menuchoice></term> +<listitem><para><action>Place the Detail Header</action> section onto the report template.</para> +<para>Before placing the section, the <guilabel>Add Detail Header</guilabel> dialog will be shown to +specify the detail level. The Detail header will be added to the detail section of the given level.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="add_detail_header.png" format="PNG"/> +</imageobject> +<textobject> +<phrase><guilabel>Add Detail Header</guilabel> dialog</phrase> +</textobject> +</mediaobject> +</screenshot> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Sections</guimenu> +<guimenuitem>Detail</guimenuitem> +</menuchoice></term> +<listitem><para><action>Place the Detail</action> section onto the report template.</para> +<para>Before placing the section, the <guilabel>Add Detail</guilabel> dialog will be shown to +specify the detail level.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="add_detail.png" format="PNG"/> +</imageobject> +<textobject> +<phrase><interface>Add Detail</interface> dialog</phrase> +</textobject> +</mediaobject> +</screenshot> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Sections</guimenu> +<guimenuitem>Detail Footer</guimenuitem> +</menuchoice></term> +<listitem><para><action>Place the Detail Footer</action> section onto the report template.</para> +<para>Before placing the section, the <guilabel>Add Detail Footer</guilabel> dialog will be shown to +specify the detail level. The Detail footer will be added to the detail section of the given level.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="add_detail_footer.png" format="PNG"/> +</imageobject> +<textobject> +<phrase><guilabel>Add Detail Footer</guilabel> dialog</phrase> +</textobject> +</mediaobject> +</screenshot> +</listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Sections</guimenu> +<guimenuitem>Page Footer</guimenuitem> +</menuchoice></term> +<listitem><para><action>Place the Page Footer</action> section onto the report template.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Sections</guimenu> +<guimenuitem>Report Footer</guimenuitem> +</menuchoice></term> +<listitem><para><action>Place the Report Footer</action> section onto the report template.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Items</guimenu> +<guimenuitem>Clear Selection</guimenuitem> +</menuchoice></term> +<listitem><para><action>Clear</action> item selection, so no report item will be added to the section.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Items</guimenu> +<guimenuitem>Label</guimenuitem> +</menuchoice></term> +<listitem><para><action>Place the Label</action> element onto the section.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Items</guimenu> +<guimenuitem>Field</guimenuitem> +</menuchoice></term> +<listitem><para><action>Place the Field</action> element onto the section.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Items</guimenu> +<guimenuitem>Calculated Field</guimenuitem> +</menuchoice></term> +<listitem><para><action>Place the Calculated Field</action> element onto the section.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Items</guimenu> +<guimenuitem>Special Field</guimenuitem> +</menuchoice></term> +<listitem><para><action>Place the Special Field</action> element onto the section.</para></listitem> +</varlistentry> + +<varlistentry> +<term><menuchoice> +<guimenu>Items</guimenu> +<guimenuitem>Line</guimenuitem> +</menuchoice></term> +<listitem><para><action>Place the Line</action> element onto the section.</para></listitem> +</varlistentry> + +</variablelist> +</chapter> diff --git a/doc/kugar/file_new.png b/doc/kugar/file_new.png Binary files differnew file mode 100644 index 00000000..310c0e46 --- /dev/null +++ b/doc/kugar/file_new.png diff --git a/doc/kugar/index.docbook b/doc/kugar/index.docbook new file mode 100644 index 00000000..cbe87b76 --- /dev/null +++ b/doc/kugar/index.docbook @@ -0,0 +1,156 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kudesigner "Kugar Report Designer"> + <!ENTITY kugar "Kugar"> + <!ENTITY kappname "&kugar;"> + <!ENTITY package "koffice"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % English "INCLUDE"> + <!ENTITY template SYSTEM "template.docbook"> + <!ENTITY templatedtd SYSTEM "templatedtd.docbook"> + <!ENTITY templateelements SYSTEM "template-elements.docbook"> + <!ENTITY datadtd SYSTEM "datadtd.docbook"> + <!ENTITY dataelements SYSTEM "dataref.docbook"> + <!ENTITY progguide SYSTEM "progguide.docbook"> + <!ENTITY starting SYSTEM "starting.docbook"> + <!ENTITY designermanual SYSTEM "designer.docbook"> + <!ENTITY tutorial SYSTEM "tutorial.docbook"> +]> + +<book lang="&language;"> + +<bookinfo> +<title>The &kugar; Handbook</title> + +<authorgroup> +<author> +<firstname>Alexander</firstname> +<surname>Dymo</surname> +<affiliation> +<address><email>cloudtemple@mksat.net</email></address> +</affiliation> +</author> +<author> +<firstname>Phil</firstname> +<surname>Thompson</surname> +<affiliation> +<address><email>phil@river-bank.demon.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +<copyright> +<year>2000</year> +<year>2001</year> +<holder>Phil Thompson</holder> +</copyright> +<copyright> +<year>2002</year> +<holder>Alexander Dymo</holder> +</copyright> +<!--&underFDL;--> +<legalnotice>&FDLNotice;</legalnotice> + +<date>2002-06-11</date> +<releaseinfo>1.02.00</releaseinfo> + +<!-- Abstract about this handbook --> + +<abstract> +<para> +&kugar; is a template based &XML; report engine. +&kudesigner; is a flexible &GUI; report template designer for &kugar; report engine. +</para> +</abstract> + +<keywordset> +<keyword>KDE</keyword> +<keyword>kdeutils</keyword> +<keyword>kugar</keyword> +<keyword>kudesigner</keyword> +<keyword>report</keyword> +<keyword>generator</keyword> +<keyword>engine</keyword> +<keyword>designer</keyword> +</keywordset> + +</bookinfo> + +<chapter id="introduction"> +<title>Introduction</title> + +<para> &kugar; is a report creation tool for &Qt; and &kde;. It includes +a &GUI; report template designer, a report engine, a &konqueror; part +for easy report preview and a set of examples.</para> + +<para> The &kudesigner; is a report template creation tool +for the &kugar; report engine. The &kugar; report engine uses an &XML; +based report template file (which can be created by hand or with +&kudesigner;) and a data file (also in &XML; format) to create +reports. To get more information on &kudesigner; refer to the <link +linkend="designer-manual">Report Template Designer Manual</link>. +</para> + +<para> See <link linkend="template-dtd"> The KugarTemplate Document +Type Definition</link> for an overview of the template's +<acronym>DTD</acronym> (file format), <link +linkend="kugardata-dtd">KugarData Document Type Definition</link> and +<link linkend="tutorial">Tutorial</link> for a step-by-step explanation +on how reports can be created. </para> + +<para> Programmers should also refer to the <link +linkend="prog-guide">Programmer's guide</link> to find information +about using &kugar; in their own applications.</para> +</chapter> + +&tutorial; + +&starting; + +&designermanual; + +&progguide; + +<chapter> +<title>Credits and License</title> + +<para> +&kugar; +</para> + +<para> +Copyright 2000 Mutiny Bay Software +</para> +<para> +Copyright 2000, 2001, Phil Thompson +</para> +<para> +Copyright 2002 Alexander Dymo +</para> + +<para>Portions of the documentation Copyright 2000, 2001 Phil Thompson +and Copyright 2002 Alexander Dymo</para> + +<!-- TRANS:CREDIT_FOR_TRANSLATORS --> +&underFDL; +&underGPL; + +</chapter> + +<appendix id="document-structure"> +<title>Document Structure</title> +&templatedtd; +&template; +&templateelements; +&datadtd; +&dataelements; +</appendix> + +<appendix id="installation"> +<title>Installation</title> + +&install.intro.documentation; +&install.compile.documentation; +</appendix> + +</book> diff --git a/doc/kugar/kugar.png b/doc/kugar/kugar.png Binary files differnew file mode 100644 index 00000000..7232fa5c --- /dev/null +++ b/doc/kugar/kugar.png diff --git a/doc/kugar/progguide.docbook b/doc/kugar/progguide.docbook new file mode 100644 index 00000000..5b60db0d --- /dev/null +++ b/doc/kugar/progguide.docbook @@ -0,0 +1,544 @@ +<!-- If you want to validate or edit this document separately, uncomment +this prolog + +<?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"> + +--> + +<chapter id="prog-guide"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Alexander</firstname> +<surname>Dymo</surname> +<affiliation> +<address><email>cloudtemple@mksat.net</email></address> +</affiliation> +</author> +<author> +<firstname>Phil</firstname> +<surname>Thompson</surname> +<affiliation> +<address><email>phil@river-bank.demon.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Programmer's Guide</title> + +<sect1 id="how-to-use-in-progs"> +<title>How to use &kugar; for reporting in your own programs</title> + +<itemizedlist> +<title>There are several ways to use &kugar;</title> +<listitem> +<para> +Create a temporary file and fill it with data, organized according to the +<link linkend="kugardata-dtd">KugarData Document Type Definition</link>. Then +call the <command>kugar</command> shell command ( +<cmdsynopsis> +<command>kugar</command> +<group> +<option>-d <replaceable>Kugar data file</replaceable></option> +</group> +<group> +<option>-r <replaceable>Kugar template file</replaceable></option> +</group> +</cmdsynopsis> +) to preview and print the report. +See <link linkend="prog-using-for-preview">Using &kugar; shell for previewing reports</link> +for a detailed description. +</para> +</listitem> +<listitem> +<para> +Use &kugar; directly in the application's code. +See <link linkend="prog-using-widget">Using &kugar; classes for reporting</link> +for a detailed description. +</para> +</listitem> +<listitem> +<para> +Create a &Qt; designer plugin, use it to build the application &GUI; in the designer and +link it to the program dynamically. +See <link linkend="prog-designer-plugin">Creating a &Qt; designer plugin</link> +for a detailed description. +</para> +</listitem> +</itemizedlist> + +<para> The last two ways are acceptable for &Qt; and &kde; developers; +but &kugar; is designed to be a report generator, independent from a +programming language and/or <acronym>IDE</acronym>. It uses &XML; +format for describing report templates and data files. So any program +can produce output in &kugar; data file format as described in <link +linkend="kugardata-dtd">KugarData <acronym>DTD</acronym></link> or +even a report template file format (see <link +linkend="template-dtd">KugarTemplate <acronym>DTD</acronym></link>). +&kugar; shell (report viewer) can be used to preview and print the +generated report. </para> + +</sect1> + +<sect1 id="prog-using-for-preview"> +<title>Using &kugar; shell for previewing reports</title> + +<orderedlist> +<title>The way to create and preview (print) a report is:</title> +<listitem> +<para> +Create a report template file with &kudesigner; +</para> +</listitem> +<listitem> +<para> +Create a data file with column values for detail bands of the report. +Use <link linkend="kugardata-dtd">KugarData <acronym>DTD</acronym></link> to produce correct data files. +</para> +</listitem> +<listitem> +<para> +Run &kugar; shell to preview and print a report. For example, to do this, in C or C++ +languages call:</para> + +<programlisting> +<function>system(<option>"kugar -r <replaceable>template_file.ktf</replaceable>-d <replaceable>data_file.kdf</replaceable>"</option>)</function>. +</programlisting> + +<para> +Don't forget to include <filename class="headerfile">stdlib.h</filename>. +</para> +</listitem> +</orderedlist> +</sect1> + +<sect1 id="prog-using-widget"> +<title>Using &kugar; classes for reporting</title> +<para> +The &kugar; library includes two widgets for use. +</para> +<para> +The <classname>KReportViewer</classname> class is designed for &kde; +developers. It supports a &kde; printing system and &UNIX; localization +via <function>i18n()</function> calls. +</para> +<para> +The <classname>MReportViewer</classname> class is designed for &Qt; +developers and provides real crossplatforming. It can be used not +only on &UNIX; platforms, but also on &Windows; and &MacOS;. +</para> +<para> +In order to build a program that uses the &kugar; library, it should be linked +with <filename>libkugar.so</filename> shared library, which is provided with the &kugar; distribution on all +&UNIX; platforms. +</para> +<para> +Include files are <filename>kugarqt.h</filename> and <filename>kugar.h</filename> +for &Qt; and &kde; programs respectively. +</para> +<para>For a detailed example of how &kugar; classes can be used, look in the <filename class="directory">/shell</filename> +folder in the &kugar; sources. +</para> +<para> +<classname>MReportViewer</classname> (and <classname>KReportViewer</classname> too) +contains several public methods that can be used. +</para> +<funcsynopsis> +<funcprototype> +<funcdef>void <function>renderReport</function></funcdef> +<void/> +</funcprototype> +<funcsynopsisinfo>Renders the report onto a screen.</funcsynopsisinfo> +</funcsynopsis> + +<funcsynopsis> +<funcprototype> +<funcdef>void <function>printReport</function></funcdef> +<void/> +</funcprototype> +<funcsynopsisinfo>Calls the print dialog to print the report.</funcsynopsisinfo> +</funcsynopsis> + +<funcsynopsis> +<funcprototype> +<funcdef>void <function>clearReport</function></funcdef> +<void/> +</funcprototype> +<funcsynopsisinfo>Clears the report on a screen and frees report data. +Call this before opening the new report.</funcsynopsisinfo> +</funcsynopsis> + +<funcsynopsis> +<funcprototype> +<funcdef>bool <function>setReportData</function></funcdef> +<paramdef>const QString &<parameter>data_file_name</parameter></paramdef> +</funcprototype> +<funcsynopsisinfo>Sets report data from <replaceable>data_file_name</replaceable> file.</funcsynopsisinfo> +</funcsynopsis> + +<funcsynopsis> +<funcprototype> +<funcdef>bool <function>setReportData</function></funcdef> +<paramdef>const QIODevice &<parameter>data_io_device</parameter></paramdef> +</funcprototype> +<funcsynopsisinfo>Sets report data from <replaceable>data_io_device</replaceable> file. +IO device can be any successor of the <classname>QIODevice</classname> class. +For example, to fetch records directly from the database, +create a <classname>QIODevice</classname> successor and redefine all necessary +functionality. +</funcsynopsisinfo> +</funcsynopsis> + +<funcsynopsis> +<funcprototype> +<funcdef>bool <function>setReportTemplate</function></funcdef> +<paramdef>const QString &<parameter>template_file_name</parameter></paramdef> +</funcprototype> +<funcsynopsisinfo>Sets report template from <replaceable>template_file_name</replaceable> file.</funcsynopsisinfo> +</funcsynopsis> + +<funcsynopsis> +<funcprototype> +<funcdef>bool <function>setReportTemplate</function></funcdef> +<paramdef>const QIODevice &<parameter>template_io_device</parameter></paramdef> +</funcprototype> +<funcsynopsisinfo>Sets report template from <replaceable>template_io_device</replaceable> file. +IO device can be any successor of the <classname>QIODevice</classname> class. +For example, to obtain a report template from network storage or database, +create a QIODevice successor and redefine all necessary functionality. +</funcsynopsisinfo> +</funcsynopsis> + +</sect1> + +<sect1 id="prog-designer-plugin"> +<title>Creating &Qt; designer plugin</title> + +<para> +This is the example code of how a designer plugin is created. The code below creates a plugin for +a &kde; <classname>KReportViewer</classname> widget. +</para> + +<para> +If a &Qt; +widget is desired, replace <classname>KReportViewer</classname> with +<classname>MReportViewer</classname> and <filename>kugar.h</filename> with +<filename>kugarqt.h</filename> in the plugin code. +</para> + +<sect2 id="plugin-usage"> +<title>Plugin usage</title> +<para> +The designer plugin will allow the usage of &Qt; Designer to place a <classname>KReportViewer</classname> +widget onto a window and preview it correctly. +</para> + +<para> +Programs that make use of this plugin must be linked dynamically with it. +The corresponding library is called <filename>libkugar_plugin.so</filename>. +Widgets or dialogs that include <classname>KReportViewer</classname> +widget must include <kugar.h> in implementation and have a forward declaration +of <classname>class KReportViewer</classname>. Includes can be done with &Qt; +Designer's Object Explorer (Source tab). +</para> + +<para> +To build the plugin run: +<cmdsynopsis> +<command>qmake</command> +<arg>kugar_plugin.pro</arg> +</cmdsynopsis> +<cmdsynopsis> +<command>make</command> +</cmdsynopsis> +</para> + +</sect2> + +<sect2 id="plugin-code"> +<title>Plugin code</title> + +<segmentedlist> +<title>The plugin code consists of three files:</title> +<segtitle><link linkend="plugin-h-source">kugar_plugin.h</link></segtitle> +<segtitle><link linkend="plugin-cpp-source">kugar_plugin.cpp</link></segtitle> +<segtitle><link linkend="plugin-pro-source">kugar_plugin.pro</link></segtitle> +<seglistitem> +<seg>A header file for the <classname>KugarWidgetPlugin</classname>, <classname>QWidgetPlugin</classname> successor;</seg> +<seg>A source file for the <classname>KugarWidgetPlugin</classname>, <classname>QWidgetPlugin</classname> successor;</seg> +<seg>A project file for the <application>QMake</application> utility.</seg> +</seglistitem> +</segmentedlist> + +<sect3 id="plugin-h-source"> +<title>kugar_plugin.h</title> + +<programlisting> +#include <qwidgetplugin.h> + +class KugarWidgetPlugin:public QWidgetPlugin +{ +public: + KugarWidgetPlugin (); + + QStringList keys () const; + QWidget *create (const QString & classname, QWidget * parent = + 0, const char *name = 0); + QString group (const QString &) const; + QIconSet iconSet (const QString &) const; + QString includeFile (const QString &) const; + QString toolTip (const QString &) const; + QString whatsThis (const QString &) const; + bool isContainer (const QString &) const; +}; +</programlisting> +</sect3> + + +<sect3 id="plugin-cpp-source"> +<title>kugar_plugin.cpp</title> + +<programlisting> +#include "kugar_plugin.h" +#include <kugar.h> + +static const char *kugar_pixmap[] = { + "22 22 127 2", + ".d c #000000", + ".c c #131313", + ".b c #282828", + ".a c #434241", + ".e c #4e463a", + ".# c #595551", + ".G c #66553b", + "#F c #68635f", + "#R c #6b4f23", + "#q c #6e6862", + "#M c #6f5229", + ".n c #6f6146", + ".w c #735310", + ".V c #755c2a", + ".I c #775f34", + ".0 c #77694a", + "#n c #7e6434", + ".o c #806f50", + "#C c #835d2d", + ".P c #837c75", + "#B c #85653a", + "#k c #85827e", + ".x c #866d46", + ".U c #877967", + ".X c #888888", + ".F c #89724d", + "#x c #8b6d2a", + ".S c #8d7759", + ".z c #8e733b", + "#L c #906e49", + "#Q c #947b56", + ".r c #948058", + ".J c #957844", + ".4 c #987736", + ".q c #998969", + ".k c #999897", + ".R c #9a8a75", + "#i c #9f8348", + "#I c #a37c4b", + ".u c #a38d66", + ".E c #a58558", + "#A c #a8834b", + ".s c #a9967a", + ".t c #aa9467", + ".C c #ae9f8d", + "#6 c #afa49d", + "#5 c #afa9a4", + "#W c #b18e4d", + ".K c #b1935a", + ".B c #b39660", + "#V c #b49866", + "#a c #b49d6c", + "## c #b49d72", + ".j c #b5b4b4", + "#0 c #b7a597", + ".O c #b9b1a9", + ".L c #bb9c61", + ".M c #bb9e6b", + ".A c #bca778", + "#j c #bea46b", + ".T c #bfb37d", + ".v c #c0b391", + ".W c #c3a262", + ".i c #c4c4c4", + "#m c #c5b7aa", + "#8 c #c69f80", + ".D c #c6b79b", + "#3 c #c7a589", + ".7 c #c7a76c", + "#u c #c7bbaf", + ".6 c #c8ad74", + "#7 c #c8b7a9", + "#r c #c8beb5", + ".m c #c8c8c8", + "#U c #cbad96", + "#f c #ccb681", + "#h c #cdac6c", + "#P c #cdb49f", + "#X c #cdb8a6", + "#H c #ceb7a4", + ".y c #ceb892", + ".N c #cecac3", + "#Z c #cfb16f", + "#O c #cfbdad", + ".Z c #cfc7c0", + "#w c #d0bcab", + ".5 c #d1ad6b", + "#s c #d1bfb1", + ".h c #d5d5d5", + "#l c #d6cdc6", + "#D c #d8b36e", + ".H c #dac592", + "#t c #dbb977", + ".g c #dcdcdc", + ".1 c #e0dcc1", + ".f c #e0e0df", + "#1 c #e3c8b1", + "#S c #e4cdb9", + ".3 c #e4d9a3", + "#4 c #e6c1a1", + "#2 c #e7c4a5", + "#K c #e9c179", + "#g c #e9c47e", + "#Y c #e9c8ac", + ".2 c #eae6c0", + "#T c #ebcdb3", + ".Q c #ebd4b9", + "#E c #ecca87", + "#z c #ecd799", + ".l c #ececeb", + "#G c #efd7c2", + "#e c #efe3ab", + ".8 c #efe8e3", + "#v c #f1dcca", + "#. c #f2e2d4", + ".p c #f4f4f4", + "#y c #f5daa0", + "#J c #f6cf7f", + ".9 c #f7ede4", + "#p c #f9d995", + ".Y c #fcf9f6", + "#d c #fefcc5", + "#c c #fefdda", + "#b c #fefee1", + "#N c #ffd685", + "#o c #fff0a9", + "Qt c #ffffff", + "QtQtQtQtQtQt.#.a.a.a.b.b.b.c.c.d.d.dQtQtQtQt", + "QtQtQtQtQtQt.e.f.g.g.f.g.g.h.i.j.d.k.dQtQtQt", + "QtQtQtQtQtQt.a.gQtQtQtQtQtQt.l.f.c.m.k.dQtQt", + "QtQtQtQtQt.n.n.n.n.n.o.g.pQtQt.l.bQt.m.k.dQt", + "QtQtQt.q.q.r.q.s.t.r.q.u.u.g.pQt.a.fQt.m.k.d", + "QtQt.s.s.v.w.x.y.y.t.z.A.t.B.i.p.#.a.b.c.d.d", + "Qt.C.C.D.E.F.G.A.H.F.I.J.K.L.M.i.p.l.N.O.P.d", + "Qt.s.v.Q.q.R.S.T.A.R.U.V.L.W.W.X.g.Y.f.Z.k.d", + ".0.s.t.Q.1.U.R.2.3.S.U.4.5.6.6.7.j.8.9#..O.d", + ".G##.V#a#b.1#c#c#d#e#f#g#h#i#j.W#k#l.9#.#m.d", + ".G.4.F#n#c#c#c#d#d#o#p#g.x.w#i.L#q#r#.#.#s.d", + ".e.J.J.I.3#d.H#j.6#f#p#t#n.w.E.L#q#u#.#v#w.d", + ".G.A#x.z#y#z#A#B#B#C#D#E.4.4.6#h#F#m#v#G#H.d", + ".o.s.A#j#E#t#I#I#I#C#A#J#p#p#K#t#F#m#v#G#H.d", + "Qt##.A.6.7#I#I#A.E#L#M.W#N#J#K.a.U#O#G.Q#P.d", + "Qt#a.M.L.J#A#I.4.E#Q.x#R#D#J#g.#.C#S.Q#T#U.d", + "QtQt#V.K.z#Q.s.S.x.S#B#M#W#E.a.U#X.Q#T#Y#U.d", + "QtQtQt.M#i#B.r#Q#Q.r#Q.z#Z.a#q#0#1#T#Y#2#3.d", + "QtQtQtQtQt#j.L.L.W.5#t.a.#.U#0#1#T#Y#2#4#3.d", + "QtQtQtQtQtQt.d#F#q#q#q.P.C#O#S.Q#T#Y#2#4#3.d", + "QtQtQtQtQtQt.d#5#5#6#6#0#7#w#H#P#U#U#3#3#8.d", + "QtQtQtQtQtQt.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d" +}; + +KugarWidgetPlugin::KugarWidgetPlugin () +{ +} + +QStringList KugarWidgetPlugin::keys () const +{ + QStringList list; + list << "KReportViewer"; + return list; +} + +QWidget* KugarWidgetPlugin::create (const QString & key, QWidget * parent, + const char *name) +{ + if (key == "KReportViewer") + return new KReportViewer (parent, name); + return 0; +} + +QString KugarWidgetPlugin::group (const QString & feature) const +{ + if (feature == "KReportViewer") + return "Display"; + return QString::null; +} + +QIconSet KugarWidgetPlugin::iconSet (const QString &) const +{ + return QIconSet (QPixmap (kugar_pixmap)); +} + +QString KugarWidgetPlugin::includeFile (const QString & feature) const +{ + if (feature == "KReportViewer") + return "kugar.h"; + return QString::null; +} + +QString KugarWidgetPlugin::toolTip (const QString & feature) const +{ + if (feature == "KReportViewer") + return "Kugar report viewer widget"; + return QString::null; +} + +QString KugarWidgetPlugin::whatsThis (const QString & feature) const +{ + if (feature == "KReportViewer") + return "A widget to view xml reports"; + return QString::null; +} + +bool KugarWidgetPlugin::isContainer (const QString &) const +{ + return FALSE; +} + +Q_EXPORT_PLUGIN( KugarWidgetPlugin ) +</programlisting> +</sect3> + +<sect3 id="plugin-pro-source"> +<title>kugar_plugin.pro</title> + +<programlisting> +SOURCES += kugar_plugin.cpp +HEADERS += kugar_plugin.h + +DESTDIR = $(QTDIR)/plugins/designer +TARGET = kugar_plugin + +target.path=$$plugins.path +isEmpty(target.path):target.path=$$QT_PREFIX/plugins +PROJECTNAME = KugarPlugin +TEMPLATE = lib +CONFIG += qt warn_on release plugin +unix:LIBS += -lkugar +LANGUAGE = C++ +</programlisting> +</sect3> + +</sect2> + +</sect1> +</chapter> diff --git a/doc/kugar/props.png b/doc/kugar/props.png Binary files differnew file mode 100644 index 00000000..7a110f89 --- /dev/null +++ b/doc/kugar/props.png diff --git a/doc/kugar/starting.docbook b/doc/kugar/starting.docbook new file mode 100644 index 00000000..555df6a9 --- /dev/null +++ b/doc/kugar/starting.docbook @@ -0,0 +1,60 @@ +<!-- If you want to validate or edit this document separately, uncomment +this prolog + +<?xml version="1.0" ?> +<!DOCTYPE appendix PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"> + +--> +<chapter id="starting"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Alexander</firstname> +<surname>Dymo</surname> +<affiliation> +<address><email>cloudtemple@mksat.net</email></address> +</affiliation> +</author> +<author> +<firstname>Phil</firstname> +<surname>Thompson</surname> +<affiliation> +<address><email>phil@river-bank.demon.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Starting &kugar; and &kudesigner;</title> +<para> +The &kugar; program takes two commandline arguments: +</para> + +<cmdsynopsis> +<command>kugar</command> +<group> +<option>-d <replaceable>Kugar data file</replaceable></option> +</group> +<group> +<option>-r <replaceable>Kugar template file</replaceable></option> +</group> +</cmdsynopsis> + +<para> +For example, <userinput><command>kugar</command> <option>-d</option> +<parameter>sample1.kdf</parameter> <option>-r</option> +<parameter>sample1.ktf</parameter></userinput> +</para> + +<para> +The &kudesigner; program can be started with no arguments +or with a report template file name as an argument: +</para> +<cmdsynopsis> +<command>kudesigner</command> +<group> +<replaceable>template.ktf</replaceable> +</group> +</cmdsynopsis> + +</chapter> diff --git a/doc/kugar/template-elements.docbook b/doc/kugar/template-elements.docbook new file mode 100644 index 00000000..d48bb2a7 --- /dev/null +++ b/doc/kugar/template-elements.docbook @@ -0,0 +1,2493 @@ +<!-- If you want to edit or validate this document separately, uncomment --> +<!-- this prolog +<?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"> +--> +<sect1 id="template-elements"> +<sect1info> +<authorgroup> +<author> +<firstname>Alexander</firstname> +<surname>Dymo</surname> +<affiliation> +<address><email>cloudtemple@mksat.net</email></address> +</affiliation> +</author> +<author> +<firstname>Phil</firstname> +<surname>Thompson</surname> +<affiliation> +<address><email>phil@river-bank.demon.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title><sgmltag class="element">KugarTemplate</sgmltag> template +elements</title> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Section bands</entry> +<entry>Section elements</entry> +</row> +</thead> +<tbody> +<row> +<entry><link linkend="report-header-and-footer"><sgmltag class="element">ReportHeader</sgmltag></link></entry> +<entry><link linkend="line-element"><sgmltag class="element">Line</sgmltag></link></entry> +</row> +<row> +<entry><link linkend="page-header-and-footer"><sgmltag class="element">PageHeader</sgmltag></link></entry> +<entry><link linkend="label-element"><sgmltag class="element">Label</sgmltag></link></entry> +</row> +<row> +<entry><link linkend="detail-header-and-footer"><sgmltag class="element">DetailHeader</sgmltag></link></entry> +<entry><link linkend="field-element"><sgmltag class="element">Field</sgmltag></link></entry> +</row> +<row> +<entry><link linkend="detail"><sgmltag class="element">Detail</sgmltag></link></entry> +<entry><link linkend="calculated-field-element"><sgmltag class="element">CalculatedField</sgmltag></link></entry> +</row> +<row> +<entry><link linkend="detail-header-and-footer"><sgmltag class="element">DetailFooter</sgmltag></link></entry> +<entry><link linkend="special-element"><sgmltag class="element">Special</sgmltag></link></entry> +</row> +<row> +<entry><link linkend="page-header-and-footer"><sgmltag class="element">PageFooter</sgmltag></link></entry> +<entry>Page Footer</entry> +</row> +<row> +<entry><link linkend="report-header-and-footer"><sgmltag class="element">ReportFooter</sgmltag></link></entry> +<entry>Report Footer</entry> +</row> +</tbody> +</tgroup> +</informaltable> + + +<sect2 id="report-header-and-footer"> +<title><sgmltag class="element">ReportHeader</sgmltag> and <sgmltag +class="element">ReportFooter</sgmltag> sections</title> + +<para> +The <sgmltag class="element">ReportHeader</sgmltag> and <sgmltag +class="element">ReportFooter</sgmltag> elements define report sections +that are usually printed at the beginning and end of the report. +</para> + +<synopsis> +<!ELEMENT ReportHeader (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*)> +<!ATTLIST ReportHeader + Height CDATA #REQUIRED + PrintFrequency CDATA #REQUIRED> +</synopsis> + +<synopsis> +<!ELEMENT ReportFooter (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*, <link linkend="calculated-field-element">CalculatedField</link>*)> +<!ATTLIST ReportFooter + Height CDATA #REQUIRED + PrintFrequency CDATA #REQUIRED> +</synopsis> + +<variablelist> + +<varlistentry> +<term>Attributes</term> +<listitem> + +<variablelist> +<varlistentry> +<term><anchor id="rhf-height"/><sgmltag class="attribute">Height</sgmltag></term> +<listitem> +<para>Sets the height of the report section. If you don't want +this section, set this value to <sgmltag class="attvalue">0</sgmltag>. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="rhf-printfrequency"/><sgmltag class="attribute">PrintFrequency</sgmltag></term> +<listitem> +<para> +Set the print frequency of the section. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Print Frequency</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>First Page</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Every Page</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Last Page</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="page-header-and-footer"> +<title><sgmltag class="element">PageHeader</sgmltag> and <sgmltag +class="element">PageFooter</sgmltag> sections</title> + +<para> +The <sgmltag class="element">PageHeader</sgmltag> and <sgmltag +class="element">PageFooter</sgmltag> elements define report sections +that are usually printed on every page of the report. +</para> + +<synopsis> +<!ELEMENT PageHeader (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*)> +<!ATTLIST PageHeader + Height CDATA #REQUIRED + PrintFrequency CDATA #REQUIRED> +</synopsis> + +<synopsis> +<!ELEMENT PageFooter (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*)> +<!ATTLIST PageFooter + Height CDATA #REQUIRED + PrintFrequency CDATA #REQUIRED> +</synopsis> + +<variablelist> + +<varlistentry> +<term>Attributes</term> +<listitem> + +<variablelist> +<varlistentry> +<term><anchor id="phf-height"/><sgmltag class="attribute">Height</sgmltag></term> +<listitem> +<para>Sets the height of the report section. If you don't want +this section, set this value to <sgmltag class="attvalue">0</sgmltag>. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="phf-printfrequency"/><sgmltag class="attribute">PrintFrequency</sgmltag></term> +<listitem> +<para> +Set the print frequency of the section. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Print Frequency</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>First Page</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Every Page</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Last Page</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2 id="detail-header-and-footer"> +<title><sgmltag class="element">DetailHeader</sgmltag> and <sgmltag +class="element">DetailFooter</sgmltag> sections</title> + +<para> +The <sgmltag class="element">DetailHeader</sgmltag> and <sgmltag +class="element">DetailFooter</sgmltag> elements define report sections +that are printed before and after details of a given level and below on the report. +</para> + +<synopsis> +<!ELEMENT DetailHeader (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*)> +<!ATTLIST DetailHeader + Height CDATA #REQUIRED + Level CDATA #REQUIRED> +</synopsis> + +<synopsis> +<!ELEMENT DetailFooter (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*)> +<!ATTLIST DetailFooter + Height CDATA #REQUIRED + Level CDATA #REQUIRED> +</synopsis> + +<variablelist> + +<varlistentry> +<term>Attributes</term> +<listitem> + +<variablelist> +<varlistentry> +<term><anchor id="dhf-height"/><sgmltag class="attribute">Height</sgmltag></term> +<listitem> +<para>Sets the height of the report section. If you don't want +this section, set this value to <sgmltag class="attvalue">0</sgmltag>. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="dhf-level"/><sgmltag class="attribute">Level</sgmltag></term> +<listitem> +<para> +Set the hierarchy level of the section. Sections with higher levels will be printed +before sections with lower ones. Level can be any number beginning from 0. +</para> + +</listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2 id="detail"> +<title><sgmltag class="element">Detail</sgmltag> section</title> + +<para> +The <sgmltag class="element">Detail</sgmltag> element defines the report +section that contains the report data. The report can have multiple details, +which are accessed by the detail's Level attribute. +</para> + +<synopsis> +<!ELEMENT Detail (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*, <link linkend="field-element">Field</link>*)> +<!ATTLIST Detail + Height CDATA #REQUIRED + Level CDATA #REQUIRED> +</synopsis> + +<variablelist> +<varlistentry> +<term>Attributes</term> +<listitem> + +<variablelist> +<varlistentry> +<term><anchor id="d-height"/><sgmltag class="attribute">Height</sgmltag></term> +<listitem> +<para>Sets the height of the report section. If you don't want +this section, set this value to <sgmltag class="attvalue">0</sgmltag>. +</para> +</listitem> +</varlistentry> +<varlistentry> +<term><anchor id="d-level"/><sgmltag class="attribute">Level</sgmltag></term> +<listitem> +<para> +Set the hierarchy level of the section. Sections with higher levels will be printed +before sections with lower ones. Level can be any number beginning from 0. This is an attribute +of a <sgmltag class="attribute">row</sgmltag> element in a data file. +</para> + +</listitem> +</varlistentry> + +</variablelist> +</listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="line-element"> +<title><sgmltag class="element">Line</sgmltag></title> + +<para> +The <sgmltag class="element">Line</sgmltag> element defines a report +object used to draw lines on a report. +</para> + +<synopsis> +<!ELEMENT Line EMPTY> +<!ATTLIST Line + X1 CDATA #REQUIRED + Y1 CDATA #REQUIRED + X2 CDATA #REQUIRED + Y2 CDATA #REQUIRED + Width CDATA #REQUIRED + Color CDATA #REQUIRED + Style CDATA #REQUIRED> +</synopsis> + +<variablelist> +<varlistentry> +<term>Attributes</term> +<listitem> +<variablelist> + +<varlistentry> +<term><anchor id="l-x1"/><sgmltag class="attribute">X1</sgmltag></term> +<listitem> +<para> +Sets the starting x coordinate (relative to the section's upper left corner) for the line. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="l-y1"/><sgmltag class="attribute">Y1</sgmltag></term> +<listitem> +<para> +Sets the starting y coordinate (relative to the section's upper left corner) for the line. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="l-x2"/><sgmltag class="attribute">X2</sgmltag></term> +<listitem> +<para> +Sets the ending x coordinate (relative to the section's upper left corner) for the line. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="l-y2"/><sgmltag class="attribute">Y2</sgmltag></term> +<listitem> +<para> +Sets the ending y coordinate (relative to the section's upper left corner) for the line. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="l-width"/><sgmltag class="attribute">Width</sgmltag></term> +<listitem> +<para> +Sets the width of the line. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="l-color"/><sgmltag class="attribute">Color</sgmltag></term> +<listitem> +<para> +Sets the color of the line. The color is defined as an RGB (Red Green Blue) value +(r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="l-style"/><sgmltag class="attribute">Style</sgmltag></term> +<listitem> +<para> +Sets the drawing style for the line. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Line Style</entry> +</row> +</thead> + +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>No Pen</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Solid</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Dash</entry> +</row> +<row> +<entry><sgmltag class="attvalue">3</sgmltag></entry> +<entry>Dot</entry> +</row> +<row> +<entry><sgmltag class="attvalue">4</sgmltag></entry> +<entry>Dash Dot</entry> +</row> +<row> +<entry><sgmltag class="attvalue">5</sgmltag></entry> +<entry>Dash Dot Dot</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="label-element"> +<title><sgmltag class="element">Label</sgmltag></title> + +<para> +The <sgmltag class="element">Label</sgmltag> element defines a report +object used to draw fixed text on a report. +</para> + +<synopsis> + <!ELEMENT Label EMPTY> + <!ATTLIST Label + Text CDATA #REQUIRED + X CDATA #REQUIRED + Y CDATA #REQUIRED + Width CDATA #REQUIRED + Height CDATA #REQUIRED + BackgroundColor CDATA #REQUIRED + ForegroundColor CDATA #REQUIRED + BorderColor CDATA #REQUIRED + BorderWidth CDATA #REQUIRED + BorderStyle CDATA #REQUIRED + FontFamily CDATA #REQUIRED + FontSize CDATA #REQUIRED + FontWeight CDATA #REQUIRED + FontItalic CDATA #REQUIRED + HAlignment CDATA #REQUIRED + VAlignment CDATA #REQUIRED + WordWrap CDATA #REQUIRED> +</synopsis> + +<variablelist> +<varlistentry> +<term>Attributes</term> +<listitem> + +<variablelist> +<varlistentry> +<term><anchor id="la-text"/><sgmltag class="attribute">Text</sgmltag></term> +<listitem> +<para> +Sets the label's text. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-x"/><sgmltag class="attribute">X</sgmltag></term> +<listitem> +<para> +Sets the x coordinate (relative to the section's upper left corner) for positioning the label. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-y"/><sgmltag class="attribute">Y</sgmltag></term> +<listitem> +<para> +Sets the y coordinate (relative to the section's upper left corner) for positioning the label. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-width"/><sgmltag class="attribute">Width</sgmltag></term> +<listitem> +<para> +Sets the width of the label. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-height"/><sgmltag class="attribute">Height</sgmltag></term> +<listitem> +<para> +Sets the height of the label. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-backgroundcolor"/><sgmltag class="attribute">BackgroundColor</sgmltag></term> +<listitem> +<para> +Sets the background color of the label. The color is defined as an +RGB (Red Green Blue) value (r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-foregroundcolor"/><sgmltag class="attribute">ForegroundColor</sgmltag></term> +<listitem> +<para> +Sets the foreground color of the label. The color is defined as an RGB (Red Green Blue) +value (r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-bordercolor"/><sgmltag class="element">BorderColor</sgmltag></term> +<listitem> +<para> +Sets the border color of the label. The color is defined as an RGB (Red Green Blue) +value (r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-borderwidth"/><sgmltag class="element">BorderWidth</sgmltag></term> +<listitem> +<para> +Sets the border width for the label. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-borderstyle"/><sgmltag class="element">BorderStyle</sgmltag></term> +<listitem> +<para> +Sets the border style for the label. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Border Style</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>None</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Solid</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Dash</entry> +</row> +<row> +<entry><sgmltag class="attvalue">3</sgmltag></entry> +<entry>Dot</entry> +</row> +<row> +<entry><sgmltag class="attvalue">4</sgmltag></entry> +<entry>Dash Dot</entry> +</row> +<row> +<entry><sgmltag class="attvalue">5</sgmltag></entry> +<entry>Dash Dot Dot</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-fontfamily"/><sgmltag class="attribute">FontFamily</sgmltag></term> +<listitem> +<para> +Sets the font family for the label's text. +</para> +<!--<informalexample> +<para>For example: <userinput><sgmltag +class="attribute">FontFamily</sgmltag>="<sgmltag +class="attvalue">Helvetica</sgmltag>"</userinput></para> +</informalexample>--> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-fontsize"/><sgmltag class="attribute">FontSize</sgmltag></term> +<listitem> +<para> +Sets the font size for the label's text. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-fontweight"/><sgmltag class="attribute">FontWeight</sgmltag></term> +<listitem> +<para> +Sets the font weight for the label's text. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Font Weight</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">25</sgmltag></entry> +<entry>Light</entry> +</row> +<row> +<entry><sgmltag class="attvalue">50</sgmltag></entry> +<entry>Normal</entry> +</row> +<row> +<entry><sgmltag class="attvalue">63</sgmltag></entry> +<entry>Demi Bold</entry> +</row> +<row> +<entry><sgmltag class="attvalue">75</sgmltag></entry> +<entry>Bold</entry> +</row> +<row> +<entry><sgmltag class="attvalue">87</sgmltag></entry> +<entry>Black</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-fontitalic"/><sgmltag class="attribute">FontItalic</sgmltag></term> +<listitem> +<para> +Sets the font italic flag for the label's text. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Italic</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>False</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>True</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-halignment"/><sgmltag class="attribute">HAlignment</sgmltag></term> +<listitem> +<para> +Sets the label's horizontal text alignment. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Horizontal Alignment</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>Left</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Center</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Right</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-valignment"/><sgmltag class="attribute">VAlignment</sgmltag></term> +<listitem> +<para> +Sets the label's vertical text alignment. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Vertical Alignment</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>Top</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Middle</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Bottom</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="la-wordwrap"/><sgmltag class="attribute">WordWrap</sgmltag></term> +<listitem> +<para> +Sets the word wrap flag for the label's text. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Word Wrap</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>False</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>True</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2 id="field-element"> +<title><sgmltag class="element">Field</sgmltag></title> + +<para> +The <sgmltag class="element">Field</sgmltag> element defines a report +object used to draw data on a report. +</para> + +<synopsis> +<!ELEMENT Field EMPTY> +<!ATTLIST Field + Field CDATA #REQUIRED + Text CDATA #REQUIRED + X CDATA #REQUIRED + Y CDATA #REQUIRED + Width CDATA #REQUIRED + Height CDATA #REQUIRED + BackgroundColor CDATA #REQUIRED + ForegroundColor CDATA #REQUIRED + BorderColor CDATA #REQUIRED + BorderWidth CDATA #REQUIRED + BorderStyle CDATA #REQUIRED + FontFamily CDATA #REQUIRED + FontSize CDATA #REQUIRED + FontWeight CDATA #REQUIRED + FontItalic CDATA #REQUIRED + HAlignment CDATA #REQUIRED + VAlignment CDATA #REQUIRED + WordWrap CDATA #REQUIRED + DataType CDATA #REQUIRED + DateFormat CDATA #REQUIRED + Precision CDATA #REQUIRED + Currency CDATA #REQUIRED + NegValueColor CDATA #REQUIRED + CommaSeparator CDATA #REQUIRED> +</synopsis> + +<variablelist> +<varlistentry> +<term>Attributes</term> +<listitem> + +<variablelist> +<varlistentry> +<term><anchor id="f-field"/><sgmltag class="attribute">Field</sgmltag></term> +<listitem> +<para> +Sets the data field for the object. This is an attribute of a <sgmltag +class="attribute">row</sgmltag> element in a data file. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-text"/><sgmltag class="attribute">Text</sgmltag></term> +<listitem> +<para> +Not used. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-x"/><sgmltag class="attribute">X</sgmltag></term> +<listitem> +<para> +Sets the x coordinate (relative to the section's upper left corner) for positioning the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-y"/><sgmltag class="attribute">Y</sgmltag></term> +<listitem> +<para> +Sets the y coordinate (relative to the section's upper left corner) for positioning the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-width"/><sgmltag class="attribute">Width</sgmltag></term> +<listitem> +<para> +Sets the width of the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-height"/><sgmltag class="attribute">Height</sgmltag></term> +<listitem> +<para> +Sets the height of the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-backgroundcolor"/><sgmltag class="attribute">BackgroundColor</sgmltag></term> +<listitem> +<para> +Sets the background color of the field. The color is defined as an RGB (Red Green Blue) +value (r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-foregroundcolor"/><sgmltag class="attribute">ForegroundColor</sgmltag></term> +<listitem> +<para> +Sets the foreground color of the field. The color is defined as an RGB (Red Green Blue) +value (r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-bordercolor"/><sgmltag class="attribute">BorderColor</sgmltag></term> +<listitem> +<para> +Sets the border color of the field. The color is defined as an RGB (Red Green Blue) +value (r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-borderwidth"/><sgmltag class="element">BorderWidth</sgmltag></term> +<listitem> +<para> +Sets the border width for the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-borderstyle"/><sgmltag class="element">BorderStyle</sgmltag></term> +<listitem> +<para> +Sets the border style for the field. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Border Style</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>None</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Solid</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Dash</entry> +</row> +<row> +<entry><sgmltag class="attvalue">3</sgmltag></entry> +<entry>Dot</entry> +</row> +<row> +<entry><sgmltag class="attvalue">4</sgmltag></entry> +<entry>Dash Dot</entry> +</row> +<row> +<entry><sgmltag class="attvalue">5</sgmltag></entry> +<entry>Dash Dot Dot</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-fontfamily"/><sgmltag class="attribute">FontFamily</sgmltag></term> +<listitem> +<para> +Sets the font family for the field's text. +</para> +<!--<informalexample> +<para><userinput><sgmltag +class="attribute">FontFamily</sgmltag>="<sgmltag +class="attvalue">Helvetica</sgmltag>"</userinput></para> +</informalexample>--> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-fontsize"/><sgmltag class="attribute">FontSize</sgmltag></term> +<listitem> +<para> +Sets the font size for the field's text. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-fontweight"/><sgmltag class="attribute">FontWeight</sgmltag></term> +<listitem> +<para> +Sets the font weight for the field's text. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Font Weight</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">25</sgmltag></entry> +<entry>Light</entry> +</row> +<row> +<entry><sgmltag class="attvalue">50</sgmltag></entry> +<entry>Normal</entry> +</row> +<row> +<entry><sgmltag class="attvalue">63</sgmltag></entry> +<entry>Demi Bold</entry> +</row> +<row> +<entry><sgmltag class="attvalue">75</sgmltag></entry> +<entry>Bold</entry> +</row> +<row> +<entry><sgmltag class="attvalue">87</sgmltag></entry> +<entry>Black</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-fontitalic"/><sgmltag class="attribute">FontItalic</sgmltag></term> +<listitem> +<para> +Sets the font italic flag for the field's text. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Italic</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>False</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>True</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-halignment"/><sgmltag class="attribute">HAlignment</sgmltag></term> +<listitem> +<para> +Sets the field's horizontal text alignment. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Horizontal Alignment</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>Left</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Center</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Right</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-valignment"/><sgmltag class="attribute">VAlignment</sgmltag></term> +<listitem> +<para> +Sets the field's vertical text alignment +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Vertical Alignment</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>Top</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Middle</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Bottom</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-wordwrap"/><sgmltag class="attribute">WordWrap</sgmltag></term> +<listitem> +<para> +Sets the word wrap flag for the field's text. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Word Wrap</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>False</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>True</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> +<!--</variablelist> +</listitem> +</varlistentry>--> + +<varlistentry> +<term><anchor id="f-datatype"/><sgmltag class="attribute">DataType</sgmltag></term> +<listitem> +<para> +Sets the field's data type. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Data Type</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>String</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Integer</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Float</entry> +</row> +<row> +<entry><sgmltag class="attvalue">3</sgmltag></entry> +<entry>Date</entry> +</row> +<row> +<entry><sgmltag class="attvalue">4</sgmltag></entry> +<entry>Currency</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-dateformat"/><sgmltag class="attribute">DateFormat</sgmltag></term> +<listitem> +<para> +Sets the field's date format. For this to work, the format of the date +from the data document must be in the format mm/dd/yyyy or mm-dd-yyyy, +otherwise the original date format is used. If the data type is other than +date, set this to <sgmltag class="attvalue">0</sgmltag>. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Date Format</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>m/d/yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>m-d-yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>mm/dd/yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">3</sgmltag></entry> +<entry>mm-dd-yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">4</sgmltag></entry> +<entry>m/d/yyyy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">5</sgmltag></entry> +<entry>m-d-yyyy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">6</sgmltag></entry> +<entry>mm/dd/yyyy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">7</sgmltag></entry> +<entry>mm-dd-yyyy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">8</sgmltag></entry> +<entry>yyyy/m/d</entry> +</row> +<row> +<entry><sgmltag class="attvalue">9</sgmltag></entry> +<entry>yyyy-m-d</entry> +</row> +<row> +<entry><sgmltag class="attvalue">10</sgmltag></entry> +<entry>dd.mm.yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">11</sgmltag></entry> +<entry>dd.mm.yyyy</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-precision"/><sgmltag class="attribute">Precision</sgmltag></term> +<listitem> +<para> +Sets the field's numeric precision. If the data type is other than a numeric +type, set this to 0. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-currency"/><sgmltag class="attribute">Currency</sgmltag></term> +<listitem> +<para> +Sets the field's currency symbol If the data type is other than currency, set +this to <sgmltag class="attvalue">36</sgmltag> ($). The value is a number +representing a Unicode character. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-negvaluecolor"/><sgmltag class="attribute">NegValueColor</sgmltag></term> +<listitem> +<para> +Sets the color for negative numeric values. The color is defined as an +RGB (Red Green Blue) value (r,g,b). r, g and b must be in the range 0..255. If data is +other than a numeric type, set to 255,0,0. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="f-commaseparator"/><sgmltag class="attribute">CommaSeparator</sgmltag></term> +<listitem> +<para> +Sets whether commas are used in numeric fields. If the data type is other than +a numeric type, set this to <sgmltag class="attvalue">0</sgmltag>. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Comma Separator</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>False</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>True</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2 id="calculated-field-element"> +<title><sgmltag class="element">CalculatedField</sgmltag></title> + +<para> +The <sgmltag class="element">CalculatedField</sgmltag> element defines a report +object used to draw calculated values on a report. +</para> + +<synopsis> +<!ELEMENT CalculatedField EMPTY> +<!ATTLIST CalculatedField + CalculationType CDATA #REQUIRED + Field CDATA #REQUIRED + Text CDATA #REQUIRED + X CDATA #REQUIRED + Y CDATA #REQUIRED + Width CDATA #REQUIRED + Height CDATA #REQUIRED + BackgroundColor CDATA #REQUIRED + ForegroundColor CDATA #REQUIRED + BorderColor CDATA #REQUIRED + BorderWidth CDATA #REQUIRED + BorderStyle CDATA #REQUIRED + FontFamily CDATA #REQUIRED + FontSize CDATA #REQUIRED + FontWeight CDATA #REQUIRED + FontItalic CDATA #REQUIRED + HAlignment CDATA #REQUIRED + VAlignment CDATA #REQUIRED + WordWrap CDATA #REQUIRED + DataType CDATA #REQUIRED + DateFormat CDATA #REQUIRED + Precision CDATA #REQUIRED + Currency CDATA #REQUIRED + NegValueColor CDATA #REQUIRED + CommaSeparator CDATA #REQUIRED> +</synopsis> + +<variablelist> +<varlistentry> +<term>Attributes</term> +<listitem> + +<variablelist> +<varlistentry> +<term><anchor id="c-calculationtype"/><sgmltag class="attribute">CalculationType</sgmltag></term> +<listitem> +<para> +Sets the calculation type for the field. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Calculation</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>Count</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Sum</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Average</entry> +</row> +<row> +<entry><sgmltag class="attvalue">3</sgmltag></entry> +<entry>Variance</entry> +</row> +<row> +<entry><sgmltag class="attvalue">4</sgmltag></entry> +<entry>Std Deviation</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-field"/><sgmltag class="attribute">Field</sgmltag></term> +<listitem> +<para> +Sets the data field for the object. This is an attribute of a <sgmltag +class="attribute">row</sgmltag> element in a data file. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-text"/><sgmltag class="attribute">Text</sgmltag></term> +<listitem> +<para> +Not used. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-x"/><sgmltag class="attribute">X</sgmltag></term> +<listitem> +<para> +Sets the x coordinate (relative to the section's upper left corner) for positioning the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-y"/><sgmltag class="attribute">Y</sgmltag></term> +<listitem> +<para> +Sets the y coordinate (relative to the section's upper left corner) for positioning the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-width"/><sgmltag class="attribute">Width</sgmltag></term> +<listitem> +<para> +Sets the width of the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-height"/><sgmltag class="attribute">Height</sgmltag></term> +<listitem> +<para> +Sets the height of the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-backgroundcolor"/><sgmltag class="attribute">BackgroundColor</sgmltag></term> +<listitem> +<para> +Sets the background color of the field. The color is defined as an RGB (Red Green Blue) +value (r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-foregroundcolor"/><sgmltag class="attribute">ForegroundColor</sgmltag></term> +<listitem> +<para> +Sets the foreground color of the field. The color is defined as an RGB (Red Green Blue) +value (r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-bordercolor"/><sgmltag class="attribute">BorderColor</sgmltag></term> +<listitem> +<para> +Sets the border color of the field. The color is defined as an RGB (Red Green Blue) +value (r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-borderwidth"/><sgmltag class="element">BorderWidth</sgmltag></term> +<listitem> +<para> +Sets the border width for the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-borderstyle"/><sgmltag class="element">BorderStyle</sgmltag></term> +<listitem> +<para> +Sets the border style for the field. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Border Style</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>None</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Solid</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Dash</entry> +</row> +<row> +<entry><sgmltag class="attvalue">3</sgmltag></entry> +<entry>Dot</entry> +</row> +<row> +<entry><sgmltag class="attvalue">4</sgmltag></entry> +<entry>Dash Dot</entry> +</row> +<row> +<entry><sgmltag class="attvalue">5</sgmltag></entry> +<entry>Dash Dot Dot</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-fontfamily"/><sgmltag class="attribute">FontFamily</sgmltag></term> +<listitem> +<para> +Sets the font family for the field's text. +</para> +<!--<informalexample> +<para><userinput><sgmltag +class="attribute">FontFamily</sgmltag>="<sgmltag +class="attvalue">Helvetica</sgmltag>"</userinput></para> +</informalexample>--> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-fontsize"/><sgmltag class="attribute">FontSize</sgmltag></term> +<listitem> +<para> +Sets the font size for the field's text. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-fontweight"/><sgmltag class="attribute">FontWeight</sgmltag></term> +<listitem> +<para> +Sets the font weight for the field's text. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Font Weight</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">25</sgmltag></entry> +<entry>Light</entry> +</row> +<row> +<entry><sgmltag class="attvalue">50</sgmltag></entry> +<entry>Normal</entry> +</row> +<row> +<entry><sgmltag class="attvalue">63</sgmltag></entry> +<entry>Demi Bold</entry> +</row> +<row> +<entry><sgmltag class="attvalue">75</sgmltag></entry> +<entry>Bold</entry> +</row> +<row> +<entry><sgmltag class="attvalue">87</sgmltag></entry> +<entry>Black</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-fontitalic"/><sgmltag class="attribute">FontItalic</sgmltag></term> +<listitem> +<para> +Sets the font italic flag for the field's text. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Italic</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>False</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>True</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-halignment"/><sgmltag class="attribute">HAlignment</sgmltag></term> +<listitem> +<para> +Sets the field's horizontal text alignment. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Horizontal Alignment</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>Left</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Center</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Right</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-valignment"/><sgmltag class="attribute">VAlignment</sgmltag></term> +<listitem> +<para> +Sets the field's vertical text alignment. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Vertical Alignment</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>Top</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Middle</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Bottom</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-wordwrap"/><sgmltag class="attribute">WordWrap</sgmltag></term> +<listitem> +<para> +Sets the word wrap flag for the field's text. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Word Wrap</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>False</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>True</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-datatype"/><sgmltag class="attribute">DataType</sgmltag></term> +<listitem> +<para> +Sets the field's data type. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Data Type</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>String</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Integer</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Float</entry> +</row> +<row> +<entry><sgmltag class="attvalue">3</sgmltag></entry> +<entry>Date</entry> +</row> +<row> +<entry><sgmltag class="attvalue">4</sgmltag></entry> +<entry>Currency</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-dateformat"/><sgmltag class="attribute">DateFormat</sgmltag></term> +<listitem> +<para> +Sets the field's date format. For this to work, the format of the date +from the data document must be in the format mm/dd/yyyy or mm-dd-yyyy, +otherwise the original date format is used. If the data type is other than +date, set this to <sgmltag class="attvalue">0</sgmltag>. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Date Format</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>m/d/yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>m-d-yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>mm/dd/yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">3</sgmltag></entry> +<entry>mm-dd-yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">4</sgmltag></entry> +<entry>m/d/yyyy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">5</sgmltag></entry> +<entry>m-d-yyyy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">6</sgmltag></entry> +<entry>mm/dd/yyyy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">7</sgmltag></entry> +<entry>mm-dd-yyyy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">8</sgmltag></entry> +<entry>yyyy/m/d</entry> +</row> +<row> +<entry><sgmltag class="attvalue">9</sgmltag></entry> +<entry>yyyy-m-d</entry> +</row> +<row> +<entry><sgmltag class="attvalue">10</sgmltag></entry> +<entry>dd.mm.yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">11</sgmltag></entry> +<entry>dd.mm.yyyy</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-precision"/><sgmltag class="attribute">Precision</sgmltag></term> +<listitem> +<para> +Sets the field's numeric precision. If the data type is other than a numeric +type, set this to 0. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-currency"/><sgmltag class="attribute">Currency</sgmltag></term> +<listitem> +<para> +Sets the field's currency symbol. If the data type is other than currency, set +this to <sgmltag class="attvalue">36</sgmltag> ($). The value is a number +representing an unicode character. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-negvaluecolor"/><sgmltag class="attribute">NegValueColor</sgmltag></term> +<listitem> +<para> +Sets the color for negative numeric values. The color is defined as an +RGB (Red Green Blue) value (r,g,b). r, g and b must be in the range 0..255. If data is +other than a numeric type, set to 255,0,0. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="c-commaseparator"/><sgmltag class="attribute">CommaSeparator</sgmltag></term> +<listitem> +<para> +Sets whether commas are used in numeric fields. If the data type is other than +a numeric type, set this to <sgmltag class="attvalue">0</sgmltag>. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Comma Separator</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>False</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>True</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +</listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2 id="special-element"> +<title><sgmltag class="element">Special</sgmltag></title> + +<para> +The <sgmltag class="element">Special</sgmltag> element defines a report +object used to draw page numbers and the current date on a report. +</para> + +<synopsis> +<!ELEMENT Special EMPTY> +<!ATTLIST Special + Type CDATA #REQUIRED + Text CDATA #REQUIRED + X CDATA #REQUIRED + Y CDATA #REQUIRED + Width CDATA #REQUIRED + Height CDATA #REQUIRED + BackgroundColor CDATA #REQUIRED + ForegroundColor CDATA #REQUIRED + BorderColor CDATA #REQUIRED + BorderWidth CDATA #REQUIRED + BorderStyle CDATA #REQUIRED + FontFamily CDATA #REQUIRED + FontSize CDATA #REQUIRED + FontWeight CDATA #REQUIRED + FontItalic CDATA #REQUIRED + HAlignment CDATA #REQUIRED + VAlignment CDATA #REQUIRED + WordWrap CDATA #REQUIRED + DateFormat CDATA #REQUIRED> +</synopsis> + +<variablelist> +<varlistentry> +<term>Attributes</term> +<listitem> + +<variablelist> +<varlistentry> +<term><anchor id="s-type"/><sgmltag class="attribute">Type</sgmltag></term> +<listitem> +<para> +Sets the type of special object. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Type</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>Current Date</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Page Number</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-text"/><sgmltag class="attribute">Text</sgmltag></term> +<listitem> +<para> +Not used. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-x"/><sgmltag class="attribute">X</sgmltag></term> +<listitem> +<para> +Sets the x coordinate (relative to the section's upper left corner) for positioning the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-y"/><sgmltag class="attribute">Y</sgmltag></term> +<listitem> +<para> +Sets the y coordinate (relative to the section's upper left corner) for positioning the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-width"/><sgmltag class="attribute">Width</sgmltag></term> +<listitem> +<para> +Sets the width of the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-height"/><sgmltag class="attribute">Height</sgmltag></term> +<listitem> +<para> +Sets the height of the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-backgroundcolor"/><sgmltag class="attribute">BackgroundColor</sgmltag></term> +<listitem> +<para> +Sets the background color of the field. The color is defined as an RGB (Red Green Blue) +value (r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-foregroundcolor"/><sgmltag class="attribute">ForegroundColor</sgmltag></term> +<listitem> +<para> +Sets the foreground color of the field. The color is defined as an RGB (Red Green Blue) +value (r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + + +<varlistentry> +<term><anchor id="s-bordercolor"/><sgmltag class="attribute">BorderColor</sgmltag></term> +<listitem> +<para> +Sets the border color of the field. The color is defined as an RGB (Red Green Blue) +value (r,g,b). r, g and b must be in the range 0..255. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-borderwidth"/><sgmltag class="element">BorderWidth</sgmltag></term> +<listitem> +<para> +Sets the border width for the field. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-borderstyle"/><sgmltag class="element">BorderStyle</sgmltag></term> +<listitem> +<para> +Sets the border style for the field. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Border Style</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>None</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Solid</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Dash</entry> +</row> +<row> +<entry><sgmltag class="attvalue">3</sgmltag></entry> +<entry>Dot</entry> +</row> +<row> +<entry><sgmltag class="attvalue">4</sgmltag></entry> +<entry>Dash Dot</entry> +</row> +<row> +<entry><sgmltag class="attvalue">5</sgmltag></entry> +<entry>Dash Dot Dot</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-fontfamily"/><sgmltag class="attribute">FontFamily</sgmltag></term> +<listitem> +<para> +Sets the font family for the field's text. +</para> +<!--<informalexample> +<para><userinput><sgmltag +class="attribute">FontFamily</sgmltag>="<sgmltag +class="attvalue">Helvetica</sgmltag>"</userinput></para> +</informalexample>--> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-fontsize"/><sgmltag class="attribute">FontSize</sgmltag></term> +<listitem> +<para> +Sets the font size for the field's text. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-fontweight"/><sgmltag class="attribute">FontWeight</sgmltag></term> +<listitem> +<para> +Sets the font weight for the field's text. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Font Weight</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">25</sgmltag></entry> +<entry>Light</entry> +</row> +<row> +<entry><sgmltag class="attvalue">50</sgmltag></entry> +<entry>Normal</entry> +</row> +<row> +<entry><sgmltag class="attvalue">63</sgmltag></entry> +<entry>Demi Bold</entry> +</row> +<row> +<entry><sgmltag class="attvalue">75</sgmltag></entry> +<entry>Bold</entry> +</row> +<row> +<entry><sgmltag class="attvalue">87</sgmltag></entry> +<entry>Black</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-fontitalic"/><sgmltag class="attribute">FontItalic</sgmltag></term> +<listitem> +<para> +Sets the font italic flag for the field's text. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Italic</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>False</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>True</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-halignment"/><sgmltag class="attribute">HAlignment</sgmltag></term> +<listitem> +<para> +Sets the field's horizontal text alignment. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Horizontal Alignment</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>Left</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Center</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Right</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-valignment"/><sgmltag class="attribute">VAlignment</sgmltag></term> +<listitem> +<para> +Sets the field's vertical text alignment. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Vertical Alignment</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>Top</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>Middle</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>Bottom</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-wordwrap"/><sgmltag class="attribute">WordWrap</sgmltag></term> +<listitem> +<para> +Sets the word wrap flag for the field's text. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Word Wrap</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>False</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>True</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-dateformat"/><sgmltag class="attribute">DateFormat</sgmltag></term> +<listitem> +<para> +Sets the field's date format. For this to work, the format of the date +from the data document must be in the format mm/dd/yyyy or mm-dd-yyyy, +otherwise the original date format is used. If the data type is other than +date, set this to <sgmltag class="attvalue">0</sgmltag>. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Date Format</entry> +</row> +</thead> +<tbody> +<row> +<entry><sgmltag class="attvalue">0</sgmltag></entry> +<entry>m/d/yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">1</sgmltag></entry> +<entry>m-d-yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">2</sgmltag></entry> +<entry>mm/dd/yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">3</sgmltag></entry> +<entry>mm-dd-yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">4</sgmltag></entry> +<entry>m/d/yyyy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">5</sgmltag></entry> +<entry>m-d-yyyy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">6</sgmltag></entry> +<entry>mm/dd/yyyy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">7</sgmltag></entry> +<entry>mm-dd-yyyy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">8</sgmltag></entry> +<entry>yyyy/m/d</entry> +</row> +<row> +<entry><sgmltag class="attvalue">9</sgmltag></entry> +<entry>yyyy-m-d</entry> +</row> +<row> +<entry><sgmltag class="attvalue">10</sgmltag></entry> +<entry>dd.mm.yy</entry> +</row> +<row> +<entry><sgmltag class="attvalue">11</sgmltag></entry> +<entry>dd.mm.yyyy</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="s-precision"/><sgmltag class="attribute">Precision</sgmltag></term> +<listitem> +<para> +Sets the field's numeric precision. If the data type is other than a numeric +type, set this to 0. +</para> +</listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> + +</sect2> + +</sect1> + + + diff --git a/doc/kugar/template.docbook b/doc/kugar/template.docbook new file mode 100644 index 00000000..f5299fce --- /dev/null +++ b/doc/kugar/template.docbook @@ -0,0 +1,357 @@ +<!-- If you want to edit or validate this document separately, uncomment +this prolog +<?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"> +--> +<sect1 id="kugartemplate"> +<sect1info> +<authorgroup> +<author> +<firstname>Alexander</firstname> +<surname>Dymo</surname> +<affiliation> +<address><email>cloudtemple@mksat.net</email></address> +</affiliation> +</author> +<author> +<firstname>Phil</firstname> +<surname>Thompson</surname> +<affiliation> +<address><email>phil@river-bank.demon.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title><sgmltag class="element">KugarTemplate</sgmltag> element</title> + +<para> +The <sgmltag class="element">KugarTemplate</sgmltag> element defines +report attributes relating to page size, orientation, and margins. +</para> + +<synopsis> +<!ELEMENT KugarTemplate (<link linkend="report-header-and-footer">ReportHeader</link>, <link linkend="page-header-and-footer">PageHeader</link>, <link linkend="detail-header-and-footer">DetailHeader</link>*, <link linkend="detail">Detail</link>*, <link linkend="detail-header-and-footer">DetailFooter</link>*, <link linkend="page-header-and-footer">PageFooter</link>, <link linkend="report-header-and-footer">ReportFooter</link>)> +<!ATTLIST KugarTemplate +PageSize CDATA #REQUIRED +PageOrientation CDATA #REQUIRED +TopMargin CDATA #REQUIRED +BottomMargin CDATA #REQUIRED +LeftMargin CDATA #REQUIRED +RightMargin CDATA #REQUIRED> +</synopsis> + +<variablelist> + +<varlistentry> +<term>Elements</term> + +<listitem> + +<para> +The <sgmltag class="element">KugarTemplate</sgmltag> element contains +the following elements: +</para> + +<variablelist> +<varlistentry> +<term><link linkend="report-header-and-footer"><sgmltag class="element">ReportHeader</sgmltag></link></term> +<listitem> +<para> +The <sgmltag class="element">ReportHeader</sgmltag> element defines +report sections that are usually printed at the beginning of the report. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><link linkend="page-header-and-footer"><sgmltag class="element">PageHeader</sgmltag></link></term> +<listitem> +<para> +The <sgmltag class="element">PageHeader</sgmltag> element defines report +sections that are usually printed at the top of every page of the +report. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><link linkend="detail-header-and-footer"><sgmltag class="element">DetailHeader</sgmltag></link></term> +<listitem> +<para> +The <sgmltag class="element">DetailHeader</sgmltag> element defines report +sections that are printed before details of a given level on the report. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><link linkend="detail"><sgmltag class="element">Detail</sgmltag></link></term> +<listitem> +<para> +The <sgmltag class="element">Detail</sgmltag> element defines the report +section that contains the report data. The report can have an unlimited number +of details. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><link linkend="detail-header-and-footer"><sgmltag class="element">DetailFooter</sgmltag></link></term> +<listitem> +<para> +The <sgmltag class="element">DetailFooter</sgmltag> element defines report +sections that are printed after details of a given level and below on the report. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><link linkend="page-header-and-footer"><sgmltag class="element">PageFooter</sgmltag></link></term> +<listitem> +<para> +The <sgmltag class="element">PageFooter</sgmltag> element defines report +sections that are usually printed at the end of every page in the +report. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><link linkend="report-header-and-footer"><sgmltag class="element">ReportFooter</sgmltag></link></term> +<listitem> +<para> +The <sgmltag class="element">ReportFooter</sgmltag> element defines report +sections that are usually printed at the end of the report. +</para> +</listitem> +</varlistentry> + +</variablelist> + +</listitem> + +</varlistentry> + +<varlistentry> +<term>Attributes</term> +<listitem> + +<variablelist> +<varlistentry> +<term><anchor id="kut-pagesize"/><sgmltag class="attribute">PageSize</sgmltag></term> +<listitem> +<para> +Sets the size of the report page. The following values are available: +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Page Size</entry> +</row> +</thead> + +<tbody> +<row> +<entry>0</entry> +<entry>A4</entry> +</row> +<row> +<entry>1</entry> +<entry>B5</entry> +</row> +<row> +<entry>2</entry> +<entry>Letter</entry> +</row> +<row> +<entry>3</entry> +<entry>Legal</entry> +</row> +<row> +<entry>4</entry> +<entry>Executive</entry> +</row> +<row> +<entry>5</entry> +<entry>A0</entry> +</row> +<row> +<entry>6</entry> +<entry>A1</entry> +</row> +<row> +<entry>7</entry> +<entry>A2</entry> +</row> +<row> +<entry>8</entry> +<entry>A3</entry> +</row> +<row> +<entry>9</entry> +<entry>A5</entry> +</row> +<row> +<entry>10</entry> +<entry>A6</entry> +</row> +<row> +<entry>11</entry> +<entry>A7</entry> +</row> +<row> +<entry>12</entry> +<entry>A8</entry> +</row> +<row> +<entry>13</entry> +<entry>A9</entry> +</row> +<row> +<entry>14</entry> +<entry>B0</entry> +</row> +<row> +<entry>15</entry> +<entry>B1</entry> +</row> +<row> +<entry>16</entry> +<entry>B10</entry> +</row> +<row> +<entry>17</entry> +<entry>B2</entry> +</row> +<row> +<entry>18</entry> +<entry>B3</entry> +</row> +<row> +<entry>19</entry> +<entry>B4</entry> +</row> +<row> +<entry>20</entry> +<entry>B6</entry> +</row> +<row> +<entry>21</entry> +<entry>B7</entry> +</row> +<row> +<entry>22</entry> +<entry>B8</entry> +</row> +<row> +<entry>23</entry> +<entry>B9</entry> +</row> +<row> +<entry>24</entry> +<entry>C5E</entry> +</row> +<row> +<entry>25</entry> +<entry>Comm10E</entry> +</row> +<row> +<entry>26</entry> +<entry>DLE</entry> +</row> +<row> +<entry>27</entry> +<entry>Folio</entry> +</row> +<row> +<entry>28</entry> +<entry>Ledger</entry> +</row> +<row> +<entry>29</entry> +<entry>Tabloid</entry> +</row> +<row> +<entry>30</entry> +<entry>NPageSize</entry> +</row> + +</tbody> +</tgroup> +</informaltable> + +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="kut-pageorient"/><sgmltag class="attribute">PageOrientation</sgmltag></term> +<listitem> +<para> +Sets the report page orientation. +</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row> +<entry>Value</entry> +<entry>Orientation</entry> +</row> +</thead> +<tbody> +<row> +<entry>0</entry> +<entry>Portrait</entry> +</row> +<row> +<entry>1</entry> +<entry>Landscape</entry> +</row> +</tbody> +</tgroup> +</informaltable> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="kut-topmargin"/><sgmltag class="attribute">TopMargin</sgmltag></term> +<listitem> +<para> +Sets the top margin of the report page. <!-- in what scale? --> +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="kut-botmargin"/><sgmltag class="attribute">BottomMargin</sgmltag></term> +<listitem> +<para> +Sets the bottom margin of the report page. <!-- in what scale? --> +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><anchor id="kut-leftmargin"/><sgmltag class="attribute">LeftMargin</sgmltag></term> +<listitem> +<para> +Sets the left margin of the report page. <!-- in what scale? --> +</para> +</listitem> +</varlistentry><varlistentry> +<term><anchor id="kut-rightmargin"/><sgmltag class="attribute">RightMargin</sgmltag></term> +<listitem> +<para> +Sets the right margin of the report page. <!-- in what scale? --> +</para> +</listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> +</sect1> diff --git a/doc/kugar/templatedtd.docbook b/doc/kugar/templatedtd.docbook new file mode 100644 index 00000000..70d75015 --- /dev/null +++ b/doc/kugar/templatedtd.docbook @@ -0,0 +1,188 @@ +<!-- If you want to validate or edit this document separately, uncomment +this prolog + +<?xml version="1.0" ?> +<!DOCTYPE appendix PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"> + +--> + +<sect1 id="template-dtd"> +<sect1info> +<authorgroup> +<author> +<firstname>Alexander</firstname> +<surname>Dymo</surname> +<affiliation> +<address><email>cloudtemple@mksat.net</email></address> +</affiliation> +</author> +<author> +<firstname>Phil</firstname> +<surname>Thompson</surname> +<affiliation> +<address><email>phil@river-bank.demon.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>The KugarTemplate Document Type Definition</title> + +<synopsis> + +<?xml version="1.0" encoding="UTF-8"?> + +<!DOCTYPE KugarTemplate [ + <!ELEMENT <link linkend="kugartemplate">KugarTemplate</link> (<link linkend="report-header-and-footer">ReportHeader</link>, <link linkend="page-header-and-footer">PageHeader</link>, <link linkend="detail-header-and-footer">DetailHeader</link>*, <link linkend="detail">Detail</link>*, <link linkend="detail-header-and-footer">DetailFooter</link>*, <link linkend="page-header-and-footer">PageFooter</link>, <link linkend="report-header-and-footer">ReportFooter</link>)> + <!ATTLIST KugarTemplate + <link linkend="kut-pagesize">PageSize</link> CDATA #REQUIRED + <link linkend="kut-pageorient">PageOrientation</link> CDATA #REQUIRED + <link linkend="kut-topmargin">TopMargin</link> CDATA #REQUIRED + <link linkend="kut-botmargin">BottomMargin</link> CDATA #REQUIRED + <link linkend="kut-leftmargin">LeftMargin</link> CDATA #REQUIRED + <link linkend="kut-rightmargin">RightMargin</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="report-header-and-footer">ReportHeader</link> (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*)> + <!ATTLIST ReportHeader + <link linkend="rhf-height">Height</link> CDATA #REQUIRED + <link linkend="rhf-printfrequency">PrintFrequency</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="page-header-and-footer">PageHeader</link> (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*)> + <!ATTLIST PageHeader + <link linkend="phf-height">Height</link> CDATA #REQUIRED + <link linkend="phf-printfrequency">PrintFrequency</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="detail-header-and-footer">DetailHeader</link> (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*)> + <!ATTLIST DetailHeader + <link linkend="dhf-height">Height</link> CDATA #REQUIRED + <link linkend="dhf-level">Level</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="detail">Detail</link> (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*, <link linkend="field-element">Field</link>*)> + <!ATTLIST Detail + <link linkend="d-height">Height</link> CDATA #REQUIRED + <link linkend="d-level">Level</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="detail-header-and-footer">DetailFooter</link> (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*)> + <!ATTLIST DetailFooter + <link linkend="dhf-height">Height</link> CDATA #REQUIRED + <link linkend="dhf-level">Level</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="page-header-and-footer">PageFooter</link> (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*)> + <!ATTLIST PageFooter + <link linkend="phf-height">Height</link> CDATA #REQUIRED + <link linkend="phf-printfrequency">PrintFrequency</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="report-header-and-footer">ReportFooter</link> (<link linkend="line-element">Line</link>*, <link linkend="label-element">Label</link>*, <link linkend="special-element">Special</link>*, <link linkend="calculated-field-element">CalculatedField</link>*)> + <!ATTLIST ReportFooter + <link linkend="rhf-height">Height</link> CDATA #REQUIRED + <link linkend="rhf-printfrequency">PrintFrequency</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="line-element">Line</link> EMPTY> + <!ATTLIST Line + <link linkend="l-x1">X1</link> CDATA #REQUIRED + <link linkend="l-y1">Y1</link> CDATA #REQUIRED + <link linkend="l-x2">X2</link> CDATA #REQUIRED + <link linkend="l-y2">Y2</link> CDATA #REQUIRED + <link linkend="l-width">Width</link> CDATA #REQUIRED + <link linkend="l-color">Color</link> CDATA #REQUIRED + <link linkend="l-style">Style</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="label-element">Label</link> EMPTY> + <!ATTLIST Label + <link linkend="la-text">Text</link> CDATA #REQUIRED + <link linkend="la-x">X</link> CDATA #REQUIRED + <link linkend="la-y">Y</link> CDATA #REQUIRED + <link linkend="la-width">Width</link> CDATA #REQUIRED + <link linkend="la-height">Height</link> CDATA #REQUIRED + <link linkend="la-backgroundcolor">BackgroundColor</link> CDATA #REQUIRED + <link linkend="la-foregroundcolor">ForegroundColor</link> CDATA #REQUIRED + <link linkend="la-bordercolor">BorderColor</link> CDATA #REQUIRED + <link linkend="la-borderwidth">BorderWidth</link> CDATA #REQUIRED + <link linkend="la-borderstyle">BorderStyle</link> CDATA #REQUIRED + <link linkend="la-fontfamily">FontFamily</link> CDATA #REQUIRED + <link linkend="la-fontsize">FontSize</link> CDATA #REQUIRED + <link linkend="la-fontweight">FontWeight</link> CDATA #REQUIRED + <link linkend="la-fontitalic">FontItalic</link> CDATA #REQUIRED + <link linkend="la-halignment">HAlignment</link> CDATA #REQUIRED + <link linkend="la-valignment">VAlignment</link> CDATA #REQUIRED + <link linkend="la-wordwrap">WordWrap</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="field-element">Field</link> EMPTY> + <!ATTLIST Field + <link linkend="f-field">Field</link> CDATA #REQUIRED + <link linkend="f-text">Text</link> CDATA #REQUIRED + <link linkend="f-x">X</link> CDATA #REQUIRED + <link linkend="f-y">Y</link> CDATA #REQUIRED + <link linkend="f-width">Width</link> CDATA #REQUIRED + <link linkend="f-height">Height</link> CDATA #REQUIRED + <link linkend="f-backgroundcolor">BackgroundColor</link> CDATA #REQUIRED + <link linkend="f-foregroundcolor">ForegroundColor</link> CDATA #REQUIRED + <link linkend="f-bordercolor">BorderColor</link> CDATA #REQUIRED + <link linkend="f-borderwidth">BorderWidth</link> CDATA #REQUIRED + <link linkend="f-borderstyle">BorderStyle</link> CDATA #REQUIRED + <link linkend="f-fontfamily">FontFamily</link> CDATA #REQUIRED + <link linkend="f-fontsize">FontSize</link> CDATA #REQUIRED + <link linkend="f-fontweight">FontWeight</link> CDATA #REQUIRED + <link linkend="f-fontitalic">FontItalic</link> CDATA #REQUIRED + <link linkend="f-halignment">HAlignment</link> CDATA #REQUIRED + <link linkend="f-valignment">VAlignment</link> CDATA #REQUIRED + <link linkend="f-wordwrap">WordWrap</link> CDATA #REQUIRED + <link linkend="f-datatype">DataType</link> CDATA #REQUIRED + <link linkend="f-dateformat">DateFormat</link> CDATA #REQUIRED + <link linkend="f-precision">Precision</link> CDATA #REQUIRED + <link linkend="f-currency">Currency</link> CDATA #REQUIRED + <link linkend="f-negvaluecolor">NegValueColor</link> CDATA #REQUIRED + <link linkend="f-commaseparator">CommaSeparator</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="calculated-field-element">CalculatedField</link> EMPTY> + <!ATTLIST CalculatedField + <link linkend="c-calculationtype">CalculationType</link> CDATA #REQUIRED + <link linkend="c-field">Field</link> CDATA #REQUIRED + <link linkend="c-text">Text</link> CDATA #REQUIRED + <link linkend="c-x">X</link> CDATA #REQUIRED + <link linkend="c-y">Y</link> CDATA #REQUIRED + <link linkend="c-width">Width</link> CDATA #REQUIRED + <link linkend="c-height">Height</link> CDATA #REQUIRED + <link linkend="c-backgroundcolor">BackgroundColor</link> CDATA #REQUIRED + <link linkend="c-foregroundcolor">ForegroundColor</link> CDATA #REQUIRED + <link linkend="c-bordercolor">BorderColor</link> CDATA #REQUIRED + <link linkend="c-borderwidth">BorderWidth</link> CDATA #REQUIRED + <link linkend="c-borderstyle">BorderStyle</link> CDATA #REQUIRED + <link linkend="c-fontfamily">FontFamily</link> CDATA #REQUIRED + <link linkend="c-fontsize">FontSize</link> CDATA #REQUIRED + <link linkend="c-fontweight">FontWeight</link> CDATA #REQUIRED + <link linkend="c-fontitalic">FontItalic</link> CDATA #REQUIRED + <link linkend="c-halignment">HAlignment</link> CDATA #REQUIRED + <link linkend="c-valignment">VAlignment</link> CDATA #REQUIRED + <link linkend="c-wordwrap">WordWrap</link> CDATA #REQUIRED + <link linkend="c-datatype">DataType</link> CDATA #REQUIRED + <link linkend="c-dateformat">DateFormat</link> CDATA #REQUIRED + <link linkend="c-precision">Precision</link> CDATA #REQUIRED + <link linkend="c-currency">Currency</link> CDATA #REQUIRED + <link linkend="c-negvaluecolor">NegValueColor</link> CDATA #REQUIRED + <link linkend="c-commaseparator">CommaSeparator</link> CDATA #REQUIRED> + + <!ELEMENT <link linkend="special-element">Special</link> EMPTY> + <!ATTLIST Special + <link linkend="s-type">Type</link> CDATA #REQUIRED + <link linkend="s-text">Text</link> CDATA #REQUIRED + <link linkend="s-x">X</link> CDATA #REQUIRED + <link linkend="s-y">Y</link> CDATA #REQUIRED + <link linkend="s-width">Width</link> CDATA #REQUIRED + <link linkend="s-height">Height</link> CDATA #REQUIRED + <link linkend="s-backgroundcolor">BackgroundColor</link> CDATA #REQUIRED + <link linkend="s-foregroundcolor">ForegroundColor</link> CDATA #REQUIRED + <link linkend="s-bordercolor">BorderColor</link> CDATA #REQUIRED + <link linkend="s-borderwidth">BorderWidth</link> CDATA #REQUIRED + <link linkend="s-borderstyle">BorderStyle</link> CDATA #REQUIRED + <link linkend="s-fontfamily">FontFamily</link> CDATA #REQUIRED + <link linkend="s-fontsize">FontSize</link> CDATA #REQUIRED + <link linkend="s-fontweight">FontWeight</link> CDATA #REQUIRED + <link linkend="s-fontitalic">FontItalic</link> CDATA #REQUIRED + <link linkend="s-halignment">HAlignment</link> CDATA #REQUIRED + <link linkend="s-valignment">VAlignment</link> CDATA #REQUIRED + <link linkend="s-wordwrap">WordWrap</link> CDATA #REQUIRED + <link linkend="s-dateformat">DateFormat</link> CDATA #REQUIRED> + ]> +</synopsis> +</sect1> diff --git a/doc/kugar/tut_edit_height.png b/doc/kugar/tut_edit_height.png Binary files differnew file mode 100644 index 00000000..da4618f7 --- /dev/null +++ b/doc/kugar/tut_edit_height.png diff --git a/doc/kugar/tut_empty_report.png b/doc/kugar/tut_empty_report.png Binary files differnew file mode 100644 index 00000000..7effe6dd --- /dev/null +++ b/doc/kugar/tut_empty_report.png diff --git a/doc/kugar/tut_file_new.png b/doc/kugar/tut_file_new.png Binary files differnew file mode 100644 index 00000000..a06492e3 --- /dev/null +++ b/doc/kugar/tut_file_new.png diff --git a/doc/kugar/tut_rep_complete.png b/doc/kugar/tut_rep_complete.png Binary files differnew file mode 100644 index 00000000..1ac79a22 --- /dev/null +++ b/doc/kugar/tut_rep_complete.png diff --git a/doc/kugar/tut_rep_generated.png b/doc/kugar/tut_rep_generated.png Binary files differnew file mode 100644 index 00000000..7b8be549 --- /dev/null +++ b/doc/kugar/tut_rep_generated.png diff --git a/doc/kugar/tut_rep_look1.png b/doc/kugar/tut_rep_look1.png Binary files differnew file mode 100644 index 00000000..1fad4189 --- /dev/null +++ b/doc/kugar/tut_rep_look1.png diff --git a/doc/kugar/tut_rep_look2.png b/doc/kugar/tut_rep_look2.png Binary files differnew file mode 100644 index 00000000..e01a61fb --- /dev/null +++ b/doc/kugar/tut_rep_look2.png diff --git a/doc/kugar/tut_set_level.png b/doc/kugar/tut_set_level.png Binary files differnew file mode 100644 index 00000000..9a364a24 --- /dev/null +++ b/doc/kugar/tut_set_level.png diff --git a/doc/kugar/tutorial.docbook b/doc/kugar/tutorial.docbook new file mode 100644 index 00000000..67cd0f42 --- /dev/null +++ b/doc/kugar/tutorial.docbook @@ -0,0 +1,313 @@ +<!-- If you want to validate or edit this document separately, uncomment +this prolog + +<?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"> + +--> +<chapter id="tutorial"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Alexander</firstname> +<surname>Dymo</surname> +<affiliation> +<address><email>cloudtemple@mksat.net</email></address> +</affiliation> +</author> +<author> +<firstname>Phil</firstname> +<surname>Thompson</surname> +<affiliation> +<address><email>phil@river-bank.demon.co.uk</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Tutorial</title> + +<para>This tutorial attempts to be a brief introduction to Kugar.</para> + +<para>You will create a sample report template with &kudesigner;, +a sample data file and finally generate a complete report.</para> + +<para>The source code for sample templates and data files can be found +in <filename>sample1.ktf</filename> and <filename>sample1.kdf</filename> +that are distributed with &kugar;.</para> + + +<sect1 id="tut-1"> +<title>Creating the report template with &kudesigner;</title> + +<para> +Run Kugar Designer by typing <command>kudesigner</command> in the shell. +</para> + +<para> +After you start the designer, choose <guimenu>File</guimenu>|<guilabel>New</guilabel> +and set the page size to <guilabel>Letter</guilabel> and paper orientation to +<guilabel>Landscape</guilabel>. Set the left and right margins to 48, top +and bottom margins to 40. All dimensions in &kudesigner; (page +margins, sizes, positions, &etc;) are measured in millimeters. +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tut_file_new.png" format="PNG"/> +</imageobject> +<textobject> +<phrase><interface>New Report</interface> dialog</phrase> +</textobject> +</mediaobject> +</screenshot> +</para> + +<para> +A new report is now created and all buttons on the <guilabel>Items Toolbar</guilabel> +and <guilabel>Sections Toolbar</guilabel> are now enabled (the corresponding +menu items from <guilabel>Items</guilabel> and <guilabel>Sections</guilabel> are also enabled). +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tut_empty_report.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Empty Report window</phrase> +</textobject> +</mediaobject> +</screenshot> +</para> + +<para>Now it is the time to add some sections to the report and determine +their sizes. We will add <link linkend="report-header-and-footer">report header and footer</link>, +<link linkend="page-header-and-footer">page header and footer</link> and a single +<link linkend="detail">detail</link> section. Report headers and footers are printed on the +first page and on the last page of the report before and after any other report data accordingly. +Report footers are good places for <link linkend="calculated-field-element">calculated fields</link>. +Page headers and footers are printed at the top and bottom of each page. +Our report will have one detail section with level 0. This means that all our data rows +have identical structure (&ie; fields). If the data structure is more complex or it is +organized according to a master-detail relationship, more detail levels should be created. +See <filename>sample3.ktf</filename> and <filename>sample3.kdf</filename> for an example +of how that can be done. +Refer to the <link linkend="template-elements">template elements descriptions</link> +for additional information. +</para> + +<para>Sections are added by using <guilabel>Sections</guilabel> menu +or a <guilabel>Sections Toolbar</guilabel>. Now add a report header and footer, +a page header and footer and then a detail section. +When adding a detail section, set +its level to 0 as shown on the screenshot below. +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tut_set_level.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Setting the detail level</phrase> +</textobject> +</mediaobject> +</screenshot> +</para> + +<para> +Our report should now look like this one in the screenshot. +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tut_rep_look1.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Report with sections</phrase> +</textobject> +</mediaobject> +</screenshot> +</para> + +<para> +All our sections have a predefined height - 50mm. Let's change it. +To do this &RMB; click on the Report Header section or click the <guilabel>Edit Properties</guilabel> +button on the <guilabel>Edit Toolbar</guilabel> and then choose a section. +The Properties window should be shown. +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tut_edit_height.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Height of the section editing</phrase> +</textobject> +</mediaobject> +</screenshot> +</para> + +<para> +Now set the Report Header's height to 70. Let's perform that procedure +for all other sections. Set the Page Header's height to 45 and the Detail's to 30. +The Page and Report Footers should be 32 mm in height. +</para> + +<para> +A report template with properly sized sections is ready to be filled with +report items. +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tut_rep_look2.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Report with sized sections</phrase> +</textobject> +</mediaobject> +</screenshot> +</para> + +<para> +You can now add items to the sections on the report. Five different types of +items can be added to the report. <link linkend="label-element">Label</link> +is a rectangular area that can have borders and can be filled by +any kind of textual data. The Label's foreground and background colors, +as well as fonts, can be changed. Border line types and line colors are also +customizable. <link linkend="field-element">Fields</link> can be placed +on to a detail section. Fields represent data fields; their values +will be collected from a data file while generating a report. +Counts, sums, averages, &etc; for field values can be printed on the report +by means of <link linkend="calculated-field-element">Calculated Fields</link>. +<link linkend="special-element">Specials</link> are labels with predefined text, +such as current date or page number. The general report appearance can be refined +with <link linkend="line-element">Lines</link>. +</para> + +<para> +To add a report item click the corresponding item button on the <guilabel>Items Toolbar</guilabel> +and place (click) it on the section. The chosen item will be placed on the selected section +with the upper left corner at the given coordinates. Other properties are set to default +values and can be changed with the <guilabel>Report Item Options</guilabel> dialog (the same way +we used to change the section's height). +</para> + +<para> +So, let's add labels to the report header and page header as shown on the screenshot below. +Note that the <quote>Mutiny Bay Software</quote> label has its <guilabel>BorderStyle</guilabel> +and <guilabel>BorderWidth</guilabel> set to 0 and <quote>Software Inventory Report</quote> - 1mm. +Any colors are set as a combination of three values (RGB - red,green,blue) separated by commas. +</para> + +<para> +We will also add field elements to the detail section. Just assume we have four fields +- title, version, platform and copies. So, four <guilabel>Field</guilabel> elements should be placed and +their <guilabel>Field</guilabel> properties set. Note that <guilabel>Text</guilabel> +property is automatically set to <quote>[<userinput>field_name</userinput>]</quote>. +</para> + +<para> +Our page footer is a good place to show the current date and page number, so add two +special fields and set their <guilabel>Type</guilabel> properties to 0 and 1. +A special with Type=0 will represent date and one with Type=1 - page number. Note that +special's <guilabel>Text</guilabel> property is changed automatically. +</para> + +<para> +The last element to be placed is a <guilabel>Calculated Field</guilabel> for the <quote>copies</quote> +field. To acquire a sum (copies) set the calculated field's <guilabel>Field</guilabel> property +to <quote>copies</quote> and <guilabel>CalculationType</guilabel> to 1 (sum function). +</para> + +<para> +Finally, our report template should look like this: +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tut_rep_complete.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Complete report</phrase> +</textobject> +</mediaobject> +</screenshot> +</para> + +</sect1> + + + +<sect1 id="tut-2"> +<title>Creating the report data file</title> + +<para> +Generally speaking, data files may be created in several ways. Some will use xsl transformation tables +to generate proper &XML; from another &XML; document (like a &kspread; spreadsheet); others will use +their own program to fetch data from a database and fill the data file. In this tutorial we will +simply create it by hand. The source code for the example can be found in file <filename>sample1.kdf</filename> +or copied from the example below. +</para> + +<programlisting> +<?xml version=<quote>1.0</quote> encoding=<quote>UTF-8</quote>?> + +<!DOCTYPE KugarData [ + <!ELEMENT KugarData (Row* )> + <!ATTLIST KugarData + Template CDATA #REQUIRED> + + <!ELEMENT Row EMPTY> + <!ATTLIST Row + level CDATA #REQUIRED + title CDATA #REQUIRED + version CDATA #REQUIRED + platform CDATA #REQUIRED + copies CDATA #REQUIRED> +]> + +<KugarData Template="sample1.ktf"> + <Row level="0" title=" BRU" version="15.0" platform="x86" copies="1"/> + <Row level="0" title=" Caldera Open Linux" version="2.2" platform="x86" copies="3"/> + <Row level="0" title=" K Desktop" version="1.1.1" platform="x86" copies="1"/> + <Row level="0" title=" Netscape Communicator" version="4.6" platform="x86" copies="10"/> + <Row level="0" title=" Redhat Linux" version="5.0" platform="x86" copies="11"/> + <Row level="0" title=" Redhat Linux" version="5.1" platform="x86" copies="12"/> + <Row level="0" title=" Redhat Linux" version="5.2" platform="x86" copies="14"/> + <Row level="0" title=" Redhat Linux" version="6.0" platform="x86" copies="15"/> + <Row level="0" title=" Star Office" version="5.0" platform="x86" copies="1"/> + <Row level="0" title=" Star Office" version="5.1" platform="x86" copies="3"/> + <Row level="0" title=" Microsoft Windows NT" version="3.1" platform="x86" copies="1"/> + <Row level="0" title=" Microsoft Windows NT" version="3.51" platform="x86" copies="1"/> + <Row level="0" title=" Microsoft Windows NT" version="4.0" platform="x86" copies="1"/> + <Row level="0" title=" Microsoft Windows NT" version="5.0" platform="x86" copies="1"/> + <Row level="0" title=" Sun Solaris" version="2.5" platform="Sparc" copies="1"/> +</KugarData> +</programlisting> + +</sect1> + +<sect1 id="tut-3"> +<title>Generating the report</title> + +<para> +At this moment we have a report template (<filename>sample1.ktf</filename>) and +a report data file (<filename>sample1.kdf</filename>). +</para> +<para> +To generate a report, type the following command in the shell: +<command>kugar <option>-r <replaceable>sample1.ktf</replaceable></option> +<option>-d <replaceable>sample1.kdf</replaceable></option></command> +</para> + +<para> +This will bring up a &kugar; shell window with the report generated. +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tut_rep_generated.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Generated report</phrase> +</textobject> +</mediaobject> +</screenshot> +</para> + +</sect1> + +</chapter> diff --git a/doc/kword/ChooseTempDia.png b/doc/kword/ChooseTempDia.png Binary files differnew file mode 100644 index 00000000..10852c0e --- /dev/null +++ b/doc/kword/ChooseTempDia.png diff --git a/doc/kword/Makefile.am b/doc/kword/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/kword/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/kword/Tut1.png b/doc/kword/Tut1.png Binary files differnew file mode 100644 index 00000000..f2203f59 --- /dev/null +++ b/doc/kword/Tut1.png diff --git a/doc/kword/Tut11a.png b/doc/kword/Tut11a.png Binary files differnew file mode 100644 index 00000000..349690bb --- /dev/null +++ b/doc/kword/Tut11a.png diff --git a/doc/kword/Tut11b.png b/doc/kword/Tut11b.png Binary files differnew file mode 100644 index 00000000..7d8ae6d0 --- /dev/null +++ b/doc/kword/Tut11b.png diff --git a/doc/kword/Tut13.png b/doc/kword/Tut13.png Binary files differnew file mode 100644 index 00000000..0af51f9c --- /dev/null +++ b/doc/kword/Tut13.png diff --git a/doc/kword/Tut13a.png b/doc/kword/Tut13a.png Binary files differnew file mode 100644 index 00000000..82a8cf93 --- /dev/null +++ b/doc/kword/Tut13a.png diff --git a/doc/kword/Tut14.png b/doc/kword/Tut14.png Binary files differnew file mode 100644 index 00000000..44101725 --- /dev/null +++ b/doc/kword/Tut14.png diff --git a/doc/kword/Tut14a.png b/doc/kword/Tut14a.png Binary files differnew file mode 100644 index 00000000..8754ea73 --- /dev/null +++ b/doc/kword/Tut14a.png diff --git a/doc/kword/Tut14b.png b/doc/kword/Tut14b.png Binary files differnew file mode 100644 index 00000000..01863a1f --- /dev/null +++ b/doc/kword/Tut14b.png diff --git a/doc/kword/Tut15.png b/doc/kword/Tut15.png Binary files differnew file mode 100644 index 00000000..4c685c18 --- /dev/null +++ b/doc/kword/Tut15.png diff --git a/doc/kword/Tut15b.png b/doc/kword/Tut15b.png Binary files differnew file mode 100644 index 00000000..77ec4330 --- /dev/null +++ b/doc/kword/Tut15b.png diff --git a/doc/kword/Tut16.png b/doc/kword/Tut16.png Binary files differnew file mode 100644 index 00000000..d753485a --- /dev/null +++ b/doc/kword/Tut16.png diff --git a/doc/kword/Tut18.png b/doc/kword/Tut18.png Binary files differnew file mode 100644 index 00000000..01863a1f --- /dev/null +++ b/doc/kword/Tut18.png diff --git a/doc/kword/Tut19.png b/doc/kword/Tut19.png Binary files differnew file mode 100644 index 00000000..c997e273 --- /dev/null +++ b/doc/kword/Tut19.png diff --git a/doc/kword/Tut2.png b/doc/kword/Tut2.png Binary files differnew file mode 100644 index 00000000..06844d06 --- /dev/null +++ b/doc/kword/Tut2.png diff --git a/doc/kword/Tut21.png b/doc/kword/Tut21.png Binary files differnew file mode 100644 index 00000000..48948a3e --- /dev/null +++ b/doc/kword/Tut21.png diff --git a/doc/kword/Tut22.png b/doc/kword/Tut22.png Binary files differnew file mode 100644 index 00000000..191b2cb1 --- /dev/null +++ b/doc/kword/Tut22.png diff --git a/doc/kword/Tut3.png b/doc/kword/Tut3.png Binary files differnew file mode 100644 index 00000000..64ed9298 --- /dev/null +++ b/doc/kword/Tut3.png diff --git a/doc/kword/Tut4.png b/doc/kword/Tut4.png Binary files differnew file mode 100644 index 00000000..a75b8643 --- /dev/null +++ b/doc/kword/Tut4.png diff --git a/doc/kword/Tut7.png b/doc/kword/Tut7.png Binary files differnew file mode 100644 index 00000000..8c12d42e --- /dev/null +++ b/doc/kword/Tut7.png diff --git a/doc/kword/Tut8.png b/doc/kword/Tut8.png Binary files differnew file mode 100644 index 00000000..fc9d6d1e --- /dev/null +++ b/doc/kword/Tut8.png diff --git a/doc/kword/a11y.docbook b/doc/kword/a11y.docbook new file mode 100644 index 00000000..bcf95101 --- /dev/null +++ b/doc/kword/a11y.docbook @@ -0,0 +1,365 @@ +<chapter id="a11y"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Gary</firstname> +<surname>Cramblitt</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> + +<title>For Users with Disabilities</title> +<para>This section of the documentation discusses accessibility features in &kword; +for users with disabilities. Some of these features apply to &kde; as a whole and are controlled from +<ulink url="help:kcontrol">&kcontrolcenter;</ulink>. Some apply to all &koffice; applications, +and some are specific to &kword;.</para> + +<sect1 id="a11y-install"> +<title>Installing the <command>kdeaccessibility</command> Module</title> +<indexterm><primary>kdeaccessibility</primary></indexterm> +<para> +Most of the features described in this chapter are enabled by installing the +<command>kdeaccessibility</command> module. +The <command>kdeaccessibility</command> module is part of the &kde; project +<ulink url="http://www.kde.org">http://www.kde.org</ulink>. The <command>kdeaccessibility</command> +package can be obtained from &kde-ftp;, the +main ftp site of the &kde; project. +</para> + +<para>Many distributions offer precompiled binaries on their ftp sites. Please check your distribution's web sites for more information.</para> + +<para>More information about &kde; accessibility can be obtained by +visiting <ulink url="http://accessibility.kde.org/">http://accessibility.kde.org/</ulink>. +</para> +</sect1> + +<sect1 id="a11y-sight"> +<title>Visual Impairments</title> +<indexterm><primary>Visual Impairments</primary></indexterm> + +<note><para>&kword; is not usable by totally blind users. It is hoped that +a general screen reader for the blind will be available in future versions of &kde;. +</para></note> + +<sect2 id="a11y-theming"> +<title>Theming</title> +<indexterm><primary>Theming</primary></indexterm> +<para>For low-sighted or light allergic users, several features are available in the &kcontrolcenter; +<menuchoice><guimenu>Appearance & Themes</guimenu><guimenuitem>Theme Manager</guimenuitem></menuchoice>, +like high contrast color themes. If you are light allergic, the +<guilabel>HighContrastDark</guilabel> or <guilabel>HighContrastLight</guilabel> themes +may be helpful. If you have difficulty reading small fonts or seeing small icons, the +<guilabel>HighContrastDark-big</guilabel> or <guilabel>HighContrastLight-big</guilabel> +themes will increase the size of text, buttons, and icons. You may also customize +background, colors, fonts, and icons from the same dialog. A set of monochrome icons +is available. +</para> + +<tip><para>If you choose one of the <guilabel>Big</guilabel> themes, you may discover that +some windows are too large to fit your monitor. Purchasing a larger monitor will be helpful. +You can drag the portions of the window not visible into the visible area by +holding down the &Alt; key and dragging with the &LMB; anywhere +within the screen. If you have trouble operating a mouse, you can also move screens by pressing +<keycombo action="simul">&Alt;<keycap>F3</keycap></keycombo>. In +the dropdown Windows Operations Menu, choose +<menuchoice><guimenuitem>Move</guimenuitem></menuchoice>. +Move the screen with the arrow keys and press &Esc; to finish the move. +</para></tip> + +</sect2> + +<sect2 id="a11y-kmagnifier"> +<title>&kmagnifier;</title> +<indexterm><primary>magnifier</primary></indexterm> +<para>The <command>kdeaccessibility</command> module includes a screen magnifier +application called <ulink url="help:kmag">&kmagnifier;</ulink>. +If it is installed, you can run it from +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>Utilities</guimenuitem> +<guimenuitem>KMag (Screen Magnifier)</guimenuitem></menuchoice>. +</para> +</sect2> + +<sect2 id="a11y-tts"> +<title>Text-to-Speech</title> +<indexterm><primary>Text-to-Speech</primary></indexterm> +<indexterm><primary>TTS</primary></indexterm> +<para>The <command>kdeaccessibility</command> module includes a Text-to-Speech +component called KTTS. If KTTS is installed, you can configure &kword; to +speak the text that is under the mouse pointer or speak the text of each +screen widget as it receives focus. Before using this feature, first configure +KTTS. See <ulink url="help:kttsd">The KTTS Handbook</ulink> for details. +To turn on the TTS feature in &kword;, +select <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure +&kword;...</guimenuitem></menuchoice> from the menubar. +This will display a dialog box. +Clicking on <guilabel>TTS</guilabel> will allow you to change +the following:</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="tts.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Speak widget under mouse pointer</guilabel></term> +<listitem><para>When checked, &kword; will speak the text of each widget +as the mouse pointer moves over the widget.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Speak widget with focus</guilabel></term> +<listitem><para>When checked, &kword; will speak the text of each widget +as it receives focus.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Speak tool tips</guilabel></term> +<listitem><para>When checked, &kword; will speak the popup tool tip +for each widget in addition to the text of the widget.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Speak What's This</guilabel></term> +<listitem><para>When checked, &kword; will speak the What's This help +for each widget in addition to the text of the widget.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Say whether disabled</guilabel></term> +<listitem><para>When checked, &kword; will speak the word "disabled" +if the widget is currently disabled (grayed).</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Speak accelerators</guilabel></term> +<listitem><para>When checked, &kword; will speak the accelerator +of the widget in addition to the text of the widget. +Accelerators are the underlined letters you see in the text of the +widget. For example, in the main menu, the +<menuchoice><guimenuitem>Quit</guimenuitem></menuchoice> menu item +has the "Q" underlined. You can choose it by pressing <keycap>Q</keycap>. +To speak the accelerator, check this option and enter the +word you want to speak before the accelerator in the +<guilabel>Prefaced by the word</guilabel> box. In this +example shown above, &kword; will speak "Accelerator Q".</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Polling interval</guilabel></term> +<listitem><para>This option determines how often &kword; will +check for a change in the widget under the mouse pointer or +a new focused widget. You should leave this option on the +default setting.</para> +</listitem> +</varlistentry> +</variablelist> + +<note><para> +If the <guibutton>TTS</guibutton> option does not appear +on this screen, you do not have the KTTS component installed +in your system. +</para></note> + +<note><para>Not all widgets are spoken. For example, +the items on the main menubar are not spoken. The text of the +&kword; document window is also not spoken, but see +<xref linkend="doc-structure"/> for another way to speak the document. +</para></note> + +</sect2> + +</sect1> + +<sect1 id="a11y-motor"> +<title>Motor Impairments and Mouseless Operation</title> +<indexterm><primary>Motor Impairments</primary></indexterm> +<indexterm><primary>Mouseless Operation</primary></indexterm> + +<sect2 id="a11y-kmousetool"> +<title>KMouseTool</title> +<para>If you can operate a mouse, but have trouble clicking, the +<ulink url="help:kmousetool">KMouseTool</ulink> application may help. Run it from +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>Utilities</guimenuitem> +<guimenuitem>KMouseTool (Automatik Mouse Click)</guimenuitem></menuchoice>. +</para> +</sect2> + +<sect2 id="a11y-kbd-xaccess"> +<title>XAccess Features</title> +<indexterm><primary>XAccess</primary></indexterm> +<indexterm><primary>Sticky Keys</primary></indexterm> +<indexterm><primary>Slow Keys</primary></indexterm> +<indexterm><primary>Bounce Keys</primary></indexterm> + +<para>The &kcontrolcenter; offers several keyboard features collectively called XAccess. +They include:</para> +<variablelist> +<varlistentry> +<term><guilabel>Sticky Keys</guilabel></term> +<listitem><para>This feature permits operation of meta keys, such as +&Alt;, &Ctrl;, and &Shift; without having to hold the keys down. It is useful +when you can only use one finger or one hand to operate the keyboard. +With <guilabel>Sticky Keys</guilabel> on, press and release a &Alt;, &Ctrl;, or &Shift; key, then +press another key. The result is as if you pressed both keys at once. +Press the &Alt;, &Ctrl;, or &Shift; key again to turn off the sticky key. +Activate this feature in +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem> +<guimenuitem>Regional & Accessibility</guimenuitem><guimenuitem>Accessibility</guimenuitem> +<guimenuitem>Modifier Keys</guimenuitem></menuchoice>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term>Slow Keys</term> +<listitem><para>This feature is useful if you have hand tremors or difficulty +accurately pressing keys. It prevents +inadvertent key presses by requiring that a key be held down for a minimum +time before it is accepted. Activate this feature in +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem> +<guimenuitem>Regional & Accessibility</guimenuitem><guimenuitem>Accessibility</guimenuitem> +<guimenuitem>Keyboard Filters</guimenuitem></menuchoice>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term>Bounce Keys</term> +<listitem><para>This feature is also useful if you have hand tremors. It prevents +inadvertent repeated key presses by preventing another keystroke for +a certain amount of time. Activate this feature in +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem> +<guimenuitem>Regional & Accessibility</guimenuitem><guimenuitem>Accessibility</guimenuitem> +<guimenuitem>Keyboard Filters</guimenuitem></menuchoice>.</para> +</listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2 id="a11y-mouse-emulation"> +<title>Mouse Emulation</title> +<indexterm><primary>Mouse Emulation</primary></indexterm> +<para>Mouse Emulation permits you to move and click the mouse using the keyboard. +Press <keycombo>&Alt;<keycap>F12</keycap></keycombo> to activate it. Use the arrow keys +to move the mouse pointer to the desired location, and press <keycap>spacebar</keycap> +to "click" the mouse. Unfortunately, you cannot use Mouse Emulation to perform +&RMB; clicks or dragging. +</para> +</sect2> + +<sect2 id="a11y-mouse-navigation"> +<title>Mouse Navigation</title> +<indexterm><primary>Mouse Navigation</primary></indexterm> +<para>This feature permits you to emulate the mouse using the numeric keypad +of your keyboard. To activate it, go to +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>&kcontrolcenter;</guimenuitem> +<guimenuitem>Peripherals</guimenuitem><guimenuitem>Mouse</guimenuitem> +<guimenuitem>Mouse Navigation</guimenuitem></menuchoice>. +Check the <guilabel>Move pointer with keyboard (using the num pad)</guilabel> box. When you do this, the other settings will become enabled, and you can customize the keyboard pointer behavior further, if required. + The various keys on the number pad move in the direction you would expect. Note that you can move diagonally as well as up, down, left and right. The <keycap>5</keycap> key emulates a click to a pointer button, typically &LMB;. You change which button is emulated by using the <keycap>/</keycap> key (which makes it &LMB;), +<keycap>*</keycap> key (which makes it middle mouse button) and <keycap>-</keycap> (which makes it &RMB;). + Using the <keycap>+</keycap> emulates a doubleclick to the selected pointer button. You can use the +<keycap>0</keycap> key to emulate holding down the selected pointer button (for easy dragging), +and then use the <keycap>.</keycap> to emulate releasing the selected pointer button. +</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="mousenav.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +</sect2> + +<sect2 id="a11y-motor-shortcuts"> +<title>Keyboard shortcuts</title> + +<para>&kword; has a number of keyboard shortcuts that will be useful +to users who cannot operate a mouse. See <xref linkend="keys"/> for +details. In addition, the following tips will be useful: +</para> + +<orderedlist> +<listitem><para> +Several of the functions that can only be performed with the mouse in the +main document panel can be performed with the keyboard in the +<guilabel>Document Structure</guilabel> area. See <xref linkend="doc-structure"/>. +You can switch from the document panel +to the <guilabel>Document Structure</guilabel> area by pressing <keycombo action="simul"> +&Alt;<keycap>1</keycap></keycombo>. Switch to the +document panel by pressing +<keycombo action="simul">&Alt;<keycap>2</keycap></keycombo>. +</para></listitem> +<listitem><para>Use the <keycap>Menu</keycap> key to pop up the context +menu. On most keyboards, the <keycap>Menu</keycap> key is on the righthand +side of the keyboard between the <keycap>&Windows;</keycap> and &Ctrl; +keys. It has a menu icon on it. +</para></listitem> +<listitem><para> +When inserting a new frame into the document, you can insert the frame +at the current position of the text caret, instead of positioning it with +the mouse. Just press <keycap>&Enter;</keycap> when the crosshairs appear. You can resize +the new frame or change its position by changing the numbers in the +<guilabel>Connect Frame</guilabel> dialog. See +<xref linkend="add-text-frame"/> for details. +</para></listitem> +<listitem><para> +In order to change the properties of a frame or delete a frame, you must first select it. +To do so without using the mouse, position the text caret anywhere inside the frame and +choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Select Frame</guimenuitem></menuchoice> +from the main menubar. Alternatively, press <keycombo action="simul">&Alt;<keycap>1</keycap></keycombo> to +go to the <guilabel>Document Structure</guilabel> area, +scroll to the desired frame, press the <keycap>Menu</keycap> key to pop up the context +menu and choose +<menuchoice><guimenuitem>Properties</guimenuitem></menuchoice> +or <menuchoice><guimenuitem>Delete Frame</guimenuitem></menuchoice>. +</para></listitem> +<listitem><para>You cannot use the arrow keys to move the text caret into some +frames within the document panel. To move the caret inside the frame, +press <keycombo action="simul">&Alt;<keycap>1</keycap></keycombo> to +go to the <guilabel>Document Structure</guilabel> area, +scroll to the desired frame, press the <keycap>Menu</keycap> key to pop up the context +menu and choose <menuchoice><guimenuitem>Edit Text</guimenuitem></menuchoice>. +</para></listitem> +</orderedlist> + +</sect2> + +<sect2 id="a11y-motor-panel-sizing"> +<title>Resizing panels</title> + +<para>You can move the sizing bar between the <guilabel>Document Structure</guilabel> area +and the main document panel by pressing <keycap>F8</keycap>. A sizing icon appears +overtop the sizing bar. Use the arrow keys to move the bar left or right. +Press <keycap>F8</keycap> again or &Esc; when finished sizing. +</para> + +</sect2> + +<sect2 id="a11y-motor-moving-focus"> +<title>Setting focus to widgets</title> + +<para>Normally, one can use the 	 and <keycombo action="simul">&Shift;	</keycombo> +to move focus from one widget to the next in any application. However, when focus is on +the main document in &kword;, pressing 	 does not move the focus; instead it inserts +a tabulator into the document. You can set focus to any widget that can receive focus by +pressing <keycombo action="simul">&Alt;<keycap>F8</keycap></keycombo>. A small lettered box appears +overtop each widget on the screen that can receive focus. +</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="kbd-focus-ext.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Press the letter to move focus to the corresponding widget. Press +<keycombo action="simul">&Alt;<keycap>F8</keycap></keycombo> again or &Esc; +to abandon moving the focus. +</para> + +</sect2> + +</sect1> + +</chapter> diff --git a/doc/kword/addentry.png b/doc/kword/addentry.png Binary files differnew file mode 100644 index 00000000..0ecdeea3 --- /dev/null +++ b/doc/kword/addentry.png diff --git a/doc/kword/addrecord.png b/doc/kword/addrecord.png Binary files differnew file mode 100644 index 00000000..bb9796d0 --- /dev/null +++ b/doc/kword/addrecord.png diff --git a/doc/kword/alignBlock.png b/doc/kword/alignBlock.png Binary files differnew file mode 100644 index 00000000..5a2e0b89 --- /dev/null +++ b/doc/kword/alignBlock.png diff --git a/doc/kword/alignCenter.png b/doc/kword/alignCenter.png Binary files differnew file mode 100644 index 00000000..07f0e5c9 --- /dev/null +++ b/doc/kword/alignCenter.png diff --git a/doc/kword/alignLeft.png b/doc/kword/alignLeft.png Binary files differnew file mode 100644 index 00000000..6aa98185 --- /dev/null +++ b/doc/kword/alignLeft.png diff --git a/doc/kword/alignRight.png b/doc/kword/alignRight.png Binary files differnew file mode 100644 index 00000000..c725fc19 --- /dev/null +++ b/doc/kword/alignRight.png diff --git a/doc/kword/auto1.png b/doc/kword/auto1.png Binary files differnew file mode 100644 index 00000000..0935d753 --- /dev/null +++ b/doc/kword/auto1.png diff --git a/doc/kword/auto2.png b/doc/kword/auto2.png Binary files differnew file mode 100644 index 00000000..e3c0f22c --- /dev/null +++ b/doc/kword/auto2.png diff --git a/doc/kword/auto3.png b/doc/kword/auto3.png Binary files differnew file mode 100644 index 00000000..d41beaaa --- /dev/null +++ b/doc/kword/auto3.png diff --git a/doc/kword/auto4.png b/doc/kword/auto4.png Binary files differnew file mode 100644 index 00000000..c631d5e1 --- /dev/null +++ b/doc/kword/auto4.png diff --git a/doc/kword/autocompdlg.png b/doc/kword/autocompdlg.png Binary files differnew file mode 100644 index 00000000..56d168cc --- /dev/null +++ b/doc/kword/autocompdlg.png diff --git a/doc/kword/back.png b/doc/kword/back.png Binary files differnew file mode 100644 index 00000000..4b7765e4 --- /dev/null +++ b/doc/kword/back.png diff --git a/doc/kword/basic.png b/doc/kword/basic.png Binary files differnew file mode 100644 index 00000000..fa46a675 --- /dev/null +++ b/doc/kword/basic.png diff --git a/doc/kword/basics.docbook b/doc/kword/basics.docbook new file mode 100644 index 00000000..cf1ef613 --- /dev/null +++ b/doc/kword/basics.docbook @@ -0,0 +1,194 @@ +<chapter id="kword-screen"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>The &kword; Window</title> + +<sect1 id="screen-overview"> +<title>Overview</title> +<indexterm><primary>screen</primary></indexterm> + +<para>&kword;, like most &GUI; based programs, divides +the window up into several areas. Each area of the window is used to +perform a group of similar features. When you examine the &kword; +window, it is divided into 5 major areas:</para> + +<orderedlist numeration="arabic"> +<listitem><para><link linkend="kde-frame">The &kde; Titlebar</link> +(which remains at the top of all programs run under +&kde;).</para></listitem> + +<listitem><para><link linkend="mb">The Menubar</link>.</para></listitem> + +<listitem><para><link linkend="tb">An assortment of +Toolbars</link>.</para></listitem> + +<listitem><para><link linkend="kde-docstruct">The Document Structure Area</link>.</para></listitem> + +<listitem><para><link linkend="da">The Document +Area</link>, including the rulers and scrollbars.</para></listitem> + +<listitem><para><link linkend="statb">The Status bar</link>.</para></listitem> + +</orderedlist> + +<screenshot> +<mediaobject><imageobject> +<imagedata fileref="screen.png" format="PNG"/></imageobject> +</mediaobject></screenshot> + +<variablelist> +<varlistentry> +<term><emphasis><anchor id="kde-frame"/>The &kde; Titlebar</emphasis></term> +<listitem><para>The &kde; titlebar sits on top of all applications run under &kde;. +For more information on the titlebar, please see the &kde; User Guide.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><emphasis><anchor id="mb"/>The Menubar</emphasis></term> + +<listitem><para>The menubar provides access to all of &kword;'s functions and +options. Each part of the &kword; menubar is detailed in the section +entitled: <link linkend="basic-menubar">The Menubar</link>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><emphasis><anchor id="tb"/>The Toolbars</emphasis></term> + +<listitem><para>The toolbars provide shortcuts to commonly used functions. +&kword; uses 8 toolbars, with similar functions grouped together.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><emphasis><anchor id="kde-docstruct"/>Document Structure Area</emphasis></term> +<listitem><para>The <guilabel>Document Structure</guilabel> area places individual types of data into useful groups +(pictures, tables, text, etc) to help you find the correct data in a complicated document. For +more information, see the section on <link linkend="doc-structure">Document Structure</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><emphasis><anchor id="statb"/>The Statusbar</emphasis></term> +<listitem><para>The status bar provides important information during the editing of your document. +In the lower left corner, &kword; gives you the current page number and the total number of pages. There will be helpful text shown in +the status bar whenever you hold the mouse over a menu item.</para> +<para>The status bar can be toggled on and off. +See the section on <link linkend="opt-ui">Configure &kword; User Interface</link>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><emphasis><anchor id="da"/>The Document Area</emphasis></term> + +<listitem><para>The document area consists of:</para> + +<itemizedlist> +<listitem><para><emphasis>Horizontal and Vertical Rulers</emphasis> - +The rulers can be used to help you layout your document. For more +information on rulers, see <link linkend="rulers">Using +Rulers</link>.</para> +</listitem> + + +<listitem><para><emphasis>Scrollbars</emphasis> - The scrollbars are used to move through a &kword; document +quickly. The &kword; scrollbars functions similar to all scrollbars in +&kde; or &Windows;.</para> +<para>The scrollbars can be toggled on and off. +See the section on <link linkend="opt-ui">Configure &kword; User Interface</link>.</para> +</listitem> + +<listitem><para><emphasis>Tab Selector</emphasis> - This is used to select and place tab stops in your document for +easy formatting. For more information on tab stops, see the section +entitled <link linkend="tab-stops">Using Tab Stops</link>.</para> +</listitem> + + +<listitem><para><emphasis>Document View</emphasis> - This is the area of the screen which is used to enter text. It +shows you the current status of your document, and allows you to adjust +frames, select text, and cut and paste text. </para> +</listitem> +</itemizedlist></listitem> + +</varlistentry> +</variablelist> + + +</sect1> + +<sect1 id="rulers"> +<title>Using Rulers</title> +<indexterm><primary>rulers</primary></indexterm> +<para>Along the top and left edges of the document area, are a +horizontal and a vertical ruler.</para> + +<para>These rulers measure from the top left corner of the page. </para> + +<para>Each ruler has a bright area surrounded by a dark area. The +bright area shows the size and location of the currently edited frame +on that page. As you change frames, the bright area changes to reflect +the new frame's settings.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="ruler.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>The ruler can measure the page in many common units of measure including:</para> + +<itemizedlist> +<listitem><para>Millimeters (mm)</para></listitem> +<listitem><para>Points (pt)</para></listitem> +<listitem><para>Inches (in)</para></listitem> +<listitem><para>Centimeters (cm)</para></listitem> +<listitem><para>Decimeters (dm)</para></listitem> +<listitem><para>Pica (pi)</para></listitem> +<listitem><para>Didot (dd)</para></listitem> +<listitem><para>Cicero (cc)</para></listitem> +</itemizedlist> + +<para>To change the units of the ruler, place the mouse cursor over one +of the rulers (either one), and click with the +&RMB;.</para> + +<para>Select the units you want to use from the popup menu. You will notice both rulers +change to the new unit of measure.</para> + +<para>You may also notice two vertical arrows (one pointed up, the other +pointed down), on the left side of the bright area of the horizontal +ruler. These are used to adjust the margin of a paragraph. For more +information, see the section entitled <link +linkend="format-para">Formatting Paragraphs.</link></para> + +<para>Finally, you may see some black marks, which are not part of the +ruler. They may appear as L shaped, a Reverse-L, an Upside-down T, or +an Upside-down T with a dot in it. These are locations of tab stops. +For more information see the section entitled <link +linkend="tab-stops">Using Tab Stops</link>.</para> + +<tip> +<para>To quickly format the page layout, you can right mouse click on +either ruler. A small sub menu will appear. Simply select <guilabel>Page Layout...</guilabel>, +and the <link linkend="page-format">Page Layout Dialog box</link> +will appear.</para> +</tip> + +<note> +<para>If you don't want the rulers in your document area, they +can be switched off.</para><para> Simply select <menuchoice> +<guimenu>View</guimenu><guimenuitem>Hide Rulers</guimenuitem></menuchoice> from the menubar. +This will remove the rulers from the document area. Simply select <menuchoice> +<guimenu>View</guimenu><guimenuitem>Show Rulers</guimenuitem></menuchoice> to display the rulers again. +</para> +</note> + +</sect1> + +</chapter> diff --git a/doc/kword/bbord.png b/doc/kword/bbord.png Binary files differnew file mode 100644 index 00000000..218a0ea7 --- /dev/null +++ b/doc/kword/bbord.png diff --git a/doc/kword/bdcolorbut.png b/doc/kword/bdcolorbut.png Binary files differnew file mode 100644 index 00000000..9c372cd8 --- /dev/null +++ b/doc/kword/bdcolorbut.png diff --git a/doc/kword/bdselbut.png b/doc/kword/bdselbut.png Binary files differnew file mode 100644 index 00000000..b93a6ae3 --- /dev/null +++ b/doc/kword/bdselbut.png diff --git a/doc/kword/bdsizebut.png b/doc/kword/bdsizebut.png Binary files differnew file mode 100644 index 00000000..31bc4d6c --- /dev/null +++ b/doc/kword/bdsizebut.png diff --git a/doc/kword/beginning.png b/doc/kword/beginning.png Binary files differnew file mode 100644 index 00000000..0e2d3df2 --- /dev/null +++ b/doc/kword/beginning.png diff --git a/doc/kword/bkgdcolorbut.png b/doc/kword/bkgdcolorbut.png Binary files differnew file mode 100644 index 00000000..43ac05c6 --- /dev/null +++ b/doc/kword/bkgdcolorbut.png diff --git a/doc/kword/bold.png b/doc/kword/bold.png Binary files differnew file mode 100644 index 00000000..6e353e3b --- /dev/null +++ b/doc/kword/bold.png diff --git a/doc/kword/bookmarks.docbook b/doc/kword/bookmarks.docbook new file mode 100644 index 00000000..2015a536 --- /dev/null +++ b/doc/kword/bookmarks.docbook @@ -0,0 +1,69 @@ +<sect1 id="bookmarks"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Document bookmarks</title> +<indexterm><primary>bookmarks</primary></indexterm> + +<para>Bookmarks are invisible placeholders that allow you to move easily to specified points in a large document.</para> +<tip><para>Some other wordprocessors have bookmarks as part of their interface. If you are familiar with their use, you will +find that &kword; functions in a similar manner.</para></tip> +<para>It should be noted that bookmarks are attached to the <emphasis>text</emphasis> near the cursor, not the page location. If +the text moves forward or backward in the document (as text is inserted or deleted respectively), the bookmark moves with the text.</para> +<sect2 id="bookmark-add"> +<title>Creating a new bookmark</title> +<para>Creating a bookark is simple.</para> +<para>Place the cursor where you want the bookmark to be inserted. Select +<menuchoice><guimenu>Insert</guimenu><guimenuitem>Bookmark...</guimenuitem></menuchoice> from +the menubar.</para> +<para>A small dialog box will appear.</para> +<para>Type a short description of the bookmark location (i.e. Chapter 1, Appendix, Abstract, etc). This description will identify the +bookmark for you.</para> +<para>Click <guibutton>OK</guibutton> to create the bookmark.</para> +<para>Click <guibutton>Cancel</guibutton> to return to your document without creating a bookmark.</para> +</sect2> + +<sect2 id="bookmark-jump"> +<title>Jump to a previously created bookmark</title> +<para>To jump to a previously created bookmark, select +<menuchoice><guimenu>Tools</guimenu><guimenuitem>Select Bookmark...</guimenuitem></menuchoice> from +the menubar.</para> +<para>A small dialog will appear. Double click on the desired bookmark with the &LMB;. You will immediately be taken to +the location in the document that is attached to that bookmark. </para> +<note><para>Alternatively, you can click once on the desired bookmark with the &LMB;, and then click on +<guibutton>OK</guibutton>. This will function the same as double clicking on the bookmark.</para></note> +</sect2> + + +<sect2 id="bookmark-rename"> +<title>Rename a bookmark</title> +<para>To rename a bookmark, select +<menuchoice><guimenu>Tools</guimenu><guimenuitem>Select Bookmark...</guimenuitem></menuchoice> from +the menubar.</para> +<para>A small dialog will appear. Click on the desired bookmark with the &LMB;. Now click <guibutton>Rename Bookmark</guibutton>. +A small dialog will appear. Enter the new name for your bookmark. Click <guibutton>OK</guibutton>. The +bookmark is renamed immediately. +</para></sect2> + +<sect2 id="bookmark-delete"> +<title>Delete a bookmark</title> +<para>To delete a bookmark, select +<menuchoice><guimenu>Tools</guimenu><guimenuitem>Select Bookmark...</guimenuitem></menuchoice> from +the menubar.</para> +<para>A small dialog will appear. Click on the desired bookmark with the &LMB;. </para> +<warning><para>Be sure you have selected the correct bookmark from the list before proceeding. &kword; does not ask for +confirmation before deleting the selected bookmark.</para></warning> +<para>Now click <guibutton>Delete Bookmark</guibutton>. +The bookmark is deleted immediately.</para> +</sect2> + + + + +</sect1> diff --git a/doc/kword/borbutB.png b/doc/kword/borbutB.png Binary files differnew file mode 100644 index 00000000..66624ae7 --- /dev/null +++ b/doc/kword/borbutB.png diff --git a/doc/kword/borbutL.png b/doc/kword/borbutL.png Binary files differnew file mode 100644 index 00000000..889074a9 --- /dev/null +++ b/doc/kword/borbutL.png diff --git a/doc/kword/borbutR.png b/doc/kword/borbutR.png Binary files differnew file mode 100644 index 00000000..fbcc6044 --- /dev/null +++ b/doc/kword/borbutR.png diff --git a/doc/kword/borbutT.png b/doc/kword/borbutT.png Binary files differnew file mode 100644 index 00000000..bd8555af --- /dev/null +++ b/doc/kword/borbutT.png diff --git a/doc/kword/bord.png b/doc/kword/bord.png Binary files differnew file mode 100644 index 00000000..e414b5a6 --- /dev/null +++ b/doc/kword/bord.png diff --git a/doc/kword/bordtb.png b/doc/kword/bordtb.png Binary files differnew file mode 100644 index 00000000..1f3711c1 --- /dev/null +++ b/doc/kword/bordtb.png diff --git a/doc/kword/bullist.png b/doc/kword/bullist.png Binary files differnew file mode 100644 index 00000000..d0eda054 --- /dev/null +++ b/doc/kword/bullist.png diff --git a/doc/kword/cftb.png b/doc/kword/cftb.png Binary files differnew file mode 100644 index 00000000..5f403675 --- /dev/null +++ b/doc/kword/cftb.png diff --git a/doc/kword/chapnumb.docbook b/doc/kword/chapnumb.docbook new file mode 100644 index 00000000..bbeb8a06 --- /dev/null +++ b/doc/kword/chapnumb.docbook @@ -0,0 +1,15 @@ + <sect1 id="chapter-number"> +<sect1info> +<authorgroup> +<author> +<firstname>-</firstname> +<surname>-</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> + <title>Chapter numbering</title> + <indexterm><primary>chapter numbering</primary></indexterm> + + <para>Not written yet</para> + </sect1> diff --git a/doc/kword/chcase.png b/doc/kword/chcase.png Binary files differnew file mode 100644 index 00000000..051e822a --- /dev/null +++ b/doc/kword/chcase.png diff --git a/doc/kword/chcolorbut.png b/doc/kword/chcolorbut.png Binary files differnew file mode 100644 index 00000000..51579475 --- /dev/null +++ b/doc/kword/chcolorbut.png diff --git a/doc/kword/chfontbut.png b/doc/kword/chfontbut.png Binary files differnew file mode 100644 index 00000000..b748cda5 --- /dev/null +++ b/doc/kword/chfontbut.png diff --git a/doc/kword/chsizebut.png b/doc/kword/chsizebut.png Binary files differnew file mode 100644 index 00000000..ab8b8121 --- /dev/null +++ b/doc/kword/chsizebut.png diff --git a/doc/kword/chstylebut.png b/doc/kword/chstylebut.png Binary files differnew file mode 100644 index 00000000..5ee49649 --- /dev/null +++ b/doc/kword/chstylebut.png diff --git a/doc/kword/clearright.png b/doc/kword/clearright.png Binary files differnew file mode 100644 index 00000000..d88f1625 --- /dev/null +++ b/doc/kword/clearright.png diff --git a/doc/kword/colin.png b/doc/kword/colin.png Binary files differnew file mode 100644 index 00000000..cea3c68d --- /dev/null +++ b/doc/kword/colin.png diff --git a/doc/kword/colorseldlg.png b/doc/kword/colorseldlg.png Binary files differnew file mode 100644 index 00000000..11539ae9 --- /dev/null +++ b/doc/kword/colorseldlg.png diff --git a/doc/kword/colout.png b/doc/kword/colout.png Binary files differnew file mode 100644 index 00000000..1aa02037 --- /dev/null +++ b/doc/kword/colout.png diff --git a/doc/kword/columns.docbook b/doc/kword/columns.docbook new file mode 100644 index 00000000..a48135e8 --- /dev/null +++ b/doc/kword/columns.docbook @@ -0,0 +1,56 @@ +<sect1 id="columns"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> + +<title>Columns</title> +<indexterm><primary>columns</primary></indexterm> + +<para>You can divide the page into several columns, of equal width, with +a user controlled space in between each column.</para> + +<note> +<para>This feature is only available in Text Oriented documents.</para> + +<para>If you are working in a Page Layout document, you can +build up several columns using a different frame for each column.</para> +</note> + +<para>To change the number and width of columns select <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Page Layout...</guimenuitem></menuchoice> +from the menubar.</para> + +<para>This will bring up a dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="wpfmtpg1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>Click on the tab labeled <guilabel>Columns</guilabel>.</para> + +<para>This will change the dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="wpfmtpg2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>You can now select the number of columns in the spin box labeled <guilabel>Columns:</guilabel>, and the spacing +between columns in the text box labeled <guilabel>Column spacing:</guilabel>.</para> + +<para>The preview box shows you what your page will look like.</para> + +<para>Click <guibutton>OK</guibutton> when you are done.</para> + +<para>Click <guibutton>Cancel</guibutton> to abort changes.</para> + +</sect1> diff --git a/doc/kword/ctab.png b/doc/kword/ctab.png Binary files differnew file mode 100644 index 00000000..2255874d --- /dev/null +++ b/doc/kword/ctab.png diff --git a/doc/kword/ctab2.png b/doc/kword/ctab2.png Binary files differnew file mode 100644 index 00000000..77787106 --- /dev/null +++ b/doc/kword/ctab2.png diff --git a/doc/kword/decindbut.png b/doc/kword/decindbut.png Binary files differnew file mode 100644 index 00000000..8b8a9971 --- /dev/null +++ b/doc/kword/decindbut.png diff --git a/doc/kword/delentry.png b/doc/kword/delentry.png Binary files differnew file mode 100644 index 00000000..5453f9f5 --- /dev/null +++ b/doc/kword/delentry.png diff --git a/doc/kword/delrecord.png b/doc/kword/delrecord.png Binary files differnew file mode 100644 index 00000000..a8feb98e --- /dev/null +++ b/doc/kword/delrecord.png diff --git a/doc/kword/doccomments.docbook b/doc/kword/doccomments.docbook new file mode 100644 index 00000000..0f409ccd --- /dev/null +++ b/doc/kword/doccomments.docbook @@ -0,0 +1,69 @@ +<sect1 id="comments"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Document Comments </title> +<indexterm><primary>comments</primary></indexterm> + +<para>Document comments are included in &kword; to allow you to have your documents read by another +person. That person can make comments about the text and the comment will appear right next to the text. </para> + +<sect2 id="comments-add"><title>Adding a comment to a document</title> +<para>To add a comment to a document, select the text you want the comment to apply to.</para> +<para>Select <menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Comment...</guimenuitem> +</menuchoice> from the menubar. This will bring up a small dialog box.</para> +<para>Type the text of your comment in the dialog box provided. If you click on the +<guibutton>Add Author Name</guibutton>, the text will be signed, dated and the current time will be added.</para> +<note><para>The authors name must be entered in the <link linkend="documentinfo">Document Information</link> +dialog or the name will not be included.</para></note> +<para>When you have entered all of your text, click <guibutton>OK</guibutton> to add your comment.</para> +<para>The comment will appear as a small yellow box at the cursor location.</para> +</sect2> + +<sect2 id="comments-edit"><title>Adding to or changing the comment in a document</title> +<para>To add more comments or change previous comments place the mouse pointer over the comment you +want to edit. Click once with the &RMB;. A popup menu will appear. Select <guilabel>Edit Comment...</guilabel>.</para> +<para>You can now make your changes to the comment.</para> +</sect2> + +<sect2 id="comments-delete"><title>Deleting a comment from a document</title> +<para>To delete a comment, place the mouse pointer over the comment you +want to edit. Click once with the &RMB;. A popup menu will appear. Select <guilabel>Remove Comment</guilabel>.</para> +<para>The comment is immediately deleted.</para> +</sect2> + +<sect2 id="comments-hide"><title>Hiding all comments in a document</title> +<para>To hide all comments, select <menuchoice> +<guimenu>Settings</guimenu> +<guimenuitem>Configure &kword;...</guimenuitem> +</menuchoice> from the menubar. </para> +<para>This will bring up a dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="opt2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Click on <guilabel>Misc</guilabel>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="opt3.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>The check box labeled <guilabel>Display comments</guilabel> is used to toggle the comments on and off.</para> +</sect2> + +</sect1> diff --git a/doc/kword/doclinks.docbook b/doc/kword/doclinks.docbook new file mode 100644 index 00000000..8f2c4cb2 --- /dev/null +++ b/doc/kword/doclinks.docbook @@ -0,0 +1,81 @@ +<sect1 id="links"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Document Links </title> +<indexterm><primary>document links</primary></indexterm> + +<para>&kword; has the ability to insert Internet addresses, email addresses, locations within the current document (bookmarks) and external file locations with a descriptor. This is most often used to +create web pages in &kword;.</para> + +<para>Once inserted into the document, the descriptor will be visible in &kword;, but when saved as a web document, the descriptor will become + the hyperlink for the location specified with the address.</para> + +<sect2 id="links-new"><title>Insert a new document link</title> +<para>To insert a document link select <menuchoice> +<guimenu>Insert</guimenu> +<guimenuitem>Link...</guimenuitem> +</menuchoice> from the menubar. This will bring up a small dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="linkdlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Using the icon bar on the left, choose which link type you want to insert.</para> +<para>In the comment field, type the text you want to appear in your web document (for example: The KOffice Web Site).</para> +<para>In the address field, type the Internet address, email address or +file location you want the comment to be linked with (for example: http://www.koffice.org) </para> +<para>Click <guibutton>OK</guibutton>.</para> +<note><para>By default, &kword; displays links underlined (as in most browsers). You can turn this behavior on and off by +selecting <menuchoice> <guimenu>Settings</guimenu><guimenuitem>Configure +&kword;...</guimenuitem></menuchoice> from the menubar and selecting the <guilabel>Misc</guilabel> page. More information can be found +<link linkend="opt-misc">here</link>.</para></note> +</sect2> +<sect2 id="links-open"><title>Opening a document link</title> +<para>You an use a document link from within &kword;.</para> +<para>Simply click once on the document link with the &RMB;. A popup menu will appear. Select <guilabel>Open Link</guilabel>.</para> +<para>A document link to a web site will open a new browser window and take you directly to that web site. A document link to an +email address, will open a new message in your email program. A document link to a file will open the appropriate viewer or editor for +that file type.</para> +</sect2> + +<sect2 id="links-copy"><title>Copy a document link</title> +<para>You an use a document link in another application, by copying it from a &kword; document.</para> +<para>Simply click once on the document link with the &RMB;. A popup menu will appear. Select <guilabel>Copy Link</guilabel>.</para> +<para>The link address has now been inserted into the clipboard. You can paste your clipboard entry into any other application.</para> +</sect2> +<sect2 id="links-edit"><title>Changing a document link</title> +<para>To change the details of a document link Simply click +once on the document link with the &RMB;. A popup menu will appear. Select <guilabel>Change Link...</guilabel>.</para> +<para>The <guilabel>Insert Link</guilabel> dialog box will appear, with the current settings of the link displayed.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="linkdlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Make any appropriate changes and click <guibutton>OK</guibutton> to make your changes.</para> + +</sect2><sect2 id="links-delete"><title>Deleting a document link</title> +<para>You can delete a document link like any other text in your document.</para> +<para>Simply place the cursor at the end of the document link, and press &Backspace;. Alternatively, place +the cursor at the beginning of the document link and press <keycap>Delete</keycap> on the keyboard. The document link is deleted in its entirety.</para> +</sect2> +<sect2 id="links-remove"><title>Converting a document link to text</title> +<para>If a document link is no longer needed as a link, but you want to preserve the text that is the link, click once on the document link with the &RMB;. A popup menu will appear. Select <guilabel>Remove Link...</guilabel>. The linked text will now become plain text, and the link will be deleted.</para> + +</sect2> + + + +</sect1> diff --git a/doc/kword/docstruct.docbook b/doc/kword/docstruct.docbook new file mode 100644 index 00000000..cef30613 --- /dev/null +++ b/doc/kword/docstruct.docbook @@ -0,0 +1,148 @@ +<sect1 id="doc-structure"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title><guilabel>Document Structure</guilabel></title> +<indexterm><primary>document structure</primary></indexterm> + +<para>Sometimes, when editing a complicated document, it can be helpful to look at an organized view of your document.</para> +<para>You can use this organized view to jump immediately to certain text +frames, select picture frames, change frame properties, delete frames, + or simply review your document.</para> + +<sect2 id="doc-structure-view"> +<title>Show and hide <guilabel>Document Structure</guilabel> area</title> +<para>Because simple documents do not need the information provided in the <guilabel>Document Structure</guilabel> area, &kword; +has the ability to toggle the <guilabel>Document Structure</guilabel> area on and off.</para> +<para>To toggle the <guilabel>Document Structure</guilabel> area on and off, select <menuchoice> +<guimenu>View</guimenu><guimenuitem>Show Doc Structure</guimenuitem> +</menuchoice> from the menubar to make the <guilabel>Document Structure</guilabel> area visible. Select <menuchoice> +<guimenu>View</guimenu><guimenuitem>Hide Doc Structure</guimenuitem> +</menuchoice> from the menubar to make the <guilabel>Document Structure</guilabel> area disappear.</para> + +<para>You can move focus to the document structure area by pressing +<keycombo>&Alt;<keycap>1</keycap></keycombo>. You can move focus to the main document panel by pressing +<keycombo>&Alt;<keycap>2</keycap></keycombo>. +</para> +</sect2> + +<sect2 id="doc-structure-navigate"> +<title>Navigating the document structure area</title> +<para>Lets examine a sample <guilabel>Document Structure</guilabel> area.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="docstruct.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>As you can see, there are five groups of frames categorized (<guilabel>Text +Frames/Frame Sets</guilabel> +<guilabel>Pictures</guilabel>, <guilabel>Tables</guilabel>, <guilabel>Formula +Frames</guilabel>, +<guilabel>Embedded Objects</guilabel>).</para> + +<variablelist> +<varlistentry> +<term><guilabel>Text Frames/Frame Sets</guilabel></term> +<listitem><para>Within this category, is a list of all text framesets. Below +each frameset, each frame is listed. Below each frame, each paragraph is +listed.</para></listitem> + </varlistentry> + +<varlistentry> +<term><guilabel>Pictures</guilabel></term> +<listitem><para>Within this category is a list of all frames that contain +pictures, and the folder the pictures were loaded from.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Tables</guilabel></term> +<listitem><para>Within this category is a list of all frames that contain +tables. Note that a table behaves very much like a frameset. +Each cell of the table is a frame, and each frame may contain +multiple paragraphs.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Formula Frames</guilabel></term> +<listitem><para>Within this category is a list of all frames that contain +formulas.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Embedded Objects</guilabel></term> +<listitem><para>Within this category, is an alphabetical list of all frames +that contain data from other &koffice; applications.</para></listitem> +</varlistentry> +</variablelist> +<para>You can use your mouse to select the category you want, or first +put focus in the document structure area (press <keycombo>&Alt;<keycap>1</keycap></keycombo>) +then use the up and down arrow keys to scroll through the list. +Double click on a category to expand or collapse the category, +or press the right or left arrow keys.</para> + +<note><para>Depending on your document, you may not have all categories in your +<guilabel>Document Structure</guilabel> area. The category only +appears when there is <emphasis>at least one</emphasis> frame in the +category.</para></note> + +</sect2> + + +<sect2 id="doc-structure-edit"> +<title>Edit a text frame, frameset, or paragraph using the document structure area</title> +<para>To edit a text frame, frameset, or paragraph, click on the +item with the &RMB; or scroll to the item and press the +<keycap>Menu</keycap> key. A popup menu will appear. Select <guilabel>Edit +Text</guilabel> from the menu.</para> +</sect2> + +<sect2 id="doc-structure-speak"> +<title>Speak the text of a text frame, frameset, or paragraph using the document structure area</title> +<para>If you have the KTTS component installed in your system, you can have the computer +speak the text of the document. To speak the text of a frame, frameset, or paragraph, click on the +item with the &RMB; or scroll to the item and press the +<keycap>Menu</keycap> key. A popup menu will appear. Select <guilabel>Speak +Text</guilabel> from the menu.</para> + +<tip> +<para>The <guilabel>Speak Text</guilabel> menu item will be disabled if KTTS +is not installed in your system. +</para> +<para>If KTTS fails to speak the text, or speaks the text in the wrong +language, make sure you have a <guilabel>Talker</guilabel> in +KTTS configured with the correct language. See <ulink url="help:kttsd">The KTTS Handbook</ulink> +for details. Also, make sure the <guilabel>Global Language</guilabel> is properly +set in the &kword; settings. +</para> +</tip> +</sect2> + +<sect2 id="doc-structure-show"><title>Jump to a frame, frameset, or paragraph using the document structure area</title> +<para>To display a frame, frameset, or paragraph in the main document panel, click on the +item with the &RMB; or scroll to the item and press the +<keycap>Menu</keycap> key. A popup menu will appear. Select <guilabel>Show</guilabel> + from the menu.</para> +</sect2> + +<sect2 id="doc-structure-delete"><title>Delete frame or frameset using the document structure area</title> +<para>To delete a frame or frameset, click on the +frame title with the &RMB; or scroll to the frame title and press the +<keycap>Menu</keycap> key. A popup menu will appear. Select <guilabel>Delete +Frame</guilabel> from the menu.</para> +</sect2> + +<sect2 id="doc-structure-properties"><title>Edit a frame or paragraph properties using the document structure area</title> +<para>To change the properties of a frame or paragraph, click on the +item with the &RMB; or scroll to the item and press the +<keycap>Menu</keycap> key. A popup menu will appear. Select +<guilabel>Properties</guilabel> from the menu.</para> +</sect2> + +</sect1> diff --git a/doc/kword/docstruct.png b/doc/kword/docstruct.png Binary files differnew file mode 100644 index 00000000..10a52edf --- /dev/null +++ b/doc/kword/docstruct.png diff --git a/doc/kword/docvariables.docbook b/doc/kword/docvariables.docbook new file mode 100644 index 00000000..d8e8cc97 --- /dev/null +++ b/doc/kword/docvariables.docbook @@ -0,0 +1,486 @@ +<sect1 id="variables"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Document Variables </title> +<indexterm><primary>variables</primary><secondary>introduction</secondary></indexterm> + +<para>A variable is a simple way of allowing &kword; to modify the document in <emphasis>very</emphasis> +specific ways to reflect the changing nature of the document or report.</para> +<para>A variable can be a number (such as a page number, the total number of pages in a document, etc), +a selection of words (clients name, product name, the documents filename, etc), +a date, a time, or nearly anything you desire.</para> +<para>Once the variable is defined, a <emphasis>placeholder</emphasis> is inserted in the document. +&kword; will replace this placeholder with the value of that variable each time the placeholder is used.</para> +<para>Variables can either be <emphasis>fixed</emphasis> (which means that once inserted, their value does not +change), or <emphasis>variable</emphasis> (where the placeholder is +<link linkend="update-variables">updated by &kword;</link> to reflect +the current value of the variable).</para> +<para>This chapter will begin with a few examples of commonly used variables +(<link linkend="insert-date">date</link>, +<link linkend="insert-time">time</link>, and +<link linkend="page-number">page numbers</link>), +then detail the +<link linkend="misc-variable">remaining variables</link> + available to you. Finally, it will detail how to +<link linkend="custom-variables">create +custom variables</link> for documents.</para> + +<sect2 id="date-time"><title>Date and Time</title> +<para>Many letters, reports and documents contain +information about the dates or times they correspond to. The date and time +information may establish the creation of a document (which will remain +fixed as long as the document is around), or the date and time may serve as +a notice of the last date of modification (which would change with each passing day).</para> +<para>&kword; allows for both fixed and variable date and time variables in the document.</para> +<sect3 id="insert-date"><title>Insert Date</title> +<indexterm><primary>variables</primary><secondary>insert date</secondary></indexterm> +<indexterm><primary>insert date</primary></indexterm> + +<para>To insert the date in the document, simply place the cursor in the text box where the date +should be inserted and select +<menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu><guimenuitem>Date</guimenuitem> +</menuchoice> from the menubar. This will bring up several selections. To insert the current date, select one of two +options: +<guimenuitem>Current date (fixed)</guimenuitem> and <guimenuitem>Current date (variable)</guimenuitem>.</para> + +<variablelist> +<varlistentry> +<term><guimenuitem>Current date (fixed)</guimenuitem></term> +<listitem><para>Selecting this option will insert the current date into the current cursor position. +This date is determined by checking with the computers system clock. Once entered, this value +will not change, even when &kword; is asked to <link linkend="update-variables">update the document +variables</link>.</para> +<para>This item is ideal for dates of document creation, or when including data in a report from todays work. +Compare this choice to <guimenuitem>Current date (variable)</guimenuitem>.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guimenuitem>Current date (variable)</guimenuitem></term> +<listitem><para>Selecting this option will insert the current date into the current cursor position. +This date is determined by checking with the computers system clock. This value will +change when &kword; is asked to <link linkend="update-variables">update the document +variables</link>.</para> +<para>This option is good for any point in the document where the current date is always wanted. +Compare this choice to <guimenuitem>Current date (fixed)</guimenuitem></para></listitem> +</varlistentry> + +</variablelist> +<para>Once the date has been selected, a dialog box will appear.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="insdate.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>The top combo box determines the layout of the variable. Your choices are:</para> + +<variablelist> +<varlistentry> +<term><guilabel>Locale date format</guilabel></term> +<listitem><para>This inserts the date in the format specified in the +&kde; Control Center.</para> +<para>To select this option, simply make sure the upper combo box says +<guilabel>Locale date format</guilabel>. A preview of the date format will appear above the +<guibutton>OK</guibutton> button. If satisfied click <guibutton>OK</guibutton>. +</para></listitem> +</varlistentry> + +<varlistentry> +<term>Preformatted date strings</term> +<listitem><para>&kword; comes with 19 predefined date strings. These predefined strings will +be all that are needed in most circumstances. Simply select the predefined string in the upper +combo box. A preview of the date format will appear above the +<guibutton>OK</guibutton> button. If satisfied click <guibutton>OK</guibutton>. +</para></listitem> +</varlistentry> + +<varlistentry> +<term>Custom String</term> +<listitem><para>If the appropriate format for the date cannot be found, it is possible to create custom +date format strings.</para> +<para>A date format string consists of a list of letters and numbers which follow +specific rules (which are outlined below) to create the completed date.</para> +<para>The date format string consists of <emphasis>placeholders</emphasis> and +<emphasis>separators</emphasis>. The placeholders are defined in the following three tables.</para> +<para><emphasis>Days</emphasis></para> +<informaltable> +<tgroup cols="5"> +<tbody> +<row><entry>Day placeholders</entry><entry>d</entry><entry>dd</entry><entry>ddd</entry><entry>dddd</entry></row> +<row><entry>Example</entry><entry>6</entry><entry>06</entry><entry>Thu</entry><entry>Thursday</entry></row> +</tbody></tgroup></informaltable> +<para><emphasis>Months</emphasis></para> +<informaltable> +<tgroup cols="3"> +<tbody> +<row><entry>Month placeholders</entry><entry>M</entry><entry>MM</entry><entry>MMM</entry><entry>MMMM</entry></row> +<row><entry>Example</entry><entry>3</entry><entry>03</entry><entry>Mar</entry><entry>March</entry></row> +</tbody></tgroup></informaltable> +<para><emphasis>Year</emphasis></para> +<informaltable> +<tgroup cols="3"> +<tbody> +<row><entry>Year placeholders</entry><entry>yy</entry><entry>yyyy</entry></row> +<row><entry>Example</entry><entry>02</entry><entry>2002</entry></row> +</tbody></tgroup></informaltable> +<para>Simply combine placeholders with normal text (separators) to create completed date strings. </para> + +<para>For example:</para> +<para><quote>MM/dd/yyyy</quote> is translated to 01/06/2004</para> +<para>and</para> +<para><quote>MMMM d, yyyy</quote> becomes January 6, 2004</para> +<para>Notice that only the placeholders change. Spaces, commas, slashes and other text remains unchanged.</para> +<note><para>It is important to remember that placeholders are case sensitive. +<quote>DD</quote> is not a placeholder, + only <quote>dd</quote>.</para></note> +<para>To create a custom date string, place a mark in the <guilabel>Custom</guilabel> check box.</para> +<para>Now type placeholders and separators text into the upper combo box. Alternatively +select the format from the <guilabel>Insert:</guilabel> +combo box, and the +placeholder will be inserted into the date format string at the cursor location.</para> + +</listitem> +</varlistentry> +</variablelist> + +<para>There is a spinbox labeled <guilabel>Correct in Days</guilabel>. You can use this spin box to adjust the date up or +down one or more days from the current date.</para> + +<para>A preview of the current date +string is visible above the +<guibutton>OK</guibutton> button. Click <guibutton>OK</guibutton> when +the date format string is correct to insert the variable into the document.</para> + +<tip><para>Once the date has been inserted into the document, it can be reformatted to a different layout +and toggled between fixed and variable dates. Simply click once with the &RMB; on the date. +A small menu will appear. Select <guilabel>Change Variable To</guilabel> and a submenu will appear. Select your new +variable or new layout from the menu and the variable is immediately updated. </para></tip> + +<!-- --> +<para> There are three additional dates you can insert into your document:</para> +<variablelist> +<varlistentry> +<term><guimenuitem>Date of Last Printing</guimenuitem></term> +<listitem><para>Selecting this option will insert the date this document was last printed into the current cursor position. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guimenuitem>Date of File Creation</guimenuitem></term> +<listitem><para>Selecting this option will insert the date this document created into the current cursor position. +</para></listitem> +</varlistentry> + +<varlistentry> +<term><guimenuitem>Date of File Modification</guimenuitem></term> +<listitem><para>Selecting this option will insert the date this document was last edited into the current cursor position. +</para></listitem> +</varlistentry> + +</variablelist> + +<!--row><entry>Date of Last Printing</entry><entry>Any date format</entry><entry>The date this document was last printed.</entry></row> +<row><entry>Date of File Creation</entry><entry>Any date format</entry><entry>The date this document was created.</entry></row> +<row><entry>Date of File Modification</entry><entry>Any date format</entry><entry>The date this document was edited.</entry></row> +--> + +</sect3> +<sect3 id="insert-time"><title>Insert Time</title> +<indexterm><primary>variables</primary><secondary>insert time</secondary></indexterm> +<indexterm><primary>insert time</primary></indexterm> + +<para>To insert the time in the document, simply place the cursor in the text box where the time should +be inserted and select +<menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu><guisubmenu>Time</guisubmenu> +</menuchoice> from the menubar. This will bring up two selections: +<guimenuitem>Current time (fixed)</guimenuitem> and <guimenuitem>Current time (variable)</guimenuitem>.</para> + +<variablelist> +<varlistentry> +<term><guimenuitem>Current time (fixed)</guimenuitem></term> +<listitem><para>Selecting this option will insert the current time into the current cursor position. +This time is determined by checking with the computers system clock. Once entered, this value +will not change, even when &kword; is asked to <link linkend="update-variables">update the document +variables</link>.</para> +<para>This item is ideal for timestamps. +Compare this choice to <guimenuitem>Current time (variable)</guimenuitem>.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guimenuitem>Current time (variable)</guimenuitem></term> +<listitem><para>Selecting this option will insert the current time into the current cursor position. +This time is determined by checking with the computers system clock. This value will +change when &kword; is asked to <link linkend="update-variables">update the document +variables</link>.</para> +<para>This option is good for any point in your document where the current time is always wanted. +Compare this choice to <guimenuitem>Current time (fixed)</guimenuitem></para></listitem> +</varlistentry> + +</variablelist> +<para>This brings up a dialog box.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="instime.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>The top combo box determines the layout of the variable. The choices are:</para> + +<variablelist> +<varlistentry> +<term><guilabel>Locale format</guilabel></term> +<listitem><para>This inserts the time in the format specified in the +&kde; Control Center.</para> +<para>To select this option, simply make sure the upper combo box says +<guilabel>Locale format</guilabel>. A preview of the current time +string is visible above the <guibutton>OK</guibutton> button. If satisfied click <guibutton>OK</guibutton>. +</para></listitem> +</varlistentry> + +<varlistentry> +<term>Preformatted time strings</term> +<listitem><para>&kword; comes with 6 predefined time strings. These predefined strings will +be all that are needed in most circumstances. Simply select the predefined string in the upper +combo box. A preview of the current time +string is visible above the <guibutton>OK</guibutton> button. If satisfied click <guibutton>OK</guibutton>.</para></listitem> +</varlistentry> + +<varlistentry> +<term>Custom String</term> +<listitem><para>If the appropriate format cannot be found, a custom +time format string can be created.</para> +<para>A time format string consists of a list of letters and numbers which follow +specific rules (which are outlined below) to create the completed time.</para> +<para>The time format string consists of <emphasis>placeholders</emphasis> and +<emphasis>separators</emphasis>. The placeholders are defined in the following five tables.</para> +<para><emphasis>Hours</emphasis></para> +<informaltable> +<tgroup cols="2"> +<tbody> +<row><entry>Hour placeholders</entry><entry>h</entry><entry>hh</entry></row> +<row><entry>Example</entry><entry>6</entry><entry>06</entry></row> +</tbody></tgroup></informaltable> +<para><emphasis>Minutes</emphasis></para> +<informaltable> +<tgroup cols="3"> +<tbody> +<row><entry>Minutes placeholders</entry><entry>m</entry><entry>mm</entry></row> +<row><entry>Example</entry><entry>3</entry><entry>03</entry></row> +</tbody></tgroup></informaltable> +<para><emphasis>Seconds</emphasis></para> +<informaltable> +<tgroup cols="3"> +<tbody> +<row><entry>Seconds placeholders</entry><entry>s</entry><entry>ss</entry></row> +<row><entry>Example</entry><entry>2</entry><entry>02</entry></row> +</tbody></tgroup></informaltable> +<para><emphasis>Milliseconds</emphasis></para> +<informaltable> +<tgroup cols="1"> +<tbody> +<row><entry>Milliseconds placeholders</entry><entry>zzz</entry></row> +<row><entry>Example</entry><entry>022</entry></row> +</tbody></tgroup></informaltable> +<para><emphasis>Seconds</emphasis></para> +<informaltable> +<tgroup cols="3"> +<tbody> +<row><entry>AM/PM placeholders</entry><entry>ap</entry><entry>AP</entry></row> +<row><entry>Example</entry><entry>am</entry><entry>AM</entry></row> +</tbody></tgroup></informaltable> + +<para>Simply combine placeholders with normal text (separators) to create completed time strings. </para> + +<para>For example:</para> +<para><quote>hh:mm:ss</quote> becomes 06:23:13</para> +<para>and</para> +<para><quote>h:mm ap</quote> becomes 6:23 am</para> +<para>Notice that only the placeholders change. Spaces, colons and other text remains unchanged.</para> +<note><para>It is important to remember that placeholders are case sensitive. +<quote>HH</quote> is not a placeholder, + only <quote>hh</quote></para></note> +<para>To create a custom time string, place a mark in the <guilabel>Custom</guilabel> check box.</para> +<para>Type the placeholders and separator text into the upper combo box. Alternatively, +you can select the format from the <guilabel>Insert:</guilabel> +combo box, and the +placeholder will be inserted into the time format string at the cursor location.</para> +<para>A preview of the current time +string is visible below the <guilabel>Custom</guilabel> check box. Click <guibutton>OK</guibutton> when +the time format string is correct to insert the variable into your document.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>A preview of the current time +string is visible below the <guilabel>Custom</guilabel> check box. Click <guibutton>OK</guibutton> when +the time format string is correct to insert the variable into your document.</para> + +<tip><para>Once the time has been inserted into the document, it can be reformatted to a different layout +and toggled between fixed and variable times. Simply click once with the &RMB; on the time in the document. +A small menu will appear. Select <guilabel>Change Variable To</guilabel> and a submenu will appear. Select your new +variable or new layout from the menu and the variable is immediately updated. </para></tip> + +</sect3> + + +</sect2> +<sect2 id="page-number"><title>Page Numbering </title> +<indexterm><primary>variables</primary><secondary>insert page numbers</secondary></indexterm> +<indexterm><primary>insert page numbers</primary></indexterm> + +<para>Inserting page numbers is easy in &kword;.</para> +<para>There are five variables that relate to page numbers: <guilabel>Page Number</guilabel>, +<guilabel>Number of Pages</guilabel>,<guilabel>Section Title</guilabel><guilabel>Next Page</guilabel>, +and <guilabel>Previous Page</guilabel>.</para> +<para>To insert the current page number, place the cursor where you want the page number and select +<menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu><guisubmenu>Page</guisubmenu> +<guimenuitem>Page Number</guimenuitem> +</menuchoice> from the menubar. The page number will be inserted at the current cursor location.</para> +<para>To insert the total number of pages, place the cursor where you want the variable and select +<menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu><guisubmenu>Page</guisubmenu> +<guimenuitem>Number of Pages</guimenuitem> +</menuchoice> from the menubar. The total number of pages will be inserted.</para> +<para>To insert the title of the section, place the cursor where you want the variable and select +<menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu><guisubmenu>Page</guisubmenu> +<guimenuitem>Section Title</guimenuitem> +</menuchoice> from the menubar. The section title will be inserted.</para> +<para>By selecting <menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu><guisubmenu>Page</guisubmenu> +<guimenuitem>Next Page</guimenuitem> +</menuchoice> from the menubar, a reference to the page number after the current page will be inserted at the current cursor location.</para> +<para>Likewise, by selecting <menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu><guisubmenu>Page</guisubmenu> +<guimenuitem>Previous Page</guimenuitem> +</menuchoice> from the menubar, a reference to the page number before the current page will be inserted at the current cursor location.</para> + +<note><para>Page numbers are updated dynamically as the document +is edited.</para></note> +<tip><para>Page numbers are usually best located within +<link linkend="headers-and-footers">headers and footers</link>. This ensures that +every page will have a page number at the appropriate place.</para></tip> +</sect2> +<sect2 id="misc-section-title"><title>Section Title</title> +<para>You can insert the section title anywhere in your document by selecting +<menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu><guisubmenu>Page</guisubmenu> +<guimenuitem>Section Title</guimenuitem> +</menuchoice> from the menubar. </para> +<para>&kword; determines the Section title by beginning a search from the top of the current page. The first paragraph with a style of +<emphasis>Head 1</emphasis> is the section title. If there are no paragraphs on the current page, &kword; does the same search along +on previous pages until it finds a section title.</para> + +</sect2> +<sect2 id="misc-variable"><title>Other Variables </title> +<indexterm><primary>variables</primary><secondary>miscellaneous variables</secondary></indexterm> + +<para>&kword; provides other commonly used variables that you might find useful. This set of variables +are specific to the document. You can insert these variables by selecting +<menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu><guimenuitem>Document Information</guimenuitem> +</menuchoice> from the menubar. This will bring up a list of variables. The variables are detailed below. +<informaltable> +<tgroup cols="3"> +<thead> +<row><entry>Variable</entry><entry>Example</entry><entry>Details</entry></row> +</thead> +<tbody> +<row><entry>Author Name</entry><entry>Joseph User</entry><entry>The name of the author as specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>City</entry><entry>Philadelphia</entry><entry>The city specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Company</entry><entry>&kde;</entry><entry>The company name specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Country</entry><entry>United States</entry><entry>The country name specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Directory Name</entry><entry>/home/juser/kword</entry><entry>This is the folder name for the document. The filename is not included in the folder name variable.</entry></row> +<row><entry>Directory & Filename</entry><entry>/home/juser/kword/Resume.kwd</entry><entry>The folder and filename of the current file.</entry></row> +<row><entry>Document Abstract</entry><entry>This is a current resume.</entry> <entry>The document abstract specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Document Keywords</entry><entry>Resume, job, application</entry> <entry>The document keywords specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Document Subject</entry><entry>My resume.</entry> <entry>The document subject line specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Document Title</entry><entry>My Resume</entry><entry>The document title specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Email</entry><entry>joeuser@kde.org</entry><entry>The email address of the author as specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Fax</entry><entry>Any valid telephone number</entry><entry>The fax machine number specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>File Name</entry><entry>Resume.kwd</entry><entry>The complete name of the file.</entry></row> +<row><entry>File Name without extension</entry><entry>Resume</entry><entry>The filename without the suffix (usually .kwd).</entry></row> +<row><entry>Initials</entry><entry>JCU</entry><entry>The initials specified in the authors section of the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Postal code</entry><entry>Any valid postal code</entry><entry>The postal code specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Street</entry><entry>123 Main St.</entry><entry>The street address specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Telephone (work)</entry><entry>Any valid telephone number</entry><entry>The telephone number specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Telephone (private)</entry><entry>Any valid telephone number</entry><entry>The telephone number specified in the <link linkend="documentinfo">Document information</link> box.</entry></row> +<row><entry>Title</entry><entry>Director of Information Systems</entry><entry>The title specified in the authors section of the <link linkend="documentinfo">Document information</link> box.</entry></row> +</tbody></tgroup></informaltable></para> +<para>Additionially, there are numerous variables under the <guilabel>Statistics</guilabel> submenu for inserting the number of words, lines, frames, etc. These variables should be self explanitory.</para> +<note><para>Uninitialized variables will appear as <none>, until you define their +value in the +<link linkend="documentinfo">Document information</link> box.</para></note> +</sect2> +<sect2 id="custom-variables"><title>Custom Variables </title> +<indexterm><primary>variables</primary><secondary>custom</secondary></indexterm> + +<para>&kword; has many predefined variables. You may encounter documents where it would be nice +to define your own variables for a document. </para> +<para>Using <emphasis>Custom Variables</emphasis>, you can create an unlimited number of variables for each document.</para> +<sect3 id="new-custom-variables"><title>Create a new custom variable</title> +<indexterm><primary>variables</primary><secondary>create custom variable</secondary></indexterm> + +<para>To create a new custom variable, place the cursor at the location in the document to insert the new variable.</para> +<para>Select <menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu><guisubmenu>Custom</guisubmenu> +<guimenuitem>New</guimenuitem></menuchoice> from the menubar. This will bring up a dialog box.</para> +<para>Enter the variable name and its current value in the text boxes provided.</para> +<para>Click <guibutton>OK</guibutton> to create the new variable name and insert it at the current +cursor location. Click <guibutton>Cancel</guibutton> to cancel the creation of the new variable.</para> + +<para>It is now possible to <link linkend="insert-custom-variables">insert this new variable</link> at any +place in your document.</para> +</sect3> +<sect3 id="edit-custom-variables"><title>Edit a custom variables value</title> +<indexterm><primary>variables</primary><secondary>edit custom variables</secondary></indexterm> + +<para>In order for variables to be useful, you need to be able to give them a value, and be able to +change that value easily. To change the value of a variable:</para> +<para>Select <menuchoice> +<guimenu>Tools</guimenu> +<guimenuitem>Custom Variables...</guimenuitem></menuchoice> from the menubar. +This will bring up a dialog box.</para> +<para>Each custom variable has a line in this table. The first column is the name of the variable, and +the second column is the value.</para> +<para>To change the value of a variables, simply click within the text box to the right of +the variable name. Enter the desired value.</para> +<para>When all the changes have been complete, simply click <guibutton>OK</guibutton> and all the +variables will be updated.</para> +</sect3> +<sect3 id="insert-custom-variables"><title>Insert a custom variable</title> +<indexterm><primary>variables</primary><secondary>insert custom variable</secondary></indexterm> + +<para>To insert a new custom variable select <menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu><guisubmenu>Custom</guisubmenu> +</menuchoice> from the menubar. The custom variable is listed in the submenu. Click on the name of +the variable and &kword; will insert the variable, with its current value, at the cursor location.</para> +</sect3> +</sect2> +<sect2 id="update-variables"><title>Updating All Variable Values </title> +<indexterm><primary>variables</primary><secondary>updating</secondary></indexterm> + +<para>You can tell &kword; to update all variable values (to make sure all variables are set to their +current values). This is <emphasis>especially</emphasis> important with dates and times.</para> +<para>Simply select <menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu><guimenuitem>Refresh All Variables</guimenuitem> +</menuchoice> from the menubar.</para> +</sect2> +<sect2 id="update-variables-one"><title>Updating One Date or Time Variable Value </title> +<para>You can tell &kword; to update a single date or time variable value, and leave the others unchanged.</para> +<para>Simply place the mouse pointer over the variable you want to update and click with the &RMB;. +Select <guimenuitem>Change Variable To</guimenuitem>. A small menu will appear which will show +several new date or time formatting options and the option to change either dates or times to fixed or variable time formats. Simply select +the new option and this variable will be updated.</para> +</sect2> +</sect1> diff --git a/doc/kword/dtab.png b/doc/kword/dtab.png Binary files differnew file mode 100644 index 00000000..c8513bd2 --- /dev/null +++ b/doc/kword/dtab.png diff --git a/doc/kword/dtab2.png b/doc/kword/dtab2.png Binary files differnew file mode 100644 index 00000000..0c5d00d1 --- /dev/null +++ b/doc/kword/dtab2.png diff --git a/doc/kword/dtpfmtpg1.png b/doc/kword/dtpfmtpg1.png Binary files differnew file mode 100644 index 00000000..63518acd --- /dev/null +++ b/doc/kword/dtpfmtpg1.png diff --git a/doc/kword/editcopy.png b/doc/kword/editcopy.png Binary files differnew file mode 100644 index 00000000..1e6c38ad --- /dev/null +++ b/doc/kword/editcopy.png diff --git a/doc/kword/editcut.png b/doc/kword/editcut.png Binary files differnew file mode 100644 index 00000000..84ba0e15 --- /dev/null +++ b/doc/kword/editcut.png diff --git a/doc/kword/editing.docbook b/doc/kword/editing.docbook new file mode 100644 index 00000000..733da667 --- /dev/null +++ b/doc/kword/editing.docbook @@ -0,0 +1,1903 @@ +<chapter id="guides-2"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Detailed Guides: Editing your Document</title> + +<para>This section of the guide will cover more advanced features of +data editing. This section focuses entirely on text data. For working +with other types of data, please see the section entitled <link linkend="guides-4">More than just text</link>.</para> + +<sect1 id="select"> +<title>Selecting Text</title> +<indexterm><primary>selecting text</primary></indexterm> +<para>For many editing and formatting functions in &kword;, certain actions (bold face, underline,&etc;) should be +applied to a +certain section of text, not the document as a whole. You specify which +text should be altered by selecting (or highlighting) the text you want changed.</para> + +<para>Selected text has a colored background to separate it from +unselected text.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="select1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Select text by designating a start and an end +point. All the text in between the start and end point is selected +text.</para> + +<para>Text can be selected with either the <link linkend="select-with-mouse">mouse</link> or the <link linkend="select-with-keyboard">keyboard</link>. </para> + +<sect2 id="select-with-mouse"> +<title>Using The Mouse</title> + +<para>To select text with the mouse, place the mouse pointer at the start point. Click and hold down the +&LMB; and drag the mouse pointer. This +selects all text between the initial click of &LMB; and the +current position of the mouse cursor. When the mouse pointer is at the desired end point, release the button. +The start and endpoints will become fixed.</para> + +</sect2> + +<sect2 id="select-with-keyboard"> +<title>Using The Keyboard</title> +<para>To use the keyboard, &kword; takes the initial position of the text cursor as the start point. +Use the following key combinations to move the endpoint to the desired location. +</para> +<informaltable><tgroup cols="2" align="left"> +<thead><row><entry align="center">Key Combination</entry><entry align="left">Function</entry></row></thead> +<tbody> +<row><entry align="center"><keycombo action="simul">&Shift;<keycap>Left Arrow</keycap></keycombo></entry><entry>Moves the endpoint one character to the left.</entry></row> +<row><entry align="center"><keycombo action="simul">&Ctrl;&Shift;<keycap>Left Arrow</keycap></keycombo></entry><entry>Moves the endpoint one word to the left.</entry></row> +<row><entry align="center"><keycombo action="simul">&Shift;<keycap>Right Arrow</keycap></keycombo></entry><entry>Moves the endpoint one character to the Right.</entry></row> +<row><entry align="center"><keycombo action="simul">&Ctrl;&Shift;<keycap>Right Arrow</keycap></keycombo></entry><entry>Moves the endpoint one word to the Right.</entry></row> + +<row><entry align="center"><keycombo action="simul">&Shift;<keycap>Up Arrow</keycap></keycombo></entry><entry>Selects all characters from the start of the selection, to the character directly up one line.</entry></row> +<row><entry align="center"><keycombo action="simul">&Ctrl;&Shift;<keycap>Up Arrow</keycap></keycombo></entry><entry>Selects all characters from the start of the selection, to the first character of the line directly above.</entry></row> + +<row><entry align="center"><keycombo action="simul">&Shift;<keycap>Down Arrow</keycap></keycombo></entry><entry>Selects all characters from the start of the selection, to the character directly down one line.</entry></row> +<row><entry align="center"><keycombo action="simul">&Ctrl;&Shift;<keycap>Down Arrow</keycap></keycombo></entry><entry>Selects all characters from the start of the selection, to the last character of the line directly below.</entry></row> + +<row><entry align="center"><keycombo action="simul">&Shift;<keycap>Home</keycap></keycombo></entry><entry>Selects all characters from the start of the selection, to the beginning of the line.</entry></row> +<row><entry align="center"><keycombo action="simul">&Ctrl;&Shift;<keycap>Home</keycap></keycombo></entry><entry>Selects all characters from the start of the selection, to the beginning of the document.</entry></row> + +<row><entry align="center"><keycombo action="simul">&Shift;<keycap>End</keycap></keycombo></entry><entry>Selects all characters from the start of the selection, to the end of the line.</entry></row> +<row><entry align="center"><keycombo action="simul">&Ctrl;&Shift;<keycap>End</keycap></keycombo></entry><entry>Selects all characters from the start of the selection, to the end of the document.</entry></row> + +<row><entry align="center"><keycombo action="simul">&Shift;<keycap>Page-Up</keycap></keycombo></entry><entry>Moves the current endpoint one screen up.</entry></row> +<row><entry align="center"><keycombo action="simul">&Ctrl;&Shift;<keycap>Page-Up</keycap></keycombo></entry><entry>Moves the current endpoint one page up. The endpoint is located at the first character of this page.</entry></row> + + +<row><entry align="center"><keycombo action="simul">&Shift;<keycap>Page-Down</keycap></keycombo></entry><entry>Moves the current endpoint down one screen.</entry></row> + +<row><entry align="center"><keycombo action="simul">&Ctrl;&Shift;<keycap>Page-Down</keycap></keycombo></entry><entry>Moves the current endpoint down one page. The endpoint is locate at the first character of this page.</entry></row> +<row><entry align="center"><keycombo action="simul">&Ctrl;<keycap>A</keycap></keycombo></entry><entry>Select all text in the current frameset.</entry></row> + +</tbody></tgroup></informaltable> +<para>Once the start and endpoints have been defined, all text between the startpoint and endpoint is selected.</para> +</sect2> + + +</sect1> + +<sect1 id="views"> +<title>Using Multiple Views</title> +<indexterm><primary>views</primary><secondary>using multiple</secondary></indexterm> +<sect2 id="views-intro"> +<title>Introduction</title> +<para>When editing very large documents, there will be times when it is helpful to +edit two parts of the document. In a situation such as this, +&kword; can open additional windows to edit the <emphasis>same</emphasis> document.</para> +<para>These new windows are called <emphasis>Views</emphasis>, since they provide +a different viewpoint of the the same document.</para> +<para>Views are very important tools when working with large documents. +Set one view to edit one part of the document, and using the other view, freely +move through the document making updates and changes. These changes are automatically revealed in all views.</para> +</sect2> + +<sect2 id="views-new"> + +<title>Creating a new view</title> +<indexterm><primary>views</primary><secondary>create new view</secondary></indexterm> +<para>Creating a new view creates an entirely new window, with toolbars, menubars etc. +Compare this with the <link linkend="views-split">Split View</link> command.</para> + +<para>To create a new view select <menuchoice><guimenu>View</guimenu><guimenuitem>New View</guimenuitem> +</menuchoice> from the menubar. </para> + +<para>A new window will be created. Alterations to your document can be made in either view. +Updates in one window will be immediately visible in the other.</para> + +</sect2> + +<sect2 id="views-split"> +<title>Splitting the current view into two separate views. </title> +<indexterm><primary>views</primary><secondary>split current view</secondary></indexterm> +<para>It is also possible to split one view into two views. Both views are contained within one window, and +use the same toolbars, menubars, etc. Contrast this to the effect of the <link linkend="views-new">New View</link> command.</para> + +<para>To split the current view, select +<menuchoice><guimenu>View</guimenu><guimenuitem>Split View</guimenuitem></menuchoice> from the menubar. </para> + +<para>The current document area will be split into two views. Alterations to your document can be made in either view. +Updates in one view will be immediately visible in the other.</para> + +<tip><para>The views can either be split horizontally or vertically. See the next section for instructions.</para></tip> +</sect2> + +<sect2 id="views-split-orientation"> + +<title>Changing the split view orientation </title> +<indexterm><primary>views</primary><secondary>change split view orientation</secondary></indexterm> +<para>To change the direction that the views are split, simply select +<menuchoice><guimenu>View</guimenu><guisubmenu>Splitter Orientation</guisubmenu></menuchoice> from the menubar. +This will show a submenu. Select either <guilabel>Horizontal</guilabel> or <guilabel>Vertical</guilabel>.</para> + +<para>All views in the current window will immediately change to the new orientation.</para> +</sect2> + +<sect2 id="views-adjust-size"> + +<title>Changing the size of views </title> +<indexterm><primary>views</primary><secondary>resizing</secondary></indexterm> +<para>The relative sizes of each view can be adjusted with your mouse.</para> +<para>To adjust the view size, look at the border between the scrollbar of one view +(the upper or right view) and the ruler of the other view (the lower or left view). There is a +solid border which appears raised between the scrollbar and the ruler. As the mouse pointer passes +over this bar, it changes from an arrow to double lines with double arrows.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="viewsize.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para>When the mouse pointer changes, click once with the &LMB; and hold the button +down. Drag that border to the new location. When the mouse button is released, the +views will change to the new proportions.</para> + +</sect2> + +<sect2 id="views-remove"> + +<title>Remove View </title> +<indexterm><primary>views</primary><secondary>removing</secondary></indexterm> +<para>To remove a view, simply place the mouse pointer in the view to be deleted and click with the &LMB;. +Then select <menuchoice><guimenu>View</guimenu><guimenuitem>Remove View</guimenuitem></menuchoice> +from the menubar.</para> +</sect2> + +<sect2 id="views-close"> + +<title>Close all views </title><para>To close all views, select +<indexterm><primary>views</primary><secondary>closing all views</secondary></indexterm> +<menuchoice><guimenu>View</guimenu><guimenuitem>Close All Views</guimenuitem></menuchoice> +from the menubar.</para> +</sect2> +</sect1> + +<sect1 id="undo-redo"> +<title>Undo/Redo</title> +<indexterm><primary>undoing last edit</primary></indexterm> +<indexterm><primary>redoing previously undone edit</primary></indexterm> +<para>It happens all the time. While working on a document, a change is made. +The change was wrong, now you want to back out of your changes.</para> + +<para>Fortunately, &kword; has a solution.</para> + +<para>Each time a change is made to a document, &kword; remembers what +the change was. &kword; can +<emphasis>Undo</emphasis> each change once a time. </para> + +<para>As an example, you are writing a business letter and type in the following sentence:</para> + +<informalexample><para>It is a pleasure for me to give you this letter of introduction to your newest employee.</para></informalexample> + +<para>But that doesn't seem right, so you change it:</para> + +<informalexample><para>It is a joy for me to give you this letter of introduction to your newest employee.</para></informalexample> + +<para>You decide it was better the first time and you want to change it back.</para> + +<para>Simply select +<menuchoice><guimenu>Edit</guimenu><guimenuitem>Undo</guimenuitem></menuchoice> from +the menubar.</para> + +<para>The text now reads <quote>pleasure</quote> again.</para> + +<informalexample><para>It is a pleasure for me to give you this letter of introduction to your newest employee.</para></informalexample> + +<para>If, after you Undo a change, and then want to reverse that decision, +select +<menuchoice><guimenu>Edit</guimenu><guimenuitem>Redo</guimenuitem></menuchoice> and +the Undo is reversed.</para> + +<note> +<para>Sometimes it is not possible for &kword; to undo an edit. In these instances, &kword; +will display the <guimenuitem>Undo</guimenuitem> function gray and the function is not +accessible.</para> + +<para>Othertimes, &kword; will only perform a partial undo of the previous task. +This is because &kword; processes changes to documents differently then might +initially be expected. Simply select +<menuchoice><guimenu>Edit</guimenu><guimenuitem>Undo</guimenuitem></menuchoice> +again, and more of the edits will be undone.</para> +</note> +<para>By default, &kword; keeps track of the last 30 edits to the document. +This number can be adjusted up or down. For details, see <link linkend="opt-misc">Configuring &kword;</link>.</para> +<para>The <emphasis>Undo</emphasis> and <emphasis>Redo</emphasis> commands can +be accessed from the menubar (as in the examples above), by using keyboard shortcuts or from the toolbar.</para> + +<informaltable><tgroup cols="3"> +<thead> +<row><entry>Command</entry><entry>Toolbar Button</entry><entry>Keyboard Shortcut</entry></row> +</thead><tbody> +<row><entry>Undo</entry><entry><inlinemediaobject><imageobject><imagedata fileref="undo.png" format="PNG"/> +</imageobject></inlinemediaobject></entry><entry><keycombo +action="simul">&Ctrl;<keycap>Z</keycap></keycombo></entry></row> +<row><entry>Redo</entry><entry><inlinemediaobject><imageobject><imagedata fileref="redo.png" format="PNG"/> +</imageobject></inlinemediaobject></entry><entry><keycombo +action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo></entry></row> +</tbody> +</tgroup> +</informaltable> +</sect1> + +<sect1 id="clipboard"> + +<title>Cut/Copy/Paste and the Clipboard</title> +<indexterm><primary>clipboard</primary><secondary>using</secondary></indexterm> + +<para>The <quote>clipboard</quote> is a concept familiar to most people +who have used modern word processors. It is a piece of your computers +memory which is set aside as a temporary storage space. Text can be +<quote>Cut</quote> or <quote>Copied</quote> from your document into +the clipboard. You can move to another part of the document or to +another application entirely, and <quote>Paste</quote> this text at the new +location. </para> + +<para>The most common use for the clipboard is to move or copy text +which has already entered into one part of the document to another +part of the same document or to another document entirely.</para> + +<para>This concept is probably best described with an example.</para> + +<para>To do this, we begin with a test sentence</para> + +<informalexample><para>The big, red fox jumped over the lazy dog.</para></informalexample> + +<para>Using the mouse or keyboard, select the phrase +<quote> big, red</quote> (notice the space before <quote>big</quote> is selected).</para> + +<para>Now select <menuchoice> +<guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice> from +the menubar.</para> + +<para><emphasis>This has moved a copy of the selected text to the +clipboard.</emphasis></para> + +<para>Now place the mouse cursor directly behind the word +<quote>lazy</quote> and click once.</para> + +<para>Now select <menuchoice> +<guimenu>Edit</guimenu><guimenuitem>Paste</guimenuitem></menuchoice> +from the menubar.</para> + +<para>The resulting sentence is: </para> + +<informalexample><para>The big, red fox jumped over the lazy big, red dog</para></informalexample> + +<para>The clipboard is not limited to text. +The clipboard can contain tables, pictures, spreadsheets or any other type of information.</para> +<sect2 id="local-copy"> + +<title>The <guimenuitem>Copy</guimenuitem> Command</title> +<indexterm><primary>clipboard</primary><secondary>copying text to</secondary></indexterm> +<para>The <guimenuitem>Copy</guimenuitem> command can be invoked 4 ways:</para> + +<itemizedlist> +<listitem> +<para>By selecting <menuchoice> +<guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice> from +the menubar</para> +</listitem> + +<listitem> +<para>By clicking <inlinemediaobject><imageobject><imagedata +fileref="editcopy.png" format="PNG"/></imageobject></inlinemediaobject> +on the toolbar.</para> +</listitem> + +<listitem> +<para>Using the keyboard shortcut: <keycombo +action="simul">&Ctrl;<keycap>C</keycap></keycombo> or the alternate keyboard shortcut: +<keycombo +action="simul">&Ctrl;<keycap>Insert</keycap></keycombo></para> +</listitem> + +<listitem> +<para>After the text is selected, click once with the &RMB; and hold the button down. +A small popup menu will appear. Simply select <guilabel>Copy</guilabel></para> +</listitem> + +</itemizedlist> + +<para>The <guimenuitem>Copy</guimenuitem> command moves a copy of the selected data +to the clipboard. <emphasis>The original data is +unaffected.</emphasis></para> + +</sect2> + +<sect2 id="local-cut"> +<title>The <guimenuitem>Cut</guimenuitem> Command</title> +<indexterm><primary>clipboard</primary><secondary>moving text to</secondary></indexterm> +<para>The <guimenuitem>Cut</guimenuitem> command can be invoked 4 ways:</para> + +<itemizedlist> +<listitem> +<para>By selecting <menuchoice> +<guimenu>Edit</guimenu><guimenuitem>Cut</guimenuitem></menuchoice> from +the menubar</para> +</listitem> + +<listitem> +<para>By clicking <inlinemediaobject><imageobject><imagedata +fileref="editcut.png" format="PNG"/></imageobject></inlinemediaobject> +on the toolbar.</para> +</listitem> + +<listitem> +<para>Using the keyboard shortcut: <keycombo +action="simul">&Ctrl;<keycap>X</keycap></keycombo> or the alternate keyboard shortcut: +<keycombo +action="simul">&Shift;<keycap>Delete</keycap></keycombo></para> +</listitem> +<listitem> +<para>After the text is selected, click once with the &RMB; and hold the button down. +A small popup menu will appear. Simply select <guilabel>Cut</guilabel></para> +</listitem></itemizedlist> + +<para>The <guimenuitem>Cut</guimenuitem> command moves a copy of the selected data +to the clipboard. <emphasis>The selected data is then deleted from the +document.</emphasis></para> + +</sect2> + +<sect2 id="local-paste"> +<title>The <guimenuitem>Paste</guimenuitem> Command</title> +<indexterm><primary>clipboard</primary><secondary>moving text from</secondary></indexterm> +<para>The <guimenuitem>Paste</guimenuitem> command can be invoked 4 ways:</para> + +<itemizedlist> +<listitem> +<para>By selecting <menuchoice> +<guimenu>Edit</guimenu><guimenuitem>Paste</guimenuitem></menuchoice> +from the menubar</para> +</listitem> + +<listitem> +<para>By clicking <inlinemediaobject><imageobject><imagedata +fileref="editpaste.png" format="PNG"/></imageobject></inlinemediaobject> +on the toolbar.</para> +</listitem> + +<listitem> +<para>Using the keyboard shortcut: <keycombo +action="simul">&Ctrl;<keycap>V</keycap></keycombo> or the alternate keyboard shortcut: +<keycombo +action="simul">&Shift;<keycap>Insert</keycap></keycombo></para> +</listitem> + +<listitem> +<para>Place the cursor where the contents of the clipboard +should be inserted. Click once with the &RMB; and hold the button down. A small +popup menu will appear. Simply select <guilabel>Paste</guilabel></para> +</listitem> + +</itemizedlist> + +<para>The <guimenuitem>Paste</guimenuitem> command inserts a copy of all the data in +the clipboard at the current position of the cursor. The clipboard is +unaffected. (So another paste command will produce yet another copy of +the data in the document.)</para> + +<note> +<para>If no text in the document is currently highlighted, the +<guimenuitem>Paste</guimenuitem> command <emphasis>inserts</emphasis> +the data at the current position of the cursor.</para> + +<para>If there is selected text when the +<guimenuitem>Paste</guimenuitem> command is executed, the selected text +is <emphasis>replaced</emphasis> with the contents of the +clipboard.</para> +</note> + +<tip><para>The clipboard is not limited to the bounds of the current document. If +text is copied (or cut) from a document, this text can be pasted +into another open document, or another application entirely.</para></tip> + +</sect2> +</sect1> + +<sect1 id="search-and-replace"> +<title>Finding and Replacing Text</title> + +<sect2 id="find"> +<title>The <guimenuitem>Find</guimenuitem> Command</title> +<indexterm><primary>searching for text</primary></indexterm> +<indexterm><primary>finding text in a document</primary></indexterm> + +<para>The <quote>Find</quote> command can be invoked 3 ways:</para> + +<itemizedlist> +<listitem> +<para>By selecting <menuchoice> +<guimenu>Edit</guimenu><guimenuitem>Find...</guimenuitem></menuchoice> +from the menubar</para> +</listitem> + +<listitem> +<para>You can use the keyboard shortcut:<keycombo +action="simul">&Ctrl;<keycap>F</keycap></keycombo></para> +</listitem> + +<listitem> +<para>By clicking <inlinemediaobject><imageobject><imagedata +fileref="find.png" format="PNG"/></imageobject></inlinemediaobject> on +the toolbar.</para> +</listitem> +</itemizedlist> + +<para>When the Find Command is invoked, a dialog appears.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="finddlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<sect3><title>Basic Text Search</title> +<para>The combo box labelled <guilabel>Text to find</guilabel>, +provides a place for you to enter the text of your search command. (In +the screenshot, that box is currently filled with +<emphasis>KDE</emphasis>).</para> + +<para>If you click on +<guibutton>Find</guibutton>, then &kword; will search the document until it +finds a match to your text. If &kword; cannot find a match, a dialog +box will appear that says <guilabel>No matches found for "Text to find"</guilabel>. </para> +<tip><para>If you want to repeat a recent search, simply select the arrow in the drop-down +box and a list of your most recent searches will appear. Simply select your search +from the list and click <guibutton>Find</guibutton>.</para></tip> + +</sect3> +<sect3> +<title>Refining Your Search</title> + +<para>&kword;'s find feature is much more sophisticated than we +discussed above. Using the options in the dialog box, you can narrow +down your search to find <emphasis>exactly</emphasis> what you +want.</para> + +<sect4> +<title>Regular Expressions in &kword;</title> + +<para>The default action for &kword; is to search for an exact match of +the text. &kword; has the ability to match text +that follows a <emphasis>pattern</emphasis> or a set of rules. </para> + +<para>To enable patterns, place a mark in the box labeled <guilabel>Regular expression</guilabel>.</para> + +<para>This will enable the <guibutton>Edit</guibutton> button. +This button can be a quick way to create regular expressions for people unfamiliar +with &UNIX; regular expressions.</para> + +<para>A more thourough discussion of regular expressions in KDE can be found in the help manual for &kregexpeditor;, which can be found in the &khelpcenter;.</para> + +</sect4> + +<sect4 id="find-formatting"><title>Formatting options</title> +<para>&kword; also has the ability to search your document for text that matches +certain formatting options as well as the text itself.</para> + +<para>To include formatting options in your search, click the button labeled +<guibutton>Show Formatting Options</guibutton>. </para> + +<para>Once <guibutton>Show Formatting Options</guibutton> has been clicked, a new dialog will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="finddlg2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>You can use this dialog to select the options you want to include in your search.</para> +<para>The left column consists of 13 check boxes. If there is a mark in the check box, then &kword; will evaluate +any searchable text for that property. If no mark is in the check box, &kword; does not consider that property when performing a search.</para> + +<variablelist> + +<varlistentry> +<term><guilabel>Family:</guilabel></term> +<listitem> +<para>Use this combo box to select the font family you want to include in your search text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Size:</guilabel></term> +<listitem> +<para>Use this spin box to set the font size you want &kword; to search for.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Color:</guilabel> and <guilabel>Background color:</guilabel></term> +<listitem> +<para>Clicking on either of these two buttons allows you to select the font color and/or background color respectively, +you want &kword; to search +for. For more information on selecting a color, see the +section on <link linkend="select-colors">Selecting Colors from the Color Dialog</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Bold:</guilabel> and <guilabel>Italic:</guilabel></term> +<listitem> +<para>Use these <guilabel>Yes</guilabel>/<guilabel>No</guilabel> radio boxes to determine whether you want &kword; +to include boldface or italicized fonts in the search text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Strikeout:</guilabel></term> +<listitem> +<para>You can select <guilabel>None</guilabel>, <guilabel>Single</guilabel>, <guilabel>Double</guilabel> +or <guilabel>Simple Bold</guilabel> to modify your search.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Underline:</guilabel></term> +<listitem> +<para>You can select <guilabel>None</guilabel>, <guilabel>Single</guilabel>, <guilabel>Double</guilabel>, <guilabel>Simple Bold</guilabel> +or <guilabel>Wave</guilabel> to modify your search.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Vertical alignment:</guilabel></term> +<listitem> +<para>You can select <guilabel>Normal</guilabel>, <guilabel>Subscript</guilabel> or +<guilabel>Superscript</guilabel> to determine what font alignment you want &kword; to search for.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Shadow:</guilabel> and <guilabel>Word by word:</guilabel></term> +<listitem> +<para>Use these <guilabel>Yes</guilabel>/<guilabel>No</guilabel> radio boxes to determine whether you want &kword; +to include shadow text in the search text and whether to search for word by word underlining and strikethrough text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Capitalization:</guilabel></term> +<listitem> +<para>You can select <guilabel>Normal</guilabel>, <guilabel>Uppercase</guilabel>, <guilabel>Lowercase</guilabel>, or +<guilabel>Small Caps</guilabel> to determine what capitalization you want &kword; to search for.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Language:</guilabel></term> +<listitem> +<para>You can select the language of the text you want &kword; to search for using this dropdown box.</para> +</listitem> +</varlistentry></variablelist> + +<para>Once you have selected your options, click <guibutton>OK</guibutton> to accept your search options.</para> +<para>Click <guibutton>Cancel</guibutton> to ignore all changes.</para> +<para>Click <guibutton>Reset</guibutton> to restore the options dialog box to the default values.</para> +<para>Click <guibutton>Clear</guibutton> to remove all marks from the checked options.</para> + +</sect4> + +<sect4> +<title>Other Search options</title> + +<para>In addition to pattern matching, you can limit the search results +with a few useful options.</para> + +<variablelist> +<varlistentry> +<term><guilabel>Case sensitive</guilabel></term> +<listitem> +<para>When this option is selected, &kword; will not only search for the +string of letters, but will verify that the case of the letters is the +same. For example. Searching for: +<emphasis>KDE</emphasis></para><para>will match: +<emphasis>KDE</emphasis> and +<emphasis>hiddenKDEinwords</emphasis> </para><para>but not: <emphasis>Kde, +kde</emphasis> or <emphasis> hiddenkdeinwords</emphasis>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Find backwards</guilabel></term> +<listitem> +<para>This option changes the direction of the search. This can be +useful when you only want to search for a string of text before the +current cursor position, not after. This option is usually used in +conjunction with <guilabel>From cursor</guilabel>, but if that option is +not specified, &kword; will start searching from the end of the document +backwards.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Whole words only</guilabel></term> +<listitem> +<para>When this option is selected, &kword; will only return search +items that are surrounded by spaces, paragraph marks or punctuation. For +example. Searching for: <emphasis>KDE</emphasis></para><para>will +match: <emphasis>KDE</emphasis></para><para> but not: <emphasis> +hiddenKDEinwords</emphasis> or <emphasis>KDElike</emphasis>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Selected Text</guilabel></term> +<listitem><para>If you want to limit your search to a specific part of +the document (a few paragraphs, for example), you can select the part of +the document you want to search <emphasis>prior</emphasis> to selecting +the <guilabel>Find</guilabel> command. When text is selected, &kword; +will default to only searching the selected text. You can use this +option to enable or disable this restriction.</para> +<note> +<para>This option will not be available if you have not selected text +prior to selecting the <guilabel>Find</guilabel> command.</para> +</note> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>From cursor</guilabel></term> +<listitem> +<para>By default, &kword; begins searching at the beginning of the +document. If this option is selected, &kword; begins its search from +the current position of the cursor. The direction that &kword; searches +is, by default forward in the document, but can be changed with the +<guilabel>Find backwards</guilabel> option.</para> +</listitem> +</varlistentry> +</variablelist> +</sect4> +</sect3> +</sect2> + +<sect2 id="replace"> +<title>The <guimenuitem>Replace</guimenuitem> Command</title> + +<para>The <guimenuitem>Replace</guimenuitem> command is an extension of the <guimenuitem>Find</guimenuitem> command. If you +are familiar with the <guimenuitem>Find</guimenuitem> command, you will see many +similarities.</para> + +<para>The <guilabel>Replace</guilabel> command can be invoked 2 +ways:</para> + +<itemizedlist> +<listitem> +<para>By selecting <menuchoice> +<guimenu>Edit</guimenu><guimenuitem>Replace...</guimenuitem></menuchoice> +from the menubar</para> +</listitem> + +<listitem> +<para>You can use the keyboard shortcut: <keycombo +action="simul">&Ctrl;<keycap>R</keycap></keycombo></para> +</listitem> +</itemizedlist> + +<para>When the <guilabel>Replace</guilabel> command is invoked, a dialog +appears.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="repldlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<sect3><title>Basic Search and Replace</title> +<indexterm><primary>replacing text</primary></indexterm> + +<para>The combo box labeled <guilabel>Text to find:</guilabel>, +provides a place for you to enter the text of your search command. (In +the screenshot, that box is currently filled with +<emphasis>KDE</emphasis>)</para> + +<para>You can enter your replacement text in the text box labeled +<guilabel>Replacement text:</guilabel>. You can now click +<guibutton>OK</guibutton> to replace all occurrences in the document, or +you can further refine your search.</para> + +</sect3> + +<sect3> +<title>Refining Your Search</title> + +<para>&kword;'s find feature is much more sophisticated than we +discussed above. Using the options in the dialog box, you can narrow +down your search to find <emphasis>exactly</emphasis> what you +want.</para> + +<sect4> +<title>Regular Expressions in &kword;</title> + +<para>The default action for &kword; is to search for an exact match of +the text. &kword; has the ability to match text +that follows a <emphasis>pattern</emphasis> or a set of rules. </para> + +<para>To enable patterns, place a mark in the box labeled <guilabel>Regular expression</guilabel>.</para> + +<para>This will enable the <guibutton>Edit</guibutton> button. +This button can be a quick way to create regular expressions for people unfamiliar +with &UNIX; regular expressions.</para> + +<para>A more thourough discussion of regular expressions in KDE can be found in the help manual for &kregexpeditor;, which can be found in the &khelpcenter;.</para> + +</sect4> + +<sect4><title>Formatting options</title> +<para>&kword; also has the ability to search your document for text that matches +certain formatting options as well as the text itself.</para> + +<para>To include formatting options in your search, click the button labeled +<guibutton>Show Formatting Options</guibutton>. </para> + +<para>Once <guibutton>Show Formatting Options</guibutton> has been clicked, a new dialog will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="finddlg2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>You can use this dialog to select the options you want to include in your search.</para> +<para>The left column consists of 13 check boxes. If there is a mark in the check box, then &kword; will evaluate +any searchable text for that property. If no mark is in the check box, &kword; does not consider that property when performing a search.</para> + +<variablelist> + +<varlistentry> +<term><guilabel>Family:</guilabel></term> +<listitem> +<para>Use this combo box to select the font family you want to include in your search text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Size:</guilabel></term> +<listitem> +<para>Use this spin box to set the font size you want &kword; to search for.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Color:</guilabel> and <guilabel>Background color:</guilabel></term> +<listitem> +<para>Clicking on either of these two buttons allows you to select the font color and/or background color respectively, +you want &kword; to search +for. For more information on selecting a color, see the +section on <link linkend="select-colors">Selecting Colors from the Color Dialog</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Bold:</guilabel> and <guilabel>Italic:</guilabel></term> +<listitem> +<para>Use these <guilabel>Yes</guilabel>/<guilabel>No</guilabel> radio boxes to determine whether you want &kword; +to include boldface or italicized fonts in the search text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Strikeout:</guilabel></term> +<listitem> +<para>You can select <guilabel>None</guilabel>, <guilabel>Single</guilabel>, <guilabel>Double</guilabel> +or <guilabel>Simple Bold</guilabel> to modify your search.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Underline:</guilabel></term> +<listitem> +<para>You can select <guilabel>None</guilabel>, <guilabel>Single</guilabel>, <guilabel>Double</guilabel>, +<guilabel>Simple Bold</guilabel> or <guilabel>Wave</guilabel> to modify your search.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Vertical alignment:</guilabel></term> +<listitem> +<para>You can select <guilabel>Normal</guilabel>, <guilabel>Subscript</guilabel> or +<guilabel>Superscript</guilabel> to determine what font alignment you want &kword; to search for.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Shadow:</guilabel> and <guilabel>Word by word:</guilabel></term> +<listitem> +<para>Use these <guilabel>Yes</guilabel>/<guilabel>No</guilabel> radio boxes to determine whether you want &kword; +to include shadow text in the search text and whether to search for word by word underlining and strikethrough text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Capitalization:</guilabel></term> +<listitem> +<para>You can select <guilabel>Normal</guilabel>, <guilabel>Uppercase</guilabel>, <guilabel>Lowercase</guilabel>, or +<guilabel>Small Caps</guilabel> to determine what capitalization you want &kword; to search for.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Language:</guilabel></term> +<listitem> +<para>You can select the language of the text you want &kword; to search for using this dropdown box.</para> +</listitem> +</varlistentry></variablelist> + +<para>Once you have selected your options, click <guibutton>OK</guibutton> to accept your search options.</para> +<para>Click <guibutton>Cancel</guibutton> to ignore all changes.</para> +<para>Click <guibutton>Reset</guibutton> to restore the options dialog box to the default values.</para> +<para>Click <guibutton>Clear</guibutton> to remove all marks from the checked options.</para> + +</sect4> + +<sect4> +<title>Other Search options</title> + +<para>In addition to pattern matching, you can limit the search results +with a few useful options.</para> + +<variablelist> +<varlistentry> +<term><guilabel>Case sensitive</guilabel></term> +<listitem> +<para>When this option is selected, &kword; will not only search for the +string of letters, but will verify that the case of the letters is the +same. For example. Searching for: +<emphasis>KDE</emphasis></para><para>will match: +<emphasis>KDE</emphasis> and +<emphasis>hiddenKDEinwords</emphasis> </para><para>but not: <emphasis>Kde, +kde</emphasis> or <emphasis> hiddenkdeinwords</emphasis>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Find backwards</guilabel></term> +<listitem> +<para>This option changes the direction of the search. This can be +useful when you only want to search for a string of text before the +current cursor position, not after. This option is usually used in +conjunction with <guilabel>From cursor</guilabel>, but if that option is +not specified, &kword; will start searching from the end of the document +backwards.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Whole words only</guilabel></term> +<listitem> +<para>When this option is selected, &kword; will only return search +items that are surrounded by spaces, paragraph marks or punctuation. For +example. Searching for: <emphasis>KDE</emphasis></para><para>will +match: <emphasis>KDE</emphasis></para><para> but not: <emphasis> +hiddenKDEinwords</emphasis> or <emphasis>KDElike</emphasis>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Selected Text</guilabel></term> +<listitem><para>If you want to limit your search to a specific part of +the document (a few paragraphs, for example), you can select the part of +the document you want to search <emphasis>prior</emphasis> to selecting +the <guilabel>Find</guilabel> command. When text is selected, &kword; +will default to only searching the selected text. You can use this +option to enable or disable this restriction.</para> +<note> +<para>This option will not be available if you have not selected text +prior to selecting the <guilabel>Find</guilabel> command.</para> +</note> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>From cursor</guilabel></term> +<listitem> +<para>By default, &kword; begins searching at the beginning of the +document. If this option is selected, &kword; begins its search from +the current position of the cursor. The direction that &kword; searches +is, by default forward in the document, but can be changed with the +<guilabel>Find backwards</guilabel> option.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>Once you have selected your options, click <guibutton>OK</guibutton> to accept your search options.</para> +<para>Click <guibutton>Cancel</guibutton> to ignore all changes.</para> +<para>Click <guibutton>Reset</guibutton> to restore the options dialog box to the default values.</para> +<para>Click <guibutton>Clear</guibutton> to remove all marks from the checked options.</para> + +</sect4> + +<sect4 id="replace-formatting-text"><title>Replace with formatted text</title> +<para>&kword; also has the ability to replace the found text with formatted text.</para> + +<para>To include formatting options in your search, click the button labeled +<guibutton>Show Formatting Options</guibutton> in the <guilabel>Replace With</guilabel> section. </para> + +<para>Once <guibutton>Show Formatting Options</guibutton> has been clicked, a new dialog will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="finddlg2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>You can use this dialog to select the format of the replaced text.</para> +<para>The left column consists of 13 check boxes. If there is a mark in the check box, then &kword; will change +any replaced text to match the property selected. +If no mark is in the check box, &kword; does not consider that property when replacing text.</para> + +<variablelist> + +<varlistentry> +<term><guilabel>Family:</guilabel></term> +<listitem> +<para>Use this combo box to select the font family you want your replacement text to use.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Size:</guilabel></term> +<listitem> +<para>Use this spin box to set the font size you want &kword; to use for your replaced text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Color:</guilabel> and <guilabel>Background color:</guilabel></term> +<listitem> +<para>Clicking on either of these two buttons allows you to select the font color and/or background color respectively, +you want &kword; to use. For more information on selecting a color, see the +section on <link linkend="select-colors">Selecting Colors from the Color Dialog</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Bold:</guilabel> and <guilabel>Italic:</guilabel></term> +<listitem> +<para>Use these <guilabel>Yes</guilabel>/<guilabel>No</guilabel> radio boxes to determine whether you want &kword; +to change the fonts to boldface or italicized fonts.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Strikeout:</guilabel></term> +<listitem> +<para>You can select <guilabel>None</guilabel>, <guilabel>Single</guilabel>, <guilabel>Double</guilabel> +or <guilabel>Simple Bold</guilabel> to use for the replacement text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Underline:</guilabel></term> +<listitem> +<para>You can select <guilabel>None</guilabel>, <guilabel>Single</guilabel>, <guilabel>Double</guilabel>, +<guilabel>Simple Bold</guilabel> or <guilabel>Wave</guilabel> to use for the replacement text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Vertical alignment:</guilabel></term> +<listitem> +<para>You can select <guilabel>Normal</guilabel>, <guilabel>Subscript</guilabel> or +<guilabel>Superscript</guilabel> to determine what font alignment you want &kword; to use.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Shadow:</guilabel> and <guilabel>Word by word:</guilabel></term> +<listitem> +<para>Use these <guilabel>Yes</guilabel>/<guilabel>No</guilabel> radio boxes to determine whether you want &kword; +to use shadow text and/or word by word underlining and strikethrough in the replacement text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Capitalization:</guilabel></term> +<listitem> +<para>You can select <guilabel>Normal</guilabel>, <guilabel>Uppercase</guilabel>, <guilabel>Lowercase</guilabel>, or +<guilabel>Small Caps</guilabel> to determine what capitalization to use for the replacement text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Language:</guilabel></term> +<listitem> +<para>You can select the language of the text you will use to replace the found text.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>Once you have selected your options, click <guibutton>OK</guibutton> to accept your text options.</para> +<para>Click <guibutton>Cancel</guibutton> to ignore all changes.</para> +<para>Click <guibutton>Reset</guibutton> to restore the options dialog box to the initial values prior to making any changes.</para> +<para>Click <guibutton>Clear</guibutton> to remove all marks from the checked options.</para> + +</sect4> +<sect4 id="replace-placeholders"> +<title>Using placeholders</title> +<para>Placeholders are useful when you want to add text to complex search strings. Currently &kword; has only one placeholder: +<emphasis>Complete text string</emphasis>.</para> +<para>This placeholder will contain the entire text string matched by the <guimenuitem>Find</guimenuitem> command.</para> +<para>For example:</para> +<para>You create a search string, using regular expressions: <emphasis>Reference \d</emphasis></para> +<note><para>In order for this string example to work, a mark must be placed in the check box labeled +<guilabel>Regular expression</guilabel></para> +<para>Regular expressions are available by placing a mark in this checkbox. The use of regular expressions is beyond the +scope of this manual. For more information see the KDE Regular Expression Manual (Available in the &kde; help center).</para></note> +<para>Now in the <guilabel>Replace With</guilabel> section of the replace dialog, you place a mark in the check box labeled +<guilabel>Use placeholders</guilabel>. Click the <guibutton>Insert Placeholder</guibutton> button and select +<guilabel>Complete Match</guilabel>. &kword; will insert a <emphasis>\0</emphasis> in the +<guilabel>Replacement text:</guilabel> text box.</para> +<para>Now surround the placeholder with parentheses, so your text string is: <emphasis>(\0)</emphasis></para> +<para>When this is executed, whenever &kword; encounters the find text (ie. <quote>Reference 0</quote>, <quote>Reference 1</quote>, +<quote>Reference 2</quote>, etc) it will surround the text in parenthesis (<quote>(Reference 0)</quote>, <quote>(Reference 1)</quote>, +<quote>(Reference 2)</quote>, respectively). </para> +<para>As you can see, the placeholder will maintain a copy of the search text. You can use this placeholder to add text to the ends of any +search string you can imagine.</para> + +</sect4> +<sect4> +<title>Other Replace Options</title> + +<para>Additional options in the dialog are:</para> +<variablelist> +<varlistentry> +<term><guilabel>Case sensitive</guilabel></term> +<listitem> +<para>When this option is selected, &kword; will not only +search for the string of letters, but will verify that the case of the +letters is the same. For example. Searching for: +<emphasis>KDE</emphasis></para><para>will match: +<emphasis>KDE</emphasis> and <emphasis>hiddenKDEinwords</emphasis> but +not: <emphasis>Kde, kde</emphasis> or <emphasis> +hiddenkdeinwords</emphasis>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Find backwards</guilabel></term> +<listitem> +<para>This option changes the direction of the search. This can be +useful when you only want to search for a string of text before the +current cursor position, not after. This option is usually used in +conjunction with <guilabel>From cursor</guilabel>, but if that option is +not specified, &kword; will start searching from the end of the document +backwards.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Whole words only</guilabel></term> +<listitem> +<para>When this option is selected, &kword; will only return search +items that are surrounded by spaces, paragraph marks or punctuation. For +example. Searching for: <emphasis>KDE</emphasis></para><para>will +match: <emphasis>KDE</emphasis></para><para> but not: <emphasis> +hiddenKDEinwords</emphasis> or <emphasis>KDElike</emphasis>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Selected Text</guilabel></term> +<listitem><para>If you want to limit your search to a specific part of +the document (a few paragraphs, for example), you can select the part of +the document you want to search <emphasis>prior</emphasis> to selecting +the <guilabel>Find</guilabel> command. When text is selected, &kword; +will default to only searching the selected text. You can use this +option to enable or disable this restriction.</para> + +<note> +<para>This option will not be available if you have not selected text +prior to selecting the <guilabel>Find</guilabel> command.</para> +</note> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>From cursor</guilabel></term> +<listitem> +<para>By default, &kword; begins searching at the beginning of the +document. If this option is selected, &kword; begins its search from +the current position of the cursor. The direction that &kword; searches +is, by default forward in the document, but can be changed with the +<guilabel>Find backwards</guilabel> option.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Prompt on replace</guilabel></term> +<listitem> +<para>If this option is selected, &kword; will prompt the user +<emphasis>before</emphasis> each replacement. This allows you to +approve or disapprove each replacement. </para> +</listitem> +</varlistentry> + +</variablelist> + +</sect4> +</sect3> +</sect2> + + +</sect1> + +<sect1 id="spell-check"> +<title>Spellchecking</title> +<indexterm><primary>spelling</primary><secondary>check spelling of document</secondary></indexterm> +<para>&kword; can compare each word in your document to several commonly available dictionaries. It will offer you +the opportunity to change any words it believes are misspelled.</para> +<note><para>By default, if any text in the document is selected, +&kword; only checks the spelling of currently selected text.</para> +<para>If you want to check the spelling of a +specific part of your document, simply <link linkend="select">select the text</link> you want to check the +spelling of.</para> +<para>To check the entire document, leave all text in the document unsellected, and &kword; will check +the entire document.</para></note> +<para>You can check the spelling of text 2 ways:</para> + +<itemizedlist> +<listitem> +<para>By selecting <menuchoice> +<guimenu>Tools</guimenu><guisubmenu>Spellcheck</guisubmenu><guimenuitem>Spelling...</guimenuitem></menuchoice> +from the menubar</para> +</listitem> + +<listitem> +<para>By clicking <inlinemediaobject><imageobject><imagedata +fileref="spell.png" format="PNG"/></imageobject></inlinemediaobject> on +the toolbar.</para> +</listitem> +</itemizedlist> + +<para>Spellchecking your document is controlled through a dialog +box.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="spelldlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>In this example, the misspelled word &kword; found, was +<emphasis>youve</emphasis>. The currently suggested replacement word is listed in the text box labeled +<guilabel>Replace with:</guilabel>. In the list box labeled <guilabel>Suggested Words</guilabel> is a list of words +the spelling program has determined as possible correct spellings.</para> + +<para>From here you have eight options:</para> + +<variablelist> +<varlistentry> +<term><guibutton>Replace</guibutton></term> +<listitem> +<para>Replaces the current word with the suggested word. Only replaces this +occurrence.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guibutton>Replace All</guibutton></term> +<listitem> +<para>Replaces all occurrences of the current word with the +suggested word through the entire document.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guibutton>Ignore</guibutton></term> +<listitem> +<para>Do not make any changes to this occurrence. Ask again if this +word appears further down in the document.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guibutton>Ignore All</guibutton></term> +<listitem> +<para>Do not make any changes to this or any other occurrence of this word. Do not +ask about this word again.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guibutton>Add</guibutton></term> +<listitem> +<para>Add the current word to the dictionary.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guibutton>Stop</guibutton></term> +<listitem> +<para>Keep the current changes, but stop any further checking.</para> +</listitem> +</varlistentry> +<!-- FIXME lueck 08.11.2006 --> +<varlistentry> +<term><guibutton>Cancel</guibutton></term> +<listitem> +<para>Stop spellchecking.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guibutton>Help</guibutton></term> +<listitem> +<para>Loads a help file for the spellchecker.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>When the entire document has been checked, &kword; will return the cursor to the same spot +in the document that the spellchecking was begun.</para> + +<note> +<para>If the document does not have any spelling errors, &kword; does +not show a dialog box informing you there were no spelling errors.</para> + +<para>When spellchecking is started, it +will proceed to check all of the document against the dictionary, and +if there are no spelling errors it will close the spellcheck dialog box. With short documents, +this may happen quickly. &kword; has spellchecked the document!</para> +</note> + +<para>There are several options for configuring the spelling application used. +For more details, please see the section entitled +<link linkend="opt-spell">Configure Spelling</link>.</para> + +<sect2 id="auto-spell-check"> +<title>Automatically mark misspelled words</title> +<indexterm><primary>spelling</primary><secondary>automatically mark misspelled words</secondary></indexterm> + +<para>&kword; can check the spelling of your document as you edit it. It will underline in red any word which +it cannot find in the dictionary. This behavior can be turned on and off by the user. By selecting <menuchoice> +<guimenu>Tools</guimenu><guisubmenu>Spellcheck</guisubmenu><guimenuitem>Autospellcheck</guimenuitem></menuchoice> +from the menubar you can toggle autospellchecking on and off. </para> +</sect2> + +</sect1> + +<sect1 id="thesaurus"> +<title>Finding related word (Thesaurus)</title> +<indexterm><primary>thesaurus, using</primary></indexterm> +<indexterm><primary>Wordnet</primary></indexterm> +<indexterm><primary>related words</primary></indexterm> + +<para>&kword; comes with a small thesaurus based on the Wordnet project. For more information on Wordnet, visit the +<ulink url="http://www.cogsci.princeton.edu/~wn/">Wordnet homepage</ulink>.</para> +<para>You can invoke the thesaurus two ways: </para> + +<itemizedlist> +<listitem><para>Simply click on the desired word with the &RMB;. A popup menu will appear. Select +<guimenuitem>Show Related Words</guimenuitem> from the menu and a dialog will appear.</para></listitem> +<listitem><para>By selecting <menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Show Related Words</guimenuitem></menuchoice> +from the menubar</para></listitem> +</itemizedlist> + +<para>Which ever method you choose, &kword; opens the &kthesaurus; dialog box.</para> +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="thesaurus.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>The word you selected from your document appears in the combo box labeled <guilabel>Search for:</guilabel>.</para> +<para>There are three columns of alternate words: <guilabel>Synonyms</guilabel>, <guilabel>More General words</guilabel> (hypernyms), <guilabel>More Specific Words</guilabel> (hyponyms).</para> +<para>If you find an appropriate alternate word, simply click on the word in the list, and this word will now be listed in the text box labeled +<guilabel>Replace With:</guilabel>.</para> +<para>To finalize the replacement click <guibutton>Replace</guibutton>.</para> +<para>To keep your original word, click <guibutton>Cancel</guibutton>.</para> +<para>To obtain more specific help, or for help on using the full version of Wordnet, click the <guibutton>Help</guibutton> button for help with +&kthesaurus; (including additional thesauri for non-english languages).</para> + +</sect1> + +<sect1 id="autocorrect"> +<title>Autocorrection</title> +<indexterm><primary>autocorrection</primary><secondary>using</secondary></indexterm> + +<para>Auto correction is a system for correcting common typing errors, +converting abbreviations to their full spelling and adjusting +capitalization. As you could guess from its name, this all occurs +automatically, while you are editing your document.</para> + +<sect2 id="autocorrection-enable"> +<title>Enabling/Disabling Autocorrection</title> + +<para>To toggle autocorrection on, select <menuchoice> +<guimenu>Tools</guimenu><guisubmenu>Autocorrection</guisubmenu> +<guimenuitem>Enable Autocorrection</guimenuitem></menuchoice> +from the menubar. When enabled, autocorrection makes changes to your document <emphasis>as you type</emphasis>. You can +determine which changes to make by <link linkend="configure-autocorrection">configuring autocorrection</link>.</para> + +<para>To toggle autocorrection off, select <menuchoice> +<guimenu>Tools</guimenu><guisubmenu>Autocorrection</guisubmenu> +<guimenuitem>Disable Autocorrection</guimenuitem></menuchoice> +from the menubar. When disabled, autocorrection changes are not made. You can, however, +<link linkend="autoformat">apply autocorrection manually</link>.</para> +</sect2> + +<sect2 id="configure-autocorrection"> +<title>Configuring Autocorrection Options</title> +<indexterm><primary>autocorrection</primary><secondary>configuring</secondary></indexterm> + +<para>To adjust the options for autocorrection, select <menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure Autocorrection...</guimenuitem></menuchoice> +from the menubar. </para> + +<para>A dialog window appears to help you set your options.</para> + +<sect3 id="simple-autocorrection"> +<title>Simple Autocorrection</title> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="auto1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<variablelist> + + +<varlistentry> +<term><guilabel>Convert first letter of a +sentence automatically to uppercase</guilabel></term> +<listitem> +<para>When selected, &kword; will automatically capitalize the first +letter after a period. You can tell &kword; when not to alter capitalization +in certain instances (ie <quote>Sr.</quote> or <quote>Jr.</quote>. For more details, see the section entitled +<link linkend="autocorrection-exceptions">Autocorrection Exceptions</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Convert two uppercase letters to one uppercase and one +lowercase letter</guilabel></term> +<listitem> +<para>When selected, &kword; will automatically convert a double capital +letter (a common typographical error), into a single capital +letter. You can tell &kword; when not to alter capitalization +in certain instances. For more details, see the section entitled +<link linkend="autocorrection-exceptions">Autocorrection Exceptions</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Autoformat URLs</guilabel></term> +<listitem> +<para>When selected, &kword; will scan text for patterns which suggest a certain section +of text is a <glossterm linkend="defurl">URL</glossterm> and automatically creates a link.</para> +<para>For more details on links, see the section entitled +<link linkend="links">Document Links</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Suppress double spaces</guilabel></term> +<listitem> +<para>When checked, &kword; will ignore the second space typed. +This prevents users from adding double spaces between words or sentences</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Remove spaces at the beginning and end of paragraphs</guilabel></term> +<listitem> +<para>When selected, &kword; will automatically remove spaces at the beginning and/or the end of a line of text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Automatically do bold and underline formatting</guilabel></term> +<listitem> +<para>When selected, &kword; will look for words surrounded by asterisks ( * ). It will remove the asterisks and change the font of all +words in between the two asterisks to bold face.</para> +<para>&kword; will also look for words surrounded by underscores ( _ ). It will remove the underscores and underline all +words in between the two underscores.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Replace 1/2... with ½...</guilabel></term> +<listitem> +<para>When selected, &kword; will automatically change 1/2, 1/3 and 3/4 to their single character equivalents.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Use autonumbering for numbered paragraphs</guilabel></term> +<listitem> +<para>If you start a paragraph with a number and a symbol (<emphasis> 1) </emphasis> for example). &kword; will automatically +convert that paragraph to a numbered paragraph. All future paragraphs will be consecutively numbered. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Replace 1st with 1^st</guilabel></term> +<listitem> +<para>When selected, &kword; will automatically change 1st to 1<superscript>st</superscript>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Capitalize name of days</guilabel></term> +<listitem> +<para>Automatically capitalize the days of the week (Sunday, Monday, Tuesday, etc...).</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Use list-formatting for bulleted paragraphs</guilabel></term> +<listitem> +<para>When selected, &kword; will look for lines that begin with <emphasis>- </emphasis>, and automatically convert the paragraph style +to a bulleted list. The bullet is selected with the left button below this option.</para> +</listitem> +</varlistentry> + + +</variablelist> +</sect3> + +<sect3 id="quotes-autocorrection"><title>Custom Quotes</title> +<para>Select the tab labeled <guilabel>Custom Quotes</guilabel></para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="auto4.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Replace double quotes with typographical quotes</guilabel></term> +<listitem> +<para>When selected, this option will replace the standard keyboard double +quotes, with typographical quotation marks. If you want to change the +quotation character, click on one of the buttons. Clicking on +<guibutton>Default</guibutton>, restores the default paragraph marks.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Replace single quotes with typographical quotes</guilabel></term> +<listitem> +<para>When selected, this option will replace the standard keyboard single +quotes, with typographical quotation marks. If you want to change the +quotation character, click on one of the buttons. Clicking on +<guibutton>Default</guibutton>, restores the default paragraph marks.</para> +</listitem> +</varlistentry> +</variablelist> +</sect3> +<sect3 id="advanced-autocorrection"> +<title>Advanced Autocorrection</title> + +<para>To switch to the Advanced Autocorrection, click on the tab labeled +<guilabel>Advanced Autocorrection</guilabel>.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="auto2.png" format="PNG"/></imageobject> +</mediaobject></screenshot> +<para>This allows you to automatically have &kword; replace one string +of text with another. This can be useful for special symbols, commonly +used abbreviations that you want spelled out, or abbreviations.</para> + +<para>&kword; uses different autocorrection strings depending on the language. +Set the correct language using the combo box labeled +<guilabel>Replacements and exceptions for language:</guilabel>.</para> + +<para>The check box labeled <guilabel>Enable word replacement</guilabel> is used to +toggle on and off the autoreplacement features of &kword;. If there is no mark in the check box, +then &kword; will not perform any autoreplacements from the list in this dialog.</para> + +<para>If there is a mark in the check box labeled <guilabel>Replace text with format</guilabel> +&kword; will not only change the text when it finds a match, but it will change the formatting of the new text. +If there is no mark in this check box, then +&kword; uses the same formatting options for the replaced text as it found in the search text. For more information +on setting the format options for replacement text, see the section on +<link linkend="autocorrection-format-options">Changing the format of the autocorrection string</link>.</para> + +<sect4> +<title>Adding an autocorrection string</title> + +<para>To add an autocorrection string, simply type the text you want &kword; to +check for in the text box labeled +<guilabel>Find</guilabel>, then enter the text you want &kword; +to substitute in the text box labeled <guilabel>Replace</guilabel>.</para> + + +<note><para>If you want to insert symbols or special characters not available on your +keyboard, you can click the +buttons with three periods on them and select a special character from the table provided.</para></note> + +<para>When these are entered, click <guibutton>Add</guibutton>. Your text +strings are now added to the table.</para> +</sect4> + +<sect4> +<title>Editing an autocorrection string</title> +<para><emphasis>Changing the text you want to find.</emphasis></para> +<para>&kword; does not allow you to change the text to search for. +This is to prevent disastrous mistakes.</para> +<para>Instead, you must delete the current autocorrection rule and +add a new text string with the corrected text to find.</para> + +<para><emphasis>Changing the text you want to replace.</emphasis></para> +<para>Begin by clicking once on the string you want to edit. It will be +highlighted and the find and replace text will be listed in the text boxes +above. You can alter the replacement text. When you +are done, simply select <guibutton>Modify</guibutton>.</para> + +</sect4> + +<sect4> +<title>Deleting an autocorrection string.</title> + +<para>Simply click on the string you want to delete. Now click the +<guibutton>Remove</guibutton> button. The string is removed.</para> + +<warning> +<para>Be aware that &kword; does not give you a chance to back out once +you have deleted a string. Be sure you have selected the correct string +<emphasis>before</emphasis> you click the <guibutton>Remove</guibutton> +button.</para> +</warning> +</sect4> + +<sect4 id="autocorrection-format-options"> +<title>Changing the format of the autocorrection string.</title> +<note><para>Currently, you must create the autocorrection string <emphasis>before</emphasis> you can format it.</para></note> +<para>Once the autocorrection string has been created, simply click on it once with the &LMB;.</para> +<para>Now click on the <guibutton>Change Format...</guibutton> button. A small dialog will appear:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="finddlg2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>You can use this dialog to select the format of the replaced text.</para> +<para>The left column consists of 13 check boxes. If there is a mark in the check box, then &kword; will change +any replaced text to match the property selected. +If no mark is in the check box, &kword; does not consider that property when replacing text.</para> + +<variablelist> + +<varlistentry> +<term><guilabel>Family:</guilabel></term> +<listitem> +<para>Use this combo box to select the font family you want your replacement text to use.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Size:</guilabel></term> +<listitem> +<para>Use this spin box to set the font size you want &kword; to use for your replaced text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Color:</guilabel> and <guilabel>Background Color:</guilabel></term> +<listitem> +<para>Clicking on either of these two buttons allows you to select the font color and/or background color respectively, +you want &kword; to use. For more information on selecting a color, see the +section on <link linkend="select-colors">Selecting Colors from the Color Dialog</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Bold:</guilabel> and <guilabel>Italic:</guilabel></term> +<listitem> +<para>Use these <guilabel>Yes</guilabel>/<guilabel>No</guilabel> radio boxes to determine whether you want &kword; +to change the fonts to boldface or italicized fonts.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Strikeout:</guilabel></term> +<listitem> +<para>You can select <guilabel>None</guilabel>, <guilabel>Single</guilabel>, <guilabel>Double</guilabel> +or <guilabel>Simple Bold</guilabel> to use for the replacement text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Underline</guilabel></term> +<listitem> +<para>You can select <guilabel>None</guilabel>, <guilabel>Single</guilabel>, <guilabel>Double</guilabel>, +<guilabel>Simple Bold</guilabel> or <guilabel>Wave</guilabel> to use for the replacement text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Vertical alignment:</guilabel></term> +<listitem> +<para>You can select <guilabel>Normal</guilabel>, <guilabel>Subscript</guilabel> or +<guilabel>Superscript</guilabel> to determine what font alignment you want &kword; to use.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Shadow:</guilabel> and <guilabel>Word by word:</guilabel></term> +<listitem> +<para>Use these <guilabel>Yes</guilabel>/<guilabel>No</guilabel> radio boxes to determine whether you want &kword; +to use shadow text and/or word by word underlining and strikethrough in the replacement text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Capitalization:</guilabel></term> +<listitem> +<para>You can select <guilabel>Normal</guilabel>, <guilabel>Uppercase</guilabel>, <guilabel>Lowercase</guilabel>, or +<guilabel>Small Caps</guilabel> to determine what capitalization to use for the replacement text.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Language:</guilabel></term> +<listitem> +<para>You can select the language of the text you will use to replace the found text.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>Once you have selected your options, click <guibutton>OK</guibutton> to accept your text options.</para> +<para>Click <guibutton>Cancel</guibutton> to ignore all changes.</para> +<para>Click <guibutton>Reset</guibutton> to restore the options dialog box to the initial values prior to making any changes.</para> +<para>Click <guibutton>Clear</guibutton> to remove all marks from the checked options.</para> +</sect4> + +</sect3> +<sect3 id="autocorrection-exceptions"> +<title>Autocorrection Exceptions</title> +<indexterm><primary>autocorrection</primary> +<secondary>exceptions</secondary></indexterm> + +<para>There are instances where &kword; will make autocorrection changes +that are inappropriate. You can use the fourth tab of this dialog to define +<emphasis>exceptions</emphasis> to the rules previously discussed.</para> +<para>The dialog for exceptions is shown below:</para> +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="auto3.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>To prevent &kword; from deciding an abbreviation or other text is +the end of a sentence, simply enter the text fragment in the text box below +<guilabel>Do not treat as the end of a sentence:</guilabel>. Then click +<guibutton>Add</guibutton>.</para> +<para>As an example: Adding <quote>Jr.</quote> to this dialog prevents</para> +<para><quote>Robert Jones Jr. is a friend of the family.</quote></para> +<para>from being changed to:</para> +<para><quote>Robert Jones Jr. Is a friend of the family.</quote></para> +<para>To remove an erroneous entry, simply click once on the wrong entry with the &LMB; +and click on the <guibutton>Remove</guibutton> button.</para> +<para>The second set of boxes performs a similar function to the first except +text entered in these boxes will allow two capital letters in a word if it +is entered in this text box.</para> +<para>Simply enter the word in the text box below +<guilabel>Accept two uppercase letters in:</guilabel>. Then click +<guibutton>Add</guibutton>.</para> +<para>As an example: Adding <quote>CD</quote> to this dialog prevents</para> +<para><quote>CD</quote></para> +<para>from being changed to:</para> +<para><quote>Cd</quote></para> +<para>To remove an erroneous entry, simply click once on the wrong entry with +the &LMB; and click on the <guibutton>Remove</guibutton> button.</para> +</sect3> +</sect2> + +<sect2 id="autoformat"> +<title>Manually applying autocorrection</title> +<indexterm><primary>autocorrection</primary><secondary>manually +applying</secondary></indexterm> + +<para>If autocorrection is turned off in your document, you can manually enable <link linkend="autocorrect">autocorrection</link>.</para> +<para>To manually apply autocorrection, first configure your options by using the +<link linkend="configure-autocorrection">autocorrection dialogs</link>.</para> +<para>Then select <menuchoice> +<guimenu>Tools</guimenu><guisubmenu>Autocorrection</guisubmenu> +<guimenuitem>Apply Autocorrection</guimenuitem></menuchoice> +from the menubar.</para> +<para>&kword; will start at the beginning of the document and apply all selected +autocorrection options to the entire document.</para> +<para>When &kword; is finished, it will return you to your document for further editing.</para> +<para>For more information on enabling and disabling autocorrection, +see <link linkend="autocorrection-enable">Enabling/Disabling Autocorrection</link>.</para> + +</sect2> +</sect1> + +<sect1 id="autocomplete"> +<title>Autocompletion</title> +<indexterm><primary>autocompletion</primary></indexterm> + +<para>Autocompletion allows you to type the first few letters of a commonly +used word (often technical or job specific), and tell &kword; to +finish typing the word for you. This is often very useful when you have lengthy +technical words.</para> +<sect2 id="autocomplete-using"> +<title>Using autocompletion</title> +<para>Using autocompletion could not be easier. Simply type the first few +letters of the word you want &kword; to finish, and press +<keycombo>&Ctrl;<keycap>E</keycap></keycombo>. &kword; will look +through the list of autocompletion words and if it finds a word which begins +with those letters, it will finish entering the remainder of the word.</para> +<sect3 id="autocomplete-using-add"> +<title>Adding words to autocompletion</title> +<para>&kword; maintains a list of words for each user that will be used for +autocompletion.</para> +<para>You can add words to this list one of two ways:</para> +<itemizedlist> +<listitem><para>&kword; can automatically add new words to the completion list +for later approval. +This is selected using <link +linkend="autocomplete-dialog">the dialog</link>.</para></listitem> +<listitem><para>Individual words can be added to the list by using +<link linkend="autocomplete-dialog">the dialog</link>.</para></listitem> +</itemizedlist> +</sect3> +</sect2> +<sect2 id="autocomplete-dialog"> +<title>Configuring autocomplete</title> +<para>To configure autocompletion, select <menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure +Completion...</guimenuitem></menuchoice> +from the menubar. This will bring up a dialog.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="autocompdlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Enable word completion</guilabel></term> +<listitem><para>It is used to toggle autocompletion on and off.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Add</guilabel></term> +<listitem> +<para>By clicking this button you can manually add +an individual word to the completion list.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Remove</guilabel></term> +<listitem> +<para>To remove words from the completion list, select the word with the &LMB; +from the list, then click this button.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Automatically add new words to suggestion list</guilabel></term> +<listitem> +<para>This option will add any word equal to or longer than +the <guilabel>Characters needed:</guilabel> to the list of proposed +autocompletion words.</para> +<para>The large listbox in the center of the dialog contains the current +proposed list of autocompletion words.</para> +<note><para>Not all words listed in the list box will be immediatly affected by +autocompletion when entered into this dialog.</para></note> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show words in tooltip</guilabel></term> +<listitem> +<para>If this option is enabled, a tool tip box will appear when you type the +beginning of a word that exists in the completion list. To complete the word, +press the key you set to accept suggestions in the <guilabel>Key to accept +suggestion:</guilabel> drop-down list.</para> +</listitem> +</varlistentry> + + +<varlistentry> +<term><guilabel>Characters needed:</guilabel></term> +<listitem> +<para>Use this spinbox/slider combination to prevent &kword; +from automatically adding short words to the completion list. You can select +any value from 5-100 and the words will need to be at least the number of +characters set here to be added in the list.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Suggest words:</guilabel></term> +<listitem> +<para>This spinbox/slider combination can be adjusted to allow more or less +words into the autocompletion list. This option is most important when +<guilabel>Automatically add new words to suggestion list</guilabel> is enabled. +This option keeps the list from becoming too cumbersome. You can select any +value from 1 to 500.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Append space</guilabel></term> +<listitem> +<para>If checked, it adds a single space to the end of a word after +autocompletion, this means it is not necessary to add the space manually for the +next word.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Key to accept suggestion:</guilabel></term> +<listitem> +<para>Set the key you want to use when an autocompleted word is suggested to you +and you want to accept it. You can choose +<keycap>Enter</keycap>, <keycap>Tab</keycap>, <keycap>Space</keycap>, +<keycap>End</keycap> or <keycap>Right</keycap>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Make Default</guilabel></term> +<listitem> +<para>A word is not part of autocompletion until the list is +<emphasis>saved</emphasis> to disk. At that moment, &kword; +will use that saved list for all autocompletion, until the list is replaced with +another saved list.</para> +<para>Some of the words in the autocompletion list may not have been saved +yet.</para><para>To save the current list to disk and have &kword; begin using +this new list for autocompletion, +click this button.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>Click <guibutton>OK</guibutton> to save your options. Click +<guibutton>Cancel</guibutton> to abort all changes. Click +<guibutton>Reset</guibutton> to reset to the state after you clicked on the +<guibutton>Make Default</guibutton> button.</para> + +</sect2> +</sect1> + + +</chapter> diff --git a/doc/kword/editpaste.png b/doc/kword/editpaste.png Binary files differnew file mode 100644 index 00000000..121448cf --- /dev/null +++ b/doc/kword/editpaste.png diff --git a/doc/kword/edittb.png b/doc/kword/edittb.png Binary files differnew file mode 100644 index 00000000..8235f46d --- /dev/null +++ b/doc/kword/edittb.png diff --git a/doc/kword/end.png b/doc/kword/end.png Binary files differnew file mode 100644 index 00000000..13797589 --- /dev/null +++ b/doc/kword/end.png diff --git a/doc/kword/enumlist.png b/doc/kword/enumlist.png Binary files differnew file mode 100644 index 00000000..bc555968 --- /dev/null +++ b/doc/kword/enumlist.png diff --git a/doc/kword/exoffset.png b/doc/kword/exoffset.png Binary files differnew file mode 100644 index 00000000..9c9998d4 --- /dev/null +++ b/doc/kword/exoffset.png diff --git a/doc/kword/expression.png b/doc/kword/expression.png Binary files differnew file mode 100644 index 00000000..a9c69da4 --- /dev/null +++ b/doc/kword/expression.png diff --git a/doc/kword/expressions.docbook b/doc/kword/expressions.docbook new file mode 100644 index 00000000..0d0a3f33 --- /dev/null +++ b/doc/kword/expressions.docbook @@ -0,0 +1,93 @@ +<sect1 id="expressions"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Expressions </title> +<indexterm><primary>expressions</primary></indexterm> + +<para>Expressions are a way to quickly insert common phrases into a document. Once an expression has been selected, the +text is inserted into &kword;.</para> +<note><para> Expressions are different from variables. Expressions are inserted as regular text, can only be +changed later by manually editing the text. Variables, insert a placeholder in the document which can be automatically updated at +a later date.</para></note> +<sect2 id="expressions-insert"><title>Using expressions</title> +<para>To use an expression could not be easier.</para> +<para>Simply place the cursor at the location you want the expression inserted and select +<menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Expression</guisubmenu> +</menuchoice> from the menubar. This will give you a submenu with groups of expressions. Select the group that is appropriate +for your expression. This will bring up a list of expressions available to you. Select the appropriate expression.</para> +<para>Once selected, that expression will be inserted at the cursor position.</para> +</sect2> +<sect2 id="expressions-add"><title>Add, change and delete expression groups and expressions</title> +<para>Adding an expression is accomplished by selecting <menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Edit Personal Expressions...</guimenuitem> +</menuchoice> from the menubar. This will bring up a dialog box. </para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="expression.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>The list at the left shows you all available groups (<emphasis>Employees</emphasis> and <emphasis>Notices</emphasis> +in the example above). +<emphasis>Notices</emphasis> is the currently selected group.</para> +<sect3 id="expression-add-group"><title>Add a new group</title> +<para>You will need to create a new group the first time you want to add a new expression. &kword; + will not allow the user to edit or remove any predefined expressions. You create a new group by clicking on the + <guibutton>New</guibutton> located <emphasis>below the group list</emphasis>. A new group will be created + with the name <emphasis>new group</emphasis>. You can change the name of the new group by clicking on the + newly created group in the group list on the left, then editing the text box on the right labeled <guilabel>Group name:</guilabel>.</para> + </sect3> +<sect3 id="expression-add-rename-group"><title>Change the name of a group</title> +<para>To change the name of a group, simply click on the group in the list on the left side of the dialog. Type the new name in the text +box labeled <guilabel>Group name:</guilabel>.</para> +</sect3> +<sect3 id="expression-add-delete-group"><title>Delete a group</title> +<para>To delete a group, click on the group in the list on the left side of the dialog.</para> +<warning><para>Be sure you have selected the correct group prior to clicking on the <guibutton>Delete</guibutton> +button. &kword; will not give you the opportunity to restore the group if it is accidentally deleted.</para></warning> +<para> Click on the +<guibutton>Delete</guibutton> button <emphasis>below the group list</emphasis>. The group and all of the expressions it +contained are immediately deleted.</para> +<note><para>Deleting an expression with this dialog does not delete the expression from any document. It only removes the +expression from the menus.</para></note> +</sect3> +<sect3 id="expression-add-expression"><title>Add a new expression to a group</title> +<para>The left side of the dialog box lists all the available groups. Select the group you want to add your expression to by +clicking with the &LMB; on the name of the group. The list on the right of the dialog labeled +<guilabel>Expressions</guilabel> lists all the current expressions in the current group.</para> +<para>To add an expression, click on the <guibutton>New</guibutton> located <emphasis>below the expression list</emphasis>.</para> +<para>A new expression is created called <emphasis>empty</emphasis>. Type your new expression in the textbox below the list of expressions.</para> +</sect3> +<sect3 id="expression-change-expression"><title>Edit an expression in a group</title> +<para>The left side of the dialog box lists all the available groups. Select the group that contains your expression to by +clicking with the &LMB; on the name of the group. The list on the right of the dialog labeled +<guilabel>Expressions</guilabel> lists all the current expressions in the current group.</para> +<para>Click on the expression you want to edit in the expression list on the right.</para> +<para>Click in the text box below the expression list. You can now edit your expression in the textbox below the list of expressions.</para> +<para>When you are finished adding new expressions, simply click <guibutton>OK</guibutton>.</para> +</sect3> +<sect3 id="expression-delete-expression"><title>Delete an expression</title> +<para>To delete an expression, click on the group in the list on the left side of the dialog. This will show a list of the expressions +belonging to that group in the listbox on the right labeled <guilabel>Expressions</guilabel>.</para> +<para>Select the expression you want to delete by clicking once with the &LMB;.</para> +<warning><para>Be sure you have selected the correct expression prior to clicking on the <guibutton>Delete</guibutton> +button. &kword; will not give you the opportunity to restore the expression if it is accidentally deleted.</para></warning> +<para> Click on the +<guibutton>Delete</guibutton> button <emphasis>below the expression list</emphasis>. The +expression is immediately deleted.</para> +<note><para>Deleting an expression with this dialog does not delete the expression from any document. It only removes the +expression from the menus.</para></note> +<para>When you are finished making changes, simply click <guibutton>OK</guibutton>.</para> + +</sect3> + +</sect2> +</sect1> diff --git a/doc/kword/exst.png b/doc/kword/exst.png Binary files differnew file mode 100644 index 00000000..87297239 --- /dev/null +++ b/doc/kword/exst.png diff --git a/doc/kword/exul.png b/doc/kword/exul.png Binary files differnew file mode 100644 index 00000000..32a36619 --- /dev/null +++ b/doc/kword/exul.png diff --git a/doc/kword/fchardlg.png b/doc/kword/fchardlg.png Binary files differnew file mode 100644 index 00000000..444f0601 --- /dev/null +++ b/doc/kword/fchardlg.png diff --git a/doc/kword/fchardlg2.png b/doc/kword/fchardlg2.png Binary files differnew file mode 100644 index 00000000..d491493f --- /dev/null +++ b/doc/kword/fchardlg2.png diff --git a/doc/kword/fchardlg3.png b/doc/kword/fchardlg3.png Binary files differnew file mode 100644 index 00000000..592a342b --- /dev/null +++ b/doc/kword/fchardlg3.png diff --git a/doc/kword/fchardlg4.png b/doc/kword/fchardlg4.png Binary files differnew file mode 100644 index 00000000..ceadfb81 --- /dev/null +++ b/doc/kword/fchardlg4.png diff --git a/doc/kword/fchardlg5.png b/doc/kword/fchardlg5.png Binary files differnew file mode 100644 index 00000000..942c0e1e --- /dev/null +++ b/doc/kword/fchardlg5.png diff --git a/doc/kword/filefloppy.png b/doc/kword/filefloppy.png Binary files differnew file mode 100644 index 00000000..57d25a64 --- /dev/null +++ b/doc/kword/filefloppy.png diff --git a/doc/kword/filenew2.png b/doc/kword/filenew2.png Binary files differnew file mode 100644 index 00000000..d6ffc964 --- /dev/null +++ b/doc/kword/filenew2.png diff --git a/doc/kword/fileopen.png b/doc/kword/fileopen.png Binary files differnew file mode 100644 index 00000000..5ba1875b --- /dev/null +++ b/doc/kword/fileopen.png diff --git a/doc/kword/fileprint.png b/doc/kword/fileprint.png Binary files differnew file mode 100644 index 00000000..b4c9d55d --- /dev/null +++ b/doc/kword/fileprint.png diff --git a/doc/kword/fileprint2.png b/doc/kword/fileprint2.png Binary files differnew file mode 100644 index 00000000..51eee9dd --- /dev/null +++ b/doc/kword/fileprint2.png diff --git a/doc/kword/filetb.png b/doc/kword/filetb.png Binary files differnew file mode 100644 index 00000000..d0b1b5b5 --- /dev/null +++ b/doc/kword/filetb.png diff --git a/doc/kword/find.png b/doc/kword/find.png Binary files differnew file mode 100644 index 00000000..515a840f --- /dev/null +++ b/doc/kword/find.png diff --git a/doc/kword/finddlg.png b/doc/kword/finddlg.png Binary files differnew file mode 100644 index 00000000..d8cf12c6 --- /dev/null +++ b/doc/kword/finddlg.png diff --git a/doc/kword/finddlg2.png b/doc/kword/finddlg2.png Binary files differnew file mode 100644 index 00000000..98fefdf8 --- /dev/null +++ b/doc/kword/finddlg2.png diff --git a/doc/kword/footcfg1.png b/doc/kword/footcfg1.png Binary files differnew file mode 100644 index 00000000..713263e4 --- /dev/null +++ b/doc/kword/footcfg1.png diff --git a/doc/kword/footcfg2.png b/doc/kword/footcfg2.png Binary files differnew file mode 100644 index 00000000..830094ed --- /dev/null +++ b/doc/kword/footcfg2.png diff --git a/doc/kword/footcfg3.png b/doc/kword/footcfg3.png Binary files differnew file mode 100644 index 00000000..d50fbcf9 --- /dev/null +++ b/doc/kword/footcfg3.png diff --git a/doc/kword/footend.png b/doc/kword/footend.png Binary files differnew file mode 100644 index 00000000..6dffe55b --- /dev/null +++ b/doc/kword/footend.png diff --git a/doc/kword/footendnotes.docbook b/doc/kword/footendnotes.docbook new file mode 100644 index 00000000..5ec62451 --- /dev/null +++ b/doc/kword/footendnotes.docbook @@ -0,0 +1,200 @@ +<sect1 id="endnotes-and-footnotes"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Footnotes and Endnotes</title> +<indexterm><primary>footnotes</primary><secondary>introduction</secondary></indexterm> +<indexterm><primary>endnotes</primary><secondary>introduction</secondary></indexterm> + +<para>&kword; has a complete set of tools to create and manage footnotes and endnotes. When you assign a footnote, &kword; automatically +places the footnote at the bottom of the correct page. When you assign an endnote, the notation is located in a numbered list at the end of your text. + If the footnote or endnote reference point is moved to a new page, the footnote automatically +follows and is renumbered as needed (if the user desires). </para> +<para>&kword; also has the ability to separately manage endnotes and footnotes in the same document.</para> +<para>You have the option of having &kword; control the numbering of your footnotes. Alternatively, you can manually specify each footnote.</para> +<para>There are multiple automatic numbering schemes and your footnotes can be separated from the text with a dividing line. </para> + +<sect2 id="fn-add"> +<title>Add a new footnote or endnote</title> +<indexterm><primary>footnotes</primary><secondary>creating</secondary></indexterm> +<indexterm><primary>endnotes</primary><secondary>creating</secondary></indexterm> + +<para>To add a new footnote or endnote, place your cursor at the end of the text you want to reference. Then select +<menuchoice><guimenu>Insert</guimenu><guimenuitem>Footnote/Endnote...</guimenuitem></menuchoice> +from the menubar. This will bring up a dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="footend.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + + +<para>If you want &kword; to automatically number your footnotes or endnotes for you, make sure that <guilabel>Automatic</guilabel> is selected. +If you want to manually enter all footnotes in, then select <guilabel>Manual</guilabel> and enter the footnote or endnote entry in +the text box to the right.</para> +<tip><para>If at all possible, try to allow &kword; to automatically number the footnotes and endnotes for you. If &kword; controls the numbering, and you +insert, delete or move footnotes, &kword; will automatically renumber or reorder the footnotes for you.</para></tip> + +<para>Then select either <guilabel>Footnote</guilabel> or <guilabel>Endnote</guilabel>. Footnotes will appear at the bottom of the +page where the notation occurs. Endnotes will appear as an ordered list at the end of your document.</para> + +<para>Click <guibutton>Configure</guibutton> to <link linkend="fn-config">change the look</link> of your footnotes or endnotes.</para> +<para>Click <guibutton>Cancel</guibutton> to return to your document without inserting a footnote or endnote.</para> + +<para>Click <guibutton>OK</guibutton> to insert the footnote or endnote. &kword; will create the footnote or endnote +entry, and place the cursor at the beginning of the entry for you to enter the desired reference information. +Type your reference information in the space provided. </para> + +<para>When you have finished entering your footnote or endnote reference information, simply move your cursor over the footnote or endnote +number. Click with the &RMB;. A popup menu will appear. Select <guilabel>Go to Footnote</guilabel> and &kword; will move the cursor back to the text +where the reference was made.</para> +</sect2> + +<sect2 id="fn-edit"> +<title>Change reference of footnote</title> +<indexterm><primary>footnotes</primary><secondary>editing</secondary></indexterm> +<indexterm><primary>endnotes</primary><secondary>editing</secondary></indexterm> + +<para>There are two ways to change reference information for a footnote:</para> +<itemizedlist> +<listitem><para>Place the mouse pointer over the footnote you want to change, and click once with the &RMB;. +A popup menu will appear. Select <guimenuitem>Edit Footnote</guimenuitem>. &kword; will immediately move your +cursor to the appropriate footnote reference.</para></listitem> +<listitem><para>Simply move to the bottom of the page (if it is a footnote) or the end of the document +(if it is an endnote). Locate the footnote or endnote reference, and click once with the &LMB;.</para> +<tip><para>You can jump to the end of the document by typing <keycombo action="simul">&Ctrl;<keycap>End</keycap></keycombo>.</para></tip></listitem> +</itemizedlist> +</sect2> + +<sect2 id="fn-delete"> +<title>Delete a footnote or endnote</title> +<indexterm><primary>footnotes</primary><secondary>deleting</secondary></indexterm> +<indexterm><primary>endnotes</primary><secondary>deleting</secondary></indexterm> + +<para>To delete a footnote, simply delete the footnote or endnote number. &kword; will remove the reference information and resize the footnote frame.</para> +</sect2> + +<sect2 id="fn-config"> +<title>Change the look of footnotes</title> +<indexterm><primary>footnotes</primary><secondary>change appearance</secondary></indexterm> + +<para>To configure the appearance of footnotes, select <menuchoice> <guimenu>Format</guimenu> +<guimenuitem>Footnote...</guimenuitem></menuchoice> from the menubar. A dialog will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="footcfg1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>There are 5 predefined numbering methods for footnotes. Those methods are listed in the left +side of the dialog box. Begin by selecting the numbering method you want by clicking once with the &LMB;.</para> +<para>In the text box labeled <guilabel>Prefix text:</guilabel>, you can enter any characters you want to +appear <emphasis>before</emphasis> the footnote number.</para> +<para>In the text box labeled <guilabel>Suffix text:</guilabel>, you can enter any characters you want to +appear <emphasis>after</emphasis> the footnote number.</para> +<para>You can adjust the starting position of the footnote counter using the spinbox labeled <guilabel>Start at:</guilabel>.</para> +<!--</sect3> --> + +<sect3 id="fn-config-line"> +<title>Change the appearance of separator line</title> +<para>To change the appearance of the separator line, click on the tab labeled <guilabel>Separator Line</guilabel>.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="footcfg3.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>You can determine the alignment of the separator line by selecting <guilabel>Left</guilabel>, +<guilabel>Centered</guilabel> or <guilabel>Right</guilabel></para> +<para>Determine the length of the line using the spin box labeled <guilabel>Size on page:</guilabel>.</para> +<para>The spinbox labeled <guilabel>Width:</guilabel> is used to determine the thickness of the seperator line.</para> +<note><para>Do not confuse this option with the <guilabel>Size on page:</guilabel> option. The <guilabel>Width:</guilabel> is used to set the thickness of the line, not its distance across the page.</para></note> +<para>Use the combo box labeled <guilabel>Style</guilabel> to determine what kind of line is drawn.</para> +<para>Click <guibutton>OK</guibutton> to change the look of all footnotes or click <guibutton>Cancel</guibutton> to keep +the previous options.</para> +</sect3> +</sect2> +<sect2 id="fn-placement"> +<title>Change the placement of the footnotes</title> +<para>You can determine how much space separates the main text frame and the footnotes. Select +<menuchoice> +<guimenu>Format</guimenu><guimenuitem>Page Layout...</guimenuitem></menuchoice> +from the menubar. This will bring up a dialog:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="wpfmtpg1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Click on the tab labeled <guilabel>Header & Footer</guilabel>. </para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="wpfmtpg3.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>At the bottom of the dialog is a text box is labeled +<guilabel>Spacing between footnote and body</guilabel>. As the label +suggests, you can use this text box to specify the distance between +the bottom edge of the main frame, and the top edge of the footnotes. +When you have entered the desired spacing, click +<guibutton>OK</guibutton>, and the footnotes will change position on +the page.</para> + +<para>If both footnotes and endnotes are on the current page, the +setting will apply to the space between the body and the +footnotes.</para> + +</sect2> +<sect2 id="en-config"> +<title>Change the look of endnote entries</title> +<indexterm><primary>endnotes</primary><secondary>change appearance</secondary></indexterm> + +<para>To configure the appearance of endnotes, select <menuchoice> <guimenu>Format</guimenu> +<guimenuitem>Footnote...</guimenuitem></menuchoice> from the menubar. A dialog will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="footcfg1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>Click on the tab labeled <guilabel>Endnotes</guilabel>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="footcfg2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>There are 5 predefined numbering methods for footnotes. Those methods are listed in the left +side of the dialog box. Begin by selecting the numbering method you want by clicking once with the &LMB;.</para> +<para>In the text box labeled <guilabel>Prefix text:</guilabel>, you can enter any characters you want to +appear <emphasis>before</emphasis> the endnote number.</para> +<para>In the text box labeled <guilabel>Suffix text:</guilabel>, you can enter any characters you want to +appear <emphasis>before</emphasis> the endnote number.</para> +<para>You can adjust the starting position of the endnote counter using the spinbox labeled <guilabel>Start at:</guilabel>.</para> + +<para>If you want a line seperating the text of the document from your endnotes, instructions +for this can be found in the section entitled <link linkend="fn-config-line">Change the appearance of separator line</link>.</para> + +</sect2> + + +</sect1> diff --git a/doc/kword/formabs.png b/doc/kword/formabs.png Binary files differnew file mode 100644 index 00000000..df2e5d7e --- /dev/null +++ b/doc/kword/formabs.png diff --git a/doc/kword/formatchar.docbook b/doc/kword/formatchar.docbook new file mode 100644 index 00000000..724a726c --- /dev/null +++ b/doc/kword/formatchar.docbook @@ -0,0 +1,319 @@ +<sect1 id="format-characters"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Formatting Characters</title> +<indexterm><primary>text</primary><secondary>formatting</secondary></indexterm> +<indexterm><primary>font</primary><secondary>formatting</secondary></indexterm> +<indexterm><primary>formatting text</primary></indexterm> + +<para>This section will cover the changes that can be made to individual characters or +blocks of characters including:</para> + +<itemizedlist> +<listitem><para><link linkend="change-font">Character size</link></para></listitem> +<listitem><para><link linkend="change-font">Font</link></para></listitem> +<listitem><para><link linkend="change-font">Font style (italic, bold, etc).</link></para></listitem> +<listitem><para><link linkend="change-font">Underlines, superscript, subscript, strikeout, etc.</link></para></listitem> +<listitem><para><link linkend="change-font">Character color and background color.</link></para></listitem> +<listitem><para><link linkend="change-font-case">Character case.</link></para></listitem> + +</itemizedlist> + +<sect2 id="change-font"> +<title>Changing Size, Font, Font Style, Text color and Background Color</title> +<indexterm><primary>text</primary><secondary>change size</secondary></indexterm> +<indexterm><primary>change text size</primary></indexterm> +<indexterm><primary>text</primary><secondary>change font</secondary></indexterm> +<indexterm><primary>change text font</primary></indexterm> +<indexterm><primary>text</primary><secondary>change color</secondary></indexterm> +<indexterm><primary>change text color</primary></indexterm> +<indexterm><primary>text</primary><secondary>change background color</secondary></indexterm> +<indexterm><primary>change text background color</primary></indexterm> +<indexterm><primary>text</primary><secondary>bold</secondary></indexterm> +<indexterm><primary>bold text</primary></indexterm> +<indexterm><primary>text</primary><secondary>italicized</secondary></indexterm> +<indexterm><primary>italicized text</primary></indexterm> +<indexterm><primary>text</primary><secondary>underlined</secondary></indexterm> +<indexterm><primary>underlined text</primary></indexterm> +<indexterm><primary>text</primary><secondary>strikethrough</secondary></indexterm> +<indexterm><primary>strikethrough text</primary></indexterm> +<indexterm><primary>text</primary><secondary>superscript</secondary></indexterm> +<indexterm><primary>superscript text</primary></indexterm> +<indexterm><primary>text</primary><secondary>subscript</secondary></indexterm> +<indexterm><primary>subscript text</primary></indexterm> + + +<sect3 id="change-font-keyboard"> +<title>Using the Keyboard or toolbars</title> + +<para>There are several keyboard shortcuts which you can use to make +common changes to character formatting. After selecting the text, you +can use these key combinations to toggle each attribute.</para> + +<para>The <guilabel>Format</guilabel> toolbar also has buttons which you can use to +toggle these same attributes. </para> + +<para>The following table details each attribute, the toolbar buttons +and the keyboard shortcuts.</para> + +<informaltable frame="all"><tgroup cols="3" align="left"> +<thead> +<row><entry align="right">Attribute</entry><entry align="center">Toolbar +Button</entry><entry align="center">Key Combo</entry></row> +</thead><tbody> +<row><entry align="right">Font Size</entry><entry align="center"><inlinemediaobject><imageobject><imagedata fileref="chsizebut.png" format="PNG" align="center"/></imageobject></inlinemediaobject></entry><entry align="center"> +<para>Decrease font size: <keycombo><keycap>Ctrl</keycap><keycap><</keycap></keycombo></para> <para>Increase font size: <keycombo><keycap>Ctrl</keycap><keycap>></keycap></keycombo></para></entry></row> +<row><entry align="right">Font</entry><entry align="center"><inlinemediaobject><imageobject><imagedata fileref="chfontbut.png" format="PNG" align="center"/></imageobject></inlinemediaobject></entry><entry align="center">-</entry></row> +<row><entry align="right">Bold Face</entry><entry align="center"><inlinemediaobject><imageobject><imagedata fileref="bold.png" format="PNG" align="center"/></imageobject></inlinemediaobject></entry><entry align="center"><keycombo>&Ctrl;<keycap>B</keycap></keycombo></entry></row> +<row><entry align="right">Italics</entry><entry align="center"><inlinemediaobject><imageobject><imagedata fileref="ital.png" format="PNG" align="center"/></imageobject></inlinemediaobject></entry><entry align="center"><keycombo><keycap>Ctrl</keycap><keycap>I</keycap></keycombo></entry></row> +<row><entry align="right">Underline</entry><entry align="center"><inlinemediaobject><imageobject><imagedata fileref="undl.png" format="PNG" align="center"/></imageobject></inlinemediaobject></entry><entry align="center"><keycombo><keycap>Ctrl</keycap><keycap>U</keycap></keycombo></entry></row> +<row><entry align="right">Strikethrough</entry><entry align="center"><inlinemediaobject><imageobject><imagedata fileref="stkout.png" format="PNG" align="center"/></imageobject></inlinemediaobject></entry><entry align="center">-</entry></row> +<row><entry align="right">Superscript</entry><entry align="center"><inlinemediaobject><imageobject><imagedata fileref="supscbut.png" format="PNG" align="center"/></imageobject></inlinemediaobject></entry><entry align="center">-</entry></row> +<row><entry align="right">Subscript</entry><entry align="center"><inlinemediaobject><imageobject><imagedata fileref="subscbut.png" format="PNG" align="center"/></imageobject></inlinemediaobject></entry><entry align="center">-</entry></row> +<row><entry align="right">Font Color</entry><entry align="center"><inlinemediaobject><imageobject><imagedata fileref="chcolorbut.png" format="PNG" align="center"/></imageobject></inlinemediaobject></entry><entry align="center">-</entry></row> + +</tbody></tgroup></informaltable> + +<note> +<para>You cannot change the all text attributes using the keyboard or a button on a +toolbar. For these attributes, you must <link linkend="change-font-dialog">use the dialog +box</link>.</para> +</note> + +</sect3> + +<sect3 id="change-font-dialog"> +<title>Using the Dialog Box</title> + +<para>If you have many changes to make, you can also use a dialog box to +set these same attributes.</para> + +<para>You can open the <guilabel>Select Font</guilabel> dialog box in one of three +ways:</para> + +<itemizedlist> +<listitem> +<para>Select <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Font...</guimenuitem></menuchoice> +from the menubar.</para> +</listitem> + +<listitem> +<para>Click on the selected text with the &RMB;. A small menu will appear. Select <guimenuitem>Font...</guimenuitem> from the +menu.</para> +</listitem> + + +<listitem> +<para>You can use the keyboard shortcut: +<keycombo>&Alt;&Ctrl;<keycap>F</keycap></keycombo></para> +</listitem> +</itemizedlist> + +<para>Either method will open a dialog box</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="fchardlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Using this dialog box, you can select the font, size, +italics and boldface options from the top three list boxes.</para> + +<para>The preview box along the middle of the dialog, will show you how your current +settings will appear.</para> + +<tip><para>If the default preview string is not appropriate, you can change it by clicking once +inside the preview box with the &LMB;. A text cursor will appear. You can edit the text to suit your needs.</para> +<para>The sample sentence will revert to the default the next time you +open this dialog.</para> +</tip> + +<para>If you click the tab labeled <guilabel>Highlighting</guilabel>, the dialog changes to:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="fchardlg2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>The subsection labeled <guilabel>Underlining:</guilabel> has two combo boxes and a color selector box. +In the left most combo box select between +no underline (<guilabel>None</guilabel>), <guilabel>Single</guilabel>, <guilabel>Simple Bold</guilabel>, +<guilabel>Double</guilabel> or <guilabel>Wave</guilabel> underlining. </para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="exul.png" format="PNG"/></imageobject> +<!--<caption><para>Examples of three underline styles</para></caption>--> +</mediaobject> +</screenshot> + +<para>Use the center combo box to select the style of underlining (Solid line, dashed line, etc.).</para> +<para>Use the right color selector box to select a color for the underline using the +<link linkend="select-colors">color selection dialog box</link>. </para> + +<para>The subsection labeled <guilabel>Strikethrough:</guilabel> has two combo boxes. +Use the left combo box to select between +no strikethrough (<guilabel>None</guilabel>), <guilabel>Single</guilabel>, <guilabel>Double</guilabel> or +<guilabel>Simple Bold</guilabel> strikethrough. Use the right combo box to select the line style.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="exst.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>The checkbox labeled <guilabel>Word by word</guilabel> determines how underlining and strikethrough are drawn.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="wbw.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>The section labeled <guilabel>Capitalization</guilabel> lets you select one of four special capitalization options. +This will change the capitalization of the selected text. Examples of each scheme are shown below.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="chcase.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<note><para>The changes to capilalization will only affect the selected text at the current moment. This formatting is not enforced after closing the dialog box.</para></note> + +<para>The third tab labeled <guilabel>Decoration</guilabel> allows you to change the color of the font, change the background color and create artificial shadows for your characters. Click on the tab:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="fchardlg3.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Using the buttons labeled <guilabel>Text color:</guilabel> and <guilabel>Background color:</guilabel> you can change the color of the text or the background behind the text.</para> + +<para>To create the illusion of a shadow behind your text, select the color you want your shadow by clicking the button labeled <guilabel>Shadow color:</guilabel>. Then select the distance between the shadow and +the text using the spin box labeld <guilabel>Shadow & distance:</guilabel>. Finally, select the direction of your shadow by +selecting one of the eight red squares. A preview of your shadow appears at the bottom of the dialog box.</para> + +<para>The fourth tab labeled <guilabel>Layout</guilabel> allows you to create superscripts and subscripts. It also lets you select automatic hyphenation on a character by character basis.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="fchardlg4.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>The section labeled <guilabel>Position</guilabel> has four radio buttons and two spin boxes. Selecting <guilabel>Normal</guilabel>, produces text of normal height and at the normal vertical position. Selecting <guilabel>Superscript</guilabel> or <guilabel>Subscript</guilabel> will convert the currently selected text. If you select <guilabel>Custom</guilabel>, you can use the spin box labeled <guilabel>Offset:</guilabel> to move the selected text up or down relative to normal text alignment. Look at the example below:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="exoffset.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Notice how a positive offset raises the text, and a negative offset lowers the text.</para> + +<para>You can also use the spinbox labeled <guilabel>Relative size:</guilabel> to make the selected font larger or smaller.</para> + +<para>The checkbox labeld <guilabel>Auto hyphenation</guilabel> is used to toggle automatic hyphenation on or off for the selected text.</para> + +<para>The fifth tab labeled <guilabel>Language</guilabel> allows you to change the language. Click on the tab:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="fchardlg5.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>You can select the language to use on the selected text with the drop down box. If the selected text allows for automatic hyphenation, +&kword; will use general rules of spelling for the selected language to automatically hyphenate the selected text.</para> + +<para>Clicking <guibutton>OK</guibutton> will commit your changes to the +document and close the dialog box.</para> + +<para>Clicking <guibutton>Apply</guibutton> will commit your changes to the +document but keep the dialog box open.</para> + +<para>Clicking <guibutton>Reset</guibutton> will restore the default settings to the selected text.</para> + +<para>Clicking <guibutton>Cancel</guibutton> will abort all changes +made.</para> + +</sect3> +</sect2> + +<sect2 id="change-font-case"> +<title>Changing Font Case</title> +<indexterm><primary>text</primary><secondary>changing case</secondary></indexterm> +<indexterm><primary>change case of text</primary></indexterm> + +<para>&kword; can change the case (uppercase or lowercase) of large blocks of text to one of five pre-defined styles. +Begin by selecting the block of text you want changed. Select <menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Change Case...</guimenuitem></menuchoice> +from the menubar.</para> +<para>A small dialog box will appear with five options:</para> +<variablelist> +<varlistentry> +<term><guilabel>Uppercase</guilabel></term> +<listitem><para>Will convert all characters to uppercase.</para> +<para>Example: KWORD WILL AUTOMATICALLY CHANGE CASES.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Lowercase</guilabel></term> +<listitem><para>Will convert all characters to lowercase.</para> +<para>Example: kword will automatically change cases.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Title case</guilabel></term> +<listitem><para>Will capitalize every word.</para> +<para>Example: Kword Will Automatically Change Cases.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Toggle case</guilabel></term> +<listitem><para>Converts all lowercase letters to uppercase <emphasis>and</emphasis> +converts all uppercase letters to lowercase.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Sentence case</guilabel></term> +<listitem><para>Capitalizes the first character after a period.</para> +</listitem> +</varlistentry> + +</variablelist> + +<para>When you have selected the desired options click <guibutton>OK</guibutton> and &kword; will make the changes.</para> + + + +</sect2> + + +</sect1> diff --git a/doc/kword/formatframes.docbook b/doc/kword/formatframes.docbook new file mode 100644 index 00000000..ab081ddd --- /dev/null +++ b/doc/kword/formatframes.docbook @@ -0,0 +1,503 @@ +<sect1 id="format-frame"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Setting the Properties for a Frame</title> +<indexterm><primary>frames</primary><secondary>configure</secondary></indexterm> + +<para>For each frame in your document, you can determine:</para> + +<itemizedlist> +<listitem> +<para>how &kword; handles full text frames</para> +</listitem> + +<listitem> +<para>how text wraps around or through overlapping +frames</para> +</listitem> + +<listitem> +<para>the exact size of the frame</para> +</listitem> + +<listitem> +<para>establish margins within a frame.</para> +</listitem> + +<listitem> +<para>set a background color and pattern for the frame.</para> +</listitem> +</itemizedlist> + +<para>All of these options can be altered using a set of dialog boxes, +or by using a previously defined <emphasis>framestyle</emphasis>.</para> +<para>A <emphasis>framestyle</emphasis> is a predefined set of frameset formatting options which is given a name. Once a frameset +has been assigned a framestyle, any changes made to the framestyle will be reflected in all framesets which are +assigned that framestyle.</para> +<tip><para>You may be noticing that framestyles function in a way similar to <emphasis>text styles</emphasis>. The main difference, is +framestyles control the look of the frame, and textstyles control the look of paragraphs within the frame.</para></tip> + +<sect2 id="frame-dialogs"> +<title>Using the frame settings dialogs</title> + +<para>All of these settings can be determined in the <guilabel>Frame +Properties</guilabel> dialog box.</para> + +<para>In order to adjust the properties of any frame, you must first +select the frame you want to change.</para> + +<para>Simply click once on the frame border of the frame you want to +edit. (Or by holding down the &Ctrl; key and clicking inside the frame with the +&LMB;.)</para> + +<para>You edit the properties of a frameset using a set of dialogs which you can +open one of two ways:</para> + +<itemizedlist> +<listitem> +<para>Select <menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Frame/Frameset Properties</guimenuitem></menuchoice> +from the menubar.</para> +</listitem> + +<listitem> +<para>Place the mouse pointer on the border of the frame, and click once +with the &RMB;. A small menu +will appear. Select <guimenuitem>Frame/Frameset Properties...</guimenuitem>.</para> +</listitem> + +</itemizedlist> + +<para>The Properties dialog consists of one dialog box, with six index +tabs labeled <link linkend="format-frame-options">Options</link>, +<link linkend="format-frame-tra">Text Run Around</link>, +<link linkend="format-frame-connect">Connect Text Frames</link>, +<link linkend="format-frame-geometry">Geometry</link>, +<link linkend="format-frame-background">Background</link> and +<link linkend="format-frame-borders">Borders</link>.</para> + +<sect3 id="format-frame-options"><title>General Options</title> +<indexterm><primary>frames</primary><secondary>configure automatic creation</secondary></indexterm> +<indexterm><primary>frames</primary><secondary>protect contents of</secondary></indexterm> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="formframe1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>The tab labeled <guilabel>Options</guilabel> is used to determine how +&kword; behaves when there is too much text +to fit within the current bounds of the +frame.</para> + +<para>&kword; has three solutions to this situation:</para> + +<variablelist> +<varlistentry> +<term><guilabel>Create a new +page</guilabel></term> +<listitem><para>When a frame becomes full, &kword; automatically +creates a new page. On this new page, it may create a new frame, of the +same size and position, if you choose.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Resize last +frame</guilabel></term> +<listitem><para>When a frame becomes full, &kword; +automatically extends the bottom border of the text frame to accommodate +the new text. It will continue to expand as new text is added. Conversely, it will shrink again if text is removed from the frame.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Don't show the extra text</guilabel></term> +<listitem><para>&kword; does not +create a new frame or change the current frame in any way. You will +need to manually resize the current frame, or add a new frame to the +frame set.</para></listitem> +</varlistentry> +</variablelist> + +<para>Simply make your selection in the section labeled <guilabel>If Text is Too Long for Frame</guilabel>.</para> + +<para>In the section entitled <guilabel>On New Page Creation</guilabel>, you have three options available. You must select one.</para> + +<variablelist> +<varlistentry> +<term><guilabel>Reconnect frame to current flow</guilabel></term> +<listitem><para>Create a new frame, the same size and shape on a new page, and make it the last frame in the frameset.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Do not create a followup frame</guilabel></term> +<listitem><para>Creates a new page, but not a new frame.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Place a copy of this frame</guilabel></term> +<listitem><para>Creates a new page, with a new frame the same size, shape and position on the page. Additionally, &kword; +copies the contents of the frame from the previous page.</para> +<tip><para>This is useful for title frames, headers and footer frames. Each page will have an automatic copy of this information +on any new pages.</para></tip></listitem> +</varlistentry> +</variablelist> + + + +<para>If you place a mark in the check box labled <guilabel>Changes will be applied to all +frames in frameset</guilabel>, then any changes made in the frame properties dialog box +will automatically be applied to all frames within the frameset.</para> + +<para>If you place a mark in the check box labeled <guilabel>Protect content</guilabel>, &kword; +will not allow any changes to the text within the frame, or the formatting of the text within the frameset.</para> + +<note><para>You can still reshape or even delete the frame, but the content within the frame is locked. To lock the location +and size of the frame, see the <link linkend="format-frame-geometry">Geometry</link> tab.</para></note> + +<para>To make changes to the text, you need to remove the mark from <guilabel>Protect content</guilabel>.</para> + +</sect3> +<sect3 id="format-frame-tra"><title>Text Flow around frames</title> +<indexterm><primary>frames</primary><secondary>force text around</secondary></indexterm> + +<para>To adjust how text flows around overlapping frames, click the tab +labeled <guilabel>Text Run Around</guilabel>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="formframe2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>When you overlay two text frames, and text from both frames is +competing for the same space on the page, &kword; can (at your option), +make sure that text from two frames does not overlap. </para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="intro3.png" format="PNG"/></imageobject> +<!--<caption><para>Example of text wrapping.</para></caption>--> +</mediaobject> +</screenshot> + + + +<para>As you can see from the options in the dialog box, there are three +possible choices.</para> + +<variablelist> +<varlistentry> +<term><guilabel>Text will run through this frame</guilabel></term> +<listitem> +<para>By selecting this option, &kword; will ignore this frame +when it displays the text in overlapping frames.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Text will run around the frame</guilabel></term> +<listitem> +<para>By selecting this option, &kword; will wrap the text +of overlapping frames around this frame.</para> +<para>If this option is selected, you can determine which side the text runs around in the section labeled +<guilabel>Run Around Side</guilabel>. Simply choose <guilabel>Left</guilabel>, <guilabel>Right</guilabel>, +or <guilabel>Longest side</guilabel>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Text will not run around this frame</guilabel></term> +<listitem> +<para>By selecting this option, &kword; will not wrap any +text around the edges of this frame, but instead, will skip down below +this frame before continuing to display text in overlapping frames.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>You can also determine how close your frames appear by setting the +<guilabel>Distance Between Frame & Text</guilabel> in the spin boxes provided. If you place a mark in the +checkbox labeled <guilabel>Synchronize changes</guilabel> +&kword; will make all distances equal.</para> + +</sect3> +<sect3 id="format-frame-connect"><title>Move a frame to a new frameset</title> +<indexterm><primary>frames</primary><secondary>edit framesets</secondary></indexterm> +<indexterm><primary>framesets</primary><secondary>edit</secondary></indexterm> + +<para>You can change which frameset the current frame belongs to by selecting +the <guilabel>Connect Text Frames</guilabel> tab.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="formframe3.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>This dialog gives you the option to create a new frameset for the current frame or move the selected frame to a current frameset.</para> +<para>Select <guilabel>Select existing frameset to connect frame to:</guilabel>, to add the current frame to a previously created +frameset. Choose one of the +framesets listed in the table below to specify which frameset.</para> +<para>To create a new frameset, select <guilabel>Create a new frameset:</guilabel> and type the name of the new frameset in the +text box labeled <guilabel>Name of frameset</guilabel>. &kword; will create a new frameset with the current frame +as the only frame in the frameset (for now).</para> +<tip><para>It is helpful to name your framesets with descriptive names. Name the frameset with a description of the contents +so that you can quickly refer to it again later.</para></tip> + +</sect3> +<sect3 id="format-frame-geometry"><title>Frame size and position</title> +<indexterm><primary>frames</primary><secondary>geometry</secondary></indexterm> +<indexterm><primary>frames</primary><secondary>determine size (dialog box)</secondary></indexterm> +<indexterm><primary>frames</primary><secondary>determine position (dialog box)</secondary></indexterm> + +<para>You can adjust the size and position of your frame by +clicking on the tab labeled <guilabel>Geometry</guilabel>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="formframe4.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>This dialog box allows you to specify <emphasis>exactly</emphasis> +where the frame goes and how large it is.</para> + +<para>If you put a mark in the check box labeled <guilabel>Protect size and position</guilabel>, the frame size and position will +be fixed at their current location. You will not be able to move the frame on the page until this box is unchecked.</para> + +<sect4 id="format-frame-geometry-size"><title>Determine Size and Position</title> +<para>You can locate your frame on the page by first entering the <guilabel>Left:</guilabel> +and <guilabel>Top:</guilabel> measurements. This determines where the top left corner of the +frame will be. All measurements are from the top left corner of the +page.</para> + +<para>You can also determine the exact size of the frame by entering its +<guilabel>Height:</guilabel> and <guilabel>Width:</guilabel> in the text boxes provided. These two measurements are +relative to the top left corner of the frame you specified above. not to the size of the page.</para> +</sect4> +<sect4 id="format-frame-geometry-margin"><title>Determine Margins in the Frame</title> + +<para>Using the boxes labeled +<guilabel>Left:</guilabel>, <guilabel>Right:</guilabel>, <guilabel>Top:</guilabel> and <guilabel>Bottom:</guilabel>, you can establish +margins <emphasis>within the frame</emphasis>. This should not be confused with margins for the page, which are defined in the +<link linkend="page-format">page properties dialog box</link>.</para> + +<tip><para>If the <guilabel>Synchronize changes</guilabel> check box has a mark in it, &kword; will take any changes you +make to one margin, and automatically apply them to the other 3 margins.</para> + +<para>In other words, if this check box is selected, and you enter a margin of 1 cm in any of the 4 margin boxes, all 4 frame margins will now +become 1 cm in size.</para> + +<para>If this option is off, each text box can be given a different value.</para> + +</tip> +</sect4> +</sect3> +<sect3 id="format-frame-background"><title>Frame Background</title> +<indexterm><primary>frames</primary><secondary>background colors and patterns</secondary></indexterm> + +<para>You can adjust the background color of the text frame by selecting the <guilabel>Background</guilabel> tab.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="formframe5.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Select the color of the background by clicking on the button labeled +<guibutton>Background color:</guibutton>. The color is selected using the +<link linkend="select-colors">Color selection dialog</link>.</para> + +</sect3> +<sect3 id="format-frame-borders"><title>Frame Borders</title> +<indexterm><primary>frames</primary><secondary>borders</secondary></indexterm> + +<para>You can change the borders of the text frame by selecting the <guilabel>Borders</guilabel> tab.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="formframe6.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Select the <guilabel>Style:</guilabel> and <guilabel>Width:</guilabel> of the borders +with the two drop down boxes on the left side of the dialog.</para> +<para>Select the color of the borders by clicking on the button labeled +<guibutton>Color:</guibutton>. The color is selected using the +<link linkend="select-colors">Color selection dialog</link>.</para> +<para>Use the four icons (<guiicon>Border Left</guiicon>, <guiicon>Border Right</guiicon>, <guiicon>Border Top</guiicon> +and <guiicon>Border Bottom</guiicon>) below the <guibutton>Color</guibutton> button +to determine on which side of the frame you want to have a border.</para> +<para>A <guilabel>Preview</guilabel> of the selected settings is shown on the right side of the dialog. +</para> + +<para>Click <guibutton>OK</guibutton> to accept all of your changes and to close the dialog box.</para> +<para>Click <guibutton>Apply</guibutton> to accept all of your changes without closing the dialog box.</para> +<para>Click <guibutton>Cancel</guibutton> to forget all of your changes.</para> +</sect3> +</sect2> + +<sect2 id="framestyles"> +<title>Using frame styles</title> +<indexterm><primary>frames</primary><secondary>frame styles</secondary></indexterm> +<indexterm><primary>frame style</primary><secondary>using</secondary></indexterm> + +<sect3 id="framestyles-use"> +<title>Formatting a frame with a framestyle</title> +<indexterm><primary>frame style</primary><secondary>apply frame style to a frame</secondary></indexterm> + +<para>To format a frame using a predefined framestyle simply:</para> +<para>Select the frame(s) by holding down &Ctrl; and clicking within the frame with the &LMB;.</para> +<para>Select <menuchoice> +<guimenu>Frames</guimenu><guisubmenu>Framestyle</guisubmenu></menuchoice> +from the menubar. A submenu will appear, listing all the currently defined framestyles. Select the name of the framestyle +you want and all selected frames will automatically be formatting using the options of that framestyle.</para> +</sect3> + +<sect3 id="framestyle-edit"> +<title>Editing a framestyle</title> +<indexterm><primary>frame style</primary><secondary>editing</secondary></indexterm> + +<para>To change the options of a framestyle, you will need to use the framestyle manager.</para> +<para>Select <menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Frame Style Manager...</guimenuitem></menuchoice> +from the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="framestylist.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>All of the currently defined framestyles are listed in the listbox on the left. The currently selected framestyle is highlighted, and +the name of the currently selected framestyle is listed in the text box labeled <guilabel>Name</guilabel>. (In this example, +the currently selected framestyle is <emphasis>Light Gray</emphasis>.)</para> +<para>Select the framestyle you want to change by clicking on the name of the framestyle in the listbox on the left.</para> +<para>There are three tabs in on the right side of the dialog box: <guilabel>General</guilabel>, <guilabel>Borders</guilabel> +and <guilabel>Background</guilabel></para> +<para>In the <guilabel>General</guilabel> tab, you can change the name of the liststyle by typing the new name in the text box +labeled <guilabel>Name</guilabel>. You can also see a preview of what your frame will look like in the preview box.</para> +<para>The <guilabel>Borders</guilabel> tab works the same as the tab of the same name when formatting a paragraph. For more specific +information click <link linkend="para-borders">here</link>.</para> +<para>The <guilabel>Background</guilabel> tab operates identically to the same tab when formatting a frame. Click +<link linkend="format-frame-background">here</link> for more specific instructions.</para> +<para>Once all changes have been made, click <guibutton>OK</guibutton> to save your changes. All of the affected framesets will +be changed to reflect the new options.</para> +</sect3> + +<sect3 id="framestyle-add"> +<title>Creating a new framestyle</title> +<indexterm><primary>frame style</primary><secondary>create new</secondary></indexterm> + +<para>To create a new framestyle, select <menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Frame Style Manager...</guimenuitem></menuchoice> +from the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="framestylist.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>Select a framestyle from the list at the left which most closely matches your new desired framestyle by clicking on the name with the &LMB;. +The selected framestyle will be used as a template for the new framestyle.</para> +<para>Click on the <guibutton>New</guibutton> button. &kword; will generate a new framestyle, which is a copy +of the previously selected framestyle.</para> +<para>Choose a name for your new framestyle, and type it in the text box labeled <guilabel>Name</guilabel>.</para> +<para>You can now change your frame border and background options. For details, see +<link linkend="framestyle-edit">Editing a framestyle</link>.</para> +<para>When you are finished creating your framestyle, click <guibutton>OK</guibutton>, and your framestyle is saved.</para> +<note><para>Framestyles are specific for each document. A framestyle created in one document can not be used in another document unless you +<link linkend="framestyle-import">import the framestyle</link> from that document.</para></note> +</sect3> + +<sect3 id="framestyle-delete"> +<title>Deleting a framestyle</title> +<indexterm><primary>frame style</primary><secondary>deleting</secondary></indexterm> + +<para>To delete framestyle, select <menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Frame Style Manager...</guimenuitem></menuchoice> +from the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="framestylist.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>Select the framestyle you want to delete by clicking once with the &LMB; in the list on the left.</para> +<para>Click on the <guibutton>Delete</guibutton> button.</para> +<note><para>&kword; will not allow you to delete the <emphasis>Plain</emphasis> framestyle. </para></note> +</sect3> + +<sect3 id="framestyle-reorder"> +<title>Changing the order of the framestyles in the list</title> +<para>To change the order that the framestyles are listed, select <menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Frame Style Manager...</guimenuitem></menuchoice> +from the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="framestylist.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>The order the framestyles are listed in the menu is determined by the order of the framestyles in the list on the left.</para> +<para>Select the framestyle you want to move from the list at the left by clicking once with the &LMB;.</para> +<para>Now click on the up and down arrows located at the bottom of the list of framestyles. This will move the +selected framestyle up or down in the list of framestyles.</para> +<para>When you are satisfied with the order of the list, select <guibutton>OK</guibutton>.</para> +</sect3> + +<sect3 id="framestyle-import"> +<title>Importing a framestyle from another &kword; file</title> +<indexterm><primary>frame style</primary><secondary>importing from another file</secondary></indexterm> + +<para>To import a framestyle from another &kword; file, select <menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Frame Style Manager...</guimenuitem></menuchoice> +from the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="framestylist.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>Click the button labeled <guibutton>Import From File...</guibutton> to open the +<link linkend="file-dialog">file selection dialog</link>. + Choose your file, and click <guibutton>OK</guibutton>.</para> +<para>A new dialog box will appear listing all available framestyles for importing.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="styleimport.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<tip><para>If &kword; encounters a duplicate framestyle name in the selected file, it will append a number to the end of the +framestyle name to identify the imported style.</para> +<para>As an example, if you import the <emphasis>Plain</emphasis> framestyle from another &kword; file, &kword; will change +the name to <emphasis>Plain-1</emphasis>.</para></tip> +<para>Select <emphasis>all</emphasis> the framestyles you want to import. Then click +<guibutton>OK</guibutton>.</para> +<para>The framestyles will now appear at the bottom of your list of framestyles. Click <guibutton>OK</guibutton> +to save the framestyles to the new document.</para> +</sect3> +</sect2> +</sect1> diff --git a/doc/kword/formatpara.docbook b/doc/kword/formatpara.docbook new file mode 100644 index 00000000..88d78aa5 --- /dev/null +++ b/doc/kword/formatpara.docbook @@ -0,0 +1,388 @@ +<sect1 id="format-para"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Formatting Paragraphs</title> +<indexterm><primary>paragraph</primary><secondary>formatting</secondary></indexterm> +<para>This section will detail all the options available to format paragraphs.</para> + +<para>To format a paragraph, place the cursor in the paragraph. To format more than +one paragraph at a time, simply <link linkend="select">select the paragraphs with the mouse or keyboard</link>.</para> + +<para>You can format one or more paragraphs one of three ways:</para> + +<itemizedlist> +<listitem> +<para>Select <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Paragraph...</guimenuitem></menuchoice> +from the menubar</para> +</listitem> + +<listitem><para>Type <keycombo action="simul">&Alt;&Ctrl;<keycap>P</keycap></keycombo></para></listitem> + +<listitem> +<para>Place the mouse pointer in the paragraph and click once +with the &RMB;. A small menu +will appear. Select <guimenuitem>Paragraph...</guimenuitem>.</para> +</listitem> + +</itemizedlist> +<para>A dialog will appear.</para> + +<para>The <guilabel>Paragraph Settings</guilabel> dialog consists of five tabbed sections +labeled <link linkend="indents-and-spaces">Indent and Spacing</link>, <link +linkend="para-aligns">General Layout</link>, <link linkend="para-borders">Borders</link>, +<link linkend="para-bullets-and-numbers">Bullets/Numbering</link>, and +<link linkend="tab-stops">Tabulators</link>.</para> + +<sect2 id="indents-and-spaces"> +<title>Indents and Spaces</title> +<indexterm><primary>paragraph</primary><secondary>indent lines</secondary></indexterm> +<indexterm><primary>paragraph</primary><secondary>change line spacing</secondary></indexterm> +<indexterm><primary>paragraph</primary><secondary>keep lines and paragraphs together</secondary></indexterm> + +<para>With this dialog box the +spacing between lines, and the spacing between paragraphs can be specified.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="fpara1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>The first section of this dialog box is labeled +<guilabel>Indent</guilabel>, and consists of three spin boxes:</para> + +<variablelist> +<varlistentry> +<term><guilabel>Left</guilabel></term> +<listitem> +<para>Enter a value in this box to indent the lines of the selected paragraphs away from the left margin. +The first line is unaffected by this spin box. To +alter the first line, specify that value in the spin box labeled <guilabel>First Line</guilabel>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Right</guilabel></term> +<listitem> +<para>Enter a value in this spin box to indent all lines of the selected paragraph +(including the first line) away from the right +margin.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>First Line</guilabel></term> +<listitem><para>Enter a number in this spin box to indent the first line of a paragraph away from the left +margin.</para> +<tip><para>Entering a negative value in this spin box will create a <link linkend="defhangingindent">hanging indention</link>.</para></tip></listitem> +</varlistentry> +</variablelist> + + +<para>The next section is labeled <guilabel>Line Spacing</guilabel>. It +consists of a combo box and a spin box.</para> + +<para>The combo box determines the method of calculating the spacing between lines. It has several choices:</para> + +<variablelist> +<varlistentry> +<term>Single, 1.5 Lines and Double</term> +<listitem> +<para>If any of these options are selected, the paragraph will have single, 1 and 1/2 or double spacing respectively.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term>Proportional</term> +<listitem> +<para>If this option is selected, the spin box is enabled. When you enter a number in the spin box, &kword; uses that number as a multiplier for line spacing. To look at it another way, if you enter 1.00 in this box, &kword; will use single spacing. If you enter 2.00 in this box, &kword; will use double spacing. If you enter 3.00 in this box, &kword; will use triple spacing, etc. You are not limited to whole numbers. You could enter 1.87 in this box and &kword; would use 1.87 line spacing.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term>Line Distance</term> +<listitem> +<para>If this option is selected, the spin box is enabled. When you enter a number in the spin box, &kword; places a measured amount of space between each line. As an example, if you enter 0.75 and the units used by &kword; are inches, then &kword; will place 0.75 inches between each line.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term>At least</term> +<listitem> +<para>This sets the minimum line spacing value. This can be useful if you have paragraphs with widely differing font sizes. Typically, &kword; calculates the distance between lines by looking at the tallest character in the line. You can use this feature to overide close linespacing in small font paragraphs to make them even with large font paragraphs. &kword; will not cause any fonts to overlap using this spacing technique.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term>Fixed</term> +<listitem> +<para>This sets the distance between the tops of each line to a specific unit of measure. If this option is set too small, &kword; will overlap characters, which will obscure the bottom parts of the characters. </para> +<para>This should not be confused with <guilabel>Line Distance</guilabel> which inserts a specific unit of space between lines. <guilabel>Fixed</guilabel> specifies the distance between the top of one line and the top of the next line.</para> +</listitem> +</varlistentry> + + +</variablelist> + +<para>The last section is labeled <guilabel>Paragraph Space</guilabel>. +It consists of two entries:</para> + +<variablelist> +<varlistentry> +<term><guilabel>Before</guilabel></term> +<listitem> +<para>By entering a value here, additional spacing is added before each paragraph.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>After</guilabel></term> +<listitem> +<para>By entering a value here, additional spacing is added after each paragraph.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>On the right of the dialog box, is a preview box, which will +<emphasis>approximate</emphasis> the final layout of your +document.</para> + +</sect2> + +<sect2 id="para-aligns"> +<title>General Layout</title> +<indexterm><primary>paragraph</primary><secondary>justification</secondary></indexterm> +<indexterm><primary>paragraph</primary><secondary>center paragraph</secondary></indexterm> +<indexterm><primary>paragraph</primary><secondary>left/right aligns</secondary></indexterm> +<indexterm><primary>paragraph</primary><secondary>horizontally align paragraphs</secondary></indexterm> + +<para>This section determines how the text is placed <emphasis>within +the line</emphasis>. With other applications, you may have referred to +this simply as <emphasis>alignment</emphasis>, or +<emphasis>justification</emphasis>.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="fpara2.png" format="PNG"/> +</imageobject> +</mediaobject> +</screenshot> + +<para>Once again, a preview pane is shown on the right side of the dialog box.</para> + +<para>In the upper left corner of the dialog box is a section labeled <guilabel>Alignment</guilabel>.</para> + +<para>If <guilabel>Left</guilabel>, +<guilabel>Right</guilabel> or <guilabel>Center</guilabel> are selected, the text will +be moved on the line so that it aligns with the left margin, aligns with +the right margin, or is centered between the margins +respectively.</para> + +<para>If <guilabel>Justify</guilabel> is selected, &kword; will increase +the space <emphasis>between</emphasis> words, so that each line (with +the exception of the last line in a paragraph), reaches both the left +and right margins.</para> + +<tip><para>You can use toolbar buttons to quickly change the justification of one or more paragraphs</para> +<informaltable> +<tgroup cols="2"> +<thead> +<row><entry>Button</entry><entry>Command</entry></row> +</thead> +<tbody> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="alignLeft.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Left Align </entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="alignCenter.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Center Align </entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="alignRight.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Right Align </entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="alignBlock.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Justify Text </entry></row> +</tbody></tgroup> +</informaltable> +</tip> + + +<para>The lower section controls how &kword; divides paragraphs when a +paragraph will not fit entirely within the current frame or page.</para> + +<para>The first option is labeled <guilabel>Keep lines +together</guilabel>. If this option is selected, then all of the lines +of the paragraph will remain on the same page. If this is not selected, +&kword; may choose to move part of a paragraph to a new page or frame. +For most work, this option is usually left +unchecked.</para> + +<para>The next two options are labeled <guilabel>Insert Break Before Paragraph</guilabel> + and <guilabel>Insert Break After Paragraph</guilabel>. +When one of these options is checked, and the paragraph moves to the +next frame in the frame set, a hard frame break will be inserted in front +of the current paragraph or after the previous paragraph (depending on the option selected). +This will serve to keep the paragraph in the +next frame, even if text prior to that frame is deleted. This option is +often used in conjunction with <guilabel>Keep lines together</guilabel>, +to ensure that the paragraph does not creep back onto the page during +editing. </para> + +</sect2> + +<sect2 id="para-borders"> +<title>Decorations</title> +<indexterm><primary>paragraph</primary><secondary>borders</secondary></indexterm> + +<para>The next section is used to define the background color of the current paragraphs and configure graphical borders +around your paragraphs.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="fpara3.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Clicking the color button to the right of <guilabel>Background color:</guilabel>, will let you select a color to serve as the background +of your paragraph. </para> +<para>&kword; can surround (on some or all sides) a +paragraph with a border. This border can be solid or not, of any color +and of many sizes. This dialog panel is used to adjust the +borders.</para> + +<variablelist> +<varlistentry> +<term><guilabel>Style</guilabel></term> +<listitem> +<para>Use this combo box to select the overall type +of the new border. </para> +<para>The choices are previewed in each selection.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Width</guilabel></term> +<listitem> +<para>This will determine how wide the resulting border will be. It is +measured in points.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Color</guilabel></term> +<listitem> +<para>Clicking on the color bar will allow you to select a color using the <link +linkend="select-colors">color selection dialog +box</link>.</para> +</listitem></varlistentry> +</variablelist> + +<para>Now that it is determined how the borders should look, specify which edges of the paragraphs need borders.</para> + +<informaltable frame="none"> +<tgroup cols="2"> +<tbody> +<row> +<entry><inlinemediaobject><imageobject><imagedata fileref="borbutL.png" +format="PNG" align="right"/></imageobject></inlinemediaobject></entry> +<entry valign="middle">Select/Unselect <guiicon>Left Border</guiicon>. Clicking this +button will apply the current options to the left paragraph border. +Clicking a second time will remove the left paragraph border.</entry> +</row> + +<row> +<entry><inlinemediaobject><imageobject><imagedata fileref="borbutR.png" +format="PNG" align="right"/></imageobject></inlinemediaobject></entry> +<entry valign="middle">Select/Unselect <guiicon>Right Border</guiicon>. Clicking this +button will apply the current options to the right paragraph border. +Clicking a second time will remove the right paragraph border.</entry> +</row> + +<row> +<entry><inlinemediaobject><imageobject><imagedata fileref="borbutT.png" +format="PNG" align="right"/></imageobject></inlinemediaobject></entry> +<entry valign="middle">Select/Unselect <guiicon>Top Border</guiicon>. Clicking this button +will apply the current options to the top paragraph border. Clicking a +second time will remove the top paragraph border.</entry> +</row> + +<row> +<entry><inlinemediaobject><imageobject><imagedata fileref="borbutB.png" +format="PNG" align="right"/></imageobject></inlinemediaobject></entry> +<entry valign="middle">Select/Unselect <guiicon>Bottom Border</guiicon>. Clicking this +button will apply the current options to the bottom paragraph border. +Clicking a second time will remove the bottom paragraph border.</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<tip><para>It is possible to mix and match border styles, widths and colors in one paragraph.</para> +<para>Simply determine the border style, width and color for one border edge, and select the border +using the border buttons. Now alter the style width or color to create a new border look and click the new border button.</para> +</tip> + + +<para>The <guilabel>Preview</guilabel> window will show you how your +paragraph borders will look.</para> + +</sect2> + +<sect2 id="para-bullets-and-numbers"> +<title>Bullets and Numbering</title> +<indexterm><primary>paragraph</primary><secondary>bulleted</secondary></indexterm> +<indexterm><primary>paragraph</primary><secondary>numbered</secondary></indexterm> +<indexterm><primary>lists</primary></indexterm> + +<para>A very common element of a document, is a list of items. The list +contains several elements which may be numbered, for easy +reference. Alternatively, the list elements may be simply set off from +the rest of the text with a special character preceding each element. These special characters +are called bullets.</para> + +<para>This dialog box is used to define your bullets or the +numbering method of lists in the document. This dialog box can also be used to number chapters and sections.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="fpara4.png" format="PNG"/> +</imageobject> +</mediaobject> +</screenshot> + +<para>The top section of the dialog box has three options: <guilabel>None</guilabel>, <guilabel>List</guilabel> +and <guilabel>Chapter</guilabel>.</para> + +<para>If <guilabel>None</guilabel> is selected, the text is not marked as +either a list or a chapter. No other features of this dialog +box will alter the text when this option is chosen.</para> + +<para><guilabel>List</guilabel> is used to create +lists in the document. These lists are +automatically numbered and formatted to appear similar. +For more information on lists, see the section entitled <link linkend="lists">Lists</link>.</para> + +<para><guilabel>Chapter</guilabel> is used to +number chapters and sections of a document.</para> + +</sect2> + +<sect2 id="para-tabulators"> +<title>Tabulators</title> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="fpara5.png" format="PNG"/> +</imageobject> +</mediaobject> +</screenshot> + +<para>This dialog is used to adjust the tab stops. For more details, +see <link linkend="tab-stops">Using Tab Stops</link>.</para> + +</sect2> + +</sect1> diff --git a/doc/kword/formbrac.png b/doc/kword/formbrac.png Binary files differnew file mode 100644 index 00000000..c9f471d4 --- /dev/null +++ b/doc/kword/formbrac.png diff --git a/doc/kword/formcbrac.png b/doc/kword/formcbrac.png Binary files differnew file mode 100644 index 00000000..d15b971c --- /dev/null +++ b/doc/kword/formcbrac.png diff --git a/doc/kword/formfrac.png b/doc/kword/formfrac.png Binary files differnew file mode 100644 index 00000000..5cf409d6 --- /dev/null +++ b/doc/kword/formfrac.png diff --git a/doc/kword/formframe1.png b/doc/kword/formframe1.png Binary files differnew file mode 100644 index 00000000..c922d70b --- /dev/null +++ b/doc/kword/formframe1.png diff --git a/doc/kword/formframe2.png b/doc/kword/formframe2.png Binary files differnew file mode 100644 index 00000000..dff85d2d --- /dev/null +++ b/doc/kword/formframe2.png diff --git a/doc/kword/formframe3.png b/doc/kword/formframe3.png Binary files differnew file mode 100644 index 00000000..12dba009 --- /dev/null +++ b/doc/kword/formframe3.png diff --git a/doc/kword/formframe4.png b/doc/kword/formframe4.png Binary files differnew file mode 100644 index 00000000..8d7a18d1 --- /dev/null +++ b/doc/kword/formframe4.png diff --git a/doc/kword/formframe5.png b/doc/kword/formframe5.png Binary files differnew file mode 100644 index 00000000..c9cfb0a7 --- /dev/null +++ b/doc/kword/formframe5.png diff --git a/doc/kword/formframe6.png b/doc/kword/formframe6.png Binary files differnew file mode 100644 index 00000000..713a2b6a --- /dev/null +++ b/doc/kword/formframe6.png diff --git a/doc/kword/forminteg.png b/doc/kword/forminteg.png Binary files differnew file mode 100644 index 00000000..12a1aad4 --- /dev/null +++ b/doc/kword/forminteg.png diff --git a/doc/kword/formllind.png b/doc/kword/formllind.png Binary files differnew file mode 100644 index 00000000..72ea58a0 --- /dev/null +++ b/doc/kword/formllind.png diff --git a/doc/kword/formlrind.png b/doc/kword/formlrind.png Binary files differnew file mode 100644 index 00000000..6c7ba324 --- /dev/null +++ b/doc/kword/formlrind.png diff --git a/doc/kword/formmat.png b/doc/kword/formmat.png Binary files differnew file mode 100644 index 00000000..9a49be62 --- /dev/null +++ b/doc/kword/formmat.png diff --git a/doc/kword/formover.png b/doc/kword/formover.png Binary files differnew file mode 100644 index 00000000..da6b9c1f --- /dev/null +++ b/doc/kword/formover.png diff --git a/doc/kword/formprod.png b/doc/kword/formprod.png Binary files differnew file mode 100644 index 00000000..f8ea9d64 --- /dev/null +++ b/doc/kword/formprod.png diff --git a/doc/kword/formsbrac.png b/doc/kword/formsbrac.png Binary files differnew file mode 100644 index 00000000..b14e5db8 --- /dev/null +++ b/doc/kword/formsbrac.png diff --git a/doc/kword/formspecchar.png b/doc/kword/formspecchar.png Binary files differnew file mode 100644 index 00000000..e00f843a --- /dev/null +++ b/doc/kword/formspecchar.png diff --git a/doc/kword/formsqrt.png b/doc/kword/formsqrt.png Binary files differnew file mode 100644 index 00000000..fbeca9f9 --- /dev/null +++ b/doc/kword/formsqrt.png diff --git a/doc/kword/formsum.png b/doc/kword/formsum.png Binary files differnew file mode 100644 index 00000000..580dd2a2 --- /dev/null +++ b/doc/kword/formsum.png diff --git a/doc/kword/formtb.png b/doc/kword/formtb.png Binary files differnew file mode 100644 index 00000000..b6ba11e1 --- /dev/null +++ b/doc/kword/formtb.png diff --git a/doc/kword/formulas.docbook b/doc/kword/formulas.docbook new file mode 100644 index 00000000..fa8d9344 --- /dev/null +++ b/doc/kword/formulas.docbook @@ -0,0 +1,69 @@ +<sect1 id="formulas"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Formulas</title> +<indexterm><primary>formulas</primary></indexterm> + +<para>&kword; has the ability to directly create formulas using the formula editor common to all &koffice; applications.</para> +<note><para>This is a formula editor for creating graphical versions of formulas. &kword; does not currently have the ability +to solve mathematical equations.</para></note> + +<sect2 id="formulas-add"><title>Add a formula</title> +<para>There are three ways to insert a formula into a document:</para> +<itemizedlist> +<listitem> +<para>By selecting <menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Formula</guimenuitem></menuchoice> from +the menubar</para> +</listitem> + +<listitem> +<para>Using the keyboard shortcut: <keycap>F4</keycap></para> +</listitem> + +<listitem> +<para>or by clicking <inlinemediaobject><imageobject><imagedata +fileref="part-kformula.png" +format="PNG"/></imageobject></inlinemediaobject> on the toolbar.</para> +</listitem> +</itemizedlist> +<para>&kword; creates a formula frame at the current cursor location.</para> +<note><para>Formula frames behave differently than most other frames in &kword;: </para> +<itemizedlist> +<listitem><para><emphasis>All</emphasis> formula frames are inserted <glossterm linkend="definlineframe">inline</glossterm> by default. +This frame can later be +converted to a <emphasis>non-inline</emphasis> frame later.</para></listitem> +<listitem><para>Formula frames expand and contract depending on the resulting size of the formula.</para></listitem> +<listitem><para>Formula frames automatically determine where in the line they are lined up.</para></listitem> +</itemizedlist> +</note> + +</sect2> + +<sect2 id="formula-move"><title>Moving a formula</title> +<para>By default, formula frames are created as <glossterm linkend="definlineframe">inline</glossterm> frames by default. The formula frame +will move with the text as any other inline frame would.</para> +<para>If you want to have more control over where the formula is placed, you can convert it to a framed formula by clicking on the +frame surrounding the formula with the &RMB;. A popup menu will appear. Simply select <guilabel>Inline Frame</guilabel> and the formula will +now be a freely movable frame. </para> +<para>Once converted to a freely movable frame, you can <link linkend="move-frame">move the frame</link> +just like any other frame in &kword;.</para> +</sect2> + +<sect2 id="formula-delete"><title>Removing a formula</title> +<para>To delete a formula in &kword;, simply <link linkend="delete-frame">delete the frame</link> around it.</para> +</sect2> + +<sect2 id="formula-edit"><title>Editing a formula</title> +<para>Editing a formula is beyond the scope of this documentation. +Please see the &kformula; handbook for help with the editing of the formula.</para> +</sect2> +</sect1> + diff --git a/doc/kword/formulind.png b/doc/kword/formulind.png Binary files differnew file mode 100644 index 00000000..35128d7d --- /dev/null +++ b/doc/kword/formulind.png diff --git a/doc/kword/formunder.png b/doc/kword/formunder.png Binary files differnew file mode 100644 index 00000000..2ae09dfc --- /dev/null +++ b/doc/kword/formunder.png diff --git a/doc/kword/formurind.png b/doc/kword/formurind.png Binary files differnew file mode 100644 index 00000000..f8fe2afc --- /dev/null +++ b/doc/kword/formurind.png diff --git a/doc/kword/forward.png b/doc/kword/forward.png Binary files differnew file mode 100644 index 00000000..03f5200f --- /dev/null +++ b/doc/kword/forward.png diff --git a/doc/kword/fpara1.png b/doc/kword/fpara1.png Binary files differnew file mode 100644 index 00000000..452c02d9 --- /dev/null +++ b/doc/kword/fpara1.png diff --git a/doc/kword/fpara2.png b/doc/kword/fpara2.png Binary files differnew file mode 100644 index 00000000..978eb0d4 --- /dev/null +++ b/doc/kword/fpara2.png diff --git a/doc/kword/fpara3.png b/doc/kword/fpara3.png Binary files differnew file mode 100644 index 00000000..f88d63ca --- /dev/null +++ b/doc/kword/fpara3.png diff --git a/doc/kword/fpara4.png b/doc/kword/fpara4.png Binary files differnew file mode 100644 index 00000000..c797b8ec --- /dev/null +++ b/doc/kword/fpara4.png diff --git a/doc/kword/fpara5.png b/doc/kword/fpara5.png Binary files differnew file mode 100644 index 00000000..d3165325 --- /dev/null +++ b/doc/kword/fpara5.png diff --git a/doc/kword/fpicture.png b/doc/kword/fpicture.png Binary files differnew file mode 100644 index 00000000..d73158ee --- /dev/null +++ b/doc/kword/fpicture.png diff --git a/doc/kword/framers.png b/doc/kword/framers.png Binary files differnew file mode 100644 index 00000000..0460c83e --- /dev/null +++ b/doc/kword/framers.png diff --git a/doc/kword/frames.docbook b/doc/kword/frames.docbook new file mode 100644 index 00000000..639538ee --- /dev/null +++ b/doc/kword/frames.docbook @@ -0,0 +1,435 @@ +<sect1 id="frames"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Working with Frames</title> +<indexterm><primary>frames</primary><secondary>introduction</secondary></indexterm> +<para>Since &kword; is a frames based word processor, an understanding of +frames and framesets is necessary for all but the most simple of documents.</para> + +<para>This section is designed to give you a firm understanding of how +to create, destroy and manipulate frames so &kword; can provide you with +the exact document you want.</para> + +<sect2 id="framesets"> +<title>Framesets</title> +<indexterm><primary>framesets</primary><secondary>introduction</secondary></indexterm> + +<para>Before we continue our discussion of Frames, its important that we +define a couple terms now:</para> + +<variablelist> +<varlistentry> +<term>Frame</term> +<listitem> +<para>A frame is a rectangular space on the page. This space defines an +area where text (or other data), can be placed.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term>Frameset</term> +<listitem> +<para>A frameset is a group of frames. Each frame in the frameset has a +position within the frameset</para> + +<para>The position is determined by their placement on the page. If frames extend across the entire width of the page, the frame which begins closest +to the top of the page is Frame #1. The next frame that is closest to the top of the page is Frame #2, etc. +If the frames do not extend across the width of the page, the frame whose +left edge is closest to the left margin will be frame #1. In this case, +the vertical position of the frame is ignored.</para> + +<para>All text flows from one frame to another <emphasis>within a +frameset, and only within a frameset.</emphasis> Text flows from frame +to frame within the frameset <emphasis>according to the position of each +frame</emphasis> on the page (and therefore the order of the frames within the frameset).</para> + +<para>As an example: If we have a frameset that consists of three +frames (#1, #2, and #3).</para> + +<para>As we type text into Frame #1, the text is shaped to the outline +of Frame #1.</para> + +<para>When the text will no longer fit within Frame #1, it is +automatically continued into Frame #2.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>Text moves freely between frames +within a frameset. If you insert text in the middle of a frame, all text after the inserted text is +rearranged as you type.</para> + +</sect2> + +<sect2 id="select-frame"> +<title>Selecting a frame</title> +<indexterm><primary>frames</primary><secondary>selecting</secondary></indexterm> + +<para>You can select a frame within a frameset two ways:</para> +<itemizedlist> +<listitem><para>By clicking on the text frame border of the frame you want +to select. </para></listitem> +<listitem><para>By holding down the &Ctrl; key and clicking anywhere within the frame.</para></listitem> +</itemizedlist> +<para>There should now be 8 squares around the edges of the frame.</para> + +</sect2> +<sect2 id="add-text-frame"> +<title>Adding a Text Frame to a Document</title> +<indexterm><primary>frames</primary><secondary>adding a text frame</secondary></indexterm> + +<para>Adding a text frame can be done one of three ways:</para> + +<itemizedlist> +<listitem> +<para>By selecting <menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Text +Frame</guimenuitem></menuchoice> from the menubar</para> +</listitem> + +<listitem> +<para>You can use the keyboard shortcut: +<keycombo><keycap>F10</keycap></keycombo></para> +</listitem> + +<listitem> +<para>or by clicking <inlinemediaobject><imageobject><imagedata +fileref="tfcreatebut.png" +format="PNG"/></imageobject></inlinemediaobject> on the toolbar.</para> +</listitem> +</itemizedlist> + +<para>Whatever method you choose, &kword; responds by changing the cursor +to a set of cross hairs.</para> + +<para>Using the mouse, place the crosshairs at the desired position of the upper left corner of the +new text frame.</para> + +<para>Click once with the &LMB;.</para> + +<para>Alternative, first position the text caret at the place where you want to insert +the frame. When the mouse cursor changes to crosshairs, press &Enter;. +</para> + +<para>A dialog box appears.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="formframe3.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>This dialog box is used to determine which frameset this new frame will belong to.</para> + +<para>Using the screenshot as an example, a new text frame has been created in a +document which currently has two framesets (called <guilabel>Text Frameset +1</guilabel>, and <guilabel>Text Frameset 2</guilabel>).</para> + +<para>You now have the option of either:</para> + +<variablelist> +<varlistentry> +<term>Add the new frame to one of the previously created +framesets.</term> + +<listitem><para>To do this, simply select the frameset you want the new frame to belong to. + (Either <guilabel>Text Frameset 1</guilabel>, or +<guilabel>Text Frameset 2</guilabel> in the example.)</para> + +<para>When this text frame is created, the new text frame will become +a member of the selected frameset.</para> +</listitem> +</varlistentry> + +<varlistentry><term>Create a new frameset. </term> + +<listitem><para>If you want this to be a new frameset, you should enter a descriptive +name for your new frameset. (A name which will tell you what you might +find in that frameset). This name should be entered in the text box +labeled <guilabel>Name of frameset:</guilabel>.</para> +<para>This newly added frame will be the +only frame in the frameset.</para> +</listitem></varlistentry> +</variablelist> + +<para>The other tabs in this dialog box, can be used to set some options +for this frame. For more information on these options, see the section +entitled <link linkend="format-frame">Setting the properties for a frame</link>.</para> + +<para>If you click <guibutton>OK</guibutton>, the new frame will be +created.</para> + +<para>If you click <guibutton>Cancel</guibutton>, the new frame will not +be created, and you will be returned to editing your document.</para> + +<tip> +<para>By default, &kword; creates a small frame with the upper left corner of the +frame located on the page where you clicked with the mouse cursor. After the frame is +created, you are expected to reshape the frame to fit your needs.</para> + +<para>If you would prefer to establish the shape of your frame <emphasis>while you are +creating</emphasis> the frame, simply click the &LMB; where you want the upper left corner to +be placed and hold the button down. Drag the mouse towards the opposite corner of the frame to establish the +boundaries of the new frame. As +you drag the mouse, you will see a box drawn. This box represents the +boundaries of your new text frame. When you are satisfied with the size and shape of the new text +frame, release the mouse button. </para></tip> + +</sect2> + +<sect2 id="delete-frame"> +<title>Deleting a Frame From a Document</title> +<indexterm><primary>frames</primary><secondary>deleting</secondary></indexterm> + +<para>You may decide you no longer need a frame in your document. You +could leave it blank (so it would not be visible in the final output), +but you should delete it to keep your document as simple as +possible.</para> + +<para>Begin by clicking on the text frame border of the frame you want +to delete. (Or holding down the &Ctrl; key and clicking inside the frame with the +&LMB;.)</para> + +<para>There are now 8 squares on the edges of the frame.</para> + +<para>If this is the frame you want to delete, you can do so by:</para> + +<itemizedlist> +<listitem> +<para>Press the <keycap>Delete</keycap> key.</para> +</listitem> + +<listitem> +<para>Selecting <menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Delete +Frame</guimenuitem></menuchoice> from the menubar</para> +</listitem> + +<listitem> +<para>While the cursor is on the border of the frame you want to delete, +click once with the &RMB;. A small menu will appear. Select <guimenuitem>Delete +Frame</guimenuitem>.</para> +</listitem> +</itemizedlist> + + +</sect2> + +<sect2 id="move-frame"> +<title>Moving a Frame</title> +<indexterm><primary>frames</primary><secondary>moving</secondary></indexterm> + +<para>Moving a frame around on the page is easy.</para> + +<para>Begin by clicking on the text frame border of the frame you want +to move. (Or holding down the &Ctrl; key and clicking inside the frame with the +&LMB;.)</para> + +<para>There are now 8 squares on the edges of the frame.</para> + +<para>Click and hold the &LMB; on the border again and drag the cursor in the direction you want to move the +frame.</para> + +<para>You will see an outline of the frame as you move it. When the +outline is where you want it, release the mouse button.</para> + +<tip><para>A faster way to move the frame, can be done by holding down the +&Ctrl; and &Shift; keys on the keyboard and click and hold with the &LMB;. Drag +the mouse cursor on the page and when the frame is in the correct location, release +the &LMB;.</para></tip> + + +</sect2> + +<sect2 id="resize-frame"> +<title>Resizing a Frame</title> +<indexterm><primary>frames</primary><secondary>resizing</secondary></indexterm> + +<para>It is also easy to change the size or shape of a frame.</para> + +<para>Begin by clicking on the text frame border of the frame you want +to change. (Or holding down the &Ctrl; key and clicking inside the frame with the +&LMB;.) This selects +this frame as the current frame.</para> + +<para>There are now 8 squares on the edges of the frame. By moving +these squares, you will be able to drag the frame border(s) to a new +location.</para> + +<para>Each square will move a different combination of borders.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="framers.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>As an example: To move the bottom border of a frame, place the +mouse over the box at the six o'clock position in the frame. When the +mouse is over the box, it will change to a double headed arrow.</para> + +<para>Now click with the &LMB; +and hold the button down. As you move the mouse up and down on the +page, you will see that the frame changes shape to match the movements of +the mouse. When the bottom edge of the frame is at the new location, +simply release the mouse button, and the changes will become +permanent.</para> + +<note> +<para>If you are using a Text Oriented Template, you cannot change +the size of the primary frame by dragging the edges of the frame. If you +want to resize this frame, you must do so by <link +linkend="page-format">Changing the margins</link> </para> +</note> + +</sect2> + +<sect2 id="connect-frame"> +<title>Reconnecting Frames in a Frameset/Changing text flow.</title> +<indexterm><primary>frames</primary><secondary>create/edit framesets</secondary></indexterm> + +<para>Normally, each new text frame is created with a specific +purpose. Sometimes, however, as the document is changed, changes to the text flow +will need to be made. To accomplish this, you will need +to know how to move a frame from one frameset to another.</para> + +<para>First click on the frame border of the frame you want to +move to another frameset.</para> + +<para>You can change the frameset of the currently selected frame by +selecting <menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Frame/Frameset Properties</guimenuitem></menuchoice> +from the menubar</para> + +<tip><para>You can also accomplish this by clicking on the frame border once with the &RMB;, and selecting +<guilabel>Frame/Frameset Properties...</guilabel> from the popup menu.</para></tip> + +<para>This will bring up a dialog box with five tabs. Select the tab +labeled <guilabel>Connect Text Frames</guilabel>.</para> + +<para>You will be presented with a list of framesets. Simply select the new +frameset.</para> + +<para>When you click <guibutton>OK</guibutton>, the currently selected frame will be added +to that frameset.</para> + +</sect2> + +<sect2 id="raise-frame"><title>Raise and Lower Frames</title> +<indexterm><primary>frames</primary><secondary>raise</secondary></indexterm> +<indexterm><primary>frames</primary><secondary>lower</secondary></indexterm> + +<para>When two frames occupy the same place on a page, they must overlap. +When they overlap, one frame sits <emphasis>above</emphasis> the other frame.</para> +<para>You can raise and lower the frames to change which frame sits above the other frames by using four commands.</para> + +<variablelist> +<varlistentry> +<term>Bring to Front</term> +<listitem><para>To raise a frame, select the frame by clicking once on the frame border with the &LMB;.</para> +<para>Select <menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Bring to Front</guimenuitem> +</menuchoice> from the menubar.</para> +<para>This will place the frame on top of <emphasis>all other frames</emphasis> that it overlaps.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term>Raise Frame</term> +<listitem><para>To raise a frame, select the frame by clicking once on the frame border with the &LMB;.</para> +<para>Select <menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Raise Frame</guimenuitem> +</menuchoice> from the menubar.</para> +<para>This will move the frame up <emphasis>one level</emphasis> of any frame that it overlaps.</para> +<tip><para>Pressing <keycombo action="simul">&Ctrl;&Shift;<keycap>R</keycap></keycombo> is the +same as selecting <guilabel>Raise Frame</guilabel> from the menubar.</para></tip> +</listitem> +</varlistentry> + +<varlistentry> +<term>Send to Back</term> +<listitem><para>To lower a frame, select the frame by clicking once on the frame border with the &LMB;.</para> +<para>Select <menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Send to Back</guimenuitem> +</menuchoice> from the menubar.</para> +<para>This will place the frame below <emphasis>all other frames</emphasis> that it overlaps.</para> +</listitem></varlistentry> + +<varlistentry> +<term>Lower Frame</term> +<listitem><para>To lower a frame, select the frame by clicking once on the frame border with the &LMB;.</para> +<para>Select <menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Lower Frame</guimenuitem> +</menuchoice> from the menubar.</para> +<para>This will move the frame down <emphasis>one level</emphasis> of any frame that it overlaps.</para> +<tip><para>Pressing <keycombo action="simul">&Ctrl;&Shift;<keycap>L</keycap></keycombo> is the +same as selecting <guilabel>Lower Frame</guilabel> from the menubar.</para></tip> +</listitem></varlistentry> +</variablelist> + +</sect2> + +<sect2 id="hard-break"> +<title>Hard Frame Breaks</title> +<indexterm><primary>frames</primary><secondary>frame breaks</secondary></indexterm> +<indexterm><primary>page breaks</primary></indexterm> + +<para>A hard frame break is a special formatting character. It is +invisible on the final printed output.</para> + +<para>The purpose of a hard frame break, is to force all the +text that follows it into the next frame in the frameset.</para> + +<para>If we have the following sentence: <quote>We have nothing to +fear but fear itself</quote></para> + +<para>and we insert a Hard Frame Break, just before the word +<quote>but</quote>, we will end up with one frame containing <quote>We have nothing +to fear</quote>, and the next frame in the frameset beginning with +<quote>but fear itself</quote>.</para> + +<para>To add a Hard Frame Break, you should first place the keyboard +cursor where you want the break to be located in the document.</para> + +<para>A Hard Frame Break can be inserted one of two ways:</para> + +<itemizedlist> +<listitem> +<para>Select <menuchoice> <guimenu>Insert</guimenu><guimenuitem>Page Break</guimenuitem></menuchoice> from the menubar</para> +</listitem> + +<listitem> +<para>You can use the keyboard shortcut: +<keycombo><keycap>Ctrl</keycap><keycap>Return</keycap></keycombo></para> +</listitem> +</itemizedlist> + +<para>If you want to remove a Hard Frame Break, you simply delete it +like you would any other character.</para> +<tip><para>Since this is not a character that +you can normally see in &kword;, it will be easier to delete a Hard Frame Break with the following procedure.</para> + +<orderedlist> + +<listitem><para>Select <menuchoice> +<guimenu>View</guimenu><guimenuitem>Formatting +Characters</guimenuitem></menuchoice> from the menubar. This will make the breaks visible.</para></listitem> + +<listitem><para>Find the newly revealed Page Break, labeled <guilabel>--- Frame Break ---</guilabel>. + Place the mouse pointer in +front of this and click once with the &LMB;. This will place the cursor directly in front of the page break.</para></listitem> + +<listitem><para>Now press the <keycap>Delete</keycap> key.</para></listitem> +</orderedlist></tip> + +</sect2> + +</sect1> diff --git a/doc/kword/framestylist.png b/doc/kword/framestylist.png Binary files differnew file mode 100644 index 00000000..9f6b059e --- /dev/null +++ b/doc/kword/framestylist.png diff --git a/doc/kword/fundimentals.docbook b/doc/kword/fundimentals.docbook new file mode 100644 index 00000000..2556809d --- /dev/null +++ b/doc/kword/fundimentals.docbook @@ -0,0 +1,178 @@ +<chapter id="fundamentals"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> + +<title>Fundamentals</title> +<para>This section of the documentation discusses starting &kword;, introduces the user to templates and +discusses an important difference between two major types of templates.</para> + + +<sect1 id="starting-kword"> +<title>Starting &kword;</title> +<indexterm><primary>starting &kword;</primary></indexterm> + +<para>&kword; can be started one of four ways:</para> + +<orderedlist> +<listitem> +<para>You can select &kword; through the system menus, under: +<menuchoice><guimenu>K-Button</guimenu><guimenuitem>Office</guimenuitem> +<guimenuitem>KWord</guimenuitem></menuchoice>.</para> +</listitem> + +<listitem> +<para>If you are in a terminal program (&konsole;, <application>Xterm</application>, &etc;), you can type: +<screen><prompt>$</prompt> <userinput><command>kword &</command></userinput></screen></para> + +<para>Or</para> + +<para><screen><prompt>$</prompt> <userinput><command>kword</command> <replaceable>filename</replaceable> &</userinput></screen></para> +</listitem> + +<listitem> +<para>Using &konqueror;, you can click on your data file (&kword; +documents end in <literal role="extension">.kwd</literal>). This will +automatically start &kword; and begin editing the file.</para> +</listitem> + +<listitem> +<para>Using the &koffice; Workspace.</para> +</listitem> +</orderedlist> + +</sect1> + +<sect1 id="template-intro"> + +<title>An Introduction to Templates</title> +<indexterm><primary>templates</primary><secondary>introduction</secondary></indexterm> + +<para>OK, so the first question a new user may have is:</para> + +<para><emphasis>Why do I need to use a frames based word processor, when +I am perfectly happy writing my letters on my current (page layout) word +processor? </emphasis></para> + +<para>Well the good news is, adjusting to a frames based word processor +is easy and once a template is selected, &kword; can act just like a +page layout word processor. There are templates +available for simple correspondence and day to day use.</para> + +<para>When a more complex document (newsletters, +posters, &etc;) needs to be created, you will not need to switch to a different +application to generate these special documents. There are templates in +&kword; which will help generate newsletters or other more +complicated documents.</para> + +<para><emphasis>What are templates and what can they do for +the user?</emphasis></para> + +<para>A template can be thought of as an initial mold for a document.</para> + +<para>When a user sits down to write a document, they already have an idea of +what the final product will look like. If they are writing a letter to a +business, a document with only one column, which goes all the +way across the page, and from top to bottom of the page is appropriate. When a user sits +down to author a newsletter for a local organization, however, they may +want a large title across the top, and several columns for quick news +articles.</para> + +<para>With &kword;, this predetermined notion of how the +document should look is used to select a template. By using a template, +a set of frames is created to approximate this final layout. For +a business letter, a document with one large frame that covers the +page from top to bottom and side to side would be selected. +For a newsletter, however, a two or +three column document is more appropriate. Once this +template is selected, &kword; will create the frames automatically.</para> + +<para><emphasis>What if the user decides to change the +layout after a template is selected?</emphasis></para> + +<para>This is not a problem. If a document begins as a single +column document and it is decided later that two columns is better, another column can be added. +The purpose of templates is not to +limit the ability to change the layout of a document, but rather to take some of the +work load off the user whenever possible. Choosing the correct template when +beginning a document will simplify the formatting (as opposed to +always selecting the default template and making changes later). +Choosing the wrong template +will not limit the flexibility of the document later on.</para> + +<para>The next section, consists of one more important topic which +you should understand before we begin using &kword;.</para> + +</sect1> + +<sect1 id="wp-vs-dtp"> + +<title>The difference between Text Oriented and Page Layout +templates</title> +<indexterm><primary>templates</primary><secondary>Text oriented/Page Layout</secondary></indexterm> + +<para>It is vital that the +difference between Text Oriented and Page Layout templates is clear in +your mind.</para> + +<variablelist> +<varlistentry> +<term>Text Oriented</term> +<listitem> +<para>The Text Oriented templates are designed to act like page-oriented +word processors. When you select a Text Oriented template, you will +create a template with one or more frames. The first frame is distinctly +tied to the paper size of your document. When you increase or decrease +the paper size or change the margins, the frame size is automatically +adjusted. You are <emphasis>not</emphasis> able to move this frame +around on the page and you cannot delete this frame. If you need to +adjust the size or position of this frame, you must <link +linkend="page-format">adjust the margins</link>. On top of the first +frame, you can, of course, add additional frames. These frames can +contain pictures, text or whatever you want. These new frames can be +moved, re-sized and deleted to suit your needs. If you want it, &kword; +will even wrap the text from the first frame around any information in +any subsequent frames.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term>Page Layout</term> +<listitem> +<para>These templates are designed for desktop publishing. When you +select a template from this class, all of the frames are created +equal. This is where the difference between Page Layout and Text +Oriented template lies. None of the frames in a Page Layout template are +tied to the page as tightly as the main frame in a Text Oriented +template is. Each of the frames is independent of the page size, and can +be moved or re-sized without changing margins, &etc; Of course this also +means that altering the margins or paper size of your document requires +that you individually move/resize each frame. </para> + +<note><para>In addition to not having a main text frame, Page Layout +documents cannot use the automatic headers or footers (though these can be +added in as frames). Additionally, footnotes must be managed by hand while +in Page Layout Mode.</para></note> + +</listitem> +</varlistentry> +</variablelist> + +<para>As you can see, the choice between Page Layout and Text Oriented +templates is a choice between flexibility (Page Layout) and convenience +(Text Oriented). You can create any document you like with either type +of template.</para> + +<para>If the concept of templates is still unclear, please follow along +with the following tutorial. The first document you create will use a +Page Layout template. This should help clarify exactly how templates +function.</para> + +</sect1> +</chapter> diff --git a/doc/kword/graphics.docbook b/doc/kword/graphics.docbook new file mode 100644 index 00000000..6e46b5ec --- /dev/null +++ b/doc/kword/graphics.docbook @@ -0,0 +1,238 @@ +<sect1 id="graphics"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Graphics</title> +<indexterm><primary>graphics</primary><secondary>introduction</secondary></indexterm> + +<para>&kword; is very good at handling textual information. &kword; can also be used to incorporate +graphical images with text. </para> +<tip><para>A source of great clipart that is free to use is the <ulink url="http://www.openclipart.org">Open Clip Art Library</ulink>. This project has a large collection of vector graphics indexed and sorted by category, all released into the public domain.</para></tip> +<para>Pictures can be inserted into a document as either <emphasis>framed</emphasis> or <emphasis>inline</emphasis> images.</para> +<para>Framed images are pictures that have a frame around them. The frame around a picture functions +exactly the same as a frame around text. It contains the picture and determines the size and shape of the picture.</para> +<para>An inline image has a frame around it, but this frame is inserted <emphasis>within</emphasis> the current text +frame. If text is inserted in front of the picture, the picture travels down the frame just like any text would. This means the picture will +stay in the same area of the page as the text that surrounds it.</para> +<para>Framed pictures, on the other hand, need to be moved by hand on the page. </para> + +<para>&kword; can use pictures <link linkend="insert-graphics">already stored in a file</link> or <link linkend="scan-graphics"> acquire an image from a scanner</link>.</para> +<sect2 id="insert-graphics"><title>Insert Graphics from a file</title> +<indexterm><primary>graphics</primary><secondary>inserting</secondary></indexterm> + +<para>There are three ways to insert a picture into a document:</para> +<itemizedlist> +<listitem> +<para>By selecting <menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Picture...</guimenuitem></menuchoice> from +the menubar</para> +</listitem> + +<listitem> +<para>Using the keyboard shortcut: <keycombo action="simul">&Shift;<keycap>F5</keycap></keycombo></para> +</listitem> + +<listitem> +<para>or by clicking <inlinemediaobject><imageobject><imagedata +fileref="fpicture.png" +format="PNG"/></imageobject></inlinemediaobject> on the toolbar.</para> +</listitem> +</itemizedlist> + +<para>All three methods open a file selection dialog.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="insgrph1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para><link linkend="file-dialog">Use this dialog</link> to select the picture.</para> + +<tip><para>Pressing <keycap>Esc</keycap> at this point will cancel the insertion of a picture into your document.</para></tip> + +<para>Once the appropriate picture file is located, click on the filename once with the &LMB;. Click +<guibutton>OK</guibutton> to continue.</para> +<para>A new dialog box appears.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="insgrph2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>The right half of this dialog box contains a preview window. The picture should be visible in this window.</para> +<para>The left part of this box contains one button and two check boxes.</para> +<variablelist> +<varlistentry> +<term><guibutton>Choose Picture...</guibutton></term> +<listitem><para>Click this button and &kword; will open a +new file dialog to choose a different picture.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Insert Picture Inline</guilabel></term> +<listitem><para>If there is a mark in this check box, the picture will be an inline picture. If there is no mark, a new frame will be +created. For details on the differences, see the <link linkend="graphics">introduction</link>.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Retain original aspect ratio</guilabel></term> +<listitem><para><glossterm linkend="defaspectratio">Aspect ratio</glossterm> is defined in the &kword; glossary.</para> +<para>If a there is a mark in this check box, &kword; will not allow any change the aspect ratio of the picture. This prevents +inappropriate stretching and compressing of the image. It will still be possible to change the overall size of the image, but it +will not be possible to change the horizontal measurement without also changing the vertical measurement.</para> +<para>If there is no mark in this check box, the horizontal and vertical sizes of the picture can be changed independently.</para> +</listitem> +</varlistentry> +</variablelist> +<para>To insert the picture, click <guibutton>OK</guibutton>. To abort the picture entirely, click <guibutton>Cancel</guibutton>.</para> +<para>If an inline picture was selected, click with the mouse in the appropriate location. The picture will be inserted.</para> +<para>If a framed picture was selected, the mouse cursor will change to crosshairs. Locate one corner of the location of the new picture +frame with the mouse. Click and hold the &LMB; down. Drag the cursor to adjust the size of the picture frame. When the size of the +picture frame is correct, release the &LMB;. &kword; will insert the picture into the frame, and resize the picture to fit within the +frame.</para> +</sect2> + +<sect2 id="scan-graphics"><title>Using a picture from a scanner</title> +<note><para>A complete discussion of how to operate a scanner is beyond the scope of this documentation. This document will confine itself to the controls available in &kword; but will not +go into detail on the use of these controls.</para></note> +<para>To use a scanner to insert a picture into your kword document, begin by selecting <menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Scan Image...</guimenuitem></menuchoice> from +the menubar.</para> +<para> &kword; will open a dialog box for you to choose your scanner. Simply click on the radio button to the left of your scanner. Then click <guibutton>OK</guibutton>. This will bring up the scanning dialog:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="scan.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>You should begin by selecting the image type that you want to scan and the resolution. First determine the picture type using the drop down box labeled +<guilabel>Scan Mode</guilabel>. You can choose between <guilabel>Color</guilabel>, <guilabel>Greyscale</guilabel> or <guilabel>Binary</guilabel> image.</para> +<para>If you want to select a different scanner, click the <guibutton>Source...</guibutton> button.</para> +<para>If you have selected a <guilabel>Binary</guilabel> image, you can use the drop down box labeled <guilabel>Halftoning</guilabel> to select your halftone protocol.</para> +<para>Select your resolution using the drop down box labeled <guilabel>Resolution</guilabel></para> +<para>Now place the object you want to scan in the scanner and click <guibutton>Preview Scan</guibutton>. Your scanner will take a low resolution +scan and preview it in the window in the far right of the dialog</para> +<para>Using your mouse, click on the upper left corner of he area you want to scan with the &LMB; and hold the button down. Drag the mouse down and +to the right to create a box for a high-resolution scan. When you have an appropriate sized box, release the &LMB;. Once the box is drawn, you +can adjust the selection box using the mouse. </para> +<para>You can refer to the box to the left of the preview window labeled <guilabel>Selection</guilabel>. This box will show you the height and +width of your selection and the amount of disk space you will need to store this image in the &kword; file. </para> +<para>Once you are satisfied with the size and position of the selection box, click <guibutton>Final Scan</guibutton>. The scanner will scan the selected area at the resolution you selected. </para> +<para>When the scanner is finished, click <guibutton>Close</guibutton> to close the dialog box. Your cursor will now be crosshairs. Using this cursor, draw the size and position you want your picture on the +page. The scanned image will be inserted in a separate frame. You can now adjust the size of the picture by <link linkend="resize-frame">changing the size of the frame</link></para> +<sect3 id="scan-adjust"><title>Adjusting the image prior to final scanning</title> +<para>You can use the lower left part of this dialog to adjust your image prior to scanning. </para> +<para>By moving the slider bar labeled <guilabel>Threshold</guilabel> you can adjust the cutoff point of white in the scanned image. </para> +<para>By moving the slider bars labeled <guilabel>Brightness</guilabel> and <guilabel>Sharpness</guilabel> you can adjust the relative brightness and the sharpness of the scanned image.</para> +<note><para>The preview window will not show you the effects of changes to your scanned image in the preview window.</para></note> +<para>You can select from one of three pre-defined gamma tables or you can select the <guilabel>User defined</guilabel> option from the drop +down box labeled <guilabel>Use custom gamma table</guilabel>. If you selected <guilabel>User defined</guilabel> you can click the <guibutton>Edit...</guibutton> +to alter the <guilabel>Brightness</guilabel>, <guilabel>Contrast</guilabel> and <guilabel>Gamma</guilabel> for your customized gamma table. </para> +</sect3> +<sect3 id="scan-preview"><title>Adjusting the preview scan size</title> +<para>If you know the size of the object you are scanning, you can select the preview area from the drop-down box labeled <guilabel>Scan size</guilabel>. You can also use the radio buttons +labeled <guibutton>Landscape</guibutton> and <guibutton>Portrait</guibutton> to change the orientation of the preview area.</para> +<note><para>Changing the orientation between portrait and landscape does not change the orientation of the scanned text or image.</para></note> +</sect3> +<sect3 id="scan-autosel"><title>Using auto-selection</title> +<para>&kword; can try to automatically select the object you want to scan. It does this by looking for an area within the preview window that seems to +define an object in the picture. By default this option is disabled. You can enable autoselection in this dialog.</para> +<para>The autoselection area of the dialog is located just to the left of the preview window in the middle of the dialog box. It consists of three controls:</para> +<variablelist> +<varlistentry> +<term>Checkbox</term> +<listitem><para>If a mark is placed in the checkbox, auto-selection is enabled. + If there is no mark in the checkbox, then auto-selection is disabled.</para></listitem> +</varlistentry> +<varlistentry> +<term>Drop down box</term> +<listitem><para>This drop down box contains two possible choices: <guilabel>Black</guilabel> and <guilabel>White</guilabel>. If +<guilabel>Black</guilabel> is chosen, then &kword; will look for an area surrounded by black to select automatically. +If <guilabel>White</guilabel> is chosen, then &kword; will look for an area surrounded by white to select automatically.</para></listitem> +</varlistentry> +<varlistentry> + +<term>Slider bar labeled <guilabel>Threshold</guilabel></term> +<listitem><para>By adjusting this slider bar, you determine the threshold auto-selection uses to determine the area to select automatically.</para></listitem> +</varlistentry> +</variablelist> +</sect3> +<sect3 id="scan-misc"><title>Miscellaneous scanning options</title> +<para>There are two additional options for scanning that are accessed by clicking on the <guilabel>Options</guilabel> tab.</para><screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="scan2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>The checkbox labeled <guilabel>Ask for the scan device on plugin startup</guilabel> toggles the scanner selection dialog on and off. If there is a mark in this +checkbox, &kword; will ask you to select your scanner each time you insert a scanned image into your document. If there is no mark, then &kword; uses the previously +selected scanner. If you have access to only one scanner, or you only use one scanner, you should remove any mark from this box.</para> +<para>The checbox labled <guilabel>Query the network for scan devices</guilabel> is also used to select scanners. If there is a mark in this checkbox, +&kword; will check your local network for scanners that are avaialbe. If there is no mark in this box, &kword; will only look for scanners connected directly to +your machine.</para> +<para>To save these options, click <guibutton>Close</guibutton>.</para> + +</sect3> + +</sect2> +<sect2 id="resize-Graphics"><title>Changing the size of a picture</title> +<indexterm><primary>graphics</primary><secondary>change the size of</secondary></indexterm> + +<para>Resizing a picture is done by changing the size of the frame that surrounds it. &kword; will automatically change the picture to fill the +entire frame.</para> +<para>For information on changing the size of a frame, see <link linkend="resize-frame">Resizing frames</link>. </para> +</sect2> +<sect2 id="move-graphics"><title>Move Pictures</title> +<indexterm><primary>graphics</primary><secondary>moving</secondary></indexterm> + +<para>The only way to move an inline image around on the page, is to alter the flow of the text that surrounds it. If this +is causing problems, the picture can always be <link linkend="switch-graphics">changed to a framed picture</link>.</para> +<para>To move a framed picture in &kword; is the same as <link linkend="move-frame">moving any frame</link> in &kword;.</para> + +</sect2> +<sect2 id="delete-graphics"><title>Delete Graphics</title> +<indexterm><primary>graphics</primary><secondary>deleting</secondary></indexterm> + +<para>To delete a graphic in &kword;, simply <link linkend="delete-frame">delete the frame</link> around it.</para> +</sect2> +<sect2 id="save-graphics"><title>Saving Graphic in separate file</title> +<indexterm><primary>graphics</primary><secondary>saving in a separate file</secondary></indexterm> + +<para>You can save a picture or graph to a separate file (for use in another document or to archive the graphic).</para> +<para>Simply click once on the graphic with the &RMB;. A popup menu will appear. Select <guilabel>Save Picture...</guilabel>. +A dialog will appear that will allow you to specify where to save the graphic.</para> +<note><para>This does not remove the picture from the &kword; document file. It is simply a way to extract a picture from a +document so it can be archived or used in another application.</para></note> +</sect2> + +<sect2 id="switch-graphics"><title>Switching between inline and framed pictures</title> +<indexterm><primary>graphics</primary><secondary>switching between inline and framed</secondary></indexterm> + +<para>Switching between inline pictures and framed pictures is easy in &kword;.</para> +<sect3 id="inline-to-frame"><title>Change an inline picture to a framed picture</title> +<para>To change in inline picture to a framed picture, click on the desired picture with the &LMB; once. This selects the frame +of the picture.</para> +<para>Now click and hold with the &RMB; and a popup menu will appear. In this menu, is an item labeled +<guilabel>Inline Frame</guilabel>, with a mark in front of it. Select this option by clicking with the &LMB;.</para> +<para>The frame is now +an independent and can be moved around freely.</para> +</sect3> +<sect3 id="frame-to-inline"><title>Change a framed picture to an inline picture</title> +<para>To change a framed picture into an inline picture, click on the desired picture with the &LMB; once. This selects the frame +of the picture.</para> +<para>Now click and hold with the &RMB; and a popup menu will appear. In this menu, is an item labeled +<guilabel>Inline Frame</guilabel>. Select this option by clicking with the &LMB;.</para> +<para>&kword; has now converted this to an inline frame.</para> +<note><para>&kword; tries to make a reasonable estimation of where in the text the inline image should be inserted.</para> +</note> +</sect3> +</sect2> +</sect1> + diff --git a/doc/kword/headerfooter.docbook b/doc/kword/headerfooter.docbook new file mode 100644 index 00000000..25221cd6 --- /dev/null +++ b/doc/kword/headerfooter.docbook @@ -0,0 +1,57 @@ +<sect1 id="headers-and-footers"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Headers/Footers</title> +<indexterm><primary>headers</primary><secondary>using</secondary></indexterm> +<indexterm><primary>footers</primary><secondary>using</secondary></indexterm> + +<sect2 id="headers-and-footers-intro"><title>Introduction</title> +<para>With multi-page documents, you might want to provide certain +information at the top or bottom of each page throughout the document. +Headers or footers can provide the reader with important information and they tie your +documents together visually. </para> + +<para>Headers and footers are special frames. +You can edit the text and data within the headers and +footers just as you would any other text frame. What makes headers and footers +different from most other frames in &kword; is that they are automatically created at the top and bottom +of each page.</para> + +<note><para>Headers and footers are only available when using text oriented templates.</para></note> +</sect2> +<sect2 id="headers-and-footers-use"><title>Using headers and footers</title> +<para>You can toggle headers and footers on and off independently at any +time.</para> + +<para>You can toggle the headers by selecting <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Enable/Disable Document Headers</guimenuitem></menuchoice> +from the menubar.</para> + +<para>You can toggle the footers by selecting <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Enable/Disable Document Footers</guimenuitem></menuchoice> +from the menubar.</para> + +<para>The footers will be +added below the margins you set under page setup. The text within the +main frames will be moved so the headers and/or footers do not overlap +any text.</para> + +<para>Since headers and footers are simply text frames that are placed on each page, you can use all of the +tools and techniques you are familiar with to create your header and footer information.</para> + +<para>For more information on options for headers and footers, see the section on +<link linkend="page-format">Formatting the page</link>. </para> +<para>For information on page numbers see the section on <link linkend="page-number">Page Numbering</link>.</para> +<para>For information on formatting the frame, see the section on +<link linkend="format-frame">Setting the Properties for a Frame</link>.</para> +<para>For an example of how to place the page numbers on the outside of even and odd pages, see the +<link linkend="qd-page-numbers">How do I?</link> section.</para> +</sect2> +</sect1> diff --git a/doc/kword/incindbut.png b/doc/kword/incindbut.png Binary files differnew file mode 100644 index 00000000..0ecefb2f --- /dev/null +++ b/doc/kword/incindbut.png diff --git a/doc/kword/index.docbook b/doc/kword/index.docbook new file mode 100644 index 00000000..3a07e5c8 --- /dev/null +++ b/doc/kword/index.docbook @@ -0,0 +1,1852 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kappname "&kword;"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY fundamentals SYSTEM "fundimentals.docbook"> + <!ENTITY tutorial SYSTEM "tutorial.docbook"> + <!ENTITY basics SYSTEM "basics.docbook"> + <!ENTITY storeprint SYSTEM "storeprint.docbook"> + <!ENTITY editing SYSTEM "editing.docbook"> + <!ENTITY pageformat SYSTEM "pageformat.docbook"> + <!ENTITY frames SYSTEM "frames.docbook"> + <!ENTITY formatframe SYSTEM "formatframes.docbook"> + <!ENTITY formatpara SYSTEM "formatpara.docbook"> + <!ENTITY tabstops SYSTEM "tabstops.docbook"> + <!ENTITY formatcharacters SYSTEM "formatchar.docbook"> + <!ENTITY styles SYSTEM "styles.docbook"> + <!ENTITY columns SYSTEM "columns.docbook"> + <!ENTITY tabls SYSTEM "table.docbook"> + <!ENTITY headersfooters SYSTEM "headerfooter.docbook"> + <!ENTITY templatecreation SYSTEM "templatecreation.docbook"> + <!ENTITY guides4 SYSTEM "kwordguides4.docbook"> + <!ENTITY mbtb SYSTEM "mbtb.docbook"> + <!ENTITY opt SYSTEM "opt.docbook"> + <!ENTITY filedlg SYSTEM "filedlg.docbook"> + <!ENTITY techstuff SYSTEM "techinfo.docbook"> + <!ENTITY graphics SYSTEM "graphics.docbook"> + <!ENTITY toc SYSTEM "toc.docbook"> + <!ENTITY parts SYSTEM "kparts.docbook"> + <!ENTITY formulas SYSTEM "formulas.docbook"> + <!ENTITY lists SYSTEM "lists.docbook"> + <!ENTITY variables SYSTEM "docvariables.docbook"> + <!ENTITY expressions SYSTEM "expressions.docbook"> + <!ENTITY links SYSTEM "doclinks.docbook"> + <!ENTITY comments SYSTEM "doccomments.docbook"> + <!ENTITY footend SYSTEM "footendnotes.docbook"> + <!ENTITY a11y SYSTEM "a11y.docbook"> + <!ENTITY struct SYSTEM "docstruct.docbook"> + <!ENTITY mmerge SYSTEM "mailmerge.docbook"> + <!ENTITY insfile SYSTEM "insertfile.docbook"> + <!ENTITY bookmarks SYSTEM "bookmarks.docbook"> + <!ENTITY migrating SYSTEM "migrating.docbook"> + <!ENTITY chapnumb SYSTEM "chapnumb.docbook"> + + <!ENTITY % English "INCLUDE" > <!-- change language only here --> +]> + +<book lang="&language;"> +<bookinfo> +<title>The &kword; Handbook</title> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<author> +<firstname>Gary</firstname> +<surname>Cramblitt</surname> +<affiliation> +<address><email>garycramblitt@comcast.net</email></address> +</affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +<copyright> +<year>2000-2006</year> +<holder>Michael McBride</holder> +</copyright> +<copyright> +<year>2006</year> +<holder>Gary Cramblitt</holder> +</copyright> + +<legalnotice>&FDLNotice;</legalnotice> + +<date>2006-04-23</date> +<releaseinfo>1.5</releaseinfo> + +<abstract> +<para> +&kword; is a complete word-processing and simple desktop publishing program. It is part of the +&koffice; suite of utilities. +</para> +<para> +This manual describes &kword; 1.5. +</para> +</abstract> + +<keywordset> +<keyword>KDE</keyword> +<keyword>KWord</keyword> +<keyword>KOffice</keyword> +<keyword>word processing</keyword> +</keywordset> + +</bookinfo> + +<chapter id="introduction"> +<title>Introduction</title> + +<sect1 id="introduction1"> +<title>Introduction</title> +<indexterm><primary>introduction</primary></indexterm> +<para> +&kword;, is a full featured + +<acronym>WYSIWYG</acronym> (What You See Is What You Get) +Word-processor/Desktop Publishing Program. +</para> + +<indexterm><primary>&koffice;</primary><secondary>applications</secondary></indexterm><para> +&kword; is part of the &koffice; productivity suite for the K Desktop +Environment. Other applications in &koffice; include: +</para> + +<itemizedlist> +<listitem><para>&kspread; (A spreadsheet application.)</para></listitem> +<listitem><para>&kpresenter; (A presentation creator.)</para></listitem> +<listitem><para>&karbon14; (A vector drawing program.)</para></listitem> +<listitem><para>&kivio; (A flowchart creator)</para></listitem> +<listitem><para>&krita; (A pixel based drawing program.)</para></listitem> +<listitem><para>&kugar; (A report generation tool.) </para></listitem> +<listitem><para>&kexi; (An integrated environment for databases.) </para></listitem> +<listitem><para>&kchart; (A chart and graph creator.)</para></listitem> +<listitem><para><application>KPlato</application> (An integrated project management and planning tool.)</para></listitem> +<listitem><para>and a simple integrated office desktop, to help organize your +work.</para></listitem> +</itemizedlist> + +<para> +All &koffice; applications were designed from the beginning to take +advantage of the features of &kde;. Because of this, &kword; (like +all of &koffice;), supports many advanced features you expect from todays desktop environment. +</para> + +<para> +&kword; is a word-processor which can work either as a traditional word +processor, or as a simple but powerful desktop publishing +application. This is possible because &kword; is a frame oriented word +processor, not a page oriented word processor (&Microsoft; +<application>Word</application>,&Wordperfect; +and <application>Applixware</application> are all page oriented word +processors). +</para> + +<para> +Frame oriented word processors work by creating one or more +<emphasis>frames</emphasis> per page. Each frame acts as a boundary (like +a frame which surrounds a photograph), which limits the text to the +boundaries of the frame. You can move and re-size boundaries to define +exactly where on the page the text will be placed. As you re-size +frames, the text is reworked to fit within these frames. +</para> + +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="intro1.png" align="center"/> + </imageobject> +<textobject><phrase>Button</phrase></textobject> +</mediaobject> + +<para> +You can easily <emphasis>connect</emphasis> one frame to the next. When +you connect two frames, any text which does not fit within the first +frame, flows easily and automatically into the next. +</para> + +<mediaobject> +<imageobject><imagedata format="PNG" fileref="intro2.png" + align="center"/> </imageobject> +<textobject><phrase>Button</phrase></textobject> +</mediaobject> + +<para> +In addition to text, you can include virtually anything inside a frame. +A frame can contain a spreadsheet, pictures, a database form, +or nearly any piece of data. Since each page can have any number of +frames, documents can appear quite sophisticated while still remaining +easy to edit. +</para> + +<para> +&kword; users also benefit from the auto wrap features of &kword;. When +you place one frame on top of part of another frame, the text from the +<emphasis>lowest</emphasis> frame can be automatically wrapped around +the newly created frame. This reformatting occurs in a +<acronym>WYSIWYG</acronym> Graphical User Interface, and happens +automatically while you edit. +</para> + +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="intro3.png" align="center"/> + </imageobject> +<textobject><phrase>Button</phrase></textobject> +</mediaobject> + +<indexterm><primary>&kword;</primary><secondary>features</secondary></indexterm> +<para> +As a word-processor, &kword; includes the most used options of many other +word processors, while maintaining a simple interface. In addition to +the features you expect from a modern word-processing package (text +entry, bold face, italics, text alignment, text printing, &etc;), +&kword; can: +</para> + +<itemizedlist> +<listitem> +<para>Use predefined templates, to generate complex document layout with +one click of the mouse. As a user, you can build your own templates, +download templates from the web, or use the current document to create a +new template.</para> +</listitem> +<listitem> +<para>&kword; provides automatic numbering of lists and automatic bulleting of lists with any character or shape you want. <!--You are not +limited to numbers or letters, you can define your own series for your +special lists.--> </para> +</listitem> +<listitem> +<para>Define paragraph layout styles, frame layout styles and table layout styles, to shorten the editing time of +your document, and ensure consistency throughout a long document.</para> +</listitem> +<listitem> +<para>Edit headers and footers for your documents. You can have +different headers for even and odd pages, or the same headers +throughout.</para> +</listitem> +<listitem> +<para>Search through your document for text. You can further refine +your search by specifying font, format, font size and many other +features of the text. By adding wild-cards to your search, the search and +replace functions can become very powerful.</para> +</listitem> +<listitem> +<para>Footnotes and Endnotes. &kword; has all the tools necessary to manage footnotes or endnotes.</para> +</listitem> +<listitem> +<para>Tables. You can either use the table formatting capabilities of +&kword;, or you can import any spreadsheet from &kspread;.</para> +</listitem> +<listitem> +<para>&kword; has built in support for KParts. KParts allows you to +insert any spreadsheet, picture, chart, graph, document, or any other +data type from any &koffice; application. You are free to edit that +KPart using the tools designed for that task, without needing to start +the application at all.</para> +</listitem> +<listitem> +<para>&kword; can zoom in or out to make the editing of your documents +easier on any computer, and with any font size. </para> +</listitem> +<listitem> +<para>&kword; supports customizable toolbars and menus.</para> +</listitem> +<listitem> +<para>&kword; has extensive internationalization support including right-to-left and left-to-right text flow.</para> +</listitem> +<listitem> +<para>You can embed formulas directly into &kword; using the integrated +formula editor.</para> +</listitem> +<listitem> +<para>You can have &kword; auto-correct many of the most common spelling and punctuation mistakes.</para> +</listitem> +<listitem> +<para>&kword; can check the spelling of your document. &kword; can automatically mark misspelled words as you type.</para> +</listitem> +<listitem> +<para>You can access an on-line thesaurus (English only) to find the exact word you are looking for.</para> +</listitem><listitem> +<para>&kword; can automatically create a table of contents, and keep it up to date.</para> +</listitem> +<listitem> +<para>&kword; has optional autocompletion for commonly used words.</para> +</listitem> +<listitem> +<para>&kword; has support for document bookmarks, to easily navigate large documents..</para> +</listitem> +<listitem> +<para>&kword; has support for Internet hyperlinks and email addresses.</para> +</listitem> +<listitem> +<para>&kword; has the ability for proofreaders to make comments about portions of the text. These +comments are stored in the &kword; file, and can be changed or deleted easily.</para> +</listitem> +<listitem> +<para>&kword; can merge data from an outside database, spreadsheet, document or text file to create mailinglists, form letters, invoices, etc.</para> +</listitem> +<listitem> +<para>&kword; can load and save documents from other wordprocessing programs with an extensive list of filters.</para> +</listitem> +<listitem><para>&kword; can create PDF files.</para></listitem> + +<listitem> +<para>You can edit one document from multiple views. This allows you to have several windows open on +<emphasis>one document</emphasis>. Edits in one window are immediately updated in the other window.</para> +</listitem> +<listitem> +<para>&kword; can surround your frames with borders and you can set the background color of each frame separately if you want.</para> +</listitem> +<listitem> +<para>&kword; has several accessibility features, including the ability to speak all or part of +a document using Text-to-Speech (KTTS) and manipulate documents using the keyboard only.</para> +</listitem> + +</itemizedlist> + +<para>The best part about &kword;, is the effort that has been placed to +make &kword; a productive tool for all your needs from the simplest +letter, to the most complex document you might need to work on.</para> + +</sect1> + +<sect1 id="who-reads"> +<title>What parts of this guide should I read?</title> +<indexterm><primary>getting started</primary></indexterm> + +<para>Anyone who has looked at the table of contents has surely come to +the conclusion that reading this manual from cover to cover, is an +unreasonable (and fortunately unnecessary) task.</para> + +<para>This user guide is designed to be helpful to a wide variety of +users, from the very experienced, to the novice user. Since different users will have different needs, each section of +this manual is self-contained. The user is not expected to have read all of +the previous sections of the manual to find the instructions +useful.</para> + +<para>To help determine what +should be read before starting to work with &kword;, a suggested +reading list for three levels of users is given below.</para> + +<para>If each of these sections is read <emphasis>before</emphasis> + starting to use &kword;, using &kword; will be easier.</para> + +<informaltable> +<tgroup cols="3"> +<thead> +<row> +<entry>Experience Level</entry> +<entry>Previous Experience</entry> +<entry>What you should read</entry> +</row> +</thead> + +<tbody> +<row> +<entry>Novice</entry> +<entry>No previous computer experience</entry> +<entry> +<simplelist type="vert" columns="1"> +<member><link linkend="fundamentals">Fundamentals</link></member> +<member><link linkend="tutorial">Step by Step Tutorial</link></member> +<member><link linkend="kword-screen">The &kword; Screen</link></member> +<member><link linkend="store-print">Document Storage and Printing</link></member> +<member><link linkend="guides-2">Editing Your Document</link></member> +<member><link linkend="menu-intro">Introduction to Menu Bars and Toolbars</link></member> +<member><link linkend="wp-vs-dtp">The difference between Text Oriented and Page Layout templates</link></member> +</simplelist> +</entry> +</row> + +<row> +<entry>Intermediate</entry> +<entry>Comfortable with other page based word processors (&Microsoft; +<application>Word</application>, <application>Word Perfect</application> +or <application>Applixware</application>.)</entry> +<entry><simplelist type="vert" columns="1"> +<member><link linkend="fundamentals">Fundamentals</link></member> +<member><link linkend="tutorial">Step by Step Tutorial</link></member> +<member><link linkend="wp-vs-dtp">The difference between Text Oriented and Page Layout templates</link></member> +</simplelist></entry> +</row> + +<row> +<entry>Advanced User</entry> +<entry>Comfortable with other frames based word processors (<application>Frame Maker</application>, +&etc;).</entry> +<entry><simplelist type="vert" columns="1"> +<member><link linkend="wp-vs-dtp">The difference between Text Oriented and Page Layout templates</link></member> +</simplelist></entry></row> +</tbody></tgroup> +</informaltable> + +<para>These sections will help with the basic information. As other specific questions or situations arise, the +other sections of this manual can be used as a reference.</para> + +<para>Obviously this will not cover everyone's needs. Please use it as a guide to help +determine which parts of the manual will be helpful to read before you begin using &kword;.</para> + +</sect1> + +</chapter> + +<!-- **************************************************************************************************** --> +&fundamentals; +&tutorial; +&basics; +&storeprint; +&editing; + +<chapter id="guides-3"> +<title>Detailed Guides: Document Layout</title> + +<para>This section of the guide is designed to help the user with the format and layout of their +documents. The section will begin with information on changing the size and shape of the page +and the margins, and work progressively through smaller and smaller +blocks of text (frames, then paragraphs, then characters). At each level, all of the format and +layout options will be explained.</para> + +<para>After discussing the formatting of individual characters, the manual will elaborate on styles +(to provide consistent formatting through the document), lists, multi-column documents, tables and finally the use of headers +and footers in a document.</para> + +<para>The final part will show you how to save a document as a template for future documents.</para> + +&pageformat; +&frames; +&formatframe; +&formatpara; +&tabstops; +&formatcharacters; +&styles; +&columns; +&lists; +&tabls; +&headersfooters; +&templatecreation; +</chapter> + +<chapter id="guides-4"><title>Detailed Guides: More than just text</title> +<para>Up to this point in the documentation, we have been focusing on text. That is about to change!</para> +<para>This chapter will discuss inserting a table of contents, graphics, page numbers, links to web pages and how to +insert other types of &koffice; data into a document.</para> +<para>This chapter will also cover document information and its relationship to document variables.</para> +<sect1 id="documentinfo"><title>Entering Document information </title> +<indexterm><primary>document information</primary></indexterm> +<para>&kword; can store information about the author and the document in the same file as the text and data of the document.</para> +<para>Entering this information into &kword; has two potential benefits:</para> +<orderedlist> +<listitem><para>This information will always be available for reference. This is especially important in situations where +there are many possible authors (employees) and hundreds (or thousands) of documents.</para></listitem> +<listitem><para>The information supplied here, can be inserted automatically into the document as a +<link linkend="variables">document variable</link>.</para></listitem> +</orderedlist> +<para>To enter document information, simply select <menuchoice> +<guimenu>File</guimenu><guimenuitem>Document Information...</guimenuitem> +</menuchoice> from the menubar. This will bring up a dialog box with two tabs.</para> +<para>The first tab is labeled <guilabel>General</guilabel>. Enter a document <guilabel>Title</guilabel>, <guilabel>Subject</guilabel> lines, <guilabel>Keywords</guilabel> and an <guilabel>Abstract</guilabel>. </para> +<para>The bottom of this page displays the <guilabel>Type</guilabel> of the document, the date of the creation and modification, the last printing date, the <guilabel>Total editing time</guilabel> and the <guilabel>Revision number</guilabel>. Click on <guibutton>Reset</guibutton> to clear all data and set the actual date as creation date.</para> +<tip><para>Both the document <guilabel>Title</guilabel> and the <guilabel>Abstract</guilabel> can be accessed through<link linkend="variables">document variables</link>.</para></tip> +<para>The second tab is labeled <guilabel>Author</guilabel> and has blanks to enter the authors name, <guilabel>Initials</guilabel>, <guilabel>Title</guilabel>, <guilabel>Position</guilabel>, <guilabel>Company</guilabel> and contact information (email address, telephone numbers and physical address).</para> +<tip><para>Every value entered in this dialog can be inserted as a +<link linkend="variables">document variables</link>.</para></tip> +<para>At the bottom of the dialog is a button labeled <guibutton>Load From Address Book</guibutton>. Clicking on this button will automatically insert your information contained in the &kde; address book into this &kword; document information dialog.</para> +<note><para>You must inform the &kde; address book which entry corresponds to your information. </para> +<para>To do this, open the &kde; address book, select the entry that contains your name and address. Now select <menuchoice> +<guimenu>Edit</guimenu><guimenuitem>Set as Personal Contact Data</guimenuitem></menuchoice>from the menubar in the &kde; address book. This only needs to be performed once.</para> +<para>&kword; will now insert the entered information when the <guibutton>Load From Address Book</guibutton> button is clicked.</para></note> +<para>The second button <guibutton>Delete Personal Data</guibutton> allows you to remove all data of the entries on this page.</para> +<para>When finished entering the information, click <guibutton>OK</guibutton> to apply the changes. +If any document variables were changed, &kword; will update their values throughout the document.</para> +</sect1> +&graphics; +&toc; +&variables; +&expressions; +&links; +&comments; +&footend; +&parts; +&insfile; +&bookmarks; +&formulas; +</chapter> + +<!-- **************************************************************************************************** --> +<!-- Detailed Guides: For Users with Disabilities --> +&a11y; + +<!-- **************************************************************************************************** --> +<chapter id="advanced-topics"><title>Advanced Topics</title> +<para>The sections that are included in this chapter are for advanced users. The instructions for these sections +will assume you are familiar with the basic operation of &kword;.</para> +&struct; +<!--&chapnumb; Still needs to be written--> +&mmerge; +</chapter> + +<!-- **************************************************************************************************** --> +<!--&migrating; Still needs to be written--> +<!-- **************************************************************************************************** --> +<chapter id="quickdirty"> +<title>How do I...</title> +<para>The next part of &kword; documentation is designed to provide examples on how to solve specific +problems using &kword;.</para> +<para>Each section is a self contained list of steps, and refers the reader to other sections of the documentation +for more complete information on different aspects of &kword;.</para> +<para>These examples were selected to:</para> +<itemizedlist> +<listitem><para>Show how &kword; might function differently from other word processors you are used to.</para></listitem> +<listitem><para>Show how to combine several elements to create the desired document.</para></listitem> +<listitem><para>Illustrate the power of &kword;.</para></listitem> +</itemizedlist> +<para>You can use these examples as recipes for your document, or modify them to create the look or content +you desire.</para> +<sect1 id="qd-page-numbers"> +<title>How do I get the pages numbers on the outsides of the pages and +the title in the middle of the header (like a novel)?</title> +<indexterm><primary>insert page numbers</primary></indexterm> + +<para>This first example shows how you can combine center tabs and variables in a header to create a common format to your document.</para> +<note><para>Your document must be at least 2 pages long <emphasis>before</emphasis> you begin this procedure. </para></note> +<orderedlist> +<listitem><para>Select <menuchoice><guimenu>File</guimenu><guimenuitem>Document Information</guimenuitem></menuchoice> +from the menubar.</para></listitem> +<listitem><para>Click on the <guilabel>General</guilabel> tab.</para></listitem> +<listitem><para>Click once in the text box labeled <guilabel>Title</guilabel> with the &LMB; and enter +the desired document title.</para></listitem> +<listitem><para>Click on the <guibutton>OK</guibutton> button.</para></listitem> +<listitem><para>Select <menuchoice><guimenu>Format</guimenu><guimenuitem>Page Layout...</guimenuitem></menuchoice> +from the menubar.</para></listitem> +<listitem><para>Click on the <guilabel>Header & Footer</guilabel> tab.</para></listitem> +<listitem><para>Select <guilabel>Different header for even and odd pages</guilabel>.</para></listitem> +<listitem><para>Then click <guibutton>OK</guibutton>.</para></listitem> +<listitem><para>Select <menuchoice><guimenu>Format</guimenu><guimenuitem>Enable Document Headers</guimenuitem></menuchoice> +from the menubar.</para></listitem> +<listitem><para>Move to an odd numbered page in your document, and click in the header box.</para></listitem> +<listitem><para>Select <menuchoice><guimenu>Format</guimenu><guimenuitem>Paragraph...</guimenuitem></menuchoice> +from the menubar.</para></listitem> +<listitem><para>The <guilabel>Paragraph Settings</guilabel> dialog will appear. Click on the <guilabel>Tabulators</guilabel> tab.</para></listitem> +<listitem><para>Click the <guibutton>New</guibutton> button.</para></listitem> +<listitem><para>Using the arrows of the spinbox labeled <guilabel>Position</guilabel> enter a value that is exactly 1/2 the frame width. The frame width is + listed directly below the <guilabel>Position</guilabel> spin box.</para></listitem> +<listitem><para>Click the <guibutton>Center</guibutton> radio button in the section entitled <guilabel>Alignment</guilabel>.</para></listitem> + +<listitem><para>Click the <guibutton>New</guibutton> button again.</para></listitem> +<listitem><para>Using the arrows of the spinbox labeled <guilabel>Position</guilabel> enter a value that is slightly less than the frame width. The frame width is + listed directly below the <guilabel>Position</guilabel> spin box.</para></listitem> +<listitem><para>Click the <guibutton>Right</guibutton> radio button in the section entitled <guilabel>Alignment</guilabel>.</para></listitem> + +<listitem><para>Then click <guibutton>OK</guibutton>.</para></listitem> +<listitem><para>Click in the header again with the &LMB;.</para></listitem> +<listitem><para>Type the 	 key. This will move the cursor to the center of the header.</para></listitem> +<listitem><para>Select <menuchoice><guimenu>Insert</guimenu><guimenuitem>Variable</guimenuitem> +<guimenuitem>Document Information</guimenuitem><guimenuitem>Document Title</guimenuitem></menuchoice> +from the menubar.</para></listitem> +<listitem><para>Type the 	 key again. This will move the cursor near the right margin of the header.</para></listitem> +<listitem><para>Select <menuchoice><guimenu>Insert</guimenu><guimenuitem>Variable</guimenuitem> +<guimenuitem>Page</guimenuitem><guimenuitem>Page Number</guimenuitem></menuchoice> +from the menubar.</para></listitem> +<listitem><para>Move to an even numbered page in your document, and click in the header box.</para></listitem> +<listitem><para>Select <menuchoice><guimenu>Format</guimenu><guimenuitem>Paragraph</guimenuitem></menuchoice> +from the menubar.</para></listitem> +<listitem><para>The <guilabel>Paragraph Settings</guilabel> dialog will appear. Click on the <guilabel>Tabulators</guilabel> tab.</para></listitem> +<listitem><para>Click the <guibutton>New</guibutton> button.</para></listitem> +<listitem><para>Using the arrows of the spinbox labeled <guilabel>Position</guilabel> enter a value that is exactly 1/2 the frame width. The frame width is + listed directly below the <guilabel>Position</guilabel> spin box.</para></listitem> +<listitem><para>Click the <guibutton>Center</guibutton> radio button in the section entitled <guilabel>Alignment</guilabel>.</para></listitem> +<listitem><para>Then click <guibutton>OK</guibutton>.</para></listitem> +<listitem><para>Click in the header again with the &LMB;.</para></listitem> +<listitem><para>Select <menuchoice><guimenu>Insert</guimenu><guimenuitem>Variable</guimenuitem> +<guimenuitem>Page</guimenuitem><guimenuitem>Page Number</guimenuitem></menuchoice> +from the menubar.</para></listitem> +<listitem><para>Type the 	 key. This will move the cursor to the center of the header.</para></listitem> +<listitem><para>Select <menuchoice><guimenu>Insert</guimenu><guimenuitem>Variable</guimenuitem> +<guimenuitem>Document Information</guimenuitem><guimenuitem>Document Title</guimenuitem></menuchoice> +from the menubar.</para></listitem> +</orderedlist> +<para>That completes the procedure. Your document now has the title of the document in the center along the top of each page, and +the page numbers on the outside corners of the pages. </para> +<para>If you want page numbers on the bottom of the pages, you can use <link linkend="headers-and-footers">Footers</link> instead of +headers in your document.</para> +</sect1> + +<sect1 id="qd-pdf"> +<title>How do I create a <literal role="extension">.pdf</literal> file?</title> +<indexterm><primary>creating a PDF file</primary></indexterm> +<indexterm><primary>PDF, creating</primary></indexterm> + +<para>&kword; differs slightly from other word processors here. Instead of saving your file as a +<literal role="extension">.pdf</literal> file, you <emphasis>print</emphasis> your file to create the +<literal role="extension">.pdf</literal> file.</para> +<para>When you are ready to create a <literal role="extension">.pdf</literal> file from your document:</para> + +<orderedlist> +<listitem><para>Select <menuchoice><guimenu>File</guimenu><guimenuitem>Print</guimenuitem></menuchoice> +from the menubar.</para> +<para>This will bring up the <guilabel>Print</guilabel> dialog.</para></listitem> +<listitem><para>In the combo box labeled <guilabel>Name</guilabel>, select <guilabel>Print to File (PDF)</guilabel></para></listitem> +<listitem><para>Enter your desired filename in the <guilabel>Output file:</guilabel> text box.</para></listitem> +<listitem><para>If you wish to make any changes to the PDF formatting, select <guibutton>Properties</guibutton>.</para> +<para>A complete explanation to all these properties, is beyond the scope of this document.</para></listitem> +<listitem><para>Click <guibutton>OK</guibutton>.</para></listitem> +</orderedlist> +<para>Your PDF file will be created and saved at the location specified in <guilabel>Output file</guilabel>.</para> +<para>For more information on printing in &kde;, visit <ulink url="http://printing.kde.org">The &kde; Print web page</ulink>.</para> + +</sect1> + +<sect1 id="qd-template-remove"> +<title>How do I remove template categories from the startup dialog.</title> + +<para>Templates can only be removed using the <guilabel>Create Template</guilabel> dialog. For instructions, click +<link linkend="template-delete-group">Removing template group</link>.</para> +</sect1> + +<!-- +<sect1 id="qd-watermark"> +<title>How do I create a watermark for my document</title> +<para>To be written</para> +</sect1> +--> +</chapter> + +<!-- **************************************************************************************************** --> +&mbtb; +&opt; +<!-- **************************************************************************************************** --> + +<chapter id="q-and-a"> +<title>Questions and Answers</title> +<indexterm><primary>FAQ</primary></indexterm> + +<qandaset id="faq"> +<qandaentry> +<question> +<para>When I try to load a document or picture, it does not appear in my dialog +box, but I know I saved it there. Why can I not see it?</para> +</question> +<answer> +<para>Check to make sure that you have selected the correct file type in the <link linkend="file-dialog">open dialog box</link>. +If you save a file in one format, but ask +&kword; to show you the files from another format, you will not see your saved file.</para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para>What is a <literal role="extension">kwd</literal> file? +What is a <literal role="extension">kwt</literal> file?</para> +</question> +<answer> +<para>A <literal role="extension">kwd</literal> file is a &kword; document. </para> +<para>A <literal role="extension">kwt</literal> file is a &kword; template file. </para> +</answer> +</qandaentry> + +<qandaentry> +<question id="updates"> +<para>Where can I get updates?</para> +</question> +<answer> +<para>For updates to &kword; you should always check the following sites:</para> +<para>The &koffice; website (<ulink url="http://koffice.kde.org">http://koffice.kde.org</ulink>) is the first place to look for updates. +Any software updates, bug fixes or announcements of new releases of &koffice; will be found here. </para> +<para>Addons for &koffice; can be found at <ulink url="http://koffice.kde.org/addons/">http://koffice.kde.org/addons/</ulink>.</para> +</answer> +</qandaentry> + +<qandaentry> +<question id="themes"> +<para>How do themes affect &kword;?</para> +</question> +<answer> +<para>&kword; (like all of &koffice;) is completely themeable. You can use any QT or &kde; theme to customize the look of &kword;.</para> +</answer> +</qandaentry> + +<qandaentry> +<question id="readdoc"> +<para>Can I use &kword; to read &Microsoft; Word files?</para> +</question> +<answer> +<para>&kword; does have the ability to import &Microsoft; Word files. The conversion process is not perfect, +and some formatting information will be lost. For more details please refer to the +<link linkend="filters">Import/Export Filters</link> section of the documentation.</para> +</answer> +</qandaentry> + +<qandaentry> +<question id="writedoc"> +<para>Can I save my &kword; document as a &Microsoft; Word file?</para> +</question> +<answer> +<para>At the moment, &kword; does not yet provide support for exporting to &Microsoft; Word +documents. If you need to exchange documents with MS Word, +you should use Rich Text Format as an intermediate file format. +Rich Text Format files +are converted well by both &Microsoft; Word and &kword;,</para> +</answer> +</qandaentry> + +<qandaentry> +<question id="writepdf"> +<para>Can I save my &kword; document as a PDF file?</para> +</question> +<answer> +<para>Yes. Instructions on creating a PDF file are found +<link linkend="qd-pdf">here</link>.</para> +</answer> +</qandaentry> + +<qandaentry> +<question id="exchangedoc"> +<para>I have to exchange documents with a friend who does not have &kword;; what is +the best way to do this ?</para> +</question> +<answer> +<para>What you and your friend need to do is agree on a file format that both word processors +can read and write effectively. Rich Text Format is probably a good choice.</para> +</answer> +</qandaentry> + +</qandaset> +</chapter> +<!-- **************************************************************************************************** --> + +<chapter id="credits"> +<title>Credits and Licenses</title> +<indexterm><primary>credits</primary><secondary>options</secondary></indexterm> +<indexterm><primary>licenses</primary><secondary>options</secondary></indexterm> + +<para>&kword; Copyright 1999-2005 by The &kword; Team</para> + +<itemizedlist> +<title>&kword; Developers (Alphabetically)</title> +<listitem><para>Dag Andersen <email>danders@get2net.dk</email></para></listitem> +<listitem><para>John Califf <email>jcaliff@compuzone.net</email></para></listitem> +<listitem><para>Frank Dekervel <email>frank.dekervel@student.kuleuven.ac.be</email></para></listitem> +<listitem><para>Krister Wicksell Eriksson <email>krister.wicksell@spray.se</email></para></listitem> +<listitem><para>&David.Faure; &David.Faure.mail;</para></listitem> +<listitem><para>Nicolas Goutte <email>goutte@kde.org</email></para></listitem> +<listitem><para>Shaheed Haque <email>srhaque@iee.org</email></para></listitem> +<listitem><para>&Simon.Hausmann; &Simon.Hausmann.mail;</para></listitem> +<listitem><para>Nash Hoogwater <email>nrhoogwater@wanadoo.nl</email></para></listitem> +<listitem><para>&Stephan.Kulow; &Stephan.Kulow.mail;</para></listitem> +<listitem><para>Sven Lüppken <email>sven@kde.org></email></para></listitem> +<listitem><para>Laurent Montel <email>montel@kde.org</email></para></listitem> +<listitem><para>&Daniel.Naber; &Daniel.Naber.mail;</para></listitem> +<listitem><para>Reginald Stadlbauer <email>reggie@kde.org</email></para></listitem> +<listitem><para>Werner Trobin <email>trobin@kde.org</email></para></listitem> +<listitem><para>Torben Weis <email>weis@kde.org</email></para></listitem> +<listitem><para>&Joseph.Wenninger; <email>jowenn@kde.org</email></para></listitem> +<listitem><para>Thomas Zander <email>zander@kde.org</email></para></listitem> + +</itemizedlist> + +<itemizedlist> +<title>&kword; Import/Export Filter Developers (Alphabetically)</title> +<listitem><para>Enno Bartels <email>ebartels@nwn.de</email></para></listitem> +<listitem><para>Wolf-Michael Bolle</para></listitem> +<listitem><para>&Matthias.Kalle.Dalheimer; <email>kalle@dalheimer.de</email></para></listitem> +<listitem><para>Clarence Dang <email>dang@kde.org</email></para></listitem> +<listitem><para>Frank Dekervel <email>frank.dekervel@student.kuleuven.ac.be</email></para></listitem> +<listitem><para>Nicolas Goutte <email>goutte@kde.org</email></para></listitem> +<listitem><para>Tomasz Grobelny <email>grotk@poczta.onet.pl</email></para></listitem> +<listitem><para>Shaheed Haque <email>srhaque@iee.org</email></para></listitem> +<listitem><para>Ariya Hidayat <email>ariya@kde.org</email></para></listitem> +<listitem><para>Robert Jacolin <email>rjacolin@ifrance.com</email></para></listitem> +<listitem><para>Michael Johnson</para></listitem> +<!--<listitem><para>Alexandros Karypidis<email>mailto:karypid@inf.uth.gr</email></para></listitem>--> +<listitem><para>Ewald Snel <email>ewald@rambo.its.tudelft.nl</email></para></listitem> +</itemizedlist> + +<itemizedlist> +<title>&kformula; developers</title> +<listitem><para>Andrea Rizzi <email>rizzi@kde.org</email></para></listitem> +<listitem><para>Ulrich Kuettler <email>ulrich.kuettler@mailbox.tu-dresden.de</email></para></listitem> +</itemizedlist> + +<para>Documentation by &Mike.McBride;</para> + +<!-- TRANS:CREDIT_FOR_TRANSLATORS --> +&underFDL; +<para>This program is licensed under the terms of the <ulink + url="http://www.gnu.org/copyleft/library.html#SEC1">&GNU; Library General +Public License v2</ulink>.</para> + + +</chapter> + +<!-- **************************************************************************************************** --> +<appendix id="installation"> +<title>Installation</title> +<indexterm><primary>&kword;</primary><secondary>installation</secondary></indexterm> + +<sect1 id="getting-kword"> +<title>How to obtain &kword;</title> + +<para>&kword; is part of the &kde; project <ulink +url="http://www.kde.org">http://www.kde.org</ulink>. &kword; is located +in the &koffice; package which can be obtained from &kde-ftp;, the +main ftp site of the &kde; project. </para> + +<para>Many distributions offer precompiled binaries on their ftp sites. Please check your distribution's web sites for more information.</para> + +<para>If you want to compile &kword; from source, then you should read through the next few sections for help on compilation.</para> + +</sect1> + +<sect1 id="requirements"> +<title>Requirements</title> +<indexterm><primary>&kword;</primary><secondary>requirements</secondary></indexterm> + +<para>In order to successfully use &kword;, you need:</para> + +<itemizedlist> +<listitem> +<para>&Qt; Toolkit 3.2 or later. This can be obtained from <ulink +url="http://www.trolltech.com">Trolltech</ulink>.</para> +<tip><para>While &koffice; will compile and run with any version of &Qt; 3.2 or later, it is recommended that you compile and install +&Qt; 3.3.4 to take advantage of all the bug fixes (including some security fixes) that have occurred.</para></tip> +</listitem> + +<listitem> +<para>&kde; 3.3.0 libraries (kdelibs) and the &kde; 3.3.0 base package +(kdebase). These can be obtained from the <ulink +url="http://www.kde.org">&kde; web page.</ulink></para> +<tip><para>While &koffice; will compile and run with any version of &kde; 3.3.0 or later, it is recommended that you compile and install +&kde; 3.4 to take advantage of all the bug fixes that have occurred.</para> +<para>It is also recommended that you install the arts package 1.3.2 from the +<ulink url="ftp://ftp.kde.org">&kde; &FTP; site</ulink>.</para></tip> +</listitem> + +<listitem> +<para>&GNU; c++ compiler or any c++ compiler that supports exceptions. For help on obtaining this, please refer to +your distribution's web site.</para> +</listitem> + +<listitem> +<para><application>autoconf 2.53</application> or later and <application>automake 1.7</application> or later</para> +</listitem> +</itemizedlist> + +<note><para>In order to use external databases for mail merging documents, you must have +the QT toolkit compiled with SQL support. To add SQL support (as a plugin), simply include +<option>-plugin-sql-<replaceable>driver</replaceable></option> in your configure line.</para> +<para><replaceable>driver</replaceable> should be replaced with <replaceable>mysql</replaceable>, <replaceable>odbc</replaceable>, +<replaceable>CVS</replaceable>, or <replaceable>psql</replaceable> as is appropriate for your database needs.</para></note> +</sect1> + +<sect1 id="compilation"> +<title>Compilation and Installation</title> + +<para>Complete instructions on installing &koffice; from source are located at +<ulink url="http://www.koffice.org/download/source.php">http://www.koffice.org/download/source.php</ulink>.</para> + +</sect1> +</appendix> + +<appendix id="commandline"> +<title>&kword; Command Line Options</title> +<indexterm><primary>&kword;</primary><secondary>command line options</secondary></indexterm> + +<para>You can specify some initial actions for &kword;. The most +commonly used options are discussed below with instructions on finding +help on the rest of the command line options.</para> + +<para><emphasis>Specifying the file name</emphasis></para> + +<para>Probably the most common command line option used is to specify +the file to edit.</para> + +<para>The format for specifying the file name is:</para> + +<screen width="40"> +<prompt>$</prompt> <userinput><command>kword</command> <replaceable>filename</replaceable></userinput> +</screen> + +<para>Example:</para> +<informalexample><screen width="40"> +<prompt>$</prompt> <userinput><command>kword</command> <filename>Resume.kwd</filename></userinput> +</screen></informalexample> +<para>This will cause &kword; to load <filename>Resume.kwd</filename> for editing.</para> + +<para><emphasis>Show &kword; version</emphasis></para> + +<para>To see the version numbers for the QT toolkit, &kde;, and &kword; type:</para> + +<screen width="40"> +<prompt>$</prompt> <userinput><command>kword -v</command></userinput> +</screen> + +<para><emphasis>Show the license for &kword;</emphasis></para> + +<para>To see the license for &kword; type:</para> + +<screen width="40"> +<prompt>$</prompt> <userinput><command>kword --license</command></userinput> +</screen> + + +<para><emphasis>Show &kword; developer list</emphasis></para> + +<para>To see the list of developers for &kword; type:</para> + +<screen width="40"> +<prompt>$</prompt> <userinput><command>kword --author</command></userinput> +</screen> + +<para><emphasis>Other command line options</emphasis></para> + +<para>There are many other, rarely used, command line options. You can get detailed help on these options by typing:</para> +<screen width="40"> +<prompt>$</prompt> <userinput><command>kword</command> <option>--help</option></userinput> +</screen> + +</appendix> + +<appendix id="filters"> +<title>Import/Export Filters</title> +<indexterm><primary>&kword;</primary><secondary>filters</secondary></indexterm> +<indexterm><primary>filters</primary></indexterm> + +<sect1 id="filter-intro"><title>Introduction to Filters</title> +<para>&kword; has the ability (with varying success) to load data +from foreign (non-&koffice;) data files. &kword; also has the ability to +save data as non-&koffice; data files. This is provided to help users +of &kword; to interact more seamlessly with people who use other +operating systems and wordprocessors.</para> + +<para>&kword; does this by loading a non-&koffice; datafile into +memory and passing the data through a <emphasis>filter</emphasis> +to extract as much information as possible from the data file. Some +formatting information will be lost or changed by the filter in the +attempt.</para> + +<para>When &kword; reads data <emphasis>into</emphasis> +&kword; from a non-&koffice; file format, it is +<emphasis>importing</emphasis> the data.</para> + + +<para>When &kword; saves a &kword; document as a non-&koffice; +file format, it is <emphasis>exporting</emphasis> the data.</para> + +</sect1> +<sect1 id="filters-included"><title>Filters included in &kword;</title> + +<para>&kword; comes with the following filters:</para> + +<informaltable> + +<tgroup cols="3"> +<thead><row><entry>Application</entry><entry>Import</entry><entry>Export</entry></row></thead> +<tbody> +<row><entry>Abiword</entry><entry>Yes</entry><entry>Yes</entry></row> +<row><entry>AmiPro</entry><entry>Yes</entry><entry>Yes</entry></row> +<row><entry>Applixword</entry><entry>Yes</entry><entry>No</entry></row> +<row><entry>&HTML;</entry><entry>Yes</entry><entry>Yes</entry></row> +<row><entry>&kpresenter;</entry><entry>Yes</entry><entry>No</entry></row> +<row><entry>Hancom Word</entry><entry>Yes</entry><entry>No</entry></row> +<row><entry>Magic Point Presentation</entry><entry>Yes</entry><entry>No</entry></row> +<row><entry>&Microsoft; Powerpoint</entry><entry>Yes</entry><entry>No</entry></row> +<row><entry>&Microsoft; Word</entry><entry>Yes</entry><entry>No</entry></row> +<row><entry>&Microsoft; Write</entry><entry>Yes</entry><entry>Yes</entry></row> +<row><entry>Oasis OpenDocument</entry><entry>Yes</entry><entry>Yes</entry></row> +<row><entry>Openoffice.org Presentation</entry><entry>Yes</entry><entry>No</entry></row> +<row><entry>Openoffice.org Text Document</entry><entry>Yes</entry><entry>Yes</entry></row> +<row><entry>Palm Document</entry><entry>Yes</entry><entry>Yes</entry></row> +<row><entry>PDF</entry><entry>Yes</entry><entry>No</entry></row> +<row><entry>Plain Text</entry><entry>Yes</entry><entry>Yes</entry></row> +<row><entry>RTF</entry><entry>Yes</entry><entry>Yes</entry></row> +<row><entry>SGML</entry><entry>No</entry><entry>Yes</entry></row> +<row><entry>TeX Document</entry><entry>No</entry><entry>Yes</entry></row> +<row><entry>WML</entry><entry>Yes</entry><entry>Yes</entry></row> +<row><entry>Wordperfect</entry><entry>Yes</entry><entry>Yes</entry></row> +<row><entry>&XML;</entry><entry>Yes</entry><entry>No</entry></row> +</tbody> +</tgroup> +</informaltable> + +<para>For details on each filter, please refer to the <ulink +url="http://koffice.org/filters/">&koffice; filters web page</ulink>. </para> + +</sect1> + + + +</appendix> + +<appendix id="keys"> +<title>Key Bindings Summary</title> +<indexterm><primary>keyboard shortcuts</primary><secondary>table of</secondary></indexterm> + +<para>Keybindings for Working with Documents</para> +<informaltable> +<tgroup cols="2"><tbody> +<row> +<entry><link linkend="menu-new">Start New +Document</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>N</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-open">Open +Document</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>O</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-save">Save +Document</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>S</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-print">Print +Document</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>P</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-close">Close +Document</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>W</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-quit">Quit +&kword;</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>Q</keycap></keycombo></entry> +</row> +</tbody> +</tgroup> +</informaltable> + + +<para>Keybindings for Character Selection</para> +<informaltable> +<tgroup cols="2"><tbody> +<row><entry>Move selection one character to the left.</entry><entry><keycombo action="simul">&Shift;<keycap>Left Arrow</keycap></keycombo></entry></row> +<row><entry>Move selection one word to the left.</entry><entry><keycombo action="simul">&Ctrl;&Shift;<keycap>Left Arrow</keycap></keycombo></entry></row> +<row><entry>Move selection one character to the right.</entry><entry><keycombo action="simul">&Shift;<keycap>Right Arrow</keycap></keycombo></entry></row> +<row><entry>Move selection one word to the right.</entry><entry><keycombo action="simul">&Ctrl;&Shift;<keycap>Right Arrow</keycap></keycombo></entry></row> + +<row><entry>Selects all characters from the start of the selection, to the character directly up one line.</entry><entry><keycombo action="simul">&Shift;<keycap>Up Arrow</keycap></keycombo></entry></row> +<row><entry>Selects all characters from the start of the selection, to the first character of the line directly above.</entry><entry><keycombo action="simul">&Ctrl;&Shift;<keycap>Up Arrow</keycap></keycombo></entry></row> + +<row><entry>Selects all characters from the start of the selection, to the character directly down one line.</entry><entry><keycombo action="simul">&Shift;<keycap>Down Arrow</keycap></keycombo></entry></row> +<row><entry>Selects all characters from the start of the selection, to the last character of the line directly below.</entry><entry><keycombo action="simul">&Ctrl;&Shift;<keycap>Down Arrow</keycap></keycombo></entry></row> + +<row><entry>Selects all characters from the start of the selection, to the beginning of the line.</entry><entry><keycombo action="simul">&Shift;<keycap>Home</keycap></keycombo></entry></row> +<row><entry>Selects all characters from the start of the selection, to the beginning of the document.</entry><entry><keycombo action="simul">&Ctrl;&Shift;<keycap>Home</keycap></keycombo></entry></row> + +<row><entry>Selects all characters from the start of the selection, to the end of the line.</entry><entry><keycombo action="simul">&Shift;<keycap>End</keycap></keycombo></entry></row> +<row><entry>Selects all characters from the start of the selection, to the end of the document.</entry><entry><keycombo action="simul">&Ctrl;&Shift;<keycap>End</keycap></keycombo></entry></row> + +<row><entry>Moves the current endpoint one screen up.</entry><entry><keycombo action="simul">&Shift;<keycap>Page-Up</keycap></keycombo></entry></row> +<row><entry>Moves the current endpoint one page up. The endpoint is located at the first character of this page.</entry><entry><keycombo action="simul">&Ctrl;&Shift;<keycap>Page-Up</keycap></keycombo></entry></row> + + +<row><entry>Moves the current endpoint down one screen.</entry><entry><keycombo action="simul">&Shift;<keycap>Page-Down</keycap></keycombo></entry></row> + +<row><entry>Moves the current endpoint down one page. The endpoint is located at the first character of this page.</entry><entry><keycombo action="simul">&Ctrl; &Shift;<keycap>Page-Down</keycap></keycombo></entry></row> +<row><entry>Select all text in the current frame.</entry><entry><keycombo action="simul">&Ctrl;<keycap>A</keycap></keycombo></entry></row> + +</tbody> +</tgroup> +</informaltable> + +<para>Keybindings for Character Formatting</para> +<informaltable> + +<tgroup cols="2"> +<tbody> +<row> +<entry>Toggle Boldface On/Off</entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>B</keycap></keycombo></entry> +</row> + +<row> +<entry>Toggle Italics On/Off</entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>I</keycap></keycombo></entry> +</row> + +<row> +<entry>Toggle Underline On/Off</entry> +<entry><keycombo action="simul">&Ctrl;<keycap>U</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="format-font">Format Font</link></entry> +<entry><keycombo +action="simul">&Alt;&Ctrl;<keycap>F</keycap></keycombo></entry> +</row> + +<row> +<entry>Decrease Font Size</entry> +<entry><keycombo +action="simul">&Ctrl;<keycap><</keycap></keycombo></entry> +</row> + +<row> +<entry>Increase Font Size</entry> +<entry><keycombo action="simul">&Ctrl;<keycap>></keycap></keycombo></entry> +</row> + + + +</tbody> +</tgroup> +</informaltable> + + +<para>Keybindings for Paragraph Formatting</para> +<informaltable> + +<tgroup cols="2"> +<tbody> +<row> +<entry>Align Block (Justify)</entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>J</keycap></keycombo></entry> +</row> + +<row> +<entry>Align Center</entry> +<entry><keycombo +action="simul">&Alt;&Ctrl;<keycap>C</keycap></keycombo></entry> +</row> + +<row> +<entry>Align Left</entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>L</keycap></keycombo></entry> +</row> + +<row> +<entry>Align Right</entry> +<entry><keycombo +action="simul">&Alt;&Ctrl;<keycap>R</keycap></keycombo></entry> +</row> + +<row> +<entry>Format Paragraph</entry> +<entry><keycombo +action="simul">&Alt;&Ctrl;<keycap>P</keycap></keycombo></entry> +</row> + +</tbody> +</tgroup> +</informaltable> + + +<para>Keybindings for Basic Editing Functions and Search and +Replace</para> +<informaltable> + +<tgroup cols="2"> +<tbody> + +<row> +<entry><link linkend="menu-copy">Copy</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>C</keycap></keycombo> (<keycombo +action="simul">&Ctrl;<keycap>Insert</keycap></keycombo>)</entry> +</row> + +<row> +<entry><link linkend="menu-cut">Cut</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>X</keycap></keycombo> (<keycombo +action="simul">&Shift;<keycap>Delete</keycap></keycombo>)</entry> +</row> + +<row> +<entry><link linkend="menu-paste">Paste</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>V</keycap></keycombo> (<keycombo +action="simul">&Shift;<keycap>Insert</keycap></keycombo>)</entry> +</row> + +<row> +<entry><link linkend="menu-find">Find</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>F</keycap></keycombo></entry> +</row> + +<row> +<entry><link +linkend="menu-replace">Replace</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>R</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-undo">Undo</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>Z</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-redo">Redo</link></entry> +<entry><keycombo +action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo></entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para>Keybindings for Inserting</para> +<informaltable> + +<tgroup cols="2"><tbody> + +<row> +<entry><link linkend="menu-create-text-frame">Create Text +Frame</link></entry> +<entry><keycombo action="simul"><keycap>F10</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-insert-picture">Insert +Picture</link></entry> +<entry><keycombo action="simul">&Shift;<keycap>F5</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-create-formula">Create +Formula Frame</link></entry> +<entry><keycombo action="simul"><keycap>F4</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-create-table">Create +Table</link></entry> +<entry><keycombo +action="simul"><keycap>F5</keycap></keycombo></entry> +</row> + +<row> +<entry><link +linkend="menu-insert-special-character">Insert Special +Character</link></entry> +<entry><keycombo +action="simul">&Alt;&Shift;<keycap>C</keycap></keycombo></entry> +</row> + +<row> +<entry>Insert Non-breaking Space</entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>Space</keycap></keycombo></entry> +</row> + +<row> +<entry>Insert Soft Hyphen</entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>-</keycap></keycombo></entry> +</row> + +<row> +<entry>Insert Line +Break</entry> +<entry><keycombo +action="simul">&Shift;<keycap>Return</keycap></keycombo></entry> +</row> + +<row> +<entry><link +linkend="menu-insert-hard-frame-break">Insert Hard Frame +Break</link></entry> +<entry><keycombo +action="simul">&Ctrl;<keycap>Return</keycap></keycombo></entry> +</row> + +</tbody></tgroup></informaltable> + +<para>Keybindings for Accessibility</para> +<informaltable> +<tgroup cols="2"><tbody> +<row> +<entry>Popup Context Menu</entry> +<entry><keycap>Menu</keycap> (see note below)</entry> +</row> +<row> +<entry><link linkend="a11y-motor-panel-sizing">Resize Panel Forward</link></entry> +<entry><keycap>F8</keycap></entry> +</row> +<row> +<entry><link linkend="a11y-motor-panel-sizing">Resize Panel Reverse</link></entry> +<entry><keycombo action="simul">&Shift;<keycap>F8</keycap></keycombo></entry> +</row> +<row> +<entry><link linkend="a11y-motor-moving-focus">Set Focus to Widget</link></entry> +<entry><keycombo action="simul">&Alt;<keycap>F8</keycap></keycombo></entry> +</row> +<row> +<entry>Enter keyboard <link linkend="a11y-mouse-emulation">Mouse Emulation</link> mode</entry> +<entry><keycombo action="simul">&Alt;<keycap>F12</keycap></keycombo></entry> +</row> +<row> +<entry>Click mouse in <link linkend="a11y-mouse-emulation">Mouse Emulation</link> mode</entry> +<entry><keycap>spacebar</keycap></entry> +</row> +<row> +<entry>Go to Document Structure</entry> +<entry><keycombo action="simul">&Alt;<keycap>1</keycap></keycombo></entry> +</row> +<row> +<entry>Go to Document</entry> +<entry><keycombo action="simul">&Alt;<keycap>2</keycap></keycombo></entry> +</row> +</tbody></tgroup></informaltable> + +<note><para> +On most keyboards, the <keycap>Menu</keycap> key is on the righthand side between +the &Windows; and &Ctrl; keys. It has a menu icon on it. +</para></note> + +<para>Keybindings for <link linkend="a11y-mouse-navigation">Mouse Navigation</link></para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="mousenav.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Miscellaneous Keyboard Shortcuts</para> +<informaltable> + +<tgroup cols="2"><tbody> +<row> +<entry>&kword; Handbook</entry> +<entry><keycombo action="simul"><keycap>F1</keycap></keycombo></entry> +</row> + +<row> +<entry>Whats This?</entry> +<entry><keycombo action="simul">&Shift;<keycap>F1</keycap></keycombo></entry> +</row> + +<row> +<entry>Completion</entry> +<entry><keycombo action="simul">&Ctrl;<keycap>E</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-lower-frame">Lower Frame</link></entry> +<entry><keycombo action="simul">&Ctrl;&Shift;<keycap>L</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-raise-frame">Raise Frame</link></entry> +<entry><keycombo action="simul">&Ctrl;&Shift;<keycap>R</keycap></keycombo></entry> +</row> + +<row> +<entry><link linkend="menu-format-stylist">Show Stylist</link></entry> +<entry><keycombo action="simul">&Alt;&Ctrl;<keycap>S</keycap></keycombo></entry> +</row> + + + + +</tbody></tgroup></informaltable> +</appendix> + +<appendix id="technical-info"> +<title>&kword; Technical details</title> + +&techstuff; +<sect1 id="mimetype"> +<title>Kword &MIME; types</title> +<indexterm><primary>&kword;</primary><secondary>&MIME; types</secondary></indexterm> + +<para>The &kword; &MIME; type is : application/x-kword</para> +</sect1> +</appendix> + +<!-- **************************************************************************************************** --> + +<glossary id="glossary"> +<title>Glossary</title> + +<glossentry id="defaspectratio"> +<glossterm>Aspect Ratio</glossterm> +<glossdef> +<para>This is the ratio of the measurement of a screen, picture or document +horizontally compared to the vertical measurement. All standard +computer monitors have the same aspect ratio, regardless of their +resolution. Any &kword; document that conforms to the standard +screen will look good on any monitor.</para> +<para>For many images, it is important to maintain the aspect ratio. This prevents +distortion to the picture.</para> +</glossdef> +</glossentry> + +<glossentry id="defbinarycode"> +<glossterm>Binary code</glossterm> +<glossdef> +<para>Binary code is the actual instructions for the computer. So if we +refer to <emphasis>binaries</emphasis> we mean the executable &kword; +program. While computers have no difficulties reading binary files, +they are not easily understood by people. Compare this distribution method to <glossterm +linkend="defsourcecode">Source Code</glossterm>. For more information on compiling &kword;, see +the section entitled <link +linkend="installation">Installation</link></para> +</glossdef> +</glossentry> + +<glossentry id="defbitmap"> +<glossterm>Bitmap Image</glossterm> +<glossdef> +<para>Bit mapped images are composed of individual dots. This type of +file is very good for photographs and complex drawings. The downside of +using bitmap images, is that when you change the size of the image on +the page, there is a loss of detail. The file names of such pictures +often end in <emphasis>jpeg</emphasis>, <emphasis>png</emphasis> or +<emphasis>gif</emphasis>. </para> +</glossdef> +</glossentry> + +<glossentry id="defcell"> +<glossterm>Cells</glossterm> +<glossdef> +<para>Tables are made up of rows and columns of cells. Each cell is +defined by a combination of the row and column of a heading.</para> +</glossdef> +</glossentry> + +<glossentry id="defclipboard"> +<glossterm>Clipboard</glossterm> +<glossdef> +<para>The clipboard is a temporary storage area in memory. Whenever you +use the <guimenuitem>Cut</guimenuitem> or +<guimenuitem>Copy</guimenuitem> command, you are placing the object that +was selected into this memory location. Then when you use the +<guimenuitem>Paste</guimenuitem> command, you insert the information +from the clipboard into the document. For more information see the +section on <link linkend="clipboard">Cut/Copy/Paste</link>.</para> +</glossdef> +</glossentry> + +<glossentry id="defcompiling"> +<glossterm>Compiling</glossterm> +<glossdef> +<para>When you compile a program, you are converting it from +a source file (which is easily edited by a programmer) into a binary +file (which the computer uses). Compare this distribution method to <glossterm +linkend="defbinarycode">Binary Code</glossterm>.</para> +<para>Compiling programs +is not as easy as installing binary versions. Users who are only interested in +using &kword; are encouraged to find a binary version of &kword; for their computer. For +users who want to learn more about programming, more information on compiling &kword; is +available in the section entitled <link +linkend="installation">Installation</link>.</para></glossdef> +</glossentry> + +<glossentry id="defcustomvariables"> +<glossterm>Custom Variables</glossterm> +<glossdef> +<para>Using custom variables you can store certain values (⪚ numbers +or text) for later use in your document or in a script. If you want to +find out more about custom variables, see <link +linkend="variables">Document Variables</link>.</para> +</glossdef> +</glossentry> + +<glossentry id="defdeb"> +<glossterm>DEB</glossterm> +<glossdef> +<para>This is a binary file format that is used by Debian and Debian-based +distributions. This will be the suffix of a file +specifically for +these distributions. An example would be +<filename>koffice-1.2.deb</filename>. For more information on installing +these files, refer to the <ulink url="http://www.debian.org">Debian Web +Site</ulink>.</para> +</glossdef> +</glossentry> + +<glossentry id="defdialogbox"> +<glossterm>Dialog Box</glossterm> +<glossdef> +<para>A dialog box is a small window that appears on top of your working +document. This window usually has questions, information or +configuration options related to the task you are performing. When you +are finished with the dialog box, it will disappear and return you to +your document (possibly after making some changes to the +document).</para> +</glossdef> +</glossentry> + +<glossentry id="defdtp"> +<glossterm><acronym>DTP</acronym></glossterm> +<glossdef> +<para>Stands for <emphasis>DeskTop Publishing</emphasis>.</para> +</glossdef> +</glossentry> + +<glossentry id="deffaq"> +<glossterm><acronym>FAQ</acronym></glossterm> +<glossdef> +<para>Stands for <emphasis>Frequently Asked Questions</emphasis> and +normally means a document, where questions that arise many times are answered. If you +have a question to the developers of &koffice;, you should always have a +look at the <acronym>FAQ</acronym> first; you can find the latest version +<ulink +url="http://koffice.kde.org/faq">here</ulink>.</para> +</glossdef> +</glossentry> + +<glossentry id="deffilemask"> +<glossterm>File Mask</glossterm> +<glossdef> +<para>A file mask can be thought of as a strainer for you. On the +average computer, there are several thousand files. These files are +sorted into sub-directories, but it is not uncommon for many users to +have 100's of data files in a single sub-directory.</para> +<para>Fortunately for us, most applications use a suffix to their +filenames. By applying a file mask, &kword; will only show you the +files which are not filtered out by the mask. (That is to say &kword; +only shows the files that fit through the strainer). This can be +helpful if you have many files from many different applications. The +file mask is incorporated in the <guilabel>Filter:</guilabel> line of +the <guilabel>Save Document</guilabel> and <guilabel>Open Document</guilabel> dialog boxes.</para> +<para>As an example. If you use a file mask for &kword; files, the file +mask will try to filter out all files that are not for +&kword;.</para></glossdef> +</glossentry> + +<glossentry id="deffilter"> +<glossterm>Filter</glossterm> +<glossdef> +<para>A filter takes a document file from one program (⪚ &Microsoft; +<application>Word</application>), and <emphasis>filters</emphasis> out +the text and formatting information and converts that information into a +&kword; document. Filters are used to read and write files for other +programs. More information on the filters included with &kword; +is available in the section entitled <link linkend="filters">Import/Export Filters</link>.</para> +</glossdef> +</glossentry> + +<glossentry id="deffooter"> +<glossterm>Footer</glossterm> +<glossdef> +<para>The footer of a page is an area below the normal text area. Often +it contains the page numbering and maybe some additional +information. The contents of the footer are normally the same for most +pages, and changing the footer on one page will change all other pages +as well. See <glossterm linkend="defheader">Header</glossterm>.</para> +</glossdef> +</glossentry> + +<glossentry id="defframe"> +<glossterm>Frame</glossterm> +<glossdef> +<para>Nearly everything in &kword; is in a frame. Text is always in +a text frame. Pictures are in picture frames. Parts are in part +frames. A frame is basically just a rectangle that can contain some part +of your document. Frames can be moved, resized, deleted etc.</para> +</glossdef> +</glossentry> + +<glossentry id="defframeset"> +<glossterm>Frameset</glossterm> +<glossdef> +<para>A frame-set is a group of frames which are connected together. If +you are writing text that does not fit into the first frame of a frame-set, +it will continue in the next frame belonging to that frame-set.</para> +</glossdef> +</glossentry> + +<glossentry id="defftp"> +<glossterm>&FTP;</glossterm> +<glossdef> +<para>&FTP; is the <emphasis>File Transfer Protocol</emphasis>; it is an +Internet protocol that allows you to retrieve files from so-called &FTP; +servers. If you want to download &koffice; from the Internet, you will +probably use &FTP;.</para> +</glossdef> +</glossentry> + +<glossentry id="defhardramebreak"> +<glossterm>Hard Frame Break</glossterm> +<glossdef> +<para>Normally, &kword; automatically adjusts text so it fits into a +text frame. By inserting a hard frame break you can force &kword; to +always start the next frame in the frameset with the text that follows +the break.</para> +</glossdef> +</glossentry> + +<glossentry id="defhangingindent"> +<glossterm>Hanging indention</glossterm> +<glossdef> +<para>A paragraph where the first line of the paragraph extends outwards to +the left compared with other lines in the paragraph.</para> + + +</glossdef> +</glossentry> + +<glossentry id="defheader"> +<glossterm>Header</glossterm> +<glossdef> +<para>The header of a page is an area above the normal text area. Often +it contains the page numbering and maybe some additional +information. The contents of the header normally are the same for most +pages, and changing the header on one page will change all other pages +as well. See <glossterm linkend="deffooter">Footer</glossterm>.</para> +</glossdef> +</glossentry> + +<glossentry id="defhtml"> +<glossterm><acronym>&HTML;</acronym></glossterm> +<glossdef> +<para>Stands for <emphasis>HyperText Markup Language</emphasis>. Most +web pages on the Internet are written in +&HTML;. &kword; can read and write +&HTML; documents for publishing on the World Wide +Web.</para> +</glossdef> +</glossentry> + +<glossentry id="defhue"> +<glossterm>Hue</glossterm> +<glossdef> +<para>Hue is a more technically correct term for what we generally refer to as <emphasis>color</emphasis>.</para> +<para>Examples of hues include red, green, blue and purple.</para> +</glossdef> +</glossentry> + +<glossentry id="definlineframe"> +<glossterm>Inline frame</glossterm> +<glossdef> +<para>An inline frame is a special frame type in &kword;. Inline frames are associated with a position in a text frame. +&kword; will keep the inline frame near the specified text. You will not be able to determine where exactly on a page the +frame will appear, but it will be located close to the specified text.</para> +<para>If you insert or delete text in front of the specified text, the inline image will move up or down the page to follow the +specified text</para> +<para><tip><para>Inline frames are very useful when they contain a picture, graph or figure. Simply place the inline frame within the +text which describes the object, and &kword; will make sure both the text and the inline frame are always near each other.</para></tip></para> +</glossdef> +</glossentry> + +<glossentry id="defkde2"> +<glossterm>&kde;</glossterm> +<glossdef> +<para>Stands for the <emphasis>K Desktop Environment</emphasis>. Part of &kde; is +required for &kword; to operate. The K Desktop Environment is a user +interface which allows users to manipulate files and operate programs +graphically. For more information, please visit <ulink +url="http://www.kde.org">www.kde.org</ulink>.</para> +</glossdef> +</glossentry> + +<glossentry id="defkeybinding"> +<glossterm>Key Binding</glossterm> +<glossdef> +<para>All of the features of &kword; are available through the menubar. +You will find, however, that there are certain features of &kword; that +you use on a regular basis. You can <emphasis>bind</emphasis> a certain +key combination to that function. Once this combination is bound to the +function, you can use it as a shortcut to the function. &kword; comes +with several <link linkend="keys">predefined key-bindings</link>. For +more information on changing the default key-bindings, click <link +linkend="options-keybindings">here</link>.</para> +</glossdef> +</glossentry> + +<glossentry id="deflandscape"> +<glossterm>Landscape</glossterm> +<glossdef> +<para>When you have a standard sheet of paper, you can either orient +your document with the long side vertically or horizontally. When the +horizontal dimension is greater than the vertical, this is termed +Landscape.</para> +<para>Example: <inlinemediaobject><imageobject><imagedata +fileref="landscape.png" +format="PNG"/></imageobject></inlinemediaobject></para> +<para> Compare +with <glossterm linkend="defportrait">Portrait</glossterm>.</para> +</glossdef> +</glossentry> + +<glossentry id="defmenubar"> +<glossterm>Menubar</glossterm> +<glossdef> +<para>The menubar is located at the top of the &kword; screen. You can +use it to access all features of &kword;.</para> +<para>Menubar: <inlinemediaobject><imageobject> <imagedata +fileref="basic.png" format="PNG" +align="center"/></imageobject></inlinemediaobject></para> +</glossdef> +</glossentry> + +<glossentry id="defportrait"> +<glossterm>Portrait</glossterm> +<glossdef> +<para>When you have a standard sheet of paper, you can either orient +your document with the long side vertically or horizontally. When the +vertical dimension is greater than the horizontal, this is termed +Portrait.</para> +<para>Example: <inlinemediaobject><imageobject><imagedata +fileref="portrait.png" format="PNG" +align="center"/></imageobject></inlinemediaobject></para> +<para>Compare with <glossterm +linkend="deflandscape">Landscape</glossterm>.</para> +</glossdef> +</glossentry> + +<glossentry id="defrpm"> +<glossterm><acronym>RPM</acronym></glossterm> +<glossdef> +<para>This is the binary file format for distributions based on the +&RedHat; package manager, a widely used packaging tool for the &Linux; +operating system. If you still have to get &koffice; and your system +supports <acronym>RPM</acronym> packages, you should get &koffice; +packages ending in <literal role="extension">.rpm</literal>. They are +very easy to use.</para> +</glossdef> +</glossentry> + +<glossentry id="defsaturation"> +<glossterm><acronym>Saturation</acronym></glossterm> +<glossdef> +<para>Saturation refers to the subjective quantity of a specific hue in a color. Colors with a low saturation appear more white. +Colors with high saturation appear more richly colored.</para> +<para>This is a set of four red dots which increase in saturation from left to right. +<inlinemediaobject><imageobject><imagedata +fileref="saturation.png" format="PNG"/></imageobject></inlinemediaobject></para> +</glossdef> +</glossentry> + +<glossentry id="defscalingpicture"> +<glossterm>Scaling Pictures</glossterm> +<glossdef> +<para>Whenever you change the size of a graphics image, you are scaling +that image. In &kword; you scale the pictures by changing the shape of +the frame which surrounds the graphic.</para> +</glossdef> +</glossentry> + +<glossentry id="defsourcecode"> +<glossterm>Source Code</glossterm> +<glossdef> +<para>Source code is the human readable version of an application (such +as &kword;). Computers cannot use source code directly. Instead, +source code must be <glossterm linkend="defcompiling">compiled</glossterm> into +binary code, before use.</para> +</glossdef> +</glossentry> + +<glossentry id="deftar"> +<glossterm>TAR</glossterm> +<glossdef> +<para>Tar is a tool used for the archiving of files in so-called +<emphasis>tar-files</emphasis> which you recognize by their suffix +<literal role="extension">.tar</literal>. You can find &koffice; source +and binary distributions as <glossterm linkend="deftgz">gzipped +tar-files</glossterm>; however, you should not use them if there are special +packages for your system and package manager. See <glossterm +linkend="defrpm">RPM</glossterm>, <glossterm linkend="defdeb">DEB</glossterm>.</para> +</glossdef> +</glossentry> + +<glossentry id="deftargz"> +<glossterm><literal role="extension">tar.gz</literal></glossterm> +<glossdef> +<para>See <glossterm linkend="deftgz"><acronym>TGZ</acronym></glossterm>.</para> +</glossdef> +</glossentry> + +<glossentry id="deftgz"> +<glossterm><acronym>TGZ</acronym></glossterm> +<glossdef> +<para>Files ending in <literal role="extension">.tar.gz</literal> or +<literal role="extension">.tgz</literal> are <glossterm +linkend="deftar">tar-files</glossterm> compressed with the +<command>gzip</command> program. This makes the tar files smaller and +quicker to download. You can find &koffice; source and binary +distributions in this format; however, you should not use them if there +are special packages for your system and package manager. See <glossterm +linkend="defrpm">RPM</glossterm>, <glossterm linkend="defdeb">DEB</glossterm>.</para> +</glossdef> +</glossentry> + +<glossentry id="deftoolbar"> +<glossterm>Toolbar</glossterm> +<glossdef> +<para>A toolbar is a line of buttons which are shortcuts to more of the +commonly used features of &kword;. More information on toolbars can be +found <link linkend="toolbars">here</link>.</para> +<para>Example Toolbar: <inlinemediaobject><imageobject> <imagedata +fileref="filetb.png" format="PNG" +align="center"/></imageobject></inlinemediaobject></para> +</glossdef> +</glossentry> + +<glossentry id="defurl"> +<glossterm>&URL;</glossterm> +<glossdef> +<para>&URL; is an abbreviation for Universal Resource Locater. A universal resource locater is +the technical term for what is commonly referred to as a websites address.</para> +<para>Examples of &URL;s include <ulink url="http://www.koffice.org">http://www.koffice.org</ulink> and +<ulink url="http://www.kde.org">http://www.kde.org</ulink></para> +</glossdef> +</glossentry> + +<glossentry id="defvalue"> +<glossterm><acronym>Value (color)</acronym></glossterm> +<glossdef> +<para>Color value refers to how bright or dark a color is. Colors with low value are more black in appearance. Colors with high +value are more richly colored.</para> +<para>This is a set of four red dots which increase in value from left to right. +<inlinemediaobject><imageobject><imagedata +fileref="value.png" format="PNG"/></imageobject></inlinemediaobject></para> +</glossdef> +</glossentry> + + +<glossentry id="defvectorimage"> +<glossterm>Vector Image</glossterm> +<glossdef> +<para>A vector based graphic is described in terms of lines and shapes, +not in terms of dots. These files +scale better than bit-mapped images. </para> +</glossdef> +</glossentry> + +<glossentry id="defwysiwyg"> +<glossterm><acronym>WYSIWYG</acronym></glossterm> +<glossdef> +<para>Stands for <emphasis>What You See Is What You Get</emphasis>. +&kword; is a <acronym>WYSIWYG</acronym> word processor, which means that +the document will appear the same on the screen while you are editing +it, as it will on the printed page.</para> +</glossdef> +</glossentry> + +<glossentry id="defx"> +<glossterm>&X-Window;</glossterm> +<glossdef> +<para>The &X-Window; (also known simply as <quote>X</quote>) is +required for &koffice; to operate. More information on &X-Window; for +&Linux; can be found at <ulink +url="http://www.xfree86.org">http://www.xfree86.org</ulink></para> +</glossdef> +</glossentry> + +</glossary> + +&documentation.index; +</book> diff --git a/doc/kword/inscoldlg.png b/doc/kword/inscoldlg.png Binary files differnew file mode 100644 index 00000000..4af99694 --- /dev/null +++ b/doc/kword/inscoldlg.png diff --git a/doc/kword/insdate.png b/doc/kword/insdate.png Binary files differnew file mode 100644 index 00000000..12a11f35 --- /dev/null +++ b/doc/kword/insdate.png diff --git a/doc/kword/insertfile.docbook b/doc/kword/insertfile.docbook new file mode 100644 index 00000000..cf792062 --- /dev/null +++ b/doc/kword/insertfile.docbook @@ -0,0 +1,22 @@ +<sect1 id="insert-file"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Inserting files</title> +<indexterm><primary>inserting files</primary></indexterm> + +<para>&kword; has the ability to insert a previously saved &kword; file into the current document. This is especially useful for +large documents that have multiple authors.</para> +<para>To insert a &kword; file into the current document, place the cursor at the desired insertion point of the document.</para> +<para>Selecting <menuchoice><guimenu>Insert</guimenu><guimenuitem>File...</guimenuitem></menuchoice> from +the menubar. You will be given a <link linkend="file-dialog">file selection dialog</link> to select the &kword; file you want to insert.</para> +<para>When you have located the &kword; file, click <guibutton>OK</guibutton>, and the new &kword; file will be inserted into the +current document at the current cursor position.</para> +<para>&kword; will integrate the newly inserted document into the structure of the current document.</para> +</sect1> diff --git a/doc/kword/insgrph1.png b/doc/kword/insgrph1.png Binary files differnew file mode 100644 index 00000000..c404ae67 --- /dev/null +++ b/doc/kword/insgrph1.png diff --git a/doc/kword/insgrph2.png b/doc/kword/insgrph2.png Binary files differnew file mode 100644 index 00000000..d1ccc60e --- /dev/null +++ b/doc/kword/insgrph2.png diff --git a/doc/kword/insrowdlg.png b/doc/kword/insrowdlg.png Binary files differnew file mode 100644 index 00000000..32c55a38 --- /dev/null +++ b/doc/kword/insrowdlg.png diff --git a/doc/kword/instab1.png b/doc/kword/instab1.png Binary files differnew file mode 100644 index 00000000..7d4771b1 --- /dev/null +++ b/doc/kword/instab1.png diff --git a/doc/kword/instb.png b/doc/kword/instb.png Binary files differnew file mode 100644 index 00000000..72d4135a --- /dev/null +++ b/doc/kword/instb.png diff --git a/doc/kword/instime.png b/doc/kword/instime.png Binary files differnew file mode 100644 index 00000000..dc88fb44 --- /dev/null +++ b/doc/kword/instime.png diff --git a/doc/kword/intro1.png b/doc/kword/intro1.png Binary files differnew file mode 100644 index 00000000..a8d2261d --- /dev/null +++ b/doc/kword/intro1.png diff --git a/doc/kword/intro2.png b/doc/kword/intro2.png Binary files differnew file mode 100644 index 00000000..0f4fe903 --- /dev/null +++ b/doc/kword/intro2.png diff --git a/doc/kword/intro3.png b/doc/kword/intro3.png Binary files differnew file mode 100644 index 00000000..04b6c138 --- /dev/null +++ b/doc/kword/intro3.png diff --git a/doc/kword/ital.png b/doc/kword/ital.png Binary files differnew file mode 100644 index 00000000..79a64353 --- /dev/null +++ b/doc/kword/ital.png diff --git a/doc/kword/joincell.png b/doc/kword/joincell.png Binary files differnew file mode 100644 index 00000000..ae9cd44c --- /dev/null +++ b/doc/kword/joincell.png diff --git a/doc/kword/kbd-focus-ext.png b/doc/kword/kbd-focus-ext.png Binary files differnew file mode 100644 index 00000000..541e124e --- /dev/null +++ b/doc/kword/kbd-focus-ext.png diff --git a/doc/kword/kformappcol.png b/doc/kword/kformappcol.png Binary files differnew file mode 100644 index 00000000..31083ce5 --- /dev/null +++ b/doc/kword/kformappcol.png diff --git a/doc/kword/kformapprow.png b/doc/kword/kformapprow.png Binary files differnew file mode 100644 index 00000000..df9b1389 --- /dev/null +++ b/doc/kword/kformapprow.png diff --git a/doc/kword/kforminscol.png b/doc/kword/kforminscol.png Binary files differnew file mode 100644 index 00000000..1c3391fb --- /dev/null +++ b/doc/kword/kforminscol.png diff --git a/doc/kword/kforminsrow.png b/doc/kword/kforminsrow.png Binary files differnew file mode 100644 index 00000000..0d3273fc --- /dev/null +++ b/doc/kword/kforminsrow.png diff --git a/doc/kword/kformremcol.png b/doc/kword/kformremcol.png Binary files differnew file mode 100644 index 00000000..452eb974 --- /dev/null +++ b/doc/kword/kformremcol.png diff --git a/doc/kword/kformremrow.png b/doc/kword/kformremrow.png Binary files differnew file mode 100644 index 00000000..8dd870fa --- /dev/null +++ b/doc/kword/kformremrow.png diff --git a/doc/kword/kpart.png b/doc/kword/kpart.png Binary files differnew file mode 100644 index 00000000..f70b6b1d --- /dev/null +++ b/doc/kword/kpart.png diff --git a/doc/kword/kparts.docbook b/doc/kword/kparts.docbook new file mode 100644 index 00000000..67ac3357 --- /dev/null +++ b/doc/kword/kparts.docbook @@ -0,0 +1,56 @@ +<sect1 id="kparts"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>KOffice Data</title> +<indexterm><primary>inserting &koffice; data</primary></indexterm> +<indexterm><primary>&koffice;</primary><secondary>inserting data into &kword;</secondary></indexterm> + +<para>The applications which make up &koffice; are capable of a fine degree of integration between each other.</para> +<note><para>Because the actual process of inserting a component varies depending on the application, this chapter will not detail +every step of the process. You will need to be familiar with the basics of using the other application in order to correctly insert +a component from that application</para> +<para>Refer to the help files of the other applications for more specific information.</para></note> +<sect2 id="kparts-insert"><title>General instructions</title> +<para>There are two ways to insert a component (spreadsheet, presentation, graph, etc) from another application in &koffice;:</para> + +<itemizedlist> +<listitem> +<para>Selecting <menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Object Frame</guimenuitem></menuchoice> from +the menubar.</para> +<para>You will be given a list of &koffice; applications to choose from. Select the application you desire.</para> +</listitem> + +<listitem> +<para>or by clicking <inlinemediaobject><imageobject><imagedata +fileref="kpart.png" format="PNG" +align="center"/></imageobject></inlinemediaobject> on the +toolbar.</para> +<para>A dialog box will appear with a list of &koffice; applications to choose from. Select the application you desire.</para> + +</listitem> +</itemizedlist> + +<para>&kword; +will now ask you to define a frame for this object. Place the mouse pointer where you want the upper left corner of the frame to +be located. Click and hold with the &LMB;. Drag the mouse to draw a square for your new object. When you are happy with the size of the object frame, release the &LMB;</para> +<para>&kword; will now execute the application you selected <emphasis>from within &kword;</emphasis>. The details of each +application are different. Please see the application manuals for the specific &koffice; application for details on the use of that +application. (In other words, from this point on, if you insert a spreadsheet from &kspread;, then the windows will act the same +as &kspread;.)</para> +</sect2> +<sect2 id="kparts-edit"><title>Working with the inserted component</title> +<para>To edit the data within the component, simply double click with the mouse pointer and &kword; will change the toolbars, menuitems and +application structure to match the &koffice; application. This way, you can use the application specific tools to refine your component.</para> +<note><para>The frame that contains the embedded data, can be <link linkend="frames">manipulated</link> +the same as any other frame in &kword;.</para></note> +<para>When you save your document, the component is saved within the &kword; document.</para> +</sect2> +</sect1> diff --git a/doc/kword/landscape.png b/doc/kword/landscape.png Binary files differnew file mode 100644 index 00000000..c9c79611 --- /dev/null +++ b/doc/kword/landscape.png diff --git a/doc/kword/larrow.png b/doc/kword/larrow.png Binary files differnew file mode 100644 index 00000000..1da2e738 --- /dev/null +++ b/doc/kword/larrow.png diff --git a/doc/kword/lbord.png b/doc/kword/lbord.png Binary files differnew file mode 100644 index 00000000..7814e3dc --- /dev/null +++ b/doc/kword/lbord.png diff --git a/doc/kword/linkdlg.png b/doc/kword/linkdlg.png Binary files differnew file mode 100644 index 00000000..620b2c6b --- /dev/null +++ b/doc/kword/linkdlg.png diff --git a/doc/kword/listdepth1.png b/doc/kword/listdepth1.png Binary files differnew file mode 100644 index 00000000..9f5ce137 --- /dev/null +++ b/doc/kword/listdepth1.png diff --git a/doc/kword/listdepth2.png b/doc/kword/listdepth2.png Binary files differnew file mode 100644 index 00000000..8539363a --- /dev/null +++ b/doc/kword/listdepth2.png diff --git a/doc/kword/listdepth3.png b/doc/kword/listdepth3.png Binary files differnew file mode 100644 index 00000000..382f8e4b --- /dev/null +++ b/doc/kword/listdepth3.png diff --git a/doc/kword/lists.docbook b/doc/kword/lists.docbook new file mode 100644 index 00000000..4e7f8b18 --- /dev/null +++ b/doc/kword/lists.docbook @@ -0,0 +1,165 @@ +<sect1 id="lists"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Lists</title> +<indexterm><primary>lists</primary></indexterm> + +<para>&kword; has a simple and flexible list creation system. +Using the same interface, &kword; can create bulleted or enumerated lists of nearly any depth. +For easy, simple lists, &kword; offers +a toolbar button for both enumerated and bulleted lists.</para> + +<para>An enumerating style is a series of letters or +numbers which proposes an order or hierarchy within the list. Bullets +simply mark the item as part of the list and usually consist of a symbol or shape.</para> + +<sect2 id="list-simpl"><title>Simple lists</title> + +<para>To quickly create a single level list, &kword; provides two toolbar buttons.</para> +<para>To create a simple enumerated list, simply select <inlinemediaobject><imageobject><imagedata +fileref="enumlist.png" format="PNG"/></imageobject></inlinemediaobject> from the +<link linkend="paragraph-toolbar">paragraph toolbar</link>. +A small menu will list different enumerated list styles. Select the appropriate style and the selected +paragraphs are converted into a list of that style.</para> +<para>To create a simple bulleted list, select <inlinemediaobject><imageobject><imagedata +fileref="bullist.png" format="PNG"/></imageobject></inlinemediaobject> from the +<link linkend="paragraph-toolbar">paragraph toolbar</link>. +A small menu will list different bulleted list styles. Select the appropriate style and the selected +paragraphs are converted into a bulleted list of that style.</para> +<tip><para>You are still able to make changes to the list styles by <link linkend="list-complex">using the dialog</link>.</para></tip> +</sect2> + +<sect2 id="list-complex"><title>Complex lists</title> +<para>All complex list formatting is done through the <guilabel>Paragraph Settings</guilabel> dialog. To get to the <guilabel>Paragraph Settings</guilabel> dialog you can:</para> + +<itemizedlist> +<listitem> +<para>Select <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Paragraph...</guimenuitem></menuchoice> +from the menubar</para> +</listitem> + +<listitem><para>Type <keycombo action="simul">&Alt;&Ctrl;<keycap>P</keycap></keycombo></para></listitem> + +<listitem> +<para>Place the mouse pointer in the paragraphs that will become the list and click once +with the &RMB;. A small menu +will appear. Select <guimenuitem>Paragraph...</guimenuitem>.</para> +</listitem> + +</itemizedlist> +<para>A dialog will appear. To find the tab specific to lists, click once on the tab labeled <guilabel>Bullets/Numbers</guilabel>.</para> + +<sect3 id="list-dialog"> +<title>List type</title> +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="fpara4.png" format="PNG"/> +</imageobject> +</mediaobject> +</screenshot> + +<para>To format the selected text as a list, select the radio button labeled <guilabel>List</guilabel> from the top section of the dialog box.</para> + +<para>There is a list of five bullets types and five enumerating styles along the left +side of the dialog box. Select the desired list style from the list on the left.</para> +</sect3> +<sect3 id="list-look"><title>Changing the look of the list</title> + +<para>The text box labeled <guilabel>Prefix text:</guilabel> allows the user to add text before +the enumeration or bullet.</para> + +<para>The text box labeled <guilabel>Suffix text:</guilabel> allows the user to add text after +the enumeration or bullet.</para> + +<para>For example: If <quote>Step</quote> is typed into the <guilabel>Prefix text:</guilabel> +box, and <quote>-</quote> is typed into the <guilabel>Suffix text:</guilabel> text box, the list will look like this:</para> + +<informalexample><simplelist> +<member>Step 1 - Place 1 cup of flour in a large mixing bowl.</member> +<member>Step 2 - Add 1/4 tablespoon of yeast.</member> +<member>Step 3 - ....</member> +</simplelist></informalexample> + +<para>If an enumerated list style is selected, the starting number/letter for the list can be set in the spin box +labeled <guilabel>Start at:</guilabel>. If you have selected a bulleted list style, this box will be inactive.</para> +</sect3> +<sect3 id="list-depth"><title>Multi-level lists</title> + +<para>The spin box labled <guilabel>Depth:</guilabel> is used to add subsections to your list. By selecting a depth greater than one, +you are adding a subsection to the list. </para> + +<para>Example of a multilevel enumerated list:</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="listdepth1.png" format="PNG"/> +</imageobject> +</mediaobject> +</screenshot> + +<para>An example of a multilevel bulleted list:</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="listdepth2.png" format="PNG"/> +</imageobject> +</mediaobject> +</screenshot> + +<para>Adjust the depth setting to determine where in the list this text occurs.</para> +<para>By adjusting the spin box labeled <guilabel>Display levels:</guilabel> you can determine if previous levels are displayed. For example, with a list where <guilabel>Depth:</guilabel> is set to three and +<guilabel>Display levels:</guilabel> is set to one might be: </para> + +<informalexample><simplelist> +<member>i. This is a step</member> +<member>ii. This is another step</member> +</simplelist></informalexample> + +<para>If you change the <guilabel>Display levels:</guilabel> to two, it would change to: </para> + +<informalexample><simplelist> +<member>A.i. This is a step</member> +<member>A.ii. This is another step</member> +</simplelist></informalexample> + +<para> You can always refer to the preview section of the dialog for an example of how +your list will look.</para> + + + +</sect3> + +<sect3 id="lists-custom-bullets"><title>Custom Bullets</title> +<para>If you select <guilabel>Custom Bullet</guilabel> from the list of styles, you can click on the button labeled +<guilabel>Custom character:</guilabel> to choose the letter or symbol you want for your bulleted list.</para> +</sect3> +<sect3 id="lists-restart"><title>Restart new list</title> +<para>If you select the checkbox labeled <guilabel>Restart numbering at this paragraph</guilabel> &kword; will start +numbering your list at the beginning.</para> +</sect3> +<sect3 id="lists-multiline"><title> Multiple paragraphs in one list element</title> +<para>Each new paragraph represents a new list element. Sometimes, however, it will be desireable to have multiple +paragraphs on a single list element. This is accomplished by inserting a New Line character instead of a Paragraph Break.</para> + +<para>To insert a New Line, type <keycombo action="simul">&Shift;<keycap>Return</keycap></keycombo>.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="listdepth3.png" format="PNG"/> +</imageobject> +</mediaobject> +</screenshot> + +</sect3> + +</sect2> + +</sect1> diff --git a/doc/kword/ltab.png b/doc/kword/ltab.png Binary files differnew file mode 100644 index 00000000..60d29657 --- /dev/null +++ b/doc/kword/ltab.png diff --git a/doc/kword/ltab2.png b/doc/kword/ltab2.png Binary files differnew file mode 100644 index 00000000..f38b40f8 --- /dev/null +++ b/doc/kword/ltab2.png diff --git a/doc/kword/mailmerge.docbook b/doc/kword/mailmerge.docbook new file mode 100644 index 00000000..c0adac9d --- /dev/null +++ b/doc/kword/mailmerge.docbook @@ -0,0 +1,475 @@ +<sect1 id="mail-merge"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Mail Merge</title> +<indexterm><primary>mail merge</primary><secondary>introduction</secondary></indexterm> + +<para>&kword; has the ability to use data from an outside database (or internal database) to <emphasis>personalize</emphasis> your +documents for individual members/clients/friends.</para> +<para>This section of the manual will cover all aspects of creating, merging and printing documents that are specific to &kword;. This +manual will not cover:</para> +<itemizedlist> +<listitem><para>Creating an external database.</para></listitem> +<listitem><para>Security issues regarding databases.</para></listitem> +<listitem><para>Detailed instructions on SQL. It is assumed you have some knowledge regarding SQL if you are using a +SQL database for your data source.</para></listitem> +<listitem><para>Accessing the network or Internet.</para></listitem> +</itemizedlist> + +<para>For answers to these questions, other documentation is available on the Internet that is specific to the software you have chosen.</para> +<para>You can retreive your mail-merge data from a number of sources: </para> +<itemizedlist> +<listitem><para>If you want to use an outside SQL database, click <link linkend="mail-merge-sql">here</link> for instructions.</para></listitem> +<listitem><para>If you want to use a &kspread; file for your data, click <link linkend="mail-merge-kspread">here</link>.</para></listitem> +<listitem><para>If you want use information from your &kde; Address Book, click <link linkend="mail-merge-ab">here</link>.</para></listitem> +<listitem><para>If you want to use the internal database of &kword;, click <link linkend="mail-merge-internal">here</link>.</para></listitem> +</itemizedlist> + +<sect2 id="mail-merge-sql"> +<title>Using an external SQL database as a data source</title> +<indexterm><primary>mail merge</primary><secondary>SQL databases</secondary></indexterm> + +<para>&kword; has the ability to use several of the most popular open source databases as a source of data for personalized documents.</para> +<note><para>In order to access an outside database using SQL, your machine needs to have the appropriate database module compiled +into your copy of QT.</para> +<para>For more information see the <link linkend="installation">installation section of this documentation</link>.</para></note> +<para>The database can be located on the same machine as &kword;, or on any computer which is accessable through your computer +network or the Internet.</para> +<para>In order to use the database, you must know the following information:</para> +<itemizedlist> +<listitem><para>Name of the database</para></listitem> +<listitem><para>Host name/IP address of the computer the database is located on</para></listitem> +<listitem><para>The port address on the specified computer granting SQL access</para></listitem> +<listitem><para>A valid user name for the database</para></listitem> +<listitem><para>A valid password for the user name</para></listitem> +</itemizedlist> + +<para>If you have all this information at your finger tips, you are ready to proceed.</para> +<para>Using an outside database to create personalized documents is a three step process:</para> +<orderedlist> +<listitem><para><link linkend="mail-merge-sql-data">Connect to the database and select your query.</link></para></listitem> +<listitem><para><link linkend="mail-merge-fields">Insert the merge fields</link> to tell &kword; +where to insert the database information.</para></listitem> +<listitem><para><link linkend="mail-merge-print">Print</link> the personalized documents.</para></listitem> +</orderedlist> + +<sect3 id="mail-merge-sql-data"> +<title>Locate the database and query the records.</title> +<para>To begin, select <menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Configure Mail Merge...</guimenuitem></menuchoice> from +the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Click on <guibutton>Open Existing...</guibutton>. Another small dialog will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1a.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Select <guilabel>QT-SQL Source</guilabel> and click on +<guibutton>OK</guibutton>. A new dialog box will appear.<anchor id="mail-merge-login"/></para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmergesql1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Enter the &URL; or IP address of the computer that holds the database in the text box labeled <guilabel>Hostname:</guilabel>.</para> +<para>Select the driver named <guilabel>QMYSQL3</guilabel> from the combo box labeled <guilabel>Driver:</guilabel>. </para> +<para>Enter the database name you were provided in the text box labeled <guilabel>Database name:</guilabel> and a +user name in the text box labeled <guilabel>Username:</guilabel>.</para> +<para>If the database access is through a port other than the default port enter that port number in the text box labeled +<guilabel>Port:</guilabel>.</para> +<tip><para>If you are going to be using this database at other times, you can click on the button labeled +<guibutton>Keep settings...</guibutton>. &kword; will ask for a descriptive name.</para> +<para>When you want to restore these settings on future sessions, simply select the descriptive name from the combo box in the +upper left of the dialog box.</para> +</tip> +<para>When all information is correct, click <guibutton>OK</guibutton>. &kword; will ask you for a password to that database. Enter +the password in the text box, and click <guibutton>OK</guibutton>.</para> +<para>&kword; will now ask if you want to replace your current data source with the source you have selected. Click <guibutton>Yes</guibutton>. </para> +<para>You are now connected to the database. Now you need to select the data from the database. This dialog box has re-appeared. </para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Click on <guibutton>Edit Current...</guibutton>. Another dialog will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmergesql2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>This dialog is designed to help you enter and test your database query. The dialog is divided into three +sections: Database information, Query information and Query line.</para> +<para>The database information section is labeled <guilabel>Information</guilabel> and consists of two combo boxes. The +left combo box (<guilabel>Available tables:</guilabel>) gives you a list of all available tables within the current database. +Select the desired table from the list by clicking on the table name with the &LMB;. +A list of all available fields from that table will appear in the right combo box.</para> +<para>The query line is a text box located near the bottom of the dialog labeled <guilabel>Query:</guilabel>. Simply type your +SQL query into this text box and click <guibutton>Execute</guibutton>. &kword; will query the database and return the specified query +in tabular format in the <guilabel>Query Result</guilabel> box. You can alter, or edit your query on the query line and each time you +click <guibutton>Execute</guibutton>, the new query results will appear.</para> +<note><para>&kword; does not limit your query strings. They can be simple and straight forward:</para> +<para><userinput>select * from Clients</userinput></para> +<para>Or complex multitable queries:</para> +<para><userinput>select Clients.FirstName, Clients.LastName, Clients.address, data.Birthday, +data.EyeColour from eMail, data where data.FirstName=Clients.FirstName and +data.LastName=Clients.LastName +</userinput></para> +</note> +<para>Clicking <guibutton>Setup</guibutton>, will allow you to <link linkend="mail-merge-login">log into a different database</link>.</para> +<para>When you have the correct query in the <guilabel>Query:</guilabel> text box, click <guibutton>OK</guibutton> to select that query. +</para> +<para>This will return you to the mail merge main dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Click <guibutton>Close</guibutton>.</para> + +<para>Now that you have selected your data query, it is time to insert the merge fields in the document. Click +<link linkend="mail-merge-fields">here to continue</link>.</para> +</sect3> +</sect2> + +<sect2 id="mail-merge-kspread"> +<title>Using a &kspread; file as a data source</title> +<indexterm><primary>mail merge</primary><secondary>using &kspread; file</secondary></indexterm> + +<para>&kword; can use data in a &kspread; document for personalizing documents.</para> +<note><para>In order to use this data, you only need to know the location of the &kspread; document and the worksheet (page) number the data is located on.</para></note> + +<para>Using a &kspread; document to create personalized documents is a three step process:</para> +<orderedlist> +<listitem><para><link linkend="mail-merge-kspread-data">Select the file the data is located within.</link></para></listitem> +<listitem><para><link linkend="mail-merge-fields">Insert the merge fields</link> to tell &kword; +where to insert the database information</para></listitem> +<listitem><para><link linkend="mail-merge-print">Print</link> the personalized documents.</para></listitem> +</orderedlist> + +<sect3 id="mail-merge-kspread-data"> +<title>Selecting the file that contains the data.</title> +<para>To begin, select <menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Configure Mail Merge...</guimenuitem></menuchoice> from +the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Click on <guibutton>Open Existing...</guibutton>. Another small dialog will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1a.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Select <guilabel>&kspread; Table Source</guilabel> from the drop down box labeled <guilabel>Available sources:</guilabel> and click on +<guibutton>OK</guibutton>. A new dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmergekspread1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Enter the &URL; or file name of the &kspread; document in the text box labeled <guilabel>URL:</guilabel>. You can type the file name +directly into the text box, or click on the button with the blue folder and use the file dialog to select the &kspread; file.</para> +<para>Once you have selected the &kspread; document, the drop down box labeled <guilabel>Page number:</guilabel> will show you all the available pages or worksheets +within the &kspread; document. Select the page (or worksheet) that contains the mail merge data.</para> +<para>When all information is correct, click <guibutton>OK</guibutton>. &kword; will ask you if you want to replace the current data source. Click <guibutton>Yes</guibutton> to continue.</para> + + +<para>You will again see the mail merge main dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Click <guibutton>Close</guibutton>.</para> + +<para>Now that you have selected your data query, it is time to insert the merge fields in the document. Click +<link linkend="mail-merge-fields">here to continue</link>.</para> +</sect3> +</sect2> + +<sect2 id="mail-merge-ab"> +<title>Using your &kde; Address book as a data source</title> +<indexterm><primary>mail merge</primary><secondary>using &kde; Address Book</secondary></indexterm> + +<para>&kword; can use data in your address book for personalizing documents.</para> + +<para>Using address book entries to create personalized documents is a three step process:</para> +<orderedlist> +<listitem><para><link linkend="mail-merge-ab-data">Select the people you want included in the mail merge.</link></para></listitem> +<listitem><para><link linkend="mail-merge-fields">Insert the merge fields</link> to tell &kword; +where to insert the database information</para></listitem> +<listitem><para><link linkend="mail-merge-print">Print</link> the personalized documents.</para></listitem> +</orderedlist> + +<sect3 id="mail-merge-ab-data"> +<title>Select the people you want included</title> +<para>To begin, select <menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Configure Mail Merge...</guimenuitem></menuchoice> from +the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Click on <guibutton>Open Existing...</guibutton>. Another small dialog will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1a.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Select <guilabel>&kde; Addressbook Plugin</guilabel> from the drop down box labeled <guilabel>Available sources:</guilabel> and click on +<guibutton>OK</guibutton>. A new dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmergeab1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>The dialog consists of two listboxes labeled <guilabel>Address Book</guilabel> and <guilabel>Selected Addresses</guilabel>. By moving entries from your Address book to the <guilabel>Selected Addresses</guilabel> listbox, you will be including those entries in your merge document. </para> +<para>To add an entry, select the entry in the left listbox by clicking with the &LMB;. Then click <guibutton>Add</guibutton>.</para> +<para>To remove an entry, select the entry in the right listbox by clicking with the &LMB;. Then click <guibutton>Remove</guibutton>.</para> +<tip><para>You can locate entries quickly by entering the first 2-3 letters of an entries name in the textbox labeled <guilabel>Filter on:</guilabel></para></tip> +<note><para>You can load the full address book application by clicking the <guibutton>Address Book...</guibutton> button.</para> +<para>You can also save a distribution list using the <guibutton>Save as Distribution List...</guibutton> button. For more information on distribution lists, see the documentation on the &kde; Addressbook.</para></note> + +<para>When you have selected all the entries and distribution lists you want, click <guibutton>OK</guibutton>. &kword; will ask you if you want to replace the current data source. Click <guibutton>Yes</guibutton> to continue.</para> + + +<para>You will again see the mail merge main dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Click <guibutton>Close</guibutton>.</para> + +<para>Now that you have selected your data query, it is time to insert the merge fields in the document. Click +<link linkend="mail-merge-fields">here to continue</link>.</para> +</sect3> +</sect2> + + +<sect2 id="mail-merge-internal"> +<title>Using an internal representation of tabular data to create documents</title> +<indexterm><primary>mail merge</primary><secondary>using &kword; data tables</secondary></indexterm> + +<para>For small sets of data, or when you do not currently have a database containing the merge data, &kword; +offers you the ability to enter the data <emphasis>directly into &kword;</emphasis> in tabular form. This internal data +structure can then be used to create documents with this data inserted at predefined locations.</para> +<para>Using an internal representation of the data to create personalized documents is a three step process:</para> +<orderedlist> +<listitem><para><link linkend="mail-merge-internal-data">Enter the data</link> into &kword;</para></listitem> +<listitem><para><link linkend="mail-merge-fields">Insert the merge fields</link> to tell &kword; +where to insert the database information</para></listitem> +<listitem><para><link linkend="mail-merge-print">Print</link> the personalized documents.</para></listitem> +</orderedlist> +<para>After the data has been created once, you can go back and change the data as needed, and produce another set of +personalized documents from that data.</para> + +<sect3 id="mail-merge-internal-data"> +<title>Enter the data</title> +<para>To begin, select <menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Configure Mail Merge...</guimenuitem></menuchoice> from +the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Click on <guibutton>Create New...</guibutton>. Another small dialog will appear.</para> +<para>There is currently only one option in this dialog box <guilabel>Internal Storage</guilabel>. Click on +<guibutton>OK</guibutton>. A new dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>This is a record card for creating your tabular data file. Along the top is a toolbar and the main part of the dialog is space to hold +your entry/data pairs.</para> +<sect4 id="mail-merge-internal-data-entry"><title>Defining the structure of your data table</title> +<para>First, we need to add one or more entries (merge fields). This is accomplished by clicking the +<inlinemediaobject><imageobject> +<imagedata fileref="addentry.png" format="PNG" align="center"/></imageobject></inlinemediaobject> +(<guilabel>Add entry</guilabel>) +button (third button from the right along the toolbar). A small dialog box will appear. Type a descriptive name of your entry +in the dialog box (Name, Address, Balance Due, etc....). </para> +<note><para>This is for the name of the entry, not the data that is contained within the entry.</para></note> +<para>Click <guibutton>OK</guibutton>, and the entry is added to the card.</para> +<para>Repeat this process until all needed entries are visible on this first card.</para> +<para>If you want to delete an entry, simply click once on the entry name with the &LMB; and select <inlinemediaobject><imageobject> +<imagedata fileref="delentry.png" format="PNG" align="center"/></imageobject></inlinemediaobject> +(<guilabel>Remove entry</guilabel>). </para> +<warning><para>Be <emphasis>very</emphasis> sure you have selected the correct entry name. Once you tell &kword; to delete +the entry, the entry <emphasis>and all of the data within those entries will be deleted immediately</emphasis>. You will not be +given the option to stop or reverse the process once it is begun.</para></warning> + +</sect4> +<sect4 id="mail-merge-internal-data-value"><title>Entering the data into the table</title> +<para>Now that the structure of your data is defined, you can enter the data into your entries.</para> +<para>At the top of the dialog box, are 4 buttons surrounding a spin box. The spin box gives the current record number. All +records are numbered in the order they are added starting with number 1. You can use the spin box to go directly to +the desired record or you can use the arrows to graphically move +through the list of records.</para> + +<informaltable> +<tgroup cols="2"> +<thead> +<row><entry>Button</entry><entry>Action</entry></row> +</thead><tbody> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="beginning.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Move directly to record one</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="back.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Move back one record</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="forward.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Move forward one record</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="end.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Move to the last record in the dataset</entry></row> +</tbody> +</tgroup> +</informaltable> + +<para>To enter the data, simply place the cursor in the text box to the right of the entry name, and type in the data. (&kword; uses +<quote>No Value</quote> as the default value for all entries in newly created records.)</para> +<para>To add a record, click the +<inlinemediaobject><imageobject> +<imagedata fileref="addrecord.png" format="PNG" align="center"/></imageobject></inlinemediaobject> button.</para> +<para>To delete a record, click the +<inlinemediaobject><imageobject> +<imagedata fileref="delrecord.png" format="PNG" align="center"/></imageobject></inlinemediaobject> button.</para> +<warning><para>Be careful when you are deleting records. Once deleted, the record cannot be retrieved.</para></warning> +<para>Continue to enter all data until your dataset is complete.</para> +<para>After your dataset is complete, click <guibutton>OK</guibutton> to +save the changes to your dataset. This will bring up the mail merge main dialog:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Click <guibutton>Close</guibutton>. Now it is time to insert the merge fields in the document.</para> + +</sect4> + +</sect3> + +<sect3 id="mail-merge-fields"> +<title>Insert merge fields in document</title> +<para>Now that &kword; knows the entries available in your data source, you can insert the merge fields into your document.</para> +<para>A merge field is a placeholder within the document. This placeholder will be replaced in each personalized document with the +value of the entry for that individual record.</para> + +<sect4 id="mail-merge-field-insert"> +<title>Insert a merge field</title> +<indexterm><primary>mail merge</primary><secondary>inserting merge fields</secondary></indexterm> + +<para>To insert a merge field, place the cursor at the desired place in the document. Select <menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Variable</guimenuitem> +<guimenuitem>Mail Merge...</guimenuitem></menuchoice> from +the menubar. A list of available entries will appear. Select the desired entry, and click <guibutton>OK</guibutton>.</para> +<para>The merge field is inserted at the current cursor location. The merge field is surrounded by brackets.</para> +<para>You can place the cursor in a new location in the document and insert another placeholder. When you are done inserting placeholders, +you can proceed to printing your document.</para> +</sect4> + +<sect4 id="mail-merge-field-delete"> +<title>Delete a merge field</title> +<indexterm><primary>mail merge</primary><secondary>deleting a merge field</secondary></indexterm> + +<para>You can delete a merge field two ways.</para> + +<itemizedlist> +<listitem><para>Place the cursor at the end of the merge field, and press the &Backspace; key. </para></listitem> +<listitem><para>Place the cursor at the beginning of the merge field, and press the <keycap>Delete</keycap> key. </para></listitem> +</itemizedlist> + +</sect4> +</sect3> + +<sect3 id="mail-merge-print"> +<title>Previewing and printing the merged document</title> +<indexterm><primary>mail merge</primary><secondary>merging data and text</secondary></indexterm> + +<para>Once you have inserted all the merge fields you want, you are ready to preview and print the personalized documents.</para> +<sect4 id="mail-merge-print-preview"> +<title>Preview your documents before printing</title> +<para>To preview your document select <menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Configure Mail Merge...</guimenuitem></menuchoice> from +the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="mmerge1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Click <guilabel>Print Preview...</guilabel>. You will be able to see the final output of your personalized documents prior to +printing.</para> +</sect4> +<sect4 id="mail-merge-print-printing"> +<title>Print your personalized documents.</title> +<para>You print personalized documents using the same methods that you do to print traditional documents. For more information on printing +see the section on <link linkend="printing">Printing a Document</link>.</para> +</sect4> +</sect3> +</sect2> +</sect1> diff --git a/doc/kword/mbtb.docbook b/doc/kword/mbtb.docbook new file mode 100644 index 00000000..e28f8dbc --- /dev/null +++ b/doc/kword/mbtb.docbook @@ -0,0 +1,2628 @@ +<!-- <?xml version="1.0" ?> +<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"> + +To work on this document standalone, uncomment the prolog. +Comment it out again when you are done --> + +<chapter id="menu-items"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>The Menu Items/Toolbars</title> + +<sect1 id="menu-intro"> +<title>Introduction to the Menubar and Toolbars</title> + +<para>The key to getting the most out of &kword;, is found in the menu +bars and the toolbars.</para> + +<para>The menubar is organized into groups of functions (⪚ file +functions, table functions, &etc;). Below each of these groups, is a +submenu of actions. Some of these submenus will have sub menus of +their own.</para> + +<para>The toolbars are also organized into groups. Each toolbar +consists of a set of buttons. Each button performs a specific +function. The toolbars are designed to act as shortcuts for more +commonly used functions.</para> + +<para>The first part of this section of the manual discusses the +manipulation of &kword;'s toolbars to suit your needs.</para> + +<para>The second part of this section, takes a detailed look at each +menubar function, and each standard toolbar button, and provides you with a +brief summary of its action. Many of these sections also provide you with a link to more detailed +information located elsewhere in the &kword; Handbook.</para> + +</sect1> + +<sect1 id="toolbars"> +<title>Hiding, Changing, and Moving Toolbars</title> +<indexterm><primary>toolbars</primary><secondary>hiding</secondary></indexterm> + +<para>&kword; offers the user great flexibility when it comes to +toolbars. This first section will show you some of the many options +you have for relocating, reformatting and removing toolbars.</para> + +<sect2 id="hide-toolbar"> +<title>Hiding Toolbars </title> + +<para>When you start &kword; for the first time, several toolbars +are visible. If you don't think you will need a toolbar, and want to +reclaim that desktop space, you can hide any or all of the toolbars</para> + +<para>To hide a toolbar, Select <menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Toolbars</guimenuitem></menuchoice> from +the menubar. This will bring up a submenu. All of the toolbars are +listed. Simply select the toolbar you want to hide or restore.</para> + +</sect2> + +<sect2 id="move-toolbar"> +<title>Moving Toolbars around</title> +<indexterm><primary>toolbars</primary><secondary>moving</secondary></indexterm> + +<para>Toolbars can be located on the screen in 5 places.</para> + +<orderedlist numeration="arabic"> +<listitem><para>Top</para></listitem> +<listitem><para>Bottom</para></listitem> +<listitem><para>Left</para></listitem> +<listitem><para>Right</para></listitem> +<listitem><para>Floating</para></listitem> +</orderedlist> + +<para><guilabel>Top</guilabel>, <guilabel>Bottom</guilabel>, +<guilabel>Left</guilabel> and <guilabel>Right</guilabel> refer to the +edges of the &kword; screen.</para> + +<para>By locating a toolbar in the <guilabel>Bottom</guilabel> +position, for example, you move the toolbar into a horizontal position +below the Document Area, and along the bottom of the &kword; +window. By locating a toolbar in the <guilabel>Left</guilabel> +position,however, you move the toolbar into a vertical position to the +left of the Document Area, and along the left edge of the &kword; +window.</para> + +<para>Multiple toolbars can be located at each of these points in the +screen. (You could, for instance, move all the toolbars to the top of +the screen). &kword; will shuffle toolbars around, to fit in the most +compact way at that location.</para> + +<para>There are two ways to move any toolbar.</para> + +<itemizedlist> + +<listitem> +<para>Click on the striped area of the toolbar with the &LMB; and hold +the button down. Drag the toolbar to the desired location. You will +see a rectangular shape indicating the position and orientation of the +toolbar. When at the desired location, release the &LMB; and the +toolbar will be inserted there.</para> + +<para>or</para> +</listitem> + +<listitem> +<para>Click on the toolbar with the &RMB;. A +popup menu will appear. Select +<guimenuitem>Orientation</guimenuitem>. A small submenu will +appear. Select <guimenuitem>Top</guimenuitem>, +<guimenuitem>Bottom</guimenuitem>, <guimenuitem>Left</guimenuitem>, +<guimenuitem>Right</guimenuitem>, <guimenuitem>Floating</guimenuitem> or +<guimenuitem>Flat</guimenuitem>.</para> +</listitem> +</itemizedlist> + +<para>If you select <guilabel>Floating</guilabel> for any toolbar, a new window will be created just for that toolbar. This window can be moved independently from the &kword; window.</para> + +<para>Finally, if you select <guilabel>Flat</guilabel> for any toolbar, the toolbar will be reduced to a horizontal section of lines located directly below the menubar. To restore this menubar, simply double click with the &LMB; on the flattened toolbar and the toolbar will be restored to its original size and position.</para> +</sect2> + +<sect2 id="toolbar-options"> +<title>Changing the look of your toolbars</title> +<indexterm><primary>toolbars</primary><secondary>formatting</secondary></indexterm> + +<para>Toolbars can have their buttons displayed different ways. Below +are examples of the four options for the <emphasis>File</emphasis> +toolbar.</para> + +<informaltable> +<tgroup cols="2"> +<tbody> +<row> +<entry>Icons Only</entry> +<entry><inlinemediaobject><imageobject> <imagedata fileref="tb1.png" +format="PNG"/></imageobject></inlinemediaobject></entry> +</row> + +<row> +<entry>Text Only</entry> +<entry><inlinemediaobject><imageobject> <imagedata fileref="tb2.png" +format="PNG"/></imageobject></inlinemediaobject></entry> +</row> + +<row> +<entry>Text Aside Icons</entry> +<entry><inlinemediaobject><imageobject> <imagedata fileref="tb3.png" +format="PNG"/></imageobject></inlinemediaobject></entry> +</row> + +<row> +<entry>Text Under Icons</entry> +<entry><inlinemediaobject><imageobject> <imagedata fileref="tb4.png" +format="PNG"/></imageobject> </inlinemediaobject></entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para>To change the appearance of a toolbar, place the cursor over on +the toolbar you want to change, and click with the &RMB;.</para> + +<para>A small menu will appear at the mouse cursor. Select +<guimenuitem>Text Position</guimenuitem>. This will open a submenu, +select your preference from the list.</para> + +<sect3 id="toolbar-options-size"> +<title>Changing Icon Size</title> +<indexterm><primary>toolbars</primary><secondary>changing size</secondary></indexterm> + +<para>You can also select the size of the icons by clicking on the +toolbar with the &RMB;. A small popup menu will appear. Select +<guimenuitem>Icon Size</guimenuitem> and then your preferred icon +size.</para> + +<note> +<para>Setting the look of one toolbar does not alter the look +of another toolbar.</para> +</note> + +</sect3> + +</sect2> + +</sect1> + +<sect1 id="basic-menubar"> +<title>Menubar</title> + +<para>The Menubar contains all commands available to &kword;. It is +divided into 10 general categories.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="basic.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<sect2 id="file"> +<title><guimenu>File</guimenu> Menu</title> + +<para>By clicking on the <guimenu>File</guimenu> menu, you can begin +new documents, load previously edited documents, print your documents, +close the current document (so you can load another document), or quit +&kword; entirely.</para> + +<variablelist> + +<varlistentry> +<term id="menu-new"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu><guimenuitem>New</guimenuitem></menuchoice></term> +<listitem> +<para><action> Allows you to open new files for editing.</action> For +Step by Step instructions see <link linkend="new-doc">Beginning a New +Document</link>.</para> + +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>N</keycap></keycombo> or clicking +<inlinemediaobject><imageobject> +<imagedata fileref="filenew2.png" +format="PNG"/></imageobject></inlinemediaobject> is equivalent to +using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-open"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo></shortcut> +<guimenu>File</guimenu><guimenuitem>Open...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action> For opening previously created</action> &kword; files. +For Step by Step instructions see <link linkend="loading">Retrieving a +Saved Document</link>.</para> +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>O</keycap></keycombo> or clicking +<inlinemediaobject><imageobject> <imagedata fileref="fileopen.png" +format="PNG"/> </imageobject></inlinemediaobject> is equivalent to +using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-save"> +<menuchoice> +<guimenu>File</guimenu><guisubmenu>Open +Recent</guisubmenu></menuchoice></term> +<listitem> +<para><action>For opening the most recently edited files. Once you +have clicked on this option, a list of recently edited files will +appear. Select the file you want and &kword; will open the +file. </action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo> +</shortcut> +<guimenu>File</guimenu><guimenuitem>Save</guimenuitem></menuchoice></term> +<listitem> +<para><action>Saves your current file to disk.</action> If you have +not saved the file yet, you will be prompted for a filename. For more +details, see <link linkend="saving">Saving a Document</link>.</para> +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>S</keycap></keycombo> or clicking +<inlinemediaobject><imageobject><imagedata fileref="filefloppy.png" +format="PNG"/> +</imageobject></inlinemediaobject> is equivalent to +using the menubar. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>File</guimenu><guimenuitem>Save +As...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to save your file under another name or another +format.</action> For more details, see <link linkend="command-save-as">Saving a +Document</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-reload"> +<menuchoice> +<guimenu>File</guimenu><guimenuitem>Reload</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Reloads the current file from disk, erasing any changes to the document since the last time it was saved.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-import"> +<menuchoice> +<guimenu>File</guimenu><guimenuitem>Import...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Will load a file from another application.</action> &kword; attempts to decipher as much of the file as it can. For many files, some information will be lost. For more +information on the ability to import files from other applications, see the section on <link linkend="filters">filters</link> at the end of this documentation.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-export"> +<menuchoice> +<guimenu>File</guimenu><guimenuitem>Export...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Will save a file using the format of another application.</action> &kword; attempts to save as much of the file as it can. For many files, some information will be lost. For more +information on the ability to export files to other applications, see the section on <link linkend="filters">filters</link> at the end of this documentation.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-send-file"> +<menuchoice> +<guimenu>File</guimenu><guimenuitem>Mail...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Launches your email client so you can send the current file as an attachment. The file must have been saved once before this option can be selected.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-template-create"> +<menuchoice> +<guimenu>File</guimenu><guimenuitem>Create Template From +Document...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to save your file as a template, to use as a +starting point for future documents.</action> For more details, see +<link linkend="template-creation">Creating a new template</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-statistics"> +<menuchoice> +<guimenu>File</guimenu><guimenuitem>Statistics</guimenuitem> +</menuchoice> +</term> +<listitem> + +<para><action>Opens a window that counts the sentences, words, +characters and syllables in your document.</action></para> <para>The +number of sentences is not always absolutely correct, as &kword; has +to guess if a dot really starts a new sentence or not. The number of +syllables is estimated, &kword; therefore assumes that the text is +written in English.</para> + +<para>The <guilabel>Flesch reading ease:</guilabel> score is a number +between 0 and 100 which estimates how readable a text is. The higher +the number, the easier the text can be read. Text with a score of +70-80 should have fairly good readability.</para> + +<para>The Flesch formula uses the number of words per sentences and +the number of syllables per word. It assumes that the use of short +words and short sentences increases the readability of a text. It says +nothing about grammar or meaning. As both the number of sentences and +the number of syllables is estimated, the result is not absolutely +precise. The text should be at least 200 words long, if it isn't the +score will be marked as approximated.</para> + +<para>The Flesch score is defined for English text only, but the basic +idea should work for many other languages, too.</para> + +<para>Click <guibutton>OK</guibutton> to dismiss the +window.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-print"> +<menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>P</keycap></keycombo></shortcut> +<guimenu>File</guimenu><guimenuitem>Print...</guimenuitem> +</menuchoice></term> +<listitem> +<para><action>Print the file.</action> For an overview of printing +options see <link linkend="printing">Printing a Document</link>.</para> + +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>P</keycap></keycombo> or clicking +<inlinemediaobject><imageobject><imagedata fileref="fileprint.png" format="PNG"/> +</imageobject></inlinemediaobject> are equivalent to using +the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-print-preview"> +<menuchoice> +<guimenu>File</guimenu><guimenuitem>Print Preview...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Print the file, but sends the output to your postscript +viewer, for your confirmation before sending it to the printer. The +operation of your postscript viewer will vary depending on which viewer +you use. Refer to the help files for your viewer for +help.</action></para> + +<para>Clicking <inlinemediaobject><imageobject> +<imagedata fileref="fileprint2.png" format="PNG"/></imageobject></inlinemediaobject> is equivalent to using +the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-doc-info"> +<menuchoice> +<guimenu>File</guimenu><guimenuitem>Document Information</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Opens a window that lets you enter information related to +the document</action> (such as author's name, address, phone numbers, +document abstract, &etc;). This information is saved with the document for later +classification.</para> +<para>For more information, see <link linkend="documentinfo">Document Information</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-close"> +<menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>W</keycap></keycombo></shortcut> +<guimenu>File</guimenu><guimenuitem>Close</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Close the file you are currently working on. If you have +not saved your most recent changes, you will be +prompted.</action></para> +<para>Typing <keycombo action="simul">&Ctrl;<keycap>W</keycap></keycombo> +is equivalent to using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-quit"> +<menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>Q</keycap></keycombo></shortcut> +<guimenu>File</guimenu><guimenuitem>Quit</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Quits</action> &kword;.</para> +<para>Typing <keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo> is equivalent to +using the menubar. </para> +</listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2 id="edit"> +<title><guimenu>Edit</guimenu> Menu</title> + +<para>By clicking on the <guimenu>Edit</guimenu> menu, you can +cut/copy/paste text, undo or redo edits and perform searches and text +replacement.</para> + +<variablelist> +<varlistentry> +<term id="menu-undo"> +<menuchoice> +<shortcut><keycombo +action="simul">&Ctrl;<keycap>Z</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu><guimenuitem>Undo</guimenuitem> +</menuchoice> +</term> +<listitem> + +<para><action>Reverses the last action you performed.</action> Not all +actions can be reversed. If you are not able to Undo the last action, +the <guimenuitem>Undo</guimenuitem> option will be displayed gray and is +not accessible. For a more thourough +discussion of Undo/Redo, <link linkend="undo-redo">click +here</link>.</para> + +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>Z</keycap></keycombo> or clicking +<inlinemediaobject><imageobject><imagedata fileref="undo.png" format="PNG"/> +</imageobject></inlinemediaobject> is equivalent to using +the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-redo"> +<menuchoice><shortcut><keycombo +action="simul">&Ctrl;<keycap>&Shift;</keycap><keycap>Z</keycap></keycombo></shortcut> +<guimenu>Edit</guimenu><guimenuitem>Redo</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Reverses the last Undo performed.</action> If the Redo +option is unavailable, the Toolbar will display this items gray. For a more thourough discussion of Undo/Redo, +<link linkend="undo-redo">click here</link>.</para> +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>&Shift;</keycap><keycap>Z</keycap></keycombo> +or clicking <inlinemediaobject><imageobject> +<imagedata fileref="redo.png" format="PNG"/> +</imageobject></inlinemediaobject> is +equivalent to using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-cut"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>X</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu><guimenuitem>Cut</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Deletes the highlighted text from the document, and places +a copy in the clipboard.</action> For a more complete directions on +cutting and pasting, and a full description of the clipboard, <link +linkend="clipboard">click here</link>.</para> + +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>X</keycap></keycombo> or clicking +<inlinemediaobject><imageobject> +<imagedata fileref="editcut.png" format="PNG"/> +</imageobject></inlinemediaobject> + is equivalent to using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-copy"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Places a copy of the highlighted text in the clipboard, +without changing the text in the document.</action> For a more complete +directions on cutting and pasting, and a full description of the +clipboard, <link linkend="clipboard">click here</link>.</para> + +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>C</keycap></keycombo> or clicking +<inlinemediaobject><imageobject><imagedata fileref="editcopy.png" format="PNG"/></imageobject></inlinemediaobject> is equivalent to using +the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-paste"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu><guimenuitem>Paste</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Inserts a copy of the clipboard into the current cursor +position.</action> If there is highlighted text, &kword; replaces +replaces all highlighted text with the contents of the clipboard. The +clipboard is not altered. For a more complete directions on cutting and pasting, +and a full description of the clipboard, <link +linkend="clipboard">click here</link>.</para> + +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>V</keycap></keycombo> or clicking +<inlinemediaobject><imageobject><imagedata fileref="editpaste.png" format="PNG"/></imageobject></inlinemediaobject> is equivalent to using +the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-select-all"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>A</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Immediately highlights all text of the current +frameset.</action></para> + +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>A</keycap></keycombo> is equivalent to +using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-select-all-frames"> +<menuchoice> + +<guimenu>Edit</guimenu><guimenuitem>Select All Frames</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Immediately selects all frames in the current document.</action></para> + +</listitem> + +</varlistentry> +<varlistentry> +<term> +<menuchoice> +<guimenu>Edit</guimenu><guimenuitem>Select Frame</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Selects the current text frame in the document.</action></para> + +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-find"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>F</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu><guimenuitem>Find...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to search for a series of characters.</action> +The find features of &kword; are covered in more detail under <link +linkend="search-and-replace">Searching for Text</link>.</para> + +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>F</keycap></keycombo> or clicking +<inlinemediaobject><imageobject><imagedata fileref="find.png" format="PNG"/></imageobject></inlinemediaobject> is equivalent to +using the menubar.</para></listitem></varlistentry> + +<varlistentry> +<term id="menu-findnext"> +<menuchoice> +<shortcut> +<keycombo action="simul"><keycap>F3</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu><guimenuitem>Find Next</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Repeat the last search for characters starting at the current cursor position.</action> +The find features of &kword; are covered in more detail under <link +linkend="search-and-replace">Searching for Text</link>.</para> + +<para>Typing <keycombo action="simul"><keycap>F3</keycap></keycombo> is equivalent to +using the menubar.</para></listitem></varlistentry> + +<varlistentry> +<term id="menu-findprev"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Shift;<keycap>F3</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu><guimenuitem>Find Previous</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Repeat the last search for characters starting at the current cursor position and moving backwards.</action> +The find features of &kword; are covered in more detail under <link +linkend="search-and-replace">Searching for Text</link>.</para> + +<para>Typing <keycombo action="simul">&Shift;<keycap>F3</keycap></keycombo> is equivalent to +using the menubar.</para></listitem></varlistentry> + + +<varlistentry> +<term id="menu-replace"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>R</keycap></keycombo> +</shortcut> +<guimenu>Edit</guimenu><guimenuitem>Replace...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to replace one or more characters with +another set of characters.</action> The find and replace features of &kword; are covered +in more detail under <link linkend="replace">Replacing +Text</link>.</para> +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>R</keycap></keycombo> is equivalent to +using the menubar.</para></listitem> +</varlistentry> + +<varlistentry> +<term id="menu-del-page"> +<menuchoice> +<guimenu>Edit</guimenu><guimenuitem>Delete Page</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Delete the current page.</action> </para></listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="view"> +<title><guimenu>View</guimenu> Menu</title><variablelist> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu><guimenuitem>New View</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will create a new view of your document.</action> +For more information on views, refer to the section entitled <link +linkend="views">Using Multiple Views</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;&Shift;<keycap>W</keycap></keycombo> +</shortcut> +<guimenu>View</guimenu><guimenuitem>Close All Views</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will close all views including the current view. This will also quit &kword;.</action> +For more information on views, refer to the section +entitled <link linkend="views">Using Multiple Views</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu><guimenuitem>Split View</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will split the current view.</action> The orientation of the +split is determined by the <guimenuitem>Splitter +Orientation</guimenuitem>. For more information on views, refer to the +section entitled <link linkend="views">Using Multiple +Views</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu><guimenuitem>Remove View</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will close the current view.</action> For more +information on views, refer to the section entitled <link +linkend="views">Using Multiple Views</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu><guisubmenu>Splitter Orientation</guisubmenu> +</menuchoice> +</term> +<listitem> +<para><action>This determines whether split views are oriented +horizontally or vertically.</action> Click on this option, and you are +presented with a submenu with 2 options: +<guimenuitem>Vertical</guimenuitem> and +<guimenuitem>Horizontal</guimenuitem>. For more information on views, +refer to the section entitled <link linkend="views">Using Multiple +Views</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu><guisubmenu>Display Mode</guisubmenu> +</menuchoice> +</term> +<listitem> +<para>When this option is selected, a submenu opens with 3 options:</para> +<simplelist> +<member><guilabel>Page Mode</guilabel> - &kword; will show you how your page looks in a WYSIWYG environment. This is the standard view +for editing your document.</member> +<member><guilabel>Preview Mode</guilabel> - This changes &kword; from a single page view, to a multiple page view suitable for evaluating document flow and formatting. +The number of pages shown in preview mode <link linkend="opt-ui">can be adjusted</link>.</member> +<member><guilabel>Text Mode</guilabel> - When this option is selected, &kword; will only show the text of your document.</member> +</simplelist></listitem> +</varlistentry> + +<varlistentry> +<term id="view-formatting-menu"> +<menuchoice> +<guimenu>View</guimenu><guimenuitem>Formatting Characters</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Clicking on this option toggles the display of formatting +characters. Selecting this option will display non-printable characters +(spaces, character returns, and tab stops). Selecting this option again +will turn the display of these characters off.</action></para> +<para>Which formatting characters are visible can be configured in the +<link linkend="opt-misc">&kword; configuration dialog</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu><guimenuitem>Frame Borders</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Clicking on this option toggles the display of the borders +to frames. Normally, &kword; draws a gray line around each frame, so +you can see the borders of the frames. If you want this option turned +off, you can select this option. Selecting this option again will turn +the borders back on. </action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu><guimenuitem>Show/Hide Doc Structure</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Clicking on this option toggles the display of the document +structure window.</action> For more information, refer to the section entitled +<link linkend="doc-structure">Document Structure</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu><guimenuitem>Show/Hide Rulers</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Selecting this option will toggle the rulers off.</action> +Selecting this option again will turn rulers on. More +information on rulers can be found under <link +linkend="rulers">Using rulers</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu><guimenuitem>Show/Hide Grid</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Selecting this option will toggle the grid on.</action> +Selecting this option again will turn grid off.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>View</guimenu><guimenuitem>Snap to Grid</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Selecting this option will toggle the snap to grid on.</action> +Selecting this option again will turn snap to grid off. A checkmark before +the menu entry will show you the current status of this option.</para> +</listitem> +</varlistentry> + + +<varlistentry> +<term id="menu-zoom"> +<menuchoice> +<guimenu>View</guimenu><guisubmenu>Zoom</guisubmenu> +</menuchoice> +</term> +<listitem> +<para><action>Selecting this option will let you increase or decrease +the page magnification. Selecting a zoom value larger than 100 percent +causes the text and pictures to appear larger. Selecting a zoom value +smaller than 100 percent will cause the text and pictures to appear +smaller.</action></para> + +<important> +<para>The zoom value does not affect the final output of the text or +pictures. This option is intended to help you edit and layout your +documents.</para> +</important> +</listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="insert"> +<title><guimenu>Insert</guimenu> Menu</title> +<variablelist> +<varlistentry> +<term id="menu-insert-special-character"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Alt; &Shift; <keycap>C</keycap></keycombo> +</shortcut> +<guimenu>Insert</guimenu><guimenuitem>Special Character...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Opens a dialog box which allows you to select characters +not found on the keyboard.</action></para> +<para>Typing <keycombo action="simul">&Alt; &Shift; +<keycap>C</keycap></keycombo> is equivalent to using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-insert-hard-frame-break"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;<keycap>Return</keycap></keycombo> +</shortcut> +<guimenu>Insert</guimenu><guimenuitem>Page Break</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will enter a special character which will force text +into the next connected text frame (Page Layout Templates) or the next page (Text Oriented Templates).</action> More information can be +found at <link linkend="hard-break">Page Breaks</link> located in the <link linkend="frames">Working with Frames</link> +section.</para> + +<para>Typing <keycombo +action="simul">&Ctrl;<keycap>Return</keycap></keycombo> is equivalent to +using the menubar. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-insert-page"> +<menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Page</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This option will insert a new page at the current cursor position.</action></para></listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Footnote/Endnote...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will insert a footnote or endnote at the current cursor +position.</action> More detailed information can be found in <link +linkend="endnotes-and-footnotes">Footnotes and Endnotes</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Table of Contents</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will insert or update a table of contents at the current cursor +position.</action> More detailed information can be found in <link +linkend="toc">Table of Contents</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Variable</guisubmenu> +</menuchoice> +</term> +<listitem> +<para><action>Selecting this option will allow you to insert page +numbers, date, time, author information, &etc;</action> You can find +specific information about page numbers <link +linkend="page-number">here</link>. More information about Date and +Times can be found under <link linkend="date-time">Inserting the Date +and Time</link>. More information on other variables can be found in <link +linkend="variables">Document Variables</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Expression</guisubmenu> +</menuchoice> +</term> +<listitem> +<para><action>Selecting this option will allow you to insert common +phrases.</action> The phrases are organized into categories. For +information on using and adding expressions refer to the section +entitled <link linkend="expressions">Expressions</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Link...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to connect text to an external web page, +email address or files</action> +For more information refer to the section entitled +<link linkend="links">Document Links</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Comment...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to add comments to selected text.</action> +For more information refer to the section entitled +<link linkend="comments">Document Comments</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu><guimenuitem>File...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to insert another &kword; file within the document.</action> +For more information refer to the section entitled +<link linkend="insert-file">Inserting Files</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Bookmark...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to mark your place in the document for easy retrieval.</action> +For more information refer to the section entitled +<link linkend="bookmarks">Document Bookmarks</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-create-table"> +<menuchoice> +<shortcut> +<keycombo action="simul"><keycap>F5</keycap></keycombo> +</shortcut> +<guimenu>Insert</guimenu><guimenuitem>Table...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will allow you to create a table in the current +cursor location.</action> For more information, please see the section entitled <link +linkend="tables">Tables</link>.</para> + +<para>Typing <keycombo action="simul"><keycap>F5</keycap></keycombo> or +clicking <inlinemediaobject><imageobject><imagedata +fileref="part-kspread.png" format="PNG"/></imageobject></inlinemediaobject> are +equivalent to using the +menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-insert-picture"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Shift;<keycap>F5</keycap></keycombo> +</shortcut> +<guimenu>Insert</guimenu><guimenuitem>Picture...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action> This option will let you create a new frame, and +automatically insert a picture from a file into the new frame.</action> +After selecting this menu item or toolbar button, a dialog box will be +opened, so you may select the picture file from your system. (For help +with this dialog box, please see <link +linkend="insert-graphics">Inserting Graphics</link>.) Once you have +selected the file you want, click on the <guibutton>OK</guibutton> +button. &kword; will close the dialog box, and your cursor will change +to cross hairs. Locate the cursor on the page where you would like to +locate one corner of your picture. Click and hold the +&LMB;, then drag the mouse. +This will create a border which represents the final size of the picture +in your document. When you are happy with the size of the picture, +release the mouse button and the picture will be inserted in your new +frame.</para> +<para>Typing <keycombo action="simul">&Shift;<keycap>F5</keycap></keycombo> or +clicking <inlinemediaobject><imageobject><imagedata fileref="fpicture.png" +format="PNG"/></imageobject></inlinemediaobject> +is equivalent to using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-create-text-frame"> +<menuchoice> +<shortcut> +<keycombo action="simul"><keycap>F10</keycap></keycombo> +</shortcut> +<guimenu>Insert</guimenu><guimenuitem>Text Frame</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>To create a new text frame.</action> After selecting this +option, your cursor will change to cross hairs. Choose the location of +one corner of your new text frame. Click on the +&LMB; and hold the button down. +Drag the mouse, until you have the desired text frame. When you have +the correct shape and size, release the mouse button. &kword; will now +bring up a dialog box with options to connect this text frame to other +frames in your document. For more information on this subject, see +<link linkend="frames">Working with Frames</link>.</para> + +<para>Typing <keycombo action="simul"><keycap>F10</keycap></keycombo> or +clicking <inlinemediaobject><imageobject><imagedata +fileref="tfcreatebut.png" format="PNG"/></imageobject></inlinemediaobject> is equivalent to using the +menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-create-formula"> +<menuchoice> +<shortcut> +<keycombo action="simul"><keycap>F4</keycap></keycombo> +</shortcut> +<guimenu>Insert</guimenu><guimenuitem>Formula</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Insert a formula into the document.</action> More +information on formulas in &kword; can be found <link +linkend="formulas">here</link>.</para> + +<para>Typing <keycombo action="simul"><keycap>F4</keycap></keycombo> or +clicking <inlinemediaobject><imageobject><imagedata +fileref="part-kformula.png" format="PNG"/></imageobject></inlinemediaobject> are +equivalent to using +the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-create-part"> +<menuchoice> +<guimenu>Insert</guimenu><guisubmenu>Object Frame</guisubmenu> +</menuchoice> +</term> +<listitem> +<para><action>Creates a new frame, and opens a dialog box listing each +of the &koffice; applications. This will allow you to insert any data +into your &kword; document.</action></para> +<para>Clicking <inlinemediaobject><imageobject><imagedata fileref="kpart.png" +format="PNG"/></imageobject></inlinemediaobject> is equivalent to +using the menubar. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-scan-image"> +<menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Scan Image...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to access your scanner for inserting pictures into your document.</action> For more information see +the section entitled <link linkend="scan-graphics">Using a picture from a scanner</link>.</para> +</listitem> +</varlistentry> +</variablelist> + +</sect2> + +<sect2 id="format"> +<title><guimenu>Format</guimenu> Menu</title><variablelist> + +<varlistentry> +<term id="format-default"> +<menuchoice> + +<guimenu>Format</guimenu><guimenuitem>Default Format</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action> Automatically changes all formating back to the +default settings for the selected text.</action></para> +<para>The default format can be set with the <link linkend="opt-document">Document Configuration</link> options.</para> +</listitem> +</varlistentry> + + +<varlistentry> +<term id="format-font"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Alt;&Ctrl;<keycap>F</keycap></keycombo> +</shortcut> +<guimenu>Format</guimenu><guimenuitem>Font...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action> Allows you to change the formatting characteristics of +the selected text.</action> For more details, go to <link +linkend="format-characters">Formating Characters</link></para> + +<para>Typing <keycombo +action="simul">&Alt;&Ctrl;<keycap>F</keycap></keycombo> is equivalent to +using the menubar. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<shortcut> +<keycombo action="simul">&Alt;&Ctrl;<keycap>P</keycap></keycombo> +</shortcut> +<guimenu>Format</guimenu> +<guimenuitem>Paragraph...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>To change the indenting, spacing between paragraphs, text flow, +tab stops, numbering and borders.</action> For more details, go to <link +linkend="format-para">Formating Paragraphs</link>.</para> +<para>Typing <keycombo +action="simul">&Alt;&Ctrl;<keycap>P</keycap></keycombo> is equivalent to +using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu><guimenuitem>Footnote...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to change the look of your footnotes.</action> +For more information see <link linkend="endnotes-and-footnotes"> +Footnotes</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu><guisubmenu>Formula</guisubmenu> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to format the selected formula.</action> For +more information go to <link linkend="formulas">Formulas</link></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu><guisubmenu>Style</guisubmenu> +</menuchoice> +</term> +<listitem> +<para>Allows you to select a style for the selected text. Selecting this option shows a submenu +listing all available paragraphs styles. Select the correct style and the paragraph style will be changed.</para> +<para>For more +information go to <link linkend="styles">Text Styles</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-format-stylist"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Alt;&Ctrl;<keycap>S</keycap></keycombo> +</shortcut> +<guimenu>Format</guimenu><guimenuitem>Style Manager...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Opens a dialog to allow you to format, add and delete +styles.</action> For more information go to <link +linkend="styles">Styles</link></para><para>Typing <keycombo +action="simul">&Alt;&Ctrl;<keycap>S</keycap></keycombo> is equivalent to +using the menubar. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-import-style"> +<menuchoice> +<guimenu>Format</guimenu><guimenuitem>Import Styles...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to import a style.</action> For more information go to <link +linkend="styles">Text Styles</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu><guimenuitem>Create Style From Selection...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Uses the currently selected text to create a new style.</para> +<para>For more +information go to <link linkend="style-add-text">Text Styles</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu><guimenuitem>Page Layout...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Use this to alter the properties of the printed page, +including size, headers and footers.</action> For more details, go to +<link linkend="page-format">Formating the Page</link></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu><guimenuitem>Enable/Disable Document Headers</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Selecting this option will toggle headers on.</action> +Selecting this option again will turn headers off. More +information on headers and footers can be found under <link +linkend="headers-and-footers">Headers and Footers</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Format</guimenu><guimenuitem>Enable/Disable Document Footers</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Selecting this option will toggle footers on.</action> +Selecting this option again will turn footers off. More +information on headers and footers can be found under <link +linkend="headers-and-footers">Headers and Footers</link>.</para> +</listitem> +</varlistentry> + + + +</variablelist> + +</sect2> + +<sect2 id="menu-frames"> +<title><guimenu>Frames</guimenu> Menu</title> + +<variablelist> +<varlistentry> +<term id="reconnect-frame"> +<menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Frame/Frameset Properties...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to configure basic formating options for the +frameset.</action> More information on this subject can be found in +<link linkend="format-frame">Setting properties for +frames</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Delete Frame</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will allow you to delete the entire frame, and all of +the text and objects contained within the frame.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-raise-frame"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;&Shift;<keycap>R</keycap></keycombo> +</shortcut> +<guimenu>Frames</guimenu><guimenuitem>Raise Frame</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will allow you to raise the frame up one level.</action> For more information see the section entitled +<link linkend="raise-frame">Raise and Lower frames</link>.</para> +<para>Typing <keycombo action="simul">&Ctrl;&Shift;<keycap>R</keycap></keycombo> is equivalent to +using the menubar. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-lower-frame"> +<menuchoice> +<shortcut> +<keycombo action="simul">&Ctrl;&Shift;<keycap>L</keycap></keycombo> +</shortcut> +<guimenu>Frames</guimenu><guimenuitem>Lower Frame</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will allow you to lower the frame down one level.</action> For more information see the section entitled +<link linkend="raise-frame">Raise and Lower frames</link>.</para> +<para>Typing <keycombo action="simul">&Ctrl;&Shift;<keycap>L</keycap></keycombo> is equivalent to +using the menubar. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-raise-front"> +<menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Bring to Front</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This raises the currently selected frame to the top of all overlapping frames.</action> For more information see the section entitled +<link linkend="raise-frame">Raise and Lower frames</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-lower-back"> +<menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Send to Back</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This lowers the currently selected frame to the bottom of all overlapping frames.</action> For more information see the section entitled +<link linkend="raise-frame">Raise and Lower frames</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-create-linked"> +<menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Create Linked Copy</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Creates a duplicate frame. The contents of the new frame will automatically be updated to match the contents of the old frame. As you continue to edit the document, changes to one of these frames will result in the same changes to the other frame.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-create-tb"> +<menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Convert to Text Box</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Selected text is removed from the current frame. A new frame is created to allow the selected text to be inserted, and the new text frame is inserted into the current document. This is an easy way to remove a section of text and place it in a text box of its own.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-framestylist"> +<menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Frame Style Manager...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to edit the frame styles.</action> For more information see the section entitled +<link linkend="framestyles">Using frame styles</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-framestyle-create"> +<menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Create Framestyle From Frame...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Create a new framestyle based on the currently selected frame.</action> For more information see the section entitled +<link linkend="framestyles">Using Framestyles</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-framestyle"> +<menuchoice> +<guimenu>Frames</guimenu><guisubmenu>Framestyle</guisubmenu> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to format the selected frame(s) with a predefined framestyle.</action> For more information see the section entitled +<link linkend="framestyles">Using frame styles</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Frames</guimenu><guimenuitem>Frame Background Color...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will allow you to change the background color of the current frame.</action></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Frames</guimenu><guisubmenu>Configure Frame Border</guisubmenu> +</menuchoice> +</term> +<listitem> +<para><action>This will allow you to change the border surrounding the current frame. When selected, a submenu will +appear with all available border styles. Select the correct style and the borders are instantly changed.</action></para> +</listitem> +</varlistentry> + +</variablelist> + +<para> + <anchor id="MenuCrTF"/> +</para> + +</sect2> + +<sect2 id="table"> +<title><guimenu>Table</guimenu> Menu</title> + +<variablelist> + +<varlistentry> +<term id="menu-table-properties"> +<menuchoice> +<guimenu>Table</guimenu><guimenuitem>Properties</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to change the number of rows and columns in a table.</action> For more +on tables, <link linkend="tables">click here</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-insert-row"> +<menuchoice> +<guimenu>Table</guimenu><guisubmenu>Row</guisubmenu><guimenuitem>Insert Row...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to insert a row into a table.</action> For more +on tables, <link linkend="tables">click here</link>.</para> +<para>Clicking <inlinemediaobject><imageobject><imagedata +fileref="rowin.png" format="PNG"/></imageobject></inlinemediaobject> is +equivalent to using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-delete-row"> +<menuchoice> +<guimenu>Table</guimenu><guisubmenu>Row</guisubmenu><guimenuitem>Delete Selected Rows...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Delete a row from a table.</action> For more on tables, +<link linkend="tables">click here</link>.</para> + +<para>Clicking <inlinemediaobject><imageobject><imagedata +fileref="rowout.png" format="PNG"/></imageobject></inlinemediaobject> +is equivalent to using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-insert-column"> +<menuchoice> +<guimenu>Table</guimenu><guisubmenu>Column</guisubmenu><guimenuitem>Insert Column...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to insert a column into a table.</action> For +more on tables, <link linkend="tables">click here</link>.</para> +<para>Clicking <inlinemediaobject><imageobject><imagedata +fileref="colin.png" format="PNG"/></imageobject></inlinemediaobject> is +equivalent to using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-delete-column"> +<menuchoice> +<guimenu>Table</guimenu><guisubmenu>Column</guisubmenu><guimenuitem>Delete Selected Columns...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Delete a column from a table.</action> For more on tables, +<link linkend="tables">click here</link>.</para> +<para>Clicking <inlinemediaobject><imageobject><imagedata +fileref="colout.png" format="PNG"/></imageobject></inlinemediaobject> +is equivalent to using the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-resize-column"> +<menuchoice> +<guimenu>Table</guimenu><guisubmenu>Column</guisubmenu><guimenuitem>Resize Column...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Change the width of the currently selected column.</action> For more on changing column widths, +<link linkend="table-resize-column">click here</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Table</guimenu><guisubmenu>Cell</guisubmenu><guimenuitem>Join Cells</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will convert two (or more) separate cells into a +single cell.</action> For more on tables, <link linkend="tables">click +here</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Table</guimenu><guisubmenu>Cell</guisubmenu><guimenuitem>Split Cell...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This will split one cell into multiple smaller cells.</action> For more on tables, <link linkend="tables">click +here</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Table</guimenu><guisubmenu>Cell</guisubmenu><guimenuitem>Protect Cells</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This prevent changes to the data in the selected cells.</action> For more on tables, <link linkend="tables">click +here</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Table</guimenu><guimenuitem>Ungroup Table</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Converts a table into a grid of individual frames.</action> These individual frames are not connected and can be moved independently around the page. For more on tables, <link +linkend="tables">click here</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Table</guimenu><guimenuitem>Delete Table</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Deletes the table the cursor is in.</action> You can +find more about tables in the section entitled <link linkend="tables">Tables</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Table</guimenu><guimenuitem>Table Style Manager...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Lets you edit tablestyles.</action> You can +find more about tables in the section entitled <link linkend="tablestyle">Using Tablestyle</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-tablestyle"> +<menuchoice> +<guimenu>Table</guimenu><guisubmenu>Tablestyle</guisubmenu> +</menuchoice> +</term> +<listitem> +<para><action>Lets you format the currently selected table using a preformatted template.</action> You can +find more about tables in the section entitled <link linkend="tablestyle">Using Tablestyle</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-table-to-text"> +<menuchoice> +<guimenu>Table</guimenu><guimenuitem>Convert Table to Text</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Converts data that is currently in the selected table to regular text.</action>.</para> +</listitem> +</varlistentry> + +</variablelist> +</sect2> + +<sect2 id="tools"> +<title><guimenu>Tools</guimenu> Menu</title> + +<variablelist> + +<varlistentry> +<term id="menu-auto-spell"> +<menuchoice> +<guimenu>Tools</guimenu><guisubmenu>Spellcheck</guisubmenu><guimenuitem>Autospellcheck</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Will toggle <link linkend="auto-spell-check">automatic spellchecking</link> of the document on and off.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="menu-spell"> +<menuchoice> +<guimenu>Tools</guimenu><guisubmenu>Spellcheck</guisubmenu><guimenuitem>Spelling...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Will <link linkend="spell-check"><action>check the spelling of</action></link> the document.</para> +<para>Clicking <inlinemediaobject><imageobject><imagedata +fileref="spell.png" format="PNG"/></imageobject></inlinemediaobject> is +equivalent to using the menubar. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Tools</guimenu><guisubmenu>Autocorrection</guisubmenu><guimenuitem>Disable/Enable Autocorrection</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Toggles autocorrection on and off.</action> +For more information see the section entitled +<link linkend="autocorrect">Autocorrection</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Tools</guimenu><guisubmenu>Autocorrection</guisubmenu><guimenuitem>Apply Autocorrection</guimenuitem> +</menuchoice> +</term> +<listitem><para><action>&kword; will format your document according to specific rules.</action> +For more information see <link linkend="autoformat">Manually Applying Autocorrection</link>.</para></listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Change Case...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to set the case of all selected text.</action> +For more information see <link linkend="change-font-case"> +Changing Font Case</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Sort Text...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Alphabetizes the selected paragraphs. You will be given the option to sort in ascending or decending order</action>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Edit Personal Expressions...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This is for adding and editing expressions. </action> +For information on using and adding expressions +refer to the section entitled <link linkend="expressions">Expressions</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Add Expression</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Creates a new personal expression with the selected text.</action> For more information on personal expresions, +refer to the section entitled <link linkend="expressions">Expressions</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Custom Variables...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>This is for editing custom document variables. </action> +For information on using and adding expressions +refer to the section entitled <link linkend="variables">Document variables</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Select Bookmark...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Jump to, rename or delete bookmarks. For more information see the section entitled +<link linkend="bookmarks">Document Bookmarks</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Tools</guimenu><guimenuitem>Configure Mail Merge...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para>Displays the <link linkend="mail-merge">Mail Merge Setup</link> Dialog.</para> +</listitem> +</varlistentry> + +</variablelist> + +</sect2> + +<sect2 id="settings"> +<title><guimenu>Settings</guimenu> Menu</title> + +<variablelist> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu><guisubmenu>Toolbars</guisubmenu> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to hide or reveal toolbars individually.</action> For more information see +the section entitled <link linkend="toolbars">Hiding, Changing and Moving Toolbars</link>.</para> +</listitem> +</varlistentry> +<!-- +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Type Anywhere Cursor</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action> +<indexterm><primary>Type Anywhere Cursor</primary></indexterm> +Toggles the cursor between two distinct behaviors.</action></para> +<para>When Type Anywhere Cursor is not selected, and you click in an area of the document that does not currently have any text or whitespace, &kword; moves the cursor to the end of the previous line of text that exists. This prevents the addition of whitespace where it is not needed.</para> +<para>When Type Anywhere Cursor is selected, &kword; inserts whitespace characters to make it possible for you to begin typing at that exact location.</para> +</listitem> +</varlistentry> +--> +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure Autocorrection...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to modify the autocorrection options.</action> +For more on Autocorrection, <link linkend="autocorrect">click +here</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure Completion...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to modify the autocompletion options.</action> +For more see the section on <link linkend="autocomplete">Autocompletion</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure Shortcuts...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to change the keyboard shortcuts.</action> For +details, click <link linkend="options-keybindings">here</link></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure Toolbars...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to change the toolbars.</action> For details, +click <link linkend="options-toolbars">here</link></para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure &kword;...</guimenuitem> +</menuchoice> +</term> +<listitem> +<para><action>Allows you to change miscellaneous</action> &kword; +options.For details, click <link linkend="options-kword">here</link>.</para> +</listitem> +</varlistentry> + +</variablelist> + +</sect2> + +<sect2 id="help"> +<title><guimenu>Help</guimenu> Menu</title> + +&help.menu.documentation; + +</sect2> +</sect1> + + +<sect1 id="file-toolbar"> +<title><guilabel>File</guilabel> Toolbar</title> + +<para>The <guilabel>File</guilabel> toolbar consists of 5 buttons. Each button performs a +task from the menubar. Click on that task for more details. </para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="filetb.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<informaltable> +<tgroup cols="2"> +<thead> +<row><entry>Button</entry><entry>Command</entry></row> +</thead> +<tbody> +<row><entry> +<link linkend="menu-new"><inlinemediaobject><imageobject><imagedata fileref="filenew2.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-new">Open New File</link> +</entry></row> +<row><entry> +<link linkend="menu-open"><inlinemediaobject><imageobject><imagedata fileref="fileopen.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-open">Open Saved File</link> +</entry></row> +<row><entry> +<link linkend="menu-save"><inlinemediaobject><imageobject><imagedata fileref="filefloppy.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-save">Save File</link> +</entry></row> +<row><entry> +<link linkend="menu-print"><inlinemediaobject><imageobject><imagedata fileref="fileprint.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-print">Print File</link> +</entry></row> +<row><entry> +<link linkend="menu-print-preview"><inlinemediaobject><imageobject><imagedata fileref="fileprint2.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-print-preview">Print Preview</link> +</entry></row> +</tbody></tgroup> +</informaltable> +</sect1> + +<sect1 id="char-format-toolbar"> +<title><guilabel>Format</guilabel> ToolBar</title> + +<para>The <guilabel>Format</guilabel> toolbar consists of 9 buttons. Each button +performs a task from the <link linkend="change-font-dialog">format +character dialog</link>.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="cftb.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<informaltable> +<tgroup cols="2"> +<thead> +<row><entry>Button</entry><entry>Command</entry></row> +</thead> +<tbody> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="chfontbut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Select Font Face</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="chsizebut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Character Size</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="bold.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Toggle Bold Text</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="ital.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Toggle Italics</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="undl.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Toggle Underline</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="stkout.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Toggle Strikeout</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="supscbut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Toggle Superscript Text</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="subscbut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Toggle Subscript Text</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="chcolorbut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry><para>Change Font Color</para> +<para>Clicking on the letter changes the selected text to the color previewed in the underline. Clicking the arrow to the right of the letter will let you select a new color.</para></entry></row> +</tbody></tgroup> +</informaltable> +</sect1> + + +<sect1 id="insert-toolbar"> +<title><guilabel>Insert</guilabel> Toolbar</title> + +<para>The <guilabel>Insert</guilabel> toolbar consists of 5 buttons. Each button performs a +task from the menubar. Click on that task for more details. </para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="instb.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<informaltable> +<tgroup cols="2"> +<thead> +<row><entry>Button</entry><entry>Command</entry></row> +</thead> +<tbody> +<row><entry> +<link linkend="menu-create-table"><inlinemediaobject><imageobject><imagedata fileref="part-kspread.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-create-table">Insert Table</link> +</entry></row> +<row><entry> +<link linkend="menu-insert-picture"><inlinemediaobject><imageobject><imagedata fileref="fpicture.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-insert-picture">Insert Picture</link> +</entry></row> +<row><entry> +<link linkend="menu-create-text-frame"><inlinemediaobject><imageobject><imagedata fileref="tfcreatebut.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-create-text-frame">Insert Text Frame</link> +</entry></row><row><entry> +<link linkend="menu-create-formula"><inlinemediaobject><imageobject><imagedata fileref="part-kformula.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-create-formula">Insert Formula Frame</link> +</entry></row><row><entry> +<link linkend="menu-create-part"><inlinemediaobject><imageobject><imagedata fileref="kpart.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-create-part">Insert Object Frame</link> +</entry></row> +</tbody> +</tgroup> +</informaltable> + +</sect1> + +<sect1 id="basic-edit-toolbar"> +<title><guilabel>Edit</guilabel> Toolbar</title> + +<para>The <guilabel>Edit</guilabel> toolbar consists of 8 buttons. Each +button performs a task from the menubar. Click on that +task for more details. </para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="edittb.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<informaltable> +<tgroup cols="2"> +<thead> +<row><entry>Button</entry><entry>Command</entry></row> +</thead> +<tbody> +<row><entry> +<link linkend="menu-undo"><inlinemediaobject><imageobject><imagedata fileref="undo.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-undo">Undo</link> +</entry></row> +<row><entry> +<link linkend="menu-redo"><inlinemediaobject><imageobject><imagedata fileref="redo.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-redo">Redo</link> +</entry></row> +<row><entry> +<link linkend="menu-cut"><inlinemediaobject><imageobject><imagedata fileref="editcut.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-cut">Cut</link> +</entry></row> +<row><entry> +<link linkend="menu-copy"><inlinemediaobject><imageobject><imagedata fileref="editcopy.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-copy">Copy</link> +</entry></row> +<row><entry> +<link linkend="menu-paste"><inlinemediaobject><imageobject><imagedata fileref="editpaste.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-paste">Paste</link> +</entry></row> +<row><entry> +<link linkend="menu-spell"><inlinemediaobject><imageobject><imagedata fileref="spell.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-spell">Spell Check</link> +</entry></row> +<row><entry> +<link linkend="menu-find"><inlinemediaobject><imageobject><imagedata fileref="find.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-find">Find</link> +</entry></row> +<row><entry> +<link linkend="menu-zoom"><inlinemediaobject><imageobject><imagedata fileref="zoom.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-zoom">Zoom</link> +</entry></row> +</tbody></tgroup> +</informaltable> + +</sect1> + +<sect1 id="paragraph-toolbar"> +<title><guilabel>Paragraph</guilabel> Toolbar</title> + +<para>The <guilabel>Paragraph</guilabel> toolbar consists of 9 buttons. Each button performs +a task from the menubar.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="paratb.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<informaltable> +<tgroup cols="2"> +<thead> +<row><entry>Button</entry><entry>Command</entry></row> +</thead> +<tbody> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="chstylebut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Select Character Style</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="alignLeft.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Left Text Align</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="alignCenter.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Center Text Align</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="alignRight.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Right Text Align</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="alignBlock.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Justify Text</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="numtxtbut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Numbered Text paragraphs</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="bullist.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Bulleted Text paragraphs</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="decindbut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Reduce paragraph indent</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="incindbut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Increase Paragraph Indent</entry></row> +</tbody></tgroup> +</informaltable> +</sect1> + +<sect1 id="table-edit-toolbar"> +<title><guilabel>Table</guilabel> Toolbar</title> + +<para>The <guilabel>Table</guilabel> toolbar consists of 5 buttons. Each button +performs a task from the menubar. Click on that task for more +details. </para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tedittb.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<informaltable> +<tgroup cols="2"> +<thead> +<row><entry>Button</entry><entry>Command</entry></row> +</thead> +<tbody> +<row><entry> +<link linkend="menu-tablestyle"><inlinemediaobject><imageobject><imagedata fileref="tblsty.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-tablestyle">Set tablestyle</link> +</entry></row> +<row><entry> +<link linkend="menu-insert-row"><inlinemediaobject><imageobject><imagedata fileref="rowin.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-insert-row">Insert Row</link> +</entry></row> +<row><entry> +<link linkend="menu-insert-column"><inlinemediaobject><imageobject><imagedata fileref="colin.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-insert-column">Insert Column</link> +</entry></row> +<row><entry> +<link linkend="menu-delete-row"><inlinemediaobject><imageobject><imagedata fileref="rowout.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-delete-row">Delete Row</link> +</entry></row> +<row><entry> +<link linkend="menu-delete-column"><inlinemediaobject><imageobject><imagedata fileref="colout.png" format="PNG"/></imageobject></inlinemediaobject></link> +</entry><entry> +<link linkend="menu-delete-column">Delete Column</link> +</entry></row> +</tbody></tgroup> +</informaltable> +</sect1> + +<sect1 id="border-toolbar"> +<title><guilabel>Border</guilabel> Toolbar</title> + +<para>The <guilabel>Border</guilabel> toolbar consists of 10 buttons. Each button performs a +task from the menubar. Click on that task for more details. </para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="bordtb.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<informaltable> +<tgroup cols="2"> +<thead> +<row><entry>Button</entry><entry>Command</entry></row> +</thead> +<tbody> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="tblsty.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Set framestyle</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="bord.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Toggle border outline</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="lbord.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Toggle Left Frame Border</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="rbord.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Toggle Right Frame Border</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="tbord.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Toggle Top Frame Border</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="bbord.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Toggle Bottom Frame Border</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="bdsizebut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Select Border Size</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="bdselbut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Select Border Style</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="bkgdcolorbut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Select Border Color</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="bdcolorbut.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Select Background Color</entry></row> +</tbody></tgroup></informaltable> + +</sect1> + +<sect1 id="formula-toolbar"> +<title><guilabel>Formula</guilabel> Toolbar</title> + +<para>The <guilabel>Formula</guilabel> toolbar consists of 26 buttons.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="formtb.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<informaltable> +<tgroup cols="2"> +<thead> +<row><entry>Button</entry><entry>Command</entry></row> +</thead> +<tbody> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formsqrt.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Add or Change Square Root</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formfrac.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Add Fraction</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formbrac.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Add to Brackets</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formsbrac.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Add to Square Brackets</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formcbrac.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Add to Curly Brackets</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formabs.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Absolute Value</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formover.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Add Overline</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formunder.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Add Underline</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="forminteg.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Integral</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formsum.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Change to Sum</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formprod.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Change to Product</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formmat.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Add Matrix</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formulind.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Add Upper Left Index</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formllind.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Add Lower Left Index</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formurind.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Add Upper Right Index</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formlrind.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Add Lower Right Index</entry></row> +<row><entry>-</entry><entry>Right Facing Characters</entry></row> +<row><entry>-</entry><entry>Left Facing Characters</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="formspecchar.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Special Symbols</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="kforminscol.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Insert Column</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="kformappcol.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Append Column</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="kformremcol.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Remove Column</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="kforminsrow.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Insert Row</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="kformapprow.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Append Row</entry></row> +<row><entry><inlinemediaobject><imageobject><imagedata fileref="kformremrow.png" format="PNG"/></imageobject></inlinemediaobject></entry><entry>Remove Row</entry></row> +</tbody></tgroup></informaltable> + +</sect1> + +<sect1 id="select-colors"> +<title>Selecting Colors from a <guilabel>Select Color</guilabel> dialog</title> +<indexterm><primary>selecting a color</primary></indexterm> + +<para>&kword; uses a common dialog box any time the user needs to select a color for an object (text, backgrounds, borders, etc.).</para> +<para>This section will go into some detail on how to use this color dialog to choose the best color for your object.</para> +<para>When it is necessary to select a color, a dialog box appears.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="colorseldlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>The color dialog is an incredibly flexible dialog box, which makes it possible to select colors in one of six different methods:</para> +<variablelist> +<varlistentry> +<term>Spectrum selectors</term> +<listitem><para>The spectrum selectors consists of a square to adjust <glossterm linkend="defhue">Hue</glossterm> and +<glossterm linkend="defsaturation">Saturation</glossterm>, and a tall narrow box to adjust <glossterm linkend="defvalue">Value</glossterm>.</para> +<para>The white cross hairs in the box show the currently selected color on the spectrum. Drag the cross hairs up to increase +<glossterm linkend="defsaturation">saturation</glossterm>. Drag down to decrease <glossterm linkend="defsaturation">saturation</glossterm>. Move the +cross hairs left or right to change the <glossterm linkend="defhue">hue</glossterm>.</para> +<para>To adjust the <glossterm linkend="defvalue">value</glossterm> of the color, use the tall, narrow box to move the black arrow. Sliding the +arrow up increases the color's <glossterm linkend="defvalue">value</glossterm>. Sliding the arrow down decreases the color's +<glossterm linkend="defvalue">value</glossterm>.</para> +<para>The currently selected color is visible in the colored square below the <guibutton>Add to Custom Colors</guibutton> button.</para></listitem> +</varlistentry> +<varlistentry> +<term>Hue, Saturation and Value</term> +<listitem><para>Using the three spin boxes labeled <guilabel>H</guilabel>,<guilabel>S</guilabel> and <guilabel>V</guilabel>, a user can +specify the <glossterm linkend="defhue">Hue</glossterm> (Range 0-359), <glossterm linkend="defsaturation">Saturation</glossterm> (Range 0-255) +and <glossterm linkend="defvalue">Value</glossterm> (Range 0-255) +respectively.</para> +<para>The currently selected color is visible in the colored square below the <guibutton>Add to Custom Colors</guibutton> button.</para> +</listitem> +</varlistentry> +<varlistentry> +<term>Red, Green and Blue</term> +<listitem><para>Using the three spin boxes labeled <guilabel>R</guilabel>,<guilabel>G</guilabel> and <guilabel>B</guilabel>, a user can +specify the amount of Red, Green and Blue to be mixed to form the current color. All three boxes can be set to any value from 0-255.</para> +<para>The currently selected color is visible in the colored square below the <guibutton>Add to Custom Colors</guibutton> button.</para> +</listitem> +</varlistentry> +<varlistentry> +<term>Palettes</term> +<listitem><para>A palette is a group of related colors. These colors are all made available for easy selection according to a meaningful +association.</para> +<para>To select a new palette, click on the combo box at the top of the palette selection area. +You will be presented with several choices:</para> +<para><guilabel>Recent Colors</guilabel> - This is a list of the most recently used colors in your document. You can use this palette to +maintain consistency. As each new color is selected, it is automatically added to the recent colors palette.</para> +<para><guilabel>Custom Colors</guilabel> - You can create your own custom palette. This is done by selecting a +color using one of the other +color selection options, and clicking on <guibutton>Add to Custom Colors</guibutton>. +That color is now added to your custom color palette.</para> +<para><guilabel>Forty Colors</guilabel> - This is a list of 40 commonly used colors. This is a good palette to choose from if some of the people +viewing your document will be on machines with limited color capability.</para> +<para><guilabel>Web Colors</guilabel> - This is a predefined palette of colors that you might find useful for designing web pages.</para> +<para><guilabel>Royal Colors</guilabel> - This is a predefined palette of colors including numerous shades of purple and yellow.</para> +<para><guilabel>Named Colors</guilabel> - This is a list of color names. The names are based on standard X server color +names. The names are designed to give descriptive names to each color. Simply select the name you want. </para> +<para>Once you have selected a palette, you will be presented with a small square showing each color available in the palette. To +select a color from the palette, simply click on the square of the desired color.</para> +<para>The currently selected color is visible in the colored square below the <guibutton>Add to Custom Colors</guibutton> button.</para> +</listitem> +</varlistentry> +<varlistentry> +<term>Eye dropper</term> +<listitem><para>The eye dropper can be used to sample a color from the screen. </para> +<para>When the eye dropper button is clicked, the cursor becomes crosshairs. Simply place the crosshairs over any spot on the screen +and click once. &kword; will detect the selected color and automatically change the current color to match the selection.</para> +<para>This is especially useful for matching color elements between previously created elements and new items.</para> +<para>The currently selected color is visible in the colored square below the <guibutton>Add to Custom Colors</guibutton> button.</para> +</listitem></varlistentry> +<varlistentry> +<term>HTML code</term> +<listitem><para>If you know the HTML color code you want to use, you can enter it into the text box labeled +<guilabel>HTML:</guilabel>.</para> +<para>For more information on HTML color codes, visit the +<ulink url="http://hotwired.lycos.com/webmonkey/reference/color_codes/">Web monkey</ulink> color code page.</para> +<para>The currently selected color is visible in the colored square below the <guibutton>Add to Custom Colors</guibutton> button.</para> +</listitem> +</varlistentry> +</variablelist> +<para>Once the color is selected, click <guibutton>OK</guibutton> to make that the current color for your text, border, etc.</para> +<para>Click <guibutton>Cancel</guibutton> to abort the color selection.</para> +</sect1> +<sect1 id="file-dialog"> +<title>Selecting files using the file dialog</title> +<indexterm><primary>using file dialog</primary></indexterm> + +<para>&kword; uses a common dialog box for all file related actions (saving, loading, or selecting new files +for insertion into the document). An example is shown below.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="savedlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>This section will look more closely at this dialog and provided detailed information on its use.</para> + +<para>We will begin at the top of the dialog.</para> + +<para><emphasis>Toolbar</emphasis></para> + +<para>The current location on the drive is listed at the top-center of the dialog. This example dialog shows the current folder is <filename +class="directory">/home/mmcbride/kword</filename>. If you click on this drop +down box, you will see common and recently visited folders. By +selecting one of these folders, you will be immediately moved to +that folder and the dialog box will update the file list.</para> + +<para>In the upper left corner, is a blue arrow pointed up. This +arrow will take you up one level in the folder structure.</para> + +<para>The next two buttons are back and forward buttons. These +buttons work just like those in an Internet browser. You can use the <guiicon>Back</guiicon> +button to travel to the previous folder, and the <guiicon>Forward</guiicon> button to +advance into a folder you just came from.</para> + +<para>Next to the arrow buttons, is a <guiicon>Reload</guiicon> button. Clicking this +button, causes &kword; to reload the current folder if new files have been +added or deleted.</para> + +<para>To the right of the <guiicon>Reload</guiicon> button, is a blue file folder with a starburst. This button +will let you create a new folder and name it.</para> + +<para>Next to the new folder button, is a button with a star on it. +This button allows you to set and navigate through bookmarks. This is +a quick way to jump to commonly accessed folders. By clicking +this button, a submenu appears which allows you to add bookmarks or +jump to a new bookmark.</para> + +<para>Next to the bookmark button, is a button with a wrench on it. +Clicking this button brings up a sub menu with several entries:</para> +<para> +<variablelist> +<varlistentry> +<term><guimenuitem>Sorting</guimenuitem></term> +<listitem> +<para>If this option is selected, a submenu will appear allowing you to sort your files by name, date or size. You can sort them forward or reversed. You can also determine if +folders should be listed before files, or mixed within the files.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guimenuitem>Short View</guimenuitem></term> +<listitem> +<para>If this option is selected, only the names of the files and folders will be shown.</para> +<para>Compare this to detailed view.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guimenuitem>Detailed View</guimenuitem></term> +<listitem> +<para>If this option is selected, the names, sizes, dates, permisions, file owners and group ownerships are shown.</para> +<para>Compare this to short view.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guimenuitem>Show Hidden Files</guimenuitem></term> +<listitem> +<para>This will toggle between revealing and hiding normally hidden files. In most cases you will want to leave this option off.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guimenuitem>Show/Hide Quick Access Navigation Panel</guimenuitem></term> +<listitem> +<para>The tall box along the left side of the dialog with a dark grey backround is the Quick Navigation Panel. You can use this option to toggle whether it is visible or not.</para> +<para>More detailed information about hte Quick Navigation Panel is avialable further down this page.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guimenuitem>Show/Hide Preview</guimenuitem></term> +<listitem> +<para>You can use this option to toggle whether the preview panel is visible or not. Typically, the preview panel is left off, but it can be useful when looking for a picture to insert into a document.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guimenuitem>Separate Folders</guimenuitem></term> +<listitem> +<para>Use this option to toggle between a 2 pane view of the filesystem and a one pane view of the filesystem. +Most people will not need to worry about this option as most people prefer the one pane view.</para> +</listitem> +</varlistentry> +</variablelist> +</para> + +<para><emphasis>Quick Navigation Bar</emphasis></para> + +<para>Along the left side of the dialog box, is a column that contains +several icons. You can think of each of these icons as a shortcut to +another subfolder. If you click on an icon, you will be immediately +moved to that location.</para> + +<para>You can add/edit or delete entries from the Location Bar. +Simply click with the &RMB; and a small popup menu will appear.</para> + +<para><emphasis>File Name and Filters</emphasis></para> + + +<para>The text box labeled <guilabel>Location:</guilabel> contains the current filename <filename>Resume.kwd</filename>. This text box will contain the +filename of the currently selected file when loading new documents or files into +&kword;. When saving a file, you will enter the desired filename in this text box.</para> + +<para>The text box labeled <guilabel>Filter:</guilabel> shows we are only looking +at &kword; files. By clicking on the combo box, you can select from several +different file formats. You can also select <guilabel>All Supported Files</guilabel> to display +all files that are supported by &kword;. The file types available will change depending on +the specific task at hand.</para> + +<para>If there is a mark in the checkbox labeled <guilabel>Automatically select filename extension</guilabel>, +then &kword; will add the correct filename extension based on your selection in the <guilabel>Filter:</guilabel> +drop down box. If there is no mark in this box, you are responsible for providing an extension. Most users +will leave this box marked.</para> + +<para>There is a <guibutton>Cancel</guibutton> button, if you click this +button, the action will be aborted, and you will return to editing the +document.</para> + +<para>There is an <guibutton>OK</guibutton> button, which will be used +when we have selected the correct filename.</para> + +<para>Using this dialog, you can move through the folder tree to find +any location on your computer.</para> + +<para>To enter a folder click on that folder. To exit that folder, +click the blue up arrow button.</para> + +<note><para>This dialog box is used in many different tasks in &kword;. The task will determine the exact effect +of the information you have entered into this dialog box. For more information on the exact effect, see the documentation on that task. +</para></note> +</sect1> +</chapter> diff --git a/doc/kword/migrating.docbook b/doc/kword/migrating.docbook new file mode 100644 index 00000000..c224b1f8 --- /dev/null +++ b/doc/kword/migrating.docbook @@ -0,0 +1,15 @@ +<chapter id="migration"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Migrating to &kword;</title> +<indexterm><primary>migrating to &kword;</primary></indexterm> + +<para>To be written</para> +</chapter> diff --git a/doc/kword/mmerge1.png b/doc/kword/mmerge1.png Binary files differnew file mode 100644 index 00000000..db14e0b8 --- /dev/null +++ b/doc/kword/mmerge1.png diff --git a/doc/kword/mmerge1a.png b/doc/kword/mmerge1a.png Binary files differnew file mode 100644 index 00000000..f6aca0c4 --- /dev/null +++ b/doc/kword/mmerge1a.png diff --git a/doc/kword/mmerge2.png b/doc/kword/mmerge2.png Binary files differnew file mode 100644 index 00000000..481d2d09 --- /dev/null +++ b/doc/kword/mmerge2.png diff --git a/doc/kword/mmergeab1.png b/doc/kword/mmergeab1.png Binary files differnew file mode 100644 index 00000000..cd330602 --- /dev/null +++ b/doc/kword/mmergeab1.png diff --git a/doc/kword/mmergekspread1.png b/doc/kword/mmergekspread1.png Binary files differnew file mode 100644 index 00000000..d187ab96 --- /dev/null +++ b/doc/kword/mmergekspread1.png diff --git a/doc/kword/mmergesql1.png b/doc/kword/mmergesql1.png Binary files differnew file mode 100644 index 00000000..67f5b99f --- /dev/null +++ b/doc/kword/mmergesql1.png diff --git a/doc/kword/mmergesql2.png b/doc/kword/mmergesql2.png Binary files differnew file mode 100644 index 00000000..05d7df32 --- /dev/null +++ b/doc/kword/mmergesql2.png diff --git a/doc/kword/mousenav.png b/doc/kword/mousenav.png Binary files differnew file mode 100644 index 00000000..462c6051 --- /dev/null +++ b/doc/kword/mousenav.png diff --git a/doc/kword/numtxtbut.png b/doc/kword/numtxtbut.png Binary files differnew file mode 100644 index 00000000..dcccf5ef --- /dev/null +++ b/doc/kword/numtxtbut.png diff --git a/doc/kword/opendlg.png b/doc/kword/opendlg.png Binary files differnew file mode 100644 index 00000000..ede758e5 --- /dev/null +++ b/doc/kword/opendlg.png diff --git a/doc/kword/opt.docbook b/doc/kword/opt.docbook new file mode 100644 index 00000000..7fb0b588 --- /dev/null +++ b/doc/kword/opt.docbook @@ -0,0 +1,654 @@ +<chapter id="options"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>&kword; Options</title> +<indexterm><primary>&kword;</primary><secondary>options</secondary></indexterm> +<indexterm><primary>configuring &kword;</primary></indexterm> + +<para>This section of the documentation will show you how to configure &kword; to suit your personal work style and preferences.</para> +<para>&kword; can be modified in three separate ways:</para> +<orderedlist> +<listitem><para><link linkend="options-keybindings">Configure shortcuts</link></para></listitem> +<listitem><para><link linkend="options-toolbars">Configure toolbars</link></para></listitem> +<listitem><para><link linkend="options-kword">Miscellaneous options</link></para></listitem> +</orderedlist> +<sect1 id="options-keybindings"> +<title>Configure Key Bindings (keyboard shortcuts)</title> +<indexterm><primary>configuring keyboard shortcuts</primary></indexterm> +<indexterm><primary>keyboard shortcuts</primary><secondary>changing</secondary></indexterm> +<indexterm><primary>configuring key binding</primary></indexterm> +<indexterm><primary>keyboard key binding</primary><secondary>changing</secondary></indexterm> + +<para>To configure the keyboard shortcuts select <menuchoice> +<guimenu>Settings</guimenu><guimenuitem>Configure Shortcuts... +</guimenuitem></menuchoice> from the menubar.</para> + +<para>This will bring up a dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="optkb.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>To edit the shortcuts, the first thing you need to do is find +the action you want to edit. All of the possible actions are listed in +the combo box labeled <guilabel>Action</guilabel>. By using the +scrollbar, locate the action you are interested in and click once with +the &LMB;.</para> + +<para>Once you have selected the action, you can turn your attention to +the bottom half of the dialog box. You use the bottom half of the dialog +box to change the shortcuts.</para> + +<variablelist> +<varlistentry> +<term><guilabel>None</guilabel></term> +<listitem> +<para>By selecting this option, the currently selected action will not +have any keyboard shortcut.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Default</guilabel></term> +<listitem> +<para>By selecting this option, the currently selected action will use +the default shortcut. Once this option is clicked, the default keyboard shortcut +is listed below.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Custom</guilabel></term> +<listitem> +<para>By selecting this option, you can choose any keyboard combination +as a shortcut for this action.</para> +</listitem> +</varlistentry> +</variablelist> + + +<sect2 id="options-keybindings-custom"><title>Defining custom keyboard shortcuts</title> +<para>You determine the key combination by clicking on the button with the current +keyboard combination in it. A second dialog will appear:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="optkb2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>This dialog box allows you to determine two different key combinations +which will trigger the desired action: <guilabel>Primary shortcut:</guilabel> and <guilabel>Alternate shortcut:</guilabel>.</para> + +<sect3 id="custom-keybinding-single"><title>Defining simple keyboard shortcuts</title> +<para>Begin by deciding if you want to specify the <guilabel>Primary shortcut:</guilabel> or <guilabel>Alternate shortcut:</guilabel> +, by placing a mark in the appropriate radiobutton.</para> + +<para>The <inlinemediaobject><imageobject><imagedata +fileref="clearright.png" format="PNG"/></imageobject></inlinemediaobject> button will clear the current keyboard shortcut.</para> + +<para>Now type the keyboard shortcut into the keyboard. &kword; will use this keyboard combination as the new +keyboard shortcut. The window will close automatically.</para> + +<para>Once you have completed your entries, simply click on <guibutton>OK</guibutton> +to accept the changes or <guibutton>Cancel</guibutton> to cancel your changes.</para> +</sect3> + +<sect3 id="custom-keybinding-multi"><title>Defining multi-key keyboard shortcuts</title> + +<para>Multi-key keyboard shortcuts can be used when you run out of simple keyboard shortcuts. </para> + +<para>Multi-key shortcuts are edited the same as simple keyboard shortcuts, except a mark is placed in the +check box labeled <guilabel>Multi-key mode</guilabel> <emphasis>prior</emphasis> to entering the keyboard shortcut.</para> + +<para>You can now enter multiple keyboard characters for the keyboard shortcut.</para> + +<note><para>It is important to understand that keyboard <emphasis>combinations</emphasis> +(i.e.: <keycombo action="simul">&Alt; &Shift; +<keycap>P</keycap></keycombo>) are still a <emphasis>single character</emphasis> because all the keys are +depressed at the same time.</para> + +<para>An example of a multi-key combination would be if you press <keycombo action="simul">&Alt; +<keycap>X</keycap></keycombo>, release both characters then type a +<keycap>W</keycap>. This is a multi-key combination.</para></note> + +<para>Once you have completed your entries, simply click on <guibutton>OK</guibutton> +to accept the changes or <guibutton>Cancel</guibutton> to cancel your changes.</para> +</sect3> +</sect2> +</sect1> + +<sect1 id="options-toolbars"> +<title>Configure Toolbars</title> +<indexterm><primary>configuring toolbars</primary></indexterm> + +<para>To configure &kword;'s toolbars +select <menuchoice> <guimenu>Settings</guimenu><guimenuitem>Configure +Toolbars...</guimenuitem></menuchoice> from the menubar.</para> + +<para>This will bring up a dialog box. You can add or remove as many +toolbar buttons to as many toolbars as you like. You can also move the +buttons around on the toolbar using this dialog.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="opttb.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<sect2> +<title>Adding a button to a toolbar</title> + +<para>To add a button to a toolbar, you move it from the +<guilabel>Available actions:</guilabel> box to the <guilabel>Current +actions:</guilabel> column.</para> + +<para>First select the toolbar you want to add a button to by selecting +the toolbar from the combo box labeled +<guilabel>Toolbar:</guilabel></para> + +<para>Now select the action you want to add from the combo box labeled +<guilabel>Available actions:</guilabel> by clicking once with the left +mouse button.</para> + +<para>Click the blue arrow pointing to the +right. <inlinemediaobject><imageobject><imagedata fileref="rarrow.png" +format="PNG" /></imageobject></inlinemediaobject></para> + +<para>Once the <guibutton>OK</guibutton> button or the <guibutton>Apply</guibutton> button has been clicked, the toolbars +will change.</para> + +</sect2> + +<sect2> +<title>Deleting a button from a toolbar</title> + +<para>To delete a button from a toolbar, you move it from the +<guilabel>Current actions:</guilabel> box to the <guilabel>Available +actions:</guilabel> column.</para> + +<para>First select the toolbar you want to delete a button from by selecting +the toolbar from the combo box labeled +<guilabel>Toolbar:</guilabel></para> + +<para>Select the toolbar button you want to remove the button from +the combo box labeled <guilabel>Current actions:</guilabel>.</para> + +<para>Click the blue arrow pointing to the +left. <inlinemediaobject><imageobject><imagedata fileref="larrow.png" +format="PNG"/></imageobject></inlinemediaobject></para> + +<para>Once the <guibutton>OK</guibutton> button or the <guibutton>Apply</guibutton> button has been clicked, the toolbars +will change.</para> + +</sect2> + +<sect2> +<title>Moving a button on a toolbar</title> + +<para>First select the toolbar you want to move a button on by selecting +the toolbar from the combo box labeled +<guilabel>Toolbar:</guilabel></para> + +<para>To move a button, simply click on the button you want to move with +the <mousebutton>left</mousebutton> mouse button.</para> + +<para>Click the up or down arrows to move the button up or down the +toolbar respectively.</para> + +<para>Once the <guibutton>OK</guibutton> button or the <guibutton>Apply</guibutton> button has been clicked, the toolbars +will change.</para> + +</sect2> +</sect1> + +<sect1 id="options-kword"> +<title>&kword; Options</title> +<indexterm><primary>&kword;</primary><secondary>options</secondary></indexterm> + +<para>To configure options regarding spelling and the user interface +select <menuchoice> <guimenu>Settings</guimenu><guimenuitem>Configure +&kword;...</guimenuitem></menuchoice> from the menubar.</para> + +<para>This will bring up a dialog box.</para> + + +<sect2 id="opt-ui"> +<title>Configure &kword; User Interface</title> + +<para>Clicking <guibutton>Interface</guibutton> will allow you to change +the following.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="opt2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term><guilabel>Units:</guilabel></term> +<listitem><para>Select your preferred unit of measurement. &kword; will use these units for all measurements. See +<link linkend="rulers">Using Rulers</link> for more information.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show status bar</guilabel></term> +<listitem><para>Placing a mark in this check box makes the status bar visible in &kword;. See +<link linkend="kword-screen">The &kword; Screen</link> for more information.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Show scrollbar</guilabel></term> +<listitem><para>Placing a mark in this check box makes the scrollbar visible in &kword;. See +<link linkend="kword-screen">The &kword; Screen</link> for more information.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>PageUp/PageDown moves the caret</guilabel></term> +<listitem><para>If this check box has a mark, then when you press the <keycap>PageUp</keycap> and <keycap>PageDown</keycap> keys +on the keyboard, &kword; moves the text cursor (the caret) down one page. If there is no mark in this check box +then &kword; moves the view, but does not change the position of the text cursor. </para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Number of recent files:</guilabel></term> +<listitem> +<para>This determines the maximum number of files that are listed under +<menuchoice> <guimenu>File</guimenu><guisubmenu>Open +Recent</guisubmenu></menuchoice> command. You can adjust this value +from 1-20.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Horizontal grid size:</guilabel></term> +<listitem><para>Determines the horizontal size of the grid. When frames and tab stops are placed on the page, they +are placed on a point in the grid. This gives your document a more professional look because elements are effectively +aligned. You can reduce the grid size if you need finer control of your layout.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Vertical grid size:</guilabel></term> +<listitem><para>Determines the vertical size of the grid. When frames are placed on the page, they +are placed on a point in the grid. This gives your document a more professional look because elements are effectively +aligned. You can reduce the grid size if you need finer control of your layout.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Paragraph indent by toolbar buttons:</guilabel></term> +<listitem><para>Use this spin box to determine how far the paragraph is indented when using the increase indent button +(<inlinemediaobject><imageobject><imagedata fileref="incindbut.png" +format="PNG"/></imageobject></inlinemediaobject>) and the decrease indent button +(<inlinemediaobject><imageobject><imagedata fileref="decindbut.png" +format="PNG"/></imageobject></inlinemediaobject>).</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Number of pages per row in preview mode:</guilabel></term> +<listitem><para>Determines the number of pages per row in preview mode. +This determines the size of the pages in preview mode.</para></listitem> +</varlistentry> +</variablelist> + +<para>When you are happy with the changes, simply click +<guibutton>OK</guibutton>.</para> + +<para>If you click on <guibutton>Cancel</guibutton>, all changes will be +lost.</para> + +<para>Clicking on the <guibutton>Defaults</guibutton> button restores all +values to their default values.</para> + +</sect2> + +<sect2 id="opt-document"><title>Configure document options</title> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="opt4.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<sect3 id="opt-document-defaults"><title>Document defaults</title> +<variablelist> +<varlistentry> +<term><guilabel>Default column spacing</guilabel></term> +<listitem> +<para>Use this to adjust the default spacing between columns. For more information on columns see +<link linkend="columns">Columns</link>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Default font:</guilabel></term> +<listitem> +<para>Click on the <guibutton>Choose...</guibutton> button, and a new dialog will appear. Use this dialog to +choose the default font. This setting determines the default font used by &kword; until further formatting is done. You can +revert any text to this default by selecting +<menuchoice> <guimenu>Format</guimenu><guimenuitem>Default Format</guimenuitem></menuchoice> from +the menubar.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Global language:</guilabel></term> +<listitem> +<para>Use this drop down box to determine the default language for the document. This setting is used by the +hyphenation and spelling tools.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Automatic hyphenation</guilabel></term> +<listitem> +<para>Place a mark in this checkbox if you want &kword; to automatically hyphenate long words when it determines the word wrap +in text frames.</para> +</listitem> +</varlistentry> + +</variablelist> +</sect3> + +<sect3 id="opt-document-settings"><title>Document settings</title> +<variablelist> +<varlistentry> +<term><guilabel>Autosave every (min):</guilabel></term> +<listitem> +<para>You can use this to adjust how often &kword; saves a temporary +file. If you set this value to <guilabel>No autosave</guilabel>, &kword; will not autosave. +You can adjust the autosave from 1 minute to 60 minutes.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Create backup file</guilabel></term> +<listitem> +<para>If there is a mark in this checkbox, &kword; will automatically create a backup file everytime you save your document.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Starting page number:</guilabel></term> +<listitem> +<para>Use this text box to determine the starting page number. For more information on page numbering see +<link linkend="page-number">Page Numbering</link>.</para> +<tip><para>This is helpful if you have split a single document into multiple files.</para></tip> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Tab stop:</guilabel></term> +<listitem> +<para>Each &kword; document has a default set of tab stops. If you add tab stops to your document, the newly added +tab stops override the default tabstops. You can use this text box to define the spacing between default tab stops.</para> +<para>As an example. If you enter <userinput>1.5</userinput> in this text box, and the unit of measure is in centimeters, then the +first default tab stop will be located 1.5 cm to the right of the left margin of the frame. The second default tab stop will be located at 3 cm from the +left margin, etc....</para> +</listitem> +</varlistentry> + +</variablelist> +</sect3> +<sect3 id="opt-document-cursor"><title>Cursor settings</title> +<variablelist> +<varlistentry> +<term><guilabel>Cursor in protected area</guilabel></term> +<listitem><para> +When there is a mark in this check box, and you click in a protected frame of your document, a cursor appears. When the +mark is removed from this check box, and you click in a protected frame, there is no cursor visible.</para></listitem> +</varlistentry> + +<!-- varlistentry> +<term><guilabel>Direct insert cursor</guilabel></term> +<listitem><para> +When there is a mark in this check box, and you can select a section of text using your mouse. Move the mouse to a new place +in your document and click once with the middle mouse button and a copy of the selected text is copied and pasted to the new location +in the document.</para> +<para>When there is no mark in this checkbox, in order to copy text from one section to another, you must select the text, +<link linkend="local-copy">manually copy the text in to the clipboard</link>, then manually paste the text in the new location. </para></listitem> +</varlistentry --> +</variablelist> + + +<para>When you are happy with the changes, simply click +<guibutton>OK</guibutton>.</para> + +<para>If you click on <guibutton>Cancel</guibutton>, all changes will be +lost.</para> + +<para>Clicking on the <guibutton>Defaults</guibutton> button restores all +values to their default values.</para> +</sect3> +</sect2> + + + +<sect2 id="opt-spell"> +<title>Configure Spelling.</title> + +<para>To configure the options for the speller, click on the button +labeled <guibutton>Spelling</guibutton>.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="opt1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Each option is detailed below.</para> + +<variablelist> +<varlistentry> +<term><guilabel>Default language:</guilabel></term> +<listitem><para>Used by the spelling application to choose the correct dictionary.</para></listitem> +</varlistentry> + + +<varlistentry> +<term><guilabel>Enable background spellchecking</guilabel></term> +<listitem><para>If a mark is placed in this checkbox, &kword; will check the spelling of words in your document as you type them. Words that +&kword; believes are misspelled will have a red line drawn under them.</para></listitem> +</varlistentry> + + +<varlistentry> +<term><guilabel>Skip all uppercase words</guilabel></term> +<listitem><para>If a mark is placed in this checkbox, &kword; will not check the spelling of any word which consists of all capital letters.</para> +<tip><para>This is useful if the document you are working on uses a large number of acronyms. If this box is left unchecked, most of those acronyms +will be incorrectly marked. By placing a mark in this checkbox, &kword; will not mark the acronyms as misspelled.</para></tip></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Skip run-together words</guilabel></term> +<listitem><para>If this box is not checked, and &kword; finds a two words in its dictionary that are placed next to each other, it will be +marked as misspelled. If this box is checked, the combined word will be ignored.</para> +<para>Examples of such words are <emphasis>shutout</emphasis>, +<emphasis>cannot</emphasis>, and <emphasis>blackout</emphasis>.</para> +<tip> +<para>Checking this box will help prevent &kword; from +flagging website and email addresses for spelling errors. These +addresses often contain words run together.</para> +</tip></listitem> +</varlistentry> +</variablelist> +<sect3><title>Ignoring words</title> +<para>The bottom half of the dialog box allows you to designate specific words (they may be specialized terminology, proper names, etc) which +should be ignored by the spelling program.</para> + +<sect4><title>Adding a word to the ignore list</title> +<para>To add a word, type the word in the text box directly below the words <guilabel>Ignore +These Words</guilabel> and click the <guibutton>Add</guibutton> button.</para> +</sect4> + +<sect4><title>Deleteing a word from the ignore list</title> +<para>To remove a word, select the word in the listbox containing all the currently ignored words by clicking on it with +the &LMB;. Now click the <guibutton>Remove</guibutton> button.</para> +</sect4> + +<sect4><title>Changing the order a word appears in the list</title> +<para>To move a word in the list, select the word in the listbox containing all the currently ignored words by clicking on it with +the &LMB;. Now click the <guibutton>Move Up</guibutton> button or the <guibutton>Move Up</guibutton> button to move the word +within the list.</para> + +<para>When you are happy with the changes, simply click +<guibutton>OK</guibutton>.</para> + +<para>If you click on <guibutton>Cancel</guibutton>, all changes will be +lost.</para> + +<para>Clicking on the <guibutton>Defaults</guibutton> button restores all +values to their default values.</para> +</sect4> +</sect3> +</sect2> + + + +<sect2 id="opt-formula"><title>Configure formula options</title> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="opt5.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>Use this dialog to format the appearance of formulas in &kword;. See the formula documentation for further details.</para> +<para>When you are happy with the changes, simply click +<guibutton>OK</guibutton>.</para> + +<para>If you click on <guibutton>Cancel</guibutton>, all changes will be +lost.</para> + +<para>Clicking on the <guibutton>Defaults</guibutton> button restores all +values to their default values.</para> + +</sect2> +<sect2 id="opt-misc"><title>Configure miscellaneous options</title> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="opt3.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<sect3 id="opt-misc-misc"><title>Misc</title> +<variablelist> + +<varlistentry> +<term><guilabel>Undo/redo limit:</guilabel></term> +<listitem><para>Use this spin box or slider to determine how many actions &kword; keeps in its Undo buffer. Any action that exceeds +this number will be forgotten.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Display links</guilabel></term> +<listitem><para>Placing a mark in this check box makes document links visible in &kword;. If there is no mark in this check box, +document links will be hidden. See +<link linkend="links">Document links</link> for more information.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Underline all links</guilabel></term> +<listitem><para>Placing a mark in this check box will have &kword; automatically underline a document link when it is created. See +<link linkend="links">Document links</link> for more information.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Display comments</guilabel></term> +<listitem><para>Placing a mark in this check box makes document comments visible in &kword;. See +<link linkend="comments">Document comments</link> for more information.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Display field code</guilabel></term> +<listitem><para>If there is a mark in this check box, &kword; shows the variable name of document variables, +rather than the content of the variable in the &kword; +screen. If this check box does not have a mark, then &kword; shows the contents of the variables. </para> +<note><para>This option does not affect the printed output. The contents of the variables are printed regardless of the state of this +check box.</para></note> +</listitem> +</varlistentry> + +</variablelist> +</sect3> +<sect3 id="opt-misc-viewformatting"><title>View Formatting</title> + +<para>You can use these four check boxes to determine what formatting characters are displayed when you have asked &kword; to +<link linkend="view-formatting-menu">show formatting characters</link>.</para> +<variablelist> + +<varlistentry> +<term><guilabel>View formatting end paragraph</guilabel></term> +<listitem><para>Toggles the display of paragraph marks (new-line characters) on and off.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>View formatting space</guilabel></term> +<listitem><para>Toggles the display of individual spaces on and off.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>View formatting tabs</guilabel></term> +<listitem><para>Toggles the display of tab stops on and off.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>View formatting break</guilabel></term> +<listitem><para>Toggles the display of frame breaks on and off.</para> +</listitem> +</varlistentry> +</variablelist> + + +<para>When you are happy with the changes, simply click +<guibutton>OK</guibutton>.</para> + +<para>If you click on <guibutton>Cancel</guibutton>, all changes will be +lost.</para> + +<para>Clicking on the <guibutton>Defaults</guibutton> button restores all +values to their default values.</para> +</sect3> +</sect2> + +<sect2 id="opt-path"><title>Configure path options</title> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="opt6.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>Use this dialog to set the <guilabel>Backup Path</guilabel> and the directory +for your <guilabel>Personal Expression</guilabel> in &kword;.</para> +</sect2> + +<sect2 id="opt-tts"><title>Configure Text-To-Speech options</title> + +<para>See the <link linkend="a11y-tts">Text-to-Speech</link> section +in the accessibility chapter for further details.</para> +</sect2> + +</sect1> +</chapter> diff --git a/doc/kword/opt1.png b/doc/kword/opt1.png Binary files differnew file mode 100644 index 00000000..cf32ccc1 --- /dev/null +++ b/doc/kword/opt1.png diff --git a/doc/kword/opt2.png b/doc/kword/opt2.png Binary files differnew file mode 100644 index 00000000..45cbf78d --- /dev/null +++ b/doc/kword/opt2.png diff --git a/doc/kword/opt3.png b/doc/kword/opt3.png Binary files differnew file mode 100644 index 00000000..b866c8a2 --- /dev/null +++ b/doc/kword/opt3.png diff --git a/doc/kword/opt4.png b/doc/kword/opt4.png Binary files differnew file mode 100644 index 00000000..26de4bed --- /dev/null +++ b/doc/kword/opt4.png diff --git a/doc/kword/opt5.png b/doc/kword/opt5.png Binary files differnew file mode 100644 index 00000000..35b59a3e --- /dev/null +++ b/doc/kword/opt5.png diff --git a/doc/kword/opt6.png b/doc/kword/opt6.png Binary files differnew file mode 100644 index 00000000..05decd5d --- /dev/null +++ b/doc/kword/opt6.png diff --git a/doc/kword/optkb.png b/doc/kword/optkb.png Binary files differnew file mode 100644 index 00000000..cf574a40 --- /dev/null +++ b/doc/kword/optkb.png diff --git a/doc/kword/optkb2.png b/doc/kword/optkb2.png Binary files differnew file mode 100644 index 00000000..6628c2a9 --- /dev/null +++ b/doc/kword/optkb2.png diff --git a/doc/kword/opttb.png b/doc/kword/opttb.png Binary files differnew file mode 100644 index 00000000..833c4afc --- /dev/null +++ b/doc/kword/opttb.png diff --git a/doc/kword/pageformat.docbook b/doc/kword/pageformat.docbook new file mode 100644 index 00000000..39500304 --- /dev/null +++ b/doc/kword/pageformat.docbook @@ -0,0 +1,253 @@ +<sect1 id="page-format"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Formatting the Page</title> + +<para>Before delving into the specifics of formatting a page in &kword;, remember that +&kword; has two separate types of documents: Text Oriented and Page Layout. +Please review <link +linkend="wp-vs-dtp">The difference between Text Oriented and Page Layout Documents</link>, +if the differences are still unclear.</para> + +<para>This section of the manual is divided into two sub-parts, one for +<link linkend="wp-page-format">Text Oriented</link>, the other for <link linkend="dtp-page-format">Page Layout</link>.</para> + +<sect2 id="wp-page-format"> +<title> Formatting the Page (Text Oriented Document)</title> +<indexterm><primary>text oriented document</primary><secondary>formatting the page size</secondary></indexterm> +<indexterm><primary>formatting the page size (text oriented document)</primary></indexterm> +<indexterm><primary>text oriented document</primary><secondary>formatting the margins</secondary></indexterm> +<indexterm><primary>formatting the margins (text oriented document)</primary></indexterm> +<indexterm><primary>headers</primary><secondary>formatting</secondary></indexterm> +<indexterm><primary>footers</primary><secondary>formatting the page</secondary></indexterm> + +<para>When you are working with a Text Oriented Document, you control +the size and shape of the main frame by setting the paper size and the margins. </para> + +<para>Formatting the page is usually done by selecting: <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Page Layout...</guimenuitem></menuchoice> +from the menubar.</para> + +<tip> +<para>You can also go straight to the <guimenuitem> +Page Layout</guimenuitem> options by selecting the main frame of the document and then double clicking on either of the +rulers.</para> +</tip> + +<para>A dialog box will appear with three tabs, labeled <guilabel>Page Size & Margins</guilabel>, <guilabel>Columns</guilabel> and <guilabel>Header & and Footer</guilabel>.</para> + +<para>The <guilabel>Page Size & Margins</guilabel> tab is for altering +the paper size, and changing the margins.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="wpfmtpg1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>First you will notice, that a preview box appears on the right +half of this dialog. This will <emphasis>approximate</emphasis> the +final look of your document. It is updated with each change, and should +be used as a guide for your changes. </para> + +<para>On the left, the dialog displays the current unit of measurement. +This unit of measurement is the same unit of measurement +you use for your document rulers. (In this example, we are using +inches.) To change the units, follow the instructions in the section entitled +<link linkend="rulers">Using Rulers</link>.</para> + +<para>The dialog section labled <guilabel>Page Size</guilabel> is used to specify +the paper size for the document. </para> +<para>&kword; includes many predefined paper sizes. Select the appropriate paper size with the drop down +box labeled <guilabel>Size</guilabel>.</para> + +<para>In addition to standard paper sizes, there are two selections that +deserve special mention.</para> +<variablelist> +<varlistentry> +<term><guilabel>Screen</guilabel></term> +<listitem><para>This format is used to generate a document where +each page has an <glossterm linkend="defaspectratio">aspect +ratio</glossterm> (shape) which matches the aspect ratios of computer +monitors. This might be useful for documents which will never be printed, but will appear only on a computer screen.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Custom</guilabel></term> +<listitem><para>You can select this option to specify a unique paper size.</para> +<para>Once selected, two text +entry boxes (labeled <guilabel>Width:</guilabel> and +<guilabel>Height:</guilabel>) become active. Enter the height and width of your desired paper size in these text boxes.</para></listitem> +</varlistentry> +</variablelist> + +<para>Below the page size, are two radio boxes in the section labeled +<guilabel>Orientation</guilabel> you can select either <link +linkend="defportrait">Portrait</link> or <link +linkend="deflandscape">Landscape</link> layout for +your document. </para> + +<para>Below the page orientation, is the <guilabel>Margins</guilabel> subsection, which +consists of 4 spin boxes.</para> + +<para>The <guilabel>Margins</guilabel> define the +white-space surrounding the text in your main frame. You can enter any +number from 0 to the maximum size of the page in these boxes. The units +are the same for all four boxes, and is the same as the measurement +listed at the top of the dialog.</para> + +<para>Clicking on the <guilabel>Columns</guilabel> tab allows you to +change the number of columns on each page. Details on multi-column documents +can be found <link linkend="columns">here</link>.</para> + +<para>Clicking on the <guilabel>Header & Footer</guilabel> tab allows the user to +specify header and footer information. </para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="wpfmtpg3.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>This dialog can be broken into two major sections.</para> + +<para>If you are not familiar with Headers and Footers yet, you should +first read the section entitled <link +linkend="headers-and-footers">Headers/Footers</link></para> + +<para><emphasis>Headers</emphasis></para> + +<para>This section lets you determine the placement of headers, and +which pages have which headers on them.</para> + +<para>If you place a mark in front of <guilabel>Different header for the first page</guilabel>, you +will be able to specify a different format for the header on the first page.</para> + +<para>If you place a mark in front of <guilabel>Different header for even and odd pages</guilabel>, +the even pages will use one header, the odd +pages use another header. </para> +<tip><para>You can use this to ensure the page numbers +are always on the outside of the page, or to list the title of the +document on odd pages and the chapter number on the even pages.</para></tip> + +<para>In the spin box labeled <guilabel>Spacing between header and +body:</guilabel>, you can specify how much empty space should be placed +between the bottom of the header, and the top of the main frame.</para> + +<para><emphasis>Footers</emphasis></para> + +<para>This section lets you determine the placement of footers, and +which pages have which footers on them.</para> + +<para>If you place a mark in front of <guilabel>Different footer for the first page</guilabel>, you +will be able to specify a different format for the footer on the first page.</para> + +<para>If you place a mark in front of <guilabel>Different footer for even and odd pages</guilabel>, +the even pages will use one footer, the odd +pages use another footer. </para> + +<para>In the spin box labeled <guilabel>Spacing between footer and +body:</guilabel>, you can specify how much empty space should be placed +between the top of the footer, and the bottom of the main frame.</para> + +<para><emphasis>Footnote/Endnote</emphasis></para> + +<para>The bottom spin box is labeled <guilabel>Spacing between footnote and body:</guilabel>. As the label +suggests, you can use this text +box to specify the distance between the bottom edge of the main frame, and the top edge of the footnotes. For more information on +footnotes, see the section entitled <link linkend="endnotes-and-footnotes">footnotes</link>. </para> + +<para>When you are satisfied with the changes you are ready to make, +click <guibutton>OK</guibutton>.</para> + +<para>If you click <guibutton>Cancel</guibutton>, all your changes will +be ignored.</para> + +</sect2> + +<sect2 id="dtp-page-format"> +<title> Formatting the Page (Page Layout Document)</title> +<indexterm><primary>page layout document</primary><secondary>formatting the page size</secondary></indexterm> +<indexterm><primary>formatting the page size (page layout document)</primary></indexterm> + +<para>When you are working with a Page Layout Document, you control the +size and shape of all the frames individually. </para> + +<para>Formatting the page is usually done by selecting: <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Page Layout...</guimenuitem></menuchoice> +from the menubar.</para> + +<tip> +<para>You can also go straight to the <guimenuitem>Page +Layout</guimenuitem> options by double clicking on either of the +rulers.</para> +</tip> + +<para>A dialog box will appear.</para> + +<para>The <guilabel>Page Size & Margins</guilabel> tab is for altering +the paper size, and changing the margins.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="dtpfmtpg1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>First you will notice, that a preview box appears on the right +half of this dialog. This will <emphasis>approximate</emphasis> the +final look of your document. It is updated with each change, and should +be used as a guide for your changes. </para> + +<para>On the left, the dialog displays the current unit of measurement. +This unit of measurement is the same unit of measurement +you use for your document rulers. (In this example, we are using +inches.) To change the units, follow the instructions in the section entitled +<link linkend="rulers">Using Rulers</link>.</para> + +<para>The dialog section labled <guilabel>Page Size</guilabel> is used to specify +the paper size for the document. </para> +<para>&kword; includes many predefined paper sizes. Select the appropriate paper size with the drop down +box labled <guilabel>Size</guilabel>.</para> + +<para>In addition to standard paper sizes, there are two selections that +deserve special mention.</para> +<variablelist> +<varlistentry> +<term><guilabel>Screen</guilabel></term> +<listitem><para>This format is used to generate a document where +each page has an <glossterm linkend="defaspectratio">aspect +ratio</glossterm> (shape) which matches the aspect ratios of computer +monitors. This might be useful for documents which will never be printed, but will appear only on a computer screen.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Custom</guilabel></term> +<listitem><para>You can select this option to specify a unique paper size.</para> +<para>Once selected, two text +entry boxes (labeled <guilabel>Width:</guilabel> and +<guilabel>Height:</guilabel>) become active. Enter the height and width of your desired paper size in these text boxes.</para></listitem> +</varlistentry> +</variablelist> + +<para>Next to the paper format, in the section labeled +<guilabel>Orientation</guilabel> you can select either <link +linkend="defportrait">Portrait</link> or <link +linkend="deflandscape">Landscape</link> layout for +your document. </para> + +<para>Below the page format options, is the <guilabel>Margins</guilabel> subsection, which +consists of 4 entry boxes. All options in this subsection are disabled in Page Oriented documents.</para> + +</sect2> +</sect1> diff --git a/doc/kword/paratb.png b/doc/kword/paratb.png Binary files differnew file mode 100644 index 00000000..cbdd6667 --- /dev/null +++ b/doc/kword/paratb.png diff --git a/doc/kword/part-kformula.png b/doc/kword/part-kformula.png Binary files differnew file mode 100644 index 00000000..7f38e7bd --- /dev/null +++ b/doc/kword/part-kformula.png diff --git a/doc/kword/part-kspread.png b/doc/kword/part-kspread.png Binary files differnew file mode 100644 index 00000000..93fb3503 --- /dev/null +++ b/doc/kword/part-kspread.png diff --git a/doc/kword/picture.png b/doc/kword/picture.png Binary files differnew file mode 100644 index 00000000..eba247ce --- /dev/null +++ b/doc/kword/picture.png diff --git a/doc/kword/pntdlg.png b/doc/kword/pntdlg.png Binary files differnew file mode 100644 index 00000000..9a90d6fc --- /dev/null +++ b/doc/kword/pntdlg.png diff --git a/doc/kword/pntdlg1.png b/doc/kword/pntdlg1.png Binary files differnew file mode 100644 index 00000000..d70273f0 --- /dev/null +++ b/doc/kword/pntdlg1.png diff --git a/doc/kword/portrait.png b/doc/kword/portrait.png Binary files differnew file mode 100644 index 00000000..f1541de9 --- /dev/null +++ b/doc/kword/portrait.png diff --git a/doc/kword/rarrow.png b/doc/kword/rarrow.png Binary files differnew file mode 100644 index 00000000..11a8ada5 --- /dev/null +++ b/doc/kword/rarrow.png diff --git a/doc/kword/rbord.png b/doc/kword/rbord.png Binary files differnew file mode 100644 index 00000000..20709166 --- /dev/null +++ b/doc/kword/rbord.png diff --git a/doc/kword/redo.png b/doc/kword/redo.png Binary files differnew file mode 100644 index 00000000..934e5871 --- /dev/null +++ b/doc/kword/redo.png diff --git a/doc/kword/repldlg.png b/doc/kword/repldlg.png Binary files differnew file mode 100644 index 00000000..2efdfc02 --- /dev/null +++ b/doc/kword/repldlg.png diff --git a/doc/kword/rowin.png b/doc/kword/rowin.png Binary files differnew file mode 100644 index 00000000..fefbcd16 --- /dev/null +++ b/doc/kword/rowin.png diff --git a/doc/kword/rowout.png b/doc/kword/rowout.png Binary files differnew file mode 100644 index 00000000..b82f870f --- /dev/null +++ b/doc/kword/rowout.png diff --git a/doc/kword/rtab.png b/doc/kword/rtab.png Binary files differnew file mode 100644 index 00000000..8fc40bcf --- /dev/null +++ b/doc/kword/rtab.png diff --git a/doc/kword/rtab2.png b/doc/kword/rtab2.png Binary files differnew file mode 100644 index 00000000..9ce5569f --- /dev/null +++ b/doc/kword/rtab2.png diff --git a/doc/kword/ruler.png b/doc/kword/ruler.png Binary files differnew file mode 100644 index 00000000..e1479538 --- /dev/null +++ b/doc/kword/ruler.png diff --git a/doc/kword/saturation.png b/doc/kword/saturation.png Binary files differnew file mode 100644 index 00000000..44475821 --- /dev/null +++ b/doc/kword/saturation.png diff --git a/doc/kword/saved1.png b/doc/kword/saved1.png Binary files differnew file mode 100644 index 00000000..ce392844 --- /dev/null +++ b/doc/kword/saved1.png diff --git a/doc/kword/saved2.png b/doc/kword/saved2.png Binary files differnew file mode 100644 index 00000000..05d9647e --- /dev/null +++ b/doc/kword/saved2.png diff --git a/doc/kword/savedlg.png b/doc/kword/savedlg.png Binary files differnew file mode 100644 index 00000000..ee5966a6 --- /dev/null +++ b/doc/kword/savedlg.png diff --git a/doc/kword/savetmpl1.png b/doc/kword/savetmpl1.png Binary files differnew file mode 100644 index 00000000..3bfccf0f --- /dev/null +++ b/doc/kword/savetmpl1.png diff --git a/doc/kword/scan.png b/doc/kword/scan.png Binary files differnew file mode 100644 index 00000000..0746bfa4 --- /dev/null +++ b/doc/kword/scan.png diff --git a/doc/kword/scan2.png b/doc/kword/scan2.png Binary files differnew file mode 100644 index 00000000..caec3df8 --- /dev/null +++ b/doc/kword/scan2.png diff --git a/doc/kword/screen.png b/doc/kword/screen.png Binary files differnew file mode 100644 index 00000000..e6f199c1 --- /dev/null +++ b/doc/kword/screen.png diff --git a/doc/kword/select1.png b/doc/kword/select1.png Binary files differnew file mode 100644 index 00000000..b3500213 --- /dev/null +++ b/doc/kword/select1.png diff --git a/doc/kword/spell.png b/doc/kword/spell.png Binary files differnew file mode 100644 index 00000000..0a3cb23e --- /dev/null +++ b/doc/kword/spell.png diff --git a/doc/kword/spelldlg.png b/doc/kword/spelldlg.png Binary files differnew file mode 100644 index 00000000..727b86dd --- /dev/null +++ b/doc/kword/spelldlg.png diff --git a/doc/kword/stkout.png b/doc/kword/stkout.png Binary files differnew file mode 100644 index 00000000..b7b7e014 --- /dev/null +++ b/doc/kword/stkout.png diff --git a/doc/kword/storeprint.docbook b/doc/kword/storeprint.docbook new file mode 100644 index 00000000..1289f39a --- /dev/null +++ b/doc/kword/storeprint.docbook @@ -0,0 +1,476 @@ +<chapter id="store-print"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Detailed Guides: Document Creation, Storage, and Printing</title> + +<para>This section of the documentation will cover everything you need +to know about starting a new document, saving a document, retrieving a +saved document and printing a document.</para> + +<sect1 id="new-doc"> +<title>Beginning a New Document</title> +<indexterm><primary>create new document</primary></indexterm> +<para>Starting a new document can be done 5 ways:</para> + +<itemizedlist> +<listitem> +<para>You can <link linkend="starting-kword">start &kword; from the +&kde; Panel</link>.</para> +</listitem> + +<listitem> +<para>You can <link linkend="starting-kword">start &kword; from the +command line</link> by typing<screen><prompt>$</prompt><userinput><command>kword &</command></userinput> +</screen></para> +</listitem> + +<listitem> +<para>You can begin a new document in &kword; by selecting <menuchoice> +<guimenu>File</guimenu><guimenuitem>New</guimenuitem></menuchoice> from +the menubar.</para> +</listitem> + +<listitem> +<para>You can use the keyboard shortcut: <keycombo +action="simul">&Ctrl;<keycap>N</keycap></keycombo></para> +</listitem> + +<listitem> +<para>or by clicking <inlinemediaobject><imageobject><imagedata +fileref="filenew2.png" format="PNG" +align="center"/></imageobject></inlinemediaobject> on the +toolbar.</para> +</listitem> + +</itemizedlist> + +<para>However you begin a new document, a dialog box appears:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="ChooseTempDia.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>This dialog box allows you to:</para> + +<itemizedlist spacing="compact"> +<listitem> +<para><link linkend="new-doc-from-template">Start a new document from a +template</link></para> +</listitem> +<listitem> +<para><link linkend="loading-existing-doc">Open an existing +document</link></para> +</listitem> +<listitem> +<para><link linkend="loading-recent-doc">Open a recent +document</link></para> +</listitem> +</itemizedlist> +<para>&kword; remembers your previous choice. That previous choice will be the current default option.</para> + + +<sect2 id="new-doc-from-template"> +<title>Starting a new document from a template</title> + +<para>In order to start a new document based on a template, you must +first choose which template you want to use.</para> + +<orderedlist> +<listitem><para>Use the icons located along the left edge of the dialog box to select your template group. Simply click with the &LMB; to select that group and +display all the available templates of that group.</para> + +<note> +<para>Remember templates are either Text Oriented (Blank Document) or Page Layout +templates. If you need to review the differences, click <link +linkend="wp-vs-dtp">here</link>.</para> +</note> +<para>Once you have selected the icon, you are shown all the available +templates, each with a title and a small icon which shows you the +general layout of the template. </para> + +<tip> +<para>&kword; comes with four standard template groups. You can add +new icons by installing outside templates, or <link linkend="template-creation">creating templates of your +own</link>.</para> +</tip></listitem> + +<listitem><para>To select your template, click on it with the &LMB;. The +selected template will be highlighted.</para></listitem> +<listitem><para>Confirm your choice by clicking +the <guibutton>Use This Template</guibutton> button. This will begin a new document +with that template.</para></listitem> +</orderedlist> + +<tip> +<para>For faster access to a template, simply double click on the +template, and &kword; will immediately load that template.</para> +</tip> +</sect2> + +<sect2 id="loading-existing-doc"> +<title>Opening an existing document</title> + +<para>Click on the <guibutton>Open Existing Document...</guibutton> button, and an new +dialog box is revealed. For more details on this dialog box refer to +<link linkend="file-dialog">Using the file selection dialog</link>.</para> + +<sect3 id="loading-recent-doc"> +<title>Open a Recent Document</title> +<para>&kword; keeps track of the most recently edited documents. You can select one of these documents by clicking on the icon labeled +<guilabel>Recent Documents</guilabel>. This will list the most recently edited files on the system. Simply click on the icon of the desired file with the +&LMB; and click <guibutton>Open This Document</guibutton>.</para> + +</sect3> + + +</sect2> + +</sect1> + +<sect1 id="saving"> +<title>Saving a Document</title> +<indexterm><primary>saving a document</primary></indexterm> +<para>Once you have entered text and data into a document, you will +usually want to save this to a file on your hard drive.</para> + +<tip><para>&kword; can create a <literal role="extension">.pdf</literal> file for you. For instructions see +<link linkend="qd-pdf">How do I create a <literal role="extension">.pdf</literal> file?</link></para></tip> + +<sect2 id="command-save"> + +<title>The <guimenuitem>Save</guimenuitem> Command</title> +<para>The <guimenuitem>Save</guimenuitem> command can be invoked 3 ways:</para> + +<itemizedlist> +<listitem> +<para>By selecting <menuchoice> +<guimenu>File</guimenu><guimenuitem>Save</guimenuitem></menuchoice> from +the Menubar</para> +</listitem> + +<listitem> +<para>You can use the keyboard shortcut: <keycombo +action="simul">&Ctrl;<keycap>S</keycap></keycombo></para> +</listitem> + +<listitem> +<para>or by clicking <inlinemediaobject><imageobject><imagedata +fileref="filefloppy.png" +format="PNG"/></imageobject></inlinemediaobject> on the toolbar.</para> +</listitem> +</itemizedlist> + +<para>Any of these methods results in the same action by &kword;.</para> + +<important><para>By selecting the <guimenuitem>Save</guimenuitem> command, you are +instructing &kword; to save the file under the current filename. You +will not be given the option to change the filename or its location. If +you want to change the name of the file, or where it is saved, you must +select <link linkend="command-save-as"><menuchoice> +<guimenu>File</guimenu><guimenuitem>Save +As...</guimenuitem></menuchoice></link> from the Menubar.</para></important> + +<para>If you have not saved this file before, it does not have a +filename. &kword; automatically executes the <link +linkend="command-save-as"><guimenuitem>Save As...</guimenuitem></link> +command so you can provide a file name. </para> + +<para>&kword; does not report a successful save. Therefore, if the file +was saved without incident, &kword; will return you to editing your +document.</para> + +<para>You can verify that the file was saved, by checking the titlebar. +If there are unsaved changes, the titlebar will have +<emphasis>[modified]</emphasis> in the titlebar.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="saved2.png" format="PNG"/></imageobject> +<!--<caption><para>The document still has unsaved changes</para></caption>--> +</mediaobject> +</screenshot> + + <para>If the save was +successful, only the filename will be in the titlebar. If there is a +problem with the save, an error box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="saved1.png" format="PNG"/></imageobject> +<!--<caption><para>Saved Successfully</para></caption>--> +</mediaobject> +</screenshot> + + +</sect2> + +<sect2 id="command-save-as"> +<title>The <guimenuitem>Save As...</guimenuitem> Command</title> +<indexterm><primary>saving a document with new name</primary></indexterm> +<sect3 id="command-save-as-general"> +<title>General</title> +<para>The <guimenuitem>Save As...</guimenuitem> command can be invoked 2 +ways:</para> + +<itemizedlist> +<listitem> +<para>By selecting <menuchoice> <guimenu>File</guimenu><guimenuitem>Save +As...</guimenuitem></menuchoice> from the Menubar</para> +</listitem> +<listitem> +<para>or by trying to <guimenuitem>Save</guimenuitem> a file which does +not yet have a filename.</para> +</listitem> +</itemizedlist> + +<important><para>The difference between the <guimenuitem>Save</guimenuitem> and the +<guimenuitem>Save As...</guimenuitem> command, is the <guimenuitem>Save +As...</guimenuitem> command prompts you for a filename, and lets you +select a different file format or location. The +<guimenuitem>Save</guimenuitem> command simply saves the file in the +previous location.</para></important> +</sect3> +<sect3 id="command-save-as-dlg"> +<title>Using the dialog box</title> + +<para>When you select <guimenuitem>Save As...</guimenuitem> a dialog appears.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="savedlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>For more information on using this dialog, see the section entitled +<link linkend="file-dialog">Using the file selection dialog</link>.</para> + +<para>When you are in the folder you want to save the file in, type a filename into the +<guilabel>Location:</guilabel> box.</para> +<tip><para>&kword; can create a <literal role="extension">.pdf</literal> file for you. For instructions see +<link linkend="qd-pdf">How do I create a <literal role="extension">.pdf</literal> file</link>.</para></tip> + +<tip><para> There is no need to put a <literal +role="extension">.kwd</literal> at the end of your filename, &kword; +will do this for you.</para></tip> + +<note> +<para>&UNIX; filenames are more flexible than many other operating +systems. Filenames can:</para> + +<itemizedlist spacing="compact"> +<listitem><para>be of nearly any length</para></listitem> +<listitem><para>be any combination of upper and lowercase letters</para></listitem> +<listitem><para>include spaces and punctuation</para></listitem> +</itemizedlist> + +<para>Filenames should not:</para> + +<itemizedlist spacing="compact"> + +<listitem><para>begin with a space or period</para></listitem> +<listitem><para>end with a common file extension (<literal +role="extension">.ps</literal>,<literal +role="extension">.pdf</literal>,etc). </para> +</listitem> +</itemizedlist> +</note> + +<para>Once you have entered the correct information you can click on +<guibutton>Save</guibutton> to complete the save.</para> + +<para>&kword; does not report a successful save. Therefore, if the file +was saved without incident, &kword; will return you to editing your +document. If there is a problem with the save, an error box will +appear.</para> + +<note> +<para>&kword; will only allow you to save your file where you are +allowed to by the permissions listed by the operating system. If you try +to save outside that area, &kword; will report an error.</para> +</note> +</sect3> +</sect2> + +</sect1> + +<sect1 id="loading"> +<title>Retrieving a Saved Document</title> +<indexterm><primary>loading a &kword; file</primary></indexterm> +<para> +The <guimenuitem>Open...</guimenuitem> command can be invoked 4 ways: +</para> + +<itemizedlist> +<listitem> +<para>By clicking the <guilabel>Open Existing Document</guilabel> +tab when <link +linkend="new-doc">Opening a New Document</link></para> +</listitem> + +<listitem> +<para>By selecting <menuchoice> +<guimenu>File</guimenu><guimenuitem>Open...</guimenuitem></menuchoice> from +the menubar</para> +</listitem> + +<listitem> +<para>You can use the keyboard shortcut: +<keycombo>&Ctrl;<keycap>O</keycap></keycombo></para> +</listitem> + +<listitem> +<para>or by clicking <inlinemediaobject><imageobject><imagedata +fileref="fileopen.png" format="PNG"/></imageobject></inlinemediaobject> +on the toolbar.</para> +</listitem> +</itemizedlist> + +<para>Any of these methods results in the same action by &kword;.</para> +<sect2 id="command-open-dlg"> +<title>Using the dialog box</title> +<para>When trying to open a file, a dialog appears.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="opendlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>For more information on using this dialog, see the section entitled +<link linkend="file-dialog">Using the file dialog</link>.</para> + +<para>Use this dialog to locate the document you want to load. Once located, click +once with the &LMB; on the filename. Once the filename is selected click <guibutton>OK</guibutton>. The file will be loaded.</para> + +<para>There is a <guibutton>Cancel</guibutton> button, if you click this +button, the load will be aborted.</para> +</sect2> +</sect1> + +<sect1 id="printing"> +<title>Printing A Document</title> +<indexterm><primary>printing a document</primary></indexterm> +<para>The <guimenuitem>Print...</guimenuitem> command can be invoked 3 ways:</para> + +<itemizedlist> +<listitem> +<para>By selecting <menuchoice> +<guimenu>File</guimenu><guimenuitem>Print...</guimenuitem></menuchoice> +from the menubar</para> +</listitem> +<listitem> +<para>You can use the keyboard shortcut: +<keycombo>&Ctrl;<keycap>P</keycap></keycombo></para> +</listitem> +<listitem> +<para>or by clicking <inlinemediaobject><imageobject><imagedata +fileref="fileprint.png" format="PNG"/></imageobject></inlinemediaobject> +on the toolbar.</para> +</listitem> +</itemizedlist> + +<para>No matter how you do this, the &kde; print dialog will +appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="pntdlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>The top combo box labeled <guilabel>Name:</guilabel> shows the +currently selected printer. To configure this printer click on the +<guibutton>Properties</guibutton> button.</para> + +<para>To select a different printer, click on the combo box and +select the desired printer.</para> + +<para>If you want to print your output into a postscript file, to a PDF file, +a fax modem (to send it as a fax) or email the file as a PDF file, select +the appropriate option from the combo box labeled <guilabel>Name</guilabel>. Once that option has been selected, enter +the filename into the text box labled <guilabel>Output file:</guilabel>.</para> + +<para>The line labled <guilabel>State</guilabel> tells you if your printer is currently connected and if it is printing another page. You can not change any information on this line.</para> + +<para>The lines labled <guilabel>Type</guilabel> and <guilabel>Location</guilabel> tells you what type of printer is currently selected and where that printer is located. You can not change any information on these lines.</para> + + + +<para>The line labled <guilabel>Comment</guilabel> describes how +&kword; interacts with your computer (what driver and print system it is using). You can not change anything on this line. Complete setup of the &kde; +printing system is beyond the scope of this document. For more information see the &kde; +print web site at <ulink url="http://printing.kde.org">http://printing.kde.org</ulink>.</para> + +<para>If you want to print all pages of your document and only one copy, you can click +<guibutton>Print</guibutton>. If you want to change the number of copies or only print selected +pages, click the <guibutton>Options >></guibutton> button.</para> + +<note><para>The <guibutton>System Options</guibutton> button allows a user to change the setup of the printers and &kde; print system. This is also beyond the scope of this manual. +If you need to make changes please refer to the &kde; print web site at <ulink url="http://printing.kde.org">http://printing.kde.org</ulink>.</para></note> + +<note><para>Depending on which printing system your computer uses, you may find that you have +more printing options then those described below. What is described here, is available on +<emphasis>most</emphasis> systems.</para></note> + +<para>Once you click <guibutton>Options >></guibutton>, the dialog box changes to:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="pntdlg1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Under <guilabel>Page Selection</guilabel>, you can select either +to print the whole document (select <guilabel>All</guilabel>), print the page the cursor is +located on (simply select <guilabel>Current</guilabel>), or print a range of pages. If you select the +<guilabel>Range</guilabel> option, enter your page range in the text box +provided. (Example: 3-13)</para> + +<para>In the combo box labeled <guilabel>Page set:</guilabel> you can tell &kword; to +print the <guilabel>Even Pages</guilabel>, the <guilabel>Odd Pages</guilabel> or +<guilabel>All Pages</guilabel>.</para> + +<para>In the box on the right labeled <guilabel>Copies:</guilabel>, you should set the number of copies +you want printed. You can either enter the number directly into the +box, or use the arrows to adjust the number. &kword; can print a maximum +of 999 copies at once.</para> + +<para>You can have &kde; collate your documents by clicking on the +<guilabel>Collate</guilabel> check box. If selected, &kde; will print +all of the pages for copy 1, then print all the pages for copy 2, &etc; +If not selected, &kde; will print all of the copies of the first page, +then all of the copies of the second page, &etc;</para> + +<para>You can also determine if the document is printed in forward order +(print first page first), or reverse order (print last page +first).</para> + +<para>If you click on <guibutton>Options <<</guibutton>, the print dialog will +compress down to the previous view.</para> + +<note><para>Depending on your systems setup, you may have additional options available to you. These options are discussed at <ulink url="http://printing.kde.org">http://printing.kde.org</ulink>.</para></note> + +<para>When you are satisfied with your selections, you can click +<guibutton>OK</guibutton> to print.</para> + +<para>If you click on <guibutton>Cancel</guibutton>, the printing will +be aborted.</para> + +</sect1> + +</chapter> diff --git a/doc/kword/styldlg1.png b/doc/kword/styldlg1.png Binary files differnew file mode 100644 index 00000000..8b8d1394 --- /dev/null +++ b/doc/kword/styldlg1.png diff --git a/doc/kword/styleimport.png b/doc/kword/styleimport.png Binary files differnew file mode 100644 index 00000000..80e10f42 --- /dev/null +++ b/doc/kword/styleimport.png diff --git a/doc/kword/styles.docbook b/doc/kword/styles.docbook new file mode 100644 index 00000000..3f0043a6 --- /dev/null +++ b/doc/kword/styles.docbook @@ -0,0 +1,351 @@ +<sect1 id="styles"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Text styles</title> +<indexterm><primary>text styles</primary><secondary>introduction</secondary></indexterm> + +<sect2 id="style-intro"><title>Introduction to text styles</title> +<para>When you build documents that are more complex than a business +letter, such as a book, newsletter, or resume, the document is often +broken down into sections. Each of these sections may have a similar +appearance. </para> + +<para>You can use text styles to easily keep a consistent look throughout +your document.</para> + +<tip> +<para>If you are familiar with Styles in &Microsoft; +<application>Word</application>, &kword; text styles perform similar functions in &kword;. +You can <link linkend="style-select">skip to the next section</link>.</para> +</tip> + +<para>Lets look at a section of a document and try to identify appropriate text styles:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="textstyex.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>In this example, you can see several different text styles at work:</para> + +<itemizedlist> +<listitem><para>The title is centered, underlined and in bold text</para></listitem> +<listitem><para>The section title (Income) is boldfaced.</para></listitem> +<listitem><para>The caption for figure 1-1 is smaller than normal text and boldface.</para></listitem> +<listitem><para>The rest of the document is in a standard font.</para></listitem> +</itemizedlist> + + +<para>We do not need to know exactly how we want the text and paragraphs +of these sections to look yet. All we need to do is identify these +sections of text as <quote>Section Titles</quote>, <quote>Normal +Text</quote>, etc.</para> + +<para>Once we have finished the document, you can change the look of all +the text labeled <quote>Section Title</quote> all at once. </para> + +<para>This will ensure that all section titles appear consistent +throughout your document.</para> + +<para>&kword; has 8 predefined text styles.</para> + +<note><para>Text styles should not be confused with <link linkend="tablestyle">table styles</link> or +<link linkend="framestyles">frame styles</link>.</para> +<para>Text styles determine how the characters and paragraphs appear. Framestyles, control the borders and background color for the +frame. Tablestyles determine how tables appear in the finished document.</para></note> +</sect2> + +<sect2 id="style-select"> +<title>Changing the text style of text</title> +<indexterm><primary>text styles</primary><secondary>changing text style of selected text</secondary></indexterm> + +<para>To change the text style of text, first, <link linkend="select">select +the text</link> you want the changes to apply to.</para> + +<para>You can now change the text style in one of two ways:</para> + +<itemizedlist> +<listitem> +<para>Select <menuchoice> +<guimenu>Format</guimenu><guisubmenu>Style</guisubmenu></menuchoice> +from the menubar. This will show the list of available text styles, select +the text style from the list.</para> +</listitem> + +<listitem> +<para>You can select the text style using the combo box on the <link linkend="paragraph-toolbar">Paragraph toolbar</link>. +This combo box looks like this: <inlinemediaobject><imageobject><imagedata +fileref="chstylebut.png" format="PNG"/></imageobject></inlinemediaobject>.</para> +</listitem> +</itemizedlist> +<para>Simply select the new text style from the list provided.</para> + +<tip><para>You can change the text style of an entire paragraph. Simply place the cursor in a paragraph (making sure that +no characters are selected) and select a new style. Every character in the paragraph will be converted to the new text style.</para></tip> +</sect2> + +<sect2 id="style-add"> +<title>Creating a text style</title> +<indexterm><primary>text styles</primary><secondary>creating</secondary></indexterm> + +<para>If you plan on using text styles extensively in a large document, you +will probably want to create new text styles specific for your needs. +</para> + +<para>There are two ways to create a new text style:</para> + +<orderedlist> +<listitem><para><link linkend="style-add-dialog">Create a text style based on another text style using a dialog</link>.</para></listitem> +<listitem><para><link linkend="style-add-text">Format a block of text to the desired format, +then create a text style based on that text</link>.</para></listitem> +</orderedlist> + + +<sect3 id="style-add-dialog"> +<title>Creating a new text style based on a current text style</title> +<para>To create a new text style select <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Style Manager...</guimenuitem></menuchoice> +from the menubar.</para><para>This will bring up a dialog box.</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="styldlg1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>In the list box on the left, is a list of all the currently defined text styles. Select the current style that most closely resembles the new +text style. Click on that text style once with the &LMB;.</para> + +<para>Click the <guibutton>New</guibutton> button.</para> + +<para>&kword; will create a new text style based on the selected text style. It will assign it a temporary name [New Style Template (8)].</para> + +<para>Type a descriptive name in the box labeled +<guilabel>Name</guilabel>. This will be the name of the text style.</para> + +<para>The rest of the dialog is used to make the alterations needed to create the new +text style.</para> + +<para>The preview box will show you what your new text style will look +like.</para> + +<para>Use the tabs labeled <link linkend="style-font">Font</link>, +<link +linkend="style-space">Indent & Spacing</link>, <link +linkend="style-align">General Layout</link>, <link +linkend="style-borders">Decorations</link>, <link +linkend="style-numbering">Bullets/Numbers</link>, and <link +linkend="style-tabulators">Tabulators</link>, to format the text style.</para> + +<para>Click <guibutton>OK</guibutton> to create your new text style.</para> +<para>Click <guibutton>Cancel</guibutton> to abort the creation of the +text style.</para> + +<sect4 id="style-font"> +<title>Changing the Font Size, Type etc.</title> + +<para>The tab labeled <guilabel>Font</guilabel> is used to set the font type, font style, formatting, etc.</para> + +<para>This tab functions identically to the <link linkend="change-font-dialog">change font dialog</link> used to edit general text. +Changes to this tab affect to +all text formated with this text style.</para> + +</sect4> + +<sect4 id="style-space"> +<title>Changing Paragraph Spacing and Indents</title> + +<para>The tab labeled <guilabel>Indents & Spacing</guilabel> is used to adjust +spacing between lines, and paragraph indentation.</para> + +<para>This tab functions identically to the same tab in the <link linkend="indents-and-spaces">Format Paragraph</link> dialog. +Changes to this tab affect to +all text formated with this text style.</para> +</sect4> + +<sect4 id="style-align"> +<title>Changing Paragraph Alignment</title> + +<para>The tab labeled <guilabel>General Layout</guilabel> determines how the text is placed <emphasis>within +the line</emphasis>. With other applications, you may have referred to +this as <emphasis>Alignment</emphasis>, or +<emphasis>Justification</emphasis>.</para> + +<para>This tab functions identically to the same tab in the <link linkend="para-aligns">Format Paragraph</link> dialog. +Changes to this tab affect to +all text formated with this text style.</para> + +</sect4> + +<sect4 id="style-borders"> +<title>Changing Paragraph Borders</title> + +<para>The tab labeled <guilabel>Decorations</guilabel> is used to define and configure graphical borders +around your paragraphs.</para> + +<para>This tab functions identically to the same tab in the <link linkend="para-borders">Format Paragraph</link> dialog. +Changes to this tab affect to +all text formated with this text style.</para> + +</sect4> + +<sect4 id="style-numbering"> +<title>Changing Paragraph Numbering/Bullets</title> + +<para>The tab labeled <guilabel>Bullets/Numbers</guilabel> is used to make all text formatted with this text style into a list.</para> + +<para>This tab functions identically to the same tab in the <link linkend="para-bullets-and-numbers">Format Paragraph</link> dialog. +For more information see the section entitled <link linkend="lists">Lists</link>.</para> + + +</sect4> + +<sect4 id="style-tabulators"> +<title>Changing Tab-stops.</title> + +<para>Using the tab labeled <guilabel>Tabulators</guilabel> it is possible to define tab stops for the new text style.</para> + +<para>This tab functions identically to the same tab in the <link linkend="tab-stop-setting-dialog">Format Paragraph</link> dialog. +For more information see the section entitled <link linkend="tab-stops">Using Tab Stops</link>.</para> + +</sect4> + +</sect3> +<sect3 id="style-add-text"> +<title>Creating a text style based on formatted text</title> +<para>If you have text that is already formatted correctly for a new text style:</para> +<orderedlist> +<listitem><para>Select the text and select +<menuchoice> +<guimenu>Format</guimenu><guimenuitem>Create Style From Selection...</guimenuitem></menuchoice> +from the menubar.</para></listitem> + +<listitem><para>&kword; will prompt you for a name for your text style. Enter the name in the text box.</para></listitem> +<listitem><para>Click the +<guibutton>OK</guibutton> button.</para></listitem> +</orderedlist> +<para> A new text style is created with the font, paragraph spacing, paragraph alignment, borders and shadows of the +currently selected text.</para> +<note><para>Future formatting changes to this selected text will not automatically change the text style you just created. If you want the changes +to become part of the text style, you must <link linkend="style-edit">edit the text style</link>.</para></note> +</sect3> +</sect2> + +<sect2 id="style-deleting"> +<title>Deleting a text style</title> +<indexterm><primary>text styles</primary><secondary>deleting</secondary></indexterm> + +<para>Deleting an unneeded text style is easy.</para> + + +<para>Select <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Style Manager...</guimenuitem></menuchoice> +from the menubar.</para><para>This will bring up a dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="styldlg1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>From the list of available text styles, select the style you want to +delete by clicking once with the &LMB;.</para> + +<warning> +<para>Be sure you have selected the correct text style before you click +<guibutton>Delete</guibutton>. &kword; will not ask for confirmation, +so you will not be given an opportunity to back out.</para> +</warning> +<para>Click <guibutton>Delete</guibutton>.</para> +<para>The text style is now deleted.</para> + +</sect2> + +<sect2 id="style-edit"> +<title>Editing a text style</title> +<indexterm><primary>text styles</primary><secondary>editing</secondary></indexterm> + +<para>The true power of text styles, is the ability to edit the formatting +options of that text style <emphasis>after</emphasis> the text style is defined. +By changing the formatting of the text style, &kword; will immediately change +every paragraph with that text style, and maintain a consistent look to +the document.</para> + +<para>&kword; uses the same interfaces to edit the formatting options of a +text style, that it used to create the text style in the first +place.</para> + +<para>To edit a current text style:</para> + +<para>Select <menuchoice> +<guimenu>Format</guimenu><guimenuitem>Style Manager...</guimenuitem></menuchoice> +from the menubar.</para><para>This will bring up a dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="styldlg1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Select the text style you want to edit from the list on the left by clicking once with the &LMB;. +Now you can make the changes you want to this text style.</para> + +<para>The preview box will show you what your new text style will look +like.</para> + +<warning> +<para>Do not change the name of your text style.</para> + +<para>Doing so will delete your current text style from the list (and create +a new one with the new name).</para> + +<para>Any paragraphs which were originally formatted with this text style, +will revert to <quote>Standard</quote>.</para> +</warning> + +<para>Use the tabs labeled <link linkend="style-font">Font</link>, +<link +linkend="style-space">Indent & Spacing</link>, <link +linkend="style-align">General Layout</link>, <link +linkend="style-borders">Decorations</link>, <link +linkend="style-numbering">Bullets/Numbers</link>, and <link +linkend="style-tabulators">Tabulators</link> to alter the look of the text style.</para> + +<para>Click <guibutton>OK</guibutton> to commit your changes.</para> + +<para>Click <guibutton>Cancel</guibutton> to abort all changes to this +text style.</para> + +</sect2> + +<sect2 id="style-import"> +<title>Import a text style</title> +<indexterm><primary>text styles</primary><secondary>importing</secondary></indexterm> + +<para>&kword; has the ability to import a text style from one &kword; document and include it in the +list of text text styles in another &kword; document.</para> +<para>To import a text style, select <menuchoice><guimenu>Format</guimenu><guimenuitem>Import Style...</guimenuitem></menuchoice> +from the menubar.</para><para>This will bring up an empty dialog box.</para> +<para>Click on the <guibutton>Load</guibutton> button. This will bring up a +<link linkend="file-dialog">file selection dialog</link>. Choose the &kword; file you want to import the text style from and click +<guibutton>OK</guibutton>.</para> +<para>The dialog box will now fill with all available text text styles available for import.</para> +<tip><para>If &kword; encounters a duplicate text style name in the selected file, it will append a number to the end of the +text style name to identify the imported style.</para> +<para>As an example, if you import the <emphasis>Standard</emphasis> text style from another &kword; file, &kword; will change +the text style name to <emphasis>Standard-1</emphasis>.</para></tip> +<para>Select <emphasis>all</emphasis> the text style you want to import. Then click +<guibutton>OK</guibutton>.</para> +</sect2> + +</sect1> diff --git a/doc/kword/subscbut.png b/doc/kword/subscbut.png Binary files differnew file mode 100644 index 00000000..6d0e55ce --- /dev/null +++ b/doc/kword/subscbut.png diff --git a/doc/kword/sum.png b/doc/kword/sum.png Binary files differnew file mode 100644 index 00000000..440c6a95 --- /dev/null +++ b/doc/kword/sum.png diff --git a/doc/kword/supscbut.png b/doc/kword/supscbut.png Binary files differnew file mode 100644 index 00000000..04310066 --- /dev/null +++ b/doc/kword/supscbut.png diff --git a/doc/kword/table.docbook b/doc/kword/table.docbook new file mode 100644 index 00000000..55faf329 --- /dev/null +++ b/doc/kword/table.docbook @@ -0,0 +1,653 @@ +<sect1 id="tables"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Tables</title> +<indexterm><primary>tables</primary><secondary>using</secondary></indexterm> + +<para>&kword; has the built in ability to generate tables for the display of data.</para> + +<para>These tables can consist of up to 128 rows and 128 columns, +with text centered or justified differently in different cells. Text flows easily around in the +table and cells are resized (if specified by the user) automatically to fit comfortably around the data.</para> + +<para>Tables in &kword; are for the display of data only. No calculations can be performed.</para> + +<tip><para>Remember, if you need the functions of a spreadsheet, you can <link +linkend="kparts">embed a &kspread; Table</link> in your +document.</para></tip> + +<para>This section of the document will cover the formatting of tables +<emphasis>created in &kword;</emphasis> only.</para> + +<sect2 id="table-new"><title>Adding a new Table</title> +<indexterm><primary>tables</primary><secondary>adding</secondary></indexterm> + +<para>You can create a table in &kword; in one of three ways:</para> + +<itemizedlist> + +<listitem> +<para>Select <menuchoice> <guimenu>Insert</guimenu> +<guimenuitem>Table...</guimenuitem></menuchoice> from the menubar.</para> +</listitem> +<listitem> +<para>You can use the keyboard shortcut: <keycombo +action="simul"><keycap>F5</keycap></keycombo>.</para> +</listitem> + +<listitem> +<para>or by clicking <inlinemediaobject><imageobject><imagedata +fileref="part-kspread.png" format="PNG"/></imageobject></inlinemediaobject> +on the toolbar.</para> +</listitem> + +</itemizedlist> + +<para>This will open a dialog box. The dialog box has two tabs: <guilabel>Geometry</guilabel> and <guilabel>Templates</guilabel>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="instab1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>This dialog box is divided into two halves.</para> + +<para>The right half of the dialog box provides you a quick visual guide +to how many rows and columns will be created in the table. This is +useful for laying out your table. You cannot edit +your table layout here.</para> + +<para>The left half of the dialog box consists of two combo boxes.</para> + +<para>The spin box labeled <guilabel>Number of +rows:</guilabel>, allows you to specify from 1 to 128 rows in the +table.</para> + +<para>The spin box labeled <guilabel>Number of +columns:</guilabel>, allows you to specify from 1 to 128 columns in the +table.</para> + +<para>While adjusting either of these two options, the preview box +adjusts to your new settings.</para> + + +<para>If you click on the tab labeled <guilabel>Templates</guilabel>, you can use predefined table looks to format the look of your table. +For more information see the section on <link linkend="table-templates">Using formatting templates</link>.</para> + +<para>Click <guibutton>OK</guibutton> to insert the table.</para> +<para>Click <guibutton>Cancel</guibutton> to cancel this action and return to editing your document.</para> +</sect2> + +<sect2 id="table-navigation"> +<title>Moving between cells in a table</title> +<indexterm><primary>tables</primary><secondary>navigating</secondary></indexterm> + +<para>You can navigate between cells of the table by using the mouse (simply click in the cell you want to edit), +or by using the keyboard (use the arrow keys to move up, down, left or right one cell at a time).</para> + +</sect2> +<sect2 id="table-delete"> +<title>Deleting a Table</title> +<indexterm><primary>tables</primary><secondary>deleting</secondary></indexterm> + +<para>To delete a table in &kword;:</para> + +<para>Place the mouse pointer over the frame of any cell of the table you want to +delete and click once with the &LMB;. </para> +<warning> +<para>Be sure you have selected the correct table before continuing. +&kword; will not ask for confirmation.</para> +</warning> + +<para>Select <menuchoice> <guimenu>Table</guimenu><guimenuitem>Delete +Table</guimenuitem></menuchoice> from the menubar</para> + + +<para>The table will be immediately deleted.</para> +</sect2> + +<sect2 id="table-insert-row"> +<title>Insert Row in Table</title> +<indexterm><primary>tables</primary><secondary>inserting a row</secondary></indexterm> + +<para>You can insert a row into any place in a table.</para> + +<para>To insert a row into a table, place the mouse pointer over the border of any cell of the table you want to add +a row to. Using your mouse, select either <menuchoice> <guimenu>Table</guimenu> +<guisubmenu>Row</guisubmenu> +<guimenuitem>Insert Row...</guimenuitem> +</menuchoice> from the menubar or +click <inlinemediaobject><imageobject><imagedata +fileref="rowin.png" format="PNG"/></imageobject></inlinemediaobject> on the +toolbar.</para> + + +<para>This will bring up a dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="insrowdlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>The spin box labeled <guilabel>Row:</guilabel>, allows +you to select any row within the table. This number selection box +limits you to the rows currently in the table.</para> +<para>Select the row you want to use as a reference.</para> + +<para>Now select either <guilabel>Before</guilabel> or +<guilabel>After</guilabel> as is appropriate.</para> + +<para>Click <guibutton>OK</guibutton> to add the row or click +<guibutton>Cancel</guibutton> to not add any rows.</para> + +</sect2> + +<sect2 id="table-insert-column"> +<title>Insert Column in Table</title> +<indexterm><primary>tables</primary><secondary>inserting a column</secondary></indexterm> + +<para>To insert a column into a table, place the mouse pointer over the border of any cell of the table you want to add +a column to. Select either <menuchoice> <guimenu>Table</guimenu><guisubmenu>Column</guisubmenu> +<guimenuitem>Insert Column...</guimenuitem></menuchoice> from the menubar or click +<inlinemediaobject><imageobject><imagedata fileref="colin.png" format="PNG"/></imageobject></inlinemediaobject> on the +toolbar.</para> + +<para>This will bring up a dialog box.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="inscoldlg.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>The number selection box labeled <guilabel>Column:</guilabel>, +allows you to select any column within the table. This number selection +box limits you to the columns currently in the table.</para> + +<para>Select the column you want to use as a reference.</para> + +<para>Now select either <guilabel>Before</guilabel> or +<guilabel>After</guilabel> as is appropriate.</para> + +<para>Click <guibutton>OK</guibutton> to add the column or click +<guibutton>Cancel</guibutton> to not add any columns.</para> + +</sect2> + +<sect2 id="table-delete-row"> +<title>Delete Row in Table</title> +<indexterm><primary>tables</primary><secondary>deleting a row</secondary></indexterm> + +<para>To delete a row from a table:</para> + +<para>Click once with the &LMB; in any cell in the row you want to delete Then:</para> + +<itemizedlist> +<listitem> +<para>select <menuchoice> <guimenu>Table</guimenu><guisubmenu>Row</guisubmenu> +<guimenuitem>Delete Selected +Rows...</guimenuitem></menuchoice> from the menubar</para> +</listitem> +<listitem> +<para>or click <inlinemediaobject><imageobject><imagedata +fileref="rowout.png" format="PNG"/></imageobject></inlinemediaobject> on the +toolbar.</para> +</listitem> +</itemizedlist> +<para>This will bring up a dialog box confirming that your have selected the correct row(s).</para> + +<warning> +<para>Make sure you have selected the correct row(s) before +continuing.</para> +<para>&kword; will delete any data contained within the selected rows.</para> +</warning> +<para>Click <guibutton>Delete</guibutton> to delete the row, or click <guibutton>Cancel</guibutton> to not +delete any rows.</para> + +</sect2> + +<sect2 id="table-delete-column"> +<title>Delete Column in Table</title> +<indexterm><primary>tables</primary><secondary>deleting a column</secondary></indexterm> + +<para>To delete a column from a table:</para> + +<para>Click once with the &LMB; in any cell in the column you want to delete Then:</para> + +<itemizedlist> +<listitem> +<para>select <menuchoice> <guimenu>Table</guimenu><guisubmenu>Column</guisubmenu> +<guimenuitem>Delete Selected +Columns...</guimenuitem></menuchoice> from the menubar</para> +</listitem> +<listitem> +<para>or click <inlinemediaobject><imageobject><imagedata +fileref="colout.png" format="PNG"/></imageobject></inlinemediaobject> on the +toolbar.</para> +</listitem> +</itemizedlist> + +<para>This will bring up a dialog box confirming that your have selected the correct column(s).</para> + + +<warning> +<para>Make sure you have selected the correct column(s) before +continuing.</para> +<para>&kword; will delete any data contained within these columns.</para> +</warning> + +<para>Click <guibutton>Delete</guibutton> to delete the column(s), or click +<guibutton>Cancel</guibutton> to not delete any columns.</para> + +</sect2> + +<sect2 id="table-resize-column"> +<title>Change column width</title> +<indexterm><primary>tables</primary><secondary>change column width</secondary></indexterm> + +<para>When a table is created, all columns are equal in width. You can change the width of individual columns by using +<link linkend="table-resize-column-mouse">the mouse</link> or <link linkend="table-resize-column-dialog">the keyboard</link>.</para> +<sect3 id="table-resize-column-mouse"><title>Using the mouse</title> +<para>First select any cell in the column you want to change, by holding down the &Ctrl; key and clicking once with the &LMB;.</para> +<para>The cell is now surrounded by 8 colored boxes. Place the mouse over the box in the middle of the +right vertical border of the cell. The mouse pointer changes to a double-headed arrow. Click on the box and drag the right edge of the +cell to the desired width. When you release the &LMB;, the entire column will assume the width of this cell.</para> +</sect3> + +<sect3 id="table-resize-column-dialog"><title>Using the dialog box</title> +<para>First, select any cell in the column you want to change, by holding down the &Ctrl; key and clicking once with the &LMB;.</para> +<tip><para>You can select any cell in the table to change column widths. By selecting a cell in the column you want to change +the dialog box will default to the correct column automatically.</para></tip> +<para>Select <menuchoice> <guimenu>Table</guimenu><guisubmenu>Column</guisubmenu> +<guimenuitem>Resize +Column...</guimenuitem></menuchoice> from the menubar.</para> +<para>A dialog box will appear. In the spin box labeled <guilabel>Column:</guilabel>, you can chose a different column to set. +In the spin box labeled <guilabel>Width:</guilabel>, enter the desired width of the column.</para> +<para>Click <guibutton>OK</guibutton> to change the width, or click <guibutton>Cancel</guibutton> to leave the column +width unchanged.</para> +</sect3> +</sect2> + +<sect2 id="table-join-cells"> +<title>Join Cells in Table</title> +<indexterm><primary>tables</primary><secondary>join cells</secondary></indexterm> + +<para>A table is traditionally made of a grid of rows and columns, with +equal sized cells throughout the table.</para> + +<para>Sometimes you would like to spread text out over several cells in +a table. This is especially common with titles.</para> + +<para>&kword; allows you to do this by <emphasis>Joining</emphasis> two (or +more) adjacent cells of a table together.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="joincell.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>This is an example of three cells joined together in the middle of +a table.</para> + +<tip> +<para>You can join cells vertically, as well as horizontally.</para> +</tip> + +<para>To join several cells you must first select the cells. To select the cells, hold down the &Ctrl; key +and click once with the &LMB; +in a cell. Click on the next cell with the &LMB;. Continue +this until you have selected all the cells you want to join together.</para> + +<tip> +<para>If you have a number of cells in a row that you want to select, +you can select them in two quick steps:</para> +<para>First hold down the &Ctrl; key and click on one of the end cells.</para> +<para>Now hold down the &Shift; key and click on the cell at the other +end of the row or column you want to join.</para> +<para>All cells between these two cells will be selected.</para> +</tip> + + +<para>Once you have selected all the cells you want to join, +select <menuchoice> <guimenu>Table</guimenu><guisubmenu>Cell</guisubmenu> +<guimenuitem>Join Cells</guimenuitem></menuchoice> from the menubar</para> + +<para>The cells will now be joined.</para> + +<para>Any text in the left most frame will now be located in the joined +frame. Any text from any other frames will be deleted.</para> +</sect2> + +<sect2 id="table-split-cells"> +<title>Split Cells in Table</title> +<indexterm><primary>tables</primary><secondary>split cells</secondary></indexterm> + +<para>In addition to combining two or more cells into a single cell, it is easy to split one cell into many cells.</para> + +<para>If you decide that you do not want the previously joined cells to +be joined any longer, you can <quote>split</quote> them back into individual cells +again. You can also split cells within a column or row. They do not need +to have been previously joined.</para> + +<para>To split a cell, select the cell you want to split by holding the &Ctrl; button down and +clicking on it with the +&LMB;. Select <menuchoice> <guimenu>Table</guimenu><guisubmenu>Cell</guisubmenu> +<guimenuitem>Split Cell...</guimenuitem></menuchoice> from the menubar.</para> + +<para>This will bring up a small dialog box which allows you to set the number of rows and +the number of columns you want to split this cell into.</para> + +<para>Once you have set the correct number of rows and columns in the spin boxes, click +<guibutton>OK</guibutton> to split the cells. Click <guibutton>Cancel</guibutton> to abort.</para> + +</sect2> + +<sect2 id="table-ungroup"> +<title>Ungroup a Table</title> +<indexterm><primary>tables</primary><secondary>ungrouping</secondary></indexterm> + +<para>If you select a cell in a table and then choose <menuchoice> <guimenu>Table</guimenu> +<guimenuitem>Ungroup Table</guimenuitem></menuchoice> from the menubar, &kword; will convert each cell in your table +into an individual frame. You can then move these frames around independently on the page.</para> + +</sect2> + +<sect2 id="table-protect"> +<title>Protecting a cell in a table.</title> +<indexterm><primary>tables</primary><secondary>protecting cells</secondary></indexterm> + +<para>You can protect any or all cells in a table from accidental modification or deletion.</para> +<para>Simply select the cell(s) you want to protect, then:</para> +<para>Select <menuchoice> <guimenu>Table</guimenu> +<guisubmenu>Cell</guisubmenu><guimenuitem>Protect Cells</guimenuitem></menuchoice> +from the menubar or hold down the &Ctrl; button, click in the cell once with the &RMB; and select +<menuchoice> <guimenuitem>Cell</guimenuitem><guimenuitem>Protect Cells</guimenuitem></menuchoice> +from the popup menu.</para> +<para>You will not be able to change the contents or formatting of that cell.</para> + +<note><para>To disable the protection, simply repeat the steps above, and the cells will no longer be protected.</para></note> + +</sect2> + +<sect2 id="table-format"> +<title>Formating a Table</title> +<indexterm><primary>tables</primary><secondary>formating</secondary></indexterm> + +<para>There are many aspects of a table that can be formatted.</para> + +<para>For information of formatting text with a table see <link linkend="change-font">Format characters</link>.</para> +<para>For information on formatting borders between frames in individual cells, see <link linkend="para-borders">Borders</link></para> +<para>For information on formatting background color of individual cells, see <link linkend="format-frame-background">Frame background</link></para> +<para>For information on changing the width of columns, see <link linkend="table-resize-column">Resizing Columns</link></para> + +<para>&kword; also provides the user with a set of tools to help speed up the formatting of tables.</para> + +<sect3 id="table-geometry"> +<title>Altering the number of rows and columns in a table.</title> +<indexterm><primary>tables</primary><secondary>changing geometry</secondary></indexterm> + +<para>Previously in the manual, we have discussed how to individually add or delete rows and/or columns. &kword; also provides the +user the ability to make major changes to the number of rows and columns in a table.</para> +<para>Select <menuchoice> <guimenu>Table</guimenu> +<guimenuitem>Properties...</guimenuitem></menuchoice> +from the menubar. A dialog will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tableprop1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>You can use this dialog to change the number of rows in your table by using the spin box labeled +<guilabel>Number of rows:</guilabel>.</para> +<warning><para>If you reduce the number of rows using this dialog box, &kword; will delete the bottom row(s) +<emphasis>including the data within the rows</emphasis>.</para><para>Be sure you do not have any data in these rows +that you need to preserve.</para></warning> +<para>You can use this dialog to change the number of columns in your table by using the spin box labeled +<guilabel>Number of columns:</guilabel>.</para> +<warning><para>If you reduce the number of columns using this dialog box, &kword; will delete the right most column(s) +<emphasis>including the data within the columns</emphasis>.</para><para>Be sure you do not have any data in these columns +that you need to preserve.</para></warning> +<para>Placing a mark in the check box labeled <guilabel>Reapply template to table</guilabel>, will cause &kword; to re-apply the +template to the table <emphasis>after adding or deleting the specified number of rows and/or columns</emphasis>.</para> +<para>Click <guibutton>OK</guibutton> to make changes permenant, or click <guibutton>Cancel</guibutton> to abort all +changes.</para> + +</sect3> + +<sect3 id="table-format-selcol"> +<title>Selecting an entire column for formatting</title> +<para>To select an entire column for formatting, move the mouse pointer to the white space directly <emphasis>above</emphasis> +the desired column. The mouse pointer will turn from an arrow to a hand. If you click with the &LMB;, the entire column will be selected. </para> +</sect3> + +<sect3 id="table-format-selrow"> +<title>Selecting an entire row for formatting</title> +<para>To select an entire row for formatting, move the mouse pointer to the white space directly <emphasis>to the left</emphasis> of +the desired row. The mouse pointer will turn from an arrow to a hand. If you click with the &LMB;, the entire row will be selected. </para> +</sect3> + +<sect3 id="table-templates"> +<title>Using table templates to format an entire table</title> +<indexterm><primary>tables</primary><secondary>templates</secondary></indexterm> + +<para>&kword; has templates for many commonly used table formatting options. Table templates provide +the same formatting functionality for tables that +document templates provide you for formating your documents.</para> +<para>Select <menuchoice> <guimenu>Table</guimenu> +<guimenuitem>Properties...</guimenuitem></menuchoice> +from the menubar. A dialog will appear. Click on the tab labeled <guilabel>Templates</guilabel>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tableprop2.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>Along the left of the dialog box, is a list of table templates.</para> + +<para>On the right is a preview box that +gives an example of what a table template will look like when applied to your table.</para> + +<para>Below the preview box, are 5 check boxes.</para> +<variablelist> +<varlistentry> +<term><guilabel>First row</guilabel></term> +<listitem><para>This check box will toggle formatting of all cells in the top row.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Last row</guilabel></term> +<listitem><para>This check box will toggle formatting of all cells in the bottom row.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Body</guilabel></term> +<listitem><para>This check box will toggle formatting of all cells in the body. The body of the table is any cells which are not formatted +by any of the other four options.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>First column</guilabel></term> +<listitem><para>This check box will toggle formatting of all cells in the left column.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Last column</guilabel></term> +<listitem><para>This check box will toggle formatting of all cells in the right column.</para></listitem> +</varlistentry> +</variablelist> + +<!--<para>The <guibutton>Customize</guibutton> is currently disabled, but will be available in future versions of &kword;.</para>--> + +<para>Placing a mark in the check box labeled <guilabel>Reapply template to table</guilabel>, will cause &kword; to re-apply the +template to the table <emphasis>after adding or deleting the specified number of rows and/or columns</emphasis>.</para> + +<para>Click <guibutton>OK</guibutton> to make changes permenant, or click <guibutton>Cancel</guibutton> to abort all +changes.</para> + +</sect3> + +</sect2> +<sect2 id="tablestyle"> +<title>Using table styles</title> +<indexterm><primary>tables</primary><secondary>styles</secondary></indexterm> +<indexterm><primary>table styles</primary></indexterm> + +<para>Table styles are a rapid way for you to format individual cells of your table to common formats. You can add or remove +table styles, and change predefined table styles to suit your needs. A table style consists of a frame style and a text style +which are grouped together and named.</para> +<sect3 id="tablestyle-use"> +<title>Formatting a cell with a table styles</title> +<indexterm><primary>table styles</primary><secondary>formatting a cell with</secondary></indexterm> + +<para>To format a cell using a predefined table style simply:</para> +<para>Select the cell(s) by holding down &Ctrl; and clicking within the cell with the &LMB;. You can also +<link linkend="table-format-selcol">select columns</link> and <link linkend="table-format-selrow">rows</link>.</para> +<para>Select <menuchoice> +<guimenu>Table</guimenu><guisubmenu>Tablestyle</guisubmenu></menuchoice> +from the menubar. A submenu will appear, listing all the currently defined table styles. Select the name of the table style +you want and all selected cells will automatically be formatting using the options of that table style.</para> +</sect3> + +<sect3 id="tablestyle-edit"> +<title>Editing a table style</title> +<indexterm><primary>table styles</primary><secondary>editing</secondary></indexterm> + +<para>To change the options of a table style, you will use the Table Style Manager.</para> +<para>Select <menuchoice> +<guimenu>Table</guimenu><guimenuitem>Table Style Manager...</guimenuitem></menuchoice> +from the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tablestylist.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>All of the currently defined table styles are listed in the listbox on the left. The currently selected table style is highlighted, and +the name of the currently selected table style is listed in the text box labeled <guilabel>Name</guilabel>. (In this example, +the currently selected table style is <emphasis>Header 1</emphasis>.)</para> +<para>Select the name of the table style you want to change by clicking on the name of the table style in the listbox on the left.</para> + +<para>In the section labeled <guilabel>Adjust</guilabel> is a combo box labeled <guilabel>Framestyle</guilabel> which is used to select the desired frame style. +If you want to add or alter a frame style, click the <guilabel>Change...</guilabel> button, and you will be taken to the +<link linkend="framestyle-edit">Framestylist</link> to make those changes.</para> +<para>Below that, is a combo box labeled <guilabel>Textstyle:</guilabel> which is used to select the desired text style for this table style. +If you want to add or alter a text style, click on the <guilabel>Change...</guilabel> button, and you will be taken directly to the +<link linkend="style-add-dialog">Stylelist</link> to make those changes.</para> + +<para>Once all changes have been made, click <guibutton>OK</guibutton> to save your changes. All of the affected table styles will +be changed to reflect the new options.</para> +</sect3> + +<sect3 id="tablestyle-add"> +<title>Creating a new table style</title> +<indexterm><primary>table styles</primary><secondary>creating</secondary></indexterm> + +<para>To create a new table style, select <menuchoice> +<guimenu>Table</guimenu><guimenuitem>Table Style Manager...</guimenuitem></menuchoice> +from the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tablestylist.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>Select a table style from the list at the left which most closely matches your new desired table style. +The selected table style will be used as a template for the new table style. Select the table style by clicking +once with the &LMB; in the list on the left.</para> +<para>Click on the <guibutton>New</guibutton> button. &kword; will generate a new table style, which is a copy +of the previously selected table style.</para> +<para>Choose a name for your new table style, and type it in the text box labeled <guilabel>Name</guilabel>.</para> +<para>You can now change your table style options to customize your newly created table style. For details, see +<link linkend="tablestyle-edit">Editing a table style</link>.</para> +</sect3> + +<sect3 id="tablestyle-delete"> +<title>Deleting a table style</title> +<indexterm><primary>table styles</primary><secondary>deleting</secondary></indexterm> + +<para>To delete table style, select <menuchoice> +<guimenu>Table</guimenu><guimenuitem>Table Style Manager...</guimenuitem></menuchoice> +from the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tablestylist.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>Select the table style you want to delete +by clicking once with the &LMB; on the name of the table style you want to delete.</para> +<para>Click on the <guibutton>Delete</guibutton> button.</para> +<note><para>&kword; will not allow you to delete the <emphasis>Plain</emphasis> table style. </para></note> +</sect3> + +<sect3 id="tablestyle-reorder"> +<title>Changing the order of the table style in the list</title> +<indexterm><primary>table styles</primary><secondary>reordering</secondary></indexterm> + +<para>To change the order that the table style are listed, select <menuchoice> +<guimenu>Table</guimenu><guimenuitem>Table Style Manager...</guimenuitem></menuchoice> +from the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tablestylist.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>The order the table styles are listed in the menu is determined by the order of the table styles in the list on the left.</para> +<para>Select the table style you want to move from the list at the left by clicking once with the &LMB;.</para> +<para>Now click on the <guiicon>Up Arrow</guiicon> and <guiicon>Down Arrow</guiicon> located at the bottom of the list of table styles. +This will move theselected table style up or down in the list of table styles.</para> +<para>When you are satisfied with the order of the list, select <guibutton>OK</guibutton>.</para> +</sect3> + +<sect3 id="tablestyle-import"> +<title>Importing a table style from another &kword; file</title> +<indexterm><primary>table styles</primary><secondary>importing</secondary></indexterm> + +<para>To import a table style from another &kword; file, select <menuchoice> +<guimenu>Table</guimenu><guimenuitem>Table Style Manager...</guimenuitem></menuchoice> +from the menubar. A dialog box will appear.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tablestylist.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> +<para>Click the button labeled <guibutton>Import From File</guibutton>. You can +select the &kword; file using the <link linkend="file-dialog">file selection dialog</link>. Choose your file, and click +<guibutton>OK</guibutton>.</para> +<para>A new dialog box will appear listing all available table styles for importing.</para> +<tip><para>If &kword; encounters a duplicate table style name in the selected file, it will append a number to the end of the +table style name to identify the imported style.</para> +<para>As an example, if you import the <emphasis>Plain</emphasis> table style from another &kword; file, &kword; will change +the name to <emphasis>Plain-1</emphasis>.</para></tip> +<para>Select <emphasis>all</emphasis> the table styles you want to import. Then click +<guibutton>OK</guibutton>.</para> +<para>The table styles will now appear at the bottom of your list of table styles. Click <guibutton>OK</guibutton> +to save the table styles in the new document.</para> +</sect3> +</sect2> + +</sect1> diff --git a/doc/kword/tableprop1.png b/doc/kword/tableprop1.png Binary files differnew file mode 100644 index 00000000..c581ec77 --- /dev/null +++ b/doc/kword/tableprop1.png diff --git a/doc/kword/tableprop2.png b/doc/kword/tableprop2.png Binary files differnew file mode 100644 index 00000000..8941d0d6 --- /dev/null +++ b/doc/kword/tableprop2.png diff --git a/doc/kword/tablestylist.png b/doc/kword/tablestylist.png Binary files differnew file mode 100644 index 00000000..e0062554 --- /dev/null +++ b/doc/kword/tablestylist.png diff --git a/doc/kword/tabstops.docbook b/doc/kword/tabstops.docbook new file mode 100644 index 00000000..01fa83f1 --- /dev/null +++ b/doc/kword/tabstops.docbook @@ -0,0 +1,324 @@ +<sect1 id="tab-stops"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Using Tab Stops</title> +<indexterm><primary>tab stops</primary><secondary>using</secondary></indexterm> +<indexterm><primary>paragraph</primary><secondary>setting tab stops</secondary></indexterm> + +<para>Tab stops are a (very useful) holdover from the days of +typewriters. They allow you to align text into columns quickly and +easily.</para> + +<para>When a tab stop is in place, you can immediately jump to a +horizontal position on the page by pressing the <keycap>Tab</keycap> key. Tab stops +are most commonly used to align columns in a table, or to automatically +indent paragraphs.</para> + +<para>Tab stops are part of the properties of a paragraph. Each +paragraph keeps track of its own set of tab stops. To view the tab +stops of a particular paragraph, place the mouse pointer within a +paragraph, click once, and check the top ruler. The tab stops are +marked as symbols in black. </para> + +<para>&kword; recognizes 4 types of tab stops. Each of these types has +a corresponding symbol to help you identify the type in the +ruler.</para> + +<informaltable><tgroup cols="4" align="left"> +<thead> +<row><entry align="center">Type</entry><entry align="center">Example</entry><entry align="center">Symbol</entry><entry align="center">Description</entry></row> +</thead> +<tbody> +<row><entry>Right Tab Stop</entry> +<entry align="left"><mediaobject><imageobject><imagedata fileref="rtab2.png" format="PNG" align="center"/></imageobject></mediaobject></entry> +<entry><mediaobject><imageobject><imagedata fileref="rtab.png" format="PNG" align="center"/></imageobject></mediaobject></entry> +<entry>With a right tab stop, the right edge of the next set of words is aligned at the tab stop. </entry></row> + +<row><entry>Center Tab Stop</entry> +<entry align="left"><mediaobject><imageobject><imagedata fileref="ctab2.png" format="PNG" align="center"/></imageobject></mediaobject></entry> +<entry><mediaobject><imageobject><imagedata fileref="ctab.png" format="PNG" align="center"/></imageobject></mediaobject></entry> +<entry>With a center tab stop, the text is centered at the tab stop. </entry></row> + +<row><entry>Left Tab Stop</entry> +<entry align="left"><mediaobject><imageobject><imagedata fileref="ltab2.png" format="PNG" align="center"/></imageobject></mediaobject></entry> +<entry><mediaobject><imageobject><imagedata fileref="ltab.png" format="PNG" align="center"/></imageobject></mediaobject></entry> +<entry>With a left tab stop, the left edge of the next set of words is aligned at the tab stop. </entry></row> + +<row><entry>Decimal Tab Stop</entry> +<entry align="left"><mediaobject><imageobject><imagedata fileref="dtab2.png" format="PNG" align="center"/></imageobject></mediaobject></entry> +<entry><mediaobject><imageobject><imagedata fileref="dtab.png" format="PNG" align="center"/></imageobject></mediaobject></entry> +<entry>With a decimal tab stop, the decimal points of the text are aligned at the tab stop. </entry></row> + +</tbody></tgroup></informaltable> + +<sect2 id="tab-stop-setting"> +<title>Setting Tab Stops</title> +<indexterm><primary>tab stops</primary><secondary>setting a new tab stop</secondary></indexterm> + +<para>Tab stops can be set one of two ways:</para> + +<itemizedlist> +<listitem> +<para><link linkend="tab-stop-setting-rulers">Using the rulers of +&kword;</link></para> +</listitem> +<listitem> +<para><link linkend="tab-stop-setting-dialog">Using a specialized dialog +panel.</link></para> +</listitem> +</itemizedlist> + +<sect3 id="tab-stop-setting-rulers"> +<title>Using the Ruler</title> + +<para>You can use the top ruler of &kword; to interactively insert tab +stops.</para> + +<para>First, you should select the type of tab stop you want to +use.</para> + +<para>Place the mouse cursor over the current tab character (located +directly to the left of the top ruler). Click once with the &RMB;. A small popup menu +will appear. You can select the tab stop you want from the sub +menu.</para> + +<tip> +<para>You can also use the left mouse button to cycle through the +different types of tab stops. </para> + +<para>Click once on the current tab character, and the tab stop changes +from left tab stop, to center tab stop. +If you continue to click with the left mouse button, you will change to +right tab stop, then to decimal tab stop, +then back to left tab stop. </para> +</tip> + +<para>Once you have the correct type of tab stop, you can simply place +the mouse pointer on the top ruler bar at the desired position, and click once with the +&LMB;. This will place a tab +stop at that position.</para> + +</sect3> + +<sect3 id="tab-stop-setting-dialog"> +<title>Using the Dialog Box</title> + +<para>The fastest way to get to the tab stop dialog panel, is to select +<menuchoice><guimenu>Format</guimenu><guimenuitem>Paragraph...</guimenuitem></menuchoice> +from the menubar or type <keycombo action="simul">&Ctrl;&Alt;<keycap>P</keycap></keycombo>. +This will bring up a dialog box with 5 tabs. Click on the tab +labeled <guilabel>Tabulators</guilabel>. </para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="fpara5.png" format="PNG"/> +</imageobject> +</mediaobject> +</screenshot> + +<para>You can now add tab stops by:</para> + +<orderedlist numeration="arabic"> +<listitem> +<para>Click the <guibutton>New</guibutton> button at the bottom of the list of tab stops.</para> +</listitem> +<listitem> +<para>Type the horizontal location of the tab stop in the space +labeled <guilabel>Position</guilabel>. The units used and the current frame width +are listed below the text box.</para> +</listitem> +<listitem> +<para>Select the type of tab stop from the list of radio buttons labeled +<guilabel>Alignment</guilabel>.</para></listitem> +<listitem> +<para>Determine what you want to fill the empty space to the tab stop with. +In most cases this should be left as <guilabel>Blank</guilabel>. For information on other options in this section, see +<link linkend="tab-fill">Tab filling</link>.</para></listitem> + +</orderedlist> + +<para>You can now add another tab stop. When you are done adding tab stops, you can click +<guibutton>OK</guibutton> to finish.</para> + +</sect3> +</sect2> + +<sect2 id="tab-stop-moving"> +<title>Moving Tab Stops</title> +<indexterm><primary>tab stops</primary><secondary>moving</secondary></indexterm> + +<para>Tab stops can be moved one of two ways:</para> + +<itemizedlist> +<listitem> +<para><link linkend="tab-stop-move-ruler">Using the rulers of +&kword;</link></para> +</listitem> +<listitem> +<para><link linkend="tab-stop-move-dialog">Using a specialized dialog +panel.</link></para> +</listitem> +</itemizedlist> + +<sect3 id="tab-stop-move-ruler"> +<title>Using the Ruler</title> + +<orderedlist numeration="arabic"> +<listitem> +<para>To move a tab stop with the ruler, place the mouse over the +desired tab stop. The mouse pointer will change to a double +arrow.</para> +</listitem> + +<listitem> +<para>Click and hold down the &LMB;. Drag the tab +stop to its new location</para> +</listitem> + +<listitem> +<para>When the tab stop is where you want it, release the mouse +button.</para> +</listitem> +</orderedlist> + +</sect3> + +<sect3 id="tab-stop-move-dialog"> +<title>Using the Dialog Box</title> + +<para>Select <menuchoice><guimenu>Format</guimenu><guimenuitem>Paragraph...</guimenuitem></menuchoice> +from the menubar or type <keycombo action="simul">&Ctrl;&Alt;<keycap>P</keycap></keycombo>. +This will bring up a dialog box with 5 tabs. </para> + +<para>Click on the tab labeled <guilabel>Tabulators</guilabel></para> + +<para>A very fast way to edit existing tab stops is to simply double click on the +tab stop you want to edit in the top ruler of &kword;. This will also bring up +the <guilabel>Tabulators</guilabel> dialog box with the desired tab stop already selected.</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="fpara5.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<orderedlist numeration="arabic"> +<listitem> +<para>Click on the tab stop you want moved. The list of all tab stops +is in the box on the left side of the dialog panel.</para> +</listitem> +<listitem> +<para>Type the horizontal location of the tab stop in the space +labeled <guilabel>Position</guilabel>. The units used and the current frame width +are listed below the text box.</para> +</listitem> + +<listitem> +<para>If you need to make changes, select the type of tab stop from the +list labeled <guilabel>Alignment</guilabel> or change the white space character +under <guilabel>Tab Leader</guilabel>.</para> +</listitem> +<listitem> +<para>Click <guibutton>OK</guibutton> when you are done moving all tab stops around.</para> +</listitem> +</orderedlist> +</sect3> +</sect2> + +<sect2 id="tab-stop-remove"> +<title>Removing Tab Stops</title> +<indexterm><primary>tab stops</primary><secondary>removing</secondary></indexterm> +<indexterm><primary>tab stops</primary><secondary>deleting</secondary></indexterm> + +<para> +Tab stops can be removed one of two ways: +</para> + +<itemizedlist> +<listitem> +<para><link linkend="tab-stop-delete-rulers">Using the rulers of +&kword;</link></para> +</listitem> +<listitem> +<para><link linkend="tab-stop-delete-dialog">Using a specialized dialog +panel.</link></para> +</listitem> +</itemizedlist> + +<sect3 id="tab-stop-delete-rulers"> +<title>Using the Ruler</title> + +<orderedlist numeration="arabic"> +<listitem> +<para>To delete a tab stop with the ruler, place the mouse over the +desired tab stop. The mouse pointer will change to a double +arrow.</para> +</listitem> +<listitem> +<para>Click and hold down the &RMB; on +the mouse. A popup menu will appear. Select <guimenuitem>Remove Tabulator</guimenuitem>.</para> +</listitem> +</orderedlist> +</sect3> + +<sect3 id="tab-stop-delete-dialog"> +<title>Using the Dialog Box</title> + +<para>Select <menuchoice><guimenu>Format</guimenu><guimenuitem>Paragraph...</guimenuitem></menuchoice> +from the menubar or type <keycombo action="simul">&Ctrl;&Alt;<keycap>P</keycap></keycombo>. +This will bring up a dialog box with 5 tabs. </para> + +<para>Click on the tab labeled <guilabel>Tabulators</guilabel></para> + +<para>A very fast way to edit existing tab stops is to simply double click on the +tab stop you want to edit in the top ruler of &kword;. This will also bring up +the <guilabel>Tabulators</guilabel> dialog box with the desired tab stop already selected.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="fpara5.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<orderedlist numeration="arabic"> +<listitem> +<para>Click on the tab stop you want removed. The list of all tab stops +is in the box on the left side of the dialog panel</para> +</listitem> +<listitem> +<para>Click the <guibutton>Delete</guibutton> button.</para> +</listitem> +</orderedlist> + +<note><para>You can delete all tab stops at once by clicking <guibutton>Delete All</guibutton>.</para> +<para>&kword; will not prompt you prior to deleting all tabs, so make sure that is your intention prior to selecting the +<guibutton>Delete All</guibutton> button.</para> +</note> + +<para>When you are done deleting tab stops, you can click +<guibutton>OK</guibutton> to finish.</para> + +</sect3> +</sect2> +<sect2 id="tab-fill"> +<title>Tab filling</title> +<indexterm><primary>tab stops</primary><secondary>tab filling</secondary></indexterm> + +<para>By default, &kword; uses the standard tab function that you are familiar with when using a typewriter or most wordprocessing programs. +You can, however, have &kword; insert dots or lines to fill the tab space.</para> +<para>To change the way the tab fills work in &kword; you change the combo box labeled <guilabel>Filling:</guilabel>. This combo box +gives you many different line styles to choose from.</para> +<para>You can change the thickness of the lines by using the <guilabel>Width:</guilabel> spin box.</para> + + + +</sect2> +</sect1> diff --git a/doc/kword/tb1.png b/doc/kword/tb1.png Binary files differnew file mode 100644 index 00000000..7a02c80f --- /dev/null +++ b/doc/kword/tb1.png diff --git a/doc/kword/tb2.png b/doc/kword/tb2.png Binary files differnew file mode 100644 index 00000000..efa6d8a4 --- /dev/null +++ b/doc/kword/tb2.png diff --git a/doc/kword/tb3.png b/doc/kword/tb3.png Binary files differnew file mode 100644 index 00000000..a17c16b7 --- /dev/null +++ b/doc/kword/tb3.png diff --git a/doc/kword/tb4.png b/doc/kword/tb4.png Binary files differnew file mode 100644 index 00000000..a2dde5f5 --- /dev/null +++ b/doc/kword/tb4.png diff --git a/doc/kword/tblsty.png b/doc/kword/tblsty.png Binary files differnew file mode 100644 index 00000000..e9beb7d6 --- /dev/null +++ b/doc/kword/tblsty.png diff --git a/doc/kword/tbord.png b/doc/kword/tbord.png Binary files differnew file mode 100644 index 00000000..557370bd --- /dev/null +++ b/doc/kword/tbord.png diff --git a/doc/kword/techinfo.docbook b/doc/kword/techinfo.docbook new file mode 100644 index 00000000..a2a7dd85 --- /dev/null +++ b/doc/kword/techinfo.docbook @@ -0,0 +1,246 @@ +<sect1 id="kword-file-format"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>&kword; file format</title> +<indexterm><primary>&kword;</primary><secondary>file format</secondary></indexterm> + +<para>&kword; uses two open source, independently developed standards for +its file format. The combination was chosen for its balance between +convenience and open development models.</para> + +<para>First, it should be noted that all &kword; files are multiple &XML; +files that are compressed to reduce their space requirements. </para> + +<para>Select the &kword; version you are interested in:</para> +<itemizedlist> +<listitem><para><link linkend="kword-file-format-11">&kword; 1.1 and earlier</link>.</para></listitem> +<listitem><para><link linkend="kword-file-format-12">&kword; 1.2</link>.</para></listitem> +<listitem><para><link linkend="kword-file-format-13">&kword; 1.3</link>.</para></listitem> + +</itemizedlist> + +<sect2 id="kword-file-format-11"> +<title>&kword; 1.1 and earlier</title> + +<para>The &XML; files are compressed into a single file using the same +algorithm as used by <ulink +url="http://www.gnu.org/software/tar/tar.html"><application>tar</application></ulink>.</para> + +<para>You can uncompress the files with the following command:</para> + +<screen width="40"> +<prompt>%</prompt> <userinput><command>tar -xzvf </command><replaceable>filename</replaceable></userinput> +</screen> + +<para>This will expand the &kword; document file into its component +files.</para> + +<para>The text portion of all &kword; files are &XML; (eXtensible Markup +Language) files.</para> + +<note><para>For more information on &XML; documents, processors and +technology, please visit <simplelist> <member><ulink +url="http://www.w3.org/XML/">World Wide Web Consortium &XML; +pages</ulink></member> <member><ulink +url="http://www.xml.org/xml/resources_cover.shtml">XML.org Resource +Guide</ulink></member> <member><ulink url="http://www.ucc.ie/xml/">The &XML; +FAQ</ulink></member> </simplelist></para></note> + +<para>All &kword; documents consist of at least two &XML; files:</para> + +<variablelist> +<varlistentry> +<term><filename>maindoc.xml</filename></term> +<listitem> +<para>This file contains the bulk of the &kword; text, tables and formula +information. It is marked with &XML; tags according to the official DTD. A +copy of the &kword; 1.1 DTD is located at: <ulink +url="http://www.koffice.org/DTD/kword-1.1.dtd">http://www.koffice.org/DTD/kword-1.1.dtd</ulink>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><filename>documentinfo.xml</filename></term> +<listitem> +<para>This file contains the document information. This is information +entered into the dialog boxes when selecting +<menuchoice><guimenu>File</guimenu><guimenuitem>Document +Information</guimenuitem> </menuchoice> from the menubar. This information +is useful for tracking authors, contact information &etc;</para> +<para>The DTD for &koffice; 1.1 is located at: <ulink +url="http://www.koffice.org/DTD/document-info-1.1.dtd">http://www.koffice.org/DTD/document-info-1.1.dtd</ulink>.</para> +</listitem> +</varlistentry> +</variablelist> + +<para>In addition, there may be other files included in the &kword; document +file. Pictures, embedded documents and other binary information are stored +within the &kword; document as separate files.</para> + +<para>For more specific information on &kword; file storage or other +internal information, please see <ulink +url="http://www.koffice.org/developer">The KOffice API</ulink> and the +<ulink url="http://developer.kde.org">General &kde; developer information +pages</ulink>.</para> +</sect2> + +<sect2 id="kword-file-format-12"> +<title>&kword; 1.2</title> + +<para>The text files are compressed into a single file using the same +algorithm as used by <ulink +url="http://www.info-zip.org/pub/infozip/Zip.html"><application>zip</application></ulink>. +This change was made because of its broad use in other open source office +suites and its improved performance with lower memory requirements.</para> +<para>You can uncompress the files with the following command:</para> + +<screen width="40"> +<prompt>%</prompt> <userinput><command>unzip </command><replaceable>filename</replaceable></userinput> +</screen> + +<para>This will expand the &kword; document file into its component +files.</para> + +<para>The text portion of all &kword; files are &XML; +(eXtensible Markup Language) files.</para> + +<note><para>For more information on &XML; documents, processing and +technology, please visit <simplelist> <member><ulink +url="http://www.w3.org/XML/">World Wide Web Consortium &XML; +pages</ulink></member> <member><ulink +url="http://www.xml.org/xml/resources_cover.shtml">XML.org Resource +Guide</ulink></member> <member><ulink url="http://www.ucc.ie/xml/">The &XML; +FAQ</ulink></member> </simplelist></para></note> + +<para>All &kword; documents consist of at least three files:</para> + +<variablelist> +<varlistentry> +<term><filename>maindoc.xml</filename></term> +<listitem> +<para>This file contains the bulk of the &kword; text, tables and formula +information. It is marked with &XML; tags according to the official +DTD.</para> <para>A copy of the &kword; 1.2 DTD is located at: <ulink +url="http://www.koffice.org/DTD/kword-1.2.dtd">http://www.koffice.org/DTD/kword-1.2.dtd</ulink>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><filename>documentinfo.xml</filename></term> +<listitem> +<para>This file contains the document information. This is information +entered into the dialog boxes when selecting +<menuchoice><guimenu>File</guimenu><guimenuitem>Document +Information</guimenuitem> </menuchoice> from the menubar. This information +is useful for tracking authors, contact information etc.</para> +<para>The DTD for &koffice; 1.2 is located at: <ulink +url="http://www.koffice.org/DTD/document-info-1.2.dtd">http://koffice.kde.org/DTD/document-info-1.2.dtd</ulink>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><filename>mimetype</filename></term> +<listitem> +<para>This file contains the mimetype for &kword; files. This information +is used by &kde; to determine that this is a &kword; file.</para> +<para>This file always contains: +<emphasis>application/x-kword</emphasis></para> +</listitem> +</varlistentry> + +</variablelist> + +<para>In addition, there may be other files included in the &kword; document +file. Pictures, embedded documents and other binary information are stored +within the &kword; document as separate files.</para> + +<para>For more specific information on &kword; file storage or other +internal information, please see <ulink +url="http://www.koffice.org/developer">The KOffice API</ulink> and the +<ulink url="http://developer.kde.org">General &kde; developer information +pages</ulink>.</para> + +</sect2> +<sect2 id="kword-file-format-13"> +<title>&kword; 1.3 (current version)</title> + +<para>The text files are compressed into a single file using the same +algorithm as used by <ulink +url="http://www.info-zip.org/pub/infozip/Zip.html"><application>zip</application></ulink>. +This change was made because of its broad use in other open source office +suites and its improved performance with lower memory requirements.</para> +<para>You can uncompress the files with the following command:</para> + +<screen width="40"> +<prompt>%</prompt> <userinput><command>unzip </command><replaceable>filename</replaceable></userinput> +</screen> + +<para>This will expand the &kword; document file into its component +files.</para> + +<para>The text portion of all &kword; files are &XML; +(eXtensible Markup Language) files.</para> + +<note><para>For more information on &XML; documents, processing and +technology, please visit <simplelist> <member><ulink +url="http://www.w3.org/XML/">World Wide Web Consortium &XML; +pages</ulink></member> <member><ulink +url="http://www.xml.org/xml/resources_cover.shtml">XML.org Resource +Guide</ulink></member> <member><ulink url="http://www.ucc.ie/xml/">The &XML; +FAQ</ulink></member> </simplelist></para></note> + +<para>All &kword; documents consist of at least three files:</para> + +<variablelist> +<varlistentry> +<term><filename>maindoc.xml</filename></term> +<listitem> +<para>This file contains the bulk of the &kword; text, tables and formula +information. It is marked with &XML; tags according to the official +DTD.</para> <para>A copy of the &kword; 1.3 DTD is located at: <ulink +url="http://www.koffice.org/DTD/kword-1.3.dtd">http://www.koffice.org/DTD/kword-1.3.dtd</ulink>.</para> +</listitem> +</varlistentry> +<varlistentry> +<term><filename>documentinfo.xml</filename></term> +<listitem> +<para>This file contains the document information. This is information +entered into the dialog boxes when selecting +<menuchoice><guimenu>File</guimenu><guimenuitem>Document +Information</guimenuitem> </menuchoice> from the menubar. This information +is useful for tracking authors, contact information etc.</para> +<para>The DTD for &koffice; 1.3 is located at: <ulink +url="http://www.koffice.org/DTD/document-info-1.3.dtd">http://koffice.kde.org/DTD/document-info-1.3.dtd</ulink>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><filename>mimetype</filename></term> +<listitem> +<para>This file contains the mimetype for &kword; files. This information +is used by &kde; to determine that this is a &kword; file.</para> +<para>This file always contains: +<emphasis>application/x-kword</emphasis></para> +</listitem> +</varlistentry> + +</variablelist> + +<para>In addition, there may be other files included in the &kword; document +file. Pictures, embedded documents and other binary information are stored +within the &kword; document as separate files.</para> + +<para>For more specific information on &kword; file storage or other +internal information, please see <ulink +url="http://www.koffice.org/developer">The KOffice API</ulink> and the +<ulink url="http://developer.kde.org">General &kde; developer information +pages</ulink>.</para> + +</sect2> +</sect1> + diff --git a/doc/kword/tedittb.png b/doc/kword/tedittb.png Binary files differnew file mode 100644 index 00000000..f8c9ae5c --- /dev/null +++ b/doc/kword/tedittb.png diff --git a/doc/kword/templatecreation.docbook b/doc/kword/templatecreation.docbook new file mode 100644 index 00000000..13023f76 --- /dev/null +++ b/doc/kword/templatecreation.docbook @@ -0,0 +1,115 @@ +<sect1 id="template-creation"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Creating Templates, Saving a document as a template and Deleting Templates</title> + +<para>&kword; comes with several predefined templates (both +Page Layout and Text Oriented templates), which are designed +to provide initial formatting of documents.</para> + +<para>If, however, the same format for a custom document is used over and +over, &kword; can create a template which more +exactly matches the needs of the document.</para> + +<para>An unlimited number of templates can be created in &kword;, and +they can be organized into categories for easy recall.</para> + +<sect2 id="template-add"><title>Creating a new template</title> +<indexterm><primary>templates</primary><secondary>creating</secondary></indexterm> + +<para>Templates are created by first generating the layout in +&kword; based on one of the predefined templates, and then saving the +file. Instead of saving it as a traditional file, it is saved as a +template.</para> + +<para>What follows, is a step by step process to save the current +document as a template.</para> + +<procedure> +<step> +<para>When the document is a completed template, Select <menuchoice> +<guimenu>File</guimenu><guimenuitem>Create Template From +Document...</guimenuitem></menuchoice> from the menubar.</para> + +<para>This brings up a dialog:</para> + +<screenshot> +<mediaobject> +<imageobject><imagedata fileref="savetmpl1.png" format="PNG"/></imageobject> +</mediaobject> +</screenshot> + +<para>This dialog helps organize the templates into +groups (categories).</para> +</step> +<step><para>Select the group to place the new template into.</para> +<note><para>To create a new group to place templates in, simply click the button +labeled <guibutton>Add Group</guibutton>. A dialog box will appear asking for the +name of the new group. Click <guibutton>OK</guibutton> and the new group is created.</para></note> +</step> +<step> +<para>Type in a name for the template in the text box labeled <guilabel>Name</guilabel>.</para> +</step> + +<step><para>Select the icon for your new template by +using the radio buttons on the right</para> +<para>&kword; has a default icon, which is shown below both options.</para> +<para>To change the icon, select <guilabel>Custom</guilabel> and a dialog box will appear. +Simply select the desired icon using the dialog box. Click <guibutton>OK</guibutton> when the icon is selected.</para> +</step> + +<step><para>Click <guibutton>OK</guibutton>.</para></step> + +</procedure> + +<para>Once you have saved the template, the next time you open a +document, your new category/new template will appear in the open file +dialog.</para> +</sect2> + +<sect2 id="template-delete"><title>Removing a template</title> +<indexterm><primary>templates</primary><secondary>deleting</secondary></indexterm> +<para>To delete a template, follow these steps:</para> +<procedure> +<step> +<para>Select <menuchoice> +<guimenu>File</guimenu><guimenuitem>Create Template From +Document...</guimenuitem></menuchoice> from the menubar.</para> +<para>This will bring up a dialog</para> +</step> +<step><para>Click on the small plus sign (+) in front of the template group where the template can be found.</para> +</step> +<step><para>Click once on the template name</para></step> +<step><para>Click on the button labeled <guibutton>Remove</guibutton>.</para></step> +<step><para>A small dialog box will appear verifying that you do intend to delete +the template. Simply click <guibutton>Yes</guibutton>.</para></step> +</procedure> +<para>The template is now deleted.</para> +</sect2> +<sect2 id="template-delete-group"><title>Removing a template group</title> +<indexterm><primary>templates</primary><secondary>deleting template group</secondary></indexterm> + +<para>To delete a group of templates, follow these steps:</para> +<procedure> +<step> +<para>Select <menuchoice> +<guimenu>File</guimenu><guimenuitem>Create Template From +Document...</guimenuitem></menuchoice> from the menubar.</para> +<para>This will bring up a dialog</para> +</step> +<step><para>Click once on the group name</para></step> +<step><para>Click on the button labeled <guibutton>Remove</guibutton>.</para></step> +<step><para>A small dialog box will appear verifying that you do intend to delete +the group of templates. Simply click <guibutton>Yes</guibutton>.</para></step> +</procedure> +<para>The group and all of the templates within the group are now deleted.</para> +</sect2> + +</sect1> diff --git a/doc/kword/textstyex.png b/doc/kword/textstyex.png Binary files differnew file mode 100644 index 00000000..d6189dbe --- /dev/null +++ b/doc/kword/textstyex.png diff --git a/doc/kword/tfcreatebut.png b/doc/kword/tfcreatebut.png Binary files differnew file mode 100644 index 00000000..753eb01b --- /dev/null +++ b/doc/kword/tfcreatebut.png diff --git a/doc/kword/thesaurus.png b/doc/kword/thesaurus.png Binary files differnew file mode 100644 index 00000000..6ed9fbc9 --- /dev/null +++ b/doc/kword/thesaurus.png diff --git a/doc/kword/toc.docbook b/doc/kword/toc.docbook new file mode 100644 index 00000000..e8cab6a3 --- /dev/null +++ b/doc/kword/toc.docbook @@ -0,0 +1,67 @@ +<sect1 id="toc"> +<sect1info> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</sect1info> +<title>Table of Contents</title> +<indexterm><primary>table of contents</primary><secondary>introduction</secondary></indexterm> + +<para>When writing a large document, it is useful to include a table of contents. This can be done automatically +with &kword;.</para> +<para>To begin creating a table of contents &kword; needs to know what to include in the table of contents. +The first part of this chapter describes how to prepare the document to generate an accurate table of contents.</para> +<para>The second part of this section, discusses the actual generation and updating of the table of contents.</para> +<para>The final part of this section provides pointers on changing the look of the table of contents.</para> +<sect2 id="toc-prepare"><title>Preparing the document</title> +<indexterm><primary>table of contents</primary><secondary>preparing document for</secondary></indexterm> + +<para>&kword; uses a style-based method of creating table of contents entries.</para> +<para>For more information on styles, see the <link linkend="styles">Styles</link> section of this documentation.</para> +<para>To mark each level of the document, use the paragraph styles <guilabel>Head 1</guilabel>, +<guilabel>Head 2</guilabel> and <guilabel>Head 3</guilabel>.</para> +<para>Major subjects should be marked with the <guilabel>Head 1</guilabel> style. </para> +<para>Sub-headings under the <guilabel>Head 1</guilabel> subjects should be marked with <guilabel>Head 2</guilabel>.</para> +<para>Sub-headings under the <guilabel>Head 2</guilabel> subject headings should be marked with <guilabel>Head 3</guilabel></para> +<para>Once this is done, proceed to the next section.</para> +</sect2> +<sect2 id="toc-create"><title>Creating the table of contents</title> +<indexterm><primary>table of contents</primary><secondary>creating</secondary></indexterm> +<indexterm><primary>table of contents</primary><secondary>updating</secondary></indexterm> + +<para>To create the table of contents is easy. Simply place the cursor in a text frame where the table of contents should be inserted.</para> +<para>Select <menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Table of Contents</guimenuitem></menuchoice> from +the menubar.</para> +<para>&kword; locates all entries labeled with the appropriate paragraph styles, and their corresponding page numbers. +It assembles this into the +table of contents.</para> +<note><para>Once the table of contents is created, it will remain unchanged until &kword; is instructed to update it.</para> +<para>To update the table of contents, click once with the &LMB; in the current table of contents. Then select +<menuchoice> +<guimenu>Insert</guimenu><guimenuitem>Update Table of Contents</guimenuitem></menuchoice> from +the menubar.</para> +<para>&kword; will replace the old table of contents with a newly updated one.</para></note> +</sect2> +<sect2 id="toc-style"><title>Changing the look of the table of contents.</title> +<indexterm><primary>table of contents</primary><secondary>formatting</secondary></indexterm> + +<para>The look of the table of contents is also adjusted by using the paragraph styles in &kword;.</para> +<para>The table of contents title is formated with the <guilabel>Contents Title</guilabel> paragraph style. +All major subject headings (those marked with the <guilabel>Head 1</guilabel> style), are now formatted +using <guilabel>Contents Head 1</guilabel> paragraph style. All sub-headings (those marked with the +<guilabel>Head 2</guilabel> style), are now formatted +using <guilabel>Contents Head 2</guilabel> paragraph style. Finally, all sub-headings (those marked with +the <guilabel>Head 3</guilabel> style), are now formatted +using <guilabel>Contents Head 3</guilabel> paragraph style. </para> +<para>By <link linkend="style-edit">changing the look</link> of those three styles, +the appearance of the +table of contents can be radically changed.</para> + +</sect2> +</sect1> + diff --git a/doc/kword/tts.png b/doc/kword/tts.png Binary files differnew file mode 100644 index 00000000..3b95737b --- /dev/null +++ b/doc/kword/tts.png diff --git a/doc/kword/tutorial.docbook b/doc/kword/tutorial.docbook new file mode 100644 index 00000000..6d9bc502 --- /dev/null +++ b/doc/kword/tutorial.docbook @@ -0,0 +1,356 @@ +<chapter id="tutorial"> +<chapterinfo> +<authorgroup> +<author> +<firstname>Mike</firstname> +<surname>McBride</surname> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> +</chapterinfo> +<title>Step by Step Tutorial</title> +<indexterm><primary>tutorial</primary></indexterm> +<para>This section is a step by step +walk through of the most important functions needed to understand how +to create and manipulate a complex document. This tutorial will generate the start of a +newsletter as an example document. </para> + +<para>It is recommend that you go through the tutorial in order at +least once if you are new to frame based word processors.</para> + +<sect1 id="choose-template"> +<title>Tutorial: Choosing the initial template</title> + +<note><para>The steps to this tutorial are numbered from 1 to 23. +Beneath each step, is text in <emphasis>italics</emphasis> which further elaborates or explains the changes.</para></note> + +<para>When you first <link linkend="starting-kword">start &kword;</link> (or <link linkend="new-doc">start a new +document</link> after &kword; is running), &kword; asks for a document template.</para> + +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="ChooseTempDia.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject> +</mediaobject> + +<para><emphasis>Here you can either:</emphasis></para> +<itemizedlist> +<listitem> +<para><emphasis>Select the initial template for your new +document.</emphasis></para> +</listitem> +<listitem> +<para><emphasis>Open a &kword; document saved to your hard +drive or network.</emphasis></para> +</listitem> + +</itemizedlist> + +<para>Step 1: Click on <guilabel>Page Layout</guilabel>.</para> + +<mediaobject><imageobject><imagedata format="PNG" +fileref="Tut1.png"/></imageobject><textobject><phrase>Screen shot</phrase></textobject></mediaobject> + +<para><emphasis>This will list the Page Layout templates available on +your system. For information on the differences between Page Layout and Text Oriented templates, see the section entitled +<link linkend="wp-vs-dtp">The difference between Text Oriented and Page Layout +templates</link>.</emphasis></para> + +<para>Step 2: Now select the <guilabel>Simple Layout</guilabel> icon by +clicking once with the left button of your mouse.</para> + +<mediaobject><imageobject><imagedata format="PNG" +fileref="Tut2.png"/></imageobject><textobject><phrase>Screen shot</phrase></textobject></mediaobject> + +<para><emphasis>This is the template we will use for the +tutorial</emphasis>.</para> + +<para>Step 3: Now confirm your selection by clicking on +<guibutton>Use This Template</guibutton>.</para> + +<mediaobject><imageobject><imagedata format="PNG" fileref="Tut3.png" +align="center"/></imageobject><textobject><phrase>Screen shot</phrase></textobject></mediaobject> + +<para><emphasis>To complete your selection</emphasis>.</para> + +<para><emphasis>&kword; will open a new document with three frames. The +frames are outlined on the white background, as gray boxes. Each box is +a separate frame.</emphasis></para> + +</sect1> + +<sect1 id="tutorial-frame-select"> +<title>Tutorial: Selecting a frame and entering text into that frame</title> + +<para><emphasis>To begin entering text (or adding any sort of data for +that matter) into a document, its important to let &kword; know which +frame to put the data in.</emphasis></para> + +<note> +<para>In order to keep both editing and formatting of your document efficient and simple, +the command executed with a mouse click changes depending on where in the &kword; window the pointer +is located.</para> + +<para>When the pointer is located over toolbars, scrollbars, menu buttons or other areas +<emphasis>outside the document</emphasis>, the pointer is an arrow. You should already be +familiar with this type of pointer when using other &kde; programs. </para> +<para>When <emphasis>inside the document</emphasis>, there are two separate pointers which alternate automatically +based on how close to a frame edge the pointer is currently located.</para> +<para>When the mouse pointer is near the edge of a frame, the pointer will change into two intersecting lines +with arrows on all four points. Clicking the left mouse button now will select the nearest frame. </para> +<para>As you move the pointer away from the edge of the frame, the pointer will change into the text entry pointer. +Clicking the left mouse button at this time will tell &kword; to insert text into this frame.</para> +</note> + + +<para>Step 4: Place the mouse pointer over the upper-left frame. +Make sure you do not see the <emphasis>frame select pointer</emphasis></para> +<para>Step 5: Click once with the left mouse button.</para> + +<mediaobject><imageobject><imagedata format="PNG" +fileref="Tut4.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject> + +<para><emphasis>This tells &kword; to insert text into this frame. Click in the upper left corner of the frame to position the cursor in the upper left corner of the frame. </emphasis></para> + +<para>Step 6: Enter the following text using the keyboard: <userinput>KWord Press Release</userinput>.</para> + +<para><emphasis>This is some sample text for our +newsletter.</emphasis></para> + +<para>Step 7: Select <emphasis>KWord Press Release</emphasis> by placing +the mouse cursor on the right end of the text. Click once with the +&LMB; and drag the mouse cursor +to the left. Selected text will be white text on a colored +background. When all the text has been selected, release the &LMB;.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut7.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> +<para><emphasis>This defines what text is going to be altered with Step 8.</emphasis></para> +<para>Step 8: Click inside the <guilabel>Text Size</guilabel> combo box. Change this +number to 26.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut8.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para><emphasis>This changes the size of the selected text to one more +appropriate for a title.</emphasis></para> + +</sect1> + +<sect1 id="tutorial-resize-frame"> <title>Tutorial: Changing the size of a frame</title> + +<para><emphasis>Now that we have entered some text, we can see that the +frame should extend across the entire width of the page for a title. We need to change +the size and shape of the frame. </emphasis></para> + +<para>Step 9: Place the mouse pointer over the frame border (you will notice the cursor +changes to two intersecting lines with arrows), and click +once with the &LMB;.</para> + +<para><emphasis>This will select this frame, so it can be +re-shaped.</emphasis></para> + +<para><emphasis>You will now notice the frame is outlined in black, with +8 squares on the outline. These squares are used for re-sizing the +frame.</emphasis></para> + +<para>Step 10: Place the mouse pointer over the square in the lower +right corner of the frame. Click with the &LMB; and hold it +down. Drag the mouse up and to the right.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut11a.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para><emphasis>Notice how the frame changes shape. Adjust the size and +shape of the frame until it looks similar to the example below:</emphasis></para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut11b.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para>When it does, release the mouse button.</para> + +</sect1> + +<sect1 id="tutorial-move-frame"> +<title>Tutorial: Moving a frame on the page and layering frames</title> + +<para>Now that we have created a title block, we will center it at the +top of the page.</para> + +<para>Step 11: Place the mouse pointer over the border of the frame (but +not on any of the squares).</para> + +<para><emphasis>The pointer will now change to a 4 way arrow. This +indicates &kword; is ready to move the frame on the +page.</emphasis></para> + +<para>Step 12: Click and hold with the &LMB;. Drag the +mouse, and the frame will follow it. Position the frame in the center +of the page near the top. When you are satisfied with its final +location, release the mouse button.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut13.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para>Notice how the right side of the title block has slid behind the empty frame on the right. This is easily corrected.</para> + +<para>Step 13: Select <menuchoice><guimenu>Frames</guimenu><guimenuitem>Bring to Front</guimenuitem></menuchoice>.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut13a.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para>This will place the title on top of the other frame. You can raise and lower frames to give you the look you need.</para> +</sect1> + +<sect1 id="tutorial-add-frame"> +<title>Tutorial: Adding a new frame/Making text flow between two frames</title> +<para>Now we will add a new text frame to our document for our first article.</para> +<para>Step 14: Begin by selecting +<menuchoice><guimenu>Insert</guimenu><guimenuitem>Text +Frame</guimenuitem></menuchoice> from the menubar.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut14.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para><emphasis>The pointer has changed to cross-hairs. You can draw +your new text box with this cursor. Start by placing the pointer at one +corner. Click and hold the <mousebutton>left</mousebutton> mouse +button. Drag the mouse diagonally. An outline will appear which +represents your new text frame. When you have a text frame of +reasonable size, release the <mousebutton>left</mousebutton> mouse +button.</emphasis></para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut14a.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para><emphasis>It is not important if your text box does not resemble +the example for the purposes of this tutorial.</emphasis></para> + +<para><emphasis>When you release the <mousebutton>left</mousebutton> +mouse button, a new dialog box appears.</emphasis></para> + + +<para><emphasis>This dialog box lists all the current frame sets and has a radio button to create a +new frame set (default value). By selecting the default value, you will +create a new frame set (text will not flow from any other frame into this +frame)</emphasis>.</para> + +<para><emphasis>Notice that the default name for this frameset is +<guilabel>Text Frameset 3</guilabel></emphasis></para> + +<para>Step 15: For the purposes of this tutorial, the default value of +<guilabel>Create a new frameset</guilabel> is good. Simply select +<guibutton>OK</guibutton>.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut15.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para><emphasis>Now you can see your new frame has been created. It is called +<guilabel>Text Frameset 3</guilabel></emphasis></para> + +<para><emphasis>Now we are going to create another small frame right next to this one.</emphasis></para> + +<para>Step 16: Select <menuchoice><guimenu>Insert</guimenu><guimenuitem>Text +Frame</guimenuitem></menuchoice>.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut14.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para>Again using the crosshair pointer, draw another small frame near the first one.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut14b.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para>A dialog box will appear.</para> + +<para>Step 17: Select <guilabel>Text Frameset 3</guilabel> by clicking with the &LMB;.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut15b.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para>Step 18: Select <guibutton>OK</guibutton>.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut16.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para><emphasis>What you have just done, is connect this new textframe, to the last frame you created. + To test this:</emphasis></para> + +<para>Step 19: Click once inside the leftmost frame with the &LMB;.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut18.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para>Step 20: Begin typing. You will need to type quite a bit, but +keep typing. When you run out of space in the text frame, you will see +your new text is moved immediately into your new text frame.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut19.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +</sect1> + +<sect1 id="tutorial-del-frame"> +<title>Tutorial: Deleting a frame</title> + +<para>Now we will delete an unneeded frame. We will delete +the long text frame on the right side of the page.</para> + +<para>Step 21: Place the mouse pointer over the frame border of the right +hand text frame (Remember: watch for the pointer to change), and click with the &LMB;.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut21.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para><emphasis>This selects the frame.</emphasis></para> + +<para>Step 22: Select +<menuchoice><guimenu>Frames</guimenu><guimenuitem>Delete +Frame</guimenuitem></menuchoice>.</para> + +<para><mediaobject><imageobject><imagedata format="PNG" +fileref="Tut22.png"/></imageobject> +<textobject><phrase>Screen shot</phrase></textobject></mediaobject></para> + +<para><emphasis>A small dialog box appears, checking that you really intended to delete this frame.</emphasis></para> +<para>Step 23: Select <guibutton>Delete</guibutton>.</para> + +<para><emphasis>This deletes the frame.</emphasis></para> + +</sect1> +<sect1 id="tutorial-summary"> +<title>Tutorial: Summary</title> + +<para>Hopefully this tutorial has introduced you to the most basic tasks in &kword;.</para> + +<para>At this point, you have :</para> + +<itemizedlist> +<listitem><para>Started a new document using a template</para></listitem> +<listitem><para>Added text to a frame.</para></listitem> +<listitem><para>Resized text.</para></listitem> +<listitem><para>Created, moved, resized and deleted frames.</para></listitem> +</itemizedlist> +<para>The purpose of this tutorial was not to explore every aspect of &kword;, but to +introduce you to the bare essentials. Hopefully you understand the basic manipulation +of frames. From this point, you can refer to the specific sections of the manual for +help, tips and advanced features of &kword;.</para> +</sect1> +</chapter> diff --git a/doc/kword/undl.png b/doc/kword/undl.png Binary files differnew file mode 100644 index 00000000..60113775 --- /dev/null +++ b/doc/kword/undl.png diff --git a/doc/kword/undo.png b/doc/kword/undo.png Binary files differnew file mode 100644 index 00000000..6fa539ea --- /dev/null +++ b/doc/kword/undo.png diff --git a/doc/kword/value.png b/doc/kword/value.png Binary files differnew file mode 100644 index 00000000..3cc80d13 --- /dev/null +++ b/doc/kword/value.png diff --git a/doc/kword/viewsize.png b/doc/kword/viewsize.png Binary files differnew file mode 100644 index 00000000..ac2fdc48 --- /dev/null +++ b/doc/kword/viewsize.png diff --git a/doc/kword/wbw.png b/doc/kword/wbw.png Binary files differnew file mode 100644 index 00000000..62f4daa5 --- /dev/null +++ b/doc/kword/wbw.png diff --git a/doc/kword/wpfmtpg1.png b/doc/kword/wpfmtpg1.png Binary files differnew file mode 100644 index 00000000..97710feb --- /dev/null +++ b/doc/kword/wpfmtpg1.png diff --git a/doc/kword/wpfmtpg2.png b/doc/kword/wpfmtpg2.png Binary files differnew file mode 100644 index 00000000..51ce12a1 --- /dev/null +++ b/doc/kword/wpfmtpg2.png diff --git a/doc/kword/wpfmtpg3.png b/doc/kword/wpfmtpg3.png Binary files differnew file mode 100644 index 00000000..d4e3f9e3 --- /dev/null +++ b/doc/kword/wpfmtpg3.png diff --git a/doc/kword/zoom.png b/doc/kword/zoom.png Binary files differnew file mode 100644 index 00000000..694455ec --- /dev/null +++ b/doc/kword/zoom.png diff --git a/doc/thesaurus/Makefile.am b/doc/thesaurus/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/thesaurus/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/thesaurus/index.docbook b/doc/thesaurus/index.docbook new file mode 100644 index 00000000..bd799022 --- /dev/null +++ b/doc/thesaurus/index.docbook @@ -0,0 +1,150 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kappname "&kthesaurus;"> + <!ENTITY wordnet "WordNet"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % English "INCLUDE" > <!-- change language only here --> +]> + +<book lang="&language;"> +<bookinfo> +<title>&kthesaurus;</title> + +<authorgroup> +<author> +<firstname>Daniel</firstname> +<surname>Naber</surname> +<affiliation><address><email>daniel.naber@t-online.de</email></address></affiliation> +</author> +<!-- TRANS:ROLES_OF_TRANSLATORS --> +</authorgroup> + +<date>2003-04-12</date> +<releaseinfo>0.95.00</releaseinfo> + +<copyright> +<year>2002</year> +<year>2003</year> +<holder>Daniel Naber</holder> +</copyright> + +<abstract> +<para> +&kthesaurus; lists words related to a given term and offers a user interface +to &wordnet;, a powerful lexical reference system. By default, only the +English language is supported. +</para> +</abstract> + +<keywordset> +<keyword>KDE</keyword> +<keyword>thesaurus</keyword> +<keyword>WordNet</keyword> +<keyword>synonyms</keyword> +<keyword>dictionary</keyword> +<keyword>lexicon</keyword> +<keyword>English</keyword> +<keyword>words</keyword> +</keywordset> + +</bookinfo> + + +<chapter id="thesaurus"> +<title>The Thesaurus Tab</title> + +<para>The <guilabel>Thesaurus</guilabel> tab offers a small thesaurus, +built from a subset of <link linkend="frontend">&wordnet;</link>. +The results are listed in three +categories: <guilabel>Synonyms</guilabel>, <guilabel>More General +Words</guilabel> (hypernyms), <guilabel>More Specific +Words</guilabel> (hyponyms). Synonyms are words with a very similar meaning. +They do not necessarily apply to all senses of each word, so you cannot +always replace a word with any synonym.</para> + +<para>You can double click on a word to search for its synonyms &etc;. +You can also type a word directly into the <guilabel>Search for:</guilabel> +box at the top and press +<keycap>Return</keycap>. The word which is currently visible in the +<guilabel>Replace with:</guilabel> box at the bottom is the one that will +be used if you click on <guibutton>Replace</guibutton>.</para> + +<note><para>&kthesaurus; can be used as a standalone application, but it can also be +used from other applications (like &kword;, typically by right clicking +on a word and selecting <guilabel>Show related words</guilabel>). +The <guibutton>Replace</guibutton> button will only be visible +on a word and selecting <guilabel>Show Related Words</guilabel>). +The <guibutton>Replace with:</guibutton> button will only be visible +if &kthesaurus; is called from another application.</para></note> + +<para>We have to keep the data file small so that it can be +included in &koffice; — this introduces several limitations +(compared to &wordnet;):</para> + +<itemizedlist> +<listitem><para>Only exact matches are found, ⪚ if you search for a plural +form nothing will be found.</para></listitem> +<listitem><para>Many not so common words have been removed.</para></listitem> +<listitem><para>It doesn't distinguish between parts of speech, e.g. verbs and +nouns are mixed up in the lists of words.</para></listitem> +<listitem><para>It won't separate the different meanings words can have.</para></listitem> +<listitem><para>Adjectives don't really have a <quote>more general</quote> / <quote>more specific</quote> +meaning, so one word may appear in more than one list at the same time.</para></listitem> +</itemizedlist> + +<para>On the other hand, a few words have been added (function words like <quote>if</quote> +and very few words specific to &kde;).</para> + +<para>Please do <emphasis>not</emphasis> report bugs in the thesaurus +to the &wordnet; project, but to &kde;.</para> + +</chapter> + + +<chapter id="languages"> +<title>Using languages besides English</title> + +<para>By default, only the English language is supported +in &kthesaurus;. You can check out +<ulink url="http://www.koffice.org/addons/#thesauri">the +KOffice download page</ulink> to see which other languages +are available.</para> + +</chapter> + + +<chapter id="frontend"> +<title>The &wordnet; tab</title> + +<para>The <guilabel>&wordnet;</guilabel> tab provides a user interface +to a local installation of <ulink url="http://www.cogsci.princeton.edu/~wn/">&wordnet; 1.7</ulink>. +&wordnet; is <quote>an online lexical reference +system whose design is inspired by current psycholinguistic theories +of human lexical memory.</quote> The &kthesaurus; user interface offers nearly all options +which are available on the command line. It calls the <command>wn</command> binary, +which has to be in your <envar>PATH</envar>.</para> + +<para>To learn more about &wordnet;, please see the &wordnet; <command>man</command> pages +or have a look at the <ulink url="http://www.cogsci.princeton.edu/~wn/">&wordnet; homepage</ulink>. +</para> + +</chapter> + + +<chapter id="legal"> +<title>Copyright and Licensing</title> + +<para> +&kthesaurus; and this documentation is copyrighted by Daniel Naber. +</para> + +<!-- TRANS:CREDIT_FOR_TRANSLATORS --> +&underFDL; +&underGPL; + +</chapter> + + +&documentation.index; + +</book> |