summaryrefslogtreecommitdiffstats
path: root/tde-i18n-pt_BR/docs/tdesdk/umbrello
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-12-03 11:05:10 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-12-03 11:05:10 -0600
commitf7e7a923aca8be643f9ae6f7252f9fb27b3d2c3b (patch)
tree1f78ef53b206c6b4e4efc88c4849aa9f686a094d /tde-i18n-pt_BR/docs/tdesdk/umbrello
parent85ca18776aa487b06b9d5ab7459b8f837ba637f3 (diff)
downloadtde-i18n-f7e7a923aca8be643f9ae6f7252f9fb27b3d2c3b.tar.gz
tde-i18n-f7e7a923aca8be643f9ae6f7252f9fb27b3d2c3b.zip
Second part of prior commit
Diffstat (limited to 'tde-i18n-pt_BR/docs/tdesdk/umbrello')
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/Makefile.am4
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/Makefile.in635
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/activity-diagram.pngbin0 -> 58804 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/add-remove-languages.pngbin0 -> 76969 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/aggregation.pngbin0 -> 1043 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/association.pngbin0 -> 1672 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/authors.docbook46
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/class-diagram.pngbin0 -> 38182 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/class.pngbin0 -> 3661 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/code-import.pngbin0 -> 19650 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/code_import_and_generation.docbook163
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/collaboration-diagram.pngbin0 -> 62638 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/composition.pngbin0 -> 1529 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/credits.docbook11
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/folders.pngbin0 -> 35712 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/generalization.pngbin0 -> 1318 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/generation-options.pngbin0 -> 34681 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/index.cache.bz2bin0 -> 18882 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/index.docbook85
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/introduction.docbook57
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/other_features.docbook76
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/sequence-diagram.pngbin0 -> 37679 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/state-diagram.pngbin0 -> 37707 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/umbrello-main-screen.pngbin0 -> 29079 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/umbrello-ui-clean.pngbin0 -> 27117 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/umbrello-ui.pngbin0 -> 46853 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/uml_basics.docbook782
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/use-case-diagram.pngbin0 -> 48082 bytes
-rw-r--r--tde-i18n-pt_BR/docs/tdesdk/umbrello/working_with_umbrello.docbook413
29 files changed, 2272 insertions, 0 deletions
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/Makefile.am b/tde-i18n-pt_BR/docs/tdesdk/umbrello/Makefile.am
new file mode 100644
index 00000000000..babf802f3a2
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/Makefile.am
@@ -0,0 +1,4 @@
+KDE_LANG = pt_BR
+SUBDIRS = $(AUTODIRS)
+KDE_DOCS = AUTO
+KDE_MANS = AUTO
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/Makefile.in b/tde-i18n-pt_BR/docs/tdesdk/umbrello/Makefile.in
new file mode 100644
index 00000000000..a2ffbd354ce
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/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/tdesdk/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@
+tdeinitdir = @tdeinitdir@
+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 = pt_BR
+#>- SUBDIRS = $(AUTODIRS)
+#>+ 1
+SUBDIRS =.
+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/tdesdk/umbrello/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --gnu docs/tdesdk/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/tdesdk/umbrello/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu docs/tdesdk/umbrello/Makefile
+ cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdesdk/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=uml_basics.docbook add-remove-languages.png class.png code-import.png association.png index.docbook state-diagram.png activity-diagram.png generation-options.png credits.docbook aggregation.png code_import_and_generation.docbook umbrello-main-screen.png use-case-diagram.png sequence-diagram.png folders.png index.cache.bz2 class-diagram.png umbrello-ui.png generalization.png umbrello-ui-clean.png collaboration-diagram.png Makefile.in other_features.docbook composition.png introduction.docbook working_with_umbrello.docbook authors.docbook Makefile.am
+
+#>+ 24
+index.cache.bz2: $(srcdir)/index.docbook $(KDE_XSL_STYLESHEET) other_features.docbook sequence-diagram.png code_import_and_generation.docbook umbrello-ui.png umbrello-ui-clean.png generalization.png aggregation.png index.docbook composition.png umbrello-main-screen.png association.png add-remove-languages.png introduction.docbook credits.docbook working_with_umbrello.docbook use-case-diagram.png class-diagram.png generation-options.png state-diagram.png folders.png activity-diagram.png collaboration-diagram.png code-import.png uml_basics.docbook class.png 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 sequence-diagram.png code_import_and_generation.docbook umbrello-ui.png umbrello-ui-clean.png generalization.png aggregation.png index.docbook composition.png umbrello-main-screen.png association.png add-remove-languages.png introduction.docbook credits.docbook working_with_umbrello.docbook use-case-diagram.png class-diagram.png generation-options.png state-diagram.png folders.png activity-diagram.png collaboration-diagram.png code-import.png uml_basics.docbook class.png 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 sequence-diagram.png code_import_and_generation.docbook umbrello-ui.png umbrello-ui-clean.png generalization.png aggregation.png index.docbook composition.png umbrello-main-screen.png association.png add-remove-languages.png introduction.docbook credits.docbook working_with_umbrello.docbook use-case-diagram.png class-diagram.png generation-options.png state-diagram.png folders.png activity-diagram.png collaboration-diagram.png code-import.png uml_basics.docbook class.png authors.docbook ; do \
+ rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/umbrello/$$base ;\
+ done
+
+
+#>+ 5
+distdir-nls:
+ for file in other_features.docbook sequence-diagram.png code_import_and_generation.docbook umbrello-ui.png umbrello-ui-clean.png generalization.png aggregation.png index.docbook composition.png umbrello-main-screen.png association.png add-remove-languages.png introduction.docbook credits.docbook working_with_umbrello.docbook use-case-diagram.png class-diagram.png generation-options.png state-diagram.png folders.png activity-diagram.png collaboration-diagram.png code-import.png uml_basics.docbook class.png 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/tdesdk/umbrello/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu docs/tdesdk/umbrello/Makefile
+ cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdesdk/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-pt_BR/docs/tdesdk/umbrello/activity-diagram.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/activity-diagram.png
new file mode 100644
index 00000000000..0cea38456e0
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/activity-diagram.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/add-remove-languages.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/add-remove-languages.png
new file mode 100644
index 00000000000..eb572420e93
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/add-remove-languages.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/aggregation.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/aggregation.png
new file mode 100644
index 00000000000..e035ee284d2
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/aggregation.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/association.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/association.png
new file mode 100644
index 00000000000..3000bc114a2
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/association.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/authors.docbook b/tde-i18n-pt_BR/docs/tdesdk/umbrello/authors.docbook
new file mode 100644
index 00000000000..18116121ead
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/authors.docbook
@@ -0,0 +1,46 @@
+<chapter id="authors">
+<title
+>Autores e Histórico</title>
+<para
+>Este projeto foi iniciado por Paul Hensgen como um de seus projetos Universitários. O nome original do aplicativo era <application
+>Modelador UML</application
+>. Paul fez todo o desenvolvimento até o final de 2001 quando o programa atingiu sua versão 1.0. </para>
+<para
+>A versão 1.0 já oferecia muitas funcionalidades, mas após o projeto ter sido revisado pela Universidade de Paul, outros desenvolvedores puderam juntar-se e iniciaram fazendo contribuições importantes para o <application
+>Modelador UML</application
+>, como alternar de um formato binário de arquivo para um arquivo &XML;, suporte para mais tipos de Diagramas &UML;, Geração de Código e Importação de Código apenas para citar algumas. </para>
+<para
+>Paul retirou-se da equipe de desenvolvimento no Verão de 2002 mas, como um Software Livre e de Código Aberto, o programa continua a melhorar e evoluir, e está sendo mantido por um grupo de desenvolvedores de diferentes partes do mundo. Em Setembro de 2002, o projeto mudou seu nome de <application
+>Modelador &UML;</application
+>, para &umbrello;. Existiram várias razões para a mudança do nome, a mais importante sendo que apenas <quote
+>uml</quote
+>&mdash; como é comumente conhecido &mdash; é um nome muito genérico e causa problemas com alguns distribuidores. A outra razão importante é que os desenvolvedores acham <application
+>Umbrello</application
+> um nome mais legal. </para>
+<para
+>O desenvolvimento do &umbrello; assim como as discussões sobre para onde o programa deve progredir nas versões futuras é aberto e ocorre na Internet. Se você gostaria de contribuir para o projeto, por favor não hesite em contactar os desenvolvedores. Existem muitas maneiras nas quais você pode auxiliar o &umbrello;: </para>
+<itemizedlist>
+<listitem
+><para
+>Relatando erros ou sugerindo melhorias</para
+></listitem>
+<listitem
+><para
+>Corrigindo erros e adicionando recursos</para
+></listitem>
+<listitem
+><para
+>Escrevendo uma boa documentação ou traduzindo para outros idiomas</para
+></listitem>
+<listitem
+><para
+>E é claro...codificando conosco!</para
+></listitem>
+</itemizedlist>
+<para
+>Como voçê viu, existem muitas maneiras de contribuir. Todas elas são muito importantes e todos são bem vindos a participar. </para>
+<para
+>Os desenvolvedores do &umbrello; podem ser contactados em <email
+>uml-devel@lists.sourceforge.net</email
+>. </para>
+</chapter>
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/class-diagram.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/class-diagram.png
new file mode 100644
index 00000000000..fb2c965e1ae
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/class-diagram.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/class.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/class.png
new file mode 100644
index 00000000000..dcc90bd16e2
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/class.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/code-import.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/code-import.png
new file mode 100644
index 00000000000..f0c74c0f799
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/code-import.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/code_import_and_generation.docbook b/tde-i18n-pt_BR/docs/tdesdk/umbrello/code_import_and_generation.docbook
new file mode 100644
index 00000000000..c299f837341
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/code_import_and_generation.docbook
@@ -0,0 +1,163 @@
+<chapter id="code-import-generation">
+<title
+>Importação de Código e Geração de Código</title>
+<para
+>O &umbrello; é uma ferramenta de modelagem &UML;, e como tal seu principal propósito é auxiliá-lo na <emphasis
+>análise e desenho</emphasis
+> de seus sistemas. No entanto, para fazer a transição entre seu desenho e sua <emphasis
+>implementação</emphasis
+>, o &umbrello; permite gerar código fonte numa linguagem de programação que você conheça. Se você quiser iniciar o uso do &UML; num projeto em C++ já iniciado, o &umbrello; pode auxiliá-lo a criar um modelo de seu sistema a partir do código fonte analisando seu código e importando as classes encontradas nele. </para>
+<sect1 id="code-generation">
+<title
+>Geração de Código</title>
+<para
+>O &umbrello; pode gerar código fonte a partir de várias linguagens de programação baseadas no seu Modelo &UML; para auxiliá-lo no início com a implementação do seu projeto. O código gerado consiste de declarações de classe, com seus métodos e atributos de modo que você possa <quote
+>preencher as lacunas</quote
+> fornecendo a funcionalidade das suas operações de classes. </para>
+<para
+>O &umbrello; 1.2 vem com suporte à geração de código para ActionScript, Ada, C++, CORBA IDL, &Java;, JavaScript, <acronym
+>PHP</acronym
+>, Perl, Python, SQL e Esquema XML. </para>
+<sect2 id="generate-code">
+<title
+>Gerando Código</title>
+<para
+>Para gerar código como o &umbrello;, você primeiro precisa criar ou carregar um Modelo contendo pelo menos uma classe. Quando você estiver pronto para iniciar a escrita de algum código, selecione a entrada do <guimenuitem
+>Assistente de Geração de Código</guimenuitem
+> no menu <guimenuitem
+>Código</guimenuitem
+> para iniciar um Assistente que o guiará através do processo de geração de código. </para>
+<para
+>O primeiro passo é selecionar as classes para quais você deseja gerar código fonte. Por padrão todas as classes de seu modelo serão selecionadas, e você pode remover as que não deseja que seja gerado código movendo-as para o lado esquerdo da lista. </para>
+<para
+>O próximo passo do assistente lhe permite modificar os parâmetros que o Gerador de Código usa ao escrever seu código. As seguintes opções estão disponíveis: </para>
+<para>
+<screenshot>
+<screeninfo
+>Opções de Geração de Código</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="generation-options.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Opções para a Geração de Código no &umbrello;</phrase>
+ </textobject>
+ <caption>
+ <para
+>Opções para a Geração de Código no &umbrello; </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+</para>
+<sect3 id="generation-options">
+<title
+>Opções Gerais</title>
+<!-- LW; to rearrange -->
+
+<sect4>
+<title
+>Verbosidade do Código</title>
+<para
+>A opção <guilabel
+>Escrever cometários da documentação se vazios</guilabel
+> instrui o Gerador de Código a escrever comentários no estilo /** blah */ sempre que o bloco de comentários estiver vazio. Se você adicionar documentação a sua classe, métodos ou atributos em seu Modelo, o Gerador de Código escreverá estes comentários como documentação <application
+>Doxygen</application
+> a menos que você configure algo aqui, mas se você selecionar esta opção o &umbrello; escreverá blocos de comentários para todas as classes, métodos e atributos se não houver nenhuma documentação no Modelo, caso contrário você deverá documentar suas classes posteriormente diretamente no código fonte. </para>
+<para
+><guilabel
+>Escrever comentários para seções se seção estiver vazia</guilabel
+> faz com que o &umbrello; escreva comentários no código fonte para delimitar as diferentes seções de uma classe. Por exemplo <quote
+>métodos públicos</quote
+> ou <quote
+>Atributos</quote
+> antes das seções correspondentes. Se você selecionar esta opção o &umbrello; escreverá comentários para todas as seções da classe se a seção estiver vazia. Por exemplo, ele escreverá um comentário <quote
+>métodos protegidos</quote
+> se existem métodos não protegidos em sua classe. </para>
+</sect4>
+<sect4>
+<title
+>Pastas</title>
+<para
+><guilabel
+>Gravar todos os arquivos gerados para pasta</guilabel
+>. Aqui você pode selecionar a pasta onde deseja que o &umbrello; coloque os fontes gerados. </para>
+<para
+>A opção <guilabel
+>Incluir arquivos de cabeçalho da pasta</guilabel
+> permite-lhe inserir um cabeçalho no início de cada arquivo gerado. Arquivos de cabeçalho podem conter informações de direito de cópia ou licença e conter variáveis que serão avaliados no momento da geração. Você pode dar uma olhada nos arquivos modelos de cabeçalho fornecidos com o &umbrello; para ver como usar estas variáveis para substituir seu nome ou a data atual no momento da geração. </para>
+</sect4>
+<sect4>
+<title
+>Política de Sobrescrever</title>
+<!-- FIXME update for Umbrello 1.2's new C++ and Java code generators -->
+<para
+>Esta opção diz ao &umbrello; o que fazer se o arquivo que está sendo criado já existe na pasta destino. O &umbrello; <emphasis
+>não pode modificar arquivos fonte existentes</emphasis
+>, logo você deve escolher entre sobrescrever o arquivo existente, pular a geração do arquivo em particular ou deixar o &umbrello; escolher um nome de arquivo diferente. Se você escolher a opção de usar um nome diferente, o &umbrello; adicionará um sufixo ao nome do arquivo. </para>
+</sect4>
+<sect4>
+<title
+>Linguagem</title>
+<para
+>O &umbrello; irá gerar por padrão código na linguagem que você tiver selecionado como Linguagem Ativa, mas com o Assistente de Geração de Código você tem a opção de mudar isto para outra linguagem. </para>
+</sect4>
+</sect3
+><!--generation-options-->
+<sect3 id="generation-wizard-generation">
+<title
+>Geração do Assistente de Geração</title>
+<para
+>O terceiro e último passo do assistente mostra o estado do processo de Geração de Código. Você precisa somente clicar no botão Gerar para ter suas classes escritas para você. </para>
+<para
+>Observe que as Opções que você selecionou durante o assistente de Geração de Código são válidas somente para a geração atual. Na próxima vez que executar o Assistente você precisará re-selecionar todas as opções (sua pasta de cabeçalhos, política de sobrescrever, e assim por diante). Você pode configurar os padrões usados pelo &umbrello; na seção <guilabel
+>Geração de Código</guilabel
+> das configurações do Umbrello, disponível em <menuchoice
+><guimenu
+>Configurações</guimenu
+><guimenuitem
+>Configurar &umbrello;...</guimenuitem
+></menuchoice
+> </para>
+<para
+>Se você tiver configurado suas opções de Geração de Código para as configurações corretas e desejar gerar algum código da mesma maneira sem passar pelo assistente, você pode selecionar a entrada <guimenuitem
+>Gerar Todo Código</guimenuitem
+> no menu Código. Isto irá gerar código para todas as classes em seu Modelo usando suas configurações atuais (incluindo Pasta de Saída e Política de Sobrescrever, logo use com cuidado). </para>
+</sect3>
+</sect2
+><!--generate-code-->
+</sect1
+> <!--code-generation-->
+<sect1 id="code-import">
+<title
+>Importar Código</title>
+<para
+>O &umbrello; pode importar código fonte de seus projetos existentes para auxiliá-lo a construir o Modelo de seus sistemas. O &umbrello; 1.2 suporta somente código fonte C++, mas outras linguagens devem estar disponíveis em versões futuras. </para>
+<para
+>Para importar classes para seu Modelo, selecione a entrada <guimenuitem
+>Importar Classes...</guimenuitem
+> no menu <guimenu
+>Código</guimenu
+>. No diálogo de arquivo selecione os arquivos contendo as declarações de classe C++ e pressione OK. As classes serão importadas e você irá encontrá-las como parte de seu Modelo na Visão Árvore. Observe que o &umbrello; não criará nenhum tipo de Diagrama para mostrar suas classes, elas serão apenas importadas para seu Modelo e então você poderá usá-las mais tarde em qualquer diagrama que desejar. </para>
+<para>
+<screenshot>
+<screeninfo
+>Importar Código</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="code-import.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Menu para importação de código fonte no &umbrello;</phrase>
+ </textobject>
+ <caption>
+ <para
+>Menu para importação de código fonte no &umbrello; </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+</para>
+</sect1>
+</chapter
+> <!--code-import-generation-->
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/collaboration-diagram.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/collaboration-diagram.png
new file mode 100644
index 00000000000..fae108f01ec
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/collaboration-diagram.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/composition.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/composition.png
new file mode 100644
index 00000000000..5857dcd5ea5
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/composition.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/credits.docbook b/tde-i18n-pt_BR/docs/tdesdk/umbrello/credits.docbook
new file mode 100644
index 00000000000..6af0c223a0a
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/credits.docbook
@@ -0,0 +1,11 @@
+<chapter id="copyright">
+<title
+>Direitos de Cópia</title>
+
+<para
+>Direitos de Cópia 2001, Paul Hensgen</para>
+<para
+>Direitos de Cópia 2002, 2003 Os Autores do &umbrello;. Veja <ulink url="http://uml.sf.net/developers.php"
+>http://uml.sf.net/developers.php</ulink
+> para mais informações</para>
+&underFDL; &underGPL; </chapter>
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/folders.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/folders.png
new file mode 100644
index 00000000000..c2d6ac9173d
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/folders.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/generalization.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/generalization.png
new file mode 100644
index 00000000000..76eb7557e08
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/generalization.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/generation-options.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/generation-options.png
new file mode 100644
index 00000000000..8ade2b96cba
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/generation-options.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/index.cache.bz2 b/tde-i18n-pt_BR/docs/tdesdk/umbrello/index.cache.bz2
new file mode 100644
index 00000000000..80f199db767
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/index.cache.bz2
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/index.docbook b/tde-i18n-pt_BR/docs/tdesdk/umbrello/index.docbook
new file mode 100644
index 00000000000..52caa35986b
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/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 "tdesdk">
+ <!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 % Brazilian-Portuguese "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
+>Manual do &umbrello;</title>
+
+<authorgroup>
+<corpauthor
+>Autores do &umbrello;</corpauthor>
+</authorgroup>
+
+<copyright>
+<year
+>2001</year>
+<holder
+>Paul Hensgen</holder>
+</copyright>
+<copyright>
+<year
+>2002, 2003</year>
+<holder
+>Autores do &umbrello;</holder>
+</copyright>
+
+
+<date
+>2003-10-15</date>
+<releaseinfo
+>1.2</releaseinfo>
+
+<abstract>
+<para
+>O &umbrello; auxiliar o processo de desenvolvimento de software através do uso do padrão industrial da Linguagem de Modelagem Unificada (&UML;) para permitir-lhe criar diagramas para o desenvolvimento e documentação de seus sistemas. </para>
+</abstract>
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>UML</keyword>
+<keyword
+>modelando</keyword>
+<keyword
+>diagramas</keyword>
+<keyword
+>desenvolvimento de software</keyword>
+<keyword
+>desenvolvimento</keyword>
+</keywordset>
+
+</bookinfo>
+
+&introduction-chapter;
+&uml-basics-chapter;
+&working-with-umbrello-chapter;
+&code-import-and-generation-chapter;
+&other-features-chapter;
+&authors-chapter;
+&credits-chapter;
+
+</book>
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/introduction.docbook b/tde-i18n-pt_BR/docs/tdesdk/umbrello/introduction.docbook
new file mode 100644
index 00000000000..07bb0a128f2
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/introduction.docbook
@@ -0,0 +1,57 @@
+<chapter id="introduction">
+<title
+>Introdução</title>
+
+<para
+>O &umbrello; é uma ferramenta de diagrama &UML; que pode auxiliá-lo no processo de desenvolvimento de software. Especialmente durante as fases de análise e desenho, o &umbrello; lhe auxilia a obter um produto de alta qualidade. A &UML; pode também ser usada para documentar o desenho de seu software para auxiliá-lo e seus companheiros de desenvolvimento. </para>
+<para
+>Ter um bom modelo de seu software é a melhor maneira de comunicar-se com outros desenvolvedores que estão trabalhando no projeto e com seus clientes. Um bom modelo é extremamente importante para projetos de tamanho médio e grande, mas é também muito útil para projetos pequenos. Caso esteja trabalhando num projeto pequeno, de um desenvolvedor, você se beneficiará com um bom modelo porque ele lhe dará uma visão geral que lhe auxiliará a codificar as coisas da maneira correta na primeira vez. </para>
+<para
+>A &UML; é uma linguagem de diagramação usada para descrever modelos. Você pode representar suas idéias em &UML; usando diferentes tipos de diagramas. O &umbrello; 1.2 suporta os seguintes tipos: </para>
+<itemizedlist>
+<listitem
+><para
+>Diagrama de Classe</para
+></listitem>
+<listitem
+><para
+>Diagrama de Seqüência</para
+></listitem>
+<listitem
+><para
+>Diagrama de Colaboração</para
+></listitem>
+<listitem
+><para
+>Diagrama de Caso de Uso</para
+></listitem>
+<listitem
+><para
+>Diagrama de Estado</para
+></listitem>
+<listitem
+><para
+>Diagrama de Atividade</para
+></listitem>
+<listitem
+><para
+>Diagrama de Componente</para
+></listitem>
+<listitem
+><para
+>Diagrama de Distribuição</para
+></listitem>
+</itemizedlist>
+<para
+>Mais informações sobre &UML; podem ser encontradas no site web da <ulink url="http://www.omg.org"
+> <acronym
+>OMG</acronym
+>, http://www.omg.org.</ulink
+>, criadora do padrão &UML;. </para>
+<para
+>Nós esperamos que você goste do &umbrello; e que ele lhe auxilie a criar software de alta qualidade. O &umbrello; é um Software Livre e disponível gratuitamente, e a única coisa que lhe pedimos é reportar qualquer erro, problemas ou sugestões para os desenvolvedores do &umbrello; em <email
+>uml-devel@lists.sourceforge.net</email
+> ou <ulink url="http://bugs.kde.org"
+>http://bugs.kde.org</ulink
+>. </para>
+</chapter>
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/other_features.docbook b/tde-i18n-pt_BR/docs/tdesdk/umbrello/other_features.docbook
new file mode 100644
index 00000000000..3b7f43a2077
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/other_features.docbook
@@ -0,0 +1,76 @@
+<chapter id="other-features">
+<title
+>Outros Recursos</title>
+<sect1
+>
+<title
+>Outros Recursos do &umbrello;</title>
+<para
+>Este capítulo explanará sumariamente alguns outros recursos que o &umbrello; lhe oferece.</para>
+<sect2 id="copying-as-png">
+<title
+>Copiar objetos como imagens PNG</title>
+<para
+>Além de lhe oferecer as funcionalidades normais de copiar, cortar e colar que você espera para copiar objetos entre diagramas diferentes, o &umbrello; pode copiar os objetos como figuras PNG de modo que você possa inserí-las em outro tipo de documento. Você não precisa fazer nada em especial para usar este recurso, apenas selecione um objeto de um diagrama (Classe, Ator, &etc;) e copie-o (<keycombo
+>&Ctrl;<keycap
+>C</keycap
+></keycombo
+>, ou usando o menu), e então abra um documento &kword; (ou qualquer programa para o qual você possa colar imagens) e selecione <guimenuitem
+>Colar</guimenuitem
+>. Este é um grande recurso para exportar partes de seu diagrama como simples figuras. </para>
+</sect2>
+<sect2 id="export-as-png">
+<title
+>Exportando para uma Imagem</title>
+<para
+>Você pode também exportar um diagrama completo como uma imagem. A única coisa que você precisa fazer é selecionar o diagrama que você deseja exportar, e então a opção <guimenuitem
+>Exportar como Figura...</guimenuitem
+> no menu <guimenu
+>Diagrama</guimenu
+>. </para>
+</sect2>
+<sect2 id="printing">
+<title
+>Imprimindo</title>
+<para
+>O &umbrello; permite imprimir diagramas individuais. Pressionar o botão <guiicon
+>Imprimir</guiicon
+> na barra de ferramentas do aplicativo ou selecionar a opção <guimenuitem
+>Imprimir</guimenuitem
+> no menu <guimenu
+>Arquivo</guimenu
+> lhe trará o diálogo padrão de impressão do &kde; a partir do qual você pode imprimir seus diagramas. </para>
+</sect2>
+<sect2 id="logical-folders">
+<title
+>Pastas Lógicas</title>
+<para
+>Para melhor organizar o seu modelo, especialmente para grandes projetos, você pode criar pastas lógicas na Visão de Árvore. Apenas selecione a opção <menuchoice
+><guimenu
+>Nova</guimenu
+><guimenuitem
+>Pasta</guimenuitem
+></menuchoice
+> no menu de contexto das pastas padrão na Visão de Árvore para criá-las. Pastas podem ser aninhadas, e você pode mover objetos arrastando-os de uma pasta e soltando-os em outra. </para>
+
+<screenshot>
+<screeninfo
+>Organizando seu Modelo com Pastas</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="folders.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Organizando um Modelo com Pastas Lógicas no &umbrello;</phrase>
+ </textobject>
+ <caption>
+ <para
+>Organizando um Modelo com Pastas Lógicas no &umbrello; </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+
+</sect2>
+</sect1>
+</chapter>
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/sequence-diagram.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/sequence-diagram.png
new file mode 100644
index 00000000000..9b2f9ef21e5
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/sequence-diagram.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/state-diagram.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/state-diagram.png
new file mode 100644
index 00000000000..558523ba621
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/state-diagram.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/umbrello-main-screen.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/umbrello-main-screen.png
new file mode 100644
index 00000000000..7ec2a66ed4b
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/umbrello-main-screen.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/umbrello-ui-clean.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/umbrello-ui-clean.png
new file mode 100644
index 00000000000..d132c2a5fe5
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/umbrello-ui-clean.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/umbrello-ui.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/umbrello-ui.png
new file mode 100644
index 00000000000..bafe1092be7
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/umbrello-ui.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/uml_basics.docbook b/tde-i18n-pt_BR/docs/tdesdk/umbrello/uml_basics.docbook
new file mode 100644
index 00000000000..bba8624bafe
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/uml_basics.docbook
@@ -0,0 +1,782 @@
+<chapter id="uml-basics">
+<title
+>Fundamentos do &UML;</title>
+<sect1 id="about-uml">
+<title
+>Sobre o &UML;</title>
+<para
+>Este capítulo lhe fornecerá uma visão rápida dos fundamentos da &UML;. Tenha em mente que isto não é um tutorial detalhado sobre &UML;, mas apenas uma rápida introdução a &UML; que pode ser lida como um tutorial &UML;. Se você gostaria de aprender mais sobre a Linguagem de Modelagem Unificada, ou generalidades sobre análise e desenho de software, consulte um dos muitos livros disponíveis sobre o tópico. Existem também muitos tutoriais na Internet os quais você pode usar como ponto de partida. </para>
+
+<para
+>A Linguagem de Modelagem Unificada (Unified Modelling Language - &UML;) é uma linguagem de diagramação ou notação para especificar, visualizar e documentar modelos de sistemas de software Orientados à Objeto. A &UML; não é um método de desenvolvimento, o que significa que ela não diz para você o que fazer primeiro e em seguida ou como desenhar seu sistema, mas ele lhe auxilia a visualizar seu desenho e a comunicação entre objetos. A &UML; é controlada pelo Grupo de Gerenciamento de Objeto (Object Management Group - <acronym
+>OMG</acronym
+>) e é um padrão da indústria para descrever graficamente software. </para>
+<para
+>A &UML; é voltada para o desenho de software Orientado à Objeto e tem um uso limitado para outros paradigmas de programação. </para>
+<para
+>A &UML; é composta por muitos elementos de modelo que representam as diferentes partes de um sistema de software. Os elementos &UML; são usados para criar diagramas, que representam um determinada parte, ou um ponto de vista do sistema. Os seguintes tipos de diagramas são suportados pelo &umbrello;: </para>
+
+<itemizedlist>
+
+<listitem
+><para
+><emphasis
+><link linkend="use-case-diagram"
+>Diagrama de Caso de Uso</link
+></emphasis
+> mostra atores (pessoas ou outros usuários do sistema), casos de uso (os cenários onde eles usam o sistema), e seus relacionamentos</para
+> </listitem>
+
+<listitem
+><para
+><emphasis
+><link linkend="class-diagram"
+>Diagrama de Classe</link
+></emphasis
+> mostra classes e os relacionamentos entre elas</para
+> </listitem>
+
+<listitem
+><para
+><emphasis
+><link linkend="sequence-diagram"
+>Diagrama de Seqüência</link
+></emphasis
+> mostra objetos e uma seqüência das chamadas do método feitas para outros objetos.</para
+> </listitem>
+
+<listitem
+><para
+><emphasis
+><link linkend="collaboration-diagram"
+>Diagrama de Colaboração</link
+></emphasis
+> mostra objetos e seus relacionamentos, colocando ênfase nos objetos que participam na troca de mensagens</para>
+</listitem>
+
+<listitem
+><para
+><emphasis
+><link linkend="state-diagram"
+>Diagrama de Estado</link
+></emphasis
+> mostra estados, mudanças de estado e eventos num objeto ou uma parte do sistema</para
+> </listitem>
+
+<listitem
+><para
+><emphasis
+><link linkend="activity-diagram"
+>Diagrama de Atividade</link
+></emphasis
+> mostra atividades e as mudanças de uma atividade para outra com os eventos ocorridos em alguma parte do sistema</para
+></listitem>
+
+<listitem
+><para
+><emphasis
+><link linkend="component-diagram"
+>Diagrama de Componente</link
+></emphasis
+> mostra os componentes de programação de alto nível (como KParts ou Java Beans).</para
+></listitem>
+
+<listitem
+><para
+><emphasis
+><link linkend="deployment-diagram"
+>Diagrama de Distribuição</link
+></emphasis
+> mostra as instâncias dos componentes e seus relacionamentos.</para
+></listitem
+>
+
+</itemizedlist>
+
+</sect1
+> <!-- about-uml -->
+
+<sect1 id="uml-elements"
+>
+<title
+>Elementos &UML;</title>
+<sect2 id="use-case-diagram">
+<title
+>Diagrama de Caso de Uso</title>
+<para
+>Diagramas de Caso de Uso descrevem relacionamentos e dependências entre um grupo de <emphasis
+>Caso de Uso</emphasis
+> e os Atores participantes no processo.</para>
+<para
+>É importante observar que Diagramas de Caso de Uso não são adequados para representar o desenho, e não podem descrever os mecanismos internos de um sistema. Diagramas de Caso de Uso são feitos para facilitar a comunicação com os futuros usuários do sistema, e com o cliente, e são especialmente úteis para determinar os recursos necessários que o sistema deve ter. Diagramas de Caso de Uso dizem <emphasis
+>o quê</emphasis
+> o sistema deve fazer, mas não fazem &mdash; e não podem &mdash; especificar <emphasis
+>como</emphasis
+> isto será conseguido.</para>
+<para>
+<screenshot>
+<screeninfo
+>Um exemplo de Diagrama de Caso de Uso.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="use-case-diagram.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>O &umbrello; mostrando um Diagrama de Caso de Uso</phrase>
+ </textobject>
+ <caption>
+ <para
+>O &umbrello; mostrando um Diagrama de Caso de Uso </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+</para>
+<sect3 id="use-case">
+<title
+>Caso de Uso</title>
+<para
+>Um <emphasis
+>Caso de Uso</emphasis
+> descreve &mdash; do ponto de vista dos atores &mdash; um grupo de atividades num sistema que produz um resultado concreto e tangível.</para>
+<para
+>Casos de Uso são descrições de interações típicas entre os usuários de um sistema e o sistema propriamente dito. Eles representam a interface externa do sistema e especificam um conjunto de exigências do que o sistema deve fazer (lembre-se: somente o quê, não como). </para>
+<para
+>Quando trabalhar com Casos de Uso, é importante lembrar-se de algumas regras simples: <itemizedlist>
+ <listitem
+><para
+>Cada Caso de Uso está relacionado com no mínimo um ator</para
+></listitem>
+ <listitem
+><para
+>Cada Caso de Uso possui um iniciador (&ie; um ator)</para
+></listitem>
+ <listitem
+><para
+>Cada Caso de Uso liga-se a um resultado relevante (um resultado com <quote
+>valor de negócio</quote
+>)</para>
+ </listitem>
+ </itemizedlist>
+</para>
+<para
+>Casos de Uso também podem ter relacionamentos com outros Casos de Uso. Os três tipos mais comuns de relacionamento entre Casos de Uso são:</para>
+<itemizedlist>
+<listitem
+><para
+><emphasis
+>&lt;&lt;inclui-se&gt;&gt;</emphasis
+> que especifica que um Caso de Uso toma lugar <emphasis
+>dentro</emphasis
+> de outro Caso de Uso</para
+></listitem>
+<listitem
+><para
+><emphasis
+>&lt;&lt;estende&gt;&gt;</emphasis
+> que especifica que em determinadas situações, ou em algum ponto (chamado um ponto de extensão) um Caso de Uso será estendido por outro.</para
+></listitem>
+<listitem
+><para
+><emphasis
+>Generalização</emphasis
+> especifica que um Caso de Uso herda as características do <quote
+>Super</quote
+> Caso de Uso, e pode sobrepor algumas delas ou adicionar novas de maneira semelhante a herança entre classes. </para>
+</listitem>
+</itemizedlist>
+</sect3>
+<sect3 id="actor">
+<title
+>Ator</title>
+<para
+>Um ator é uma entidade externa (fora do sistema) que interage com o sistema participando (e freqüentemente iniciando) um Caso de Uso. Atores podem ser pessoas reais (por exemplo usuários do sistema), outro sistema de computador ou eventos externos. </para>
+<para
+>Atores não representam as pessoa <emphasis
+>física</emphasis
+> ou sistemas, mas sua <emphasis
+>regra</emphasis
+>. Isto significa que quando uma pessoa interage com o sistema de diferentes maneiras (assumindo diferentes regras) ela será representada por diversos atores. Por exemplo um pessoa que fornece suporte ao cliente por telefone e recebe ordens do cliente para o sistema pode ser representado por um ator da <quote
+>Equipe de Suporte</quote
+> e um ator <quote
+>Representante de Vendas</quote
+> </para>
+</sect3>
+<sect3 id="use-case-description">
+<title
+>Descrição do Caso de Uso</title>
+<para
+>Descrição do Caso de Uso são narrativas de texto do Caso de Uso. Elas usualmente tomam a forma de uma nota ou um documento que é de alguma maneira ligado ao Caso de Uso, e explana o processo ou atividades que tomarão lugar no Caso de Uso. </para>
+</sect3>
+</sect2
+> <!-- use-case-diagram -->
+
+<sect2 id="class-diagram">
+<title
+>Diagrama de Classe</title>
+<para
+>Diagramas de Classe mostram as diferentes classes que fazem um sistema e como elas se relacionam. Os Diagramas de Classe são chamados diagramas <quote
+>estáticos</quote
+> porque mostram as classes, com seus métodos e atributos bem como os relacionamentos estáticos entre elas: quais classes <quote
+>conhecem</quote
+> quais classes ou quais classes <quote
+>são parte</quote
+> de outras classes, mas não mostram a troca de mensagens entre elas. </para>
+<para>
+<screenshot>
+<screeninfo
+>Um exemplo de um Diagrama de Classe</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="class-diagram.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>O &umbrello; mostrando um Diagrama de Classe</phrase>
+ </textobject>
+ <caption>
+ <para
+>O &umbrello; mostrando um Diagrama de Classe </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+</para>
+<sect3 id="class">
+<title
+>Classe</title>
+<para
+>Um Classe define os atributos e os métodos de um conjunto de objetos. Todos os objetos desta classe (instâncias desta classe) compartilham o mesmo comportamento, e possuem o mesmo conjunto de atributos (cada objeto possui seu próprio conjunto). O termo <quote
+>Tipo</quote
+> é algumas vezes usado ao invés de Classe, mas é importante mencionar que estes dois termos não são a mesma coisa, e Tipo é um termo mais genérico. </para>
+<para
+>Em &UML; Classes são representadas por retângulos, com o nome da classe, e podem também mostrar os atributos e operações da classe em dois outros <quote
+>compartimentos</quote
+> dentro do retângulo. </para>
+<para>
+<screenshot>
+<screeninfo
+>Uma Classe em &UML;</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="class.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Representação visual de uma Classe em &UML;</phrase>
+ </textobject>
+ <caption>
+ <para
+>Representação visual de uma Classe em &UML; </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+</para>
+<sect4 id="attribute">
+<title
+>Atributos</title>
+<para
+>Na &UML;, atributos são mostrados com pelo menos seu nome, e podem também mostrar seu tipo, valor inicial e outras propriedades. Atributos podem também ser exibidos com sua visibilidade: </para>
+<itemizedlist>
+<listitem
+><para
+><literal
+>+</literal
+> indica atributos <emphasis
+>públicos</emphasis
+></para
+></listitem>
+<listitem
+><para
+><literal
+>#</literal
+> indica atributos <emphasis
+>protegidos</emphasis
+></para
+></listitem>
+<listitem
+><para
+><literal
+>-</literal
+> indica atributos <emphasis
+>privados</emphasis
+></para
+></listitem>
+</itemizedlist>
+</sect4>
+<sect4 id="operation">
+<title
+>Operações</title>
+<para
+>Operações (métodos) também são exibidos com pelo menos seu nome, e podem também mostrar seus parâmetros e valores de retorno. Operações podem, como os Atributos, mostras sua visibilidade: <itemizedlist>
+<listitem
+><para
+><literal
+>+</literal
+> indica operações <emphasis
+>públicas</emphasis
+></para
+></listitem>
+<listitem
+><para
+><literal
+>#</literal
+> indica operações <emphasis
+>protegidas</emphasis
+></para
+></listitem>
+<listitem
+><para
+><literal
+>-</literal
+> indica operações <emphasis
+>privadas</emphasis
+></para
+></listitem>
+</itemizedlist>
+</para>
+</sect4>
+
+<sect4 id="templates">
+<title
+>Modelos</title>
+<para
+>Classes podem ter modelos, um valor que é usado para uma classe ou tipo não especificado. O tipo de modelo é especificado quando uma classe é iniciada (&ie; um objeto é criado). Modelos existem no C++ moderno e foram introduzidos no Java 1.5 onde eles são chamados de Genéricos. </para>
+</sect4>
+</sect3>
+
+<sect3 id="class-associations">
+<title
+>Associações de Classe</title>
+<para
+>Classes podem relacionar-se (ser associada com) com outras de diferentes maneiras:</para>
+<sect4 id="generalization">
+<title
+>Generalização</title>
+<para
+>Herança é um dos conceitos fundamentais da programação Orientada à Objeto, na qual uma classe <quote
+>herda</quote
+> todos os atributos e operações da classe da qual deriva, e pode sobrescrever/modificar alguns deles, bem como adicionar mais atributos e operações próprios.</para>
+<para
+>EM &UML;, uma associação <emphasis
+>Generalização</emphasis
+> entre duas classes coloca-as numa hierarquia representando o conceito de herança de uma classe derivada de uma classe base. Em &UML;, Generalizações são representadas por uma linha conectando duas classes, com uma seta no lado da classe base. <screenshot>
+<screeninfo
+>Generalização</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="generalization.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Representação visual de uma generalização em &UML;</phrase>
+ </textobject>
+ <caption>
+ <para
+>Representação visual de uma generalização em &UML; </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+</para>
+</sect4>
+
+<sect4 id="uml-associations">
+<title
+>Associações</title>
+<para
+>Um associação representa um relacionamento entre classes, e fornece a semântica comum e a estrutura para muitos tipos de <quote
+>conexões</quote
+> entre objetos.</para>
+<para
+>Associações são o mecanismo que permite objetos comunicarem-se entre si. Elas descrevem a conexão entre diferentes classes (a conexão entre os objetos atuais é chamada conexão do objeto, ou <emphasis
+>link</emphasis
+>. </para>
+<para
+>Associações podem ter um regra que especifica o propósito da associação e pode ser uni ou bidirecional (indicadando se os dois objetos participantes do relacionamento podem mandar mensagens para o outro, ou se apenas um deles sabe sobre o outro). Cada ponta da associação também possui uma valor de multiplicidade, que dita como muitos objetos neste lado da associação pode relacionar-se com o outro lado. </para>
+<para
+>Em &UML;, associações são representadas como linhas conectando as classes participantes do relacionamento, e podem também mostrar a regra e a multiplicidade de cada um dos participantes. A multiplicidade é exibida como um intervalo [min...máx] de valores não negativos, com uma estrela (<literal
+>*</literal
+>) no lado máximo representando infinito. <screenshot>
+<screeninfo
+>Associação &UML;</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="association.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Representação visual de uma Associação em &UML;</phrase>
+ </textobject>
+ <caption>
+ <para
+>Representação visual de uma Associação em &UML; </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+</para>
+</sect4>
+
+<sect4 id="aggregation">
+<title
+>Agregação</title>
+<para
+>Agregações são um tipo especial de associação no qual as duas classes participantes não possuem em nível igual, mas fazem um relacionamento <quote
+>todo-parte</quote
+>. Uma Agregação descreve como a classe que possui a regra do todo, é composta (tem) de outras classes, que possuem a regra das partes. Para Agregações, a classe que age como o todo sempre tem uma multiplicidade de um. </para>
+<para
+>Em &UML;, Agregações são representadas por uma associação que mostra um rombóide no lado do todo. <screenshot>
+<screeninfo
+>Agregação</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="aggregation.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Representação visual de um relacionamento Agregação em &UML;</phrase>
+ </textobject>
+ <caption>
+ <para
+>Representação visual de um relacionamento Agregação em &UML; </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+</para>
+</sect4>
+<sect4 id="composition">
+<title
+>Composição</title>
+<para
+>Composições são associações que representam agregações <emphasis
+>muito fortes</emphasis
+>. Isto significa que Composições formam relacionamentos todo-parte também, mas o relacionamento é tão forte que as partes não pode existir independentes. Elas existem somente dentro do todo, e se o todo é destruído as partes morrem também.</para>
+<para
+>Em &UML;, Composições são representadas por um rombóide sólido no lado do todo. </para>
+<para
+><screenshot>
+<screeninfo
+>Composição</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="composition.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Representação visual de um relacionamento Composição em &UML;</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot
+></para>
+</sect4>
+</sect3
+> <!--class-associations-->
+
+<sect3 id="other-class-diagram-items">
+<title
+>Outros Ítens do Diagrama de Classe</title>
+<para
+>Diagramas de Classe podem conter diversos outros ítens além das classes.</para>
+<sect4 id="interfaces">
+<title
+>Interfaces</title>
+<para
+>Interfaces são classes abstratas que significam instâncias que não podem ser diretamente criadas delas. Elas podem conter operações mas não podem conter atributos. Classes podem derivar de interfaces (através da realização de uma associação) e instâncias podem então ser feitas destes diagramas.</para>
+<!-- FIXME screenshot -->
+</sect4>
+<sect4 id="datatype">
+<title
+>Tipos de dados</title>
+<para
+>Tipos de dados são primitivos uma vez que são tipicamente construídos numa linguagem de programação. Exemplos comuns são inteiros e lógicos. Eles não podem ser relacionados à classes mas classes pode se relacionar com eles.</para>
+<!-- FIXME screenshot -->
+</sect4>
+<sect4 id="enum">
+<title
+>Enumerações</title>
+<para
+>Enumerações são uma lista simples de valores. Um exemplo típico é uma enumeração para dias da semana. As opções de uma enumeração são chamadas Literais de Enumeração. Como tipos de dados, elas não podem ter relacionamentos para classes mas classes podem relacionar-se com elas.</para>
+<!-- FIXME screenshot -->
+</sect4>
+<sect4 id="package">
+<title
+>Pacotes</title>
+<para
+>Pacotes representam um espaço de nomes numa linguagem de programação. Num diagrama eles são usados para representar partes de um sistema que contém mais de uma classe, talvez centenas de classes.</para>
+<!-- FIXME screenshot -->
+</sect4>
+</sect3>
+
+</sect2
+> <!-- class diagram -->
+
+<sect2 id="sequence-diagram">
+<title
+>Diagramas de Seqüência</title>
+
+<para
+>Diagramas de Seqüência mostram a troca de mensagens (&ie; chamada de método) entre diversos Objetos, numa situação específica e delimitada no tempo. Objetos são instâncias de classes. Diagramas de Seqüência colocam ênfase especial na ordem e nos momentos nos quais mensagens para os objetos são enviadas.</para>
+
+<para
+>Em Diagramas de Seqüência objetos são representados através de linhas verticais tracejadas, com o nome do Objeto no topo. O eixo do tempo é também vertical, aumentando para baixo, de modo que as mensagens são enviadas de um Objeto para outro na forma de setas com a operação e os nomes dos parâmetros. </para>
+
+<!-- FIXME update screenshot to show synchronous messages -->
+<screenshot>
+<screeninfo
+>Diagrama de Seqüência</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="sequence-diagram.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>O &umbrello; mostrando um Diagrama de Seqüência</phrase>
+ </textobject>
+ <caption>
+ <para
+>O &umbrello; mostrando um Diagrama de Seqüência </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+
+<para
+>Mensagens pode ser síncronas, o tipo normal de mensagem de chamada onde o controle é passado para o objeto chamado até o método ter terminado sua execução, ou assíncronas onde o controle é passado diretamente para o objeto chamado. Mensagens síncronas possui uma caixa vertical no lado do objeto chamado para mostrar o controle do fluxo do programa.</para>
+</sect2
+> <!-- sequence diagrams -->
+
+<sect2 id="collaboration-diagram">
+<title
+>Diagramas de Colaboração</title>
+
+<para
+>Diagramas de Colaboração mostram as interações que ocorrem entre os objetos participantes numa situação específica. Isto é mais ou menos a mesma informação mostrada pelos Diagramas de Seqüência, mas neste a ênfase é colocada em como as interações ocorrem no tempo, enquanto os Diagramas de Colaboração colocam os relacionamentos entre os objetos e sua topologia em destaque.</para>
+
+<para
+>Em Diagramas de Colaboração as mensagens enviadas de um objeto para outro são representadas por setas, mostrando o nome da mensagem, parâmetros, e a seqüência da mensagem. Diagramas de Colaboração são especialmente indicados para mostrar um fluxo ou situação específica do programa e são um dos melhores tipos de diagrama para rapidamente demonstrar ou explanar um processo na lógica do programa. </para>
+
+<screenshot>
+<screeninfo
+>Colaboração</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="collaboration-diagram.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>O &umbrello; mostrando um Diagrama de Colaboração</phrase>
+ </textobject>
+ <caption>
+ <para
+>O &umbrello; mostrando um Diagrama de Colaboração </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+
+</sect2
+> <!-- collaboration diagrams -->
+
+<sect2 id="state-diagram">
+<title
+>Diagrama de Estado</title>
+<para
+>Diagramas de Estado mostram os diferentes estados de um Objeto durante sua vida, e o estímulo que faz com que o Objeto mude seu estado. </para
+>
+<para
+>Diagramas de Estado vêem Objetos como <emphasis
+>máquinas de estado</emphasis
+> ou automatismos finitos que podem ser um de um conjunto de estados finitos e que podem mudar seu estado através de um de um conjunto finito de estímulos. Por exemplo um tipo de Objeto <emphasis
+>ServidorRede</emphasis
+> pode estar em um dos seguintes estados durante sua vida: </para>
+<itemizedlist>
+<listitem
+><para
+>Pronto</para
+></listitem>
+<listitem
+><para
+>Ouvindo</para
+></listitem>
+<listitem
+><para
+>Trabalhando</para
+></listitem>
+<listitem
+><para
+>Parado</para
+></listitem>
+</itemizedlist>
+<para
+>e os eventos que podem fazer com que o Objeto mude de estado são</para>
+<itemizedlist>
+<listitem
+><para
+>Objeto é criado</para
+></listitem>
+<listitem
+><para
+>Objeto recebe mensagem ouvir</para
+></listitem>
+<listitem
+><para
+>Um Cliente solicita uma conexão através da rede</para
+></listitem>
+<listitem
+><para
+>Um Cliente termina um pedido</para
+></listitem>
+<listitem
+><para
+>O pedido é executado e terminado</para
+></listitem>
+<listitem
+><para
+>Objeto recebe mensagem parar</para
+></listitem>
+<listitem
+><para
+>etc</para
+></listitem>
+</itemizedlist>
+<para>
+<screenshot>
+<screeninfo
+>Diagrama de Estado</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="state-diagram.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>O &umbrello; mostrando um Diagrama de Estado</phrase>
+ </textobject>
+ <caption>
+ <para
+>O &umbrello; mostrando um Diagrama de Estado </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+</para>
+<sect3 id="state">
+<title
+>Estado</title>
+<para
+>Estados são os blocos construídos dos Diagramas de Estado. Um Estado pertence a exatamente uma classe e representa um resumo dos valores dos atributos que uma classe pode tomar. Um Estado &UML; descreve o estado interno de um objeto para uma classe em particular </para
+>
+<para
+>Observe que nem toda mudança em um dos atributos de um objeto pode ser representada por um Estado mas somente aquelas mudanças que podem afetar significativamente o trabalho do objeto</para>
+<para
+>Existem dois tipos especiais de Estados: Inicial e Final. Eles são especiais porque nenhum evento pode fazer com que um Objeto retorne para seu estado Inicial, e da mesma maneira nenhum evento pode tirar um Objeto de seu estado Final uma vez que ele já o tenha alcançado. </para>
+</sect3>
+
+</sect2
+> <!-- state diagrams -->
+
+<sect2 id="activity-diagram">
+<title
+>Diagrama de Atividade</title>
+<para
+>O Diagrama de Atividade descreve a seqüência de atividades num sistema com a ajuda as Atividades. Diagramas de Atividade são uma forma especial de Diagramas de Estado, que somente (ou principalmente) contém Atividades. </para>
+<para>
+<screenshot>
+<screeninfo
+>Um exemplo de um Diagrama de Atividade.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="activity-diagram.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>O &umbrello; mostrando um Diagrama de Atividade</phrase>
+ </textobject>
+ <caption>
+ <para
+>O &umbrello; mostrando um Diagrama de Atividade </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+</para>
+<para
+>Diagramas de Atividade são similares as Diagramas de Fluxo de procedimentos, com a diferença de que todas as Atividades são claramente anexas aos Objetos.</para>
+
+<para
+>Diagramas de Atividade são sempre associados a um <emphasis
+>Classe</emphasis
+>, uma <emphasis
+>Operação</emphasis
+> ou um <emphasis
+>Caso de Uso</emphasis
+>.</para>
+
+<para
+>Diagramas de Atividade suportam Atividades seqüenciais bem como paralelas. A execução paralela é representada pelos ícones Forquilha/Esperar, e para as Atividades executadas em paralelo, não é importante a ordem na qual elas se executam (elas podem ser executadas ao mesmo tempo ou uma após a outra).</para>
+<sect3 id="activity">
+<title
+>Atividade</title>
+<para
+>Uma Atividade é um passo simples num processo. Uma Atividade é um estado no sistema com atividade interna e, pelo menos, uma transição de saída. Atividades podem também ter mais de uma transição de saída se elas possuem condições diferentes. </para
+>
+<para
+>Atividades podem formar hierarquias, isto significa que uma Atividade pode ser composta por diversas Atividades em <quote
+>detalhe</quote
+>, na qual as transições de entrada e saída devem corresponder às transições de entrada e saída do diagrama de detalhe. </para>
+
+</sect3>
+</sect2
+> <!-- activity diagram -->
+
+<sect2 id="helper-elements">
+<title
+>Elementos Auxiliares</title>
+<para
+>Existem dois elementos em &UML; que não possuem nenhum valor real semântico para o modelo, mas auxiliam a elucidar partes do diagrama. Estes elementos são </para>
+<itemizedlist>
+<listitem
+><para
+>Linhas de texto</para
+></listitem>
+<listitem
+><para
+>Notas de Texto e âncoras</para
+></listitem>
+<listitem
+><para
+>Caixas</para
+></listitem>
+</itemizedlist
+>
+<para
+>Linhas de texto são úteis para adicionar informações curtas de texto ao diagrama. São textos livres e não possuem nenhum significado para o Modelo propriamente dito. </para
+>
+
+<para
+>Notas são úteis para adicionar informações mais detalhadas sobre um objeto ou situação específica. Elas possuem a grande vantagem de poderem ser ancoradas a Elementos &UML; para mostrar que a nota <quote
+>pertence</quote
+> a um objeto específico ou situação. </para>
+
+<para
+>Caixas são retângulos de forma livre que podem ser usados para agrupar ítens tornando os diagramas mais legíveis. Eles não possuem nenhum significado lógico no modelo.</para>
+
+<!-- FIXME, screenshot -->
+</sect2
+> <!-- helper elements -->
+
+<sect2 id="component-diagram">
+<title
+>Diagramas de Componente</title>
+<para
+>Diagramas de Componente mostram os componentes do software (sejam componentes de tecnologias como KParts, componentes CORBA ou Java Beans ou apenas seções do sistema que são claramente distintas) e os artefatos de que eles são feitos como arquivos de código fonte, bibliotecas de programação ou tabelas de bancos de dados relacionais.</para>
+
+<para
+>Componentes pode possui interfaces (&ie; classes abstratas com operações) que permitem associações entre componentes.</para>
+</sect2>
+
+<sect2 id="deployment-diagram">
+<title
+>Diagramas de Distribuição</title>
+
+<para
+>Diagramas de distribuição mostram as instâncias dos componentes de tempo de execução e suas associações. Eles incluem Nós que são recursos físicos, tipicamente um computador simples. Eles também mostram interfaces e objetos (instâncias da classe).</para>
+
+</sect2>
+
+</sect1
+>
+</chapter>
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/use-case-diagram.png b/tde-i18n-pt_BR/docs/tdesdk/umbrello/use-case-diagram.png
new file mode 100644
index 00000000000..b7b0d30bfec
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/use-case-diagram.png
Binary files differ
diff --git a/tde-i18n-pt_BR/docs/tdesdk/umbrello/working_with_umbrello.docbook b/tde-i18n-pt_BR/docs/tdesdk/umbrello/working_with_umbrello.docbook
new file mode 100644
index 00000000000..178c56ebf29
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/tdesdk/umbrello/working_with_umbrello.docbook
@@ -0,0 +1,413 @@
+<chapter id="working-with-umbrello">
+<title
+>Trabalhando com o &umbrello;</title>
+<!-- Umbrello basics: creating diagrams, creating classes, adding objects to diagrams,
+ associations, editing properties, anchor points in associations, removing objects, removing
+ diagrams
+-->
+
+<para
+>Este capítulo lhe introduzirá na interface com o usuário do &umbrello; e lhe dirá tudo que você precisa saber para iniciar um modelo. Todas as ações no &umbrello; estão acessíveis através do menu e das barras de ferramentas, mas o &umbrello; também faz uso intensivo de menus de contexto do &RMB;. Você pode clicar o &RMB; na maioria dos elementos da área de trabalho do &umbrello; ou visão de árvore para obter um menu com as funções mais úteis que podem ser aplicadas ao elemento em particular que você está trabalhando. Alguns usuários acharão isto um pouco confuso no início, porque eles estão mais acostumados a trabalhar com o menu ou barras de ferramentas, mas uma vez que você acostume-se a usar o clique <mousebutton
+>direito</mousebutton
+>, isto aumentará significativamente a velocidade do seu trabalho. </para>
+
+<sect1 id="user-interface">
+<title
+>Interface com o Usuário</title>
+<para
+>A janela principal do &umbrello; é dividida em três áreas que lhe auxiliam a manter uma visão geral de todo sistema e acessar os diferentes diagramas rapidamente enquanto trabalha em seu modelo. </para>
+<para
+>Estas áreas são chamadas:</para>
+<itemizedlist>
+<listitem
+><para
+>Visão de Árvore</para
+></listitem>
+<listitem
+><para
+>Área de Trabalho</para
+></listitem>
+<listitem
+><para
+>Janela de Documentação</para
+></listitem>
+</itemizedlist>
+
+<screenshot>
+<screeninfo
+>Interface com o Usuário do &umbrello;</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="umbrello-ui.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Interface com o Usuário do &umbrello;</phrase>
+ </textobject>
+ <caption>
+ <para
+>Interface com o Usuário do &umbrello; </para>
+ </caption>
+ </mediaobject>
+</screenshot>
+
+<sect2 id="tree-view">
+<title
+>Visão de Árvore</title>
+<para
+>A Visão de Árvore é localizada na parte superior esquerda da janela, e mostra todos os diagramas, classes, atores e casos de uso que compuserem o seu modelo. A Visão de Árvore lhe permite ter uma rápida visão geral dos elementos componentes de seu modelo. A Visão de Árvore também lhe fornece uma maneira rápida de alternar entre os diferentes diagramas em seu modelo e inserir elementos de seu modelo no diagrama atual. </para>
+<para
+>Se você está trabalhando em um modelo com mais do que algumas poucas classes e diagramas, a Visão de Árvore pode auxiliá-lo a manter no topo as coisas organizando seus elementos do modelo em pastas. Você pode criar pastas selecionando a opção apropriada no menu de contexto (clique &RMB; em uma das pastas na visão de árvore) e você pode organizar seus elementos movendo-os para a pasta apropriada (arrastar e soltar) </para>
+</sect2>
+
+<sect2 id="documentation-window">
+<title
+>Janela de Documentação</title>
+<para
+>A Janela de Documentação é a pequena janela localizada na parte inferior esquerda do &umbrello;, e ela lhe fornece uma rápida previsão da documentação para o ítem atualmente selecionado. A Janela de Documentação é um pouco pequena porque ela pretende permitir-lhe apenas uma rápida observação dos elementos da documentação ocupando o menor espaço possível. Se você precisar ver a documentação em mais detalhes você pode sempre abrir as propriedades do ítem. </para>
+</sect2>
+<sect2 id="work-area">
+<title
+>Área de Trabalho</title>
+<para
+>A Área de Trabalho é a janela principal do &umbrello;, e é onde as ações reais ocorrem. Você usa a Área de Trabalho para editar e ver os diagramas em seu modelo. A Área de Trabalho mostra o diagrama atualmente ativo. Atualmente somente um diagrama pode ser mostrado na Área de Trabalho de cada vez. </para>
+</sect2>
+</sect1
+> <!--user-interface-->
+<sect1 id="load-save">
+<title
+>Criando, Carregando e Salvando Modelos</title>
+<para
+>A primeira coisa que você precisa para iniciar a fazer algo útil com o &umbrello; é criar um modelo para trabalho. Quando você inicia o &umbrello; ele sempre carrega o último modelo usado ou cria um novo modelo vazio (dependendo de suas configurações de preferências no diálogo de configuração). Isto lhe permitirá iniciar trabalhando rapidamente. </para>
+<sect2 id="new-model">
+<title
+>Novo Modelo</title>
+<para
+>Se a qualquer momento você precisar criar um novo modelo você pode fazer isto selecionando a entrada <guimenuitem
+>Novo</guimenuitem
+> no menu <guimenu
+>Arquivo</guimenu
+>, ou clicando o ícone <guiicon
+>Novo</guiicon
+> na barra de ferramentas do aplicativo. Se você estiver trabalhando no momento em um modelo que foi modificado, o &umbrello; lhe perguntará se deseja salvar as mudanças antes de carregar o novo modelo. </para>
+</sect2>
+<sect2 id="save-model">
+<title
+>Salvar Modelo</title>
+<para
+>Você pode salvar seu modelo a qualquer momento selecionando a opção <guimenuitem
+>Salvar</guimenuitem
+> do Menu <guimenu
+>Arquivo</guimenu
+> ou clicando no botão <guiicon
+>Salvar</guiicon
+> na barra de ferramentas do aplicativo. Se você precisar salvar seu modelo com um nome diferente você pode usar a opção <guimenuitem
+>Salvar Como</guimenuitem
+> no Menu <guimenu
+>Arquivo</guimenu
+>. </para>
+<para
+>Para sua conveniência, o &umbrello; também oferece a opção de salvar automaticamente seu trabalho a cada período de tempo determinado. Você pode configurar se deseja esta opção bem como o intervalo de tempo nas <guimenu
+>Configurações</guimenu
+> do &umbrello;</para>
+</sect2>
+<sect2 id="load-model">
+<title
+>Carregar Modelo</title>
+<para
+>Para carregar um modelo já existente você pode selecionar a opção <guimenuitem
+>Abrir</guimenuitem
+> no Menu <guimenu
+>Arquivo</guimenu
+> ou clicar no ícone <guiicon
+>Abrir</guiicon
+> na barra de ferramentas do aplicativo. Os modelos mais recentemente usados também estão disponíveis no submenu <guimenuitem
+>Abrir Recente</guimenuitem
+> do Menu <guimenu
+>Arquivo</guimenu
+> para acelerar o acesso aos seus modelos mais freqüentemente usados. </para>
+<para
+>O &umbrello; pode trabalhar com somente um modelo por vez, logo se você pedir que o programa carregue um modelo e o modelo atual foi modificado desde a última vez que você o salvou, o &umbrello; lhe perguntará se suas mudanças devem ser salvas para evitar qualquer perda de seu trabalho. Você pode iniciar duas ou mais instâncias do &umbrello; ao mesmo tempo, de modo que você possa copiar e colar entre as instâncias. </para>
+</sect2>
+</sect1
+> <!--load-save-->
+<sect1 id="edit-model">
+<title
+>Editando Modelos</title>
+<para
+>No &umbrello;, existem basicamente duas maneiras de editar os elementos em seu modelo. <itemizedlist>
+<listitem
+><para
+>Editar elementos do modelo diretamente através da Visão de Árvore</para
+></listitem>
+<listitem
+><para
+>Editar elementos do modelo através de um Diagrama</para
+></listitem>
+</itemizedlist>
+</para>
+<para
+>Usando o menu de contexto dos diferentes ítens na Visão de Árvore você será capaz de adicionar, remover e modificar a maioria dos elementos em seu modelo. Clique <mousebutton
+>direito</mousebutton
+> nas pastas na Visão de Árvore lhe fornecerá as opções para criação dos diferentes tipos de diagramas bem como, dependendo se a pasta é uma <emphasis
+>Visão de Caso de Uso</emphasis
+> ou uma <emphasis
+>Visão Lógica</emphasis
+>, Atores, Casos de Uso, Classes, etc. </para>
+<para
+>Uma vez que você tenha adicionado elementos ao seu modelo você pode também editá-los acessando seus diálogos de propriedades, que será encontrado selecionando a opção <emphasis
+>Propriedades</emphasis
+> no menu de contexto mostrado quando der um clique <mousebutton
+>direito</mousebutton
+> nos ítens na Visão de Árvore. </para>
+<para
+>Você pode também editar seu modelo criando e modificando elementos pelos diagramas. Mais detalhes sobre como fazer isto são fornecidos nas seguintes seções. </para>
+</sect1>
+<sect1 id="add-remove-diagrams">
+<title
+>Adicionando e Removendo Diagramas</title>
+<para
+>Seu modelo &UML; consiste de um conjunto de elementos &UML; e associações entre eles. No entanto você não pode ver o modelo diretamente, você usa os <emphasis
+>Diagramas</emphasis
+> para vê-lo. </para>
+<sect2 id="create-diagram">
+<title
+>Criando Diagramas</title>
+<para
+>Para criar um novo diagrama em seu modelo simplesmente selecione o tipo de diagrama que você deseja a partir do submenu <guimenuitem
+>Novo</guimenuitem
+> no menu <guimenu
+>Diagrama</guimenu
+> e dê um nome a ele. O diagrama será criada e tornado ativo, e você imediatamente o verá na visão de árvore. </para>
+<para
+>Lembre-se que o &umbrello; faz um uso intensivo de menus de contexto: você pode também clicar o &RMB; numa pasta na Visão de Árvore e selecionar o tipo apropriado de diagrama a partir do submenu <guisubmenu
+>Novo</guisubmenu
+> no menu de contexto. Observe que você pode criar Diagramas de Caso de Uso somente em pastas de Visão de Caso de Uso, e os outros tipos de diagrama podem somente ser criados em pastas de Visão Lógica. </para>
+</sect2>
+<sect2 id="remove-diagram">
+<title
+>Removendo Diagramas</title>
+<para
+>Caso você precise remover um diagrama de seu modelo, você pode fazer isto tornando-o ativo e selecionando <guimenuitem
+>Excluir</guimenuitem
+> a partir do Menu <guimenu
+>Diagrama</guimenu
+>. Você pode também conseguir isto selecionando <guimenuitem
+>Excluir</guimenuitem
+> no menu de contexto do diagrama na Visão de Árvore </para>
+<para
+>Uma vez que excluir um diagrama é algo sério que pode causar perda de trabalho se feito por acidente, o &umbrello; lhe pedirá para confirmar a operação de exclusão antes de remover o Diagrama atual. Uma vez que o diagrama seja excluído e o arquivo salvo não existe nenhuma maneira de desfazer esta ação. </para>
+</sect2>
+<sect2 id="rename-diagram">
+<title
+>Renomeando Diagramas</title>
+<para
+>Se você deseja mudar o nome de um diagrama existente você pode facilmente fazer isto selecionando a opção Renomear no menu &RMB; na Visão de Árvore. </para>
+<para
+>Outra maneira de renomear um diagrama é fazer isto através de seu diálogo de propriedades, que pode ser obtido selecionando Propriedades a partir do Menu de Contexto ou através de um clique duplo nele na Visão de Árvore. </para>
+</sect2>
+</sect1>
+<sect1 id="edit-diagram">
+<title
+>Editando Diagramas</title>
+<para
+>Enquanto trabalha num diagrama, o &umbrello; tentará guiá-lo aplicando algumas regras simples como quais elementos são validados nos diferentes tipos de diagramas, bem como os relacionamentos que podem existir entre eles. Se você é experiente em &UML; você provavelmente não será noticiado, mas isto auxiliará novatos em &UML; a criar diagramas em conformidade com os padrões. </para>
+<para
+>Uma vez que você tenha criado seus diagramas é hora de iniciar a editá-los. Aqui você deve notar (para iniciantes perspicazes) a diferença entre editar seu diagrama e editar o <emphasis
+>modelo</emphasis
+>. Como você já deve saber, Diagramas são <emphasis
+>visões</emphasis
+> do seu modelo. Por exemplo, se você criar uma classe editando um Diagrama de Classe, você estará realmente editando ambos, seu Diagrama e seu modelo. Se você mudar a cor ou outra opção de exibição de uma Classe em seu Diagrama de Classe, você estará somente editando o Diagrama, mas nada será mudado no seu modelo. </para>
+<sect2 id="insert-elements">
+<title
+>Inserir Elementos</title>
+<para
+>Uma das primeiras coisas que você deverá fazer ao editar um novo diagrama é inserir elementos nele (Classes, Atores, Casos de Uso, &etc;). Existem basicamente duas maneiras de fazer isto:</para>
+<itemizedlist>
+<listitem
+><para
+>Arrastando elementos existentes em seu modelo da Visão de Árvore</para
+></listitem>
+<listitem
+><para
+>Criando novos elementos em seu modelo e adicionando-os ao seu diagrama ao mesmo tempo, usando uma das Ferramentas de edição da Barra de Ferramentas de Trabalho</para
+></listitem>
+</itemizedlist>
+<para
+>Para inserir elementos que já existam em seu modelo, apenas arraste-os da Visão de Árvore e solte-os onde você deseja posicioná-los em seu diagrama. Você sempre poderá mover elementos pelo Diagrama usando a Ferramenta Selecionar </para>
+<para
+>A segunda maneira de adicionar elementos ao seu diagrama é usando as ferramentas de edição da Barra de Ferramentas de Trabalho (observe que isto também adicionará elementos ao seu modelo). </para>
+<para
+>A Barra de Ferramentas de Trabalho era localizada por padrão no lado direito da janela do aplicativo, mas o &umbrello; 1.2 moveu-a para a parte superior da janela. Você pode colocá-la em outro lado ou tê-la flutuante se preferir. As ferramentas disponíveis nesta barra de ferramentas (os botões que você vê nela) mudam dependendo do tipo de diagrama em que você está atualmente trabalhando. O botão para a ferramenta atualmente selecionada é ativado na barra de ferramentas. Você pode alternar para a ferramenta selecionada pressionando a tecla &Esc;. </para>
+<para
+>Quando você tiver selecionado uma ferramenta de edição da Barra de Ferramentas de Trabalho (por exemplo, a ferramenta para inserir classes) o ponteiro do mouse muda para uma cruz, e você pode inserir os elementos em seu modelo através de um clique simples em seu diagrama. Observe que elementos em &UML; devem ter um <emphasis
+>Nome Único</emphasis
+>. Logo se você tiver uma classe em um diagrama cujo nome é <quote
+>ClasseA</quote
+> e então usar a ferramenta de inserção de classe para inserir um classe em outro diagrama você não pode nomear esta classe com <quote
+>ClasseA</quote
+> também. Se estes dois serão supostamente dois diferentes elementos, você deve fornecer-lhes um nome único. Se você está tentando adicionar o <emphasis
+>mesmo</emphasis
+> elemento em seu diagrama, então a Inserir Classe não é a ferramenta adequada para isto. Ao invés disso, você deve arrastar e soltar a classe da Visão de Árvore. </para>
+</sect2>
+<sect2 id="delete-elements">
+<title
+>Excluindo Elementos</title>
+<para
+>Você pode excluir qualquer elemento selecionando a opção <guimenuitem
+>Excluir</guimenuitem
+> do seu menu de contexto. </para>
+<para
+>Novamente, aqui existe uma <emphasis
+>grande</emphasis
+> diferença entre remover um objeto de um diagrama, e remover um objeto de seu modelo. Se você excluir um objeto de dentro de um diagrama, você está somente removendo o objeto daquele diagrama em particular: o elemento ainda faz parte do seu modelo e se existirem outros diagramas usando o mesmo elemento eles não sofrerão nenhuma mudança. Se, por outro lado, você excluir o elemento da Visão de Árvore, você está atualmente excluindo o elemento de seu <emphasis
+>modelo</emphasis
+>. Uma vez que o elemento não mais exista em seu modelo, ele será automaticamente removido de todos os diagramas em que ele aparece. </para>
+</sect2>
+<sect2 id="edit-elements">
+<title
+>Editando Elementos</title>
+<para
+>Você pode editar a maioria dos elementos &UML; em seu modelo e diagramas abrindo seu diálogo de Propriedades e selecionando as opções apropriadas. Para editar as propriedades de um objeto, selecione <guimenuitem
+>Propriedades</guimenuitem
+> no seu menu de contexto (clique &RMB;). Cada elemento possui um diálogo consistindo de diversas páginas de onde você pode configurar as opções correspondentes aquele elemento. Para alguns elementos, como atores, você pode somente configurar um par de opções, como o nome do objeto e documentação, enquanto outros elementos, como classes, você pode editar seus atributos e operações, selecionar o que você deseja que seja exibido no diagrama (toda a assinatura da operação ou apenas nomes da operação, etc) e também as cores que deseja usar para a linha e preenchimento da representação da classe no diagrama. </para>
+
+<para
+>Para a maioria dos elementos &UML; você pode também abrir o diálogo de propriedades através de um clique duplo nele se você está usando a ferramenta de seleção (seta). Uma exceção para isso são Associações, nas quais um clique duplo cria um ponto de ancoragem. Para associações você precisa usar o menu de contexto do &RMB; para obter o diálogo de propriedades. </para>
+
+<para
+>Observe que você também pode selecionar a opção propriedades do menu de contexto dos elementos na Visão de Árvore. Isto lhe permite também editar as propriedades para os diagramas, como configurar se a grade deve ser mostrada ou não. </para>
+</sect2>
+<sect2 id="edit-classes">
+<title
+>Editando Classes</title>
+<para
+>Apesar da edição de propriedades para todos os objetos já ter sido abordada na seção anterior, as classes merecem uma seção especial porque elas são um pouco mais complexas e possuem mais opções que a maioria dos outros elementos &UML;. </para>
+<para
+>No diálogo de propriedades para uma classe você pode configurar tudo, da cor que ela usa até as operações e atributos que ela possui. </para>
+<sect3 id="class-general-settings">
+<title
+>Configurações Gerais da Classe</title>
+<para
+>A página de Configurações Gerais do diálogo de propriedades é auto-explicativa. Aqui você pode mudar o nome da classe, visibilidade, documentação, &etc;. Esta página está sempre disponível. </para>
+</sect3>
+<sect3 id="class-attributes-settings">
+<title
+>Configurações de Atributos da Classe</title>
+<para
+>Na página de Configurações de Atributos você pode adicionar, editar ou excluir atributos (variáveis) para esta classe. Você pode também mover atributos para cima e para baixo da lista pressionando o botão de seta ao lado. Esta página está sempre disponível. </para>
+</sect3>
+<sect3 id="class-operations-settings">
+<title
+>Configurações de Operações da Classe</title>
+<para
+>Semelhante à Página de Configurações dos Atributos, na Página de Configurações das Operações você pode adicionar, editar ou remover operações para sua classe. Quando adiciona ou edita uma operação, você insere os dados básicos no diálogo <emphasis
+>Propriedades da Operação</emphasis
+>. Para adicionar parâmetros a sua operação você precisa clicar no botão <guibutton
+>Novo Parâmetro</guibutton
+>, que lhe mostrará o diálogo de <emphasis
+>Propriedades do Parâmetro</emphasis
+>. Esta página está sempre disponível </para>
+</sect3>
+<sect3 id="class-template-settings">
+<title
+>Configurações de Modelo de Classe</title>
+<para
+>Esta página permite-lhe adicionar modelos de classe que serão classes não especificadas ou tipos de dados. Em Java 1.5 eles são chamados Genéricos. </para>
+</sect3>
+<sect3 id="class-associations-page">
+<title
+>Página Associações da Classe</title>
+<para
+>A página <guilabel
+>Associações da Classe</guilabel
+> mostra todas as associações desta classe no diagrama atual. Um clique duplo numa associação mostra suas propriedades, e dependendo do tipo de associação você pode modificar alguns parâmetros como um configuração de multiplicidade e nome da Regra. Se a associação não permitir que opções sejam modificadas, o diálogo de Propriedades da Associação é somente leitura e você pode somente modificar a documentação associada com esta associação. </para>
+<para
+>Esta página está disponível somente se você abrir as Propriedades da Classe de dentro de um diagrama. Se você selecionar as propriedades da classe no menu de contexto na Visão de Árvore esta página não estará disponível. </para>
+</sect3>
+<sect3 id="class-display-page">
+<title
+>Página de Exibição da Classe</title>
+<para
+>Na página de <guilabel
+>Opções de Exibição</guilabel
+>, você pode configurar como a classe será mostrada no diagrama. Uma classe pode ser mostrada como somente um retângulo com o nome da classe nele (útil se você possui muitas classes em seu diagrama, ou não está interessado no momento nos detalhes de cada classe) ou completa mostrando pacotes, estereótipos, atributos e operações com assinatura completa e visibilidade </para>
+<para
+>Dependendo da quantidade de informação que você deseja ver você pode selecionar as opções correspondentes nesta página. As mudanças que você realizar aqui serão somenta as <emphasis
+>opções de exibição</emphasis
+> para o diagrama. Isto significa que <quote
+>ocultar</quote
+> uma operação de classe somente faz com que ele não seja exibida no diagrama, mas a operação ainda faz parte de seu modelo. Esta opção está somente disponível se você selecionou as propriedades da classe de dentro de um Diagrama. Se você abrir as propriedades de classe a partir da Visão de Árvore esta página estará faltando uma vez que as Opções de Exibição não fazem sentido neste caso</para>
+</sect3>
+<sect3 id="class-color-page">
+<title
+>Página de Cor da Classe</title>
+<para
+>Na página de <guilabel
+>Cor do Widget</guilabel
+> você pode configurar as cores que deseja para a linha e o preenchimento do widget. Esta opção obviamente faz sentido somente para classes exibidas em diagramas, e não aparecerá se você abrir o diálogo de propriedades da classe a partir da Visão de Árvore. </para>
+</sect3>
+</sect2>
+
+<sect2 id="associations">
+<title
+>Associações</title>
+<para
+>Associações relacionam dois objetos &UML; um com o outro. Normalmente associações são definidas entre duas classes, mas alguns tipos de associações podem também existir entre casos de uso e atores. </para>
+<para
+>Para criar uma associação seleciona a ferramenta apropriada na Barra de Ferramentas de Trabalho (Associação genérica, Generalização, Agregação, &etc;) e dê um clique simples no primeiro elemento participante na associação e então um clique simples no segundo elemento participante. Observe que são dois cliques, um em cada um dos objetos participantes da associação, e <emphasis
+>não</emphasis
+> arrastar um objeto para outro. </para>
+<para
+>Se você tentar usar uma associação de uma maneira contrária as especificações &UML; o &umbrello; se recusará a criar a associação e você receberá uma mensagem de erro. Isto pode acontecer se, por exemplo, uma Generalização existir da classe A para classe B e então você tentar criar outra Generalização da classe B para a classe A </para>
+<para
+>Um clique <mousebutton
+>direito</mousebutton
+> numa associação mostrará um menu de contexto com as ações que você pode aplicar nela. Se você precisar excluir uma associação, simplesmente selecione a opção <guimenuitem
+>Excluir</guimenuitem
+> deste menu de contexto. Você pode também selecionar a opção <guimenuitem
+>Propriedades</guimenuitem
+> e, dependendo do tipo de associação, editar os atributos como regras e multiplicidade. </para>
+<sect3 id="anchor-points">
+<title
+>Pontos de Ancoragem</title>
+<para
+>Associações são desenhadas, por padrão, como uma linha reta conectando dois objetos no diagrama. </para>
+<para
+>Você pode adicionar pontos de ancoragem dando um clique <mousebutton
+>duplo</mousebutton
+> ao longo da linha de associação. Isto irá inserir um ponto de ancoragem (exibido como um ponto azul quando a linha de associação é selecionada) o qual você poderá mover para obter a forma da associação </para>
+<para
+>Se você precisar remover um ponto de ancoragem, dê um clique <mousebutton
+>duplo</mousebutton
+> nele novamente para removê-lo </para>
+<para
+>Observe que a única maneira de editar as propriedades de uma associação é através do menu de contexto. Se você tentar das um clique <mousebutton
+>duplo</mousebutton
+> nela como é feito nos outros objetos &UML;, isto somente irá inserir um ponto de ancoragem. </para>
+</sect3>
+</sect2>
+
+<sect2 id="notes">
+<title
+>Notas, Texto e Caixas</title>
+<para
+>Notas, Linhas de Texto e Caixas são elementos que podem ser representados em qualquer tipo de diagrama e não possuem nenhum valor semântico, mas são muito úteis para adicionar comentários extras ou explanações que podem tornar seu diagrama mais fácil de entender. </para>
+<para
+>Para adicionar uma Nota ou Linha de Texto, selecione a ferramenta correspondente na Barra de Ferramentas de Trabalho e dê um clique simples no diagrama onde você deseja colocar seu comentário. Você pode editar o texto abrindo o elemento através do menu de contexto ou, no caso de notas, através de um clique <mousebutton
+>duplo</mousebutton
+> nelas. </para>
+<sect3 id="anchors">
+<title
+>Âncoras</title>
+<para
+>Âncoras são usadas para manter uma nota de texto e outro Elemento &UML; juntos. Por exemplo, você normalmente usa uma nota de texto para explanar ou fazer algum comentário sobre uma classe ou uma associação em particular, neste caso você pode usar a âncora para tornar claro que a nota <quote
+>pertence</quote
+> aquele elemento em particular. </para>
+<para
+>Para adicionar uma âncora entre uma nota e outro elemento &UML;, use a ferramenta âncora da barra de ferramentas de trabalho. Você primeiro precisa clicar na nota e então clicar no elemento &UML; ao qual deseja que a nota se ligue. </para>
+</sect3>
+</sect2>
+</sect1>
+</chapter>
+<!--edit-diagram-->