diff options
Diffstat (limited to 'tde-i18n-et/docs/kdevelop')
40 files changed, 29436 insertions, 0 deletions
diff --git a/tde-i18n-et/docs/kdevelop/Makefile.am b/tde-i18n-et/docs/kdevelop/Makefile.am new file mode 100644 index 00000000000..f6c3e2e278a --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = et +SUBDIRS = $(AUTODIRS) +KDE_DOCS = AUTO +KDE_MANS = AUTO diff --git a/tde-i18n-et/docs/kdevelop/Makefile.in b/tde-i18n-et/docs/kdevelop/Makefile.in new file mode 100644 index 00000000000..9ffecc5782a --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/Makefile.in @@ -0,0 +1,587 @@ +# 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/kdevelop +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ +#>- html-recursive info-recursive install-data-recursive \ +#>- install-dvi-recursive install-exec-recursive \ +#>- install-html-recursive install-info-recursive \ +#>- install-pdf-recursive install-ps-recursive install-recursive \ +#>- installcheck-recursive installdirs-recursive pdf-recursive \ +#>- ps-recursive uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +#>+ 1 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CONF_FILES = @CONF_FILES@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +GMSGFMT = @GMSGFMT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_RPATH = @KDE_RPATH@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOPSUBDIRS = @TOPSUBDIRS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +#>- bindir = @bindir@ +#>+ 2 +DEPDIR = .deps +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +kdeinitdir = @kdeinitdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_LANG = et +#>- SUBDIRS = $(AUTODIRS) +#>+ 1 +SUBDIRS =. kde_app_devel kdevelop kdearch +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/kdevelop/Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --gnu docs/kdevelop/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/kdevelop/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdevelop/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdevelop/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) + @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 + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +#>- clean: clean-recursive +#>+ 1 +clean: kde-rpo-clean clean-recursive + +#>- clean-am: clean-generic mostlyclean-am +#>+ 1 +clean-am: clean-bcheck clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +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=Makefile.in Makefile.am + +#>+ 2 +docs-am: + +#>+ 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/kdevelop/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdevelop/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdevelop/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-et/docs/kdevelop/kde_app_devel/Makefile.am b/tde-i18n-et/docs/kdevelop/kde_app_devel/Makefile.am new file mode 100644 index 00000000000..f6c3e2e278a --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kde_app_devel/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = et +SUBDIRS = $(AUTODIRS) +KDE_DOCS = AUTO +KDE_MANS = AUTO diff --git a/tde-i18n-et/docs/kdevelop/kde_app_devel/Makefile.in b/tde-i18n-et/docs/kdevelop/kde_app_devel/Makefile.in new file mode 100644 index 00000000000..553f7321a81 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kde_app_devel/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/kdevelop/kde_app_devel +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ +#>- html-recursive info-recursive install-data-recursive \ +#>- install-dvi-recursive install-exec-recursive \ +#>- install-html-recursive install-info-recursive \ +#>- install-pdf-recursive install-ps-recursive install-recursive \ +#>- installcheck-recursive installdirs-recursive pdf-recursive \ +#>- ps-recursive uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +#>+ 1 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CONF_FILES = @CONF_FILES@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +GMSGFMT = @GMSGFMT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_RPATH = @KDE_RPATH@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOPSUBDIRS = @TOPSUBDIRS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +#>- bindir = @bindir@ +#>+ 2 +DEPDIR = .deps +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +kdeinitdir = @kdeinitdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_LANG = et +#>- 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/kdevelop/kde_app_devel/Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --gnu docs/kdevelop/kde_app_devel/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/kdevelop/kde_app_devel/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdevelop/kde_app_devel/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdevelop/kde_app_devel/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=index.docbook index.cache.bz2 Makefile.in Makefile.am + +#>+ 24 +index.cache.bz2: $(srcdir)/index.docbook $(KDE_XSL_STYLESHEET) index.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)/kde_app_devel + @if test -f index.cache.bz2; then \ + echo $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kde_app_devel/; \ + $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kde_app_devel/; \ + elif test -f $(srcdir)/index.cache.bz2; then \ + echo $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kde_app_devel/; \ + $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kde_app_devel/; \ + fi + -rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kde_app_devel/common + $(LN_S) $(kde_libs_htmldir)/$(KDE_LANG)/common $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kde_app_devel/common + +uninstall-docs: + -rm -rf $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kde_app_devel + +clean-docs: + -rm -f index.cache.bz2 + + +#>+ 13 +install-nls: + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kde_app_devel + @for base in index.docbook ; do \ + echo $(INSTALL_DATA) $$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kde_app_devel/$$base ;\ + $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kde_app_devel/$$base ;\ + done + +uninstall-nls: + for base in index.docbook ; do \ + rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kde_app_devel/$$base ;\ + done + + +#>+ 5 +distdir-nls: + for file in index.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/kdevelop/kde_app_devel/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdevelop/kde_app_devel/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdevelop/kde_app_devel/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-et/docs/kdevelop/kde_app_devel/index.cache.bz2 b/tde-i18n-et/docs/kdevelop/kde_app_devel/index.cache.bz2 Binary files differnew file mode 100644 index 00000000000..59613ac0e8b --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kde_app_devel/index.cache.bz2 diff --git a/tde-i18n-et/docs/kdevelop/kde_app_devel/index.docbook b/tde-i18n-et/docs/kdevelop/kde_app_devel/index.docbook new file mode 100644 index 00000000000..b985ffd1526 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kde_app_devel/index.docbook @@ -0,0 +1,1870 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kdevelop "<application +>KDevelop</application +>"> + <!ENTITY kappname "&kdevelop;"> + <!ENTITY % addindex "INCLUDE"> + <!ENTITY % Estonian "INCLUDE" +> <!-- change language only here --> +]> + +<book lang="&language;"> + +<bookinfo> +<title +>&kdevelop;i programmeerimise käsiraamat</title> + +<date +>2002-12-05</date> +<releaseinfo +>2.0</releaseinfo> + +<authorgroup> +<author +><firstname +>Ralf</firstname +> <surname +>Nolden</surname +> <affiliation +><address +><email +>Ralf.Nolden@post.rwth-aachen.de</email +></address +></affiliation> +</author> +<author +><firstname +>Caleb</firstname +> <surname +>Tennis</surname +> <affiliation +><address +><email +>caleb@aei-tech.com</email +></address +></affiliation> +</author> +</authorgroup> + +<copyright> +<year +>1999</year> +<holder +>Ralf Nolden</holder> +</copyright> +<copyright> +<year +>2002</year> +<holder +>Caleb Tennis</holder> +</copyright> + +<!-- ROLES_OF_TRANSLATORS --> + +<legalnotice +>&FDLNotice;</legalnotice> + +<abstract> +<para +>C++ rakenduste kujundamise käsiraamat KDE töökeskkonnas &kdevelop;i IDE-ga</para> +</abstract> + +<keywordset> +<keyword +>KDE</keyword> +<keyword +>KDevelop</keyword> +<keyword +>IDE</keyword> +<keyword +>arendus</keyword> +<keyword +>programmeerimine</keyword> +</keywordset> + +</bookinfo> + +<chapter id="chapter1"> +<title +>Sissejuhatus</title> +<para +>Mida enam on UNIX muutunud populaarseks isegi algajate arvutikasutajate seas, kes hindavad stabiilsust ja funktsionaalsust, seda enam on siiski tekkinud ka neid, kes on mõnevõrra pettunud, sest rakendustel puudub ühtne välimus ja nad ei toimi kaugeltki ühtmoodi. KDE pakub arendajatele peaaegu perfektse võimaluse luua UNIX-i töölaudadele esmaklassilisi rakendusi, mis suudavad võita laia tunnustuse juba ainuüksi oma kvaliteediga. Nii on KDE muutunud ka üha menukamaks baasiks rakenduste loomisel ning arendajad kasutavad meelsasti kõiki pakutavaid võimalusi. </para> + +<sect1 id="c1s1"> +<title +>Mida oleks vaja eelnevalt teada</title> +<para +>Me eeldame käesoleva programmeerimise käsiraamatu puhul, et selle lugeja tunneb juba programmeerimiskeelt C++. Kui sina seda veel ei tunne, tasuks kõigepealt see endale vähemalt teatud määral selgeks teha. Infot C++ kohta leiab väga paljudest kohtadest: nii kohalikust raamatupoest trükitud kujul kui ka mitmelt poolt internetist. Graafilise kasutajaliidese kujundamise osas pole eelteadmised vajalikud, sest käsiraamat püüabki hõlmata KDE rakenduste kujundamist, mille hulka käib nii Qt tööriistakomplekti ja KDE teekide kui ka kasutajaliideste kujundamise tutvustamine. Kuid see-eest tasuks mõnevõrra tutvuda rakendusega &kdevelop;. Seda on kõige mõistlikum teha &kdevelop;i kasutaja käsiraamatut lugedes, mis sisaldab korraliku ülevaate kõige kohta, mida see arenduskeskkond (IDE) pakub. </para> +</sect1> + +<sect1 id="c1s2"> +<title +>Käsiraamatu info</title> +<para +>Käesoleva käsiraamatu siht on pakkuda arendajatele sissejuhatust KDE rakenduste arendamisse integreeritud arenduskeskkonna KDevelop abil. </para> +<para +>Nii annamegi järgnevates peatükkides ülevaate, kuidas luua projekte, selgitame, milline lähtekood sel juhul vaikimisi juba ette luuakse, ning tutvustame, kuidas laiendada etteantud lähtekoodi võimalusi näiteks tööriistaribade, menüüribade ja vaadetega. </para> +<para +>Lisaks tutvustame üksikasjalikult vidinate loomist ning vaatleme kõigi pakutavate vidinate omaduste seadistamise võimalusi. </para> +<para +>Lõpuks võtame vaatluse alla veel mitmed teemad, mis täiendavad sinu teadmisi projektide kujundamise ning veel mitme otsesest programmeerimisest veidi kõrvale jäävate teemade osas, näiteks API dokumentatsiooni lisamine ja käsiraamatute loomine. </para> +<sect2 id="c1s2s1"> +<title +>Järgmises peatükis</title> +<para +>Me vaatleme Qt ja KDE teeke ja selgitame põhikontseptsioone. Samuti vaatleme õpperakenduste loomist Qt tööriistakomplektiga KDevelopi abil, mis annab algajatele kiiresti võimaluse näha oma esimesi edusamme ning sel moel õppida kasutama mitmeid &kdevelop;i suurepäraseid omadusi. </para> +</sect2> + +<sect2 id="c1s2s2"> +<title +>Järgmistes peatükkides</title> +<para +>Saad teada, kuidas: <itemizedlist> +<listitem +><para +>Luua rakendus Rakenduse nõustajaga</para +></listitem> +<listitem +><para +>Mida sisaldab projekti mall</para +></listitem> +<listitem +><para +>Mida kujutab endast mallina loodav kood</para +></listitem> +<listitem +><para +>Kuidas luua omaenda vaateid</para +></listitem> +<listitem +><para +>Kuidas laiendada oma rakenduse võimalusi dialoogide ning menüü- ja tööriistaribadega</para +></listitem> +<listitem +><para +>Kuidas muuta oma rakendus kasutajasõbralikuks mitmekülgset abi pakkudes</para +></listitem> +<listitem +><para +>Kuidas kirjutada dokumentatsiooni</para +></listitem> +</itemizedlist> +</para> +</sect2> + +</sect1> + +<sect1 id="c1s3"> +<title +>Lisainfo</title> +<para +>Qt/KDE programmeerimise kohta leiab lisainfot paljudest allikatest: <itemizedlist> +<listitem +><para +>Programming with Qt, autor: Matthias Kalle Dalheimer</para +></listitem> +<listitem +><para +><ulink url="www.kdevelop.org" +>KDevelopi kasutaja käsiraamat (kuulub KDevelopi IDE koosseisu)</ulink +></para +></listitem> +<listitem +><para +><ulink url="doc.trolltech.com" +>Qt teegi dokumentatsioon võrgus</ulink +></para +></listitem> +<listitem +><para +><ulink url="developer.kde.org" +>KDE arendajate veebilehekülg</ulink +></para +></listitem> +</itemizedlist> +</para> +<para +>Lisaks saab abi otsida mitmetest meililistidest, mille aadressid leiab mainitud veebilehekülgedelt, ning Useneti uudistegruppidest, mis on pühendatud KDE ja UNIX-i kasutamisele ning programmeerimiskeeltele C ja C++. </para> +<para +>KDevelopi IDE kohta võib abi leida meililistist <email +>kdevelop@kdevelop.org</email +>. Pane tähele, et KDevelopi meeskond on pühendunud vahendite loomisele, mis lubavad sul rakendusi programmeerida, mistõttu see meililist pole mitte tehnilise abi foorum, kust otsida abi siis, kui sinu arendatud rakendused ei tööta teostamisvigade või sinu operatsioonisüsteemi seadistusprobleemide tõttu. Küll aga soovitame kõigil kasutajatel pöörduda meililisti alati, kui tekib probleeme IDE enda kasutamisega, samuti võib sinna anda teada vigadest ja ettepanekutest, kuidas arenduskeskkonda veel paremaks muuta. </para> +</sect1> + +</chapter> + +<chapter id="chapter2"> +<title +>KDE ja Qt teegid</title> +<para +>Norra firma TrollTech (<ulink url="http://www.trolltech.com" +>http://www.trolltech.com</ulink +>) pakub niinimetatud GUI tööriistakomplekti nimetusega Qt. GUI tähendab "graafiline kasutajaliides", mistõttu Qt-põhised rakendused pakuvad nuppe, aknaid ja muud sellist, mis võimaldavad kasutajal visuaalselt ära kasutada rakenduste pakutavaid funktsioone. Sellist tööriistakomplekti on vaja graafiliste rakenduste loomiseks, mis töötaksid UNIX-süsteemides X Window liidesega, sest X ei sisalda ise eelmääratletud kasutajaliidest. Ehkki kasutajaliidese loomiseks on ka teisi tööriistakomplekte, pakub Qt teatud tehnilisi võimalusi, mis muudavad rakenduste kujundamise äärmiselt lihtsaks. Lisaks on Qt tööriistakomplekt saadaval ka Microsoft Windowsi süsteemidele, nii et arendajad võivad oma rakendusi luua kasutamiseks mõlemal platvormil. </para> +<para +>KDE meeskond (<ulink url="http://www.kde.org" +>http://www.kde.org</ulink +>) otsustas samuti anda oma panuse UNIX-süsteemide muutmisel kasutajasõbralikumaks ning valis välja Qt tööriistakomplekti enda X Window süsteemi aknahalduri ja veel arvukate KDE tarkvara hulka kuuluvate tööriistade loomiseks. K töökeskkonna ehk KDE põhikomponentideks on aknahaldur kwm, failihaldur kfm ning käivitamispaneel kpanel, kuid selle koosseisu kuulub veel terve rida esmaklassilisi utiliite ja rakendusi. Kui KDE ilmavalgust nägi, pälvis see paljude arendajate tähelepanu. KDE teegid pakuvad olulisemaid meetodeid ja klasse, mis lubavad anda nende abil loodud rakendustele ühtse välimuse. See omakorda annab lõppkasutajale suurepärase võimaluse koondada pärast põhitõdede selgekstegemist oma tähelepanu rakenduste funktsionaalsusele, mitte aga dialoogide või nuppude kirevuse tundmaõppimisele. KDE programmid on põimitud töölauaga ja võivad suhelda failihalduriga lihtsalt lohistamise teel, võivad ära kasutada seansihalduse võimalusi ja veel palju muud, mida kõike võimaldavadki KDE teegid. </para> +<para +>Nii Qt tööriistakomplekt kui ka KDE teegid on kirja pandud programmeerimiskeeles C++, mistõttu ka neid teeke kasutavad rakendused on enamasti C++ keeles. Järgnevalt võtamegi ette lühiretke läbi teekide selgitamaks, mida need pakuvad ja kuidas üldiselt luuakse Qt ja KDE rakendusi. </para> + +<sect1 id="c2s1"> +<title +>Qt GUI tööriistakomplekt</title> +<para +>Nagu öeldud, on Qt teek tööriistakomplekt, mis pakub graafilisi elemente, mida kasutatakse GUI rakenduste loomiseks ja mida läheb vaja programmeerimisel X Window süsteemide jaoks. Lisaks pakub tööriistakomplekt: <itemizedlist> +<listitem +><para +>Täielikku klasside ja meetodite kogumit, mida saab kasutada ka mittegraafiliste programmeerimisülesannete tarbeks</para +></listitem> +<listitem +><para +>Häid lahendusi kasutaja interaktsiooniks virtuaalsete meetodite ning signaali/pesa mehhanismi vahendusel</para +></listitem> +<listitem +><para +>Valikut eelmääratletud GUI elemente ehk "vidinaid", mille abil on hõlpus luua kasutajale nähtavaid elemente</para +></listitem> +<listitem +><para +>Lisaks täielikku valikut eelmääratletud dialooge, mida rakendustes sageli tarvitatakse, näiteks edenemis- ja failidialoogid</para +></listitem> +</itemizedlist> +</para> +<para +>Seepärast on Qt klasside tundmine väga oluline ka siis, kui soovid programmeerida ainult KDE rakendusi. Selgitamaks GUI rakenduste konstrueerimise ja kompileerimise põhikontseptsiooni, vaatame kõigepealt puhta Qt programmi näidet, seejärel aga laiendame selle KDE programmiks. </para> + +<sect2 id="c2s1s1"> +<title +>Esimene Qt rakendus</title> +<para +>Nagu ikka, peavad C++ programmid sisaldama funktsiooni <function +>main()</function +>, mis on rakenduse käivitamise alguspunkt. Et meie soovi kohaselt peavad programmid olema graafiliselt nähtavad akendes ja võimaldama kasutaja interaktsiooni, tuleb esmalt teada saada, kuidas nad ennast kasutajale näitavad. Vaatame näiteks esimest õppematerjali, mis leidub Qt võrgudokumentatsioon ja selgitab nii kõige elementaarsemaid töösamme kui ka seda, miks ja kuidas ilmub rakenduse aken: <programlisting +>#include <qapplication.h> +#include <qpushbutton.h> + +int main( int argc, char **argv ) +{ +QApplication a( argc, argv ); + +QPushButton hello( "Hello world!", 0 ); +hello.resize( 100, 30 ); + +a.setMainWidget( &hello ); +hello.show(); +return a.exec(); +} +</programlisting> +</para> +<para +>See rakendus lihtsalt joonistab akna, milles on nupp, millel on tekst "Hello world". Nagu kõigi Qt rakenduste puhul, tuleb esmalt luua klassi <classname +>QApplication</classname +> eskemsplar, mida tähistab muutuja a. </para> +<para +>Seejärel loob programm klassi <classname +>QPushButton</classname +> eksemplari nimega hello, mis ongi nupp. hello konstruktor saab parameetrina stringi, mis on vidina sisu, mida näeb nupu tekstina. </para> +<para +>Seejärel kutsutakse hello nupule välja meetod <methodname +>resize()</methodname +>. See muudab vidina (antud juhul on selleks <classname +>QPushButton</classname +>) loomisel määratud vaikesuurust, andes sellele mõõtmetekst 100 pikslit pikkuses ja 30 pikslit kõrguses. Lõpuks kutsutakse välja meetod setMainWidget() a jaoks ning meetod show() hello jaoks. QApplication käivitatakse lõpuks meetodiga <methodname +>a.exec()</methodname +>, see siseneb põhisilmusesse ning ootab, kuni saab tagastada operatsioonisüsteemile täisarvväärtuse, mis annab märku, et rakendus on töö lõpetanud. </para> +</sect2> + +<sect2 id="c2s1s2"> +<title +>Qt dokumentatsioon</title> +<para +>Heidame nüüd põgusa pilgu Qt teegi dokumentatsioonile. Selleks käivita &kdevelop; ja vali dokumentatsioonikaardil "Qt". Dokumentatsioonisirvija avanedes näed Qt dokumentatsiooni avalehekülge. See on põhikoht, kust hankida infot Qt, selle klasside ja funktsioonide kohta. Eespool näiteks toodud programm on ühtlasi esimene dokumentatsiooni õppematerjalide osas (Tutorials) tutvustatav programm. Klasside tundmaõppimiseks - praegu pakuvad meile huvi nähtud <classname +>QApplication</classname +> ja <classname +>QPushButton</classname +> - vali klasside tähestikuline register ja otsi sealt vajalikud nimed üles. Neile klõpsates näedki antud klassi kirjeldust. </para> +<para +>Teine võimalus on uurida Trolltechi <ulink url="doc.trolltech.com" +>Qt dokumentatsiooni võrgus</ulink +>. </para> +<para +><classname +>QApplication</classname +> korral on näha konstruktor ja kõik muud meetodid, mida see klass pakub. Linki järgides leiad veel rohkem infot meetodite kasutamise ja tähenduse kohta, mis on sageli päris kasulik, kui sa ei suuda näiteks õiget kasutamist iseseisvalt välja mõelda või soovid näha näited. Lausutu kehtib ka KDE dokumentatsiooni kohta, mis on samalaadselt üles ehitatud. See tähendab, et põhimõtteliselt saab kõik, mida vähegi on vaja teada klasside kohta, teada otse dokumentatsioonisirvijast. </para> +<sect3 id="c2s1s2s1"> +<title +>Näidise tõlgendamine</title> +<para +>Võttes alustuseks ette klassi <classname +>QApplication</classname +>, siis meie esimeses näites olid kasutusel järgmised meetodid: <itemizedlist> +<listitem +><para +>konstruktor <methodname +>QApplication()</methodname +></para +></listitem> +<listitem +><para +>meetod <methodname +>setMainWidget()</methodname +></para +></listitem> +<listitem +><para +>meetod <methodname +>exec()</methodname +></para +></listitem> +</itemizedlist> +</para> +<para +>Nende meetodite kasutamise tõlgendamine on väga lihtne: <orderedlist> +<listitem +><para +>Luuakse klassi <classname +>QApplication</classname +> eksemplar konstruktoriga, et me saaksime ära kasutada Qt pakutavaid GUI elemente</para +></listitem> +<listitem +><para +>Luuakse vidin, millest saab meie programmiakna sisu</para +></listitem> +<listitem +><para +>Vidin määratakse peavidinaks a jaoks</para +></listitem> +<listitem +><para +>Käivitatakse <classname +>QApplication</classname +> eksemplar</para +></listitem> +</orderedlist +> +</para> +<para +>Meie programmi teine objekt on nupp ehk klassi <classname +>QPushButton</classname +> eksemplar. Kahest eksemplari loomiseks mõeldud konstruktorist kasutame teist: see aktsepteerib teksti, mis on nupu sisu ehk antud juhul tekstistring "Hello world!" Seejärel kutsume välja meetodi <methodname +>resize()</methodname +>, et muuta nupu suurust vastavalt selle sisule - nupp peab olema suurem, et kogu string oleks näha. </para> +<para +>Aga meetod <methodname +>show()</methodname +>? Siin näed, et nagu enamiku vidinate korral, tugineb <classname +>QPushButton</classname +> üheleainsale pärilusele ehk nagu ütleb dokumentatsioon: Inherits <classname +>QButton</classname +>. Klõpsa lingile <classname +>QButton</classname +>. Nüüd näed veel õige mitut vidinat, mis tuginevad klassile <classname +>QButton</classname +>, mida me kasutame hiljem signaali/pesa mehhanismi selgitamisel. Igal juhul ei ole siin kirjas meetodit <methodname +>show()</methodname +>, mis tähendab, et ka selle peab tagama pärilus. Klass, mille järglane on <classname +>QButton</classname +>, kannab nime <classname +>QWidget</classname +>. Klõpsa taas lingile ja näed tervet rida meetodeid,mida pakub klass QWidget. Nende hulka kuulub ka meetod <methodname +>show()</methodname +>. Nüüd on võimalik mõista, mida meie näidises nupuga ette võetakse: <orderedlist> +<listitem +><para +>Luuakse <classname +>QPushButton</classname +> eksemplar, kasutades teist konstruktorit nupu teksti määramiseks</para +></listitem> +<listitem +><para +>Muudetakse vidina suurust sisu mahutamiseks</para +></listitem> +<listitem +><para +>Määratakse vidin <classname +>QApplication</classname +> eksemplari a põhividinaks</para +></listitem> +<listitem +><para +>Antakse vidinale korraldus näidata ennast ekraanil, kutsudes välja meetodi <methodname +>show()</methodname +>, mis on klassi <classname +>QWidget</classname +> järglane</para +></listitem> +</orderedlist> +</para> +<para +>Pärast meetodi <methodname +>exec()</methodname +> väljakutsumist on rakendus kasutajale nähtav: aken nupuga, millel on kiri "Hello world!" Märkus: GUI programmid käituvad mõnikord veidi teistmoodi protseduurrakendused. Peamiseks erinevuseks on asjaolu, et rakendus siseneb niinimetatud "põhisilmusesse". See tähendab, et programm peab ootama kasutaja tegevust ja seejärel sellele reageerima, samuti seda, et Qt rakenduse korral peab programm olema põhisilmuses, enne kui saab alustada sündmuste käsitlemist. Järgmises osas räägime lühidalt, mida see tähendab programmeerijale ja mida pakub Qt kasutaja sündmuste töötlemiseks. </para> +<note +><para +>Juba kogemustega kasutajatele: konstruktoris pole deklareeritud nupu eellast, seepärast on see tipptaseme vidin, mis töötab kohalikus silmuses, mistõttu ei pea ootama põhisilmust. Vaata klassi QWidget ja KDE teegi dokumentatsiooni.</para> +</note +> + +</sect3> +</sect2> + +<sect2 id="c2s1s3"> +<title +>Kasutaja interaktsioon</title> +<para +>Pärast eelnenud osade läbilugemist peaksid juba teadma: <itemizedlist> +<listitem +><para +>Mida pakub Qt teek GUI rakenduste jaoks</para +></listitem> +<listitem +><para +>Kuidas luuakse programm Qt abil</para +></listitem> +<listitem +><para +>Kust ja kuidas leida dokumentatsioonisirvijas infot klasside kohta, mida tahad kasutada</para +></listitem> +</itemizedlist +> +</para> +<para +>Nüüd äratame oma rakenduse "ellu" kasutaja sündmusi töötlema asudes. Üldiselt on kasutajal kaks võimalust programmiga suhelda: hiir ja klaviatuur. Mõlemal juhul peab graafiline kasutajaliides pakkuma meetodeid, mis tuvastavad toimingud, ja meetodeid, mis neile toimingutele reageerides midagi ette võtavad. </para +> +<para +>X Window saadab kõik interaktsioonisündmused vastavale rakendusele. <classname +>QApplication</classname +> saadab need siis aktiivsele aknale klassina <classname +>QEvent</classname +>, misjärel vidinad peavad otsustama, mida nendega peale hakata. Vidin saab sündmuse ja töötleb meetodit <methodname +>QWidget::event(QEvent*)</methodname +>, mis otsustab, milline sündmus käivitati ja kuidas reageerida: niisiis on peamine sündmuste käsitleja <methodname +>event()</methodname +>. Nüüd suunab <methodname +>event()</methodname +> sündmuse niinimetatud sündmusefiltrisse, mis määrab, mis toimus ja mida sündmusega peale hakata. Kui ükski filter antud sündmusega ei tegele, kutsutakse välja spetsialiseeritud sündmuste käsitlejad. Need on järgmised: <itemizedlist> +<listitem +><para +>Klaviatuurisündmused - klahvid TAB ja Shift:</para> +<itemizedlist> +<listitem +><para +><methodname +>virtual void focusInEvent(QFocusEvent *)</methodname +></para +></listitem> +<listitem +><para +><methodname +>virtual void focusOutEvent(QFocusEvent *)</methodname +></para +></listitem> +</itemizedlist> +</listitem> + +<listitem +><para +>Kõik muud klaviatuurisisestused:</para> +<itemizedlist> +<listitem +><para +><methodname +>virtual void keyPressEvent(QKeyEvent *)</methodname +></para +></listitem> +<listitem +><para +><methodname +>virtual void keyReleaseEvent(QKeyEvent *)</methodname +></para +></listitem> +</itemizedlist> +</listitem> + +<listitem +><para +>Hiire liikumine:</para> +<itemizedlist> +<listitem +><para +><methodname +>virtual void mouseMoveEvent(QMouseEvent *)</methodname +></para +></listitem> +<listitem +><para +><methodname +>virtual void enterEvent(QEvent *)</methodname +></para +></listitem> +<listitem +><para +><methodname +>virtual void leaveEvent(QEvent *)</methodname +></para +></listitem> +</itemizedlist> +</listitem> + +<listitem +><para +>Hiirenupu toimingud:</para> +<itemizedlist> +<listitem +><para +><methodname +>virtual void mousePressEvent(QMouseEvent *)</methodname +></para +></listitem> +<listitem +><para +><methodname +>virtual void mouseReleaseEvent(QMouseEvent *)</methodname +></para +></listitem> +<listitem +><para +><methodname +>virtual void mouseDoubleClickEvent(QMouseEvent *)</methodname +></para +></listitem> +</itemizedlist> +</listitem> + +<listitem +><para +>Vidinat sisaldava akna sündmused:</para> +<itemizedlist> +<listitem +><para +><methodname +>virtual void moveEvent(QMoveEvent *)</methodname +></para +></listitem> +<listitem +><para +><methodname +>virtual void resizeEvent(QResizeEvent *)</methodname +></para +></listitem> +<listitem +><para +><methodname +>virtual void closeEvent(QCloseEvent *)</methodname +></para +></listitem> +</itemizedlist> +</listitem> + +</itemizedlist> +</para> +<para +>Pane tähele, et kõik sündmuse funktsioonid on virtuaalsed ja kaitstud. Seepärast saad taasteostada sündmusi, mida vajad omaenda vidinates, ja määrata, kuidas vidin peab reageerima. <classname +>QWidget</classname +> sisaldab ka mõningaid virtuaalseid meetodeid, mis võivad sinu programmis kasuks tulla. Nii või teisiti on äärmiselt tulus klassi <classname +>QWidget</classname +> hästi tundma õppida. </para> +</sect2> +<sect2 id="c1s2s4"> +<title +>Objekti interaktsioon signaalide ja pesadega</title> +<para +>Nüüd jõuame Qt tööriistakomplekti kõige suurema eelise juurde, milleks on signaalide/pesade mehhanism. See pakub väga käepärase ja tulusa lahenduse objektide interaktsioonile, mis X Window tööriistakomplektides lahendatakse tavaliselt tagasikutsete (callback) funktsioonidega. Et selline kommunikatsioon eeldab väga ranget programmeerimist ning muudab mõnikord kasutajaliidese loomise üpris keerukaks (seda tutvustab ka Qt dokumentatsioon ning selgitab põhjalikult K. Dalheimeri raamat 'Programming with Qt'), leiutas Trolltech uue süsteemi, milles objektid emiteerivad signaale, mida saab siduda pesadena (slot) deklareeritud meetoditega. C++ programmeerija peab sellest teadma põhimõtteliselt vaid mõnda asja: <itemizedlist> +<listitem +><para +>signaale/pesasid kasutava klassi deklaratsiooni alguses peab seisma makro Q_OBJECT (ilma semikoolonita) ja see peab olema tuletatud klassist <classname +>QObject</classname +> </para +></listitem> +<listitem +><para +>signaali võib emiteerida võtmesõna emit, nt. emit signaal(parameetrid), mis tahes klassi liikmesfunktsioonist, mis võimaldab signaale/pesasid </para +></listitem> + +<listitem +><para +>kõik signaalid, mida kasutavad klassid, mis ei ole päritud, tuleb lisada klassi deklaratsiooni signaalide sektsiooni </para +></listitem> +<listitem +><para +>kõik meetodid, mida saab siduda signaaliga, deklareeritakse sektsioonides täiendava võtmesõnaga slot, nt public slots, klassi deklaratsioonides </para +></listitem> +<listitem +><para +>metaobjekti kompilaator moc peab töötlema päisefaili, et laiendada makrod ja luua teostus (mida pole tingimata vaja teadagi). moc'i väljundfailid kompileerib samuti C++ kompilaator. </para +></listitem> +</itemizedlist> +</para> +<para +>Veel üks viis kasutada signaale ilma klassist <classname +>QObject</classname +> tuletamata näeb ette klassi <classname +>QSignal</classname +> kasutamist. Uuri dokumentatsioonist ise täpsemalt, kuidas seda kasutada. Järgnevalt eeldame, et tuletatud on klassist <classname +>QObject</classname +>. </para> +<para +>Nii võib sinu klass saata kõikjale signaale ja pakkuda pesasid, millega signaalid saavad ühenduse luua. Signaale kasutades ei pruugi muretseda, kes neid saab: sa lihtsalt emiteerid signaali, millele reageerib see pesa, millega sa soovid signaali ühendada. Pesasid võib samas kasutada teostuse ajal tavaliste meetoditena. </para> +<para +>Signaali ühendamiseks pesaga tuleb kasutada meetodit <methodname +>connect()</methodname +>, mida pakub <classname +>QObject</classname +>, või olemasolu korral spetsiaalseid meetodeid, mida objektid pakuvad ühenduse võimaldamiseks teatud signaalidega. </para> + +<sect3 id="c1s2s4s1"> +<title +>Näidiskasutamine</title> +<para +>Selgitamaks, kuidas luua objekti interaktsioon, võtame taaas oma esimese näidise ja laiendame seda lihtsa ühenduse võrra: <programlisting +>#include <qapplication.h> +#include <qpushbutton.h> + +int main( int argc, char **argv ) +{ +QApplication a( argc, argv ); + +QPushButton hello( "Hello world!" , 0); +hello.resize( 100, 30 ); + +a.setMainWidget( &hello ); + +QObject::connect(&hello, SIGNAL( clicked() ), &a, SLOT( quit() )); + +hello.show(); +return a.exec(); +} +</programlisting> +</para> +<para +>Nagu näed, saab üheainsa lisandusega anda nupule suurema interaktiivsuse. Selleks on vaja ainult lisada meetod <methodname +>connect()</methodname +>: <methodname +>connect(&hello, SIGNAL( clicked() ), &a, SLOT( quit() ))</methodname +>. Mida see tähendab? Klassi QObject deklaratsioon ütleb meetodi <methodname +>connect()</methodname +> kohta järgmist: </para> +<para +><methodname +>bool connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * member ) </methodname +></para> +<para +>See tähendab, et sul tuleb määrata <classname +>QObject</classname +> eksemplari viit, mis on signaali saatja, mis tähendab, et sa emiteerid selle signaali esimese parameetrina. Seejärel tuleb määrata signaal, millega soovid ühenduse luua. Viimased kaks parameetrit on vastuvõttev objekt, mis pakub pesa, ning sellele järgneb liikmesfunktsioon, mis ongi tegelik pesa, mis käivitatakse signaali emiteerimisel. </para> +<para +>Signaalide ja pesade abil saavad sinu programmi objektid üksteisega suhelda ilma vajaduseta otseselt sõltuda vastuvõtva objekti tüübist. Selle mehhanismi kasutamisest tuleb käsiraamatus veel pikemalt juttu. Rohkem infot signaalide ja pesade mehhanismi kohta leiab ka <ulink url="developer.kde.org/documentation/library/libraryref.html" +>KDE teegi</ulink +> ja <ulink url="doc.trolltech.com" +>Qt dokumentatsioonist</ulink +>. </para> +</sect3> +</sect2> +</sect1> + +<sect1 id="c2s3"> +<title +>Mida pakub KDE</title> +<sect2 id="c2s3s1"> +<title +>KDE 3.x teegid</title> +<para +>KDE põhiteegid, mida kasutada omaenda KDE rakenduste loomisel, on järgmised: <itemizedlist> +<listitem +><para +>teek kdecore, mis sisaldab kõik mittenähtavate elementide klasse, mis tagavadrakenduste funktsionaalsuse </para +></listitem> +<listitem +><para +>teek kdeui, mis sisaldab kasutajaliidese elemente, näiteks menüüribad, tööriistaribad jne. </para +></listitem> +<listitem +><para +>teek kfile, mis sisaldab faili valimise dialooge </para +></listitem> +</itemizedlist> +</para> +<para +>Lisaks pakub KDE spetsiifilisemateks ülesanneteks järgmisi teeke: <itemizedlist> +<listitem +><para +>teek kdefx, mis sisaldab pilte, pildiefekte. QStyle laiendust KStyle </para +></listitem> +<listitem +><para +>teek khtml, mis sisaldab KDE html-komponenti </para +></listitem> +<listitem +><para +>teeki kjs, mis sisaldab KDE JavaScripti toetust </para +></listitem> +<listitem +><para +>teeki kio, mis sisaldab süvataseme ligipääsu võrgufailidele </para +></listitem> +<listitem +><para +>teeki kparts, mis sisaldab korduvkasutatavate, põimitavate, laiendatavate rakenduste toetust </para +></listitem> +</itemizedlist> +</para> +<para +>Järgnevalt vaatame, mida on vaja meie esimese Qt rakenduse muutmiseks KDE rakenduseks. </para> +</sect2> +<sect2 id="c2s3s2"> +<title +>KDE näidisrakendus</title> +<para +>Järgnevalt näed, et KDE rakenduse kirjutamine pole sugugi raskem kui Qt rakenduse kirjutamine. KDE omaduste ärakasutamiseks tuleb lihtsalt tarvitada mõningaid muid klasse. Võtame näitena ette eespool kirjeldatud Qt rakenduse muutmise KDE rakenduseks: <programlisting +>#include <kapplication.h> +#include <qpushbutton.h> + +int main( int argc, char **argv ) +{ +KApplication a( argc, argv ); + +QPushButton hello( "Hello world!", 0 ); +hello.resize( 100, 30 ); + +a.setTopWidget( &hello ); + +QObject::connect(&hello, SIGNAL( clicked() ), &a, SLOT( quit() )); + +hello.show(); +return a.exec(); +} +</programlisting> +</para +> +<para +>Kõigepealt asendasime klassi <classname +>QApplication</classname +> klassiga <classname +>KApplication</classname +>. Seejärel pidime muutma varasema meetodi <methodname +>setMainWidget()</methodname +> meetodiks <methodname +>setTopWidget</methodname +>, mida <classname +>KApplication</classname +> kasutab põhividina määramiseks. Ja ongi kõik! Sinu esimene KDE rakendus on valmis - pead veel ainult kompilaatorile teatama KDE kaasamise asukohta ja linkuriga linkima teegi kdecore võtmega -lkdecore. </para> +<para +>Nüüd, kus tead, mida funktsioon <function +>main()</function +> üldiselt pakub ja kuidas muuta rakendus nähtavaks ning võimaldada kasutaja ja objekti interaktsiooni, on aeg minna järgmise peatüki kallale, kus loome oma esimese rakenduse &kdevelop;iga. Samuti saab seal testida kõike, millest oleme juttu teinud, ning näha oma silmaga, mis kuidas toimib. </para> +<para +>Usutavasti oled järginud juhiseid ning uurinud Qt dokumentatsiooni, eriti just klasside <classname +>QApplication</classname +>, <classname +>QWidget</classname +> ja <classname +>QObject</classname +> kohta, ning teegi kdecore dokumentatsiooni klassi <classname +>KApplication</classname +> kohta. <ulink url="developer.kde.org/documentation/library/libraryref.html" +>KDE teegi käsiraamat</ulink +> sisaldab samuti põhjalikku kirjeldust konstruktorite <classname +>QApplication</classname +> ja <classname +>KApplication</classname +> väljakutsumise kohta, kaasa arvatud käsureaargumentide töötlemine. </para> +</sect2> +</sect1> + +</chapter> + +<chapter id="chapter3"> +<title +>Uue rakenduse loomine</title> + +<sect1 id="c3s1"> +<title +>Rakenduse nõustaja</title> +<para +>&kdevelop;i Rakenduse nõustaja eesmärk on võimaldada vähese vaevaga luua &kdevelop;is uus tarkvaraprojekt. Seetõttu luuaksegi kõik projektid algul nõustajaga ning alles seejärel hakkad neid ehitama ja laiendama malli pakutavat lähtekoodi. Vastavalt projekti eesmärgile saab valida mitme projektitüübi seast: <itemizedlist> +<listitem +><para +>KDE rakenduse raamistik: sisaldab standardse KDE rakenduse terve raamistiku lähtekoodi </para +></listitem> +<listitem +><para +>QMake'i projekt: sisaldab rakenduse raamistikku, mis tugineb Trolltechi qmake'i konfiguratsioonisüsteemile </para +></listitem> +<listitem +><para +>Lihtne "Tere, maailm" programm: sisaldab C++ terminalipõhist programmi ilma GUI toetuseta </para +></listitem> +<listitem +><para +>Terve rida muid programmimalle </para +></listitem> +</itemizedlist> +</para> +<para +>Peatükis räägime, kuidas avada Rakenduse nõustaja ja mida teha KDE rakenduse projekti loomiseks. See on ka esimene samm, millega luua näidisprojekti esialgne versioon. Kõigi teiste projektitüüpide korral on sammud üldiselt samasugused, aga mitte kõik valikud ei pruugi kattuda. </para> +</sect1> + +<sect1 id="c3s2"> +<title +>Rakenduse nõustaja käivitamine ja projekti loomine</title> +<sect2 id="c3s2s1"> +<title +>Rakenduse nõustaja esimene lehekülg</title> +<para +>Oma KDE rakenduse loomise alustamiseks ava &kdevelop;. Vali menüüst Projekt käsk Uus projekt. Ilmub Rakenduse nõustaja, mille esimesel leheküljel näed puukujulises struktuuris saadaolevaid projektitüüpe. Vali puust C++ ning selle alt KDE ja Rakenduse raamistik. </para> +<para +>Meie näidisprojektiks on rakenduse KScribble loomine. Nimeta selliselt oma rakendus ja muuta dialoogi allosas olevat infot enda vajaduste kohaselt. Seejärel klõpsa nupule Edasi. <screenshot +><mediaobject +><imageobject> +<imagedata fileref="appwizard.png" format="PNG"/> +</imageobject +><textobject +><phrase +>Rakenduse nõustaja</phrase +></textobject> +</mediaobject +></screenshot> +</para> +</sect2> +<sect2 id="c3s2s2"> +<title +>Versioonikontrolli info</title> +<para +>Sellel leheküljel saad otsustada, kas sinu projekt kasutab mõnda versioonikontrollisüsteemi (näiteks CVS). Meie näidisprojekt ei kasuta, nii et jäta kasti alles Puudub ja klõpsa nupule Edasi. </para> +</sect2> +<sect2 id="c3s2s3"> +<title +>Päise- ja lähtekoodifailide mallid</title> +<para +>Järgmisel kahel leheküljel näed päiseid, mis lisatakse iga päise- ja lähtekoodifaili algusse, mida sa &kdevelop;iga lood. Jäta praegu siin kõik nii nagu on ning klõpsa nupule Edasi ja lõpuks Lõpeta. Kui nupp Lõpeta ei ole aktiivne, on valikutega midagi lahti. Kasuta nuppu Tagasi, et vaadata üle kõik varasemad leheküljed ja parandada vead. </para> +</sect2> +<sect2 id="c3s2s4"> +<title +>Lõpetamine</title> +<para +>Lõpetamise järel Rakenduse nõustaja sulgub ning ilmub teadeteaken, kus näed, mida &kdevelop; parajasti teeb. Lõpuks peaks sinna ilmuma teade **** Õnnestus *****. See tähendab, et rakenduse raamistik on edukalt laaditud. </para> +</sect2> +</sect1> + +<sect1 id="c3s3"> +<title +>Esimene ehitamine</title> +<para +>Nüüd, kus projekt on genereeritud, vaatame lähtekoodi üle, et saada mingi aim, milline näeb välja rakenduse raamistik. See mitte ainult ei aita meil arendamisega alustada, vaid annab ka teada, kus ja mida hiljem muuta. </para> +<para +>Me eeldame siinkohal, et sa tead, kuidas &kdevelop;is liikuda. Vajaduse korral uuri seda KDevelopi kasutaja käsiraamatust. </para> +<para +>Automake'i haldur näitab projekti faile selliselt: <screenshot +><mediaobject +><imageobject> +<imagedata fileref="kscribblefiles.png" format="PNG"/> +</imageobject +><textobject +><phrase +>Meie projekti failid</phrase +></textobject> +</mediaobject +></screenshot> +</para> +<para +>Enne lähtekoodi süüvimist laseme &kdevelop;il oma uue rakenduse ehitada. Selleks vali menüüst Projekt käsk Ehita projekt või vajuta F8. Ilmub teadeteaken, mis näitab kompileerimisfaasi väljundteateid. <programlisting +>1 cd /home/caleb/kscribble && WANT_AUTOCONF_2_5=1 WANT_AUTOMAKE_1_6=1 gmake k +2 gmake all-recursive +3 gmake[1]: Entering directory `/home/caleb/kscribble' +4 Making all in doc +5 gmake[2]: Entering directory `/home/caleb/kscribble/doc' +6 Making all in . +7 gmake[3]: Entering directory `/home/caleb/kscribble/doc' +8 gmake[3]: Nothing to be done for `all-am'. +9 gmake[3]: Leaving directory `/home/caleb/kscribble/doc' +10 Making all in en +11 gmake[3]: Entering directory `/home/caleb/kscribble/doc/en' +12 /usr/local/kde3/bin/meinproc --check --cache index.cache.bz2 /home/caleb/kscribble/doc/en/index.docbook +13 gmake[3]: Leaving directory `/home/caleb/kscribble/doc/en' +14 gmake[2]: Leaving directory `/home/caleb/kscribble/doc' +15 Making all in po +16 gmake[2]: Entering directory `/home/caleb/kscribble/po' +17 gmake[2]: Nothing to be done for `all'. +18 gmake[2]: Leaving directory `/home/caleb/kscribble/po' +19 Making all in src +20 gmake[2]: Entering directory `/home/caleb/kscribble/src' +21 source='main.cpp' object='main.o' libtool=no \ +22 depfile='.deps/main.Po' tmpdepfile='.deps/main.TPo' \ +23 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \ +24 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/kde3/include + -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor + -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings + -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new + -c -o main.o `test -f 'main.cpp' || echo '/home/caleb/kscribble/src/'`main.cpp +25 /usr/lib/qt/bin/moc /home/caleb/kscribble/src/kscribble.h -o kscribble.moc +26 source='kscribble.cpp' object='kscribble.o' libtool=no \ +27 depfile='.deps/kscribble.Po' tmpdepfile='.deps/kscribble.TPo' \ +28 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \ +29 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/kde3/include + -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor + -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings + -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new + -c -o kscribble.o `test -f 'kscribble.cpp' || echo '/home/caleb/kscribble/src/'`kscribble.cpp +30 kscribble.cpp: In member function `void KScribble::setupActions()' +31 kscribble.cpp:107: warning: unused variable `KAction*custom' +32 /usr/lib/qt/bin/moc /home/caleb/kscribble/src/kscribbleview.h -o kscribbleview.moc +33 source='kscribbleview.cpp' object='kscribbleview.o' libtool=no \ +34 depfile='.deps/kscribbleview.Po' tmpdepfile='.deps/kscribbleview.TPo' \ +35 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \ +36 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/kde3/include + -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor + -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi + -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -c + -o kscribbleview.o `test -f 'kscribbleview.cpp' || echo '/home/caleb/kscribble/src/'`kscribbleview.cpp +37 kscribbleview.cpp: In member function `void KScribbleView::print(QPainter*, +38 int, int)': +39 kscribbleview.cpp:79: warning: unused parameter `QPainter*p' +40 kscribbleview.cpp:79: warning: unused parameter `int height' +41 kscribbleview.cpp:79: warning: unused parameter `int width' +42 /usr/lib/qt/bin/moc /home/caleb/kscribble/src/pref.h -o pref.moc +43 source='pref.cpp' object='pref.o' libtool=no \ +44 depfile='.deps/pref.Po' tmpdepfile='.deps/pref.TPo' \ +45 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \ +46 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/kde3/include + -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor + -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings + -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new + -c -o pref.o `test -f 'pref.cpp' || echo '/home/caleb/kscribble/src/'`pref.cpp +47 /usr/local/kde3/bin/dcopidl /home/caleb/kscribble/src/kscribbleiface.h +> kscribbleiface.kidl || + ( rm -f kscribbleiface.kidl ; /bin/false ) +48 /usr/local/kde3/bin/dcopidl2cpp --c++-suffix cpp --no-signals --no-stub kscribbleiface.kidl +49 source='kscribbleiface_skel.cpp' object='kscribbleiface_skel.o' libtool=no \ +50 depfile='.deps/kscribbleiface_skel.Po' tmpdepfile='.deps/kscribbleiface_skel.TPo' \ +51 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \ +52 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/kde3/include + -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor + -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings + -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new + -c -o kscribbleiface_skel.o `test -f 'kscribbleiface_skel.cpp' || + echo '/home/caleb/kscribble/src/'`kscribbleiface_skel.cpp +53 /bin/sh ../libtool --silent --mode=link --tag=CXX g++ -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall + -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 + -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -o kscribble -R + /usr/local/kde3/lib -R /usr/lib/qt/lib -R /usr/X11R6/lib -L/usr/X11R6/lib -L/usr/lib/qt/lib + -L/usr/local/kde3/lib main.o kscribble.o kscribbleview.o pref.o kscribbleiface_skel.o -lkio +54 source='kscribble_client.cpp' object='kscribble_client.o' libtool=no \ +55 depfile='.deps/kscribble_client.Po' tmpdepfile='.deps/kscribble_client.TPo' \ +56 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \ +57 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/kde3/include + -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor + -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings + -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new + -c -o kscribble_client.o `test -f 'kscribble_client.cpp' || echo + '/home/caleb/kscribble/src/'`kscribble_client.cpp +58 /bin/sh ../libtool --silent --mode=link --tag=CXX g++ -Wnon-virtual-dtor -Wno-long-long -Wundef + -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 + -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -o kscribble_client -R + /usr/local/kde3/lib -R /usr/lib/qt/lib -R /usr/X11R6/lib -L/usr/X11R6/lib -L/usr/lib/qt/lib + -L/usr/local/kde3/lib kscribble_client.o -lkdecore +59 gmake[2]: Leaving directory `/home/caleb/kscribble/src' +60 gmake[2]: Entering directory `/home/caleb/kscribble' +61 gmake[2]: Nothing to be done for `all-am'. +62 gmake[2]: Leaving directory `/home/caleb/kscribble' +63 gmake[1]: Leaving directory `/home/caleb/kscribble' +64 *** Success *** +</programlisting> +</para> +<para +>Nagu näed, panime siin iga rea ette järjekorranumbri. Teadeteaknas neid ei näe, kuid nii on sul lihtsam meie edasist arutlust jälgida. Kõigepealt tuleb tähele panna, et gmake töötab rekursiivselt. See tähendab, et see alustab kataloogist, kus see välja kutsuti ning läheb üksteise järel selle alamkataloogidesse, naaseb seejärel kataloogi, kus tööd alustas, töötleb seda ja seejärel lõpetab. </para> +<para +>Esimene huvipakkuv rida on 24. Pane tähele, et sel real kutsub make välja meie C++ kompilaatori g++, et kompileerida meie projekti esimene lähtekoodifail, antud juhul main.cpp. g++ kompilaatorile saab anda terve rea käsureavõtmeid, millest mõningaid kasutatakse vaikimisi, teiste kasutamist saab aga &kdevelop;is seadistada. </para> +<para +>Enne järgmise faili (kscribble.cpp, rida 29) kompileerimist kutsutakse moc (metaobjekti kompilaator) välja kscribble.h jaoks (rida 25). Põhjuseks on see, et KScribble klassid kasutavad signaale/pesasid, mistõttu makro Q_OBJECT tuleb laiendada, mida meie eest teebki moc. Tekkinud faili kscribble.moc kasutab kscribble.cpp failis leiduva #include-lausega. </para> +</sect1> + +<sect1 id="c3s4"> +<title +>Lähtekoodi mall</title> +<para +>Mõistmaks, kuidas KDE rakendus töötab, tuleb meil esmalt uurida lähemalt lähtekoodi malli, mille lõi meie jaoks Rakenduse nõustaja. Nagu nägime, anti meie käsutusse valik lähtekoodi- ja päisefaile, mis ehitasid rakenduse esialgse koodi. Seepärast on kõige lihtsam koodi selgitada teostust rida realt järgides, nagu seda töödeldakse programmi käivitamisel, kuni see siseneb põhisilmusesse ja on valmis vastu võtma kasutaja sisestust. Seejärel vaatame funktsionaalsust, mis võimaldab kasutaja interaktsiooni, ning tutvume sellega, kuidas mitmed asjad töötavad. Sestap on arvatavasti just raamistikku kõige parem selgitada, sest see on samalaadne sisuliselt kõigis KDE rakendustes ning tagab sulle oskuse lugeda ka teiste projektide lähtekoodi. Lisaks saad teada, mida ja millises koodi osas muuta, et sinu rakendus käituks just nii, nagu sa seda soovid. </para> + +<sect2 id="c3s4s1"> +<title +>Funktsioon main()</title> +<para +>Kuna rakendus alustab oma tegevust sisenemisega funktsiooni <function +>main()</function +>, alustame meiegi koodi uurimist siin. KScribble funktsioon <function +>main()</function +> on teostatud failis main.cpp ja selle leiab ka klassisirvijast, kui valida kataloog "Globaalsed funktsioonid". <programlisting +>1 int main(int argc, char **argv) +2 { +3 KAboutData about("kscribble", I18N_NOOP("KScribble"), version, description, +4 KAboutData::License_GPL, "(C) 2002 Sinu nimi", 0, 0, "sina@sina.ee"); +5 about.addAuthor( "Sinu nimi", 0, "sina@sina.ee" ); +6 KCmdLineArgs::init(argc, argv, &about); +7 KCmdLineArgs::addCmdLineOptions(options); +8 KApplication app; +9 +10 // register ourselves as a dcop client +11 app.dcopClient()->registerAs(app.name(), false); +12 +13 // see if we are starting with session management +14 if (app.isRestored()) +15 RESTORE(KScribble) +16 else +17 { +18 // no session.. just start up normally +19 KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); +20 if (args->count() == 0) +21 { +22 KScribble *widget = new KScribble; +23 widget->show(); +24 } +25 else +26 { +27 int i = 0; +28 for (; i < args->count(); i++) +29 { +30 KScribble *widget = new KScribble; +31 widget->show(); +32 widget->load(args->url(i)); +33 } +34 } +35 args->clear(); +36 } +37 +38 return app.exec(); +39 } +</programlisting> +</para +> +<para +>Kõigepealt luuakse, nagu ikka <classname +>KApplication</classname +> objekt, kuid me oleme lisanud mõned KDE meetodid, mis määravad antud rakenduse programmi ja autori kohta käiva info. </para> +</sect2> +<sect2> +<title +>Kasutaja rakenduse käivitamine</title> + +<para +>... (veel kirjutamata)</para> + +</sect2> +<sect2> +<title +>Konstruktor</title> +<para +>Vaatame nüüd konstruktorit ja seda, kuidas selle eksemplar välja kutsutakse <programlisting +>1 KScribble::KScribble() +2 : KMainWindow( 0, "KScribble" ), +3 m_view(new KScribbleView(this)), +4 m_printer(0) +5 { +6 // accept dnd +7 setAcceptDrops(true); +8 +9 // tell the KMainWindow that this is indeed the main widget +10 setCentralWidget(m_view); +11 +12 // then, setup our actions +13 setupActions(); +14 +15 // and a status bar +16 statusBar()->show(); +17 +18 // allow the view to change the statusbar and caption +19 connect(m_view, SIGNAL(signalChangeStatusbar(const QString&)), +20 this, SLOT(changeStatusbar(const QString&))); +21 connect(m_view, SIGNAL(signalChangeCaption(const QString&)), +22 this, SLOT(changeCaption(const QString&))); +23 +24 } +</programlisting> +</para> +<para +>Pane tähele, et <classname +>KScribble</classname +> on klassi <classname +>KMainWindow</classname +> järglane, mis on KDE rakenduste üks baasklasse. Me initsialiseerime klassi <classname +>KScribbleView</classname +> oma keskse vidinana, loome klassi <classname +>KStatusBar</classname +> meetodiga <methodname +>statusBar()</methodname +> (rida 16) ning ühendame mõned signaalid ja pesad. </para> +</sect2> +</sect1> +</chapter> + + +<chapter id="chapter4"> +<title +>Rakenduse vaate kujundamine</title> +<sect1 id="c4s1"> +<title +>Sissejuhatus</title> +<para +>Graafilise kasutajaliidesega rakendust luues on põhimureks rakenduse niinimetatud "vaate" väljatöötamine. Vaade on üldiselt vidin, mis esitab dokumendi andmeid ja pakub meetodeid dokumendi sisu käsitlemiseks. Seda teeb kasutaja sündmustega, mida ta emiteerib klaviatuuri või hiirega. Keerulisemateks toiminguteks kasutatakse tihtipeale tööriistaribasid ja menüüriba, mis suhtlevad vaate ja dokumendiga. Olekuriba aga pakub infot dokumendi, vaate või rakenduse oleku kohta. Vaatame näitena, kuidas konstrueeritakse redaktor ja mis kus asub. </para> +<para +>Redaktor peab üldiselt pakkuma kasutajale liidese tekstidokumendi sisu vaatamiseks ja/või muutmiseks. Kui käivitad näiteks Kate, näed sellist visuaalset liidest: <itemizedlist> +<listitem +><para +>menüüriba: pakub keerukaid toiminguid, samuti failide avamise, salvestamise ja sulgemise ning rakendusest väljumise võimalust </para +></listitem> +<listitem +><para +>Tööriistariba: pakub ikoone sagedamini vajaminevate funktsioonide kiireks kasutamiseks </para +></listitem> +<listitem +><para +>Olekuriba: näitab kursori asukohainfot ehk rida ja veergu, kus asub kursor </para +></listitem> +<listitem +><para +>Vaade ise akna keskel, mis näitab dokumenti ning pakub andmete töötlemiseks klaviatuuriga ja hiirega ühendatud kursorit </para +></listitem> +</itemizedlist> +</para> +<para +>On selge, et vaade on rakenduse kõige unikaalsem komponent ja et vaate kujundamisest sõltub suuresti rakenduse kasutatavus ja vastuvõetavus. See tähendab, et arendaise üks esimesi samme on määrata kindlaks rakenduse eesmärk ning leida, millist laadi vaade tagab kasutajale parimad võimalused rakendusega tööd teha nii, et ta peaks kulutama minimaalselt aega kasutajaliidese tundmaõppimiseks. </para> +<para +>Teatud asjade jaoks,näiteks teksti redigeerimine ja HTML-failide näitamine, pakuvad vaateid Qt ja KDE teegid. Nende kõrgtaseme vidinate mõningatest aspektidest tuleb juttu järgmises osas. Enamiku rakenduste puhul tuleb siiski kujundada ja teostada uued vidinad. Nii peab programmeerija olema ka kujundaja, mis nõuab omajagu loovat annet. Kuid mõistagi on kõige olulisem nii-öelda sisetunne. Tasuks meeles pidada, et suur osa kasutajatest põrkab tagasi rakendustest, mis ei ole: <itemizedlist> +<listitem +><para +>visuaalselt kenad </para +></listitem> +<listitem +><para +>rikkalike omadustega </para +></listitem> +<listitem +><para +>hõlpsasti kasutatavad </para +></listitem> +<listitem +><para +>kiiresti omandatavad </para +></listitem> +</itemizedlist> +</para> +<para +>Ja ei pruugi mainidagi, et kujunduse üks peamisi sihte on stabiilsus. Vigu ei ole muidugi võimalik kunagi täielikult vältida, kuid oskuslikult seatud kujunduseesmärkide ja objektorienteeritud disaini agara kasutamisega võib saavutada väga palju. C++ muudab programmeerimise lõbuks, kui oskad ära kasutada selle võimalusi: pärilus, info peitmine, juba olemasoleva koodi korduvkasutus. </para> +<para +>KDE või Qt projekti luues peab sul alati olema vaade, mis on klassi QWidget järglane kas otsese päriluse kaudu või siis teegividina kaudu, mida soovid tarvitada. Seepärast konstrueerib juba Rakenduse nõustaja vaate, mis on klassi sinurakendusView eksemplar ja klassi QWidget järglane. </para> +<para +>See peatükk kirjeldabki, kuidas kasutada teegividinaid &kdevelop;is loodud KDE või Qt rakenduste vaadete loomiseks, seejärel aga vaatame teeke ja vaateid, mida nad pakuvad. </para> +</sect1> +<sect1 id="c4s2"> +<title +>Teegivaadete kasutamine</title> +<para +>Kui sinu rakenduse kujundus on juba paigas, tuleks võtta ette olemasolev kood, mis muudab elu märksa lihtsamaks. Ühe osana sellest tasuks otsida vidinat, mida saab kasutada vaatena või vähemalt vaate osana kas otse või päriluse kaudu. KDE ja Qt teegid sisaldavad mitmeid vidinaid, mida saab selleks otstarbeks pruukida. Nende kasutamiseks on sinu ees kaks võimalust: <orderedlist> +<listitem +><para +>Eemaldada uus vaateklass ja luua teegividina eksemplar ning määrata see siis vaateks. </para +></listitem> +<listitem +><para +>Muuta pakutava vaateklassi pärilust, et see oleks kasutatava teegividina järglane. </para +></listitem> +</orderedlist> +</para> +<para +>Mõlemal juhul tuleb silmas pidada, et kui rakenduse raamistik pole parajasti lingitud vidinat sisaldava teegiga, tabab linkurit ebaõnn. Kui oled otsustanud kasutada teatud vidinat, otsi teek, millega see linkida. Seejärel vali &kdevelop;is menüükäsk "Projekt"->"Projekti seadistused". Ava kaart "Linkuri seadistused" ja uuri linnukesi, mis märgivad parajasti kasutavaid teeke. Kui sinu vidina teek on juba märgitud, võid jätta projekti seadistused puutumata ning asuda muudatuste kallale, mida sinu valik endaga kaasa toob. Kui aga mitte ja linkuri seadistused pakuvad võimalust kastikest märkides teeki lisada, siis märgi kast ja klõpsa nupule "OK". Muudel juhtudel tuleb teek lisada allpool võtmega -l. Teekide puhul, mida sinu rakendus peab otsima, enne kui configure-skript loob sihtmasinas Makefile'id, lisa vastav otsimismakro faili configure.in, mis paikneb sinu projekti juurkataloogis. Pane tähele, et sa pead käivitama, käsud "Ehitamine"->"Käivita automake" ja "Ehitamine"->"Käivita configure", enne kui Makefile'id hakkavad sisaldama teegimakro korrektse laiendamise määratlust. </para> +<para +>Kui lisatava teegi kaasatavaid faile (include) ei ole kehtivas asukohas (seda saab näha ehitamise korral väljundaknas -I võtmetega), tuleb asukoht lisada projekti seadistuste dialoogi kaardil "Kompilaatori seadistused" võtmega -I või vastav automake'i makro "Lisaseadistuste" all. </para> +<sect2 id="c4s3s1"> +<title +>Qt vaated</title> +<para +>Qt võrgudokumentatsiooni avaleheküljelt leiab lingi "Widget Screenshots", millele klõpsates saab näha, kuidas näevad välja Qt pakutavad vidinad. Neid saab otsekohe kasutada ning kombineerida keerukamate vidinate loomiseks, mille alusel luua rakenduste vaateid või dialooge. Järgnevalt vaatleme mõningaid vidinaid, mida saab edukalt ära kasutada rakenduste vaadete loomiseks, kuid tasub meeles pidada, et ka KDE teegid sisaldavad vidinaid, mida saab samaks otstarbeks pruukida. Neist tuleb juttu järgmises osas. </para> +<para +>Anname mõned nõuanded, milliseid Qt komponente milleks kasutada: <orderedlist> +<listitem +><para +>Kui sinu vaade pole piisavalt suur kõigi andmete näitamiseks, peab kasutajal olema võimalus kerida dokumenti vaate vasakus ja alumises servas asuvate ribadega. Selleks pakub Qt klassi <classname +>QScrollView</classname +>, mis tekitab keritava alampiirkonna. Nagu juba mainitud, tuleb oma vidin muuta <classname +>QScrollView</classname +> järglaseks või kasutada eksemplari oma dokumendi vaatevidina haldamiseks. </para +></listitem +> +<listitem +><para +>Et luua ise kerimisvaade, muuda vidin View klassi <classname +>QWidget</classname +> järglaseks ja lisa püstine ja rõhtne <classname +>QScrollBars</classname +> (seda teeb teha KDE vidinaga KHTMLView). </para +></listitem +> +<listitem +><para +>Tekstitöötluseks kasuta klassi <classname +>QTextEdit</classname +>. See pakub täieliku tekstiredaktori vidina, mis suudab juba teksti lõigata, kopeerida ja asetada ning mida haldab kerimisvaade. </para +></listitem +> +<listitem +><para +>Tabelisse paigutatud andmete esitamiseks kasuta klassi <classname +>QTable</classname +>. Et ka klassi <classname +>QTable</classname +> haldab kerimisvaade, sobib see hästi tabelitöötlusrakendustele. </para +></listitem +> +<listitem +><para +>Kahe erineva vidina või vidina eksemplari näitamiseks ühel ja samal ajal kasuta klassi <classname +>QSplitter</classname +>. See võimaldab paanida vaateid rõhtsate või püstiste eraldajate abil. Selle heaks näiteks on KMail: peavaade on eraldajaga jagatud vertikaalselt, parempoolne aken aga omakorda rõhtsalt. </para +></listitem +> +<listitem +><para +><classname +>QListView</classname +> esitab infot nimekirja ja puu kujul. See on tulus failipuude või mis tahes muu hierarhilise info näitamiseks, millega kasutaja saab suhelda. </para +></listitem +> +</orderedlist> +</para> +<para +>Nagu näha, pakub juba ainuüksi Qt terve rea vidinaid, mida saab otsekohe kasutada, nii et kui sul ei ole väga erilisi vajadusi, ei pea sa neid hakkama ise looma. Standardvidinate kasutamise lisaboonuseks on see, et kasutajad juba teavad, kuidas neid kasutada, ning võivad sestap koondada tähelepanu esitatavale andmetele. </para> +</sect2> +<sect2 id="c4s3s2"> +<title +>KDE vaated</title> +<para +>KDE teegid loodi selleks, et rakenduste kujundamine KDE töökeskkonna jaoks oleks veelgi lihtsam ja nende funktsionaalsus suurem kui see, mida saanuks pakkuda ainuüksi QT kasutamisel. Teek kdeui pakub: <orderedlist> +<listitem +><para +>KListView: <classname +>QListView</classname +> võimsam versioon </para +></listitem> +<listitem +><para +>KIconView: ikoonifailide graafiline näitaja </para +></listitem> +</orderedlist> +</para> +<para +>Teek khtml omalt poolt pakub täieliku HTML-i tõlgendava vidina, mida saab kohe kasutada. See on keritav, nii et ka selle pärast ei pea muretsema. Üks võimalikke kasutamiskohti on HTML-redaktori eelvaatlusvidin. Seda kasutavad HTML-failide näitamiseks mitmed rakendused, näiteks Konqueror. </para> +</sect2> +</sect1> +<sect1 id="c4s4"> +<title +>Omaenda vaadete loomine</title> +<para +>Veel kirjutamata </para> +</sect1> +</chapter> + +<chapter id="chapter5"> +<title +>Menüü- ja tööriistaribade seadistamine</title> +<sect1 id="c5s1"> +<title +>Sissejuhatus</title> +<para +>Menüü- ja tööriistaribad on üks rakenduste tähtsamaid komponente, mis pakuvad meetodeid dokumendi struktuuri töötlemiseks. Üldreeglina tuleks kõik funktsioonid teha kättesaadavaks menüüriba kaudu. Need meetodid, mida rakendus oma töö käigus mingil hetkel kasutada ei saa, peavad olema sel hetkel mittekasutatavad. </para> +<para +>Lisaks võib rakendusel olla ainult üks menüüriba, küll aga mitu tööriistariba. Tööriistaribad peavad samad pakkuma ainult kõige sagedamini kasutatavaid käske piltide ehk ikoonide kujul, tagades kiire ligipääsu meetoditele, muu hulgas ka liitkastide näol, kus saab valida mingeid väärtusi. </para> +</sect1> +<sect1 id="c5s2"> +<title +>Kuidas see töötab?</title> +<para +>Meie rakendus on klassi <classname +>KMainWindow</classname +> järglane, mis automaatselt tegeleb menüüriba ja tööriistaribade loomisega. Meetodis <methodname +>KScribble::setupActions()</methodname +> on meetodi <methodname +>KMainWindow::createGUI()</methodname +> väljakutse. See meetod laeb ressursifaili, milleks antud juhul on kscribbleui.rc, mis käivitamise ajal initsialiseerib menüüd. Pane tähele, et kscribbleui.rc on Automake'i halduris näha ühe projektifailina. Selle avamisel näeb järgmist: <programlisting +>1 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> +2 <kpartgui name="kscribble" version="1"> +3 <MenuBar> +4 <Menu name="custom" +><text +>C&ustom</text> +5 <Action name="custom_action" /> +6 </Menu> +7 </MenuBar> +8 </kpartgui +> +</programlisting> +</para> +<para +>Selgitus... </para> +<para +>Teine võimalus menüü- ja tööriistaribade sisu muuta on neid vahetult käsitleda nende klassi pakutavate meetoditega. Näiteks meetod <methodname +>menuBar()</methodname +> tagastab <classname +>KMenuBar</classname +> vidina, mis ongi meie programmi menüüriba. Otsides dokumentatsioonis infot klassi <classname +>KMenuBar</classname +> ja selle eellasklassi <classname +>QMenuBar</classname +> kohta, leiad suure hulga meetodeid <methodname +>insertItem()</methodname +>, mis võimaldavad lisada menüüribale elemente. </para> +<para +><classname +>KMainWindow</classname +> meetodid <methodname +>statusBar()</methodname +> ja <methodname +> toolBar()</methodname +> pakuvad samuti kasutatavaid vidinaid. </para> +</sect1> +<sect1 id="c5s3"> +<title +>Kiirklahvide seadistamine</title> +<para +>Rakendusele annab märksa professionaalsema ilme, kui lisad sellele kiirklahvid. Neid tarvitavad küll peamiselt kogenumad kasutajad, kes soovivad rakenduses tavapärasest veelgi kiiremini töötada ega pelga selleks väikest vaeva kiirklahvide meeldejätmise nimel. Selleks pakuvad KDE teegid klassi <classname +>KAction</classname +>, mis pakub kiirklahve ja ligipääsu globaalselt seadistatud standardsetele kiirklahvidele. </para> +<para +>Vaikimisi kasutavad &kdevelop;i genereeritud rakenduse raamistikud ainult standardseid kiirklahve, näiteks F1 abidokumendi avamiseks, Ctrl+N uue faili loomiseks jne. </para> +<para +>Kui sinu rakenduses on hulk kiirklahve, tuleb need muuta seadistatavaks menüüsse Seadistused lisatava eraldi kirjega või vähemalt koos teiste rakenduste seadistustega dialoogis, mida pakub QWidget. KDE teek pakubki klassi <classname +>KKeyChooser</classname +> kaardidialoogide jaoks ning klassi <classname +>KKeyDialog</classname +> kiirklahvide seadistamise dialoogile. </para> + +</sect1> +</chapter> + +<!-- +<chapter id="chapter6"> +<title +>Other Features</title> +</chapter> + +<chapter id="chapter7"> +<title +>Printing Support</title> +</chapter> +--> +<chapter id="chapter8"> +<title +>Abi</title> +<sect1 id="c8s1"> +<title +>Sissejuhatus</title> +<para +>Arendusprotsessi väga tähtis osa on abivõimaluste pakkumine kasutajale kõikjal ja kõiges, kus seda vähegi võib tarvis minna. Enamik arendajaid kipub seda kõige viimaseks jätma või üldse unustama, kuid tasuks meeles pidada, et enamik tavalisi kasutajaid pole kaugeltki UNIX-i eksperdid. Nad võivad väga kergesti sattuda segadusse ja pettuda, kui ei leia ühtegi võimalust uue rakendusega tuttavaks saada. Kellegi sundimine rakendust omandama aga ainult praktilise kogemuse varal ei ole küll mõistlik. Seepärast pakuvad KDE ja Qt teegid kõikvõimalikke vahendeid, millega anda rakendustele märksa professionaalsem ilme ka selle poolest, et kasutaja pärast on arvukalt abivõimalusi. Need võivad olla järgmised:</para> +<itemizedlist> +<listitem +><para +>Kohtspikrid</para +></listitem> +<listitem +><para +>Olekuriba teated</para +></listitem> +<listitem +><para +>Mis see on nupud</para +></listitem> +</itemizedlist> +<para +>Lisaks peaks rakendus pakkuma ka võimalust avada HTML-põhine käsiraamat kõigest tavapärase klahvile F1 vajutamisega. Kontekstipõhise abisüsteemi pakub automaatselt klass <classname +>KMainWindow</classname +>, ehkki rakenduse autor peab mõistagi ise looma abidokumendi sisu. </para> +<para +>Et ka &kdevelop; pakub igakülgset abi ning Rakenduse nõustajagi loodud KDE raamistik sisaldab selle toetust, tutvustamegi käesolevas peatükis seda, kus ja kuidas lisada abivõimalused. </para> +<para +>Rakenduse loomise käigust tuleks kõiges kasutada võimalikult ühtset lähenemist ning vajalikud sammud ette võtta kohe koodi laiendamisel. See väldib vajadust hiljem taas koodi süveneda, et selgusele jõuda, mida sinu rakendus õigupoolest teeb või miks on mingi koodiosa just selline, nagu ta on. </para> +</sect1> + +<sect1 id="c8s2"> +<title +>Kohtspikrid</title> +<para +>Hästi lihtne abivõimalus on kohtspikrid. Need on väiksed abiteated, mis ilmuvad nähtavale, kui kasutaja viib hiire vidina kohale, mis pakub kohtspikrit, ning kaovad siis, kui hiir vidina kohalt lahkub. Kõige enam kasutatakse kohtspikreid tööriistaribadel, kus need tuleb hoida võimalikult väiksetena, sest tööriistaribasid saab seadistada oma infot pakkuma mitmel moel: kas ainult nuppudena, nuppudena, millel on tekst paremal pool ikooni või selle all, või ka ainult tekstina. See esitamisvõimalus peaks olema kasutaja poolt seadistatav, aga ei pruugi tingimata olla. Teksti näidatakse nii või teisiti ka kohtspikrina ning tööriistariba koosneb tavaliselt nuppudest ja muudest vidinatest, näiteks tekstikastidest ja liitkastidest. Selle täielikku kirjeldust näeb klassi <classname +>KToolBar</classname +> dokumentatsioonis, mis asub kdeui teegis. </para> +<para +>Vaatame näitena ühe tavalise rakenduse nuppu "Uus fail": </para> +<para +>Siin pakub kohtspikri teate osa i18n("New File"). Seda sisaldab makro i18n(), mida pakub kapp.h kohtspikrite tõlkimise võimaldamiseks kasutaja valitud keelde. </para> +<para +>Kohtspikreid saab lisada ka suvalisele kohandatud vidinale Qt pakutavat klassi <classname +>QToolTip</classname +> kasutades. Selle näiteks võib olla: </para> +</sect1> +<sect1 id="c8s3"> +<title +>Olekuriba laiendamine</title> +<para +>Et rakendused, mis on <classname +>KMainWindow</classname +> järglased, sisaldavad ka olekuriba, pakub see ka valikut olekuriba teateid kõigi menüü- ja tööriistariba elementide tarbeks. Olekuriba abiteade on lühike teade, mis laiendab kohtspikrit või asendab menüüriba elementide kohtspikreid. Nagu nimigi ütleb, näidatakse seda olekuribal, kui kasutaja avab menüü ja valib sealt mõne kirje. </para> +</sect1> +<sect1 id="c8s4"> +<title +><guibutton +>Mis see on?</guibutton +> nupp</title> +<para +>Nupp <guibutton +>Mis see on?</guibutton +> palub abiakna, mis näitab kasutajale soovi korral abi teatud vidina kohta töövaates või tööriistaribal. See asub tööriistaribal ja aktiveerub, kui kasutaja nupule klõpsab. Kursor võtab küsimärgiga noole kuju, sarnanedes sel moel nupu enda ikoonile. Kasutaja saab sellega klõpsata huvipakkuva vidina peale, mis avabki abiakna. Võid näiteks katsetada, mida teeb nupp <guibutton +>Mis see on?</guibutton +> &kdevelop;is. </para> +<para +>Mis see on? abi lisamiseks vidinale tuleb kasutada staatilist meetodit <methodname +>QWhatsThis::add(QWidget *widget, const QString &text)</methodname +> </para> +</sect1> +</chapter> + +<chapter id="chapter9"> +<title +>Dokumentatsioon</title> +<sect1 id="c9s1"> +<title +>Sissejuhatus</title> +<para +>Arvestades seda, et projektidel puudub sageli täielik kasutaja dokumentatsioon, sisaldavad kõik &kdevelop;i projektid juba valmis käsiraamatut, mida saab hõlpsasti laiendada. See täidab veel ühe KDE eesmärgi: pakkuda kasutajatele, kes ei pruugi rakendusega kuigi tuttavad olla, piisavalt mitmekülgset ja võimalusel ammendavat abi. Käesolev peatükk kirjeldabki, kuidas laiendada pakutavat dokumentatsioonimalli ja kuidas muuta see kasutajale kättesaadavaks. </para> +</sect1> +<sect1 id="c9s2"> +<title +>Kasutaja dokumentatsioon</title> +<para +>Sinu projekti dokumentatsioon asub kataloogis projektikataloog/doc/en või ka mõnes muus kataloogis, kui sinu emakeel pole inglise keel. Selles asub fail index.docbook, milles sisaldubki dokumentatsioon. Selles failis kasutatavat vormingut selgitab <ulink url="http://i18n.kde.org/doc/markup/" +>KDE dokumentatsiooni veebilehekülg</ulink +>. </para> +</sect1> +<sect1 id="c9s3"> +<title +>Programmeerija dokumentatsioon</title> +<para +>Teine tähtis dokumentatsiooni komponent on sinu klasside liidese kirjeldamine. See võimaldab nii sul endal kui ka teistel programmeerijatel kasutada sinu klasse nende HTML-dokumentatsioonist abi otsides. Selle loomiseks sobib KDoc. &kdevelop; toetab täielikult KDoci kasutamist, luues KDE teegi dokumentatsiooni. Dokumenteeritud on juba ette ka sinu rakenduse raamistik. Pakutava koodiga tutvumiseks on äärmiselt kasulik alustada kaasatud dokumentatsiooni uurimist. Järgnevalt kirjeldame, mida on vaja teha API dokumentatsiooni loomiseks, kuidas &kdevelop; aitab seda teha ja millised spetsiaalseid silte pakub KDoc. </para> +</sect1> +</chapter> + +<chapter id="chapter10"> +<title +>Internatsionaliseerimine</title> +<sect1 id="c10s1"> +<title +>Sissejuhatus</title> +<para +>i18n on internatsionaliseerimissüsteem, mida kasutatakse rakenduse või projekti internatsionaliseeritud ehk lihtsamalt öeldes tõlgitud versioonide pakkumiseks. Rakenduse kirjutamisel toetavad nad enamasti ainult keelt, milles töötab autor ning see kajastub visuaalselt menüükirjetes, pealdistes ja mitmel pool mujal. Internatsionaliseerimise siht ongi pakkuda rakendusi ja teegi funktsioone kasutaja emakeeles ning seeläbi võimaldada ka neil kasutajatel, kes ei kõnele autoriga sama keelt, ometi nautida ilma probleemideta kogu funktsionaalsust. </para> +</sect1> +<!-- +<sect1 id="c10s2"> +<title +>How KDE support Internationalization</title> + +</sect1 +> --> +</chapter> +<!-- +<chapter id="chapter11"> +<title +>Finding Errors</title> +</chapter> + +<chapter id="chapter12"> +<title +>Licensing</title> +</chapter> + +<chapter id="chapter13"> +<title +>References</title> +</chapter> +--> +<chapter id="credits"> +<title +>Autorid</title> + +<para +>(... veel kirjutamata ...) </para> + +<!--CREDITS_FOR_TRANSLATORS--> + +</chapter +> <!-- credits --> + +<appendix id="bibliography"> +<title +>Bibliograafia</title> +<bibliography> + +<biblioentry> +<title +><ulink url="info://make/Top" +>GNU Make Manual</ulink +></title> +<authorgroup> +<author +><firstname +>Richard M.</firstname +><surname +>Stallman</surname +></author> +<author +><firstname +>Roland</firstname +><surname +>McGrath</surname +></author> +</authorgroup> +</biblioentry> + +<biblioentry> +<title +><ulink url="info://automake/Top" +>GNU Automake</ulink +></title> +<authorgroup> +<author +><firstname +>David</firstname +><surname +>MacKenzie</surname +></author> +<author +><firstname +>Tom</firstname +><surname +>Tromey</surname +></author> +</authorgroup> +</biblioentry> + +<biblioentry> +<title +><ulink url="info://autoconf/Top" +>GNU Autoconf</ulink +></title> +<authorgroup> +<author +><firstname +>David</firstname +><surname +>MacKenzie</surname +></author> +<author +><firstname +>Ben</firstname +><surname +>Elliston</surname +></author> +</authorgroup> +</biblioentry> + +<biblioentry> +<title +><ulink url="info://gcc/Top" +>Using the GNU Compiler Collection</ulink +></title> +<author +><firstname +>Richard M.</firstname +><surname +>Stallman</surname +></author> +</biblioentry> + +<biblioentry> +<title +><ulink url="info://libtool/Top" +>GNU Libtool</ulink +></title> +<authorgroup> +<author +><firstname +>Gordon</firstname +><surname +>Matzigkeit</surname +></author> +<author +><firstname +>Alexandre</firstname +><surname +>Oliva</surname +></author> +<author +><firstname +>Thomas</firstname +><surname +>Tanner</surname +></author> +<author +><firstname +>Gary V.</firstname +><surname +>Vaughan</surname +></author> +</authorgroup> +</biblioentry> + +<biblioentry> +<title +>GNU Autoconf, Automake, and Libtool</title> +<edition +>1st edition</edition> +<pubdate +>October 2000</pubdate> +<authorgroup> +<author +><firstname +>Gary V.</firstname +><surname +>Vaughan</surname +></author> +<author +><firstname +>Ben</firstname +><surname +>Elliston</surname +></author> +<author +><firstname +>Tom</firstname +><surname +>Tromey</surname +></author> +<author +><firstname +>Ian Lance</firstname +><surname +>Taylor</surname +></author> +</authorgroup> +<publisher +><publishername +>New Riders Publishing</publishername +></publisher> +<isbn +>ISBN 1578701902</isbn> +</biblioentry> + + +<biblioentry> +<title +>Advanced Programming in the UNIX(R) Environment</title> +<edition +>1st edition</edition> +<pubdate +>June 1992</pubdate> +<author +><firstname +>W. Richard</firstname +><surname +>Stevens</surname +></author> +<publisher +><publishername +>Addison-Wesley Pub Co</publishername +></publisher> +<isbn +>ISBN 0201563177</isbn> +</biblioentry> + +<biblioentry> +<title +>Thinking in C++, Volume 1: Introduction to Standard C++</title> +<edition +>2nd Edition</edition> +<pubdate +>April 15, 2000</pubdate> +<author +><firstname +>Bruce</firstname +><surname +>Eckel</surname +></author> +<publisher +><publishername +>Prentice Hall</publishername +></publisher> +<isbn +>ISBN 0139798099</isbn> +</biblioentry> + +<biblioentry> +<title +>Open Source Development with CVS</title> +<edition +>2nd Edition</edition> +<pubdate +>October 12, 2001</pubdate> +<authorgroup> +<author +><firstname +>Karl</firstname +><surname +>Fogel</surname +></author> +<author +><firstname +>Moshe</firstname +><surname +>Bar</surname +></author> +</authorgroup> +<publisher +><publishername +>The Coriolis Group</publishername +></publisher> +<isbn +>ISBN 158880173X</isbn> +</biblioentry> + +<biblioentry> +<title +>Programming PHP</title> +<edition +>1st edition</edition> +<pubdate +>March 2002</pubdate> +<authorgroup> +<author +><firstname +>Rasmus</firstname +><surname +>Lerdorf</surname +></author> +<author +><firstname +>Kevin</firstname +><surname +>Tatroe</surname +></author> +</authorgroup> +<publisher +><publishername +>O'Reilly & Associates</publishername +></publisher> +<isbn +>ISBN 1565926102</isbn> +</biblioentry> + +<biblioentry> +<title +>Programming Python</title> +<edition +>2nd Edition</edition> +<pubdate +>March 2001</pubdate> +<author +><firstname +>Mark</firstname +><surname +>Lutz</surname +></author> +<publisher +><publishername +>O'Reilly & Associates</publishername +></publisher> +<isbn +>ISBN 0596000855</isbn> +</biblioentry> + +<biblioentry> +<title +>Gui Programming With Python : Using the Qt Toolkit</title> +<edition +>Bk&Cd-r edition</edition> +<pubdate +>January 2002</pubdate> +<author +><firstname +>Boudewijn</firstname +><surname +>Rempt</surname +></author> +<publisher +><publishername +>Opendocs Llc</publishername +></publisher> +<isbn +>ISBN 0970033044</isbn> +</biblioentry> + +<biblioentry> +<title +>Programming Perl</title> +<subtitle +>The Camel book</subtitle> +<edition +>3rd Edition</edition> +<pubdate +>July 2000</pubdate> +<authorgroup> +<author +><firstname +>Larry</firstname +><surname +>Wall</surname +></author> +<author +><firstname +>Tom</firstname +><surname +>Christiansen</surname +></author> +<author +><firstname +>Jon</firstname +><surname +>Orwant</surname +></author> +</authorgroup> +<publisher +><publishername +>O'Reilly & Associates</publishername +></publisher> +<isbn +>ISBN 0596000278</isbn> +</biblioentry> + +<biblioentry> +<title +>Learning Perl</title> +<subtitle +>The Lama book</subtitle> +<edition +>3rd Edition</edition> +<pubdate +>July 15, 2001</pubdate> +<authorgroup> +<author +><firstname +>Randal L.</firstname +><surname +>Schwartz</surname +></author> +<author +><firstname +>Tom</firstname +><surname +>Phoenix</surname +></author> +</authorgroup> +<publisher +><publishername +>O'Reilly & Associates</publishername +></publisher> +<isbn +>ISBN 0596001320</isbn> +</biblioentry> + +</bibliography> + +&underFDL; + + +</appendix> + +</book> diff --git a/tde-i18n-et/docs/kdevelop/kdearch/Makefile.am b/tde-i18n-et/docs/kdevelop/kdearch/Makefile.am new file mode 100644 index 00000000000..f6c3e2e278a --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdearch/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = et +SUBDIRS = $(AUTODIRS) +KDE_DOCS = AUTO +KDE_MANS = AUTO diff --git a/tde-i18n-et/docs/kdevelop/kdearch/Makefile.in b/tde-i18n-et/docs/kdevelop/kdearch/Makefile.in new file mode 100644 index 00000000000..bdaca903d54 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdearch/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/kdevelop/kdearch +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ +#>- html-recursive info-recursive install-data-recursive \ +#>- install-dvi-recursive install-exec-recursive \ +#>- install-html-recursive install-info-recursive \ +#>- install-pdf-recursive install-ps-recursive install-recursive \ +#>- installcheck-recursive installdirs-recursive pdf-recursive \ +#>- ps-recursive uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +#>+ 1 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CONF_FILES = @CONF_FILES@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +GMSGFMT = @GMSGFMT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_RPATH = @KDE_RPATH@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOPSUBDIRS = @TOPSUBDIRS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +#>- bindir = @bindir@ +#>+ 2 +DEPDIR = .deps +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +kdeinitdir = @kdeinitdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_LANG = et +#>- 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/kdevelop/kdearch/Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --gnu docs/kdevelop/kdearch/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/kdevelop/kdearch/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdevelop/kdearch/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdevelop/kdearch/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=index.docbook index.cache.bz2 Makefile.in Makefile.am + +#>+ 24 +index.cache.bz2: $(srcdir)/index.docbook $(KDE_XSL_STYLESHEET) index.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)/kdearch + @if test -f index.cache.bz2; then \ + echo $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdearch/; \ + $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdearch/; \ + elif test -f $(srcdir)/index.cache.bz2; then \ + echo $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdearch/; \ + $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdearch/; \ + fi + -rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdearch/common + $(LN_S) $(kde_libs_htmldir)/$(KDE_LANG)/common $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdearch/common + +uninstall-docs: + -rm -rf $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdearch + +clean-docs: + -rm -f index.cache.bz2 + + +#>+ 13 +install-nls: + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdearch + @for base in index.docbook ; do \ + echo $(INSTALL_DATA) $$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdearch/$$base ;\ + $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdearch/$$base ;\ + done + +uninstall-nls: + for base in index.docbook ; do \ + rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdearch/$$base ;\ + done + + +#>+ 5 +distdir-nls: + for file in index.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/kdevelop/kdearch/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdevelop/kdearch/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdevelop/kdearch/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-et/docs/kdevelop/kdearch/index.cache.bz2 b/tde-i18n-et/docs/kdevelop/kdearch/index.cache.bz2 Binary files differnew file mode 100644 index 00000000000..e0ffb2edf09 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdearch/index.cache.bz2 diff --git a/tde-i18n-et/docs/kdevelop/kdearch/index.docbook b/tde-i18n-et/docs/kdevelop/kdearch/index.docbook new file mode 100644 index 00000000000..789b4179264 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdearch/index.docbook @@ -0,0 +1,3680 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY % addindex "INCLUDE"> + <!ENTITY % Estonian "INCLUDE" +> <!-- change language only here --> +]> + +<book lang="&language;"> + +<bookinfo> +<title +>KDE arhitektuuri ülevaade</title> + +<date +></date> +<releaseinfo +></releaseinfo> + +<authorgroup> +<author +><firstname +>Bernd</firstname +> <surname +>Gehrmann</surname +> <affiliation +><address +><email +>bernd@kdevelop.org</email +></address +></affiliation> +</author> +</authorgroup> + +<copyright> +<year +>2001</year> +<year +>2002</year> +<holder +>Bernd Gehrmann</holder> +</copyright> + +<legalnotice +>&FDLNotice;</legalnotice> + +<abstract> +<para +>Käesolev käsiraamat annab ülevaate KDE arendusplatvormist</para> +</abstract> + +<keywordset> +<keyword +>KDE</keyword> +<keyword +>arhitektuur</keyword> +<keyword +>arendus</keyword> +<keyword +>programmeerimine</keyword> +</keywordset> + +</bookinfo> + +<chapter id="structure"> +<title +>Teegistruktuur</title> + +<simplesect id="structure-byname"> +<title +>Teegid nimepidi</title> + +<variablelist> + +<varlistentry> +<term +><ulink url="kdeapi:kdecore/index.html" +>kdecore</ulink +></term> +<listitem +><para +>Teek kdecore on iga KDE rakenduse põhiraamistik. See pakub ligipääsu seadistamissüsteemile, käsurea võimalustele, ikoonide laadimisele ja nende käsitlemisele, mõningaid spetsiaalseid protsessidevahelise kommunikatsiooni võimalusi, failikäsitlust ning rea muid vahendeid. </para +></listitem> +</varlistentry> + +<varlistentry> +<term +><ulink url="kdeapi:kdeui/index.html" +>kdeui</ulink +></term> +<listitem +><para +>Teek <literal +>kdeui</literal +> pakub hulganisti vidinaid ja standarddialooge, mis Qt-l puuduvad või millel on rohkem võimalusi kui nende Qt analoogidel. Samuti kuulub siia mõningaid vidinaid, mis on Qt vastavate vidinate alamklassid ning kasutaja seisukohalt vaadates KDE töölauaga paremini integreeritud. </para +></listitem> +</varlistentry> + +<varlistentry> +<term +><ulink url="kdeapi:kio/index.html" +>kio</ulink +></term> +<listitem +><para +>Teek <literal +>kio</literal +> sisaldab vahendeid asünkroonseks ja võrguläbipaistvusega sisend-väljundoperatsioonideks ning ligipääsu MIME tüüpide käsitlemisele. Samuti pakub see KDE failidialoogi ja selle abiklasse. </para +></listitem> +</varlistentry> + +<varlistentry> +<term +><ulink url="kdeapi:kjs/index.html" +>kjs</ulink +></term> +<listitem +><para +>Teek <literal +>kjs</literal +> kujutab endast JavaScripti teostust. </para +></listitem> +</varlistentry> + +<varlistentry> +<term +><ulink url="kdeapi:khtml/index.html" +>khtml</ulink +></term> +<listitem +><para +>Teek <literal +>khtml</literal +> sisaldab KHTML komponenti, HTML lehitsemise vidinat, DOM API-t ja parsijat, sealhulgas Java ja JavaScripti liidest. </para +></listitem> +</varlistentry> + +</variablelist> + +</simplesect> + + +<simplesect id="structure-grouped"> +<title +>Klassid grupiti</title> + +<para +>Rakenduste tuumikkest - klassid, mida vajab peaaegu iga rakendus. </para> + +<itemizedlist> + +<listitem +><formalpara> +<title +><ulink url="kdeapi:kdecore/KApplication" +>KApplication</ulink +></title> +<para +>Initsialiseerib ja juhib KDE rakendust. </para> +</formalpara +></listitem> + +<listitem +><formalpara> +<title +><ulink url="kdeapi:kdecore/KUniqueApplication" +>KUniqueApplication</ulink +></title> +<para +>Kontrollib, et korraga töötaks ainult üks rakenduse eksemplar. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KAboutData" +>KAboutData</ulink +></title> +<para +>Sisaldab infokasti infot. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KCmdLineArgs" +>KCmdLineArgs</ulink +></title> +<para +>Käsurea argumentide töötlemine. </para> +</formalpara +></listitem> + +</itemizedlist> + +<para +>Konfiguratsiooniseadistused - ligipääs KDE hierarhilisele konfiguratsiooniandmebaasile, globaalsetele seadistustele ja rakenduse ressurssidele. </para> + +<itemizedlist> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KConfig" +>KConfig</ulink +></title> +<para +>Pakub ligipääsu KDE konfiguratsiooniandmebaasile. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KSimpleConfig" +>KSimpleConfig</ulink +></title> +<para +>Ligipääs lihtsatele, mittehierarhilistele konfiguratsioonifailidele. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KDesktopFile" +>KDesktopFile</ulink +></title> +<para +>Ligipääs <literal +>.desktop</literal +>-failidele. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KGlobalSettings" +>KGlobalSettings</ulink +></title> +<para +>Hõlpus ligipääs rakendusest otseselt mittesõltuvatele seadistustele. </para> +</formalpara +></listitem> + +</itemizedlist> + +<para +>Failide ja URL-ide käsitlemine - URL-ide, ajutiste failide jne. dekodeerimine. </para> + +<itemizedlist> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KURL" +>KURL</ulink +></title> +<para +>Esindab ja parsib URL-e. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KTempFile" +>KTempFile</ulink +></title> +<para +>Loob ajutistele andmetele unikaalsed failid. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KSaveFile" +>KSaveFile</ulink +></title> +<para +>Lubab faile automaatselt salvestada. </para> +</formalpara +></listitem> + +</itemizedlist> + +<para +>Protsessidevaheline kommunikatsioon - DCOP abiklassid ja alamprotsesside väljakutsumine. </para> + +<itemizedlist> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KProcess" +>KProcess</ulink +></title> +<para +>Kutsub välja ja juhib alamprotsesse. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KShellProcess" +>KShellProcess</ulink +></title> +<para +>Kutsub alamprotsesse välja shelli vahendusel. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdesu/PtyProcess" +>PtyProcess</ulink +></title> +<para +>Suhtlemine alamprotsessidega pseudoterminali vahendusel. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KIPC" +>KIPC</ulink +></title> +<para +>Lihtne IPC mehhanism (kasutab X11 kliendi teateid). </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:dcop/DCOPClient" +>DCOPClient</ulink +></title> +<para +>DCOP teated. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KDCOPPropertyProxy" +>KDCOPPropertyProxy</ulink +></title> +<para +>Proxy klass, mis avaldab Qt omadusi DCOP vahendusel. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KDCOPActionProxy" +>KDCOPActionProxy</ulink +></title> +<para +>Proxy klass, mis avaldab DCOP liidese toimingute jaoks. </para> +</formalpara +></listitem> + +</itemizedlist> + +<para +>Utiliitide klassid - mäluhaldus, regulaaravaldised, stringide käsitlemine, juhunumbrid </para> + +<itemizedlist> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KRegExp" +>KRegExp</ulink +></title> +<para +>POSIX regulaaravaldiste sobivus. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KStringHandler" +>KStringHandler</ulink +></title> +<para +>Ekstravagantne liides stringide käsitlemiseks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KZoneAllocator" +>KZoneAllocator</ulink +></title> +<para +>Tõhus mälueraldaja väikeste objektide suurtele gruppidele. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KRandomSequence" +>KRandomSequence</ulink +></title> +<para +>Pseudojuhuarvude generaator. </para> +</formalpara +></listitem> + +</itemizedlist> + +<para +>Klahvikorraldused - klassid, mis aitavad luua kogu töölaual kasutatavaid kiirklahve. </para> + +<itemizedlist> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KAccel" +>KAccel</ulink +></title> +<para +>Valik kiirklahve. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KStdAccel" +>KStdAccel</ulink +></title> +<para +>Hõlpus ligipääs tavalistele kiirklahvidele. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KGlobalAccel" +></ulink +></title> +<para +>Valik süsteemseid kiirklahve. </para> +</formalpara +></listitem> + +</itemizedlist> + +<para +>Pilditöötlus - ikoonide laadimine ja käsitlemine. </para> + +<itemizedlist> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KIconLoader" +>KIconLoader</ulink +></title> +<para +>Laeb ikoonid teemaga ühilduvalt. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KIconTheme" +>KIconTheme</ulink +></title> +<para +>KIconLoaderi abiklassid. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KPixmap" +>KPixmap</ulink +></title> +<para +>Pikselrasterklass laiendatud pseudotoonimisvõimalustega. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KPixmapEffect" +>KPixmapEffect</ulink +></title> +<para +>Pikselrasterefektid, näiteks üleminekud ja mustrid. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KPixmapIO" +>KPixmapIO</ulink +></title> +<para +>Kiire teisendus <classname +>QImage</classname +> -> <classname +>QPixMap</classname +>. </para> +</formalpara +></listitem> + +</itemizedlist> + +<para +>Lohistamine - värvide ja URL-ide lohistamise objektid. </para> + +<itemizedlist> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KURLDrag" +>KURLDrag</ulink +></title> +<para +>Lohistamisobjekt URL-ide jaoks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KColorDrag" +>KColorDrag</ulink +></title> +<para +>Lohistamisobjekt värvide jaoks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KMultipleDrag" +>KMultipleDrag</ulink +></title> +<para +>Lubab konstrueerida lohistamisobjekte mitme muu objekti põhjal. </para> +</formalpara +></listitem> + +</itemizedlist> + +<para +>Automaatne lõpetamine </para> + +<itemizedlist> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KCompletion" +>KCompletion</ulink +></title> +<para +>Üldine stringide automaatne lõpetamine. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kio/KURLCompletion" +>KURLCompletion</ulink +></title> +<para +>URL-ide automaatne lõpetamine. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kio/KShellCompletion" +>KShellCompletion</ulink +></title> +<para +>Käivitatavate failide automaatne lõpetamine. </para> +</formalpara +></listitem> + +</itemizedlist> + +<para +>Vidinat - vidinaklassid nimekirjavaadetele, joonlaudadele, värvivalikule jne. </para> + +<itemizedlist> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KListView" +>KListView</ulink +></title> +<para +>Klassi <classname +>QListView</classname +> variant, mis tunnistab KDE süsteemseid seadistusi. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KListView" +>KListBox</ulink +></title> +<para +>Klassi <classname +>QListBox</classname +> variant, mis tunnistab KDE süsteemseid seadistusi. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KListView" +>KIconView</ulink +></title> +<para +>Klassi <classname +>QIconView</classname +> variant, mis tunnistab KDE süsteemseid seadistusi. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KListView" +>KLineEdit</ulink +></title> +<para +>Klassi <classname +>QLineEdit</classname +> variant lõpetamise toetusega. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KComboBox" +>KComboBox</ulink +></title> +<para +>Klassi <classname +>QComboBox</classname +> variant lõpetamise toetusega. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KFontCombo" +>KFontCombo</ulink +></title> +<para +>Liitkast fontide valimiseks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KColorCombo" +>KColorCombo</ulink +></title> +<para +>Liitkast värvide valimiseks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KColorButton" +>KColorButton</ulink +></title> +<para +>Nupp värvide valimiseks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KURLCombo" +>KURLCombo</ulink +></title> +<para +>Liitkast failinimede ja URL-ide valimiseks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kfile/KURLRequester" +>KURLRequester</ulink +></title> +<para +>Tekstikast failinimede ja URL-ide valimiseks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KRuler" +>KRuler</ulink +></title> +<para +>Joonlauavidin. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink +url="kdeapi:kdeui/KAnimWidget" +>KAnimWidget</ulink +></title> +<para +>Animatsioonid. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KNumInput" +>KNumInput</ulink +></title> +<para +>Vidin numbrite sisestamiseks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KPasswordEdit" +>KPasswordEdit</ulink +></title> +<para +>Vidin parooli sisestamiseks. </para> +</formalpara +></listitem> + +</itemizedlist> + +<para +>Dialoogid - kõigi võimalustega dialoogid faili, värvi ja fondi valimiseks. </para> + +<itemizedlist> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kfile/KFileDialog" +>KFileDialog</ulink +></title> +<para +>Failivalimise dialoog. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KColorDialog" +>KColorDialog</ulink +></title> +<para +>Värvi valimise dialoog. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KFontDialog" +>KFontDialog</ulink +></title> +<para +>Fondi valimise dialoog. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kfile/KIconDialog" +>KIconDialog</ulink +></title> +<para +>Ikooni valimise dialoog. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KKeyDialog" +>KKeyDialog</ulink +></title> +<para +>Dialoog kiirklahvide redigeerimiseks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KEditToolBar" +>KEditToolBar</ulink +></title> +<para +>Dialoog tööriistaribade redigeerimiseks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KTipDialog" +>KTipDialog</ulink +></title> +<para +>Päeva nõuande dialoog. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KAboutDialog" +>KAboutDialog</ulink +></title> +<para +>Infodialoog. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KLineEditDlg" +>KLineEditDlg</ulink +></title> +<para +>Lihtne dialoog teksti sisestamiseks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kfile/KURLRequesterDlg" +>KURLRequesterDlg</ulink +></title> +<para +>Lihtne dialoog URL-ide sisestamiseks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KMessageBox" +>KMessageBox</ulink +></title> +<para +>Dialoog vigade ja hoiatuste näitamiseks. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KPasswordDialog" +>KPasswordDialog</ulink +></title> +<para +>Dialoog parooli sisestamiseks. </para> +</formalpara +></listitem> + +</itemizedlist> + +<para +>Toimingud ja XML GUI </para> + +<itemizedlist> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KAction" +>KAction</ulink +></title> +<para +>Toimingu abstraktsioon, mida võib lisada menüü- ja tööriistaribale. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KActionCollection" +>KActionCollection</ulink +></title> +<para +>Valik toiminguid. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdeui/KXMLGUIClient" +>KXMLGUIClient</ulink +></title> +<para +>GUI fragment, mis sisaldab toimingukogu ja DOM puu, mis esindab nende asukohta GUI-s. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kparts/KPartManager" +>KPartManager</ulink +></title> +<para +>Korraldab XMLGUI klientide aktiveerimist. </para> +</formalpara +></listitem> + +</itemizedlist> + +<para +>Pluginad ja komponendid </para> + +<itemizedlist> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KLibrary" +>KLibrary</ulink +></title> +<para +>Esindab dünaamiliselt laetavat teeki. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KLibrary" +>KLibLoader</ulink +></title> +<para +>Jagatud teegi laadimine. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kdecore/KLibFactory" +>KLibFactory</ulink +></title> +<para +>Objektipere pluginatena. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kio/KServiceType" +>KServiceType</ulink +></title> +<para +>Esindab teenuse tüüpi. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kio/KService" +>KService</ulink +></title> +<para +>Esindab teenust. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kio/KMimeType" +>KMimeType</ulink +></title> +<para +>Esindab MIME tüüpi. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kio/KServiceTypeProfile" +>KServiceTypeProfile</ulink +></title> +<para +>Kasutaja seadistused MIME tüübi seostele. </para> +</formalpara +></listitem> + +<listitem +><formalpara +><title +><ulink url="kdeapi:kio/KServiceTypeProfile" +>KTrader</ulink +></title> +<para +>Teenuste päring. </para> +</formalpara +></listitem> + +</itemizedlist> + +</simplesect> + +</chapter> + + + +<chapter id="graphics"> +<title +>Graafika</title> + +<sect1 id="graphics-qpainter"> +<title +>Süvataseme graafika QPainteriga</title> + +<simplesect id="qpainter-rendering"> +<title +>Renderdamine QPainteriga</title> + +<para +>Qt süvataseme pildiloome tugineb neile X11 ja muude aknasüsteemide võimetele, mille jaoks on olemas Qt pordid. Kuid see ka laiendab neid, teostades täiendavaid võimalusi, näiteks teksti ja pikselrastrite afiinsed transformatsioonid. </para> + +<para +>Qt 2D joonistamise keskne graafikaklass on <ulink url="kdeapi:qt/QPainter" +></ulink +>. Selle aluseks on <ulink url="kdeapi:qt/QPaintDevice" +></ulink +>. Teostatud on kolm võimalikku joonistamisseadet. <ulink url="kdeapi:qt/QWidget" +></ulink +> esindab vidinat ekraanil. <ulink url="kdeapi:qt/QPrinter" +></ulink +> esindab printerit ja loob PostScript väljundi. <ulink url="kdeapi:qt/QPicture" +></ulink +> tuvastab joonistamiskäsud ja võib salvestada need kettale ning neid hiljem taasesitada. Joonistamiskäskude võimalik salvestusvorming on W3C standard SVG. </para> + +<para +>Nii on võimalik renderduskoodi, mida kasutad vidina näitamiseks, pruukida ka trükkimiseks, kusjuures toetatud on samasugused võimalused. Praktikas kasutatakse koodi mõistagi veidi erinevas kontekstis. Vidina kujutamine tehakse peaaegu eranditult vidinaklassi meetodiga paintEvent(). </para> + +<programlisting +>void FooWidget::paintEvent() +{ + QPainter p(this); + // Setup painter + // Use painter +} +</programlisting> + +<para +>Printeri korral tuleb kontrollida, et kasutusel oleks QPrinter::newPage(), mis lõpetab lehekülje ja alustab uut. See ei ole mõistetavalt joonistamisvidinate juures kuigi oluline. Trükkimisel oleks mõttekas ka kasutada koordinaatide arvutamiseks <ulink url="kdeapi:qt/QPaintDeviceMetrics" +>seadmemeetrikat</ulink +>. </para> + +</simplesect> + + +<simplesect id="qpainter-transformations"> +<title +>Transformatsioonid</title> + +<para +>Vaikimisi joonistab QPainter kasutatud seadme loomulikus koordinaatide süsteemis. See tähendab, et kui joonistad horisontaalteljel joone pikkusega 10 ühikut, joonistatakse see ekraanil 10-pikslise pikkusega rõhtjoonena. Kuid QPainter võib rakendada enne kujundite ja kõverate tegelikku renderdamist ka afiinseid transformatsioone. Afiinne transformatsioon seob x- ja y-koordinaadid lineaarselt x' ja y'-ga vastavalt maatriksile </para> + +<mediaobject> +<imageobject +><imagedata fileref="affine-general.png"/></imageobject> +</mediaobject> + +<para +>Selle 3x3 maatriksi saab määrata funktsiooniga QPainter::setWorldMatrix() ning selle tüüp on <ulink url="kdeapi:qt/QWMatrix" +>QWMatrix</ulink +>. Tavaliselt on see identsusmaatriks, st. m11 ja m22 on üks ning muud parameetrid null. Põhimõtteliselt on olemas kolm erinevat transformatsioonigruppi: </para> + +<itemizedlist> + +<listitem +><formalpara> +<title +>Lüke</title> +<para +>See liigutab objekti kõik punktid määratud hulga võrra mingis suunas. Lükkemaatriksi saab välja kutsuda QWMatrixi funktsiooniga m.translate(dx, dy). See vastab maatriksile </para> +</formalpara> + +<mediaobject> +<imageobject +><imagedata fileref="affine-translate.png"/></imageobject> +</mediaobject> + +</listitem> + +<listitem +><formalpara> +<title +>Skaleerimine</title> +<para +>See laiendab või ahendab objekti koordinaate, muutes selle ilma moonutusteta suuremaks või väiksemaks. Skaleerimist saab QWMatrixile rakendada m.scale(sx, sy) väljakutsumisega. See vastab maatriksile </para> +</formalpara> + +<mediaobject> +<imageobject +><imagedata fileref="affine-scale.png"/></imageobject> +</mediaobject> + +<para +>Määrates ühe parameetritest negatiivseks, saab koordinaatide süsteemi peegeldada. </para> + +</listitem> + +<listitem +><formalpara> +<title +>Nihe</title> +<para +>Kahe parameetriga koordinaatide süsteemi nihe. Nihke saab rakendada m.shear(sh, sv) väljakutsumisega, sellele vastab maatriks </para> +</formalpara> + +<mediaobject> + <imageobject +><imagedata fileref="affine-shear.png"/></imageobject> +</mediaobject> + +</listitem> + +<listitem +><formalpara> +<title +>Pööramine</title> +<para +>Pöörab objekti. Pööramist saab rakendada m.rotate(nurk) väljakutsumisega. Arvesta, et nurk tuleb anda kraadides, mitte matemaatilise nurgana! Vastav maatriks on </para> +</formalpara> + +<mediaobject> +<imageobject +><imagedata fileref="affine-rotate.png"/></imageobject> +</mediaobject> + +<para +>Pane tähele, et pööramine on ekvivalentne skaleerimise ja nihke kombinatsiooniga. </para> + +</listitem> + +</itemizedlist> + +<para +>Nüüd mõned pildid, mis näitavad elementaarsete transformatsioonide mõju meie maskotile: </para> + +<informaltable frame="none"> +<tgroup cols="3"> +<tbody> +<row> +<entry +><mediaobject> + <imageobject +><imagedata fileref="konqi-normal.png"/></imageobject> +</mediaobject +></entry> +<entry +><mediaobject> + <imageobject +><imagedata fileref="konqi-rotated.png"/></imageobject> +</mediaobject +></entry> +<entry +><mediaobject> + <imageobject +><imagedata fileref="konqi-sheared.png"/></imageobject> +</mediaobject +></entry> +<entry +><mediaobject> + <imageobject +><imagedata fileref="konqi-mirrored.png"/></imageobject> +</mediaobject +></entry> +</row> +<row> +<entry +>a) Normaalne</entry> +<entry +>b) Pööratud 30 kraadi</entry> +<entry +>c) Nihe teguriga 0,4</entry> +<entry +>d) Peegeldatud</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para +>Transformatsioone võib kombineerida elementaarmaatrikseid korrutades. Arvesta, et maatriksioperatsioonid ei ole üldiselt kommuteeruvad, mistõttu nende mõju tervikuna sõltub sellest, millises järjekorras neid korrutatakse. </para> + +</simplesect> + + +<simplesect id="qpainter-strokeattributes"> +<title +>Jooneatribuutide määramine</title> + +<para +>Sirgete, kõverate ja polügoonide piirjoonte renderdamist saab modifitseerida spetsiaalset pliiatsit määrates, mida teeb funktsioon QPainter::setPen(). Selle funktsiooni argument on <ulink url="kdeapi:qt/QPen" +>QPen</ulink +> objekt. Selles salvestatud omadused on stiil, värv, ühendusstiil ja otsastiil. </para> + +<para +>Pliiatsistiil on loendi <ulink url="kdeapi:qt/Qt#PenStyle-enum" +>Qt::PenStyle</ulink +> liige ning sellel võivad olla järgmised väärtused: </para> + +<mediaobject> + <imageobject +><imagedata fileref="penstyles.png"/></imageobject> +</mediaobject> + +<para +>Ühendusstiil on loendi <ulink url="kdeapi:qt/Qt#PenJoinStyle-enum" +>Qt::PenJoinStyle</ulink +> liige. See määrab, kuidas joonistatakse ühenduskoht mitme teineteisega seotud sirgjoone vahel. Sellel võivad olla järgmised väärtused: </para> + +<informaltable frame="none"> +<tgroup cols="3"> +<tbody> +<row> +<entry +><mediaobject> + <imageobject +><imagedata fileref="joinmiter.png"/></imageobject> +</mediaobject +></entry> +<entry +><mediaobject> + <imageobject +><imagedata fileref="joinbevel.png"/></imageobject> +</mediaobject +></entry> +<entry +><mediaobject> + <imageobject +><imagedata fileref="joinround.png"/></imageobject> +</mediaobject +></entry> +</row> +<row> +<entry +>a) Nurkühendus</entry> +<entry +>c) Längühendus</entry> +<entry +>b) Ümarühendus</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +<para +>Otsastiil on loendi <ulink url="kdeapi:qt/Qt#PenCapStyle-enum" +>Qt::PenCapStyle</ulink +> liige ja määrab, kuidas joonistatakse sirgjoonte otsad. Sellel võivad olla järgmised väärtused: </para> + +<informaltable frame="none"> +<tgroup cols="3"> +<tbody> +<row> +<entry +><mediaobject> + <imageobject +><imagedata fileref="capflat.png"/></imageobject> +</mediaobject +></entry> +<entry +><mediaobject> + <imageobject +><imagedata fileref="capsquare.png"/></imageobject> +</mediaobject +></entry> +<entry +><mediaobject> + <imageobject +><imagedata fileref="capround.png"/></imageobject> +</mediaobject +></entry> +</row> +<row> +<entry +>a) Lameots</entry> +<entry +>b) Ruutots</entry> +<entry +>c) Ümarots</entry> +</row> +</tbody> +</tgroup> +</informaltable> + +</simplesect> + + +<simplesect id="qpainter-fillattributes"> +<title +>Täiteatribuutide määramine</title> + +<para +>Polügoonide, ringjoonte või ristkülikute täitestiili saab muuta spetsiaalse pintsli määramisega funktsiooniga QPainter:.setBrush(). See funktsioon kasutab argumendina <ulink url="kdeapi:qt/QBrush" +>QBrush</ulink +> objekti. Pintslit saab konstrueerida neljal moel: </para> + +<itemizedlist> +<listitem> +<para +>QBrush::QBrush() - loob pintsli, mis ei täida kujundeid.</para> +</listitem> +<listitem> +<para +>QBrush::QBrush(Pintslistiil) - loob musta pintsli ühega all näidatud vaikemustritest.</para> +</listitem> +<listitem> +<para +>QBrush::QBrush(const QColor &, Pintslistiil) - loob värvilise pintsli ühega all näidatud mustritest.</para> +</listitem> +<listitem> +<para +>QBrush::QBrush(const QColor &, const QPixmap) - loob värvilise pintsli omaloodud mustriga, mis antakse teise parameetrina.</para> +</listitem> +</itemizedlist> + +<para +>Vaikimisi pintslistiil pärineb loendist <ulink url="kdeapi:qt/Qt#BrushStyle-enum" +>Qt::BrushStyle</ulink +>. Toome siin ära pildi kõigi eelnevalt määratud mustritega: </para> + +<mediaobject> + <imageobject +><imagedata fileref="brushstyles.png"/></imageobject> +</mediaobject> + +<para +>Pintsli käitumist saab veel täpsemalt kohandada funktsiooniga QPainter::setBrushOrigin(). </para> + +</simplesect> + + +<simplesect id="qpainter-color"> +<title +>Värv</title> + +<para +>Värvidel on oma osa nii kõverate esitamisel kui kujundite täitmisel. Qt-s esindab värve klass <ulink url="kdeapi:qt/QColor" +>QColor</ulink +>. Qt ei toeta selliseid graafilisi võimalusi, nagu ICC värviprofiilid ja värvikorrektsioon. Värvid konstrueeritakse tavaliselt nende punast, rohelist ja sinist komponenti määratledes, kuna RGB on ka viis, millega esitatakse pikslid monitoril. </para> + +<para +>Võimalik on küll kasutada ka tooni, küllastust ja väärtust. Selline HSV on kasutusel GTK värvidialoogis, näiteks rakenduses Gimp. Siin vastab toon värviketta nurgale, küllastus aga tähistab vahemaad ketta keskpunktist. Väärtuse saab määrata eraldi liuguriga. </para> + +</simplesect> + + +<simplesect id="qpainter-paintsettings"> +<title +>Muud seadistused</title> + +<para +>Tavaliselt asendavad joonistusseadmel joonistades joonistatavad pikslid seal varasemad pikslid. See tähendab, et kui joonistad teatud piirkonna punasega ning hiljem joonistad sama piirkonna sinisega, jääb nähtavaks ainult sinine. Qt graafikamudel ei toeta läbipaistvust, s.t. joonistatud esiplaani kokkusulamist taustaga. Siiski võib üsna hõlpsasti kombineerida tausta ja esiplaani tõeoperaatorite abil. Meetod QPainter::setRasterOp() määrab kasutatavad operaatorid, mis on pärit nimekirjast <ulink url="kdeapi:qt/Qt#RasterOp-enum" +>RasterOp</ulink +>. </para> + +<para +>Vaikeväärtus on CopyROP, mis ignoreerib tausta. Teine levinud valik on XorROP. Kui joonistad selle operaatoriga musta joone värvilisele kujutisele, inverteeritakse kaetud ala. Seda efekti on näiteks kasutatud mitmetes pilditöötlusrakendustes pildiosade valimisel niinimetatud "marssivaid sipelgaid" kujutava valikukasti tekitamisel. </para> + +</simplesect> + + +<simplesect id="qpainter-primitives"> +<title +>Graafikaprimitiivide joonistamine</title> + +<para +>Järgnevalt toome ära QPainteri toetatud elementaarsete graafikaelementide loendi. Enamik neist on olemas mitmes versioonis, mis võivad kasutada erineval hulgal argumente. Näiteks ristkülikuid puudutavad meetodid kasutavad tavaliselt argumendina <ulink url="kdeapi:qt/QRect" +>QRect</ulink +> nelja täisarvu. </para> + +<itemizedlist> +<listitem> +<para +>Ühe punkti joonistamine - drawPoint().</para> +</listitem> +<listitem> +<para +>Sirgjoonte joonistamine - drawLine(), drawLineSegments() ja drawPolyLine().</para> +</listitem> +<listitem> +<para +>Ristkülikute joonistamine ja täitmine - drawRect(), drawRoundRect(), fillRect() ja eraseRect().</para> +</listitem> +<listitem> +<para +>Ringjoonte, ellipsite ja nende osade joonistamine ja täitmine - drawEllipse(), drawArc(), drawPie ja drawChord().</para> +</listitem> +<listitem> +<para +>Tavaliste polügoonide joonistamine ja täitmine - drawPolygon().</para> +</listitem> +<listitem> +<para +>Bezier' kõverate joonistamine - drawQuadBezier() [drawCubicBezier Qt versioonis 3.0].</para> +</listitem> +</itemizedlist> + +</simplesect> + + +<simplesect id="qpainter-pixmaps"> +<title +>Pikselrastrite ja piltide joonistamine</title> + +<para +>Qt pakub piltide esitamiseks kaht väga erinevat klassi. </para> + +<para +><ulink url="kdeapi:qt/QPixmap" +>QPixmap</ulink +> vastab otseselt X11 pikselrasterobjektidele. Pikselrastrid on serveripoolsed objektid, mis moodsate graafikakaartide korral võivad olla isegi vahetult kaardimällu salvestatud. See muudab pikselrastrite edastamise ekraanile <emphasis +>äärmiselt</emphasis +> tõhusaks ja kiireks. Pikselrastrid toimivad ka vidinate vastena ekraanil - QPixmap on klassi QPaintDevice alamklass, nii et sellega on võimalik kasutada ka QPainterit. Moodsad graafikakaardid üldiselt kiirendavad elementaarseid joonistusoperatsioone. Seepärast on üpris tavaline kasutada pikselrastreid topeltpuhverduseks. See tähendab, et vidina vahetu joonistamise asemel joonistad ajutise pikselrasterobjekti ja kasutad selle edastamiseks vidinale funktsiooni <ulink url="kdeapi:qt/QPaintDevice#bitBlt-1" +>bitBlt</ulink +>. Keerulisemate asjade puhul aitab see vältida vilkumist. </para> + +<para +>Seevastu <ulink url="kdeapi:qt/QImage" +>QImage</ulink +> objektid asuvad kliendi poolel. Nende põhiülesanne on pakkuda vahetut juurdepääsu pildi pikslitele. Nii saab neid kasutada pilditöötluseks ning sellisteks asjadeks nagu laadimine või kettale salvestamine (QPixmapi meetod load() kasutab vaheastmena QImage'it). Teisalt on pildi joonistamine vidinale üsna mahukas operatsioon, sest sellega kaasneb edastamine X'i serverisse, mis võib võtta omajagu aega, eriti kui tegemist on suurte piltidega või kaugserveritega. Sõltuvalt värvisügavusest võib teisendus QImage -> QPixmap nõuda ka pseudotoonimist. </para> + +</simplesect> + + +<simplesect id="qpainter-drawingtext"> +<title +>Teksti joonistamine</title> + +<para +>Teksti saab esitada meetodi QPainter::drawText() mõne variandiga. Need joonistavad QStringi kas määratud punktis või määratud ristkülikus, kasutades fonti, mille määrab QPainter::setFont(). Kasutada saab ka parameetrit, mis võtab mõne lipu ORed kombinatsiooni nimekirjadest <ulink url="kdeapi:qt/Qt#AlignmentFlags-enum" +>Qt::AlignmentFlags</ulink +> ja <ulink url="kdeapi:qt/Qt#TextFlags-enum" +>Qt::TextFlags</ulink +> </para> + +<para +>Alates versioonist 3.0 tegeleb Qt täielikult teksti esitamisega ka paremalt vasakule kirjutatavate keelte puhul. </para> + +<para +>Täiustatum viis teksti esitamiseks on klass <ulink url="kdeapi:qt/QSimpleRichText" +>QSimpleRichText</ulink +>. Selle klassi objekte võib konstrueerida tekstiosaga HTML-siltide kogumit kasutades, mis pakub üpris palju võimalusi, isegi tabeleid. Tekstistiili saab kohandada <ulink url="kdeapi/qt/QStyleSheet" +>QStyleSheet</ulink +> abil (sealt leiab ka siltide dokumentatsiooni). Kui rikkaliku teksti vormingu objekt on konstrueeritud, saab seda renderdada vidinale või muule joonistamisseadmele meetodiga QSimpleRichText::draw(). </para> + +</simplesect> + +</sect1> + + +<sect1 id="graphics-qcanvas"> +<title +>Struktureeritud graafika klassi QCanvas abil</title> + +<para +>QPainter pakub võimsa pildiloomemudeli vidinatele ja pikselrastritele joonistamiseks. Kuid vahel võib seda olla üsna tülikas kasutada. Alati, kui vidin saab joonistamissündmuse, tuleb tal ette võtta QPaintEvent::region() või QPaintEvent::rect() analüüsimine, mis tuleb ümber joonistada. Siis tuleb seadistada QPainter ja joonistada kõik objektid, mis kattuvad antud piirkonnaga. Näiteks olgu vektorgraafikarakendus, mis võimaldab lohistada polügoone, ringjooni ja nende gruppe. Iga kord, kui selliseid objekte kas või veidi liigutatakse, käivitab vidina hiiresündmuse käitleja joonistamissündmuse nii kogu sellele alale, kus need objektid varem asusid, kui ka alale, kuhu need liigutati. Vajalike ümberjoonistuste leidmine ning nende efektiivne sooritamine võib olla päris keeruline, samuti võib see sattuda konflikti rakenduse lähtekoodi objektorienteeritud struktuuriga. </para> + +<para +>Alternatiivina sisaldab Qt klassi <ulink url="kdeapi:qt/QCanvas" +>QCanvas</ulink +>, kuhu saab panna graafilised objektid, näiteks polügoonid, teksti, pikselrastrid. Pakkuda saab ka lisaelemente alamklassiga <ulink url="kdeapi:qt/QCanvasItem" +>QCanvasItem</ulink +> või mõne veel spetsialiseerituma alamklassiga. Lõuendit võib ekraanil näidata üks või enam vidinat klassist <ulink url="kdeapi:qt/QCanvas" +>QCanvasView</ulink +>, mis tuleb kasutaja tegevuse käitlemiseks alamklassiks muuta. Qt hoolitseb kõigi vaate objektide ümberjoonistamise ees, olgu selle põhjuseks vidina nähtavaleilmumine, uute objektide loomine või muutmine või mingi muu põhjus. Topeltpuhverduse kasutamine lubab seda teha tõhusal ja vilkumist vältival viisil. </para> + +<para +>Lõuendi elemendid võivad üksteisega kattuda. Sellisel juhul sõltub see, milline on näha, z-astmest, mille määrab QCanvasItem::setZ(). Elemente saab muuta nähtavaks või nähtamatuks. Samuti võib lasta tausta joonistada kõigi teiste elementide "taga". Hiiresündmuste seostamiseks objektidega lõuendil on meetod QCanvas::collisions(), mis tagastab antud punktis kattuvate elementide nimekirja. Toome siin ära ühe lõuendivaate: </para> + +<mediaobject> +<imageobject +><imagedata fileref="canvas.png"/></imageobject> +</mediaobject> + +<para +>Taustal joonistatakse võrku. Lisaks on siin element QCanvasText ning lilla QCanvasPolygon. Liblikas on QCanvasPixmap. Sellel on läbipaistvad alad, mis lubavad näha selle all olevaid elemente. </para> + +<para +>QCanvas kasutamise juhendi näiteks vaimustavate mängude loomiseks leiab internetist <ulink url="http://zez.org/article/articleview/2/1/" +>sellel aadressil</ulink +>. </para> + +</sect1> + + +<sect1 id="graphics-qglwidget"> +<title +>3D graafika OpenGL abil</title> + +<simplesect id="qglwidget-lowlevel"> +<title +>Süvataseme liides</title> + +<para +>Tänapäeval on 3D graafika renderdamise de facto standard <ulink url="http://www.opengl.org" +>OpenGL</ulink +>. Selle spetsifikatsiooni teostusi pakuvad Microsoft Windows, Mac OS X ja XFree86, mis tihti toetavad ka nüüdisaegsete graafikakaartide pakutavaid riistvaralise kiirendamise võimalusi. OpenGL ise tegeleb ainult renderdamisega konkreetses pildimälu piirkonnas <emphasis +>GL konteksti</emphasis +> vahendusel ega suhtle mingil määral keskkonna tööriistakomplektiga. </para> + +<para +>Qt pakub vidinat <ulink url="kdeapi:qt/QGLWidget" +>QGLWidget</ulink +>, mis kapseldab akna sellega seotud GL kontekstiga. Põhimõtteliselt tähendab see selle muutmist alamklassiks ja mõningate meetodite taasteostamist. </para> + +<itemizedlist> + +<listitem +><para +>Selle asemel, et taasteostada paintEvent() ja kasutada QPainter'it vidina sisu joonistamiseks, tühistatakse paintGL() ja kasutatakse stseeni renderdamiseks GL käske. QGLWidget hoolitseb GL konteksti muutmise eest aktiivseks enne seda, kui paintGL() välja kutsutakse, ning hiljem tühjendab selle. </para +></listitem> + +<listitem +><para +>Enne seda, kui kutsutakse esimest korda välja resizeGL() või paintGL(), kutsutakse korraks välja virtuaalmeetod initializeGL(). Seda saab kasutada objektide esitamise nimekirjade konstrueerimiseks ja mis tahes vajaolevaks initsialiseerimiseks. </para +></listitem> + +<listitem +><para +>Selle asemel, et resizeEvent() taasteostada, tühistatakse resizeGL(). Seda saab kasutada vaateava sobivaks määramiseks. </para +></listitem> + +<listitem +><para +>Selle asemel, et kutsuda välja update(), kui stseeni olek on muutunud - kui näiteks animeerid selle taimeriga - , tuleks välja kutsuda updateGL(). See käivitab ümberjoonistamise. </para +></listitem> + +</itemizedlist> + +<para +>Üldiselt toimib QGLWidget nagu üks vidin ikka, s.t. et on võimalik hiiresündmusi töödelda nagu tavaliselt, vidina suurust muuta ja kombineerida seda esitamisel muude vidinatega. </para> + +<mediaobject> +<imageobject +><imagedata fileref="opengl.png"/></imageobject> +</mediaobject> + +<para +>Qt sisaldab mõningaid näiteid QGLWidgeti kasutamise kohta oma <literal +>demo</literal +>s. Õppevahendid leiab <ulink url="http://www.libsdl.org/opengl/intro.html" +>siit</ulink +>, rohkem infot ja OpenGL selgitusi aga <ulink url="http://www.opengl.org" +>OpenGL koduleheküljelt</ulink +>. </para> + +</simplesect> + + +<simplesect id="qglwidget-highlevel"> +<title +>Kõrgtaseme liidesed</title> + +<para +>OpenGL on 3D graafika joonistamise suhteliselt süvataseme liides. Nii nagu annab QCanvas programmeerijate käsutusse kõrgtaseme liidese objektide ja nende omaduste käsitlemiseks, nii on olemas kõrgtaseme liidesed ka 3D graafika puhul. Üks menukamaid on Open Inventor. Algselt töötas selle välja SGI, tänapäeval on aga olemas ka vaba tarkvara teostus <ulink url="http://www.coin3d.org" +>Coin</ulink +>, mida on täiendatud seda Qt-ga siduva tööriistakomplektiga SoQt. </para> + +<para +>Open Inventori aluseks on niinimetatud <emphasis +>stseen</emphasis +>. Stseeni võib hoida kõvakettal salvestatuna spetsiaalsesse vormingusse, mis on lähedane <ulink url="http://www.vrml.org" +>VRML</ulink +>-vorminguga. Stseen koosneb objektidest, mida nimetatakse <emphasis +>sõlmedeks</emphasis +>. Open Inventor pakub omalt poolt arvukalt taaskasutatavaid sõlmi, näiteks kuubid, silindrid ja võrgud, samuti valgusallikad, kaamerad jne. Sõlmi esindavad C++ klassid ning neid võib kombineerida ja alamklassiks muuta. </para> + +<para +>Open Inventori sissejuhatuse leiab <ulink url="http://www.motifzone.com/tmd/articles/OpenInventor/OpenInventor.html" +>siit</ulink +> (üldiselt võib seda artiklit lugedes mõttes SoXt asemele panna SoQt). </para> + +</simplesect> + +</sect1> + +</chapter> + + + +<chapter id="userinterface"> +<title +>Kasutajaliides</title> + +<sect1 id="userinterface-actionpattern"> +<title +>Toimingumuster</title> + +<para +></para> + +</sect1> + + +<sect1 id="userinterface-xmlgui"> +<title +>Menüüde ja tööriistaribade defineerimine XML-is</title> + +<simplesect id="xmlgui-intro"> +<title +>Sissejuhatus</title> + +<para +><link linkend="userinterface-actionpattern" +>Toimingumuster</link +> lubab küll kapseldada kasutaja käivitatud toimingud objekti, mille saab "torgata" kuhugi menüü- või tööriistaribale, kuid see ei lahenda veel menüü enda konstrueerimise probleemi. Tuleb ju kõik hüpikmenüüd luua C++ koodis ja selgelt lisada sinna toimingud teatud järjekorras, pidades silmas standardtoimingute stiilijuhiseid. Nii on üsna raske lubada kasutajal kohandada menüüsid või muuta kiirklahve oma vajadustele kohasemaks ilma lähtekoodi ennast muutmata. </para> + +<para +>Selle probleemi lahendab klasside kogum nimetusega <literal +>XMLGUI</literal +>. Põhimõtteliselt eraldab see toimingud (C++ koodis) nende esinemisest menüü- ja tööriistaribadel (XML koodis). Ilma lähtekoodi muutmata saab menüüsid hõlpsasti kohandada lihtsalt XML-faili muutes. Lisaks aitab see tagada, et standardtoimingud (näiteks <menuchoice +><guimenu +>Fail</guimenu +><guimenuitem +>Ava</guimenuitem +></menuchoice +> või <menuchoice +><guimenu +>Abi</guimenu +><guimenuitem +>Info</guimenuitem +></menuchoice +>) esinevad just seal, kus stiilijuhised ette näevad. XMLGUI on eriti oluline moodulprogrammides, kus menüüriba elemendid võivad pärineda erinevatelt pluginatelt või komponentidelt. </para> + +<para +>KDE tipptaseme akna klassi <ulink url="kdeapi:kdeui/KMainWindow.html" +>KMainWindow</ulink +> eellane on <ulink url="kdeapi:kdeui/KXMLGUIClient.html" +>KXMLGUIClient</ulink +>, mistõttu see toetab automaatselt XMLGUI-d. Kõigi selles loodud toimingute eellane peab olema kliendi <literal +>actionCollection()</literal +>. Siis loob <literal +>createGUI()</literal +> väljakutse terve menüü- ja tööriistaribade komplekti, mida defineerib rakenduse XML-fail (mugavuse mõttes on see sufiksiga <literal +>ui.rc</literal +>). </para> + +</simplesect> + + +<simplesect id="xmlgui-kviewexample"> +<title +>Näide: KView menüü</title> + +<para +>Järgnevas võtame näiteks KDE pildinäitaja <application +>KView</application +>. Sellel on <literal +>ui.rc</literal +> fail nimega <filename +>kviewui.rc</filename +>, mis on paigaldatud koodijupiga <filename +>Makefile.am</filename +> </para> + +<programlisting +>rcdir = $(kde_datadir)/kview +rc_DATA = kviewui.rc +</programlisting> + +<para +>See on katke failist <filename +>kviewui.rc</filename +>. Lihtsuse mõttes näitame ainult menüü <guimenu +>Vaade</guimenu +> definitsiooni. </para> + +<programlisting +><!DOCTYPE kpartgui> +<kpartgui name="kview"> + <MenuBar> + <Menu name="view" > + <Action name="zoom50" /> + <Action name="zoom100" /> + <Action name="zoom200" /> + <Action name="zoomMaxpect" /> + <Separator/> + <Action name="fullscreen" /> + </Menu> + </MenuBar> +</kpartgui> +</programlisting> + +<para +>Vastav osa C++ keeles kõlab: </para> + +<programlisting +>KStdAction::zoomIn ( this, SLOT(slotZoomIn()), actionCollection() ); + KStdAction::zoomOut ( this, SLOT(slotZoomOut()), actionCollection() ); + KStdAction::zoom ( this, SLOT(slotZoom()), actionCollection() ); + new KAction ( i18n("&Half size"), ALT+Key_0, + this, SLOT(slotHalfSize()), + actionCollection(), "zoom50" ); + new KAction ( i18n("&Normal size"), ALT+Key_1, + this, SLOT(slotDoubleSize()), + actionCollection(), "zoom100" ); + new KAction ( i18n("&Double size"), ALT+Key_2, + this, SLOT(slotDoubleSize()), + actionCollection(), "zoom200" ); + new KAction ( i18n("&Fill Screen"), ALT+Key_3, + this, SLOT(slotFillScreen()), + actionCollection(), "zoomMaxpect" ); + new KAction ( i18n("Fullscreen &Mode"), CTRL+SHIFT+Key_F, + this, SLOT(slotFullScreen()), + actionCollection(), "fullscreen" ); +</programlisting> + +<para +>Sellise GUI definitsiooni põhjal loodud menüü <guimenu +>Vaade</guimenu +> näeb välja niisugune: </para> + +<mediaobject> +<imageobject +><imagedata fileref="kview-menu.png"/></imageobject> +</mediaobject> + +<para +>XML-fail algab dokumenditüübi deklaratsiooniga. Kpartgui DTD leiab kdelibs'i lähtekoodis failis <filename +>kdeui/kpartgui.dtd</filename +>. Faili väliseim element sisaldab atribuudina rakenduse eksemplari nime. See võib sisaldada ka versiooninumbrit kujul "version=2". Viimane on kasulik rakenduse uue versiooni korral, kui menüüstruktuuri on muudetud, näiteks lisatud uusi võimalusi. Kui suurendada faili <literal +>ui.rc</literal +> versiooninumbrit, kontrollib KDE, et faili kohandatud versioonid eemaldataks ja kasutataks just uut faili. </para> + +<para +>Järgmine rida <literal +><MenuBar></literal +> sisaldab menüüriba deklaratsiooni. Lisada võib ka suvalise arvu <literal +><ToolBar></literal +> deklaratsioone, kui soovid tööriistaribasid luua. Menüü sisaldab alammenüüd nimega "view". See nimi on juba eelnevalt defineeritud ja nii võibki pildil näha sõna "View" (eestindatud menüüs oleks see "Vaade"). Kui deklareerida oma alammenüü, tuleb nende nimetus vahetult lisada. Nii on rakendusel <application +>KView</application +> alammenüü "Image" (eestindatult "Pilt"), mis tuleb deklareerida nii: </para> + +<programlisting +><Menu name="image" > + <text>&amp;Image</text> + ... +</Menu> +</programlisting> + +<para +>KDE automake-raamistik võimaldab sellised nimetused automaatselt välja noppida ja panna rakenduse <ulink url="kde-i18n-howto.html" +><literal +>.po</literal +></ulink +> faili, mida siis tõlkijad saavad tarvitada rakenduse emakeelde panekul. Pane tähele, et kiirklahvi tähis "&" tuleb kirjutada XML-i reeglitele vastavalt "&amp;". </para> + +<para +>Vaatame uuesti meie näidet. <application +>KView</application +> menüüs <guimenu +>Vaade</guimenu +> on mitu kohandamistoimingut: <literal +>zoom50</literal +>, <literal +>zoom100</literal +>, <literal +>zoom200</literal +>, <literal +>zoomMaxpect</literal +> ja <literal +>fullscreen</literal +>, mis on deklareeritud elemendiga <literal +><Action></literal +>. Pildil nähtavale eraldusjoonele vastab element <literal +><Separator></literal +>. </para> + +<para +>Pane tähele, et mõnel elemendil ei ole XML-failis vastet. Need on niinimetatud <emphasis +>standardtoimingud</emphasis +>, mille loob klass <ulink url="kdeapi:kdeui/KStdAction.html" +>KStdAction</ulink +>. Kui lood mingeid toiminguid oma rakenduses (nagu ülaltoodud C++ näites), lisatakse standardtoimingud automaatselt eelnevalt määratud asukohta, mõnikord kaasnevad nendega ka ikoon ja kiirklahv. Neid asukohti saab tuvastada kdelibs lähtekoodi failis <filename +>kdeui/ui_standards.rc</filename +>. </para> + +</simplesect> + + +<simplesect id="xmlgui-konqexample"> +<title +>Näide: Konquerori tööriistaribad</title> + +<para +>Tööriistaribade puhul vaatame nüüd <application +>Konqueror</application +>i GUI definitsiooni. See katke määratleb asukohariba, mis sisaldab endas URL-ide sisestamise välja. </para> + +<programlisting +><ToolBar name="locationToolBar" fullWidth="true" newline="true" > + <text>Location Toolbar</text> + <Action name="clear_location" /> + <Action name="location_label" /> + <Action name="toolbar_url_combo" /> + <Action name="go_url" /> +</ToolBar> +</programlisting> + +<para +>Märkame kohe, et siin on märksa rohkem atribuute kui menüüribal, sealhulgas: </para> + +<itemizedlist> + +<listitem +><para +><literal +>fullWidth</literal +>: ütleb XMLGUI-le, et tööriistariba laius on võrdne tipptaseme akna laiusega. Kui see on määratud "vääraks" (false), võtab tööriistariba ainult nii palju ruumi, kui talle parajasti vaja läheb ning samasse ritta võivad mahtuda ka muud tööriistaribad. </para +></listitem> + +<listitem +><para +><literal +>newline</literal +>: on seotud eelmise valikuga. Kui see on "tõene" (true), alustab tööriistariba uut rida, vastasel juhul võib see asetseda samas reas eelmise tööriistaribaga. </para +></listitem> + +<listitem +><para +><literal +>noEdit</literal +>: tavaliselt võib kasutaja tööriistaribasid oma käe järgi kohandada, näiteks <application +>Konqueror</application +>i puhul menüükäsuga <menuchoice +><guimenu +>Seadistused</guimenu +><guimenuitem +>Tööriistaribade seadistamine</guimenuitem +></menuchoice +>. Kui see on nüüd "tõene" (true), siis ei saa tööriistariba muuta. See on oluline sellistele tööriistaribadele, mis täidetakse käivitamise ajal, näiteks <application +>Konqueror</application +>i järjehoidjariba. </para +></listitem> + +<listitem +><para +><literal +>iconText</literal +>: käsib XMLGUI-l näidata toimingu teksti ikooni kõrval. Tavaliselt näidatakse teksti ainult kohtspikrina, kui jätta hiirekursor mõneks hetkeks ikooni kohale seisma. Võimalikud väärtused on "icononly" (näidatakse ainult ikooni), "textonly" (näidatakse ainult teksti), "icontextright" (teksti näidatakse ikoonist paremal pool) ja "icontextbottom" (teksti näidatakse ikooni all). </para +></listitem> + + +<listitem +><para +><literal +>hidden</literal +>: kui see on "tõene" (true), ei ole tööriistariba algselt nähtaval ja selle aktiveerimiseks tuleb kasutada mingit menüüelementi. </para +></listitem> + + +<listitem +><para +><literal +>position</literal +>: selle atribuudi vaikeväärtus on "top", mis tähendab,. et tööriistariba asub menüüriba all. Paljude tööriistadega rakenduste korral, näiteks graafikarakendused, võib olla mõttekas määrata selle asemel asukohaks "left" (vasakul), "right" (paremal) või "bottom" (all). </para +></listitem> + +</itemizedlist> + +</simplesect> + + +<simplesect id="xmlgui-dynamical"> +<title +>Dünaamilised menüüd</title> + +<para +>On ilmne, et XML saab sisaldada ainult kasutajaliidese staatilist kirjeldust. Sageli esineb aga menüüsid, mis käivitamisel muutuvad. Näiteks <application +>Konqueror</application +>i menüü <guimenu +>Asukoht</guimenu +> sisaldab rea elemente <guimenuitem +>Ava kasutades XXX</guimenuitem +>, kus XXX asemel seisab rakendus, mis võib antud MIME tüübiga faili avada. Dokumendi muutumisel muutub ka nende menüüelementide nimekiri. XMLGUI suudab selliste juhtumitega toime tulla niinimetatud <emphasis +>toimingunimekirjadega</emphasis +>. XML-failis deklareeritakse toimingunimekiri ühe elemendina, kuid see sisaldab mitu toimingut, mis lisatakse menüüsse käivitamisel. Meie toodud näide teostatakse <application +>Konqueror</application +>i XML-failis järgmise deklaratsiooniga: </para> + +<programlisting +><Menu name="file"> + <text>&amp;Location</text> + ... + <ActionList name="openwith"> + ... +</Menu> +</programlisting> + +<para +>Näidatavate toimingute lisamiseks kasutatakse siin funktsiooni <function +>KXMLGUIClient::plugActionList()</function +>, eemaldamiseks aga funktsiooni <function +>KXMLGuiClient::unplugActionList()</function +>. Uuendamisrutiin näeb välja selline: </para> + +<programlisting +>void MainWindow::updateOpenWithActions() +{ + unplugActionList("openwith"); + openWithActions.clear(); + for ( /* iterate over the relevant services */ ) { + KAction *action = new KAction( ...); + openWithActions.append(action); + } + plugActionList("openwith", openWithActions); +} +</programlisting> + +<para +>Pane tähele, et erinevalt staatilistest toimingutest <emphasis +>ei ole</emphasis +> need loodud eellasest toimingukogu baasil ja sestab tuleb sul endal nende kustutamise eest hoolt kanda. Lihtsaim viis selleks on kasutada - nagu ülaltoodud näites - <literal +>openWithActions.setAutoDelete(true)</literal +>. </para> + +</simplesect> + + +<simplesect id="xmlgui-contextmenus"> +<title +>Kontekstimenüüd</title> + +<para +>Toodud näidetes oli tegemist ainult peaakna menüüriba ja tööriistaribade loomisega. Sellisel juhul on nende loomise protsess kasutaja eest täielikult peidetud väljakutse <function +>createGUI()</function +> taha (kui sul pole just kohandatud konteinereid). Kuid võib esineda juhtumeid, kus soovid konstrueerida muid konteinereid ja täita need XML-failist võetavate GUI definitsioonidega. Üheks näiteks võivad olla kontekstimenüüd. Kontekstimenüü viida saamiseks tuleb seda küsida kliendi "tehaselt" (factory): </para> + +<programlisting +>void MainWindow::popupRequested() +{ + QWidget *w = factory()->container("context_popup", this); + QPopupMenu *popup = static_cast<QPopupMenu *>(w); + popup->exec(QCursor::pos()); +} +</programlisting> + +<para +>Meetod <function +>KXMLGUIFactory::container()</function +> püüab leida XML-failis antud nimega konteinerit. Seega võib definitsioon välja näha näiteks nii: </para> + +<programlisting +>... +<Menu name="context_popup"> + <Action name="file_add"/> + <Action name="file_remove"/> +</Menu> +... +</programlisting> + +</simplesect> + +</sect1> + + +<sect1 id="help"> +<title +>Abivõimaluste pakkumine</title> + +<para +>Rakenduse muutmine hõlpsasti kasutatavaks ja arusaadavaks tähendab ka mitmesuguste kasutajat abistavate võimaluste pakkumist. Sellel on mitu, omavahel osaliselt vastuolulist eesmärki: ühelt poolt peab see andma vastuse kasutaja küsimusele "Kuidas ma seda teha saan?", teiselt poolt aga aitama kasutajal rakendust tundma õppida ja avastada võimalusi, mille olemasolugi ta varem ei teadnud. Seepärast on oluline tähele panna, et mõlema sihi saavutamiseks on äärmiselt mõttekas pakkuda abi korraga mitmel tasandil: </para> + +<itemizedlist> + +<listitem +><para +>Kohtspikrid on pisikesed aknakesed, mis ilmuvad kasutajaliidese elementide juurde, kui jätta hiirekursor mõneks hetkeks elemendil peatuma. Need on eriti tähtsad tööriistaribade puhul, kus ainuüksi ikoon ei pruugi alati piisavalt selgelt vihjata, milleks on mingi nupp mõeldud. </para +></listitem> + +<listitem +><para +>Võimalus "Mis see on?" sisaldab tavaliselt pikemat ja põhjalikumat seletust vidina või menüükirje kohta. Samas on selle kasutamine veidi keerulisem. Näiteks dialoogides saab seda esile kutsuda kahel viisil: vajutades <keycombo +><keycap +>Shift</keycap +><keycap +>F1</keycap +></keycombo +> või klõpsates küsimärgile tiitliribal (kas küsimärk seal ka asub, sõltub küll tugevasti kasutatavast aknahaldurist). Hiirekursor muutub siis küsimärgiga nooleks ning mingile elemendile klõpsates ilmub väike abiaken. Menüüelementide korral saab võimaluse "Mis see on?" tavaliselt aktiveerida klõpsuga tööriistaribal asuvale noole ja küsimärgiga nupule. </para +></listitem> + +<listitem +><para +>Selle võimaluse miinuseks on aga asjaolu, et kasutajal pole võimalik ette teada, kas teda huvitava vidina kohta on selline abi olemas või mitte. Kui nüüd küsimärginupule klõpsata ja elemendi kohta ikkagi mingit abi ei ole, võib see tasapisi tekitada tugevat rahulolematust. </para> + +<para +>Tänu Qt ja KDE võimalustele saab aga "Mis see on?`" abiaken sisaldada <ulink url="kdeapi:qt/QStyleSheet" +>vormindatud teksti</ulink +>, see tähendab, võib pakkuda erinevaid fonte, rasvast ja kaldkirja või isegi pilte ja tabeleid. </para> + +<para +>"Mis see on?" näide: </para> + +<mediaobject> +<imageobject +><imagedata fileref="whatsthis.png"/></imageobject> +</mediaobject> + +</listitem> + +<listitem +><para +>Lõpuks peaks igal rakendusel olema ka oma käsiraamat. Tavaliselt näitab seda <application +>KDE abikeskus</application +>, mille saab avada menüüst <guimenu +>Abi</guimenu +>. See tähendab, et avatakse täiesti omaette rakendus, mis viib kasutaja fookuse rakenduselt eemale. Seetõttu tuleks arvestada, et käsiraamatu järele tekib vajadus ennekõike siis, kui kohtspikrid või "Mis see on?" ei suuda kasutajat abistada. Muidugi on käsiraamatu eelis selles, et see ei piirdu kasutajaliidese üksiku ja isoleeritud aspekti seletamisega, vaid tutvustab rakendust tervikuna. KDE käsiraamatud pannakse kirja <ulink url="http://i18n.kde.org" +>DocBook</ulink +> märkekeeles. </para +></listitem> + +</itemizedlist> + +<para +>Programmeerija vaatevinklist pakub Qt abi pakkumiseks välja hõlpsasti kasutatava API. Kohtspikri lisamiseks vidinale tarvita klassi <ulink url="kdeapi:qt/QToolTip" +>QToolTip</ulink +>. </para> + +<programlisting +>QToolTip::add(w, i18n("This widget does something.")) +</programlisting> + +<para +>Kui menüü- ja tööriistaribad luua <ulink url="actionpattern.html" +>toimingumustreid</ulink +> kasutades, võetakse kohtspikrina kasutatav string konstruktori <ulink url="kdeapi:kdeui/KAction.html" +>KAction</ulink +> esimesest argumendist: </para> + +<programlisting +>action = new KAction(i18n("&Delete"), "editdelete", + SHIFT+Key_Delete, actionCollection(), "del") +</programlisting> + +<para +>Siin on küll ka võimalik anda tekst, mida näidatakse antud menüükirje esiletõstmisel olekuribal: </para> + +<programlisting +>action->setStatusText(i18n("Deletes the marked file")) +</programlisting> + +<para +>"Mis see on?" API on äärmiselt sarnane. Dialoogide korral kasuta sellist koodi: </para> + +<programlisting +>QWhatsThis::add(w, i18n("<qt>This demonstrates <b>Qt</b>'s" + " rich text engine.<ul>" + "<li>Foo</li>" + "<li>Bar</li>" + "</ul></qt>")) +</programlisting> + +<para +>Menüükirjete korral aga </para> + +<programlisting +>action->setWhatsThis(i18n("Deletes the marked file")) +</programlisting> + +<para +><application +>KDE abikeskus</application +>e väljakutsumine on kapseldatud klassi <ulink url="kdeapi:kdecore/KApplication" +>KApplication</ulink +>. Rakenduse käsiraamatu näitamiseks kasuta </para> + +<programlisting +>kapp->invokeHelp() +</programlisting> + +<para +>See avab esimese, sisukorraga lehekülje. Kui soovid lasta näidata ainult kindlat käsiraamatu osa, tuleb funktsioonile <function +>invokeHelp()</function +> anda täiendav argument, mis määrab ankru, kuhu hüpata. </para> + +</sect1> + +</chapter> + + + +<chapter id="components"> +<title +>Komponendid ja teenused</title> + +<sect1 id="components-services"> +<title +>KDE teenused</title> + +<simplesect id="services-whatarekdeservices"> +<title +>Mis on KDE teenused?</title> + +<para +>KDE moodularhitektuuris on mõistel <emphasis +>teenus</emphasis +> keskne koht. See mõiste ei ole jäigalt seotud mingi konkreetse tehnilise teostusega - teenus võib olla plugin jagatud teegi näol või siis programm, mida juhitakse <ulink url="dcop.html" +>DCOP</ulink +> vahendusel. Oma <emphasis +>teenusetüübiga</emphasis +> lubab teenus teostada teatud konkreetse API või võimaluse. C++ tähenduses võib teenusetüüpi pidada abstraktseks klassiks ja teenust ennast selle liidese teostuseks. </para> + +<para +>Sellise eraldamise eelised on ilmsed: teenusetüüpi kasutaval rakendusel pole vajadust teada, kuidas see teostatakse, ta kasutab lihtsalt antud teenusetüübiga seotud API-t. Sel moel võib kasutatavat teenust muuta ilma rakendust kuidagi mõjutamata. Samuti on kasutajal võimalik ise määrata, milliseid teenuseid ta teatud võimaluste jaoks eelistab. </para> + +<para +>Mõned näited: </para> + +<itemizedlist> + +<listitem +><para +><application +>Konqueror</application +>is kasutatav HTML-i renderdusmootor on põimitav komponent, mis teostab teenusetüübid <literal +>KParts/ReadOnlyPart</literal +> ja <literal +>Browser/View</literal +>. </para +></listitem> +<listitem +><para +><application +>KDevelop</application +>is on enamik võimalusi esitatud pluginatena teenusetüübiga <literal +>KDevelop/Part</literal +>. Käivitamisel laetakse kõik selle tüübiga teenused, mis võimaldab IDE-d väga paindlikult laiendada. </para +></listitem> +<listitem +><para +>Ikoonivaates näitab <application +>Konqueror</application +> (kui see on lubatud) piltide, HTML-lehekülgede, PDF- ja tekstifailide pisipilte. Ka seda võimalust on võimalik laiendada. Kui soovid lasta näidata oma teatud MIME tüübiga andmefailide eelvaatluse pilte, tuleb teostada teenus tüübiga <classname +>ThumbCreator</classname +>. </para +></listitem> + +</itemizedlist> + +<para +>On ilmne, et teenust ei iseloomusta ainult teenusetüüp, mida ta teostab, vaid ka mõningad <emphasis +>omadused</emphasis +>. Näiteks ThumbCreator ei teosta mitte ainult C++ klassi tüübiga <classname +>ThumbCreator</classname +>, vaid sisaldab ka MIME tüüpide nimekirja, mille puhul eelvaatlust pakkuda. KDevelopi komponentidel on omaduseks programmeerimiskeel, mida nad toetavad. Kui rakendus soovib kasutada teatud teenusetüüpi, võib ta ühtlasi anda teenuse omaduste piirangute nimekirja. Toodud näite korral küsib KDevelop Java projekti tarbeks pluginaid laadides ainult selliseid pluginaid, mille omaduseks on Java programmeerimiskeel. Sellisteks puhkudeks pakub KDE võimsat ja võimalusterohke päringukeelega CORBA-sarnast börsi (<emphasis +>trader</emphasis +>). </para> + +</simplesect> + + +<simplesect id="services-definingservicetypes"> +<title +>Teenusetüüpide defineerimine</title> + +<para +>Uusi teenusetüüpe lisatakse nende kirjeldust kataloogi <filename +>KDEDIR/share/servicetypes</filename +> paigaldades. KDE automake-raamistikus saab seda teha sellise <filename +>Makefile.am</filename +> koodijupiga: </para> + +<programlisting +>kde_servicetypesdir_DATA = kdeveloppart.desktop +EXTRA_DIST = $(kde_servicetypesdir_DATA) +</programlisting> + +<para +><application +>KDevelop</application +>i komponendi definitsioon <filename +>kdeveloppart.desktop</filename +> näeb välja selline: </para> + +<programlisting +>[Desktop Entry] +Type=ServiceType +X-KDE-ServiceType=KDevelop/Part +Name=KDevelop Part + +[PropertyDef::X-KDevelop-Scope] +Type=QString + +[PropertyDef::X-KDevelop-ProgrammingLanguages] +Type=QStringList + +[PropertyDef::X-KDevelop-Args] +Type=QString +</programlisting> + +<para +>Lisaks tavapärastele kirjetele on toodud näites näha, kuidas deklareerida teenuse omadusi. Igale omaduse definitsioonile vastab konfiguratsioonifailis grupp <literal +>[PropertyDef::name]</literal +>. Selles grupis deklareerib kirje <literal +>Type</literal +> omaduse tüübi. Võimalikud tüübid on kirjas klassis <ulink url="kdeapi:qt/QVariant" +>QVariant</ulink +>. </para> + +</simplesect> + + +<simplesect id="services-defininglibraryservices"> +<title +>Jagatud teegi teenuste defineerimine</title> + +<para +>Teenuste definitsioonid on salvestatud kataloogi <filename +>KDEDIR/share/services</filename +>: </para> + +<programlisting +>kde_servicesdir_DATA = kdevdoxygen.desktop +EXTRA_DIST = $(kde_servicesdir_DATA) +</programlisting> + +<para +>Järgnev näitefail <filename +>kdevdoxygen.desktop</filename +> defineerib plugina <literal +>KDevDoxygen</literal +> tüübiga <literal +>KDevelop/Part</literal +>: </para> + +<programlisting +>[Desktop Entry] +Type=Service +Comment=Doxygen +Name=KDevDoxygen +ServiceTypes=KDevelop/Part +X-KDE-Library=libkdevdoxygen +X-KDevelop-ProgrammingLanguages=C,C++,Java +X-KDevelop-Scope=Project +</programlisting> + +<para +>Lisaks tavalistele deklaratsioonidele pööra tähelepanu kirjele <literal +>X-KDE-Library</literal +>. See sisaldab libtool'i teegi nime (ilma laiendita <literal +>.la</literal +>). Ühtlasi fikseerib see (eesliitega <literal +>init_</literal +>) eksporditava sümboli nime teegis, mis tagastab objektipere. Toodud näites peab teek sisaldama järgmist funktsiooni: </para> + +<programlisting +>extern "C" { + void *init_libkdevdoxygen() + { + return new DoxygenFactory; + } +}; +</programlisting> + +<para +>Pere klassi <classname +>DoxygenFactory</classname +> tüüp sõltub konkreetsest teenusetüübist, mida teenus teostab. Meie KDevelopi plugina näites peab pere olema <classname +>KDevFactory</classname +> (mille eellane on <classname +>KLibFactory</classname +>). Levinum näide on <ulink url="kdeapi:kparts/KParts::Factory" +>KParts::Factory</ulink +>, mis peaks pakkuma <ulink url="kdeapi:kparts/KParts::ReadOnlyPart" +>KParts::ReadOnlyPart</ulink +> või enamikul juhtudel üldisem <ulink url="kdeapi:kdecore/KLibFactory" +>KLibFactory</ulink +>. </para> + +</simplesect> + + +<simplesect id="services-usinglibraryservices"> +<title +>Jagatud teekide teenuste kasutamine</title> + +<para +>Jagatud teegi teenuse kasutamiseks rakenduses tuleb hankida seda esindav <ulink url="kdeapi:kio/KService.html" +>KService</ulink +> objekt. Sellest räägitakse pikemalt <ulink url="mime.html" +>MIME tüüpe tutvustavas osas</ulink +> (samuti ikka veel kirjutamata osas KTraderi kohta). </para> + +<para +><classname +>KService</classname +> objekti olemasolul on väga lihtne laadida teek ja hankida viit selle pere objektile: </para> + +<programlisting +>KService *service = ... +QString libName = QFile::encodeName(service->library()); +KLibFactory *factory = KLibLoader::self()->factory(libName); +if (!factory) { + QString name = service->name(); + QString errorMessage = KLibLoader::self()->lastErrorMessage(); + KMessageBox::error(0, i18n("There was an error loading service %1.\n" + "The diagnostics from libtool is:\n%2") + .arg(name).arg(errorMessage); +} +</programlisting> + +<para +>Siit edasi sõltub kõik taas teenusetüübist. Tavalise plugina korral tuleb luua objektid meetodiga <ulink url="kdeapi:kdecore/KLibFactory.html#ref3" +>KLibFactory::create()</ulink +>. KPartsi korral tuleb kogumiviit suunata konkreetsemale KParts::Factory ja kasutada selle create() meetodit: </para> + +<programlisting +>if (factory->inherits("KParts::Factory")) { + KParts::Factory *partFactory = static_cast<KParts::Factory*>(factory); + QObject *obj = partFactory->createPart(parentWidget, widgetName, + parent, name, "KParts::ReadOnlyPart"); + ... +} else { + cout << "Service does not implement the right factory" << endl; +} +</programlisting> + +</simplesect> + + +<simplesect id="services-definingdcopservices"> +<title +>DCOP-teenuste defineerimine</title> + +<para +>DCOP-teenus on tavaliselt teostatud programmina, mis käivitub vajaduse korral. Sellisel juhul loob ta silmuse ja jälgib DCOP-ühendusi. Programm võib olla interaktiivne, kuid see võib ka täielikult või osaliselt tegutseda taustal deemonina, ilma et kasutaja seda otseselt märkaks. Sellise deemoni näide on <literal +>kio_uiserver</literal +>, mis teostab kasutaja suhtlust, näiteks KIO teegi edenemisdialoogi. Antud kontekstis on tsentraliseeritud deemoni eeliseks näiteks see, et mitme erineva faili tõmbamise edenemist saab näidata ühes aknas isegi juhul, kui tõmbamine käivitati erinevatest rakendustest. </para> + +<para +>DCOP-teenus defineeritakse teisiti kui jagatud teegi teenus. Loomulikult ei määra see teeki, vaid käivitatava faili. Samuti ei määra DCOP-teenused rida ServiceType, sest tavaliselt käivitatakse nad nimepidi. Lisaomadustena on selles kaks rida: </para> + +<para +><literal +>X-DCOP-ServiceType</literal +> määrab viisi, kuidas teenus käivitatakse. Väärtus <literal +>Unique</literal +> sedastab, et teenust saab käivitada vaid ühekordsena. See tähendab, et kui proovid teenust käivitada (nt. <ulink url="kdeapi:kdecore/KApplication.html#startServiceByName" +> KApplication::startServiceByName()</ulink +> vahendusel), uurib KDE, kas see on juba registreeritud DCOP-iga ja kasutab töötavat teenust. Kui see ei ole veel registreeritud, käivitab KDE selle ja ootab registreerimist. Nii saab teenusele kohe saata DCOP-väljakutseid. Sellisel juhul peab teenus olema teostatud kui <ulink url="kdeapi:kdecore/KUniqueApplication.html" +>KUniqueApplication</ulink +>. </para> + +<para +>Väärtus <literal +>Multi</literal +> teatab <literal +>X-DCOP-ServiceType</literal +> korral, et korraga võib töötada mitu teenuse eksemplari, nii et iga katse teenust käivitada loob uue protsessi. Viimaks võib kasutada ka väärtust <literal +>None</literal +>. Sellisel juhul ei oodata teenuse käivitamisel registreerimist DCOP-iga. </para> + +<para +><literal +>X-KDE-StartupNotify</literal +> peaks üldjuhul olema määratud vääraks (false). Kui see nii ei ole, näitab tegumiriba programmi käivitumisel käivitusteadet või, kui kasutaja on nii määranud, muutub kursori kuju. </para> + +<para +>Selline on <literal +>kio_uiserver</literal +> definitsioon: </para> + +<programlisting +>[Desktop Entry] +Type=Service +Name=kio_uiserver +Exec=kio_uiserver +X-DCOP-ServiceType=Unique +X-KDE-StartupNotify=false +</programlisting> + +</simplesect> + + +<simplesect id="services-usingdcopservices"> +<title +>DCOP-teenuste kasutamine</title> + +<para +>DCOP-teenus käivitatakse mõne klassi KApplication meetodiga: </para> + +<programlisting +>DCOPClient *client = kapp->dcopClient(); +client->attach(); +if (!client->isApplicationRegistered("kio_uiserver")) { + QString error; + if (KApplication::startServiceByName("kio_uiserver", QStringList(), &error)) + cout << "Starting kioserver failed with message " << error << endl; +} +... +QByteArray data, replyData; +QCString replyType; +QDataStream arg(data, IO_WriteOnly); +arg << true; +if (!client->call("kio_uiserver", "UIServer", "setListMode(bool)", + data, replyType, replyData)) + cout << "Call to kio_uiserver failed" << endl; +... +</programlisting> + +<para +>Pane tähele, et siin toodud DCOP-väljakutse näide kasutab vahetult argumente. Enamasti on mõttekas tarvitada selle asemel dcopidl2cpp genereeritud väljundit, mis on märksa lihtsam ja veakindlam. </para> + +<para +>Toodud näiteks käivitatakse teenus "nimepidi", s.t. esimene <function +>KApplication::startServiceByName()</function +> argument on nimi, mis on näha töölauafaili real <literal +>Name</literal +>. Teine võimalus on kasutada funktsiooni <function +>KApplication::startServiceByDesktopName()</function +>, mis võtab argumendiks töölauafaili failinime, s.t. antud juhul <literal +>"kio_uiserver.desktop"</literal +>. </para> + +<para +>Kõik väljakutsed kasutavad teise argumendina URL-ide nimekirja, mis antakse teenusele käsureal. Kolmas argument on viit klassile <classname +>QString</classname +>. Kui teenuse käivitamine ebaõnnestub, annab see argument tulemuseks tõlgitud veateate. </para> + +</simplesect> + +</sect1> + + +<sect1 id="components-mime"> +<title +>MIME tüübid</title> + +<simplesect id="mime-whataremimetypes"> +<title +>Mis on MIME tüübid?</title> + +<para +>MIME tüüpe kasutatakse kirjeldamaks failide või andmekogumite sisu tüüpi. Algselt võeti need kasutusele pildi, helifailide jne. saatmiseks e-postitsi (MIME tähendabki "mitmeotstarbelised e-kirja laiendid", inglise keeles "Multipurpose Internet Mail Extensions"). Hiljem hakati neid kasutama ka veebilehitsejas selle määramiseks, kuidas esitada veebiserverist kasutajale saadetavaid andmeid. Näiteks HTML-leheküljel on MIME tüüp "text/html", PostScript-failil aga "application/postscript". KDE kasutab MIME tüüpe päris paljudes kohtades: </para> + +<itemizedlist> + +<listitem +><para +><application +>Konqueror</application +>i ikoonivaates näitavad faile ikoonid. Iga MIME tüübiga on seotud teatud ikoon, mida siin näidataksegi. </para +></listitem> + +<listitem +><para +>Klõpsates <application +>Konqueror</application +>is faili ikoonile või nimele näidatakse faili põimitud näitajas või avatakse antud failitüübiga seotud rakendus. </para +></listitem> + +<listitem +><para +>Mingeid andmeid ühest rakendusest teise (või ka ühe rakenduse sees) lohistades võib sihtkoht aktsepteerida ainult teatud andmetüüpe. Samuti käsitletakse pildiandmeid tekstiandmetest erinevalt. </para +></listitem> + +<listitem +><para +>Lõikepuhvri andmetel on samuti MIME tüüp. Tavapäraselt suudavad X'i programmid käsitleda ainult pilte või teksti, kuid Qt abil ei ole andmetüübid piiratud. </para +></listitem> + +</itemizedlist> + +<para +>Toodud näidetest peaks selguma, et MIME käsitlemine on päris keerukas. Esmalt on vaja luua failinimede seosed MIME tüüpidega. KDE astub veel sammukese edasi ja lubab isegi faili sisu MIME tüübiga siduda, kui näiteks failinimi ei peaks kättesaadav olema. Teiseks tuleb MIME tüübid siduda rakenduste või teekidega, mis suudavad teatud tüüpi faili näidata või redigeerida või sellele pisipildi luua. </para> + +<para +>Andmete või failide MIME tüübi selgitamiseks on mitmeid API-sid. Üldiselt tähendavad nad kõik teatud kompromissi kiiruse ja usaldusväärsuse vahel. Failitüübi võib leida ainult failinime vaadates (s.t. enamikul juhtudel failinime laiendit uurides). Näiteks <filename +>foo.jpg</filename +> on tavaliselt "image/jpeg". Kui laiendit ei ole, pole see meetod mõistagi eriti turvaline ja tuleb vaadata faili sisu. See on loomulikult aeglasem, eriti failide korral, mida tuleb HTTP abil kõigepealt alla laadida. Sisupõhine meetod tugineb failile <filename +>KDEDIR/share/mimelnk/magic</filename +>, mida siinkohal on keerukas pikemalt käsitleda. Kuid üldiselt saab MIME tüübi info süsteemile suhteliselt lihtsalt teatavaks teha <literal +>.desktop</literal +>-faili paigaldades ning seda kasutatakse agaralt ja tõhusalt kõigis KDE teekides. </para> + +</simplesect> + + +<simplesect id="mime-definingmimetypes"> +<title +>MIME tüüpide defineerimine</title> + +<para +>Defineerime oma uuele programmile <application +>foobar</application +> tüübi <literal +>"application/x-foo"</literal +>. Selleks tuleb kirjutada fail <filename +>foo.desktop</filename +> ja paigaldada see kataloogi <filename +>KDEDIR/share/mimelnk/application</filename +> (see on tavapärane asukoht, mis distributsiooniti võib siiski erineda). Selleks tuleb failile <filename +>Makefile.am</filename +> lisada: </para> + +<programlisting +>mimedir = $(kde_mimedir)/application +mime_DATA = foo.desktop +EXTRA_DIST = $(mime_DATA) +</programlisting> + +<para +>Fail <filename +>foo.desktop</filename +> peaks välja nägema selline: </para> + +<programlisting +>[Desktop Entry] +Type=MimeType +MimeType=application/x-foo +Icon=fooicon +Patterns=*.foo; +DefaultApp=foobar +Comment=Foo Data File +Comment[et]=Foo andmefail +</programlisting> + +<para +>Kirje <literal +>"Comment"</literal +> on mõeldud tõlkimiseks. Et <filename +>.desktop</filename +>-fail määrab ka ikooni, tuleb paigaldada ikoon <filename +>fooicon.png</filename +>, mis näitab faili näiteks <application +>Konqueror</application +>is. </para> + +<para +>KDE teekides on selline tüübidefinitsioon seotud <ulink url="kdeapi:kio/KMimeType.html" +>KMimeType</ulink +> eksemplariga. Kasuta seda umbes nii, nagu alljärgnevas näites: </para> + +<programlisting +>KMimeType::Ptr type = KMimeType::mimeType("application/x-foo"); +cout << "Type: " << type->name() < endl; +cout << "Icon: " << type->icon() < endl; +cout << "Comment: " << type->icon() < endl; +QStringList patterns = type->patterns(); +QStringList::ConstIterator it; +for (it = patterns.begin(); it != patterns.end(); ++it) + cout << "Pattern: " << (*it) << endl; +</programlisting> + +</simplesect> + + +<simplesect id="mime-determiningmimetypes"> +<title +>Andmete MIME tüübi määramine</title> + +<para +>Kiire meetod failitüübi määramiseks on <function +>KMimeType::findByURL()</function +>. See otsib URL-i stringi ja enamasti määrab tüübi laiendi põhjal. Teatud protokollide (nt. http, man, info) korral seda aga ei kasutata. Näiteks Perlis kirjutatud veebiserverite CGI skriptidel on sageli laiend <literal +>.pl</literal +>, mis osutab tüübile <literal +>"text/x-perl"</literal +>. Samas on serveri edastatud fail hoopis selle skripti väljund, milleks on enamasti HTML. Sellisel juhul tagastab <function +>KMimeType::findByURL()</function +> MIME tüübi <literal +>"application/octet-stream"</literal +> (kasutatav <function +>KMimeType::defaultMimeType()</function +> vahendusel), mis osutab võimetusele tüüpi tuvastada. </para> + +<programlisting +>KMimeType::Ptr type = KMimeType::findByURL("/home/bernd/foobar.jpg"); +if (type->name() == KMimeType::defaultMimeType()) + cout << "Could not find out type" << endl; +else + cout << "Type: " << type->name() << endl; +</programlisting> + +<para +>(sellel meetodil on veel mõningaid argumente, kuid need on dokumenteerimata, mistõttu võib nad antud juhul kõrvale jätta) </para> + +<para +>Sellisel juhul võib olla mõttekam tuvastada MIME tüüp faili sisu, mitte aga faili nime järgi. See on usaldusväärsem, kuid ka aeglasem meetod, sest selleks tuleb lugeda vähemalt osa failist. Seda teeb klass <ulink url="kdeapi:kio/KMimeMagic.html" +>KMimeMagic</ulink +>, mille veakäsitlus on veidi teistsugune: </para> + +<programlisting +>KMimeMagicResult *result = KMimeMagic::self()->findFileType("/home/bernd/foobar.jpg"); +if (!result || !result->isValid()) + cout << "Could not find out type" << endl; +else + cout << "Type: " << result->mimeType() << endl; +</programlisting> + +<para +>Selle funktsiooni variant võimaldab määrata ka mälutüki tüüpi. Seda kasutab näiteks <application +>Kate</application +> esiletõstmise režiimi tuvastamiseks: </para> + +<programlisting +>QByteArray array; +... +KMimeMagicResult *result = KMimeMagic::self()->findBufferType(array); +if (!result || !result->isValid()) + cout << "Could not find out type" << endl; +else + cout << "Type: " << result->mimeType() << endl; +</programlisting> + +<para +>Mõistagi suudab isegi KMimeMagic määrata failitüüpi ainult kohalike failide sisu põhjal. Võrgufailide jaoks on veel üks võimalus: </para> + +<programlisting +>KURL url("http://developer.kde.org/favicon.ico"); +QString type = KIO::NetAccess::mimetype(url); +if (type == KMimeType::defaultMimeType()) + cout << "Could not find out type" << endl; +else + cout << "Type: " << type << endl; +</programlisting> + +<para +>See käivitab KIO töö, laadides alla osa failist ja uurides seda. Arvesta, et see funktsioon on tõenäoliselt päris aeglane ja blokeerib programmi töö. Tavaliselt on seda mõtet kasutada ainult siis, kui <function +>KMimeType::findByURL()</function +> tagastab <literal +>"application/octet-stream"</literal +>. </para> + +<para +>Kui sa aga ei soovi rakenduse tööd blokeerida, võib ka vahetult käivitada KIO töö ja luua ühenduse selle mõningate signaalidega: </para> + +<programlisting +>void FooClass::findType() +{ + KURL url("http://developer.kde.org/favicon.ico"); + KIO::MimetypeJob *job = KIO::mimetype(url); + connect( job, SIGNAL(result(KIO::Job*)), + this, SLOT(mimeResult(KIO::Job*)) ); +} + +void FooClass::mimeResult(KIO::Job *job) +{ + if (job->error()) + job->showErrorDialog(); + else + cout << "MIME type: " << ((KIO::MimetypeJob *)job)->mimetype() << endl; +} +</programlisting> + +</simplesect> + + +<simplesect id="mime-mappingmimetypes"> +<title +>MIME tüübi seostamine rakenduse või teenusega</title> + +<para +>Rakenduse paigaldamisel paigaldab see oma <literal +>.desktop</literal +>-faili, mis sisaldab loetelu MIME tüüpidest, mida rakendus suudab avada. Ka komponendid, näiteks KParts, teatavad samasugust infot oma <literal +>.desktop</literal +>-failide vahendusel. Nii on enamasti olemas mitu programmi ja komponenti, mis suudavad antud MIME tüüpi käsitleda. Nende nimekirja võib leida klassist <classname +>KServiceTypeProfile</classname +>: </para> + +<programlisting +>KService::OfferList offers = KServiceTypeProfile::offers("text/html", "Application"); +KService::OfferList::ConstIterator it; +for (it = offers.begin(); it != offers.end(); ++it) { + KService::Ptr service = (*it); + cout << "Name: " << service->name() << endl; +} +</programlisting> + +<para +>Selle funktsiooni tagastatav väärtus ongi pakutavate teenuste nimekiri. <classname +>KServiceOffer</classname +> objekt liidab KService::Ptr eelistuse numbriga. <function +>KServiceTypeProfile::offers()</function +> tagastatav nimekiri on järjestatud vastavalt kasutaja eelistustele. Kasutaja saab seda muuta, kutsudes välja <command +>"keditfiletype text/html"</command +> või valides HTML-faili korral <application +>Konqueror</application +>i kontekstimenüüst kirje <guimenuitem +>Redigeeri failitüüpi</guimenuitem +>. </para> + +<para +>Toodud näites nõuti rakenduste nimekirja, mis toetaks tüüpi <literal +>text/html</literal +>. Nimekiri sisaldab muu hulgas HTML-redaktoreid, näiteks <application +>Quanta</application +>. Teise argumendi <literal +>"Application"</literal +> võib anda ka <literal +>"KParts::ReadOnlyPart"</literal +>. Sellisel juhul tagastatakse põimitavate komponentide nimekiri, mis suudavad HTML-i esitada, näiteks KHTML. </para> + +<para +>Enamasti puudub vajadus saada teada kõiki MIME tüübi ja teenuse tüübi kombinatsiooni käsitleda suutvaid teenuseid. Siis sobib kasutada mugavat funktsiooni, mis tagastab ainult kõige eelistatuma teenuse: </para> + +<programlisting +>KService::Ptr offer = KServiceTypeProfile::preferredService("text/html", "Application"); +if (offer) + cout << "Name: " << service->name() << endl; +else + cout << "No appropriate service found" << endl; +</programlisting> + +<para +>Keerulisemate päringute jaoks on mõeldud võimas CORBA taoline <ulink url="kdeapi:kio/KTrader.html" +>maakler</ulink +>. </para> + +<para +>Rakenduse teenuse käivitamiseks mõne URL-iga on kasutatav <ulink url="kdeapi:kio/KRun.html" +>KRun</ulink +>: </para> + +<programlisting +>KURL::List urlList; +urlList << "http://www.ietf.org/rfc/rfc1341.txt?number=1341"; +urlList << "http://www.ietf.org/rfc/rfc2046.txt?number=2046"; +KRun::run(offer.service(), urlList); +</programlisting> + +</simplesect> + + +<simplesect id="mime-misc"> +<title +>Mitmesugust</title> + +<para +>Selles osas toome ära mõned API-d, mis on teatud määral seotud meie eelneva jutuga. </para> + +<para +>Ikooni hankimine URL-ile. See uurib URL-i tüüpi ja tagastab sellega seotud ikooni. </para> + +<programlisting +>KURL url("ftp://ftp.kde.org/pub/incoming/wibble.c"); +QString icon = KMimeType::iconForURL(url); +</programlisting> + +<para +>URL-i käivitamine. See uurib URL-i tüüpi ja käivitab kasutaja antud tüübi korral eelistatud programmi. </para> + +<programlisting +>KURL url("http://dot.kde.org"); +new KRun(url); +</programlisting> + +</simplesect> + +</sect1> + + +<sect1 id="nettransparency"> +<title +>Võrguläbipaistvus</title> + +<simplesect id="nettransparency-intro"> +<title +>Sissejuhatus</title> + +<para +>Veebiajastul on äärmiselt oluline, et rakendused võiksid kasutada ressursse kõikjal internetis: nad peavad suutma tõmmata faile veebiserverist, salvestada faile FTP serverisse või lugeda veebiserverist e-posti. Tihtipeale nimetatakse sellist võimet kasutada faile sõltumata nende asukohast <emphasis +>võrguläbipaistvuseks</emphasis +>. </para> + +<para +>Minevikus üritati seda saavutada mitmel erineval moel. Eakas NFS failisüsteem proovis teostada võrguläbipaistvust POSIX-i API tasandil. See toimib päris hästi kohalike suletud võrkude korral, kuid jääb jänni ressurssidega, mille kasutamine ei pruugi alati õnnestuda ja ühendus millega võib olla aeglane. Seepärast on oluline <emphasis +>asünkroonsus</emphasis +>: kui ootad, et veebilehitseja laeks alla mingi saidi, ei pea see blokeerima kasutajaliidest. Samuti ei peaks veebilehekülje renderdamine algama alles siis, kui kätte on saadud kogu lehekülg, vaid käima regulaarselt vastavalt uute andmete saabumisele. </para> + +<para +>KDE teekides teostab võrguläbipaistvuse KIO API. Selle arhitektuuri keskne mõiste on IO <emphasis +>töö</emphasis +>. Töö võib faile kopeerida, kustutada vms. Töö käivitamisel tegutseb see taustal ega blokeeri rakendust. Kogu töö tagasiside rakendusele, näiteks andmete edastamine või edenemisinfo, käib läbi integreeritud Qt sündmusesilmuse. </para> + +<para +>Töötamiseks taustal on mõeldud konkreetseid ülesandeid täitvad <emphasis +>IO moodulid</emphasis +>. IO moodulid käivitatakse eraldi protsessidena ja nendega suheldakse UNIX-i domeeni pesade vahendusel. Sel moel ei ole vajalik mitmelõimsus ning ebastabiilsed moodulid ei tekita neid kasutava rakenduse krahhi. </para> + +<para +>Failide asukohti väljendavad tavapäraselt URL-id. KDE puhul aga ei laienda URL-id lihtsalt kättesaadavate failide vahemikku väljapoole kohalikku failisüsteemi, vaid toimivad ka vastupidi, lubades näiteks sirvida pakitud tar-faile. See saavutatakse URL-ide pesastamisega. Nii võib näiteks HTTP-serveris asuval tar-arhiivi failil olla URL </para> + +<programlisting +>http://www-com.physik.hu-berlin.de/~bernd/article.tgz#tar:/paper.tex +</programlisting> + +</simplesect> + + +<simplesect id="nettransparency-usingkio"> +<title +>KIO kasutamine</title> + +<para +>Enamasti luuakse tööd KIO nimeruumis funktsioone välja kutsudes. Need funktsioonid kasutavad argumendina üht või kaht URL-i ja võib-olla vastavalt vajadusele veel mõningaid parameetreid. Kui töö on lõpetatud, väljastatakse signaal <literal +>result(KIO::Job*)</literal +>. Signaali väljastamise järel kustutab töö iseenda. Toome siin tüüpilise kasutamise näite: </para> + +<programlisting +>void FooClass::makeDirectory() +{ + SimpleJob *job = KIO::mkdir(KURL("file:/home/bernd/kiodir")); + connect( job, SIGNAL(result(KIO::Job*)), + this, SLOT(mkdirResult(KIO::Job*)) ); +} + +void FooClass::mkdirResult(KIO::Job *job) +{ + if (job->error()) + job->showErrorDialog(); + else + cout << "mkdir went fine" << endl; +} +</programlisting> + +<para +>Sõltuvalt töö tüübist võib olla vajalik ühenduse loomine ka muude signaalidega. </para> + +<para +>Toome siin ülevaate võimalikest funktsioonidest: </para> + +<variablelist> + +<varlistentry +><term +>KIO::mkdir(const KURL &url, int õigused)</term> +<listitem +><para +>Loob kataloogi, lisavõimalusena teatud õigustega. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::rmdir(const KURL &url)</term> +<listitem +><para +>Eemaldab kataloogi. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::chmod(const KURL &url, int õigused)</term> +<listitem +><para +>Muudab faili õigusi. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::rename(const KURL &src, const KURL &dest, bool overwrite)</term> +<listitem +><para +>Nimetab faili ümber. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::symlink(const QString &target, const KURL &dest, bool overwrite, bool showProgressInfo)</term> +<listitem +><para +>Loob nimeviida. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::stat(const KURL &url, bool showProgressInfo)</term> +<listitem +><para +>Leiab teatud info faili kohta, näiteks suurus, muutmise aeg ja õigused. Info teeb pärast töö lõpetamist teatavaks KIO::StatJob::statResult(). </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::get(const KURL &url, bool reload, bool showProgressInfo)</term> +<listitem +><para +>Edastab andmed URL-ilt. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::put(const KURL &url, int õigused, bool overwrite, bool resume, bool showProgressInfo)</term> +<listitem +><para +>Edastab andmed URL-ile. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::http_post(const KURL &url, const QByteArray &data, bool showProgressInfo)</term> +<listitem +><para +>Postitab andmed. Spetsiaalselt HTTP jaoks. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::mimetype(const KURL &url, bool showProgressInfo)</term> +<listitem +><para +>Püüab leida URL-i MIME tüübi. Tüübi teeb pärast töö lõpetamist teatavaks KIO::MimetypeJob::mimetype(). </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::file_copy(const KURL &src, const KURL &dest, int õigused, bool overwrite, bool resume, bool showProgressInfo)</term> +<listitem +><para +>Kopeerib ühe faili. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::file_move(const KURL &src, const KURL &dest, int õigused, bool overwrite, bool resume, bool showProgressInfo)</term> +<listitem +><para +>Nimetab ümber või liigutab ühe faili. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::file_delete(const KURL &url, bool showProgressInfo)</term> +<listitem +><para +>Kustutab ühe faili. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::listDir(const KURL &url, bool showProgressInfo)</term> +<listitem +><para +>Loetleb kataloogi sisu. Igal uue kirje tuvastamisel väljastatakse signaal KIO::ListJob::entries(). </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::listRecursive(const KURL &url, bool showProgressInfo)</term> +<listitem +><para +>Sarnane funktsiooniga listDir(), kuid rekursiivne. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::copy(const KURL &src, const KURL &dest, bool showProgressInfo)</term> +<listitem +><para +>Kopeerib faili või kataloogi. Kataloogid kopeeritakse rekursiivselt. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::move(const KURL &src, const KURL &dest, bool showProgressInfo)</term> +<listitem +><para +>Liigutab või nimetab ümber faili või kataloogi. </para +></listitem> +</varlistentry> + +<varlistentry +><term +>KIO::del(const KURL &src, bool shred, bool showProgressInfo)</term> +<listitem +><para +>Kustutab faili või kataloogi. </para +></listitem> +</varlistentry> + +</variablelist> + +</simplesect> + + +<simplesect id="nettransparency-direntries"> +<title +>Kataloogikirjed</title> + +<para +>Nii töö KIO::stat() kui ka töö KIO::listDir() tagastavad oma tulemused vastavalt tüübina UDSEntry ja UDSEntryList. Viimane on defineeritud kui QValueList<UDSEntry>. UDS tähendab "universaalne kataloogiteenus" (inglise keeles "Universal Directory Service"). Selle taga seisab põhimõte, et kataloogikirje sisaldab ainult seda infot, mida IO moodul suudab pakkuda. Näiteks ei paku http moodul infot kasutamisõiguste või faili omaniku kohta. UDSEntry on UDSAtom-ite loend. Iga aatom pakub teatud konkreetse infoühiku. See koosneb tüübist, mille on salvestanud m_uds, ning sõltuvalt tüübist kas täisarvulisest väärtusest (m_long) või stringilisest väärtusest (m_str). </para> + +<para +>Praegu on defineeritud järgmised tüübid: </para> + +<itemizedlist> + +<listitem +><para +>UDS_SIZE (täisarv) - faili suurus. </para +></listitem> + +<listitem +><para +>UDS_USER (string) - faili omav kasutaja. </para +></listitem> + +<listitem +><para +>UDS_GROUP (string) - faili omav grupp. </para +></listitem> + +<listitem +><para +>UDS_NAME (string) - failinimi. </para +></listitem> + +<listitem +><para +>UDS_ACCESS (täisarv) - faili kasutamise õigused, nagu need on salvestanud näiteks libc funktsioon stat() väljal st_mode. </para +></listitem> + +<listitem +><para +>UDS_FILE_TYPE (täisarv) - faili tüüp, nagu selle on salvestanud näiteks stat() väljal st_mode. Seepärast saab selle väärtuse testimiseks kasutada tavalisi libc makrosid, näiteks S-ISDIR. Arvesta, et IO moodulite pakutud andmed vastavad sellele, mida sisaldab stat(), mitte aga lstat(), nii et näiteks nimeviida korral on failitüüp selle faili tüüp, millele viit osutab, mitte aga viit ise. </para +></listitem> + +<listitem +><para +>UDS_LINK_DEST (string) - nimeviida puhul viidatud faili nimi. </para +></listitem> + +<listitem +><para +>UDS_MODIFICATION_TIME (täisarv) - aeg (nagu tüübis time_t), millal faili viimati muudeti, nagu selle on salvestanud näiteks stat() väljal st_mtime. </para +></listitem> + +<listitem +><para +>UDS_ACCESS_TIME (täisarv) - aeg, millal faili viimati kasutati, nagu selle on salvestanud näiteks stat() väljal st_atime. </para +></listitem> + +<listitem +><para +>UDS_CREATION_TIME (täisarv) - faili loomise aeg, nagu selle on salvestanud näiteks stat() väljal st_ctime. </para +></listitem> + +<listitem +><para +>UDS_URL (string) - faili URL, kui see ei ole lihtsalt kataloogi URL-i ja failinime ühend. </para +></listitem> + +<listitem +><para +>UDS_MIME_TYPE (string) - faili MIME tüüp </para +></listitem> + +<listitem +><para +>UDS_GUESSED_MIME_TYPE (string) - faili MIME tüüp, nagu seda arvab moodul. Erinevus eelmise tüübiga seisneb selles, et siinpakutut ei tohiks võtta usaldusväärsena (sest selle määramine usaldusväärsel meetodil on liiga kulukas). Näiteks klass KRun kontrollib vahetult MIME tüüpi, kui tal ei ole usaldusväärset infot. </para +></listitem> + +</itemizedlist> + +<para +>Kuigi failiinfo salvestamise viis klassis <classname +>UDSEntry</classname +> on paindlik ja praktiline IO mooduli seisukohalt vaadates, on see rakenduse programmeerija vaatevinklist korralik segadik. Näiteks faili MIME tüübi tuvastamiseks tuleb ükshaaval läbi uurida kõik aatomid ja kontrollida, kas <literal +>m_uds</literal +> on ikka <literal +>UDS_MIME_TYPE</literal +>. Õnneks on olemas API, mida on palju lihtsam kasutada: klass <classname +>KFileItem</classname +>. </para> + +</simplesect> + + +<simplesect id="nettransparency-syncuse"> +<title +>Sünkroonne kasutamine</title> + +<para +>Sageli on KIO asünkroonne API liiga keerukas kasutada, seepärast ei ole ka täieliku asünkroonsuse teostamine esmatähtis. Näiteks programmi korral, mus suudab korraga käsitleda ainult üht dokumenti, ei ole nagunii midagi teha, kui programm parajasti dokumenti alla laeb. Sellistel lihtsatel juhtudel on olemas märksa lihtsam API staatiliste funktsioonide kogumi näol KIO::NetAccess-is. Näiteks faili kopeerimiseks kasuta: </para> + +<programlisting +>KURL source, target; +source = ...; +target = ... +KIO::NetAccess::copy(source, target); +</programlisting> + +<para +>See funktsioon tagastab pärast terve kopeerimisprotsessi lõpetamist. Siiski pakub see meetod edenemisdialoogi ja kontrollib, et rakendus töötleb ümberjoonistamissündmusi. </para> + +<para +>Eriti huvitav funktsioonide kombinatsioon o <function +>download()</function +> koos funktsiooniga <function +>removeTempFile()</function +>. Esimene tõmbab määratud URL-iga faili ja salvestab selle unikaalse nimega ajutise failina. Nimi salvestatakse teise argumendina. <emphasis +>Kui</emphasis +> tegemist on kohaliku URL-iga, faili alla ei laeta ja teiseks argumendiks määratakse kohaliku faili nimi. Funktsioon <function +>removeTempFile()</function +> kustutab argumendina antud faili, kui see on varasema allalaadimise tulemus. Kui mitte, siis ei tee see midagi. Nii on sellise kombinatsiooni abil väga hea laadida faile alla sõltumata nende asukohast järgmise koodijupiga: </para> + +<programlisting +>KURL url; +url = ...; +QString tempFile; +if (KIO::NetAccess::download(url, tempFile) { + // load the file with the name tempFile + KIO::NetAccess::removeTempFile(tempFile); +} +</programlisting> + +</simplesect> + + +<simplesect id="nettransparency-metadata"> +<title +>Metaandmed</title> + +<para +>Nagu eespool nägime, on IO tööde liides üpris abstraktne ega võta arvesse infovahetust rakenduse ja IO mooduli vahel, mis on protokollipõhine. Alati selline lähenemine ei sobi. Näiteks võid soovida anda HTTP moodulile teatud parameetrid kontrollimaks puhvri käitumist või saata koos sooviga kimbu küpsiseid. Selleks on sisse toodud metaandmed. Töö loomisel saab seda seadistada metaandmeid lisades. Iga metaandmete ühik sisaldab võtme-väärtuse paari. Näiteks selleks, et HTTP moodul ei laeks veebilehekülge puhvrist, võib kasutada: </para> + +<programlisting +>void FooClass::reloadPage() +{ + KURL url("http://www.kdevelop.org/index.html"); + KIO::TransferJob *job = KIO::get(url, true, false); + job->addMetaData("cache", "reload"); + ... +} +</programlisting> + +<para +>Sama meetodit saab kasutada ka teistpidi, s.t. moodulilt rakendusele suunduva suhtlemise korral. Meetod <function +>Job::queryMetaData()</function +> pärib mooduli edastatud võtme väärtust. HTTP mooduli korral võib näiteks olla võti <literal +>"modified"</literal +>, mis sisaldab (stringi kujul) kuupäeva, millal veebilehekülge viimati muudeti. Toome ka kasutamisnäite: </para> + +<programlisting +>void FooClass::printModifiedDate() +{ + KURL url("http://developer.kde.org/documentation/kde2arch/index.html"); + KIO::TransferJob *job = KIO::get(url, true, false); + connect( job, SIGNAL(result(KIO::Job*)), + this, SLOT(transferResult(KIO::Job*)) ); +} + +void FooClass::transferResult(KIO::Job *job) +{ + QString mimetype; + if (job->error()) + job->showErrorDialog(); + else { + KIO::TransferJob *transferJob = (KIO::TransferJob*) job; + QString modified = transferJob->queryMetaData("modified"); + cout << "Last modified: " << modified << endl; +} +</programlisting> + +</simplesect> + + +<simplesect id="nettransparency-scheduling"> +<title +>Ajastamine</title> + +<para +>KIO API kasutamisel ei ole tavaliselt vajalik pead vaevata IO moodulite käivitamise ja nendega suhtlemise üksikasjade pärast. Kõige tavalisem on käivitada töö teatud parameetritega ja tegelda töö väljastatud signaalidega. </para> + +<para +>Tagaplaanil on aga kõik palju keerukam. Tööd luues seatakse see järjekorda. Kui rakendus läheb tagasi sündmusesilmusesse, eraldab KIO mooduliprotsessid järjekorras olevatele töödele. Esimese töö korral on kõik lihtne: käivitatakse vajaliku protokolli IO moodul. Kuid pärast töö lõpetamist (näiteks allalaadimist HTTP-serverilt) ei tapeta tööd otsekohe, vaid see lükatakse jõude moodulite puhvrisse ja tapetakse pärast seda, kui see on olnud mingi aja mitteaktiivne (praegu on väärtuseks 3 minutit). Kui saabub uus soov samale protokollile ja masinale, võetakse moodul uuesti kasutusele. Selle ilmne eelis on tõik, et nii saab tunduvalt kärpida sama masina puhul sarnaseid töid ette võttes muidu uute protsesside loomisele ja võib-olla ka autentimisele kuluvaid ressursse ja aega. </para> + +<para +>Mõistagi on taaskasutamne võimalik ainult siis, kui olemasolev moodul on oma varasema töö juba lõpetanud. Kui uus soov saabub ajal, mil mooduliprotsess veel käib, tuleb käivitada uus protsess. Ülaltoodud API näiteks ei olnud piiratud uute mooduliprotsesside loomine: kui käivitad järjest 20 erineva faili allalaadimise, käivitab KIO 20 mooduliprotsessi. Sellist moodulite omistamist töödele nimetatakse <emphasis +>vahetuks</emphasis +> omistamiseks. See ei ole aga mitte alati eelistatav viis, sest võib nõuda hulganisti mälu ja koormata tugevasti nii kliendi kui serveri masinat. </para> + +<para +>Seepärast on olemas ka teine võimalus: töid saab <emphasis +>ajastada</emphasis +>. Sellisel juhul luuakse protokolli kohta ainult teatud arv (praegu 3) mooduliprotsesse. Kui lood rohkem töid, seatakse need järjekorda ja täidetakse siis, kui mooduliprotsess jääb jõude. See käib nii: </para> + +<programlisting +>KURL url("http://developer.kde.org/documentation/kde2arch/index.html"); +KIO::TransferJob *job = KIO::get(url, true, false); +KIO::Scheduler::scheduleJob(job); +</programlisting> + +<para +>Kolmas võimalus on <emphasis +>ühendusepõhine</emphasis +>. Näiteks IMAP mooduli korral ei ole erilist mõtet käivitada ühe ja sama serveri puhul mitu protsessi. Nii või teisiti saab korraga toimida ainult üks IMAP ühendus. Sellisel juhul peab rakendus otseselt suhtlema mooduliga, kõrvaldades mooduli teatud ühenduselt ja seejärel omistama kõik tööd, mis käivad üle ühe ühenduse, samale moodulile. Ka selleks sobib suurepäraselt KIO::Scheduler: </para> + +<programlisting +>KURL baseUrl("imap://bernd@albert.physik.hu-berlin.de"); +KIO::Slave *slave = KIO::Scheduler::getConnectedSlave(baseUrl); + +KIO::TransferJob *job1 = KIO::get(KURL(baseUrl, "/INBOX;UID=79374")); +KIO::Scheduler::assignJobToSlave(slave, job1); + +KIO::TransferJob *job2 = KIO::get(KURL(baseUrl, "/INBOX;UID=86793")); +KIO::Scheduler::assignJobToSlave(slave, job2); + +... + +KIO::Scheduler::disconnectSlave(slave); +</programlisting> + +<para +>Moodul on mõtet lahti ühendada alles pärast seda, kui kõik sellele omistatud tööd on kindlasti lõpetatud. </para> + +</simplesect> + + +<simplesect id="nettransparency-definingslaves"> +<title +>IO mooduli defineerimine</title> + +<para +>Siin vaatame nüüd seda, kuidas lisada süsteemile uus IO moodul. Sarnaselt teenustele teeb uue IO mooduli süsteemile teatavaks väikese konfiguratsioonifaili paigaldamine. Järgnev Makefile.am koodijupp paigaldab FTP protokolli: </para> + +<programlisting +>protocoldir = $(kde_servicesdir) +protocol_DATA = ftp.protocol +EXTRA_DIST = $(mime_DATA) +</programlisting> + +<para +>Faili ftp.protocol sisu on selline: </para> + +<programlisting +>[Protocol] +exec=kio_ftp +protocol=ftp +input=none +output=filesystem +listing=Name,Type,Size,Date,Access,Owner,Group,Link, +reading=true +writing=true +makedir=true +deleting=true +Icon=ftp +</programlisting> + +<para +>Kirje <literal +>"protocol"</literal +> määrab, millise protokolli eest antud moodul hoolt kannab. <literal +>"exec"</literal +> on (vastupidi sellele, mida sa vahest naiivselt arvasid) moodulit teostava teegi nimi. Mooduli käivitamisel käivitatakse <command +>"kdeinit"</command +>, mis omakorda laeb antud teegi enda aadressiruumi. Nii võib töötavat moodulit käsitleda praktikas küll omaette protsessina, kuigi tegelikult on see teostatud teegina. Selle eeliseks on asjaolu, et nii saab säästa hulgaliselt mälu ja kahandada käivituslinkurile vajalikku aega. </para> + +<para +>Praegu ei ole kasutusel read "input" ja "output". </para> + +<para +>Ülejäänud <literal +>.protocol</literal +>-faili read määravad ära mooduli omadused. Üldiselt on võimalused, mida moodul peab teostama, palju lihtsamad kui võimalused, mida KIO API rakendustele pakub. Selle põhjuseks on keerukate tööde jagamine mitmeks alamtööks. Näiteks kataloogi sisu näitamiseks rekursiivselt käivitatakse üks töö tippkataloogis. Seejärel käivitatakse iga alamkataloogi sisu leidmiseks uued alamtööd. KIO ajastaja tagab, et korraga ei oleks aktiivsed liiga palju töid. Ka võib KIO näiteks faili kopeerimiseks protokolli korral, mis ei toeta vahetult kopeerimist (näiteks <literal +>ftp:</literal +>), lugeda lähtefaili ja seejärel kirjutada andmed sihtfaili. Selleks peab <literal +>.protocol</literal +>-fail tegema teatavaks, milliseid toiminguid antud moodul toetab. </para> + +<para +>Kuna moodulid laetakse jagatud teegina, kuid kujutavad endast autonoomseid programme, erineb nende koodi raamistik mõnevõrra tavalistest jagatud teegi pluginatest. Mooduli käivitamiseks välja kutsutav funktsioon kannab nime <function +>kdemain()</function +>. See sooritab teatud initsialiseerimine ning läheb seejärel sündmusesilmusesse ja ootab rakenduse soove. Välja näeb see nii: </para> + +<programlisting +>extern "C" { int kdemain(int argc, char **argv); } + +int kdemain(int argc, char **argv) +{ + KLocale::setMainCatalogue("kdelibs"); + KInstance instance("kio_ftp"); + (void) KGlobal::locale(); + + if (argc != 4) { + fprintf(stderr, "Usage: kio_ftp protocol " + "domain-socket1 domain-socket2\n"); + exit(-1); + } + + FtpSlave slave(argv[2], argv[3]); + slave.dispatchLoop(); + return 0; +} +</programlisting> + +</simplesect> + + +<simplesect id="nettransparency-implementingslaves"> +<title +>IO mooduli teostamine</title> + +<para +>Moodulid teostatakse <classname +>KIO::SlaveBase</classname +> alamklassidena (ülaltoodud näites FtpSlave). Nii vastavad <literal +>.protocol</literal +>-failis loetletud toimingud teatud <classname +>KIO::SlaveBase</classname +> teatud virtuaalsetele funktsioonidele, mida mooduli teostus peab taasteostama. Toome siin ära võimalike toimingute ja neile vastavate virtuaalsete funktsioonide loendi: </para> + +<variablelist> + +<varlistentry +><term +>reading - loeb andmed URL-ilt</term> +<listitem +><para +>void get(const KURL &url)</para +></listitem +></varlistentry> + +<varlistentry +><term +>writing - kirjutab andmed URL-ile ja loob faili, kui seda veel ei ole.</term> +<listitem +><para +>void put(const KURL &url, int õigused, bool overwrite, bool resume)</para +></listitem +></varlistentry> + +<varlistentry +><term +>moving - nimetab faili ümber.</term> +<listitem +><para +>void rename(const KURL &src, const KURL &dest, bool overwrite)</para +></listitem +></varlistentry> + +<varlistentry +><term +>deleting - kustutab faili või kataloogi.</term> +<listitem +><para +>void del(const KURL &url, bool isFile)</para +></listitem +></varlistentry> + +<varlistentry +><term +>listing - tagastab kataloogi sisu.</term> +<listitem +><para +>void listDir(const KURL &url)</para +></listitem +></varlistentry> + +<varlistentry +><term +>makedir - loob kataloogi.</term> +<listitem +><para +>void mkdir(const KURL &url, int õigused)</para +></listitem +></varlistentry> + +</variablelist> + +<para +>Lisaks on taasteostatavaid funktsioone, mida ei ole ära toodud <literal +>.protocol</literal +>-failis. Nende tegevuste puhul määrab KIO automaatselt, kas need on toetatud või mitte (s.t vaiketeostus tagastab vea). </para> + +<variablelist> + +<varlistentry +><term +>Edastab failiinfo, umbes nagu C funktsioon stat().</term> +<listitem +><para +>void stat(const KURL &url)</para +></listitem +></varlistentry> + +<varlistentry +><term +>Muudab faili kasutamise õigusi.</term> +<listitem +><para +>void chmod(const KURL &url, int õigused)</para +></listitem +></varlistentry> + +<varlistentry +><term +>Määrab faili MIME tüübi.</term> +<listitem +><para +>void mimetype(const KURL &url)</para +></listitem +></varlistentry> + +<varlistentry +><term +>Kopeerib faili.</term> +<listitem +><para +>copy(const KURL &url, const KURL &dest, int õigused, bool overwrite)</para +></listitem +></varlistentry> + +<varlistentry +><term +>Loob nimeviida.</term> +<listitem +><para +>void symlink(const QString &target, const KURL &dest, bool overwrite)</para +></listitem +></varlistentry> + +</variablelist> + +<para +>Kõik teostused peavad lõppema ühga kahest väljakutsest: kui tegevus oli edukas, peavad nad kutsuma välja <literal +>finished()</literal +>, kui aga tekkis viga, siis tuleb välja kutsuda <literal +>error()</literal +> koos veakoodiga esimese ja stringiga teise argumendina. Võimalike veakoodide loendi annab <type +>KIO::Error</type +>. Teine argument on tavaliselt asjakohane URL. Seda kasutab näiteks <function +>KIO::Job::showErrorDialog()</function +> inimestele mõistetava veateate loomisel. </para> + +<para +>Võrguprotokollidele vastavate moodulite puhul võib huvi pakkuda meetodi <function +>SlaveBase::setHost()</function +> taasteostamine. See kutsutakse välja teatamaks mooduliprotsessile masinat ja porti ning sisselogimiseks vajalikku kasutajanime ja parooli. Üldiselt saab rakenduse saadetud metaandmete päringuks kasutada <function +>SlaveBase::metaData()</function +>. Teatud võtme metaandmete olemasolu kontrollimiseks on mõeldud <function +>SlaveBase::hasMetaData()</function +>. </para> + +</simplesect> + + +<simplesect id="nettransparency-communication"> +<title +>Tagasiside rakendusele</title> + +<para +>Mooduli teostatud toimingute tulemusel saadud andmed tuleb mingil moel tagastada mooduliprotsessi kasutavale rakendusele: </para> + +<itemizedlist> + +<listitem +><para +><function +>get()</function +> saadab andmebloki. Seda teeb <function +>data()</function +>, mis võtab argumendiks <classname +>QByteArray</classname +>. Mõistagi ei pea kõiki andmeid korraga saatma. Näiteks suurt faili saates kutsu <function +>data()</function +> välja väiksemate andmeblokkidega, et rakendus suudaks neid töödelda. Kui edastus on lõpetatud, kutsu välja <function +>finished()</function +>. </para +></listitem> + +<listitem +><para +><function +>listDir()</function +> edastab kataloogikirjete info. Selleks kutsu <function +>listEntries()</function +> välja argumendiga <classname +>KIO::UDSEntryList</classname +>. Nagu <function +>data()</function +> puhul, võib ka seda mitu korda välja kutsuda. Kui oled lõpetanud, kutsu välja <function +>listEntry()</function +>, kusjuures teine argument peab olema tõene (true). Samuti võib välja kutsuda <function +>totalSize()</function +>, mis annab vastuseks kataloogikirjete koguarvu, kui see on teada. </para +></listitem> + +<listitem +><para +><function +>stat()</function +> edastab failiinfot, näiteks suuruse, MIME tüübi jne. Sellist infot sisaldab <classname +>KIO::UDSEntry</classname +>, millest tuleb veel juttu. Selliste andmete saatmiseks rakendustele kasuta <function +>statEntry()</function +>. </para +></listitem> + +<listitem +><para +><function +>mimetype()</function +> kutsub välja <function +>mimeType()</function +>, andes argumendiks stringi. </para +></listitem> + +<listitem +><para +><function +>get()</function +> ja <function +>copy()</function +> pakuvad edenemisinfot. Seda saavutatakse meetoditega <function +>totalSize()</function +>, <function +>processedSize()</function +> ja <function +>speed()</function +>. Kogusuurus ja töödeldud suurus antakse teada baitides, kiirus baitides sekundi kohta. </para +></listitem> + +<listitem +><para +>Funktsiooniga <function +>setMetaData()</function +> saab saata metaandmete võtme-väärtuse paare. </para +></listitem> + +</itemizedlist> + +</simplesect> + + +<simplesect id="nettransparency-interacting"> +<title +>Suhtlemine kasutajaga</title> + +<para +>Mõnikord on moodulil vaja suhelda kasutajaga: infosõnumid, autentimisdialoogid või kinnituse küsimine faili ülekirjutamisel. </para> + +<itemizedlist> + +<listitem +><para +><function +>infoMessage()</function +> - informatsiooniline tagasiside, näiteks HTTP mooduli sõnum "Andmete tõmbamine aadressilt <masin>", mida sageli näidatakse rakenduse olekuribal. Rakenduse poolelt vastab sellele meetodile signaal <function +>KIO::Job::infoMessage()</function +>. </para +></listitem> + +<listitem +><para +><function +>warning()</function +> - näitab hoiatust teatekastis funktsiooniga <function +>KMessageBox::information()</function +>. Kui sama mooduliprotsessi eelmise warning() väljakutse teatekast veel avatud, ei juhtu midagi. </para +></listitem> + +<listitem +><para +><function +>messageBox()</function +> - rikkalikum, kui eelmine meetod. Võimaldab avada teatekasti teksti, pealdise ja mõne nupuga. Vaata täpsemalt loendit <type +>SlaveBase::MessageBoxType</type +>. </para +></listitem> + +<listitem +><para +><function +>openPassDlg()</function +> - avab dialoogi kasutajanime ja parooli sisestamiseks. </para +></listitem> + +</itemizedlist> + +</simplesect> + +</sect1> + +</chapter> + + + +<appendix id="misc"> +<title +>Litsents</title> + +&underFDL; +&underGPL; + +</appendix> + +</book> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/Makefile.am b/tde-i18n-et/docs/kdevelop/kdevelop/Makefile.am new file mode 100644 index 00000000000..f6c3e2e278a --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = et +SUBDIRS = $(AUTODIRS) +KDE_DOCS = AUTO +KDE_MANS = AUTO diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/Makefile.in b/tde-i18n-et/docs/kdevelop/kdevelop/Makefile.in new file mode 100644 index 00000000000..1db0c6b83d3 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/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/kdevelop/kdevelop +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ +#>- html-recursive info-recursive install-data-recursive \ +#>- install-dvi-recursive install-exec-recursive \ +#>- install-html-recursive install-info-recursive \ +#>- install-pdf-recursive install-ps-recursive install-recursive \ +#>- installcheck-recursive installdirs-recursive pdf-recursive \ +#>- ps-recursive uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +#>+ 1 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CONF_FILES = @CONF_FILES@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +GMSGFMT = @GMSGFMT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_RPATH = @KDE_RPATH@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOPSUBDIRS = @TOPSUBDIRS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +#>- bindir = @bindir@ +#>+ 2 +DEPDIR = .deps +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +kdeinitdir = @kdeinitdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_LANG = et +#>- 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/kdevelop/kdevelop/Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --gnu docs/kdevelop/kdevelop/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/kdevelop/kdevelop/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdevelop/kdevelop/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdevelop/kdevelop/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=unixdev.docbook kdevelop-install.docbook app-files.docbook file-browsers.docbook index.docbook applicationwizard.docbook getting-started.docbook plugin-tools.docbook project-management.docbook kdevelop-scripting.docbook cvs.docbook setup.docbook credits.docbook documentation.docbook commands.docbook app-uimodes-examples.docbook index.cache.bz2 app-menu.docbook survey-manual.docbook editing.docbook app-misc-info.docbook app-changelog.docbook nutshell.docbook project-advanced.docbook adv-build-management.docbook Makefile.in class-browsers.docbook kdevelop-survey.docbook debugger.docbook Makefile.am + +#>+ 24 +index.cache.bz2: $(srcdir)/index.docbook $(KDE_XSL_STYLESHEET) app-uimodes-examples.docbook editing.docbook commands.docbook documentation.docbook file-browsers.docbook kdevelop-install.docbook debugger.docbook applicationwizard.docbook index.docbook app-files.docbook app-menu.docbook project-management.docbook cvs.docbook adv-build-management.docbook credits.docbook kdevelop-survey.docbook kdevelop-scripting.docbook unixdev.docbook survey-manual.docbook nutshell.docbook project-advanced.docbook plugin-tools.docbook class-browsers.docbook app-changelog.docbook getting-started.docbook app-misc-info.docbook setup.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)/kdevelop + @if test -f index.cache.bz2; then \ + echo $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdevelop/; \ + $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdevelop/; \ + elif test -f $(srcdir)/index.cache.bz2; then \ + echo $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdevelop/; \ + $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdevelop/; \ + fi + -rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdevelop/common + $(LN_S) $(kde_libs_htmldir)/$(KDE_LANG)/common $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdevelop/common + +uninstall-docs: + -rm -rf $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdevelop + +clean-docs: + -rm -f index.cache.bz2 + + +#>+ 13 +install-nls: + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdevelop + @for base in app-uimodes-examples.docbook editing.docbook commands.docbook documentation.docbook file-browsers.docbook kdevelop-install.docbook debugger.docbook applicationwizard.docbook index.docbook app-files.docbook app-menu.docbook project-management.docbook cvs.docbook adv-build-management.docbook credits.docbook kdevelop-survey.docbook kdevelop-scripting.docbook unixdev.docbook survey-manual.docbook nutshell.docbook project-advanced.docbook plugin-tools.docbook class-browsers.docbook app-changelog.docbook getting-started.docbook app-misc-info.docbook setup.docbook ; do \ + echo $(INSTALL_DATA) $$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdevelop/$$base ;\ + $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdevelop/$$base ;\ + done + +uninstall-nls: + for base in app-uimodes-examples.docbook editing.docbook commands.docbook documentation.docbook file-browsers.docbook kdevelop-install.docbook debugger.docbook applicationwizard.docbook index.docbook app-files.docbook app-menu.docbook project-management.docbook cvs.docbook adv-build-management.docbook credits.docbook kdevelop-survey.docbook kdevelop-scripting.docbook unixdev.docbook survey-manual.docbook nutshell.docbook project-advanced.docbook plugin-tools.docbook class-browsers.docbook app-changelog.docbook getting-started.docbook app-misc-info.docbook setup.docbook ; do \ + rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kdevelop/$$base ;\ + done + + +#>+ 5 +distdir-nls: + for file in app-uimodes-examples.docbook editing.docbook commands.docbook documentation.docbook file-browsers.docbook kdevelop-install.docbook debugger.docbook applicationwizard.docbook index.docbook app-files.docbook app-menu.docbook project-management.docbook cvs.docbook adv-build-management.docbook credits.docbook kdevelop-survey.docbook kdevelop-scripting.docbook unixdev.docbook survey-manual.docbook nutshell.docbook project-advanced.docbook plugin-tools.docbook class-browsers.docbook app-changelog.docbook getting-started.docbook app-misc-info.docbook setup.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/kdevelop/kdevelop/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdevelop/kdevelop/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdevelop/kdevelop/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-et/docs/kdevelop/kdevelop/adv-build-management.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/adv-build-management.docbook new file mode 100644 index 00000000000..1ac70c01e7b --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/adv-build-management.docbook @@ -0,0 +1,174 @@ +<chapter id="adv-build-management"> +<title +>Ehitamise haldamisest põhjalikumalt</title> +<indexterm zone="adv-build-management" +><primary +>&automake;</primary +></indexterm> + +<sect1 id="buildconfigurations"> +<title +>Mitu ehitamisseadistust</title> +<indexterm zone="buildconfigurations" +><primary +>ehitamisseadistused</primary +><secondary +>mitu</secondary +></indexterm> + +<para +>(... veel kirjutamata ...) </para> + +</sect1 +> <!-- buildconfigurations --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="crosscompiling"> +<title +>Krosskompileerimine</title> +<indexterm zone="crosscompiling" +><primary +>krosskompileerimine</primary +></indexterm> +<indexterm zone="crosscompiling" +><primary +>kompileerimine</primary +><secondary +>kross-</secondary +></indexterm> +<indexterm zone="crosscompiling" +><primary +><option +>--host</option +></primary +></indexterm> + +<para +>Kui sinu käsutuses on sobivad krosskompilaatorid, saad oma programme kompileerida ka protsessoritele ja operatsioonisüsteemidle, mis erinevad süsteemist, kus töötavad sinu &kdevelop; ja kompilaator. &GNU; kompilaatori &gcc; võib seadistada ja kompileerida krosskompilaatorina, aga seda pead sa ise tegema. Täpsemat infot annavad <ulink url="info://gcc/Cross-Compiler" +>GCC info-leheküljed</ulink +>. Mõned &Linux; distributsioonid pakuvad küll ka binaarpakette. </para> + +<para +>Pakette, mille aluseks on <application +>automake</application +>, saab hõlpsasti krosskompileerida konfigureerimisskripti võtmega <option +>--host</option +> ning krosskompilaatori binaarfailidele keskkonnamuutujaid <envar +>CC</envar +> ja <envar +>CXX</envar +> määrates. Mõnigi kord võib tekkida vajadus lülituda oma rakenduse krosskompileeritud ning enda süsteemi jaoks ehitatud versioonide vahel. Selleks saab ära kasutada &kdevelop;i mitme ehitusseadistuse võimalust, mida selgitab <xref linkend="buildconfigurations"/>. Kui oled loonud uue ehitusseadistuse krosskompileerimiseks dialoogis <menuchoice +><guimenu +>Projekt</guimenu +><guimenuitem +>Projekti seadistused</guimenuitem +></menuchoice +>, lisa võti </para> + +<screen +><option +>--host=</option +><replaceable +>platvorm</replaceable +></screen> + +<para +>konfiguratsioonivõtmete sekka. <replaceable +>platvorm</replaceable +> on siinkohal korteež kujul </para> + +<programlisting +>cpu-valmistaja-os</programlisting> +<para +>või</para> +<programlisting +>cpu-valmistaja-kernel-os</programlisting> + +<para +>Väga sageli võib kasutada ka lühivormi, näiteks <wordasword +>i386-linux</wordasword +> või <wordasword +>arm-elf</wordasword +>. </para> + +</sect1 +> <!-- crosscompiling --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="qtembedded"> +<title +>Qt/Embedded</title> +<indexterm zone="qtembedded" +><primary +>põimitud</primary +><secondary +>Qt</secondary +></indexterm> +<indexterm zone="qtembedded" +><primary +>Qt/Embedded</primary +></indexterm> +<indexterm zone="qtembedded" +><primary +>Qtopia</primary +></indexterm> +<indexterm zone="qtembedded" +><primary +>kaadripuhver</primary +></indexterm> + +<para +>&qte; on &Qt; teegi versioon, mis ei kasuta X Window süsteemi, vaid kirjutab &Linux; süsteemides otse kaadripuhvrisse. Seepärast on see kasulik manussüsteemides, kus valitsevad üsna suured piirangud süsteemi mälukasutusele. Selle &API; ühildub täielikult X11 versiooniga. </para> + +<para +>Rakenduse loomine &qte; tarbeks &kdevelop;iga ei erine eriliselt programmi loomisest &Qt; X11 versiooni jaoks. Kood on õigupoolest mõlemal juhul üks ja sama. Kui kasutad automaatset projektihaldust, saad lülituda manusversioonile konfiguratsiooniskriptile võtit <option +>--enable-embedded</option +> lisades. Selle saab määrata dialoogi <menuchoice +><guimenu +>Projekt</guimenu +><guimenuitem +>Projekti seadistused</guimenuitem +></menuchoice +> kaardil <guilabel +>Konfigureerimise seadistused</guilabel +>. Võtmega <option +>--with-qt-dir=KATALOOG</option +> saab määrata kataloogi, kuhu &qte; on paigaldatud. </para> + +<para +>Pärast rakenduse konfigureerimist ja kompileerimist nende võtmetega lingitakse see teegiga <filename +>libqpe.so</filename +>. See rakenduse versioon tavaliselt ei tööta X11 tingimustes. Selle testimiseks käivita see programmiga <application +>qvfb</application +> (&Qt; virtuaalne kaadripuhver). Selleks käivita <application +>qvfb</application +> ja seejärel oma rakendus käsuga </para> + +<screen +><command +>rakendus <option +>-qws</option +> <option +>-display QVFb:0</option +></command +></screen> + +<para +>Kui sul on rakenduse toimiv versioon, soovid seda mõistagi sihtprotsessoril kasutada. Selleks on ilmselt kõige mõistlikum luua mitu ehitamisseadistust, nagu eespool selgitatud, et saaksid kiiresti lülituda oma süsteemile ning sihtsüsteemile ehitatud versioonide vahel. </para> + +<para +>&qte; jaoks loodud rakendused töötavad tavaliselt üksikrakendusena seadmes, millele nad on mõeldud. Trolltech toetab ka Qtopiat ehk rakendustekogu personaalse info haldamiseks, veebi lehitsemiseks ja veel mitmeks asjaks, mis töötavad kooskõlastatult üheskoos. See on näiteks Sharp Zauruse standardkeskkond. Sa võid kirjutada Qtopia arenduskomplekti (SDK) abil rakendusi, mis sobituvad sellesse keskkonda. See tähendab sinu rakenduse klassi muutmist klassi <classname +>QPEApplication</classname +> alamklassiks ja linkimist teegiga <filename +>libqpe.so</filename +>. Kui töötad oma rakendust välja automaatse projektihalduse abil, tuleb konfigureerimisvõtmete sekka lisada <option +>--enable-qtopia</option +>. </para> + +</sect1 +> <!-- qtembedded --> + +</chapter +> <!-- adv-build-management --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/app-changelog.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/app-changelog.docbook new file mode 100644 index 00000000000..29672adfe04 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/app-changelog.docbook @@ -0,0 +1,87 @@ +<appendix id="app-changelog"> +<title +>Muudatused</title> +<sect1 id="changes"> +<title +>Käesoleva dokumendi muudatused</title> + +<itemizedlist> + <listitem> + <para +>03.01.2003: Bernd Gehrmann, Caleb Tennis <itemizedlist> + <listitem> + <para +>Käsiraamatu esmane koostamine</para> + </listitem> + <listitem> + <para +>paljude peatükkide sisu visandamine</para> + </listitem> + </itemizedlist> + </para> + </listitem> + + + <listitem> + <para +>01.08.2004: Bernd Pol, Ian Wadham <itemizedlist> + <listitem> + <para +>käsiraamatu kerge ümberkorraldamine</para> + </listitem> + <listitem> + <para +>mõne puuduva peatüki kirjutamine</para> + </listitem> + </itemizedlist> + </para> + </listitem> + + <listitem> + <para +>02.05.2005 Palju muudatusi Volker Paulilt, sealhulgas: <itemizedlist> + <listitem> + <para +>jagamine failideks peatükkide/lisade kaupa</para> + </listitem> + <listitem> + <para +>lisatud käskude seletused menüüde kaupa (kirjeldused pole veel lõpetatud)</para> + </listitem> + <listitem> + <para +>Rakenduse nõustaja õppematerjal failis getting-started.docbook</para> + </listitem> + <listitem> + <para +>Peatükkide ümberkorraldamine Konquerori käsiraamatu eeskujul</para> + </listitem> + <listitem> + <para +>Paigaldamise, UNIX-i arendamise ajaloo ja nõuannete paigutamine lisasse</para> + </listitem> + <listitem> + <para +>Pluginate lisa ümberkirjutamine, sh. pluginate nimekiri skriptiga listplugins.sh </para> + </listitem> + </itemizedlist> + </para> + <para +>Pole veel kaugeltki valmis, aga väike samm suurde tulevikku on astutud.</para> + </listitem> + + <listitem> + <para +>20.05.2006: Bernd Pol — mõningate <quote +>veel kirjutamata</quote +> aukude täitmine:</para> + </listitem> + +</itemizedlist> + +</sect1 +> <!-- changes --> +</appendix +> <!-- app-changelog --> + +<!-- ====================================================================== --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/app-files.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/app-files.docbook new file mode 100644 index 00000000000..493c11afa02 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/app-files.docbook @@ -0,0 +1,1684 @@ +<appendix id="app-files"> +<!-- LWatts (2005-04-30): A lot of this might be better as variable lists, --> +<!-- but it's not that big a deal. Something to be done only when there's --> +<!-- a lot of textual changes needed here (e.g., maybe never ) --> + +<appendixinfo> + <authorgroup> + <author +><firstname +>Bernd</firstname +><surname +>Pol</surname +></author> + <!-- ROLES_OF_TRANSLATORS --> + </authorgroup> +</appendixinfo> + +<title +>&kdevelop;i konfiguratsioonifailid</title> + +<para +>&kdevelop; kasutab mitmeid konfiguratsioonifaile, mis paiknevad erinevates kataloogides. Üldjoontes jagunevad konfiguratsioonifailid kaheks: </para> +<simplelist> + <member +><link linkend="app-files-default" +>&kdevelop;i vaikekonfiguratsioon</link +> — failid, mis luuakse &kdevelop;i paigaldamisel. </member> + <member +><link linkend="app-files-user" +>Kasutaja konfiguratsioon</link +> — failid, mis sisaldavad kasutaja tehtud muudatusi vaikeväärtustesse, samuti seadistusi, mida on teinud &kdevelop; ise ja selle pluginad. </member> +</simplelist> + +<sect1 id="app-files-default"> +<title +>&kdevelop;i vaikekonfiguratsioon</title> + +<para +>Paigaldamisel kirjutab &kdevelop; mõned seadistamiseks mõeldud vaikefailid paigalduskataloogi <filename class="directory" +>$<envar +>KDEDIR</envar +></filename +> (tavaliselt <filename class="directory" +>/opt/kde</filename +>, <filename class="directory" +>/usr/local/kde</filename +> või mõni kasutaja määratud kataloog - vaata osa <link linkend="kdevelop-install" +>&kdevelop;i paigaldamine</link +>) alamkataloogidesse. </para> + +<sect2 id="app-files-default-config"> +<title +>&kdevelop;i vaikekonfiguratsioon</title> + +<para +>Kataloogis <filename class="directory" +>$<envar +>KDEDIR</envar +>/share/config/</filename +> on ainult üks &kdevelop;i spetsiiline vaikekonfiguratsioonifail: </para> +<variablelist> + <varlistentry> + <term +><filename +>kdeveloprc</filename +></term> + <listitem +><para +>See fail sisaldab põhiseadistusi, mida &kdevelop; vajab käivitumisel. See kopeeritakse kasutaja kataloogi <filename class="directory" +>$<envar +>KDEHOME</envar +>/share/config</filename +>, kui &kdevelop; ei leia sealt käivitumisel juba eest faili <filename +>kdeveloprc</filename +>. </para +></listitem> + </varlistentry> +</variablelist> + +</sect2 +> <!-- app-files-default-config --> + +<sect2 id="app-files-default-apps"> +<title +>Rakenduste spetsiifilised vaikeväärtused</title> + +<para +>Enamiku &kdevelop;i omadusi annab KParts. Need on põhimõtteliselt rakendused, mis on spetsiaalselt kujundatud töötama &kdevelop;i raamistikus (vaata ülevaadet lisas <link linkend="plugin-tools" +>Pluginatööriistad</link +>). Igal KPart-rakendusel on omaenda konfiguratsioonifailid, mille vaikeväärtused on salvestatud paigalduskataloogi <filename class="directory" +>$<envar +>KDEDIR</envar +>/share/apps/</filename +> alamkataloogidesse. </para> + +<para +>Kataloogis <filename class="directory" +>$<envar +>KDEDIR</envar +>/share/apps/</filename +> on üsna palju vaikekonfiguratsiooni alamkatalooge, mille nime alguses seisab <filename +>kdev</filename +>. Enamik neist on mõeldud kasutamiseks ainult &kdevelop;i raames. Neid võib rühmitada mitmeti, näiteks nii: <simplelist> + <member +><link linkend="app-files-default-apps-stdalone" +>Autonoomsed rakendused</link +></member> + <member +><link linkend="app-files-default-apps-task" +>Ülesandepõhised komponendid</link +></member> + <member +><link linkend="app-files-default-apps-project" +>Projekti genereerimise komponendid</link +></member> + <member +><link linkend="app-files-default-apps-lang" +>Keelepõhised komponendid</link +></member> +</simplelist> +</para> + +<itemizedlist> + <listitem id="app-files-default-apps-stdalone" +><itemizedlist> + <title +>Autonoomsed rakendused</title> + <listitem> + <para +><filename class="directory" +>kdevelop/</filename +> — sisaldab &kdevelop;i &IDE; seadistustefaile:</para> + <itemizedlist> + <listitem +><para +><filename class="directory" +>licenses/</filename +> — sisaldab mitmesuguseid litsentse.</para +></listitem> + <listitem +><para +><filename class="directory" +>pics/</filename +> — pildifaile, mida kasutavad &kdevelop;i, &kdevelop;i abilise ja &kdevelop;i disaineri käivituslogod.</para +></listitem> + <listitem +><para +><filename class="directory" +>profiles/</filename +> — sisaldab pluginate profiilide vaikeseadistusi (praegu on seal ainult <filename +>tiny</filename +> profiil, mis määratleb minimaalse &kdevelop;i aktiivsete pluginate kogumi).</para +></listitem> + <listitem +><para +><filename +>eventsrc</filename +> — sisaldab rea <quote +>Protsess oli edukas</quote +> lokaliseerimisstringe.</para +></listitem> + <listitem +><para +><filename +>kdevelopui.rc</filename +> — tagab &kdevelop;ile põhilised menüü- ja tööriistaribakirjed.</para +></listitem> + <listitem +><para +><filename +>kdevhtml_partui.rc</filename +> — tagab kirje <guimenuitem +>Trüki...</guimenuitem +> menüüs <guimenu +>Fail</guimenu +>, kirje <guimenuitem +>Kopeeri</guimenuitem +> menüüs <guimenu +>Redigeerimine</guimenu +> ning nooled <guilabel +>Tagasi</guilabel +> ja <guilabel +>Edasi</guilabel +> <guilabel +>sirvimisriba</guilabel +>l, kui <guilabel +>dokumentatsioon</guilabel +>ipluginaga sirvitakse &HTML;-faili.</para +></listitem> + </itemizedlist> + </listitem> + <listitem +><para +><filename class="directory" +>kdevassistant/</filename +> — tagab autonoomse &kdevelop;i abilise dokumentatsioonisirvija menüüriba ja tööriistaribad.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevdesigner/</filename +> ja <filename class="directory" +>kdevdesignerpart/</filename +> — tagavad autonoomse &kdevelop;i kasutajaliidese disaineri menüüriba ja tööriistaribad.</para +></listitem> + </itemizedlist +></listitem> + + <listitem +><itemizedlist id="app-files-default-apps-task"> + <title +>Ülesandepõhised komponendid</title> + <listitem id="app-files-default-abbrev"> + <para +><filename class="directory" +>kdevabbrev/</filename +> — sisaldab faile, mida kasutab <guilabel +>lühendite avamise</guilabel +> plugin:</para> + <itemizedlist> + <listitem +><para +><filename class="directory" +>sources/</filename +> — sisaldab võtmesõnade definitsioonifaile, mida kasutab käsk <guilabel +>Laienda tekst</guilabel +>.</para +></listitem> + <listitem +><para +><filename class="directory" +>templates/</filename +> — sisaldab mallide definitsioonifaile, mida kasutab käsk <guilabel +>Laienda lühendit</guilabel +>.</para +></listitem> + <listitem +><para +><filename +>kdevabbrev.rc</filename +> — tagab kirjed <guimenuitem +>Laienda tekst</guimenuitem +> ja <guimenuitem +>Laienda lühendit</guimenuitem +> menüüs <guimenu +>Redigeerimine</guimenu +>.</para +></listitem> +</itemizedlist> + </listitem> + <listitem id="app-files-default-appwizard"> + <para +><filename class="directory" +>kdevappwizard/</filename +> — sisaldab faile, mida kasutab &appwizard; komponent:</para> + <itemizedlist> + <listitem +><para +><filename class="directory" +>importfiles/</filename +> — sisaldab <filename +>.kdevelop</filename +>-projektifaile, mis kontrollivad uue projekti initsialiseerimist.</para +></listitem> + <listitem +><para +><filename class="directory" +>imports/</filename +> — sisaldab malle, mille põhjal luuakse projektipõhised <filename +>.desktop</filename +>-failid.</para +></listitem> + <listitem +><para +><filename class="directory" +>template-common/</filename +> — sisaldab mitmesuguseid faile, mis kaasatakse projekti lähtekoodikataloogidesse.</para +></listitem> + <listitem +><para +><filename class="directory" +>templates/</filename +> — sisaldab konfiguratsioonifaile, mis kirjeldavad antud projekti lähtekoodikataloogi kaasatavat infot.</para +></listitem> + <listitem +><para +><filename +>*.png</filename +> — projektide eelvaatluse pildid, mida kasutab &appwizard;.</para +></listitem> + <listitem +><para +><filename +>*.tar.gz</filename +> — pakitud failid, mis sisaldavad uude loodud projektikataloogi kaasatavaid lähtekoodifaile.</para +></listitem> + </itemizedlist> + </listitem> + <listitem +><para +><filename class="directory" +>kdevastyle/</filename +> — tagab kirje <guimenuitem +>Vorminda lähtetekst uuesti</guimenuitem +> menüüs <guimenu +>Redigeerimine</guimenu +>.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevautoproject/</filename +> — tagab enamiku kirjeid menüüs <guimenu +>Ehitamine</guimenu +> ja tööriistaribal <guilabel +>Ehitamisriba (&kdevelop;)</guilabel +>.</para +></listitem> + <listitem> + <para +><filename class="directory" +>kdevclassview/</filename +> — sisaldab faile, mida kasutab <guilabel +>klassivaate</guilabel +> projektiplugin:</para> + <itemizedlist> + <listitem +><para +><filename class="directory" +>pics/</filename +> — sisaldab ikoone, mida kasutab klassivaate puu <guilabel +>Klassid</guilabel +>.</para +></listitem> + <listitem +><para +><filename +>kdevclassview.tc</filename +> — tagab kirje <guimenuitem +>Klassipärilusskeem</guimenuitem +> menüüs <guimenu +>Projektid</guimenu +> ning klasside liikumiskasti <guilabel +>sirvimisriba</guilabel +>l.</para +></listitem> + </itemizedlist> + </listitem> + <listitem +><para +><filename class="directory" +>kdevcloser/</filename +> — tagab menüü <guimenu +>Aken</guimenu +> sulgemiskirjed.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevctags/</filename +> — tagab kirje <guimenuitem +>CTags</guimenuitem +> menüüs <guimenu +>Tööriistad</guimenu +> <guilabel +>CTagsi kasutajaliides</guilabel +>e projektiplugina jaoks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevcvsservice/</filename +> — tagab ikooni, mida kasutab kaart <guilabel +>CvsService</guilabel +> ja lühikese shelliskripti uue kirje lisamiseks &cvs;-i hoidlasse, mida mõlemat kasutab <guilabel +>CVS põimimise</guilabel +> projektiplugin.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevdebugger/</filename +> — tagab menüü <guimenu +>Silumine</guimenu +> kirjed <guilabel +>Siluriliides</guilabel +>e projektipluginale.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevdiff/</filename +> — tagab kirje <guimenuitem +>Erinevuste näitaja</guimenuitem +> menüüs <guimenu +>Tööriistad</guimenu +>.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevdistpart/</filename +> — tagab kirje <guimenuitem +>Pakkimine ja avaldamine</guimenuitem +> menüüs <guimenu +>Projekt</guimenu +> <guilabel +>lõpp-pakendamise toetus</guilabel +>e projektipluginale.</para +></listitem> + <listitem id="app-files-default-kdevdoc"> + <para +><filename class="directory" +>kdevdocumentation/</filename +> — sisaldab faile, mida kasutab <guilabel +>dokumentatsioon</guilabel +>iplugin:</para> + <itemizedlist> + <listitem +><para +><filename class="directory" +>en/</filename +> ja <filename class="directory" +>pics/</filename +> — sisaldavad faile, mida kasutab otsingutööriist <application +>htdig</application +>.</para +></listitem> + <listitem +><para +><filename class="directory" +>tocs/</filename +> — sisaldab vaikimisi &kdevelop;i dokumentatsiooni sisu kirjeldusfaile (vaata nende kirjeldust osas <link linkend="toc-file-structure" +>&kdevelop;i TOC-failide põhistruktuur</link +>).</para +></listitem> + <listitem +><para +><filename +>kdevpart_documentation.rc</filename +> — tagab otsinguga seotud kirjed menüüs <guimenu +>Abi</guimenu +>.</para +></listitem> + </itemizedlist> + </listitem> + <listitem +><para +><filename class="directory" +>kdevdoxygen/</filename +> — tagab menüükirjed <guilabel +>Doxygeni toetus</guilabel +>e projektipluginale.</para +></listitem> + <listitem id="app-files-default-filecreate"> + <para +><filename class="directory" +>kdevfilecreate/</filename +> — sisaldab faile, mida kasutab <guilabel +>uue faili nõustaja</guilabel +>: <itemizedlist> + <listitem +><para +><filename class="directory" +>file-templates/</filename +> — tagab esialgse teksti, mis seisab antud tüüpi uues lähtekoodifailis.</para +></listitem> + <listitem +><para +><filename +>kdevpart_filecreate.rc</filename +> — tagab kirje <guimenuitem +>Uus</guimenuitem +> menüüs <guimenu +>Fail</guimenu +>.</para +></listitem> + <listitem +><para +><filename +>template-info.xml</filename +> — sisaldab saadaolevate failitüüpide kirjeldusi, mida näitab tööriistavaade <guilabel +>Uus fail</guilabel +>.</para +></listitem> + </itemizedlist> + </para +></listitem> + <listitem +><para +><filename class="directory" +>kdevfilter/</filename +> — tagab kirjed <guimenuitem +>Käivita käsk...</guimenuitem +> ja <guimenuitem +>Filtreeri valik läbi käsu...</guimenuitem +> menüüs <guimenu +>Tööriistad</guimenu +> <guilabel +>shellifiltrite ja lisamise</guilabel +> pluginale.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevfullscreen/</filename +> — tagab kirje <guimenuitem +>Täisekraanirežiim</guimenuitem +> menüüs <guimenu +>Vaade</guimenu +> ja vastava tööriistariba ikooni.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevgrepview/</filename +> — tagab kirje <guimenuitem +>Otsi failidest...</guimenuitem +> menüüs <guimenu +>Redigeerimine</guimenu +> <guilabel +>Grepi kasutajaliides</guilabel +>e pluginale.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevhistory/</filename +> — tagab kirjed <guimenuitem +>Tagasi</guimenuitem +> ja <guimenuitem +>Edasi</guimenuitem +> menüüs <guimenu +>Vaade</guimenu +>.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevjavadebugger/</filename +> — tagab menüü <guimenu +>Java silumine</guimenu +> &Java; rakenduse silumiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevoutputviews/</filename +> — tagab kirjed <guimenuitem +>Järgmine viga</guimenuitem +> ja <guimenuitem +>Eelmine viga</guimenuitem +> menüüs <guimenu +>Vaade</guimenu +>.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevpartexplorer/</filename +> — tagab kirje <guimenuitem +>Komponentide näitaja</guimenuitem +> menüüs <guimenu +>Tööriistad</guimenu +> <guilabel +>komponentide näitaja</guilabel +> pluginale.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevquickopen/</filename +> — tagab kirje <guimenuitem +>Ava kiiresti fail..</guimenuitem +> menüüs <guimenu +>Fail</guimenu +> ning kirjed <guimenuitem +>Ava kiiresti klass...</guimenuitem +> ja <guimenuitem +>Ava kiiresti meetod</guimenuitem +> menüüs <guimenu +>Tööriistad</guimenu +> <guilabel +>kiiravamise</guilabel +> projektipluginale.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevregexptest/</filename +> — tagab kirje <guimenuitem +>Regulaaravaldise silumine...</guimenuitem +> menüüs <guimenu +>Tööriistad</guimenu +> <guilabel +>regulaaravaldiste testija</guilabel +> pluginale.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevreplace/</filename +> — tagab kirje <guimenuitem +>Otsimine/valimine/asendamine...</guimenuitem +> menüüs <guimenu +>Redigeerimine</guimenu +> <guilabel +>asendamise komponendid</guilabel +> pluginale.</para +></listitem> + <listitem id="app-files-default-tips" +><para +><filename class="directory" +>kdevtipofday/</filename +> — tagab kirje <guimenuitem +>Päeva nõuanne</guimenuitem +> menüüs <guimenu +>Abi</guimenu +> ning vastavaid nõuandeid sisaldava HTML-faili.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevtools/</filename +> — määratleb mitmesuguseid menüükirjeid, mis luuakse <guimenu +>tööriistade menüü</guimenu +> ja <guilabel +>väliste tööriistade menüü</guilabel +> seadistustega, mida pakub <guilabel +>tööriistade menüü lisamise</guilabel +> plugin.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevvalgrind/</filename +> — tagab kirjed <guimenuitem +>Valgrind - mälulekete kontroll</guimenuitem +> ja <guimenuitem +>Profiil KCachegrindiga</guimenuitem +> menüüs <guimenu +>Silumine</guimenu +> <guilabel +>Valgrindi kasutajaliides</guilabel +>e pluginale.</para +></listitem> + </itemizedlist +></listitem> + + <listitem +><itemizedlist id="app-files-default-apps-project"> + <title +>Projekti genereerimise komponendid</title> + <listitem +><para +><filename class="directory" +>kdevadaproject/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> ja vastavad tööriiistariba ikoonid Ada rakenduse ehitamiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevantproject/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +>, kui kasutatakse ANT projekti generaatorit.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevautoproject/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> ja vastavad tööriiistariba ikoonid, kui töötatakse &GNU; tööriistadel põhineva &automake;'i projekti generaatoriga. Lisaks tagab kirjed <guimenuitem +>Lisa tõlge</guimenuitem +> ja <guimenuitem +>Ehitamise seadistused</guimenuitem +> menüüs <guimenu +>Projekt</guimenu +>.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevcustomproject/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> ja vastavad tööriiistariba ikoonid, kui projekti aluseks on kohandatud Makefile'id.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevgenericproject/</filename +> — sisaldab menüüdefinitsioone eksperimentaalsele üldise projekti generaatorile. Praegu (versioon 3.1.0) pole kasutusel.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevhaskellproject/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> ja vastavad tööriiistariba ikoonid Haskelli rakenduse ehitamiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevpascalproject/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> ja vastavad tööriiistariba ikoonid Pascali rakenduse ehitamiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevtrollproject/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> ja vastavad tööriiistariba ikoonid rakenduse ehitamiseks, mis kasutab &Qt; QMake'i projektihaldurit.</para +></listitem> + </itemizedlist +></listitem> + + <listitem +><itemizedlist id="app-files-default-apps-lang"> + <title +>Keelepõhised komponendid</title> + <listitem +><para +><filename class="directory" +>kdevadasupport/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> ja vastavad tööriiistariba ikoonid Ada rakenduste arendamiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevbashsupport/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> ja vastavad tööriiistariba ikoonid Bashi skriptide arendamiseks.</para +></listitem> + <listitem id="app-files-default-apps-lang-cpp"> + <para +><filename class="directory" +>kdevcppsupport/</filename +> — sisaldab faile, mida &appwizard; kasutab C++ rakenduste ehitamiseks:</para> + <itemizedlist> + <listitem +><para +><filename class="directory" +>newclass/</filename +> — sisaldab päise- ja lähtekoodifailide malle, mille põhjal &appwizard; ehitab vastavad lähtekoodifailid.</para +></listitem> + <listitem +><para +><filename class="directory" +>subclassing/</filename +> — sisaldab malle, mille põhjal &appwizard; loob lähtekoodifailides esialgsed klasside deklaratsioonid/definitsioonid.</para +></listitem> + <listitem +><para +><filename class="directory" +>templates</filename +> — sisaldab malle, mille põhjal &appwizard; loob vaikimisi päise- ja lähtekoodifailide mallid, mida kasutab &nfwizard;. </para +></listitem> + <listitem +><para +><filename +>configuration</filename +> — libamall makrode lisamiseks.</para +></listitem> + <listitem +><para +><filename +>kdevcppsupport.rc</filename +> — tagab kirjed <guimenuitem +>Lõpeta tekst</guimenuitem +> ja <guimenuitem +>Ehita liige</guimenuitem +> menüüs <guimenu +>Redigeerimine</guimenu +>, kirje <guimenuitem +>Lülita päise/teostusfail</guimenuitem +> menüüs <guimenu +>Vaade</guimenu +>, kirje <guimenuitem +>Uus klass</guimenuitem +> menüüs <guimenu +>Projekt</guimenu +> ning ikooni <guiicon +>Uus klass</guiicon +> <guilabel +>sirvimisriba</guilabel +>l.</para +></listitem> + </itemizedlist> + </listitem> + <listitem +><para +><filename class="directory" +>kdevfortransupport/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> Fortrani rakenduste arendamiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevhaskellsupport/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> ja vastavad tööriiistariba ikoonid Haskelli rakenduste arendamiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevjavasupport/</filename +> — sisaldab UI definitsiooni &Java; rakenduste arendamiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevpascalsupport/</filename +> — sisaldab UI definitsiooni Pascali rakenduste arendamiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevperlsupport/</filename +> — tagab kirjed menüüs <guimenu +>Projekt</guimenu +> ja <guimenu +>Abi</guimenu +> Perli skriptide arendamiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevphpsupport/</filename +> — sisaldab UI ja PHP funktsioonide definitsioonifaile PHP skriptide arendamiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevpythonsupport/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> ja <guimenu +>Abi</guimenu +> ning vastavad tööriistariba ikoonid Pythoni skriptide arendamiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevrubysupport/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> ja vastavad tööriistariba ikoonid Ruby skriptide arendamiseks.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevscriptproject/</filename +> — tagab UI definitsioonid kohandatud projektide arendamiseks. Praegu (versioon 3.1.0) pole kasutusel.</para +></listitem> + <listitem +><para +><filename class="directory" +>kdevsqlsupport/</filename +> — tagab UI definitsioonid SQL projektide arendamiseks. Praegu (versioon 3.1.0) pole kasutusel.</para +></listitem> + </itemizedlist +></listitem> + +</itemizedlist> + +</sect2 +> <!-- app-files-default-apps --> + +</sect1 +> <!-- app-files-default --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="app-files-user"> +<title +>Kasutaja konfiguratsioon</title> + +<para +>Kõik kasutaja defineeritud seadistused leiduvad kahes kataloogi <filename class="directory" +>$<envar +>KDEHOME</envar +></filename +> alamkataloogis: <simplelist> + <member +><link linkend="app-files-user-apps" +>Rakendusepõhine konfiguratsioon</link +> kataloogis <filename class="directory" +>$<envar +>KDEHOME</envar +>/share/apps/</filename +> ja</member> + <member +><link linkend="app-files-user-config" +>Resssurside konfiguratsioonifail</link +> kataloogis <filename class="directory" +>$<envar +>KDEHOME</envar +>/share/config/</filename +>.</member> +</simplelist> +</para> + +<sect2 id="app-files-user-apps"> +<title +>Rakendusepõhise konfiguratsioon</title> + +<para +>Kõik kasutaja tehtud muudatused <link linkend="app-files-default" +>&kdevelop;i vaikekonfiguratsiooni</link +> ning kasutaja spetsiifilised seadistused, mis ei paikne üheski <link linkend="app-files-user-config" +>ressursside konfiguratsioonifailis</link +>, leiduvad kataloogi <filename class="directory" +>$<envar +>KDEHOME</envar +>/share/apps/</filename +> alamkataloogides <filename +>kdev...</filename +> </para> +<para +>Enamikku neist konfiguratsioonifailidest kasutavad mitmesugused &kdevelop;i pluginad spetsiifiliste menüü- ja/või tööriistaribakirjete tagamiseks. Sestap pakuvad nad enamasti huvi ainult siis, kui midagi on kasutajaliidesega väga valesti. </para> +<note +><para +>Sageli peegeldavad need kataloogid vaid vaikekonfiguratsiooni, sest &kdevelop; kopeerib need esmakäivitamisel kataloogist <filename class="directory" +>$<envar +>KDEDIR</envar +>/apps/</filename +> kataloogi <filename class="directory" +>$<envar +>KDEHOME</envar +>/apps/</filename +>. Kõik edasised muudatused tehakse ainult kopeeritud failidesse, nii et vaikekonfiguratsioon jääb iseenesest puutumatuks. </para +></note> + +<itemizedlist> + <listitem> + <para +><filename class="directory" +>kdevabbrev/</filename +> — sisaldab faile, mida kasutab <guilabel +>lühendite avamise</guilabel +> plugin:</para> + <itemizedlist> + <listitem +><para +><filename class="directory" +>sources/</filename +> — praegu tühi. &kdevelop; kasutab <link linkend="app-files-default-abbrev" +>vaikimisi võtmesõnade definitsioonide</link +> faile käsu <guilabel +>Laienda tekst</guilabel +> jaoks.</para +></listitem> + <listitem +><para +><filename class="directory" +>templates/</filename +> — sisaldab kasutaja muudetud malli definitsioonifaile, mida kasutab käsk <guilabel +>Laienda lühendit</guilabel +>.</para +></listitem> + <listitem +><para +><filename +>kdevabbrev.rc</filename +> — tagab kirjed <guimenuitem +>Laienda tekst</guimenuitem +> ja <guimenuitem +>Laienda lühendit</guimenuitem +> menüüs <guimenu +>Redigeerimine</guimenu +>.</para +></listitem> + </itemizedlist +> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevappwizard/</filename +> — tagab ainult kirjed <guimenuitem +>Uus projekt...</guimenuitem +> ja <guimenuitem +>Impordi olemasolev projekt...</guimenuitem +> menüüs <guimenu +>Projekt</guimenu +>. &appwizard; kasutab tegelikus töös <link linkend="app-files-default-appwizard" +>vaikekonfiguratsiooni</link +>.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevastyle/</filename +> — tagab kirje <guimenuitem +>Vorminda lähtetekst uuesti</guimenuitem +> menüüs <guimenu +>Redigeerimine</guimenu +>.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevautoproject/</filename +> — tagab kirjed menüüs <guimenu +>Ehitamine</guimenu +> ja tööriistaribal <guilabel +>Ehitusriba (KDevelop)</guilabel +>.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevclassview/</filename +> — tagab kirje <guimenuitem +>Klassipärilusskeem</guimenuitem +> menüüs <guimenu +>Projekt</guimenu +> ning klassisirvija liitkasti <guilabel +>sirvimisriba</guilabel +>l <guilabel +>klassivaate</guilabel +> projektipluginale.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevcloser/</filename +> — tagab kirje <guimenuitem +>Sulge valitud aknad...</guimenuitem +> menüüs <guimenu +>Aken</guimenu +>.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevcppsupport/</filename +> — sisaldab konfiguratsiooni, mida &appwizard; kasutab C++ rakenduste ehitamiseks. &appwizard; hangib siiski põhiosa konfiguratsiooniinfost <link linkend="app-files-default-apps-lang-cpp" +>vaikekonfiguratsiooni kataloogist</link +> (täpsema info nägemiseks klõpsa lingile).</para> + <itemizedlist> + <listitem> + <para +><filename class="directory" +>newclass/</filename +> — sisaldab päise- ja lähtekoodifailide malle, mille põhjal &appwizard; ehitab vastavad lähtekoodifailid.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>pcs/</filename +> — sisaldab andmebaasifaile, mida &kdevelop; kasutab &kde; C++ projekti püsiva klassihoidla faili (<filename +>.pcs</filename +>) ehitamiseks.</para> + </listitem> + <listitem> + <para +><filename +>kdevcppsupport.rc</filename +> — tagab kirjed <guimenuitem +>Lõpeta tekst</guimenuitem +> ja <guimenuitem +>Ehita liige</guimenuitem +> menüüs <guimenu +>Redigeerimine</guimenu +>, kirje <guimenuitem +>Lülita päise/teostusfail</guimenuitem +> menüüs <guimenu +>Vaade</guimenu +>, kirje <guimenuitem +>Uus klass</guimenuitem +> menüüs <guimenu +>Projekt</guimenu +> ning ikooni <guiicon +>Uus klass</guiicon +> <guilabel +>sirvimisriba</guilabel +>l.</para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevctags/</filename +> — tagab kirje <guimenuitem +>CTags</guimenuitem +> menüüs <guimenu +>Tööriistad</guimenu +> <guilabel +>CTagsi kasutajaliides</guilabel +>e projektiplugina jaoks.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevdebugger/</filename +> — tagab menüü <guimenu +>Silumine</guimenu +> kirjed <guilabel +>Siluriliides</guilabel +>e projektipluginale.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevdiff/</filename +> — tagab kirje <guimenuitem +>Erinevuste näitaja</guimenuitem +> menüüs <guimenu +>Tööriistad</guimenu +>.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevdocumentation/</filename +> — sisaldab faile, mida <guilabel +>dokumentatsioon</guilabel +>iplugin kasutab lisaks <link linkend="app-files-default-kdevdoc" +>vaikekonfiguratsiooni failidele</link +> (täpsema info nägemiseks klõpsa lingile).</para> + <para +>Kataloogi <filename class="directory" +>kdevdocumentation/</filename +> alamkataloogides paikneb tegelik dokumentatsiooniinfo. Loodud dokumentatsioonifailid asuvad kataloogis <filename class="directory" +>$<envar +>KDEHOME</envar +>/share/config/</filename +> failides <link linkend="app-files-user-config-doc" +> <quote +><filename +>doc...pluginrc</filename +></quote +></link +>.</para> + <itemizedlist> + <listitem> + <para +><filename class="directory" +>bookmarks/</filename +> — tagab kirjed &kdevelop;i <guilabel +>dokumentatsioon</guilabel +>iplugina kaardil <guilabel +>Järjehoidjad</guilabel +>.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>index/</filename +> — sisaldab mitmeid puhvrifaile, mida &kdevelop; kasutab indekseeritud dokumentatsiooniotsingu kiirendamiseks <guilabel +>dokumentatsioon</guilabel +>iplugina kaardil <guilabel +>Indeks</guilabel +>.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>search/</filename +> — sisaldab faile, mida kasutab otsingutööriist <application +>htdig</application +>, mis tegeleb <guilabel +>dokumentatsioon</guilabel +>iplugina kaardi <guilabel +>Otsing</guilabel +> otsinguväljakutsetega.</para> + </listitem> + <listitem> + <para +><filename +>kdevpart_documentation.rc</filename +> — tagab otsinguga seotud kirjed menüüs <guimenu +>Abi</guimenu +>.</para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevdoxygen/</filename +> — tagab menüükirjed <guilabel +>Doxygeni toetus</guilabel +>e projektipluginale.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevelop/</filename +> — sisaldab mitmeid seadistusi, mida &kdevelop; kasutab:</para> + <itemizedlist> + <listitem +><para +><filename class="directory" +>profiles/</filename +> — tagab pluginate profiiliseadistused (algselt on seal ainult profiil <filename +>FullIDE</filename +>, mis määratleb kõik algselt aktiivsed &kdevelop;i pluginad).</para +></listitem> + <listitem +><para +><filename +>kdevelopui.rc</filename +> — tagab &kdevelop;ile põhilised menüü- ja tööriistaribakirjed.</para +></listitem> + </itemizedlist> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevfilecreate/</filename +> — sisaldab faile, mida kasutab <guilabel +>uue faili nõustaja</guilabel +>:</para> + <itemizedlist> + <listitem +><para +><filename class="directory" +>file-templates/</filename +> — tagab sisu, mis lisatakse antud tüüpi uutesse lähtekoodifailidesse. Rohkem failimalle leiab <link linkend="app-files-default-filecreate" +>vaikekonfiguratsioonifailide</link +> kataloogist.</para +></listitem> + <listitem +><para +><filename +>kdevpart_filecreate.rc</filename +> — tagab kirje <guimenuitem +>Uus</guimenuitem +> menüüs <guimenu +>Fail</guimenu +>.</para +></listitem> + <listitem +><para +><filename +>template-info.xml</filename +> — sisaldab saadaolevate failitüüpide kirjeldusi, mida näitab tööriistavaade <guilabel +>Uus fail</guilabel +>.</para +></listitem> + </itemizedlist> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevfilter/</filename +> — tagab kirjed <guimenuitem +>Käivita käsk...</guimenuitem +> ja <guimenuitem +>Filtreeri valik läbi käsu...</guimenuitem +> menüüs <guimenu +>Tööriistad</guimenu +> <guilabel +>shellifiltrite ja lisamise</guilabel +> pluginale.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevfullscreen/</filename +> — tagab kirje <guimenuitem +>Täisekraanirežiim</guimenuitem +> menüüs <guimenu +>Vaade</guimenu +> ja vastava tööriistariba ikooni.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevgrepview/</filename +> — tagab kirje <guimenuitem +>Otsi failidest...</guimenuitem +> menüüs <guimenu +>Redigeerimine</guimenu +> <guilabel +>Grepi kasutajaliides</guilabel +>e pluginale.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevoutputviews/</filename +> — tagab kirjed <guimenuitem +>Järgmine viga</guimenuitem +> ja <guimenuitem +>Eelmine viga</guimenuitem +> menüüs <guimenu +>Vaade</guimenu +>.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevpartexplorer/</filename +> — tagab kirje <guimenuitem +>Komponentide näitaja</guimenuitem +> menüüs <guimenu +>Tööriistad</guimenu +> <guilabel +>komponentide näitaja</guilabel +> pluginale.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevquickopen/</filename +> — tagab kirje <guimenuitem +>Ava kiiresti fail..</guimenuitem +> menüüs <guimenu +>Fail</guimenu +> ning kirjed <guimenuitem +>Ava kiiresti klass...</guimenuitem +> ja <guimenuitem +>Ava kiiresti meetod</guimenuitem +> menüüs <guimenu +>Tööriistad</guimenu +> <guilabel +>kiiravamise</guilabel +> projektipluginale.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevregexptest/</filename +> — tagab kirje <guimenuitem +>Regulaaravaldise silumine...</guimenuitem +> menüüs <guimenu +>Tööriistad</guimenu +> <guilabel +>regulaaravaldiste testija</guilabel +> pluginale.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevreplace/</filename +> — tagab kirje <guimenuitem +>Otsimine/valimine/asendamine...</guimenuitem +> menüüs <guimenu +>Redigeerimine</guimenu +> <guilabel +>asendamise komponendid</guilabel +> pluginale.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevtipofday/</filename +> — tagab kirje <guimenuitem +>Päeva nõuanne</guimenuitem +> menüüs <guimenu +>Abi</guimenu +>. Saadaolevaid nõuandeid sisaldav HTML-fail on saadaval ainult <link linkend="app-files-default-tips" +>vaikekonfiguratsioonifailina</link +>.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevtools/</filename +> — määratleb mitmesuguseid menüükirjeid, mis luuakse <guimenu +>tööriistade menüü</guimenu +> ja <guilabel +>väliste tööriistade menüü</guilabel +> seadistustega, mida pakub <guilabel +>tööriistade menüü lisamise</guilabel +> plugin.</para> + </listitem> + <listitem> + <para +><filename class="directory" +>kdevvalgrind/</filename +> — tagab kirjed <guimenuitem +>Valgrind - mälulekete kontroll</guimenuitem +> ja <guimenuitem +>Profiil KCachegrindiga</guimenuitem +> menüüs <guimenu +>Silumine</guimenu +> <guilabel +>Valgrindi kasutajaliides</guilabel +>e pluginale.</para> + </listitem> +</itemizedlist> + +</sect2 +> <!-- app-files-user-apps --> + +<sect2 id="app-files-user-config"> +<title +>Ressursside konfiguratsioonifailid</title> + +<para +>Kataloogis <filename class="directory" +>$<envar +>KDEHOME</envar +>/share/config/</filename +> on kaht tüüpi &kdevelop;i konfiguratsioonifaile, mida eristavad alguses ja lõpus seisvad sümbolid: <simplelist> + <member +><quote +><filename +>doc...pluginrc</filename +></quote +> on <link linkend="app-files-user-config-doc" +>failid, mida kasutab dokumentatsiooniplugin.</link +></member> + <member +><quote +><filename +>kdev...rc</filename +></quote +> on <link linkend="app-files-user-config-kdev" +>konfiguratsioonifailid, mida kasutab &kdevelop;</link +> ise ja selle saadaolevad pluginad.</member> +</simplelist> +</para> + +<itemizedlist id="app-files-user-config-kdev"> +<title +>&kdevelop;i konfiguratsioonifailid</title> + <listitem> + <para +><filename +>kdevabbrevrc</filename +> — sisaldab <guilabel +>lühendtie</guilabel +> konfiguratsiooni kehtivat olekut <guilabel +>lühendite laiendamise</guilabel +> pluginale.</para> + <note +><para +>See salvestab ainult selle, kas lühendeid kasutatakse või mitte. Uute lühendite definitsioonid ise asuvad failis <filename +>$<envar +>KDEHOME</envar +>/share/apps/kdevabbrev/templates/templates</filename +>.</para +></note> + </listitem> + <listitem> + <para +><filename +>kdevassistantrc</filename +> — sisaldab teatud autonoomsele &kdevelop;i abilise dokumentatsioonisirvijale spetsiifilisi konfiguratsiooniolekuid.</para> + <note +><para +>Enamik üldisi konfiguratsioonimääratlusi on ühised &kdevelop;i IDE failiga <filename +>kdeveloprc</filename +>.</para +></note> + </listitem> + <listitem +><para +><filename +>kdevassistantuimode4rc</filename +> — sisaldab autonoomse &kdevelop;i abilise dokumentatsioonisirvijale MDI kehtivaid konfiguratsiooniolekuid (dokkide positsioon &etc;).</para +></listitem> + <listitem> + <para +><filename +>kdevclassviewrc</filename +> — sisaldab klassisirvija kaardi <guilabel +>Klassid</guilabel +> <guilabel +>vaaterežiim</guilabel +>i seadistust <guilabel +>klassivaate</guilabel +> projektipluginale.</para> + <note +><para +>See on globaalne seadistus, ehkki <guilabel +>klassivaate</guilabel +> plugina saab projektis keelata. Kõik antud seadistuse muudatused uuendatakse globaalselt aktiivse projekti sulgemisel, mistõttu need mõjutavad kõiki edaspidi avatavaid projekte.</para +></note> + </listitem> + <listitem +><para +><filename +>kdevcppsupportrc</filename +> — sisaldab mõningaid seadistusi, mida kasutatakse CPP lähtekoodifailide loomisel. Eriti kuuluvad siia seadistused, mis määratakse dialoogis <guilabel +>C++ klassi generaator</guilabel +>.</para +></listitem> + <listitem +><para +><filename +>kdevdocumentationrc</filename +> — sisaldab seadistusi, mida kasutab <guilabel +>dokumentatsioon</guilabel +>iplugin.</para +></listitem> + <listitem +><para +><filename +>kdeveloprc</filename +> — sisaldab globaalseid seadistusi, mida kasutavad &kdevelop;i IDE ja autonoomne &kdevelop;i abilise dokumentatsioonisirvija.</para +></listitem> + <listitem +><para +><filename +>kdevelopuimode4rc</filename +> — sisaldab &kdevelop;i IDE MDI aktiivset konfiguratsiooniolekut (dokkide positsioon &etc;).</para +></listitem> + <listitem +><para +><filename +>kdevfileselectorrc</filename +> — sisaldab seadistusi, mida kasutab <guilabel +>failivalija</guilabel +>.</para +></listitem> + <listitem +><para +><filename +>kdevfileviewrc</filename +> — sisaldab failinime värvi seadistusi, mida kasutab näitamisel <guilabel +>CVS põimimise (Cervisia)</guilabel +> projektiplugin.</para +></listitem> + <listitem +><para +><filename +>kdevfilterrc</filename +> — sisaldab seadistusi, mida kasutab <guilabel +>shellifiltrite ja lisamise</guilabel +> plugin.</para +></listitem> + <listitem +><para +><filename +>kdevgrepviewrc</filename +> — sisaldab seadistusi, mida kasutab <guilabel +>Grepi kasutajaliides</guilabel +>e plugin.</para +></listitem> + <listitem +><para +><filename +>kdevsnippetrc</filename +> — sisaldab seadistusi, mida kasutab <guilabel +>koodijuppide</guilabel +> plugin.</para +></listitem> + <listitem +><para +><filename +>kdevtoolsrc</filename +> — sisaldab seadistusi, mida kasutab <guilabel +>tööriistamenüü lisamise</guilabel +> plugin.</para +></listitem> +</itemizedlist> + +<itemizedlist id="app-files-user-config-doc"> +<title +>Dokumentatsiooniplugina konfiguratsioonifailid</title> + <listitem +><para +><filename +>docchmpluginrc</filename +> — sisaldab infot &Microsoft; CHM-abifailide kohta, nagu see on defineeritud seadistustedialoogis <guilabel +>CHM dokumentatsioonikogu</guilabel +> kaardil.</para +></listitem> + <listitem +><para +><filename +>doccustompluginrc</filename +> — sisaldab infot kohandatud dokumentatsioonifaili kohta, nagu see on defineeritud seadistustedialoogis <guilabel +>kohandatud dokumentatsioonikogu</guilabel +> kaardil.</para +></listitem> + <listitem +><para +><filename +>docdevhelppluginrc</filename +> — sisaldab infot GNOME 2 DevHelp dokumentatsioonifailide kohta, nagu see on defineeritud seadistustedialoogis <guilabel +>Devhelp dokumentatsioonikogu</guilabel +> kaardil.</para +></listitem> + <listitem +><para +><filename +>docdoxygenpluginrc</filename +> — sisaldab infot Doxygeni genereeritud API dokumentatsiooni kohta, nagu see on defineeritud seadistustedialoogis <guilabel +>Doxygeni dokumentatsioonikogu</guilabel +> kaardil.</para +></listitem> + <listitem +><para +><filename +>dockdevtocpluginrc</filename +> — sisaldab infot KDevelopTOC struktureeritud dokumentatsiooni failide kohta, nagu see on defineeritud seadistustedialoogis <guilabel +>KDevelopTOC dokumentatsioonikogu</guilabel +> kaardil.</para +></listitem> + <listitem +><para +><filename +>docqtpluginrc</filename +> — sisaldab infot Qt dokumentatsioonifailide kohta, nagu see on defineeritud seadistustedialoogis <guilabel +>Qt dokumentatsioonikogu</guilabel +> kaardil.</para +></listitem> +</itemizedlist> + +</sect2 +> <!-- app-files-user-config --> + +</sect1 +> <!-- app-files-user --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="app-files-project"> +<title +>Projektist sõltuv konfiguratsioon</title> + +<para +>Suurem osa projektist sõltuvat konfiguratsiooni asub peamiselt &kdevelop;i projekti konfiguratsioonifailides <filename +><projekti-nimi>.kdevelop</filename +> and <filename +><projekti-nimi>.kdevses</filename +>, mitte aga globaalsemates konfiguratsioonifailides. Lühidalt öeldes on need mõeldud järgmisteks asjadeks: </para> +<simplelist> + <member +><filename +><project-name>.kdevelop</filename +> — globaalne projektikonfiguratsiooni info.</member> + <member +><filename +><project-name>.kdevses</filename +> — konfiguratsiooniinfo, mida on vaja töötava seansi spetsiilise käitumise taastamiseks.</member> +</simplelist> +<para +>Mõlemad on &XML;-failid, mida võib vaadata ja (ettevaatlikult) muuta suvalises tekstiredaktoris. </para> + +<sect2> +<title +>Püsiva klassihoidla failid</title> + +<para +>On veel üks projektist sõltuv konfiguratsioonifail, nimelt <filename +><projekti-nimi>.kdevelop.pcs</filename +> ehk püsiv klassihoidla. See on binaarfail, mis sisandab seesmist parseri puhvrit, mis peamiselt on mõeldud projekti laadimise kiirendamiseks. Lisaks leidub püsivas klassihoidlas info, mida kasutab &kdevelop;i <guilabel +>koodilõpetus</guilabel +>e tööriist. </para> + +<note +><para +>Täiendavaid püsiva klassihoidla faile saab luua projekti seadistustedialoogi kaardi <guilabel +>C++ spetsiifiline</guilabel +> alamkaardil <guilabel +>Koodilõpetus</guilabel +>. Nende täiendavate <filename +>.pcs</filename +>-failide info leidub globaalselt kataloogis <filename class="directory" +>$<envar +>KDEHOME</envar +>/share/apps/kdevcppsupport/pcs/</filename +>. </para +></note> +</sect2> + +</sect1 +> <!-- app-files-project --> + +</appendix +> <!-- app-files --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/app-menu.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/app-menu.docbook new file mode 100644 index 00000000000..100918cf257 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/app-menu.docbook @@ -0,0 +1,72 @@ +<appendix id="app-menus"> + +<appendixinfo> + <authorgroup> + <author +><firstname +>Bernd</firstname +><surname +>Pol</surname +></author> + <!-- ROLES_OF_TRANSLATORS --> + </authorgroup> +</appendixinfo> + +<title +>Menüü- ja tööriistaribade ülevaade</title> + +<para +>(... veel kirjutamata ...) </para> + +<sect1 id="app-menus-menu"> +<title +>Menüüd</title> + +<para +>(... veel kirjutamata ...) </para> + +<sect2 id="app-menus-menu-common"> +<title +>Üldised menüüd</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect2 +> <!-- app-menus-menu-common --> + +<sect2 id="app-menus-menu-project"> +<title +>Projektipõhised menüüd</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect2 +> <!-- app-menus-menu-project --> + +<sect2 id="app-menus-menu-specific"> +<title +>Pluginatööriistade menüüd</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect2 +> <!-- app-menus-menu-specific --> + +</sect1 +> <!-- app-menus-menu --> + +<sect1 id="app-menus-tool"> +<title +>Tööriistaribad</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect1 +> <!-- app-menus-tool --> + +</appendix +> <!-- app-menus --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/app-misc-info.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/app-misc-info.docbook new file mode 100644 index 00000000000..65d27e86b36 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/app-misc-info.docbook @@ -0,0 +1,28 @@ +<appendix id="app-misc-info"> +<title +>Täiendav info</title> +<sect1 id="gettinginformation"> +<title +>Info hankimine</title> +<para +>(... veel kirjutamata ...) </para> +</sect1 +> <!-- gettinginformation --> + +<sect1 id="app-reporting-bugs"> +<title +>Vigadest teatamine</title> +<para +>(... veel kirjutamata ...) </para> +</sect1 +> <!-- app-reporting-bugs --> + +<sect1 id="app-licensing"> +<title +>Litsents</title> +&underFDL; &underGPL; </sect1 +> <!-- app-licensing --> +</appendix +> <!-- app-misc-info --> + +<!-- ====================================================================== --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/app-uimodes-examples.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/app-uimodes-examples.docbook new file mode 100644 index 00000000000..d328fcb4e21 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/app-uimodes-examples.docbook @@ -0,0 +1,174 @@ +<appendix id="app-uimodes-examples"> +<title +>&kdevelop;i kasutajaliidese režiimi näited</title> + +<sect1 id="ideal-desc"> +<title +>IDEAl režiim</title> + +<para +>Klõpsa <link linkend="uimodes-survey" +>siia</link +> režiimide ülevaate juurde naasmiseks. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="kdevelop-ideal-mode.png" format="PNG"/> + </imageobject> + <textobject +><phrase +>Pilt</phrase +></textobject> + <caption +><para +>&kdevelop;i IDEAl režiim</para +></caption> + </mediaobject> +</screenshot> + +<para +>Klõpsa <link linkend="uimodes-survey" +>siia</link +> režiimide ülevaate juurde naasmiseks. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="kdevelop-ideal-mode-0.png" format="PNG"/> + </imageobject> + <textobject +><phrase +>Pilt</phrase +></textobject> + <caption +><para +>&kdevelop;i IDEAl režiim suletud kaartidega</para +></caption> + </mediaobject> +</screenshot> + +<para +>See pilt näitab IDEAl aknarežiimi üht suuremat voorust: kasutada saab maksimaalselt suurt töötsooni, kuid samas on kõik tööriistavaated käepärast ja nende avamiseks kulub vaid üks hiireklõps. </para> +<para +>Tõenäoliselt kulub veidi aega, enne kui harjud kõigi nende ikoonidega kaardiribal. Kui sa ei peaks teadma, mis mida teeb, vii hiir lihtsalt mõne kaardi kohale ja jäta hetkeks seisma. Ilmub väike kohtspikker, mis teatab, millega on tegemist. Pildil on näha <quote +>Automake'i halduri</quote +> kohtspikker, mis kirjeldab parempoolse kaardiriba alumise kaardi olemust. </para> + +<para +>Klõpsa <link linkend="uimodes-survey" +>siia</link +> režiimide ülevaate juurde naasmiseks. </para> + +</sect1 +> <!-- ideal-desc --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="mdi-desc"> +<title +>Alamraami-aknarežiim</title> + +<para +>Klõpsa <link linkend="uimodes-survey" +>siia</link +> režiimide ülevaate juurde naasmiseks. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="kdevelop-mdi-mode.png" format="PNG"/> + </imageobject> + <textobject +><phrase +>Pilt</phrase +></textobject> + <caption +><para +>&kdevelop;i alamraami-aknarežiim</para +></caption> + </mediaobject> +</screenshot> + +<para +>Klõpsa <link linkend="uimodes-survey" +>siia</link +> režiimide ülevaate juurde naasmiseks. </para> + +</sect1 +> <!-- mdi-desc --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="tabbed-desc"> +<title +>Kaartidega aknarežiim</title> + +<para +>Klõpsa <link linkend="uimodes-survey" +>siia</link +> režiimide ülevaate juurde naasmiseks. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="kdevelop-tabbed-mode.png" format="PNG"/> + </imageobject> + <textobject +><phrase +>Pilt</phrase +></textobject> + <caption +><para +>&kdevelop;i kaartidega aknarežiim</para +></caption> + </mediaobject> +</screenshot> + +<para +>Klõpsa <link linkend="uimodes-survey" +>siia</link +> režiimide ülevaate juurde naasmiseks. </para> + +</sect1 +> <!-- tabbed-desc --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="toplevel-desc"> +<title +>Tipptaseme aknarežiim</title> + +<para +>Klõpsa <link linkend="uimodes-survey" +>siia</link +> režiimide ülevaate juurde naasmiseks. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="kdevelop-toplevel-mode.png" format="PNG"/> + </imageobject> + <textobject +><phrase +>Pilt</phrase +></textobject> + <caption +><para +>&kdevelop;i tipptaseme aknarežiim</para +></caption> + </mediaobject> +</screenshot> + +<para +>Klõpsa <link linkend="uimodes-survey" +>siia</link +> režiimide ülevaate juurde naasmiseks. </para> + +</sect1 +> <!-- toplevel-desc --> + +</appendix +> <!-- app-uimodes-examples --> + +<!-- ====================================================================== --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/applicationwizard.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/applicationwizard.docbook new file mode 100644 index 00000000000..d723090929b --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/applicationwizard.docbook @@ -0,0 +1,1387 @@ +<chapter id="applicationwizard"> + +<chapterinfo> + <authorgroup> + <author +><firstname +>Bernd</firstname +><surname +>Pol</surname +></author> + <!-- ROLES_OF_TRANSLATORS --> + </authorgroup> +</chapterinfo> + +<title +>Alustamine — &appwizard;</title> +<!-- FIXME (bp, 2006-06-18) This is a misnomer. It should be something like --> +<!-- Working With Projects --> +<!-- featuring the application manager as part of the New Projects section. --> + +<indexterm zone="applicationwizard"> + <primary +>&appwizard;</primary +></indexterm> + +<para +>Arendustegevuse keskmes seisavad &kdevelop;is <emphasis +>projektid</emphasis +>. Projekt hõlmab kõike, mis kuulub ühe tervikliku programmi juurde: lähtekoodi failid, täiendavad andmefailid, kõik vajalikud haldusvahendid (näiteks make), tagab ligipääsu kõigile komponentidele ja lisatööriistadele, mida on vaja rakenduse loomiseks ja töölepanemiseks. </para> +<para +>Kogu arendustegevuse koondamine projektidesse võimaldab vähese vaevaga lülituda ühelt oma ülesandelt teisele. See on eriti kasuks siis, kui töötad ⪚ korraga mitme rakenduse kallal. Sel juhul lase lihtsalt &kdevelop;il avada projekt, mille kallal tahad parajasti vaeva näha, ning see avatakse täpselt selles keskkonnas, kuhu sa ta viimati jätsid. </para> + +<sect1 id="new-projects"> +<title +>Uued projektid</title> + +<!-- TODO (bp, 2006-06-18) This whole section must be completely rewritten. --> +<!-- There is no need for a tutorial habit anymore. --> + +<indexterm zone="new-projects"> + <primary +>projekt</primary> + <secondary +>uus</secondary +></indexterm> + +<para +>Kui asud uut programmeerimisprojekti looma, tuleb kõigepealt mitmed asjad kindlaks määrata: luua algne kataloogistruktuur, esialgsed päise- ja lähtekoodifailid, initsialiseerida ehitamissüsteem &etc; </para> +<para +>&kdevelop; pakub intuitiivse vahendi uue projekti loomiseks — <emphasis +>&appwizard;</emphasis +>. &appwizard; saab avada menüüst käsuga <menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Uus projekt</guimenuitem +></menuchoice +>. </para> +<para +>Uue programmeerimisprojekti loomiseks &appwizard; abil on vaja vaid mõned sammud: </para> +<orderedlist> + <listitem +><para +><link linkend="new-projects-start-type" +>Valida programmeerimiskeel</link +> ja rakenduse tüüp teatud eelnevalt määratud mallide seast. </para +></listitem> + <listitem +><para +><link linkend="new-projects-start-general" +>Määrata teatud üldinfo</link +>: rakenduse nimi, kataloog, kus see luuakse &etc; </para +></listitem> + <listitem +><para +>Otsustada, kas kasutada <link linkend="new-projects-start-cvs" +>versioonikontrollisüsteemi</link +> (⪚ CVS) ja anda vajaduse korral selle jaoks andmed. </para +></listitem> + <listitem +><para +>Luua mõned mallid <link linkend="new-projects-start-templates" +>esialgsete päise- ja lähtekoodigfailide</link +> tarbeks. </para +></listitem> + <listitem +><para +>Anda &appwizard;le korraldus <link linkend="new-projects-start-build" +>luua kõik esialgu vajalik</link +>: kataloogistruktuur, esialgne päis/lähtekood, failimallid ja haldusvahendid (⪚ esiaglne ehitamisstruktuur) &etc; </para +></listitem> +</orderedlist> +<para +>Voilà — ongi kõik. &appwizard; loob nüüd sinu eest esialgse töötava failide komplekti, mille kallal võid kohe tegutsema hakata. </para> +<para +>Vaatame nüüd seda kõike veidi lähemalt. </para> + +<sect2 id="new-projects-start"> +<title +>Esimesed sammud</title> + +<indexterm zone="new-projects-start"> + <primary +>dialoog</primary> + <secondary +>uue projekti loomine</secondary +></indexterm> +<indexterm zone="new-projects-start"> + <primary +>projekt</primary> + <secondary +>uue projekti loomine</secondary> + <tertiary +>dialoog</tertiary +></indexterm> +<indexterm zone="new-projects-start"> + <primary +>projekt</primary> + <secondary +>mallid</secondary +></indexterm> +<indexterm zone="new-projects-start"> + <primary +>mallid</primary> + <secondary +>projekt</secondary +></indexterm> + +<para +>&kdevelop;is uue projekti loomiseks vali käsk <guimenuitem +>Uus projekt</guimenuitem +> menüüst <guimenu +>Projekt</guimenu +>. Ilmub dialoog <guilabel +>Uue projekti loomine</guilabel +>, kus on avatud kaart <guilabel +>Üldine</guilabel +>: </para> + +<screenshot id="screenshot-newprojectwizard"> + <mediaobject> + <imageobject> + <imagedata fileref="create-new-project.png" format="PNG"/> + </imageobject> + <caption +><para +>Uue projekti loomise esimene dialoog </para +></caption> + </mediaobject> +</screenshot> + +<para +>Nagu näed, jaguneb dialoog ülemiseks ja alumiseks osaks. Ülemises osas saad valida programmeerimiskeele ja rakenduse tüübi, alumises osas näed teatud üldist infot. </para> + +<sect3 id="new-projects-start-type"> +<title +>Programmeerimiskeele ja rakenduse tüübi valimine</title> + +<indexterm zone="new-projects-start-type"> + <primary +>projekt</primary> + <secondary +>rakenduse tüüp</secondary +></indexterm> +<indexterm zone="new-projects-start-type"> + <primary +>projekt</primary> + <secondary +>programmeerimiskeel</secondary +></indexterm> +<indexterm zone="new-projects-start-type"> + <primary +>projekt</primary> + <secondary +>keel</secondary +></indexterm> +<indexterm zone="new-projects-start-type"> + <primary +>keel</primary +></indexterm> +<indexterm zone="new-projects-start-type"> + <primary +>programmeerimiskeel</primary +></indexterm> +<indexterm zone="new-projects-start-type"> + <primary +>rakendus</primary> + <secondary +>tüüp</secondary +></indexterm> + +<para +>Dialoogi ülemise poole vasakpoolses osas saad langetada oma valiku. Dialoogi avanedes näed seal tervet rida katalooge, igaüks tähistatud teatud programmeerimiskeele järgi: </para> + +<itemizedlist> + <listitem +><para +>Ada <indexterm> + <primary +>Ada</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>C <indexterm> + <primary +>C</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>C++ <indexterm> + <primary +>C++</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>Database (SQL projektid) <indexterm> + <primary +>SQL</primary> + <secondary +>uus projekt</secondary +></indexterm> + <indexterm> + <primary +>Andmebaas</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>Fortran <indexterm> + <primary +>Fortran</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>Haskell <indexterm> + <primary +>Haskell</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>Java <indexterm> + <primary +>Java</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>PHP <indexterm> + <primary +>PHP</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>Pascal <indexterm> + <primary +>Pascal</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>Perl <indexterm> + <primary +>Perl</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>Python <indexterm> + <primary +>Python</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>Ruby <indexterm> + <primary +>Ruby</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>Shell (Bash'i shelliskriptid) <indexterm> + <primary +>Bash</primary> + <secondary +>uus projekt</secondary +></indexterm> + <indexterm> + <primary +>shell</primary> + <secondary +>uus projekt</secondary +></indexterm> + </para +></listitem> +</itemizedlist> + +<para +>Kui täpne olla, siis need kataloogid ei sisalda tegelikult ühtegi programmeerimistööriista. Need viivad vaid eelnevalt määratud <emphasis +>mallide</emphasis +> juurde, mida saab kasutada alustuseks antud keeles programmi loomisel. Et näha, mida pakutakse, ava lihtsalt kataloogid. Mõnes on mitu alamkataloogi, mõnes aga vaid üks või mõni kirje. Alamkataloogid korraldavad saadaolevad mallid teatud ülesannete järgi, kirjed aga näitavad, millise malliga on konkreetselt tegemist. </para> +<para +>Me ei hakka siin põhjalikult peatuma sellel, milliseid ülesandeid iga mall võimaldab täita, kuid selles selguselejõudmine ei tohiks olla väga keeruline. Kui valid mõne malli, näidatakse paremal pool selle kohta teatud infot. Allpool on näha <emphasis +>lühike kirjeldus</emphasis +>, mida antud mall teeb, selle kohal aga olemasolu korral pilt, kuidas malli põhjal loodud rakendus peaks lõpuks välja nägema, kui kompileerid ja käivitad selle ilma mingeid muudatusi tegemata. Tavaliselt on see rakenduse peaakna <emphasis +>ekraanipilt</emphasis +>. </para> +<para +>Vali mall, mis kõige paremini tundub vastavat sellele rakendusele, mida sa oma vaimusilmas näed. Seejärel määra dialoogi alumises osas üldised omadused, mida kohe selgitame. </para> + +<formalpara> +<title +>Projektihalduse süsteemi valimine</title> +<para +>Iga mall on seotud kindla <link linkend="makesystems" +>projektihalduse süsteemiga</link +>. Praegu ei ole võimalik päris otse ja vabalt seda valida. Sul tuleb lihtsalt leida mall, mis vastab sinu vajadustele, või muuta projekti pärast selle loomist. </para> +</formalpara> + +</sect3 +> <!-- new-projects-start-type --> + +<sect3 id="new-projects-start-general"> +<title +>Üldinfo määramine</title> + +<indexterm zone="new-projects-start-general"> + <primary +>projekt</primary> + <secondary +>omadused</secondary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>omadused</primary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>rakendus</primary> + <secondary +>nimi</secondary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>nimi</primary> + <secondary +>rakendus</secondary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>projekt</primary> + <secondary +>kataloog</secondary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>kataloog</primary> + <secondary +>projekt</secondary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>asukoht</primary> + <secondary +>uus projekt</secondary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>projekt</primary> + <secondary +>autor</secondary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>projekt</primary> + <secondary +>e-posti aadress</secondary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>autor</primary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>e-posti aadress</primary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>projekt</primary> + <secondary +>main.cpp</secondary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>main.cpp</primary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>projekt</primary> + <secondary +>litsents</secondary +></indexterm> +<indexterm zone="new-projects-start-general"> + <primary +>litsents</primary +></indexterm> + +<para +>Dialoogi <guilabel +>Uue projekti loomine</guilabel +> kaardi <guilabel +>Üldine</guilabel +> alumine osa sisaldab raamiga ümbritsetud sektsiooni <guilabel +>Omadused</guilabel +>. Sul tuleb siin anda veidi üldist infot oma projekti kohta, et &appwizard; teaks, kuidas esialgne struktuur luua. </para> +<formalpara> +<title +>Rakenduse nimi</title> +<para +>Rakendus vajab enesestmõistetavalt nime. Kirjuta see sektsiooni <guilabel +>Omadused</guilabel +> ülemisele väljale, mis kannab nimetust <guilabel +>Rakenduse nimi</guilabel +>. Me kasutame oma näites nimetust <quote +>MinuRakendus</quote +>. </para> +</formalpara> +<para +>Kindlasti paned tähele, et &appwizard; ei luba siia mitte kõike sisestada. Sellele väljale on lubatud sisestada ainult järgmisi sümboleid: <itemizedlist> + <listitem +><para +>suur- ja väiketähed</para +></listitem> + <listitem +><para +>arvud</para +></listitem> + <listitem +><para +>alakriips</para +></listitem> +</itemizedlist> +</para> +<para +>Selle piirangu üks oluline põhjus on asjaolu, et &appwizard; kasutab rakenduse nime <emphasis +>mõne klassinime alusena</emphasis +>, mida ta esialgse projekti loomise käigus tekitab. Seepärast peab rakenduse nimi vastama programmeerimiskeele nõuetele ja reeglitele. </para> +<formalpara> +<title +>Projektikataloog</title> +<para +>Teist selle piirangu olulist põhjust näed sektsiooni <guilabel +>Omadused</guilabel +> allosas. See kannab nimetust <guilabel +>Lõppasukoht</guilabel +> ning kujutab endast kataloogi, kuhu &appwizard; sinu rakenduse loob. </para> +</formalpara> +<para +>Kui sisestad rakenduse nime, näed, et &appwizard; kordab seda real <guilabel +>Lõppasukoht</guilabel +>, ainult et seal on see läbivalt väiketähtedega. </para> +<para +>Seepärast tuleb rakenduse nimi hoolikalt valida. Kui sisestad juba olemasoleva kataloogi nime, ei luba &appwizard; sul järgmise sammu kallale asuda: nupp <guibutton +>Edasi ></guibutton +> on mitteaktiivne (hall). Kuid sel juhul saad <emphasis +>hoiatuse</emphasis +>: rea <guilabel +>Lõppasukoht</guilabel +> lõppu lisatakse teade <quote +>(kataloog/fail on juba olemas)</quote +>. </para> + +<formalpara> +<title +>Asukoht</title> +<para +>Oma rakendusele vaikimisi määratust erineva asukoha saab valida kahel viisil. Üks võimalus on anda lihtsalt rakendusele teine nimi. See ei ole siiski alati mõttekas (⪚ kui soovid luua juba olemasoleva rakenduse uue versiooni). Teine võimalus on valida rakendusekataloogile teine asukoht. </para> +</formalpara> +<para +>Seda saab teha sektsiooni <guilabel +>Omadused</guilabel +> väljal <guilabel +>Asukoht</guilabel +>. Siia sisestatu on tegelikult ainult uue rakenduse kataloogi <emphasis +>asukoha algus</emphasis +>. &appwizard; lisab sellele rakenduse nime, mis saab tegelikukt uue projekti asukohaks. Tulemust näeb real <guilabel +>Lõppasukoht</guilabel +>. </para> +<para +>&appwizard; kopeerib käivitamisel väljale <guilabel +>Asukoht</guilabel +> <emphasis +>vaikeväärtuse</emphasis +>. See on kataloog, mis on kindlaks määratud <link linkend="setup-general" +>seadistustedialoogi</link +> väljal <guilabel +>Projectide vaikimisi kataloog</guilabel +>. Meie näites kasutab &kdevelop; uute projektide vaikekataloogina kataloogi <filename class="directory" +>/home/devel/projektid/</filename +>. </para> +<para +>Muuda välja <guilabel +>Asukoht</guilabel +> sisu, et rakenduse arenduskataloog, mida näitab rida <guilabel +>Lõppasukoht</guilabel +>, oleks unikaalne. </para> +<!--TODO add tab description Project Options --> +<note +><para +>Kontrolli, et asukoht, mille sisestad väljale <guilabel +>Asukoht</guilabel +>, oleks ikka olemas. Vastasel juhul ei pääse sa edasi järgmise sammu juurde. &appwizard; <emphasis +>hoiatab</emphasis +> sind selle eest: rea <guilabel +>Lõppasukoht</guilabel +> lõppu lisatakse teade <quote +>(kataloog/fail on juba olemas)</quote +>. </para +></note> + +<screenshot id="screenshot-createnewprojectoptions"> + <mediaobject> + <imageobject> + <imagedata fileref="createnewprojectoptions.png" format="PNG"/> + </imageobject> + <caption +><para +>Uue projekti loomine CVS-is </para +></caption> + </mediaobject> +</screenshot> + +<formalpara> +<title +>Isiklik info</title> +<para +>Sellele järgnevad väljad pole nii olulise tähtsusega. Anna lihtsalt oma nimi (&ie; isiku nimi, kes vastutab rakenduse eest) väljal <guilabel +>Autor</guilabel +> ning kehtiv e-posti aadress väljal <guilabel +>E-post</guilabel +>, et kasutajad saaksid rakenduse kohta tagasisidet anda. </para> +</formalpara> + +<note> +<orderedlist> + <listitem +><para +>&appwizard; täidab need väljad vaikeväärtustega, mis võetakse &juhtimiskeskus;e e-posti seadistustest. Kui sulle ei sobi dialoogi <guilabel +>Uue projekti loomine</guilabel +> väljadel <guilabel +>Autor</guilabel +> ja <guilabel +>E-post</guilabel +> antud vaikeväärtused, võiksid vahest üle vaadata ka &juhtimiskeskus;e vastavad seadistused. </para +></listitem> + <listitem +><para +>&appwizard; põimib selle info võimaluse korral programmimallidesse. &kde; C++ programmides näiteks leiab selle lähtekoodifaili <filename +>main.cpp</filename +> algusest. </para +></listitem> + <listitem +><para +>Kõigist väljadest ei ole <guilabel +>E-post</guilabel +> <emphasis +>kohustuslik</emphasis +>, sest mitte kõigil arendajatel ei pruugi olla ligipääsu internetile. Kui soovid, võid selle välja tühjaks jätta ja ikkagi edasi minna. </para +></listitem> +</orderedlist> +</note> + +<formalpara> +<title +>Versiooni- ja litsentsiinfo</title> +<para +>Lõpuks sisesta oma uue rakenduse versiooninumber väljale <guilabel +>Versioon</guilabel +> ning vali rippmenüüst <guilabel +>Litsents</guilabel +> litsents, mille alusel soovid oma rakendust levitada. </para> +</formalpara> + +<para +>Kui oled valinud rakenduse tüübi, mille korral &appwizard; pakub üldist lähtekoodi malli teksti (⪚ C/C++), näed litsentsi teksti dialoogi <guilabel +>Uue projekti loomine</guilabel +> kolmandal kaardil (vaata allpool osa <link linkend="new-projects-start-templates" +>Päise/lähtekoodimallide määramine</link +>). </para> +<para +>Kui valid rippmenüüst <guilabel +>Litsents</guilabel +> valiku <quote +>Kohandatud</quote +>, pead ka litsentsi ise kirja panema. </para> + +<note +><para +>Nii versiooni- kui ka litsentsiinfo põimitakse mallidesse vastavalt sellele, kuidas seda võimaldab sinu valitud rakenduse tüüp. </para +></note> + +<para +>Kui oled kogu info korrektselt sisestanud, klõpsa järgmiste kaartide juurde minemiseks nupule <guibutton +>Edasi ></guibutton +>. </para> +</sect3 +> <!-- new-projects-start-general --> + +</sect2 +> <!-- new-projects-start --> + +<sect2 id="new-projects-start-cvs"> +<title +>Versioonikontrollisüsteemi info määramine</title> + +<indexterm zone="new-projects-start-cvs"> + <primary +>CVS</primary> + <secondary +>uus projekt</secondary +></indexterm> +<indexterm zone="new-projects-start-cvs"> + <primary +>projekt</primary> + <secondary +>CVS</secondary +></indexterm> +<indexterm zone="new-projects-start-cvs"> + <primary +>andmebaas</primary> + <secondary +>CVS</secondary +></indexterm> +<indexterm zone="new-projects-start-cvs"> + <primary +>versioon</primary> + <secondary +>andmebaas</secondary +></indexterm> +<indexterm zone="new-projects-start-cvs"> + <primary +>versioon</primary> + <secondary +>CVS</secondary +></indexterm> + +<para +>&appwizard; teine samm viib sind kaardile <guilabel +>Versioonikontrollisüsteem</guilabel +>, kus saad otsustada, millist versioonikontrollisüsteemi kasutada. </para> + +<note +><para +>Siinkohal puudutame ainult projekti loomisega seotud asju. Täpsemalt räägib &CVS;-ist allpool olev peatükk <link linkend="cvs" +>&CVS;-i kasutamine</link +>. </para +></note> + +<formalpara> +<title +>Versioonikontrollisüsteem puudub</title> +<para +>Algselt on kaardil <guilabel +>Versioonikontrollisüsteem</guilabel +> valitud <quote +>Puudub</quote +> ning kaart on tühi. Kui sa ei soovi kasutada versioonikontrollisüsteemi, klõpsa lihtsalt nupule <guibutton +>Edasi +></guibutton +> </para> +</formalpara> + +<formalpara> +<title +>&CVS;-i kasutamine</title> +<para +>Vastasel juhul pead valima soovitava versioonikontrollisüsteemi kaardil <guilabel +>Versioonikontrollisüsteem</guilabel +>. Me kasutame oma näites <quote +>&cvs;-i</quote +>. Selle valimisel näitab &appwizard; mitmeid välju, mis sul tuleb nüüd täita. </para> +</formalpara> + +<screenshot id="screenshot-newproject-cvs"> + <mediaobject> + <imageobject> + <imagedata fileref="create-new-project-cvs.png" format="PNG"/> + </imageobject> + <caption +><para +>Uue projekti loomine CVS-is </para +></caption> + </mediaobject> +</screenshot> + +<para +>Versioonikontrollisüsteemid nagu &CVS; (mis tähendab <quote +>Concurrent Versions System</quote +> ehk kõrvutiste versioonide süsteem) salvestavad valitud projekti failide koopia omamoodi andmebaasi. &CVS;-i kasutamisel saad muu hulgas need failid üles laadida (<quote +>sisse kanda</quote +>) või uuesti oma projektikataloogi laadida (<quote +>välja võtta</quote +> või <quote +>uuendada</quote +>). Versioonisüsteemi andmebaasi iseärasuseks on see, et failiinfo salvestatakse struktureeritult, nii et sa saad alati vajaduse korral taastada failide varasema oleku. &CVS; lubab mitmel arendajal korraga tegutseda ka suurte ühisprojektide (näiteks &kdevelop;) kallal, ilma et nad üksteist segaksid. </para> + +<indexterm zone="new-projects-start-cvs-root"> + <primary +>CVS</primary> + <secondary +>root</secondary +></indexterm> +<indexterm zone="new-projects-start-cvs-root"> + <primary +>root</primary> + <secondary +>CVS</secondary +></indexterm> +<indexterm zone="new-projects-start-cvs-root"> + <primary +>CVS</primary> + <secondary +>kohalik</secondary +></indexterm> +<indexterm zone="new-projects-start-cvs-root"> + <primary +>CVS</primary> + <secondary +>võrgus</secondary +></indexterm> +<indexterm zone="new-projects-start-cvs-root"> + <primary +>kohalik CVS</primary +></indexterm> +<indexterm zone="new-projects-start-cvs-root"> + <primary +>:local:</primary +></indexterm> +<indexterm zone="new-projects-start-cvs-root"> + <primary +>CVS</primary> + <secondary +>:local:</secondary +></indexterm> + +<formalpara id="new-projects-start-cvs-root"> +<title +>&CVS; Root</title> +<para +>&CVS; on mõeldud sinu projektifailide versioonide andmebaasi <emphasis +>haldamiseks</emphasis +>. Selleks hoiab ta teatud spetsiaalset andmebaasiinfot omaette kataloogis, mis kannab nimetust <emphasis +>&CVS; root</emphasis +>. Oma uue projekti &CVS;-i loomisel ongi sestap esimene samm anda &kdevelop;ile teada, kus see 'root' ehk juurkataloog asub. </para> +</formalpara> + +<para +><emphasis +>Kohalik &CVS; root</emphasis +>. Selleks on kaks võimalust. Sa võid kasutada <emphasis +>kohalikku</emphasis +> &CVS;-i andmebaasi või siis andmebaasi, mis paikneb <emphasis +>võrguserveris</emphasis +>. Kui arendad rakendust omaette, võid kasutada &CVS;-i andmebaasi enda arvutis omamoodi varusüsteemina. Tavaliselt asub see siis sinu kodukataloogis ja kannab nime <filename +>cvsroot</filename +> umbes nii: </para> +<para +><userinput +><filename class="directory" +>/home/devel/cvsroot</filename +></userinput +> (kus <filename +>devel</filename +> tähistab lihtsalt <quote +>arendajast</quote +> kasutajat) </para> + +<note +><para +>Õigupoolest on see lühivorm. Konkreetsemalt peab kohalikule &CVS;-i juurkataloogile eelnema liide <computeroutput +>:local:</computeroutput +>. Lühivorm on lubatud ainult juhul, kui failinimi algab kaldkriipsuga (<computeroutput +>/</computeroutput +>). Meie näite korral näeb kohaliku CVS;-i juurkataloogi nimi välja nii: <filename class="directory" +>:local:/home/devel/cvsroot</filename +> </para +></note> + +<para +>Sisesta &CVS;-i juurkataloogi nimi väljale <guilabel +>CVS root</guilabel +>. Põhimõtteliselt võid valida suvalise nime või kasutada ka mitut CVS;-i andmebaasi, kuid soovitatav on &CVS; root säilitada, kui sa selle juba loonud oled. </para> +<para +><emphasis +>Initsialiseeri uus &CVS; root</emphasis +>. Kui &CVS;-i juurkataloogi polnud varem olemas, võib &kdevelop; anda &CVS;-süsteemile korralduse luua see sinu jaoks määratud kataloogis. Selleks märgi välja <guilabel +>CVS root</guilabel +> all ära kast <guilabel +>Initsialiseeri juurkataloog</guilabel +>. </para> +<note +><para +>Nagu öeldud, annab &kdevelop; lihtsalt <emphasis +>käsu</emphasis +> &CVS;-süsteemile initsialiseerida uus &CVS; root. KDevelop ei tee selles kataloogis ise midagi. Õnneks on &CVS; piisavalt nutikas ja oskab kontrollida, kas &CVS;-i juurkataloog on juba olemas või mitte. Seepärast ei teki ka kahju, kui oled eksikombel märkinud kasti <guilabel +>Initsialiseeri juurkataloog</guilabel +>, aga &CVS;-i juurkataloog on juba olemas. </para +></note> + +<para +><emphasis +>&CVS; root võrgus</emphasis +>. Sageli aga paikneb &CVS;-i andmebaas võrguserveris, eriti siis, kui projekti kallal töötab hulk arendajaid. Sel juhul pead sisestama väljale <guilabel +>CVS root</guilabel +> selle serveri &CVS; root &URL;-i. Kui näiteks selleks on &kde; &CVS;-server, näeb see välja nii: </para> +<para +><userinput +><filename class="directory" +>:pserver:<replaceable +>minukasutajanimi</replaceable +>@cvs.kde.org:/home/kde</filename +></userinput +> (kus <replaceable +>minukasutajanimi</replaceable +> tähistab sinu &kde; &CVS;-i konto nime) </para> + +<indexterm zone="new-projects-start-cvs-remote"> + <primary +>CVS võrgus</primary +></indexterm> +<indexterm zone="new-projects-start-cvs-remote"> + <primary +>:pserver:</primary +></indexterm> +<indexterm zone="new-projects-start-cvs-remote"> + <primary +>:ext:</primary +></indexterm> +<indexterm zone="new-projects-start-cvs-remote"> + <primary +>CVS</primary> + <secondary +>:local:</secondary +></indexterm> +<indexterm zone="new-projects-start-cvs-remote"> + <primary +>CVS</primary> + <secondary +>:pserver:</secondary +></indexterm> +<indexterm zone="new-projects-start-cvs-remote"> + <primary +>CVS</primary> + <secondary +>:ext:</secondary +></indexterm> + +<formalpara id="new-projects-start-cvs-remote"> +<title +>&CVS;-i võrguserveri tüübid</title> +<para +>Põhimõtteliselt on kaks laiemalt levinud &CVS;-i võrguserveri tüüpi: <emphasis +>pserver</emphasis +>, mis kasutab parooliga mittekrüptitavat protokolli, ja <emphasis +>ext</emphasis +>, mis kasutab rsh või ssh krüptimisega andmeedastust. Neid eristab &URL;-i prefiks: </para> +</formalpara> +<para> +<filename +>:pserver:</filename> +</para> +<para +>krüptimata <quote +>parooliga kaitstud serveri</quote +> ja </para> +<para> +<filename +>:ext:</filename> +</para> +<para +>rsh või ssh krüptimisega serveri korral. Näiteks </para> +<para> +<userinput +><filename class="directory" +>:ext:<replaceable +>minukasutajanimi</replaceable +>@cvs.cervisia.sourceforge.net:/cvsroot/cervisia</filename +></userinput> +</para> +<para +>tagab ligipääsu laialdaselt kasutatava &CVS;-i haldustööriista <application +>Cervisia</application +> &CVS;-i juurkataloogile SourceForge'i serveris. </para> +<para +>Kui soovid &CVS;-i kasutamiseks pruukida rsh või ssh krüptimisega serverit, pead &kdevelop;ile teada andma, millist krüptoprotokolli kasutada. Selleks kirjuta lihtsalt <userinput +>rsh</userinput +> või <userinput +>ssh</userinput +> dialoogi <guilabel +>Uue projekti loomine</guilabel +> kaardi <guilabel +>Versioonikontrollisüsteem</guilabel +> väljale <guilabel +>CVS_RSH</guilabel +>. </para> + +<note +><para +>Sind varitseb siiski üks oht, kui kasutada &CVS;-i korral &kdevelop;is krüptimisega serverit. Täpsemalt räägib sellest peatükk <link linkend="cvs" +>&CVS;-i kasutamine</link +>. </para +></note> + +<indexterm zone="new-projects-start-cvs-repository"> + <primary +>CVS</primary> + <secondary +>hoidla</secondary +></indexterm> +<indexterm zone="new-projects-start-cvs-repository"> + <primary +>hoidla</primary> + <secondary +>CVS</secondary +></indexterm> + +<formalpara id="new-projects-start-cvs-repository"> +<title +>&CVS;-hoidla</title> +<para +>Praeguseks oled &kdevelop;ile teada andnud, kus asub &CVS; root, mis haldab versioonide andmebaasi, ja kuidas sellele ligi pääseda. Nüüd tuleb &kdevelop;ile öelda, millise nimel all peaks &CVS; selles andmebaasis sinu projekti failid salvestama. Sellist projektifailide asupaika &CVS;-is nimetatakse <emphasis +>hoidlaks</emphasis +>. </para> +</formalpara> +<para +>Põhimõtteliselt võid kasutada oma projekti &CVS;-hoidla jaoks igasugust nime, peaasi, et see vastab failinime reeglitele. Enamik arendajaid siiski kasutab lihtsalt oma rakenduse nime. &CVS; loob sellenimelise kataloogi &CVS;-i juurkataloogis, mistõttu märksa lihtsam on seda tuvastada, kui see kannab sinu rakendusega sama nime. </para> +<para +>Sisesta lihtsalt soovitud hoidla nimi dialoogi <guilabel +>Uue projekti loomine</guilabel +> kaardi <guilabel +>Versioonikontrollisüsteem</guilabel +> väljale <guilabel +>CVS-hoidla</guilabel +>. Meie näites on selleks <userinput +>MinuRakendus</userinput +>. </para> + +<warning +><para +><emphasis +>Kontrolli, et sellenimelist hoidlat ei oleks juba olemas!</emphasis +> &CVS; ei hoiata topeltfailide eest, vaid lihtsalt ühendab kõik, mis ei tekita formaalset konflikti. Sel juhul võib tekkida väga suur segadus! </para +></warning> + +<formalpara> +<title +>Ülejäänud väljad</title> +<para +>Enam pole palju jäänud. &appwizard; on ülejäänud väljad täitnud vaikeväärtustega. Need on järgmised: </para> +</formalpara> +<para +>Välja <guilabel +>Tootja</guilabel +> kasutatakse ainult ühilduvuse nimel. Sa võid rahumeeli leppida vaikeväärtusega <quote +>tootja</quote +>, mille &appwizard; on sinu eest siia sisestanud. </para> +<para +>Väli <guilabel +>Kommentaar</guilabel +> võimaldab kommenteerida &CVS;-i esialgset sisu. Kirjuta siia, mida süda soovib, või rahuldu tekstiga <quote +>uus projekt</quote +>, mille &appwizard; on sinu eest siia sisestanud. </para> +<para +>Väljal <guilabel +>Väljalaske silt</guilabel +> seisab nimi, mis sildistab sinu projekti esialgse oleku. Selline <emphasis +>silt</emphasis +> tähistab teatud hetke &CVS;-hoidlas, mille juurde võid arendamise käigus vajaduse korral taasi pöörduda (täpsemalt räägib sellest peatükk <link linkend="cvs" +>&CVS;-i kasutamine</link +>). </para> +<para +>&appwizard; on siia sisestanud <quote +>alustamine</quote +>, mis on ka päris mõistlik. Kui see sind rahuldab, ära seda muuda. </para> + +<note> +<para +>Seda, kas kogu antud info on korrektne, ei tea &kdevelop; üldiselt enne projekti loomist. Siis selgitab &CVS; ise hoidla ehitamisel välja võimalikud vead. Seepärast tuleks silm peal hoida &kdevelop;i <guilabel +>teadete</guilabel +> aknal, kui alustad projekti lõplikku loomist. Kui &CVS; kohtab mõnda viga, näed enamasti umbes sellist veateadet: </para> + +<screen +><computeroutput> +* cd '/home/devel/test' && cvs -d '/home/devel/minucvsroot' \ + import -m 'uus projekt' '' 'vendor' 'start' &&\ + sh /opt/kde3/share/apps/kdevcvs/buildcvs.sh . '' \ + '/home/devel/minucvsroot' +* cvs [import aborted]: /home/devel/minucvsroot/CVSROOT: No such file or + directory +* *** Exited with status: 1 *** +</computeroutput +></screen> + +<para +>Sellisel juhul pead kas &CVS;-i käsitsi seadistama (&kdevelop; peaks selleks hetkeks olema sinu projektifailid edukalt initsialiseerinud) või kustutama projektikataloogi ja alustama taas käsust <guimenuitem +>Uus projekt</guimenuitem +> menüüs <guimenu +>Projekt</guimenu +>. </para> +</note> + +<para +>Kui oled sisestanud kogu &CVS;-iga seotud info, klõpsa jätkamiseks nupule <guibutton +>Edasi ></guibutton +>. </para> + +<note +><para +>Kui soovid parandada mõnda viga dialoogi <guilabel +>Uue projekti loomine</guilabel +> varasematel kaartidel, klõpsa nupule <guibutton +>< Tagasi</guibutton +>. &appwizard; jätab meelde aktiivse lehekülje seadistused, nii et kui oled parandused teinud, võid naasta ja varasemast olekust edasi minna. </para +></note> + +</sect2 +> <!-- new-projects-start-cvs --> + +<sect2 id="new-projects-start-templates"> +<title +>Päise/lähtekoodimallide määramine</title> + +<para +>Järgmisel sammul seisab sinu ees mitu kaarti, kus saad määrata üldinfo, mida on vaja päise- ja lähtekoodifailide kaasamiseks (kui seda eeldab muidugi sinu projekt). </para> +<para +>Nii päise- kui lähtekoodimallid on olemas C ja C++ rakenduste jaoks, mõlemad omaette kaardil. Teiste keelte puhul võib olla ainult lähtekoodimall. Mõnel juhul on aga isegi see kaart tühi. </para> +<para +>Kui see kaart on kasutusel, määrab &appwizard; juba enne teatud päiseosa, mida üks C++ rakendus arvatavasti peaks kasutama: </para> + +<screen +><computeroutput +><literal> +/*************************************************************************** + * Copyright (C) 2003 by Your Name * + * you@you.com * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +</literal +></computeroutput +></screen> + +<para +>Teised mallid pakuvad samalaadset infot vormingus, mis vastab kasutatavale programmeerimiskeelele. </para> +<para +>Nagu vahest märkad, on rakenduste haldur juba täitnud osa infot, mille andsid dialoogi <guilabel +>Uue projekti loomine</guilabel +> esimesel kaardil (<guilabel +>Üldine</guilabel +>), nimelt sealmääratud väljade <guilabel +>Autor</guilabel +> ja <guilabel +>E-post</guilabel +> info. Lisatud on ka info, mille andsid väljal <guilabel +>Litsents</guilabel +>. </para> + +<sect3 id="new-projects-start-templates-edit"> +<title +>Mallide redigeerimine</title> + +<indexterm zone="new-projects-start-templates-edit"> + <primary +>mallid</primary> + <secondary +>projekt</secondary> + <tertiary +>redigeerimine</tertiary +></indexterm> +<indexterm zone="new-projects-start-templates-edit"> + <primary +>projekt</primary> + <secondary +>mallid</secondary> + <tertiary +>redigeerimine</tertiary +></indexterm> + +<para +>Malle, mida lood dialoogis <guilabel +>Uue projekti loomine</guilabel +>, kasutatakse hiljem, kui annad &kdevelop;ile korralduse luua uus lähtekoodi- ja/või päisefail. Siin antud info lisatakse dokumentatsiooni päisesse enne koodi enda algust. </para> +<para +>Sa ei ole siiski piiratud puhta tekstiga. &kdevelop; tunneb ka mitmeid muutujaid, millega kaasata faili tegelikku infot. Õigupoolest kasutaski &appwizard; muutujaid, kui lisas malli teksti väljade <guilabel +>Autor</guilabel +>, <guilabel +>E-post</guilabel +> ja <guilabel +>Litsents</guilabel +> info. </para> + +<variablelist> +<varlistentry> +<term +>&doxygen;i failiinfo kaasamine</term> +<listitem> +<para +>Kui näiteks soovid, et &doxygen;i loodud &API; dokumentatsioon näitakse failinimede nimekirjas lisainfot faili sisu kohta, võid lähtekoodifaili malli lisada järgmised read: </para> +<screen +><computeroutput> +/** + * \file $MODULE$.cpp + * \brief (put some short descripion here). + **/ +</computeroutput +></screen> +<para +>Kui nüüd lood uue lähtekoodifaili, asendab &kdevelop; muutuja <varname +>$MODULE$</varname +> loodu faili nimega. Kui näiteks lood uue C++ klassi nimega <classname +>ASimpleTest</classname +>, näed failis <filename +>asimpletest.cpp</filename +> järgmisi ridu: </para> +<screen +><computeroutput> +/** + * \file asimpletest.cpp + * \brief (put some short descripion here). + **/ +</computeroutput +></screen> +<para +>Sa pead küll ikkagi ise andma lühikirjelduse võtmesõna <quote +>\brief</quote +> järel, kuid osa tööst tehakse sinu eest automaatselt ära. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Litsentsiteksti fail</term> +<listitem> +<para +>Veel üks näide: sa võid malli lisada otsese viite litsentsile, mida soovid kasutada. Selleks tarvita muutujat <varname +>$LICENSEFILE$</varname +> ja lisa näiteks selline rida: </para> + +<screen +><computeroutput> +// See $LICENSEFILE$ for the full license text. +</computeroutput +></screen> +<para +>&appwizard; asendab muutuja <varname +>$LICENSEFILE$</varname +> faili nimega, milles paikneb täielik litsents, näiteks: </para> +<screen +><computeroutput> +// See COPYING for the full license text. +</computeroutput +></screen> +<para +><acronym +>GPL</acronym +> litsentsi korral või </para> +<screen +><computeroutput> +// See LICENSE.BSD for the full license text. +</computeroutput +></screen> +<para +>kui otsustad oma rakendust levitada <acronym +>BSD</acronym +> litsentsi alusel. </para> +<para +>Loomulikult tunneb &kdevelop; märksa rohkem muutujaid. Uuri lähemalt osa <link linkend="newfiles-edittemplates" +>Mallide redigeerimine</link +> peatükis <link linkend="editing" +>Redigeerimistööriistad</link +>. </para> +</listitem> +</varlistentry> +</variablelist> + +<note +><para +>Siin määratud mallid jõustuvad alles pärast seda, kui &appwizard; on uue projekti loonud. Selle info leiab nende failide algusest, mida sa ise arendamise käigus tekitad. Esialgseid faile luues kasutab &appwizard; teatud eelnevalt määratletud standardmalle. Sul tuleb need käsitsi muuta oma vajadustele vastavaks. </para +></note> + +</sect3 +> <!-- new-projects-start-templates-edit --> +</sect2 +> <!-- new-projects-start-templates --> + +<sect2 id="new-projects-start-build"> +<title +>Esialgsete projektifailide ehitamine</title> + +<indexterm zone="new-projects-start-build"> + <primary +>projekt</primary> + <secondary +>uus</secondary> + <tertiary +>ehitamine</tertiary +></indexterm> +<indexterm zone="new-projects-start-build"> + <primary +>projekt</primary> + <secondary +>esialgne ehitamine</secondary +></indexterm> + +<para +>Ongi peaaegu kõik valmis. Viimasel mallikaardil võtab nupp <guibutton +>Edasi ></guibutton +> kuju <guibutton +>Lõpeta</guibutton +>. </para> +<para +><emphasis +>Mõtle enne klõpsamist veel kõik korralikult läbi!</emphasis +> Nupule <guibutton +>< Tagasi</guibutton +> klõpsates saad kõik tehtu veel kord üle vaatada. &appwizard; jätab alati parajasti kehtivad valikud meelde, nii et tagasi- ja edasiliikumisel ei lähe andmeid kaotsi. Kui kasutad kohalikku &CVS;-i, kontrolli kindlasti veel kord <emphasis +>&CVS;-hoidla</emphasis +> nime (sellise nimega alamkataloogi ei tohiks varem &CVS;-i juurkataloogis olla — kui aga on, määra hoidlale mõni muu nimi). </para> +<para +>Kui sa ei soovi uut projekti tegelikult luua, välju dialoogist <guilabel +>Uue projekti loomine</guilabel +> klõpsuga nupule <guibutton +>Loobu</guibutton +>. Kui aga soovid, klõpsa nupule <guibutton +>Lõpeta</guibutton +> ja jälgi <guilabel +>teadete</guilabel +> aknas, kuidas &appwizard; projekti loob. </para> +<para +>Kui soovisid kasutada ka versioonikontrollisüsteemi (&CVS;), on õieti kaks ehitamisprotsessi. Kõigepealt ehitab &appwizard; projekti kataloogid ja failid ning kutsub siis välja &CVS;-i programmi, mis saadab siis <guilabel +>teadete</guilabel +> aknasse juba oma teated. Kui ühe protsessi ajal tekib mõni viga, protsess peatub ja sa näed vastavat veateadet aknas. </para> + +<note +><para +>Kui projekt sel moel luuakse, laadib &kdevelop; enamasti ühe või mõne olulisema mooduli lähtekoodifaili(d) kohe pärast seda, nii et saad nende kallal tegutsema asuda (see, milliseid mooduleid näidatakse — kui üldse — sõltub ennekõike mallist, mille sa &appwizard; esimesel sammul valisid). </para +></note> + +<para +>Ära unusta kohe kontrollimast, mida &appwizard; siis teinud on. Näiteks võib olla mõttekas muuta algset päiseinfot vastavalt oma mallidele. Enamasti leiad need oma projektikataloogi alamkataloogist <filename class="directory" +>templates</filename +>. Sageli piisab siin lihtsalt kopeerimisest. </para> +<para +>Soovitatav on <emphasis +>algne projekt kompileerida</emphasis +>, enne kui hakkad koodi muutma. Enamasti tuleb kompileerimine ka välja. Sel moel saad igal juhul kontrollida, kas projekt on tõesti korrektselt loodud. Kui kompileerimine peaks ebaõnnestuma, eemalda lihtsalt projektikataloog (ka kohalikus &CVS;-i juurkataloogis, kui sa kasutad versioonikontrollisüsteemi) ja alusta uuesti otsast peale. </para> + +<warning id="defaultbuild-warning" +> <!-- ### remove this when "default" works again --> + + <indexterm zone="defaultbuild-warning"> + <primary +>vaikimisi ehitamisseadistused</primary> + <secondary +>hoiatus</secondary +></indexterm> + <indexterm zone="defaultbuild-warning"> + <primary +>ehitamisseadistused</primary> + <secondary +>vaikimisi ehitamishoiatus</secondary +></indexterm> + <indexterm zone="defaultbuild-warning"> + <primary +>hoiatus</primary> + <secondary +>vaikimisi ehitamisseadistused</secondary +></indexterm> + + <para +>Enne uue projekti esimest kompileerimist võiks heita pilgu alammenüüsse <menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Ehitamise seadistused</guimenuitem +></menuchoice +>. Seal peaks olema kolm kirjet: <guimenuitem +>default</guimenuitem +>, <guimenuitem +>optimized</guimenuitem +> ja <guimenuitem +>debug</guimenuitem +>. Kui valitud on <guimenuitem +>debug</guimenuitem +>, jäta see kehtima, või vali <guimenuitem +>optimized</guimenuitem +>. </para> + <para +>Praeguste autoconf/automake'i teatud piirangute tõttu ei tohiks <emphasis +>mitte mingil juhul</emphasis +> valida ehitamise seadistustes kirjet <guimenuitem +>default</guimenuitem +>. See rikub ära teatud seesmised kataloogiseadistused, mis paneb käsu <command +>configure</command +> mitme asja üle kurtma, kui valid hiljem <guimenuitem +>optimized</guimenuitem +> või <guimenuitem +>debug</guimenuitem +>. </para> + <para +>(See kehtib muidugi siis, kui on mitu valikut. Kui sinu valitud rakenduse tüüp pakub ehitamise seadistuseks ainult kirje <guimenuitem +>default</guimenuitem +>, tuleb seda mõistagi kasutada.) </para> +</warning> + +</sect2 +> <!-- new-projects-start-build --> + +</sect1 +> <!-- new-projects --> + +<sect1 id="projects-configure"> +<title +>Projektide seadistamine</title> + +<para +>(... veel kirjutamata ...)</para> + +</sect1> + +</chapter +> <!-- applicationwizard --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/class-browsers.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/class-browsers.docbook new file mode 100644 index 00000000000..e9b662debbe --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/class-browsers.docbook @@ -0,0 +1,89 @@ +<chapter id="class-browsers"> +<title +>Klassisirvijad</title> +<indexterm zone="class-browsers" +><primary +>klassisirvija</primary +></indexterm> + +<para +>Objektorienteeritud programmeerimiskeeles projektiga töötades ei ole rõhk mitte lähtekoodifailidel ja nende nimedel, vaid klassidel ja nende suhetel. Abistamaks sind liikumisel defineeritud klasside ja sümbolite ruumis pakub &kdevelop; mitmeid klassisirvijaid, mis näitavad erineval moel klassistruktuuri. </para> + +<sect1 id="classview"> +<title +>Klassivaade</title> + +<para +>See vaade asub peaakna vasakus servas ja sisaldab sinu projekti kõigi klasside, muutujate ja funktsioonide nimekirja. Seda näidatakse puukujulisena. Kui avad klõpsuga mõne klassisõlme, näed kõigi selle meetodite ja atribuutide nimekirja. </para> + +<figure id="screenshot-classview" float="1"> +<title +>Klassivaate pilt</title> +<mediaobject> +<imageobject +><imagedata fileref="classview.png"/></imageobject> +</mediaobject> +</figure> + +<para +>Klassivaade võib olla kahesugune. Vaikimisi rühmitatakse kõik sümbolid <quote +>klassideks</quote +>, <quote +>struktuurideks</quote +>, <quote +>funktsioonideks</quote +>, <quote +>muutujateks</quote +> ja <quote +>nimeruumideks</quote +>. Vaate kontekstimenüüs saadki valida kirje <guimenuitem +>Grupeeri nimeruumide järgi</guimenuitem +>. Sel juhul näidatakse nimeruumide hierarhiat ning sümbolid rühmitatakse nimeruumidesse, kus nad on defineeritud. See on kasulik projektide korral, kus kasutatakse ohtralt (pesastatud) nimeruume, kuid mõistagi ei ole sel eriti mõtet nimeruumideta projektide korral. </para> + +<para +>Muuta saab ka seda, kuidas näidatakse klassinimesid. Tavaliselt näidatakse klassinimesid ilma nimeruumita, kus nad on defineeritud. Nii on esmapilgul raske eristada erinevate nimeruumide ühenimelisi klasse. Kui jätad hiire hetkeks kirje kohle seisma, näidatakse täielikku nime kohtspikrina. Kontekstimenüüst saad aga valida ka kirje <guimenuitem +>Täielikult identifitseeritud skoobid</guimenuitem +>. </para> + +<para +>Klassivaates klassi või meetodi nimel klõpsates saad liikuda selle definitsioonile. Samuti võid hüpata meetodi deklaratsioonile, valides kontekstimenüüst käsu <guimenuitem +>Ava deklaratsioon</guimenuitem +>. Kontekstimenüüst leiab veel käsud <guimenuitem +>Lisa meetod...</guimenuitem +> ja <guimenuitem +>Lisa atribuut...</guimenuitem +>. Need avavad dialoogid, kus saad genereerida uue meetodi ja muutuja deklaratsiooni vastavas klassis koos tühja teostusega. </para> + +</sect1 +> <!-- classview --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="classtools"> +<title +>Klassitööriistad</title> + +<para +>Klassitööriista saab avada hiire parema nupu klõpsuga klassivaates ning käsku <guimenuitem +>Klassitööriist...</guimenuitem +> valides. </para> + +</sect1 +> <!-- classtools --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="classhierarchy"> +<title +>Klassihierarhia</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect1 +> <!-- classhierarchy --> + +</chapter +> <!-- class-browsers --> + +<!-- ====================================================================== --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/commands.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/commands.docbook new file mode 100644 index 00000000000..ae11eaa7d29 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/commands.docbook @@ -0,0 +1,2999 @@ +<chapter id="commands"> + +<!-- TODO +- CAUTION: Check everything against actual KDevelp behaviour. Do not rely on tool tips etc. +- Summarize menu entries, like in getting-started. +- Complete descriptions, e.g. from What's This. +- Link to more detailed description, e.g. in plugin chapter. +--> + +<chapterinfo> + <authorgroup> + <author +><firstname +>Volker</firstname +> <surname +>Paul</surname +></author> + <othercredit role="translator" +><firstname +>Marek</firstname +><surname +>Laane</surname +><affiliation +><address +><email +>bald@starman.ee</email +></address +></affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> + </authorgroup> + + <date +>2005-04-03</date> +</chapterinfo> + +<title +>Käskude seletused</title> + +<note +><para +>Alljärgnevalt toodud kiirklahvid on vaikimisi määratud. Neid saab soovi korral muuta. </para +></note> + + + +<sect1 id="menubar"> +<title +>Menüüriba</title +> <para +>Pane tähele, et mõned menüükirjed on näha ainult siis, kui neid saab kasutada. Eriti kehtib see selliste kirjete kohta, mis on seotud mõne <link linkend="plugin-tools" +>pluginaga</link +>: neid näeb ainult siis, kui vastav plugin on sisse lülitatud.</para> + + + + + + +<!-- ======================= F I L E ============================= --> + +<sect2 id="menu-file"> +<title +>Menüü <guimenu +>Fail</guimenu +></title> + +<variablelist> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>N</keycap +></keycombo +> </shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Uus</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Loob uue faili. Kasutajal palutakse valida kataloog (vaikimisi on selleks aktiivse projekti kataloog) ja määrata faili nimi. Faili tüübi saab valida nimekirjast. Samuti saab valida, kas fail lisada projekti või mitte. Seejärel pärib Automake'i haldur, milliselel sihtmärgile uus fail lisada. </para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>O</keycap +></keycombo +> </shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Ava</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Avab tavalises failidialoogis olemasoleva faili.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>O</keycap +></keycombo +> </shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Ava hiljutine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Alammenüü, mis näitab viimati avatud faile. Neist mõne valimisel avatakse see KDevelopis. </para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;&Ctrl;<keycap +>O</keycap +></keycombo +> </shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Ava kiiresti</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Näitab aktiivse projekti kataloogis leiduvate failide nimekirja. Kasutaja võib valida nimekirjast faili või selle nime ise kirja panna. Seejärel fail avatakse. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>S</keycap +></keycombo +> </shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Salvesta</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Salvestab aktiivse faili.</para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>S</keycap +></keycombo +> </shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Salvesta kui...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Dialoog <guilabel +>Salvestamine</guilabel +> võimaldab salvestada faili teise nimega.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Fail</guimenu +> <guimenuitem +>Salvesta kõik</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Salvestab kõik avatud failid.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +><keycap +>F5</keycap +></shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Laadi uuesti</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Avab aktiivse faili uuesti, näidates selles muudes programmides tehtud muudatusi (pane tähele, et tavaliselt tuvastatakse sellised muudatused automaatselt ja kasutajalt küsitakse, kas ta soovib faili uuesti laadida).</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Fail</guimenu +> <guimenuitem +>Taasta kõik</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Tühistab kõik avatud failides tehtud muudatused ja küsib, kas muudatused salvestada, nii et tagasivõtmise saab iga muudetud faili korral lubada või keelata. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>P</keycap +></keycombo +> </shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Trüki...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Trükib.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Fail</guimenu +> <guimenuitem +>Ekspordi</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Ekspordib. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>F4</keycap +></keycombo +> </shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Sulge</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Sulgeb aktiivse faili. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Fail</guimenu +> <guimenuitem +>Sulge kõik</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Sulgeb kõik avatud failid. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Fail</guimenu +> <guimenuitem +>Sulge kõik teised</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Sulgeb kõik failid peale aktiivse faili. Väga kasulik, kui sul on avatud palju faile, nüüd aga soovid keskenduda ainult aktiivsele. Ilma selle käsuta tuleks need kõik sulgeda ja aktiivne seejärel uuesti avada. </para> +<para +>Pane tähele, et samasugune käsk on menüüs Aken. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>Q</keycap +></keycombo +> </shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Välju</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Sulgeb KDevelopi.</para +></listitem> +</varlistentry> + +</variablelist> + +</sect2> + + + +<!-- ======================= E D I T ============================= --> + + +<sect2 id="menu-edit"> +<title +>Menüü <guimenu +>Redigeerimine</guimenu +></title> + + +<variablelist> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>Z</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Võta tagasi</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Võtab tagasi. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;&Shift;<keycap +>Z</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Tee uuesti</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Teeb uuesti. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>X</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Lõika</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Lõikab. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>C</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Kopeeri</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Kopeerib. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>V</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Aseta</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Asetab. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>A</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Vali kõik</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Valib kõik. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;&Shift;<keycap +>A</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Tühista valik</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Tühistab valiku. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;&Shift;<keycap +>B</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Blokivaliku režiim</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Blokivaliku režiim. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +><keycap +>Insert</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +><guimenuitem +>Ülekirjutamisrežiim</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Ülekirjutamisrežiim. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>F</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Otsi</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Otsib. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +><keycap +>F3</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Otsi järgmine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Otsib järgmist. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Shift;<keycap +>F3</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Otsi eelmine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Otsib eelmist. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>R</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Asenda</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Asendab. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>G</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Mine reale</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Läheb reale. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;&Ctrl;<keycap +>F</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Otsi failidest</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Otsib failidest. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Shift;<keycap +>R</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Otsi-vali-asenda</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Võimaldab otsida, valida ja asendada. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Vorminda lähtetekst uuesti</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Vormindab lähteteksti ümber. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>J</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Laienda tekst</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Laiendab teksti. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>L</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Laienda lühendit</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Laiendab lühendit. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>Tühikuklahv</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Lõpeta tekst</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Lõpetab teksti. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +><keycap +>F2</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Ehita liige</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Ehitab liikme. </para +></listitem> +</varlistentry> + + +</variablelist> + +</sect2> + + + +<!-- ======================= V I E W ============================= --> + + +<sect2 id="menu-view"> + +<title +>Menüü <guimenu +>Vaade</guimenu +></title> + +<variablelist> +<varlistentry> +<term +><menuchoice +><guimenu +>Vaade</guimenu +> <guimenuitem +>Tagasi</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Tagasi. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Vaade</guimenu +> <guimenuitem +>Edasi</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Edasi. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>/</keycap +></keycombo +> </shortcut +> <guimenu +>Vaade</guimenu +> <guimenuitem +>Lülitu...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Lülitub. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;<keycap +>C</keycap +></keycombo +> </shortcut +> <guimenu +>Vaade</guimenu +> <guimenuitem +>Too redaktor esile</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Toob redaktori esile. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +><keycap +>F4</keycap +></keycombo +> </shortcut +> <guimenu +>Vaade</guimenu +> <guimenuitem +>Järgmine viga</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Järgmine viga. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Shift;<keycap +>F4</keycap +></keycombo +> </shortcut +> <guimenu +>Vaade</guimenu +> <guimenuitem +>Eelmine viga</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Eelmine viga. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Shift;<keycap +>F</keycap +></keycombo +> </shortcut +> <guimenu +>Vaade</guimenu +> <guimenuitem +>Täisekraanirežiim</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Täisekraanirežiim. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>F12</keycap +></keycombo +> </shortcut +> <guimenu +>Vaade</guimenu +> <guimenuitem +>Lülita päise/teostusfail</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Lülitub päise/teostusfaili vahel. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Vaade</guimenu +> <guimenuitem +>Tööriistavaated</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Tööriistavaated. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Vaade</guimenu +> <guimenuitem +>Tööriistadokid</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Tööriistadokid. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +><keycap +>F7</keycap +></keycombo +> </shortcut +> <guimenu +>Vaade</guimenu +> <guimenuitem +>Lülitu käsureale</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Lülitub käsureale. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Vaade</guimenu +> <guimenuitem +>Skeem</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Skeem. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +><keycap +>F10</keycap +></keycombo +> </shortcut +> <guimenu +>Vaade</guimenu +> <guimenuitem +>Dünaamiline reamurdmine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Dünaamiline reamurdmine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Vaade</guimenu +> <guimenuitem +>Dünaamilise reamurdmise märkijad</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Dünaamilise reamurdmise märkijad. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Vaade</guimenu +> <guimenuitem +>Staatilise reamurdmise märkijate näitamine/peitmine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Staatilise reamurdmise märkijate näitamine/peitmine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +><keycap +>F6</keycap +></keycombo +> </shortcut +> <guimenu +>Vaade</guimenu +> <guimenuitem +>Ikoonipiirde näitamine/peitmine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Ikoonipiirde näitamine/peitmine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +><keycap +>F11</keycap +></keycombo +> </shortcut +> <guimenu +>Vaade</guimenu +> <guimenuitem +>Reanumbrite näitamine/peitmine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Reanumbrite näitamine/peitmine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Vaade</guimenu +> <guimenuitem +>Kerimisriba märkide näitamine/peitmine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Kerimisriba märkide näitamine/peitmine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +><keycap +>F9</keycap +></keycombo +> </shortcut +> <guimenu +>Vaade</guimenu +> <guimenuitem +>Voltimismärkide näitamine/peitmine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Voltimismärkide näitamine/peitmine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Vaade</guimenu +> <guimenuitem +>Koodi voltimine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Koodi voltimine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Vaade</guimenu +> <guimenuitem +>Kodeering</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Kodeeringu määramine. </para +></listitem> +</varlistentry> + + + +</variablelist> + +</sect2> + + + + +<!-- ======================= P R O J E C T ============================= --> + + +<sect2 id="menu-project"> +<title +>Menüü <guimenu +>Projekt</guimenu +></title> + +<variablelist> + +<varlistentry> +<term +><menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Uus projekt...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Uus projekt. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Ava projekt...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Avab projekti. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Ava hiljutine projekt</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Avab hiljutise projekti. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Aktiivne keel</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Aktiivne keel </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Impordi olemasolev projekt...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Impordib olemasoleva projekti. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Uus klass...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Uus klass. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Klassipärilusskeem</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Klassipärilusskeem. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Lisa tõlge...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Lisab tõlke. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Ehitamise seadistused</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Ehitamise seadistused. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Pakkimine ja avaldamine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Projekti pakkimine ja avaldamine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Projekti seadistused...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Projekti seadistused. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Sulge projekt</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Sulgeb projekti. </para +></listitem> +</varlistentry> + + + + +</variablelist> + +</sect2> + + +<!-- ======================= B U I L D ============================= --> + + +<sect2 id="menu-build"> +<title +>Menüü <guimenu +>Projekt</guimenu +></title> + +<variablelist> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +><keycap +>F8</keycap +></keycombo +> </shortcut +> <guimenu +>Ehitamine</guimenu +> <guimenuitem +>Ehita projekt</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Ehitab projekti. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +><keycap +>F7</keycap +></keycombo +> </shortcut +> <guimenu +>Ehitamine</guimenu +> <guimenuitem +>Ehita aktiivne sihtmärk</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Ehitab aktiivse sihtmärgi. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Kompileeri fail</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Kompileerib faili. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Käivita 'configure'</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Käivitab käsu 'configure'. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Käivita automake</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Käivitab automake'i. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Paigalda</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Paigaldab. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Paigalda (administraatorina)</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Paigaldab (administraatorina). </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Puhasta projekt</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Puhastab projekti. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Puhasta kogu projekt</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Puhastab kogu projekti. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Shift;<keycap +>F9</keycap +></keycombo +> </shortcut +> <guimenu +>Ehitamine</guimenu +> <guimenuitem +>Ehita tõlkefailid ja ühenda</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Ehitab tõlkefailid ja ühendab. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Käivita rakendus</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Käivitab rakenduse. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Ehita API dokumentatsioon</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Ehitab API dokumentatsiooni. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Eemalda API dokumentatsioon</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Eemaldab API dokumentatsiooni. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +><keycap +>Escape</keycap +></keycombo +> </shortcut +> <guimenu +>Ehitamine</guimenu +> <guimenuitem +>Stopp</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Stopp. </para +></listitem> +</varlistentry> + + + + +</variablelist> + +</sect2> + + + +<!-- ======================= D E B U G ============================= --> + + +<sect2 id="menu-debug"> +<title +>Menüü <guimenu +>Projekt</guimenu +></title> + +<variablelist> + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Käivita</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Käivitab. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Stopp</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Stopp. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Debug</guimenu +> <guimenuitem +>Katkesta</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Katkestab. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Täida kursorini</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Täidab kursorini. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Astu üle</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Astub üle. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Astu üle instruktsiooni</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Astub üle instruktsiooni. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Astu sisse</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Astub sisse. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Astu instruktsiooni sisse</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Astub instruktsiooni sisse. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Astu välja</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Astub välja. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Muuda katkestuspunkti</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Lülitab katkestuspunkti. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Näitajad</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Näitajad. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Uuri core-faili...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Uurib core-faili. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Seonda protsessiga</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Seondab protsessiga. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Valgrind - mälulekete kontroll</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Mälulekete kontrollija Valgrind. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Profiil KCachegrindiga</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Profiil KCachegrindiga. </para +></listitem> +</varlistentry> + + + + +</variablelist> + +</sect2> + + + + + +<!-- ======================= B O O K M A R K S ============================= --> + + + +<sect2 id="menu-bookmarks"> +<title +>Menüü <guimenu +>Järjehoidjad</guimenu +></title> + +<variablelist> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>B</keycap +></keycombo +> </shortcut +> <guimenu +>Järjehoidjad</guimenu +> <guimenuitem +>Sea järjehoidja</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Lisab aktiivse valiku järjehoidjatesse.</para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Järjehoidjad</guimenu +> <guimenuitem +>Kõrvalda kõik järjehoidjad</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Eemaldab kõik järjehoidjad.</para +></listitem> +</varlistentry> +</variablelist> + +</sect2> + + + + +<!-- ======================= W I N D O W ============================= --> + + +<sect2 id="menu-window"> +<title +>Menüü <guimenu +>Aken</guimenu +></title> + +<variablelist> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;<keycap +>W</keycap +></keycombo +></shortcut +> <guimenu +>Aken</guimenu +> <guimenuitem +>Sulge valitud aknad...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Sulgeb valitud aknad.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>F4</keycap +></keycombo +></shortcut +> <guimenu +>Aken</guimenu +> <guimenuitem +>Sulge</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Sulgeb.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Aken</guimenu +> <guimenuitem +>Sulge kõik</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Sulgeb kõik aknad.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Aken</guimenu +> <guimenuitem +>Sulge kõik teised</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Sulgeb kõik teised aknad.</para +></listitem> +</varlistentry> + + +</variablelist> + +</sect2> + + + + + + +<!-- ======================= T O O L S ============================= --> + + +<sect2 id="menu-tools"> +<title +>Menüü <guimenu +>Tööriistad</guimenu +></title> + +<variablelist> +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Kirjutuskaitstud režiim</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Kirjutuskaitstud režiim. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Failitüüp</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Failitüüp. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Esiletõstmine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Esiletõstmine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Rea lõpp</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Rea lõpp. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Õigekirja kontroll</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Õigekirja kontroll. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>I</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Treppimine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Treppimine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;&Shift;<keycap +>I</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Tagasitreppimine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Tagasitreppimine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Eemalda treppimine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Eemaldab treppimise. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>Tab</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Joonda</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Joondab. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>D</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Kommentaar</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Kommentaar. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;&Shift;<keycap +>D</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Kommentaari eemaldamine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Kommentaari eemaldamine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>U</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Suurtähed</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Suurtähed. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;&Shift;<keycap +>U</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Väiketähed</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Väiketähed. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;&Ctrl;<keycap +>U</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Kapiteelkiri</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Kapiteelkiri. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>J</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Ühenda read</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Ühendab read. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Reamurdmine dokumendis</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Reamurdmine dokumendis. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Erinevuste näitaja...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Erinevuste näitaja. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Käivita käsk...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Käivitab käsu. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Filtreeri valik läbi käsu...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Filtreerib valiku läbi välise käsu <link linkend="KDevFilter" +>filtriplugina</link +> abil. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Regulaaravaldise silumine...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Regulaaravaldise silumine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Komponentide näitaja</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Komponentide näitaja. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;&Ctrl;<keycap +>C</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Ava kiiresti klass...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Klassi kiiravamine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;&Ctrl;<keycap +>M</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Ava kiiresti meetod...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Meetodi kiiravamine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;&Ctrl;<keycap +>P</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Doxygeni väljundi eelvaatlus</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Doxygeni väljundi eelvaatlus. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;&Shift;<keycap +>S</keycap +></keycombo +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Dokumenteeri aktiivne funktsioon</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Dokumenteerib aktiivse funktsiooni. </para +></listitem> +</varlistentry> + + + +</variablelist> + +</sect2> + + + + +<!-- ======================= S E T T I N G S ============================= --> + + +<sect2 id="menu-settings"> +<title +>Menüü <guimenu +>Seadistused</guimenu +></title> + + +<variablelist> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>M</keycap +></keycombo +></shortcut +> <guimenu +>Seadistused</guimenu +> <guimenuitem +>Menüüriba näitamine/peitmine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Menüüriba näitamine/peitmine.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>Tööriistaribad</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Alammenüü, kus saab valida, milliseid tööriistaribasid näidata ja milliseid peita.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>Olekuriba näitamine</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Olekuriba näitamine.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>Kiirklahvide seadistamine...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Kiirklahvide seadistamine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>Tööriistaribade seadistamine...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Tööriistaribade seadistamine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>Märguannete seadistamine...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Märguannete seadistamine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>Redaktori seadistamine...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Redaktori seadistamine. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>KDevelopi seadistamine...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>KDevelopi seadistamine. </para +></listitem> +</varlistentry> + + + + +</variablelist> + +</sect2> + + +<!-- ======================= H E L P ============================= --> + + +<sect2 id="menu-help"> +<title +>Menüü <guimenu +>Abi</guimenu +></title> + +<variablelist> + +<varlistentry> +<term +><menuchoice +><guimenu +>Abi</guimenu +> <guimenuitem +>KDevelopi käsiraamat</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Avab käesoleva käsiraamatu.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Shift;<keycap +>F1</keycap +></keycombo +></shortcut +> <guimenu +>Abi</guimenu +> <guimenuitem +>Mis see on?</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Tekitab hiirekursori kõrvale küsimärgi (?), millega mõnele elemendile (näiteks ikoonile <guiicon +>Stopp</guiicon +>) klõpsates näeb selle kohta lühikest selgitust. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Abi</guimenu +> <guimenuitem +>Päeva nõuanne</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Päeva nõuanne. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;&Ctrl;<keycap +>I</keycap +></keycombo +> </shortcut +> <guimenu +>Abi</guimenu +> <guimenuitem +>Otsi dokumentatsiooni indeksist...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Otsib dokumentatsiooni indeksist. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;&Ctrl;<keycap +>S</keycap +></keycombo +> </shortcut +> <guimenu +>Abi</guimenu +> <guimenuitem +>Otsi dokumentatsioonis...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Otsib dokumentatsioonis. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Abi</guimenu +> <guimenuitem +>Man-lehekülg...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Manuaalilehekülg. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Abi</guimenu +> <guimenuitem +>Info-lehekülg...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Info-lehekülg. </para +></listitem> +</varlistentry> + + +<varlistentry> +<term +><menuchoice +><guimenu +>Abi</guimenu +> <guimenuitem +>Saada vearaport...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Saadab veateate.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Abi</guimenu +> <guimenuitem +>KDevelopi info...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Näitab lühiinfot KDevelopi versiooni, autorite ja litsentsi kohta.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Abi</guimenu +> <guimenuitem +>KDE info...</guimenuitem +> </menuchoice +></term> +<listitem +><para +>Näitab infot töötava &kde; versiooni kohta.</para +></listitem> +</varlistentry> + +</variablelist> + +</sect2> + + + +</sect1> + + + + +</chapter> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/credits.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/credits.docbook new file mode 100644 index 00000000000..7de5011e939 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/credits.docbook @@ -0,0 +1,40 @@ +<chapter id="credits"> +<title +>Autorid</title> + +<sect1 id="credits-contributions"> +<title +>Tegijad</title> + +<para> +<itemizedlist> + <listitem +><para +>Käsiraamatu esialgse variandi kirjutasid Bernd Gehrmann <email +>bernd@kdevelop.org</email +> ja Caleb Tennis <email +>caleb@aei-tech.com</email +>. </para +></listitem> + <listitem +><para +><link linkend="automake-manager-summary" +>&automanag;i kokkuvõtte</link +> ja <link linkend="automake-manager-operation" +>Automake'i halduri kasutamise</link +> peatükid kirjutas Ian Wadham <email +>ianw@netspace.net.au</email +>. </para +></listitem> +</itemizedlist> +</para> + +</sect1 +> <!-- credits-contributions --> + +<!--CREDITS_FOR_TRANSLATORS--> + +</chapter +> <!-- credits --> + +<!-- ====================================================================== --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/cvs.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/cvs.docbook new file mode 100644 index 00000000000..98b90b30526 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/cvs.docbook @@ -0,0 +1,131 @@ +<chapter id="cvs"> +<title +>&CVS;-i kasutamine</title> +<indexterm zone="cvs" +><primary +>CVS</primary +></indexterm> +<indexterm zone="cvs" +><primary +>versioonikontroll</primary +></indexterm> + +<sect1 id="cvs-basics"> +<title +>&CVS;-i põhitõed</title> + +<para +>&CVS; on versioonikontrollisüsteem, mida kasutavad paljud avatud lähtekoodiga tarkvara projektid — sealhulgas &kde;. See salvestab kogu lähtekoodi ühte kohta, mida nimetatakse <emphasis +>hoidlaks</emphasis +>. Hoidlast võivad arendajad võtta välja projekti hetkeversiooni või selle mis tahes hetkest pärit seisu. Erinevalt mõnest teisest versioonikontrollisüsteemist ei ole vajadust <emphasis +>lukustada</emphasis +> faile, mille kallal töötad. Nii saab arendus käia sõna otseses mõttes paralleelselt. </para> + +<para +>Pärast oma ülesande lõpetamist arendaja <emphasis +>kannab oma koodi sisse</emphasis +> (lisades logiteate). &CVS; võtab enda peale mitme arendaja tehtud muudatuste ühendamise. Võib muidugi juhtuda, et arendajad on töötanud ühe ja sama asja kallal, mis tekitab konfliktseid muudatusi (tegelikult tuleb seda väga harva ette ning osutab suhtlemisprobleemidele). Sel juhul lükkab &CVS; sissekande tagasi ning faili saab sisse kanda alles siis, kui kõik konfliktid on lahendatud. </para> + +<para +>Öeldu hõlmas vaid &CVS;-i kõige elementaarsemaid omadusi, millega selle kasutamisel paratamatult kokku puudutakse. Kuid &CVS; suudab palju enamat: korraga võib seal paikneda ühe projekti mitu haru (⪚ &kde; 1.1.2 ja &kde; 2, mis olidki omal ajal &kde; arendusharud), ühest harust on võimalik muudatusi teise harusse liita, näha saab versioonidevahelisi erinevusi, failid säilitavad versiooniajalugu &etc; </para> + +<para +>&CVS; kujutab endast klient-server süsteemi. Kasutaja poolt käib kogu suhtlemine hoidlaga käsureaprogrammi &cvs; vahendusel. Kõrgema taseme kasutajaliidest pakuvad sellised rakendused nagu &cervisia; (<ulink url="http://cervisia.sf.net" +></ulink +>) või <application +>TkCVS</application +> (<ulink url="http://tkcvs.sf.net" +></ulink +>). &kdevelop;is saab kasutada vaid väikest osa &cvs;-i võimalustest, mis on olulised sinu igapäevatöö seisukohalt. </para> + +<para +>Me eeldame, et sul on juba põhiteadmised &CVS;-i kasutamisest, eriti just selle kohta, kuidas hoidlast konkreetse projekti faile välja võtta. Me soovitame lugeda Karl Fogeli raamatut <quote +>Open Source Development With &CVS;</quote +>, mida levitatakse vabalt (välja arvatud mittetehnilised peatükid). Vaata <ulink url="http://cvsbook.red-bean.com/cvsbook.html" +></ulink +>. </para> + +</sect1 +> <!-- cvs-basics --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="cvs-commands"> +<title +>&CVS;-i käsud &kdevelop;is</title> + +<para +>Failivaadetes on kontekstimenüüs järgmised käsud: </para> + +<variablelist> +<varlistentry> +<term +>Lisa hoidlasse</term> +<listitem> +<para +>Valmistab ette märgitud faili lisamise hoidlasse. Fail lisatakse lõplikult hoidlasse siis, kui sa kannad selle (või seda sisaldava kataloogi) hoidlasse sisse. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Eemalda hoidlast</term> +<listitem> +<para +>Valmistab ette faili eemaldamise hoidlast. See kustutab faili ka kohalikust failisüsteemist, mistõttu seda käsku tuleks tarvitada suure ettevaatusega! </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Uuenda</term> +<listitem> +<para +>Käivitab käsu <command +>cvs update</command +>, mis ühendab kõik teiste kasutajate tehtud muudatused sinu töökataloogi. Käsku kataloogis andes toimub uuendamine tavaliselt rekursiivselt, kui sa ei ole seda just keelanud konfiguratsioonifailis <filename +>.cvsrc</filename +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Kanna sisse</term> +<listitem> +<para +>Käivitab käsu <command +>cvs commit</command +>, millega kantakse kõik kohalikud muudatused hoidlasse. Pane tähele, et enne seda tuleks enda faili uuendada, sest kui samadesse failidesse on vahepeal teinud muudatusi mõni teine kasutaja, annab &CVS; teada veast ega kanna sinu muudatusi sisse. </para> +</listitem> +</varlistentry> +</variablelist> + +<para +>&kdevelop; kutsub kõik need käsud välja alamprotsessidena ilma täiendavate käsureavõtmete või keskkonnamuutujateta. See võib tekitada probleeme, kui ühendus &CVS;-serveriga kulgeb üle &ssh; ühenduse, mis nõuab, et annaksid igal uuendamisel või sissekandmisel parooli. See on vajalik näiteks siis, kui sinu projekti majutab <filename +>sourceforge.net</filename +>. Selle probleemi lahendamise võimalusi kirjeldab &CVS;/SSH KKK, mille leiad SourceForge'i dokumentatsiooni seast. </para> + +</sect1 +> <!-- cvs-basics --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="cvs-behind"> +<title +>Taustal</title> + +<sect2 id="cvs-behind-workdir"> +<title +>Mida &CVS; salvestab töökataloogi</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- cvs-behind-workdir --> + +</sect1 +> <!-- cvs-behind --> + +</chapter +> <!-- cvs --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/debugger.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/debugger.docbook new file mode 100644 index 00000000000..e82b35ee638 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/debugger.docbook @@ -0,0 +1,339 @@ +<chapter id="debugger"> +<title +>Siluriliides</title> +<indexterm zone="debugger" +><primary +>silur</primary +></indexterm> + +<para +>C ja C++ programmeerimise jaoks sisaldab &kdevelop; seesmist, otseselt redaktoriga põimitud silurit. Tehniliselt kujutab see endast &GNU; siluri <application +>gdb</application +> kasutajaliidest. Siluri saab käivitada mitmel moel: </para> + +<itemizedlist> +<listitem> +<para +>Menüükäsuga <menuchoice +><guimenu +>Silumine</guimenu +><guimenuitem +>Käivita</guimenuitem +></menuchoice +> laetakse sinu projekti põhiprogramm silurisse. </para> +</listitem> + +<listitem> +<para +>Menüükäsuga <menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Käivita (muu)</guimenuitem +> <guimenuitem +>Uuri core-faili</guimenuitem +></menuchoice +> saab laadida mällu core-faili, mille loob operatsioonisüsteemi kernel, kui programmi tabab krahh (core-faili tekitamine võib olla küll sinu süsteemis välja lülitatud, vaata <application +>ulimit(1)</application +>). Sellest on abi programmi nii-öelda surmajärgseks uurimiseks. </para> +</listitem> + +<listitem> +<para +>Menüükäsuga <menuchoice +><guimenu +>Silumine</guimenu +> <guimenuitem +>Käivita (muu)</guimenuitem +> <guimenuitem +>Seonda protsessiga</guimenuitem +></menuchoice +> saab siluri välja kutsuga juba töötava rakenduse jaoks. Sulle näidatakse protsesside nimekirja, kus saad valida protsessi, mille silur peab enda hooleks võtma. </para> +</listitem> + +<listitem> +<para +>Pane tähele, et silumine on võimalik ainult siis, kui projekt on kompileeritud silumisinfot lubades. Selle saab sisse lülitada dialoogis <guibutton +>Kompilaatori seadistused</guibutton +>. Kui see valik on sisse lülitatud, tekitab kompilaator lisaandmed, mis lubavad siluril siduda failinimed ja reanumbrid käivitatava faili aadressidega. </para> +</listitem> +</itemizedlist> + +<para +>Siluriliides pakub mitut vaadet protsessi <quote +>sisse</quote +>: </para> + +<para +>Kui üritad siluda ilma silumisinfota projekti, näed olekuribal teadet <computeroutput +>No source...</computeroutput +> Kui üritad määrata katkestuspunkti, näed katkestuspunktide aknas (vaata allpool) teadet <computeroutput +>Ootel (lisa)</computeroutput +>. </para> + +<variablelist> +<varlistentry> +<term +>Muutujad</term> +<listitem> +<indexterm zone="debugger" +><primary +>muutujate jälgimine</primary +></indexterm> +<para +>See aken näitab kõigi kohalike muutujate väärtusi programmi täitmise hetkeasukohas. See hõlmab muutujaid kogu väljakutsete pinus, &ie; funktsiooni, kus protsess katsestati, funktsiooni, mis selle funktsiooni välja kutsus, ja nii edasi kuni funktsioonini <function +>main()</function +>. </para> + +<para +>Muutujate teine haru sisaldab jälgitavaid muutujaid. Seda, milliseid muutujaid siin näeb, saad ise määrata. Jälgida saab nii kohalikke kui ka globaalseid muutujaid. Muutujaid saab lisada kas klõpsuga nupule <guibutton +>Lisa</guibutton +> või vajutades klahvi <keycap +>Return</keycap +> ajal, mil valitud on mõni element harus <guilabel +>Jälgimine</guilabel +>. Kontekstimenüüga saab muutujaid ka eemaldada. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Pinuvaade</term> +<listitem> +<indexterm zone="debugger" +><primary +>pinuvaade</primary +></indexterm> +<para +>(... veel kirjutamata ...) </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Katkestuspunktid</term> +<listitem> +<indexterm zone="debugger" +><primary +>katkestuspunktid</primary +></indexterm> +<para +>See aken võimaldab näha katkestuspunkte ja nendega üht-teist ette võtta. Pane tähele, et &kdevelop; kasutab <application +>GDB</application +>-d, mistõttu &kdevelop;i silumisvõimaluste täielikuks mõistmiseks oleks kasulik omada mingit ülevaadet <ulink url="http://www.gnu.org/software/gdb" +>GDB-st</ulink +>. </para> + +<para +>Kui soovid näha lähtekoodi, siis katkestuspunktid on defineeritud failis <filename +>kdevelop/languages/cpp/debugger/breakpoint.h</filename +>. </para> + +<para +>Akna vasakus servas on mõned nupud:</para> + +<itemizedlist> +<listitem +><para +>Lisa tühi katkestuspunkt</para +></listitem> +<listitem +><para +>Muuda valitud katkestuspunkti</para +></listitem> + <listitem +><para +>Kustuta valitud katkestuspunkt</para +></listitem> +<listitem +><para +>Eemalda kõik katkestuspunktid</para +></listitem> +</itemizedlist> + +<para +>Akna põhiosa koosneb seitsme veeruga tabelist. Iga tabeli rida tähistab katkestuspunkti. Veerud on järgmised:</para> + +<orderedlist> +<listitem +><para +>Valikukast</para +></listitem> +<listitem +><para +>Tüüp: kas vigane, fail:rida, jälgimispunkt, aadress või funktsioon</para +></listitem> +<listitem +><para +>Olek. Väärtused on järgmised:</para> +<itemizedlist> + <listitem +><para +>Aktiivne</para +></listitem> + <listitem +><para +>Keelatud: iga katkestuspunkt võib olla <quote +>lubatud</quote +> või <quote +>keelatud</quote +>; viimasel juhul ei mõjuta see sinu programmi, kuni sa seda taas ei aktiveeri.</para +></listitem> + <listitem +><para +>Ootel (lisa): katkestuspunkt märgitakse nii juhul, kui silumisinfot pole saadaval. GDB info-lehekülg selgitab seda nii: <blockquote +><para +>Kui määratud katkestuspunkti asukohta ei leita, võib tegemist olla asjaoluga, et asukoht paikneb jagatud teegis, mis pole veel laaditud. Sel juhul võib GDB luua spetsiaalse katkestuspunkti (nimetatakse <quote +>ootel katkestuspunktiks</quote +>), mis üritab end lahendada tulevikus, kui laaditakse vajalik jagatud teek.</para +></blockquote +> </para +></listitem> +</itemizedlist> +</listitem> +<listitem +><para +>Ootel (puhasta)</para +></listitem> +<listitem +><para +>Ootel (muuda)</para +></listitem> +<listitem +><para +>Asukoht kujul failinimi:reanumber</para +></listitem> +<listitem +><para +>Tingimus</para +></listitem> +<listitem +><para +>Ignoreerimiste arv: kui arv <varname +>COUNT</varname +> on suurem kui null, siis järgmisel <varname +>COUNT</varname +> korral, mil katkestuspunktini jõutakse, ei katkestada programmi täitmist; <application +>gdb</application +> ei tee sel juhul muud, kui ainult kahandab ignoreerimiste arvu.</para +></listitem> +<listitem +><para +>Päringuid: näitab, mitu korda on katkestuspunktini jõutud.</para +></listitem> +</orderedlist> + + +</listitem> +</varlistentry> + +<varlistentry> +<term +>Pöördtransleerimine</term> +<listitem> +<indexterm zone="debugger" +><primary +>pöördtransleerimine</primary +></indexterm> +<para +>(... veel kirjutamata ...)</para> + +</listitem> +</varlistentry> +</variablelist> + + +<sect1 id="settingbreakpoints"> +<title +>Katkestuspunktide määramine</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect1 +> <!-- settingbreakpoints --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id ="debuggeroptions"> +<title +>Seadistused</title> + +<variablelist> +<varlistentry> +<term +>Segatud nimede näitamine</term> +<listitem> +<indexterm zone="debugger" +><primary +>nimede segamine</primary +></indexterm> +<indexterm zone="debugger" +><primary +>segamine</primary +><secondary +>nimi</secondary +></indexterm> + +<para +>C++ korral on funktsioonide nimed käivitatavas failis <quote +>segatud</quote +>, &ie; funktsioonide nimed sisaldavad infot argumentide tüüpide kohta. See on vajalik funktsioonide ülelaadimise toetuseks. Segamisalgoritm pole standardiseeritud ning on erinevates &GNU; C++ kompilaatorites erinev. </para> + +<para +>Pöördassembleerimise aknas näidatakse tavaliselt segamata nimesid, nii et funktsioonide signatuurid on samasugused nagu lähtekoodis, et neid oleks hõlpus lugeda. Aga soovi korral võid lasta näidata ka segatud nimesid. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Teegi laadimiselpüütakse seada katkestuspunkte</term> +<listitem> +<indexterm zone="debugger" +><primary +>laisad katkestuspunktid</primary +></indexterm> +<indexterm zone="debugger" +><primary +>katkestuspunktid</primary +><secondary +>laisk</secondary +></indexterm> + +<para +>Siluri taustaprogramm <application +>gdb</application +> ei luba seada katkestuspunkte koodis, mis ei ole parajasti laaditud. Suure moodulite arvuga rakenduses, kus kood laaditakse tihtipeale ainult nõudmisel pluginana (kasutades libc funktsiooni <function +>dlopen(3)</function +>), ei pruugi see just mugav olla. Seepörast toetab &kdevelop; omalt poolt katkestuspunkte jagatud teekides. Selle valiku sisselülitamisel saab seada katkestuspunkte teekides, mis ei ole laetud. Kui seejärel <application +>gdb</application +> tuvastab, et teek on laaditud, püüab &kdevelop; seada ootel katkestuspunktid. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Liikuva tööriistariba lubamine</term> +<listitem> +<indexterm zone="debugger" +><primary +>siluririba</primary +></indexterm> +<indexterm zone="debugger" +><primary +>tööriistariba</primary +><secondary +>silur</secondary +></indexterm> + +<para +>(... veel kirjutamata ...) </para> +</listitem> +</varlistentry> +</variablelist> + +</sect1 +> <!-- debuggeroptions --> + +</chapter +> <!-- debugger --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/documentation.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/documentation.docbook new file mode 100644 index 00000000000..ab9d1a072bc --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/documentation.docbook @@ -0,0 +1,73 @@ +<chapter id="documentation"> +<title +>Dokumentatsioon</title> + +<para +>Dokumentatsioon kuulub paraku programmeerimise juures enamasti väga vähest tähelepanu pälvivate asjade hulka. Ometi on korralikult loodud ja hooldatud seesmisest ja välisest dokumentatsioonist väga suur abi ja kasu. </para> + +<para +>Dokumentatsioon võib esineda mitmel kujul: <itemizedlist> + <listitem +><para +><emphasis +>projekti seesmine dokumentatsioon</emphasis +>, mille moodustavad peamiselt <itemizedlist> + <listitem +><para +><emphasis +>kommentaarid</emphasis +> päise/lähtekoodifailides </para +></listitem> + <listitem +><para +><emphasis +>seesmine &API; dokumentatsioon</emphasis +>, mille sinu projektile loob programmifailide põhjal mõni spetsiaalne tööriist, ⪚ &doxygen; </para +></listitem> + </itemizedlist> + </para +></listitem> + <listitem +><para +><emphasis +>projekti väline dokumentatsioon</emphasis +>, mille moodustavad muu hulgas <itemizedlist> + <listitem +><para +><emphasis +>väline &API; dokumentatsioon</emphasis +> ⪚ üldiste süsteemsete teekide kohta (&kde;, &Qt; &etc;) </para +></listitem> + <listitem +><para +>mis tahes muu dokumentatsioon (programmeerimiskeele käsiraamatud, süsteemi üldine info, HOWTO-d ja nii edasi) </para +></listitem> + </itemizedlist> + </para +></listitem> +</itemizedlist> +</para> +<para +>Kogu dokumentatsioon peab olema hõlpsasti hooldatav ja vajaduse korral alati käepärast. &kdevelop; võimaldab seda kõike. </para> + +<!-- ### doc browser, notes on internal documentation, how to profit from Doxygen --> + +<sect1 id="docbrowser"> +<title +>Dokumentatsioonisirvija</title> + + +<figure id="screenshot-doctreeview" float="1"> +<title +>Dokumentatsioonipuu pilt</title> +<mediaobject> +<imageobject +><imagedata fileref="doctreeview.png"/></imageobject> +</mediaobject> +</figure> + +</sect1 +> <!-- docbrowser --> + +</chapter +> <!-- documentation --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/editing.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/editing.docbook new file mode 100644 index 00000000000..369fb4cc704 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/editing.docbook @@ -0,0 +1,608 @@ +<chapter id="editing"> +<title +>Redigeerimistööriistad</title> + +<sect1 id="editing-snippets"> +<title +>Koodijupid</title> + +<itemizedlist> + <title +>Omadused (põgus ülevaade)</title> + <listitem +><para +>Koodijuppide komponent lisab tööriistavaate töötsoonist paremale </para +></listitem> + <listitem +><para +>Koodijuppe saab lisada, eemaldada ja muuta kontekstimenüü abil </para +></listitem> + <listitem +><para +>Topeltklõpsuga koodijupil lisatakse see aktiivsesse vaatesse kursori asukohta </para +></listitem> + <listitem +><para +>Kohtspikrid näitavad koodijupi sisu </para +></listitem> + <listitem +><para +>Koodijupid salvestatakse kasutaja kodukataloogi, mistõttu igal kasutajal võivad olla omaenda koodijupid </para +></listitem> + <listitem +><para +>Koodijupid võivad sisaldada muutujaid kujul $<varname +>MUUTUJANIMI</varname +>$. Koodijupi kasutamisel palutakse kasutajal määrata muutujate väärtus </para +></listitem> +</itemizedlist> +</sect1 +> <!-- editing-snippets --> + +<sect1 id="keyboardmapping"> +<title +>Kiirklahvid</title> +<indexterm zone="keyboardmapping" +><primary +>kiirklahvid</primary +></indexterm> + +<para +>Järgnevalt toome ära vaikeredaktori vaikimisi kiirklahvid. Sul on neid mõistagi võimalik ka omatahtsi muuta. </para> + +<informaltable> +<tgroup cols="2"> +<tbody> + +<row +><entry +><para +><keycap +>Nool vasakule </keycap +></para +></entry> +<entry +><para +>Liigub ühe märgi võrra vasakule </para +></entry +></row> + +<row +><entry +><para +><keycap +>Nool paremale </keycap +></para +></entry> +<entry +><para +>Liigub ühe märgi võrra paremale </para +></entry +></row> + +<row +><entry +><para +><keycombo +>&Ctrl;<keycap +>Nool vasakule</keycap +></keycombo +></para +></entry> +<entry +><para +>Liigub ühe sõna võrra vasakule </para +></entry +></row> + +<row +><entry +><para +><keycombo +>&Ctrl;<keycap +>Nool paremale</keycap +></keycombo +></para +></entry> +<entry +><para +>Liigub ühe sõna võrra paremale </para +></entry +></row> + +<row +><entry +><para +><keycap +>Nool üles </keycap +></para +></entry> +<entry +><para +>Liigub ühe rea võrra üks </para +></entry +></row> + +<row +><entry +><para +><keycap +>Nool alla </keycap +></para +></entry> +<entry +><para +>Liigub ühe rea võrra alla </para +></entry +></row> + +<row +><entry +><para +><keycap +>Page Up </keycap +></para +></entry> +<entry +><para +>Liigub ühe lehekülje võrra üles </para +></entry +></row> + +<row +><entry +><para +><keycap +>Page Down </keycap +></para +></entry> +<entry +><para +>Liigub ühe lehekülje võrra alla </para +></entry +></row> + +<row +><entry +><para +><keycombo +>&Ctrl;<keycap +> Page Up </keycap +></keycombo +></para +></entry> +<entry +><para +>Liigub faili algusse </para +></entry +></row> + +<row +><entry +><para +><keycombo +>&Ctrl;<keycap +> Page Down </keycap +></keycombo +></para +></entry> +<entry +><para +>Liigub faili lõppu </para +></entry +></row> + +<row +><entry +><para +><keycap +>Home </keycap +></para +></entry> +<entry +><para +>Liigub rea algusse </para +></entry +></row> + +<row +><entry +><para +><keycap +>End </keycap +></para +></entry> +<entry +><para +>Liigub rea lõppu </para +></entry +></row> + +</tbody> +</tgroup> +</informaltable> + +<para +>Kõigi mainitud klahvide korral võib vajutada ka klahvi &Shift;, millega saab märkida teksti alates kursori asukohast. </para> + +<informaltable> +<tgroup cols="2"> +<tbody> + +<row +><entry +><para +><keycap +>Backspace </keycap +></para +></entry> +<entry +><para +>Kustutab ühe märgi vasakult </para +></entry +></row> + +<row +><entry +><para +><keycap +>Delete </keycap +></para +></entry> +<entry +><para +>Kustutab kursori juures oleva märgi </para +></entry +></row> + +<row +><entry +><para +><keycombo +>&Ctrl;<keycap +> C </keycap +></keycombo +></para +></entry> +<entry +><para +>Kopeerib valitud teksti lõikepuhvrisse </para +></entry +></row> + +<row +><entry +><para +><keycombo +>&Ctrl;<keycap +> V </keycap +></keycombo +></para +></entry> +<entry +><para +>Asetab valitud teksti lõikepuhvrist </para +></entry +></row> + +<row +><entry +><para +><keycombo +>&Ctrl;<keycap +> X </keycap +></keycombo +></para +></entry> +<entry +><para +>Kustutab valitud teksti ja asetab selle lõikepuhvrisse </para +></entry +></row> + +<row +><entry +><para +><keycombo +>&Ctrl;<keycap +> Z </keycap +></keycombo +></para +></entry> +<entry +><para +>Võta tagasi </para +></entry +></row> + +<row +><entry +><para +><keycombo +>&Shift;&Ctrl;<keycap +> Z </keycap +></keycombo +></para +></entry> +<entry +><para +>Tee uuesti </para +></entry +></row> + +</tbody> +</tgroup> +</informaltable> + +</sect1 +> <!-- keyboardmapping --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="editing-reporter"> +<title +>Probleemide teavitaja</title> + +<para +>(... veel kirjutamata ...) </para> +</sect1 +> <!-- editing-reporter --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="searchinggrepping"> +<title +>Otsimine ja grep</title> +<indexterm zone="searchinggrepping" +><primary +>otsimine</primary +></indexterm> +<indexterm zone="searchinggrepping" +><primary +>otsing</primary +></indexterm> + +<sect2 id="searching"> +<title +>Teksti otsimine</title> + +<para +><keycombo +>&Ctrl;<keycap +>F</keycap +></keycombo +>- Otsi <keycombo +>&Ctrl;<keycap +>R</keycap +></keycombo +>- Asenda </para> + +</sect2 +> <!-- searching --> + + +<sect2 id="isearch"> +<title +>T-otsing</title> +<indexterm zone="isearch" +><primary +>isearch</primary +></indexterm> +<indexterm zone="isearch" +><primary +>täpsustav otsing</primary +></indexterm> +<indexterm zone="isearch" +><primary +>otsing</primary +><secondary +>täpsustav</secondary +></indexterm> + +<para +>Tavapärane otsing (<menuchoice +><guimenu +>Redigeerimine</guimenu +> <guimenuitem +> Otsi</guimenuitem +></menuchoice +>) nõuab, et määraksid enne otsimist kogu otsitava sõna. Enamasti on aga märksa kiirem täpsustav otsing. Kui klõpsad tööriistaribal väljale <guilabel +>T-otsing</guilabel +>, hakatakse otsima kohe, kui väljale midagi sisestad. Sageli leiad vajaliku sõna üles juba kolme-nelja tähe kirjutamise järel. </para> + +</sect2 +> <!-- isearch --> + + +<sect2 id="grep"> +<title +>Grep</title> +<indexterm zone="grep" +><primary +>otsing</primary +><secondary +>failides</secondary +></indexterm> + +<para +>Mõlemad mainitud otsinguviisid lubavad otsida ainult ühes failis. Veel üks tööriist võimaldab otsida ka paljudes failides korraga. Selle avamiseks vali käsk <guimenuitem +>Otsi failidest...</guimenuitem +> menüüst <guimenu +>Redigeerimine</guimenu +>. Põhimõtteliselt on see programmi &grep; kasutajaliides. </para> + +<para +>Dialoogis saad määrata, millistest failidest otsida. Liitkastides saab kindlaks määrata mitmesugused metamärgimustrid. Sel moel saab näiteks piirata otsingu päisefailidega. Lisaks saab määrata kataloogi, kus otsingut alustatakse. Kui märkida ära kast <guibutton +>Rekursiivselt</guibutton +>, otsitakse läbi ka kõik antud kataloogi alamkataloogid. </para> + +<para +>Otsitav sõna on üldiselt POSOX-i süntaksit järgiv regulaaravaldis. Näiteks võib selleks olla <literal +>"\<K.*"</literal +>, kui soovid leida kõik sõnad, mis algavad K-tähega. Järgmisi märke tõlgendatakse eriliselt: </para> + +<informaltable> +<tgroup cols="2"> +<tbody> + +<row +><entry> + <literal +>.</literal> +</entry +><entry +>Sobib iga märk </entry +></row> +<row +><entry> + <literal +>^</literal> +</entry +><entry +>Sobib rea algus </entry +></row> +<row +><entry> + <literal +>$</literal> +</entry +><entry +>Sobib rea lõpp </entry +></row> +<row +><entry> + <literal +>\<</literal> +</entry +><entry +>Sobib sõna algus </entry +></row> +<row +><entry> + <literal +>\></literal> +</entry +><entry +>Sobib sõna lõpp </entry +></row> +<row +><entry> + <literal +>?</literal> +</entry +><entry +>Eelnev element sobib vähem kui üks kord </entry +></row> +<row +><entry> + <literal +>*</literal> +</entry +><entry +>Eelnev element sobib null või enam korda </entry +></row> +<row +><entry> + <literal +>+</literal> +</entry +><entry +>Eelnev element sobib üks või enam korda </entry +></row> +<row +><entry> + <literal +>{n}</literal> +</entry +><entry +>Eelnev element sobib täpselt n korda </entry +></row> +<row +><entry> + <literal +>{n,}</literal> +</entry +><entry +>Eelnev element sobib n või enam korda </entry +></row> +<row +><entry> + <literal +>{,n}</literal> +</entry +><entry +>Eelnev element sobib vähem kui n korda </entry +></row> +<row +><entry> + <literal +>{n,m}</literal> +</entry +><entry +>Eelnev element sobib vähemalt <literal +>n</literal +>, aga vähem kui <literal +>m</literal +> korda </entry +></row> + +</tbody> +</tgroup> +</informaltable> + +<para +>Kasutada saab ka tagasiviiteid sulgudes alamavaldistele, mida märgib <literal +>\n</literal +>. </para> + +<para +>C++ programmeerijate eriliseks rõõmuks on tüüpiliste mustrite jaoks olemas mõned otsingumallid. Need võimaldavad otsida näiteks kõiki teatud objekti liikmesfunktsiooni väljakutseid. </para> + +<para +>Kui alustad otsingut klõpsuga nupule <guibutton +>Otsi</guibutton +>, sooritatakse see välise, asünkroonse protsessina. Kõik leitud elemendid on näha vaates <guilabel +>Grep</guilabel +>. Leitud elementidele saab liikuda neile klõpsates. Pane tähele, et grep uurib faile nii, nagu need on failisüsteemi salvestatud. Kui oled mõnda neist redaktoris muutnud, võid avastada ebakõla reanumbrite vahel, samuti võivad mõned leitud elemendid lihtsalt puududa. Seda saab vältida, kui salvestad enne otsingut kõik failid. </para> + +</sect2 +> <!-- grep --> + +</sect1 +> <!-- searchinggrepping --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="code-completion"> +<title +>Koodilõpetus</title> + +<para +>(... veel kirjutamata ...) </para> +</sect1 +> <!-- code-completion --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="newfiles"> +<title +>Uute failide ja klasside loomine</title> + +<para +>(... veel kirjutamata ...) </para> + +<sect2 id="newfiles-edittemplates"> +<title +>Mallide redigeerimine</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- newfiles-edittemplates --> + +</sect1 +> <!-- newfiles --> + +</chapter +> <!-- editing --> +<!-- ====================================================================== --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/file-browsers.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/file-browsers.docbook new file mode 100644 index 00000000000..11241b4c54b --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/file-browsers.docbook @@ -0,0 +1,67 @@ +<chapter id="file-browsers"> +<title +>Failisirvijad</title> + +<para +>Peaakna vasakus servas näitab &kdevelop; mitmesugused nimekirju ja puid, kus saab faile valida: </para> + +<variablelist> +<varlistentry> +<term +>Failipuu</term> +<listitem> +<para +>See näitab projektikataloogi failihierarhiat puukujulisena. Mõnele failile klõpsates avatakse see redaktoris. Failide korral, mis ei sisalda teksti, käivitab &kdevelop; rakenduse, mis on määratud vastava MIME tüübiga tegelema. </para> + +<para +>Failipuud uuendatakse regulaarselt, kui failisüsteemis midagi muutub. Kui näiteks lood uusi faile või katalooge (ka &kdevelop;ist väljaspool), kajastub see otsekohe failinimekirjas. &Linux; korral kasutatakse selleks teeki FAM, teistes operatsioonisüsteemides või NFS-i kasutamisel pollitakse näidatavaid katalooge üsna väikeste ajavahemike järel. </para> + +<para +>Failipuu peidab failid, mis enamasti huvi ei paku, näiteks objektfailid. <guimenuitem +>Projekti seadistustes</guimenuitem +> saab <guibutton +>failivaadete</guibutton +> all määrata (metamärkide komadega eraldatud nimekirja kujul), milliste mustritega filtreerida välja ebaolulised failid. </para> + +<para +>Lisaks saab lasta failipuus näidata ainult parajasti avatud projekti kuuluvaid faile. Seda saab lülitada hiire parema nupu klõpsuga puu ülemelemendile avanevast menüüst. </para> + +<figure id="screenshot-filetree" float="1"> +<title +>Failipuu pilt</title> +<mediaobject> +<imageobject +><imagedata fileref="filetree.png"/></imageobject> +<textobject +><phrase +>Failipuu pilt</phrase +></textobject> +</mediaobject> +</figure> + +</listitem> +</varlistentry> +<varlistentry> +<term +>Failirühmad</term> +<listitem> +<para +>Failirühmad näitavad projekti kuuluvaid faile rühmitatuna nende failinime laiendi järgi. Nagu failipuu puhul, saab ka siin failid avada neile &HVN;ga klõpsates. </para> + +<para +>Nähtavaid rühmi saab seadistada <guibutton +>failivaadete</guibutton +> kaardil dialoogis <guimenuitem +>Projekti seadistused</guimenuitem +>. Vaate kohandamisel tuleb kasuks, kui saad aru, kuidas failid rühmadesse jagatakse. &kdevelop; vaatab iga faili puhul ülevalt alla rühmad läbi. Igas rühmas uuritakse, kas failinimi sobib mõne määratud mustriga. Kui sobib, näidatakse faili selles rühmas ja edasi ei otsita. See tähendab, et üldisemad mustrid tuleks määrata konkreetsemate järel. Näiteks peaks tärn, mis on mõeldud rühmale <guilabel +>Muud</guilabel +>, olema kõige viimane muster. </para> + +</listitem> +</varlistentry> +</variablelist> + +</chapter +> <!-- file-browsers --> + +<!-- ====================================================================== --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/getting-started.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/getting-started.docbook new file mode 100644 index 00000000000..a11dc81d580 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/getting-started.docbook @@ -0,0 +1,4102 @@ + +<!-- +Please keep the formatting simple. +Do not indent XML constructs. +Keep lines at 80 characters length maximum. +--> + +<chapter id="getting-started"> + +<chapterinfo> +<authorgroup> +<author +><firstname +>Bernd</firstname +><surname +>Pol</surname +></author> +<othercredit role="translator" +><firstname +>Marek</firstname +><surname +>Laane</surname +><affiliation +><address +><email +>bald@starman.ee</email +></address +></affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> +</authorgroup> +</chapterinfo> + +<title +>&kdevelop;i algõpe — tutvustav ülevaade</title> + +<para +>Nüüd, kus &kdevelop;i IDE on paigaldatud, kerkib küsimus, midas sellega õieti peale hakata? Et tegemist on keeruka rakendusega, kulub selle tundmaõppimiseks omajagu aega, eriti kui sa pole varem sedalaadi integreeritud arenduskeskkonnaga kokku puutunud.</para> + +<para +>Me üritame sinu õpiprotsessi lihtsustada, näidates samm-sammult, kuidas luua KDE lhtne C++-keeles rakendus. Selleks vaatleme järgmisi asju:</para> + +<simplelist> +<member +><link linkend="gettingstarted-overview" +>Esimene kokkupuude — &kdevelop;i &IDE; kasutajaliidese elemendid.</link +></member> +<member +><link linkend="gettingstarted-configure" +>Esialgne seadistamine.</link +></member> +<member +><link linkend="gettingstarted-new" +>Uue projekti loomine.</link> +</member> +<member +><link linkend="gettingstarted-edit" +>Mõned näpunäited dokumentide käsitlemiseks.</link +></member> +<member +><link linkend="gettingstarted-compile" +>Rakenduse kompileerimise projektis.</link +></member> +<member +><link linkend="gettingstarted-extend" +>Klasside ja muude asjade lisamine projekti.</link +></member> +<member +><link linkend="gettingstarted-debug" +>Rakenduse silumine.</link +></member> +<member +><link linkend="gettingstarted-doc" +>Mõned põhivahendid rakenduse või kasutaja dokumentatsiooni ehitamiseks.</link +></member> +<member +><link linkend="gettingstarted-keys" +>Ja lõpuks - kiirklahvid</link +></member> +</simplelist> + +<para +>Enne alustamist tuleb selgitada üht olulist asja.</para> + +<formalpara> +<title +>Mida ees oodata?</title> +<para +>Nagu öeldud, on &kdevelop; <emphasis +>integreeritud arenduskeskkond</emphasis +>. See tähendab, et põhimõtteliselt ei ole &kdevelop; mitte arendustööriist, vaid ennekõige graafiline kasutajaliides väga erinevate arendustööriistade lihtsaks kasutamiseks, millest paljud nõuavad muidu käsureal arvukate keeruliste klaviatuurikäskude tundmist.</para> +</formalpara> + +<para +>Kuigi &kdevelop; üldjuhul lihtsustab nende kasutamist, ei tähenda see, et nende keerukusastmes oleks järeleandmisi tehtud, mis omakorda tähendab, et &kdevelop;i &IDE; täielikuks mõistmiseks tuleb ikkagi aru saada selle taustal tegutsevatest tööriistadest.</para> + +<para +>Seetõttu ei hakka me õpetama, kuidas tarkvara ehitada, vaid tutvustame hoopis seda, kuidas &kdevelop; aitab seda teha. Kui soovid rohkem teada, milleks on integreeritud arenduskeskkond mõeldud, tasuks tutvuda ajaloolise ülevaatega <link linkend="unixdev" +>&UNIX; arendustegevus</link +>, eriti aga peatükiga <link linkend="unixdev-ide" +>Kontseptsioonide ja tööriistade lõimimine</link +>.</para> + +<note> +<para +>Järgnevas tutvustuses kasutame vaikimisi seadistusi, mille korral &kdevelop; käivitub <guilabel +>lihtsustatud IDEAl aknarežiimis</guilabel +>. Kui soovid kasutada mõnda muud kasutajaliidese režiimi, ei pruugi kõik elemendid asuda täpselt samas kohas ega päris samamoodi käituda. Kui sa ei ole kindel, millist kasutajaliidese režiimi &kdevelop; parajasti kasutab, kontrolli seda dialoogis <menuchoice +><guimenu +>Seadistused</guimenu +><guimenuitem +>KDevelopi seadistamine...</guimenuitem +><guimenuitem +>Kasutajaliides</guimenuitem +></menuchoice +>.</para> +</note> + +<sect1 id="gettingstarted-overview"> +<title +>Kõige esimene pilk &kdevelop;ile</title> + +<para +>Siin tuleb juttu sellest, mida näeb &kdevelop;i kõige esimesel käivitamisel. Täpsemalt räägitakse järgmistest asjadest:</para> + +<simplelist> +<member +><link linkend="gettingstarted-overview-basic" +>Mida üldse näha saab?</link +></member> +<member +><link linkend="gettingstarted-overview-help" +>Kuidas abi saada?</link +></member> +<member +><link linkend="gettingstarted-overview-menu" +>Mis peitub menüüdes?</link +></member> +<member +><link linkend="gettingstarted-overview-tools" +>Milleks on head tööriistavaated?</link +></member> +</simplelist> + +<sect2 id="gettingstarted-overview-basic"> +<title +>Väljanägemine</title> + +<para +>&kdevelop;i esmakordsel käivitamisel avaneb umbes selline vaatepilt:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="empty-ide.png" format="PNG"/> +</imageobject> +<caption> +<para +>&kdevelop;i esialgne välimus</para> +<para +>(Tegelikult on &kdevelop;i esialgne aken suurem, aga elemendid on samad.)</para> +</caption> +</mediaobject> +</screenshot> + +<formalpara> +<title +>Töötsoon ja tööriistavaate kaardid</title> +<para +>Siinsel esialgsel kujul kasutab &kdevelop; niinimetatud <link linkend="uimodes-survey" +>IDEAl kasutajaliidese režiimi</link +>. Maksimaalse suurusega töötsooni ümbritsevad vasakul, all ja paremal nuppude read, mis toimivad samamoodi nagu kaardid kaartidega vaate korral. Mõnel neist kaartidest klõpsates avatakse niinimetatud <emphasis +>tööriistavaate aken</emphasis +>, kus saad tegutseda mõne konkreetse ülesande kallal.</para> +</formalpara> + +<formalpara> +<title +>Menüü ja tööriistaribad</title> +<para +>Ülal asub, nagu ikka, menüüriba, selle all mitu rida tööriistaribasid, millest osa on algul tühjad. Need täidetakse siis, kui avad projekti ja asud selle kallal tööle.</para> +</formalpara> + +<formalpara> +<title +>Olekuriba</title> +<para +>Päris akna allservas on olekuriba, mis näitab mitmesuguste ülesannete kohta lühiinfot.</para> +</formalpara> +</sect2> + +<sect2 id="gettingstarted-overview-help"> +<title +>Abi</title> + +<para +>Lisaks menüüst <guimenu +>Abi</guimenu +> avatavatele võimalustele, mis pakuvad vastuseid konkreetsematele küsimustele, näeb teatud lühiinfot olekuribal ja kaht tüüpi kohtspikritena.</para> + +<formalpara> +<title +>Mida see menüükirje teeb?</title> +<para +>Kui viid hiirekursori mõne menüükirje peale, näed enamasti olekuribal teatud lühiinfot. Tavaliselt see lihtsalt kordab kirje nime, kuid mõnikord annab ka mõnevõrra rohkem infot käsu kohta.</para> +</formalpara> + +<formalpara> +<title +>Mis on selle elemendi nimi?</title> +<para +>Paljude elementide korral ilmub lühiinfoga kohtspikker, kui jätad hiirekursori hetkeks selle kohale seisma. See on kasuks kiiremaks orienteerumiseks tööriistaribadel ja tööriistavaadete kaartidel IDEAl-režiimis, kui &IDE; on seadistatud näitama nuppudel ainult ikoone.</para> +</formalpara> + +<formalpara> +<title +>Mida see element teeb?</title> +<para +>Paljude &IDE; elementide kohta on ka saadaval veidi laiendatumad kohtspikrid. Vali menüükäsk <menuchoice +><guimenu +>Abi</guimenu +><guimenuitem +>Mis see on?</guimenuitem +></menuchoice +> või vajuta kiirklahvi <keycombo +><keycap +>&Shift;</keycap +><keycap +>F1</keycap +></keycombo +>, mille järel hiirekursor võtab küsimärgi kuju. Sellega mõnele elemendile klõpsates näedki pikemat kohtspikrit. Samuti võid avada mõne menüü ja klõpsata menüükirjele (nii aktiivsele kui ka mitteaktiivsele, mis on hallikas), et sellist infot näha.</para> +</formalpara> +</sect2> + +<sect2 id="gettingstarted-overview-menu"> +<title +>Mis peitub menüüdes?</title> + +<para +>Menüüribal paikneb kümme menüüd. Enamik neist täitub märkimisväärsel määral alles pärast seda, kui oled avanud projekti, millega soovid töötada, mõni aga vajab täitumiseks vähemalt ühe dokumendi lahtiolekut. Lühidalt võimaldavad menüüd ette võtta allpool loetletud asju.</para> + +<note> +<para +>Siin on toodud ainult ülevaade. Täpsemalt tutvustab menüüsid ja nende sisu osa <link linkend="commands" +>Käskude seletused</link +>.</para> +</note> + +<variablelist> +<varlistentry> +<term +><guimenu +>Fail</guimenu +></term> +<listitem> +<formalpara> +<title +>Tavalised toimingud</title> +<para +>Need on päris tavalised: failide loomine, avamine, salvestamine, trükkimine ja sulgemine ning mõistagi ka &kdevelop;ist väljumine.</para> +</formalpara> + +<formalpara> +<title +>Taasta kõik</title> +<para +>See võimaldab tühistada kõik hiljutised, aga veel salvestamata muudatused, laadides faili kettalt uuesti. See käsk toimib mitte ainult projektifailide, vaid igasuguste failide redigeerimise puhul.</para> +</formalpara> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenu +>Redigeerimine</guimenu +></term> +<listitem> +<para +>See menüü saab kasutada siis, kui dokument on avatud.</para> + +<formalpara> +<title +>Tavalised toimingud</title> +<para +>Siit leiab tavalised tagasivõtmise ja uuestitegemise ning lõikamise, kopeerimise ja asetamise toimingud. Samuti saab siin mitmel moel tekstiplokke valida.</para> +</formalpara> + +<formalpara> +<title +>Otsimine ja asendamine</title> +<para +>Menüüst leiab kaks väga võimsat otsingutööriista: <menuchoice +><guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Otsi failidest...</guimenuitem +></menuchoice +> ja <menuchoice +><guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Otsi-vali-asenda...</guimenuitem +></menuchoice +>Lisaks tavalistele otsimis- ja asendustoimingutele parajasti aktiivses dokumendis võimaldavad need sooritada ka globaalset otsimist ja asendamist. Nii saab kõik oma projekti failid korraga ette võtta.</para> +</formalpara> + +<formalpara> +<title +>Täiustatud tekstiredigeerimine</title> +<para +>Lisaks on mitmeid võimalusi aktiivne dokument ümber vormindada ja lasta automaatselt lõpetada osaliselt kirja pandud tekst.</para> +</formalpara> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenu +>Vaade</guimenu +></term> +<listitem> +<para +>Nagu menüüd <guimenu +>Redigeerimine</guimenu +>, saab sedagi menüüd õieti ainult siis tarvitada, kui on avatud projekt. Sellisel juhul on seal muu hulgas järgmised toimingud:</para> + +<formalpara> +<title +>Liikumise ajalugu</title> +<para +>Võimaldab liikuda edasi ja tagasi kasutatud dokumentides &etc;</para> +</formalpara> + +<formalpara> +<title +>Vigade jälgimine</title> +<para +>Võimaldab liikuda lähtekoodi reale, kus esines viimase kompileerimise/ehitamise käigus vigu.</para> +</formalpara> + +<formalpara> +<title +>Redaktoriga seotud toimingud</title> +<para +>Mõned kirjed menüüs <guimenu +>Vaade</guimenu +> lubavad määrata kasutatava redaktori omadusi. Kui selleks on &kate; komponent (põimitud võimas tekstiredaktor), siis saab kasutada järgmisi võimalusi:</para> +</formalpara> + +<itemizedlist> +<listitem> +<para +>Reamurdmise kontroll dokumendiaknas.</para> +</listitem> +<listitem> +<para +>Mitme dokumendiakna serval paikneva elemendi näitamine või peitmine: reanumbrid, ikoonid, samuti järjehoidjamärgid kerimisribal.</para> +</listitem> +<listitem> +<para +>Lähtekoodi kokkuvolditud (ajutiselt peidetud) sektsioonide näitamise kontroll.</para> +</listitem> +</itemizedlist> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenu +>Projekt</guimenu +></term> +<listitem> +<para +>Kogu tegevus &kdevelop;is on koondunud <emphasis +>projektide</emphasis +> ümber, mis koondavad endasse lähtekoodifaile, ehitamise haldamisega seotud faile ja muud informatsiooni. Selles menüüs saab määrata, millist projekti kasutada, millised on selle omaduse ja veel üht-teist. Märkimist väärivad järgmised võimalused:</para> + +<formalpara> +<title +>Ava projekt</title> +<para +>Võimaldab luua uusi projekte, avada olemasolevaid ja importida projekte teistest keskkondadest.</para> +</formalpara> + +<formalpara> +<title +>Projekti valikud</title> +<para +>Võimalus määrata terve hulk projektide omadusi.</para> +</formalpara> + +<formalpara> +<title +>Klasside haldamine</title> +<para +>Võimalus lisada projekti uusi klasse ja uurida klasside päriluspuud.</para> +</formalpara> + +<formalpara> +<title +>Projekti levitamine</title> +<para +>Võimalus ehitada projekti levitamispaketid (distributsioon).</para> +</formalpara> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenu +>Ehitamine</guimenu +></term> +<listitem> +<para +>Selle menüü sisuks on projekti kompileerimine ja dokumenteerimine. Sellel on ennekõike mõtet avatud projekti korral. Sellisel juhul on siin järgmised võimalused:</para> + +<formalpara> +<title +>Kompileerimine, linkimine, käivitamine</title> +<para +>Võimalus kompileerida ja linkida terve projekt või selle osad ning käivitada rakendus &IDE; seest.</para> +</formalpara> + +<formalpara> +<title +>Ehitamise ettevalmistamise toimingud</title> +<para +>See sõltub oluliselt ehitamissüsteemist, mida sa projektis kasutad. Automake'i projektide korral saab tööle panna <filename +>Makefile.cvs</filename +> ja <filename +>configure</filename +>. Samuti saab tõlgitud failid projektist eemaldada.</para> +</formalpara> + +<formalpara> +<title +>Rakenduse paigaldamine</title> +<para +>Võimaldab paigaldada rakenduse nii kohalikesse kataloogidesse kui ka süsteemsetesse kataloogidesse, mida saab kasutada ainult administraator (root).</para> +</formalpara> + +<formalpara> +<title +>API dokumentatsioon</title> +<para +>Võimaldab ehitada või eemaldada projekti Doxygeni-põhise API dokumentatsiooni vastavalt projekti valikutele.</para> +</formalpara> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenu +>Silumine</guimenu +></term> +<listitem> +<para +>Kuigi see menüü täidetakse kirjetega kohe, kui projekt on aktiivne, on sellest mõistagi ennekõike kasu siis, kui projekt on juba kompileeritud koos silumisinfoga (selle saab kindlaks määrata menüükäsuga <menuchoice +><guimenu +>Projekt</guimenu +><guimenuitem +>Projekti valikud...</guimenuitem +></menuchoice +>). Sellisel juhul on seal järgmised võimalused:</para> + +<formalpara> +<title +>Tavalised siluri toimingud</title> +<para +>Menüü <guimenu +>Silumine</guimenu +> esimesed kirjed avavad &GNU; siluri GDB graafilise kasutajaliidese. See lubab käivitada ja peatada oma rakenduse siluris ning seda mitmel moel läbida.</para> +</formalpara> + +<formalpara> +<title +>Katkestuspunktid</title> +<para +>&kdevelop; pakub mitmeid võimalusi määrata oma rakenduse lähtekoodi katkestuspunkte. Üks võimalus on kasutada menüükäsku <guimenuitem +>Muuda katkestuspunkti</guimenuitem +>.</para> +</formalpara> + +<formalpara> +<title +>Põhjalikum silumine</title> +<para +>Muud menüü <guimenu +>Silumine</guimenu +> kirjed võimaldavad veelgi üksikasjalikumat programmi analüüsi. Nende kohta info nägemiseks kasuta kiirklahvi <keycombo +><keycap +>&Shift;</keycap +><keycap +>F1</keycap +></keycombo +>.</para> +</formalpara> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenu +>Skriptid</guimenu +></term> +<listitem> +<para +>Selle menüü abil saab välja kutsuda mitmesuguseid skripte, mis lihtsustavad tülikamaid toiminguid parajasti valitud rekdatoriaknas oleva tekstiga. Võimalikud toimingud sõltuvad mõistagi valitud skriptist. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenu +>Aken</guimenu +></term> +<listitem> +<para +>Selle sisu on üsna tavapärane. Sa saad valida mis tahes avatud dokumendiakna või neid sulgeda. Samuti võid valida mitme dokumendiakna sulgemise korraga.</para> + +<para +>Sõltuvalt redaktoripluginast võib menüüelemente rohkemgi olla. Näiteks vaikimisi kasutatav Kate redaktori plugin võimaldab lisaks redaktoriakna poolitada nii rõhtsalt kui ka püstiselt.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenu +>Tööriistad</guimenu +></term> +<listitem> +<para +>&kdevelop; on igati kohandatav. Sa võid valida oma dokumentidele meelepärase redaktori, lisaks saab kasutada väliseid ja pluginatest tööriistu, mis laiendavad tublisti &IDE; võimalusi. Enamik neist tööriistadest ongi kasutatavad menüü <guimenu +>Tööriistad</guimenu +> vahendusel.</para> + +<formalpara> +<title +>Põhjalikum redigeerimine</title> +<para +>Menüü <guimenu +>Tööriistad</guimenu +> ülemine osa on pärit kasutatavast redaktoripluginast. Lemmikredaktori saad valida menüükäsuga <menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>KDevelopi seadistamine...</guimenuitem +> <guilabel +>Redaktor</guilabel +></menuchoice +>. Kui oled avanud redigeeritava dokumendi, võimaldab menüü <guimenu +>Tööriistad</guimenu +> ülemine osa kasutada mitmeid täiustatud redigeerimise käske.</para> +</formalpara> + +<formalpara> +<title +>Veebisaidi haldamine</title> +<para +>Kui aktiivne dokumendiaken sisaldab HTML-lehekülge (⪚ sellist, mida näitab sektsioon <guilabel +>Dokumentatsioon</guilabel +>), on menüüs <guimenu +>Tööriistad</guimenu +> teatud kirjed, mis lubavad hallata veebilehekülgi.</para> +</formalpara> + +<formalpara> +<title +>Muud tööriistad</title> +<para +>Tavaliselt on menüüs veel terve rida tööriistu vastavalt sellele, mida parajasti teed. Nende kohta info nägemiseks kasuta kiirklahvi <keycombo +><keycap +>&Shift;</keycap +><keycap +>F1</keycap +></keycombo +>.</para> +</formalpara> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenu +>Seadistused</guimenu +></term> +<listitem> +<para +>See menüü lubab näidata või peita menüüriba, tööriistaribad ja olekuriba. Samuti saad seadistada kiirklahve, tööriistaribasid, märguandeid, redaktorit ja &kdevelop;i üldist käitumist.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenu +>Abi</guimenu +></term> +<listitem> +<para +>Siin saab avada KDevelopi käsiraamatu, lugeda Qt dokumentatsiooni, avada manuaalilehekülgi (tavapärane UNIX-i man-lehekülgede vormindus) ja infolehekülgi (GNU manuaalide vormindus), anda teada vigadest ning näha infot KDevelopi versiooni ja autorite kohta.</para> +</listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="gettingstarted-overview-tools"> +<title +>Milleks on mõeldud tööriistavaated?</title> + +<para +>IDEAli kasutajaliidese režiimi korral ümbritseb töötsooni kolm nuppudeala ehk <emphasis +>tööriistavaadete kaardid</emphasis +>. Need võimaldavad kasutada <emphasis +>tööriistavaadete aknaid</emphasis +>, mille abil sooritataksegi peamised tarkvaraarenduse ülesanded. Kõigil kolmel tööriistavaate alal on oma ülesanne.</para> + +<itemizedlist> +<listitem> +<formalpara> +<title +>Vasak pool</title> +<para +>Need vaated pakuvad liikumis- ja valikutööriistu</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>All</title> +<para +>Need vaated näitavad erinevate tööriistade teateid.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Parem pool</title> +<para +>Need vaated pakuvad dokumentatsiooni ja lähtekoodi haldamise tööriistu.</para> +</formalpara> +</listitem> +</itemizedlist> + +<para +>Näidatavate tööriistavaadete kaartide arv muutub niipea, kui avatakse projekt. Seejärel saab kasutada arvukaid tööriistu, mis võimaldavad projektiga töötada. Tööriistavaadete tegelik arv sõltub <link linkend="plugin-tools" +>pluginatööriistadest</link +>, mida &kdevelop; parajasti kasutada saab. Sellest räägib pikemalt <link linkend="setup" +>KDevelopi seadistamisest</link +> kõnelev peatükk.</para> + +<para +>Hetkel, kui avatud ei ole ühtegi projekti ning laaditud on vaid vaikimisi pluginatööriistad, võib näha järgmisi tööriistavaateid. Kaardil klõpsates avatakse tööriist oma tööriistavaate aknas.</para> + +<variablelist> +<varlistentry> +<term +>Liikumine ja valik</term> +<listitem> +<formalpara> +<title +>Failivalija</title> +<para +>Pakub paneeli, mis lubab kataloogipuus liikuda ja valida tööks vajalikud failid samamoodi nagu &konqueror;is. Failil klõpsates avatakse see vajaliku redaktoriga töötsoonis. Failivalijas hiire parema nupuga klõpsates avatakse liikumise ja failikäsitlemise võimalusi pakkuv kontekstimenüü.</para> +</formalpara> + +<formalpara> +<title +>Failinimekiri</title> +<para +>Loetleb avatud failid. Klõps failil avab üldjuhul selle töötsoonis redaktoriaknas. Seda saab kasutada kiireks liikumiseks, kui avatud on palju faile. Lisaks võimaldab see vaade korraldada avatud failid erinevateks <emphasis +>seanssideks</emphasis +>. See on eriti kasulik väga suurte ja keeruliste projektide puhul, lubades arendajal keskenduda erinevatele ülesannetele. Hiire parema nupuga klõpsates avaneb failikäsitlemise võimalusi pakkuv kontekstimenüü.</para> +</formalpara> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Teadete näitamine</term> +<listitem> +<formalpara> +<title +>Rakendus</title> +<para +>Näitab &kdevelop;is käivitatud rakenduse väljundit.</para> +</formalpara> + +<formalpara> +<title +>Erinevused</title> +<para +>Kasutatakse paigafaili sisu esitamisel. Näitab erinevuste näitaja väljundit, mis on käivitatud menüükäsuga <menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Erinevuste näitaja...</guimenuitem +></menuchoice +></para> +</formalpara> + +<formalpara> +<title +>Teated</title> +<para +>Näitab &kdevelop;is (tavaliselt menüüst <guimenu +>Ehitamine</guimenu +>) käivitatud ehitamistööriistade teateid.</para> +</formalpara> + +<formalpara> +<title +>Failides otsimine</title> +<para +>Näitab tulemusi, mis leiti otsinguoperatsiooniga, mis käivitati menüükäsuga <menuchoice +><guimenu +>Redigeerimine</guimenu +><guimenuitem +>Otsi failidest...</guimenuitem +></menuchoice +> Klõpsuga reale avatakse redaktoriaknas otsekohe vajalik fail vajaliku asukohaga.</para> +</formalpara> + +<formalpara> +<title +>Asendamine</title> +<para +>Näitab tulemusi, mis leiti otsingu-asendamisoperatsiooniga, mis käivitati menüükäsuga <menuchoice +><guimenu +>Redigeerimine</guimenu +><guimenuitem +>Otsi-vali-asenda...</guimenuitem +></menuchoice +> Siin saab iga leitud tulemuse puhul otsustada, kas see asendada või mitte.</para> +</formalpara> +<note> +<para +>Otsingu-asendamisvõimalus avaneb alles pärast seda, kui projekt on &kdevelop;is avatud. Vastasel juhul ei saa menüükäsku <menuchoice +><guimenu +>Redigeerimine</guimenu +><guimenuitem +>Otsi-vali-asenda</guimenuitem +></menuchoice +> kasutada.</para> +</note> + +<formalpara> +<title +>Konsool</title> +<para +>Avab &kde; <application +>Konsooli</application +> ehk terminaliemulaatori, kus saab kasutada klaviatuurikäske nagu tavapärases &UNIX; käsurealiideses.</para> +</formalpara> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Dokumentatsiooni ja lähtekoodi käsitlemine</term> +<listitem> +<formalpara> +<title +>Dokumentatsioon</title> +<para +>&kdevelop; võimaldab selle tööriista abil kasutada väga mitmesugust dokumentatsiooni. Siin näeb enamasti kuskil võrgus paiknevaid dokumendifaile struktureeritult. Samuti pääseb mitmel moel ligi väärtuslikule teabele &kde; või &Qt; käsiraamatutes.</para> +</formalpara> + +<para +>Täpsemalt räägivad sellest peatükid <link linkend="documentation" +>Dokumentatsioon</link +> ja <link linkend="setup-docu" +>Dokumentatsiooni seadistamine</link +>.</para> + +<formalpara> +<title +>Koodijupid</title> +<para +>See tööriist võimaldab valitud teksti salvestada hilisemaks kasutamiseks. See on väga paindlik tööriist, sest koodijupid võivad sisaldada ka terve rea muutujaid, mis saavad tegeliku väärtuse siis, kui lisad koodijupu kuhugi teksti.</para> +</formalpara> +<para +>Täpsemalt räägivad sellest peatükid <link linkend="editing-snippets" +>Koodijupid</link +> ja <link linkend="setup-snippets" +>Koodijuppide tööriista seadistamine</link +>.</para> +</listitem> +</varlistentry> +</variablelist> +</sect2> +</sect1> + +<sect1 id="gettingstarted-configure"> +<title +>Veidi seadistamisest</title> + +<para +>Enne seda, kui oma näidisporjektiga alustada, tuleks &kdevelop; oma vajadustele kohandada. Ehkki enamik vaikeseadistusi on igati mõistlikud, on siiski mõned asjad, mida võib olla mõistlik üle vaadata ja oma käe järgi seada.</para> + +<note> +<para +>&kdevelop;i seadistamisest kõneleb pikemalt peatükk <link linkend="setup" +>KDevelopi seadistamine</link +>.</para> +</note> + +<sect2 id="gettingstarted-configure-general"> +<title +>Mõned üldised seadistused</title> + +<para +>&kdevelop;i seadistamiseks klõpsa menüül <menuchoice +><guimenu +>Seadistused</guimenu +></menuchoice +> ja vali <menuchoice +><guimenuitem +>KDevelopi seadistamine...</guimenuitem +></menuchoice +>. Ilmub dialoog <guilabel +>KDevelopi seadistused</guilabel +>, mis näitab paremal pool kaarti <guilabel +>Üldine</guilabel +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="configure-general.png" format="PNG"/> +</imageobject> +<caption> +<para +>&kdevelop;i üldiste seadistuste dialoog</para> +</caption> +</mediaobject> +</screenshot> + +<para +>Enamik vaikeväärtusi on arvatavasti mõistlikud, kuid võib juhtuda, et soovid kaht asja siiski muuta.</para> + +<formalpara> +<title +>Projektide vaikimisi kataloog</title> +<para +>&kdevelop;i esmakäivitusel on selleks arvatavasti sinu kodukataloog. Enamik inimesi eelistab siiski tarkvaraarenduseks kasutada mõnda konkreetsemat projektikataloogi. Kirjuta tekstikasti kataloogi nimi, mida soovid kasutada. Selle võib ka valida kataloogipuust, kui klõpsad kastist parem pool asuvale ikoonile <guilabel +>Ava failidialoog</guilabel +>.</para> +</formalpara> + +<para +>Me eeldame oma näites, et tegemist on kasutajaga <filename class="directory" +>devel</filename +>. Sestap asenda ise katsetades <quote +>devel</quote +> enda kasutajanimega. Meie kasutaja devel pruugib arendustegevuseks kataloogi <filename class="directory" +>/home/devel/projektid</filename +>. Ka siin tuleb ise katsetades asendada <filename class="directory" +>projektid</filename +> oma tegeliku arendusprojektide kataloogi nimega. </para> + +<para +>&kdevelop; loob vaikimisi selles kataloogis igale projektile oma alamkataloogi. See tähendab, et ⪚ projekt <quote +>Hello</quote +> asub kataloogis <filename class="directory" +>/home/devel/projektid/hello</filename +>.</para> + +<para +>Mainitud kataloogiseadistust võib mõistagi vajaduse korral ka ajutiselt tühistada. Sellest räägib lähemalt peatükk <link linkend="applicationwizard" +>Rakenduse nõustaja</link +>.</para> + +<formalpara> +<title +>Kompilaatori väljund</title> +<para +>Kui &kdevelop; lähtekoodi kompileerib, näitab ta ka <application +>make</application +>'i' ja teiste ehitamistööriistade teateid töötsooni allosas asuvas aknas <guilabel +>Teated</guilabel +>. Tavaliselt on need väga teaberohked. Parema ülevaate saamiseks toimuvast võib &kdevelop; neid teateid kärpida.</para> +</formalpara> + +<para +>Sõltuvalt &kdevelop;i versioonist on <guilabel +>kompilaatori väljund</guilabel +> arvatavasti vaikimisi <quote +>pikk</quote +>, mis tähendab, et näidatakse täeilikult kõigi teadete sisu. Selle asemel võib valida märksa mugavama variandi <quote +>väga lühike</quote +>. Vali see lihtsalt rippmenüüst.</para> + +<caution> +<para +>Pane siiski tähele, et sel juhul näidatakse <guilabel +>teadete</guilabel +> aknas ainult <emphasis +>kõige põhilisemat</emphasis +> teavet. Vigade korral ⪚ ehitamise ajal soovid arvatavasti näha märksa rohkem või isegi päris kõiki teateid. Need ei lähe siiski kaotsi. Klõpsa lihtsalt hiire parema nupuga aknas <guilabel +>Teated</guilabel +> ja vali kontekstimenüüst ⪚ <quote +>Täielik kompilaatori väljund</quote +>.</para> +</caution> +</sect2> + +<sect2 id="gettingstarted-configure-search"> +<title +>Dokumentatsiooniotsingu indeksite initsialiseerimine</title> + +<para +>On veel üks, vahest mitte nii silmatorkav asi, mida võiks enne tegeliku arendustegevuse alustamist ette võtta. Arvatavasti läheb arenduse käigus sageli vaja dokumendiotsingut. &kdevelop; vajab enne seda mõningate otsinguindeksite loomist. Teeme siis seda, enne kui alustame esimesi samme &kdevelop;i tegelikul kasutamisel.</para> + +<para +>Ava &kdevelop;i peaakna paremas servas tööriistavaade <guilabel +>Dokumentatsioon</guilabel +>. Seejärel ava seal dialoog <guilabel +>Otsing</guilabel +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="documents-search.png" format="PNG"/> +</imageobject> +<caption +><para +>Otsinguindeksite genereerimine.</para +></caption> +</mediaobject> +</screenshot> + +<para +>Nüüd klõpsa nupule <guibutton +>Värskenda seadistust</guibutton +>, mis tagab, et põhilised otsingutööriistad on korrektselt häälestatud. Ilmub dialoog teatega <quote +>Konfiguratsioonifail värskendatud</quote +>. Klõpsa <guibutton +>OK</guibutton +> ja dialoog kaob.</para> + +<para +>Seejärel on &kdevelop; valmis parsima teadaolevat dokumentatsiooni ja looma selle põhjal otsinguindeksid. Klõpsa paremal pool asuvale nupule <guibutton +>Värskenda indeksit</guibutton +>. Nüüd ilmub dialoog <guilabel +>Otsinguindeksi genereerimine</guilabel +>, mis näitab indeksi loomise toimingute edenemist.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="configure-docu-indexgen.png" format="PNG"/> +</imageobject> +<caption +><para +>&kdevelop; genereerib dokumentatsiooniotsingu indeksid.</para +></caption> +</mediaobject> +</screenshot> + +<para +>See võtab sõltuvalt dokumentatsiooni mahust ja sinu masina kiirusest omajagu aega. Kuid lõpuks asendub nupp <guibutton +>Loobu</guibutton +> nupuga <guibutton +>OK</guibutton +>. Klõpsa sellele.</para> + +<note> +<itemizedlist> +<listitem> +<para +>Üldjuhul peaks asi toimima kiiresti ja edukalt. Mõnel juhul ei pruugi programm <application +>htdig</application +>, mida &kdevelop; tarvitab täistekstiotsingu sooritamiseks, olla korrektselt seadistatud. Sel juhul otsi täpsemat abi peatükist <link linkend="setup-docu-textsearch" +>Tekstiotsingu indeksite seadistamine</link +>.</para> +</listitem> +<listitem> +<para +>&kde; ja &Qt; spetsiifilises API dokumentatsioonis otsimiseks on vaja, et &kdevelop;i paigaldamise ajal oleks olemas <emphasis +>KDELibs Apidocs</emphasis +>. Kui sul tekib probleeme indeksite ehitamisega või <link linkend="gettingstarted-edit-defs" +>identifikaatorite otsinguga</link +>, millest tuleb juttu veidi hiljem, kontrolli, kas dokumentatsioon on ikka olemas ja &kdevelop; pääseb sellele ligi. Täpsemalt räägib sellest osa <link linkend="kdevelop-install" +>KDevelopi paigaldamine</link +>.</para> +</listitem> +</itemizedlist> +</note> +</sect2> +</sect1> + + +<sect1 id="gettingstarted-new"> +<title +>Uue projekti alustamine</title> + +<para +>Peaaegu kõik rakendused koosnevad kümnetest, sadadest või isegi tuhandetest failidest, mis peavad olema kindlalt struktureeritud ja hästi hallatavad. Selleks on tarkvaraarendus &kdevelop;is korraldatud <emphasis +>projektidena</emphasis +>. Seepärast on esimene samm tarkvara arendamisel &kdevelop;iga tavaliselt uue projekti loomine.</para> + +<para +>Õnneks on see väga lihtne. &kdevelop; pakub selleks spetsiaalse tööriista Rakenduse nõustaja (täpsemalt räägib sellest peatükk <link linkend="applicationwizard" +>Alustamine — Rakenduse nõustaja</link +>).</para> + +<para +>Me alustame praegu lihtsa &kde; rakenduse projektiga, et demonstreerida, kui lihtne see on ning milliseid faile ja tööriistu &kdevelop; selleks pakub. Seepärast vaatleme lühidalt järgmisi asju:</para> + +<simplelist> +<member +><link linkend="gettingstarted-new-setup" +>Kuidas luua uus projekt rakenduse nõustaja abil?</link +></member> +<member +><link linkend="gettingstarted-new-files" +>Millised failid rakenduse nõustaja algselt loob?</link +></member> +<member +><link linkend="gettingstarted-new-toolviews" +>Millised täiendavad tööriistavaated avatakse projekti puhul?</link +></member> +</simplelist> + +<sect2 id="gettingstarted-new-setup"> +<title +>Uue projekti loomine</title> + +<para +>Loome päris lihtsa &kde; <quote +>Hello World</quote +> projekti. Selleks järgi alltoodud samme.</para> + +<procedure> +<step> +<para +>Ava rakenduse nõustaja menüükäsuga <menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Uus projekt...</guimenuitem +></menuchoice +></para> +</step> + +<step> +<para +>Ilmub dialoog <guilabel +>Uue projekti loomine</guilabel +>. Selle olemises osas asuvas aknas <guilabel +>Kõik projektid</guilabel +> on ära toodud mitu programmeerimiskeelt.</para> + +<substeps> +<step> +<para +>Me soovime luua tavapärase &kde; C++ rakenduse, sestap klõpsa kirjest <guilabel +>C++</guilabel +> vasakul asuvale ikoonile <guilabel +>+</guilabel +>, et kirje avada.</para> +</step> + +<step> +<para +>Nüüd näeb mitut võimaliku rakendusetüüpi. Me soovime ehitada &kde; rakenduse, sestap klõpsa kirje <guilabel +>KDE</guilabel +> ees asuvale ikoonile <guilabel +>+</guilabel +>.</para> +</step> + +<step> +<para +>Siin näeb tervet rida <emphasis +>projektimalle</emphasis +>. Liigu nende seas allapoole ja klõpsa kirjel <guilabel +>Lihtne KDE rakendus</guilabel +>.</para> + +<para +>Kahes parempoolses aknas näeb sellele projektimallile tugineva rakenduse eelvaatlust ja lühikirjeldust.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-new-project.png" format="PNG"/> +</imageobject> +<caption> +<para +><quote +>Hello World</quote +> projektimalli valimine</para> +</caption> +</mediaobject +></screenshot> +</step> + +<step> +<para +>Rakendus vajab ka nime. Kirjuta all paiknevas sektsioonis <guilabel +>Omadused</guilabel +> kasti <guilabel +>Rakenduse nimi</guilabel +> meelepärane nimi.</para> + +<para +>Me kasutame oma näites nime <quote +>Hello</quote +>, aga mõistagi võid anda sellele mis tahes nime tingimusel, et kasutad ainult tähti, numbreid ja alakriipse. Kui kirjutad midagi muud, näed, et nõustaja ei luba sul edasi liikuda.</para> +</step> + +<step> +<para +>Kontrolli, kas tekstikastis <guilabel +>Asukoht</guilabel +> seisab ikka sinu projektikataloogi nimi, nagu see on määratud vastavalt eeltoodud peatüki <link linkend="gettingstarted-configure" +>Veidi seadistamisest</link +> juhistele. Kui see pole nii, kirjuta korrektse kataloogi nimi või vali see kataloogide loendist, mille saab avada paremal asuvale kataloogiikoonile klõpsates.</para> + +<para +>Kui kõik on korras, näitab tekstikast <guilabel +>Lõplik asukoht</guilabel +> kataloogi, kuhu uus projekt paigutatakse. Kui selle taga seisab <quote +>(vigane)</quote +>, proovi anda projektile mõni nmuu nimi ja/või kontrolli, kas kataloog, mis on antud tekstikastis <guilabel +>Asukoht</guilabel +>, on ikka olemas ja sul on selles kirjutamisõigus.</para> +</step> + +<step> +<para +>Kui kõik on õige, saab dialoogi allservas kasutada nuppu <guibutton +>Järgmine</guibutton +>. Klõpsa sellele.</para> +</step> +</substeps> +</step> + +<step> +<para +>Nüüd avaneb dialoog <guilabel +>Projekti seadistused</guilabel +>. Kontrolli, kas tekstikastid <guilabel +>Autor</guilabel +> ja <guilabel +>E-post</guilabel +> sisaldavad korrektseid andmeid. Tavaliselt kasutatakse neis sinu &kde; kasutajaseadistuste vaikeväärtusi, nagu need on kirjas &kde; juhtimiskeskuse dialoogis <guilabel +>Parool ja kasutajanimi</guilabel +>. Kui see nii pole, muuda neid, et need vastaksid sinu soovidele.</para> + +<screenshot id="gettingstarted-new-setup-options"> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-hello-options.png" format="PNG"/> +</imageobject> +<caption> +<para +>Nime ja soovi korral e-posti aadressi määramine.</para> +</caption> +</mediaobject> +</screenshot> + +<note> +<para +>Anda tuleb vähemalt <guilabel +>autori</guilabel +> nimi. See on rakenduse failide loomiseks kohustuslik.</para> +</note> + +<para +>Kui kõik on korras, saab kasutada nuppu <guibutton +>Järgmine</guibutton +>. Klõpsa sellele.</para> +</step> + +<step> +<para +>Järgnevad dialoogid <guilabel +>Versioonikontrollisüsteem</guilabel +>, <guilabel +>.h-failide mall</guilabel +> ja <guilabel +>.cpp-failide mall</guilabel +> ei paku meile antud hetkel huvi. Klõpsa neis lihtsalt nupule <guibutton +>Järgmine</guibutton +> ning lõpuks nupule <guibutton +>Lõpeta</guibutton +>.</para> +</step> +</procedure> + +<para +>Ongi kõik! Rakenduse nõustaja asub nüüd tegevusse ja loob <guilabel +>lõplikus asukohas</guilabel +>, mille määrasid nõustaja teisel sammul, rea esialgseid faile.</para> + +<para +>Kui failid loodud, avab &kdevelop; redaktoriakna <emphasis +>rakenduse peaakna</emphasis +> teostusfailiga (selleks on meie näites <filename +>hello.cpp</filename +>), et võiksid kohe tegutsema asuda.</para> +</sect2> + +<sect2 id="gettingstarted-new-files"> +<title +>Algsed projektifailid</title> + +<para +>Ehkki meie näidisporjekt Hello on päris lihtne, lõi rakenduse nõustaja selle jaoks terve rea lähtekoodi- ja projektihaldusfaile. Neist saab ülevaate, kui avada vasakul all tööriistavaade <guilabel +>Failipuu</guilabel +>. Seal on ära toodud pildil näidatud failinimekiri.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-hello-new.png" format="PNG"/> +</imageobject> +<caption> +<para +>Projekti <quote +>Hello World</quote +> esialgsed failid</para> +</caption> +</mediaobject> +</screenshot> + +<para +>Näitamaks peamisi nõustaja tekitatud faile, avasime tööriistavaates <guilabel +>Failipuu</guilabel +> enamiku katalooge. Klõpsa kirjetel ise, et asja lähemalt uurida.</para> + +<para +>Lisaks sellele avasime ka enamiku kirjeid paremal paiknevas tööriistavaates <guilabel +>Automake'i haldur</guilabel +>, kus samuti on ära toodud mõned projekti lähtekoodifailid.</para> + +<sect3 id="gettingstarted-new-files-copyright"> +<title +>Autoriõiguse küsimused</title> + +<para +>Kõik &GNU; nõuetele vastavad rakendused peavad sisaldama autoriõiguse teavet. Seda läheb vaja kahel tasandil: <emphasis +>konkreetsed lähtekoodifailid</emphasis +> ning <emphasis +>rakenduse käitusaeg</emphasis +>. Nõustaja lisas juba projekti vajaliku autoriõiguse ja litsentsiteabe.</para> + +<formalpara> +<title +>Lähtekoodifailide autoriõigus</title> +<para +>Mäletad veel uue projekti loomisel esinenud dialoogi <link linkend="gettingstarted-new-setup-options" +><guilabel +>Projekti seadistused</guilabel +></link +>? Seal tuli anda oma (s.t. arendaja) nimi ja soovi korral ka e-posti aadress. Nüüd vaata parajasti töötsoonis redaktoriaknas avatud faili <guilabel +>hello.cpp</guilabel +> ülaossa. Rakenduse nõustaja lisas need iga loodud lähtekoodifaili litsentsipäise algusse.</para> +</formalpara> + +<programlisting +>/*************************************************************************** + * Copyright (C) 2006 by Joe User * + * joe@user.com * + * * + * This program is free software; you can redistribute it and/or modify * +</programlisting> + +<para +>Täpselt sama teksti leiab kõigist lähtekoodifailidest, mis luuakse &kdevelop;is (seda muidugi tingimusel, et kasutad failide loomiseks ikka KDevelopi enda tööriistu). &kdevelop; jätab need seadistused meelde teatud mallifailides, mille leiad kataloogis <filename class="directory" +>templates</filename +>.</para> + +<formalpara> +<title +>Rakenduse käitusaegsed autoriõigused</title> +<para +>Kui sinu &kde; rakendus töötab, võib kasutajal tekkida huvi uurida selle <guilabel +>infot</guilabel +>, mille saab tavaliselt avada menüüst <guimenu +>Abi</guimenu +>. Rakenduse nõustaja kannab ka selle eest hoolt. Kui vaatad faili <filename +>main.cpp</filename +>, näed seal midagi sellist.</para> +</formalpara> + +<programlisting +>int main(int argc, char **argv) +{ + KAboutData about("hello", I18N_NOOP("Hello"), version, description, + KAboutData::License_GPL, "(C) 2006 Joe User", 0, 0, + "joe@user.com"); + about.addAuthor( "Joe User", 0, "joe@user.com" ); +</programlisting> + +<para +>See seab arendaja nime (meie näites <quote +>Jose User</quote +>) ja e-posti aadressi autoriõigusi näitavasse <guilabel +>info</guilabel +>dialoogi ning näitab nime ja aadressi ka sama dialoogi <guilabel +>autorite</guilabel +> kaardil.</para> + +<important> +<para +>Kui teed olemasolevasse projekti vähegi olulisemaid muudatusi, lisa kindlasti oma nimi ja e-posti aadress autoriõiguste osasse kõigis failides, mida muutsid, samuti käitusaja autoriõiguste osasse. Siin pole vaja midagi häbeneda: oma andmeid andes aitad sa tegelikult kaasa avatud tarkvara kogukonna arengule.</para> +</important> +</sect3> + +<sect3 id="gettingstarted-new-files-source"> +<title +>Algsed lähtekoodifailid</title> + +<para +>Rakenduse nõustaja paigutab lähtekoodifailid projektikataloogi alamkataloogi <filename class="directory" +>src</filename +>. Oodatult leiab sealt failid <filename +>main.cpp</filename +>, <filename +>hello.h</filename +> ja <filename +>hello.cpp</filename +>.</para> + +<para +>Lisaks on seal veel mõned failid, mis tavaliselt käivad kaasas iga &kde; rakendusega, nimelt</para> + +<itemizedlist> +<listitem> +<para +><filename +>hello.desktop</filename +> sisaldab mõningaid metaandmeid, mida &kdevelop; kasutab rakenduse hooldamiseks ja käivitamiseks.</para> +</listitem> + +<listitem> +<para +><filename +>hi16-app-hello.png</filename +> ja <filename +>hi32-app-hello.png</filename +> sisaldavad esialgseid vaikeikoone, mida &kdevelop; kasutab rakenduse kuvamisel.</para> +</listitem> + +<listitem> +<para +>Fail <filename +>helloui.rc</filename +> sisaldab rakenduse kasutajaliidese kirjeldust, hetkel ennekõike menüüsid, mida rakendus pakub.</para> +</listitem> +</itemizedlist> +</sect3> + +<sect3 id="gettingstarted-new-files-doc"> +<title +>Algne rakenduse dokumentatsioon</title> + +<para +>Projekti alamkataloogis <filename class="directory" +>doc/en</filename +> sisaldab faili <filename +>index.docbook</filename +>. See on vaikimis mall, mille põhjal saab hakata kirjutama tegelikku kasutaja dokumentatsiooni.</para> +</sect3> + +<sect3 id="gettingstarted-new-files-project"> +<title +>Projekti- ja lisafailid</title> + +<para +>Vahest märkasid, et seni tutvustatud failid on tööriistavaates <guilabel +>Failipuu</guilabel +> ära toodud rasvasena, paljud failid on seal aga tavalises kirjas. See tähistab seda, et viimati mainitud failid on mõeldud hoopis muudeks ülesanneteks. Rasvasena toodud failid mõjutavad otseselt rakendust. Lähtekoodifailid pakuvad koodi, mis paneb rakenduse tööle, teised failid pakuvad vajalikke andmeid või dokumentatsiooni. Neid peab haldama ja ehitamisjärgus korrektselt töötlema projekt ise, mistõttu neid nimetataksegi <emphasis +>projektfailideks</emphasis +>.</para> + +<para +>Kui vaadata, töötsooni parempooles alumises osas paiknevat <guilabel +>Automake'i haldurit</guilabel +>, võib projektifaile näha ka seal. Automake'i haldur kasutab neid ära ehitamise juhtimisel, nagu me peagi näeme.</para> + +<para +>Ülejäänud, tavalises kirjas failid on täiendavad failid. Need jagunevad mitmesse klassi:</para> + +<itemizedlist> +<listitem> +<formalpara> +<title +>Projekti ehitamise juhtimine</title> +<para +>Need failid juhivad kompileerimist, paigaldamist, dokumentatsiooni loomist ja muid protsesse. Kui projekt kasutab &GNU; <application +>autotools</application +>'i vahendeid, nagu meie näide, siis leiab igas projektikataloogis faili <filename +>Makefile.am</filename +>. Need on ehitamiseks kasutatava programmi make tuumikfailid, mis juhivad ehitamist ja mida töödeldakse ehitamise käigus mitmesuguste <filename +>configure</filename +>-failidega. Sellise ehitamise käigus luuakse igasse kataloogi lõplik <filename +>Makefile</filename +>. Omakorda nende põhjal loob programm <application +>make</application +> rakenduse binaarfailid.</para> +</formalpara> + +<para +><filename +>Makefile.am</filename +>-faile tuleb hallata kogu arendustegevuse käigus. &kdevelop;pi kasutades jääb see küll peamiselt Automake'i halduri hooleks, mis põhimõtteliselt ongi <filename +>Makefile.am</filename +>-failide sisu haldamise graafiline kasutajaliides.</para> + +<para +>Projekti juurkataloogis paiknevad veel projekti juhtfailid <filename +>configure.in.in</filename +> ja <filename +>subdirs</filename +>. Neid töötlevad mõningad failid kataloogis <filename class="directory" +>admin</filename +>, &kde; spetsiifilises halduskataloogis, et luua täiendavaid faile <filename +>configure</filename +> ja <filename +>Makefile</filename +> ning lõpuks rakenduse binaarfailid.</para> +</listitem> + +<listitem> +<formalpara> +<title +>&kdevelop;i juhtfailid</title> +<para +>&kdevelop; vajab ka mõningaid omaenda juht- ja haldusfaile. Need asuvad samuti projekti juurkataloogis - meie näite korral <filename +>hello.kdevelop</filename +>, <filename +>hello.kdevelop.pcs</filename +> ja <filename +>hello.kdevses</filename +>.</para> +</formalpara> + +<para +>Eriti oluline on kõigis projektides fail <filename +>xxx.kdevelop</filename +> (kus <quote +>xxx</quote +> on projekti nimi). See on peamine <emphasis +>KDevelop 3 projektifail</emphasis +> ning seda on igal juhul vaja, kui soovid oma projekti hiljem &IDE;-s laadida.</para> + +<warning> +<para +>Ära kunagi muuda, nimeta ümber ega kustuta ühtegi &kdevelop;i juhtfaili! Peaaegu kindlasti ei toimi &IDE; pärast seda sinu projektiga enam korrektselt.</para> +</warning> +</listitem> + +<listitem> +<formalpara> +<title +>GNU projekti kirjeldusfailid</title> +<para +>Mõned projekti juurkataloogis asuvad failid on kohustuslikud kõigile &GNU; nõuetele vastavatele rakendustele. Need on järgmised: <filename +>AUTHORS</filename +>, <filename +>ChangeLog</filename +>, <filename +>INSTALL</filename +>, <filename +>COPYING</filename +> (see sisaldab GNU Üldist Avalikku Litsentsi ehk GPL-i), <filename +>INSTALL</filename +>, <filename +>NEWS</filename +>, <filename +>README</filename +> ja <filename +>TODO</filename +>.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Muud failid</title> +<para +>Veel mõned seni mainimata failid on järgmised:</para> +</formalpara> + +<itemizedlist> +<listitem> +<para +><filename +>Doxyfile</filename +> juhib projekti spetsiifilise sisemise &API; programmeerimisdokumentatsiooni loomist.</para> +</listitem> + +<listitem> +<para +>Kataloog <filename class="directory" +>templates</filename +> sisaldab failimalle, mida &IDE; kasutab uute lähtekoodifailide loomisel. Malle võib omatahtsi redigeerida. Uus sisu võetakse arvesse, kui soovid luua sama tüüpi uut lähtekoodifaili.</para> + +<para +>Nii võib sul ⪚ tekkida soov joondada parempoolsed tärnid, mida Rakenduse nõustaja lisab <filename +>cpp</filename +>- ja <filename +>h</filename +>-failide malli, kuidagi teisiti, et nende põhjal loodud lähtekoodifailid näeksid paremad välja.</para> +</listitem> + +<listitem> +<para +>Kataloogi <filename class="directory" +>po</filename +> kasutatakse lokaliseerimiseks ehk rakenduse tõlkimiseks. See kuulub põhimõtteliselt projektifailide hulka (sisaldab faili <filename +>Makefile.am</filename +>), kuid kasutatakse peamiselt tõlkimiseks. Rakenduse arendajale ei ole see tavaliselt väga tähtis.</para> +</listitem> + +<listitem> +<para +>Kataloog <filename class="directory" +>admin</filename +> on mõeldud spetsiifiliselt &kde; rakendustele. See pakub terve rea faile, mida on tarvis rakenduse lähtekoodi- ja binaarfailide haldamiseks, et need töötaksid korralikult &kde; keskkonnas.</para> +</listitem> +</itemizedlist> + +</listitem> +</itemizedlist> +</sect3> +</sect2> + +<sect2 id="gettingstarted-new-toolviews"> +<title +>Täiendavad tööriistavaated</title> + +<para +>Nagu märgitud, ilmub mitu täiendavat tööriistavaadet otsekohe, kui Rakenduse nõustaja on lõpetaud uue projekti loomise. Need on kasuks ainult projekti arendamise ajal ning pakuvad järgmisi võimalusi.</para> + +<note> +<para +>Tegelikult nähtavad tööriistavaated sõltuvad parajasti &kdevelop;is laaditud pluginatest. Seda saab loomulikult muuta. Täpsemalt räägib sellest peatükk <link linkend="setup-plugins" +>Pluginatööriistad</link +>.</para> +</note> + +<sect3 id="gettingstarted-new-toolviews-left"> +<title +>Liikumis- ja valikutööriistad (vasakul)</title> + +<itemizedlist> +<listitem> +<formalpara> +<title +>Järjehoidjad</title> +<para +>Soovi korral võid märkida ära iga tekstifaili rea, et saaksid selle juurde vajadusel kiiresti tagasi pöörduda. &kdevelop; jätab kõik <emphasis +>järjehoidjad</emphasis +> meelde, isegi kui sulged hiljem redaktoriakna. Tööriistavaade <guilabel +>Järjehoidjad</guilabel +> toob kõik järjehoidjad ära failinime ja reanumbri järgi. Klõpsa lihtsalt kirjel ning redaktoriaknas avataksegi kohe vastav fail õigel real.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Klassid</title> +<para +>Loetleb projektile teadaolevad klassid, meetodid &etc; Kirjele klõpsates avatakse vastav päise- või lähtekoodifail redaktoriaknas ning kursor viiakse selles õigele deklaratsioonile või definitsioonile.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Failirühmad</title> +<para +>Sorteerib projektifailid teatud rühmadesse, &ie; Lähtekood, Kasutajaliides, Ikoonid, Tõlked ja Muud. Mõnel kirjel klõpsates avatakse fail redaktoriaknas.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Muutujad</title> +<para +>Seda kasutab silumistöörist muutujate kuvamiseks, hindamiseks ja jälgimiseks silumise ajal.</para> +</formalpara> +</listitem> +</itemizedlist> +</sect3> + +<sect3 id="gettingstarted-new-toolviews-bottom"> +<title +>Teated (all)</title> + +<itemizedlist> +<listitem> +<formalpara> +<title +>Valgrind</title> +<para +><application +>Valgrind</application +> programmi käitusaja analüsaator. See tööriistavaade näitab analüüsi tulemusi. Seda kasutatakse ⪚ mälulekete tuvastamiseks.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Turvaprobleemid</title> +<para +>&kdevelop;is pakub pluginatööriista <guilabel +>Turvakontroll</guilabel +>. See analüüsib parajasti redigeeritavat lähtekoodifaili mitmesugustelevinud turvaprobleemide osas, mis võivad rakendustes ette tulla, ning annab analüüsi tulemustest teada tööriistavaate aknas.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Katkestuspunktid</title> +<para +>See tööriistavaade võimaldab määrata, puhastada ja hallata silumise katkestuspunkte rakenduse lähtekoodifailides. Seda kasutatakse koostöös siluriga.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>CTags</title> +<para +>Võimaldab luua identifikaatorite indeksite andmebaasi populaarse rakenduse <application +>CTags</application +> abil. Seejärel saab loodud siltide andmebaasi kasutada samas tööriistavaate aknas mis tahes identifikaatori leidmiseks projekti lähtekoodifailides. Leitud kirjele klõpsates avatakse vastav fail redaktoriaknas ning kursor viiakse leitud identifikaatorile.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Probleemid</title> +<para +>&kdevelop; hoiab parajasti redigeeritavas failis silma peal levinud programmeerimisprobleemidel ning annab tööriistavaate aknas kasutajale teada.</para> +</formalpara> +</listitem> +</itemizedlist> +</sect3> + +<sect3 id="gettingstarted-new-toolviews-right"> +<title +>Lähtekoodi haldamine (paremal)</title> + +<itemizedlist> +<listitem> +<formalpara> +<title +>Automake'i haldur</title> +<para +>Automake'i haldur on graafiline kasutajaliides kõigis projektikataloogides leiduvate failide <filename +>Makefile.am</filename +> haldamiseks. Tööriistavaates on kaks akent. Ülemine pool toob ära osa projekti alamkatalooge, nimelt need, mis otseselt sisaldavad <emphasis +>projektifaile</emphasis +>. Igas sellises alamkataloogis peab leiduma fail <filename +>Makefile.am</filename +> ning Automake'i haldur nimetab sellist kataloogi <emphasis +>alamprojektiks</emphasis +>.</para> +</formalpara> + +<para +>Alamprojekti nimel klõpsates näidatakse antud alamprojekti projektifaile alumises aknas. Sealsed failid on korraldatud vastavalt antud alamprojekti <filename +>Makefile.am</filename +> funktsionaalsusele.</para> + +<para +>Automake'i haldur on väga võimas tööriist projekti ja selle alamprojektide haldamiseks, samuti määramiseks, millist rolli etendavad projektifailid rakenduse ehitamisel. Selle mõningaid üksikasju vaatleme lähemalt <link linkend="gettingstarted-extend-automake" +>edaspidi</link +>. Põhjalikumalt räägib sellest peatükk <link linkend="project-management" +>Ehitamine ja projektihaldus</link +>.</para> +</listitem> +</itemizedlist> +</sect3> +</sect2> +</sect1> + + +<sect1 id="gettingstarted-edit"> +<title +>Mõned näpunäited dokumentide kasutamiseks</title> + +<para +>Meie näites avas Rakenduse nõustaja kohe redaktoriaknas faili <filename +>hello.cpp</filename +>, et sul oleks võimalus selle kallal aega viitmata tegusema asuda. Me oletame, et sa oskad redaktorit kasutada, nii et sellest pikemalt juttu ei tule. Kuid siiski tasub rääkida teatud &kdevelop;i eripäradest kaartidega redaktoriakende ja dokumentide kasutamisel. Me tutvustame siin lühidalt järgmisi küsimusi:</para> + +<simplelist> +<member +><link linkend="gettingstarted-edit-headers" +>Kuidas lülituda vähese vaevaga päise- ja teostusfailide vahel?</link +></member> +<member +><link linkend="gettingstarted-edit-defs" +>Kuidas pääseda kiiresti ligi deklaratsioonidele ja definitsioonidele?</link +></member> +<member +><link linkend="gettingstarted-edit-arrange" +>Kuidas korraldada redaktoriaknaid oma soovide kohaselt?</link +></member> +<member +><link linkend="gettingstarted-edit-problems" +>Kuidas hoida silma peal levinud probleemidel?</link +></member> +</simplelist> + +<sect2 id="gettingstarted-edit-headers"> +<title +>Lülitumine päise- ja teostusfailide vahel</title> + +<para +>&kdevelop; võimaldab kiiresti ja lihtsalt lülituda mis tahes teostusfaililt (<filename +>.cpp</filename +>) vastavale päisefailile (<filename +>.h</filename +>) ja vastupidi. Selleks tee lihtsalt hiire parema nupuga klõps redaktoriaknas, kus soovid lülitumist sooritada. Ilmub järgmine kontekstimenüü.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="editor-switch-header.png" format="PNG"/> +</imageobject> +<caption +><para +>Lülitumine päise- ja teostusfailide vahel</para +></caption> +</mediaobject> +</screenshot> + +<para +>Vali kirje <guimenuitem +>Lülita päise/teostusfail</guimenuitem +>. &kdevelop; otsib vastavat päise- või teostusfaili ning avab selle uues redaktoriaknas. Meie näites sooritati klõps failis <filename +>hello.cpp</filename +> ning järelikult avatakse fail <filename +>hello.h</filename +>.</para> + +<para +>See ei ole veel kõik. Kui teed paremklõpsu klassiteostuse tekstis, viib &kdevelop; avatavas päisefailis kursori vastava deklaratsiooni reale. Sama kehtib ka vastupidi: kui klõpsad deklaratsioonireal, asetatakse kursor vastava klassi teostamise reale.</para> + +<para +>Kui lülitatava failiga redaktoriaken on juba avatud, siis &kdevelop; aktiveerib selle ja mõistagi asetab võimaluse korral kursori vajalikku kohta.</para> +</sect2> + +<sect2 id="gettingstarted-edit-defs"> +<title +>Ligipääs deklaratsioonidele ja definitsioonidele</title> + +<para +>Oletame nüüd, et töötad parajasti lähtekoodifaili kallal ja soovid leida midagi ette juhtunud identifikaatori deklaratsiooni või definitsiooni kohta. Ka see käib väga lihtsalt. Põhimõtteliselt tuleb lihtsalt identifikaatorile hiire parema nupuga klõpsata.</para> + +<para +>Siin on siiski kaks mõnevõrra erinevat juhtumit, nimelt:</para> +<simplelist> +<member +><link linkend="gettingstarted-edit-defs-external" +>Ligipääs väliselt defineeritud identifikaatoritele</link +> ja</member> +<member +><link linkend="gettingstarted-edit-defs-project" +>ligipääs projektisisestele tekstielementidele</link +>.</member> +</simplelist> + +<sect3 id="gettingstarted-edit-defs-external"> +<title +>Väline deklaratsioonid ja definitsioonid</title> + +<para +>Enamasti tekib soov leida teavet identifikaatori kohta, mis on defineeritud väljaspool sonu projekti. &kde; projektides on sellised identifikaatorid enamasti dokumenteeritud mitmesugustes &kde; või &Qt; teekides. Kui &kde; ja &kdevelop; on korrektselt paigaldatud, suudab &kdevelop; kasutada niinimetatud API dokumentatsiooni ja otsida sealt vajalikke identifikaatoreid.</para> + +<para +>Toome näite. Otsi redaktoriaknas failis <filename +>hello.cpp</filename +> üles järgmised read.</para> + +<programlisting +>Hello::Hello() + : KMainWindow( 0, "Hello" ) +{ +</programlisting> + +<para +>Klõpsa hiire parema nupuga klassil <classname +>KMainWindow</classname +>. Ilmub kontekstimenüü. Vali sealt <guimenuitem +>Otsi dokumentatsioonis: KMainWindow</guimenuitem +>. Nüüd avaneb tööriistavaade <guilabel +>Dokumentatsioon</guilabel +>, kus näeb kirjetu <classname +>KMainWindow</classname +> otsingusõnana kaardil <guilabel +>Otsing</guilabel +>. Mõne aja pärast avaneb töötsoonis uus redaktoriaken, mis näitab KDE API dokumentatsiooni klassi <classname +>KMainWindow</classname +> kohta.</para> + +<para +>See näeb välja nii (me avasime teadlikult juba ette kaardi <guilabel +>Dokumentatsioon</guilabel +>-<guilabel +>Otsing</guilabel +>, et illustreerida menüükirje valimise tulemust).</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="editor-search-doc.png" format="PNG"/> +</imageobject> +<caption +><para +>Väliselt dokumenteeritud identifikaatori otsing</para +></caption> +</mediaobject> +</screenshot> + +<para +>Sama hästi võib valida ka menüükirje <guimenuitem +>Leia dokumentatsioonis: KMainWindow</guimenuitem +>. Sel juhul avatakse tööriistavaates <guilabel +>Dokumentatsioon</guilabel +> kaart <guilabel +>Otsija</guilabel +>, mis tavaliselt pakub mitmeid otsingusõna sisaldavat lehekülge. (Meie näites on selleks tõenäoliselt klassid <classname +>KMainWindow</classname +> ja <classname +>KMainWindowInterface</classname +>. Vali see, mille vastu huvi tunned, ning vastavat dokumentatsiooni kuvatakse redaktoriaknas.</para> + +<note> +<para +>Kui nii ei lähe, ei ole arvatavasti dokumendid veel indekseeritud. Kas genereerisid ikka indeksid, nagu selgitati <link linkend="gettingstarted-configure-search" +>eespool</link +>? Kui mitte, siis loe seda uuesti, loo indeksid ja proovi taas.</para> +</note> +</sect3> + +<sect3 id="gettingstarted-edit-defs-project"> +<title +>Projekti sisemised deklaratsioonid ja definitsioonid</title> + +<para +>Välises dokumentatsioonis otsimisel on siiski omad piirangud. Loomulikult ei saa identifikaatorit kuskil väljaspool otsida, kui see on defineeritud ja kasutusel ainult projektis endas. Aga lahti pole midagi: &kdevelop; võib kasutada projekti lähtekoodis otsimiseks indekseid, mille loob rakendus <application +>CTags</application +>.</para> + +<para +>Enne kui seda meie Hello näidisprojektis kasutada, tuleb luua kasutuskõlblik indeks. Seda saab teha töötsooni allosas paiknevas tööriistavaates <guilabel +>CTags</guilabel +>.</para> + +<para +>Klõpsuga sakile <guibutton +>CTags</guibutton +> avaneb dialoog, mille alumises parempoolses nurgas näeb järgmist nuppu.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="editor-ctags-regenerate.png" format="PNG"/> +</imageobject> +<caption +><para +>CTagsi indeksi genereerimine nupuga <guibutton +>Genereeri uuesti</guibutton +></para +></caption> +</mediaobject> +</screenshot> + +<para +>Klõpsa nupule <guibutton +>Genereeri uuesti</guibutton +> ja oota mõni sekund. Siis asendub kiri <guilabel +>CTagsi andmebaasi ei leitud</guilabel +> praeguse kuupäevaga. Nüüd võib otsida oma projekti lähtekoodifailides vajalikku identifikaatorit.</para> + +<tip> +<para +>Kuupäev nupu <guilabel +>Genereeri uuesti</guilabel +> kõrval on mõeldud näitama indeksi vanust. Kui sa ei leia oma projektis mõnda identifikaatorit, mis sinu arvates peaks seal leiduma, tasuks indeks uuesti genereerida. Suurte projektide puhul võtab see omajagu aega, mille vältimiseks oleks mõttekas indeks regulaarselt regenereerida pärast vähegi ulatuslikumaid muudatusi lähtekoodifailides.</para> +</tip> + +<para +>Identifikaatorit saab oma projektis otsida mitmel moel.</para> + +<itemizedlist> +<listitem> +<formalpara> +<title +>CTagsi tööriistavaate kasutamine</title> +<para +>See on väga lihtne. Hakka huvipakkuva identifikaatori nime kirjutama vasakul asuvasse tekstikasti <guilabel +>Otsing</guilabel +>. &kdevelop; püüab kirjutatud tähtede järgi sõna lõpetada ja näitab kõiki nende tähtedega algavaid identifikaatoreid.</para> +</formalpara> + +<para +>Kui näiteks tahad teada, kus on meie näidisprojektis kasutatud identifikaatorit <quote +>Hello</quote +>, kirjuta kasti <guilabel +>Otsing</guilabel +> "H". &kdevelop; asub kohe tegevusse ja näitab sellist tulemust:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="editor-ctags-lookup.png" format="PNG"/> +</imageobject> +<caption +><para +>Identifikaatori otsimine tööriistavaates <guilabel +>CTags</guilabel +>.</para +></caption> +</mediaobject> +</screenshot> + +<para +>Klõpsuga mõnele kirjele avab &kdevelop; faili redaktoriaknas ja viib kursori vajalikku kohta.</para> +</listitem> + +<listitem> +<formalpara> +<title +>Lähtekoodifaili kontekstimenüü kasutamine</title> +<para +>See on abiks, kui töötad kindla lähtekoodifailiga. Oletame, et uurid meie Hello näidisprojekti faili <filename +>main.cpp</filename +>. Selles leidub järgmine rida</para> +</formalpara> +<programlisting +>Hello *mainWin = 0; +</programlisting> +<para +>ja sul tekib küsimus, kus esineb <quote +>Hello</quote +> programmis veel. Selleks tee lihtsalt identifikaatoril Hello klõps hiire parema nupuga. Ilmub kontekstimenüü, mille allosas leiduvad järgmised kirjed.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="editor-ctags-menu.png" format="PNG"/> +</imageobject> +<caption +><para +><application +>CTags</application +>i teabe hankimine projekti sisemise identifikaatori kohta.</para +></caption> +</mediaobject> +</screenshot> + +<para +>Klõpsa huvipakkuvale kirjele, näiteks <guilabel +>CTags - Mine definitsioonile: hello</guilabel +>, ja &kdevelop; avab otsekohe redaktoriaknas faili <filename +>hello.cpp</filename +> ning seab kursori otse selle klassi definitsiooni ette:</para> +<programlisting +>Hello::Hello() + : KMainWindow( 0, "Hello" ) +{ +</programlisting> +</listitem> + +<listitem> +<formalpara> +<title +>Globaalne otsing</title> +<para +>See on abiks juhul, kui soovid otsida oma projektis mis tahes teksti. &kdevelop;is saab globaalset otsingut alustada kahel viisil.</para> +</formalpara> +<itemizedlist> +<listitem> +<para +>Käivita globaalne otsing menüükäsuga <menuchoice +><guimenu +>Redigeerimine</guimenu +><guimenuitem +>Otsi failidest...</guimenuitem +></menuchoice +> või</para> +</listitem> +<listitem> +<para +>Kasuta redaktoriaknas hiire parema nupuga klõpsates avanevat kontekstimenüüd.</para> +</listitem> +</itemizedlist> + +<para +>Me vaatleme oma Hello näidisprojektis teist võimalust. Tulemus on mõlemal juhul põhimõtteliselt ühesugune. Oletame, et uurid faili <filename +>hello.cpp</filename +> ja kursor asub parajasti Hello esimese esinemise asukohas. Tunned huvi, kus sõna <quote +>Hello</quote +> veel kasutatakse ja kui palju on seda üldse kasutatud. See on tüüpiline &kdevelop;i globaalse otsingu kasutamise juhtum.</para> + +<para +>Kui kursor asub kuskil sõnas <quote +>Hello</quote +>, klõpsa hiire parema nupuga. Ilmub kontekstimenüü, kust tuleb valida <guilabel +>Grep: Hello</guilabel +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="editor-find-menu.png" format="PNG"/> +</imageobject> +<caption +><para +>Globaalse otsingu käivitamine redaktoriaknas</para +></caption> +</mediaobject> +</screenshot> + +<para +>Avaneb dialoog <guilabel +>Failides otsimine</guilabel +> (täpselt sama dialoog avanem menüükäsuga <menuchoice +><guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Otsi failidest...</guimenuitem +></menuchoice +>).</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="find-in-files.png" format="PNG"/> +</imageobject> +<caption +><para +>Projekti globaalse otsingu tõhus graafiline kasutajaliides.</para +></caption> +</mediaobject> +</screenshot> + +<para +>Nagu näed, on tegemist programmide <application +>find</application +> ja <application +>grep</application +> väga tõhusa graafilise liidesega, mis võimaldab otsida kogu projektis. Siinkohal ei ole mõtet laskuda üksikasjadesse, neid võid ise lähemalt tundma õppida. Antud hetkel on väljal <guilabel +>Muster</guilabel +> otsingusõna <quote +>Hello</quote +>. Kui see pole nii, kirjuta see sinna ja klõpsa all paremal nupule <guibutton +>Otsi</guibutton +>.</para> + +<para +>Nüüd avaneb all tööriistavaade <guilabel +>Failides otsimine</guilabel +>, mis näitab kõiki faile ja ridu, kus meie näidisprojektis esineb <quote +>Hello</quote +>. Nagu ikka, avab &kdevelop; mõnele kirjele klõpsamise järel töötsoonis vastava faili ja viib kursori sõna esinemise kohta.</para> + +<para +>Tööriistavaate aknas on kaks erilist huvi pakkuvat rida.</para> +<itemizedlist> +<listitem> +<para +>Päris alguses näeb käsku, mida &kdevelop; otsingul kasutas. See võimaldab täpsemalt kontrollida otsingutulemust.</para> +</listitem> + +<listitem> +<para +>Lõpus on kirjas, mitu sobivust otsinguga leiti. Meie näites peaks seal olema <quote +>*** Leiti 11 sobivust ***</quote +>.</para> +</listitem> +</itemizedlist> + +<para +>&kdevelop; jätab otsingutulemused seansi tööajaks meelde. Kui sooritad uue globaalse otsingu, avatakse selle tulemused tööriistavaate <guilabel +>Failides otsimine</guilabel +> aknas uuel kaardil.</para> +</listitem> +</itemizedlist> +</sect3> +</sect2> + +<sect2 id="gettingstarted-edit-arrange"> +<title +>Redaktoriakende korraldamine</title> + +<para +>Suurte ja keeruliste projektidega töötades juhtub sageli, et töötsoonis on avatud päris palju redaktoriakendega kaarte. Seepärast läheb vaja võimalusi, mis aitaksid kaartidel pilku peal hoida, neid korrastada ja rühmitada. &kdevelop; pakub sellks mitu võimalust. Vaatleme lühidalt mõningaid neist.</para> +<simplelist> +<member +><link linkend="gettingstarted-edit-arrange-clean" +>Kuidas eemaldada tarbetud kaardid?</link +></member> +<member +><link linkend="gettingstarted-edit-arrange-tabs" +>Kuidas kaardid ümber korraldada?</link +></member> +<member +><link linkend="gettingstarted-edit-arrange-split" +>Kuidas näha töötsoonis korraga mitut faili?</link +></member> +<member +><link +linkend="gettingstarted-edit-arrange-sourceheader" +>Kuidas redigeerida korraga C++ lähtekoodi- ja päisefaili?</link +></member> +<member +><link linkend="gettingstarted-edit-arrange-group" +>Kuidas rühmitada lähtekoodifailide arendusseansidesse?</link +></member> +</simplelist> + +<sect3 id="gettingstarted-edit-arrange-clean"> +<title +>Kaardirea puhastamine</title> + +<para +>Kui avatud on juba terve rida redaktoriaknaid, tekib pikapeale vajadus sulgeda kaardid, mida enam vaja ei lähe. &kdevelop; võimaldab seda teha mitmel moel: kõige lihtsam on tavaline avatud akende sulgemine, kuid selle kõrval on ka võimalusi anda käsud teatud kaardid sulgeda, teatud aga lahti jätta.</para> + +<formalpara> +<title +>Mitme kaardi sulgemine korraga</title> +<para +>See on omamoodi hulgilähenemine tarbetute avatud akende sulgemiseks, mida pakuvad ka teised &kde; rakendused. Menüüst <guimenu +>Aken</guimenu +> või hiire parema nupuga kaardi sakile klõpsates saab</para> +</formalpara> +<itemizedlist> +<listitem> +<para +>sulgeda aktiivse redaktorakna,</para> +</listitem> +<listitem> +<para +>sulgeda kõik avatud redaktoriaknad või</para> +</listitem> +<listitem> +<para +>või sulgeda korraga kõik redaktoriaknad (seda saab kasutada ainult menüüst <guimenu +>Aken</guimenu +>).</para> +</listitem> +</itemizedlist> + +<formalpara> +<title +>Valitud kaartide sulgemine</title> +<para +>Üksikute redaktorakende sulgemine võib osutuda päris tülikaks, eriti kui on terve rida kaarte, millest soovid mõned endiselt avatuks jätta. Selle asemel et kaarte ükshaaval üle vaadata ja sulgeda, pakub &kdevelop; võimalust valida nimekirjast kaardid ja sulgeda ainult valitud kaardid üheainsa hiireklõpsuga.</para> +</formalpara> + +<para +>Toome lihtsa näite. Oletame, et meie Hello näidisprojektis on redigeerimiseks avatud mitu faili: <filename +>hello.cpp</filename +>, <filename +>hello.h</filename +>, <filename +>helloui.rc</filename +>, <filename +>hello.desktop</filename +> ja <filename +>main.cpp</filename +>. Soovid avatuks jätta ainult failid <filename +>hello.cpp</filename +> ja <filename +>hello.h</filename +>. Kõige lihtsam on seda teha tööriistavaates <guilabel +>Failinimekiri</guilabel +>. Et avatud failide nimekiri on järjestatud tähestikuliselt, on vajalike kaartide ülesleidmine päris lihtne. Toimi järgnevalt:</para> + +<procedure> +<step> +<para +>Ava <guilabel +>Failinimekiri</guilabel +> ja klõpsa klahvi <keycap +>Ctrl</keycap +> all hoides nimekirjas failidele, mida soovid sulgeda.</para> +</step> +<step> +<para +>Seejärel, hoides hiirekursorit nimekirjas leiduva faili kohal, klõpsa hiire parema nupuga.</para> +</step> +<step> +<para +>Vali <guimenu +>failinimekirja</guimenu +> kontekstimenüüst <guimenuitem +>Sulge valitud</guimenuitem +>.</para> +</step> +</procedure> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="file-list-close-selected.png" format="PNG"/> +</imageobject> +<caption +><para +>Valitud redaktoriakende sulgemine ühekorraga</para +></caption> +</mediaobject> +</screenshot> +<para +>Ja ongi kõik. &kdevelop; sulgeb kõik valitud redaktoriaknad ja kaardiriba on märksa puhtam.</para> +</sect3> + +<sect3 id="gettingstarted-edit-arrange-tabs"> +<title +>Redigeerimisakna kaartide ümberkorraldamine</title> + +<para +>Isegi kui oled sulgenud tarbetud redaktoriaknad, võib sul olla soov korraldada avatud kaardid ümber loogilisemal viisil. &kdevelop; mõistagi lubab seda teha, nimelt järgmiselt:</para> + +<formalpara> +<title +>Põhiseadistused — kuhu seada uued kaardid</title> + +<para +>Vaikimisi avatakse uue redaktorakna kaart aktiivse redaktoriakna kaardist paremal pool. Seda saab muuta, et uus kaart avataks kaardiribal kõige parempoolsena.</para> +</formalpara> +<para +>Selleks tuleb muuta &kdevelop;i kasutajaliidese põhiseadistusi.</para> +<procedure> +<step> +<para +>Vali <menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>KDevelopi seadistamine...</guimenuitem +></menuchoice +></para> +</step> +<step> +<para +>Vali dialoogi vasakus servas ikoon <guilabel +>Kasutajaliides</guilabel +>. Avaneb dialoog <guilabel +>Kasutajaliides</guilabel +>.</para> +</step> +<step> +<para +>Paremal all leiab sektsiooni <guilabel +>Kaartidega lehitsemine</guilabel +>. Eemalda märge kastist <guilabel +>Uus kaart avatakse aktiivse kaardi järel</guilabel +>.</para> +</step> +<step> +<para +>Sulge &kdevelop; ja käivita uuesti. Nüüd avanevad redaktoriakna kaardid kaardirea parempoolses servas.</para> +</step> +</procedure> + +<para +>Paraku ei saa seda muuta jooksvalt, arendusseansi käigus. Sa pead eelnevalt otsustama, millist käitumist soovid, ning seejärel seda kasutama vähemalt &kdevelop;i järgmise käivitamiseni.</para> + +<formalpara> +<title +>Kaartide ümberkorraldamine</title> +<para +>Arendusülesanded muutuvad aeg-ajalt, mistõttu võib tekkida vajadus redaktoriakende kaarte ümber korraldada. See on &kdevelop;is õige lihtne.</para> +</formalpara> +<para +>Klõpsa lihtsalt kaardil, mida soovid liigutada, hiire keskmise nupuga ja liiguta hiirt veidi. Kursor muutub ristikujuliseks. Nüüd saab hiire keskmist nuppu all hoides kaardi lohistada vajalikku asukohta.</para> +</sect3> + +<sect3 id="gettingstarted-edit-arrange-split"> +<title +>Mitme faili vaatamine korraga</title> + +<para +>Esimesel korral on alati avatud vähemalt üks redaktoriaken, kus saab asuda tegutsema lähtekoodifailide kallal. Kuigi kaartidega aknas saab päris kiiresti ühelt kaardilt teisele lülituda, võib esineda juhtumeid, kus soovid, et korraga oleks avatud mitu faili, ⪚ millegi kontrollimisel või mõne keerukama ülesande täitmisel. &kdevelop; pakub selleks võimalust poolitada töötsoon mitmeks korraga nähtavaks osaks, milles kõigis võivad olla avatud oma kaardid.</para> + +<para +>Poolitamiskäske on kaks, mõlemat saab kasutada kas menüüst <guimenu +>Aken</guimenu +> või hiire parema nupu klõpsuga kaardil või otse sakil. Me tutvustame poolitamist meie Hello näidisprojekti varal.</para> + +<para +>Oletame, et avatud on kaks faili: <filename +>hello.cpp</filename +> ja <filename +>hello.h</filename +>. Töötades failiga <filename +>hello.cpp</filename +>, on sul sageli vaja näha deklaratsioone päisefailis <filename +>hello.h</filename +>, nii et väga hea oleks mõlemad failid korraga silme ees hoida.</para> + +<para +>Selleks tee hiire parema nupuga klõps näiteks faili <filename +>hello.h</filename +> sakil. Ilmub kontekstimenüü.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="split-workspace.png" format="PNG"/> +</imageobject> +<caption +><para +>Töötsooni jagamine kaheks</para +></caption> +</mediaobject> +</screenshot> + +<para +>Vali <guimenuitem +>Poolita horisontaalselt</guimenuitem +>. Töötsoon jagatakse keskelt pooleks ning faili <filename +>hello.h</filename +> sisaldav redaktoriaken avatakse alumises osas.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="split-windows.png"/> +</imageobject> +<caption +><para +>Horisontaalselt poolitatud töötsoon</para +></caption> +</mediaobject> +</screenshot> + +<para +>Pane tähele kaht akent lahutavat eraldajat. Seda hiirega lohistades võib muuta akende kõrgust endale sobivaks.</para> + +<para +>Tähelepanu tasub pöörata mõnele aspektile.</para> +<itemizedlist> +<listitem> +<para +>Poolitatud töötsooni osad on mõlemad täisfunktsionaalsed. See tähendab, et uued redaktoriaknad avatakse parajasti redaktoriakna osas. Soovi korral võib iga osa täiendavalt poolitada, et hoida avatud just nii palju aknaid, kui parajasti vaja.</para> +</listitem> + +<listitem> +<para +>Iga poolitamine viib parajasti aktiivse redaktorakna uude alamtöötsooni kas all või paremal. Teised kaardid jäävad sinna, kus nad olid. Kaarte ei saa poolitatud alade vahel vahetult liigutada, selleks tuleb kaart ühes töötsoonis sulgeda ja teises uuesti avada.</para> +</listitem> + +<listitem> +<para +>Samuti ei saa poolitatud ala otseselt sulgeda. See sulgub automaatselt pärast seda, kui suletud on viimane selles asunud kaart.</para> +</listitem> +</itemizedlist> +</sect3> + +<sect3 id="gettingstarted-edit-arrange-sourceheader"> +<title +>C++ lähtekoodi- ja päisefailide redigeerimine korraga</title> + +<para +>Lisaks mainitud töötsooni poolitamisele on &kdevelop;il pakkuda veel üks vahva võimalus, mis lubab korraga avatud hoida <filename +>.cpp</filename +>-lähtekoodifaili ja vastava <filename +>.h</filename +>-päisefaili. Lisaks lubab see mõlemat faili sünkroonis kasutada: päisefailis näiteks deklaratsiooni valides liigub &kdevelop; vastavale definitsioonile lähtekoodifailis ja vastupidi.</para> + +<para +>See võimalus pole siiski vaikimisi sisse lülitatud, vaid tuleb käsitsi aktiveerida.</para> + +<para +>Vali <menuchoice +><guibutton +>Projekt</guibutton +> <guimenuitem +>Projekti seadistused</guimenuitem +></menuchoice +>. Ilmub dialoog <guilabel +>Projekti seadistused</guilabel +>. Vali vasakus servas ikoon <guiicon +>C++ toetus</guiicon +> ja paremal avanevas dialoogis kaart <guilabel +>Liikumine</guilabel +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="split-source-header.png" format="PNG"/> +</imageobject> +<caption +><para +>C++ lähtekoodi- ja päisefaili avamine kõrvuti</para +></caption> +</mediaobject> +</screenshot> + +<para +>Märgi ära kast <guilabel +>Päise/lähtekoodi eraldamise lubamine</guilabel +>. See lülitab automaatselt sisse valikud <guilabel +>Automaatne sünkroniseerimine</guilabel +> ja <guilabel +>Vertikaalselt</guilabel +>. Jäta need praegu kehtima ja klõpsa nupule <guibutton +>OK</guibutton +>.</para> + +<para +>Selle võimaluse selgitamiseks sulge meie Hello näidisprojektis failid <filename +>hello.cpp</filename +> ja <filename +>hello.h</filename +>. Seejärel vali projekti alamkataloogist <filename class="directory" +>src</filename +> taas fail <filename +>hello.cpp</filename +>. Nagu ikka, avaneb redaktoriaken. Aga kui avad nüüd sellega kokkukuuluva faili <filename +>hello.h</filename +>, poolitab &kdevelop; automaatselt töötsooni ja avab päisefaili otse <filename +>hello.cpp</filename +> akna all.</para> + +<para +>Aga nagu mainitud, see pole veel kõik. Otsi ⪚ failis <filename +>hello.cpp</filename +> üles järgmine konstruktori definitsiooni rida:</para> +<programlisting +>Hello::Hello() +</programlisting> +<para +>ja aseta kursor selle sisse. Seejärel vaata all faili <filename +>hello.h</filename +> ja näed, et &kdevelop; liigub vastavale konstruktori deklaratsiooni reale.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="split-source-header-navigate.png" format="PNG"/> +</imageobject> +<caption +><para +>&kdevelop; liigub automaatselt konstruktori deklaratsioonile</para +></caption> +</mediaobject> +</screenshot> + +<para +>See toimib ka vastupidi: kui viid kursori ühes aknas millegi peale, liigub &kdevelop; teises aknas samuti vastava konstruktsiooni peale.</para> +</sect3> + +<sect3 id="gettingstarted-edit-arrange-group"> +<title +>Lähtekoodifailide rühmitamine arendusseanssideks</title> + +<para +>Kui projekt kasvab ning arendusülesanded muutuvad aina keerukamaks ja sunnivad üha rohkem lülituma erinevate failide või isegi failikogumite vahel, on kätte jõudnud aeg korraldada oma arendustegevus erinevateks seanssideks. Seda võimaldab teha &kdevelop;i tööriistavaade <guilabel +>Failinimekiri</guilabel +>.</para> + +<para +>Tööriistavaate <guilabel +>Failinimekiri</guilabel +> ülaosas on tööriistariba, mille abil saab seansse luua, salvestada, valida ja eemaldada. Samamoodi võib selleks kasutada menüüd <menuchoice +><guimenu +>Vaade</guimenu +><guimenuitem +>Seansid</guimenuitem +></menuchoice +>.</para> + +<para +>Me tutvustame seda taas oma Hello näidisprojekti varal. Oletame, et tahad alati korraga avada failid <filename +>hello.cpp</filename +>, <filename +>hello.h</filename +> ja <filename +>main.cpp</filename +>, sõltumata sellest, millist ülesannet sa parajasti projektis täidad. Selleks tuleb kõigepealt luua uus arendusseanss näiteks nimega <quote +>lähtekood</quote +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="file-list-session-create.png" format="PNG"/> +</imageobject> +<caption +><para +>Arendusseansside kasutamine failirühmade meelespidamiseks</para +></caption> +</mediaobject> +</screenshot> + +<para +>Selleks tuleb astuda mitu sammu.</para> +<procedure> +<step> +<para +>Uue seansi loomine</para> +<substeps> +<step> +<para +>Klõpsa ikoonile <guiicon +>Uus seanss</guiicon +>, mille leiad tööriistavaate <guilabel +>Failinimekiri</guilabel +> akna ülemisest vasakpoolsest servast.</para> +</step> +<step> +<para +>Ilmub dialoog. Anna väljal <guilabel +>Sisesta seansi nimi</guilabel +> oma uuele seansile nimi, ⪚ <quote +>lähtekood</quote +>.</para> +</step> +<step> +<para +>Sulge dialoog klõpsuga nupule <guibutton +>OK</guibutton +>. Uus seanss on nüüd valitav rippmenüüst tööriistaribal.</para> +</step> +</substeps> +</step> +<step> +<para +>Uus seanss on esialgu tühi, see tuleb alles täita failidega, mida soovid selles näha.</para> +<substeps> +<step> +<para +>Ava kõik failid, mida soovid antud arendusseanssi lisada. Meie näites otsustasime sinna lisada failid <filename +>hello.cpp</filename +>, <filename +>hello.h</filename +> ja <filename +>main.cpp</filename +>.</para> +</step> +<step> +<para +>Kui failid on valitud, klõpsa tööriistaribal ikoonle <guiicon +>Salvesta seanss</guiicon +>. Tee seda kindlasti, sest muidu ei pea &kdevelop; faile meeles.</para> +</step> +</substeps> +</step> +</procedure> + +<para +>Ongi kõik. Kui hiljem valid rippmenüüst <guilabel +>Ava seanss</guilabel +> kirje <guilabel +>lähtekood</guilabel +>, sulgeb &kdevelop; kõik parajasti avatud redaktoriaknad ja avab nende asemel need, mis on seanssi salvestatud (meie näites <filename +>hello.cpp</filename +>, <filename +>hello.h</filename +> ja <filename +>main.cpp</filename +>).</para> + +<para +>Projektis võib luua seansse nii palju kui vaja. Kui soovid seansi sisu muuta, vali lihtsalt vajalikud failid ja klõpsa taas ikoonile <guiicon +>Salvesta seanss</guiicon +>. Kui soovid aga seansi kõrvaldada, vali see rippmenüüst ja klõpsa tööriistaribal paremal asuvale ikoonile <guiicon +>Kustuta seanss</guiicon +>.</para> + +<para +>See ei ole veel kõik. &kdevelop; võib teatud seansi projekti laadimisel ka vaikimisi avada. Vali selleks lihtsalt vajalik seanss rippmenüüst projekti seadistuste dialoogis <menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Projekti seadistused</guimenuitem +> <guimenuitem +> Failinimekiri</guimenuitem +></menuchoice +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="file-list-session-default.png" format="PNG"/> +</imageobject> +<caption +><para +>&kdevelop; avab projekti laadimisel valitud seansi.</para +></caption> +</mediaobject> +</screenshot> +</sect3> +</sect2> + +<sect2 id="gettingstarted-edit-problems"> +<title +>Tavaliste probleemide jälgimine</title> + +<para +>Kui avada redaktoriaknas lähtekoodifail, parsib &kdevelop; selle sisu. See võimaldab sisseehitatud <emphasis +>probleemide teavitajal</emphasis +> otsida tekstist mõningaid teadaolevaid levinumaid vigu. Seejärel teavitatakse kasutajat kohtadest, mis nõuavad erilist tähelepanu.</para> + +<para +>Tutvustame seda võimalust meie Hello näidisprojekti varal.</para> + +<itemizedlist> +<listitem> +<para +>Ava redaktoraken lähtekoodifailiga <filename +>main.cpp</filename +>.</para> +</listitem> + +<listitem> +<para +>Kontrolli, et selles oleks lõpupoole järgmine rida:</para> +<programlisting +>/// @todo do something with the command line args here +</programlisting> +<para +>Selle lisas Rakenduse nõustaja, kui lõid Hello projekti, nagu kirjeldati eespool peatükis <link linkend="gettingstarted-new" +>Uue projekti loomine</link +>.</para> +</listitem> + +<listitem> +<para +>Ava nüüd all tööriistavaade <guilabel +>Probleemid</guilabel +>. Kui kõik on nagu kord ja kohus, antakse seal antud TODO'st teada:</para> +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="problem-report-todo.png"/> +</imageobject> +<caption +><para +>&kdevelop; hoiatab lähtekoodirea eest, kus paikneb TODO märge.</para +></caption> +</mediaobject> +</screenshot> +</listitem> +</itemizedlist> + +<para +>Vorming <computeroutput +>/// @todo</computeroutput +> on mõeldud spetsiaalselt koodi dokumenteerimise programmile <application +>Doxygen</application +>, mida me käsitleme lühidalt allpool osas <link linkend="gettingstarted-doc" +>Dokumentatsioon</link +>. Selle vormingu kasutamine ei ole kohustuslik, sama hästi tuntakse ära levinumad kommentaaritähised <computeroutput +>TODO</computeroutput +> ja <computeroutput +>FIXME</computeroutput +>.</para> + +<para +>Kui ⪚ lisad meie näidisfaili <filename +>hello.cpp</filename +> järgmised <computeroutput +>TODO</computeroutput +> ja <computeroutput +>FIXME</computeroutput +> kommentaariread</para> +<programlisting +>Hello::Hello() + : KMainWindow( 0, "Hello" ) +{ + // set the shell's ui resource file + // TODO check the user interface + setXMLFile("helloui.rc"); + + // FIXME change to a better suited greeting + new QLabel( "Hello World", this, "hello label" ); +} +</programlisting> +<para +>siis näitab tööriistavaade <guilabel +>Probleemid</guilabel +> ka neid:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="problem-report-marks.png" format="PNG"/> +</imageobject> +<caption +><para +>Probleemide teavitaja jälgib redigeeritavas failis tähelepanu nõudvaid ridu.</para +></caption> +</mediaobject> +</screenshot> + +<para +>Pane tähele, et <guilabel +>probleemide</guilabel +> teavitaja aknas on ka teisi kaarte, eriti just kaardid <guilabel +>Fixme</guilabel +> ja <guilabel +>Todo</guilabel +>. Neid avades näed kõiki <computeroutput +>FIXME</computeroutput +> ja <computeroutput +>TODO</computeroutput +> märkega ridu, mida &kdevelop; on seni leidnud. Näiteks kaardi <computeroutput +>TODO</computeroutput +> hoiatused näevad praegu välja nii:</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="problem-report-all-todos.png" format="PNG"/> +</imageobject> +<caption +><para +>Probleemide teavitaja kogutud <computeroutput +>TODO</computeroutput +> hoiatused</para +></caption> +</mediaobject> +</screenshot> + +<para +>Kaardil <guilabel +>Vead</guilabel +> pole aga kirjas sugugi kõik koodivead, mida oled teinud. Nende tuvastamine on teiste tööriistade, ⪚ ehitamisprotsessi ülesanne. Siit leiab aga hoiatused mõningate levinumate programmeerimiseksimuste kohta, mis muidu võivad jääda märkamata ja mille tabamine nõuaks keerulist ning vaevalist silumist.</para> + +<para +>&kdevelop;i probleemide teavitaja on väga väärtuslik tööriist, mistõttu tasuks tööriistavaadet <guilabel +>Probleemid</guilabel +> arendustegevuse ajal regulaarselt jälgida.</para> +</sect2> +</sect1> + +<sect1 id="gettingstarted-compile"> +<title +>Projekti kompileerimine</title> + +<para +>Projekti kompileerimine nõuab &kdevelop;is mitut seadistavat sammu ja seejärel rakenduse ehitamist. Kõike seda saab teha menüü <guimenu +>Ehitamine</guimenu +> abil.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="build-menu.png" format="PNG"/> +</imageobject> +<caption +><para +>Projekti ehitamine nõuab mitut sammu</para +></caption> +</mediaobject> +</screenshot> + +<para +>Praegu huvitab meid ainult menüü ülemine osa. Sealsed kirjed on toodud tähtsuse järjekorra. See tähendab, et kõige rohkem vaja minev käsk asub kõige üleval - <guimenuitem +>Ehita projekt</guimenuitem +>, mis initsialiseerib, kompileerib ja lingib projekti. Teised kirjed on mõeldud projekti valitud osade või ka üheainsa faili kompileerimiseks, mitmesugusteks initsialiseerissammudeks või rakenduse valmis binaarifailide paigaldamiseks.</para> + +<para +>Järgnevalt keskendume mitmele võimalusele, mida &kdevelop; pakub projekti seadistamiseks, initsialiseerimiseks, ehitamiseks ja käivitamiseks. Üldiselt tulevad vaatluse alla järgmised asjad:</para> + +<simplelist> +<member +><link linkend="gettingstarted-compile-basic" +>Põhiline ehitamistsükkel.</link +></member> +<member +><link linkend="gettingstarted-compile-setup" +>Projekti konfigureerimise põhilised vahendid.</link +></member> +</simplelist> + +<sect2 id="gettingstarted-compile-basic"> +<title +>Ehitamise põhitsükkel</title> + +<para +>Kui oled loonud uue projekti, soovid enamasti ju ka kntrollida, kas kõik on seni ikka hästi läinud. See tähendab rakenduse esimest ehitamist ja testkäivitamist, mille me nüüd ette võtamegi. Projekti esialgseks kompileerimiseks tuleb astuda mitu sammu, mida me lühidalt tutvustame.</para> +<simplelist> +<member +><link linkend="gettingstarted-compile-basic-init" +>Projekti initsialiseerimine esimeseks ehitamiseks.</link +></member> +<member +><link linkend="gettingstarted-compile-basic-config" +>Esialgne konfigureerimine.</link +></member> +<member +><link linkend="gettingstarted-compile-basic-build" +>Projekti ehitamine.</link +></member> +<member +><link linkend="gettingstarted-compile-basic-run" +>Rakenduse käivitamine &kdevelop;is.</link +></member> +</simplelist> + +<note> +<para +>Me eeldame siinkohal, et sinu projekti aluseks on &GNU; autotools, mis võimaldavad &kdevelop;is kasutada Automake'i haldurit, nagu seda kasutab meie Hello näidisprojekt. Kui oled loonud mõnda muud tüüpi projekti, ⪚ sellise, mis kasutab &Qt; põhist <application +>QMake</application +>'i projektihaldurit, siis võivad menüüs olla mõnevõrra teistsugused kirjed. Sel juhul tuleb tutvuda vastava programmi pakkuja projektihalduse ja rakenduse ehitamise dokumentatsiooniga.</para> +</note> + +<sect3 id="gettingstarted-compile-basic-init"> +<title +>Projekti initsialiseerimine ehitamiseks</title> + +<para +>Kui Rakenduse nõustaja lõi meie Hello näidisprojekti, oli see omamoodi toores, <quote +>neitsilik</quote +>. &GNU; autotools näeb ette mitu initsialiseerimissammu, enne kui rakendust saab tegelikult kompileerida ja linkida. Kui üritad ehitada sellist toorest rakendust, valides ⪚ menüükäsu <menuchoice +><guimenu +>Ehitamine</guimenu +><guimenuitem +>Ehita projekt</guimenuitem +></menuchoice +> või vajutades klahvi <keycap +>F8</keycap +>, saad järgmise hoiatuse.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="raw-project-warning.png" format="PNG"/> +</imageobject> +<caption +><para +>Toore automake'i põhise projekti ehitamise katse</para +></caption> +</mediaobject> +</screenshot> + +<para +>Sa võid klõpsata nupule <guibutton +>Pane tööle</guibutton +> ning &kdevelop; üritab automaatselt läbi viia kõik sammud, mida on vaja enne rakenduse kompileerimist ja linkimist. Kuid me tahame vaadelda esimesi samme õiges järjekorras, sestap klõpsa nupule <guibutton +>Ära käivita</guibutton +>. </para> + +<para +>Nagu mainitud, käib rakenduse kompileerimine ja linkimine menüü <guimenu +>Ehitamine</guimenu +> vahendusel. Ava see ja vali <guimenuitem +>Käivita automake</guimenuitem +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="build-menu-automake.png" format="PNG"/> +</imageobject> +<caption +><para +>Esmase initsialiseerimise käivitamine</para +></caption> +</mediaobject> +</screenshot> + +<para +>&kdevelop; avab nüüd all tööriistavaate <guilabel +>Teated</guilabel +> ja näitab tervet rida teateid, mida annavad mitmesugused ehitamise tööriistad. Kui kõik läheb edukalt, seisab viimasel real <quote +><computeroutput +>*** Õnnestus ***</computeroutput +></quote +>.</para> + +<para +>Algusse kerides näed käsku, mille &kdevelop; tööriistadele andis:</para> + +<programlisting +>cd '/home/devel/projects/hello' && \ +WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -f Makefile.cvs +</programlisting> + +<para +>See annab teada, et &kdevelop; lülitus kõigepealt meie näidisprojekti juurkataloogi. Seejärel kehtestati vajalik keskkond, märkides ära ehitamise initsialiseerimiseks vajalikud tööriistade <application +>autoconf</application +> ja <application +>automake</application +> versioonid. Lõpuks anti ehitamistööriistale (antud juhul &GNU; <application +>gmake</application +>) käsk töödelda faili <filename +>Makefile.cvs</filename +>.</para> + +<para +>See fail loodi automaatselt Hello projekti loomisel. See sisaldab kõiki käske, mida on vaja projekti korrektseks initsialiseerimiseks, et loodav rakendus töötaks &kde; keskkonnas. Ennekõike loob see aga skriptifaili <filename +>configure</filename +>, mida on vaja järgmise sammu sooritamisel.</para> +</sect3> + +<sect3 id="gettingstarted-compile-basic-config"> +<title +>Esialgne Hello konfigureerimine</title> + +<para +>Konfigureerimine tähendab ehitamise kohandamist sinu süsteemi riist- ja tarkvaraga. See on &GNU; autotools'il põhineva ehitamise üks olulisemaid nõudeid, nagu sa arvatavasti juba tead.</para> + +<para +>Konfigureerimisega saab alustada kohe pärast seda, kui algne automake'i initsialiseerimine on edukalt lõpetatud, sest alles pärast seda saab kasutada vajalikke <filename +>configure</filename +>-faile. Vali siis nüüd menüükäsk <menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Käivita 'configure'</guimenuitem +></menuchoice +>, mis alustabki konfigureerimist.</para> + +<para +>&kdevelop; avab vajaduse korral taas tööriistavaate <guilabel +>Teated</guilabel +> ning näitab seal konfigureerimise teateid. Kui kõik läheb edukalt, on viimased teated <quote +><computeroutput +>Good - your configure finished. Start make now</computeroutput +></quote +> (seda teatab 'configure') ja selle järel &kdevelop;i poolt <quote +><computeroutput +>*** Õnnestus ***</computeroutput +></quote +>.</para> + +<para id="gettingstarted-compile-basic-config-cmd" +>Kaardi <guilabel +>Teated</guilabel +> ülaosast leiab taas käsu, millega &kdevelop; konfigureerimise käivitas:</para> + +<programlisting +>mkdir '/home/devel/projects/hello/debug' && \ +cd '/home/devel/projects/hello/debug' && \ +CXXFLAGS="-O0 -g3" "/home/devel/projects/hello/configure" --enable-debug=full +</programlisting> + +<para +>Need paljastavad meile mitu huvitavat detaili.</para> + +<informaltable frame="none"> +<tgroup cols="2" +><tbody +><row> +<entry> +<mediaobject> +<imageobject> +<imagedata fileref="tutorial-debug-tree.png"/> +</imageobject> +</mediaobject> +</entry> +<entry> +<itemizedlist> +<listitem> +<para +>Kõigepealt kasutab &kdevelop; ehitamiseks projekti kataloogipuus spetsiaalset alamkataloogi. Ehitamiskataloog <filename class="directory" +>debug</filename +> (seda näeb vasakul) peegeldab projekti põhistruktuuri ja sisaldab mõningaid ehitamisega seotud faile, näiteks mitu <filename +>configure</filename +>-faili ja lisaks <filename +>Makefile</filename +> igas alamkataloogis.</para> +</listitem> +<listitem> +<para +>Osas <link linkend="gettingstarted-compile-setup" +>Projekti seadistamine</link +> tuleb veel lühidalt juttu, miks &kdevelop; kasutab sellistel juhtudel omaette ehitamiskatalooge. Praegu piisab teadmisest, et &kdevelop; loob kataloogi <filename class="directory" +>debug</filename +> — kui seda on vaja — enne konfigureerimis ja et skript <filename +>configure</filename +> ehitas sinna alamstruktuuri ja kõik <filename +>Makefile</filename +>'id.</para> +</listitem> +<listitem> +<para +>Seejärel kutsus &kdevelop; ehitamiskataloogist <filename class="directory" +>debug</filename +> meie projekti juurkataloogis välja skripti <filename +>configure</filename +>, kasutades spetsiaalset keskkonda, milles lipud <computeroutput +>CXXFLAGS="-O0 -g3"</computeroutput +> annavad hiljem kompilaatorile &gcc; teada, et loodavaid binaarfaile ei tule optimeerida ning neisse tuleb kaasata kogu silumisinfo.</para> +</listitem> +<listitem> +<para +>Lõpuks kutsutakse skript <filename +>configure</filename +> välja võtmega <computeroutput +>--enable-debug=full</computeroutput +>, mis annab korralduse luua kõik <filename +>Makefile</filename +>'id, et hiljem oleks kompileerimise ja linkimise ajal saada kogu vajalik silumisinfo.</para> +</listitem> +</itemizedlist> +</entry> +</row +></tbody +></tgroup> +</informaltable> + +<para +>Kõik need seadistused on kohandatavad projekti tasandil. Sellest kõneleb lähemalt peatükk <link linkend="project-management" +>Projekti haldamine</link +>.</para> +</sect3> + +<sect3 id="gettingstarted-compile-basic-build"> +<title +>Projekti ehitamine</title> + +<para +>Kui oled nii kaugele jõudnud, oled valmis tegelikuks ehitamiseks, &ie; rakenduse kompileerimiseks ja linkimiseks. Menüüst <guimenu +>Ehitamine</guimenu +> leiab kolm asjakohast kirjet.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="build-commands.png" format="PNG"/> +</imageobject> +<caption +><para +>&kdevelop;i käsud binaarfailide ehitamiseks</para +></caption> +</mediaobject> +</screenshot> + +<para +>Need on alt üles järgmised:</para> +<itemizedlist> +<listitem> +<para +><guimenuitem +>Kompileeri fail</guimenuitem +> — kompileerib parajasti redaktoriaknas avatud lähtekoodifaili. Kasutatakse peamiselt kiireks vigade kontrollimiseks.</para> +</listitem> +<listitem> +<para +><guimenuitem +>Ehita aktiivne sihtmärk</guimenuitem +> — kasutatakse peamiselt koostöös <link linkend="gettingstarted-extend-automake" +>Automake'i halduriga</link +>, millest tuleb lühidalt juttu edaspidi.</para> +</listitem> +<listitem> +<para +><guimenuitem +>Ehita projekt</guimenuitem +> — sellest olemegi me praegu huvitatud. See võtab ette kogu projekti, kompileerides ja linkides kõik failid.</para> +</listitem> +</itemizedlist> + +<para +>Võib-olla on huvitav jälgida, mis juhtub kataloogiga <filename class="directory" +>debug</filename +>, mis loodi varasema skripti <filename +>configure</filename +> töö käigus. Seepärast hoia kõik alamkataloogid avatuna, nagu eespool näidatud. Seejärel vali ehitamise alustamiseks menüükäsk <menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Ehita projekt</guimenuitem +></menuchoice +> (või vajuta klahvi <keycap +>F8</keycap +>). Nagu varem, avaneb all tööriistavaade <guilabel +>Teated</guilabel +> ning näitab ehitamise teateid. Lisaks ilmuvad kataloogi <filename class="directory" +>debug</filename +> mõningad failid.</para> + +<para id="gettingstarted-compile-basic-build-cmd" +>Meie Hello näidisprojektis pole just palju faile, mistõttu kaart <guilabel +>Teated</guilabel +> sisaldab vaid mõne rea. Kõige ees seisab taas käsk, mille &kdevelop; edastas protsessi alustamiseks.</para> + +<programlisting +>cd '/home/devel/projects/hello/debug' && \ +WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k +</programlisting> + +<para +>Pole ilmselt üllatav, et &kdevelop; lülitus kataloogi <filename class="directory" +>debug</filename +>, et käivitada seal asuv <filename +>Makefile</filename +>. Nagu <link linkend="gettingstarted-compile-basic-init" +>initsialiseerimise</link +> ajal, loodi taas spetsiaalne keskkond, milles kutsuti välja tööriist <application +>gmake</application +>.</para> + +<para +>Pane tähele võtit <computeroutput +>-k</computeroutput +> programmi <application +>gmake</application +> väljakutses. See sunnib ehitamist jätkama lõpuni ka siis, kui tekib vigu. See on üsna mõistlik, sest &kdevelop; loetleb kõik veateated kaardil <guilabel +>Teated</guilabel +>. Kui neid peaks esinema, saab kasutada &IDE; suuri võimalusi. Klõpsa lihtsalt veal kaardil <guilabel +>Teated</guilabel +> ja &kdevelop; viib sind lähtekoodifailis täpselt sellesse kohta, kus viga tekkis.</para> + +<para +>Ja mis juhtus kataloogiga <filename class="directory" +>debug</filename +>? Tegelikult suurt mitte midagi. Mõned failid ilmusid alamkataloogidesse <filename class="directory" +>doc/en</filename +> ja <filename class="directory" +>src</filename +>, millest vahest enim tähelepanu väärib <filename +>hello</filename +> asukohas <filename class="directory" +>/home/devel/projektid/hello/debug/src/</filename +>. See ongi meie rakenduse binaarfail. Nüüd on rakenduse esialgseks kontrollimiseks veel vaja seesama <filename +>hello</filename +> käivitada.</para> +</sect3> + +<sect3 id="gettingstarted-compile-basic-run"> +<title +>Rakenduse käivitamine</title> + +<para +>Uue Hello rakenduse käivitamiseks ei ole vaja mingeid erisamme. Vali lihtsalt menüükäsk <menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Käivita rakendus</guimenuitem +></menuchoice +> või kasuta kiirklahvi <keycombo +><keycap +>Shift</keycap +> <keycap +>F9</keycap +></keycombo +> või nuppu <guibutton +>Käivita rakendus</guibutton +>, mille leiad <guilabel +>ehitamisribalt</guilabel +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="run-button.png"/> +</imageobject> +<caption +><para +>Rakenduse käivitamine <guilabel +>ehitamisribalt</guilabel +></para> +</caption> +</mediaobject> +</screenshot> + +<para +>See ongi kõik. &kdevelop; käivitab nüüd uue rakenduse spetsiaalses konsooliaknas, mis avaneb all tööriistavaates <guilabel +>Rakendus</guilabel +>. Ülemises reas näeb käsku, mille &kdevelop; annab programmi käivitamiseks:</para> + +<programlisting +>./hello +</programlisting> + +<para +>See näitab, et &IDE; teab, kus asub käivitatav fail. Seda saab mõistagi seadistada. Täpsemalt räägib sellest peatükk <link linkend="project-management" +>Projekti haldamine</link +>.</para> + +<para +>Reale <computeroutput +>./hello</computeroutput +> järgneb tõenäoliselt hoiatus. Seda võib praegu eirata. See ei takista rakenduse <application +>Hello</application +> tööd.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="hello-world-app.png" format="PNG"/> +</imageobject> +<caption> +<para +>Meie esialgne <application +>Hello</application +> rakendus</para> +</caption> +</mediaobject> +</screenshot> + +<para +>Sulge <application +>Hello</application +> rakenduse aken tavapäraselt. Kui vigu ei tekkinud, näitab &kdevelop; tööriistavaates <guilabel +>Rakendus</guilabel +> teadet <quote +><computeroutput +>*** Väljuti normaalselt</computeroutput +></quote +>.</para> +</sect3> +</sect2> + +<sect2 id="gettingstarted-compile-setup"> +<title +>Projekti seadistamine</title> + +<para +>&kdevelop;is saab oma projekti hallata väga paljudel viisidel. Nende käitumist saab iga projekti puhul iseseisvalt määrata, mis kindlasti pakub huvi kogenud arendajatele. Kuid on mõningad projekti spetsiifilised seadistused, mida peavad teadma kõik. </para> + +<simplelist> +<member +><link linkend="gettingstarted-compile-setup-build" +>Mis kasu on ehitamisseadistustest?</link +></member> + +<member +><link linkend="gettingstarted-compile-setup-config" +>Kus määrata kindlaks skripti <filename +>configure</filename +> käitumine?</link +></member> + +<member +><link linkend="gettingstarted-compile-setup-make" +>Kuidas peaks töötama <application +>make</application +>?</link +></member> + +<member +><link linkend="gettingstarted-compile-setup-run" +>Kus peaks asuma käivitatav fail ja mis peaks olema selle nimi?</link +></member> +</simplelist> + +<sect3 id="gettingstarted-compile-setup-build"> +<title +>Ehitamisseadistused</title> + +<para +>Kui me käivitasime skripti <filename +>configure</filename +> eespool toodud osa <link linkend="gettingstarted-compile-basic-config" +>Esialgne Hello seadistamine</link +> juhiste kohaselt, täheldasime, et &kdevelop; lõi selleks spetsiaalse alamkataloogi <filename class="directory" +>debug</filename +>. Nüüd tutvustame selle sammu mõningaid tagajärgi.</para> + +<para +>Esiteks tuleb öelda, et &kdevelop; ei pruugi tingimata kasutada spetsiaalset ehitamiskataloogi. Selle kasutamise näevad ette mallid, mida tarvitab Rakenduse nõustaja uue projekti loomisel.</para> + +<para +>Kui tahad teada, millised ehitamisseadistused on üldse kasutatavad, uuri menüüd <menuchoice +><guimenu +>Projekt</guimenu +> <guisubmenu +>Ehitamise seadistused</guisubmenu +></menuchoice +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="build-configurations.png" format="PNG"/> +</imageobject> +<caption +><para +>Projekti mitu ehitamiseadistust</para +></caption> +</mediaobject> +</screenshot> + +<para +>Antud juhul saab meie Hello näidisprojekti jaoks kasutada kolme erinevat ehitamisseadistust. Teistel juhtudel võib —vähemalt esialgu— olla kasutatav ainuilt üks ehitamisseadistus, nimelt <guimenuitem +>default</guimenuitem +>.</para> + +<para +>Parajasti kasutatava ehitamisseadistuses eest on linnuke, Kui soovid seda muuta, vali lihtsalt mõni muu menüükirje.</para> + +<para +>Vaatame nüüd lühidalt, mida need ehitamisseadistused pakuvad.</para> + +<variablelist id="gettingstarted-compile-setup-build-configs"> +<varlistentry> +<term +><guimenuitem +>debug</guimenuitem +></term> +<listitem> +<para +>Seda tuleks kasutada arendamise käigus vaikimisi ehitamisseadistusena. Ehitamine käib sel juhul lähtekoodikataloogidest eraldi spetsiaalses alamkataloogis <filename class="directory" +>debug</filename +>, &ie; kõik objektid, lisafailid ja käivitatavad failid paigutakse loodud alamkataloogi alamkataloogidesse, mitte aga vastavatesse asukohtasse projekti juurkataloogis. Skriptile <filename +>configure</filename +> antakse võti <computeroutput +>--enable-debug=full</computeroutput +> ning võti <computeroutput +>CXXFLAGS="-O0 -g3"</computeroutput +> annab kompilaatorile &gcc; teada, et koodi ei optimeerita ning loodud binaarfailidesse lisatakse põhjalik silumisinfo.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenuitem +>optimized</guimenuitem +></term> +<listitem> +<para +>See on mõeldud lõpliku C++ rakenduse ehitamiseks. Ehitamine toimub lähtekoodikataloogidest eraldi spetsiaalses alamkataloogis <filename class="directory" +>optimized</filename +>. Skriptile <filename +>configure</filename +> ei anta ühtegi spetsiifilist võtit, kuid võti <computeroutput +>CXXFLAGS="-O2 -g0"</computeroutput +> annab kompilaatorile &gcc; teada, et kood tuleb optimeerida ning loodud binaarfailidesse ei lisata silumisinfot.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><guimenuitem +>default</guimenuitem +></term> +<listitem> +<para +>Mõiste <quote +>default</quote +> ehk tõlkes 'vaikimisi' märgib standardseadistust, kui ehitad konsoolipõhise rakenduse, kasutades ⪚&GNU; käsureapõhiseid ehitamistööriistu <application +>configure</application +> ja <application +>make</application +>/<application +>gmake</application +>. Erinevalt variantidest <guimenuitem +>debug</guimenuitem +> ja <guimenuitem +>optimized</guimenuitem +> ei kasutata spetsiaalset ehitamiskataloogi. Rakendus ehitatakse vaikimisi lähtekoodikataloogides. Spetsiaalseid konfigureerimisvõtmeid ei anta. Ehitamisel ja rakenduse käivitamisel kasutatakse vaikimisi tööriistu (nt. &gcc; jne.).</para> + +<warning> +<para +>Mõtle hoolikalt järele, enne kui kasutad ehitamiskeskkonda <guimenuitem +>default</guimenuitem +>!</para> + +<para +>Seda ei saa kasutada paralleelselt spetsiifiliste keskkondadega <guimenuitem +>debug</guimenuitem +> ja <guimenuitem +>optimized</guimenuitem +>. <emphasis +>Kõik variandiga <guimenuitem +>default</guimenuitem +> ette võetud ehitamistoimingud muudavad teised ehitamiskeskkonnad kasutuskõlbmatuks.</emphasis +> Seda põhjustavad teatud iseärasused <filename +>Makefile</filename +>'ide loomisel <application +>automake</application +>/<application +>autoconf</application +>'i abil, mida ei saa enam tagasi võtta.</para> +</warning> +</listitem> +</varlistentry> +</variablelist> + +<para +>Miks aga peaks üldse tahtma kasutada erinevaid ehitamisseadistusi, eriti kui nad isegi üksteisega ei ühildu? Vastus — see lihtsustab redigeerimise, kompileerimise ja silumise tsüklit. Binaarfailidesse lisatud silumisinfo. aga programmi koodi tehtud väikesed muudatused optimeerimise käigus mõjutavad loodud rakenduse käitusaegset käitumist. Seepärast on paljudel juhtudel, kui mõne rutiini loogiline struktuur tundub olevat korrektne, siiski mõttekas seda testida, et näha, kas see käitub korrektselt ka elulisemates tingimustes.</para> + +<para +>Siin tulevadki mängu &kdevelop;i ehitamisseadistused. Et ehitatud objektid ja käivitatavad failid spetsiaalsetes ehitamiskataloogides ja ehitamiskäsud on üksteisest lahus, tuleb ehitamisseadistuse vahetamisel tegelda ainult lähtekoodi muutmisega.</para> + +<para +>See tähendab, et tingimuste muutmisel ei pruugi kõike puhastada ja algusest peale kompileerima asuda, vaid lihtsalt lülituda ehitamisseadistuselt <guimenuitem +>debug</guimenuitem +> seadistusele <guimenuitem +>optimized</guimenuitem +>, kompileerida lähtekoodi muudatused ja testida kõike uuesti uutes oludes. Kui midagi on valesti, vali taas seadistus <guimenuitem +>debug</guimenuitem +> ja jätka kohe oma tööd.</para> + +<para +>Viimane märkus — ehitamisseadistused on mitmeti seadistatavad. Soovi korral võib luua isegi omaenda ehitamisseadistusi. Me käsitleme neid võimalusi põgusalt järgmises osas.</para> +</sect3> + +<sect3 id="gettingstarted-compile-setup-config"> +<title +>Projekti konfigureerimise seadistused</title> + +<para +>Rakenduse korralik konfigureerimine on &GNU; autotools'i ahelas hädavajalik. Tavaliselt tehakse seda skriptile <filename +>configure</filename +> antavate võtmetega ja/või keskkonnale spetsiifiliste lippudega, mis määratakse kindlaks enne skripti <filename +>configure</filename +> käivitamist (⪚ <computeroutput +>CXXFLAGS</computeroutput +>, mida vaatlesime eespool).</para> + +<para +>Enamikku konfigureerimisvõtmeid saab &kdevelop;is määrata graafiliselt. Vali <menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Projekti seadistused</guimenuitem +></menuchoice +> ja ilmuvas dialoogis vasakus servas ikoon <guiicon +>Konfigureerimise seadistused</guiicon +>. Paremal pool näidatakse seejärel mitme kaardiga dialoogi <guilabel +>Konfigureerimise seadistused</guilabel +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="configure-project-configure.png" format="PNG"/> +</imageobject> +<caption +><para +>Siin saab määrata enamiku konfigureerimise seadistusi</para +></caption> +</mediaobject> +</screenshot> + +<para +>Nagu näed, on dialoogis võimalik seadistada õige paljusid asju. Praegu vaatame põgusalt neist ainult mõningaid, mis seonduvad meie Hello näidisprojektiga. Täpsemalt räägib sellest peatükk <link linkend="projects-configure" +>Projektide seadistamine</link +>. Kui soovid lähemalt tundma õppida erinevaid lippe, siis otsi teavet käsureal käsuga <command +>info make</command +> (või <command +>info:make</command +> &konqueror;is), kus tuleb üles leida sektsioon <menuchoice +><guimenu +>Implicit Rules</guimenu +> <guimenuitem +>Implicit Variables</guimenuitem +></menuchoice +>.</para> + +<para +>Dialoogis on mitu kaarti, millest esimene, <guilabel +>Üldine</guilabel +>, puudutab kõige üldisemaid seadistusi, teised teatud kompilaatoritele spetsiifilisi seadistusi. Kõigil juhtudel aga mõjutab dialoogide sisu parajasti valitud ehitamisseadistus.</para> + +<para +>Ehitamisseadistuse, mille seadistusi muutma asuda, saab valida dialoogi <guilabel +>Konfigureerimise seadistused</guilabel +> ülaosas asuvast rippmenüüst <guilabel +>Konfiguratsioon</guilabel +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="configure-project-buildconfig.png" format="PNG"/> +</imageobject> +<caption +><para +>Ehitamisseadistuse valik, mille seadistusi muuta</para +></caption> +</mediaobject> +</screenshot> + +<para +>Nüüd vali samast rippmenüüst mõni teine ehitamisseadistus ja pane tähele, kuidas dialoogi sisu ⪚ tekstikastides <guilabel +>Konfigureerimise argumendid</guilabel +> ja <guilabel +>Ehituskataloog</guilabel +> muutub vastavalt sellele, mida me tutvustasime eespool <link linkend="gettingstarted-compile-setup-build-configs" +>ehitamisseadistustest</link +> kõneldes.</para> + +<sect4 id="gettingstarted-compile-setup-config-general"> +<title +>Üldised konfigureerimise seadistused</title> + +<para +>Kaardil <guilabel +>Üldine</guilabel +> saab määrata järgmisi konfigureerimise valikuid:</para> + +<itemizedlist> +<listitem> +<formalpara> +<title +>Konfigureerimise argumendid</title> +<para +>Need on võtmed, mida &kdevelop; edastab ehitamiseks skriptile <filename +>configure</filename +>. Vaata eespool <link linkend="gettingstarted-compile-basic-config-cmd" +>näidist</link +> osas <quote +>Esialgne Hello seadistamine</quote +>.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Ehituskataloog</title> +<para +>See on projekti juurkataloogi alamkataloog, kuhu &kdevelop; paigutab kõik ehitamisel loodud failid. Ideaalis peaks see kattuma kasutatava ehitamisseadistuse nimega, kuid kasutada võib mis tahes nime, peaasi et see erineks teiste ehitusseadistuste vaikimisi kataloogidest.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Lähtekoodi ülemkataloog</title> +<para +>Seda ei ole enamasti vaja määrata. Vaikimisi on selleks projekti juurkataloog ning muuta tuleks seda vaid siis, kui projekti lähtekood asub kuskil mujal.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>C/C++ eelprotsessori lipud (CPPFLAGS)</title> +<para +>Siin tuleb anda eelprotsessorile mõeldud juhised. &kdevelop; kasutab neid ajutise keskkonna loomiseks enne ehitustööriista väljakutsumist. Ka siin tasuks vaadata <link linkend="gettingstarted-compile-basic-config-cmd" +>näidist</link +> osas<quote +>Esialgne Hello seadistamine</quote +>.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Linkur lipud (LDFLAGS)</title> +<para +>Siin tuleb anda linkimistööriistale <application +>ld</application +> teada, kust otsida täiendavaid teeke. Ka seda kasutatakse ajutise ehituskeskkonna loomiseks.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Keskkonnamuutujad</title> +<para +>Siin saab määrata lisamuutujaid ajutisele ehituskeskkonnale, mille &kdevelop; loob enne vastava ehitustööriista väljakutsumist. Keskkonnamuutujad tuleb määrata eraldi kõigile ehitamisseadistustele.</para> +</formalpara> +</listitem> +</itemizedlist> +</sect4> + +<sect4 id="gettingstarted-compile-setup-config-spec"> +<title +>Kompilaatori spetsiifilised seadistused</title> + +<para +>Dialoogi <guilabel +>Konfigureerimise seadistused</guilabel +> teistel kaartidel on konkreetsete kompilaatoritega seotud valikud. Need on üldiselt ühetaolised, mistõttu piirdume kaardiga <guilabel +>C++</guilabel +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="configure-project-cpp.png" format="PNG"/> +</imageobject> +<caption +><para +>&kdevelop;i kasutatava kompilaatori ja selle töökeskkonna valimine</para +></caption> +</mediaobject> +</screenshot> + +<para +>Siin saab määrata järgmisi asju:</para> + +<itemizedlist> +<listitem> +<formalpara> +<title +>C++ kompilaator</title> +<para +>Sellest ripmenüüst saab valida C++ kompilaatori, mida &kdevelop; standardselt kasutab. Siin on näha ainult need kompilaatorid, mis on &kdevelop;ile kättesaadavad.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Kompilaatori käsk (CXX)</title> +<para +>Ainult asjatundjatele. Seda läheb vaja vaid siis, kui C++ kompilaator pole standardne. Kirjuta siia selle nimi.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Kompilaatori lipud (CXXFLAGS)</title> +<para +>Siin saab anda täiendavad võtmed, mida &kdevelop; (<filename +>Makefile</filename +>'i vahendusel) edastab kompilaatorile. Mõned võtmed on ette antud vastavalt rippmenüüst <guilabel +>Konfiguratsioon</guilabel +> valitud ehitamisseadistusele.</para> +</formalpara> + +<para +>Pane tähele, et paljusid levinumaid kompilaatori võtmeid saab valida dialoogist, mis avaneb klõpsuga tekstikastist paremal asuvale nupule <guibutton +>...</guibutton +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="configure-project-cppoptions.png" format="PNG"/> +</imageobject> +<caption +><para +>Selles dialoogis saab määrata &GNU; C++ kompilaatori käitumise</para +></caption> +</mediaobject> +</screenshot> + +<para +>Me näitasime siin sihilikult kaarti <guilabel +>Optimeerimine</guilabel +>. Pane tähele, et valitud on <guilabel +>Optimeerimiseta</guilabel +> (vastavalt võtmele <computeroutput +>-O0</computeroutput +> ehitamisseadistuses <computeroutput +>debug</computeroutput +>).</para> + +<para +>Paraku ei saa praegu mitte kõiki võtmeid selles dialoogis määrata. Näiteks võti <computeroutput +>-g3</computeroutput +>, mida kasutab ehitamisseadistus <computeroutput +>debug</computeroutput +>, tuleb vajaduse korral käsitsi muuta.</para> +</listitem> +</itemizedlist> +</sect4> +</sect3> + +<sect3 id="gettingstarted-compile-setup-make"> +<title +>Make'i programmi ehitamise viisid</title> + +<para +>&kdevelop;pi saab panna projekti ehitamisel tööriista <application +>make</application +> väga mitmel moel välja kutsuma. Vali <menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Projekti seadistused</guimenuitem +></menuchoice +> ja seejärel vasakus servas ikoon <guiicon +>Ehitamise seadistused</guiicon +>. Paremal avaneb dialoog <guilabel +>Ehitamise seadistused</guilabel +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="configure-project-make.png" format="PNG"/> +</imageobject> +<caption +><para +>&kdevelop;i väljakutse määramine tööriistale <application +>make</application +></para +></caption> +</mediaobject> +</screenshot> + +<para +>Siin ei ole üldiselt suurt midagi vaja muuta. Enamasti on ainuke huvipakkuv valik <guilabel +>Esimese vea ilmnemisel katkestatakse töö</guilabel +>. Enamikus projektides on see välja lülitatud. See vastab võtmele <computeroutput +>-k</computeroutput +> rakenduse <application +>gmake</application +> väljakutses, mis esines meie Hello näidisprojekti <link linkend="gettingstarted-compile-basic-build-cmd" +>esimese ehitamise</link +> käsus.</para> + +<para +>See on mõttekas sellises &IDE;-s nagu &kdevelop;, mis talletab kõik ehitamise ajal tekkinud vead. Pärast ehitamist saab tööriistavaates <guilabel +>Teated</guilabel +> hõlpsasti kõiki vigu näha. Neid saab läbi lapata menüükäskudega <menuchoice +><guimenu +>Vaade</guimenu +> <guimenuitem +>Järgmine viga</guimenuitem +></menuchoice +> ja <menuchoice +><guimenu +>Vaade</guimenu +><guimenuitem +>Eelmine viga</guimenuitem +></menuchoice +> või vastavate kiirklahvidega <keycap +>F4</keycap +> ja <keycombo +><keycap +>Shift</keycap +><keycap +>F4</keycap +></keycombo +>. &kdevelop; aktiveerib selle peale automaatselt vajaliku lähtekoodifaili ja viib kursori reale, kus viga esines.</para> + +<para +>Kui sa aga soovid, et ehitamine peatataks kohe vea tekkimisel, märgi dialoogis ära kast <guilabel +>Esimese vea ilmnemisel katkestatakse töö</guilabel +>. Sel juhul kutsub &kdevelop; programmi <application +>gmake</application +> välja võtmeta <computeroutput +>-k</computeroutput +>.</para> +</sect3> + +<sect3 id="gettingstarted-compile-setup-run"> +<title +>Käivitatava faili käivitamine</title> + +<para +>Kui ehitamine tehtud, saab &kdevelop;is kohe rakenduse käivitada. Vali kas menüükäsk <menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Käivita rakendus</guimenuitem +></menuchoice +>, kiirklahv <keycombo +><keycap +>Shift</keycap +><keycap +>F9</keycap +></keycombo +> või klõpsa &kdevelop;i <guilabel +>ehitamisribal</guilabel +> ikoonile <guibutton +>Käivita rakendus</guibutton +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="run-button.png" format="PNG"/> +</imageobject> +<caption +><para +>Rakenduse käivitamine tööriistaribalt</para +></caption> +</mediaobject> +</screenshot> + +<para +>Aga kus see käivitatav fail asub? Kuidas lisada &kdevelop;i väljakutsele veel mõningaid võtmeid? Ja kuidas panna see tööle omaette terminalist, et kontrollida interaktiivset käitumist konsoolis?</para> + +<para +>Kõik see on seadistatav &kdevelop;i projekti käivitamisvalikutega. Vali <menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Projekti seadistused</guimenuitem +></menuchoice +> ja seejärel vasakus servas ikoon <guiicon +>Käivitamise seadistused</guiicon +>. Paremal avaneb dialoog <guilabel +>Käivitamise seadistused</guilabel +>.</para> + +<screenshot> +<mediaobject> +<imageobject> +<imagedata fileref="configure-project-run.png" format="PNG"/> +</imageobject> +<caption +><para +>Rakenduse käivitamise koha ja viisi määramine</para +></caption> +</mediaobject> +</screenshot> + +<para +>Selles dialoogis on üsna palju valikuid, mis põhimõtteliselt jagunevad nelja rühma.</para> + +<itemizedlist> +<listitem> +<formalpara> +<title +>Kataloog</title> +<para +>Siin saab &kdevelop;ile teada anda, kust tuleb käivitatav fail välja kutsuda. Valida saab kolme võimaluse seast.</para> +</formalpara> + +<para +>Pane tähele, et siin saab määrata ainult juurkataloogi. &kdevelop; otsib käivitatavat faili tavaliselt mõnest alamkataloogist, mille saab määrata valikute järgmises rühmas.</para> + +<itemizedlist> +<listitem> +<para +>Käivitamine kataloogist, kus käivitatav fail viimati ehitati. See on vaikevalik. Selle võib julgelt kehtima jätta.</para> +</listitem> + +<listitem> +<para +>Käivitamine ehituskataloogist vastavalt parajasti valitud <link linkend="gettingstarted-compile-setup-build" +>ehitamisseadistusele</link +>. Kataloogi nimi on kindlaks määratud dialoogis <link linkend="gettingstarted-compile-setup-config-general" +>Üldised seadistused</link +>.</para> + +<para +>See on juurkataloog, kust &kdevelop; käivitatavat faili otsib. See muutub automaatselt vastavalt menüüs <menuchoice +><guimenu +>Projekt</guimenu +> <guisubmenu +>Ehitamise seadistused</guisubmenu +></menuchoice +> langetatud valikule.</para> + +<para +>Lisaks sellele, et nii saab alati käivitada kõige viimati ehitatud käivitatava faili, võimaldab see valik rakenduse käivitamist lülitada lihtsalt menüüst <guimenu +>Projekt</guimenu +> mõnda muud ehitamisseadistust valides.</para> +</listitem> + +<listitem> +<para +>Käivitamine kindlast valitud kataloogist. Taas on tegemist vaid juurkataloogiga, mille seest otsitakse käivitatavat faili.</para> + +<para +>Seda on mõtet kasutada ⪚ siis, kui soovid käivitada juba paigaldatud rakenduse, mitte aga projektikataloogides asuva versiooni.</para> +</listitem> +</itemizedlist> +</listitem> + +<listitem> +<formalpara> +<title +>Programm</title> +<para +>See annab &kdevelop;ile teada programmi suhtelise asukoha ja nime, mida välja kutsuda. Asukoht on suhteline eespool määratud konfiguratsioonirühma asukoha juurkataloogi suhtes. Lisaks saab anda &kdevelop;ile korralduse edastada programmile väljakutsumisel mis tahes võtmeid.</para> +</formalpara> + +<note> +<para +>Kui jätta tekstikast <guilabel +>Põhirakendus</guilabel +> tühjaks, kasutatakse Automake'i halduri <emphasis +>aktiivse sihtmärgi</emphasis +> seadistusi. Kuigi tegemist on kogenud kasutajatele mõeldud valikuga, tekitab selle välja juhuslik tühjaksjätmine väga sageli probleeme. See tasuks ära märkida, kui &kdevelop; ei kutsu välja vajalikku käivitatavat faili.</para> +</note> +</listitem> + +<listitem> +<formalpara> +<title +>Keskkonnamuutujad</title> +<para +>&kdevelop; loob spetsiaalse keskkonna, milles rakendus tööle panna. Siin saab määrata täiendavad keskkonnamuutujad.</para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Muud</title> +<para +>Dialoogi allservas on veel kaks märkekasti.</para> +</formalpara> + +<itemizedlist> +<listitem> +<para +><guilabel +>Automaatne kompileerimine enne käivitamist</guilabel +> on enamasti mõttekas valik. &kdevelop; kontrollib projektis muutusi ja sooritab vajaduse korral konfigureerimise ja ehitamise, kui annad käsu rakendus käivitada.</para> + +<para +>Märge tasuks kastist eemaldada juihul, kui soovid käivitada rakenduse viimase muutmise eelse versiooni.</para> +</listitem> + +<listitem> +<para +><guilabel +>Käivitamine välises terminalis</guilabel +> pakub huvi juhul, kui soovid testida mittegraafilise rakenduse sisendi ja väljundi käitumist konsoolis. Vaikimisi ei ole see sisse lülitatud, mistõttu &kdevelop; käivitab rakenduse omaenda aknas, kus puuduvad konsooliterminali sisendi/väljundi võimalused.</para> +</listitem> +</itemizedlist> +</listitem> +</itemizedlist> +</sect3> +</sect2 +> +</sect1> + +<sect1 id="gettingstarted-extend"> +<title +>Projekti laiendamine — Automake'i haldur</title> + +<para +>(- veel kirjutamata -)</para> + +<sect2 id="gettingstarted-extend-automake"> +<title +>Kiirülevaade Automake'i tegevusest</title> + +<para +>(- veel kirjutamata -)</para> +</sect2 +> + +<sect2 id="gettingstarted-extend-pics"> +<title +>Ikoonide asetamine eraldi kataloogi</title> + +<para +>(- veel kirjutamata -)</para> +</sect2 +> + +<sect2 id="gettingstarted-extend-class"> +<title +>Uute klasside lisamine</title> + +<para +>(- veel kirjutamata -)</para> + +<caution +><para +>Ole klassi failinimede valimisel väga hoolikas. Hiljem on neid väga keeruline muuta.</para +></caution> +</sect2 +> + +<sect2 id="gettingstarted-extend-subproject"> +<title +>Alamprojekti sisu</title> + +<para +>(- veel kirjutamata -)</para> + +<sect3 id="gettingstarted-extend-subproject-active"> +<title +>Keskendumine tööle — aktiivne sihtmärk</title> + +<para +>(- veel kirjutamata -)</para> +</sect3 +> +</sect2 +> + +<sect2 id="gettingstarted-extend-restructure"> +<title +>Mõned sammud projekti restruktureerimiseks</title> + +<para +>(- veel kirjutamata -)</para> +</sect2 +> +</sect1> + + +<sect1 id="gettingstarted-debug"> +<title +>Silumine</title> + +<para +>(- veel kirjutamata -)</para> +</sect1 +> + + +<sect1 id="gettingstarted-doc"> +<title +>Märkus projekti dokumentatsiooni kohta</title> + +<para +>&kde; projekt kasutab oma käsiraamatu genereerimiseks <ulink url="http://www.docbook.org/tdg5/en/html/docbook.html" +>docbook'i</ulink +>. Käsiraamatu saab avada rakenduses menüükäsuga <menuchoice +><guimenu +>Abi</guimenu +><guimenuitem +><replaceable +>RakenduseNimi</replaceable +> käsiraamat</guimenuitem +></menuchoice +>, kui &kde; graafiline rakendus töötab. Pärast projekti ehitamist näeb käsiraamatut &abikeskus;es. See peaks seletama kasutajale, kuidas rakendus töötab, millised on selle peamised omadused ja kuidas seda seadistada. Samuti peaks see rääkima kogenenumatele kasutajatele mõeldud võimalustest, kui neid on. </para> +<para +>Kõigil &kdevelop;i &kde; põhistel mallidel on alamkataloog doc, mis sisaldab kataloogis en malli <filename +>index.docbook</filename +>, mille põhjal saab asuda käsiraamatut kirjutama. Faili <filename +>index.docbook</filename +> tuleks redigeerida &kdevelop;is, alustades selliste eraandmete muutmisest, nagu nimi, e-posti aadress &etc; Uuri failis leiduvaid kommentaare ja püüa nende alusel hakata oma rakenduse dokumentatsiooni kirjutama. Kui soovid näha muudatusi &abikeskus;es, ehita projekt uuesti.</para> +<note +><para +>Projekt tuleb paigaldada &kdevelop;is menüükäsuga <menuchoice +><guimenu +>Ehitamine</guimenu +> <guimenuitem +>Paigalda</guimenuitem +></menuchoice +> või <guimenuitem +>Paigalda (administraatorina)</guimenuitem +>, kui soovid näha käsiraamatut &abikeskus;es.</para +></note> +<para +>Docbook'i süntaksi kohta leiab rohkem teavet <ulink url="http://l10n.kde.org/docs/markup/index.html" +>&kde; dokumentatsiooni veebileheküljelt</ulink +>.</para> +</sect1> + +<sect1 id="gettingstarted-keys"> +<title +>Ja viimaks - kiirklahvid</title> + +<para +>(- veel kirjutamata -)</para> +</sect1> + +<sect1 id="gettingstarted-whereto"> +<title +>Kuhu edasi?</title> + +<para +>(- veel kirjutamata -)</para> + +<sect2 id="gettingstarted-whereto-faq"> +<title +>Sageli esinevad probleemid</title> + +<simplelist> +<member +>Põhitõdede peatükk</member> +<member +>KKK-leheküljed</member> +<member +>Foorum</member> +<member +>Postiloendid</member> +</simplelist> +</sect2> + +<sect2 id="gettingstarted-whereto-projects"> +<title +>Projektide kasutamine</title> + +<para +>(- veel kirjutamata -)</para> + +<sect3 id="gettingstarted-whereto-projects-open"> +<title +>Olemasolevate &kdevelop;i projektide kasutamine</title> + +<para +>(- veel kirjutamata -)</para> +</sect3> + +<sect3 id="gettingstarted-whereto-projects-import"> +<title +>Väliste projektide import</title> + +<para +>(- veel kirjutamata -)</para> +</sect3> +</sect2> +</sect1> + +</chapter> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/index.cache.bz2 b/tde-i18n-et/docs/kdevelop/kdevelop/index.cache.bz2 Binary files differnew file mode 100644 index 00000000000..b13935f1206 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/index.cache.bz2 diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/index.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/index.docbook new file mode 100644 index 00000000000..8aabd08402c --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/index.docbook @@ -0,0 +1,694 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ +<!-- <!ENTITY kdevelop "<application +>KDevelop</application +>" +> --> + <!ENTITY kdevelop "KDevelop"> + <!ENTITY kdevrelease "3.3.91"> + + <!-- abbreviations used in the body text --> + <!ENTITY apache "<application +>Apache</application +>"> + <!ENTITY API "<acronym +>API</acronym +>"> + <!ENTITY appwizard "Application Wizard"> + <!ENTITY autoconf "<command +>autoconf</command +>"> + <!ENTITY automake "<command +>automake</command +>"> + <!ENTITY automanag "Automake Manager"> + <!ENTITY ctags "<command +>ctags</command +>"> + <!ENTITY CVS "<application +>CVS</application +>"> + <!ENTITY cvs "CVS"> + <!ENTITY doxygen "<application +>Doxygen</application +>"> + <!ENTITY doxywizard "<application +>doxywizard</application +>"> + <!ENTITY egrep "<command +>egrep</command +>"> + <!ENTITY grep "<command +>grep</command +>"> + <!ENTITY HTML "<acronym +>HTML</acronym +>"> + <!ENTITY IDE "<acronym +>IDE</acronym +>"> + <!ENTITY libtool "<command +>libtool</command +>"> + <!ENTITY nfwizard "New File Wizard"> + <!ENTITY python "<application +>Python</application +>"> + <!ENTITY perl "<application +>Perl</application +>"> + <!ENTITY php "<application +>PHP</application +>"> + <!ENTITY promanag "Project Manager"> + <!ENTITY qte "<application +>Qt/embedded</application +>"> + <!ENTITY ssh "<application +>ssh</application +>"> + + <!-- chapters in separate docbook files --> + <!ENTITY survey-manual SYSTEM "survey-manual.docbook"> + <!ENTITY getting-started SYSTEM "getting-started.docbook"> + <!ENTITY kdevelop-survey SYSTEM "kdevelop-survey.docbook"> + <!ENTITY setup SYSTEM "setup.docbook"> + <!ENTITY applicationwizard SYSTEM "applicationwizard.docbook"> + <!ENTITY editing SYSTEM "editing.docbook"> + <!ENTITY file-browsers SYSTEM "file-browsers.docbook"> + <!ENTITY class-browsers SYSTEM "class-browsers.docbook"> + <!ENTITY documentation SYSTEM "documentation.docbook"> + <!ENTITY project-management SYSTEM "project-management.docbook"> + <!ENTITY adv-build-management SYSTEM "adv-build-management.docbook"> + <!ENTITY debugger SYSTEM "debugger.docbook"> + <!ENTITY cvs-chapter SYSTEM "cvs.docbook"> + <!ENTITY external-progs SYSTEM "external-progs.docbook"> + <!ENTITY scripts SYSTEM "scripts.docbook"> + <!ENTITY credits SYSTEM "credits.docbook"> + <!ENTITY kdevelop-scripting SYSTEM "kdevelop-scripting.docbook"> + + <!-- appendices in separate docbook files --> + <!ENTITY kdevelop-install SYSTEM "kdevelop-install.docbook"> + <!ENTITY nutshell SYSTEM "nutshell.docbook"> + <!ENTITY unixdev SYSTEM "unixdev.docbook"> + <!ENTITY app-menu SYSTEM "app-menu.docbook"> + <!ENTITY app-shortcuts SYSTEM "app-shortcuts.docbook"> + <!ENTITY app-files SYSTEM "app-files.docbook"> + <!ENTITY plugin-tools SYSTEM "plugin-tools.docbook"> + <!ENTITY app-uimodes-examples SYSTEM "app-uimodes-examples.docbook"> + <!ENTITY commands SYSTEM "commands.docbook"> + <!ENTITY app-misc-info SYSTEM "app-misc-info.docbook"> + <!ENTITY app-changelog SYSTEM "app-changelog.docbook"> + <!ENTITY app-bibliography SYSTEM "app-bibliography.docbook"> + + <!-- book related entities --> + <!ENTITY kappname "&kdevelop;"> + <!ENTITY % addindex "INCLUDE"> + <!ENTITY % Estonian "INCLUDE" +> <!-- change language only here --> +]> + +<!-- +NOTE: +Entries which require special treatment are marked with comments starting with '###'. They should be visited on a regular basis. +--> + +<book lang="&language;"> + +<bookinfo> + <title +>&kdevelop;i kasutaja käsiraamat</title> + + <date +>2006-06-19</date> + <releaseinfo +>&kdevrelease;</releaseinfo> + + <authorgroup> + <author +><firstname +>Bernd</firstname +> <surname +>Gehrmann</surname +> <affiliation +> <address +><email +>bernd@kdevelop.org</email +></address> + </affiliation> + </author> + + <author +><firstname +>Caleb</firstname +> <surname +>Tennis</surname +> <affiliation +> <address +><email +>caleb@aei-tech.com</email +></address> + </affiliation> + </author> + + <author +><firstname +>Bernd</firstname +> <surname +>Pol</surname +> <affiliation +> <address +><email +>bernd.pol@online.de</email +></address> + </affiliation> + </author> + + <author +><firstname +>Volker</firstname +> <surname +>Paul</surname +> <affiliation +> <address +><email +>volker.paul@tiscali.de</email +></address> + </affiliation> + </author> + </authorgroup> + + <copyright> + <year +>2002</year> + <holder +>Bernd Gehrmann</holder> + </copyright> + <copyright> + <year +>2002</year> + <holder +>Caleb Tennis</holder> + </copyright> + <copyright> + <year +>2004</year> + <holder +>Bernd Pol</holder> + </copyright> + <copyright> + <year +>2005</year> + <holder +>Volker Paul</holder> + </copyright> + + <othercredit role="translator" +><firstname +>Marek</firstname +><surname +>Laane</surname +><affiliation +><address +><email +>bald@starman.ee</email +></address +></affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> + + <legalnotice +>&FDLNotice;</legalnotice> + + <abstract> + <para +>&kdevelop; on integreeritud arenduskeskkond, mis sobib väga paljudeks programmeerimisega seotud ülesanneteks.</para> + </abstract> + + <keywordset> + <keyword +>KDE</keyword> + <keyword +>KDevelop</keyword> + <keyword +>IDE</keyword> + <keyword +>arendus</keyword> + <keyword +>programmeerimine</keyword> + </keywordset> + +</bookinfo> + +<!-- ====================================================================== --> + +&survey-manual; +&getting-started; <!-- "Getting Started" --> +&kdevelop-survey; <!-- "Overview of &kdevelop; Features" --> +&setup; <!-- "Configuring &kdevelop;" --> +&applicationwizard; <!-- "Getting Started — the &appwizard;" --> +&editing; +&file-browsers; +&class-browsers; +&documentation; +&project-management; +&adv-build-management; +&debugger; +&cvs-chapter; +<!--&kdevelop-scripting;--> <!-- "Scripting &kdevelop;" --> +&credits; + +<!-- ====================================================================== --> +<!-- External Appendices --> + +&kdevelop-install; <!-- "Installing &kdevelop;" --> +&nutshell; +&unixdev; <!-- "Development on &UNIX;" --> +<!-- +&app-menu; +&app-shortcuts; +--> +&app-files; +&plugin-tools; +&app-uimodes-examples; +&commands; +&app-misc-info; +&app-changelog; + +<!-- ====================================================================== --> +<!-- ### Questionable, probably not IDE-specific enough. Check later again. +<chapter id="python"> +<title +>Python</title> + +<para +>... +</para> + +</chapter +> --> <!-- python --> + +<!-- ====================================================================== --> +<!-- ### Questionable, probably not IDE-specific enough. Check later again. +<chapter id="php"> +<title +>PHP</title> + +<para +>... +</para> +</chapter +> --> <!-- php --> + +<!-- ====================================================================== --> + +<!-- Note (bp, 2003-09-04): <bibliography +> should remain the last appendix --> +<!-- section because of a (meinproc???) bug which sends the Next selection --> +<!-- in circles back to it. --> +<!-- (LWatts: 2005-04-30) This is probably due to a missing id= somewhere, --> +<!-- so I've added a couple in hopes it goes away. --> + +<appendix id="app-bibliography"> +<title +>Bibliograafia</title> + +<para +>(... veel kirjutamata ...)</para> + +<bibliography id="bibliography"> + +<biblioentry> +<title +><ulink url="info://make/Top" +>GNU Make Manual</ulink +></title> +<authorgroup> +<author +><firstname +>Richard M.</firstname +><surname +>Stallman</surname +></author> +<author +><firstname +>Roland</firstname +><surname +>McGrath</surname +></author> +</authorgroup> +</biblioentry> + +<biblioentry> +<title +><ulink url="info://automake/Top" +>GNU Automake</ulink +></title> +<authorgroup> +<author +><firstname +>David</firstname +><surname +>MacKenzie</surname +></author> +<author +><firstname +>Tom</firstname +><surname +>Tromey</surname +></author> +</authorgroup> +</biblioentry> + +<biblioentry> +<title +><ulink url="info://autoconf/Top" +>GNU Autoconf</ulink +></title> +<authorgroup> +<author +><firstname +>David</firstname +><surname +>MacKenzie</surname +></author> +<author +><firstname +>Ben</firstname +><surname +>Elliston</surname +></author> +</authorgroup> +</biblioentry> + +<biblioentry> +<title +><ulink url="info://gcc/Top" +>Using the GNU Compiler Collection</ulink +></title> +<author +><firstname +>Richard M.</firstname +><surname +>Stallman</surname +></author> +</biblioentry> + +<biblioentry> +<title +><ulink url="info://libtool/Top" +>GNU Libtool</ulink +></title> +<authorgroup> +<author +><firstname +>Gordon</firstname +><surname +>Matzigkeit</surname +></author> +<author +><firstname +>Alexandre</firstname +><surname +>Oliva</surname +></author> +<author +><firstname +>Thomas</firstname +><surname +>Tanner</surname +></author> +<author +><firstname +>Gary V.</firstname +><surname +>Vaughan</surname +></author> +</authorgroup> +</biblioentry> + +<biblioentry> +<title +>GNU Autoconf, Automake, and Libtool</title> +<edition +>1st edition</edition> +<pubdate +>October 2000</pubdate> +<authorgroup> +<author +><firstname +>Gary V.</firstname +><surname +>Vaughan</surname +></author> +<author +><firstname +>Ben</firstname +><surname +>Elliston</surname +></author> +<author +><firstname +>Tom</firstname +><surname +>Tromey</surname +></author> +<author +><firstname +>Ian Lance</firstname +><surname +>Taylor</surname +></author> +</authorgroup> +<publisher +><publishername +>New Riders Publishing</publishername +></publisher> +<isbn +>ISBN 1578701902</isbn> +</biblioentry> + + +<biblioentry> +<title +>Advanced Programming in the &UNIX; Environment</title> +<edition +>1st edition</edition> +<pubdate +>June 1992</pubdate> +<author +><firstname +>W. Richard</firstname +><surname +>Stevens</surname +></author> +<publisher +><publishername +>Addison-Wesley Pub Co</publishername +></publisher> +<isbn +>ISBN 0201563177</isbn> +</biblioentry> + +<biblioentry> +<title +>Thinking in C++, Volume 1: Introduction to Standard C++</title> +<edition +>2nd Edition</edition> +<pubdate +>April 15, 2000</pubdate> +<author +><firstname +>Bruce</firstname +><surname +>Eckel</surname +></author> +<publisher +><publishername +>Prentice Hall</publishername +></publisher> +<isbn +>ISBN 0139798099</isbn> +</biblioentry> + +<biblioentry> +<title +>Open Source Development with CVS</title> +<edition +>2nd Edition</edition> +<pubdate +>October 12, 2001</pubdate> +<authorgroup> +<author +><firstname +>Karl</firstname +><surname +>Fogel</surname +></author> +<author +><firstname +>Moshe</firstname +><surname +>Bar</surname +></author> +</authorgroup> +<publisher +><publishername +>The Coriolis Group</publishername +></publisher> +<isbn +>ISBN 158880173X</isbn> +</biblioentry> + +<biblioentry> +<title +>Programming PHP</title> +<edition +>1st edition</edition> +<pubdate +>March 2002</pubdate> +<authorgroup> +<author +><firstname +>Rasmus</firstname +><surname +>Lerdorf</surname +></author> +<author +><firstname +>Kevin</firstname +><surname +>Tatroe</surname +></author> +</authorgroup> +<publisher +><publishername +>O'Reilly & Associates</publishername +></publisher> +<isbn +>ISBN 1565926102</isbn> +</biblioentry> + +<biblioentry> +<title +>Programming Python</title> +<edition +>2nd Edition</edition> +<pubdate +>March 2001</pubdate> +<author +><firstname +>Mark</firstname +><surname +>Lutz</surname +></author> +<publisher +><publishername +>O'Reilly & Associates</publishername +></publisher> +<isbn +>ISBN 0596000855</isbn> +</biblioentry> + +<biblioentry> +<title +>Gui Programming With Python : Using the Qt Toolkit</title> +<edition +>Bk&Cd-r edition</edition> +<pubdate +>January 2002</pubdate> +<author +><firstname +>Boudewijn</firstname +><surname +>Rempt</surname +></author> +<publisher +><publishername +>Opendocs Llc</publishername +></publisher> +<isbn +>ISBN 0970033044</isbn> +</biblioentry> + +<biblioentry> +<title +>Programming Perl</title> +<subtitle +>The Camel book</subtitle> +<edition +>3rd Edition</edition> +<pubdate +>July 2000</pubdate> +<authorgroup> +<author +><firstname +>Larry</firstname +><surname +>Wall</surname +></author> +<author +><firstname +>Tom</firstname +><surname +>Christiansen</surname +></author> +<author +><firstname +>Jon</firstname +><surname +>Orwant</surname +></author> +</authorgroup> +<publisher +><publishername +>O'Reilly & Associates</publishername +></publisher> +<isbn +>ISBN 0596000278</isbn> +</biblioentry> + +<biblioentry> +<title +>Learning Perl</title> +<subtitle +>The Lama book</subtitle> +<edition +>3rd Edition</edition> +<pubdate +>July 15, 2001</pubdate> +<authorgroup> +<author +><firstname +>Randal L.</firstname +><surname +>Schwartz</surname +></author> +<author +><firstname +>Tom</firstname +><surname +>Phoenix</surname +></author> +</authorgroup> +<publisher +><publishername +>O'Reilly & Associates</publishername +></publisher> +<isbn +>ISBN 0596001320</isbn> +</biblioentry> + +</bibliography> +<!-- --> + +</appendix +> <!-- app-bibliography --> + +<!-- ====================================================================== --> + +&documentation.index; + +</book> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-install.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-install.docbook new file mode 100644 index 00000000000..8309e1ed8e3 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-install.docbook @@ -0,0 +1,1290 @@ +<appendix id="kdevelop-install"> + +<appendixinfo> + <authorgroup> + <author +><firstname +>Bernd</firstname +><surname +>Pol</surname +></author> + <author +><firstname +>Anne-Marie</firstname +><surname +>Mahfouf</surname +></author> + <!-- ROLES_OF_TRANSLATORS --> + </authorgroup> +</appendixinfo> + +<title +>&kdevelop;i paigaldamine</title> + +<indexterm zone="kdevelop-install"> + <primary +>paigaldamine</primary +></indexterm> + +<para +>Käesolevas peatükis räägime sammudest, mida on vaja ette võtta &kdevelop;i IDE kompileerimiseks ja paigaldamiseks: <itemizedlist> + <listitem +><para +><link linkend="kdevelop-install-howto" +>&kdevelop;i hankimine</link +> kõneleb peamiselt &kdevelop;i uusima lähtekoodi allalaadimisest SVN-ist. </para +></listitem> + <listitem +><para +><link linkend="requirements" +>&kdevelop;i nõuded</link +> toob ära programmid ja teegid, mida on paigaldada IDE edukaks kompileerimiseks. </para +></listitem> + <listitem +><para +><link linkend="compile-and-install" +>&kdevelop;i kompileerimine ja paigaldamine</link +> käib samm-sammult läbi kogu rakenduse kompileerimise ja paigaldamise protsessi. </para +></listitem> + <listitem +><para +><link linkend="make-api" +>&kdevelop;i &API; dokumentatsiooni hankimine</link +> selgitab, mis on API ja kuidas hankida see väga kasulik töövahend &kdevelop;i lähtekoodifailides liikumiseks. </para +></listitem> +</itemizedlist> +</para> + +<sect1 id="kdevelop-install-howto"> +<title +>&kdevelop;i hankimine</title> + +<indexterm zone="kdevelop-install-howto"> + <primary +>&kdevelop;i hankimine</primary +></indexterm> +<indexterm zone="kdevelop-install-howto"> + <primary +>&kdevelop;</primary> + <secondary +>hankimine</secondary +></indexterm> + +<para +>&kdevelop; on binaarpaketina saadaval paljudes &Linux; distributsioonides (näiteks SuSE, RedHat ja nii edasi). Binaarpaketid on mõnes käepärases vormingus, näiteks RPM, mis muudab nende paigaldamise üsna lihtsaks. Järgida tuleb lihtsalt distributsiooni tarkvara paigaldamise üldisi reegleid. </para> +<para +>&kdevelop;i lähtekoodi võib aga hankida, kompileerida ja paigaldada ka ise. Lähtekoodi leiab projekti koduleheküljelt <ulink url="http://www.kdevelop.org" +>http://www.kdevelop.org</ulink +> või <ulink url="http://download.kde.org" +>&kde; FTP-saidilt</ulink +>. </para> + +<sect2 id="howto-svn"> +<title +>&kdevelop;i igapäevaste hetkeversioonide hankimine SVN-ist</title> + +<indexterm zone="howto-svn"> + <primary +>svn</primary +></indexterm> + +<para +>Kui soovid käia ühte jalga arenduse hetkeseisuga, võid kasutada SVN-i hoidla hetkeversioone (snapshot).</para> +<para +>Mooduli nimi on <emphasis +>kdevelop</emphasis +> ja selle asukoht <filename class="directory" +>svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kdevelop</filename +>. </para> + +<sect3 id="howto-svn-co"> +<title +>Esialgne SVN-i väljavõte</title> + +<indexterm zone="howto-svn-co"> + <primary +>väljavõtmine</primary +></indexterm> +<indexterm zone="howto-svn-co"> + <primary +>&kdevelop;</primary> + <secondary +>svn</secondary> + <tertiary +>väljavõtmine</tertiary +></indexterm> + +<para +>&kdevelop;i esialgse versiooni hankimiseks tuleb see alla laadida anonüümse SVN-iga. Selleks <emphasis +>väljavõtmise</emphasis +> toiminguks talita järgmiselt. </para> + +<note +><para +>Me eeldame, et sa tahad paigutada &kdevelop;i kataloogi <filename class="directory" +>kde3src</filename +> oma kodukataloogis (<filename class="directory" +>~</filename +>). </para +></note> + +<informalexample +><simplelist> + <member +># Vajaduse korral loo sihtkataloog: </member> + <member +><prompt +>~> </prompt +> <userinput +>mkdir kde3src</userinput +> </member> + <member +><prompt +>~> </prompt +> <userinput +>cd kde3src</userinput +> </member> + <member +><prompt +>~/kde3src> </prompt +> <userinput +>svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kdevelop</userinput +> </member> + <member +><prompt +>~/kde3src> </prompt +> <userinput +>cd kdevelop</userinput +> </member> +</simplelist +></informalexample> + +<note +><para +>Kui oled &kdevelop;i edukalt hoidlast välja võtnud, võid selle alati värskena hoida uuendamist kasutades, mida tutvustame järgmises osas. </para +></note> + +<important +><para +>Ürita serverit mitte liigselt koormata. <emphasis +>Palun ära tee väljavõtet iga kord, kui tahad hankida &kdevelop;i uusimat versiooni!</emphasis +> Kasuta selle asemel SVN-i uuendamise võimalust. </para +></important> + +<para +>Nüüd võid &kdevelop;i kompileerida nii, nagu seda selgitab osa <link linkend="compile-and-install" +>&kdevelop;i kompileerimine ja paigaldamine</link +>. </para> + +</sect3 +> <!-- howto-svn-co --> + +<sect3 id="howto-svn-up"> +<title +>SVN-i versiooni hoidmine värskena</title> + +<indexterm zone="howto-svn-up"> + <primary +>uuendamine</primary +></indexterm> +<indexterm zone="howto-svn-up"> + <primary +>&kdevelop;</primary> + <secondary +>svn</secondary> + <tertiary +>uuendamine</tertiary +></indexterm> + +<para +>Kui oled &kdevelop;i SVN-ist edukalt välja võtnud (ja kompileerinud), soovid arvatavasti seda värskena hoida, et näha, kuidas arendustegevus edasi kulgeb. Selleks järgi järgmisi samme (me eeldame taas, et &kdevelop; asub kataloogis <filename class="directory" +>kde3src</filename +>). </para> +<para +>Pane tähele käsu <command +>up</command +> (= <emphasis +>update</emphasis +> ehk uuendamine) kasutamist käsu <command +>co</command +> (mis tähendab <emphasis +>checkout</emphasis +> ehk väljavõte) asemel. </para> + +<informalexample +><simplelist> + <member +><prompt +>~> </prompt +> <userinput +>cd kde3src</userinput +> </member> + <member +><prompt +>~/kde3src> </prompt +> <userinput +>cd kdevelop</userinput +> </member> + <member +><prompt +>~/kde3src> </prompt +> <userinput +>svn up</userinput +> </member> +</simplelist +></informalexample> + +<note +><para +>Jälgi uuendamise ajal SVN-i teateid. Sellest sõltuvad ka kompileerimise ajal vajalikud sammud. </para +></note> + +<para +>Nüüd võid uue &kdevelop;i versiooni kompileerida nii, nagu seda õpetab tegema peatükk <link linkend="compile-and-install-make-svn" +>SVN-i kompileerimise iseärasused</link +>. </para> +</sect3 +> <!-- howto-svn-up --> + +</sect2 +> <!-- howto-svn --> + +</sect1 +> <!-- howto --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="requirements"> +<title +>&kdevelop;i nõuded</title> + +<indexterm zone="requirements"> + <primary +>nõuded</primary +></indexterm> +<indexterm zone="requirements"> + <primary +>&kdevelop;</primary> + <secondary +>nõuded</secondary +></indexterm> +<indexterm zone="requirements"> + <primary +>GNU</primary> + <secondary +>nõuded</secondary +></indexterm> + +<para +>&kdevelop;i edukaks kompileerimiseks ja kasutamiseks on vajalikud järgmised programmid ja teegid. Enamikul platvormidel käivad need juba distributsiooniga kaasas ja peaks olema paigaldatud või vähemalt väga lihtsasti paigaldatavad. </para> + +<itemizedlist> +<title +>Nõutavad:</title> + <listitem> + <para +><application +>gcc/g++</application +> ≥ 2.95.3 (või ühilduv) <indexterm> + <primary +>gcc</primary> + <secondary +>nõuded</secondary +></indexterm> + <indexterm> + <primary +>g++</primary> + <secondary +>nõuded</secondary +></indexterm> + </para> + <para +>Saadaval: <ulink url="gcc.gnu.org" +>gcc.gnu.org</ulink +> </para> + </listitem> + <listitem> + <para +><application +>&GNU; make</application +> (või ühilduv) <indexterm> + <primary +>make</primary> + <secondary +>nõuded</secondary +></indexterm> + </para> + <para +>Saadaval: <ulink url="www.gnu.org/software/make" +>www.gnu.org/software/make</ulink +> </para> + </listitem> + <listitem> + <para +>&perl; 5.004 (või uuem) <indexterm> + <primary +>Perl</primary> + <secondary +>nõuded</secondary +></indexterm> + </para> + <para +>Saadaval: <ulink url="www.perl.com" +>www.perl.com</ulink +> </para> + </listitem> + <listitem> + <para +><application +>autoconf</application +> ≥ 2.52 (või uuem) <indexterm> + <primary +>autoconf</primary> + <secondary +>nõuded</secondary +></indexterm> + </para> + <para +>Saadaval: <ulink url="www.gnu.org/software/autoconf" +>www.gnu.org/software/autoconf</ulink +> </para> + </listitem> + <listitem> + <para +><application +>automake</application +> ≥ 1.6 (või uuem) <indexterm> + <primary +>automake</primary> + <secondary +>nõuded</secondary +></indexterm> + </para> + <para +>Saadaval: <ulink url="www.gnu.org/software/automake" +>www.gnu.org/software/automake</ulink +> </para> + </listitem> + <listitem> + <para +><application +>flex</application +> 2.5.4 (või uuem) <indexterm> + <primary +>flex</primary> + <secondary +>nõuded</secondary +></indexterm> + </para> + <para +>Saadaval: <ulink url="www.gnu.org/software/flex" +>www.gnu.org/software/flex</ulink +> </para> + </listitem> + <listitem> + <para +>&Qt; ≥ 3.3.0 (või uuem) <indexterm> + <primary +>Qt</primary> + <secondary +>nõuded</secondary +></indexterm> + </para> + <para +>Saadaval: <ulink url="www.trolltech.com/products/qt" +>www.trolltech.com/products/qt</ulink +> </para> + </listitem> + <listitem> + <para +><application +>KDE</application +> ≥ 3.4.0 (või uuem) <indexterm> + <primary +>KDE</primary> + <secondary +>nõuded</secondary +></indexterm> + </para> + <para +>Saadaval: <ulink url="www.kde.org" +>www.kde.org</ulink +> </para> + </listitem> +</itemizedlist> + +<itemizedlist> +<title +>Lisavõimalused:</title> + <listitem +><para +>Lähtekoodis liikumise tööriist <emphasis +><application +>ctags</application +></emphasis +> (saadaval: <ulink url="http://ctags.sourceforge.net" +>http://ctags.sourceforge.net</ulink +>), mis lubab kõigest paari klõpsuga redaktoris liikuda vajalikele deklaratsioonidele ja definitsioonidele. <indexterm +><primary +>ctags</primary +></indexterm> + </para +></listitem> + <listitem +><para +>Graafikakeele kompilaator <emphasis +><application +>dot</application +></emphasis +> (saadaval: <ulink url="http://www.graphviz.org" +>http:/www.graphviz.org</ulink +>). Seda läheb vaja allpool mainitud &doxygen;i jaoks, kui soovid esitada graafiliselt klasside seoseid (mis on väga soovitatav). <indexterm +><primary +>dot</primary +></indexterm> + </para +></listitem> + <listitem +><para +>Dokumentatsioonitööriist <emphasis +>&doxygen;</emphasis +> (saadaval: <ulink url="http://www.doxygen.org" +>http://www.doxygen.org</ulink +>), millega saab oma projektist genereerida kokkuvõtliku ja võimsa API dokumentatsiooni. <indexterm +><primary +>doxygen</primary +></indexterm> + </para +></listitem> + <listitem +><para +><emphasis +><application +>valgrind</application +></emphasis +> (saadaval: <ulink url="http://developer.kde.org/~sewardj/" +>http://developer.kde.org/~sewardj/</ulink +>) aitab tuvastada rakenduses esinevaid mälukasutusprobleeme. <indexterm +><primary +>valgrind</primary +></indexterm> + </para +></listitem> + <listitem +><para +><emphasis +><application +>svn</application +></emphasis +> (saadaval: <ulink url="http://subversion.tigris.org/" +>http://subversion.tigris.org/</ulink +>), kui soovid kasutada versioonikontrollisüsteemi SVN. <indexterm> + <primary +>svn</primary> + <secondary +>nõuded</secondary +></indexterm> + </para +></listitem> + <listitem +><para +>Mis tahes kompilaator ja/või tööriist, kui soovid arendada muus keeles või muu platvormi jaoks kui C++/&kde; või kui kasutad midagi spetsiaalset. </para +></listitem> +</itemizedlist> + +<note> +<orderedlist> + <listitem> + <para +>Teatud määral saab mööda minna nõudest &autoconf; ≥ 2.52 ja &automake; ≥ 1.6 järele. Eemalda lihtsalt oma &kdevelop;i paigalduskataloogist kataloog <filename class="directory" +>admin</filename +> ja anna käsk <indexterm> + <primary +>autoconf</primary> + <secondary +>versiooninõudest möödahiilimine</secondary +></indexterm> + <indexterm> + <primary +>automake</primary> + <secondary +>versiooninõudest möödahiilimine</secondary +></indexterm> + <indexterm> + <primary +>versiooninõue</primary> + <secondary +>möödahiilimine autoconf/automake'i korral</secondary +></indexterm> + </para> + <informalexample +><simplelist> + <member +><prompt +>(sinu-kdevelopi-kataloog)> </prompt +> <userinput +>ln -s $KDEDIR/share/apps/kdelibs/admin admin</userinput +></member> + </simplelist +></informalexample> + <para +>See sunnib &kdevelop;i kasutama &kde; kataloogis <filename class="directory" +>admin</filename +> määratud standardseadistusi. </para> + </listitem> + <listitem> + <para +>Pane tähele, et sa <emphasis +>ei segaks &Qt; versioone</emphasis +>. Lingi &kdevelop; alati selle &Qt; versiooniga, millega on kompileeritud sinu &kde; teek. Vastasel juhul võid kohata mitmeid <emphasis +>väga kummalisi</emphasis +> ilminguid. </para> + </listitem> +</orderedlist> +</note> + +</sect1 +> <!-- requirements --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="compile-and-install"> +<title +>&kdevelop;i kompileerimine ja paigaldamine</title> + +<indexterm zone="compile-and-install"> + <primary +>&kdevelop;</primary> + <secondary +>kompileerimine</secondary +></indexterm> +<indexterm zone="compile-and-install"> + <primary +>&kdevelop;</primary> + <secondary +>paigaldamine</secondary +></indexterm> + +<para +>Kui kõik nõuded on rahuldatud, võid asuda &kdevelop;i kompileerimise ja paigaldamise kallale. Järgnevalt tutvustamegi selleks vajalikke samme. </para> +<itemizedlist> + <listitem +><para +><link linkend="compile-and-install-preliminaries" +>Eelnevad sammud</link +> räägib sobiva keskkonna loomisest. </para +></listitem> + <listitem +><para +><link linkend="compile-and-install-make" +>&kdevelop;i kompileerimine</link +> käsitleb &kdevelop;i lähtekoodi hankimist SVN-ist, selle ettevalmistamist paigaldamiseks ning esitab sammud, mida on vaja &kdevelop;i kompileerimiseks ja paigaldamiseks. </para +></listitem> + <listitem +><para +><link linkend="compile-and-install-options" +>Mõned märkused configure võtmete kohta</link +> vaatleb, kuidas panna tööle &kdevelop;, kui see on paigaldatud kuhugi mujale kui &kde; kataloogi. </para +></listitem> +</itemizedlist> + +<sect2 id="compile-and-install-preliminaries"> +<title +>Eelnevad sammud</title> + +<indexterm zone="compile-and-install-preliminaries"> + <primary +>eelnevad sammud</primary> + <secondary +>&kdevelop;i paigaldamine</secondary +></indexterm> +<indexterm zone="compile-and-install-preliminaries"> + <primary +>KDEDIR</primary +></indexterm> +<indexterm zone="compile-and-install-preliminaries"> + <primary +>QTDIR</primary +></indexterm> +<indexterm zone="compile-and-install-preliminaries"> + <primary +>LD_LIBRARY_PATH</primary +></indexterm> +<indexterm zone="compile-and-install-preliminaries"> + <primary +>LIBRARY_PATH</primary +></indexterm> +<indexterm zone="compile-and-install-preliminaries"> + <primary +>PATH</primary +></indexterm> + +<para +>Enne kompileerimise kallale asumist tuleb kontrollida, et süsteemis on ikka olemas kõik vajalikud teegid ja tööriistad. Selleks tuleb korrektselt määrata mõned keskkonnamuutujad. Milliseid konkreetseid samme astuda, sõltub sellest, millist shelli sa kasutad. </para> + +<note +><para +>Et mitte käsitsi kirjutada kogu aeg kõiki lauseid, mis loovad vajalikud keskkonnamuutujad, võiks need lisada faili <filename +>.bashrc</filename +> või <filename +>.cshrc</filename +>. Nii määratakse keskkonnamuutujatele sobiv väärtus alati, kui shelli käivitad. </para +></note> + +<sect3 id="compile-and-install-preliminaries-bash"> +<title +>Keskkonna loomine Bashi shellile</title> + +<para +>Kui kasutad Bashi shelli, lisa järgmised read: </para> + +<informalexample +><simplelist> + <member +><userinput +>export KDEDIR=</userinput +>(sinu KDE paigalduse asukoht)</member> + <member +><userinput +>export QTDIR=</userinput +>(sinu Qt teegi asukoht)</member> + <member +><userinput +>export LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH</userinput +></member> + <member +><userinput +>export LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LIBRARY_PATH</userinput +></member> + <member +><userinput +>export PATH=$QTDIR/bin:$KDEDIR/bin:$PATH</userinput +></member> +</simplelist +></informalexample> +<para +></para> + +</sect3 +> <!-- compile-and-install-preliminaries-bash --> + +<sect3 id="compile-and-install-preliminaries-tcsh"> +<title +>Keskkonna loomine Tcsh shellile</title> + +<para +>Kui kasutad Tcsh shelli, lisa järgmised read: </para> +<para> +<informalexample +><simplelist> + <member +><userinput +>setenv KDEDIR </userinput +>(sinu KDE paigalduse asukoht)</member> + <member +><userinput +>setenv QTDIR </userinput +>(sinu Qt teegi asukoht)</member> + <member +><userinput +>setenv LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH</userinput +></member> + <member +><userinput +>setenv LIBRARY_PATH $QTDIR/lib:$KDEDIR/lib:$LIBRARY_PATH</userinput +></member> + <member +><userinput +>setenv PATH $QTDIR/bin:$KDEDIR/bin:$PATH</userinput +></member> +</simplelist +></informalexample> +</para> + +</sect3 +> <!-- compile-and-install-preliminaries-tcs --> + +</sect2 +> <!-- compile-and-install-preliminaries --> + +<sect2 id="compile-and-install-make"> +<title +>&kdevelop;i kompileerimine</title> + +<indexterm zone="compile-and-install-make"> + <primary +>make</primary> + <secondary +>&kdevelop;i paigaldamine</secondary +></indexterm> +<indexterm zone="compile-and-install-make"> + <primary +>kompileerimine</primary> + <secondary +>&kdevelop;</secondary +></indexterm> + +<note +><para +>Järgnevalt eeldame, et oled &kdevelop;i lähtekoodi paigutanud kataloogi <filename class="directory" +>~/kde3src/kdevelop</filename +>. </para +></note> + +<sect3 id="compile-and-install-make-svn"> +<title +>SVN-i kompileerimise iseärasused</title> + +<para +>Kui kasutad &kdevelop;i hetkeversiooni SVN-ist, sõltuvad esimesed kompileerimissammud sellest, kas oled teinud täieliku väljavõtte või ainult lähtekoodi uuendanud. </para> + +<variablelist> +<varlistentry> +<term id="compile-and-install-make-svn-co" +>Pärast SVN-i väljavõtet</term> +<listitem> +<para +>Pärast esimest väljavõtet tuleb <emphasis +>initsialiseerida ehitussüsteem</emphasis +>. Seda tuleb õieti teha alati, kui soovid kõike algusest peale alustada. Anna käsk: </para> + +<informalexample +><simplelist +><member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>make -f admin/Makefile.common svn-clean</userinput +> </member +></simplelist +></informalexample> +<para +>ja seejärel <emphasis +>kõik järgnevad sammud</emphasis +>. </para> +<note +><para +>Sul on vajalik ligipääs SVN-i hoidlasse puhastamiseks, kui seal tuleb taastada vigaseid või puuduvaid faile. </para +></note> +<important +><para +>Käsk <command +>svn-clean</command +> <emphasis +>eemaldab kataloogist kõik failid</emphasis +>, mida ei leidu SVN-is! Kontrolli eelnevalt, et oleksid teinud varukoopia mis tahes väärtuslikust infost. </para +></important> +</listitem> +</varlistentry> + +<varlistentry> +<term id="compile-and-install-make-svn-up" +>Pärast SVN-i uuendamist</term> +<listitem> +<para +>Järgmine samm sõltub SVN-i uuendamisel nähtud teadetest. Kui näed midagi sellist (vasakpoolses veerus võib olla kas U või P, mis mõlemad annavad märku, et faili on muudetud): </para> + +<screen +>U /mingi_kataloogi_asukoht/Makefile.am +</screen> +<para +>või kui tegid täieliku väljavõtte, tuleb sul anda käsk: </para> +<informalexample +><simplelist +><member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>make -f Makefile.svn</userinput +> </member +></simplelist +></informalexample> +<para +>enne kui asud <emphasis +>kõigi järgnevate sammude</emphasis +> juurde. </para> +</listitem> +</varlistentry> +</variablelist> +</sect3 +> <!-- compile-and-install-make-svn --> + +<sect3 id="compile-and-install-make-basic"> +<title +>Käsu <command +>make</command +> põhisammud</title> + +<para +>Kui ehitussüsteem on põhimõtteliselt paigas, tuleb otsustada, millist &kdevelop;i süsteemi sa soovid kasutada. Seda saab teha järgneva konfigureerimissammu käigus, millega luuakse tegelikud <filename +>Makefile</filename +>'id, mida käsk <command +>make</command +> kasutab. </para> + +<note +><para +>Sa võid loobuda võtmest <option +>--prefix</option +> järgnevates <command +>configure</command +> näidetes, kui paigaldad &kdevelop;i &kde; vaikekataloogi. Täpsemalt räägib sellest osa <link linkend="compile-and-install-options" +>Mõned märkused configure võtmete kohta</link +>. </para +></note> + +<variablelist> +<varlistentry> +<term +>Silumisega kompileeritud versioon</term> +<listitem> +<para +>Kui soovid hoida silma peal, mida &kdevelop;i rakendus teeb käitusajal, tuleks ehitada silumisega kompileeritud versioon. Selleks anna vastav käsklus käsule <command +>configure</command +>: </para> + +<informalexample +><simplelist +><member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>./configure --enable-debug=full --prefix=</userinput +>(sinu-kde3-asukoht) </member +></simplelist +></informalexample> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Väljalaskeks kompileeritud versioon</term> +<listitem> +<para +>Kui soovid kasutada &kdevelop;i nii nagu ta on (väiksem ja töötab kiiremini), piisab väljalaskeks mõeldud versioonist. Vaikimisi <command +>configure</command +> seda teebki.</para> + +<informalexample +><simplelist +><member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>./configure --prefix=</userinput +>(sinu-kde3-asukoht) </member +></simplelist +></informalexample> + +<note> +<para +>Kui soovid ehitada omaenda <link linkend="make-api" +>API dokumentatsiooni</link +> &kdevelop;ile, tuleb käsule <command +>configure</command +> anda veel üks võti: </para> +<informalexample +><simplelist> + <member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>./configure --</userinput +>(võtmed-nagu-eespool) <userinput +>\</userinput +></member +> <member +><userinput +>--with-kdelibsdoxy-dir=$KDEDIR/share/doc/HTML/en/kdelibs-apidocs</userinput +></member> +</simplelist +></informalexample> +</note> +</listitem> +</varlistentry> + +<varlistentry> +<term +>&kdevelop;i ehitamine ja paigaldamine</term> +<listitem> +<para +>Käsk <command +>configure</command +> kontrollib süsteemi ja ehitab vastavalt leitule mõned <filename +>Makefile</filename +>'id. Käsk <command +>make</command +> kasutab vaikimisi peamist <filename +>Makefile</filename +>'i. Sestap on piisav </para> + +<informalexample +><simplelist +><member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>make</userinput +> </member +></simplelist +></informalexample> +<para +>Vajaduse korral võta endale administraatori (root) õigused käsuga </para> +<informalexample +><simplelist +><member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>su</userinput +> </member +></simplelist +></informalexample> +<para +>ja anna administraatori parool. Seejärel paigalda rakendus: </para> +<informalexample +><simplelist +><member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>make install</userinput +> </member +></simplelist +></informalexample> +<para +>Ja ongi kõik. Kui paigaldasid kdevelop;i &kde; vaikekataloogi, võid IDE kohe käivitada. Vastasel juhul on vajalikud mõned lisasammud, mida tutvustab osa <link linkend="compile-and-install-options-dir" +>Enda määratud paigalduskataloog</link +>. </para> + +<note> + <para +>Õigupoolest paigaldatakse tavaliselt kolm &kdevelop;ile tuginevat rakendust: </para> + <itemizedlist> + <listitem +><para +>&kdevelop;i IDE — koht, kus sa tavaliselt tööd teed.</para +></listitem> + <listitem +><para +>Iseseisev &kdevelop;i abiline ehk dokumentatsioonisirvija — see koondab kogu &kdevelop;i IDE võimsa dokumentatsioonitööriista omaette rakendusse. See on kasuks, kui soovid lihtsalt uurida dokumentatsiooni, aga ei taha kogu IDE-t käivitada.</para +></listitem> + <listitem +><para +>&kdevelop;i disainer — see täiustab &Qt; kasutajaliidese disainerit &kde; spetsiifiliste elementidega ning põimub kenasti &kdevelop;i IDE-ga.</para +></listitem> + </itemizedlist> +</note> +</listitem> +</varlistentry> +</variablelist> + + +</sect3 +> <!-- compile-and-install-make-basic --> +</sect2 +> <!-- compile-and-install-make --> + + +<sect2 id="compile-and-install-options"> +<title +>Mõned märkused <command +>configure</command +> võtmete kohta</title> + +<sect3 id="compile-and-install-options-dir"> +<title +>Enda määratud paigalduskataloog</title> + +<indexterm zone="compile-and-install-options-dir"> + <primary +>&kdevelop;</primary> + <secondary +>paigaldamine</secondary> + <tertiary +>enda määratud paigalduskataloog</tertiary +></indexterm> +<indexterm zone="compile-and-install-options-dir"> + <primary +>enda määratud paigalduskataloog</primary +></indexterm> +<indexterm zone="compile-and-install-options-dir"> + <primary +>KDEDIRS</primary +></indexterm> +<indexterm zone="compile-and-install-options-dir"> + <primary +>kbuildsycoca</primary +></indexterm> + +<para +>Vaikimisi valmistab <command +>configure</command +> ette IDE paigaldamise &kde; vaikekataloogi. See on vajalik selleks, et &kdevelop; eeldab otseligipääsu teatud tööriistadele ja komponentidele, mis asuvad just seal. Kui soovid kasutada enda määratud paigalduskataloogi, pead selle käsule <command +>configure</command +> teatavaks tegema võtmega <option +>--prefix</option +>: </para> +<informalexample +><simplelist +><member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>./configure --prefix=</userinput +>(sinu-kde3-asukoht) </member +></simplelist +></informalexample> +<para +>Siin on üks probleem. Nimelt pead nüüd tagama, et &kdevelop; ikka pääseks töötamise ajal ligi &kde; kataloogis paiknevatele tööriistadele ja komponentidele (sa võid muidugi IDE-t kasutada ka ilma selleta, aga see piirab rängalt funktsionaalsust). </para> +<para +>Ava shell ja anna järgmised käsud enne &kdevelop;i käivitamist. </para> + +<note +><para +><emphasis +>Pane tähele mitmust:</emphasis +> õige on <quote +><envar +>KDEDIRS</envar +></quote +>, mitte aga <quote +><envar +>KDEDIR</envar +></quote +> </para +></note> + +<informalexample +><simplelist> + <member +><prompt +>~> </prompt +> <userinput +>export KDEDIRS=/usr/local/kde:/opt/kde3</userinput +> </member> + <member +><prompt +>~> </prompt +> <userinput +>kbuildsycoca</userinput +> </member> + <member +>(Nüüd käivita &kdevelop;:) </member> + <member +><prompt +>~> </prompt +> <userinput +>kdevelop</userinput +> </member> +</simplelist +></informalexample> + +<note +><simplelist> + <member +>Keskkonnamuutuja <envar +>KDEDIRS</envar +> peab vastama sinu süsteemi <emphasis +>aktiivsete &kde; kataloogide nimekirjale</emphasis +>. Me kasutame</member> + <member +><filename class="directory" +>/usr/local/kde</filename +>:<filename class="directory" +>/opt/kde3</filename +></member> + <member +>ainult näitena.</member> + <member +>Kataloog <filename class="directory" +>/usr/local/kde</filename +> võib näiteks sisaldada ebatäielikku &kde; versiooni, mille oled kompileerinud silumise huvides, ning kataloog <filename class="directory" +>/opt/kde3</filename +> võib lisaks sisaldada sinu distributsiooni standardset &kde; versiooni, mida kasutatakse igapäevatöös.</member> +</simplelist +></note> + +<para +>Tcsh shellis tuleb keskkonnamuutujad määrata käsuga: </para> +<informalexample +><simplelist +><member +><prompt +>~> </prompt +> <userinput +>setenv KDEDIRS /usr/local/kde:/opt/kde3</userinput +> </member +></simplelist +></informalexample> +<para +>Käsk <command +>kbuildsycoca</command +> (<quote +>build system control cache</quote +> ehk ehitussüsteemi kontrollimise puhver) otsib teeke ja puhverdab nende asukoha ning versiooni, et &kdevelop; need üles leiaks. Kuid see võtab tublisti aega — ning see tuleb käivitada iga kord, kui käivitad shelli, et panna &kdevelop; tööle mittestandardsest kataloogist. Seepärast soovitame eeltoodud käsud lisada shelliskripti, et sa ei peaks neid kogu aeg käsitsi sisestama. </para> +<para +>(Need read võib lisada ka failile <filename +>.bashrc</filename +> või <filename +>.cshrc</filename +>, kuid see pole soovitatav, sest <command +>kbuildsycoca</command +> käivitatakse sel juhul alati, kui avad shelli.) </para> + +<note +><para +>Käsk <command +>kbuildsycoca</command +> ei tööta administraatori õigustes. See tuleb välja kutsuda mitteadministraatorist kasutaja õigustes. (Pealegi <emphasis +>ei ole üldse hea mõte</emphasis +> tegelda tarkvara arendamisega administraatori õigustes!) </para +></note> +</sect3 +> <!-- compile-and-install-options-dir --> + +<!-- ### put a sect3 with other configuration options here --> + +</sect2 +> <!-- compile-and-install-options --> + +</sect1 +> <!-- compile-and-install --> + +<sect1 id="make-api"> +<title +>&kdevelop;i API dokumentatsiooni hankimine</title> + +<indexterm zone="make-api"> + <primary +>API</primary> + <secondary +>&kdevelop;</secondary +></indexterm> +<indexterm zone="make-api"> + <primary +>&kdevelop;</primary> + <secondary +>API</secondary +></indexterm> +<indexterm zone="make-api"> + <primary +>kompileerimine</primary> + <secondary +>&kdevelop;</secondary> + <tertiary +>API</tertiary +></indexterm> +<indexterm zone="make-api"> + <primary +>configure</primary> + <secondary +>&kdevelop;i API</secondary +></indexterm> + +<para +>API tähendab <quote +>Application Program Interface</quote +> ehk programmi- või rakendusliides. Õigupoolest sisaldab API rida kirjeldusi (&ie; nimekonventsioone), mida kasutades rakendus saab kasutada operatsioonisüsteemi ja teisi teenuseid. Meie kontekstis on sellel aga laiem tähendus. &kde; või &Qt; rakenduse API on klasside ja meetodite kokkuvõte, mida saab kasutada oma moodi sõnaraamatuna lähtekoodis liikumisel. </para> +<para +>Uusima API versiooni leiab <ulink url="http://www.kdevelop.org/HEAD/doc/api/html/index.html" +>KDevelopi koduleheküljelt</ulink +>. Seda uuendatakse automaatselt iga 24 tunni järel, nii et see on alati maksimaalselt värske. </para> +<para +>Paraku on see versioon kõige paremini loetav ainult internetis. Kui sul puudub pidev interneti kasutamise võimalus, võid &kdevelop;i lähtekoodist ehitada omaenda API dokumentatsiooni. Selleks peab automake'i süsteemile ütlema, kust sinu süsteemis leida KDELIBS'i API. Selleks anna spetsiaalne võti <option +>--with-kdelibsdoxy-dir</option +> käsule <command +>configure</command +> &kdevelop;i lähtekoodi kompileerimiseks valmistudes: </para> + +<informalexample +><simplelist> + <member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>./configure --</userinput +>(tavalised-võtmed)<userinput +> \</userinput +> </member> + <member> + <userinput +>--with-kdelibsdoxy-dir=$KDEDIR/share/doc/HTML/en/kdelibs-apidocs</userinput> + </member> +</simplelist +></informalexample> + +<para +>(<command +>make</command +> asendab globaalse muutuja <varname +>$KDEDIR</varname +> siin kirja pandud tegeliku &kde; kataloogi määratlusega.) Seejärel anna käsk <command +>make</command +> <link linkend="compile-and-install-make-basic" +>nagu tavaliselt</link +>. Pärast &kdevelop;i IDE ehitamist on sul võimalus ehitada ka API. Selleks tuleb anda käsk </para> +<informalexample +><simplelist +><member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>make apidocs</userinput +> </member +></simplelist +></informalexample> + +<para +>See ehitab <filename +>Doxyfile</filename +>'i sinu &kdevelop;i baaskataloogis, mida omakorda asub töötlema rakendus <application +>Doxygen</application +>, mis ehitab terve rea <filename +>.html</filename +>-vormingus API faile. Kui see üsna kaua aega võttev API ehitamise protsess (aeglasemates arvutites võib kesta ka üle tunni) lõpuks mäele jõuab, tuleb APIpaigaldada samamoodi nagu &kdevelop;i IDE. Vajaduse korral võta endale administraatori (root) õigused käsuga </para> + +<informalexample +><simplelist +><member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>su</userinput +> </member +></simplelist +></informalexample> + +<para +>ja anna administraatori parool. Seejärel paigalda API failid: </para> + +<informalexample +><simplelist +><member +><prompt +>~/kde3src/kdevelop> </prompt +> <userinput +>make install-apidox</userinput +> </member +></simplelist +></informalexample> + +<para +>Kui see tehtud, annab <command +>make</command +> teada kataloogi, kus võid lõpuks näha API dokumentatsiooni sisu. Jäta see aadress meelde: sa võid seda kasutada nii &konqueror;is kui ka &kdevelop;is, eriti kui kavatsed &kdevelop;is neid oma rakenduse loomise ajal uurida. </para> + +<note +><para +>Tõenäoliselt näed terve hulga hoiatusi ja/või veateateid, kui <application +>Doxygen</application +> API dokumentatsiooni ehitab. Neid on kõige mõistlikum ignoreerida, sest need pakuvad peamiselt huvi ainult &kdevelop;i arendajatele. Kui API tekitamine lõpuks edukalt lõpule jõuab, on <filename +>.html</filename +>-vormingus API failid kasutamiseks valmis. </para +></note> + +</sect1 +> <!-- make-api --> + +</appendix +> <!-- kdevelop-install --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-scripting.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-scripting.docbook new file mode 100644 index 00000000000..5c5d03ec217 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-scripting.docbook @@ -0,0 +1,74 @@ +<chapter id="kdevelop-scripting"> + +<chapterinfo> + <authorgroup> + <author +><firstname +>Ian</firstname +><surname +>Geiser</surname +></author> + <!-- ROLES_OF_TRANSLATORS --> + </authorgroup> +</chapterinfo> + +<title +>Skriptide kasutamine KDevelopis</title> + +<sect1 id="running-scripts"> +<title +>Skriptide käivitamine</title> +<para +>&kdevelop;is saadaoleva skripti kasutamiseks vali menüükäsk <menuchoice +><guimenu +>Tööriistad</guimenu +><guimenuitem +>Skriptid</guimenuitem +></menuchoice +>. Kui sellist menüükirjet pole, pole paigaldatud skripte, mida KDevelop kasutada saaks. </para> +</sect1> + +<sect1 id="adding-scripts"> +<title +>Skriptide lisamine</title> +<para +>Kui oled rakenduses lubanud KScripti toetuse, on skriptide lisamine väga lihtne. Skriptid koosnevad kahest osas: töölauafail, mis sisaldab skripti metaandmeid, ning skript ise. Seda kasutatakse turvalisuse ja lihtsuse huvides. Töölauafail tagab metainfo menüüdele ja annab teada skripti tüübi. Nii ei pea rakendus ise kõiki skripte igal laadimisel kontrollima. Selle faili näide on näha allpool: </para> +<para +>Toodud näide näitab peamisi osi, mida KScript pakub. Esimene element "Nimi" ongi nimi, mida kasutaja oma rakenduses näeb, "Kommentaar" aga tavaliselt kohtspikker, mida skripti kohta näidatakse. Kõige tähtsam on "Tüüp". Selle alusel valitakse skriptimootor, millega skript tööle panna. KDE-s on praegu võimalik kasutada mootoreid "ShellScript/bash" ja "JavaScript/kjs". Järgmine samm on luua skript ise. Toodud näites on tüübiks "ShellScript/bash". Shelliskripti mootor pakub arendajatele mitmeid võimalusi. Esimene asi on rakenduse DCOP ID. See edastatakse skriptile esimese argumendina. See tähendab, et kõikjal skriptis tagastab "$1" väärtus rakenduse DCOP ID. Näidisskript on näha allpool: </para> + +<para +>See skript on päris lihtne ning käivitab kõigest käsu ja saadab esimese dokumendi teksti "ls -l" väljundisse</para> + +<para +>Üks kasulikumaid tööriistu rakendustele skriptide loomisel on KDCOP.</para> +<figure id="screenshot-kdcop" float="1"> + <title +>KDCOP: DCOP-liideste sirvimine &kdevelop;is</title> + <mediaobject> + <imageobject +><imagedata fileref="kdcop_browsing.png"/></imageobject> + </mediaobject> +</figure> + +<para +>KDCOP võimaldab skriptiloojal sirvida ja siluda rakenduse praeguseid liideseid. KDCOP võimaldab ka kasutajatel valida meetodi ning lohistada aktiivne kood otse tekstiredaktorisse. See hõlbustab märgatavalt nende tööd, kes ei ole just kõige paremini kursis rakenduse keele DCOP-meetoditega. Praegu toetab KDCOP DCOP-i kasutamisel KJSEmbedi, Pythoni ja UNIX-i shelli meetodit.</para> + +<para +>Kui skript on valmis, on mõttekas see ka paigaldada. Rakenduse autor peab dokumenteerima asukoha, kust skripte otsida. Näiteks toodud Kate korral asuvad skriptid asukohas "$KDEDIRS/share/apps/kate/scripts".</para> + +<figure id="screenshot-scripts" float="1"> + <title +>&kdevelop;i skriptid failisüsteemis</title> + <mediaobject> + <imageobject +><imagedata fileref="script_location.png"/></imageobject> + </mediaobject> +</figure> + +<para +>Skripti töölauafail ja sellega seotud skript peavad asuma ühes ja samas kataloogis. Skriptiloojal oleks soovitatav skriptikataloogi paigutada ka kõik muud skriptiressursid, näiteks UI-failid või andmefailid. Toodud näites on skript näha menüüs Tööriistad->KDE skriptid. Veel üks oluline asi, mida skriptiloojad peaksid silmas pidama, on see, et nende skript ei tohiks sooritada midagi, mis blokeerib pikemaks ajaks muu tegevuse või võib kaasa tuua silmuse. Selle põhjuseks on asjaolu, et skriptiliides on praegu orienteeritud automaatsele ülesannete täitmisele, mis töötavad kuni lõpetamiseni. Selle probleemiga tegeldakse ja KDE 4 peaks võimaldama juba suuremat paindlikkust. </para> + +</sect1> + + +</chapter> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-survey.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-survey.docbook new file mode 100644 index 00000000000..72740d9d58a --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-survey.docbook @@ -0,0 +1,778 @@ +<chapter id="kdevelop-survey"> + +<chapterinfo> + <authorgroup> + <author +><firstname +>Bernd</firstname +><surname +>Pol</surname +></author> + <!-- ROLES_OF_TRANSLATORS --> + </authorgroup> +</chapterinfo> + +<title +>Ülevaade &kdevelop;i omadustest</title> + +<indexterm zone="kdevelop-survey"> + <primary +>&kdevelop;</primary> + <secondary +>ülevaade</secondary +></indexterm> +<indexterm zone="kdevelop-survey"> + <primary +>ülevaade</primary +></indexterm> +<indexterm zone="kdevelop-survey"> + <primary +>ülevaade</primary +></indexterm> + +<para +>&kdevelop; põimib kasutaja huvides endasse terve rea tööriistu, skripte ja malle. Põhimõtteliselt koosneb see järgmistest komponentidest: <itemizedlist> + <listitem +><para +>mitu <link linkend="uimodes-survey" +>kasutajaliidese režiimi</link +>, mis võimaldavad valida töötsooni välimuse, </para +></listitem> + <listitem +><para +><link linkend="applicationwizard" +>&appwizard;</link +>, mis aitab luua uue projekti, </para +></listitem> + <listitem +><para +>mitu <link linkend="makesystems" +>projektihalduse süsteemi</link +>, mis aitavad luua ja hallata projekte, </para +></listitem> + <listitem +><para +>mõned <link linkend="editing" +>redigeerimistööriistad</link +>, mis aitavad programmi tekstifaile töödelda, </para +></listitem> + <listitem +><para +>mitu <link linkend="file-browsers" +>failisirvijat</link +>, mis annavad erineva ülevaate failisüsteemist, </para +></listitem> + <listitem +><para +>mitu <link linkend="class-browsers" +>klassisirvijat</link +>, mis aitavad hooldada klasse ja nende suhteid sinu objektorienteeritud programmi projektis, </para +></listitem> + <listitem +><para +><link linkend="debugger" +>siluriliides</link +>, mis aitab leida ja eemaldada programmi vigu otse &kdevelop;is, </para +></listitem> + <listitem +><para +>mitu <link linkend="plugin-tools" +>pluginatööriista</link +> ehk laiendusmoodulit, mida saab laadida programmi käivitamisel või vastavalt vajadusele. See võimaldab neid sisse lülitada ainult siis, kui neid tõesti vaja läheb, </para +></listitem> + <listitem +><para +>valik muid diagnostika-, dokumentatsiooni- ja optimeerimistööriistu. </para +></listitem> +</itemizedlist> +</para> + +<note> + <para +>Õigupoolest on olemas kolm &kdevelop;i rakendust: </para> + <itemizedlist> + <listitem +><para +>&kdevelop;i IDE — koht, kus sa tavaliselt tööd teed.</para +></listitem> + <listitem +><para +>Omaette &kdevelop;i abiline ehk dokumentatsioonisirvija — koondab kogu &kdevelop;i IDE võimsa dokumentatsiooni omaette rakendusse. See on väga abiks, kui soovid uurida veidi dokumentatsiooni, aga ei taha tervet IDE-t käivitada.</para +></listitem> + <listitem +><para +>&kdevelop;i Disainer — täiustab &Qt; kasutajaliidese disainerit &kde; spetsiifiliste elementidega ja lõimub kenasti &kdevelop;i IDE-ga.</para +></listitem> + </itemizedlist> +</note> + + +<sect1 id="uimodes-survey"> +<title +>Saadaolevad kasutajaliidese režiimid</title> + +<indexterm zone="uimodes-survey"> + <primary +>&kdevelop;</primary> + <secondary +>kasutajaliidese režiimid</secondary +></indexterm> +<indexterm zone="uimodes-survey"> + <primary +>kasutajaliides</primary> + <secondary +>&kdevelop;i režiimid</secondary +></indexterm> +<indexterm zone="uimodes-survey"> + <primary +>UI režiimid</primary +></indexterm> +<indexterm zone="uimodes-survey"> + <primary +>Alamraami aknad</primary +></indexterm> +<indexterm zone="uimodes-survey"> + <primary +>Kaartidega aknad</primary +></indexterm> +<indexterm zone="uimodes-survey"> + <primary +>Tipptaseme aknad</primary +></indexterm> +<indexterm zone="uimodes-survey"> + <primary +>IDEAl</primary +></indexterm> + +<para +>&kdevelop; pakub arendajatele nelja kasutajaliidese režiimi (klõpsa režiimi nimel näidete vaatamiseks): <itemizedlist> + <listitem +><para +><link linkend="ideal-desc" +>IDEAl</link +></para> + <para +>See on uudne kasutajaliides, mis üritab pakkuda nii töötsooni kui ka tööriistade võimalikult tõhusamat kasutamist. </para> + <itemizedlist> + <listitem +><para +>Kõik tööriistavaated on dokitud kaartidena põhiraami. Need on rühmitatud vasakule, alla ja paremale vastavalt pakutavatele teenustele. </para +></listitem> + <listitem +><para +>Redaktori- ja sirvijavaated on paigutatud suurde kaarte kasutavasse aknasse keset põhiraami. </para +></listitem> + </itemizedlist> + </listitem> + + <listitem> + <para +><link linkend="mdi-desc" +>Alamraami aknad</link +></para> + <itemizedlist> + <listitem +><para +>Kõik tööriistavaated on esialgu dokitud põhiraami.</para +></listitem> + <listitem +><para +>Redaktor- ja sirvijavaated käituvad tipptaseme akendena põhiraamis.</para +></listitem> + </itemizedlist> + </listitem> + + <listitem> + <para +><link linkend="tabbed-desc" +>Kaartidega aknad</link +></para> + <itemizedlist> + <listitem +><para +>Kõik tööriistavaated on esialgu dokitud põhiraami. </para +></listitem> + <listitem +><para +>Redaktori- ja sirvijavaated on seatud kaarte kasutavasse aknasse. </para +></listitem> + </itemizedlist> + </listitem> + + <listitem> + <para +><link linkend="toplevel-desc" +>Tipptaseme aknad</link +></para> + <itemizedlist> + <listitem +><para +>Kõik redaktori-, sirvija- ja tööriistavaated on otse töölaual paiknevad tipptaseme aknad. </para +></listitem> + <listitem +><para +>Peavidin sisaldab ainult menüüd, tööriistaribasid ja olekuriba. </para +></listitem> + </itemizedlist> + </listitem> + +</itemizedlist> +</para> + +<sect2 id="uimodes-switch"> +<title +>Kasutajaliidese režiimide vahetamine</title> + +<indexterm zone="uimodes-switch"> + <primary +>kasutajaliides</primary> + <secondary +>režiimide vahetamine</secondary +></indexterm> +<indexterm zone="uimodes-switch"> + <primary +>UI režiimide vahetamine</primary +></indexterm> + +<para +>Kasutajaliidese režiim vahetamiseks vali menüükäsk <menuchoice +> <guimenu +> Seadistused</guimenu +> <guimenuitem +>KDevelopi seadistamine...</guimenuitem +> </menuchoice +>. Ilmub dialoog <guilabel +>KDevelopi seadistamine</guilabel +>, kus vali vasakul <guilabel +>Kasutajaliides</guilabel +>. Nüüd avaneb allnäidatud dialoog. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="select-user-interface.png" format="PNG"/> + </imageobject> + <caption +><para +>Kasutajaliidese režiimi valimine </para +></caption> + </mediaobject> +</screenshot> + +<para +>(&kdevelop;i vanemates versioonides on see teistsugune.) </para> + +<para +>Vali sektsioonis <guilabel +>Kasutajaliidese põhirežiim</guilabel +> raadionuppe kasutades meelepärane kasutajaliidese režiim. </para> +<para +>Sõltuvalt valitud kasutajaliidese režiimist tulevad nähtavale teised seadistamissektsioonid, kus saad oma kasutajaliidese käitumist täpsemalt häälestada. Põhjalikumalt räägib sellest osa <link linkend="setup-ui" +>Kasutajaliidese valimine</link +>. </para> + +<note +><para +>Kui muudad siin midagi, käivita muudatuste rakendamiseks &kdevelop; uuesti. </para +></note> + +</sect2 +> <!-- uimodes-switch --> + +<sect2 id="maximize-workspace"> +<title +>Töötsooni maksimeerimine</title> + +<indexterm zone="maximize-workspace"> + <primary +>&kdevelop;</primary> + <secondary +>töötsoon</secondary +></indexterm> +<indexterm zone="maximize-workspace"> + <primary +>&kdevelop;</primary> + <secondary +>töötsooni maksimeerimine</secondary +></indexterm> +<indexterm zone="maximize-workspace"> + <primary +>kasutajaliides</primary> + <secondary +>töötsoon</secondary +></indexterm> +<indexterm zone="maximize-workspace"> + <primary +>kasutajaliides</primary> + <secondary +>menüüriba</secondary +></indexterm> +<indexterm zone="maximize-workspace"> + <primary +>kasutajaliides</primary> + <secondary +>täisekraanirežiim</secondary +></indexterm> +<indexterm zone="maximize-workspace"> + <primary +>täisekraanirežiim</primary +></indexterm> +<indexterm zone="maximize-workspace"> + <primary +>menüüriba</primary> + <secondary +>peitmine/näitamine</secondary +></indexterm> +<indexterm zone="maximize-workspace"> + <primary +>menüüriba peitmine</primary +></indexterm> +<indexterm zone="maximize-workspace"> + <primary +>menüüriba näitamine</primary +></indexterm> + +<para +>Tööruumi maksimeerimiseks saab kasutada täisekraanirežiimi, mis suurendab põhiraami ala tervele ekraanile. Lisaks saab ruumi juurde, kui peita menüüriba. Mõistagi avardab vaatevälja ka tööriistaribade peitmine (nagu igas <application +>KDE</application +> rakenduses). </para> + +<variablelist> +<varlistentry> +<term +>Täisekraanirežiim</term> +<listitem> +<para +>Täisekraanirežiimi lülitumiseks või sealt väljumiseks vali menüükäsk <menuchoice +> <guimenu +>Vaade</guimenu +> <guimenuitem +>Täisekraanirežiim</guimenuitem +> </menuchoice +> või kasuta kiirklahvi <keycombo +>&Ctrl;&Shift;<keycap +>F</keycap +> </keycombo +>. Samuti leiab ikooni <guiicon +>Täisekraanirežiim</guiicon +> <guilabel +>sirvijariba</guilabel +>lt.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Menüüriba peitmine/näitamine</term> +<listitem> +<para +>Menüüriba <emphasis +>peitmiseks</emphasis +> vali menüükäsk <menuchoice +> <guimenu +>Seadistused</guimenu +> <guimenuitem +>Menüüriba näitamine</guimenuitem +> </menuchoice +> või kasuta kiirklahvi <keycombo +>&Ctrl;<keycap +>M</keycap +> </keycombo +>. Ikooni <guiicon +>Menüüriba näitamine</guiicon +> leiab ka vastavatelt tööriistaribadelt (⪚ <guilabel +>sirvijariba</guilabel +>). Menüüriba <emphasis +>näitamiseks</emphasis +> tuleb kasutada kiirklahvi <keycombo +>&Ctrl;<keycap +>M</keycap +> </keycombo +> või tööriistariba ikooni <guiicon +>Menüüriba näitamine</guiicon +>. </para> +</listitem> +</varlistentry> +</variablelist> + +</sect2 +> <!-- maximize-workspace --> + +</sect1 +> <!-- uimodes-survey --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="ui-elements"> +<title +>Kasutajaliidese elemendid</title> + +<para +>(... veel kirjutamata ...) </para> + +<sect2 id="ui-elements-workarea"> +<title +>Töötsoon</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- ui-elements-workarea --> + +<sect2 id="ui-elements-titlebar"> +<title +>&kdevelop;i tiitliriba</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- ui-elements-titlebar --> + +<sect2 id="ui-elements-statusbar"> +<title +>&kdevelop;i olekuriba</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- ui-elements-statusbar --> + +<sect2 id="ui-elements-menubar"> +<title +>Menüüriba</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- ui-elements-menubar --> + +<sect2 id="ui-elements-toolbars"> +<title +>Tööriistaribad</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- ui-elements-toolbars --> + +<sect2 id="ui-elements-treetoolviews"> +<title +>Tööriistavaated</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- ui-elements-treetoolviews --> + +<sect2 id="ui-elements-outputtoolviews"> +<title +>Väljundtööriistade vaated</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- ui-elements-outputtoolviews --> + +</sect1 +> <!-- ui-elements --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="makesystems"> +<title +>Projektihalduse süsteemid</title> + +<indexterm zone="makesystems"> + <primary +>projektihaldus</primary +></indexterm> + +<para +>Projekt peab globaalselt põhinema teatud projektihalduse süsteemil. &kdevelop; pakub nelja <emphasis +>projektihalduse süsteemi</emphasis +>, mille seast programmeerija saab oma projekti loomisel valida. <itemizedlist> + <listitem +><para +><link linkend="automake-project" +>Automake'i projektid</link +> kasutavad &GNU; standardseid arendustööriistu. </para +></listitem> + <listitem +><para +><link linkend="qmake-project" +>QMake'i projektid</link +> kasutavad Trolltechi QMake'i projektihaldurit. </para +></listitem> + <listitem +><para +><link linkend="ant-project" +>ANT projektid</link +> kasutavad Apache'i ANT projektihaldurit &Java; arendamiseks. </para +></listitem> + <listitem +><para +><link linkend="custom-project" +>Kohandatud projektid</link +> eeldavad, et sa hooldad ise oma <filename +>Makefail</filename +>'e'. </para +></listitem> +</itemizedlist> +</para> + +<sect2 id="automake-project"> +<title +>Automake'i projektid</title> + +<indexterm zone="automake-project"> + <primary +>projektid</primary> + <secondary +>automake</secondary +></indexterm> +<indexterm zone="automake-project"> + <primary +>automake</primary> + <secondary +>projektid</secondary +></indexterm> + +<para +>Projektid, mille loomisel on abiks olnud &kdevelop;i &automanag;, võimaldavad arendajatel ära kasuada &GNU; standardseid arendustööriistu. Need pakuvad <itemizedlist> + <listitem +><para +>parema viisi genereerida <filename +>Makefile</filename +> ja </para +></listitem> + <listitem +><para +>hea ning tuvalise viisi kohanduda kiiresti erinevate süsteemidega autoconf'i loodud <filename +>configure</filename +>-skriptide abil. </para +></listitem> +</itemizedlist> +</para> +</sect2 +> <!-- automake-project --> + +<sect2 id="qmake-project"> +<title +>QMake'i projektid</title> + +<indexterm zone="qmake-project"> + <primary +>projektid</primary> + <secondary +>qmake</secondary +></indexterm> +<indexterm zone="qmake-project"> + <primary +>qmake</primary> + <secondary +>projektid</secondary +></indexterm> + +<para +>Arendajatele, kes naudivad &Qt; qmake'i süsteemi paindlikkust ja lihtsust, pakub &kdevelop; võimaluse hallata qmake'i põhiseid projekte (.pro-failid) &GUI;-d kasutades. </para> +<para +>Täpsemalt tutvustab QMake'i projektihaldurit käsiraamat <quote +>qmake User Guide</quote +> (ingliskeelne), mis peaks olema kaasas juba distributsiooniga. Seda võib leida ka <ulink url="http://doc.trolltech.com/" +>Trolltechi dokumentatsiooni</ulink +> koduleheküljelt, kus leiad QMake'i dokumentatsiooni vastavalt oma <quote +>Qt C++ GUI rakenduste arendamise tööriistakomplekti</quote +> versioonile. </para> +</sect2 +> <!-- qmake-project --> + +<sect2 id="cmake-project"> +<title +>CMake'i projektid</title> + +<indexterm zone="cmake-project"> + <primary +>projektid</primary> + <secondary +>cmake</secondary +></indexterm> +<indexterm zone="cmake-project"> + <primary +>cmake</primary> + <secondary +>projektid</secondary +></indexterm> + +<para +>CMake'ist saab &kde; 4 uus &kde; ehitamissüsteem ning &kdevelop; pakub juba mõningaid CMake'i põhjal malle C ja C++ keeles. Nende ehitamiseks on vaja ainult seda, et cmake asuks sinu otsinguteel ($<envar +>PATH</envar +>). </para> +<para +>Uue C või C++ projekti loomiseks &kdevelop;is vali menüükäsk <menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Uus projekt...</guimenuitem +> <guimenuitem +>C või C++</guimenuitem +> <guimenuitem +>Cmake'i projektid</guimenuitem +> <guimenuitem +>Jagatud teegi mall või Tere maailm programm</guimenuitem +></menuchoice +>. </para> +</sect2 +> <!-- cmake-project --> + +<sect2 id="ant-project"> +<title +>ANT projektid (&Java; projektid)</title> + +<indexterm zone="ant-project"> + <primary +>projektid</primary> + <secondary +>ant</secondary +></indexterm> +<indexterm zone="ant-project"> + <primary +>ant</primary> + <secondary +>projektid</secondary +></indexterm> +<indexterm zone="ant-project"> + <primary +>projektid</primary> + <secondary +>Java</secondary +></indexterm> +<indexterm zone="ant-project"> + <primary +>Java</primary> + <secondary +>projektid</secondary +></indexterm> +<indexterm zone="ant-project"> + <primary +>arendus</primary> + <secondary +>Java</secondary +></indexterm> + +<para +>&Java; arendajad võivad oma projektide jaoks kasutada Apache'i ANT projektihaldurit. Uue ANT projekti loomiseks &kdevelop;is vali menüükäsk <menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Uus projekt...</guimenuitem +> <guimenuitem +>Java</guimenuitem +> <guimenuitem +>ANT projekt</guimenuitem +> <guimenuitem +>Rakendus</guimenuitem +></menuchoice +>. </para> +<para +>Täpsemat infot leiab <ulink url="http://ant.apache.org/" +>Apache'i ANT projekti</ulink +> koduleheküljelt. </para> +</sect2 +> <!-- ant-project --> + +<sect2 id="custom-project"> +<title +>Kohandatud projektid</title> + +<indexterm zone="custom-project"> + <primary +>projektid</primary> + <secondary +>kohandatud</secondary +></indexterm> +<indexterm zone="custom-project"> + <primary +>kohandatud projektid</primary +></indexterm> +<indexterm zone="custom-project"> + <primary +>Makefile</primary> + <secondary +>kohandatud projektid</secondary +></indexterm> + +<para +>Kui eelistad oma projekti <filename +>Makefile</filename +>'ide eest ise hoolt kanda, võid valida &kdevelop;is kohandatud projektide võimaluse. See on mõttekas ebatavalisel struktureeritud projektide korral või kui sa soovid säilitada täieliku kontrolli <command +>make</command +>-protsessi üle. </para> +<para +>Kui sa aga <emphasis +>ei vaja hädasti</emphasis +> täielikku paindlikkust ja igakülgset kontrolli projekti üle, siis on &automanag; või mõned muud projektihaldurid mõttekamad kasutada, sest need lihtsustavad tunduvalt projekti loomist ja levitamist. </para> +</sect2 +> <!-- custom-project --> + +<sect2 id="makesystems-distribution"> +<title +>Oma rakenduse levitamine</title> + +<indexterm zone="makesystems-distribution"> + <primary +>levitamine</primary +></indexterm> +<indexterm zone="makesystems-distribution"> + <primary +>rakendus</primary> + <secondary +>levitamine</secondary +></indexterm> +<indexterm zone="makesystems-distribution"> + <primary +>binaarpaketid</primary +></indexterm> + +<para +>Sinu rakenduse levitamine ei nõua lõppkasutajalt millegi muu olemasolu kui vaid <itemizedlist> + <listitem +><para +>sobiv kompilaator,</para +></listitem> + <listitem +><para +>linkija ja</para +></listitem> + <listitem +><para +>sobivad arendusteegid,</para +></listitem> +</itemizedlist> +</para> +<para +>mis vähemalt C++ rakenduste korral peaksid alati olemas olema. Kuid sa võid levitada ka oma rakenduse <emphasis +>binaarpakette</emphasis +>. Mõlemal juhul ei ole sinu toote lõppkasutajal kindlasti vaja näiteks &kdevelop;i paigaldamist. </para> +<para +>Lähtekoodi levitamiseks soovitame kaasata ka &kdevelop;i <emphasis +>projektifaili</emphasis +>. See muudab teistel arendajatel — kui nad kasutavad &kdevelop;i — väga lihtsalt sinu rakendust edasi arendada. </para> +<para +>Projektide korral, kus töötab <emphasis +>mitu arendajat</emphasis +>, sageli ka erinevates asukohtades, on see nagunii vajalik. Nii saad tagada <filename +>Makefile</filename +>'ide ühtsuse, mis vähendab probleemide tekkimise võimalust. </para> +<para +>Mitmekeelseks kasutamiseks mõeldud rakenduste korral tuleb tähele panna, et <emphasis +>tõlkijad</emphasis +> ei tööta tegeliku lähtekoodiga, kui seda pole just vaja millegi parandamiseks või mingi toetuse lisamiseks. </para> + +</sect2 +> <!-- makesystems-distribution --> + +</sect1 +> <!-- makesystems --> + +</chapter +> <!-- kdevelop-survey --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/nutshell.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/nutshell.docbook new file mode 100644 index 00000000000..c0539334251 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/nutshell.docbook @@ -0,0 +1,370 @@ +<appendix id="nutshell"> +<title +>Paari sõnaga — nipid ja nõuanded</title> + +<!-- Traditionally, most of this stuff will have been put into a FAQ section. It is more useful, however, to put it at the very start of a manual, as this is the place the (inexperienced) user first looks for. + +I disagree. What is useful for a quick start, should go in "Getting started". +Troubleshooting hints go in the appendix or a FAQ. Volker Paul. + +This chapter is meant to provide short hints and tips together with (mandatory) navigation links. +There should be an additional FAQ section near the end nevertheless which contains more general stuff not directly related to navigating the manual. --> + +<para +>Käesoleva peatüki sisu on mõeldud hästi kiireks ülevaateks näiteks siis, kui sa kogemata peaksid olema unustanud midagi täiesti elementaarset. Samuti leiab siit pisikesi nippe, kuidas jagu saada mõningatest levinumatest probleemidest &kdevelop;i kasutamisel. </para> +<para +>Teema kohta täpsemat infot soovides klõpsa sellele viitavale pealkirjale. </para> +<para +>Me pakume infot järgmiste teemade kohta: </para> +<simplelist> + <member +><link linkend="nutshellitem-look-and-feel" +>Välimus</link +></member> + <member +><link linkend="nutshellitem-projects" +>Projektid</link +></member> + <member +><link linkend="nutshellitem-compilation" +>Kompileerimine</link +></member> + <member +><link linkend="nutshellitem-automake" +>&automanag;</link +></member> + <member +><link linkend="nutshellitem-compilemake" +>Kompileerimis/ehitamisprobleemid</link +></member> + <member +><link linkend="nutshellitem-others" +>Muud teemad</link +></member> +</simplelist> + +<variablelist id="nutshellitem-look-and-feel"> +<title +>Välimus</title> + +<varlistentry> +<term id="nutshell-ideal-tabs" +><link linkend="setup-ui-toolview" +>Väiksemad tööriistavaated IDEAl aknarežiimis</link +></term> +<listitem> +<para +>Vaikimisi käivitub &kdevelop; töötsooni ümber suuri tekstipõhiseid tööriistavaateid näidates. Sa võid seda välimust ⪚ ruumi kokkuhoiu huvides muuta &kdevelop;i seadistustedialoogis (<menuchoice +><guimenu +>Seadistused</guimenu +><guimenuitem +>KDevelopi seadistamine...</guimenuitem +> <guimenuitem +>Kasutajaliides</guimenuitem +></menuchoice +>).</para> +<para +>Kui kasutad vanemat &kdevelop; 3 versiooni, ei pruugi see seadistustedialoog saadaval olla. Tööriistavaadete käsitsi muutmiseks lisa kirje <option +>MDIStyle</option +> sektsiooni <option +>[UI]</option +> konfiguratsioonifailis <filename +>$KDEHOME/share/config/kdeveloprc</filename +>:</para> + +<simplelist> +<member +><option +>MDIStyle=0</option +>: ainult ikoonid</member> +<member +><option +>MDIStyle=1</option +>: ainult tekst (vaikeväärtus)</member> +<!--<member +><computeroutput +>MDIStyle=2</computeroutput +>: icons only on smaller tabs (not very useful)</member +>--> +<member +><option +>MDIStyle=3</option +>: ikoonid ja tekst</member> +</simplelist> +</listitem> +</varlistentry> + +<varlistentry +> <!-- ### remove this entry when the bug is repaired --> +<term id="nutshell-weird-style" +>Kummalise värviga märgid ja/või vaatestiil</term> +<listitem> +<para +>Kui täheldad kuskil (&ie; kaartidel, tööriistavaadetel jne.) kummalise värviga märke ning &kdevelop;i aken kasutab ilmselt väära stiili, võib abi olla järgmisest õpetusest:</para> + +<itemizedlist> +<listitem +><para +>Otsi konfiguratsioonifailis <filename +>$<envar +>KDEHOME</envar +>/share/config/kdeveloprc</filename +> üles rida, kus seisab <quote +><computeroutput +>Style=Checked</computeroutput +></quote +> ja eemalda see. Seejärel käivita &kdevelop; uuesti. </para> +</listitem> +</itemizedlist> +<para +>(Selline asi ilmneb mõnikord pärast seda, kui oled mõnes failisirvijas klõpsanud .ui-failile ja &kdevelop; laadis rakenduse <application +>KUIViewer</application +>, et näidata sulle antud failist loodavat &GUI;-d.)</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="nutshell-full-screen" +><link linkend="maximize-workspace" +>Täisekraanirežiim</link +></term> +<listitem> +<para +>Vali menüükäsk <menuchoice +><guimenu +>Vaade</guimenu +><guimenuitem +>Täisekraanirežiim</guimenuitem +></menuchoice +> või kasuta kiirklahvi <keycombo +>&Ctrl;&Shift;<keycap +>F</keycap +></keycombo +>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="nutshell-hide-menu" +><link linkend="maximize-workspace" +>Menüüriba peitmine/näitamine</link +></term> +<listitem> +<para +>Menüüriba peitmiseks vali menüükäsk <menuchoice +><guimenu +>Seadistused</guimenu +><guimenuitem +>Menüüriba näitamine</guimenuitem +></menuchoice +> või kasuta kiirklahvi <keycombo +>&Ctrl;<keycap +>M</keycap +></keycombo +>. Menüüriba taasnägemiseks saab kasutada ainult kiirklahvi <keycombo +>&Ctrl;<keycap +>M</keycap +></keycombo +>.</para> +</listitem> +</varlistentry> +</variablelist> + +<variablelist> +<title id="nutshellitem-projects" +>Projektid</title> +<varlistentry> +<term +><link linkend="new-projects" +>Uue projekti loomine</link +></term> +<listitem> +<para +>Menüükäsk <menuchoice +><guimenu +>Projekt</guimenu +><guimenuitem +>Uus projekt...</guimenuitem +></menuchoice +> käivitab <link linkend="applicationwizard" +>&appwizard;</link +>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="nutshell-new-custom-project" +>Kohandatud projekti loomine</term> +<listitem> +<para +>Kohandatud projekti (&ie; projekti, mis kasutab omaenda Makefile'e) ei saagi päris otse luua. Vali menüükäsk <menuchoice +><guimenu +>Projekt</guimenu +><guimenuitem +>Impordi olemasolev projekt</guimenuitem +></menuchoice +>. Vali seal sobiv <guilabel +>projekti tüüp</guilabel +>, mille järele oleks lisatud <quote +>(Custom Makefiles)</quote +>.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="nutshell-project-options" +>Projekti seadistuste muutmine</term> +<listitem> +<para +>Kui lood uue projekti, ära unusta ka seda oma vajadustele seadistamast menüükäsuga <menuchoice +><guimenu +>Projekt</guimenu +><guimenuitem +>Projekti seadistused...</guimenuitem +></menuchoice +></para> +</listitem> +</varlistentry> +</variablelist> + +<variablelist id="nutshellitem-compilation"> +<title +>Kompileerimine</title> +<varlistentry> +<term id="nutshell-compilemsg-detail" +><link +linkend="setup-main-compile" +>Puuduvad üksikasjad kompileerimisteadetes</link +></term> +<listitem> +<para +>Kui märkad kompileerimise ajal, et <guilabel +>teadete väljundvaate</guilabel +> aken ei näita teatud väärtuslikku infot, võib põhjuseks olla teadete üksikasjalikkuse liiga kesine tase. Klõpsa aknas &HPN;ga ja vali kontekstimenüüst mõni muu väljundi näitamise tase. </para> +</listitem> +</varlistentry> +</variablelist> + +<variablelist id="nutshellitem-automake"> +<title +><link linkend="automake-manager" +>&automanag;</link +></title> + +<varlistentry> +<term +>Uute failide loomine projektis</term> +<listitem> +<para +>Vali &automanag;i ülemises osas alamprojekt ning klõpsa alumises osas &HPN;ga rühma nimel, kuhu soovid faile lisada. Vali kontekstimenüüst <guimenuitem +>Loo uus fail...</guimenuitem +></para> +</listitem> +</varlistentry> + +<varlistentry id="nutshell-add-project-file"> +<term +>Olemasolevate failide lisamine projekti</term> +<listitem> +<para +>Vali &automanag;i ülemises osas alamprojekt ning klõpsa alumises osas &HPN;ga rühma nimel, kuhu soovid faile lisada. Vali kontekstimenüüst <guimenuitem +>Lisa olemasolevaid faile...</guimenuitem +></para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Faili eemaldamine projektist</term> +<listitem> +<para +>Vali &automanag;i ülemises osas alamprojekt ning ava alumises osas rühm, millest soovid faili eemaldada. Klõpsa &HPN;ga vajalikul failil ja vali kontekstimenüüst <guimenuitem +>Eemalda</guimenuitem +>.</para> +</listitem> +</varlistentry> +</variablelist> + +<variablelist id="nutshellitem-compilemake"> +<title +>Kompileerimis/ehitamisprobleemid</title> +<varlistentry> +<term id="nutshell-builddirproblems" +><link +linkend="defaultbuild-warning" +>Projekti ei saa enam ehitada pärast lülitumist vaikimisi sihtmärgile/sihtmärgilt</link +></term> +<listitem> +<para +>See on &automake;/&autoconf;'i süsteemi viga. Kui <menuchoice +><guimenu +>Projekt</guimenu +><guimenuitem +>Ehitamise seadistused</guimenuitem +></menuchoice +> pakub valikut kolme ehitamiskataloogi vahel: <guimenuitem +>default</guimenuitem +>, <guimenuitem +>optimized</guimenuitem +> ja <guimenuitem +>debug</guimenuitem +>, vali kindlasti <emphasis +>kas</emphasis +> vaikimisi <emphasis +>või</emphasis +> silumis/optimeeritud sihtmärgid.</para> +<itemizedlist> +<listitem> +<para +>Kui oled seadistanud projekti võtmega 'default', ei saa seda enam ehitada silumis- või optimeerimisvõtmega.</para> +</listitem> +<listitem> +<para +>Kui oled seadistanud projekti silumis- või optimeerimisvõtmega, ei saa seda enam ehitada võtmega 'default'.</para> +</listitem> +</itemizedlist> +</listitem> +</varlistentry> + +<varlistentry> +<term id="nutshell-autoconf-problem" +><quote +>Vale <command +>autoconf</command +>'i versioon</quote +> &etc; viga</term> +<listitem> +<para +>Mitu veateadet puudutab <application +>autoconf</application +>'i &etc; liiga vana versiooni, mistõttu <command +>configure</command +> ei saa korralikult töötada. Käivita käsk <command +>autoreconf</command +> kataloogis, kus asuvad problemaatilised failid <filename +>configure.in</filename +>. See käsk püüab uuendada &GNU; ehitussüsteemi failide infot. Täpsemalt räägib sellest <command +>man autoreconf</command +>.</para> +</listitem> +</varlistentry> +</variablelist> + +<variablelist id="nutshellitem-others"> +<title +>Muud teemad</title> +<varlistentry> +<term id="nutshell-others-files" +><link linkend="app-files" +>&kdevelop;i konfiguratsioonifailid</link +></term> +<listitem> +<para +>Tavaliselt pole põhjust nende pärast muret tunda, aga kasulik on neist siiski midagi teada, eriti kui seadistusega peaks midagi viltu minema.</para> +</listitem +> +</varlistentry> +</variablelist> + +</appendix +> <!-- nutshell --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/plugin-tools.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/plugin-tools.docbook new file mode 100644 index 00000000000..6aef4884e6b --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/plugin-tools.docbook @@ -0,0 +1,731 @@ +<appendix id="plugin-tools"> +<title +>Pluginatööriistad</title> + +<indexterm zone="plugin-tools"> + <primary +>pluginad</primary +></indexterm> + +<para +>&kdevelop; sisaldab terve rea väikseid tööriistu, mis aitavad sooritada teatud kindlaid ülesandeid. Enamik neist on loodud pluginatena. See tähendab, et kui sa mingit pluginat ei vaja, võid selle välja lülitada.</para> +<para +>See tähendab ka seda, et kui otsid võimalust teha midagi, mida peaks saama teha, aga hetkel ei saa, siis võib asi olla selles, et seda ülesannet võimaldab teha plugin, mis on parajasti välja lülitatud. Näiteks on failimenüüs kiire avamise käsk ainult siis, kui see on sisse lülitatud dialoogis Projekt->Projekti seadistused. </para> + +<para +>Tehniliselt on pluginate aluseks klass KDevPlugin, mille defineerib lib/interfaces/kdevplugin.h. Järgnev tekst ongi sealt pärit.</para> + +<para +>KDevPlugin on baasklass kõigile KDevelopi pluginatele. Plugin on komponent, mis laaditakse KDevelopi shelli käivitumisel või nõudmisel. Pluginal on oma skoop ehk toimeala, mis võib olla: <itemizedlist> +<listitem +><simpara +>Tuum</simpara +></listitem> +<listitem +><simpara +>Globaalne</simpara +></listitem> +<listitem +><simpara +>Projekt</simpara +></listitem> +</itemizedlist> +</para> + +<para +>Tuumpluginad on globaalsed pluginad, mis pakuvad teatud olulisi "tuumfunktsioone", mistõttu kasutaja ei saa neid pluginate seadistustes ise sisse ega välja lülitada.</para> + +<para +>Globaalsed pluginad on pluginad, mis vajavad ainult shelli laadimist ega tegutse KDevProjecti liideses ega/või kasuta projekti infot. Näiteks kasutajaliidese plugin võimaldab arendajal valida, millist kasutajaliidest tarvitada. </para> + +<para +>Projektipluginad eeldavad projekti laadimist ja tavaliselt laaditakse nad koos projekt ning koos projektiga ka suletakse. Kui plugin tegutseb projekti info alusel, on tegemist projektipluginaga. Automake'i haldur ei pruugi näiteks olla aktiivne muul ajal, kui ainult Automake'i projekti laadimisel. </para> + +<para +>Nagu märgitud, ei saa tuumpluginaid välja lülitada. Globaalseid pluginaid saab sisse ja välja lülitada dialoogi <menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>KDevelopi seadistamine...</guimenuitem +></menuchoice +> kaardil <guibutton +>Pluginad</guibutton +>. Projektipluginaid saab sisse ja välja lülitada dialoogi <menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Projekti seadistused...</guimenuitem +></menuchoice +> kaardil <guibutton +>Pluginad</guibutton +>. Aktiivsetel pluginatel võib olla KDevelopis mitmesugune toime. Sõltuvalt funktsioonist võivad nad lisada menüüsid, menüükirjeid, tööriistaribade nuppe jne. </para> + +<para +>Väljalülitatud pluginad ei lisa midagi menüüsse ja neid ei laadita mällu. </para> + + +<para +>Järgnev pluginate nimekiri on loodud väikse skriptiga (listplugins.sh), mille autor on Volker Paul. Kõigil pluginatel on .desktop-fail, kus on kirjas teatud info, näiteks nimi ja kommentaar. Kui järgneva nimekirja kommentaarid pole alati kõige inforikkamad, siis on põhjuseks see, et plugina autor ei ole rohkem infot andnud.</para> +<para +>Pluginad on rühmitatud skoobi alusel (tuum, globaalne, projekt).</para> + +<para +>Skoop: tuum</para> +<itemizedlist> +<listitem +><formalpara id="KDevAppWizard"> +<title +>Rakenduse nõustaja</title> +<para +>Rakenduse nõustaja</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevDiff"> +<title +>Erinevuste näitaja</title> +<para +>Erinevuste näitaja</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevFileCreate"> +<title +>FileCreate</title> +<para +>FileCreate</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevFullScreen"> +<title +>Täisekraan</title> +<para +>Täisekraan</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevTipOfDay"> +<title +>Päeva nõuanne</title> +<para +>Päeva nõuanne</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevUIChooser"> +<title +>Kasutajaliidese valik</title> +<para +>Tagab dialoogi kasutajaliidese režiimi valimiseks.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevVCSManager"> +<title +>VCSManager</title> +<para +>Versioonikontrollisüsteemi haldur </para +></formalpara +></listitem> +</itemizedlist> + +<para +>Skoop: globaalne</para> +<itemizedlist> +<listitem +><formalpara id="KDevAbbrev"> +<title +>Lühendite laienemine</title> +<para +>Tagab kohandatud lühendite toetuse - need on lühikesed sõnad, mis laiendatakse levinumateks koodistruktuurideks.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevDocumentation"> +<title +>Dokumentatsioon</title> +<para +>Dokumentatsiooniplugin võimaldab lehitseda ja otsida nii kohalikus kui võrgudokumentatsioonis paljusid dokumentatsioonisüsteeme kasutades.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevfilelist"> +<title +>FileList</title> +<para +>Näitab kõiki parajasti avatud faile (mugav, kui kaardiriba ei ole piisavalt lai).</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevFileSelector"> +<title +>Failivalija</title> +<para +>Võimas failide lehitsemise rakendus.</para +></formalpara +></listitem> +<listitem +><formalpara> +<title +>Shellifiltrid ja lisamine</title> +<para +>Võimaldab käsureavahendite abil käsitleda redaktoris olevat teksti. Kättesaadav tööriistade menüüst.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevGrepView"> +<title +>Programmi grep kasutajaliides</title> +<para +>Integreerib KDevelopi programmi "Find|grep", mis lubab mustreid või regulaaravaldisi kasutades kiiresti paljudes failides teksti otsida.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevKonsoleView"> +<title +>Põimitud Konsool</title> +<para +>See plugin lisab KDevelopile võimaluse põimitult kasutada konsooli käsurea võimaluste kiireks ja hõlpsaks pruukimiseks.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevOpenWith"> +<title +>Menüü "Ava kasutades" lisamine</title> +<para +>See plugin lisab KDevelopi erinevatele kontekstimenüüdele täiendavaid faili avamise võimalusi.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevPartExplorer"> +<title +>Komponentide näitaja</title> +<para +>Graafiline vahend KTraderi-laadsete päringute sooritamiseks registreeritud teenuste kohta</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevRegexpTest"> +<title +>Regulaaravaldiste testija</title> +<para +>Vahend regulaaravaldiste loomiseks ja korrektsuse testimiseks.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevReplace"> +<title +>Asendamise komponent</title> +<para +>See plugin on kogu projekti hõlmav interaktiivne "otsi ja asenda" vahend. Otsida saab stringe või regulaaravaldiste sobivusi, asendusi saab valida eelvaatluse abil, enne kui need päriselt teoks teha. Kasutamisel kättesaadav redigeerimismenüüst.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevscripting"> +<title +>Skriptikeele plugin</title> +<para +>Skriptikeele plugin võimaldab KDevelopis kasutada skriptikeelt KScripti alusel</para +></formalpara +></listitem> +<listitem +><formalpara id="Code_Snippets"> +<title +>Koodijupid</title> +<para +>pSee plugin võimaldab salvestada koodijuppe ja neid koodi lisada</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevTextTools"> +<title +>Tekstistruktuur</title> +<para +>Näitab HTML- ja TEX-failide struktuuri ning võimaldab neis liikuda</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevTools"> +<title +>Tööriistade menüü lisamine</title> +<para +>See plugin võimaldab hõlpsasti lisada väliseid rakendusi tööriistade menüüsse ja tööriistaribale.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevvalgrind"> +<title +>Valgrindi kasutajaliides</title> +<para +>Valgrind aitab leida programmides mälulekkeid ja muid mäluga seotud asju. http://developer.kde.org/~sewardj/</para +></formalpara +></listitem> +</itemizedlist> + +<para +>Skoop: projekt</para> +<itemizedlist> +<listitem +><formalpara id="KDevannotation"> +<title +>Annotatsiooniplugin</title> +<para +>Annotatsiooni kirjeldus</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevAStyle"> +<title +>Lähtekoodi vormindaja</title> +<para +>Plugin lähtekoodi vormindamiseks vastavalt konkreetsetele reeglitele. Kasutamisel leiab selle tööriistade menüüst.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevBookmarks"> +<title +>Järjehoidjad</title> +<para +>Plugin, mis võimaldab näha ja liikuda aktiivse koodi järjehoidjate vahel ning peab need seansside vahel meeles.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevClassView"> +<title +>Klassivaade</title> +<para +>See plugin näitab graafiliselt kõiki projekti klasse koos meetodite ja atribuutidega ning võimaldab nende vahel kiiresti liikuda.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevcopyto"> +<title +>Kopeeri</title> +<para +>Lihtne failide üleslaadimise plugin. See kopeerib faili mis tahes KIO toetusega protokolli tarvitades.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevCTags2"> +<title +>CTagsi kasutajaliides</title> +<para +>CTags on liikumisvahend paljude keelte toega. Laadimisel pakub see kontekstimenüüd deklaratsioonide/definitsioonide tüübi leidmiseks, samuti päringudialoogi tööriistade menüü vahendusel. Vaata internetis http://ctags.sourceforge.net/</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevdistpart"> +<title +>Lõpp-pakendamise toetus</title> +<para +>Abi valmisprojekti ehitamisel ja avaldamisel. Hetkel on toetatud ainult RPM-pakettide vorming.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevDoxygen"> +<title +>Doxygeni toetus</title> +<para +>Doxygeni plugin võimaldab määrata ja kontrollida projekti dokumentatsiooni loomist vastavalt lähtekoodi sisule. Selleks peab olema paigaldatud ka programm 'doxygen'. Vaata täpsemalt http://www.doxygen.org</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevQuickOpen"> +<title +>Kiiresti avamine</title> +<para +>Võimaldab hõlpsasti leida/avada faile, klasse ja meetodeid suures projektis. Laadimisel kättesaadav faili- ja tööriistade menüüs.</para +></formalpara +></listitem> +<listitem +><formalpara id="KDevSecurity"> +<title +>Turvalisuse kontroll</title> +<para +>Koodi turvalisuse kontroll</para +></formalpara +></listitem> +</itemizedlist> +<para +>Nii palju siis genereeritud pluginate nimekirjast.</para> + + +<table id="table-project-parts"> +<title +>Projektihalduse pluginad &kdevelop;is</title> +<tgroup cols="2" +><tbody> +<row> + <entry +>antproject</entry> + <entry +>ANT projekti haldur (&Java; rakendused)</entry> +</row> +<row> + <entry +>autoproject</entry> + <entry +>Automake'i projekti haldur</entry> +</row> +<row> + <entry +>customproject</entry> + <entry +>Kohandatud projekti haldur</entry> +</row> +<row> + <entry +>trollproject</entry> + <entry +>QMake'i projekti haldur</entry> +</row> +</tbody +></tgroup> +</table> +<para +>Mainitud pluginad on praegu (mai 2005) tühjad. Võib-olla tulevikus teostatakse projektihaldus pluginatena.</para> + + +<table> +<title +>Keelte toetuse pluginad &kdevelop;is</title> +<tgroup cols="2"> +<tbody> +<row +><entry +>cppsupport</entry +><entry +>C/C++ toetus</entry +></row> +<row +><entry +>fortransupport</entry +><entry +>Fortrani toetus</entry +></row> +<row +><entry +>javasupport</entry +><entry +>&Java; toetus</entry +></row> +<row +><entry +>perlsupport</entry +><entry +>Perli toetus</entry +></row> +<row +><entry +>phpsupport</entry +><entry +>PHP toetus</entry +></row> +<row +><entry +>pythonsupport</entry +><entry +>Pythoni toetus</entry +></row> +</tbody +></tgroup> +</table> + + +<para +>Järgnevalt vaatleme mõningaid pluginaid veidi üksikasjalikumalt.</para> + +<itemizedlist> +<listitem> +<formalpara> +<title +>Plugin <command +>abbrev</command +></title> +<indexterm zone="plugin-tools" +><primary +><command +>abbrev</command +></primary +></indexterm> + +<para +>See plugin laiendab lühendid levinumateks koodijuppideks. Selle saab aktiveerida klahvikombinatsiooniga <keycombo +><keycap +>Ctrl</keycap +> <keycap +>Tühik</keycap +></keycombo +>. Kui näiteks kirjutad C++ keele korral redaktorisse <literal +>"ife"</literal +> ja vajutad <keycombo +><keycap +>Ctrl</keycap +><keycap +>Tühik</keycap +></keycombo +>, on tulemuseks koodimall <literal +>if-else</literal +>, mis säästab sulle mõned klahvivajutused. Toetatud lühendite valik sõltub redigeeritava faili programmeerimiskeelest. Näiteks PHP korral oled ju ilmselt huvitatud teistsugustest koodimallidest kui &Java; puhul. </para> +</formalpara> + +<para +>Koodimallide valikut saab seadistada. Kui plugin on sisse lülitatud, näeb saadaolevaid malle dialoogi <menuchoice +><guimenu +>Seadistused</guimenu +><guimenuitem +>KDevelopi seadistamine...</guimenuitem +></menuchoice +> kaardil <guibutton +>Lühendid</guibutton +>. </para> +</listitem> + +<listitem> +<formalpara id="KDevFilter"> +<title +>Plugin <command +>filter</command +></title> +<indexterm zone="plugin-tools" +><primary +><command +>filter</command +></primary +></indexterm> + +<para +>See plugin pakub kaks võimalust. Kui valid menüükäsu <menuchoice +><guimenu +>Tööriistad</guimenu +><guimenuitem +>Käivita käsk</guimenuitem +></menuchoice +>, saad sisestada shellikäsu. Käsu väljund lisatakse redaktori puhvrisse, kui klõpsad nuppu <guibutton +>Käivita</guibutton +>. </para> +</formalpara> + +<para +>Sellega on seotud käsk <menuchoice +><guimenu +>Tööriistad</guimenu +><guimenuitem +>Filtreeri valik läbi käsu...</guimenuitem +></menuchoice +>. Selleks tuleb redaktoris valida tekst. Kui sisestad nüüd shelli käsu ja klõpsad nupule <guibutton +>Käivita</guibutton +>, käivitatakse käsk, mis võtab valitud teksti oma sisendiks. Käsu väljund lisatakse seejärel redaktorisse, asendades nii sinu valitud teksti. </para> + +<para +>Kui näiteks kirjutad dokumentatsiooni, tuleb sageli viidata menüükäskudele. Et seda korrektselt teha näiteks menüüs Redigeerimine leiduva käsu Kopeeri korral, pead kirjutama: <programlisting +><menuchoice><guimenu>Redigeerimine</guimenu><guimenuitem>Kopeeri</guimenuitem></menuchoice></programlisting +> See on üsna tülikas, nii et mõistlikum on kirjutada lihtsalt "Redigeerimine - Kopeeri" ja lasta sildid panna arvutil endal. See käib järgmiselt. Sul tuleb kirja panna väike shelliskript nimega mef, mille paigutad näiteks oma kodukataloogi bin-kataloogi: <programlisting +>sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/</programlisting +> Ära unusta sellele käivitamisõigust andmast. Ja ongi kõik. Nüüd võid kirjutada oma dokumentatsiooni .docbook-lähtekoodifailis "Redigeerimine - Kopeeri". Vali see tekst, vali menüükäsk <menuchoice +><guimenu +>Tööriistad</guimenu +><guimenuitem +>Filtreeri valik läbi käsu...</guimenuitem +></menuchoice +> ja kutsu välja käsk ~/bin/mef. Otsekohe asendataksegi "Redigeerimine - Kopeeri" tekstiga <programlisting +><menuchoice><guimenu>Redigeerimine</guimenu><guimenuitem>Kopeeri</guimenuitem></menuchoice></programlisting> +</para> + + +</listitem> + +<listitem> +<formalpara> +<title +>&doxygen;i plugin</title> +<indexterm zone="plugin-tools" +><primary +>&doxygen;</primary +></indexterm> +<indexterm zone="plugin-tools" +><primary +>dokumentatsioonitööriist</primary +></indexterm> +<indexterm zone="plugin-tools" +><primary +>API documentatsioon</primary +></indexterm> + +<para +>See plugin aitab kasutada &doxygen;i API dokumentatsiooni tööriista (<ulink url="http://www.doxygen.org" +></ulink +>). Menüükäsuga <menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Käivita Doxygen</guimenuitem +></menuchoice +> saad luua oma projekti dokumentatsiooni vastavalt konfiguratsioonile, mille määrab sinu projektikataloogis leiduv fail <filename +>Doxyfile</filename +>. </para> +</formalpara> + +<para +>Lisaks saab &doxygen;i seadistada dialoogis <menuchoice +><guimenu +>Projekt</guimenu +> <guimenuitem +>Projekti seadistused...</guimenuitem +></menuchoice +>. See dialoog on üsna sarnane &doxywizard;iga. </para> +</listitem> + +<listitem> +<formalpara> +<title +>&ctags;i plugin</title> +<indexterm zone="plugin-tools" +><primary +>&ctags;</primary +></indexterm> + +<para +>Ehkki klassisirvija näitab juba põhjalikult sinu projekti sümboleid ja klasse, võib abiks olla ka CTagsi tööriist. Eriti tasuks tähele panna, et see toetab enam keeli kui klassisirvija. </para> +</formalpara> + +<para +>Plugina saab aktiveerida menüükäsuga <menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>CTags...</guimenuitem +></menuchoice +> Kui käivitad selle esimest korda, palutakse sul luua kõigepealt otsingu-andmebaas. Kui oled sellega nõus, käivitub &ctags; ja loob sinu projektikataloogi faili <filename +>tags</filename +>. See on tekstifail, mis sisaldab sinu lähtekoodifailide kõiki sümboleid. </para> + +<para +>Sümbolite andmebaasis saab otsida kahel moel: kui märkida ära kast <guilabel +>Regulaaravaldis</guilabel +>, tõlgendatakse sisestatud otsinguteksti regulaaravaldisena (POSIX-i mõttes) ja otsitakse selle sobivust. Näiteks <literal +>.*Widget</literal +> otsib kõiki sümboleid, mille lõpus seisab <literal +>Widget</literal +>. Kui kast on märkimata, otsitakse täpselt seda, mida otsida lased. </para> + +<para +>Otsimisel näidatakse sulle sobivate sümbolite nimekirja, koos reanumbriga, kus nad on defineeritud. Klõpsuga nimekirjas saab kohe vastavasse kohta hüpata. </para> + +<para +>Mõne keele puhul eristab &ctags; sümboleid. Näiteks Pythonis on klassid ja funktsioonid. Sa võid näiteks otsida ainult klassides, kui märgid ära vastava kasti. </para> + +<para +>Sümbolite andmebaasi ei uuendata, kui muudad oma lähtekoodi. Seepärast ei pruugi mõne aja pärast enam reanumbrid tegelikkusele vastata ning uued klassid ja funktsioonid on puudu. Seepärast tasuks faili <filename +>tags</filename +> regulaarselt uuendada, klõpsates nupule <guibutton +>Genereeri uuesti</guibutton +>. </para> +</listitem> + +<listitem> +<formalpara> +<title +>Plugin <command +>astyle</command +></title> +<indexterm zone="plugin-tools" +><primary +><command +>astyle</command +></primary +></indexterm> +<indexterm zone="plugin-tools" +><primary +><application +>Artistic Style</application +></primary +></indexterm> +<indexterm zone="plugin-tools" +><primary +>treppimine</primary +></indexterm> + +<para +>Astyle on plugin, mis lubab lähtekoodi vormindada vastavalt kindlatele reeglitele. </para> +</formalpara> +</listitem> + +<listitem> +<formalpara> +<title +>Plugin <command +>regexptest</command +></title> +<indexterm zone="plugin-tools" +><primary +><command +>regexptest</command +></primary +></indexterm> +<indexterm zone="plugin-tools" +><primary +>silumine</primary +><secondary +>regulaaravaldis</secondary +></indexterm> +<indexterm zone="plugin-tools" +><primary +>regulaaravaldis</primary +><secondary +>silumine</secondary +></indexterm> + +<para +>Regulaaravaldise loomine võib olla üsna tülikas tegevus. Sageli leiad esialgu liiga palju vasteid oma otsingule. Eriti keerukamate keelte puhul võib regulaaravaldiste paikaajamine olla väga vaevarikas. Plugin regeexptest lubab sul vahetult uurida regulaaravaldises tehtavate muudatuste mõju. Selle saab aktiveerida menüükäsuga <menuchoice +><guimenu +>Tööriistad</guimenu +> <guimenuitem +>Regulaaravaldise silumine...</guimenuitem +></menuchoice +> </para> +</formalpara> + +<para +>Regulaaravaldise tüübi sektsioonis saad valida, millist laadi regulaaravaldise mootorit kasutada. Praegu on toetatud POSIX standard, mida kasutab programm &grep; ja laiendatud POSIX süntaks, mida kasutab programm &egrep;. </para> + +<para +>Kui sisestad avaldise, saad kohe teada, kas selles on süntaksivigu. Sisestades teksti kasti <guilabel +>Teststring</guilabel +>, näed, kas see sobib avaldisega. Eriti juhul, kui regulaaravaldis sisaldab gruppe, näiteks <literal +>([a-z])</literal +>, näidatakse nimekirjakastis sobivate alamgruppide sisu. </para> +</listitem> + +<!-- +<listitem> +<formalpara> +<title +>The <command +>konsole</command +> Plugin</title> +<indexterm zone="plugin-tools" +><primary +><command +>konsole</command +></primary +></indexterm> +<indexterm zone="plugin-tools" +><primary +>terminal</primary +><secondary +>embedded</secondary +></indexterm> +<para +></para> +</formalpara> +</listitem> +--> + +</itemizedlist> + +</appendix +> <!-- plugin-tools --> + +<!-- ====================================================================== --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/project-advanced.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/project-advanced.docbook new file mode 100644 index 00000000000..03a19a4fa45 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/project-advanced.docbook @@ -0,0 +1,111 @@ +<chapter id="projects-advanced"> + +<chapterinfo> + <authorgroup> + <author +><firstname +>Bernd</firstname +><surname +>Pol</surname +></author> + <!-- ROLES_OF_TRANSLATORS --> + </authorgroup> +</chapterinfo> + +<title +>Projektihaldusest põhjalikumalt</title> + +<sect1 id="oldprojects"> +<title +>Projektide laadimine</title> + +<sect2 id="loading-recent-project"> +<title +>Hiljuti avatud projektide laadimine</title> + +<para +>(... veel kirjutamata ...) </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="open-recent-project.png" format="PNG"/> + </imageobject> + <caption +><para +>Kuidas avada hiljuti kasutatud projekt </para +></caption> + </mediaobject> +</screenshot> + + +</sect2 +> <!-- loading-recent-project --> + +<sect2 id="loading-project"> +<title +>Olemasoleva projekti laadimine</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- loading-project --> + +<sect2 id="converting-projects"> +<title +>KDevelopi vanade projektifailide konverteerimine</title> + +<para +>&kdevelop; võimaldab avada vanu KDevelop 2.x projektifaile ja konverteerida need &kdevelop;i failideks. Selleks vali <guimenuitem +>Ava projekt...</guimenuitem +> ning ilmuvas dialoogis <guilabel +>KDevelop 2 projektifailid</guilabel +> kastis <guilabel +>Filter</guilabel +>. Seejärel vali projektifail, mida soovid avada. Projekt konverteeritakse kohe &kdevelop;i failiks ja salvestatakse kui <guilabel +>&kdevelop;i projektifail</guilabel +>. </para> + +</sect2 +> <!-- converting-projects --> + +<sect2 id="importing-projects"> +<title +>Olemasoleva projekti import</title> + +<para +>Olemasoleva kataloogi importimiseks &kdevelop;i vali käsk <guimenuitem +>Impordi olemasolev kataloog</guimenuitem +> menüüst <guimenu +>Projekt</guimenu +>. Ilmub kataloogi importimise nõustaja: </para> + +<figure id="screenshot-importdirectory" float="1"> +<title +>Kataloogi importimise dialoog</title> +<mediaobject> +<imageobject +><imagedata fileref="importdirectory.png"/></imageobject> +</mediaobject> +</figure> + +</sect2 +> <!-- importing-projects --> + +</sect1 +> <!-- oldprojects --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="project-options"> +<title +>Projekti kohandamine — projekti seadistused</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect1 +> <!-- project-options --> + +</chapter +> <!-- projects-advanced --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/project-management.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/project-management.docbook new file mode 100644 index 00000000000..503c2acb550 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/project-management.docbook @@ -0,0 +1,1295 @@ +<chapter id="project-management"> + +<chapterinfo> + <authorgroup> + <author +><firstname +>Bernd</firstname +><surname +>Pol</surname +></author> + <author +><firstname +>Ian</firstname +><surname +>Wadham</surname +></author> + <!-- ROLES_OF_TRANSLATORS --> + </authorgroup> +</chapterinfo> + +<title +>Ehitamine ja projektihaldus</title> + +<para +>Käesolev peatükk tegeleb ainult kompileeritud projektidega, näiteks C++, C&Java; ja Fortrani projektidega. Skriptikeelte (nt. Python ja PHP) projektid käituvad märgatavalt teistmoodi. </para> + +<para +>Siin leiab järgmist infot:</para> +<itemizedlist> + <listitem +><para +><link linkend="automake-manager-summary" +>&automanag;i kokkuvõte</link +>, mis sisaldab &automanag;i üldist ülevaadet, </para +></listitem> + <listitem +><para +><link linkend="automake-manager-operation" +>Automake'i halduri kasutamine</link +>, mis kirjeldab &automanag;i kasutamise põhitõdesid. </para +></listitem> +</itemizedlist> + +<sect1 id="automake-manager-summary"> +<title +>&automanag;i kokkuvõte</title> + +<para +><link linkend="unixdev-buildsystems" +>Ehitamissüsteemide</link +> peatükis andsime kerge ülevaate ehitamissüsteemidest, mis on levinud &UNIX; süsteemides. Nüüd vaatleme kõike seda veidi lähemalt. </para> +<para +>Valitseb mõningane segadus, kuidas selliseid asju üldse nimetada. &GNU; kasutab väljendit <quote +>ehitamissüsteemid</quote +> (inglise keeles 'build systems'), kui kõne all on Automake, Autoconf ja Libtool. QMake nimetab ennast <quote +>tööriistaks Makefilde'ide loomiseks erinevatele kompilaatoritele ja platvormidele</quote +>. &kde; pruugib tihti mõistet <quote +>projektihalduse süsteemid</quote +>. Me kasutame seda mõistet laiemas tähenduses kirjeldamaks &kdevelop;i sisseehitatud keskkondi, mida kasutatakse sinu projektide korraldamiseks ja ehitamiseks. Käesolevas osas on aga vaatluse all ennekõike <quote +>automatiseeritud ehitussüsteemid</quote +>. </para> + +<sect2 id="automake-manager-summary-buildsys"> +<title +>Automatiseeritud ehitussüsteemi vajadus</title> + +<para +>Kui sul on lihtne C-keeles kirjutatud <quote +>Hello World</quote +> programm, võid selle kompileerida ja linkida &gcc; käsuga <parameter +>-o hello hello.c</parameter +> ning käivitada käsuga <command +>./hello</command +>, nii et <filename +>Makefile</filename +> pole üldse vajalik. </para> +<para +>Kui sul on mitme mooduli ja päisefailiga C rakendus, mida sa kasutad ainult enda masinas (&ie; tegemist on nii-öelda koduse rakendusega), on vaja ainult väga lihtne <filename +>Makefile</filename +>, mille saab hõlpsasti ka käsitsi kirja panna (täpsemat infot annab käsk <userinput +>info make</userinput +>). </para> +<para +>Raskused algavad siis, kui: </para> +<itemizedlist> + <listitem +><para +>sinu lähtekood, dokumentatsioon, graafika, helid, tõlked, andmefailid &etc; asuvad mitmes erinevas kataloogis, </para +></listitem> + <listitem +><para +>sul on kataloogide ja alamkataloogide hierarhia, </para +></listitem> + <listitem +><para +>sa kasutad teeke, mis ei kuulu traditsiooniliselt &UNIX; koosseisu, näiteks &Qt; objektiteek või &kde; teegid, </para +></listitem> + <listitem +><para +>sa kasutad eelprotsessorit teatud osa lähtekoodi genereerimiseks, näiteks Qt MOC-i eelkompilaatorit, </para +></listitem> + <listitem +><para +>sa kavatsed levitada oma rakendust üle kogu maailma, ka inimestele, kel ei pruugi olla sama &UNIX;/&Linux; süsteem, tarkvara ja riistvara nagu sul, </para +></listitem> + <listitem +><para +>sa eeldad automatiseeritud paigaldamis- ja eemaldamistööriista, </para +></listitem> + <listitem +><para +>sinu siht on muuta oma rakendus &kde; töökeskkonna osaks. </para +></listitem> +</itemizedlist> + +<para +>Kui sinu ees seisab mõni või ka kõik mainitud probleemidest, läheb sul arvatavasti vaja <emphasis +>ehitussüsteemi</emphasis +>. Toodud näiteks kasutasime &gcc;-d programmi <quote +>Hello World</quote +> kompileerimiseks ja ehitamiseks, kuid mitte kõik C kompilaatorid ei kanna nime <quote +>&gcc;</quote +>. See tähendab, et kui levitad oma rakendust ka kellelegi, kes kasutab mõnda muud C kompilaatorit, peab sinu Makefile kuidagi oskama toda kompilaatorit ära kasutada, sest muidu sinu rakendus lihtsalt ei kompileeru — ja see oli veel väga lihtne näide raskustest. </para> +<para +>Ehitussüsteem selgitab need erinevused sinu eest ise välja: </para> +<itemizedlist> + <listitem +><para +>see kontrollib, et teegid, mida vajad, oleksid saadaval kõigis sihtmasinates, </para +></listitem> + <listitem +><para +>uurib automaatselt läbi kõiki sinu rakenduse kataloogid, et leida failid, mida on vaja eeltöödelda, kompileerida ja paigaldada, </para +></listitem> + <listitem +><para +>paigaldab sinu rakenduse komponendid korrektsetesse sihtkataloogidesse, tagades muu hulgas, et </para +></listitem> + <listitem +><para +>vajaduse korral luuakse sihtmasinas puuduvad kataloogid. </para +></listitem> +</itemizedlist> + +<para +>Lühidalt öeldes pakub ehitussüsteem kindlad ja turvalised meetodid, et sinu rakendust oleks võimalik kompileerida ja paigaldada mis tahes masinas. Nagu juba <link linkend="makesystems" +>projektihalduse süsteemide</link +> tutvustuses mainitud, pakub &kdevelop; kolme automatiseeritud ehitussüsteemi ning võimalust luua ise enda Makefile (projekti nimele klõpsates näed rohkem infot): </para> +<itemizedlist> + <listitem +><para +><link linkend="automake-project" +>Automake'i projektid</link +>, mis kasutavad &GNU; standardseid arendustööriistu. </para +></listitem> + <listitem +><para +><link linkend="qmake-project" +>QMake'i projektid</link +>, mis kasutavad Trolltechi QMake'i projektihaldurit. </para +></listitem> + <listitem +><para +><link linkend="ant-project" +>ANT projektid</link +>, mis kasutavad Apache'i ANT projektihaldurit &Java; arenduseks. </para +></listitem> + <listitem +><para +><link linkend="custom-project" +>Kohandatud projektid</link +>, mille korral pead ise <filename +>Makefile</filename +>'ide eest hoolt kandma. </para +></listitem> +</itemizedlist> + +<important> +<para +>Üks neist neljast võimalusest tuleb valida projekti loomise ajal ja et <emphasis +>valikut on hiljem raske muuta</emphasis +>, tasuks neid kaaluda juba enne projekti loomaasumist. </para> +</important> + +</sect2 +> <!-- automake-manager-summary-buildsys --> + +<sect2 id="automake-references"> +<title +>Autoconf/Automake/Libtool'i õppevahendid</title> +<para +>&GNU; ehitussüsteemi (<command +>Autoconf</command +>, <command +>Automake</command +> ja <command +>Libtool</command +>) kohta, mida &automanag; kasutab, on mitu õppematerjali. </para> +<itemizedlist> + <listitem +><para +>Lühike <ulink url="http://www.kdevelop.org/index.html?filename=tutorial_autoconf.html" +>autoconfi õppematerjal</ulink +> Christopher W. Curtise sulest on saadaval &kdevelop;i koduleheküljel. See põhiteemaks on peamised sammud <filename +>Makefile</filename +>'i muutmisel. </para +></listitem> + <listitem +><para +>Põhjalikuma õppematerjali leiab suures õppematerjalide kogumikus<ulink url="http://www.amath.washington.edu/~lf/tutorials/autoconf/toolsmanual_toc.html" +><quote +>Developing software with GNU</quote +></ulink +>. </para +></listitem> + <listitem +><para +>Mõistagi on ka kuulus <ulink url="http://sources.redhat.com/autobook" +><quote +>Goat Book</quote +></ulink +> pealkirjaga <quote +>Autoconf, Automake, and Libtool</quote +>. See on väga hästi kirjutatud kokkuvõtlik sissejuhatus &GNU; 'auto'-tööriistade kasutamisel. </para +></listitem> +</itemizedlist> + +</sect2 +> <!-- automake-references --> + +<sect2 id="automake-manager-basics"> +<title +>Mida &automanag; teeb?</title> + +<para +><link linkend="applicationwizard" +>&appwizard;</link +> loob mõned esialgsed failid <filename +>Makefile.am</filename +>, kui lood sellist tüüpi <guilabel +>uue projekt</guilabel +>i, mis kasutab &GNU; ehitussüsteemi, näiteks <menuchoice +><guimenuitem +>C++</guimenuitem +> <guimenuitem +>KDE</guimenuitem +> <guimenuitem +>Rakenduse raamistik</guimenuitem +></menuchoice +>. Arendustegevuse käigus loob &automanag; kõik muud failid <filename +>Makefile.am</filename +> projektidele, mis kasutavad &GNU; ehitussüsteemi, ja haldab neid kõiki, olgu nende loojaks siis &appwizard; või &automanag;. </para> +<para +>Üks <filename +>Makefile.am</filename +> luuakse iga sinu projekti kataloogi kohta, kus leidub kompileeritavaid või paigaldatavaid faile. See sisaldab sinu määratlusi failide kompileerimiseks, ehitamiseks ja paigaldamiseks ning viiteid kõigile alamkataloogidele, kus on samuti oma <filename +>Makefile.am</filename +> ning failid, mida on vaja kompileerida, ehitada ja paigaldada. </para> + +<note +><para +>Sinu projekti kataloogid ja lähtefailid võivad olla mis tahes sügavuseni struktureeritud, kuid sa võid muidugi eelistada ka nii-öelda lamedat struktuuri, kus kõik alamkataloogid asuvad tipptasemel. </para +></note> + +<para +>&GNU; ehitussüsteemi eesmärk on luua lähtekoodifailide struktuurid, mida saab kompileerida, ehitada ja paigaldada mis tahes &UNIX; või &Linux; süsteemis järgmiste lihtsate käskudega: </para> + +<screen +>./configure +make +make install # Tavaliselt administraatori ("root") õigustes. +</screen> + +<para +>ja eemaldada käsuga <command +>make uninstall</command +> (tavaliselt administraatori (root) õigustes). </para> + +<para +>Kuidas see käib? <command +>configure</command +> on õieti skript, mis <itemizedlist> + <listitem +><para +>selgitab välja selle süsteemi iseärasused, kus ta tööle pannakse (nt. kasutatava kompilaatori ja teegid ning nende asukoha), ja seejärel </para +></listitem> + <listitem +><para +>loob rekursiivsed <filename +>Makefile</filename +>'id, täites asendused vastavates <filename +>Makefile.in</filename +> failides. </para +></listitem> +</itemizedlist> +</para> +<para +><filename +>Makefile.in</filename +> on <quote +>sisendfailid</quote +> (inglise keeles on sisend 'input') — mallid, mis annavad loodavatele <filename +>Makefile</filename +>'idele teatud infot süsteemi kohta. Neid genereerib tööriist <command +>Automake</command +> failidest <filename +>Makefile.am</filename +>. </para> +<para +>Protsessi <filename +>Makefile.am</filename +>'ist (<filename +>.am</filename +> tähendabki <quote +>Automake'i</quote +> mallifaili) <filename +>Makefile</filename +>'ini korraldab automaatselt &kdevelop;i &promanag;, kasutades selleks tööriista <command +>autoconf</command +>, <command +>M4</command +> makrosid ja muid salapäraseid asju, mida me siinkohal pikemalt ei puuduta. </para> +<para +>Käsk <command +>make</command +> võtab töölehakkamisel niisiis kasutusele aktiivses keskkonnas saadaolevad komponendid (kompilaator, teegid jne.). Samuti paigutab <command +>make install</command +> sinu rakenduse komponendid (käivitatavad failid, dokumentatsioon, andmefailid jne.) antud keskkonnale sobivatesse asukohtadesse. </para> + +<para +>Kui levitad oma rakendust <quote +>tarball'ina</quote +> (üks tihendatud fail, mille &kdevelop; sinu eest loob), sisaldab see faile <filename +>Makefile.in</filename +> ja skriptifaili <filename +>configure</filename +>, nii et selle hankija võib sinu rakenduse kompileerida, ehitada ja paigaldada, ilma et tema masinas oleks olmeas <command +>Automake</command +>, <command +>Autoconf</command +> või &kdevelop;. Kaasatud on ka failid <filename +>Makefile.am</filename +>, kui hankija peaks soovima mingil põhjusel midagi lähtekoodis muuta. </para> +<note +><para +>Reeglid on tublisti teistsugused, kui levitad rakendust veebipõhise lähtekoodihoidla vahendusel (näiteks &kde; &cvs;). </para +></note> + +</sect2 +> <!-- automake-manager-basics --> + +<sect2 id="automake-manager-basics-summary"> +<title +>Automake'i halduri tegevuse kokkuvõte</title> + +<itemizedlist> + <listitem +><para +>Tekitab failid <filename +>Makefile.am</filename +> alamkataloogides ehk <quote +>alamprojektides</quote +>. </para +></listitem> + <listitem +><para +>Uuendab projekti struktuuri muutumisel faile <filename +>Makefile.am</filename +>. </para +></listitem> + <listitem +><para +>Uuendab failide lisamisel projekti või nende eemaldamisel faile <filename +>Makefile.am</filename +>. </para +></listitem> + <listitem +><para +>Tuvastab definitsioonid, kuidas erinevaid faile ehitada või paigaldada ning muudab vastavalt faile <filename +>Makefile.am</filename +>. </para +></listitem> + <listitem +><para +>Tuvastab ehitamisel või paigaldamisel kasutatavad parameetrid (⪚ teekide nimed) ning tagab, et neid kasutatakse vajalikes kompileerimis- ja ehitamisetappides. </para +></listitem> +</itemizedlist> + +</sect2 +> <!-- automake-manager-basics-summary --> + +<sect2 id="automake-file-contents"> +<title +>Automake'i failide sisu</title> + +<para +><filename +>Makefile.am</filename +> sisaldab ridu muutujate nimedega, millele järgneb võrdusmärk ja failide või parameetrite väärtuste nimekiri. <quote +>Muutujad</quote +> on kaheosalised nimetused, näiteks <varname +>bin_PROGRAMS</varname +>, <varname +>minurakendus_SOURCES</varname +> või <varname +>kdelnk_DATA</varname +>. Teist osa nimetatakse <emphasis +>põhiosaks</emphasis +> ning see tähistab midagi, mida ehitada või paigaldada. Esimene osa on <emphasis +>prefiks</emphasis +>, mis tähistab: </para> +<itemizedlist> + <listitem +><para +><emphasis +>kataloogi</emphasis +>, kus paigaldus sooritada (⪚ <filename +>bin</filename +>), </para +></listitem> + <listitem +><para +><emphasis +>täpsustit</emphasis +> põhiosale (⪚ <varname +>minurakendus</varname +> <varname +>SOURCES</varname +> korral annab märku, et lähtekoodifailid, mis on toodud muutuja <varname +>minurakendus_SOURCES</varname +> järel, on vajalikud <filename +>minurakendus</filename +>'e ehitamiseks), </para +></listitem> + <listitem +><para +>spetsiaalne <emphasis +>prefiks</emphasis +> <varname +>noinst</varname +> (lühend sõnadest <quote +>no installation</quote +> ehk 'paigaldamine puudub') loetleb tavaliselt programmi päisefaile (<filename +>.h</filename +>), </para +></listitem> + <listitem +><para +>samuti spetsiaalne prefiks <varname +>EXTRA</varname +> loetleb <emphasis +>konfiguratsioonist sõltuvaid</emphasis +> asju. </para +></listitem> +</itemizedlist> + +<para +>Täpsemat infot tööriista <command +>Automake</command +> ja failide <filename +>Makefile.am</filename +> kohta annab <userinput +>info Automake</userinput +>. </para> +<para +>Põhimõtteliselt loob ja uuendab &automanag; muutujate nimesid ja failide või parameetrite nimekirju. Vaatame näiteks järgmist faili <filename +>Makefile.am</filename +>, mis käib tüüpilise rakenduse <filename +>minurakendus</filename +> kohta (kommentaarid on eestikeelsed). </para> + +<screen +>## minurakendus'e Makefile.am + +# see on paigaldatav programm. Seda nime kasutatakse +# kõigis Makefile.am muutujates +bin_PROGRAMS = minurakendus + +# määrab X, qt ja KDE kaasamise asukoha +INCLUDES = $(all_includes) + +# teekide otsingutee. +minurakendus_LDFLAGS = $(KDE_RPATH) $(all_libraries) + +# teegid, millega lingitakse. +minurakendus_LDADD = $(LIB_KFILE) $(LIB_KDEPRINT) + +# milline lähtekood minurakendus'e jaoks kompileerida +minurakendus_SOURCES = main.cpp minurakendus.cpp minurakendusview.cpp + +# projekti päisefailid +noinst_HEADERS = minurakendus.h minurakendusview.h + +# automoc tegeleb kõigi metalähtekoodifailidega (moc) +METASOURCES = AUTO + +KDE_ICON = minurakendus + +# siia läheb kdelnk-fail +kdelnkdir = $(kde_appsdir)/Utilities +kdelnk_DATA = minurakendus.desktop + +# siia läheb XML-GUI resssursifail +rcdir = $(kde_datadir)/minurakendus +rc_DATA = minurakendusui.rc + +AM_CXXFLAGS = -DMY_C++_PREPROCESSOR_OPTION +</screen> + +<para +>Nagu näed, seisab sageli võrduse paremal poolel <varname +>$(xxx)</varname +>. Need on <emphasis +>keskkonnamuutujad</emphasis +>, mis on defineeritud tegelikus &kde; keskkonnas ja asendatakse tegelike väärtustega, kui <command +>./configure</command +> genereerib sihtmasinas lõpliku <filename +>Makefile</filename +>'i. </para> + +<para +>Mõttekas oleks mõni aeg pärast seda, kui oled alustanud tegevust &kdevelop;is, käivitada käsk <command +>./configure --help</command +>, mis näitab paljusid asju, mida saad muuta ehitamise ja paigaldamise ajal (näiteks testkeskkond). Eriti just käsk <screen> +./configure --prefix=/koht/mida/sa/vaid/soovid +</screen +> suunab terve paigalduse sinu valitud kataloogistruktuuri, andes seesmisele muutujale <varname +>$(prefix)</varname +> väärtuse <filename class="directory" +>/koht/mida/sa/vaid/soovid</filename +>. </para> + +</sect2 +> <!-- automake-file-contents --> + +</sect1 +> <!-- automake-manager-summary --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="automake-manager-operation"> +<title +>Automake'i halduri kasutamine</title> + +<para +>Käesolevas osas leiad &automanag;i elementide üldise kirjelduse ja nende kasutamise juhiseid, sealhulgas: <itemizedlist> + <listitem +><para +><link linkend="automake-manager-operation-window" +>&automanag;i aken</link +> kirjeldab &automanag;i peaakna ülesehitust. </para +></listitem> + <listitem +><para +><link linkend="automake-manager-operation-survey-window" +>Üldvaate aken</link +> kirjeldab ülemise alamakna elemente. </para +></listitem> + <listitem +><para +><link linkend="automake-manager-operation-detail-window" +>Detailivaate aken</link +> kirjeldab alumise alamakna elemente. </para +></listitem> + <listitem +><para +><link linkend="automake-manager-operation-navigate" +>&automanag;is liikumine</link +> kirjeldab mõningaid põhitoiminguid, mida saad &automanag;is ette võtta. </para +></listitem> + <listitem +><para +><link linkend="automake-manager-operation-popups" +>&automanag;i kontekstimenüüd</link +> kirjeldab aknaid, mis avanevad &automanag;is toiminguid valides. </para +></listitem> +</itemizedlist> +</para> + +<sect2 id="automake-manager-operation-window"> +<title +>&automanag;i aken</title> + +<informaltable frame="none"> +<tgroup cols="2" +><tbody +><row> + <entry +><inlinemediaobject> + <imageobject> + <imagedata fileref="automakemanager.png" format="PNG"/> + </imageobject> + </inlinemediaobject +></entry> + <entry valign="top" +><itemizedlist> + <listitem +><para +>&automanag; töötab kaheks jagatud aknas. Ülemist osa nimetatakse <emphasis +>üldvaateks</emphasis +>, alumist <emphasis +>detailivaateks</emphasis +>. Nende vahel asub peen riba, mida hiirega lohistades saab vaadete suurust muuta. IDEAl aknarežiimi korral saab lohistada ka akende külgi, et nende laiust muuta. </para +></listitem> + <listitem +><para +>Mõlema vaate ülaosas asub <emphasis +>tööriistariba</emphasis +> nuppudega, mis aktiveeruvad siis, kui vaates valitakse mõni element. Nupud võimaldavad kasutada antud elemendi puhul vaates võimalikke toiminguid. Lisaks sellele saab kasutada kontekstimenüüsid, mis avanevad elementidele hiire parema nupuga klõpsates (neist tuleb juttu allpool). </para +></listitem> + <listitem +><para +>IDEAl aknarežiimis on &automanag;i tiitliribal veel kaks nuppu – kolmnurkne nool paremale ja punktikujuline nupp. Noolenupuga saab <emphasis +>akna sulgeda</emphasis +>. Punktinupuga aga saab <emphasis +>akna avatuna hoida</emphasis +> isegi siis, kui valitakse mõni muu &kdevelop;i aken (vastasel juhul suletakse &automanag;i aken automaatselt, kui fookusesse satub mõni muu aken). </para +></listitem> + </itemizedlist +></entry> +</row +></tbody +></tgroup> +</informaltable> + +</sect2 +> <!-- automake-manager-operation-window --> + +<sect2 id="automake-manager-operation-survey-window"> +<title +>Üldvaate aken</title> + +<para +>Üldvaate aken sisaldab puukujuliselt kõiki sinu projekti katalooge, mis sisaldavad programmifaile, dokumentatsiooni või andmefaile. Igas sellises kataloogis on oma <filename +>Makefile.am</filename +> ning &automanag; peab seda <emphasis +>alamprojektiks</emphasis +>. &kde;-põhises projektis on kolm tüüpilist alamprojekti: </para> + +<itemizedlist> + <listitem +><para +><filename +>src</filename +> – rakenduse lähtekoodifailid, </para +></listitem> + <listitem +><para +><filename +>doc</filename +> – rakenduse käsiraamat, </para +></listitem> + <listitem +><para +><filename +>po</filename +> – ekstraktib sinu lähtekoodifailidest stringid, mida saab tõlkida muudesse inimkeeltesse (⪚ akende tiitlid, menüüde nimed, nuputekstid, dialoogide tekstid ja mitmesugused teated). </para +></listitem> +</itemizedlist> + +<para +>Pane tähele, et alamprojektil <filename +>doc</filename +> on alati alamprojekt <filename +>en</filename +>, mida näed, kui klõpsad märgile <symbol +>+</symbol +> sõna <filename +>doc</filename +> ees. Selle põhjuseks on asjaolu, et &kde; kogu dokumentatsiooni baaskeeleks on Ameerika inglise keel (en). Kui sinu rakendusest saab &kde; osa, võivad &kde; tõlkijate meeskonnad tõlkida sinu dokumentatsiooni teistesse keeltesse ning tõlked suunduvad muudesse alamprojektidesse, mille nimeks on näiteks <filename +>de</filename +> (saksa keel) või <filename +>et</filename +> (eesti keel). Alamprojekti <filename +>po</filename +> stringe saab samuti tõlkida ning salvestada teistesse failidesse kataloogis <filename +>po</filename +>, mis tagab, et sinu rakendus on arusaadav ka neile inimestele, kes ei valda inglise keelt. </para> + +<note +><para +>Alamprojektidel <filename +>doc</filename +> ja <filename +>po</filename +> on erinev eesmärk. <filename +>doc</filename +> sisaldab <emphasis +>dokumentatsiooni</emphasis +>, näiteks rakenduse käsiraamatut, <filename +>po</filename +> aga <emphasis +>kasutajaliidese</emphasis +> tõlgitavaid stringe, mis on integreeritud rakenduse lähtekoodi. </para +></note> + +<para +>Üldvaate aken on — muu hulgas — ka liikumisvahend. Kui valid üldvaate aknas alamprojekti, näidatakse selle üksikasju detailivaate aknas. </para> + +</sect2 +> <!-- automake-manager-operation-survey-window --> + +<sect2 id="automake-manager-operation-detail-window"> +<title +>Detailivaate aken</title> + +<para +>Detailivaade sisaldab puukujuliselt kõiki parajasti üldvaates valitud alamprojekti faile ning antud alamprojekti kompileerimis-, ehitamis- ja paigaldamisreegleid. Nii tagavad kaks vaadet koos sulle ligipääsu oma rakenduse kõigile komponentidele ja kogu infole, kuidas seda kompileerida, ehitada ja paigaldada. </para> + +<sect3> +<title +>Sihtmärgid</title> + +<para +>Detailivaate nimekirjapuul on kaks tasandit. Ülemine tasand koosneb niinimetatud &automanag;i <emphasis +>sihtmärkidest</emphasis +>, teine tasand aga sisaldab iga sihtmärgi failide nimekirja. </para> + +<para +>Sihtmärgi mõiste &automanag;is erineb mõnevõrra sihtmärgi mõistest sellisel kujul, nagu seda <filename +>Makefile</filename +> enamasti mõistab. Lühidalt:</para> +<itemizedlist> + <listitem +><para +>Definitsioon, kuidas teatud failikogum kompileerida, ehitada või paigaldada, tähendab <emphasis +>sihtmärki</emphasis +> &automanag;is, kuid <command +>Automake</command +> tunneb seda <emphasis +>muutuja</emphasis +> nime all. </para +></listitem> + <listitem +><para +><emphasis +>Sihtmärk</emphasis +> <command +>make</command +>'is on midagi hoopis muud: käsu <command +>make</command +> parameeter (⪚ <userinput +>make install</userinput +> või <userinput +>make clean</userinput +>). </para> + <para +>Siiski tähistavad mõned <filename +>Makefile.am</filename +> muutujad <emphasis +>alamsihtmärki</emphasis +> <command +>make</command +>'is. </para +></listitem> +</itemizedlist> + +</sect3> +</sect2 +> <!-- automake-manager-operation-detail-window --> + +<sect2 id="automake-manager-operation-navigate"> +<title +>&automanag;is liikumine</title> + +<para +>Nii üld- kui detailivaates saab klõpsuga sümbolile <symbol +>+</symbol +> või <symbol +>-</symbol +> alamprojekti või sihtmärgi nime ees puuvaate avada või sulgeda. Üldvaates <emphasis +>alamprojekti</emphasis +> korral näitab või peidab see järgmise taseme alamprojektid (kui neid on). Detailivaates <emphasis +>sihtmärgi</emphasis +> korral näitab või peidab see antud sihtmärgi failide nimekirja. </para> + +<variablelist> +<varlistentry> +<term +>Faili avamine redigeerimiseks</term> +<listitem> +<para +><emphasis +>Klõps &HVN;ga</emphasis +> detailivaates faili nimel avab vastava faili &kdevelop;i redaktoriaknas.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>&automanag;i tööriistariba nuppude aktiveerimine</term> +<listitem> +<para +>Kui <emphasis +>klõpsad &HVN;ga</emphasis +> üldvaates alamprojekti või detailivaates sihtmärgi nimel, tõstetakse see nimi esile ning vaate ülaosas muutuvad aktiivseks mõned tööriistariba nupud.</para> + +<note> + <para +>Soovitatav on kasutada <emphasis +>klõpsamist hiire parema nupuga ja kontekstimenüüsid</emphasis +>, mitte aga tööriistariba nuppe, sest esimeste korral on märksa lihtsam täpselt aru saada, mis mida teeb. </para> + <para +>Alamprojektide ja sihtmärkidega ettevõetavatel toimingutel on väga suur mõju sinu rakenduse struktuurile, kompileerimisele, ehitamisele ja paigaldamisele. </para> +</note> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Toimingute valimine ja kontekstimenüüd</term> +<listitem> +<para +>Kui <emphasis +>klõpsad &HPN;ga</emphasis +> alamprojekti, sihtmärgi või faili nimel, avaneb kontekstimenüü, kus saad valida mõne alamprojektiga, sihtmärgiga või failiga ettevõetava toimingu, näiteks sihtmärgi lisamise alamprojekti, faili lisamise sihtmärgile või ka valitud faili eemaldamise sihtmärgist. </para> +</listitem> +</varlistentry> +</variablelist> + +</sect2 +> <!-- automake-manager-operation-navigate --> + +<sect2 id="automake-manager-operation-popups"> +<title +>&automanag;i kontekstimenüüd</title> + +<para +>Järgnevalt selgitame lühidalt, millised toimingud on saadaval, kui klõpsata hiire parema nupuga &automanag;i aknas. Need käivad ainult üldvaate kohta. Täpsemalt kirjeldame kõiki toiminguid veidi hiljem. </para> +<!-- ### add a link to this chapter when ready --> + +<sect3 id="automake-manager-operation-popups-file"> +<title +>Faili kontekstimenüü</title> + +<para +>Klõpsates &HPN;ga <emphasis +>faili nimel</emphasis +> detailivaates, ilmub kontekstimenüü, kus saab valida mitu failiga sooritatavat toimingut. Meie näites on valitud alamprojekti <guilabel +>minurakendus/src</guilabel +> sihtmärgi <guilabel +>minurakendus'e ikooniandmed</guilabel +> ikooifail <filename +>hi-16app-minurakendus.png</filename +>. </para> + +<informaltable frame="none"> +<tgroup cols="2" +><tbody +><row> + <entry +><inlinemediaobject> + <imageobject> + <imagedata fileref="automake-file-popup.png" format="PNG"/> + </imageobject> + </inlinemediaobject +></entry> + <entry valign="bottom" +><itemizedlist> + <listitem +><para +>Faili kontekstimenüü põhikirje on <guimenuitem +>Eemalda</guimenuitem +>, mis tähendab faili eemaldamist sihtmärgist (&ie; seda enam selle sihtmärgi korral ei kompileerita, ehitata ega paigaldata). </para +></listitem> + <listitem +><para +>Alammenüü <guimenuitem +>CVS</guimenuitem +> võimaldab failiga ette võtta mitmesuguseid CVS-i toiminguid. </para +></listitem> + <listitem +><para +>Kirje <guimenuitem +>Ava kasutades</guimenuitem +> võimaldab faili avada mitmesugustes redaktorites või rakendustes (⪚ meie näite ikoonifaili saab avada rakenduses <application +>KIcon</application +>). </para +></listitem> + <listitem +><para +>Alammenüü <guimenuitem +>Perforce</guimenuitem +> võimaldab samasuguseid toiminguid nagu CVS, ainult et kommerts-versioonikonrollisüsteemiga <quote +><application +>Perforce</application +></quote +>. </para +></listitem> + </itemizedlist +></entry> +</row +></tbody +></tgroup> +</informaltable> + +</sect3 +> <!-- automake-manager-operation-popups-file --> + +<sect3 id="automake-manager-operation-popups-target"> +<title +>Sihtmärgi kontekstimenüü</title> + +<para +>Klõpsates hiire parema nupuga <emphasis +>sihtmärgile</emphasis +> detailivaates, ilmub kontekstimenüü, kus saab sihtmärgiga mitmeid toiminguid ette võtta. Meie näites on valitud alamprojekti <guilabel +>minurakendus/src</guilabel +> sihtmärk <guilabel +>minurakendus (Rakendus bin-s)</guilabel +>. </para> + +<informaltable frame="none"> +<tgroup cols="2" +><tbody +><row> + <entry +><inlinemediaobject> + <imageobject> + <imagedata fileref="automake-target-popup.png" format="PNG"/> + </imageobject> + </inlinemediaobject +></entry> + <entry valign="bottom" +><itemizedlist> + <listitem +><para +>Kirje <guimenuitem +>Seadistused</guimenuitem +> on kasutatav ainult lähtekoodifailide korral. Ilmuvas dialoogis saab määrata linkuri lipud ja teekide asukohad ning näha, millised teegid tegelikult sinu rakendusega lingitakse. </para +></listitem> + <listitem +><para +><guimenuitem +>Loo uus fail</guimenuitem +> avab dialoogi, kus saab määrata loodava faili nime ja tüübi (rippmenüüst). </para +></listitem> + <listitem +><para +><guimenuitem +>Lisa olemasolevaid faile</guimenuitem +> avab dialoogi, kus saab sihtmärgile lisada juba olemasoleva faili. </para +></listitem> + <listitem +><para +><guimenuitem +>Eemalda</guimenuitem +> lubab eemaldada projekti struktuurist nii sihtmärgi kui ka selle failid. </para +></listitem> + <listitem +><para +><guimenuitem +>Muuda sihtmärk aktiivseks</guimenuitem +> on kasutatav ainult lähtekoodifaile sisaldava sihtmärgi korral. Uued failid lisatakse alati aktiivsesse sihtmärki. </para +></listitem> + <listitem +><para +><guimenuitem +>Ehita sihtmärk</guimenuitem +> kutsub välja vajalikud kompileerimis- ja ehitamistoimingud, millega ehitada ainult antud sihtmärgi kood. </para +></listitem> + </itemizedlist +></entry> +</row +></tbody +></tgroup> +</informaltable> + +</sect3 +> <!-- automake-manager-operation-popups-target --> + +<sect3 id="automake-manager-operation-popups-subproject"> +<title +>Alamprojekti kontekstimenüü</title> + +<para +>Klõpsates &HPN;ga <emphasis +>alamprojektile</emphasis +> üldvaates, ilmub kontekstimenüü, mis võimaldab ette võtta olulisi muutusi projekti struktuuris ning selle kompileerimise, ehitamise ja paigaldamise viisis. Nii saab laiendada või muuta projekti põhistruktuuri, mis on loodud &appwizard; abil. </para> + + +<informaltable frame="none"> +<tgroup cols="2" +><tbody +><row> + <entry +><inlinemediaobject> + <imageobject> + <imagedata fileref="automake-subproject-popup.png" format="PNG"/> + </imageobject> + </inlinemediaobject +></entry> + <entry valign="bottom" +><itemizedlist> + <listitem +><para +>Kirje <guimenuitem +>Seadistused</guimenuitem +> võimaldab määrata, kuidas alamprojekt kompileeritakse, ehitatakse ja paigaldatakse. Ilmuvas dialoogis on kaardid Kompilaator, Kaasatud, Prefiksid ja Ehitamise järjekord. </para +></listitem> + <listitem +><para +><guimenuitem +>Lisa alamprojekt</guimenuitem +> lisab uue kataloogi ja faili Makefile.am malli. </para +></listitem> + <listitem +><para +><guimenuitem +>Lisa sihtmärk</guimenuitem +> avab dialoogi, kus saab määrata, kuidas sinu alamprojektis teatud failidekogum kompileeritakse, ehitatakse ja paigaldatakse. </para +></listitem> + <listitem +><para +><guimenuitem +>Lisa teenus</guimenuitem +> (... veel kirjutamata ...) </para +></listitem> + <listitem +><para +><guimenuitem +>Lisa rakendus</guimenuitem +> (... veel kirjutamata ...) </para +></listitem> + <listitem +><para +><guimenuitem +>Lisa olemasolevaid alamprojekte</guimenuitem +> (... veel kirjutamata ...) </para +></listitem> + <listitem +><para +><guimenuitem +>Eemalda alamprojekt</guimenuitem +> võimaldab korrektselt eemaldada alamprojekti. Sel juhul muudetakse vastavalt ka faile <filename +>Makefile.am</filename +>. Samuti saad võimaluse kustutada vastavas alamkataloogis kõik failid (või lingid). Mõistagi tuleb seda käsku kasutada äärmise ettevaatusega. </para +></listitem> + <listitem +><para +><guimenuitem +>Ehita</guimenuitem +> kutsub välja vajalikud kompileerimis- ja ehitamistoimingud, millega ehitada ainult antud alamprojekti kood. </para +></listitem> + <listitem +><para +><guimenuitem +>Regenereeri</guimenuitem +> (... veel kirjutamata ...) </para +></listitem> + <listitem +><para +><guimenuitem +>Puhasta</guimenuitem +> (... veel kirjutamata ...) </para +></listitem> + <listitem +><para +><guimenuitem +>Paigalda</guimenuitem +> (... veel kirjutamata ...) </para +></listitem> + <listitem +><para +><guimenuitem +>Paigalda (administraatorina)</guimenuitem +> (... veel kirjutamata ...) </para +></listitem> + </itemizedlist +></entry> +</row +></tbody +></tgroup> +</informaltable> + +</sect3 +> <!-- automake-manager-operation-popups-subproject --> + +</sect2 +> <!-- automake-manager-operation-popups --> + +</sect1 +> <!-- automake-manager-operation --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="autoproject"> +<title +>Automake'i projektid</title> +<indexterm zone="autoproject" +><primary +><command +>autoproject</command +></primary +></indexterm> +<indexterm zone="autoproject" +><primary +>&automake;</primary +></indexterm> +<indexterm zone="autoproject" +><primary +>&autoconf;</primary +></indexterm> +<indexterm zone="autoproject" +><primary +>&libtool;</primary +></indexterm> + +<para +>(... veel kirjutamata ...) </para> + + +<sect2 id="autoconf"> +<title +>Autoconf</title> +<indexterm zone="autoconf" +><primary +><filename +>configure</filename +> skript</primary +></indexterm> +<indexterm zone="autoconf" +><primary +><filename +>config.status</filename +> skript</primary +></indexterm> +<indexterm zone="autoconf" +><primary +><filename +>Makefile.in</filename +></primary +></indexterm> +<indexterm zone="autoconf" +><primary +><filename +>config.h.in</filename +></primary +></indexterm> + +<para +><filename +>Makefile.in</filename +> -> <filename +>Makefile</filename +> </para> + +<programlisting +>prefix = @prefix@ +INSTALL = @INSTALL@ +build_triplet = @build@ +CXX = @CXX@ +</programlisting> + +<programlisting +>prefix = /home/bernd/kde3 +INSTALL = /usr/bin/ginstall -c -p +build_triplet = i686-pc-linux-gnu +CXX = g++ +</programlisting> + +<para +><filename +>config.h.in</filename +> -> <filename +>config.h</filename +> </para> + +<programlisting +>/* Define if you have libz */ +#undef HAVE_LIBZ +/* The size of a `int', as computed by sizeof. */ +#undef SIZEOF_INT +</programlisting> + +<programlisting +>/* Define if you have libz */ +#define HAVE_LIBZ 1 +/* The size of a `int', as computed by sizeof. */ +#define SIZEOF_INT 4 +</programlisting> + +</sect2 +> <!-- autoconf --> + + +<sect2 id="automake"> +<title +>Automake</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect2 +> <!--automake --> + + +<sect2 id="automake-manager"> +<title +>&kdevelop;i &automanag;</title> + +<figure id="screenshot-automake-manager" float="1"> +<title +>Automake'i halduri pilt</title> +<mediaobject> +<imageobject +><imagedata fileref="automake-manager.png"/></imageobject> +</mediaobject> +</figure> + +</sect2 +> <!-- automake-manager --> + + +<sect2 id="automakelibrary"> +<title +>Teekide ehitamine ja paigaldamine</title> + +<para> +<itemizedlist> +<listitem +><para +>-rpath </para +></listitem> +<listitem +><para +>PIC </para +></listitem> +<listitem +><para +>static </para +></listitem> +<listitem +><para +>plugins: no-undefined </para +></listitem> +</itemizedlist> +</para> + +</sect2 +> <!-- automakelibrary --> + +</sect1 +> <!-- autoproject --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="customproject"> +<title +>Kohandatud Makefile'id ja ehitamisskriptid</title> +<indexterm zone="customproject" +><primary +><filename +>Makefile</filename +></primary +></indexterm> +<indexterm zone="customproject" +><primary +><filename +>build.xml</filename +></primary +></indexterm> + +<para +>(... veel kirjutamata ...) </para> + +</sect1 +> <!-- customproject --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="compileroptions"> +<title +>Kompilaatori võtmed</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect1 +> <!-- compileroptions --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="makeoptions"> +<title +>Make'i võtmed</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect1 +> <!-- makeoptions --> + +</chapter +> <!-- project-management --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/setup.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/setup.docbook new file mode 100644 index 00000000000..81d1f9f76a5 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/setup.docbook @@ -0,0 +1,3011 @@ +<chapter id="setup"> + +<chapterinfo> + <authorgroup> + <author +><firstname +>Bernd</firstname +><surname +>Pol</surname +></author> + <!-- ROLES_OF_TRANSLATORS --> + </authorgroup> +</chapterinfo> + +<title +>&kdevelop;i seadistamine</title> + +<para +>&kdevelop; on väga võimas ja paindlik IDE, mida saab igati oma vajadustele kohandada. Seadistamiseks vali menüükäsk <menuchoice +><guimenu +>Seadistused</guimenu +><guimenuitem +>&kdevelop;i seadistamine...</guimenuitem +></menuchoice +> See avab seadistustedialoogi, kus vasakul asuvad erinevate seadistamiskaartide ikoonid ning paremal vastavalt vasakul valitule erinevad seadistamisvõimalused. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-select.png" format="PNG"/> + </imageobject> +<textobject> +<phrase +>Seadistuskirje valimine</phrase> +</textobject> + <caption +><para +>Seadistuskirje valimine </para +></caption> + </mediaobject> +</screenshot> + +<para +>Me vaatleme ülevaatlikkuse huvides seadistamisvõimalusi teemade kaupa: <link linkend="setup-general" +>üldised seadistused</link +>, <link linkend="setup-docu" +>dokumentatsiooni seadistused</link +> ja <link linkend="setup-advanced" +>muud seadistused</link +>. </para> +<para +>Kui soovid kohe lähemalt tundma õppida mõnda seadistamisvõimalust, kasuta siintoodud linke. </para> + +<simplelist> + <member +><link linkend="setup-main" +>Üldine</link +></member> + <member +><link linkend="setup-ui" +>Kasutajaliides</link +></member> + <member +><link linkend="setup-templates" +>Failimallid</link +></member> +<member +><link linkend="setup-editor" +>Redaktor</link +></member> + <member +><link linkend="setup-abbrev" +>Lühendid</link +></member> + <member +><link linkend="setup-scripting" +>Skriptid</link +></member> + <member +><link linkend="setup-menu-standard" +>Tööriistade menüü</link +></member> + <member +><link linkend="setup-menu-external" +>Välised tööriistad</link +></member> + <member +><link linkend="setup-docu" +>Dokumentatsioon</link +></member> + <member +><link linkend="setup-snippets" +>Koodijupid</link +></member> + <member +><link linkend="setup-file-list" +>Failinimekiri</link +></member> + <member +><link linkend="setup-file-selector" +>Faili valimine</link +></member> + <member +><link linkend="setup-cpp-generator" +>C++ klassi generaator</link +></member> + <member +><link linkend="setup-format" +>Vormindus</link +></member> + <member +><link linkend="setup-cpp-parsing" +>C++ parsimine</link +></member> +</simplelist> + +<sect1 id="setup-general"> +<title +>Üldised seadistused</title> + +<para +>Üldised seadistused puudutavadki &kdevelop; kõige üldisemaid asju: </para> +<itemizedlist> + <listitem +><para> + <link linkend="setup-main" +>Üldine seadistus</link> + </para +></listitem> + <listitem +><para> + <link linkend="setup-ui" +>Kasutajaliidese valimine</link> + </para +></listitem> + <listitem> + <itemizedlist> +<title +>Lähtekoodi redigeerimise ülesanded</title> + <listitem +><para> + <link linkend="setup-editor" +>Redaktori valimine</link> + </para +></listitem> + <listitem +><para> + <link linkend="setup-format" +>Lähtekoodi vormindamise stiili valimine</link> + </para +></listitem> + <listitem +><para> + <link linkend="setup-snippets" +>Koodijuppide tööriista seadistamine</link> + </para +></listitem> + </itemizedlist> + </listitem> + <listitem +><para> + <link linkend="setup-file-selector" +>Failivalija seadistamine</link> + </para +></listitem> +</itemizedlist> + +<sect2 id="setup-main"> +<title +>Üldine seadistus</title> + +<para +>Seadistustedialoogi kaardil <guilabel +>Üldine</guilabel +> saab määrata mõningaid &kdevelop;i käitumsie põhiasju, mida igapäevatöös tavaliselt ei muudeta. Nende hulka kuuluvad: </para> + +<variablelist> +<varlistentry> +<term +>Projekti üldised valikud, näiteks</term> +<listitem> + <itemizedlist> + <listitem +><para +><link linkend="setup-main-projects" +>vaikimisi kataloogi</link +> määramine, mida &kdevelop; kasutab uute projektide loomisel. </para +></listitem> + <listitem +><para +>määramine, kas &kdevelop; peab käivitamisel <link linkend="setup-main-preload" +>automaatselt avama</link +> viimati kasutatud projekti. </para +></listitem> + </itemizedlist> + </listitem> +</varlistentry> + +<varlistentry> +<term +>Fondi valimine kõige enam kasutust leidvatele väljundvaate akendele, nimelt:</term> +<listitem> + +<itemizedlist> +<listitem> +<para +><link linkend="setup-main-messages-font" +>teadete väljundvaade</link +>, mida &kdevelop; kasutab ⪚ kompileerimise edenemisest teada andes, ja</para> +</listitem> +<listitem> +<para +>rakenduse väljundvaade, mis näitab töötava rakenduse vigu ja olekuinfot.</para> +</listitem> +</itemizedlist> + +</listitem> +</varlistentry> + +<varlistentry> +<term +>Mõningad <guilabel +>teadete väljundvaate</guilabel +> aknas näidatavate ridadega seotud üldised valikud, nimelt:</term> +<listitem> + <itemizedlist> +<listitem> +<para +>kui pikk võib rida olla, enne kui see <link linkend="setup-main-wrap" +>murtakse</link +>, ja </para> +</listitem> +<listitem> +<para +>kas näidata <link linkend="setup-main-navigation" +>kataloogi sisenemise ja sellest väljumise teateid</link +>, mida edastab <command +>make</command +>.</para> +</listitem> +</itemizedlist> + +<para +>Teadete <link linkend="setup-main-compile" +>detailsus</link +> kompileerimise ajal, mida näidatakse <guilabel +>teadete väljundvaate</guilabel +> aknas.</para> +</listitem> +</varlistentry> +</variablelist> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-general.png" format="PNG"/> + </imageobject> + <caption +><para +>Üldiste seadistuste dialoog </para +></caption> + </mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term id="setup-main-preload" +><guilabel +>Käivitamisel laaditakse viimane projekt</guilabel +></term> +<listitem> +<para +>Märgi kast, kui soovid jätkata tööd viimase projekti kallal, millega nägid vaeva enne rakenduse sulgemist. See sunnib &kdevelop;i käivitamisel selle projekti automaatselt laadima. Tavaliselt avatakse see olekus, milles sa selle maha jätsid, nii et saad kohe asuda edasi tegutsema. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term id="setup-main-projects"> +<guilabel +>Projektide vaikimisi kataloog:</guilabel +></term> +<listitem> +<para +>Vaikimisi kasutab &kdevelop; kõigi uute projektide jaoks ühist emakataloogi. Kirjuta siia selle kataloogi absoluutne asukoht või vali see kataloogipuust. &kdevelop; lisab kõik uued projektid selle kataloogi alamkataloogidena.</para> +<note +><para +>Sa võid mõistagi kataloogi muuta, kui asud uut projekti <link linkend="applicationwizard" +>&appwizard;</link +> abil looma. </para +></note> +</listitem> +</varlistentry> + +<varlistentry> +<term id="setup-main-messages-font" +><guilabel +>Akna font:</guilabel +></term> +<listitem> +<para +><guilabel +>Rakenduse väljundvaate</guilabel +> aknas näidatakse nende rakenduste vigu ja olekuinfot, mille käivitad &kdevelop;is. See on sama info, mida rakendused autonoomselt käivitatuna saadavad tavaliselt konsoolile. Nii ei ole sul vaja IDE-st väljuda, kui soovid testida parajasti loodavat rakendust. </para> +<para +><guilabel +>Teadete väljundvaate</guilabel +> aknale sobiva fondi valimiseks klõpsa nupule <guilabel +>Akna font</guilabel +>, mis näitab parajasti valitud fonti (siinsel pildil <quote +>Luxi Sans</quote +>). Ilmub &kde; standardne <guilabel +>fondi valimisse</guilabel +> dialoog, kus saadki meelepärase fondi valida. </para> +<note +><para +>Esmakäivitusel kasutab &kdevelop; seda standardfonti, mis on määratud kogu &kde;le. <emphasis +>Kui muudad seda hiljem</emphasis +> (<menuchoice +><guimenuitem +> Seadistused</guimenuitem +><guimenuitem +>Välimus</guimenuitem +><guimenuitem +> Fondid</guimenuitem +></menuchoice +> <guilabel +>KDE juhtimiskeskus</guilabel +>es), ei mõjuta see enam sinu valikut &kdevelop;is. Kui soovid nüüd ka siin kasutada kogu töölauale määratud uut fonti, tuleb <guilabel +>teadete väljundvaate</guilabel +> akna font uuesti määrata. </para +></note> +</listitem> +</varlistentry> + +<varlistentry> +<term id="setup-main-compile" +><guilabel +>Kompilaatori väljund</guilabel +></term> +<listitem> +<para +>&kdevelop; eeltöötleb teateid, mida <guilabel +>teadete väljundvaate</guilabel +> aken ehitamise ajal saab, et filtreerida välja ülearune info. Sul on võimalik siin määrata, kui üksikasjalikult &kdevelop; teateid näitab. </para> +<variablelist> +<varlistentry> +<term +><guilabel +>Väga lühike</guilabel +></term> +<listitem +><para +>Näidatakse ainult hoiatusi, vigu ja kompileeritud failide nimesid. </para +></listitem> +</varlistentry> +<varlistentry> +<term +><guilabel +>Lühike</guilabel +></term> +<listitem +><para +>Näitamata jäetakse kõik kompilaatori lipud, väljund vormindatakse loetavamaks. </para +></listitem> +</varlistentry> +<varlistentry> +<term +><guilabel +>Täielik</guilabel +></term> +<listitem +><para +>Kõiki väljundteateid näidatakse muutmata kujul. </para +></listitem> +</varlistentry> +</variablelist> + +<tip +><para +>Kompilaatori teadete detailsust saab muuta ka teisel viisil: klõpsa hiire parema nupuga <guilabel +>teadete väljundvaate</guilabel +> aknas ja vali tase ilmuvast kontekstimenüüst. </para +></tip> +</listitem> +</varlistentry> + +<varlistentry> +<term id="setup-main-wrap" +><guilabel +>Ridade murdmine</guilabel +></term> +<listitem> +<para +>Vaikimisi murrab &kdevelop; <guilabel +>teadete väljundvaate</guilabel +> aknas pikad read, et oluline info kahe silma vahele ei jääks. Teatud juhtudel võib see aga tekitada segadust, nii et kui sa ei soovi, et ridu murtaks, jäta see kastike märkimata. </para> +<tip +><para +>Ridade murdmist saab veel ühel moel sisse ja välja lülitada: klõpsa &HPN;ga <guilabel +>teadete väljundvaate</guilabel +> aknas ning märgi ära menüükirje <guimenuitem +>Ridade murdmine</guimenuitem +> või eemalda selle eest märge. </para +></tip> +</listitem> +</varlistentry> + +<varlistentry> +<term id="setup-main-navigation" +><guilabel +>Kataloogides liikumise teated</guilabel +></term> +<listitem> +<para +>Tööriist <command +>make</command +> näitab enamasti kataloogi vahetades teateid <quote +>Entering directory</quote +> ja <quote +>Leaving directory</quote +>. Et see tähendab sageli ebavajalikke lisaridu <guilabel +>teadete väljundvaate</guilabel +> aknas, &kdevelop; neid vaikimisi ei näita. Kui aga tahad täpselt teada, kus <command +>make</command +> parajasti tegutseb, lülita see sisse. </para> +<note +><para +>Selle valiku muutmine mõjutab ainult edaspidiseid teateid. Vanemad kataloogide vahetamise teated jäävad näha ka siis, kui lülitad nende näitamise välja. </para +></note> +</listitem> +</varlistentry> + +<varlistentry> +<term id="ui-designer-integration" +><guilabel +>UI Disaineri lõimimine</guilabel +></term> +<listitem> +<para +>Siin saab valida, kas lasta <filename +>.ui</filename +>-faile näidata &kdevelop;is. &kdevelop; pakub omaenda UI disainerit KDevDesigner, mida võib rakendusse põimida või käivitada omaette rakendusega. <filename +>.ui</filename +>-failide redigeerimiseks võib kasutada ka Qt Disainerit. </para> +<itemizedlist> + <listitem +><para +>&kdevelop;i põimitud disaineri kasutamine </para +><para +>Märkimisel kasutatakse &kdevelop;i enda disainerit põimituna &kdevelop;pi.</para +></listitem> + <listitem +><para +>&kdevelop;i disaineri käivitamine omaette rakendusena </para +><para +>Rakendus KDevDesigner käivitatakse omaette aknas.</para> +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="kdevdesigner.png" format="PNG"/> + </imageobject> + <caption +><para +>KDevDesigner omaette aknas </para +></caption> + </mediaobject> +</screenshot> +</listitem> + <listitem +><para +>Qt Disaineri kasutamine </para +><para +>&kdevelop;is <filename +>.ui</filename +>-failile klõpsates käivitatakse omaette rakendusena Qt Disainer.</para +></listitem> +</itemizedlist> +</listitem> +</varlistentry> + +<varlistentry> +<term id="terminal-emulation" +><guilabel +>Terminaliemulaator</guilabel +></term> +<listitem> +<para +>Siin saab valida, milline terminal lõimida KDevelopiga. </para> +<itemizedlist> + <listitem +><para +>&kde; seadistuse kasutamine </para +><para +>Sel juhul kasutatakse &kde; seadistust, nagu see on määratud &juhtimiskeskus;es kaardil <guilabel +>&kde; komponendid</guilabel +> <guilabel +>Komponentide valija</guilabel +>, mis määrab ära kõigis &kde; rakendustes, kus terminali vaja läheb, vaikimisi kasutatava terminaliemulaatori.</para +></listitem> + <listitem +><para +>Muu </para +><para +>Siin saab valida vaikimisi antust erineva terminali.</para> +</listitem> +</itemizedlist> +</listitem> +</varlistentry> + +</variablelist> + +</sect2 +> <!-- setup-main --> + +<sect2 id="setup-ui"> +<title +>Kasutajaliidese valimine</title> + +<indexterm zone="setup-ui"> + <primary +>kasutajaliides</primary> + <secondary +>režiimide vahetamine</secondary +></indexterm> +<indexterm zone="setup-ui"> + <primary +>UI režiimide vahetamine</primary +></indexterm> + +<para +>Nagu juba peatükis <link linkend="uimodes-survey" +>Saadaolevad kasutajaliidese režiimid</link +> mainitud, pakub &kdevelop; viit töötsooni kujundamise versiooni, nimelt: </para> +<itemizedlist> + <listitem +><para> + <link linkend="ideal-desc" +>Lihtsustatud IDEAl aknarežiim.</link> + </para +><para +>See on IDEA kasutajaliidese lihtsustatud versioon. See on lihtne ja selge. See ei kasuta dokitud tööriistavaateid.</para +></listitem> + <listitem +><para> + <link linkend="ideal-desc" +>IDEAl aknarežiim</link> + </para +><para +>See on IDEA kasutajaliidese kloon, sarnaneb kaartidega aknarežiimile ning on ka vaikimisi kasutusel.</para +></listitem> + <listitem +><para> + <link linkend="mdi-desc" +>Alamraami-aknarežiim</link> + </para +><para +>Kõik tööriistavaated on algselt dokitud pearaami. Redaktori- ja brauserivaated käituvad tipptaseme akendena pearaami vaatealas. Sellise kasutajaliidese tüüpiliseks näiteks on MS Visual Studio 6.0.</para +></listitem> + <listitem +><para> + <link linkend="tabbed-desc" +>Kaartidega aknarežiim</link> + </para +><para +>Kõik tööriistavaated on algselt dokitud pearaami. Redaktori- ja brauserivaated paiknevad pinus kaartidega aknas. Sellise kasutajaliidese tüüpiliseks näiteks on KDEStudio, meie sõbrast C++ IDE KDE maailmas.</para +></listitem> + <listitem +><para> + <link linkend="toplevel-desc" +>Tipptaseme aknarežiim</link> + </para +><para +>Kõik redaktori-, brauseri- ja tööriistavaated on tipptasema aknad (otse töölaual). Peavidin sisaldab ainult menüüriba, tööriistaribasid ja olekuriba. Sellise kasutajaliidese tüüpiliseks näiteks on Borland Delphi 6.0.</para +></listitem> +</itemizedlist> + +<para +>Kasutajaliidese režiimi vahetamiseks vali menüükäsk <menuchoice +> <guimenu +>Seadistused</guimenu +> <guimenuitem +>&kdevelop;i seadistamine...</guimenuitem +> </menuchoice +> Avaneb dialoog <guilabel +>&kdevelop;i seadistamine</guilabel +>, kus tuleb vasakus servas valida <guilabel +>Kasutajaliides</guilabel +>. See avab seadistustedialoogi paremas pooles järgmise dialoogi.</para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="select-user-interface-0.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>Kasutajaliidese režiimi valimine</phrase +></textobject> + <caption +><para +>Kasutajaliidese režiimi valimine </para +></caption> + </mediaobject> +</screenshot> + +<para +>Vali raadionupuga soovitud kasutajaliidese režiim ja klõpsa <guibutton +>OK</guibutton +>. </para> + +<note +><para +>Vahetuse tegelikuks jõustamiseks tuleb ka &kdevelop;i uuesti käivitada. </para +></note> + +<para +>Kui valid <guilabel +>Lihtsustatud IDEAl aknarežiim</guilabel +>i, <guilabel +>IDEAl aknarežiim</guilabel +>i või <guilabel +>kaartidega aknarežiim</guilabel +>i, ilmub veel kaks seadistamissektsiooni: <link linkend="setup-ui-tabs" +>Kaartide kasutamine</link +> ja <link linkend="setup-ui-hover" +>Sulgemine hiirekursori pealeviimisel</link +>. Need võimaldavad määrata, millisel juhul näidatakse kaarte dokumendiakendes ja kas dokumenti saab sulgeda kaardi ikoonile klõpsates. </para> + +<para +><guilabel +>Lihtsustatud IDEAl aknarežiim</guilabel +>i ja <guilabel +>IDEAl aknarežiim</guilabel +>i korral on dialoogis veel üks sektsioon: <link linkend="setup-ui-toolview" +>Tööriistavaate kaartide paigutus</link +>. Siin saab valida sisuliselt seda, kui suured on tööriistavaate kaardid, mida selles režiimis töötsooni ümber näidatakse. </para> + +<variablelist> +<varlistentry> +<term id="setup-ui-tabs" +>Dokumentide kaardiriba paigutuse seadistamine</term> +<listitem> +<para +>IDEAl ja kaartidega aknarežiimi korral näidatakse vaikimisi dokumendiakende ülaservas nimedega kaarte, mis lubab hõlpsast valida dokumente &HVN;ga klõpsates. Kui soovid, et &kdevelop; töötsoonis oleks dokumendiakendel rohkem ruumi, võid asju muuta sektsioonis <guilabel +>Kaartide kasutamine</guilabel +>. </para> + +<variablelist> +<varlistentry> + <term +><guilabel +>Alati</guilabel +></term> + <listitem +><para +>See on vaikeväärtus — &kdevelop; töötsooni kõigis dokumendiakendes näidatakse ülaservas ikoonist ja dokumendi nimest koosnevaid kaarte. </para +></listitem> +</varlistentry> +<varlistentry> + <term +><guilabel +>Enam kui ühe korral</guilabel +></term> + <listitem +><para +>Sel juhul ei näidata kaarti, kui avatud on ainult üks dokument. Kui avatud on aga rohkem dokumente, näitab &kdevelop; kaardiriba täpselt nii, nagu oleks valitud valik <guilabel +>Alati</guilabel +>. Sellel valikul on mõtet siis, kui töötad enamasti ainult ühe dokumendiga, sest siis saad püstsuunas veidi rohkem ruumi. </para +></listitem> +</varlistentry> +<varlistentry> + <term +><guilabel +>Mitte kunagi</guilabel +></term> + <listitem +><para +>Selle valimisel ei näidata kaarte üldse kunagi. Sel on mõtet siis, kui sa harva kasutad hiirt dokumentide vahel liikumiseks. See tagab kõigis dokumendiakendes püstsuunas veidi rohkem ruumi. Mõne muu dokumendi valimiseks või sulgemiseks saab siis kasutada &kdevelop;i menüüd <guimenu +>Aken</guimenu +>. </para +></listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> + +<varlistentry> +<term id="setup-ui-hover" +>Dokumendi sulgemine klõpsuga kaardile</term> +<listitem> +<para +>Kui oled pannud &kdevelop; dokumendikaarte näitama kas alati või vähemalt enam kui ühe dokumendi olemasolul töötsoonis, võid siin anda kaartidele lisaomadusi peale dokumendi valimise võimaluse. Selleks ongi mõeldud sektsioon <guilabel +>Sulgemine hiirekursori pealeviimisel</guilabel +>. </para> + +<variablelist> +<varlistentry> + <term +><guilabel +>Ei</guilabel +></term> + <listitem +><para +>See on tavaline käitumine. Kaardid ei saa mingeid lisaomadusi, neid saab kasutada ainult dokumendi valimiseks &HVN;ga. </para +></listitem> +</varlistentry> +<varlistentry> + <term +><guilabel +>Jah</guilabel +></term> + <listitem +><para +>Selle valimisel võimaldab &kdevelop; sulgeda dokumendiakna, kui klõpsad kaardil &HVN;ga. Vii hiirekursor väikese ikooni peale kaardi vasakus servas. See võtab sulgemismärgi kuju. Nüüd klõpsa &HVN;ga märgil ja &kdevelop; sulgeb dokumendiakna. </para +></listitem> +</varlistentry> +<varlistentry> + <term +><guilabel +>Viivitusega</guilabel +></term> + <listitem +><para +>Selle valimisel võimaldab &kdevelop; sulgeda dokumendiakna täpselt nii, nagu oleks valitud <guilabel +>Jah</guilabel +>, kuid ikoon ei võta mitte otsekohe sulgemismärgi kuju, vaid teatud viivitusega. </para +></listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> + +<varlistentry> +<term id="setup-ui-toolview" +>Tööriistavaate kaartide paigutuse seadistamine</term> +<listitem> +<para +>Sektsioon <guilabel +>Tööriistavaate kaartide paigutus</guilabel +> on kasutatav ainult IDEAl aknarežiimi korral. Siinsete raadionuppudega saab määrata, millised näevad selles režiimis välja töötsooni ümbritsevad tööriistavaate kaardid. </para> + +<variablelist> +<varlistentry> + <term +><guilabel +>Ikoonid</guilabel +></term> + <listitem> + <para +>Kaartidel näidatakse ainult ikooni. Kui avada vastav tööriistavaade, avatakse kaart ja näidatakse ka kirjeldavat teksti. Selle valimisel on suurem mõte siis, kui sul on piiratud lahutusvõimega monitor. </para> + <para +>Ikoonid pole aga just kõige kõnekamad. Kui soovid teada, milline tööriistavaade mõne kaardi taga peitub, vii hiirekursor selle kohale ja oota hetk, kuni ilmub väike kohtspikker tööriistavaate nimega. </para> + </listitem> +</varlistentry> +<varlistentry> + <term +><guilabel +>Tekst</guilabel +></term> + <listitem +><para +>See on vaikeväärtus: iga kaart näitab enda taga peituva tööriistavaate nime. </para +></listitem> +</varlistentry> +<varlistentry> + <term +><guilabel +>Tekst ja ikoonid</guilabel +></term> + <listitem +><para +>Kui tavaline tekst tundub liiga igav ja sul on hea lahutusvõimega monitor, võid valida selle võimaluse. Sel juhul näidatakse kaartidel nende taga peituva tööriistavaate nime ning sellest vasakul ikooni, mis võimaldab kaarte paremini eristada. Kuidas see välja näeb, näitab alltoodud pilt <link linkend="folded-toolview-tabs" +>Kokkuvolditud tööriistavaate kaardid</link +>. </para +></listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Kokkuvolditud tööriistavaate kaardid</term> +<listitem> +<para +>Kui määrad IDEAl aknarežiimi tööriistavaate kaardid näitama teksti (olgu siis ikoonidega või ilma), ei pea sa muretsema, et nad jäävad mõne muu tööriistavaate taha varju. Kui mõni alumistest tööriistavaate akendest võtab rohkem ruumi, kui läheb vaja kõigi kaartide nägemiseks (vertikaalselt), siis volditakse need kokku, nagu näitab pilt: </para> + +<screenshot> + <mediaobject id="folded-toolview-tabs"> + <imageobject> + <imagedata fileref="folded-tabs.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>Tööriistavaate kaardid kokkuvoldituna, et mitte jääda mõne muu akna varju</phrase +></textobject> + <caption +><para +>Tööriistavaate kaardid kokkuvoldituna, et mitte jääda mõne muu akna varju </para +></caption> + </mediaobject> +</screenshot> + +<note +><para +>Aktiivne tööriistavaate aken peab olema kinnistatud (mittekattuvas režiimis) ja jagama töötsooni teiste akendega, et selline voltimine teoks saaks. Selleks klõpsa väikest ruudukest akna piirdel, nagu pildil näha. </para +></note> +</listitem> +</varlistentry> +</variablelist> + +</sect2 +> <!-- setup-ui --> + +<sect2 id="setup-templates"> +<title +>Failimallid</title> +<!--TODO fill--><para +></para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-file-templates.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>Failimallide seadistamine</phrase +></textobject> + <caption +><para +>Failimallide seadistamine </para +></caption> + </mediaobject> +</screenshot> +</sect2 +> <!-- setup-templates --> + +<sect2 id="setup-editor"> +<title +>Redaktori valimine</title> + +<para +>&kdevelop; võimaldab valida oma lemmikredaktori. Vali dialoogi <guilabel +>KDevelopi seadistamine</guilabel +> vasakus servas kirje <guilabel +>Redaktor</guilabel +>. Paremal ilmub nähtavale järgmine dialoog. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-editor.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>Redaktori valimine</phrase +></textobject> + <caption +><para +>Redaktori valimine </para +></caption> + </mediaobject> +</screenshot> + +<para +>Uue redaktori valimiseks klõpsa rippmenüü serval asuvale noolele. Sõltuvalt sellest, milliste redaktorikomponentidega on sinu &kde; kompileeritud, võib valik olla mõnevõrra erinev (vaata allpool märkust <link linkend="setup-editor-kparts" +>Tähtis</link +>). Klõpsa meelepärasele redaktorile ja seejärel <guilabel +>OK</guilabel +>. Praegu on kaks võimalust: </para> + +<variablelist> + <varlistentry> + <term +><guilabel +>Põimitud võimas tekstiredaktor</guilabel +></term> + <listitem +><para +>See on &kde; standardse redaktori <application +>Kate</application +> komponent. </para +></listitem> + </varlistentry> + + <varlistentry> + <term +><guilabel +>Qt disaineril põhinev tekstiredaktor</guilabel +></term> + <listitem +><para +>See on redaktor, mida &Qt; pakub oma <application +>Disainer</application +>i komponendina. </para +></listitem> + </varlistentry> +</variablelist> + +<para +>Need redaktoriliidesed on täielikult integreeritud &kdevelop;i IDE-sse. Eriti tähendab see näiteks võimalust hüpata lähtekoodi vajalikule reale lihtsalt vastavale veateatele <guilabel +>teadete väljundvaate</guilabel +> aknas klõpsates. </para> + +<note +><para +>Redaktori muutmine ei mõjuta juba avatud faile. Nende korral on kaks võimalust. Sa võid sulgeda kõik tekstiaknad ja need siis ükshaaval taas avada. Samuti võid sulgeda terve projekti ja selle uuesti avada. Seejärel avatakse aknad juba automaatselt uut redaktoriliidest kasutades. </para +></note> + +<important id="setup-editor-kparts" +><para +>KDevelop võimaldab kasutada redaktoriliideseid, mida &kde; on registreerinud ja mis pakuvad ateParti liidest. Kui mõni mainitud valikutest sinul puudub, kontrolli oma &kde; paigaldust ja veendu, et vastav KPart on korrektselt paigaldatud. </para +></important> + +<para +>Mida võtta ette, kui faili on väliselt muudetud:</para> +<variablelist> + <varlistentry> + <term +><guilabel +>Ei tehta midagi</guilabel +></term> + <listitem +><para +>Fail märgitakse väliselt muudetuks ning selle ülekirjutamise katsel küsitakse kasutajalt luba. </para +></listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Teavitatakse kasutajat</guilabel +></term> + <listitem +><para +>Dialoog annab kasutajale teada, et faili on muudetud, ning pakub võimalust see uuesti laadida. </para +></listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Kui see on turvaline, laaditakse fail uuesti, vastasel juhul teavitatakse kasutajat</guilabel +></term> + <listitem +><para +>Kõik failid, mida ei ole mälus muudetud, laaditakse uuesti, konfliktide korral näidatakse kasutajale hoiatust. </para +></listitem> + </varlistentry> +</variablelist> +</sect2 +> <!-- setup-editor --> + +<sect2 id="setup-abbrev"> +<title +>Sõnalõpetuse lühendid</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- setup-abbrev --> + +<sect2 id="setup-scripting"> +<title +>Skriptid</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- setup-scripting --> + +<sect2 id="setup-menu-standard"> +<title +>&kde; standardrakenduste lisamine tööriistade menüüsse</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- setup-menu-standard Tools Menu--> + +<sect2 id="setup-menu-external"> +<title +>Väliste rakenduste lisamine menüüsse</title> + +<para +>(... veel kirjutamata ...) </para> + +<sect3 id="setup-menu-external-tools"> +<title +>Lisamine tööriistade menüüsse</title> + +<para +>(... veel kirjutamata ...) </para> +</sect3 +> <!-- setup-menu-external-tools --> + +<sect3 id="setup-menu-external-filecontext"> +<title +>Lisamine faili kontekstimenüüsse</title> + +<para +>(... veel kirjutamata ...) </para> +</sect3 +> <!-- setup-menu-external-filecontext --> + +<sect3 id="setup-menu-external-dircontext"> +<title +>Lisamine kataloogi kontekstimenüüsse</title> + +<para +>(... veel kirjutamata ...) </para> +</sect3 +> <!-- setup-menu-external-dircontext --> + +</sect2 +> <!-- setup-menu-external --> + +<sect2 id="setup-format"> +<title +>Lähtekoodi vorminduse stiili valimine</title> + +<para +>&kdevelop; vormindab lähtekoodi automaatselt vastavalt eelnevalt määratud stiilile. Stiil ise on aga väga mitmeti seadistatav. </para> + +<note +><para +>Lähtekoodi vormindamise võimalus on praegu saadaval ainult C, C++ ja &Java; jaoks. Kindlasti ei saa seda kasutada skriptikeelte puhul (⪚ PHP). Põhjuseks on see, et &kdevelop; kasutab selle võimaluse jaoks rakendust <ulink url="http://astyle.sourceforge.net/" +>astyle</ulink +>. </para +></note> + +<para +>Konkreetse vormindusstiili kehtestamiseks vali menüükäsk <menuchoice +> <guimenu +> Seadistused</guimenu +> <guimenuitem +>&kdevelop;i seadistamine...</guimenuitem +> </menuchoice +> Avaneb dialoog <guilabel +>KDevelopi seadistamine</guilabel +>, kus vali vasakul servas <guilabel +>Vormindus</guilabel +>. See avab kolme kaardiga dialoogi: <link linkend="setup-format-general" +>üldised vormindusseadistused</link +>, <link linkend="setup-format-indent" +>taande stiil</link +> ja <link linkend="setup-format-other" +>muud seadistused</link +>. </para> + +<tip +><para +>Kõik stiilimuudatused rakenduvad ainult pärast seda sisestatavale tekstile. Kui soovid muuta juba olemasoleva lähtekoodi teksti, tuleb kasutada menüükäsku <menuchoice +><guimenu +>Redigeerimine</guimenu +><guimenuitem +>Vorminda lähteteksti uuesti</guimenuitem +></menuchoice +>. </para +></tip> + +<note +><para +>Valitud vormindusstiili täpne väljund sõltub kasutatavast <link linkend="setup-editor" +>redaktorist</link +>. Praegu on enamik seadistusi kohandatud redaktori Kate komponendi vajadustele (<quote +>Põimitud võimas tekstiredaktor</quote +>). Mõnel teisel redaktoril (⪚ Qt redaktor) võivad olla omaenda seadistused. Sel juhul tuleb sul veidi katsetada, et jõuda selgusele, kuidas stiil redaktoris täpselt välja näeb. </para +></note> + +<warning +><para +>Siin määratud stiiliseadistuste ja redaktori vahel võivad valitseda isegi nii suured ebakõlad, et väheusutaval äärmiselt halval võimalusel võivad sinu failid muutuda kasutuskõlbmatuks. Kontrolli alati, et oleksid oma lähtekoodifailidest teinud varukoopia, enne kui hakkad neid seadistusi proovima mõne KDE-välise redaktoriga. </para +></warning> + +<sect3 id="setup-format-general"> +<title +>Üldised vormindusseadistused</title> + +<para +>Dialoogi <guilabel +>Vormindus</guilabel +> kaardil <guilabel +>Üldine</guilabel +> saab valida ühe viiest eelnevalt määratud lähtekoodi vormindamise stiili. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="SF-general.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>Lähtekoodi vormindamise stiili üldised seadistused</phrase +></textobject> + <caption +><para +>Lähtekoodi vormindamise stiili üldised seadistused </para +></caption> + </mediaobject> +</screenshot> + +<para +>Paremal asuval väljal näeb vormindatud lähtekoodi näitist. Kui ükski stiil sulle ei meeldi, võid valida ülemise raadionupu <guilabel +>Kasutaja defineeritud</guilabel +> ning panna sel juhul aktiivseks muutuval kahel lisakaardil paika omaenda vorminduse stiili. </para> + +<note +><para +>Praegu näidatakse näiteid ainult eelnevalt määratud lähtekoodi vormindamise stiilide puhul. Kui otsustad luua oma stiili, näidet ei näidata. Sel juhul pead redaktoris ise eksperimenteerima, et leida parimad määrangud. </para +></note> + +</sect3 +> <!-- setup-format-general --> + +<sect3 id="setup-format-indent"> +<title +>Taandeseadistused</title> + +<para +>Teksti korralik treppimine ehk taande kasutamine on üks olulisemaid võtteid selle loetavuse parandamiseks. Kui valid dialoogis <guilabel +>Vormindus</guilabel +> kaardi <guilabel +>Taane</guilabel +>, näed seal mitmeid taandeseadistusi, mis on jagatud kolme rühma. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="SF-indent.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>Lähtekoodi vorminduse taandeseadistused</phrase +></textobject> + <caption +><para +>Lähtekoodi vorminduse taandeseadistused </para +></caption> + </mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term +>Vaikeseadistused</term> +<listitem> +<para +>Eelnevalt määratud vormindusvalikud annavad lähtekoodi tekstile ANSI vormindusstiili välimuse:</para> + +<screen +>namespace foospace +{ + int Foo() + { + if (isBar) + { + bar(); + return 1; + } + else + return 0; + } +} +</screen> +</listitem> +</varlistentry> + +<varlistentry> +<term id="setup-format-indent-filling" +>Taande suuruse ja sümbolite määramine</term> +<listitem> +<para +>Raadionupud sektsioonis <guilabel +>Täitmine</guilabel +> lubavad määrata, kuidas lähtekoodi teksti taane luuakse.</para> + +<variablelist> + <varlistentry> + <term +><guilabel +>Tabeldusmärkidega</guilabel +></term> + <listitem> + <para +>Sel juhul lisab redaktor taande tähistamiseks tabeldusmärgid. Selle suurus ehk laius on määratud redaktori seadistustes (tavaliselt 8 või 4 märki). Soovi korral saad seda muuta, kui valid menüükäsu <menuchoice +><guimenu +> Seadistused</guimenu +><guimenuitem +>Redaktori seadistamine...</guimenuitem +></menuchoice +> </para> + <note +><para +>Tabeldusmärkide laius sõltub tugevasti redaktorist, mille valid seadistustedialoogis <link linkend="setup-editor" +>redaktori valimise</link +> ajal. Selle täpse väärtuse teadasaamiseks tuleb uurida vastava redaktori abimaterjale. </para +></note> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Tühikutega</guilabel +></term> + <listitem +><para +>Selle valimisel lisab redaktor taande tähistamiseks teatud arvu tühikuid. Vaikimisi on neid 2, aga sa saad seda siin muuta. </para +></listitem> + </varlistentry> +</variablelist> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Taandega olemid</term> +<listitem> +<para +>Siin saab määrata, millised (C/C++) olemid vormindatakse täiendava taandega lisaks tavalisele taandele.</para> + +<para +>Vaikimisi kasutatakse lisataanet ainult <guilabel +>nimeruumid</guilabel +>e ja <guilabel +>pealdiste</guilabel +> puhul. Võid siin katsetada, et leida selline variant, mis just sinu vajadusi rahuldab.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Jätkamine</term> +<listitem> +<para +>Siia koondatud valikud puudutavad neid juhtumeid, kus lähtekoodi vormindamisel automaatselt murtakse pikad read. Siin arvestatakse kahe erijuhtumiga: ka sügavalt pesastatud taanete korral peab lähtekoodile piisavalt ruumi jääma ning tingimused peavad jätkamisel saama täiendava taande, et need selgelt silma paistaks. </para> + +<note +><para +>See käib ainult <emphasis +>staatilise reamurdmise</emphasis +> kohta, kui lähtekoodi tekstis kasutatakse fikseeritud pikkusega ridu. Kui määrad redaktori pikki ridu dünaamiliselt murdma ainult vaates (nii võimaldab näiteks redaktori &kate; komponent), siis siinsed seadistused enamasti erilist mõju nähtavale ei avalda. </para +></note> + +<variablelist> + <varlistentry> + <term +><guilabel +>Maksimum lauses</guilabel +></term> + <listitem> + <para +>See valik piirab jätkuridade maksimaalset taanet, et jääks piisavalt palju ruumi ja lähtekoodi tekst oleks ikkagi loetav. Ühegi jätkurea korral ei kasutata suuremat taanet kui siinmääratu. </para> + <para +>Vaikeväärtuseks on 40. veerg (pool 80-veerulisest leheküljelaiusest). Laiema paberi korral (kui kasutad näiteks rõhtpaigutusega trükkimist) võid seda väärtust suurenda, aga kui sinu trükkimistingimused seda nõuavad, saad taande väärtust siin ka vähendada. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Miinimum tingimuses</guilabel +></term> + <listitem> + <para +>Tingimused ehk lähtekood, mis järgneb ⪚ omistamisoperaatorile, peab tavaliselt saama jätkurea korral täiendava taande, et tekst oleks ikka korralikult loetav. Selle saabki siin kindlaks määrata. </para> + <para +>Vaikeväärtus on <quote +>topeltpraegune</quote +>, mis tähendab, et tingimuste korral lisatakse sama suur taane, kui oled valinud tavaliseks taandeks sektsioonis <link linkend="setup-format-indent-filling" +>Täitmine</link +>. Soovi korral võid lisataandele anda konkreetse väärtuse (kaasa arvatud 0), sisestades selle siia käsitsi või kasutades noolenuppe. </para> + </listitem> + </varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> + +</sect3 +> <!-- setup-format-indent --> + +<sect3 id="setup-format-other"> +<title +>Muud vormindamisseadistused</title> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="SF-other.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>Muud lähtekoodi vormindamise seadistused</phrase +></textobject> + <caption +><para +>Muud lähtekoodi vormindamise seadistused </para +></caption> + </mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term +>Sulgude asukoha määramine</term> +<listitem> +<para +>Raadionuppudega mõneti eksitavat nimetust <guilabel +>Sulud</guilabel +> kandvas sektsioonis saab määrata plokki piiravate sulgude asukohta C/C++ lähtekoodis. Valida saab kolme võimaluse vahel.</para> + +<variablelist> + <varlistentry> + <term +><guilabel +>Reamurdmine</guilabel +></term> + <listitem> + <para +>See murrab rida enne iga avavat sulgu. Plokke piiritlevad sulud kasutavad sama taanet nagu ploki alguslause.</para> + +<screen +>namespace foospace +{ + int Foo() + { + if (isBar) + { + bar(); + return 1; + } + else + return 0; + } +} +</screen> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Kaasamine</guilabel +></term> + <listitem> + <para +>See hoiab ploki avava sulu samal real ploki alguslausega. Lõpetavad sulud kasutavad sama taamet nagu ploki alguslause. <token +>if</token +>-lause <token +>else</token +> hoitakse samal real eelneva ploki lõpetava suluga. </para> +<screen +>namespace foospace { + int Foo() { + if (isBar) { + bar(); + return 1; + } else + return 0; + } +} +</screen> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Linuxi stiil</guilabel +></term> + <listitem> + <para +>See on eelnevate stiilide kompromiss. Funktsionaalse ploki piiravad sulud seatakse eraldi reale. Tingimus- või korduslauses plokki avavad sulud hoitakse samal real. </para> +<screen +>namespace foospace +{ + int Foo() + { + if (isBar) { + bar(); + return 1; + } else + return 0; + } +} +</screen> + </listitem> + </varlistentry> +</variablelist> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Lisatühikute määramine</term> +<listitem> +<para +>Vaikimisi kasutab &kdevelop; lähtekoodis võimalikult vähe tühikuid. </para> + + +<screen +>if (isBar(fooArg)==barValue) +</screen> + +<para +>Sa võid aga teksti loetavust suurendada, kui seadistad lähtekoodi vormindaja teatud positsioonidesse lisatühikuid asetama.</para> + +<variablelist> + <varlistentry> + <term +><guilabel +>Sulgude ümber lisatakse tühikud</guilabel +></term> + <listitem> + <para +>See tähendab lisatühikute asetamist sulgudes asuva teksti ümber. Nii suureneb funktsiooni argumentide ja tingimuste loetavus.</para> +<screen +>if ( isBar( fooArg )==barValue ) +</screen> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Operaatorite ümber lisatakse tühikud</guilabel +></term> + <listitem> + <para +>See seab loetavuse suurendamiseks tühikud omistamis- ja võrdlusoperaatorite ümber.</para> +<screen +>if (isBar(fooArg) == barValue) +</screen> + </listitem> + </varlistentry> +</variablelist> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Üherealiste konstruktsioonide vorminduse määramine</term> +<listitem> +<para +>Teatud juhtudel võib olla vajalik, et lähtekoodi vormindamisel ei murtaks mõningaid pikki ridu. C/C++ koodi korral saab seda siin määrata.</para> + +<variablelist> + <varlistentry> + <term +><guilabel +>Säilitatakse üherealised laused</guilabel +></term> + <listitem +><para +>Selle korral säilitatakse üherealine lause üherealisena ka siis, kui selle pikkus ületab reamurdmise määratlust. </para +></listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Säilitatakse üherealised blokid</guilabel +></term> + <listitem +><para +>tSelle korral säilitatakse üherealine plokk üherealisena ka siis, kui selle pikkus ületab reamurdmise määratlust. </para +></listitem> + </varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> + + +</sect3 +> <!-- setup-format-other --> + +</sect2 +> <!-- setup-format --> + +<sect2 id="setup-snippets"> +<title +>Koodijuppide tööriista seadistamine</title> + +<para +>&kdevelop;i kasutamisel saab sageli vajaminevad koodiosad salvestada <link linkend="editing-snippets" +>koodijuppidena</link +>. Selle seadistamiseks vali menüükäsk <menuchoice +> <guimenu +>Seadistused</guimenu +> <guimenuitem +>&kdevelop;i seadistamine...</guimenuitem +> </menuchoice +> Ilmub dialoog <guilabel +>KDevelopi seadistamine</guilabel +>, kus vali vasakult kirje <guilabel +>Koodijupid</guilabel +>. Paremal ilmub nüüd nähtavale järgmine dialoog. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-snippets.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>Koodijuppide tööriista seadistamine</phrase +></textobject> + <caption +><para +>Koodijuppide tööriista seadistamine </para +></caption> + </mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term +>Koodijuppide eelvaatluse lubamine</term> +<listitem> +<para +>Valiku <guilabel +>Koodijupi teksti näidatakse kohtspikris</guilabel +> märkimisel näed salvestatud teksti kohtspikrina, kui jätad hiirekursori koodijupi nime kohale seisma.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Koodijuppide muutujate seadistamine</term> +<listitem> +<para +><guilabel +>Koodijuppide</guilabel +> tööriist võimaldab kasutada eelnevalt määratud kohtades muutujaid koodijupi lisamisel faili. Selleks kasutab <guilabel +>koodijuppide</guilabel +> tööriist omaenda muutujate mehhanismi. Selle käitumist saab kindlaks määrata sektsioonis <guilabel +>Muutujad</guilabel +>.</para> + +<variablelist> + <varlistentry> + <term +><guilabel +>Eraldaja</guilabel +></term> + <listitem +><para +><guilabel +>Koodijuppide</guilabel +> tööriist eristab teksti muutujaid nii, et ümbritseb muutuja nime teatud eraldamissümbolitega. Kui soovid kasutada omaenda eraldajaid, muuta väljal <guilabel +>Eraldaja</guilabel +> vaikimisi seisvat sümbolit <guilabel +>$</guilabel +>. </para +></listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Muutujate sisestamismeetod</guilabel +></term> + <listitem +><itemizedlist> + <listitem +><para +><guilabel +>Üks dialoog koodijupi igale muutujale</guilabel +> – valitud koodijupi lisamisel avab tööriist eraldi dialoogi iga muutuja kohta, mida ta leiab. </para +></listitem> + <listitem +><para +><guilabel +>Üks dialoog kõigile koodijupi muutujatele</guilabel +> – koodijupi lisamisel avab tööriist ühise dialoogi, kus kasutaja peab enne koodijupi lisamist määrama kõigi muutujate väärtused. </para +></listitem> + </itemizedlist +></listitem> + </varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> + +</sect2 +> <!-- setup-snippets --> + +<sect2 id="setup-file-list"> +<title +>Failinimekiri</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect2 +> <!-- setup-file-list--> + +<sect2 id="setup-file-selector"> +<title +>Failivalija seadistamine</title> + +<para +>&kdevelop; pakub <guilabel +>failivalija</guilabel +> pluginat, mis käivitamise ajal laadituna võimaldab liikuda süsteemis igasse kataloogi ja iga faili juurde. </para> + +<screenshot id="setup-fileselector-image"> + <mediaobject> + <imageobject> + <imagedata fileref="file-selector.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>Failivalija IDEAl aknarežiimis</phrase +></textobject> + <caption +><para +>Failivalija (IDEAl aknarežiim) </para +></caption> + </mediaobject> +</screenshot> + +<para +><guilabel +>Failivalija</guilabel +> käitumist saab mitmeti seadistada. Vali menüükäsk <menuchoice +> <guimenu +>Seadistused</guimenu +> <guimenuitem +>&kdevelop;i seadistamine...</guimenuitem +> </menuchoice +> Ilmub dialoog <guilabel +>KDevelopi seadistamine</guilabel +>, kus vali vasakul kirje <guilabel +>Faili valimine</guilabel +>. Nüüd ilmub paremal nähtavale järgmine dialoog.</para> + + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-file-selector.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>Failivalija seadistamine</phrase +></textobject> + <caption +><para +>Failivalija seadistamine </para +></caption> + </mediaobject> +</screenshot> + +<variablelist> +<varlistentry> +<term +>Tööriistariba seadistamine</term> +<listitem> +<para +><guilabel +>Failivalija</guilabel +> ülaosas asub tööriistariba, mida saab seadistada sektsioonis <guilabel +>Tööriistariba</guilabel +>.</para> + +<procedure id="setup-fileselector-add-action"> + <title +>Toimingu lisamine tööriistaribale</title> + <step> + <para +>Vali paremal paiknevast nimekirjast <guilabel +>Valitud toimingud</guilabel +> element, mille järele tuleb uus toiming lisada. </para> + </step> + <step> + <para +>Vali lisatav toiming vasakul asuvast nimekirjast <guilabel +>Saadaolevad toimingud</guilabel +>. </para> + </step> + <step> + <para +>Klõpsa kahe dialoogi vahel asuvale paremale osutavale noolele (ülemine). </para> + <para +>Toiming eemaldatakse nimekirjast <guilabel +>Saadaolevad toimingud</guilabel +> ja lisatakse nimekirja <guilabel +>Valitud toimingud</guilabel +> valitud elemendi järele. </para> + </step> +</procedure> + +<procedure> + <title +>Toimingu eemaldamine tööriistaribalt</title> + <step> + <para +>Vali eemaldatav toiming paremal asuvast nimekirjast <guilabel +>Valitud toimingud</guilabel +>. </para> + </step> + <step> + <para +>Klõpsa kahe nimekirja vahel vasakule osutavale noolele (alumine). </para> + <para +>Valitud kirje eemaldatakse nimekirjast <guilabel +>Valitud toimingud</guilabel +> ja lisatakse nimekirja <guilabel +>Saadaolevad toimingud</guilabel +>. </para> + </step> +</procedure> + +<procedure> + <title +>Toimingute järjekorra muutmine tööriistaribal</title> + <step> + <para +>Vali toiming, mille tahad mujale asetada, paremal asuvast nimekirjast <guilabel +>Valitud toimingud</guilabel +>. </para> + </step> + <step> + <para +>Klõpsa nimekirjast paremal paiknevale üles või alla osutavale noolele. </para> + <para +>Valitud kirje liigutatakse nimekirjas <guilabel +>Valitud toimingud</guilabel +> vastavalt kõrgemale või madalamale. </para> + </step> +</procedure> +</listitem> +</varlistentry> + +<varlistentry> +<term id="setup-fileselector-autosync" +>Sisu muutmise seadistamine</term> +<listitem> +<para +><guilabel +>Failivalija</guilabel +> akna sisu uuendamine nõuab aega ja ressursse, eriti kui seejuures tuleb liikuda teise kataloogi. Seepärast uuendab <guilabel +>failivalija</guilabel +> vaikimisi sisu ainult nõudmisel, &ie; siis, kui valid mõne teise kataloogi või annad konkreetselt käsu sisu uuendada. </para> + +<note +><para +><guilabel +>Failivalija</guilabel +> sisu uuendamiseks klõpsa tööriistaribal nupule <guilabel +>Laadi uuesti</guilabel +>. Vaikimisi seal seda nuppu siiski pole, sa pead selle soovi korral <link linkend="setup-fileselector-add-action" +>ise lisama</link +>. </para +></note> + +<para +><guilabel +>Failivalija</guilabel +> võib panna otsekohe kajastama teatud muudatusi. Seda saab teha valikutega sektsioonis <guilabel +>Automaatne sünkroniseerimine</guilabel +>. </para> + +<variablelist> + <varlistentry> + <term +><guilabel +>Dokumendi muutumisel aktiivseks</guilabel +></term> + <listitem +><para +>Märkimisel uuendatakse <guilabel +>failivalija</guilabel +> akna sisu alati, kui liigud mõnele teisele juba avatud dokumendile, klõpsates ⪚ vastavat kaarti IDEAl aknarežiimis. Vajaduse korral lülitub <guilabel +>failivalija</guilabel +> kataloogi, kuhu antud fail kuulub, ning värskendab vaadet, et näidata sulle selle kataloogi sisu. </para +></listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Dokumendi avamisel</guilabel +></term> + <listitem +><para +>Märkimisel uuendatakse <guilabel +>failivalija</guilabel +> akna sisu alati, kui avatakse dokument (⪚ menüükäsuga <menuchoice +><guimenu +>Fail</guimenu +><guimenuitem +>Ava</guimenuitem +></menuchoice +>). Vajaduse korral lülitub <guilabel +>failivalija</guilabel +> kataloogi, kuhu antud fail kuulub, ning värskendab vaadet, et näidata sulle selle kataloogi sisu. </para +></listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Failivalija nähtavaleilmumisel</guilabel +></term> + <listitem +><para +>Märkimisel uuendatakse <guilabel +>failivalija</guilabel +> akna sisu alati, kui see taas nähtavale tuua. Vajaduse korral lülitutakse kataloogi, kuhu aktiivne dokument kuulub, ning värskendatakse vaadet, et näidata sulle selle kataloogi sisu. </para +></listitem> + </varlistentry> +</variablelist> + +<para +>Neid valikuid võib omavahel igati kombineerida, et leida just sind rahuldav <guilabel +>failivalija</guilabel +> käitumine. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Liitkastide ajaloo seadistamine</term> +<listitem> +<para +><guilabel +>Failivalija</guilabel +> üla- ja alaosas on kaks liitkasti, mis määravad, millist kataloogi näidatakse (ülemine liitkast) ja milliseid filtreid näitamisel rakendatakse (alumine liitkast). Mõlema kasti valikuväljal hoitakse meeles viimaste määrangute ajalugu. Kui palju just, saab siin määrata.</para> + +<variablelist> + <varlistentry> + <term +><guilabel +>Asukohti jäetakse meelde</guilabel +></term> + <listitem +><para +>Kirjuta siia maksimaalne kataloogide arv, mida ülemine liitkast meeles peab pidama. </para +></listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Filtreid jäetakse meelde</guilabel +></term> + <listitem +><para +>Kirjuta siia maksimaalne filtrite arv, mida alumine liitkast meeles peab pidama. </para +></listitem> + </varlistentry> + +<varlistentry> +<term +>Seanssidevahelise ajaloo seadistamine</term> +<listitem> +<para +>Vaikimisi näitab <guilabel +>failivalija</guilabel +> &kdevelop;i uuel käivitamisel taas kõige viimast seanssi. Seda saab muuta sektsioonis <guilabel +>Seanss</guilabel +>. </para> + +<note +><para +>Kui &kdevelop;i käivitab automaatselt uuesti &kde; seansihaldur, ei avalda siinsed seadistused mõju. Sel juhul taastatakse alati viimase &kde; seansi aegne asukoht ja filtrid. </para +></note> +</listitem> +</varlistentry> + + <varlistentry> + <term +><guilabel +>Taastatakse asukoht</guilabel +></term> + <listitem> + <para +>Eemalda kastist märge, kui sa ei soovi, et asukoht jäetaks seansside vahel meelde. </para> + <note +><para +>Kui oled valinud mõne <link linkend="setup-fileselector-autosync" +>automaatse uuendamise</link +> valikutest, võib näidatav asukoht automaatselt muutuda sõltumata sellest, mida seansside vahel meelde jäetakse. </para +></note> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Taastatakse filtrid</guilabel +></term> + <listitem> + <para +>Eemalda kastist märge, kui sa ei soovi, et rakendatud filtrid jäetaks seansside vahel meelde. </para> + </listitem> + </varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> + +</sect2 +> <!-- setup-file-selector --> + +<sect2 id="setup-cpp-generator"> +<title +>C++ klassi generaator</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect2 +> <!-- setup-c++-generator--> + +<sect2 id="setup-formatting"> +<title +>Vormindus</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect2 +> <!-- setup-formatting--> + +<sect2 id="setup-cpp-parsing"> +<title +>C++ parsimine</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect2 +> <!-- setup-c++-parsing--> + +</sect1 +> <!-- setup-general --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="setup-docu"> +<title +>Dokumentatsiooni seadistamine</title> + +<para +>&kdevelop; sisaldab väga võimsat dokumentatsioonitööriista, mis tagab ligipääsu väga mitmesugusele ja mahukale dokumentatsioonile. IDEAl aknarežiimis ⪚ leiad kaardi <guilabel +>Dokumentatsioon</guilabel +> töötsooni paremast servast. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="documents-contents.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>&kdevelop;i dokumentatsiooniaken IDEAl aknarežiimis</phrase +></textobject> + <caption +><para +>&kdevelop;i dokumentatsiooniaken (IDEAl aknarežiim) </para +></caption> + </mediaobject> +</screenshot> + +<note +><para +>Dokumentatsioonipuu näitamiseks peab &kdevelop;is olema laetud <guilabel +>dokumentatsioon</guilabel +>iplugin. Sellest räägib lähemalt osa <link linkend="setup-plugins" +>Pluginatööriistad</link +>. </para +></note> + +<para +>Dokumentatsiooniakna sisu ja käitumist saab määrata, kui valida menüükäsk <menuchoice +> <guimenu +>Seadistused</guimenu +> <guimenuitem +>&kdevelop;i seadistamine...</guimenuitem +> </menuchoice +> Ilmub dialoog <guilabel +>KDevelopi seadistamine</guilabel +>, mille vasakus servas vali kirje <guilabel +>Dokumentatsioon</guilabel +>. </para> + +<para +>Nüüd näed kolme kaardiga <link linkend="configure-docu-general" +>seadistustedialoogi</link +>: </para> + +<simplelist> + <member +><link linkend="setup-docu-general" +>Dokumentatsioonikogud</link +></member> + <member +><link linkend="setup-docu-textsearch" +>Täistekstiotsing</link +></member> + <member +><link linkend="setup-docu-other" +>Muud</link +></member> +</simplelist> + +<sect2 id="setup-docu-general"> +<title +>Dokumentatsioonikogude seadistamine</title> + +<para +>Dokumentatsiooni seadistamisvõimalused on jagatud erinevate dokumentatsioonikogude kaupa, mis kõik pakuvad kasutada teatud kindlas vorminduses ja sisutüübiga dokumentatsiooni. See määrab ära, millised dokumentatsioonikirjed on näha &kdevelop;i <guilabel +>dokumentatsioon</guilabel +>ikaardi leheküljel <guilabel +>Sisukord</guilabel +> ja kuidas kasutaja saab pruukida dokumentatsiooni veelgi põhjalikumalt indeksi ja täistekstiotsingu abil. </para> +<para +>Kaart <guilabel +>Dokumentatsioon</guilabel +> sisaldab õieti mitmeid dialooge, mis on otsekui kartoteegis üksteise peale asetatud. Vastavale sakile klõpsates avaneb vastav seadistustedialoog: </para> +<simplelist> + <member +><link linkend="setup-docu-general-qt" +>&Qt; dokumentatsioonikogu</link +></member> + <member +><link linkend="setup-docu-general-chm" +>CHM dokumentatsioonikogu</link +></member> + <member +><link linkend="setup-docu-general-dox" +>Doxygeni dokumentatsioonikogu</link +></member> + <member +><link linkend="setup-docu-general-toc" +>&kdevelop;i TOC dokumentatsioonikogu</link +></member> + <member +><link linkend="setup-docu-general-devhelp" +>Devhelpi dokumentatsioonikogu</link +></member> + <member +><link linkend="setup-docu-general-custom" +>Kohandatud dokumentatsioonikogu</link +></member> +</simplelist> + +<para id="configure-docu-general"> +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-docu-general.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>Dokumentatsioonikogude seadistamine</phrase +></textobject> + <caption +><para +>Dokumentatsioonikogude seadistamine </para +></caption> + </mediaobject> +</screenshot> +</para> + +<sect3 id="setup-docu-general-common"> +<title +>Dokumentatsiooni seadistustedialoogide üldine struktuur</title> + +<para +>Kõik kaardi <guilabel +>Dokumentatsioon</guilabel +> seadistustedialoogid kasutavad ühesugust struktuuri: saadaolevad antud tüüpi dokumentatsioonikirjed on näha vasakul, paremal aga paiknevad mõned nupud. </para> + +<variablelist> +<varlistentry> +<term id="setup-docu-buttons" +>Dokumentatsiooninimekirja sisu haldamise nupud</term> +<listitem> +<para +>Seadistustedialoogides saab dokumentatsiooni sisu hallata kolme nupuga: </para> + +<variablelist> + <varlistentry> + <term +><guibutton +>Lisa</guibutton +></term> + <listitem> + <para +>Avab dialoogi <guilabel +>Dokumentatsioonikataloogi omadused</guilabel +>, kus, nagu allpool näha, saad valida dokumentatsioonikirje asukoha ja anda sellele nime.</para> + </listitem> + </varlistentry> + <varlistentry> + <term +><guibutton +>Redigeeri</guibutton +></term> + <listitem> + <para +>Avab dialoogi <guilabel +>Dokumentatsioonikataloogi omadused</guilabel +>, kus, nagu allpool näha, saad muuta dokumentatsioonikirje asukohta ja selle nime.</para> + </listitem> + </varlistentry> + <varlistentry> + <term +><guibutton +>Eemalda</guibutton +></term> + <listitem> + <para +>Eemaldab valitud dokumentatsioonikirje nimekirjast.</para> + <note +><para +>Kirje eemaldatakse ainult nimekirjast, dokumentatsioon ise jääb sinna, kus ta asub, endiselt alles. Kui soovid seda täielikult eemaldada, tuleb sul kasutada muid vahendeid. </para +></note> + </listitem> + </varlistentry> +</variablelist> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-docu-edit.png" format="PNG"/> + </imageobject> + <caption +><para +>Dokumentatsioonikirje lisamine või muutmine </para +></caption> + </mediaobject> +</screenshot> + +<para +>Väljast <guilabel +>Asukoht</guilabel +> paremal paiknevale nupule klõpsates avaneb failidialoog, mille kirjed on juba filtreeritud vastavalt valitud dokumentatsioonitüübile. </para> +<para +>Väli <guilabel +>Tiitel</guilabel +> ei pruugi olla aktiivne - see sõltub valitud dokumentatsioonitüübist. </para> +</listitem> +</varlistentry> +<varlistentry> +<term id="setup-docu-columns" +>Dokumentatsiooninimekirja struktuur</term> +<listitem> +<para +>Igas dokumentatsiooni seadistustedialoogis on nimekiri jagatud nelja veergu: </para> + +<variablelist> + <varlistentry> + <term +><guilabel +>Sisukord</guilabel +></term> + <listitem> + <para +>Märkekasti märkimisel näidatakse seda dokumentatsioonikirjet &kdevelop;i <guilabel +>dokumentatsioon</guilabel +>ikaardi leheküljel <guilabel +>Sisukord</guilabel +>. </para> + <note +><para +>Märke eemaldamine kastist <guilabel +>Sisukord</guilabel +> muudab võimatuks märkida kaste <guilabel +>Indeks</guilabel +> ja <guilabel +>Otsing</guilabel +> (vaata allpool), sest ei ole loogiline, et indekseeritud on selline dokumentatsioon, mille sisukorda sa ei näe. </para +></note> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Indeks</guilabel +></term> + <listitem> + <para +>Märkekasti märkimisel luuakse antud dokumentatsioonikirje kohta seesmine indeks. See võimaldab kiiret ligipääsu dokumentatsioonile &kdevelop;i <guilabel +>dokumentatsioon</guilabel +>ikaardi lehekülgedel <guilabel +>Indeks</guilabel +> ja (lisavõimalusena) <guilabel +>Otsija</guilabel +>. </para> + <note> + <para +>Seesmine indeks luuakse siis, kui kasutaja esimest korda valid lehekülje <guilabel +>Indeks</guilabel +>. Seepärast on esimene kasutamine märkimisväärselt aeglane, sest indeks peab dokumentatsiooni sisse lugema ja puhverdama. </para> + <para +>Kuid kõik järgnevad otsingud kasutavad juba puhvrit ning on seetõttu märgatavalt kiiremad. </para> + </note> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Otsing</guilabel +></term> + <listitem> + <para +>Märkekasti märkimisel lisatakse dokumentatsioonikirje sisu &kdevelop;i <guilabel +>dokumentatsioon</guilabel +>ikaardi lehekülje <guilabel +>Otsing</guilabel +> täistekstiotsingu asukohta. </para> + <note> + <para +>&kdevelop; kasutab täistekstiotsingu sooritamiseks programmi htdig. Otsing sooritatakse seesmise indeksi abil, mistõttu htdig peab enne kasutamist selle looma. </para> + <para +>Kõik muudatused veerus <guilabel +>Otsing</guilabel +> hakkavad seepärast mõjuma alles pärast seda, kui oled &kdevelop;i <guilabel +>dokumentatsioon</guilabel +>ikaardi leheküljel <guilabel +>Otsing</guilabel +> indeksi uuesti loonud. </para> + </note> + </listitem> + </varlistentry> + <varlistentry> + <term +><guilabel +>Tiitel</guilabel +></term> + <listitem +><para +>See on dokumentatsioonikirje nimi, nagu seda näitab &kdevelop;i <guilabel +>dokumentatsioon</guilabel +>ikaardi lehekülg <guilabel +>Sisukord</guilabel +>. </para +></listitem> + </varlistentry> +</variablelist> + +<note +><para +>Varasemad &kdevelop;i versioonid võimaldasid lasta dokumentatsioonikirjeid näidata erinevates projektides erinevalt. Enam ei ole see võimalik. </para +></note> +</listitem> +</varlistentry> +</variablelist> + +</sect3 +> <!-- setup-docu-general-common --> + +<sect3 id="setup-docu-general-qt"> +<title +>&Qt; dokumentatsioonikogud</title> + +<para +>Selles seadistustedialoogis saab seadistada &Qt; dokumentatsiooni. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-docu-general.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>&Qt; dokumentatsioonikogu seadistamine</phrase +></textobject> + <caption +><para +>&Qt; dokumentatsioonikogu seadistamine </para +></caption> + </mediaobject> +</screenshot> + +<para +>Tavaliselt täidab &kdevelop; juba esimesel käivitamisel, otsides standardseid <filename +>*.xml</filename +>- ja <filename +>*.dcf</filename +>-dokumentatsioonifaile &Qt; paigalduskataloogis. Vasakul asuv nimekiri täidetaksegi failidega, mida &kdevelop; leiab, kasutatakse nende standardseid tiitleid. </para> + +<para +>Kui sinu paigaldus pole standardne, siis pole siin üldse mingeid kirjeid või osutavad need ebasobivale asukohale (kui ⪚ süsteemis on veel mõni &Qt; paigaldus). Kirjeid saab täpsustada nimekirjast paremal paiknevate <link linkend="setup-docu-buttons" +>nuppudega</link +>. </para> + +<note +><para +>&kdevelop; kasutab tiitleid, mida pakub paigaldatud &Qt; dokumentatsioon. Seepärast ei ole dialoogis <guilabel +>Dokumentatsioonikataloogi omadused</guilabel +> väli <guilabel +>Tiitel</guilabel +> aktiivne. </para +></note> + +<para +>Vaikimisi ei näidata mitte kogu &Qt; dokumentatsiooni &kdevelop;i <guilabel +>dokumentatsioon</guilabel +>ikaardi leheküljel <guilabel +>Sisukord</guilabel +>. Märkekastiga veerus <guilabel +>Sisukord</guilabel +> <link linkend="setup-docu-columns" +>seadistustedialoogis</link +> saad valida, millist dokumentatsiooni näidata. </para> + +<para +>Kui soovid kaasata teatud &Qt; dokumentatsiooni indeksisse või täistekstiotsingusse, märgi ära kastid <link linkend="setup-docu-columns" +>seadistustedialoogi</link +> veergudes <guilabel +>Indeks</guilabel +> ja <guilabel +>Otsing</guilabel +>. </para> + +</sect3 +> <!-- setup-docu-general-qt --> + +<sect3 id="setup-docu-general-chm"> +<title +>CHM dokumentatsioonikogu seadistamine</title> + +<para +>Selles dialoogis saab seadistada &Microsoft; CHM-abifailide standardit järgivat dokumentatsiooni. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-docu-chm.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>&Microsoft; CHM dokumentatsiooni seadistamine</phrase +></textobject> + <caption +><para +>&Microsoft; CHM dokumentatsiooni seadistamine </para +></caption> + </mediaobject> +</screenshot> + +<para +>Vaikimisi on see seadistustedialoog tühi, nagu ka pildil näha. Uusi kirjeid saad lisada nimekirjast paremal paiknevate <link linkend="setup-docu-buttons" +>nuppudega</link +>. &kdevelop; filtreerib <filename +>*.chm</filename +>-failid failidialoogis, mille saad avada nuppe <guibutton +>Lisa</guibutton +> ja <guibutton +>Redigeeri</guibutton +> kasutades. </para> + +<para +>Täpsemalt räägib &Microsoft; <filename +>*.chm</filename +>-failide vormingust ⪚ PHP: Documentation - Extended CHM Format aadressil <ulink url="http://de2.php.net/docs-echm.php" +>http://de2.php.net/docs-echm.php</ulink +>. </para> + +</sect3 +> <!-- setup-docu-general-chm --> + +<sect3 id="setup-docu-general-dox"> +<title +>Doxygeni genereeritud dokumentatsioon</title> + +<para +>Selles dialoogis saab seadistada &API; dokumentatsiooni, mille genereerib &doxygen;. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-docu-dox.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>Doxygeni genereeritud &API; dokumentatsiooni seadistamine</phrase +></textobject> + <caption +><para +>Doxygeni genereeritud &API; dokumentatsiooni seadistamine </para +></caption> + </mediaobject> +</screenshot> + +<para +>Lühidalt öeldes kirjeldab &API; dokumentatsioon teatud teegifunktsioone. Dialoogis näha olev &API; dokumentatsioon tuleb luua välise tööriistaga <ulink url="http://www.stack.nl/~dimitri/doxygen/" +>&doxygen;</ulink +>. </para> +<para +>&doxygen;i genreeritud &API; dokumentatsioon koosneb reast <filename +>html</filename +>-failidest alates failist <filename +>index.html</filename +>. Lisaks võivad olla <filename +>tag</filename +>-failid, mis sisaldavad infot linkide kohta juba olemasoleva &API; dokumentatsiooniga. &kdevelop; uuribki faili <filename +>index.html</filename +> ja <filename +>tag</filename +>-faile, kui otsib &doxygen;i genereeritud &API; dokumentatsioonis. </para> +<para +>&doxygen;i genereeritud &API; dokumentatsioonis otsimisel on teatud strukturaalsed piirangud. Kataloog, milles asub fail <filename +>index.html</filename +>, peab sisaldama eraldi dokumentatsioonikogudega alamkatalooge. Igas alamktaloogis peab olema oma <filename +>.tag</filename +>-fail ja alamkataloog <filename class="directory" +>html</filename +>. </para> +<para +>&doxygen;i &API; dokumentatsiooni ülesehituse näiteid saad uurida kataloogis <filename class="directory" +>$<envar +>KDEDIR</envar +>/share/doc/HTML/en/kdelibs-apidocs</filename +>. </para> + +<note +><para +>Varasem &kde; <ulink url="http://sirtaj.net/projects/kdoc/" +>KDoci</ulink +> genereeritud &API; vorming ei ole enam otseselt toetatud. Kui soovid siiski sellist dokumentatsiooni kasutada, lisa see <link linkend="setup-docu-general-custom" +>kohandatud dokumentatsioonikoguna</link +>. </para +></note> + +<para +>&kdevelop; täidab dialoogi &kde; teekide &API; dokumentatsiooniga, kui see on muidugi olemas. &kdevelop; leiab selle mitmel moel: </para> + +<itemizedlist> + <listitem +><para +>Sa andsid käsu <command +>configure</command +> võtmega <option +>--with-kdelibsdoxy-dir</option +> &kdevelop;i kompileerimise ajal (vaata peatükki <link linkend="make-api" +>&kdevelop;i &API; dokumentatsiooni hankimine</link +>). </para +></listitem> + <listitem +><para +>Käsk <command +>configure</command +> leidis automaatselt &doxygen;i genereeritud &kde; teekide &API; mõnes teadaolevas standardses asukohas. </para +></listitem> + <listitem +><para +>&kdevelop;i esmakäivitusel leiti kataloog <filename class="directory" +>$<envar +>KDEDIR</envar +>/share/doc/HTML/en/kdelibs-apidocs/</filename +>. </para +></listitem> +</itemizedlist> + +<para +>Kui &kdevelop; ei leia esmakäivitusel korrektset &doxygen;i genereeritud &kde; teekide &API; dokumentatsiooni, on <guilabel +>Doxygeni dokumentatsioonikogu</guilabel +> nimekiri tühi. </para> + +<para +>Sa võid lisada ka omaenda &API; dokumentatsiooni kirjeid (⪚ oma aktiivsest projektist) nimekirjast paremal paiknevate <link linkend="setup-docu-buttons" +>nuppudega</link +>. Kui soovid kaasata neid indeksisse või täistekstiotsingusse, märgi ära kastid <link linkend="setup-docu-columns" +>seadistustedialoogi</link +> veergudes <guilabel +>Indeks</guilabel +> ja <guilabel +>Otsing</guilabel +>. </para> + +<note +><para +>&kdevelop; hangib tiitlid failist <filename +>index.html</filename +>. Seepärast ei ole dialoogi <guilabel +>Dokumentatsioonikataloogi omadused</guilabel +> väli <guilabel +>Tiitel</guilabel +> aktiivne. </para +></note> + +<tip> + <para +>&kde; süsteem pakub märksa enam &API; dokumentatsiooni kui ainult &kde; teekide &API; oma. Sul läheb vaja täiendavat liideseinfit, kui soovid ⪚ kaasata oma programmi &kate; komponendi. &kate; komponendi &API; jaoks pead kompileerima ja paigaldama &kde; baasteekide &API; <ulink url="http://developer.kde.org/source/index.html" +>lähtekoodist</ulink +> (käskudega <command +>make</command +> ja <command +>make install</command +> <filename class="directory" +>kdebase</filename +>-lähtekoodikataloogis) ja seejärel lisama kirje <guilabel +>Doxygeni dokumentatsioonikogu</guilabel +> nimekirja: </para> + <screenshot +><mediaobject> + <imageobject> + <imagedata fileref="configure-adddialog-baselibs.png" format="PNG"/> + </imageobject> +<textobject +><phrase +>&kde; baasi &API; lisamine nimekirja</phrase +></textobject> + <caption +><para +>&kde; baasi &API; lisamine nimekirja </para +></caption> + </mediaobject +></screenshot> + <para +>(Asenda mõistagi <filename class="directory" +>/home/dev/mykde-system/</filename +> väljal <guilabel +>Asukoht</guilabel +> enda &kde; paigaldause asukohaga.) </para> +</tip> + +<note +><para +>Sul tuleb ka enda projekti &API; lisada <guilabel +>Doxygeni dokumentatsioonikogu</guilabel +>sse. Varasemad &kdevelop;i versioonid lisasid selle dokumentatsioonipuusse vastavalt projektile. See ei ole enam võimalik. </para +></note> + +</sect3 +> <!-- setup-docu-general-dox --> + +<sect3 id="setup-docu-general-toc"> +<title +>Struktureeritud dokumentatsiooni (KDevelopi TOC-failid) seadistamine</title> + +<para +>&kdevelop;i dokumentatsioonikaardil pääseb otsekohe ligi suurle hulgale struktureeritud dokumentatsioonile nii enda masinas kui võrgus. Seda saab seadistada <guilabel +>KDevelopTOC dokumentatsioonikogu</guilabel +> dialoogis. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-docu-toc.png" format="PNG"/> + </imageobject> + <caption +><para +>KDevelopTOC struktureeritud dokumentatsiooni hankimine </para +></caption> + </mediaobject> +</screenshot> + +<para +>&kdevelop;iga on juba kaasas hulk KDevelopTOC-faile, mis lisatakse paigaldamise ajal automaatselt nimekirja. Vaates mõistliku suuruse säilitamiseks on esialgu ainult kõige sagedamini kasutatav dokumentatsioon nähtavaks muudetud. Kui soovid näha rohkem dokumentatsiooni, märgi vastavad kastikesed <link linkend="setup-docu-columns" +>seadistustedialoogi</link +> veerus <guilabel +>Sisukord</guilabel +>. </para> + +<para +>KDevelopTOC-faile ei saa täistekstiotsingu jaoks indekseerida, sest need viitavad enamasti asukohale võrgus. Samas võib <filename +>.toc</filename +>-failil olla käsitsi määratletud indeks, milleks kasutatakse silti <computeroutput +><index></computeroutput +>. Niisiis on märkekast veerus <guilabel +>Indeks</guilabel +> aktiivne ainult siis, kui &kdevelop; leiab <filename +>.toc</filename +>-failist sildi <computeroutput +><index></computeroutput +> (täpsemat infot leiab altpoolt <link linkend="setup-docu-general-toc-files" +>&kdevelop;i TOC-faile</link +> kirjeldavast osast). </para> +<para +>Märkekast <link linkend="setup-docu-columns" +>seadistustedialoogi</link +> veerus <guilabel +>Otsing</guilabel +> on alati mitteaktiivne. </para> + +<para +>Uusi kirjeid saab lisada nimekirjast paremal paiknevate <link linkend="setup-docu-buttons" +>nuppudega</link +>. &kdevelop; filtreerib <filename +>*.toc</filename +>-failid failidialoogis, mille saad avada nuppe <guibutton +>Lisa</guibutton +> ja <guibutton +>Redigeeri</guibutton +> kasutades. </para> + +<note +><para +>Ainult väga vanades &kdevelop;i versioonides eemaldas klõps nupule <guibutton +>Eemalda</guibutton +> <filename +>.toc</filename +>-failid ka kettalt, kuid praegu eemaldab see need ainult nimekirjast. </para +></note> + +</sect3 +> <!-- setup-docu-general-toc --> + +<sect3 id="setup-docu-general-toc-files"> +<title +>&kdevelop;i TOC-failid</title> + +<para +>Nendega on seotud üks eriomadus. Selle selgitamiseks võta ette järgmised sammud. Ava dokumentatsioonipuus mõni kirje kohe &Qt;/&kde; dokumentatsiooni all (⪚ <quote +>KDE2 Development Book (kde.org)</quote +>). Klõpsa selle ees olevale plussmärgile. Avaneb puu, kus saab kiiresti liikuda vajalikule peatükile, mida näidatakse ilusasti pesastatuna. Aga kui sa lõpuks valid mõne peatüki, üritab &kdevelop; enamasti avada dokumentatsioonifaili <emphasis +>võrgus</emphasis +>. </para> + +<para +>Selle põhjuseks ei ole mitte lihtsalt soov võimaldada võrgus paikneva dokumentatsiooni kohalik sirvimine ilma võrguressursse kurnamata, vaid ka soov anda arendaja käsutusse lihtne ligipääs talle vajalikule struktureeritud dokumentatsioonile. Nende tööriistadega näeb peaaegu mis tahes kohalikku või võrgudokumentatsiooni struktureeritult ka siis, kui originaal ei ole üldse struktureeritud või on kuidagi teisiti struktureeritud. Selleks on lihtsalt vaja ligipääsu failidele ja/või failiosadele, mida oleks võimalik näidata Konqueroris. </para> + +<para +>Sellise struktureeritud ligipääsu tagavad spetsiaalsed <quote +>sisukorrafailid</quote +>, mille laiendiks ongi <filename +>.toc</filename +> (inglise keeles on sisukord 'table of content'). Kõik &kdevelop;i TOC-failid, mis sisaldavad dokumendi &XML;-is struktureeritud kirjeldust, on sel moel kasutatavad. </para> + +<variablelist> +<varlistentry> +<term +>&kdevelop;i TOC-failide standardkataloog</term> +<listitem> +<para +>&kdevelop;i paigaldamise ajal paigaldatakse tavaliselt valik kindlaid <filename +>.toc</filename +>-faile kataloogi <filename class="directory" +>$KDEDIR/share/apps/kdevdocumentation/tocs</filename +>. Need on üsna lihtsa struktuuriga tekstifailid. Sa võid neid uurida mõne tekstiredaktoriga. </para> +</listitem> +</varlistentry +></variablelist> + +<!-- FIXME: Lauri Watts (2005-05-03) This could be marked up a whole lot --> +<!-- more clearly with the sgmltags stuff. Making a note to do that once --> +<!-- this first revision is done. --> + +<variablelist id="toc-file-structure"> + <title +>&kdevelop;i TOC-failide põhistruktuur</title> + <varlistentry> + <term +>päis</term> + <listitem> + <simplelist> + <member> + <computeroutput +><!DOCTYPE kdeveloptoc></computeroutput> + </member> + <member> + <computeroutput +><kdeveloptoc></computeroutput> + </member> + <member> + <emphasis +>(tiitel)</emphasis> + </member> + <member> + <emphasis +>(baasaadress)</emphasis> + </member> + <member> + <emphasis +>(sisu struktuur)</emphasis> + </member> + <member> + <emphasis +>(indeksi struktuur)</emphasis> + </member> + <member> + <computeroutput +></kdeveloptoc></computeroutput> + </member> + </simplelist> + <para +>Seda &XML;.struktuuri parsib &kdevelop;i <guilabel +>dokumentatsioon</guilabel +>iplugin, mis loob seejärel dokumentatsioonipuu, mille abil kasutaja saab dokumentatsioonis liikuda. See sisaldab kogu vajalikku infot tiitlite ja sisukorra näitamiseks. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +>tiitel</term> + <listitem> + <simplelist> + <member +><computeroutput +><title></computeroutput +> <emphasis +>(tiitlistring)</emphasis +> <computeroutput +></title></computeroutput +> </member> + </simplelist> + <para +>See on tiitel, mida &kdevelop; näitab dokumentatsioonipuu põhitasemel. </para> + <note +><para +>Seda tiitlit ei saa kasutaja muuta. Kui soovid näha mingit muud teksti, pead käsitsi muutma kirjet <computeroutput +><tiitel></computeroutput +> <filename +>.toc</filename +>-failis. </para +></note> + </listitem> + </varlistentry> + <varlistentry> + <term +>baasaadress</term> + <listitem> + <simplelist> + <member +><computeroutput +><base href="</computeroutput +> <emphasis +>(baasdokumendi &URL;)</emphasis +> <computeroutput +>"/></computeroutput +> </member> + </simplelist> + <para +>See &URL; viitab asukohale, kus paiknevad kõik antud dokumentatsiooni failid. See lisatakse järgnevas sisu struktuuris iga sektsiooni &URL;-i ette. Kui ⪚ laadid dokumentatsiooni alla võrguserverist, tuleb sul selle nägemiseks uues kohas lihtsalt muuta <computeroutput +><base></computeroutput +>-&URL;-i. </para> + </listitem> + </varlistentry> + <varlistentry> + <term +>sisu struktuur</term> + <listitem> + <simplelist> + <member +><computeroutput +><tocsect1 name="</computeroutput +> <emphasis +>(sektsiooni tiitel)</emphasis +> <computeroutput +>" url="</computeroutput +> <emphasis +>(sektsiooni &URL;)</emphasis +> <computeroutput +>"></computeroutput +> </member> + <member +>...</member> + <member +><computeroutput +><tocsectn name="</computeroutput +> <emphasis +>(sektsiooni tiitel)</emphasis +> <computeroutput +>" url="</computeroutput +> <emphasis +>(sektsiooni &URL;)</emphasis +> <computeroutput +>"/></computeroutput +> </member> + <member +>...</member> + <member> + <computeroutput +></tocsect1></computeroutput> + </member> + </simplelist> + <para +>Kogu ülejäänud liikumiseks ja kasutamiseks vajalik info on salvestatud mitmesse pesastatud <computeroutput +><tocsecti></computeroutput +> ... <computeroutput +></tocsecti></computeroutput +> paari. Iga <emphasis +>i</emphasis +> märgib siin järgmist pesastamistaset kuni arvuni <emphasis +>n</emphasis +>, mis vastab kõige viimasena näidatavale dokumentatsiooni sektsioonile. </para> + <para +>Iga <computeroutput +><tocsecti></computeroutput +> kirjega peab olema seotud atribuut <computeroutput +>name="xxx"</computeroutput +> ("xxx" märgib siin tegelikku tiitlistringi). Seda nime näidatakse dokumentatsioonipuus taseme tiitlina. See peab vastama dokumentatsiooni tegelikule sektsioonile. </para> + <para +>Iga <emphasis +>i</emphasis +> tasemega võib olla seotud atribuut <computeroutput +>url=""</computeroutput +>. Kui kasutaja klõpsab dokumentatsioonipuus sektsiooni tiitlile, üritab &kdevelop; avada faili asukohas, mille määrab baas- ja sektsiooni-&URL;-i kombinatsioon. </para> + <para +>Kirjel <computeroutput +><tocsectn/></computeroutput +> peab igal juhul olema atribuut <computeroutput +>url=""</computeroutput +>. Viimane <computeroutput +><tocsectn/></computeroutput +> ei esine enam paarina, vaid selle sulgeb otsekohe <computeroutput +>/</computeroutput +> enne sulgu <computeroutput +>></computeroutput +>. </para> + <note +><para +>Iga baas- ja sektsiooni-&URL;-i kombinatsioonist aadress peab osutama näidatavale tekstifailile. Tavaliselt on selleks struktureeritud HTML-fail. Soovi korral saab sellises HTML-failis linkida ka ankrumärgile, kasutades tavapärast #-märki: <filename +>/baas-url/sektsiooni-url#ankrumärk</filename +>. </para +></note> + </listitem> + </varlistentry> + <varlistentry> + <term +>indeksi struktuur</term> + <listitem> + <simplelist> + <member> + <computeroutput +><index></computeroutput> + </member> + <member +><computeroutput +><entry name="</computeroutput +> <emphasis +>(indeksikirje tiitel)</emphasis +> <computeroutput +>" url="</computeroutput +> <emphasis +>(indeksisektsiooni &URL;)</emphasis +> <computeroutput +>"/></computeroutput +> </member> + <member> + <computeroutput +></index></computeroutput> + </member> + </simplelist> + <para +>Indeks on puhas indeksikirjete ehk tiitli ja &URL;-i paaride nimekiri. Indeks ei ole kohustuslik. </para> + </listitem> + </varlistentry> +</variablelist> +<!-- FIXME: End --> + +</sect3 +> <!-- setup-docu-general-toc-files --> + +<sect3 id="setup-docu-general-devhelp"> +<title +>DevHelpi dokumentatsioon</title> + +<para +>DevHelpi dokumentatsioon on veel üks struktureeritud dokumentatsiooni liik. See kasutab struktureeritud sisukorrafaile laiendiga <filename +>.devhelp</filename +> (põhimõtteliselt sarnased <link linkend="setup-docu-general-toc-files" +>&kdevelop;i TOC-failidele</link +>) GNOME2 töölaua dokumentatsiooni näitamiseks. </para> +<para +>Seda, millised DevHelpi failid on kasutada, saab seadistada <guilabel +>DevHelpi dokumentatsioonikogu</guilabel +> dialoogis. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-docu-devhelp.png" format="PNG"/> + </imageobject> + <caption +><para +>DevHelpi dokumentatsiooni hankimine </para +></caption> + </mediaobject> +</screenshot> + +<para +>DevHelpi failid leidusid algselt <ulink url="http://lidn.sourceforge.net/" +>LiDN</ulink +> veebileheküljel, kuid paistab, et seda saiti pole tükk aega hooldatud. Uuema DevHelpi dokumentatsiooni leiab <ulink url="http://htmlhelp.berlios.de/books/devhelp.php" +>DevHelpi raamatute allalaadimise</ulink +> veebileheküljelt. </para> + +<para +>&kdevelop; püüab paigaldamise ajal leida <filename +>.devhelp</filename +>-faile standardsetest asukohtadest süsteemis, ⪚ kataloogi <filename class="directory" +>/opt/gnome/share/</filename +> alamkataloogidest. Esialgu ei ole need failid märgitud näidatavaks. Kui soovid neid näha, märgi vastavad kastid <link linkend="setup-docu-columns" +>seadistustedialoogi</link +> veerus <guilabel +>Sisukord</guilabel +>. </para> + +<para +>Uusi kirjeid saab lisada nimekirjast paremal paiknevate <link linkend="setup-docu-buttons" +>nuppudega</link +>. &kdevelop; filtreerib <filename +>*.toc</filename +>-failid failidialoogis, mille saad avada nuppe <guibutton +>Lisa</guibutton +> ja <guibutton +>Redigeeri</guibutton +> kasutades. </para> + +</sect3 +> <!-- setup-docu-general-devhelp --> + +<sect3 id="setup-docu-general-custom"> +<title +>Kohandatud dokumentatsioonikogu seadistamine</title> + +<para +>See on mõeldud sinu enda vajadusteks. Sa võid siin lisada peaaegu mis tahes dokumentatsioonifaile, kui vaid &konqueror;i pluginad oskavad neid näidata. </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-docu-custom.png" format="PNG"/> + </imageobject> + <caption +><para +>Kohandatud dokumentatsiooni hankimine </para +></caption> + </mediaobject> +</screenshot> + +<para +>Tavaliselt on see kogu &kdevelop;i esimesel käivitamisel tühi. Me oleme siin selle täitnud lihtsalt kirjestruktuuri näitamise huvides. </para> +<para +>Seadistamine on lihtne. Nimekirjast paremal paiknevate <link linkend="setup-docu-buttons" +>nuppudega</link +> saad dokumendikirjeid lisada, eemaldada või muuta. &kdevelop; ei filtreeri antud juhul midagi failidialoogis, mille saad avada pärast klõpsamist nupule <guibutton +>Lisa</guibutton +> või <guibutton +>Redigeeri</guibutton +>. </para> + +<para +>Sa pead konkreetselt valima kirjed, mida tahad näha &kdevelop;i dokumentatsioonikaardil. Märgi selleks vastavad kastid <link linkend="setup-docu-columns" +>seadistustedialoogi</link +> veerus <guilabel +>Sisukord</guilabel +>. </para> + +<note +><para +>Kohandatud dokumentatsiooni ei saa indekseerida ega selles otsida. Seepärast on ka veergude <guilabel +>Indeks</guilabel +> ja <guilabel +>Otsing</guilabel +> märkekastid mitteaktiivsed. </para +></note> + +</sect3 +> <!--- setup-docu-general-custom --> + +</sect2 +> <!-- setup-docu-general --> + +<sect2 id="setup-docu-textsearch"> +<title +>Tekstiotsingu indeksite seadistamine</title> + +<para +>(... veel kirjutamata ...) </para> + +<screenshot> + <mediaobject> + <imageobject> + <imagedata fileref="configure-doctree-textsearch.png" format="PNG"/> + </imageobject> + <caption +><para +>Tekstiotsingu indeksite seadistamine </para +></caption> + </mediaobject> +</screenshot> + +</sect2 +> <!-- setup-docu-textsearch --> + +<sect2 id="setup-docu-other"> +<title +>Muud dokumentatsiooniseadistused</title> + +<para +>(... veel kirjutamata ...) </para> + +</sect2 +> <!-- setup-docu-other --> + +</sect1 +> <!-- setup-docu --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="setup-advanced"> +<title +>Muud seadistused</title> + +<para +>(... veel kirjutamata ...) </para> + +<sect2 id="setup-plugins"> +<title +>Pluginatööriistad</title> + +<para +>(... veel kirjutamata ...) </para> +</sect2 +> <!-- setup-plugins --> + +</sect1 +> <!-- setup-advanced --> + +</chapter +> <!-- setup --> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/survey-manual.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/survey-manual.docbook new file mode 100644 index 00000000000..a8e5d61b785 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/survey-manual.docbook @@ -0,0 +1,329 @@ +<chapter id="survey-manual"> +<title +>Mida käsiraamat sisaldab</title> + +<para +>Käesolev kasutaja käsiraamat kirjeldab integreeritud arenduskeskkonna (IDE) &kdevelop; &kdevrelease; kasutamist kasutaja vaatevinklist. See ei ole programmeerimise käsiraamat ega kirjelda ka üksikasjalikult arendustegevust ennast. Selle ainuke siht on anda juhiseid, kuidas IDE-s hakkama saada. </para> +<para +>Käsiraamatust leiab infot järgmiste teemade kohta: </para> +<variablelist> +<varlistentry> +<term +><link linkend="getting-started" +>&kdevelop;i algõpe — tutvustav ülevaade</link +> </term> +<listitem> +<para +>Pakub kiirtutvustuse &IDE; kasutamise kohta ja näitab lühidalt, kuidas oma projektiga tööd teha.</para +></listitem> +</varlistentry> + +<varlistentry> +<term +><link linkend="kdevelop-survey" +>&kdevelop;i omaduste ülevaade</link +></term> +<listitem> +<para +>Laiendab eelmise peatüki algtutvustust ning annab ülevaate &kdevelop;i paljudest omadustes, muutes nii &IDE; sulle omasemaks.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><link linkend="setup" +>&kdevelop;i seadistamine</link +></term> +<listitem> +<para +>Selgitab, kuidas kohandada &IDE; just enda vajadustele.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><link linkend="applicationwizard" +>Alustamine: &appwizard;</link +></term> +<listitem> +<para +>Kirjeldab lühidalt, kuidas luua &kdevelop;is uus projekt &appwizard; abil.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><link linkend="editing" +>Redigeerimistööriistad</link +></term> +<listitem> +<para +>Kõik, mida on vaja lähtekoodi kirjapanemiseks: alates redaktori kasutamisest ja teksti otsimisest nii kohapeal kui kogu projektis kuni uute failide ja klasside kaasamiseni projekti.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><link linkend="file-browsers" +>Failisirvijad</link +></term> +<listitem> +<para +>Tutvustab mitmesuguseid tööriistu, millega uurida oma projekti struktuuri, ning seda, kuidas pääseda ligi failidele, mille kallal soovid tööd teha.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><link linkend="class-browsers" +>Klassisirvijad</link +></term> +<listitem> +<para +>Kirjeldab üht &kdevelop;i võimsamat tööriista, mis lubab liikuda klassi sõltuvustes ning hõlpsasti luua ja kasutada kõiki klasse ja meetodeid, mida vajad. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><link linkend="documentation" +>Dokumentatsioon</link +></term> +<listitem> +<para +>Selgitab, kuidas kasutada &kdevelop;i pakutavat rikkalikku dokumentatsiooni ja kuidas ise seda oma projekti jaoks luua. Kokkuvõtlik, kuid põhjalik &API; dokumentatsioon annab ülevaate kõigist sinu projekti lähtekoodifailidest ning DocBooki-põhisest kasutaja dokumentatsioonist.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><link linkend="project-management" +>Ehitamine ja projektihaldus</link +></term> +<listitem> +<para +>Käsitleb projekti loomist ja haldamist, kirjeldab autoconf'i ja automake'i aluseid ning isetehtud make-failide kujundamist, samuti seda, kuidas kasutada kompilaatori või make'i valikuid enda rakendusele just selliste omaduste andmiseks, mida soovid.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><link linkend="adv-build-management" +>Ehitamise täpsem haldamine</link +></term> +<listitem> +<para +>Näitab, kuidas pakkuda mitmesuguseid ehitamiskonfiguratsioone, mis võimaldavad kompileerida erinevatel platvormidel, ning kuidas luua põimitud süsteem <application +>Qt/embedded</application +> teeki kasutades.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><link linkend="debugger" +>Siluriliides</link +></term> +<listitem> +<para +>Kirjeldab integreeritud siluriliidese <application +>gdb</application +> kasutamist, millega avastada vigu ilma &kdevelop;ist väljumata.</para> +</listitem> +</varlistentry> + +<!-- ### Currently disabled. Probably too specialized programming stuff. Check later again. + <listitem +><para> + <link linkend="python" +>Python</link +> — an overview of how to create Python-based applications in &kdevelop;. + </para +></listitem> + <listitem +><para> + <link linkend="php" +>PHP</link +> — an overview of how to create PHP-based HTML applications in &kdevelop;. + </para +></listitem +>//--> + +<varlistentry> +<term +><link linkend="cvs" +>CVS-i kasutamine</link +></term> +<listitem> +<para +>Tutvustab, kuidas hooldada projekti versioonikontrollisüsteemi CVS abil, mis on lausa hädavajalik teadmine, kui ühe ja sama projekti kallal töötab palju arendajaid.</para> +</listitem> +</varlistentry> +</variablelist> + +<!-- + <listitem +><para> + <link linkend="kdevelop-scripting" +>Scripting &kdevelop;</link +> — describes how to add scripts to automate &kdevelop;. + </para +></listitem> + + + <listitem +><para> + Some commonly used information has been put into the <emphasis +>appendix</emphasis +>. Amongst others this consists of: +--> +<para +>Osa samuti üsna vajalikku infot on koondatud <emphasis +>lisasse</emphasis +>, sealhulgas: </para> + +<variablelist> +<varlistentry> +<term +><link linkend="kdevelop-install" +>&kdevelop;i paigaldamine</link +></term> +<listitem> +<para +>Räägib, kust hankida &kdevelop; ja kuidas see paigaldada.</para> +</listitem> +</varlistentry> +</variablelist> + +<variablelist> +<varlistentry> +<term +><link linkend="nutshell" +>Paari sõnaga — nipid ja nõuanded</link +></term> +<listitem> +<para +>Kiirülevaade levinumatest käskudest ja toimingutest ning põgusad juhised levinumate probleemide lahendamiseks &kdevelop;i kasutamisel.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><link linkend="unixdev" +>&UNIX; ja arendamine</link +></term> +<listitem> +<para +>Ajalooline ülevaade arendamisest &UNIX; keskkonnast, selleks vajalikud põhitööriistad ning &IDE; vajalikkuse selgitamine.</para> +</listitem> +</varlistentry> + +<!-- + <listitem +><para> + <link linkend="app-menus" +>Menus and Toolbars Overview</link +> — provides you with a short overall view of the menu and toolbar selections available. + </para +></listitem> + + <listitem +><para> + <link linkend="app-shortcuts" +>Shortcut Keys</link +> — the keys you can use to work with &kdevelop; without resorting to the mouse. + </para +></listitem> +--> + +<varlistentry> +<term +><link linkend="app-files" +>&kdevelop;i konfiguratsioonifailid</link +></term> +<listitem +><para +>Loetleb failid, mida &kdevelop; kasutab oma seesmise info salvestamiseks. Sellest on eriti abi, kui paigaldamisel või seadistamisel on midagi valesti läinud.</para> +</listitem> +</varlistentry> + +<varlistentry +><term> +<link linkend="plugin-tools" +>Pluginatööriistad</link> +</term +><listitem +><para +>Loetleb pluginatena kasutatavaid tööriistu, mille abil saab &kdevelop;ile anda mitmesuguseid lisavõimalusi. </para +></listitem +></varlistentry> + +<!-- + <listitem +><para> + <link linkend="plugin-tools" +>Plugin tools</link +> — provides you with an overview of the parts which make up &kdevelop; and how you can tailor it to suit your needs by only loading the parts that are necessary, both IDE and project-wide. + </para +></listitem> +--> +<varlistentry +><term +> +<link linkend="app-uimodes-examples" +>KDevelopi kasutajaliidese režiimide näited </link> +</term +><listitem +><para +>Tutvustab kasutajaliidese režiime. </para +></listitem +></varlistentry> + +<varlistentry +><term> +<link linkend="app-misc-info" +>Täiendav info </link +> </term +><listitem +><para +>Selgitab, kust hankida infot, kuhu anda teada vigadest jne. </para +></listitem +></varlistentry> + +<varlistentry +><term> +<link linkend="app-changelog" +>Muutuste logi </link> +</term +><listitem +><para +>Näitab käesoleva käsiraamatu muudatuste ajalugu. </para +></listitem +></varlistentry> + +<varlistentry +><term> +<link linkend="app-bibliography" +>Bibliograafia </link +> +</term +><listitem +><para +>Bibliograafia </para +></listitem +></varlistentry> + +</variablelist +> + <!-- + <listitem +><para> + <link linkend="documentation-index" +>Index </link +> — + </para +></listitem> +--> + + +</chapter> diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/unixdev.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/unixdev.docbook new file mode 100644 index 00000000000..d1df5128d95 --- /dev/null +++ b/tde-i18n-et/docs/kdevelop/kdevelop/unixdev.docbook @@ -0,0 +1,641 @@ +<appendix id="unixdev"> + +<appendixinfo> + <authorgroup> + <author +><firstname +>Bernd</firstname +><surname +>Pol</surname +></author> + <!-- ROLES_OF_TRANSLATORS --> + </authorgroup> +</appendixinfo> + +<title +>&UNIX; arendustegevus</title> + +<indexterm zone="unixdev" +><primary +>arendus</primary +></indexterm> +<indexterm zone="unixdev"> + <primary +>&UNIX;</primary> + <secondary +>arendus</secondary +></indexterm> + +<sect1 id="history"> +<title +>Mõned märkused ajaloo kohta</title> + +<indexterm zone="history" +><primary +>ajalugu</primary +></indexterm> +<indexterm zone="history" +><primary +>skriptikeeled</primary +></indexterm> +<indexterm zone="history"> + <primary +>&UNIX;</primary> + <secondary +>ajalugu</secondary +></indexterm> +<indexterm zone="history"> + <primary +>&UNIX;</primary> + <secondary +>toru</secondary +></indexterm> +<indexterm zone="history"> + <primary +>&UNIX;</primary> + <secondary +>shell</secondary +></indexterm> +<indexterm zone="history"> + <primary +>shell</primary> + <secondary +>&UNIX;</secondary +></indexterm> + +<para +>Algusest peale on &UNIX; maailmas olnud kaks väga erinevat arendusparadigmat. Üks neist on <emphasis +>süsteemi ja rakenduste programmeerimiskeelte</emphasis +> paradigma, mille kohaselt lähtekood tõlgitakse masinkoodiks mingi tõlkeprogrammi abil, milleks on tavaliselt <emphasis +>kompilaator</emphasis +> või <emphasis +>interpretaator</emphasis +>. Selle näiteks on C programmeerimiskeel. &UNIX; oli esimene operatsioonisüsteemi kernel, mis kirjutati sellises kõrgkeeles, mitte aga otseselt masinale orienteeritud assembleris, nagu oli tavaks varem (õigupoolest leiutatigi C keel &UNIX; kerneli ja sellega seotud programmide kirjutamiseks DEC PDP-11 arvutis). </para> +<para +>Teine paradigma on <emphasis +>skriptikeeled</emphasis +>. See arenes koos &UNIX; shelli leiutamisega, mis kujutas endast operatsioonisüsteemi kasutajaliidest — kuid samal ajal samuti programmeerimise kõrgkeel. Shelliskript luuakse mitme väikese programmi abil, ⪚ <command +>grep</command +>, <command +>sed</command +> ja <command +>find</command +>. Iga selline programm on mõeldud väga konkreetseks ülesandeks. Kuid samal ajal saab kõiki selliseid programme siduda üksteisega väga lihtsa mehhanismiga, mida nimetatakse <emphasis +>toruks</emphasis +>. See suunab ühe programmi väljundi teise programmi sisendisse, mis seda siis töötlema asub. Nii tekib väga võimas ja väga paindlik programmeerimise tööriist. </para> +<para +>Ajapikku arenesid mõlemad maailmad. Kui ka C on endiselt kasutusel süsteemi programmeerimiskeelena, siis 1990. aastatel astus tema asemele keerukamate rakenduste loomisel objektorienteeritud ja üldiste laiendustega rikastatud nõbu C++. Programmeerimiskeeli on veel terve hulk, isegi mitmed eakamad on säilitanud oma koha — ⪚ FORTRAN77 ja Ada positsioonid arvudega tegelevates rakendustes pole kuigivõrd nõrgenenud. </para> +</sect1 +> <!-- history --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="unixdev-scripting-languages"> +<title +>Tänapäevased skriptikeeled</title> +<para +>Skriptikeelte vallas on valitsenud trend shellist, mis kannatab mitmete porditavusprobleemide käes, keelte suunas, mis koondavad kogu sagedamini vajamineva funktsionaalsuse standardteekidesse, suutes samal ajal endiselt vajaduse korral suhelda muu maailmaga torude kaudu. </para> +<para +>Kõigi selliste skriptikeelte ühisjooneks on see, et nad on väga hästi porditavad nii &UNIX; variantide, Microsoft &Windows;, &MacOS; või isegi VMS süsteemi. Samuti on kõigil vabalt levitatavad teostused. </para> + +<sect2 id="unixdev-SL-Perl"> +<title +>&perl;</title> + +<indexterm zone="unixdev-SL-Perl" +><primary +>Perl</primary +></indexterm> +<indexterm zone="unixdev-SL-Perl"> + <primary +>skriptikeeled</primary> + <secondary +>Perl</secondary +></indexterm> + +<para +><ulink url="http://www.perl.com" +>&perl;</ulink +> on saanud populaarseks tekstitöötlus- ja süsteemihalduskeelena. Veebi (WWW) algusajal olid &perl;is kirjutatud CGI skriptid väga levinud viis luua andmebaasidest dünaamilisi veebilehekülgi. Tänapäeval on selle üldjuhul asendanud veebiserveri &apache; plugin <command +>mod_perl</command +>. &perl;i tugevate külgede hulka kuulub sisseehitatud tugi regulaaravaldiste igakülgsele kasutamisele ning rikkalik vabalt levitatavate moodulite pagas. </para> +<para +>Rohkem infot jagab veebilehekülg <ulink url="http://cpan.org" +>Comprehensive Perl Archive Network (<acronym +>CPAN</acronym +>)</ulink +>. </para> +</sect2 +> <!-- unixdev-SL-Perl --> + +<sect2 id="unixdev-SL-Python"> +<title +>Python</title> + +<indexterm zone="unixdev-SL-Python" +><primary +>Python</primary +></indexterm> +<indexterm zone="unixdev-SL-Python"> + <primary +>skriptikeeled</primary> + <secondary +>Python</secondary +></indexterm> + +<para +><ulink url="http://www.python.org" +>&python;</ulink +> paistab silma elegantse klasside süsteemiga ning paindlikkusega, mis lubab väliseid teeke siduda moel, et need paistavad lausa &python;i enda standardsete klasside ja funktsioonidena. Erinevalt &perl;ist on &python;il väga selge ja kokkuvõtlik põimitud &API;, mistõttu see on lemmikkeel C ja C++ programmidele skriptimisvõimaluste lisamisel. </para> +</sect2 +> <!-- unixdev-SL-Python --> + +<sect2 id="unixdev-SL-PHP"> +<title +>PHP</title> + +<indexterm zone="unixdev-SL-PHP" +><primary +>PHP</primary +></indexterm> +<indexterm zone="unixdev-SL-PHP"> + <primary +>skriptikeeled</primary> + <secondary +>PHP</secondary +></indexterm> + +<para +><ulink url="http://www.php.net" +>&php;</ulink +> leiutati vahetult &HTML;-lehekülgedele põimitava keelena, mistõttu selle peamiseks kasutusalaks ongi veebi dünaamilise sisu edastamine. </para> +</sect2 +> <!-- unixdev-SL-PHP --> +</sect1 +> <!-- unixdev-scripting-languages --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> +<sect1 id="unixdev-hl-script"> +<title +>Kõrgtaseme skriptikeeled</title> + +<para +>Kõrgtaseme &UNIX; rakendustel puudub tihtipeale traditsiooniliste märkidele orienteeritud shelliskriptimehhanismide kiirus ja paindlikkus. Eriti kehtib see graafiliste kasutajaliideste (&GUI;) korral, ⪚ &kde;. </para> +<para +>Samasuguse mehhanismi pakkumiseks, mis töötaks kõrgtaseme rakenduste tasandil, on tehtud mitu katset, millest äramärkimist väärivad <link linkend="unixdev-corba" +>CORBA</link +> ja &kde; keskkonnas <link linkend="unixdev-dcop" +>&DCOP;</link +>. </para> + +<sect2 id="unixdev-corba"> +<title +>CORBA protokoll</title> + +<indexterm zone="unixdev-corba" +><primary +>CORBA</primary +></indexterm> +<indexterm zone="unixdev-corba"> + <primary +>skriptikeeled</primary> + <secondary +>CORBA</secondary +></indexterm> +<indexterm zone="unixdev-corba"> + <primary +>kommunikatsioon</primary> + <secondary +>CORBA</secondary +></indexterm> + +<para +><ulink url="http://www.omg.org/gettingstarted/corbafaq.htm" +>CORBA</ulink +> (<emphasis +>Common Object Request Broker Architecture</emphasis +> ehk üldine objektipäringu maakleri arhitektuur) kujutab endast katset panna arvuti rakendused üheskoos tööle üle võrgu. Selle töötas välja eraviisiline, tootjatest sõltumatu <ulink url="http://www.omg.org" +>OMG</ulink +> (Object Management Group) standardikomitee. </para> +<para +>CORBA-põhised programmid kasutavad kommunikatsiooniks IIOP protokolli. Seda aluseks võtvad teostused on saadaval paljudele operatsioonisüsteemidele, programmeerimiskeeltele ja võrkudele, mis muudab nad väga hästi porditavaks. </para> +<para +>CORBA peamine miinus on päris suur aeglus. See võib olla talutav võrgus, kuid kujutab endast tõelist takistust rakendustevahelises suhtlemises võrguvälises keskkonnas, näiteks üksikarvutis töötava &kde; puhul. </para> + +</sect2 +> <!-- unixdev-corba --> + +<sect2 id="unixdev-dcop"> +<title +>&DCOP;-liides</title> + +<indexterm zone="unixdev-dcop" +><primary +>DCOP</primary +></indexterm> +<indexterm zone="unixdev-dcop"> + <primary +>skriptikeeled</primary> + <secondary +>DCOP</secondary +></indexterm> +<indexterm zone="unixdev-dcop"> + <primary +>kommunikatsioon</primary> + <secondary +>DCOP</secondary +></indexterm> + +<para +>Teist arengusuunda &UNIX; laadis skriptimise vallas kujutab <ulink url="http://developer.kde.org/documentation/library/kdeqt/dcop.html" +><emphasis +>DCOP</emphasis +></ulink +> protokoll, mis loodi CORBA piirangutest ülesaamiseks &kde; rakenduste vahelise eduka suhtlemise tagamiseks. </para> +<para +>&DCOP; tähendab <emphasis +>Desktop Communication Protocol</emphasis +> ehk töölaua kommunikatsiooniprotokoll ning on teostatud lihtsa IPC/RPC mehhanismina, mis toimib üle soklite. Sisuliselt pakub see umbes samasuguseid võimalusi nagu &UNIX; traditsiooniline torude mehhanism. </para> +<para +>Traditsioonilised shelliskriptid tuginesid üsna vähestele programmidele, mis töötasid rangelt tekstipõhiselt. &DCOP; võimaldab ka keerukatel graafilistel programmidel üksteisega suhteliselt samamoodi suhelda. See lubab ⪚ ühel &kde; programmil saata teateid teisele &kde; programmile või saada andmeid oma vajaduste rahuldamiseks. </para> +<para +>Mõistagi ei ole ka see puudustest päris vaba. &DCOP;-i kasutamiseks peab programm sisaldama spetsiaalset &DCOP;-liidest. Mõnikord töötab ka &DCOP; suhtlemine aeglaselt (ehkki palju kiiremini kui CORBA). Kuid igatahes annab see suure osa &UNIX; skriptikeelte võimsusest ja paindlikkusest kõrgtaseme programmidele, mille aluseks on graafiline kasutajaliides. </para> +<para +>Rohkem infot annavad dokument <ulink url="http://developer.kde.org/documentation/library/kdeqt/dcop.html" +>DCOP: Desktop COmmunications Protocol</ulink +> ja &kde; dcop-teegi &API; dokumentatsioon <ulink url="developer.kde.org/documentation/library/cvs-api/dcop/html/index.html" +>The &DCOP; Desktop Communication Protocol library</ulink +>. </para> +</sect2 +> <!-- unixdev-dcop --> + +</sect1 +> <!-- unixdev-hl-script --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="unixdev-buildsystems"> +<title +>Ehitussüsteemid</title> + +<para +>Kui kõrvale jätta väga lihtsad juhtumid, sisaldab programmeerimisprojekt tavaliselt terve rea lähtekoodi ehitusplokke, mis hooldamise hõlbustamiseks on jagatud failidesse. Kõige selle töölepanemiseks tuleb kogu lähtekood tõlkida masinkeelde kujul, mis lubab operatsioonisüsteemil programmi laadida ja käivitada. </para> +<para +>Selleks on vajalikud järgmised põhitööriistad <itemizedlist> + <listitem +><para +><emphasis +>tekstiredaktor</emphasis +> lähtekoodifailide kirjutamiseks, </para +></listitem> + <listitem +><para +>tõlkeprogramm, tavaliselt <emphasis +>kompilaator</emphasis +>, mis tõlgib lähtekoodi objektifailideks, </para +></listitem> + <listitem +><para +><emphasis +>teegikorraldaja</emphasis +>, mis kogub objektifailid teekidesse, et neid oleks hõlpus uuesti kasutada ilma neid uuesti kompileerimata, </para +></listitem> + <listitem +><para +><emphasis +>linkur</emphasis +>, mis seob mitu objektifaili ja teeki üheks käivitatavaks failiks, </para +></listitem> + <listitem +><para +><emphasis +>ehitussüsteem</emphasis +>, mis lubab kogu kraami hallata — ja mõistagi </para +></listitem> + <listitem +><para +><emphasis +>silur</emphasis +>, mis leiab üles (loodetavasti) kõik programmis esinevad vead, ning võib-olla veel mõned diagnostikatööriistad, et kõik võimalikult sujuvalt töötaks. </para +></listitem> +</itemizedlist> +</para> + +<para +>Kui sul on suur projekt, mis koosneb sadadest lähtekoodifailidest, võib kompileerimine olla üsna vaevarikas protsess. Kindlasti ei soovi sa kõiki faile uuesti kompileerida iga kord, kui oled ainult mõnda neist muutnud. Selle asemel on palju mõttekam uuesti kompileerida ainult muudatustega failid. Kuid sageli pole väga lihtne aru saada, millised failid just vajavad ümberkompileerimist. </para> +<para +>Kui ⪚ muudad funktsiooni prototüüpi päisefailis, pead kompileerima kõik failid, mis kaasavad antud päisefaili. Kui sinu projektis on neid palju, võib sul kergesti mõnigi vahele jääda, kui teed seda käsitsi. Siin tuleb appi automatiseerimine. </para> + +<sect2 id="unixdev-buildsystems-make"> +<title +>Ehitusprotsess</title> + +<indexterm zone="unixdev-buildsystems-make"> + <primary +>make</primary +></indexterm> +<indexterm zone="unixdev-buildsystems-make"> + <primary +>Makefile</primary +></indexterm> +<indexterm zone="unixdev-buildsystems-make"> + <primary +>reegel</primary +></indexterm> +<indexterm zone="unixdev-buildsystems-make"> + <primary +>ümberkompileerimine</primary +></indexterm> +<indexterm zone="unixdev-buildsystems-make"> + <primary +>sihtmärk</primary +></indexterm> +<indexterm zone="unixdev-buildsystems-make"> + <primary +>sõltuvused</primary +></indexterm> +<indexterm zone="unixdev-buildsystems-make"> + <primary +>käsud</primary +></indexterm> + +<para +>Tööriist, mis hoolitseb ümberkompileerimise eest, kannab nime <command +>make</command +>. See hoiab silma peal kogu tööl, kasutades selleks <emphasis +>reegleid</emphasis +>, mis kirjeldavad, mida võtta ette, kui mingi osa infost (tavaliselt lähtekoodi- või objektkoodifail) on muutunud. Kõik konkreetse projekti reeglid on salvestatud niinimetatud <filename +>Makefile</filename +>'i, mida <command +>make</command +> töötleb iga kord, kui soovid oma tööd uuendada. </para> +<para +>Iga reegel koosneb mitmest ehitusplokist, nimelt <itemizedlist> + <listitem +><para +><emphasis +>sihtmärk</emphasis +>, &ie; ehitatav fail </para +></listitem> + <listitem +><para +>valik <emphasis +>sõltuvusi</emphasis +> ehk nende failide nimed, millest sihtmärk sõltub (⪚ lähtekoodifaili nimi, kus siis sihtmärgiks saab ehitatava objektifaili nimi) ja </para +></listitem> + <listitem +><para +><emphasis +>käsud</emphasis +>, mis tuleb käivitada sihtmärgi <quote +>ehitamiseks</quote +> (&ie; kompileerimiseks või linkimiseks teiste objektifailidega käivitatava programmifaili ehitamiseks). </para +></listitem> +</itemizedlist> +</para> +<para +>Põhimõtteliselt loeb käsk <command +>make</command +> üksteise järel kõik reeglid, kontrollib iga faili antud sihtmärgi sõltuvuste nimekirja ja ehitab sihtmärgi uuesti, kui mõni neist failidest on muutunud, kasutades selleks reeglis toodud käske. </para> +<para +>Ehitamisprotsessi juhtimiseks on mitmeid lisavõimalusi, mistõttu <filename +>Makefile</filename +> võib muutuda päris keeruliseks. Siinkohal ei jagu ruumi ega aega seda pikemalt tutvustada. Kuid me soovitame sul endal käsu <command +>make</command +> süntaks omandada. Isegi kui sa tavaliselt ei kasuta seda vahetult, tuleb ehitussüsteemi mõistmine kindlasti kasuks. Täpsemat infot annab <ulink url="info://make/Top" +><quote +>GNU Make Manual</quote +></ulink +>. </para> +<para +>&kdevelop;i spetsiifikast kõneleb lähemalt peatükk <link linkend="project-management" +>Ehitamine ja projektihaldus</link +>. </para> +<para +>Uurida tasuks ka mitmeid õppematerjale, mille kohta vaata <link linkend="automake-references" +>viiteid</link +> ehitamise ja projektihalduse peatükis. </para> +</sect2 +> <!-- unixdev-buildsystems-make --> + +</sect1 +> <!-- unixdev-buildsystems --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="unixdev-guidevelopment"> +<title +>&GUI; arendus</title> + +<indexterm zone="unixdev-guidevelopment"> + <primary +>GUI</primary +></indexterm> +<indexterm zone="unixdev-guidevelopment"> + <primary +>graafiline kasutajaliides</primary +></indexterm> +<indexterm zone="unixdev-guidevelopment"> + <primary +>kasutajaliides</primary> + <secondary +>GUI</secondary +></indexterm> + +<para +>Rakenduste arendajatele seab lisakoorma vajadus pakkuda mitte ainult programmi teeke ja head loogikat, vaid ka hõlpsasti kasutatava ja kohandatava kasutajaliidese, mis oleks korraga nii kasutaja huve arvestav kui ka funktsionaalne. Enamik arendajatest ei ole &GUI; väljatöötamise teemal peaaegu mingit väljaõpet saanud, mistõttu kasutajaliidesed on sageli mitte just kõige ilusamad ja paremad. </para> +<para +>Aastatega on siiski tekkinud teatud üldlevinud kujunduspõhimõtted. Väga soovitatav on neid vähemalt põhijoontes järgida, sest nii omandab sinu rakenduse kasutajaliides sellise välimuse, mida kasutajad ei pea võõristama, vaid mis tundub neile algusest peale omane. </para> +<para +>&kde; &GUI; arendamise jaoks on olemas ka stiilijuhend. Selle leiab &kde; arendajate veebileheküljelt: <ulink url="http://developer.kde.org/documentation/standards/kde/style/basics/index.html" +>&kde; User Interface Guidelines</ulink +>. </para> +<para +>Lühitutvustuse &GUI; üldiste kujunduspõhimõtete kohta leiab <ulink url="http://axp16.iie.org.mx/Monitor/v01n03/ar_ihc2.htm" +>siit</ulink +>. </para> + +</sect1 +> <!-- unixdev-guidevelopment --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id="unixdev-ide"> +<title +>Kontseptsioonide ja tööriistade lõimimine – IDE</title> + +<indexterm zone="unixdev-ide"> + <primary +>IDE</primary +></indexterm> +<indexterm zone="unixdev-ide"> + <primary +>integreeritud arenduskeskkond</primary +></indexterm> +<indexterm zone="unixdev-ide"> + <primary +>arendus</primary> + <secondary +>IDE</secondary +></indexterm> +<indexterm zone="unixdev-ide"> + <primary +>keskkond</primary> + <secondary +>IDE</secondary +></indexterm> + +<para +>Omad tööriistad on olemas peaaegu iga programmeerimise sammu jaoks — planeerimine, redigeerimine, failihaldus ja kompileerimine, silumine, dokumentatsioon ja nii edasi. Kui aga projekt suuremaks muutub, võib nende eraldi kasutamine olla üpris tülikas. </para> +<para +>Programmi kujundamisel, kompileerimisel ja silumisel tuleb teha hulk üsna rutiinset tööd. Paljugi vaeva on võimalik säästa malle ja skripte kasutades. Veelgi parem on aga kõik vajalikud tööriistad koondada ühtekokku ühise &GUI; raamesse. </para> +<para +>Näiteks — kas poleks mugav, kui silur saaks vajaliku lähtekoodifaili avada redaktoris ja oskaks viia kursori otse kohta, kust leiti viga? </para> +<para +>Selliste vajaduste rahuldamiseks ongi mõeldud <emphasis +>integreeritud arenduskeskkond</emphasis +> (&IDE;). &IDE; lõimib ühte keskkonda kõik mallid, tööriistad ja skriptid, mida enamasti arendamise käigus vaja läheb. </para> +<para +>&kde; jaoks on selline &IDE; &kdevelop;. See pakub tervet hulka tööriistu, mis hõlbustavad programmide arendamist ja hooldamist, võimaldades töötada ka mitmetes programmeerimiskeeltes ning erinevaid platvorme arvestades. </para> + +<sect2 id="unixdev-ide-kdevelop"> +<title +>&kdevelop; &kdevrelease; põhiomadused</title> + +<indexterm zone="unixdev-ide-kdevelop"> + <primary +>&kdevelop;</primary> + <secondary +>omadused</secondary +></indexterm> +<indexterm zone="unixdev-ide-kdevelop"> + <primary +>omadused</primary +></indexterm> + +<!-- ### copied from web page, needs to be updated --> + +<itemizedlist> + <listitem> + <para +>Haldab kõiki <emphasis +>arendustööriistu</emphasis +>, mida on vaja C++ programmeerimiseks (kompilaator, linkur, silur, ehitussüsteem).</para> + </listitem> + <listitem> + <para +>Pakub välja <emphasis +>&appwizard;</emphasis +>, millega saab luua terviklikke, kohe kasutamiseks valmis mallrakendusi.</para> + </listitem> + <listitem> + <para +>Võimaldab kasutajal valida <emphasis +>põimitud redaktore</emphasis +>, mille aluseks on &kde; programmeerija redaktor &kwrite;, Trolltechi <application +>QEditor</application +> või midagi muud.</para> + </listitem> + <listitem> + <para +>Pakub välja <emphasis +>klasside generaatori</emphasis +> uute klasside loomiseks ja lisamiseks töösolevasse projekti.</para> + </listitem> + <listitem> + <para +><emphasis +>Failihaldus</emphasis +> lähtekoodifailide, päisefailide, dokumentatsiooni &etc; tarbeks, mida soovid kaasata projekti.</para> + </listitem> + <listitem> + <para +>Abistamine <emphasis +>rakenduse käsiraamatu</emphasis +> loomisel, mis on kirja pandud &kde; tööriistadega.</para> + </listitem> + <listitem> + <para +>Automaatne &HTML;-põhine <emphasis +>&API; dokumentatsioon</emphasis +> projekti klasside jaoks ristviidetega kasutatud teekidele.</para> + </listitem> + <listitem> + <para +><emphasis +>Internatsionaliseerimise tugi</emphasis +>, mis lubab tõlkijatel lisada vähese vaevaga projekti oma sihtkeele (sealhulgas &kbabel;i toetus).</para> + </listitem> + <listitem> + <para +>Tugi projektide haldamiseks mõne <emphasis +>versioonikontrollisüsteemiga</emphasis +> (⪚ &CVS;), milleks on mõeldud enamikku vajadusi rahuldav kasutajaliides.</para> + </listitem> + <listitem> + <para +>Integreeritud <emphasis +>siluriliides</emphasis +>.</para> + </listitem> + <listitem> + <para +>Integreeritud <emphasis +>shellikonsooli</emphasis +> emulaator.</para> + </listitem> + <listitem> + <para +>Lähtekoodi <emphasis +>süntaksi esiletõstmine</emphasis +>.</para> + </listitem> + <listitem> + <para +><emphasis +>Automaatse koodilõpetuse</emphasis +> võimalus klassi muutujate, klassi meetodite, funktsiooni argumentide ja palju muu korral.</para> + </listitem> + <listitem> + <para +><emphasis +>Mallid erinevate projektide loomiseks</emphasis +> &juhtimiskeskus;e moodulid, &kicker;i (paneeli) apletid, KIO-moodulid, &konqueror;i pluginad ja töölauastiilid).</para> + </listitem> + <listitem> + <para +>Neli <emphasis +>liikumisvaadet</emphasis +> hõlpsaks lülitumiseks lähtekoodifailide, päisefailide, klasside ja dokumentatsiooni vahel, mis kõrvaldab vajaduse kasutada välist failihaldurit.</para> + </listitem> + <listitem> + <para +><emphasis +>Krosskompileerimise tugi</emphasis +> ühes võimalusega määrata erinevaid kompilaatoreid, kompilaatorite lippe, sihtmärgi arhitektuuri &etc;</para> + </listitem> + <listitem> + <para +><emphasis +>Qt/Embedded projektide</emphasis +> tugi (näiteks Zaurus ja iPAQ).</para> + </listitem> + <listitem> + <para +><emphasis +>Mis tahes programmi kaasamise</emphasis +> võimalus, mida vajad arendamiseks, seda menüüsse <guimenuitem +>Tööriistad</guimenuitem +> lisades.</para> + </listitem> +</itemizedlist> + +</sect2 +> <!-- unixdev-ide-kdevelop --> + +</sect1 +> <!-- unixdev-ide --> + +</appendix +> <!-- unixdev --> + |