diff options
Diffstat (limited to 'tde-i18n-sv/docs/kdesdk/umbrello')
30 files changed, 3051 insertions, 0 deletions
diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/Makefile.am b/tde-i18n-sv/docs/kdesdk/umbrello/Makefile.am new file mode 100644 index 00000000000..9e41d9df652 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = sv +SUBDIRS = $(AUTODIRS) +KDE_DOCS = AUTO +KDE_MANS = AUTO diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/Makefile.in b/tde-i18n-sv/docs/kdesdk/umbrello/Makefile.in new file mode 100644 index 00000000000..f4635f385ea --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/Makefile.in @@ -0,0 +1,635 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# KDE tags expanded automatically by am_edit - $Revision: 483858 $ +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = docs/kdesdk/umbrello +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ +#>- html-recursive info-recursive install-data-recursive \ +#>- install-dvi-recursive install-exec-recursive \ +#>- install-html-recursive install-info-recursive \ +#>- install-pdf-recursive install-ps-recursive install-recursive \ +#>- installcheck-recursive installdirs-recursive pdf-recursive \ +#>- ps-recursive uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +#>+ 1 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CONF_FILES = @CONF_FILES@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +GMSGFMT = @GMSGFMT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_RPATH = @KDE_RPATH@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOPSUBDIRS = @TOPSUBDIRS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +#>- bindir = @bindir@ +#>+ 2 +DEPDIR = .deps +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +kdeinitdir = @kdeinitdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_LANG = sv +#>- SUBDIRS = $(AUTODIRS) +#>+ 1 +SUBDIRS =. pics +KDE_DOCS = AUTO +KDE_MANS = AUTO +#>- all: all-recursive +#>+ 1 +all: docs-am all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +#>- @for dep in $?; do \ +#>- case '$(am__configure_deps)' in \ +#>- *$$dep*) \ +#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ +#>- && exit 0; \ +#>- exit 1;; \ +#>- esac; \ +#>- done; \ +#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/kdesdk/umbrello/Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --gnu docs/kdesdk/umbrello/Makefile +#>+ 12 + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/kdesdk/umbrello/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdesdk/umbrello/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdesdk/umbrello/Makefile.in +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +#>- distdir: $(DISTFILES) +#>+ 1 +distdir: distdir-nls $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +#>- uninstall: uninstall-recursive +#>+ 1 +uninstall: uninstall-docs uninstall-nls uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +#>- clean: clean-recursive +#>+ 1 +clean: kde-rpo-clean clean-recursive + +#>- clean-am: clean-generic mostlyclean-am +#>+ 1 +clean-am: clean-docs clean-bcheck clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +#>- install-data-am: +#>+ 1 +install-data-am: install-docs install-nls + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic ctags \ + ctags-recursive distclean distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ + tags-recursive uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: + +#>+ 2 +KDE_DIST=installation.docbook uml_basics.docbook index.docbook credits.docbook faq.docbook code_import_and_generation.docbook index.cache.bz2 Makefile.in other_features.docbook introduction.docbook working_with_umbrello.docbook authors.docbook Makefile.am + +#>+ 24 +index.cache.bz2: $(srcdir)/index.docbook $(KDE_XSL_STYLESHEET) other_features.docbook code_import_and_generation.docbook index.docbook introduction.docbook credits.docbook working_with_umbrello.docbook faq.docbook installation.docbook uml_basics.docbook authors.docbook + @if test -n "$(MEINPROC)"; then echo $(MEINPROC) --check --cache index.cache.bz2 $(srcdir)/index.docbook; $(MEINPROC) --check --cache index.cache.bz2 $(srcdir)/index.docbook; fi + +docs-am: index.cache.bz2 + +install-docs: docs-am install-nls + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello + @if test -f index.cache.bz2; then \ + echo $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/; \ + $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/; \ + elif test -f $(srcdir)/index.cache.bz2; then \ + echo $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/; \ + $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/; \ + fi + -rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/common + $(LN_S) $(kde_libs_htmldir)/$(KDE_LANG)/common $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/common + +uninstall-docs: + -rm -rf $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello + +clean-docs: + -rm -f index.cache.bz2 + + +#>+ 13 +install-nls: + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello + @for base in other_features.docbook code_import_and_generation.docbook index.docbook introduction.docbook credits.docbook working_with_umbrello.docbook faq.docbook installation.docbook uml_basics.docbook authors.docbook ; do \ + echo $(INSTALL_DATA) $$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/$$base ;\ + $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/$$base ;\ + done + +uninstall-nls: + for base in other_features.docbook code_import_and_generation.docbook index.docbook introduction.docbook credits.docbook working_with_umbrello.docbook faq.docbook installation.docbook uml_basics.docbook authors.docbook ; do \ + rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/$$base ;\ + done + + +#>+ 5 +distdir-nls: + for file in other_features.docbook code_import_and_generation.docbook index.docbook introduction.docbook credits.docbook working_with_umbrello.docbook faq.docbook installation.docbook uml_basics.docbook authors.docbook ; do \ + cp $(srcdir)/$$file $(distdir); \ + done + +#>+ 15 +force-reedit: + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/kdesdk/umbrello/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdesdk/umbrello/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdesdk/umbrello/Makefile.in + + +#>+ 21 +clean-bcheck: + rm -f *.bchecktest.cc *.bchecktest.cc.class a.out + +bcheck: bcheck-recursive + +bcheck-am: + @for i in ; do \ + if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \ + echo "int main() {return 0;}" > $$i.bchecktest.cc ; \ + echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \ + echo "$$i"; \ + if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \ + rm -f $$i.bchecktest.cc; exit 1; \ + fi ; \ + echo "" >> $$i.bchecktest.cc.class; \ + perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \ + rm -f a.out; \ + fi ; \ + done + + +#>+ 3 +final: + $(MAKE) all-am + +#>+ 3 +final-install: + $(MAKE) install-am + +#>+ 3 +no-final: + $(MAKE) all-am + +#>+ 3 +no-final-install: + $(MAKE) install-am + +#>+ 3 +kde-rpo-clean: + -rm -f *.rpo + +#>+ 3 +nmcheck: +nmcheck-am: nmcheck diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/authors.docbook b/tde-i18n-sv/docs/kdesdk/umbrello/authors.docbook new file mode 100644 index 00000000000..3b5cbaeeecc --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/authors.docbook @@ -0,0 +1,46 @@ +<chapter id="authors"> +<title +>Upphovsmän och historik</title> +<para +>Detta projekt startades av Paul Hensgen som ett av hans universitetsprojekt. Det ursprungliga namnet på programmet var <emphasis +>UML Modeller</emphasis +>. Paul gjorde all utveckling till slutet av 2001, då programmet nådde version 1.0. </para> +<para +>Version 1.0 erbjöd redan en hel del funktioner, men efter att projektet hade granskats av Pauls universitet, kunde andra utvecklare delta, och de började ge värdefulla bidrag till <application +>UML Modeller</application +>, som byte från ett binärt filformat till en &XML;-fil, stöd för flera sorters &UML;-diagram, kodgenerering och kodimport, för att bara nämna några få. </para> +<para +>Paul var tvungen att avgå från utvecklingsgruppen sommaren 2002, men som fri och öppen programvara, fortsätter programmet förbättras och utvecklas, och underhålls av en grupp utvecklare från olika delar av världen. Projektet ändrade namn från <application +>&UML; Modeller</application +> till &umbrello; i septemer 2002. Det finns flera skäl till namnändringen, den viktigaste att bara <quote +>uml</quote +> som det var känt som, var ett alldeles för generellt namn och orsakade problem med vissa distributioner. En annan viktig orsak är att utvecklarna tycker att <application +>Umbrello</application +> är ett mycket häftigare namn. </para> +<para +>Utvecklingen av &umbrello;, samt diskussioner om i vilken riktning programmet ska utvecklas i framtida versioner, är öppen och äger rum via Internet. Om du skulle vilja bidra till projektet, tveka då inte att kontakta utvecklarna. Det finns många sätt som du kan hjälpa &umbrello; på: </para> +<itemizedlist> +<listitem +><para +>Rapportera fel eller förbättringsförslag</para +></listitem> +<listitem +><para +>Rätta fel eller lägga till funktioner</para +></listitem> +<listitem +><para +>Skriva bra dokumentation eller översätta till andra språk</para +></listitem> +<listitem +><para +>Och förstås... koda med oss!</para +></listitem> +</itemizedlist> +<para +>Som du ser, finns det många sätt som du kan bidra på. Samtliga är mycket viktiga och alla är välkomna att delta. </para> +<para +>&umbrello;-utvecklarna kan nås på <email +>uml-devel@lists.sourceforge.net</email +>. </para> +</chapter> diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/code_import_and_generation.docbook b/tde-i18n-sv/docs/kdesdk/umbrello/code_import_and_generation.docbook new file mode 100644 index 00000000000..5f232b13f98 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/code_import_and_generation.docbook @@ -0,0 +1,161 @@ +<chapter id="code-import-generation"> +<title +>Kodimport och kodgenerering</title> +<para +>&umbrello; är ett &UML;-modelleringsverktyg, och som sådant är dess huvudsakliga syfte att hjälpa dig med <emphasis +>analys och konstruktion</emphasis +> av system. För att åstadkomma övergången från konstruktion till <emphasis +>implementering</emphasis +>, tillåter &umbrello; dock att generera källkod i olika programspråk för att komma igång. Om du dessutom vill börja använda &UML; i ett projekt som redan har startat, kan &umbrello; hjälpa till att skapa en modell av systemet från källkoden genom att analysera den och importera klasserna som hittas i den. </para> +<sect1 id="code-generation"> +<title +>Kodgenerering</title> +<para +>&umbrello; kan generera källkod för diverse programspråk, baserad på din &UML;-modell för att hjälpa dig komma igång med implementeringen av projektet. Koden som skapas består av klassdeklarationer, med metoder och attribut, så att du kan <quote +>fylla i tomrummen</quote +> genom att tillhandahålla funktionerna i klassernas operationer. </para> +<para +>&umbrello; 1.2 levereras med kodgenereringsstöd för ActionScript, Ada, C++, CORBA IDL, &Java;, Javascript, <acronym +>PHP</acronym +>, Perl, Python, SQL and XML Schema. </para> +<sect2 id="generate-code"> +<title +>Generera kod</title> +<para +>För att generera kod med &umbrello;, måste du först skapa eller ladda en modell som innehåller minst en klass. När du är klar att börja skriva lite kod, välj då alternativet <guimenuitem +>Kodgenereringsguide</guimenuitem +> i menyn <guimenuitem +>Kod</guimenuitem +>, för att starta guiden som leder dig igenom kodgenereringsprocessen. </para> +<para +>Det första steget är att välja klasser, som du vill skapa källkod för. Normalt väljs alla klasser i modellen, och du kan ta bort de som du inte vill generera kod för, genom att flytta dem till listan på vänster sida. </para> +<para +>Nästa steg i guiden låter dig ändra parametrar som kodgeneratorn använder när den skriver ut koden. Följande alternativ är tillgängliga: </para> +<para> +<screenshot> +<screeninfo +>Kodgenereringsalternativ</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/generation-options.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Alternativ för kodgenereringen i &umbrello;</phrase> + </textobject> + <caption> + <para +>Alternativ för kodgenereringen i &umbrello; </para> + </caption> + </mediaobject> +</screenshot> +</para> +<sect3 id="generation-options"> +<title +>Kodgenereringsalternativ</title> +<!-- LW; to rearrange --> + +<sect4> +<title +>Kodinformationsnivå</title> +<para +>Alternativet <guilabel +>Skriv dokumenteringskommentarer även om tomma</guilabel +> instruerar kodgeneratorn att skriva ut kommentarar med stilen /** blaha */, även om kommentarblocken är tomma. Om du lagt till dokumentation i klasser, metoder eller attribut i modellen, skriver kodgeneratorn ut kommentarerna som Doxygen-dokumentation, oberoende av vad du anger här, men om du väljer det här alternativet, skriver &umbrello; ut kommentarblock för alla klasser, metoder och attribut även om det inte finns någon dokumentation i modellen, då detta är fallet bör du dokumentera klasserna senare direkt i källkoden. </para> +<para +><guilabel +>Skriv kommentarer för sektioner även om sektionen är tom</guilabel +>: &umbrello; skriver kommentarer i källkoden för att avdela de olika sektionerna i en klass. Till exempel <quote +>Public methods</quote +> eller <quote +>Attributes</quote +> innan motsvarande sektioner. Om du väljer det här alternativet, så skriver &umbrello; kommentarer för alla sektioner i klassen, även om sektionen är tom. Det skulle till exempel skriva en kommentar som lyder <quote +>Protected methods</quote +>, även om det inte finns några sådana i klassen. </para> +</sect4> +<sect4> +<title +>Kataloger</title> +<para +><guilabel +>Skriv alla filer som skapas till katalog</guilabel +>: Här ska du välja katalogen där du vill att &umbrello; ska lägga källkoden som skapas. </para> +<para +>Alternativet <guilabel +>Infoga huvudfiler från katalog</guilabel +>, låter dig infoga ett huvud i början av varje fil som genereras. Huvudfiler kan innehålla upphovsrätts- eller licensinformation, och kan innehålla variabler som utvärderas när genereringen sker. Du kan ta en titt på mallar för huvudfiler som levereras med &umbrello;, för att se hur man använder variablerna för att ersätta ditt namn eller dagens datum när genereringen sker. </para> +</sect4> +<sect4> +<title +>Överskrivningspolicy</title> +<!-- FIXME update for Umbrello 1.2's new C++ and Java code generators --> +<para +>Det här alternativet talar om för &umbrello; vad som ska ske om filen som ska skapas redan finns i destinationskatalogen. &umbrello; 1.1 <emphasis +>kan inte ändra befintliga källkodsfiler</emphasis +>, så du måste välja mellan att skriva över den befintliga filen, hoppa över att skapa just den filen, eller låta &umbrello; välja ett annat filnamn. Om du väljer alternativet att använda ett annat filnamn, lägger &umbrello; till ett suffix till filnamnet. </para> +</sect4> +<sect4> +<title +>Språk</title> +<para +>&umbrello; genererar normalt kod för språket som du har valt som aktivt språk, men du har möjlighet att ändra detta till ett annat språk med kodgenereringsguiden. </para> +</sect4> +</sect3 +><!--generation-options--> +<sect3 id="generation-wizard-generation"> +<title +>Generering med kodgenereringsguiden</title> +<para +>Det tredje och sista steget i guiden visar status för kodgenereringsprocessen. Du behöver bara klicka på knappen Generera för att få klasserna utskrivna åt dig. </para> +<para +>Observera att de alternativ som du väljer med kodgenereringsguiden bara gäller för aktuell generering. Nästa gång du kör guiden, måste du välja alla alternativ igen (din huvudkatalog, överskrivningspolicy, och så vidare). Du kan ställa in standardvärden som används av &umbrello; i avdelningen <guilabel +>Kodgenerering</guilabel +> i &umbrello;s inställningar, tillgängliga via <menuchoice +><guimenu +>Inställningar</guimenu +><guimenuitem +>Anpassa &umbrello;...</guimenuitem +></menuchoice +>. </para> +<para +>Om du har ställt in kodgenereringsalternativ till riktiga inställningar, och vill skapa lite kod direkt utan att gå via guiden, kan du välja <guimenuitem +>Generera all kod</guimenuitem +> i menyn Kod. Detta genererar kod för alla klasser i modellen med nuvarande inställningar (inklusive utdatakatalog och överskrivningspolicy, så använd det med försiktighet). </para> +</sect3> +</sect2 +><!--generate-code--> +</sect1 +> <!--code-generation--> +<sect1 id="code-import"> +<title +>Kodimport</title> +<para +>&umbrello; kan importera källkod från befintliga projekt för att hjälpa dig bygga modeller av system. &umbrello; 1.2 stöder bara C++ källkod, men andra språk bör finnas tillgängliga i framtida versioner. </para> +<para +>För att importera klasser till modellen, välj alternativet <guimenuitem +>Importera klasser...</guimenuitem +> i menyn <guimenu +>Kod</guimenu +>. Välj filerna som innehåller C++ klassdeklarationer i fildialogrutan och tryck på Ok. Klasserna importeras, och du hittar dem som en del av modellen i trädvyn. Observera att &umbrello; inte skapar något sorts diagram för att visa klasserna, de importeras bara till modellen så att du senare kan använda dem i valfritt diagram. </para> +<para> +<screenshot> +<screeninfo +>Kodimport</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/code-import.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Meny för att importera källkod till &umbrello;</phrase> + </textobject> + <caption> + <para +>Meny för att importera källkod till &umbrello; </para> + </caption> + </mediaobject> +</screenshot> +</para> +</sect1> +</chapter +> <!--code-import-generation--> diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/credits.docbook b/tde-i18n-sv/docs/kdesdk/umbrello/credits.docbook new file mode 100644 index 00000000000..b3cba9b2fbb --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/credits.docbook @@ -0,0 +1,11 @@ +<chapter id="copyright"> +<title +>Copyright</title> + +<para +>Copyright 2001, Paul Hensgen</para> +<para +>Copyright 2002, 2003, &umbrello;-utvecklarna. Se <ulink url="http://uml.sf.net/developers.php" +>http://uml.sf.net/developers.php</ulink +> för mer information</para> +&underFDL; &underGPL; </chapter> diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/faq.docbook b/tde-i18n-sv/docs/kdesdk/umbrello/faq.docbook new file mode 100644 index 00000000000..ca595292b84 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/faq.docbook @@ -0,0 +1,45 @@ +<chapter id="faq"> +<title +>Vanliga frågor</title> +<qandaset> + +<qandaentry> +<question> +<para +>Det saknas &UML;-ikoner i verktygsraden. Var finns de?</para> +</question> +<answer> +<para +>Du har troligen inte installerat &umbrello; på ett riktigt sätt, och ikonerna kan inte hittas.</para> +<para +>Om du installerade &umbrello; från ett förkompilerat binärpaket, kontakta paketeraren och informera om detta, så att paketet kan rättas. Om du installerade från källkod, skickade du förmodligen inte rätt argument till <option +>--prefix</option +> för <command +>configure</command +>. Läs installationskapitlet i detta dokument. </para> +</answer> +</qandaentry> + +<qandaentry> +<question> +<para +>Jag har en annan fråga som inte besvaras av denna dokumentation. Var kan jag hitta ytterligare information?</para> +</question> +<answer> +<para +>Om du har en fråga om användning av &umbrello; eller om &UML; i allmänhet, kan du prenumerera och skriva e-post till &umbrello;s användarlista på <email +>uml-user@lists.sourceforge.net</email +>. </para> +<para +>Om du har en fråga om &umbrello;s utveckling, kan du kontakta utvecklarna direkt genom att prenumerera och skicka e-post till &umbrello;s utvecklingslista på <email +>uml-devel@lists.sourceforge.net</email +>. </para> +<para +>Ytterligare information och kontaktadresser, samt arkiv för e-postlistor kan hittas på <ulink url="http://uml.sf.net" +>Umbrellos hemsida, http://uml.sf.net</ulink +>. </para> +</answer> +</qandaentry> + +</qandaset> +</chapter> diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/index.cache.bz2 b/tde-i18n-sv/docs/kdesdk/umbrello/index.cache.bz2 Binary files differnew file mode 100644 index 00000000000..3a553a23619 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/index.cache.bz2 diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/index.docbook b/tde-i18n-sv/docs/kdesdk/umbrello/index.docbook new file mode 100644 index 00000000000..a96ad2aed35 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/index.docbook @@ -0,0 +1,85 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" + "dtd/kdex.dtd" [ + <!ENTITY umbrello "<application +>Umbrello &UML; Modeller</application +>"> + <!ENTITY kappname "&umbrello;"> + <!ENTITY packagename "kdesdk"> + <!ENTITY UML "<acronym +>UML</acronym +>"> + <!ENTITY introduction-chapter SYSTEM "introduction.docbook"> + <!ENTITY uml-basics-chapter SYSTEM "uml_basics.docbook"> + <!ENTITY working-with-umbrello-chapter SYSTEM "working_with_umbrello.docbook"> + <!ENTITY code-import-and-generation-chapter SYSTEM "code_import_and_generation.docbook"> + <!ENTITY other-features-chapter SYSTEM "other_features.docbook"> + <!ENTITY authors-chapter SYSTEM "authors.docbook"> + <!ENTITY credits-chapter SYSTEM "credits.docbook"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % Swedish "INCLUDE" +><!-- change language only here --> + <!-- Do not define any other entities; instead, use the entities + from kde-genent.entities and $LANG/user.entities. --> +]> + +<book id="Umbrello" lang="&language;"> +<bookinfo> +<title +>Handbok &umbrello;</title> + +<authorgroup> +<corpauthor +>&umbrello;-utvecklarna</corpauthor> +</authorgroup> + +<copyright> +<year +>2001</year> +<holder +>Paul Hensgen</holder> +</copyright> +<copyright> +<year +>2002, 2003</year> +<holder +>&umbrello;-utvecklarna</holder> +</copyright> + + +<date +>2003-10-15</date> +<releaseinfo +>1.2</releaseinfo> + +<abstract> +<para +>&umbrello; hjälper till med utvecklingsprocessen för programvara genom att använda industristandarden Unified Modelling Language (&UML;) för att göra det möjligt att skapa diagram för att konstruera och dokumentera system. </para> +</abstract> + +<keywordset> +<keyword +>KDE</keyword> +<keyword +>UML</keyword> +<keyword +>modellering</keyword> +<keyword +>diagram</keyword> +<keyword +>programvaruutveckling</keyword> +<keyword +>utveckling</keyword> +</keywordset> + +</bookinfo> + +&introduction-chapter; +¨-basics-chapter; +&working-with-umbrello-chapter; +&code-import-and-generation-chapter; +&other-features-chapter; +&authors-chapter; +&credits-chapter; + +</book> diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/installation.docbook b/tde-i18n-sv/docs/kdesdk/umbrello/installation.docbook new file mode 100644 index 00000000000..e41216cc656 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/installation.docbook @@ -0,0 +1,115 @@ +<appendix id="installation"> +<title +>Installation</title> + +<sect1 id="general_instructions"> +<title +>Allmänna instruktioner</title> +<para +>Det enklaste sättet att installera &umbrello; är att hämta ett förkompilerat binärpaket (rpm, deb) för ditt system. Om du föredrar att kompilera program själv, eller kör ett system där det inte finns binärpaket, kan du ladda ner källkoden och följa instruktionerna för installation från källkod. </para> + +<!-- LW: Removing, but leaving intact. No point having our translators +work on this, it's largely irrelevant to apps in KDE releases, but +umbrello developers might want to make a standalone release before 3.2 +is done --> + + +<!-- +<para> + +The Umbrello developers only release source packages of the program, and these source packages are +the only ones we can officially support. However, +FIXME I officially support the packages I make +We understand that for many users it is difficult to +install a program from sources, so we try to build pre-compiled packages for the systems/distributions +we have access to. +If you want to install Umbrello from a binary package +you can check if there is a pre-compiled package available for your platform at +<ulink url="http://uml.sourceforge.net" +>Umbrello's home page</ulink +>. +There we will publish the packages we can make ourselves, as well as packages made by 3rd parties for +the systems we do not have access to. +</para> + +<para> +If you can make a binary package for a distribution for which there are currently no packages available +at our site, please consider contacting the &umbrello; developers and contributing your package so that +other users can benefit from it. +</para +> --> + +</sect1> + +<sect1 id="binary_installation"> +<title +>Installation av binärpaket</title> +<para +>För att installera Umbrello från ett förkompilerat paket, använd pakethanteringsprogrammet som levereras med ditt system. Du kan också anropa pakethanteraren direkt från kommandoraden. För att till exempel installera ett deb-paket, flytta dig till katalogen där du laddade ner filen, och skriv in följande kommando: <screen width="40" +><prompt +>% </prompt +><userinput +>dpkg -i umbrello-1.1-i386.deb</userinput +> +</screen> +</para> +<para +>För RPM-paket, ska följande kommando skrivas in <screen width="40" +><prompt +>% </prompt +><userinput +>rpm -i umbrello-1.1-i386.rpm</userinput +> +</screen> +</para> +<para +>För övriga system, titta i dokumentationen som tillhandahålls med systemet. </para> +</sect1> + +<sect1 id="source_installation"> +<title +>Installation från källkod</title> +&install.compile.documentation; </sect1> + + +<sect1 id="running_program"> +<title +>Starta programmet</title> +<para +>När du väl har installerat &umbrello;, kan du köra det från vilken kommandorad som helst, genom att skriva: <screen +><prompt +>% </prompt +><userinput +><command +>umbrello</command +></userinput +> +</screen> +</para> +<para +>Eller genom att välja motsvarande alternativ i KDE-menyn. Programmet finns under menyn <guimenu +>Utveckling</guimenu +> som <emphasis +>Umbrello UML-modellering</emphasis +>. </para> + +<screenshot> +<screeninfo +>&umbrello;s huvudfönster</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/umbrello-main-screen.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Huvudfönstret i &umbrello;</phrase> + </textobject> + <caption> + <para +>Huvudfönstret i &umbrello; </para> + </caption> + </mediaobject> +</screenshot> + +</sect1> +</appendix> diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/introduction.docbook b/tde-i18n-sv/docs/kdesdk/umbrello/introduction.docbook new file mode 100644 index 00000000000..29aa6bb1676 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/introduction.docbook @@ -0,0 +1,57 @@ +<chapter id="introduction"> +<title +>Inledning</title> + +<para +>&umbrello; är ett &UML;-diagramverktyg som stöder dig i utvecklingsprocessen av programvara. I synnerhet under analys- och konstruktionsfaserna av processen, hjälper &umbrello; dig att skapa en produkt med hög kvalitet. &UML; kan också användas för att dokumentera programvarukonstruktioner för att hjälpa dig och dina medutvecklare. </para> +<para +>Att ha en bra modell av programvaran är det bästa sättet att kommunicera med andra utvecklare som arbetar med projektet och med kunder. En bra modell är ytterst viktig för medelstora och stora projekt, men är också mycket användbar för små. Även om du arbetar på ett litet enmansprojekt, har du nytta av en bra modell, eftersom den ger dig en överblick, som hjälper dig att koda rätt från början. </para> +<para +>&UML; är ett diagramspråk som används för att beskriva sådana modeller. Du kan representera dina idéer i &UML; med olika sorters diagram. &umbrello; 1.2 stöder följande typer: </para> +<itemizedlist> +<listitem +><para +>Klassdiagram</para +></listitem> +<listitem +><para +>Sekvensdiagram</para +></listitem> +<listitem +><para +>Samarbetsdiagram</para +></listitem> +<listitem +><para +>Användningsfallsdiagram</para +></listitem> +<listitem +><para +>Tillståndsdiagram</para +></listitem> +<listitem +><para +>Aktivitetsdiagram</para +></listitem> +<listitem +><para +>Komponentdiagram</para +></listitem> +<listitem +><para +>Utplaceringsdiagram</para +></listitem> +</itemizedlist> +<para +>Mer information om &UML; finns på <acronym +>OMG</acronym +>:s webbplats, <ulink url="http://www.omg.org" +>http://www.omg.org</ulink +>, de som skapade &UML;-standarden. </para> +<para +>Vi hoppas att du trivs med &umbrello;, och att det hjälper dig att skapa programvara med hög kvalitet. &umbrello; är ett fritt verktyg, och det enda som vi ber dig är att rapportera eventuella fel, problem eller förslag till &umbrello;s utvecklare på <email +>uml-devel@lists.sourceforge.net</email +> eller <ulink url="http://bugs.kde.org" +>http://bugs.kde.org</ulink +>. </para> +</chapter> diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/other_features.docbook b/tde-i18n-sv/docs/kdesdk/umbrello/other_features.docbook new file mode 100644 index 00000000000..33b523ee536 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/other_features.docbook @@ -0,0 +1,76 @@ +<chapter id="other-features"> +<title +>Övriga funktioner</title> +<sect1 +> +<title +>Övriga funktioner i &umbrello;</title> +<para +>Det här kapitlet förklarar kortfattat några andra funktioner som &umbrello; erbjuder.</para> +<sect2 id="copying-as-png"> +<title +>Kopiera objekt som PNG-bilder</title> +<para +>Förutom att erbjuda de normala funktionerna för att kopiera, klippa ut och klistra in, som man kan förvänta sig för att kopiera objekt mellan olika diagram, kan &umbrello; kopiera objekt som PNG-bilder, så att man kan infoga dem i vilket annat typ av dokument som helst. Man behöver inte göra något särskilt för att använda den här funktionen, markera bara ett objekt i ett diagram (klass, aktör, etc.) och kopiera det (<keycombo +>&Ctrl;<keycap +>C</keycap +></keycombo +>, eller använd menyn), öppna sedan ett &kword;-dokument (eller något annat program där bilder kan klistras in) och välj <guimenuitem +>Klistra in</guimenuitem +>. Detta är en utmärkt funktion för att exportera delar av diagram som enkla bilder. </para> +</sect2> +<sect2 id="export-as-png"> +<title +>Exportera till en bild</title> +<para +>Man kan också exportera ett fullständigt diagram som en bild. Det enda man måste göra är att välja diagrammet som ska exporteras, och därefter alternativet <guimenuitem +>Exportera som bild...</guimenuitem +> i menyn <guimenu +>Diagram</guimenu +>. </para> +</sect2> +<sect2 id="printing"> +<title +>Skriva ut</title> +<para +>&umbrello; tillåter att enskilda diagram skrivs ut. Tryck på knappen <guiicon +>Skriv ut</guiicon +> i programverktygsraden eller välj alternativet <guimenuitem +>Skriv ut</guimenuitem +> i menyn <guimenu +>Arkiv</guimenu +>, så visas &kde;:s standardutskriftsdialogruta där diagram kan skrivas ut. </para> +</sect2> +<sect2 id="logical-folders"> +<title +>Logiska mappar</title> +<para +>För att organisera en modell på ett bättre sätt, särskilt för större projekt, kan man skapa logiska mappar i trädvyn. Välj bara alternativet <menuchoice +><guimenu +>Nytt</guimenu +><guimenuitem +>Mapp</guimenuitem +></menuchoice +> i den sammanhangsberoende menyn i standardmappen under trädvyn, för att skapa dem. Mappar kan finnas i varandra, och man kan flytta omkring objekt genom att dra dem från en mapp till och släppa dem i en annan. </para> + +<screenshot> +<screeninfo +>Organisera din modell med mappar</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/folders.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Organisera en modell med logiska mappar i &umbrello;</phrase> + </textobject> + <caption> + <para +>Organisera en modell med logiska mappar i &umbrello; </para> + </caption> + </mediaobject> +</screenshot> + +</sect2> +</sect1> +</chapter> diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/Makefile.am b/tde-i18n-sv/docs/kdesdk/umbrello/pics/Makefile.am new file mode 100644 index 00000000000..2c188de5870 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = sv +SUBDIRS = $(AUTODIRS) +KDE_DOCS = umbrello/pics +KDE_MANS = AUTO diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/Makefile.in b/tde-i18n-sv/docs/kdesdk/umbrello/pics/Makefile.in new file mode 100644 index 00000000000..e8596a3ab0c --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/Makefile.in @@ -0,0 +1,613 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# KDE tags expanded automatically by am_edit - $Revision: 483858 $ +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = docs/kdesdk/umbrello/pics +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ +#>- html-recursive info-recursive install-data-recursive \ +#>- install-dvi-recursive install-exec-recursive \ +#>- install-html-recursive install-info-recursive \ +#>- install-pdf-recursive install-ps-recursive install-recursive \ +#>- installcheck-recursive installdirs-recursive pdf-recursive \ +#>- ps-recursive uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +#>+ 1 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CONF_FILES = @CONF_FILES@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +GMSGFMT = @GMSGFMT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_RPATH = @KDE_RPATH@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOPSUBDIRS = @TOPSUBDIRS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +#>- bindir = @bindir@ +#>+ 2 +DEPDIR = .deps +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +kdeinitdir = @kdeinitdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_LANG = sv +#>- SUBDIRS = $(AUTODIRS) +#>+ 1 +SUBDIRS =. +KDE_DOCS = umbrello/pics +KDE_MANS = AUTO +#>- all: all-recursive +#>+ 1 +all: docs-am all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +#>- @for dep in $?; do \ +#>- case '$(am__configure_deps)' in \ +#>- *$$dep*) \ +#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ +#>- && exit 0; \ +#>- exit 1;; \ +#>- esac; \ +#>- done; \ +#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/kdesdk/umbrello/pics/Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --gnu docs/kdesdk/umbrello/pics/Makefile +#>+ 12 + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/kdesdk/umbrello/pics/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdesdk/umbrello/pics/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdesdk/umbrello/pics/Makefile.in +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +#>- distdir: $(DISTFILES) +#>+ 1 +distdir: distdir-nls $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +#>- uninstall: uninstall-recursive +#>+ 1 +uninstall: uninstall-nls uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +#>- clean: clean-recursive +#>+ 1 +clean: kde-rpo-clean clean-recursive + +#>- clean-am: clean-generic mostlyclean-am +#>+ 1 +clean-am: clean-bcheck clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +#>- install-data-am: +#>+ 1 +install-data-am: install-nls + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic ctags \ + ctags-recursive distclean distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ + tags-recursive uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: + +#>+ 2 +KDE_DIST=class.png code-import.png association.png state-diagram.png activity-diagram.png generation-options.png aggregation.png use-case-diagram.png sequence-diagram.png folders.png class-diagram.png umbrello-ui.png generalization.png collaboration-diagram.png Makefile.in composition.png Makefile.am + +#>+ 2 +docs-am: sequence-diagram.png umbrello-ui.png generalization.png aggregation.png composition.png association.png use-case-diagram.png class-diagram.png generation-options.png state-diagram.png folders.png activity-diagram.png collaboration-diagram.png code-import.png class.png + +#>+ 13 +install-nls: + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/pics + @for base in sequence-diagram.png umbrello-ui.png generalization.png aggregation.png composition.png association.png use-case-diagram.png class-diagram.png generation-options.png state-diagram.png folders.png activity-diagram.png collaboration-diagram.png code-import.png class.png ; do \ + echo $(INSTALL_DATA) $$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/pics/$$base ;\ + $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/pics/$$base ;\ + done + +uninstall-nls: + for base in sequence-diagram.png umbrello-ui.png generalization.png aggregation.png composition.png association.png use-case-diagram.png class-diagram.png generation-options.png state-diagram.png folders.png activity-diagram.png collaboration-diagram.png code-import.png class.png ; do \ + rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/pics/$$base ;\ + done + + +#>+ 5 +distdir-nls: + for file in sequence-diagram.png umbrello-ui.png generalization.png aggregation.png composition.png association.png use-case-diagram.png class-diagram.png generation-options.png state-diagram.png folders.png activity-diagram.png collaboration-diagram.png code-import.png class.png ; do \ + cp $(srcdir)/$$file $(distdir); \ + done + +#>+ 15 +force-reedit: + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/kdesdk/umbrello/pics/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdesdk/umbrello/pics/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdesdk/umbrello/pics/Makefile.in + + +#>+ 21 +clean-bcheck: + rm -f *.bchecktest.cc *.bchecktest.cc.class a.out + +bcheck: bcheck-recursive + +bcheck-am: + @for i in ; do \ + if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \ + echo "int main() {return 0;}" > $$i.bchecktest.cc ; \ + echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \ + echo "$$i"; \ + if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \ + rm -f $$i.bchecktest.cc; exit 1; \ + fi ; \ + echo "" >> $$i.bchecktest.cc.class; \ + perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \ + rm -f a.out; \ + fi ; \ + done + + +#>+ 3 +final: + $(MAKE) all-am + +#>+ 3 +final-install: + $(MAKE) install-am + +#>+ 3 +no-final: + $(MAKE) all-am + +#>+ 3 +no-final-install: + $(MAKE) install-am + +#>+ 3 +kde-rpo-clean: + -rm -f *.rpo + +#>+ 3 +nmcheck: +nmcheck-am: nmcheck diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/activity-diagram.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/activity-diagram.png Binary files differnew file mode 100644 index 00000000000..1ad2a5d82f8 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/activity-diagram.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/aggregation.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/aggregation.png Binary files differnew file mode 100644 index 00000000000..43460106db6 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/aggregation.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/association.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/association.png Binary files differnew file mode 100644 index 00000000000..5dfe14cf335 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/association.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/class-diagram.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/class-diagram.png Binary files differnew file mode 100644 index 00000000000..0950d0a69b8 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/class-diagram.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/class.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/class.png Binary files differnew file mode 100644 index 00000000000..a6b6cb740d8 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/class.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/code-import.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/code-import.png Binary files differnew file mode 100644 index 00000000000..ace4ced0a24 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/code-import.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/collaboration-diagram.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/collaboration-diagram.png Binary files differnew file mode 100644 index 00000000000..7c8115163a0 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/collaboration-diagram.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/composition.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/composition.png Binary files differnew file mode 100644 index 00000000000..8cd5fb440df --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/composition.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/folders.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/folders.png Binary files differnew file mode 100644 index 00000000000..5bf17f497fc --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/folders.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/generalization.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/generalization.png Binary files differnew file mode 100644 index 00000000000..5bde8902f99 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/generalization.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/generation-options.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/generation-options.png Binary files differnew file mode 100644 index 00000000000..6322593dcbc --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/generation-options.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/sequence-diagram.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/sequence-diagram.png Binary files differnew file mode 100644 index 00000000000..acc7b39f501 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/sequence-diagram.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/state-diagram.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/state-diagram.png Binary files differnew file mode 100644 index 00000000000..5f12ac77ebb --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/state-diagram.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/umbrello-ui.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/umbrello-ui.png Binary files differnew file mode 100644 index 00000000000..68f631bbb82 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/umbrello-ui.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/pics/use-case-diagram.png b/tde-i18n-sv/docs/kdesdk/umbrello/pics/use-case-diagram.png Binary files differnew file mode 100644 index 00000000000..62ca7228a4b --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/pics/use-case-diagram.png diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/uml_basics.docbook b/tde-i18n-sv/docs/kdesdk/umbrello/uml_basics.docbook new file mode 100644 index 00000000000..719dbab3aee --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/uml_basics.docbook @@ -0,0 +1,780 @@ +<chapter id="uml-basics"> +<title +>Grundläggande &UML;</title> +<sect1 id="about-uml"> +<title +>Om &UML;</title> +<para +>Det här kapitlet ger en snabb översikt av grunderna i &UML;. Kom ihåg att det här inte är en heltäckande &UML;-handledning, utan bara en kortfattad introduktion till &UML; som kan läsas som &UML;-handledning. Om du skulle vilja lära dig mer om Unified Modelling Language, eller om allmän analys och konstruktion av programvara, hänvisas du till några av de många böcker som är tillgängliga i ämnet. Det finns också många handledningar på Internet, som du kan använda som startpunkt. </para> + +<para +>Unified Modelling Language (&UML;) är ett diagrambaserat språk eller notation för att specificera, visualisera och dokumentera modeller av objektorienterad programvara. &UML; är inte en utvecklingsmetod, vilket betyder att det inte talar om för dig vad du ska göra först och vad du ska göra därefter, eller hur du ska konstruera system, men det hjälper till att visualisera konstruktionen och kommunicera med andra. &UML; styrs av Object Management Group (<acronym +>OMG</acronym +>), och är industristandard för att beskriva modeller av programvara. </para> +<para +>&UML; är konstruerat för design av objektorienterad programvara, och har begränsad användning för andra programmeringsparadigmer. </para> +<para +>&UML; är uppbyggt av många modelleringselement som representerar olika delar av programsystemet. &UML;-elementen används för att skapa diagram, som representerar en viss del, eller en synvinkel av systemet. Följande sorters diagram stöds av &umbrello;: </para> + +<itemizedlist> + +<listitem +><para +><emphasis +><link linkend="use-case-diagram" +>Användningsfallsdiagram</link +></emphasis +> visar aktörer (människor eller andra användare av systemet), användningsfall (scenarion då de använder systemet), och deras samband</para +> </listitem> + +<listitem +><para +><emphasis +><link linkend="class-diagram" +>Klassdiagram</link +></emphasis +> visar klasser, och sambanden mellan dem</para +> </listitem> + +<listitem +><para +><emphasis +><link linkend="sequence-diagram" +>Sekvensdiagram</link +></emphasis +> visar objekt och deras samband, med betoning på utbyte av meddelanden mellan objekt i kronologisk ordning</para +> </listitem> + +<listitem +><para +><emphasis +><link linkend="collaboration-diagram" +>Samarbetsdiagram</link +></emphasis +> visar objekt och deras samband, med betoning på objekten som deltar i utbytet av meddelanden</para> +</listitem> + +<listitem +><para +><emphasis +><link linkend="state-diagram" +>Tillståndsdiagram</link +></emphasis +> visar tillstånd, tillståndsändringar och händelser för ett objekt eller en del av systemet</para +> </listitem> + +<listitem +><para +><emphasis +><link linkend="activity-diagram" +>Aktivitetsdiagram</link +></emphasis +> visar aktiviteter, tillstånd och tillståndsändringar hos objekt och händelser som sker i någon del av systemet</para +></listitem> + +<listitem +><para +><emphasis +><link linkend="component-diagram" +>Komponentdiagram</link +></emphasis +> visar programmeringskomponenter på hög nivå (som Kparts eller Java Beans).</para +></listitem> + +<listitem +><para +><emphasis +><link linkend="deployment-diagram" +>Utplaceringsdiagram</link +></emphasis +> visar komponenternas instanser och deras inbördes förhållanden.</para +></listitem +> + +</itemizedlist> + +</sect1 +> <!-- about-uml --> + +<sect1 id="uml-elements" +> +<title +>&UML;-element</title> +<sect2 id="use-case-diagram"> +<title +>Användningsfallsdiagram</title> +<para +>Användningsfallsdiagram beskriver samband och beroenden mellan en grupp <emphasis +>användningsfall</emphasis +> och aktören som deltar i processen.</para> +<para +>Det är viktigt att observera att användningsfallsdiagram inte är lämpade att representera konstruktionen, och kan inte beskriva systemets innanmäte. Användningsfallsdiagram är avsedda att möjliggöra kommunikation med framtida användare av systemet, och med kunden. De är till särskild hjälp för att avgöra vilka funktioner som krävs att systemet ska ha. Med andra ord talar användningsfallsdiagram om <emphasis +>vad</emphasis +> systemet ska göra, men de anger inte — och kan inte ange — <emphasis +>hur</emphasis +> detta ska åstadkommas.</para> +<para> +<screenshot> +<screeninfo +>Ett exempel på användningsfallsdiagram.</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/use-case-diagram.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello; som visar ett användningsfallsdiagram</phrase> + </textobject> + <caption> + <para +>&umbrello; som visar ett användningsfallsdiagram </para> + </caption> + </mediaobject> +</screenshot> +</para> +<sect3 id="use-case"> +<title +>Användningsfall</title> +<para +>Ett <emphasis +>användningsfall</emphasis +> beskriver — från aktörernas synvinkel — en samling aktiviteter i ett system, som ger upphov till ett konkret, påtagligt resultat.</para> +<para +>Användningsfall är beskrivningar av typisk växelverkan mellan användarna av ett system och systemet själv. De representerar systemets yttre gränssnitt, och anger en sorts krav på vad systemet ska göra (kom ihåg, bara vad, inte hur). </para> +<para +>Vid arbete med användningsfall, är det viktigt att komma ihåg några enkla regler: <itemizedlist> + <listitem +><para +>Varje användningsfall hör ihop med minst en aktör</para +></listitem> + <listitem +><para +>Varje användningsfall har ett ursprung (dvs. en aktör)</para +></listitem> + <listitem +><para +>Varje användningfall leder till ett relevant resultat (ett resultat med <quote +>affärsvärde</quote +>).</para> + </listitem> + </itemizedlist> +</para> +<para +>Användningfall kan också ha samband med andra användningfall. De tre mest typiska sorters samband mellan användningfall är:</para> +<itemizedlist> +<listitem +><para +><emphasis +><<include>></emphasis +> (innehåller), vilket anger att användningsfallet äger rum <emphasis +>inne i</emphasis +> ett annat användningsfall</para +></listitem> +<listitem +><para +><emphasis +><<extends>></emphasis +> (utökar), vilket anger att i vissa fall, eller vid något tillfälle (som kallas en utökningspunkt), kommer ett användningsfall att utökas av ett annat.</para +></listitem> +<listitem +><para +><emphasis +>Generalisering</emphasis +> anger att ett användningfall ärver egenskaperna för <quote +>super</quote +>-användningsfallet, och kan överskrida några av dem, eller lägga till nya på samma sätt som arv mellan klasser. </para> +</listitem> +</itemizedlist> +</sect3> +<sect3 id="actor"> +<title +>Aktör</title> +<para +>En aktör är en extern enhet (utanför systemet) som växelverkar med systemet genom att delta i (och ofta inleda) ett användningsfall. Aktörer kan i verkligheten vara människor (till exempel användare av systemet), andra datorsystem eller yttre händelser. </para> +<para +>Aktörer representerar inte <emphasis +>fysiska</emphasis +> människor eller system, utan deras <emphasis +>roll</emphasis +>. Det betyder att när en person växelverkar med systemet på olika sätt (antar olika roller) representeras han med flera aktörer. En person som till exempel ger kundstöd via telefon och tar emot beställningar från kunden till systemet, skulle representeras av aktören <quote +>kundstödspersonal</quote +> och aktören <quote +>försäljningsassistens</quote +>. </para> +</sect3> +<sect3 id="use-case-description"> +<title +>Beskrivning av användningsfall</title> +<para +>En beskrivning av ett användningsfall är en textbaserad berättelse om användningsfallet. Det är ofta i form av en anteckning eller ett dokument som på något sätt är länkat till användningsfallet, och förklarar processerna eller aktiviteterna som äger rum i användningsfallet. </para> +</sect3> +</sect2 +> <!-- use-case-diagram --> + +<sect2 id="class-diagram"> +<title +>Klassdiagram</title> +<para +>Klassdiagram visar de olika klasserna som bygger upp ett system och hur de relateras till varandra. Klassdiagram sägs vara <quote +>statiska</quote +> diagram, eftersom de visar klasserna, tillsammans med deras metoder och attribut, samt det statiska förhållandet mellan dem: vilka klasser som <quote +>känner till</quote +> andra klasser, eller vilka klasser som <quote +>är en del</quote +> av andra klasser, men visar inte metodanrop mellan dem. </para> +<para> +<screenshot> +<screeninfo +>Ett exempel på ett klassdiagram</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/class-diagram.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello; som visar ett klassdiagram</phrase> + </textobject> + <caption> + <para +>&umbrello; som visar ett klassdiagram </para> + </caption> + </mediaobject> +</screenshot> +</para> +<sect3 id="class"> +<title +>Klass</title> +<para +>En klass definierar attributen och metoderna för en mängd objekt. Alla objekt av klassen (instanser av klassen) delar samma beteende, och har samma mängd attribut (varje objekt har sin egen uppsättning). Termen <quote +>typ</quote +> används ibland istället för klass, men det är viktigt att nämna att de två inte är samma sak, och att typ är en mer generell term. </para> +<para +>Klasser i &UML; representeras av rektanglar, med klassens namn, och kan också visa klassens attribut och operationer i två <quote +>fack</quote +> inne i rektangeln. </para> +<para> +<screenshot> +<screeninfo +>En klass i &UML;</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/class.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Visuell representation av en klass i &UML;</phrase> + </textobject> + <caption> + <para +>Visuell representation av en klass i &UML; </para> + </caption> + </mediaobject> +</screenshot> +</para> +<sect4 id="attribute"> +<title +>Attribut</title> +<para +>Attribut i &UML; visas åtminstone med sina namn, och kan också visas med typ, ursprungligt värde och andra egenskaper. Attribut kan också visas med synlighet: </para> +<itemizedlist> +<listitem +><para +><literal +>+</literal +> Betyder <emphasis +>öppna</emphasis +> (public) attribut</para +></listitem> +<listitem +><para +><literal +>#</literal +> Betyder <emphasis +>skyddade</emphasis +> (protected) attribut</para +></listitem> +<listitem +><para +><literal +>-</literal +> Betyder <emphasis +>privata</emphasis +> (private) attribut</para +></listitem> +</itemizedlist> +</sect4> +<sect4 id="operation"> +<title +>Operationer</title> +<para +>Operationer (metoder) visas också åtminstone med sina namn, och kan också visas med parametrar och returtyper. Operationer, precis som attribut, kan visas med sin synlighet: <itemizedlist> +<listitem +><para +><literal +>+</literal +> Betyder <emphasis +>öppna</emphasis +> (public) operationer</para +></listitem> +<listitem +><para +><literal +>#</literal +> Betyder <emphasis +>skyddade</emphasis +> (protected) operationer</para +></listitem> +<listitem +><para +><literal +>-</literal +> Betyder <emphasis +>privata</emphasis +> (private) operationer</para +></listitem> +</itemizedlist> +</para> +</sect4> + +<sect4 id="templates"> +<title +>Mallar</title> +<para +>Klasser kan ha mallar, ett värde som används för en ospecificerad klass eller typ. Malltypen anges när klassen initieras (dvs. ett objekt skapas). Mallar finns i modern C++ och kommer att introduceras i Java 1.5, där de kallas Generics. </para> +</sect4> +</sect3> + +<sect3 id="class-associations"> +<title +>Klassassociationer</title> +<para +>Klasser kan relateras till (associeras med) varandra på olika sätt:</para> +<sect4 id="generalization"> +<title +>Generalisering</title> +<para +>Arv är ett av de grundläggande koncepten i objektorienterad programmering, där en klass <quote +>erhåller</quote +> alla attribut och operationer från klassen den ärver från, och kan överskrida/ändra några av dem, samt lägga till fler egna attribut och operationer.</para> +<para +>En <emphasis +>generalisering</emphasis +> mellan två klasser i &UML;, placerar dem i en hierarki som representerar arvkonceptet för en härledd klass från en basklass. Generaliseringar i &UML; representeras med en linje som binder samman de två klasserna, med en pil på basklassens sida. <screenshot> +<screeninfo +>Generalisering</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/generalization.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Visuell representation av en generalisering i &UML;</phrase> + </textobject> + <caption> + <para +>Visuell representation av en generalisering i &UML; </para> + </caption> + </mediaobject> +</screenshot> +</para> +</sect4> + +<sect4 id="uml-associations"> +<title +>Associationer</title> +<para +>En association representerar ett samband mellan klasser, och ger den allmänna semantiken och strukturen för många typer av <quote +>förbindelse</quote +> mellan objekt.</para> +<para +>Associationer är mekanismen som tillåter att objekt kommunicerar med varandra. De beskriver förbindelsen mellan olika klasser (förbindelsen mellan de verkliga objekten kallas objektförbindelse, eller <emphasis +>länk</emphasis +>). </para> +<para +>Associationer kan ha en roll, som anger associationens syfte, och kan vara enkelriktade eller ömsesidiga (anger om två objekt som deltar i sambandet kan skicka meddelanden till det andra, eller om bara ett av dem känner till det andra). Varje ända av associationen har också ett mångfaldsvärde, som bestämmer hur många objekt på denna sida av associationen som kan relatera till ett objekt på andra sidan. </para> +<para +>Associationer i &UML; representeras som linjer som binder samman klasserna som deltar i sambandet, och kan också visa rollen och mångfalden för var och en av deltagarna. Mångfald visas som ett intervall [minimum..maximum] med icke-negativa värden, med en asterisk (*) på maximumsidan som representerar oändlighet. <screenshot> +<screeninfo +>&UML;-association</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/association.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Visuell representation av en association i &UML;</phrase> + </textobject> + <caption> + <para +>Visuell representation av en association i &UML; </para> + </caption> + </mediaobject> +</screenshot> +</para> +</sect4> + +<sect4 id="aggregation"> +<title +>Aggregering</title> +<para +>Aggregeringar är särskilda sorters associationer, där de två deltagande klasserna inte har en likvärdig status, utan utgör ett <quote +>helhet-del</quote +> samband. En aggregering beskriver hur klassen som intar rollen som helhet, är sammansatt av (har) andra klasser, som intar rollerna som delar. Klassen som fungerar som helhet har alltid mångfalden ett, för aggregeringar. </para> +<para +>Aggregeringar i &UML; representeras av en association som visar en romb på sidan som hör till helheten. <screenshot> +<screeninfo +>Aggregering</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/aggregation.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Visuell representation av en aggregeringsrelation i &UML;</phrase> + </textobject> + <caption> + <para +>Visuell representation av en aggregeringsrelation i &UML; </para> + </caption> + </mediaobject> +</screenshot> +</para> +</sect4> +<sect4 id="composition"> +<title +>Sammansättning</title> +<para +>Sammansättningar är associationer som representerar <emphasis +>mycket starka</emphasis +> aggregeringar. Det betyder att sammansättningar också formar helhet-del samband, men att sambandet är så starkt att delarna inte kan existera för sig själv. De finns bara inne i helheten, och om helheten förstörs, försvinner också delarna.</para> +<para +>Sammansättning i &UML; representeras av en ifylld romb på sidan som hör till helheten. </para> +<para +><screenshot> +<screeninfo +>Sammansättning</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/composition.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>Visuell representation av en sammansättningsrelation i &UML;</phrase> + </textobject> + </mediaobject> +</screenshot +></para> +</sect4> +</sect3 +> <!--class-associations--> + +<sect3 id="other-class-diagram-items"> +<title +>Andra objekt i klassdiagram</title> +<para +>Klassdiagram kan innehålla flera andra objekt förutom klasser.</para> +<sect4 id="interfaces"> +<title +>Gränssnitt</title> +<para +>Gränssnitt är abstrakta klasser vilket betyder att instanser inte direkt kan skapas från dem. De kan innehålla operationer men inga attribut. Klasser kan ärva från gränssnitt (via en realisationsassociation) och instanser kan därefter skapas av diagrammen.</para> +<!-- FIXME screenshot --> +</sect4> +<sect4 id="datatype"> +<title +>Datatyper</title> +<para +>Datatyper är primitiver som typiskt är inbyggda i ett programspråk. Vanliga exempel omfattar heltal och en boolesk typ. De kan inte ha samband med klasser, men klasser kan ha samband med dem.</para> +<!-- FIXME screenshot --> +</sect4> +<sect4 id="enum"> +<title +>Uppräkningstyper</title> +<para +>Uppräkningstyper är enkla listor med värden. Ett typiskt exempel är en uppräkningstyp av veckodagar. Medlemmar i en uppräkningstyp kallas uppräkningsvärden. Som datatyper kan de inte ha samband med klasser, men klasser kan ha samband med dem.</para> +<!-- FIXME screenshot --> +</sect4> +<sect4 id="package"> +<title +>Paket</title> +<para +>Paket representerar namnrymder i ett programspråk. I ett diagram används de för att representera delar i ett system som innehåller mer än en klass, kanske hundratals klasser.</para> +<!-- FIXME screenshot --> +</sect4> +</sect3> + +</sect2 +> <!-- class diagram --> + +<sect2 id="sequence-diagram"> +<title +>Sekvensdiagram</title> + +<para +>Sekvensdiagram visar utbyte av meddelanden (dvs. metodanrop) mellan flera objekt, i en specifik, tidsbegränsad situation. Sekvensdiagram lägger särskild vikt vid ordningen och tiden då meddelanden till objekt skickas.</para> + +<para +>Objekt representeras av vertikala streckade linjer i sekvensdiagram, med objektets namn överst. Tidsaxeln är också vertikal, och ökar neråt, så att meddelanden skickas från ett objekt till ett annat i form av pilar med operationer och parameternamn. </para> + +<!-- FIXME update screenshot to show synchronous messages --> +<screenshot> +<screeninfo +>Sekvensdiagram</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/sequence-diagram.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello; som visar ett sekvensdiagram</phrase> + </textobject> + <caption> + <para +>&umbrello; som visar ett sekvensdiagram </para> + </caption> + </mediaobject> +</screenshot> + +<para +>Meddelanden kan antingen vara synkrona, den normala typen för meddelandeanrop där kontrollen övergår till det anropade objektet till metoden har kört färdigt, eller asynkront där kontrollen direkt återgår till anropande objekt. Synkrona meddelanden har en vertikal ruta vid sidan om det anropade objektet, för att visa programflödet.</para> +</sect2 +> <!-- sequence diagrams --> + +<sect2 id="collaboration-diagram"> +<title +>Samarbetsdiagram</title> + +<para +>Samarbetsdiagram visar växelverkan mellan objekt som deltar i en speciell situation. Det här är mer eller mindre samma information som visas i sekvensdiagram, men där läggs vikten vid hur växelverkan sker i tiden, medan samarbetsdiagram lägger vikten vid sambanden mellan objekten och deras topologi.</para> + +<para +>I samarbetsdiagram representeras meddelanden från ett objekt till ett annat med pilar, som visar meddelandets namn, parametrar och meddelandesekvensen. Samarbetsdiagram är särskilt lämpade att visa ett särskilt programflöde eller situation, och är bland de bästa diagramtyperna för att snabbt demonstrera eller förklara en process i programmets logik. </para> + +<screenshot> +<screeninfo +>Samarbete</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/collaboration-diagram.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello; som visar ett samarbetsdiagram</phrase> + </textobject> + <caption> + <para +>&umbrello; som visar ett samarbetsdiagram </para> + </caption> + </mediaobject> +</screenshot> + +</sect2 +> <!-- collaboration diagrams --> + +<sect2 id="state-diagram"> +<title +>Tillståndsdiagram</title> +<para +>Tillståndsdiagram visar de olika tillstånd ett objekt har under sin livstid, och de stimuli som orsakar att objektet ändrar sitt tillstånd. </para +> +<para +>Tillståndsdiagram ser objekt som <emphasis +>tillståndsmaskiner</emphasis +> eller finita automater, som kan vara i något av en mängd begränsade tillstånd och som kan ändra sina tillstånd via något av ett begränsat antal stimuli. Ett objekt av typen <emphasis +>Nätserver</emphasis +>, kan till exempel vara i något av följande tillstånd under sin livstid: </para> +<itemizedlist> +<listitem +><para +>Klar</para +></listitem> +<listitem +><para +>Lyssnar</para +></listitem> +<listitem +><para +>Arbetar</para +></listitem> +<listitem +><para +>Stoppad</para +></listitem> +</itemizedlist> +<para +>och händelserna som kan göra att ett objekt byter tillstånd är</para> +<itemizedlist> +<listitem +><para +>Objektet skapas</para +></listitem> +<listitem +><para +>Objektet tar emot meddelandet att lyssna</para +></listitem> +<listitem +><para +>En klient begär en anslutning via nätverket</para +></listitem> +<listitem +><para +>En klient avslutar en begäran</para +></listitem> +<listitem +><para +>En begäran körs och avslutas</para +></listitem> +<listitem +><para +>Objektet tar emot meddelandet att stoppa</para +></listitem> +<listitem +><para +>etc</para +></listitem> +</itemizedlist> +<para> +<screenshot> +<screeninfo +>Tillståndsdiagram</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/state-diagram.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello; som visar ett tillståndsdiagram</phrase> + </textobject> + <caption> + <para +>&umbrello; som visar ett tillståndsdiagram </para> + </caption> + </mediaobject> +</screenshot> +</para> +<sect3 id="state"> +<title +>Tillstånd</title> +<para +>Tillstånd är byggblocken i tillståndsdiagram. Ett tillstånd hör till exakt en klass, och representerar en summering av de värden klassens attribut kan inta. Ett &UML;-tillstånd beskriver det interna tillståndet för ett objekt av en viss klass. </para +> +<para +>Observera att inte varje ändring av något av ett objekts attribut ska representeras som ett tillstånd, utan bara de ändringar som väsentligt kan påverka objektets arbete.</para> +<para +>Det finns två speciella typer av tillstånd: start och slut. De är speciella på det sättet att det inte finns någon händelse som kan göra att ett objekt återgår till sitt starttillstånd, och på samma sätt finns det ingen händelse som gör det möjligt för ett objekt att lämna sitt sluttillstånd när det väl har nåtts. </para> +</sect3> + +</sect2 +> <!-- state diagrams --> + +<sect2 id="activity-diagram"> +<title +>Aktivitetsdiagram</title> +<para +>Aktivitetsdiagram beskriver en följd av händelser i ett system, med hjälp av aktiviteter. Aktivitetsdiagram är en speciell form av tillståndsdiagram, som bara (eller i huvudsak) innehåller aktiviteter. </para> +<para> +<screenshot> +<screeninfo +>Ett exempel på aktivitetsdiagram</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/activity-diagram.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello; som visar ett aktivitetsdiagram</phrase> + </textobject> + <caption> + <para +>&umbrello; som visar ett aktivitetsdiagram </para> + </caption> + </mediaobject> +</screenshot> +</para> +<para +>Aktivitetsdiagram liknar procedurella flödesdiagram, med skillnaden att alla aktiviteter är klart länkade till objekt.</para> + +<para +>Aktivitetsdiagram hör alltid ihop med en <emphasis +>klass</emphasis +>, en <emphasis +>operation</emphasis +> eller ett <emphasis +>användningsfall</emphasis +>.</para> + +<para +>Aktivitetsdiagram stöder sekvens- samt parallella aktiviteter. Parallell körning representeras med ikonen Dela upp/samla ihop, och det är inte viktigt för aktiviteter som kör parallellt i vilken ordning de utförs (de kan köras samtidigt eller en i taget).</para> +<sect3 id="activity"> +<title +>Aktivitet</title> +<para +>En aktivitet är ett enda steg i en process. En aktivitet är ett tillstånd i systemet med intern aktivitet och åtminstone en utgående övergång. Aktiviteter kan också ha mer än en utgående övergång, om de har olika villkor. </para +> +<para +>Aktiviteter kan bygga upp hierarkier, vilket betyder att en aktivitet kan bestå av flera <quote +>detaljaktiviteter</quote +>, där inkommande och utgående övergångar måste passa ihop med de inkommande och utgående övergångarna i detaljdiagrammet. </para> + +</sect3> +</sect2 +> <!-- activity diagram --> + +<sect2 id="helper-elements"> +<title +>Hjälpelement</title> +<para +>Det finns några få element i &UML; som inte har något verkligt semantiskt värde för modellen, men som hjälper till att klargöra delar av diagrammen. Dessa element är </para> +<itemizedlist> +<listitem +><para +>Textrader</para +></listitem> +<listitem +><para +>Anteckningar och ankare</para +></listitem> +<listitem +><para +>Rutor</para +></listitem> +</itemizedlist +> +<para +>Textrader är användbara för att lägga till kort textinformation i ett diagram. Det är fristående text, och har ingen betydelse i själva modellen. </para +> + +<para +>Anteckningar är användbara för att lägga till mer detaljerad information om ett objekt eller en särskild situation. De har den stora fördelen att anteckningar kan ankras vid &UML;-element för att visa att anteckningen <quote +>hör till</quote +> ett särskilt objekt eller situation. </para> + +<para +>Rutor är fristående rektanglar som kan användas för att gruppera objekt tillsammans, för att göra diagram mer läsbara. De har ingen logisk mening i modellen.</para> + +<!-- FIXME, screenshot --> +</sect2 +> <!-- helper elements --> + +<sect2 id="component-diagram"> +<title +>Komponentdiagram</title> +<para +>Komponentdiagram visar programkomponenter (antingen komponentteknologier som Kparts, CORBA-komponenter eller Java Beans eller bara delar av systemet som är klart urskiljbara) och artefakterna de består av, som källkodsfiler, programbibliotek eller relationsdatabastabeller.</para> + +<para +>Komponenter kan ha gränssnitt (dvs. abstrakta klasser med operationer) som tillåter association mellan komponenter.</para> +</sect2> + +<sect2 id="deployment-diagram"> +<title +>Utplaceringsdiagram</title> + +<para +>Utplaceringsdiagram visar komponentinstanserna vid körning och deras associationer. De omfattar noder, som är fysiska resurser, typiskt en enskild dator. De visar också gränssnitt och objekt (klassinstanser).</para> + +</sect2> + +</sect1 +> +</chapter> diff --git a/tde-i18n-sv/docs/kdesdk/umbrello/working_with_umbrello.docbook b/tde-i18n-sv/docs/kdesdk/umbrello/working_with_umbrello.docbook new file mode 100644 index 00000000000..553b1ae5739 --- /dev/null +++ b/tde-i18n-sv/docs/kdesdk/umbrello/working_with_umbrello.docbook @@ -0,0 +1,419 @@ +<chapter id="working-with-umbrello"> +<title +>Att arbeta med &umbrello;</title> +<!-- Umbrello basics: creating diagrams, creating classes, adding objects to diagrams, + associations, editing properties, anchor points in associations, removing objects, removing + diagrams +--> + +<para +>Det här kapitlet ger en introduktion till &umbrello;s användargränssnitt och berättar allt du måste veta för att börja med modellering. Alla åtgärder i &umbrello; är tillgängliga via menyer och verktygsrader, men &umbrello; använder också i stor utsträckning sammanhangsberoende menyer som visas med höger musknapp. Du kan <mousebutton +>höger</mousebutton +>klicka på nästan alla element på &umbrello;s arbetsyta eller i trädvyn för att få en meny med de mest användbara funktionerna som kan tillämpas på just det särskilda elementet som du arbetar med. Vissa användare tycker att detta är lite förvirrande i början (eftersom de är mer vana att arbeta med menyn eller verktygsrader), men när man väl har vant sig att <mousebutton +>höger</mousebutton +>klicka, snabbar det upp arbetet en hel del. </para> + +<sect1 id="user-interface"> +<title +>Användargränssnitt</title> +<para +>&umbrello;s huvudfönster är uppdelat i tre områden som hjälper till att få en överblick över hela systemet och att komma åt de olika diagrammen snabbt, under arbetet med modellen. </para> +<para +>Dessa områden kallas:</para> +<itemizedlist> +<listitem +><para +>Trädvy</para +></listitem> +<listitem +><para +>Arbetsyta</para +></listitem> +<listitem +><para +>Dokumentationsfönster</para +></listitem> +</itemizedlist> + +<screenshot> +<screeninfo +>&umbrello;s användargränssnitt</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="pics/umbrello-ui.png" format="PNG"/> + </imageobject> + <textobject> + <phrase +>&umbrello;s användargränssnitt</phrase> + </textobject> + <caption> + <para +>&umbrello;s användargränssnitt </para> + </caption> + </mediaobject> +</screenshot> + +<sect2 id="tree-view"> +<title +>Trädvy</title> +<para +>Trädvyn är oftast placerad längst upp till vänster i fönstret, och visar alla diagram, klasser, aktörer och användningsfall som bygger upp modellen. Trädvyn låter dig få en snabb överblick över elementen som modellen består av. Trädvyn ger också ett snabbt sätt att byta mellan de olika diagrammen i modellen, och att infoga element från modellen i det nuvarande diagrammet. </para> +<para +>Om du arbetar med en model som har mer än ett fåtal klasser och diagram, kan trädvyn hjälpa dig att klara av det hela genom att organisera modellen i mappar. Du kan skapa mappar genom att välja lämpligt alternativ i den sammanhangsberoende menyn (högerklicka på en av mapparna i trädvyn) och du kan organisera element genom att flytta dem till lämpliga mappar (drag och släpp). </para> +</sect2> + +<sect2 id="documentation-window"> +<title +>Dokumentationsfönster</title> +<para +>Dokumentationsfönstret är det lilla fönstret placerat längst ner till vänster i &umbrello;, som ger en snabb förhandsgranskning av dokumentationen för objektet som för närvarande är markerat. Dokumentationsfönstret är ganska litet, eftersom det är avsett att ge ett snabbt utdrag ur elementets dokumentation, medan det tar så lite plats som möjligt på skärmen. Om du behöver titta på dokumentationen i mer detalj, kan du alltid öppna elementets egenskaper. </para> +</sect2> +<sect2 id="work-area"> +<title +>Arbetsyta</title> +<para +>Arbetsytan är huvudfönstret i &umbrello;, och är platsen där alla verkliga åtgärder sker. Man använder arbetsytan för att redigera och visa diagrammen i en modell. Arbetsytan visar diagrammet som för tillfället är aktivt. För närvarande kan bara ett diagram åt gången visas på arbetsytan. </para> +</sect2> +</sect1 +> <!--user-interface--> +<sect1 id="load-save"> +<title +>Skapa, ladda och spara modeller</title> +<para +>Det första du behöver göra, för att börja utföra något användbart med &umbrello;, är att skapa en modell att arbeta med. När du startar &umbrello; laddar det alltid den senast använda modellen, eller skapar en ny, tom, modell (beroende på alternativ som du ställer in i inställningsdialogrutan). Det gör det möjligt att börja arbeta direkt. </para> +<sect2 id="new-model"> +<title +>Ny modell</title> +<para +>Om du vid något tillfälle behöver skapa en ny modell, kan du göra det genom att välja alternativet <guimenuitem +>Ny</guimenuitem +> i menyn <guimenu +>Arkiv</guimenu +>, eller genom att klicka på ikonen <guiicon +>Ny</guiicon +> i programverktygsraden. Om du för ögonblicket arbetar med en modell som har ändrats, frågar &umbrello; om dina ändringar ska sparas, innan den nya modellen skapas. </para> +</sect2> +<sect2 id="save-model"> +<title +>Spara modell</title> +<para +>Du kan spara modellen när som helst, genom att välja alternativet <guimenuitem +>Spara</guimenuitem +> i menyn <guimenu +>Arkiv</guimenu +>, eller genom att klicka på knappen <guiicon +>Spara</guiicon +> i programverktygsraden. Om du behöver spara modellen med ett annat namn, kan du använda alternativet <guimenuitem +>Spara som</guimenuitem +> i menyn <guimenu +>Arkiv</guimenu +>. </para> +<para +>Av bekvämlighetsskäl, erbjuder &umbrello; också möjligheten att automatiskt spara arbetet efter en viss tidsperiod. Du kan anpassa om du vill aktivera den här funktionen, samt tidsintervallet, i &umbrello;s <guimenu +>inställningar</guimenu +>.</para> +</sect2> +<sect2 id="load-model"> +<title +>Ladda modell</title> +<para +>Du kan välja alternativet <guimenuitem +>Öppna</guimenuitem +> i menyn <guimenu +>Arkiv</guimenu +> för att ladda en befintlig modell, eller klicka på ikonen <guiicon +>Öppna</guiicon +> i programverktygsraden. De senast använda modellerna är också tillgängliga i undermenyn <guimenuitem +>Öppna senaste</guimenuitem +> i menyn <guimenu +>Arkiv</guimenu +>, för att snabba upp åtkomst till de oftast använda modellerna. </para> +<para +>&umbrello; kan bara arbeta med en modell åt gången, så om du ber programmet ladda en modell åt dig, och den nuvarande modellen har ändrats sedan du senast sparade den, frågar &umbrello; om ändringarna ska sparas för att förhindra att arbetet går förlorat. Du kan starta två eller flera instanser av &umbrello; när som helst. Du kan också kopiera och klistra in mellan instanser. </para> +</sect2> +</sect1 +> <!--load-save--> +<sect1 id="edit-model"> +<title +>Redigera modeller</title> +<para +>I &umbrello; finns det två grundläggande sätt att redigera elementen i modellen. <itemizedlist> +<listitem +><para +>Redigera modellelement direkt via trädvyn</para +></listitem> +<listitem +><para +>Redigera modellelement direkt via ett diagram</para +></listitem> +</itemizedlist> +</para> +<para +>Med användning av den sammanhangsberoende menyn i trädvyn, kan du lägga till, ta bort, och ändra nästan alla element i modellen. <mousebutton +>Höger</mousebutton +>klicka på mapparna i trädvyn för att visa alternativ för att skapa olika sorters diagram, samt - beroende på om mappen är en <emphasis +>Användningsfallsvy</emphasis +> eller en <emphasis +>Logisk vy</emphasis +> - aktörer, användningsfall, klasser etc. </para> +<para +>När du väl har lagt till element i modellen, kan du också redigera dem genom användning av deras egenskapsdialogrutor, som du hittar genom att välja alternativet <emphasis +>Egenskaper</emphasis +> i den sammanhangsberoende menyn som visas vid ett <emphasis +>höger</emphasis +>klick på elementen i trädvyn. </para> +<para +>Du kan också redigera modellen genom att skapa eller ändra element via diagram. Mer information om hur detta görs, får du i följande avsnitt. </para> +</sect1> +<sect1 id="add-remove-diagrams"> +<title +>Lägga till och ta bort diagram</title> +<para +>&UML;-modellen består av en uppsättning &UML;-element och samband mellan dem. Man kan dock inte se modellen direkt, utan man använder <emphasis +>diagram</emphasis +> för att titta på den. </para> +<sect2 id="create-diagram"> +<title +>Skapa diagram</title> +<para +>För att skapa ett nytt diagram i modellen, välj helt enkelt diagramtypen du behöver i undermenyn <guimenuitem +>Ny</guimenuitem +> från menyn <guimenu +>Diagram</guimenu +>, och ge den ett namn. Diagrammet skapas, och görs aktivt, och du ser det omedelbart i trädvyn. </para> +<para +>Kom ihåg att &umbrello; i stor utsträckning använder sammanhangsberoende menyer: du kan också högerklicka på en mapp i trädvyn, och välja lämplig diagramtyp i undermenyn <guisubmenu +>Ny</guisubmenu +> från den sammanhangsberoende menyn. Observera att du kan bara skapa användningsfallsdiagram i användningsfallsmappar, och att övriga typer av diagram bara kan skapas i mappar för logiska vyer. </para> +</sect2> +<sect2 id="remove-diagram"> +<title +>Ta bort diagram</title> +<para +>Skulle du behöva ta bort ett diagram från modellen, kan du göra det genom att göra det aktivt och välja <guimenuitem +>Ta bort</guimenuitem +> i menyn <guimenu +>Diagram</guimenu +>. Du kan också åstadkomma detta genom att välja <guimenuitem +>Ta bort</guimenuitem +> i den sammanhangsberoende menyn för diagrammet i trädvyn. </para> +<para +>Eftersom att ta bort ett diagram är något allvarligt, som kunde orsaka att arbete går förlorat, om det görs av misstag, ber &umbrello; att du bekräftar en borttagningsåtgärd innan diagrammet verkligen tas bort. Så fort ett diagram har tagits bort, och filen har sparats, finns det inget sätt att ångra åtgärden. </para> +</sect2> +<sect2 id="rename-diagram"> +<title +>Byta namn på diagram</title> +<para +>Om du vill byta namn på ett befintligt diagram, kan du lätt göra det genom att välja alternativet Byt namn i den sammanhangsberoende menyn i trädvyn. </para> +<para +>Ett annat sätt att byta namn på ett diagram är via dess egenskapsdialogruta, som du erhåller genom att välja Egenskaper från den sammanhangsberoende menyn, eller genom att dubbelklicka på det i trädvyn. </para> +</sect2> +</sect1> +<sect1 id="edit-diagram"> +<title +>Redigera diagram</title> +<para +>Medan du arbetar med ett diagram, försöker &umbrello; leda dig rätt genom att tillämpa några enkla regler om vilka element som är giltiga i olika sorters diagram, samt vilka förhållanden som kan finnas mellan dem. Om du är expert på &UML;, kommer du förmodligen inte ens märka det, men det är till hjälp för nybörjare för att skapa diagram som följer standarden. </para> +<para +>Så fort du har skapat diagrammen är det dags att börja redigera dem. Observera här (den för nybörjare subtila) skillnaden mellan att redigera ett diagram, och att redigera <emphasis +>modellen</emphasis +>. Som du redan känner till, är diagram <emphasis +>vyer</emphasis +> av modellen. Om du till exempel skapar en klass genom att redigera ett klassdiagram, redigerar du i själva verket både diagrammet och modellen. Om du ändrar färg eller andra visningsalternativ för en klass i klassdiagrammet, redigerar du bara diagrammet, men ingenting ändras i modellen. </para> +<sect2 id="insert-elements"> +<title +>Infoga element</title> +<para +>En av de första sakerna som du gör när du redigerar ett nytt diagram, är att infoga element i det (klasser, aktörer, användningsfall, etc.). Det finns två grundläggande sätt att göra det:</para> +<itemizedlist> +<listitem +><para +>Dra befintliga element till modellen från trädvyn</para +></listitem> +<listitem +><para +>Skapa nya element i modellen, och samtidigt lägga till dem i diagrammet, genom att använda ett av redigeringsverktygen i arbetsverktygsraden.</para +></listitem> +</itemizedlist> +<para +>För att infoga element som redan finns i modellen, dra dem bara från trädvyn och släpp dem där du vill att de ska vara i diagrammet. Du kan alltid flytta omkring element i diagrammet med markeringsverktyget. </para> +<para +>Det andra sättet att lägga till element i diagrammet är att använda arbetsverktygsradens redigeringsverktyg (observera att detta också lägger till elementen i modellen). </para> +<para +>Arbetsverktygsraden var normalt placerad längst till höger om programfönstret, men &umbrello; 1.2 har flyttat den längst upp i fönstret. Du kan docka den på andra sidan, eller låta den flyta omkring om du föredrar det. Verktygen som är tillgängliga på den här verktygsraden (knapparna du ser på den) ändras beroende på vilket diagram du arbetar med för ögonblicket. Knappen för verktyget som just nu är valt är aktiverad i verktygsraden. Du kan byta till <keycap +>markeringsverktyget</keycap +> genom att trycka på <keycap +>Esc</keycap +>-tangenten. </para> +<para +>När du har valt ett redigeringsverktyg i arbetsverktygsraden (till exempel verktyget för att infoga klasser), ändras muspekaren till ett kors, och du kan infoga element i modellen genom att enkelklicka i diagrammet. Observera att element i &UML; måste ha ett <emphasis +>unikt namn</emphasis +>. Så om du har en klass i ett diagram som heter <quote +>KlassA</quote +>, och sedan använder verktyget för att infoga klasser för att infoga en klass i ett annat diagram, kan du inte också ge den nya klassen namnet <quote +>KlassA</quote +>. Om det är meningen att de två ska vara olika element, måste du ge dem unika namn. Om du försöker lägga till <emphasis +>samma</emphasis +> element i diagrammet, är inte verktyget för att infoga klasser rätt verktyg för detta. Du ska istället dra och släppa klassen från trädvyn. </para> +</sect2> +<sect2 id="delete-elements"> +<title +>Ta bort element</title> +<para +>Du kan ta bort vilket element som helst, genom att välja alternativet <guimenuitem +>Ta bort</guimenuitem +> i dess sammanhangsberoende meny. </para> +<para +>Återigen är det en <emphasis +>stor</emphasis +> skillnad mellan att ta bort ett objekt från diagrammet, och att ta bort ett objekt från modellen. Om du tar bort ett objekt inifrån ett diagram, tar du bara bort det från just det diagrammet: elementet är fortfarande en del av modellen och om det finns andra diagram som använder samma element, råkar de inte ut för någon ändring. Å andra sidan, om du tar bort elementet i trädvyn, tar du i själva verket bort elementet från <emphasis +>modellen</emphasis +>. Eftersom elementet inte längre existerar i modellen, tas det också automatiskt bort från alla diagram det visas i. </para> +</sect2> +<sect2 id="edit-elements"> +<title +>Redigera element</title> +<para +>Du kan redigera de flesta &UML;-element i modellen och diagram genom att öppna dess egenskapsdialogruta och välja lämpliga alternativ. För att redigera egenskaperna hos ett objekt, välj <guimenuitem +>Egenskaper</guimenuitem +> i dess sammanhangsberoende meny (högerklicka). Varje element har en dialogruta som består av flera sidor där du kan anpassa alternativen som har med det elementet att göra. För vissa element, som aktörer, kan du bara ange ett fåtal alternativ, som objektnamn och dokumentation, medan för andra element, som klasser, kan du redigera dess attribut och operationer, välja vad du vill visa i diagram (hela operationssignaturen eller bara operationsnamn, etc.) och till och med färgerna du vill använda för linjer och ifyllnad av klassens representation i ett diagram. </para> + +<para +>För de flesta &UML;-element kan du också öppna egenskapsdialogrutan genom att dubbelklicka på det, om du använder markeringsverktyget (pilen). Undantaget från detta är associationer, där ett dubbelklick skapar en ankringspunkt. För associationer måste du använda den sammanhangsberoende menyn som visas med högerklick, för att få fram egenskapsdialogrutan. </para> + +<para +>Observera att du också kan välja alternativet egenskaper i den sammanhangsberoende menyn för elementen i trädvyn. Detta låter dig också redigera egenskaper för diagram, som att ställa in om rutnätet ska visas eller inte. </para> +</sect2> +<sect2 id="edit-classes"> +<title +>Redigera klasser</title> +<para +>Även om redigering av egenskaper för alla objekt redan har täckts av föregående avsnitt, förtjänar klasser ett särskilt avsnitt, eftersom de är något mer komplicerade, och har fler alternativ än de flesta andra &UML;-element. </para> +<para +>I klassens egenskapsdialogruta kan du ställa in allting, från färgen den använder till operationerna och attributen den har. </para> +<sect3 id="class-general-settings"> +<title +>Allmänna klassinställningar</title> +<para +>Sidan med allmänna klassinställningar i egenskapsdialogrutan är självförklarande. Här kan du ändra klassens namn, synlighet, dokumentation, etc. Den här sidan är alltid tillgänglig. </para> +</sect3> +<sect3 id="class-attributes-settings"> +<title +>Inställningar av klassattribut</title> +<para +>På sidan för inställningar av attribut, kan du lägga till, redigera eller ta bort attribut (variabler) för klassen. Du kan flytta attribut upp och ner i listan genom att trycka på piltangenterna längs kanten. Den här sidan är alltid tillgänglig. </para> +</sect3> +<sect3 id="class-operations-settings"> +<title +>Inställningar av klassoperationer</title> +<para +>På liknande sätt som för inställningar av klassattribut, kan du lägga till, redigera eller ta bort operationer för klassen på sidan för inställningar av klassoperationer. När du lägger till eller redigerar en klassoperation, skriver du in grundläggande data i dialogrutan <emphasis +>Operationsegenskaper</emphasis +>. Om du vill lägga till parametrar till operationerna, måste du klicka på knappen <guibutton +>Ny parameter</guibutton +>, som visar dialogrutan <emphasis +>Parameteregenskaper</emphasis +>. Den här sidan är alltid tillgänglig. </para> +</sect3> +<sect3 id="class-template-settings"> +<title +>Klassmallsinställningar</title> +<para +>Den här sidan låter dig lägga till klassmallar som är ospecificerade klasser eller datatyper. I Java 1.5 kommer de att kallas Generics. </para> +</sect3> +<sect3 id="class-associations-page"> +<title +>Sidan för klassassociationer</title> +<para +>Sidan <guilabel +>Klassassociationer</guilabel +> visar alla klassens associationer i det nuvarande diagrammet. Ett dubbelklick på en association visar dess egenskaper, och beroende på typ av association, kan du ändra vissa parametrar här som att ställa in mångfald och rollnamn. Om associationen inte tillåter att sådana alternativ ändras, är dialogrutan för associationsegenskaper bara läsbar, och du kan endast ändra dokumentationen som hör ihop med associationen. </para> +<para +>Den här sidan är bara tillgänglig om du öppnar klassegenskaperna inne i ett diagram. Om du väljer klassegenskaper från den sammanhangsberoende menyn i trädvyn, är den här sidan inte tillgänglig. </para> +</sect3> +<sect3 id="class-display-page"> +<title +>Sidan för klassvisning</title> +<para +>På sidan <guilabel +>Visningsalternativ</guilabel +>, kan du ställa in vad som ska visas i diagrammet. En klass kan visas som bara en rektangel med klassnamnet i (användbart om du har många klasser i diagrammet, eller för tillfället inte är intresserad av detaljerna för varje klass), eller så fullständiga att paket, stereotyper, attribut och operationer visas med fullständig signatur och synlighet. </para> +<para +>Beroende på mängden information som du vill se, kan du välja motsvarande alternativ på sidan. Ändringarna du gör här gäller bara <emphasis +>visningsalternativen</emphasis +> för diagrammet. Det betyder att <quote +>dölja</quote +> klassens operationer bara gör att de inte visas i diagrammet, men operationerna är forfarande där som en del av modellen. Det här alternativet är bara tillgängligt om du väljer klassegenskaperna inne i ett diagram. Om du öppnar klassegenskaper från trädvyn, saknas den här sidan, eftersom sådana visningsegenskaper inte är vettiga i detta fall.</para> +</sect3> +<sect3 id="class-color-page"> +<title +>Sidan för klassfärger</title> +<para +>På sidan <guilabel +>Komponentfärg</guilabel +> kan du anpassa färgerna som du vill ha för linjer och ifyllnad av komponenten. Det här alternativet är naturligtvis bara vettigt för klasser som visas i diagram, och saknas om du öppnar klassens egenskapsdialogruta i trädvyn. </para> +</sect3> +</sect2> + +<sect2 id="associations"> +<title +>Associationer</title> +<para +>Associationer relaterar två &UML;-objekt med varandra. Normalt definieras associationer mellan två klasser, men vissa typer av associationer kan också finnas mellan användningsfall och aktörer. </para> +<para +>För att skapa en association, välj lämpligt verktyg i arbetsverktygsraden (generell association, generalisering, aggregering, etc.), och enkelklicka på det första elementet som ingår i associationen. Enkelklicka sedan på det andra elementet som ingår. Observera att detta är två klick, ett på vart och ett av elementen som ingår i associationen. Det är <emphasis +>inte</emphasis +> att dra från ett objekt till ett annat. </para> +<para +>Om du försöker använda associationer på ett sätt som inte tillåts av &UML;-specifikationen, vägrar Umbrello skapa associationen och du får ett felmeddelande. Det skulle inträffa, om till exempel en generalisering finns från klass A till klass B, och du därefter försöker skapa en ny generalisering från klass B till klass A. </para> +<para +>Ett <mousebutton +>höger</mousebutton +>klick på en association visar en sammanhangsberoende meny med åtgärder som du kan genomföra med den. Om du behöver ta bort en association, välj helt enkelt alternativet <guimenuitem +>Ta bort</guimenuitem +> i den sammanhangsberoende menyn. Du kan också välja alternativet <guimenuitem +>Egenskaper</guimenuitem +>, och beroende på associationens typ, redigera attribut som roller och mångfald. </para> +<sect3 id="anchor-points"> +<title +>Ankringspunkter</title> +<para +>Associationer ritas normalt som en rak linje som förbinder de två objekten i diagrammet. </para> +<para +>Du kan lägga till ankringspunkter för att forma en association genom att <mousebutton +>dubbel</mousebutton +>klicka någonstans längs associationslinjen. Då infogas en ankringspunkt (som visas som en blå punkt där associationslinjen är markerad), som du kan flytta omkring för att ge associationen sin form. </para> +<para +>Om du behöver ta bort en ankringspunkt, <mousebutton +>dubbel</mousebutton +>klicka på den igen för att ta bort den. </para> +<para +>Observera att det enda sättet att redigera en associations egenskaper är via den sammanhangsberoende menyn. Om du försöker att <mousebutton +>dubbel</mousebutton +>klicka på den som med andra &UML;-objekt, infogas bara en ankringspunkt. </para> +</sect3> +</sect2> + +<sect2 id="notes"> +<title +>Anteckningar, text och rutor</title> +<para +>Anteckningar, textrader och rutor är element som kan finnas i alla sorters diagram, och har inget verkligt semantiskt värde, men är mycket hjälpsamma för att lägga till extra kommentarer eller förklaringar, som kan göra diagrammet lättare att förstå. </para> +<para +>För att lägga till en anteckning eller textrad, välj motsvarande verktyg i arbetsverktygsraden, och enkelklicka på diagrammet där du vill placera kommentaren. Du kan redigera texten genom att öppna elementet via dess sammanhangsberoende meny, eller för anteckningar, också genom att <mousebutton +>dubbel</mousebutton +>klicka på dem. </para> +<sect3 id="anchors"> +<title +>Ankare</title> +<para +>Ankare används för att länka ihop anteckningar och ett annat &UML;-element. Normalt använder du till exempel en anteckning för att förklara eller ge en kommentar om en klass eller en viss association, och i så fall kan du använda ankaret för att klargöra att anteckningen <quote +>hör till</quote +> just det elementet. </para> +<para +>Använd ankarverktyget i arbetsverktygsraden, för att lägga till ett ankare mellan en anteckning och ett annat &UML;-element. Först måste du klicka på anteckningen, och sedan klicka på &UML;-elementet som du vill att anteckningen ska länkas till. </para> +</sect3> +</sect2> +</sect1> +</chapter> +<!--edit-diagram--> |