From f7e7a923aca8be643f9ae6f7252f9fb27b3d2c3b Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sat, 3 Dec 2011 11:05:10 -0600 Subject: Second part of prior commit --- tde-i18n-et/docs/kdevelop/Makefile.am | 4 - tde-i18n-et/docs/kdevelop/Makefile.in | 587 --- .../docs/kdevelop/kde_app_devel/Makefile.am | 4 - .../docs/kdevelop/kde_app_devel/Makefile.in | 635 --- .../docs/kdevelop/kde_app_devel/index.cache.bz2 | Bin 22946 -> 0 bytes .../docs/kdevelop/kde_app_devel/index.docbook | 1870 --------- tde-i18n-et/docs/kdevelop/kdearch/Makefile.am | 4 - tde-i18n-et/docs/kdevelop/kdearch/Makefile.in | 635 --- tde-i18n-et/docs/kdevelop/kdearch/index.cache.bz2 | Bin 29922 -> 0 bytes tde-i18n-et/docs/kdevelop/kdearch/index.docbook | 3680 ------------------ tde-i18n-et/docs/kdevelop/kdevelop/Makefile.am | 4 - tde-i18n-et/docs/kdevelop/kdevelop/Makefile.in | 635 --- .../kdevelop/kdevelop/adv-build-management.docbook | 174 - .../docs/kdevelop/kdevelop/app-changelog.docbook | 87 - .../docs/kdevelop/kdevelop/app-files.docbook | 1684 -------- .../docs/kdevelop/kdevelop/app-menu.docbook | 72 - .../docs/kdevelop/kdevelop/app-misc-info.docbook | 28 - .../kdevelop/kdevelop/app-uimodes-examples.docbook | 174 - .../kdevelop/kdevelop/applicationwizard.docbook | 1387 ------- .../docs/kdevelop/kdevelop/class-browsers.docbook | 89 - .../docs/kdevelop/kdevelop/commands.docbook | 2999 -------------- tde-i18n-et/docs/kdevelop/kdevelop/credits.docbook | 40 - tde-i18n-et/docs/kdevelop/kdevelop/cvs.docbook | 131 - .../docs/kdevelop/kdevelop/debugger.docbook | 339 -- .../docs/kdevelop/kdevelop/documentation.docbook | 73 - tde-i18n-et/docs/kdevelop/kdevelop/editing.docbook | 608 --- .../docs/kdevelop/kdevelop/file-browsers.docbook | 67 - .../docs/kdevelop/kdevelop/getting-started.docbook | 4102 -------------------- tde-i18n-et/docs/kdevelop/kdevelop/index.cache.bz2 | Bin 103555 -> 0 bytes tde-i18n-et/docs/kdevelop/kdevelop/index.docbook | 694 ---- .../kdevelop/kdevelop/kdevelop-install.docbook | 1290 ------ .../kdevelop/kdevelop/kdevelop-scripting.docbook | 74 - .../docs/kdevelop/kdevelop/kdevelop-survey.docbook | 778 ---- .../docs/kdevelop/kdevelop/nutshell.docbook | 370 -- .../docs/kdevelop/kdevelop/plugin-tools.docbook | 731 ---- .../kdevelop/kdevelop/project-advanced.docbook | 111 - .../kdevelop/kdevelop/project-management.docbook | 1295 ------ tde-i18n-et/docs/kdevelop/kdevelop/setup.docbook | 3011 -------------- .../docs/kdevelop/kdevelop/survey-manual.docbook | 329 -- tde-i18n-et/docs/kdevelop/kdevelop/unixdev.docbook | 641 --- 40 files changed, 29436 deletions(-) delete mode 100644 tde-i18n-et/docs/kdevelop/Makefile.am delete mode 100644 tde-i18n-et/docs/kdevelop/Makefile.in delete mode 100644 tde-i18n-et/docs/kdevelop/kde_app_devel/Makefile.am delete mode 100644 tde-i18n-et/docs/kdevelop/kde_app_devel/Makefile.in delete mode 100644 tde-i18n-et/docs/kdevelop/kde_app_devel/index.cache.bz2 delete mode 100644 tde-i18n-et/docs/kdevelop/kde_app_devel/index.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdearch/Makefile.am delete mode 100644 tde-i18n-et/docs/kdevelop/kdearch/Makefile.in delete mode 100644 tde-i18n-et/docs/kdevelop/kdearch/index.cache.bz2 delete mode 100644 tde-i18n-et/docs/kdevelop/kdearch/index.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/Makefile.am delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/Makefile.in delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/adv-build-management.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/app-changelog.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/app-files.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/app-menu.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/app-misc-info.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/app-uimodes-examples.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/applicationwizard.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/class-browsers.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/commands.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/credits.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/cvs.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/debugger.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/documentation.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/editing.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/file-browsers.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/getting-started.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/index.cache.bz2 delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/index.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-install.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-scripting.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-survey.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/nutshell.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/plugin-tools.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/project-advanced.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/project-management.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/setup.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/survey-manual.docbook delete mode 100644 tde-i18n-et/docs/kdevelop/kdevelop/unixdev.docbook (limited to 'tde-i18n-et/docs/kdevelop') diff --git a/tde-i18n-et/docs/kdevelop/Makefile.am b/tde-i18n-et/docs/kdevelop/Makefile.am deleted file mode 100644 index f6c3e2e278a..00000000000 --- a/tde-i18n-et/docs/kdevelop/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 2842cd1e8a0..00000000000 --- a/tde-i18n-et/docs/kdevelop/Makefile.in +++ /dev/null @@ -1,587 +0,0 @@ -# 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/tdevelop -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ -#>- html-recursive info-recursive install-data-recursive \ -#>- install-dvi-recursive install-exec-recursive \ -#>- install-html-recursive install-info-recursive \ -#>- install-pdf-recursive install-ps-recursive install-recursive \ -#>- installcheck-recursive installdirs-recursive pdf-recursive \ -#>- ps-recursive uninstall-recursive -#>+ 7 -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -#>+ 1 -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -ARTSCCONFIG = @ARTSCCONFIG@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CONF_FILES = @CONF_FILES@ -CYGPATH_W = @CYGPATH_W@ -DCOPIDL = @DCOPIDL@ -DCOPIDL2CPP = @DCOPIDL2CPP@ -DCOPIDLNG = @DCOPIDLNG@ -DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ -DEFS = @DEFS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -GMSGFMT = @GMSGFMT@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ -KCONFIG_COMPILER = @KCONFIG_COMPILER@ -KDECONFIG = @KDECONFIG@ -KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ -KDE_RPATH = @KDE_RPATH@ -KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ -MCOPIDL = @MCOPIDL@ -MEINPROC = @MEINPROC@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XMLLINT = @XMLLINT@ -X_RPATH = @X_RPATH@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -am__leading_dot = @am__leading_dot@ -am__tar = @am__tar@ -am__untar = @am__untar@ -#>- bindir = @bindir@ -#>+ 2 -DEPDIR = .deps -bindir = @bindir@ -build_alias = @build_alias@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -kde_appsdir = @kde_appsdir@ -kde_bindir = @kde_bindir@ -kde_confdir = @kde_confdir@ -kde_datadir = @kde_datadir@ -kde_htmldir = @kde_htmldir@ -kde_icondir = @kde_icondir@ -kde_kcfgdir = @kde_kcfgdir@ -kde_libs_htmldir = @kde_libs_htmldir@ -kde_libs_prefix = @kde_libs_prefix@ -kde_locale = @kde_locale@ -kde_mimedir = @kde_mimedir@ -kde_moduledir = @kde_moduledir@ -kde_servicesdir = @kde_servicesdir@ -kde_servicetypesdir = @kde_servicetypesdir@ -kde_sounddir = @kde_sounddir@ -kde_styledir = @kde_styledir@ -kde_templatesdir = @kde_templatesdir@ -kde_wallpaperdir = @kde_wallpaperdir@ -kde_widgetdir = @kde_widgetdir@ -tdeinitdir = @tdeinitdir@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xdg_appsdir = @xdg_appsdir@ -xdg_directorydir = @xdg_directorydir@ -xdg_menudir = @xdg_menudir@ -KDE_LANG = et -#>- SUBDIRS = $(AUTODIRS) -#>+ 1 -SUBDIRS =. kde_app_devel tdevelop 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/tdevelop/Makefile'; \ -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu docs/tdevelop/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/tdevelop/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu docs/tdevelop/Makefile - cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdevelop/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/tdevelop/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu docs/tdevelop/Makefile - cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdevelop/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 deleted file mode 100644 index f6c3e2e278a..00000000000 --- a/tde-i18n-et/docs/kdevelop/kde_app_devel/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 82e9f0f4130..00000000000 --- a/tde-i18n-et/docs/kdevelop/kde_app_devel/Makefile.in +++ /dev/null @@ -1,635 +0,0 @@ -# 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/tdevelop/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@ -tdeinitdir = @tdeinitdir@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xdg_appsdir = @xdg_appsdir@ -xdg_directorydir = @xdg_directorydir@ -xdg_menudir = @xdg_menudir@ -KDE_LANG = 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/tdevelop/kde_app_devel/Makefile'; \ -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu docs/tdevelop/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/tdevelop/kde_app_devel/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu docs/tdevelop/kde_app_devel/Makefile - cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdevelop/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/tdevelop/kde_app_devel/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu docs/tdevelop/kde_app_devel/Makefile - cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdevelop/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 deleted file mode 100644 index 59613ac0e8b..00000000000 Binary files a/tde-i18n-et/docs/kdevelop/kde_app_devel/index.cache.bz2 and /dev/null differ diff --git a/tde-i18n-et/docs/kdevelop/kde_app_devel/index.docbook b/tde-i18n-et/docs/kdevelop/kde_app_devel/index.docbook deleted file mode 100644 index 38e4af95b82..00000000000 --- a/tde-i18n-et/docs/kdevelop/kde_app_devel/index.docbook +++ /dev/null @@ -1,1870 +0,0 @@ - -KDevelop"> - - - -]> - - - - -&tdevelop;i programmeerimise käsiraamat - -2002-12-05 -2.0 - - -Ralf Nolden
Ralf.Nolden@post.rwth-aachen.de
-
-Caleb Tennis
caleb@aei-tech.com
-
-
- - -1999 -Ralf Nolden - - -2002 -Caleb Tennis - - - - -&FDLNotice; - - -C++ rakenduste kujundamise käsiraamat KDE töökeskkonnas &tdevelop;i IDE-ga - - - -KDE -KDevelop -IDE -arendus -programmeerimine - - -
- - -Sissejuhatus -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. - - -Mida oleks vaja eelnevalt teada -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 &tdevelop;. Seda on kõige mõistlikum teha &tdevelop;i kasutaja käsiraamatut lugedes, mis sisaldab korraliku ülevaate kõige kohta, mida see arenduskeskkond (IDE) pakub. - - - -Käsiraamatu info -Käesoleva käsiraamatu siht on pakkuda arendajatele sissejuhatust KDE rakenduste arendamisse integreeritud arenduskeskkonna KDevelop abil. -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. -Lisaks tutvustame üksikasjalikult vidinate loomist ning vaatleme kõigi pakutavate vidinate omaduste seadistamise võimalusi. -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. - -Järgmises peatükis -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 &tdevelop;i suurepäraseid omadusi. - - - -Järgmistes peatükkides -Saad teada, kuidas: -Luua rakendus Rakenduse nõustajaga -Mida sisaldab projekti mall -Mida kujutab endast mallina loodav kood -Kuidas luua omaenda vaateid -Kuidas laiendada oma rakenduse võimalusi dialoogide ning menüü- ja tööriistaribadega -Kuidas muuta oma rakendus kasutajasõbralikuks mitmekülgset abi pakkudes -Kuidas kirjutada dokumentatsiooni - - - - - - - -Lisainfo -Qt/KDE programmeerimise kohta leiab lisainfot paljudest allikatest: -Programming with Qt, autor: Matthias Kalle Dalheimer -KDevelopi kasutaja käsiraamat (kuulub KDevelopi IDE koosseisu) -Qt teegi dokumentatsioon võrgus -KDE arendajate veebilehekülg - - -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++. -KDevelopi IDE kohta võib abi leida meililistist tdevelop@tdevelop.org. 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. - - - - - -KDE ja Qt teegid -Norra firma TrollTech (http://www.trolltech.com) 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. -KDE meeskond (http://www.kde.org) 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. -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. - - -Qt GUI tööriistakomplekt -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: -Täielikku klasside ja meetodite kogumit, mida saab kasutada ka mittegraafiliste programmeerimisülesannete tarbeks -Häid lahendusi kasutaja interaktsiooniks virtuaalsete meetodite ning signaali/pesa mehhanismi vahendusel -Valikut eelmääratletud GUI elemente ehk "vidinaid", mille abil on hõlpus luua kasutajale nähtavaid elemente -Lisaks täielikku valikut eelmääratletud dialooge, mida rakendustes sageli tarvitatakse, näiteks edenemis- ja failidialoogid - - -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. - - -Esimene Qt rakendus -Nagu ikka, peavad C++ programmid sisaldama funktsiooni main(), 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: #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(); -} - - -See rakendus lihtsalt joonistab akna, milles on nupp, millel on tekst "Hello world". Nagu kõigi Qt rakenduste puhul, tuleb esmalt luua klassi QApplication eskemsplar, mida tähistab muutuja a. -Seejärel loob programm klassi QPushButton eksemplari nimega hello, mis ongi nupp. hello konstruktor saab parameetrina stringi, mis on vidina sisu, mida näeb nupu tekstina. -Seejärel kutsutakse hello nupule välja meetod resize(). See muudab vidina (antud juhul on selleks QPushButton) 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 a.exec(), see siseneb põhisilmusesse ning ootab, kuni saab tagastada operatsioonisüsteemile täisarvväärtuse, mis annab märku, et rakendus on töö lõpetanud. - - - -Qt dokumentatsioon -Heidame nüüd põgusa pilgu Qt teegi dokumentatsioonile. Selleks käivita &tdevelop; 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 QApplication ja QPushButton - vali klasside tähestikuline register ja otsi sealt vajalikud nimed üles. Neile klõpsates näedki antud klassi kirjeldust. -Teine võimalus on uurida Trolltechi Qt dokumentatsiooni võrgus. -QApplication 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. - -Näidise tõlgendamine -Võttes alustuseks ette klassi QApplication, siis meie esimeses näites olid kasutusel järgmised meetodid: -konstruktor QApplication() -meetod setMainWidget() -meetod exec() - - -Nende meetodite kasutamise tõlgendamine on väga lihtne: -Luuakse klassi QApplication eksemplar konstruktoriga, et me saaksime ära kasutada Qt pakutavaid GUI elemente -Luuakse vidin, millest saab meie programmiakna sisu -Vidin määratakse peavidinaks a jaoks -Käivitatakse QApplication eksemplar - - -Meie programmi teine objekt on nupp ehk klassi QPushButton 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 resize(), et muuta nupu suurust vastavalt selle sisule - nupp peab olema suurem, et kogu string oleks näha. -Aga meetod show()? Siin näed, et nagu enamiku vidinate korral, tugineb QPushButton üheleainsale pärilusele ehk nagu ütleb dokumentatsioon: Inherits QButton. Klõpsa lingile QButton. Nüüd näed veel õige mitut vidinat, mis tuginevad klassile QButton, mida me kasutame hiljem signaali/pesa mehhanismi selgitamisel. Igal juhul ei ole siin kirjas meetodit show(), mis tähendab, et ka selle peab tagama pärilus. Klass, mille järglane on QButton, kannab nime QWidget. Klõpsa taas lingile ja näed tervet rida meetodeid,mida pakub klass QWidget. Nende hulka kuulub ka meetod show(). Nüüd on võimalik mõista, mida meie näidises nupuga ette võetakse: -Luuakse QPushButton eksemplar, kasutades teist konstruktorit nupu teksti määramiseks -Muudetakse vidina suurust sisu mahutamiseks -Määratakse vidin QApplication eksemplari a põhividinaks -Antakse vidinale korraldus näidata ennast ekraanil, kutsudes välja meetodi show(), mis on klassi QWidget järglane - - -Pärast meetodi exec() 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. -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. - - - - - - -Kasutaja interaktsioon -Pärast eelnenud osade läbilugemist peaksid juba teadma: -Mida pakub Qt teek GUI rakenduste jaoks -Kuidas luuakse programm Qt abil -Kust ja kuidas leida dokumentatsioonisirvijas infot klasside kohta, mida tahad kasutada - - -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. -X Window saadab kõik interaktsioonisündmused vastavale rakendusele. QApplication saadab need siis aktiivsele aknale klassina QEvent, misjärel vidinad peavad otsustama, mida nendega peale hakata. Vidin saab sündmuse ja töötleb meetodit QWidget::event(QEvent*), mis otsustab, milline sündmus käivitati ja kuidas reageerida: niisiis on peamine sündmuste käsitleja event(). Nüüd suunab event() 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: -Klaviatuurisündmused - klahvid TAB ja Shift: - -virtual void focusInEvent(QFocusEvent *) -virtual void focusOutEvent(QFocusEvent *) - - - -Kõik muud klaviatuurisisestused: - -virtual void keyPressEvent(QKeyEvent *) -virtual void keyReleaseEvent(QKeyEvent *) - - - -Hiire liikumine: - -virtual void mouseMoveEvent(QMouseEvent *) -virtual void enterEvent(QEvent *) -virtual void leaveEvent(QEvent *) - - - -Hiirenupu toimingud: - -virtual void mousePressEvent(QMouseEvent *) -virtual void mouseReleaseEvent(QMouseEvent *) -virtual void mouseDoubleClickEvent(QMouseEvent *) - - - -Vidinat sisaldava akna sündmused: - -virtual void moveEvent(QMoveEvent *) -virtual void resizeEvent(QResizeEvent *) -virtual void closeEvent(QCloseEvent *) - - - - - -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. QWidget sisaldab ka mõningaid virtuaalseid meetodeid, mis võivad sinu programmis kasuks tulla. Nii või teisiti on äärmiselt tulus klassi QWidget hästi tundma õppida. - - -Objekti interaktsioon signaalide ja pesadega -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: -signaale/pesasid kasutava klassi deklaratsiooni alguses peab seisma makro Q_OBJECT (ilma semikoolonita) ja see peab olema tuletatud klassist QObject -signaali võib emiteerida võtmesõna emit, nt. emit signaal(parameetrid), mis tahes klassi liikmesfunktsioonist, mis võimaldab signaale/pesasid - -kõik signaalid, mida kasutavad klassid, mis ei ole päritud, tuleb lisada klassi deklaratsiooni signaalide sektsiooni -kõik meetodid, mida saab siduda signaaliga, deklareeritakse sektsioonides täiendava võtmesõnaga slot, nt public slots, klassi deklaratsioonides -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. - - -Veel üks viis kasutada signaale ilma klassist QObject tuletamata näeb ette klassi QSignal kasutamist. Uuri dokumentatsioonist ise täpsemalt, kuidas seda kasutada. Järgnevalt eeldame, et tuletatud on klassist QObject. -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. -Signaali ühendamiseks pesaga tuleb kasutada meetodit connect(), mida pakub QObject, või olemasolu korral spetsiaalseid meetodeid, mida objektid pakuvad ühenduse võimaldamiseks teatud signaalidega. - - -Näidiskasutamine -Selgitamaks, kuidas luua objekti interaktsioon, võtame taaas oma esimese näidise ja laiendame seda lihtsa ühenduse võrra: #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(); -} - - -Nagu näed, saab üheainsa lisandusega anda nupule suurema interaktiivsuse. Selleks on vaja ainult lisada meetod connect(): connect(&hello, SIGNAL( clicked() ), &a, SLOT( quit() )). Mida see tähendab? Klassi QObject deklaratsioon ütleb meetodi connect() kohta järgmist: -bool connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * member ) -See tähendab, et sul tuleb määrata QObject 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. -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 KDE teegi ja Qt dokumentatsioonist. - - - - - -Mida pakub KDE - -KDE 3.x teegid -KDE põhiteegid, mida kasutada omaenda KDE rakenduste loomisel, on järgmised: -teek tdecore, mis sisaldab kõik mittenähtavate elementide klasse, mis tagavadrakenduste funktsionaalsuse -teek tdeui, mis sisaldab kasutajaliidese elemente, näiteks menüüribad, tööriistaribad jne. -teek kfile, mis sisaldab faili valimise dialooge - - -Lisaks pakub KDE spetsiifilisemateks ülesanneteks järgmisi teeke: -teek tdefx, mis sisaldab pilte, pildiefekte. QStyle laiendust KStyle -teek khtml, mis sisaldab KDE html-komponenti -teeki kjs, mis sisaldab KDE JavaScripti toetust -teeki kio, mis sisaldab süvataseme ligipääsu võrgufailidele -teeki kparts, mis sisaldab korduvkasutatavate, põimitavate, laiendatavate rakenduste toetust - - -Järgnevalt vaatame, mida on vaja meie esimese Qt rakenduse muutmiseks KDE rakenduseks. - - -KDE näidisrakendus -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: #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(); -} - - -Kõigepealt asendasime klassi QApplication klassiga KApplication. Seejärel pidime muutma varasema meetodi setMainWidget() meetodiks setTopWidget, mida KApplication 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 tdecore võtmega -ltdecore. -Nüüd, kus tead, mida funktsioon main() ü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 &tdevelop;iga. Samuti saab seal testida kõike, millest oleme juttu teinud, ning näha oma silmaga, mis kuidas toimib. -Usutavasti oled järginud juhiseid ning uurinud Qt dokumentatsiooni, eriti just klasside QApplication, QWidget ja QObject kohta, ning teegi tdecore dokumentatsiooni klassi KApplication kohta. KDE teegi käsiraamat sisaldab samuti põhjalikku kirjeldust konstruktorite QApplication ja KApplication väljakutsumise kohta, kaasa arvatud käsureaargumentide töötlemine. - - - - - - -Uue rakenduse loomine - - -Rakenduse nõustaja -&tdevelop;i Rakenduse nõustaja eesmärk on võimaldada vähese vaevaga luua &tdevelop;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: -KDE rakenduse raamistik: sisaldab standardse KDE rakenduse terve raamistiku lähtekoodi -QMake'i projekt: sisaldab rakenduse raamistikku, mis tugineb Trolltechi qmake'i konfiguratsioonisüsteemile -Lihtne "Tere, maailm" programm: sisaldab C++ terminalipõhist programmi ilma GUI toetuseta -Terve rida muid programmimalle - - -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. - - - -Rakenduse nõustaja käivitamine ja projekti loomine - -Rakenduse nõustaja esimene lehekülg -Oma KDE rakenduse loomise alustamiseks ava &tdevelop;. 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. -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. - -Rakenduse nõustaja - - - - -Versioonikontrolli info -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. - - -Päise- ja lähtekoodifailide mallid -Järgmisel kahel leheküljel näed päiseid, mis lisatakse iga päise- ja lähtekoodifaili algusse, mida sa &tdevelop;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. - - -Lõpetamine -Lõpetamise järel Rakenduse nõustaja sulgub ning ilmub teadeteaken, kus näed, mida &tdevelop; parajasti teeb. Lõpuks peaks sinna ilmuma teade **** Õnnestus *****. See tähendab, et rakenduse raamistik on edukalt laaditud. - - - - -Esimene ehitamine -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. -Me eeldame siinkohal, et sa tead, kuidas &tdevelop;is liikuda. Vajaduse korral uuri seda KDevelopi kasutaja käsiraamatust. -Automake'i haldur näitab projekti faile selliselt: - -Meie projekti failid - - -Enne lähtekoodi süüvimist laseme &tdevelop;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. 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 -ltdecore -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 *** - - -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. -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 &tdevelop;is seadistada. -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. - - - -Lähtekoodi mall -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. - - -Funktsioon main() -Kuna rakendus alustab oma tegevust sisenemisega funktsiooni main(), alustame meiegi koodi uurimist siin. KScribble funktsioon main() on teostatud failis main.cpp ja selle leiab ka klassisirvijast, kui valida kataloog "Globaalsed funktsioonid". 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 } - - -Kõigepealt luuakse, nagu ikka KApplication objekt, kuid me oleme lisanud mõned KDE meetodid, mis määravad antud rakenduse programmi ja autori kohta käiva info. - - -Kasutaja rakenduse käivitamine - -... (veel kirjutamata) - - - -Konstruktor -Vaatame nüüd konstruktorit ja seda, kuidas selle eksemplar välja kutsutakse 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 } - - -Pane tähele, et KScribble on klassi KMainWindow järglane, mis on KDE rakenduste üks baasklasse. Me initsialiseerime klassi KScribbleView oma keskse vidinana, loome klassi KStatusBar meetodiga statusBar() (rida 16) ning ühendame mõned signaalid ja pesad. - - - - - - -Rakenduse vaate kujundamine - -Sissejuhatus -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. -Redaktor peab üldiselt pakkuma kasutajale liidese tekstidokumendi sisu vaatamiseks ja/või muutmiseks. Kui käivitad näiteks Kate, näed sellist visuaalset liidest: -menüüriba: pakub keerukaid toiminguid, samuti failide avamise, salvestamise ja sulgemise ning rakendusest väljumise võimalust -Tööriistariba: pakub ikoone sagedamini vajaminevate funktsioonide kiireks kasutamiseks -Olekuriba: näitab kursori asukohainfot ehk rida ja veergu, kus asub kursor -Vaade ise akna keskel, mis näitab dokumenti ning pakub andmete töötlemiseks klaviatuuriga ja hiirega ühendatud kursorit - - -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. -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: -visuaalselt kenad -rikkalike omadustega -hõlpsasti kasutatavad -kiiresti omandatavad - - -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. -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. -See peatükk kirjeldabki, kuidas kasutada teegividinaid &tdevelop;is loodud KDE või Qt rakenduste vaadete loomiseks, seejärel aga vaatame teeke ja vaateid, mida nad pakuvad. - - -Teegivaadete kasutamine -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: -Eemaldada uus vaateklass ja luua teegividina eksemplar ning määrata see siis vaateks. -Muuta pakutava vaateklassi pärilust, et see oleks kasutatava teegividina järglane. - - -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 &tdevelop;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. -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. - -Qt vaated -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. -Anname mõned nõuanded, milliseid Qt komponente milleks kasutada: -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 QScrollView, mis tekitab keritava alampiirkonna. Nagu juba mainitud, tuleb oma vidin muuta QScrollView järglaseks või kasutada eksemplari oma dokumendi vaatevidina haldamiseks. -Et luua ise kerimisvaade, muuda vidin View klassi QWidget järglaseks ja lisa püstine ja rõhtne QScrollBars (seda teeb teha KDE vidinaga KHTMLView). -Tekstitöötluseks kasuta klassi QTextEdit. See pakub täieliku tekstiredaktori vidina, mis suudab juba teksti lõigata, kopeerida ja asetada ning mida haldab kerimisvaade. -Tabelisse paigutatud andmete esitamiseks kasuta klassi QTable. Et ka klassi QTable haldab kerimisvaade, sobib see hästi tabelitöötlusrakendustele. -Kahe erineva vidina või vidina eksemplari näitamiseks ühel ja samal ajal kasuta klassi QSplitter. 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. -QListView esitab infot nimekirja ja puu kujul. See on tulus failipuude või mis tahes muu hierarhilise info näitamiseks, millega kasutaja saab suhelda. - - -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. - - -KDE vaated -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 tdeui pakub: -KListView: QListView võimsam versioon -KIconView: ikoonifailide graafiline näitaja - - -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. - - - -Omaenda vaadete loomine -Veel kirjutamata - - - - -Menüü- ja tööriistaribade seadistamine - -Sissejuhatus -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. -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. - - -Kuidas see töötab? -Meie rakendus on klassi KMainWindow järglane, mis automaatselt tegeleb menüüriba ja tööriistaribade loomisega. Meetodis KScribble::setupActions() on meetodi KMainWindow::createGUI() 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: 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 -> - - -Selgitus... -Teine võimalus menüü- ja tööriistaribade sisu muuta on neid vahetult käsitleda nende klassi pakutavate meetoditega. Näiteks meetod menuBar() tagastab KMenuBar vidina, mis ongi meie programmi menüüriba. Otsides dokumentatsioonis infot klassi KMenuBar ja selle eellasklassi QMenuBar kohta, leiad suure hulga meetodeid insertItem(), mis võimaldavad lisada menüüribale elemente. -KMainWindow meetodid statusBar() ja toolBar() pakuvad samuti kasutatavaid vidinaid. - - -Kiirklahvide seadistamine -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 KAction, mis pakub kiirklahve ja ligipääsu globaalselt seadistatud standardsetele kiirklahvidele. -Vaikimisi kasutavad &tdevelop;i genereeritud rakenduse raamistikud ainult standardseid kiirklahve, näiteks F1 abidokumendi avamiseks, Ctrl+N uue faili loomiseks jne. -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 KKeyChooser kaardidialoogide jaoks ning klassi KKeyDialog kiirklahvide seadistamise dialoogile. - - - - - - -Abi - -Sissejuhatus -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: - -Kohtspikrid -Olekuriba teated -Mis see on nupud - -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 KMainWindow, ehkki rakenduse autor peab mõistagi ise looma abidokumendi sisu. -Et ka &tdevelop; 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. -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. - - - -Kohtspikrid -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 KToolBar dokumentatsioonis, mis asub tdeui teegis. -Vaatame näitena ühe tavalise rakenduse nuppu "Uus fail": -Siin pakub kohtspikri teate osa i18n("New File"). Seda sisaldab makro i18n(), mida pakub kapp.h kohtspikrite tõlkimise võimaldamiseks kasutaja valitud keelde. -Kohtspikreid saab lisada ka suvalisele kohandatud vidinale Qt pakutavat klassi QToolTip kasutades. Selle näiteks võib olla: - - -Olekuriba laiendamine -Et rakendused, mis on KMainWindow 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. - - -<guibutton ->Mis see on?</guibutton -> nupp -Nupp Mis see on? 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 Mis see on? &tdevelop;is. -Mis see on? abi lisamiseks vidinale tuleb kasutada staatilist meetodit QWhatsThis::add(QWidget *widget, const QString &text) - - - - -Dokumentatsioon - -Sissejuhatus -Arvestades seda, et projektidel puudub sageli täielik kasutaja dokumentatsioon, sisaldavad kõik &tdevelop;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. - - -Kasutaja dokumentatsioon -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 KDE dokumentatsiooni veebilehekülg. - - -Programmeerija dokumentatsioon -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. &tdevelop; 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 &tdevelop; aitab seda teha ja millised spetsiaalseid silte pakub KDoc. - - - - -Internatsionaliseerimine - -Sissejuhatus -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. - - - - - -Autorid - -(... veel kirjutamata ...) - - - - - - -Bibliograafia - - - -<ulink url="info://make/Top" ->GNU Make Manual</ulink -> - -Richard M.Stallman -RolandMcGrath - - - - -<ulink url="info://automake/Top" ->GNU Automake</ulink -> - -DavidMacKenzie -TomTromey - - - - -<ulink url="info://autoconf/Top" ->GNU Autoconf</ulink -> - -DavidMacKenzie -BenElliston - - - - -<ulink url="info://gcc/Top" ->Using the GNU Compiler Collection</ulink -> -Richard M.Stallman - - - -<ulink url="info://libtool/Top" ->GNU Libtool</ulink -> - -GordonMatzigkeit -AlexandreOliva -ThomasTanner -Gary V.Vaughan - - - - -GNU Autoconf, Automake, and Libtool -1st edition -October 2000 - -Gary V.Vaughan -BenElliston -TomTromey -Ian LanceTaylor - -New Riders Publishing -ISBN 1578701902 - - - - -Advanced Programming in the UNIX(R) Environment -1st edition -June 1992 -W. RichardStevens -Addison-Wesley Pub Co -ISBN 0201563177 - - - -Thinking in C++, Volume 1: Introduction to Standard C++ -2nd Edition -April 15, 2000 -BruceEckel -Prentice Hall -ISBN 0139798099 - - - -Open Source Development with CVS -2nd Edition -October 12, 2001 - -KarlFogel -MosheBar - -The Coriolis Group -ISBN 158880173X - - - -Programming PHP -1st edition -March 2002 - -RasmusLerdorf -KevinTatroe - -O'Reilly & Associates -ISBN 1565926102 - - - -Programming Python -2nd Edition -March 2001 -MarkLutz -O'Reilly & Associates -ISBN 0596000855 - - - -Gui Programming With Python : Using the Qt Toolkit -Bk&Cd-r edition -January 2002 -BoudewijnRempt -Opendocs Llc -ISBN 0970033044 - - - -Programming Perl -The Camel book -3rd Edition -July 2000 - -LarryWall -TomChristiansen -JonOrwant - -O'Reilly & Associates -ISBN 0596000278 - - - -Learning Perl -The Lama book -3rd Edition -July 15, 2001 - -Randal L.Schwartz -TomPhoenix - -O'Reilly & Associates -ISBN 0596001320 - - - - -&underFDL; - - - - -
diff --git a/tde-i18n-et/docs/kdevelop/kdearch/Makefile.am b/tde-i18n-et/docs/kdevelop/kdearch/Makefile.am deleted file mode 100644 index f6c3e2e278a..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdearch/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 8db38033629..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdearch/Makefile.in +++ /dev/null @@ -1,635 +0,0 @@ -# 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/tdevelop/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@ -tdeinitdir = @tdeinitdir@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xdg_appsdir = @xdg_appsdir@ -xdg_directorydir = @xdg_directorydir@ -xdg_menudir = @xdg_menudir@ -KDE_LANG = 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/tdevelop/kdearch/Makefile'; \ -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu docs/tdevelop/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/tdevelop/kdearch/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu docs/tdevelop/kdearch/Makefile - cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdevelop/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/tdevelop/kdearch/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu docs/tdevelop/kdearch/Makefile - cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdevelop/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 deleted file mode 100644 index e0ffb2edf09..00000000000 Binary files a/tde-i18n-et/docs/kdevelop/kdearch/index.cache.bz2 and /dev/null differ diff --git a/tde-i18n-et/docs/kdevelop/kdearch/index.docbook b/tde-i18n-et/docs/kdevelop/kdearch/index.docbook deleted file mode 100644 index 76957907fb7..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdearch/index.docbook +++ /dev/null @@ -1,3680 +0,0 @@ - - - -]> - - - - -KDE arhitektuuri ülevaade - - - - - -Bernd Gehrmann
bernd@tdevelop.org
-
-
- - -2001 -2002 -Bernd Gehrmann - - -&FDLNotice; - - -Käesolev käsiraamat annab ülevaate KDE arendusplatvormist - - - -KDE -arhitektuur -arendus -programmeerimine - - -
- - -Teegistruktuur - - -Teegid nimepidi - - - - -tdecore -Teek tdecore 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. - - - -tdeui -Teek tdeui 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. - - - -kio -Teek kio 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. - - - -kjs -Teek kjs kujutab endast JavaScripti teostust. - - - -khtml -Teek khtml sisaldab KHTML komponenti, HTML lehitsemise vidinat, DOM API-t ja parsijat, sealhulgas Java ja JavaScripti liidest. - - - - - - - - -Klassid grupiti - -Rakenduste tuumikkest - klassid, mida vajab peaaegu iga rakendus. - - - - -<ulink url="kdeapi:tdecore/KApplication" ->KApplication</ulink -> -Initsialiseerib ja juhib KDE rakendust. - - - -<ulink url="kdeapi:tdecore/KUniqueApplication" ->KUniqueApplication</ulink -> -Kontrollib, et korraga töötaks ainult üks rakenduse eksemplar. - - -<ulink url="kdeapi:tdecore/KAboutData" ->KAboutData</ulink -> -Sisaldab infokasti infot. - - -<ulink url="kdeapi:tdecore/KCmdLineArgs" ->KCmdLineArgs</ulink -> -Käsurea argumentide töötlemine. - - - - -Konfiguratsiooniseadistused - ligipääs KDE hierarhilisele konfiguratsiooniandmebaasile, globaalsetele seadistustele ja rakenduse ressurssidele. - - - -<ulink url="kdeapi:tdecore/KConfig" ->KConfig</ulink -> -Pakub ligipääsu KDE konfiguratsiooniandmebaasile. - - -<ulink url="kdeapi:tdecore/KSimpleConfig" ->KSimpleConfig</ulink -> -Ligipääs lihtsatele, mittehierarhilistele konfiguratsioonifailidele. - - -<ulink url="kdeapi:tdecore/KDesktopFile" ->KDesktopFile</ulink -> -Ligipääs .desktop-failidele. - - -<ulink url="kdeapi:tdecore/KGlobalSettings" ->KGlobalSettings</ulink -> -Hõlpus ligipääs rakendusest otseselt mittesõltuvatele seadistustele. - - - - -Failide ja URL-ide käsitlemine - URL-ide, ajutiste failide jne. dekodeerimine. - - - -<ulink url="kdeapi:tdecore/KURL" ->KURL</ulink -> -Esindab ja parsib URL-e. - - -<ulink url="kdeapi:tdecore/KTempFile" ->KTempFile</ulink -> -Loob ajutistele andmetele unikaalsed failid. - - -<ulink url="kdeapi:tdecore/KSaveFile" ->KSaveFile</ulink -> -Lubab faile automaatselt salvestada. - - - - -Protsessidevaheline kommunikatsioon - DCOP abiklassid ja alamprotsesside väljakutsumine. - - - -<ulink url="kdeapi:tdecore/KProcess" ->KProcess</ulink -> -Kutsub välja ja juhib alamprotsesse. - - -<ulink url="kdeapi:tdecore/KShellProcess" ->KShellProcess</ulink -> -Kutsub alamprotsesse välja shelli vahendusel. - - -<ulink url="kdeapi:tdesu/PtyProcess" ->PtyProcess</ulink -> -Suhtlemine alamprotsessidega pseudoterminali vahendusel. - - -<ulink url="kdeapi:tdecore/KIPC" ->KIPC</ulink -> -Lihtne IPC mehhanism (kasutab X11 kliendi teateid). - - -<ulink url="kdeapi:dcop/DCOPClient" ->DCOPClient</ulink -> -DCOP teated. - - -<ulink url="kdeapi:tdecore/KDCOPPropertyProxy" ->KDCOPPropertyProxy</ulink -> -Proxy klass, mis avaldab Qt omadusi DCOP vahendusel. - - -<ulink url="kdeapi:tdeui/KDCOPActionProxy" ->KDCOPActionProxy</ulink -> -Proxy klass, mis avaldab DCOP liidese toimingute jaoks. - - - - -Utiliitide klassid - mäluhaldus, regulaaravaldised, stringide käsitlemine, juhunumbrid - - - -<ulink url="kdeapi:tdecore/KRegExp" ->KRegExp</ulink -> -POSIX regulaaravaldiste sobivus. - - -<ulink url="kdeapi:tdecore/KStringHandler" ->KStringHandler</ulink -> -Ekstravagantne liides stringide käsitlemiseks. - - -<ulink url="kdeapi:tdecore/KZoneAllocator" ->KZoneAllocator</ulink -> -Tõhus mälueraldaja väikeste objektide suurtele gruppidele. - - -<ulink url="kdeapi:tdecore/KRandomSequence" ->KRandomSequence</ulink -> -Pseudojuhuarvude generaator. - - - - -Klahvikorraldused - klassid, mis aitavad luua kogu töölaual kasutatavaid kiirklahve. - - - -<ulink url="kdeapi:tdecore/KAccel" ->KAccel</ulink -> -Valik kiirklahve. - - -<ulink url="kdeapi:tdecore/KStdAccel" ->KStdAccel</ulink -> -Hõlpus ligipääs tavalistele kiirklahvidele. - - -<ulink url="kdeapi:tdecore/KGlobalAccel" -></ulink -> -Valik süsteemseid kiirklahve. - - - - -Pilditöötlus - ikoonide laadimine ja käsitlemine. - - - -<ulink url="kdeapi:tdecore/KIconLoader" ->KIconLoader</ulink -> -Laeb ikoonid teemaga ühilduvalt. - - -<ulink url="kdeapi:tdecore/KIconTheme" ->KIconTheme</ulink -> -KIconLoaderi abiklassid. - - -<ulink url="kdeapi:tdecore/KPixmap" ->KPixmap</ulink -> -Pikselrasterklass laiendatud pseudotoonimisvõimalustega. - - -<ulink url="kdeapi:tdeui/KPixmapEffect" ->KPixmapEffect</ulink -> -Pikselrasterefektid, näiteks üleminekud ja mustrid. - - -<ulink url="kdeapi:tdeui/KPixmapIO" ->KPixmapIO</ulink -> -Kiire teisendus QImage -> QPixMap. - - - - -Lohistamine - värvide ja URL-ide lohistamise objektid. - - - -<ulink url="kdeapi:tdecore/KURLDrag" ->KURLDrag</ulink -> -Lohistamisobjekt URL-ide jaoks. - - -<ulink url="kdeapi:tdeui/KColorDrag" ->KColorDrag</ulink -> -Lohistamisobjekt värvide jaoks. - - -<ulink url="kdeapi:tdecore/KMultipleDrag" ->KMultipleDrag</ulink -> -Lubab konstrueerida lohistamisobjekte mitme muu objekti põhjal. - - - - -Automaatne lõpetamine - - - -<ulink url="kdeapi:tdecore/KCompletion" ->KCompletion</ulink -> -Üldine stringide automaatne lõpetamine. - - -<ulink url="kdeapi:kio/KURLCompletion" ->KURLCompletion</ulink -> -URL-ide automaatne lõpetamine. - - -<ulink url="kdeapi:kio/KShellCompletion" ->KShellCompletion</ulink -> -Käivitatavate failide automaatne lõpetamine. - - - - -Vidinat - vidinaklassid nimekirjavaadetele, joonlaudadele, värvivalikule jne. - - - -<ulink url="kdeapi:tdeui/KListView" ->KListView</ulink -> -Klassi QListView variant, mis tunnistab KDE süsteemseid seadistusi. - - -<ulink url="kdeapi:tdeui/KListView" ->KListBox</ulink -> -Klassi QListBox variant, mis tunnistab KDE süsteemseid seadistusi. - - -<ulink url="kdeapi:tdeui/KListView" ->KIconView</ulink -> -Klassi QIconView variant, mis tunnistab KDE süsteemseid seadistusi. - - -<ulink url="kdeapi:tdeui/KListView" ->KLineEdit</ulink -> -Klassi QLineEdit variant lõpetamise toetusega. - - -<ulink url="kdeapi:tdeui/KComboBox" ->KComboBox</ulink -> -Klassi QComboBox variant lõpetamise toetusega. - - -<ulink url="kdeapi:tdeui/KFontCombo" ->KFontCombo</ulink -> -Liitkast fontide valimiseks. - - -<ulink url="kdeapi:tdeui/KColorCombo" ->KColorCombo</ulink -> -Liitkast värvide valimiseks. - - -<ulink url="kdeapi:tdeui/KColorButton" ->KColorButton</ulink -> -Nupp värvide valimiseks. - - -<ulink url="kdeapi:tdeui/KURLCombo" ->KURLCombo</ulink -> -Liitkast failinimede ja URL-ide valimiseks. - - -<ulink url="kdeapi:kfile/KURLRequester" ->KURLRequester</ulink -> -Tekstikast failinimede ja URL-ide valimiseks. - - -<ulink url="kdeapi:tdeui/KRuler" ->KRuler</ulink -> -Joonlauavidin. - - -<ulink -url="kdeapi:tdeui/KAnimWidget" ->KAnimWidget</ulink -> -Animatsioonid. - - -<ulink url="kdeapi:tdeui/KNumInput" ->KNumInput</ulink -> -Vidin numbrite sisestamiseks. - - -<ulink url="kdeapi:tdeui/KPasswordEdit" ->KPasswordEdit</ulink -> -Vidin parooli sisestamiseks. - - - - -Dialoogid - kõigi võimalustega dialoogid faili, värvi ja fondi valimiseks. - - - -<ulink url="kdeapi:kfile/KFileDialog" ->KFileDialog</ulink -> -Failivalimise dialoog. - - -<ulink url="kdeapi:tdeui/KColorDialog" ->KColorDialog</ulink -> -Värvi valimise dialoog. - - -<ulink url="kdeapi:tdeui/KFontDialog" ->KFontDialog</ulink -> -Fondi valimise dialoog. - - -<ulink url="kdeapi:kfile/KIconDialog" ->KIconDialog</ulink -> -Ikooni valimise dialoog. - - -<ulink url="kdeapi:tdeui/KKeyDialog" ->KKeyDialog</ulink -> -Dialoog kiirklahvide redigeerimiseks. - - -<ulink url="kdeapi:tdeui/KEditToolBar" ->KEditToolBar</ulink -> -Dialoog tööriistaribade redigeerimiseks. - - -<ulink url="kdeapi:tdeui/KTipDialog" ->KTipDialog</ulink -> -Päeva nõuande dialoog. - - -<ulink url="kdeapi:tdeui/KAboutDialog" ->KAboutDialog</ulink -> -Infodialoog. - - -<ulink url="kdeapi:tdeui/KLineEditDlg" ->KLineEditDlg</ulink -> -Lihtne dialoog teksti sisestamiseks. - - -<ulink url="kdeapi:kfile/KURLRequesterDlg" ->KURLRequesterDlg</ulink -> -Lihtne dialoog URL-ide sisestamiseks. - - -<ulink url="kdeapi:tdeui/KMessageBox" ->KMessageBox</ulink -> -Dialoog vigade ja hoiatuste näitamiseks. - - -<ulink url="kdeapi:tdeui/KPasswordDialog" ->KPasswordDialog</ulink -> -Dialoog parooli sisestamiseks. - - - - -Toimingud ja XML GUI - - - -<ulink url="kdeapi:tdeui/KAction" ->KAction</ulink -> -Toimingu abstraktsioon, mida võib lisada menüü- ja tööriistaribale. - - -<ulink url="kdeapi:tdeui/KActionCollection" ->KActionCollection</ulink -> -Valik toiminguid. - - -<ulink url="kdeapi:tdeui/KXMLGUIClient" ->KXMLGUIClient</ulink -> -GUI fragment, mis sisaldab toimingukogu ja DOM puu, mis esindab nende asukohta GUI-s. - - -<ulink url="kdeapi:kparts/KPartManager" ->KPartManager</ulink -> -Korraldab XMLGUI klientide aktiveerimist. - - - - -Pluginad ja komponendid - - - -<ulink url="kdeapi:tdecore/KLibrary" ->KLibrary</ulink -> -Esindab dünaamiliselt laetavat teeki. - - -<ulink url="kdeapi:tdecore/KLibrary" ->KLibLoader</ulink -> -Jagatud teegi laadimine. - - -<ulink url="kdeapi:tdecore/KLibFactory" ->KLibFactory</ulink -> -Objektipere pluginatena. - - -<ulink url="kdeapi:kio/KServiceType" ->KServiceType</ulink -> -Esindab teenuse tüüpi. - - -<ulink url="kdeapi:kio/KService" ->KService</ulink -> -Esindab teenust. - - -<ulink url="kdeapi:kio/KMimeType" ->KMimeType</ulink -> -Esindab MIME tüüpi. - - -<ulink url="kdeapi:kio/KServiceTypeProfile" ->KServiceTypeProfile</ulink -> -Kasutaja seadistused MIME tüübi seostele. - - -<ulink url="kdeapi:kio/KServiceTypeProfile" ->KTrader</ulink -> -Teenuste päring. - - - - - - - - - - - -Graafika - - -Süvataseme graafika QPainteriga - - -Renderdamine QPainteriga - -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. - -Qt 2D joonistamise keskne graafikaklass on . Selle aluseks on . Teostatud on kolm võimalikku joonistamisseadet. esindab vidinat ekraanil. esindab printerit ja loob PostScript väljundi. tuvastab joonistamiskäsud ja võib salvestada need kettale ning neid hiljem taasesitada. Joonistamiskäskude võimalik salvestusvorming on W3C standard SVG. - -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(). - -void FooWidget::paintEvent() -{ - QPainter p(this); - // Setup painter - // Use painter -} - - -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 seadmemeetrikat. - - - - - -Transformatsioonid - -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 - - - - - -Selle 3x3 maatriksi saab määrata funktsiooniga QPainter::setWorldMatrix() ning selle tüüp on QWMatrix. Tavaliselt on see identsusmaatriks, st. m11 ja m22 on üks ning muud parameetrid null. Põhimõtteliselt on olemas kolm erinevat transformatsioonigruppi: - - - - -Lüke -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 - - - - - - - - - -Skaleerimine -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 - - - - - - -Määrates ühe parameetritest negatiivseks, saab koordinaatide süsteemi peegeldada. - - - - -Nihe -Kahe parameetriga koordinaatide süsteemi nihe. Nihke saab rakendada m.shear(sh, sv) väljakutsumisega, sellele vastab maatriks - - - - - - - - - -Pööramine -Pöörab objekti. Pööramist saab rakendada m.rotate(nurk) väljakutsumisega. Arvesta, et nurk tuleb anda kraadides, mitte matemaatilise nurgana! Vastav maatriks on - - - - - - -Pane tähele, et pööramine on ekvivalentne skaleerimise ja nihke kombinatsiooniga. - - - - - -Nüüd mõned pildid, mis näitavad elementaarsete transformatsioonide mõju meie maskotile: - - - - - - - - - - - - - - - - - - - -a) Normaalne -b) Pööratud 30 kraadi -c) Nihe teguriga 0,4 -d) Peegeldatud - - - - - -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. - - - - - -Jooneatribuutide määramine - -Sirgete, kõverate ja polügoonide piirjoonte renderdamist saab modifitseerida spetsiaalset pliiatsit määrates, mida teeb funktsioon QPainter::setPen(). Selle funktsiooni argument on QPen objekt. Selles salvestatud omadused on stiil, värv, ühendusstiil ja otsastiil. - -Pliiatsistiil on loendi Qt::PenStyle liige ning sellel võivad olla järgmised väärtused: - - - - - -Ühendusstiil on loendi Qt::PenJoinStyle liige. See määrab, kuidas joonistatakse ühenduskoht mitme teineteisega seotud sirgjoone vahel. Sellel võivad olla järgmised väärtused: - - - - - - - - - - - - - - - - -a) Nurkühendus -c) Längühendus -b) Ümarühendus - - - - - -Otsastiil on loendi Qt::PenCapStyle liige ja määrab, kuidas joonistatakse sirgjoonte otsad. Sellel võivad olla järgmised väärtused: - - - - - - - - - - - - - - - - -a) Lameots -b) Ruutots -c) Ümarots - - - - - - - - - -Täiteatribuutide määramine - -Polügoonide, ringjoonte või ristkülikute täitestiili saab muuta spetsiaalse pintsli määramisega funktsiooniga QPainter:.setBrush(). See funktsioon kasutab argumendina QBrush objekti. Pintslit saab konstrueerida neljal moel: - - - -QBrush::QBrush() - loob pintsli, mis ei täida kujundeid. - - -QBrush::QBrush(Pintslistiil) - loob musta pintsli ühega all näidatud vaikemustritest. - - -QBrush::QBrush(const QColor &, Pintslistiil) - loob värvilise pintsli ühega all näidatud mustritest. - - -QBrush::QBrush(const QColor &, const QPixmap) - loob värvilise pintsli omaloodud mustriga, mis antakse teise parameetrina. - - - -Vaikimisi pintslistiil pärineb loendist Qt::BrushStyle. Toome siin ära pildi kõigi eelnevalt määratud mustritega: - - - - - -Pintsli käitumist saab veel täpsemalt kohandada funktsiooniga QPainter::setBrushOrigin(). - - - - - -Värv - -Värvidel on oma osa nii kõverate esitamisel kui kujundite täitmisel. Qt-s esindab värve klass QColor. 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. - -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. - - - - - -Muud seadistused - -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 RasterOp. - -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. - - - - - -Graafikaprimitiivide joonistamine - -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 QRect nelja täisarvu. - - - -Ühe punkti joonistamine - drawPoint(). - - -Sirgjoonte joonistamine - drawLine(), drawLineSegments() ja drawPolyLine(). - - -Ristkülikute joonistamine ja täitmine - drawRect(), drawRoundRect(), fillRect() ja eraseRect(). - - -Ringjoonte, ellipsite ja nende osade joonistamine ja täitmine - drawEllipse(), drawArc(), drawPie ja drawChord(). - - -Tavaliste polügoonide joonistamine ja täitmine - drawPolygon(). - - -Bezier' kõverate joonistamine - drawQuadBezier() [drawCubicBezier Qt versioonis 3.0]. - - - - - - - -Pikselrastrite ja piltide joonistamine - -Qt pakub piltide esitamiseks kaht väga erinevat klassi. - -QPixmap 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 äärmiselt 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 bitBlt. Keerulisemate asjade puhul aitab see vältida vilkumist. - -Seevastu QImage 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. - - - - - -Teksti joonistamine - -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 Qt::AlignmentFlags ja Qt::TextFlags - -Alates versioonist 3.0 tegeleb Qt täielikult teksti esitamisega ka paremalt vasakule kirjutatavate keelte puhul. - -Täiustatum viis teksti esitamiseks on klass QSimpleRichText. Selle klassi objekte võib konstrueerida tekstiosaga HTML-siltide kogumit kasutades, mis pakub üpris palju võimalusi, isegi tabeleid. Tekstistiili saab kohandada QStyleSheet abil (sealt leiab ka siltide dokumentatsiooni). Kui rikkaliku teksti vormingu objekt on konstrueeritud, saab seda renderdada vidinale või muule joonistamisseadmele meetodiga QSimpleRichText::draw(). - - - - - - - -Struktureeritud graafika klassi QCanvas abil - -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. - -Alternatiivina sisaldab Qt klassi QCanvas, kuhu saab panna graafilised objektid, näiteks polügoonid, teksti, pikselrastrid. Pakkuda saab ka lisaelemente alamklassiga QCanvasItem või mõne veel spetsialiseerituma alamklassiga. Lõuendit võib ekraanil näidata üks või enam vidinat klassist QCanvasView, 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. - -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: - - - - - -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. - -QCanvas kasutamise juhendi näiteks vaimustavate mängude loomiseks leiab internetist sellel aadressil. - - - - - -3D graafika OpenGL abil - - -Süvataseme liides - -Tänapäeval on 3D graafika renderdamise de facto standard OpenGL. 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 GL konteksti vahendusel ega suhtle mingil määral keskkonna tööriistakomplektiga. - -Qt pakub vidinat QGLWidget, mis kapseldab akna sellega seotud GL kontekstiga. Põhimõtteliselt tähendab see selle muutmist alamklassiks ja mõningate meetodite taasteostamist. - - - -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. - -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. - -Selle asemel, et resizeEvent() taasteostada, tühistatakse resizeGL(). Seda saab kasutada vaateava sobivaks määramiseks. - -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. - - - -Ü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. - - - - - -Qt sisaldab mõningaid näiteid QGLWidgeti kasutamise kohta oma demos. Õppevahendid leiab siit, rohkem infot ja OpenGL selgitusi aga OpenGL koduleheküljelt. - - - - - -Kõrgtaseme liidesed - -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 Coin, mida on täiendatud seda Qt-ga siduva tööriistakomplektiga SoQt. - -Open Inventori aluseks on niinimetatud stseen. Stseeni võib hoida kõvakettal salvestatuna spetsiaalsesse vormingusse, mis on lähedane VRML-vorminguga. Stseen koosneb objektidest, mida nimetatakse sõlmedeks. 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. - -Open Inventori sissejuhatuse leiab siit (üldiselt võib seda artiklit lugedes mõttes SoXt asemele panna SoQt). - - - - - - - - - - -Kasutajaliides - - -Toimingumuster - - - - - - - -Menüüde ja tööriistaribade defineerimine XML-is - - -Sissejuhatus - -Toimingumuster 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. - -Selle probleemi lahendab klasside kogum nimetusega XMLGUI. 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 FailAva või AbiInfo) 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. - -KDE tipptaseme akna klassi KMainWindow eellane on KXMLGUIClient, mistõttu see toetab automaatselt XMLGUI-d. Kõigi selles loodud toimingute eellane peab olema kliendi actionCollection(). Siis loob createGUI() väljakutse terve menüü- ja tööriistaribade komplekti, mida defineerib rakenduse XML-fail (mugavuse mõttes on see sufiksiga ui.rc). - - - - - -Näide: KView menüü - -Järgnevas võtame näiteks KDE pildinäitaja KView. Sellel on ui.rc fail nimega kviewui.rc, mis on paigaldatud koodijupiga Makefile.am - -rcdir = $(kde_datadir)/kview -rc_DATA = kviewui.rc - - -See on katke failist kviewui.rc. Lihtsuse mõttes näitame ainult menüü Vaade definitsiooni. - -<!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> - - -Vastav osa C++ keeles kõlab: - -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" ); - - -Sellise GUI definitsiooni põhjal loodud menüü Vaade näeb välja niisugune: - - - - - -XML-fail algab dokumenditüübi deklaratsiooniga. Kpartgui DTD leiab tdelibs'i lähtekoodis failis tdeui/kpartgui.dtd. 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 ui.rc versiooninumbrit, kontrollib KDE, et faili kohandatud versioonid eemaldataks ja kasutataks just uut faili. - -Järgmine rida <MenuBar> sisaldab menüüriba deklaratsiooni. Lisada võib ka suvalise arvu <ToolBar> 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 KView alammenüü "Image" (eestindatult "Pilt"), mis tuleb deklareerida nii: - -<Menu name="image" > - <text>&amp;Image</text> - ... -</Menu> - - -KDE automake-raamistik võimaldab sellised nimetused automaatselt välja noppida ja panna rakenduse .po faili, mida siis tõlkijad saavad tarvitada rakenduse emakeelde panekul. Pane tähele, et kiirklahvi tähis "&" tuleb kirjutada XML-i reeglitele vastavalt "&amp;". - -Vaatame uuesti meie näidet. KView menüüs Vaade on mitu kohandamistoimingut: zoom50, zoom100, zoom200, zoomMaxpect ja fullscreen, mis on deklareeritud elemendiga <Action>. Pildil nähtavale eraldusjoonele vastab element <Separator>. - -Pane tähele, et mõnel elemendil ei ole XML-failis vastet. Need on niinimetatud standardtoimingud, mille loob klass KStdAction. 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 tdelibs lähtekoodi failis tdeui/ui_standards.rc. - - - - - -Näide: Konquerori tööriistaribad - -Tööriistaribade puhul vaatame nüüd Konquerori GUI definitsiooni. See katke määratleb asukohariba, mis sisaldab endas URL-ide sisestamise välja. - -<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> - - -Märkame kohe, et siin on märksa rohkem atribuute kui menüüribal, sealhulgas: - - - -fullWidth: ü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. - -newline: 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. - -noEdit: tavaliselt võib kasutaja tööriistaribasid oma käe järgi kohandada, näiteks Konquerori puhul menüükäsuga SeadistusedTööriistaribade seadistamine. 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 Konquerori järjehoidjariba. - -iconText: 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). - - -hidden: kui see on "tõene" (true), ei ole tööriistariba algselt nähtaval ja selle aktiveerimiseks tuleb kasutada mingit menüüelementi. - - -position: 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). - - - - - - - -Dünaamilised menüüd - -On ilmne, et XML saab sisaldada ainult kasutajaliidese staatilist kirjeldust. Sageli esineb aga menüüsid, mis käivitamisel muutuvad. Näiteks Konquerori menüü Asukoht sisaldab rea elemente Ava kasutades XXX, 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 toimingunimekirjadega. XML-failis deklareeritakse toimingunimekiri ühe elemendina, kuid see sisaldab mitu toimingut, mis lisatakse menüüsse käivitamisel. Meie toodud näide teostatakse Konquerori XML-failis järgmise deklaratsiooniga: - -<Menu name="file"> - <text>&amp;Location</text> - ... - <ActionList name="openwith"> - ... -</Menu> - - -Näidatavate toimingute lisamiseks kasutatakse siin funktsiooni KXMLGUIClient::plugActionList(), eemaldamiseks aga funktsiooni KXMLGuiClient::unplugActionList(). Uuendamisrutiin näeb välja selline: - -void MainWindow::updateOpenWithActions() -{ - unplugActionList("openwith"); - openWithActions.clear(); - for ( /* iterate over the relevant services */ ) { - KAction *action = new KAction( ...); - openWithActions.append(action); - } - plugActionList("openwith", openWithActions); -} - - -Pane tähele, et erinevalt staatilistest toimingutest ei ole need loodud eellasest toimingukogu baasil ja sestab tuleb sul endal nende kustutamise eest hoolt kanda. Lihtsaim viis selleks on kasutada - nagu ülaltoodud näites - openWithActions.setAutoDelete(true). - - - - - -Kontekstimenüüd - -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 createGUI() 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): - -void MainWindow::popupRequested() -{ - QWidget *w = factory()->container("context_popup", this); - QPopupMenu *popup = static_cast<QPopupMenu *>(w); - popup->exec(QCursor::pos()); -} - - -Meetod KXMLGUIFactory::container() püüab leida XML-failis antud nimega konteinerit. Seega võib definitsioon välja näha näiteks nii: - -... -<Menu name="context_popup"> - <Action name="file_add"/> - <Action name="file_remove"/> -</Menu> -... - - - - - - - - -Abivõimaluste pakkumine - -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: - - - -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. - -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 ShiftF1 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. - -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. - -Tänu Qt ja KDE võimalustele saab aga "Mis see on?`" abiaken sisaldada vormindatud teksti, see tähendab, võib pakkuda erinevaid fonte, rasvast ja kaldkirja või isegi pilte ja tabeleid. - -"Mis see on?" näide: - - - - - - - -Lõpuks peaks igal rakendusel olema ka oma käsiraamat. Tavaliselt näitab seda KDE abikeskus, mille saab avada menüüst Abi. 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 DocBook märkekeeles. - - - -Programmeerija vaatevinklist pakub Qt abi pakkumiseks välja hõlpsasti kasutatava API. Kohtspikri lisamiseks vidinale tarvita klassi QToolTip. - -QToolTip::add(w, i18n("This widget does something.")) - - -Kui menüü- ja tööriistaribad luua toimingumustreid kasutades, võetakse kohtspikrina kasutatav string konstruktori KAction esimesest argumendist: - -action = new KAction(i18n("&Delete"), "editdelete", - SHIFT+Key_Delete, actionCollection(), "del") - - -Siin on küll ka võimalik anda tekst, mida näidatakse antud menüükirje esiletõstmisel olekuribal: - -action->setStatusText(i18n("Deletes the marked file")) - - -"Mis see on?" API on äärmiselt sarnane. Dialoogide korral kasuta sellist koodi: - -QWhatsThis::add(w, i18n("<qt>This demonstrates <b>Qt</b>'s" - " rich text engine.<ul>" - "<li>Foo</li>" - "<li>Bar</li>" - "</ul></qt>")) - - -Menüükirjete korral aga - -action->setWhatsThis(i18n("Deletes the marked file")) - - -KDE abikeskuse väljakutsumine on kapseldatud klassi KApplication. Rakenduse käsiraamatu näitamiseks kasuta - -kapp->invokeHelp() - - -See avab esimese, sisukorraga lehekülje. Kui soovid lasta näidata ainult kindlat käsiraamatu osa, tuleb funktsioonile invokeHelp() anda täiendav argument, mis määrab ankru, kuhu hüpata. - - - - - - - - -Komponendid ja teenused - - -KDE teenused - - -Mis on KDE teenused? - -KDE moodularhitektuuris on mõistel teenus 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 DCOP vahendusel. Oma teenusetüübiga 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. - -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. - -Mõned näited: - - - -Konqueroris kasutatav HTML-i renderdusmootor on põimitav komponent, mis teostab teenusetüübid KParts/ReadOnlyPart ja Browser/View. -KDevelopis on enamik võimalusi esitatud pluginatena teenusetüübiga KDevelop/Part. Käivitamisel laetakse kõik selle tüübiga teenused, mis võimaldab IDE-d väga paindlikult laiendada. -Ikoonivaates näitab Konqueror (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 ThumbCreator. - - - -On ilmne, et teenust ei iseloomusta ainult teenusetüüp, mida ta teostab, vaid ka mõningad omadused. Näiteks ThumbCreator ei teosta mitte ainult C++ klassi tüübiga ThumbCreator, 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 (trader). - - - - - -Teenusetüüpide defineerimine - -Uusi teenusetüüpe lisatakse nende kirjeldust kataloogi KDEDIR/share/servicetypes paigaldades. KDE automake-raamistikus saab seda teha sellise Makefile.am koodijupiga: - -kde_servicetypesdir_DATA = tdeveloppart.desktop -EXTRA_DIST = $(kde_servicetypesdir_DATA) - - -KDevelopi komponendi definitsioon tdeveloppart.desktop näeb välja selline: - -[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 - - -Lisaks tavapärastele kirjetele on toodud näites näha, kuidas deklareerida teenuse omadusi. Igale omaduse definitsioonile vastab konfiguratsioonifailis grupp [PropertyDef::name]. Selles grupis deklareerib kirje Type omaduse tüübi. Võimalikud tüübid on kirjas klassis QVariant. - - - - - -Jagatud teegi teenuste defineerimine - -Teenuste definitsioonid on salvestatud kataloogi KDEDIR/share/services: - -kde_servicesdir_DATA = kdevdoxygen.desktop -EXTRA_DIST = $(kde_servicesdir_DATA) - - -Järgnev näitefail kdevdoxygen.desktop defineerib plugina KDevDoxygen tüübiga KDevelop/Part: - -[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 - - -Lisaks tavalistele deklaratsioonidele pööra tähelepanu kirjele X-KDE-Library. See sisaldab libtool'i teegi nime (ilma laiendita .la). Ühtlasi fikseerib see (eesliitega init_) eksporditava sümboli nime teegis, mis tagastab objektipere. Toodud näites peab teek sisaldama järgmist funktsiooni: - -extern "C" { - void *init_libkdevdoxygen() - { - return new DoxygenFactory; - } -}; - - -Pere klassi DoxygenFactory tüüp sõltub konkreetsest teenusetüübist, mida teenus teostab. Meie KDevelopi plugina näites peab pere olema KDevFactory (mille eellane on KLibFactory). Levinum näide on KParts::Factory, mis peaks pakkuma KParts::ReadOnlyPart või enamikul juhtudel üldisem KLibFactory. - - - - - -Jagatud teekide teenuste kasutamine - -Jagatud teegi teenuse kasutamiseks rakenduses tuleb hankida seda esindav KService objekt. Sellest räägitakse pikemalt MIME tüüpe tutvustavas osas (samuti ikka veel kirjutamata osas KTraderi kohta). - -KService objekti olemasolul on väga lihtne laadida teek ja hankida viit selle pere objektile: - -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); -} - - -Siit edasi sõltub kõik taas teenusetüübist. Tavalise plugina korral tuleb luua objektid meetodiga KLibFactory::create(). KPartsi korral tuleb kogumiviit suunata konkreetsemale KParts::Factory ja kasutada selle create() meetodit: - -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; -} - - - - - - -DCOP-teenuste defineerimine - -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 kio_uiserver, 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. - -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: - -X-DCOP-ServiceType määrab viisi, kuidas teenus käivitatakse. Väärtus Unique sedastab, et teenust saab käivitada vaid ühekordsena. See tähendab, et kui proovid teenust käivitada (nt. KApplication::startServiceByName() 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 KUniqueApplication. - -Väärtus Multi teatab X-DCOP-ServiceType 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 None. Sellisel juhul ei oodata teenuse käivitamisel registreerimist DCOP-iga. - -X-KDE-StartupNotify 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. - -Selline on kio_uiserver definitsioon: - -[Desktop Entry] -Type=Service -Name=kio_uiserver -Exec=kio_uiserver -X-DCOP-ServiceType=Unique -X-KDE-StartupNotify=false - - - - - - -DCOP-teenuste kasutamine - -DCOP-teenus käivitatakse mõne klassi KApplication meetodiga: - -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; -... - - -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. - -Toodud näiteks käivitatakse teenus "nimepidi", s.t. esimene KApplication::startServiceByName() argument on nimi, mis on näha töölauafaili real Name. Teine võimalus on kasutada funktsiooni KApplication::startServiceByDesktopName(), mis võtab argumendiks töölauafaili failinime, s.t. antud juhul "kio_uiserver.desktop". - -Kõik väljakutsed kasutavad teise argumendina URL-ide nimekirja, mis antakse teenusele käsureal. Kolmas argument on viit klassile QString. Kui teenuse käivitamine ebaõnnestub, annab see argument tulemuseks tõlgitud veateate. - - - - - - - -MIME tüübid - - -Mis on MIME tüübid? - -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: - - - -Konquerori ikoonivaates näitavad faile ikoonid. Iga MIME tüübiga on seotud teatud ikoon, mida siin näidataksegi. - -Klõpsates Konqueroris faili ikoonile või nimele näidatakse faili põimitud näitajas või avatakse antud failitüübiga seotud rakendus. - -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. - -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. - - - -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. - -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 foo.jpg 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 KDEDIR/share/mimelnk/magic, mida siinkohal on keerukas pikemalt käsitleda. Kuid üldiselt saab MIME tüübi info süsteemile suhteliselt lihtsalt teatavaks teha .desktop-faili paigaldades ning seda kasutatakse agaralt ja tõhusalt kõigis KDE teekides. - - - - - -MIME tüüpide defineerimine - -Defineerime oma uuele programmile foobar tüübi "application/x-foo". Selleks tuleb kirjutada fail foo.desktop ja paigaldada see kataloogi KDEDIR/share/mimelnk/application (see on tavapärane asukoht, mis distributsiooniti võib siiski erineda). Selleks tuleb failile Makefile.am lisada: - -mimedir = $(kde_mimedir)/application -mime_DATA = foo.desktop -EXTRA_DIST = $(mime_DATA) - - -Fail foo.desktop peaks välja nägema selline: - -[Desktop Entry] -Type=MimeType -MimeType=application/x-foo -Icon=fooicon -Patterns=*.foo; -DefaultApp=foobar -Comment=Foo Data File -Comment[et]=Foo andmefail - - -Kirje "Comment" on mõeldud tõlkimiseks. Et .desktop-fail määrab ka ikooni, tuleb paigaldada ikoon fooicon.png, mis näitab faili näiteks Konqueroris. - -KDE teekides on selline tüübidefinitsioon seotud KMimeType eksemplariga. Kasuta seda umbes nii, nagu alljärgnevas näites: - -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; - - - - - - -Andmete MIME tüübi määramine - -Kiire meetod failitüübi määramiseks on KMimeType::findByURL(). 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 .pl, mis osutab tüübile "text/x-perl". Samas on serveri edastatud fail hoopis selle skripti väljund, milleks on enamasti HTML. Sellisel juhul tagastab KMimeType::findByURL() MIME tüübi "application/octet-stream" (kasutatav KMimeType::defaultMimeType() vahendusel), mis osutab võimetusele tüüpi tuvastada. - -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; - - -(sellel meetodil on veel mõningaid argumente, kuid need on dokumenteerimata, mistõttu võib nad antud juhul kõrvale jätta) - -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 KMimeMagic, mille veakäsitlus on veidi teistsugune: - -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; - - -Selle funktsiooni variant võimaldab määrata ka mälutüki tüüpi. Seda kasutab näiteks Kate esiletõstmise režiimi tuvastamiseks: - -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; - - -Mõistagi suudab isegi KMimeMagic määrata failitüüpi ainult kohalike failide sisu põhjal. Võrgufailide jaoks on veel üks võimalus: - -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; - - -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 KMimeType::findByURL() tagastab "application/octet-stream". - -Kui sa aga ei soovi rakenduse tööd blokeerida, võib ka vahetult käivitada KIO töö ja luua ühenduse selle mõningate signaalidega: - -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; -} - - - - - - -MIME tüübi seostamine rakenduse või teenusega - -Rakenduse paigaldamisel paigaldab see oma .desktop-faili, mis sisaldab loetelu MIME tüüpidest, mida rakendus suudab avada. Ka komponendid, näiteks KParts, teatavad samasugust infot oma .desktop-failide vahendusel. Nii on enamasti olemas mitu programmi ja komponenti, mis suudavad antud MIME tüüpi käsitleda. Nende nimekirja võib leida klassist KServiceTypeProfile: - -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; -} - - -Selle funktsiooni tagastatav väärtus ongi pakutavate teenuste nimekiri. KServiceOffer objekt liidab KService::Ptr eelistuse numbriga. KServiceTypeProfile::offers() tagastatav nimekiri on järjestatud vastavalt kasutaja eelistustele. Kasutaja saab seda muuta, kutsudes välja "keditfiletype text/html" või valides HTML-faili korral Konquerori kontekstimenüüst kirje Redigeeri failitüüpi. - -Toodud näites nõuti rakenduste nimekirja, mis toetaks tüüpi text/html. Nimekiri sisaldab muu hulgas HTML-redaktoreid, näiteks Quanta. Teise argumendi "Application" võib anda ka "KParts::ReadOnlyPart". Sellisel juhul tagastatakse põimitavate komponentide nimekiri, mis suudavad HTML-i esitada, näiteks KHTML. - -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: - -KService::Ptr offer = KServiceTypeProfile::preferredService("text/html", "Application"); -if (offer) - cout << "Name: " << service->name() << endl; -else - cout << "No appropriate service found" << endl; - - -Keerulisemate päringute jaoks on mõeldud võimas CORBA taoline maakler. - -Rakenduse teenuse käivitamiseks mõne URL-iga on kasutatav KRun: - -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); - - - - - - -Mitmesugust - -Selles osas toome ära mõned API-d, mis on teatud määral seotud meie eelneva jutuga. - -Ikooni hankimine URL-ile. See uurib URL-i tüüpi ja tagastab sellega seotud ikooni. - -KURL url("ftp://ftp.kde.org/pub/incoming/wibble.c"); -QString icon = KMimeType::iconForURL(url); - - -URL-i käivitamine. See uurib URL-i tüüpi ja käivitab kasutaja antud tüübi korral eelistatud programmi. - -KURL url("http://dot.kde.org"); -new KRun(url); - - - - - - - - -Võrguläbipaistvus - - -Sissejuhatus - -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 võrguläbipaistvuseks. - -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 asünkroonsus: 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. - -KDE teekides teostab võrguläbipaistvuse KIO API. Selle arhitektuuri keskne mõiste on IO töö. 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. - -Töötamiseks taustal on mõeldud konkreetseid ülesandeid täitvad IO moodulid. 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. - -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 - -http://www-com.physik.hu-berlin.de/~bernd/article.tgz#tar:/paper.tex - - - - - - -KIO kasutamine - -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 result(KIO::Job*). Signaali väljastamise järel kustutab töö iseenda. Toome siin tüüpilise kasutamise näite: - -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; -} - - -Sõltuvalt töö tüübist võib olla vajalik ühenduse loomine ka muude signaalidega. - -Toome siin ülevaate võimalikest funktsioonidest: - - - -KIO::mkdir(const KURL &url, int õigused) -Loob kataloogi, lisavõimalusena teatud õigustega. - - -KIO::rmdir(const KURL &url) -Eemaldab kataloogi. - - -KIO::chmod(const KURL &url, int õigused) -Muudab faili õigusi. - - -KIO::rename(const KURL &src, const KURL &dest, bool overwrite) -Nimetab faili ümber. - - -KIO::symlink(const QString &target, const KURL &dest, bool overwrite, bool showProgressInfo) -Loob nimeviida. - - -KIO::stat(const KURL &url, bool showProgressInfo) -Leiab teatud info faili kohta, näiteks suurus, muutmise aeg ja õigused. Info teeb pärast töö lõpetamist teatavaks KIO::StatJob::statResult(). - - -KIO::get(const KURL &url, bool reload, bool showProgressInfo) -Edastab andmed URL-ilt. - - -KIO::put(const KURL &url, int õigused, bool overwrite, bool resume, bool showProgressInfo) -Edastab andmed URL-ile. - - -KIO::http_post(const KURL &url, const QByteArray &data, bool showProgressInfo) -Postitab andmed. Spetsiaalselt HTTP jaoks. - - -KIO::mimetype(const KURL &url, bool showProgressInfo) -Püüab leida URL-i MIME tüübi. Tüübi teeb pärast töö lõpetamist teatavaks KIO::MimetypeJob::mimetype(). - - -KIO::file_copy(const KURL &src, const KURL &dest, int õigused, bool overwrite, bool resume, bool showProgressInfo) -Kopeerib ühe faili. - - -KIO::file_move(const KURL &src, const KURL &dest, int õigused, bool overwrite, bool resume, bool showProgressInfo) -Nimetab ümber või liigutab ühe faili. - - -KIO::file_delete(const KURL &url, bool showProgressInfo) -Kustutab ühe faili. - - -KIO::listDir(const KURL &url, bool showProgressInfo) -Loetleb kataloogi sisu. Igal uue kirje tuvastamisel väljastatakse signaal KIO::ListJob::entries(). - - -KIO::listRecursive(const KURL &url, bool showProgressInfo) -Sarnane funktsiooniga listDir(), kuid rekursiivne. - - -KIO::copy(const KURL &src, const KURL &dest, bool showProgressInfo) -Kopeerib faili või kataloogi. Kataloogid kopeeritakse rekursiivselt. - - -KIO::move(const KURL &src, const KURL &dest, bool showProgressInfo) -Liigutab või nimetab ümber faili või kataloogi. - - -KIO::del(const KURL &src, bool shred, bool showProgressInfo) -Kustutab faili või kataloogi. - - - - - - - - -Kataloogikirjed - -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). - -Praegu on defineeritud järgmised tüübid: - - - -UDS_SIZE (täisarv) - faili suurus. - -UDS_USER (string) - faili omav kasutaja. - -UDS_GROUP (string) - faili omav grupp. - -UDS_NAME (string) - failinimi. - -UDS_ACCESS (täisarv) - faili kasutamise õigused, nagu need on salvestanud näiteks libc funktsioon stat() väljal st_mode. - -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. - -UDS_LINK_DEST (string) - nimeviida puhul viidatud faili nimi. - -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. - -UDS_ACCESS_TIME (täisarv) - aeg, millal faili viimati kasutati, nagu selle on salvestanud näiteks stat() väljal st_atime. - -UDS_CREATION_TIME (täisarv) - faili loomise aeg, nagu selle on salvestanud näiteks stat() väljal st_ctime. - -UDS_URL (string) - faili URL, kui see ei ole lihtsalt kataloogi URL-i ja failinime ühend. - -UDS_MIME_TYPE (string) - faili MIME tüüp - -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. - - - -Kuigi failiinfo salvestamise viis klassis UDSEntry 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 m_uds on ikka UDS_MIME_TYPE. Õnneks on olemas API, mida on palju lihtsam kasutada: klass KFileItem. - - - - - -Sünkroonne kasutamine - -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: - -KURL source, target; -source = ...; -target = ... -KIO::NetAccess::copy(source, target); - - -See funktsioon tagastab pärast terve kopeerimisprotsessi lõpetamist. Siiski pakub see meetod edenemisdialoogi ja kontrollib, et rakendus töötleb ümberjoonistamissündmusi. - -Eriti huvitav funktsioonide kombinatsioon o download() koos funktsiooniga removeTempFile(). Esimene tõmbab määratud URL-iga faili ja salvestab selle unikaalse nimega ajutise failina. Nimi salvestatakse teise argumendina. Kui tegemist on kohaliku URL-iga, faili alla ei laeta ja teiseks argumendiks määratakse kohaliku faili nimi. Funktsioon removeTempFile() 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: - -KURL url; -url = ...; -QString tempFile; -if (KIO::NetAccess::download(url, tempFile) { - // load the file with the name tempFile - KIO::NetAccess::removeTempFile(tempFile); -} - - - - - - -Metaandmed - -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: - -void FooClass::reloadPage() -{ - KURL url("http://www.tdevelop.org/index.html"); - KIO::TransferJob *job = KIO::get(url, true, false); - job->addMetaData("cache", "reload"); - ... -} - - -Sama meetodit saab kasutada ka teistpidi, s.t. moodulilt rakendusele suunduva suhtlemise korral. Meetod Job::queryMetaData() pärib mooduli edastatud võtme väärtust. HTTP mooduli korral võib näiteks olla võti "modified", mis sisaldab (stringi kujul) kuupäeva, millal veebilehekülge viimati muudeti. Toome ka kasutamisnäite: - -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; -} - - - - - - -Ajastamine - -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. - -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. - -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 vahetuks 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. - -Seepärast on olemas ka teine võimalus: töid saab ajastada. 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: - -KURL url("http://developer.kde.org/documentation/kde2arch/index.html"); -KIO::TransferJob *job = KIO::get(url, true, false); -KIO::Scheduler::scheduleJob(job); - - -Kolmas võimalus on ühendusepõhine. 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: - -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); - - -Moodul on mõtet lahti ühendada alles pärast seda, kui kõik sellele omistatud tööd on kindlasti lõpetatud. - - - - - -IO mooduli defineerimine - -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: - -protocoldir = $(kde_servicesdir) -protocol_DATA = ftp.protocol -EXTRA_DIST = $(mime_DATA) - - -Faili ftp.protocol sisu on selline: - -[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 - - -Kirje "protocol" määrab, millise protokolli eest antud moodul hoolt kannab. "exec" on (vastupidi sellele, mida sa vahest naiivselt arvasid) moodulit teostava teegi nimi. Mooduli käivitamisel käivitatakse "tdeinit", 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. - -Praegu ei ole kasutusel read "input" ja "output". - -Ülejäänud .protocol-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 ftp:), lugeda lähtefaili ja seejärel kirjutada andmed sihtfaili. Selleks peab .protocol-fail tegema teatavaks, milliseid toiminguid antud moodul toetab. - -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 kdemain(). See sooritab teatud initsialiseerimine ning läheb seejärel sündmusesilmusesse ja ootab rakenduse soove. Välja näeb see nii: - -extern "C" { int kdemain(int argc, char **argv); } - -int kdemain(int argc, char **argv) -{ - KLocale::setMainCatalogue("tdelibs"); - 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; -} - - - - - - -IO mooduli teostamine - -Moodulid teostatakse KIO::SlaveBase alamklassidena (ülaltoodud näites FtpSlave). Nii vastavad .protocol-failis loetletud toimingud teatud KIO::SlaveBase teatud virtuaalsetele funktsioonidele, mida mooduli teostus peab taasteostama. Toome siin ära võimalike toimingute ja neile vastavate virtuaalsete funktsioonide loendi: - - - -reading - loeb andmed URL-ilt -void get(const KURL &url) - -writing - kirjutab andmed URL-ile ja loob faili, kui seda veel ei ole. -void put(const KURL &url, int õigused, bool overwrite, bool resume) - -moving - nimetab faili ümber. -void rename(const KURL &src, const KURL &dest, bool overwrite) - -deleting - kustutab faili või kataloogi. -void del(const KURL &url, bool isFile) - -listing - tagastab kataloogi sisu. -void listDir(const KURL &url) - -makedir - loob kataloogi. -void mkdir(const KURL &url, int õigused) - - - -Lisaks on taasteostatavaid funktsioone, mida ei ole ära toodud .protocol-failis. Nende tegevuste puhul määrab KIO automaatselt, kas need on toetatud või mitte (s.t vaiketeostus tagastab vea). - - - -Edastab failiinfo, umbes nagu C funktsioon stat(). -void stat(const KURL &url) - -Muudab faili kasutamise õigusi. -void chmod(const KURL &url, int õigused) - -Määrab faili MIME tüübi. -void mimetype(const KURL &url) - -Kopeerib faili. -copy(const KURL &url, const KURL &dest, int õigused, bool overwrite) - -Loob nimeviida. -void symlink(const QString &target, const KURL &dest, bool overwrite) - - - -Kõik teostused peavad lõppema ühga kahest väljakutsest: kui tegevus oli edukas, peavad nad kutsuma välja finished(), kui aga tekkis viga, siis tuleb välja kutsuda error() koos veakoodiga esimese ja stringiga teise argumendina. Võimalike veakoodide loendi annab KIO::Error. Teine argument on tavaliselt asjakohane URL. Seda kasutab näiteks KIO::Job::showErrorDialog() inimestele mõistetava veateate loomisel. - -Võrguprotokollidele vastavate moodulite puhul võib huvi pakkuda meetodi SlaveBase::setHost() taasteostamine. See kutsutakse välja teatamaks mooduliprotsessile masinat ja porti ning sisselogimiseks vajalikku kasutajanime ja parooli. Üldiselt saab rakenduse saadetud metaandmete päringuks kasutada SlaveBase::metaData(). Teatud võtme metaandmete olemasolu kontrollimiseks on mõeldud SlaveBase::hasMetaData(). - - - - - -Tagasiside rakendusele - -Mooduli teostatud toimingute tulemusel saadud andmed tuleb mingil moel tagastada mooduliprotsessi kasutavale rakendusele: - - - -get() saadab andmebloki. Seda teeb data(), mis võtab argumendiks QByteArray. Mõistagi ei pea kõiki andmeid korraga saatma. Näiteks suurt faili saates kutsu data() välja väiksemate andmeblokkidega, et rakendus suudaks neid töödelda. Kui edastus on lõpetatud, kutsu välja finished(). - -listDir() edastab kataloogikirjete info. Selleks kutsu listEntries() välja argumendiga KIO::UDSEntryList. Nagu data() puhul, võib ka seda mitu korda välja kutsuda. Kui oled lõpetanud, kutsu välja listEntry(), kusjuures teine argument peab olema tõene (true). Samuti võib välja kutsuda totalSize(), mis annab vastuseks kataloogikirjete koguarvu, kui see on teada. - -stat() edastab failiinfot, näiteks suuruse, MIME tüübi jne. Sellist infot sisaldab KIO::UDSEntry, millest tuleb veel juttu. Selliste andmete saatmiseks rakendustele kasuta statEntry(). - -mimetype() kutsub välja mimeType(), andes argumendiks stringi. - -get() ja copy() pakuvad edenemisinfot. Seda saavutatakse meetoditega totalSize(), processedSize() ja speed(). Kogusuurus ja töödeldud suurus antakse teada baitides, kiirus baitides sekundi kohta. - -Funktsiooniga setMetaData() saab saata metaandmete võtme-väärtuse paare. - - - - - - - -Suhtlemine kasutajaga - -Mõnikord on moodulil vaja suhelda kasutajaga: infosõnumid, autentimisdialoogid või kinnituse küsimine faili ülekirjutamisel. - - - -infoMessage() - 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 KIO::Job::infoMessage(). - -warning() - näitab hoiatust teatekastis funktsiooniga KMessageBox::information(). Kui sama mooduliprotsessi eelmise warning() väljakutse teatekast veel avatud, ei juhtu midagi. - -messageBox() - rikkalikum, kui eelmine meetod. Võimaldab avada teatekasti teksti, pealdise ja mõne nupuga. Vaata täpsemalt loendit SlaveBase::MessageBoxType. - -openPassDlg() - avab dialoogi kasutajanime ja parooli sisestamiseks. - - - - - - - - - - - - -Litsents - -&underFDL; -&underGPL; - - - -
diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/Makefile.am b/tde-i18n-et/docs/kdevelop/kdevelop/Makefile.am deleted file mode 100644 index f6c3e2e278a..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index ed51aadf322..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/Makefile.in +++ /dev/null @@ -1,635 +0,0 @@ -# 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/tdevelop/tdevelop -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ -#>- html-recursive info-recursive install-data-recursive \ -#>- install-dvi-recursive install-exec-recursive \ -#>- install-html-recursive install-info-recursive \ -#>- install-pdf-recursive install-ps-recursive install-recursive \ -#>- installcheck-recursive installdirs-recursive pdf-recursive \ -#>- ps-recursive uninstall-recursive -#>+ 7 -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -#>+ 1 -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -ARTSCCONFIG = @ARTSCCONFIG@ -AUTOCONF = @AUTOCONF@ -AUTODIRS = @AUTODIRS@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CONF_FILES = @CONF_FILES@ -CYGPATH_W = @CYGPATH_W@ -DCOPIDL = @DCOPIDL@ -DCOPIDL2CPP = @DCOPIDL2CPP@ -DCOPIDLNG = @DCOPIDLNG@ -DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ -DEFS = @DEFS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -GMSGFMT = @GMSGFMT@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ -KCONFIG_COMPILER = @KCONFIG_COMPILER@ -KDECONFIG = @KDECONFIG@ -KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ -KDE_RPATH = @KDE_RPATH@ -KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ -MCOPIDL = @MCOPIDL@ -MEINPROC = @MEINPROC@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TOPSUBDIRS = @TOPSUBDIRS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XMLLINT = @XMLLINT@ -X_RPATH = @X_RPATH@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -am__leading_dot = @am__leading_dot@ -am__tar = @am__tar@ -am__untar = @am__untar@ -#>- bindir = @bindir@ -#>+ 2 -DEPDIR = .deps -bindir = @bindir@ -build_alias = @build_alias@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -kde_appsdir = @kde_appsdir@ -kde_bindir = @kde_bindir@ -kde_confdir = @kde_confdir@ -kde_datadir = @kde_datadir@ -kde_htmldir = @kde_htmldir@ -kde_icondir = @kde_icondir@ -kde_kcfgdir = @kde_kcfgdir@ -kde_libs_htmldir = @kde_libs_htmldir@ -kde_libs_prefix = @kde_libs_prefix@ -kde_locale = @kde_locale@ -kde_mimedir = @kde_mimedir@ -kde_moduledir = @kde_moduledir@ -kde_servicesdir = @kde_servicesdir@ -kde_servicetypesdir = @kde_servicetypesdir@ -kde_sounddir = @kde_sounddir@ -kde_styledir = @kde_styledir@ -kde_templatesdir = @kde_templatesdir@ -kde_wallpaperdir = @kde_wallpaperdir@ -kde_widgetdir = @kde_widgetdir@ -tdeinitdir = @tdeinitdir@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xdg_appsdir = @xdg_appsdir@ -xdg_directorydir = @xdg_directorydir@ -xdg_menudir = @xdg_menudir@ -KDE_LANG = 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/tdevelop/tdevelop/Makefile'; \ -#>- cd $(top_srcdir) && \ -#>- $(AUTOMAKE) --gnu docs/tdevelop/tdevelop/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/tdevelop/tdevelop/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu docs/tdevelop/tdevelop/Makefile - cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdevelop/tdevelop/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 tdevelop-install.docbook app-files.docbook file-browsers.docbook index.docbook applicationwizard.docbook getting-started.docbook plugin-tools.docbook project-management.docbook tdevelop-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 tdevelop-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 tdevelop-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 tdevelop-survey.docbook tdevelop-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)/tdevelop - @if test -f index.cache.bz2; then \ - echo $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdevelop/; \ - $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdevelop/; \ - elif test -f $(srcdir)/index.cache.bz2; then \ - echo $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdevelop/; \ - $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdevelop/; \ - fi - -rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdevelop/common - $(LN_S) $(kde_libs_htmldir)/$(KDE_LANG)/common $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdevelop/common - -uninstall-docs: - -rm -rf $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdevelop - -clean-docs: - -rm -f index.cache.bz2 - - -#>+ 13 -install-nls: - $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdevelop - @for base in app-uimodes-examples.docbook editing.docbook commands.docbook documentation.docbook file-browsers.docbook tdevelop-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 tdevelop-survey.docbook tdevelop-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)/tdevelop/$$base ;\ - $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/tdevelop/$$base ;\ - done - -uninstall-nls: - for base in app-uimodes-examples.docbook editing.docbook commands.docbook documentation.docbook file-browsers.docbook tdevelop-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 tdevelop-survey.docbook tdevelop-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)/tdevelop/$$base ;\ - done - - -#>+ 5 -distdir-nls: - for file in app-uimodes-examples.docbook editing.docbook commands.docbook documentation.docbook file-browsers.docbook tdevelop-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 tdevelop-survey.docbook tdevelop-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/tdevelop/tdevelop/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu docs/tdevelop/tdevelop/Makefile - cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdevelop/tdevelop/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 deleted file mode 100644 index 9448b51184c..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/adv-build-management.docbook +++ /dev/null @@ -1,174 +0,0 @@ - -Ehitamise haldamisest põhjalikumalt -&automake; - - -Mitu ehitamisseadistust -ehitamisseadistusedmitu - -(... veel kirjutamata ...) - - - - - - -Krosskompileerimine -krosskompileerimine -kompileeriminekross- - - -Kui sinu käsutuses on sobivad krosskompilaatorid, saad oma programme kompileerida ka protsessoritele ja operatsioonisüsteemidle, mis erinevad süsteemist, kus töötavad sinu &tdevelop; ja kompilaator. &GNU; kompilaatori &gcc; võib seadistada ja kompileerida krosskompilaatorina, aga seda pead sa ise tegema. Täpsemat infot annavad GCC info-leheküljed. Mõned &Linux; distributsioonid pakuvad küll ka binaarpakette. - -Pakette, mille aluseks on automake, saab hõlpsasti krosskompileerida konfigureerimisskripti võtmega ning krosskompilaatori binaarfailidele keskkonnamuutujaid CC ja CXX 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 &tdevelop;i mitme ehitusseadistuse võimalust, mida selgitab . Kui oled loonud uue ehitusseadistuse krosskompileerimiseks dialoogis ProjektProjekti seadistused, lisa võti - -platvorm - -konfiguratsioonivõtmete sekka. platvorm on siinkohal korteež kujul - -cpu-valmistaja-os -või -cpu-valmistaja-kernel-os - -Väga sageli võib kasutada ka lühivormi, näiteks i386-linux või arm-elf. - - - - - - -Qt/Embedded -põimitudQt -Qt/Embedded -Qtopia -kaadripuhver - -&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. - -Rakenduse loomine &qte; tarbeks &tdevelop;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 lisades. Selle saab määrata dialoogi ProjektProjekti seadistused kaardil Konfigureerimise seadistused. Võtmega saab määrata kataloogi, kuhu &qte; on paigaldatud. - -Pärast rakenduse konfigureerimist ja kompileerimist nende võtmetega lingitakse see teegiga libqpe.so. See rakenduse versioon tavaliselt ei tööta X11 tingimustes. Selle testimiseks käivita see programmiga qvfb (&Qt; virtuaalne kaadripuhver). Selleks käivita qvfb ja seejärel oma rakendus käsuga - -rakendus - -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. - -&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 QPEApplication alamklassiks ja linkimist teegiga libqpe.so. Kui töötad oma rakendust välja automaatse projektihalduse abil, tuleb konfigureerimisvõtmete sekka lisada . - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/app-changelog.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/app-changelog.docbook deleted file mode 100644 index 29672adfe04..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/app-changelog.docbook +++ /dev/null @@ -1,87 +0,0 @@ - -Muudatused - -Käesoleva dokumendi muudatused - - - - 03.01.2003: Bernd Gehrmann, Caleb Tennis - - Käsiraamatu esmane koostamine - - - paljude peatükkide sisu visandamine - - - - - - - - 01.08.2004: Bernd Pol, Ian Wadham - - käsiraamatu kerge ümberkorraldamine - - - mõne puuduva peatüki kirjutamine - - - - - - - 02.05.2005 Palju muudatusi Volker Paulilt, sealhulgas: - - jagamine failideks peatükkide/lisade kaupa - - - lisatud käskude seletused menüüde kaupa (kirjeldused pole veel lõpetatud) - - - Rakenduse nõustaja õppematerjal failis getting-started.docbook - - - Peatükkide ümberkorraldamine Konquerori käsiraamatu eeskujul - - - Paigaldamise, UNIX-i arendamise ajaloo ja nõuannete paigutamine lisasse - - - Pluginate lisa ümberkirjutamine, sh. pluginate nimekiri skriptiga listplugins.sh - - - - Pole veel kaugeltki valmis, aga väike samm suurde tulevikku on astutud. - - - - 20.05.2006: Bernd Pol — mõningate veel kirjutamata aukude täitmine: - - - - - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/app-files.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/app-files.docbook deleted file mode 100644 index 5671888ab74..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/app-files.docbook +++ /dev/null @@ -1,1684 +0,0 @@ - - - - - - - - BerndPol - - - - -&tdevelop;i konfiguratsioonifailid - -&tdevelop; kasutab mitmeid konfiguratsioonifaile, mis paiknevad erinevates kataloogides. Üldjoontes jagunevad konfiguratsioonifailid kaheks: - - &tdevelop;i vaikekonfiguratsioon — failid, mis luuakse &tdevelop;i paigaldamisel. - Kasutaja konfiguratsioon — failid, mis sisaldavad kasutaja tehtud muudatusi vaikeväärtustesse, samuti seadistusi, mida on teinud &tdevelop; ise ja selle pluginad. - - - -&tdevelop;i vaikekonfiguratsioon - -Paigaldamisel kirjutab &tdevelop; mõned seadistamiseks mõeldud vaikefailid paigalduskataloogi $KDEDIR (tavaliselt /opt/kde, /usr/local/kde või mõni kasutaja määratud kataloog - vaata osa &tdevelop;i paigaldamine) alamkataloogidesse. - - -&tdevelop;i vaikekonfiguratsioon - -Kataloogis $KDEDIR/share/config/ on ainult üks &tdevelop;i spetsiiline vaikekonfiguratsioonifail: - - - tdeveloprc - See fail sisaldab põhiseadistusi, mida &tdevelop; vajab käivitumisel. See kopeeritakse kasutaja kataloogi $KDEHOME/share/config, kui &tdevelop; ei leia sealt käivitumisel juba eest faili tdeveloprc. - - - - - - -Rakenduste spetsiifilised vaikeväärtused - -Enamiku &tdevelop;i omadusi annab KParts. Need on põhimõtteliselt rakendused, mis on spetsiaalselt kujundatud töötama &tdevelop;i raamistikus (vaata ülevaadet lisas Pluginatööriistad). Igal KPart-rakendusel on omaenda konfiguratsioonifailid, mille vaikeväärtused on salvestatud paigalduskataloogi $KDEDIR/share/apps/ alamkataloogidesse. - -Kataloogis $KDEDIR/share/apps/ on üsna palju vaikekonfiguratsiooni alamkatalooge, mille nime alguses seisab kdev. Enamik neist on mõeldud kasutamiseks ainult &tdevelop;i raames. Neid võib rühmitada mitmeti, näiteks nii: - Autonoomsed rakendused - Ülesandepõhised komponendid - Projekti genereerimise komponendid - Keelepõhised komponendid - - - - - - Autonoomsed rakendused - - tdevelop/ — sisaldab &tdevelop;i &IDE; seadistustefaile: - - licenses/ — sisaldab mitmesuguseid litsentse. - pics/ — pildifaile, mida kasutavad &tdevelop;i, &tdevelop;i abilise ja &tdevelop;i disaineri käivituslogod. - profiles/ — sisaldab pluginate profiilide vaikeseadistusi (praegu on seal ainult tiny profiil, mis määratleb minimaalse &tdevelop;i aktiivsete pluginate kogumi). - eventsrc — sisaldab rea Protsess oli edukas lokaliseerimisstringe. - tdevelopui.rc — tagab &tdevelop;ile põhilised menüü- ja tööriistaribakirjed. - kdevhtml_partui.rc — tagab kirje Trüki... menüüs Fail, kirje Kopeeri menüüs Redigeerimine ning nooled Tagasi ja Edasi sirvimisribal, kui dokumentatsioonipluginaga sirvitakse &HTML;-faili. - - - kdevassistant/ — tagab autonoomse &tdevelop;i abilise dokumentatsioonisirvija menüüriba ja tööriistaribad. - kdevdesigner/ ja kdevdesignerpart/ — tagavad autonoomse &tdevelop;i kasutajaliidese disaineri menüüriba ja tööriistaribad. - - - - Ülesandepõhised komponendid - - kdevabbrev/ — sisaldab faile, mida kasutab lühendite avamise plugin: - - sources/ — sisaldab võtmesõnade definitsioonifaile, mida kasutab käsk Laienda tekst. - templates/ — sisaldab mallide definitsioonifaile, mida kasutab käsk Laienda lühendit. - kdevabbrev.rc — tagab kirjed Laienda tekst ja Laienda lühendit menüüs Redigeerimine. - - - - kdevappwizard/ — sisaldab faile, mida kasutab &appwizard; komponent: - - importfiles/ — sisaldab .tdevelop-projektifaile, mis kontrollivad uue projekti initsialiseerimist. - imports/ — sisaldab malle, mille põhjal luuakse projektipõhised .desktop-failid. - template-common/ — sisaldab mitmesuguseid faile, mis kaasatakse projekti lähtekoodikataloogidesse. - templates/ — sisaldab konfiguratsioonifaile, mis kirjeldavad antud projekti lähtekoodikataloogi kaasatavat infot. - *.png — projektide eelvaatluse pildid, mida kasutab &appwizard;. - *.tar.gz — pakitud failid, mis sisaldavad uude loodud projektikataloogi kaasatavaid lähtekoodifaile. - - - kdevastyle/ — tagab kirje Vorminda lähtetekst uuesti menüüs Redigeerimine. - kdevautoproject/ — tagab enamiku kirjeid menüüs Ehitamine ja tööriistaribal Ehitamisriba (&tdevelop;). - - kdevclassview/ — sisaldab faile, mida kasutab klassivaate projektiplugin: - - pics/ — sisaldab ikoone, mida kasutab klassivaate puu Klassid. - kdevclassview.tc — tagab kirje Klassipärilusskeem menüüs Projektid ning klasside liikumiskasti sirvimisribal. - - - kdevcloser/ — tagab menüü Aken sulgemiskirjed. - kdevctags/ — tagab kirje CTags menüüs Tööriistad CTagsi kasutajaliidese projektiplugina jaoks. - kdevcvsservice/ — tagab ikooni, mida kasutab kaart CvsService ja lühikese shelliskripti uue kirje lisamiseks &cvs;-i hoidlasse, mida mõlemat kasutab CVS põimimise projektiplugin. - kdevdebugger/ — tagab menüü Silumine kirjed Siluriliidese projektipluginale. - kdevdiff/ — tagab kirje Erinevuste näitaja menüüs Tööriistad. - kdevdistpart/ — tagab kirje Pakkimine ja avaldamine menüüs Projekt lõpp-pakendamise toetuse projektipluginale. - - kdevdocumentation/ — sisaldab faile, mida kasutab dokumentatsiooniplugin: - - en/ ja pics/ — sisaldavad faile, mida kasutab otsingutööriist htdig. - tocs/ — sisaldab vaikimisi &tdevelop;i dokumentatsiooni sisu kirjeldusfaile (vaata nende kirjeldust osas &tdevelop;i TOC-failide põhistruktuur). - kdevpart_documentation.rc — tagab otsinguga seotud kirjed menüüs Abi. - - - kdevdoxygen/ — tagab menüükirjed Doxygeni toetuse projektipluginale. - - kdevfilecreate/ — sisaldab faile, mida kasutab uue faili nõustaja: - file-templates/ — tagab esialgse teksti, mis seisab antud tüüpi uues lähtekoodifailis. - kdevpart_filecreate.rc — tagab kirje Uus menüüs Fail. - template-info.xml — sisaldab saadaolevate failitüüpide kirjeldusi, mida näitab tööriistavaade Uus fail. - - - kdevfilter/ — tagab kirjed Käivita käsk... ja Filtreeri valik läbi käsu... menüüs Tööriistad shellifiltrite ja lisamise pluginale. - kdevfullscreen/ — tagab kirje Täisekraanirežiim menüüs Vaade ja vastava tööriistariba ikooni. - kdevgrepview/ — tagab kirje Otsi failidest... menüüs Redigeerimine Grepi kasutajaliidese pluginale. - kdevhistory/ — tagab kirjed Tagasi ja Edasi menüüs Vaade. - kdevjavadebugger/ — tagab menüü Java silumine &Java; rakenduse silumiseks. - kdevoutputviews/ — tagab kirjed Järgmine viga ja Eelmine viga menüüs Vaade. - kdevpartexplorer/ — tagab kirje Komponentide näitaja menüüs Tööriistad komponentide näitaja pluginale. - kdevquickopen/ — tagab kirje Ava kiiresti fail.. menüüs Fail ning kirjed Ava kiiresti klass... ja Ava kiiresti meetod menüüs Tööriistad kiiravamise projektipluginale. - kdevregexptest/ — tagab kirje Regulaaravaldise silumine... menüüs Tööriistad regulaaravaldiste testija pluginale. - kdevreplace/ — tagab kirje Otsimine/valimine/asendamine... menüüs Redigeerimine asendamise komponendid pluginale. - kdevtipofday/ — tagab kirje Päeva nõuanne menüüs Abi ning vastavaid nõuandeid sisaldava HTML-faili. - kdevtools/ — määratleb mitmesuguseid menüükirjeid, mis luuakse tööriistade menüü ja väliste tööriistade menüü seadistustega, mida pakub tööriistade menüü lisamise plugin. - kdevvalgrind/ — tagab kirjed Valgrind - mälulekete kontroll ja Profiil KCachegrindiga menüüs Silumine Valgrindi kasutajaliidese pluginale. - - - - Projekti genereerimise komponendid - kdevadaproject/ — tagab kirjed menüüs Ehitamine ja vastavad tööriiistariba ikoonid Ada rakenduse ehitamiseks. - kdevantproject/ — tagab kirjed menüüs Ehitamine, kui kasutatakse ANT projekti generaatorit. - kdevautoproject/ — tagab kirjed menüüs Ehitamine ja vastavad tööriiistariba ikoonid, kui töötatakse &GNU; tööriistadel põhineva &automake;'i projekti generaatoriga. Lisaks tagab kirjed Lisa tõlge ja Ehitamise seadistused menüüs Projekt. - kdevcustomproject/ — tagab kirjed menüüs Ehitamine ja vastavad tööriiistariba ikoonid, kui projekti aluseks on kohandatud Makefile'id. - kdevgenericproject/ — sisaldab menüüdefinitsioone eksperimentaalsele üldise projekti generaatorile. Praegu (versioon 3.1.0) pole kasutusel. - kdevhaskellproject/ — tagab kirjed menüüs Ehitamine ja vastavad tööriiistariba ikoonid Haskelli rakenduse ehitamiseks. - kdevpascalproject/ — tagab kirjed menüüs Ehitamine ja vastavad tööriiistariba ikoonid Pascali rakenduse ehitamiseks. - kdevtrollproject/ — tagab kirjed menüüs Ehitamine ja vastavad tööriiistariba ikoonid rakenduse ehitamiseks, mis kasutab &Qt; QMake'i projektihaldurit. - - - - Keelepõhised komponendid - kdevadasupport/ — tagab kirjed menüüs Ehitamine ja vastavad tööriiistariba ikoonid Ada rakenduste arendamiseks. - kdevbashsupport/ — tagab kirjed menüüs Ehitamine ja vastavad tööriiistariba ikoonid Bashi skriptide arendamiseks. - - kdevcppsupport/ — sisaldab faile, mida &appwizard; kasutab C++ rakenduste ehitamiseks: - - newclass/ — sisaldab päise- ja lähtekoodifailide malle, mille põhjal &appwizard; ehitab vastavad lähtekoodifailid. - subclassing/ — sisaldab malle, mille põhjal &appwizard; loob lähtekoodifailides esialgsed klasside deklaratsioonid/definitsioonid. - templates — sisaldab malle, mille põhjal &appwizard; loob vaikimisi päise- ja lähtekoodifailide mallid, mida kasutab &nfwizard;. - configuration — libamall makrode lisamiseks. - kdevcppsupport.rc — tagab kirjed Lõpeta tekst ja Ehita liige menüüs Redigeerimine, kirje Lülita päise/teostusfail menüüs Vaade, kirje Uus klass menüüs Projekt ning ikooni Uus klass sirvimisribal. - - - kdevfortransupport/ — tagab kirjed menüüs Ehitamine Fortrani rakenduste arendamiseks. - kdevhaskellsupport/ — tagab kirjed menüüs Ehitamine ja vastavad tööriiistariba ikoonid Haskelli rakenduste arendamiseks. - kdevjavasupport/ — sisaldab UI definitsiooni &Java; rakenduste arendamiseks. - kdevpascalsupport/ — sisaldab UI definitsiooni Pascali rakenduste arendamiseks. - kdevperlsupport/ — tagab kirjed menüüs Projekt ja Abi Perli skriptide arendamiseks. - kdevphpsupport/ — sisaldab UI ja PHP funktsioonide definitsioonifaile PHP skriptide arendamiseks. - kdevpythonsupport/ — tagab kirjed menüüs Ehitamine ja Abi ning vastavad tööriistariba ikoonid Pythoni skriptide arendamiseks. - kdevrubysupport/ — tagab kirjed menüüs Ehitamine ja vastavad tööriistariba ikoonid Ruby skriptide arendamiseks. - kdevscriptproject/ — tagab UI definitsioonid kohandatud projektide arendamiseks. Praegu (versioon 3.1.0) pole kasutusel. - kdevsqlsupport/ — tagab UI definitsioonid SQL projektide arendamiseks. Praegu (versioon 3.1.0) pole kasutusel. - - - - - - - - - - - -Kasutaja konfiguratsioon - -Kõik kasutaja defineeritud seadistused leiduvad kahes kataloogi $KDEHOME alamkataloogis: - Rakendusepõhine konfiguratsioon kataloogis $KDEHOME/share/apps/ ja - Resssurside konfiguratsioonifail kataloogis $KDEHOME/share/config/. - - - - -Rakendusepõhise konfiguratsioon - -Kõik kasutaja tehtud muudatused &tdevelop;i vaikekonfiguratsiooni ning kasutaja spetsiifilised seadistused, mis ei paikne üheski ressursside konfiguratsioonifailis, leiduvad kataloogi $KDEHOME/share/apps/ alamkataloogides kdev... -Enamikku neist konfiguratsioonifailidest kasutavad mitmesugused &tdevelop;i pluginad spetsiifiliste menüü- ja/või tööriistaribakirjete tagamiseks. Sestap pakuvad nad enamasti huvi ainult siis, kui midagi on kasutajaliidesega väga valesti. -Sageli peegeldavad need kataloogid vaid vaikekonfiguratsiooni, sest &tdevelop; kopeerib need esmakäivitamisel kataloogist $KDEDIR/apps/ kataloogi $KDEHOME/apps/. Kõik edasised muudatused tehakse ainult kopeeritud failidesse, nii et vaikekonfiguratsioon jääb iseenesest puutumatuks. - - - - kdevabbrev/ — sisaldab faile, mida kasutab lühendite avamise plugin: - - sources/ — praegu tühi. &tdevelop; kasutab vaikimisi võtmesõnade definitsioonide faile käsu Laienda tekst jaoks. - templates/ — sisaldab kasutaja muudetud malli definitsioonifaile, mida kasutab käsk Laienda lühendit. - kdevabbrev.rc — tagab kirjed Laienda tekst ja Laienda lühendit menüüs Redigeerimine. - - - - kdevappwizard/ — tagab ainult kirjed Uus projekt... ja Impordi olemasolev projekt... menüüs Projekt. &appwizard; kasutab tegelikus töös vaikekonfiguratsiooni. - - - kdevastyle/ — tagab kirje Vorminda lähtetekst uuesti menüüs Redigeerimine. - - - kdevautoproject/ — tagab kirjed menüüs Ehitamine ja tööriistaribal Ehitusriba (KDevelop). - - - kdevclassview/ — tagab kirje Klassipärilusskeem menüüs Projekt ning klassisirvija liitkasti sirvimisribal klassivaate projektipluginale. - - - kdevcloser/ — tagab kirje Sulge valitud aknad... menüüs Aken. - - - kdevcppsupport/ — sisaldab konfiguratsiooni, mida &appwizard; kasutab C++ rakenduste ehitamiseks. &appwizard; hangib siiski põhiosa konfiguratsiooniinfost vaikekonfiguratsiooni kataloogist (täpsema info nägemiseks klõpsa lingile). - - - newclass/ — sisaldab päise- ja lähtekoodifailide malle, mille põhjal &appwizard; ehitab vastavad lähtekoodifailid. - - - pcs/ — sisaldab andmebaasifaile, mida &tdevelop; kasutab &kde; C++ projekti püsiva klassihoidla faili (.pcs) ehitamiseks. - - - kdevcppsupport.rc — tagab kirjed Lõpeta tekst ja Ehita liige menüüs Redigeerimine, kirje Lülita päise/teostusfail menüüs Vaade, kirje Uus klass menüüs Projekt ning ikooni Uus klass sirvimisribal. - - - - - kdevctags/ — tagab kirje CTags menüüs Tööriistad CTagsi kasutajaliidese projektiplugina jaoks. - - - kdevdebugger/ — tagab menüü Silumine kirjed Siluriliidese projektipluginale. - - - kdevdiff/ — tagab kirje Erinevuste näitaja menüüs Tööriistad. - - - kdevdocumentation/ — sisaldab faile, mida dokumentatsiooniplugin kasutab lisaks vaikekonfiguratsiooni failidele (täpsema info nägemiseks klõpsa lingile). - Kataloogi kdevdocumentation/ alamkataloogides paikneb tegelik dokumentatsiooniinfo. Loodud dokumentatsioonifailid asuvad kataloogis $KDEHOME/share/config/ failides doc...pluginrc. - - - bookmarks/ — tagab kirjed &tdevelop;i dokumentatsiooniplugina kaardil Järjehoidjad. - - - index/ — sisaldab mitmeid puhvrifaile, mida &tdevelop; kasutab indekseeritud dokumentatsiooniotsingu kiirendamiseks dokumentatsiooniplugina kaardil Indeks. - - - search/ — sisaldab faile, mida kasutab otsingutööriist htdig, mis tegeleb dokumentatsiooniplugina kaardi Otsing otsinguväljakutsetega. - - - kdevpart_documentation.rc — tagab otsinguga seotud kirjed menüüs Abi. - - - - - kdevdoxygen/ — tagab menüükirjed Doxygeni toetuse projektipluginale. - - - tdevelop/ — sisaldab mitmeid seadistusi, mida &tdevelop; kasutab: - - profiles/ — tagab pluginate profiiliseadistused (algselt on seal ainult profiil FullIDE, mis määratleb kõik algselt aktiivsed &tdevelop;i pluginad). - tdevelopui.rc — tagab &tdevelop;ile põhilised menüü- ja tööriistaribakirjed. - - - - kdevfilecreate/ — sisaldab faile, mida kasutab uue faili nõustaja: - - file-templates/ — tagab sisu, mis lisatakse antud tüüpi uutesse lähtekoodifailidesse. Rohkem failimalle leiab vaikekonfiguratsioonifailide kataloogist. - kdevpart_filecreate.rc — tagab kirje Uus menüüs Fail. - template-info.xml — sisaldab saadaolevate failitüüpide kirjeldusi, mida näitab tööriistavaade Uus fail. - - - - kdevfilter/ — tagab kirjed Käivita käsk... ja Filtreeri valik läbi käsu... menüüs Tööriistad shellifiltrite ja lisamise pluginale. - - - kdevfullscreen/ — tagab kirje Täisekraanirežiim menüüs Vaade ja vastava tööriistariba ikooni. - - - kdevgrepview/ — tagab kirje Otsi failidest... menüüs Redigeerimine Grepi kasutajaliidese pluginale. - - - kdevoutputviews/ — tagab kirjed Järgmine viga ja Eelmine viga menüüs Vaade. - - - kdevpartexplorer/ — tagab kirje Komponentide näitaja menüüs Tööriistad komponentide näitaja pluginale. - - - kdevquickopen/ — tagab kirje Ava kiiresti fail.. menüüs Fail ning kirjed Ava kiiresti klass... ja Ava kiiresti meetod menüüs Tööriistad kiiravamise projektipluginale. - - - kdevregexptest/ — tagab kirje Regulaaravaldise silumine... menüüs Tööriistad regulaaravaldiste testija pluginale. - - - kdevreplace/ — tagab kirje Otsimine/valimine/asendamine... menüüs Redigeerimine asendamise komponendid pluginale. - - - kdevtipofday/ — tagab kirje Päeva nõuanne menüüs Abi. Saadaolevaid nõuandeid sisaldav HTML-fail on saadaval ainult vaikekonfiguratsioonifailina. - - - kdevtools/ — määratleb mitmesuguseid menüükirjeid, mis luuakse tööriistade menüü ja väliste tööriistade menüü seadistustega, mida pakub tööriistade menüü lisamise plugin. - - - kdevvalgrind/ — tagab kirjed Valgrind - mälulekete kontroll ja Profiil KCachegrindiga menüüs Silumine Valgrindi kasutajaliidese pluginale. - - - - - - -Ressursside konfiguratsioonifailid - -Kataloogis $KDEHOME/share/config/ on kaht tüüpi &tdevelop;i konfiguratsioonifaile, mida eristavad alguses ja lõpus seisvad sümbolid: - doc...pluginrc on failid, mida kasutab dokumentatsiooniplugin. - kdev...rc on konfiguratsioonifailid, mida kasutab &tdevelop; ise ja selle saadaolevad pluginad. - - - - -&tdevelop;i konfiguratsioonifailid - - kdevabbrevrc — sisaldab lühendtie konfiguratsiooni kehtivat olekut lühendite laiendamise pluginale. - See salvestab ainult selle, kas lühendeid kasutatakse või mitte. Uute lühendite definitsioonid ise asuvad failis $KDEHOME/share/apps/kdevabbrev/templates/templates. - - - kdevassistantrc — sisaldab teatud autonoomsele &tdevelop;i abilise dokumentatsioonisirvijale spetsiifilisi konfiguratsiooniolekuid. - Enamik üldisi konfiguratsioonimääratlusi on ühised &tdevelop;i IDE failiga tdeveloprc. - - kdevassistantuimode4rc — sisaldab autonoomse &tdevelop;i abilise dokumentatsioonisirvijale MDI kehtivaid konfiguratsiooniolekuid (dokkide positsioon &etc;). - - kdevclassviewrc — sisaldab klassisirvija kaardi Klassid vaaterežiimi seadistust klassivaate projektipluginale. - See on globaalne seadistus, ehkki klassivaate plugina saab projektis keelata. Kõik antud seadistuse muudatused uuendatakse globaalselt aktiivse projekti sulgemisel, mistõttu need mõjutavad kõiki edaspidi avatavaid projekte. - - kdevcppsupportrc — sisaldab mõningaid seadistusi, mida kasutatakse CPP lähtekoodifailide loomisel. Eriti kuuluvad siia seadistused, mis määratakse dialoogis C++ klassi generaator. - kdevdocumentationrc — sisaldab seadistusi, mida kasutab dokumentatsiooniplugin. - tdeveloprc — sisaldab globaalseid seadistusi, mida kasutavad &tdevelop;i IDE ja autonoomne &tdevelop;i abilise dokumentatsioonisirvija. - tdevelopuimode4rc — sisaldab &tdevelop;i IDE MDI aktiivset konfiguratsiooniolekut (dokkide positsioon &etc;). - kdevfileselectorrc — sisaldab seadistusi, mida kasutab failivalija. - kdevfileviewrc — sisaldab failinime värvi seadistusi, mida kasutab näitamisel CVS põimimise (Cervisia) projektiplugin. - kdevfilterrc — sisaldab seadistusi, mida kasutab shellifiltrite ja lisamise plugin. - kdevgrepviewrc — sisaldab seadistusi, mida kasutab Grepi kasutajaliidese plugin. - kdevsnippetrc — sisaldab seadistusi, mida kasutab koodijuppide plugin. - kdevtoolsrc — sisaldab seadistusi, mida kasutab tööriistamenüü lisamise plugin. - - - -Dokumentatsiooniplugina konfiguratsioonifailid - docchmpluginrc — sisaldab infot &Microsoft; CHM-abifailide kohta, nagu see on defineeritud seadistustedialoogis CHM dokumentatsioonikogu kaardil. - doccustompluginrc — sisaldab infot kohandatud dokumentatsioonifaili kohta, nagu see on defineeritud seadistustedialoogis kohandatud dokumentatsioonikogu kaardil. - docdevhelppluginrc — sisaldab infot GNOME 2 DevHelp dokumentatsioonifailide kohta, nagu see on defineeritud seadistustedialoogis Devhelp dokumentatsioonikogu kaardil. - docdoxygenpluginrc — sisaldab infot Doxygeni genereeritud API dokumentatsiooni kohta, nagu see on defineeritud seadistustedialoogis Doxygeni dokumentatsioonikogu kaardil. - dockdevtocpluginrc — sisaldab infot KDevelopTOC struktureeritud dokumentatsiooni failide kohta, nagu see on defineeritud seadistustedialoogis KDevelopTOC dokumentatsioonikogu kaardil. - docqtpluginrc — sisaldab infot Qt dokumentatsioonifailide kohta, nagu see on defineeritud seadistustedialoogis Qt dokumentatsioonikogu kaardil. - - - - - - - - - -Projektist sõltuv konfiguratsioon - -Suurem osa projektist sõltuvat konfiguratsiooni asub peamiselt &tdevelop;i projekti konfiguratsioonifailides <projekti-nimi>.tdevelop and <projekti-nimi>.kdevses, mitte aga globaalsemates konfiguratsioonifailides. Lühidalt öeldes on need mõeldud järgmisteks asjadeks: - - <project-name>.tdevelop — globaalne projektikonfiguratsiooni info. - <project-name>.kdevses — konfiguratsiooniinfo, mida on vaja töötava seansi spetsiilise käitumise taastamiseks. - -Mõlemad on &XML;-failid, mida võib vaadata ja (ettevaatlikult) muuta suvalises tekstiredaktoris. - - -Püsiva klassihoidla failid - -On veel üks projektist sõltuv konfiguratsioonifail, nimelt <projekti-nimi>.tdevelop.pcs 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 &tdevelop;i koodilõpetuse tööriist. - -Täiendavaid püsiva klassihoidla faile saab luua projekti seadistustedialoogi kaardi C++ spetsiifiline alamkaardil Koodilõpetus. Nende täiendavate .pcs-failide info leidub globaalselt kataloogis $KDEHOME/share/apps/kdevcppsupport/pcs/. - - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/app-menu.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/app-menu.docbook deleted file mode 100644 index 100918cf257..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/app-menu.docbook +++ /dev/null @@ -1,72 +0,0 @@ - - - - - BerndPol - - - - -Menüü- ja tööriistaribade ülevaade - -(... veel kirjutamata ...) - - -Menüüd - -(... veel kirjutamata ...) - - -Üldised menüüd - -(... veel kirjutamata ...) - - - - -Projektipõhised menüüd - -(... veel kirjutamata ...) - - - - -Pluginatööriistade menüüd - -(... veel kirjutamata ...) - - - - - - -Tööriistaribad - -(... veel kirjutamata ...) - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/app-misc-info.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/app-misc-info.docbook deleted file mode 100644 index 65d27e86b36..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/app-misc-info.docbook +++ /dev/null @@ -1,28 +0,0 @@ - -Täiendav info - -Info hankimine -(... veel kirjutamata ...) - - - -Vigadest teatamine -(... veel kirjutamata ...) - - - -Litsents -&underFDL; &underGPL; - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/app-uimodes-examples.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/app-uimodes-examples.docbook deleted file mode 100644 index 8a81a104880..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/app-uimodes-examples.docbook +++ /dev/null @@ -1,174 +0,0 @@ - -&tdevelop;i kasutajaliidese režiimi näited - - -IDEAl režiim - -Klõpsa siia režiimide ülevaate juurde naasmiseks. - - - - - - - Pilt - &tdevelop;i IDEAl režiim - - - -Klõpsa siia režiimide ülevaate juurde naasmiseks. - - - - - - - Pilt - &tdevelop;i IDEAl režiim suletud kaartidega - - - -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. -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 Automake'i halduri kohtspikker, mis kirjeldab parempoolse kaardiriba alumise kaardi olemust. - -Klõpsa siia režiimide ülevaate juurde naasmiseks. - - - - - - -Alamraami-aknarežiim - -Klõpsa siia režiimide ülevaate juurde naasmiseks. - - - - - - - Pilt - &tdevelop;i alamraami-aknarežiim - - - -Klõpsa siia režiimide ülevaate juurde naasmiseks. - - - - - - -Kaartidega aknarežiim - -Klõpsa siia režiimide ülevaate juurde naasmiseks. - - - - - - - Pilt - &tdevelop;i kaartidega aknarežiim - - - -Klõpsa siia režiimide ülevaate juurde naasmiseks. - - - - - - -Tipptaseme aknarežiim - -Klõpsa siia režiimide ülevaate juurde naasmiseks. - - - - - - - Pilt - &tdevelop;i tipptaseme aknarežiim - - - -Klõpsa siia režiimide ülevaate juurde naasmiseks. - - - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/applicationwizard.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/applicationwizard.docbook deleted file mode 100644 index 0e01695ad20..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/applicationwizard.docbook +++ /dev/null @@ -1,1387 +0,0 @@ - - - - - BerndPol - - - - -Alustamine — &appwizard; - - - - - - &appwizard; - -Arendustegevuse keskmes seisavad &tdevelop;is projektid. 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. -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 &tdevelop;il avada projekt, mille kallal tahad parajasti vaeva näha, ning see avatakse täpselt selles keskkonnas, kuhu sa ta viimati jätsid. - - -Uued projektid - - - - - - projekt - uus - -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; -&tdevelop; pakub intuitiivse vahendi uue projekti loomiseks — &appwizard;. &appwizard; saab avada menüüst käsuga Projekt Uus projekt. -Uue programmeerimisprojekti loomiseks &appwizard; abil on vaja vaid mõned sammud: - - Valida programmeerimiskeel ja rakenduse tüüp teatud eelnevalt määratud mallide seast. - Määrata teatud üldinfo: rakenduse nimi, kataloog, kus see luuakse &etc; - Otsustada, kas kasutada versioonikontrollisüsteemi (⪚ CVS) ja anda vajaduse korral selle jaoks andmed. - Luua mõned mallid esialgsete päise- ja lähtekoodigfailide tarbeks. - Anda &appwizard;le korraldus luua kõik esialgu vajalik: kataloogistruktuur, esialgne päis/lähtekood, failimallid ja haldusvahendid (⪚ esiaglne ehitamisstruktuur) &etc; - -Voilà — ongi kõik. &appwizard; loob nüüd sinu eest esialgse töötava failide komplekti, mille kallal võid kohe tegutsema hakata. -Vaatame nüüd seda kõike veidi lähemalt. - - -Esimesed sammud - - - dialoog - uue projekti loomine - - projekt - uue projekti loomine - dialoog - - projekt - mallid - - mallid - projekt - -&tdevelop;is uue projekti loomiseks vali käsk Uus projekt menüüst Projekt. Ilmub dialoog Uue projekti loomine, kus on avatud kaart Üldine: - - - - - - - Uue projekti loomise esimene dialoog - - - -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. - - -Programmeerimiskeele ja rakenduse tüübi valimine - - - projekt - rakenduse tüüp - - projekt - programmeerimiskeel - - projekt - keel - - keel - - programmeerimiskeel - - rakendus - tüüp - -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: - - - Ada - Ada - uus projekt - - C - C - uus projekt - - C++ - C++ - uus projekt - - Database (SQL projektid) - SQL - uus projekt - - Andmebaas - uus projekt - - Fortran - Fortran - uus projekt - - Haskell - Haskell - uus projekt - - Java - Java - uus projekt - - PHP - PHP - uus projekt - - Pascal - Pascal - uus projekt - - Perl - Perl - uus projekt - - Python - Python - uus projekt - - Ruby - Ruby - uus projekt - - Shell (Bash'i shelliskriptid) - Bash - uus projekt - - shell - uus projekt - - - -Kui täpne olla, siis need kataloogid ei sisalda tegelikult ühtegi programmeerimistööriista. Need viivad vaid eelnevalt määratud mallide 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. -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 lühike kirjeldus, 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 ekraanipilt. -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. - - -Projektihalduse süsteemi valimine -Iga mall on seotud kindla projektihalduse süsteemiga. 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. - - - - - -Üldinfo määramine - - - projekt - omadused - - omadused - - rakendus - nimi - - nimi - rakendus - - projekt - kataloog - - kataloog - projekt - - asukoht - uus projekt - - projekt - autor - - projekt - e-posti aadress - - autor - - e-posti aadress - - projekt - main.cpp - - main.cpp - - projekt - litsents - - litsents - -Dialoogi Uue projekti loomine kaardi Üldine alumine osa sisaldab raamiga ümbritsetud sektsiooni Omadused. Sul tuleb siin anda veidi üldist infot oma projekti kohta, et &appwizard; teaks, kuidas esialgne struktuur luua. - -Rakenduse nimi -Rakendus vajab enesestmõistetavalt nime. Kirjuta see sektsiooni Omadused ülemisele väljale, mis kannab nimetust Rakenduse nimi. Me kasutame oma näites nimetust MinuRakendus. - -Kindlasti paned tähele, et &appwizard; ei luba siia mitte kõike sisestada. Sellele väljale on lubatud sisestada ainult järgmisi sümboleid: - suur- ja väiketähed - arvud - alakriips - - -Selle piirangu üks oluline põhjus on asjaolu, et &appwizard; kasutab rakenduse nime mõne klassinime alusena, mida ta esialgse projekti loomise käigus tekitab. Seepärast peab rakenduse nimi vastama programmeerimiskeele nõuetele ja reeglitele. - -Projektikataloog -Teist selle piirangu olulist põhjust näed sektsiooni Omadused allosas. See kannab nimetust Lõppasukoht ning kujutab endast kataloogi, kuhu &appwizard; sinu rakenduse loob. - -Kui sisestad rakenduse nime, näed, et &appwizard; kordab seda real Lõppasukoht, ainult et seal on see läbivalt väiketähtedega. -Seepärast tuleb rakenduse nimi hoolikalt valida. Kui sisestad juba olemasoleva kataloogi nime, ei luba &appwizard; sul järgmise sammu kallale asuda: nupp Edasi > on mitteaktiivne (hall). Kuid sel juhul saad hoiatuse: rea Lõppasukoht lõppu lisatakse teade (kataloog/fail on juba olemas). - - -Asukoht -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. - -Seda saab teha sektsiooni Omadused väljal Asukoht. Siia sisestatu on tegelikult ainult uue rakenduse kataloogi asukoha algus. &appwizard; lisab sellele rakenduse nime, mis saab tegelikukt uue projekti asukohaks. Tulemust näeb real Lõppasukoht. -&appwizard; kopeerib käivitamisel väljale Asukoht vaikeväärtuse. See on kataloog, mis on kindlaks määratud seadistustedialoogi väljal Projectide vaikimisi kataloog. Meie näites kasutab &tdevelop; uute projektide vaikekataloogina kataloogi /home/devel/projektid/. -Muuda välja Asukoht sisu, et rakenduse arenduskataloog, mida näitab rida Lõppasukoht, oleks unikaalne. - -Kontrolli, et asukoht, mille sisestad väljale Asukoht, oleks ikka olemas. Vastasel juhul ei pääse sa edasi järgmise sammu juurde. &appwizard; hoiatab sind selle eest: rea Lõppasukoht lõppu lisatakse teade (kataloog/fail on juba olemas). - - - - - - - Uue projekti loomine CVS-is - - - - -Isiklik info -Sellele järgnevad väljad pole nii olulise tähtsusega. Anna lihtsalt oma nimi (&ie; isiku nimi, kes vastutab rakenduse eest) väljal Autor ning kehtiv e-posti aadress väljal E-post, et kasutajad saaksid rakenduse kohta tagasisidet anda. - - - - - &appwizard; täidab need väljad vaikeväärtustega, mis võetakse &juhtimiskeskus;e e-posti seadistustest. Kui sulle ei sobi dialoogi Uue projekti loomine väljadel Autor ja E-post antud vaikeväärtused, võiksid vahest üle vaadata ka &juhtimiskeskus;e vastavad seadistused. - &appwizard; põimib selle info võimaluse korral programmimallidesse. &kde; C++ programmides näiteks leiab selle lähtekoodifaili main.cpp algusest. - Kõigist väljadest ei ole E-post kohustuslik, 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. - - - - -Versiooni- ja litsentsiinfo -Lõpuks sisesta oma uue rakenduse versiooninumber väljale Versioon ning vali rippmenüüst Litsents litsents, mille alusel soovid oma rakendust levitada. - - -Kui oled valinud rakenduse tüübi, mille korral &appwizard; pakub üldist lähtekoodi malli teksti (⪚ C/C++), näed litsentsi teksti dialoogi Uue projekti loomine kolmandal kaardil (vaata allpool osa Päise/lähtekoodimallide määramine). -Kui valid rippmenüüst Litsents valiku Kohandatud, pead ka litsentsi ise kirja panema. - -Nii versiooni- kui ka litsentsiinfo põimitakse mallidesse vastavalt sellele, kuidas seda võimaldab sinu valitud rakenduse tüüp. - -Kui oled kogu info korrektselt sisestanud, klõpsa järgmiste kaartide juurde minemiseks nupule Edasi >. - - - - - -Versioonikontrollisüsteemi info määramine - - - CVS - uus projekt - - projekt - CVS - - andmebaas - CVS - - versioon - andmebaas - - versioon - CVS - -&appwizard; teine samm viib sind kaardile Versioonikontrollisüsteem, kus saad otsustada, millist versioonikontrollisüsteemi kasutada. - -Siinkohal puudutame ainult projekti loomisega seotud asju. Täpsemalt räägib &CVS;-ist allpool olev peatükk &CVS;-i kasutamine. - - -Versioonikontrollisüsteem puudub -Algselt on kaardil Versioonikontrollisüsteem valitud Puudub ning kaart on tühi. Kui sa ei soovi kasutada versioonikontrollisüsteemi, klõpsa lihtsalt nupule Edasi -> - - - -&CVS;-i kasutamine -Vastasel juhul pead valima soovitava versioonikontrollisüsteemi kaardil Versioonikontrollisüsteem. Me kasutame oma näites &cvs;-i. Selle valimisel näitab &appwizard; mitmeid välju, mis sul tuleb nüüd täita. - - - - - - - - Uue projekti loomine CVS-is - - - -Versioonikontrollisüsteemid nagu &CVS; (mis tähendab Concurrent Versions System ehk kõrvutiste versioonide süsteem) salvestavad valitud projekti failide koopia omamoodi andmebaasi. &CVS;-i kasutamisel saad muu hulgas need failid üles laadida (sisse kanda) või uuesti oma projektikataloogi laadida (välja võtta või uuendada). 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 &tdevelop;) kallal, ilma et nad üksteist segaksid. - - - CVS - root - - root - CVS - - CVS - kohalik - - CVS - võrgus - - kohalik CVS - - :local: - - CVS - :local: - - -&CVS; Root -&CVS; on mõeldud sinu projektifailide versioonide andmebaasi haldamiseks. Selleks hoiab ta teatud spetsiaalset andmebaasiinfot omaette kataloogis, mis kannab nimetust &CVS; root. Oma uue projekti &CVS;-i loomisel ongi sestap esimene samm anda &tdevelop;ile teada, kus see 'root' ehk juurkataloog asub. - - -Kohalik &CVS; root. Selleks on kaks võimalust. Sa võid kasutada kohalikku &CVS;-i andmebaasi või siis andmebaasi, mis paikneb võrguserveris. Kui arendad rakendust omaette, võid kasutada &CVS;-i andmebaasi enda arvutis omamoodi varusüsteemina. Tavaliselt asub see siis sinu kodukataloogis ja kannab nime cvsroot umbes nii: -/home/devel/cvsroot (kus devel tähistab lihtsalt arendajast kasutajat) - -Õigupoolest on see lühivorm. Konkreetsemalt peab kohalikule &CVS;-i juurkataloogile eelnema liide :local:. Lühivorm on lubatud ainult juhul, kui failinimi algab kaldkriipsuga (/). Meie näite korral näeb kohaliku CVS;-i juurkataloogi nimi välja nii: :local:/home/devel/cvsroot - -Sisesta &CVS;-i juurkataloogi nimi väljale CVS root. 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. -Initsialiseeri uus &CVS; root. Kui &CVS;-i juurkataloogi polnud varem olemas, võib &tdevelop; anda &CVS;-süsteemile korralduse luua see sinu jaoks määratud kataloogis. Selleks märgi välja CVS root all ära kast Initsialiseeri juurkataloog. -Nagu öeldud, annab &tdevelop; lihtsalt käsu &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 Initsialiseeri juurkataloog, aga &CVS;-i juurkataloog on juba olemas. - -&CVS; root võrgus. Sageli aga paikneb &CVS;-i andmebaas võrguserveris, eriti siis, kui projekti kallal töötab hulk arendajaid. Sel juhul pead sisestama väljale CVS root selle serveri &CVS; root &URL;-i. Kui näiteks selleks on &kde; &CVS;-server, näeb see välja nii: -:pserver:minukasutajanimi@cvs.kde.org:/home/kde (kus minukasutajanimi tähistab sinu &kde; &CVS;-i konto nime) - - - CVS võrgus - - :pserver: - - :ext: - - CVS - :local: - - CVS - :pserver: - - CVS - :ext: - - -&CVS;-i võrguserveri tüübid -Põhimõtteliselt on kaks laiemalt levinud &CVS;-i võrguserveri tüüpi: pserver, mis kasutab parooliga mittekrüptitavat protokolli, ja ext, mis kasutab rsh või ssh krüptimisega andmeedastust. Neid eristab &URL;-i prefiks: - - -:pserver: - -krüptimata parooliga kaitstud serveri ja - -:ext: - -rsh või ssh krüptimisega serveri korral. Näiteks - -:ext:minukasutajanimi@cvs.cervisia.sourceforge.net:/cvsroot/cervisia - -tagab ligipääsu laialdaselt kasutatava &CVS;-i haldustööriista Cervisia &CVS;-i juurkataloogile SourceForge'i serveris. -Kui soovid &CVS;-i kasutamiseks pruukida rsh või ssh krüptimisega serverit, pead &tdevelop;ile teada andma, millist krüptoprotokolli kasutada. Selleks kirjuta lihtsalt rsh või ssh dialoogi Uue projekti loomine kaardi Versioonikontrollisüsteem väljale CVS_RSH. - -Sind varitseb siiski üks oht, kui kasutada &CVS;-i korral &tdevelop;is krüptimisega serverit. Täpsemalt räägib sellest peatükk &CVS;-i kasutamine. - - - CVS - hoidla - - hoidla - CVS - - -&CVS;-hoidla -Praeguseks oled &tdevelop;ile teada andnud, kus asub &CVS; root, mis haldab versioonide andmebaasi, ja kuidas sellele ligi pääseda. Nüüd tuleb &tdevelop;ile öelda, millise nimel all peaks &CVS; selles andmebaasis sinu projekti failid salvestama. Sellist projektifailide asupaika &CVS;-is nimetatakse hoidlaks. - -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. -Sisesta lihtsalt soovitud hoidla nimi dialoogi Uue projekti loomine kaardi Versioonikontrollisüsteem väljale CVS-hoidla. Meie näites on selleks MinuRakendus. - -Kontrolli, et sellenimelist hoidlat ei oleks juba olemas! &CVS; ei hoiata topeltfailide eest, vaid lihtsalt ühendab kõik, mis ei tekita formaalset konflikti. Sel juhul võib tekkida väga suur segadus! - - -Ülejäänud väljad -Enam pole palju jäänud. &appwizard; on ülejäänud väljad täitnud vaikeväärtustega. Need on järgmised: - -Välja Tootja kasutatakse ainult ühilduvuse nimel. Sa võid rahumeeli leppida vaikeväärtusega tootja, mille &appwizard; on sinu eest siia sisestanud. -Väli Kommentaar võimaldab kommenteerida &CVS;-i esialgset sisu. Kirjuta siia, mida süda soovib, või rahuldu tekstiga uus projekt, mille &appwizard; on sinu eest siia sisestanud. -Väljal Väljalaske silt seisab nimi, mis sildistab sinu projekti esialgse oleku. Selline silt 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 &CVS;-i kasutamine). -&appwizard; on siia sisestanud alustamine, mis on ka päris mõistlik. Kui see sind rahuldab, ära seda muuda. - - -Seda, kas kogu antud info on korrektne, ei tea &tdevelop; üldiselt enne projekti loomist. Siis selgitab &CVS; ise hoidla ehitamisel välja võimalikud vead. Seepärast tuleks silm peal hoida &tdevelop;i teadete aknal, kui alustad projekti lõplikku loomist. Kui &CVS; kohtab mõnda viga, näed enamasti umbes sellist veateadet: - - -* 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 *** - - -Sellisel juhul pead kas &CVS;-i käsitsi seadistama (&tdevelop; peaks selleks hetkeks olema sinu projektifailid edukalt initsialiseerinud) või kustutama projektikataloogi ja alustama taas käsust Uus projekt menüüs Projekt. - - -Kui oled sisestanud kogu &CVS;-iga seotud info, klõpsa jätkamiseks nupule Edasi >. - -Kui soovid parandada mõnda viga dialoogi Uue projekti loomine varasematel kaartidel, klõpsa nupule < Tagasi. &appwizard; jätab meelde aktiivse lehekülje seadistused, nii et kui oled parandused teinud, võid naasta ja varasemast olekust edasi minna. - - - - -Päise/lähtekoodimallide määramine - -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). -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. -Kui see kaart on kasutusel, määrab &appwizard; juba enne teatud päiseosa, mida üks C++ rakendus arvatavasti peaks kasutama: - - -/*************************************************************************** - * 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. * - ***************************************************************************/ - - -Teised mallid pakuvad samalaadset infot vormingus, mis vastab kasutatavale programmeerimiskeelele. -Nagu vahest märkad, on rakenduste haldur juba täitnud osa infot, mille andsid dialoogi Uue projekti loomine esimesel kaardil (Üldine), nimelt sealmääratud väljade Autor ja E-post info. Lisatud on ka info, mille andsid väljal Litsents. - - -Mallide redigeerimine - - - mallid - projekt - redigeerimine - - projekt - mallid - redigeerimine - -Malle, mida lood dialoogis Uue projekti loomine, kasutatakse hiljem, kui annad &tdevelop;ile korralduse luua uus lähtekoodi- ja/või päisefail. Siin antud info lisatakse dokumentatsiooni päisesse enne koodi enda algust. -Sa ei ole siiski piiratud puhta tekstiga. &tdevelop; tunneb ka mitmeid muutujaid, millega kaasata faili tegelikku infot. Õigupoolest kasutaski &appwizard; muutujaid, kui lisas malli teksti väljade Autor, E-post ja Litsents info. - - - -&doxygen;i failiinfo kaasamine - -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: - -/** - * \file $MODULE$.cpp - * \brief (put some short descripion here). - **/ - -Kui nüüd lood uue lähtekoodifaili, asendab &tdevelop; muutuja $MODULE$ loodu faili nimega. Kui näiteks lood uue C++ klassi nimega ASimpleTest, näed failis asimpletest.cpp järgmisi ridu: - -/** - * \file asimpletest.cpp - * \brief (put some short descripion here). - **/ - -Sa pead küll ikkagi ise andma lühikirjelduse võtmesõna \brief järel, kuid osa tööst tehakse sinu eest automaatselt ära. - - - - -Litsentsiteksti fail - -Veel üks näide: sa võid malli lisada otsese viite litsentsile, mida soovid kasutada. Selleks tarvita muutujat $LICENSEFILE$ ja lisa näiteks selline rida: - - -// See $LICENSEFILE$ for the full license text. - -&appwizard; asendab muutuja $LICENSEFILE$ faili nimega, milles paikneb täielik litsents, näiteks: - -// See COPYING for the full license text. - -GPL litsentsi korral või - -// See LICENSE.BSD for the full license text. - -kui otsustad oma rakendust levitada BSD litsentsi alusel. -Loomulikult tunneb &tdevelop; märksa rohkem muutujaid. Uuri lähemalt osa Mallide redigeerimine peatükis Redigeerimistööriistad. - - - - -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. - - - - - -Esialgsete projektifailide ehitamine - - - projekt - uus - ehitamine - - projekt - esialgne ehitamine - -Ongi peaaegu kõik valmis. Viimasel mallikaardil võtab nupp Edasi > kuju Lõpeta. -Mõtle enne klõpsamist veel kõik korralikult läbi! Nupule < Tagasi 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 &CVS;-hoidla nime (sellise nimega alamkataloogi ei tohiks varem &CVS;-i juurkataloogis olla — kui aga on, määra hoidlale mõni muu nimi). -Kui sa ei soovi uut projekti tegelikult luua, välju dialoogist Uue projekti loomine klõpsuga nupule Loobu. Kui aga soovid, klõpsa nupule Lõpeta ja jälgi teadete aknas, kuidas &appwizard; projekti loob. -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 teadete aknasse juba oma teated. Kui ühe protsessi ajal tekib mõni viga, protsess peatub ja sa näed vastavat veateadet aknas. - -Kui projekt sel moel luuakse, laadib &tdevelop; 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). - -Ä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 templates. Sageli piisab siin lihtsalt kopeerimisest. -Soovitatav on algne projekt kompileerida, 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. - - - - - vaikimisi ehitamisseadistused - hoiatus - - ehitamisseadistused - vaikimisi ehitamishoiatus - - hoiatus - vaikimisi ehitamisseadistused - - Enne uue projekti esimest kompileerimist võiks heita pilgu alammenüüsse Projekt Ehitamise seadistused. Seal peaks olema kolm kirjet: default, optimized ja debug. Kui valitud on debug, jäta see kehtima, või vali optimized. - Praeguste autoconf/automake'i teatud piirangute tõttu ei tohiks mitte mingil juhul valida ehitamise seadistustes kirjet default. See rikub ära teatud seesmised kataloogiseadistused, mis paneb käsu configure mitme asja üle kurtma, kui valid hiljem optimized või debug. - (See kehtib muidugi siis, kui on mitu valikut. Kui sinu valitud rakenduse tüüp pakub ehitamise seadistuseks ainult kirje default, tuleb seda mõistagi kasutada.) - - - - - - - -Projektide seadistamine - -(... veel kirjutamata ...) - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/class-browsers.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/class-browsers.docbook deleted file mode 100644 index 5ef409fb0aa..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/class-browsers.docbook +++ /dev/null @@ -1,89 +0,0 @@ - -Klassisirvijad -klassisirvija - -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 &tdevelop; mitmeid klassisirvijaid, mis näitavad erineval moel klassistruktuuri. - - -Klassivaade - -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. - -
-Klassivaate pilt - - - -
- -Klassivaade võib olla kahesugune. Vaikimisi rühmitatakse kõik sümbolid klassideks, struktuurideks, funktsioonideks, muutujateks ja nimeruumideks. Vaate kontekstimenüüs saadki valida kirje Grupeeri nimeruumide järgi. 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. - -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 Täielikult identifitseeritud skoobid. - -Klassivaates klassi või meetodi nimel klõpsates saad liikuda selle definitsioonile. Samuti võid hüpata meetodi deklaratsioonile, valides kontekstimenüüst käsu Ava deklaratsioon. Kontekstimenüüst leiab veel käsud Lisa meetod... ja Lisa atribuut.... Need avavad dialoogid, kus saad genereerida uue meetodi ja muutuja deklaratsiooni vastavas klassis koos tühja teostusega. - -
- - - - -Klassitööriistad - -Klassitööriista saab avada hiire parema nupu klõpsuga klassivaates ning käsku Klassitööriist... valides. - - - - - - -Klassihierarhia - -(... veel kirjutamata ...) - - - -
- - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/commands.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/commands.docbook deleted file mode 100644 index ae11eaa7d29..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/commands.docbook +++ /dev/null @@ -1,2999 +0,0 @@ - - - - - - - Volker Paul - MarekLaane
bald@starman.ee
Tõlge eesti keelde
-
- - 2005-04-03 -
- -Käskude seletused - -Alljärgnevalt toodud kiirklahvid on vaikimisi määratud. Neid saab soovi korral muuta. - - - - -Menüüriba 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 pluginaga: neid näeb ainult siis, kui vastav plugin on sisse lülitatud. - - - - - - - - - -Menüü <guimenu ->Fail</guimenu -> - - - - &Ctrl;N Fail Uus -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. - - - - &Ctrl;O Fail Ava -Avab tavalises failidialoogis olemasoleva faili. - - - - &Ctrl;O Fail Ava hiljutine -Alammenüü, mis näitab viimati avatud faile. Neist mõne valimisel avatakse see KDevelopis. - - - - &Alt;&Ctrl;O Fail Ava kiiresti -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. - - - - - &Ctrl;S Fail Salvesta -Salvestab aktiivse faili. - - - - - &Ctrl;S Fail Salvesta kui... -Dialoog Salvestamine võimaldab salvestada faili teise nimega. - - - -Fail Salvesta kõik -Salvestab kõik avatud failid. - - - -F5 Fail Laadi uuesti -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). - - - -Fail Taasta kõik -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. - - - - - &Ctrl;P Fail Trüki... -Trükib. - - - -Fail Ekspordi -Ekspordib. - - - - - &Ctrl;F4 Fail Sulge -Sulgeb aktiivse faili. - - - - -Fail Sulge kõik -Sulgeb kõik avatud failid. - - - - -Fail Sulge kõik teised -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. -Pane tähele, et samasugune käsk on menüüs Aken. - - - - - &Ctrl;Q Fail Välju -Sulgeb KDevelopi. - - - - - - - - - - - - -Menüü <guimenu ->Redigeerimine</guimenu -> - - - - - - - &Ctrl;Z Redigeerimine Võta tagasi -Võtab tagasi. - - - - - &Ctrl;&Shift;Z Redigeerimine Tee uuesti -Teeb uuesti. - - - - - &Ctrl;X Redigeerimine Lõika -Lõikab. - - - - - &Ctrl;C Redigeerimine Kopeeri -Kopeerib. - - - - - &Ctrl;V Redigeerimine Aseta -Asetab. - - - - - &Ctrl;A Redigeerimine Vali kõik -Valib kõik. - - - - - &Ctrl;&Shift;A Redigeerimine Tühista valik -Tühistab valiku. - - - - - &Ctrl;&Shift;B Redigeerimine Blokivaliku režiim -Blokivaliku režiim. - - - - - Insert RedigeerimineÜlekirjutamisrežiim -Ülekirjutamisrežiim. - - - - - &Ctrl;F Redigeerimine Otsi -Otsib. - - - - - F3 Redigeerimine Otsi järgmine -Otsib järgmist. - - - - - &Shift;F3 Redigeerimine Otsi eelmine -Otsib eelmist. - - - - - &Ctrl;R Redigeerimine Asenda -Asendab. - - - - - &Ctrl;G Redigeerimine Mine reale -Läheb reale. - - - - - &Alt;&Ctrl;F Redigeerimine Otsi failidest -Otsib failidest. - - - - - &Shift;R Redigeerimine Otsi-vali-asenda -Võimaldab otsida, valida ja asendada. - - - - -Redigeerimine Vorminda lähtetekst uuesti -Vormindab lähteteksti ümber. - - - - - &Ctrl;J Redigeerimine Laienda tekst -Laiendab teksti. - - - - - &Ctrl;L Redigeerimine Laienda lühendit -Laiendab lühendit. - - - - - &Ctrl;Tühikuklahv Redigeerimine Lõpeta tekst -Lõpetab teksti. - - - - - F2 Redigeerimine Ehita liige -Ehitab liikme. - - - - - - - - - - - - - - -Menüü <guimenu ->Vaade</guimenu -> - - - -Vaade Tagasi -Tagasi. - - - - -Vaade Edasi -Edasi. - - - - - &Ctrl;/ Vaade Lülitu... -Lülitub. - - - - - &Alt;C Vaade Too redaktor esile -Toob redaktori esile. - - - - - F4 Vaade Järgmine viga -Järgmine viga. - - - - - &Shift;F4 Vaade Eelmine viga -Eelmine viga. - - - - - &Shift;F Vaade Täisekraanirežiim -Täisekraanirežiim. - - - - - &Ctrl;F12 Vaade Lülita päise/teostusfail -Lülitub päise/teostusfaili vahel. - - - - -Vaade Tööriistavaated -Tööriistavaated. - - - - -Vaade Tööriistadokid -Tööriistadokid. - - - - - F7 Vaade Lülitu käsureale -Lülitub käsureale. - - - - -Vaade Skeem -Skeem. - - - - - F10 Vaade Dünaamiline reamurdmine -Dünaamiline reamurdmine. - - - - -Vaade Dünaamilise reamurdmise märkijad -Dünaamilise reamurdmise märkijad. - - - - -Vaade Staatilise reamurdmise märkijate näitamine/peitmine -Staatilise reamurdmise märkijate näitamine/peitmine. - - - - - F6 Vaade Ikoonipiirde näitamine/peitmine -Ikoonipiirde näitamine/peitmine. - - - - - F11 Vaade Reanumbrite näitamine/peitmine -Reanumbrite näitamine/peitmine. - - - - -Vaade Kerimisriba märkide näitamine/peitmine -Kerimisriba märkide näitamine/peitmine. - - - - - F9 Vaade Voltimismärkide näitamine/peitmine -Voltimismärkide näitamine/peitmine. - - - - -Vaade Koodi voltimine -Koodi voltimine. - - - - -Vaade Kodeering -Kodeeringu määramine. - - - - - - - - - - - - - - - -Menüü <guimenu ->Projekt</guimenu -> - - - - -Projekt Uus projekt... -Uus projekt. - - - - -Projekt Ava projekt... -Avab projekti. - - - - -Projekt Ava hiljutine projekt -Avab hiljutise projekti. - - - - -Projekt Aktiivne keel -Aktiivne keel - - - - -Projekt Impordi olemasolev projekt... -Impordib olemasoleva projekti. - - - - -Projekt Uus klass... -Uus klass. - - - - -Projekt Klassipärilusskeem -Klassipärilusskeem. - - - - -Projekt Lisa tõlge... -Lisab tõlke. - - - - -Projekt Ehitamise seadistused -Ehitamise seadistused. - - - - -Projekt Pakkimine ja avaldamine -Projekti pakkimine ja avaldamine. - - - - -Projekt Projekti seadistused... -Projekti seadistused. - - - - -Projekt Sulge projekt -Sulgeb projekti. - - - - - - - - - - - - - - -Menüü <guimenu ->Projekt</guimenu -> - - - - - F8 Ehitamine Ehita projekt -Ehitab projekti. - - - - - F7 Ehitamine Ehita aktiivne sihtmärk -Ehitab aktiivse sihtmärgi. - - - - -Ehitamine Kompileeri fail -Kompileerib faili. - - - - -Ehitamine Käivita 'configure' -Käivitab käsu 'configure'. - - - - -Ehitamine Käivita automake -Käivitab automake'i. - - - - -Ehitamine Paigalda -Paigaldab. - - - - -Ehitamine Paigalda (administraatorina) -Paigaldab (administraatorina). - - - - -Ehitamine Puhasta projekt -Puhastab projekti. - - - - -Ehitamine Puhasta kogu projekt -Puhastab kogu projekti. - - - - - &Shift;F9 Ehitamine Ehita tõlkefailid ja ühenda -Ehitab tõlkefailid ja ühendab. - - - - -Ehitamine Käivita rakendus -Käivitab rakenduse. - - - - -Ehitamine Ehita API dokumentatsioon -Ehitab API dokumentatsiooni. - - - - -Ehitamine Eemalda API dokumentatsioon -Eemaldab API dokumentatsiooni. - - - - - Escape Ehitamine Stopp -Stopp. - - - - - - - - - - - - - - - -Menüü <guimenu ->Projekt</guimenu -> - - - - -Silumine Käivita -Käivitab. - - - - -Silumine Stopp -Stopp. - - - - -Debug Katkesta -Katkestab. - - - - -Silumine Täida kursorini -Täidab kursorini. - - - - -Silumine Astu üle -Astub üle. - - - - -Silumine Astu üle instruktsiooni -Astub üle instruktsiooni. - - - - -Silumine Astu sisse -Astub sisse. - - - - -Silumine Astu instruktsiooni sisse -Astub instruktsiooni sisse. - - - - -Silumine Astu välja -Astub välja. - - - - -Silumine Muuda katkestuspunkti -Lülitab katkestuspunkti. - - - - -Silumine Näitajad -Näitajad. - - - - -Silumine Uuri core-faili... -Uurib core-faili. - - - - -Silumine Seonda protsessiga -Seondab protsessiga. - - - - -Silumine Valgrind - mälulekete kontroll -Mälulekete kontrollija Valgrind. - - - - -Silumine Profiil KCachegrindiga -Profiil KCachegrindiga. - - - - - - - - - - - - - - - - - - -Menüü <guimenu ->Järjehoidjad</guimenu -> - - - - - &Ctrl;B Järjehoidjad Sea järjehoidja -Lisab aktiivse valiku järjehoidjatesse. - - - - -Järjehoidjad Kõrvalda kõik järjehoidjad -Eemaldab kõik järjehoidjad. - - - - - - - - - - - - -Menüü <guimenu ->Aken</guimenu -> - - - - - &Alt;W Aken Sulge valitud aknad... -Sulgeb valitud aknad. - - - - &Ctrl;F4 Aken Sulge -Sulgeb. - - - -Aken Sulge kõik -Sulgeb kõik aknad. - - - -Aken Sulge kõik teised -Sulgeb kõik teised aknad. - - - - - - - - - - - - - - - - -Menüü <guimenu ->Tööriistad</guimenu -> - - - -Tööriistad Kirjutuskaitstud režiim -Kirjutuskaitstud režiim. - - - - -Tööriistad Failitüüp -Failitüüp. - - - - -Tööriistad Esiletõstmine -Esiletõstmine. - - - - -Tööriistad Rea lõpp -Rea lõpp. - - - - -Tööriistad Õigekirja kontroll -Õigekirja kontroll. - - - - - &Ctrl;I Tööriistad Treppimine -Treppimine. - - - - - &Ctrl;&Shift;I Tööriistad Tagasitreppimine -Tagasitreppimine. - - - - -Tööriistad Eemalda treppimine -Eemaldab treppimise. - - - - - &Ctrl;Tab Tööriistad Joonda -Joondab. - - - - - &Ctrl;D Tööriistad Kommentaar -Kommentaar. - - - - - &Ctrl;&Shift;D Tööriistad Kommentaari eemaldamine -Kommentaari eemaldamine. - - - - - &Ctrl;U Tööriistad Suurtähed -Suurtähed. - - - - - &Ctrl;&Shift;U Tööriistad Väiketähed -Väiketähed. - - - - - &Alt;&Ctrl;U Tööriistad Kapiteelkiri -Kapiteelkiri. - - - - - &Ctrl;J Tööriistad Ühenda read -Ühendab read. - - - - -Tööriistad Reamurdmine dokumendis -Reamurdmine dokumendis. - - - - -Tööriistad Erinevuste näitaja... -Erinevuste näitaja. - - - - -Tööriistad Käivita käsk... -Käivitab käsu. - - - - -Tööriistad Filtreeri valik läbi käsu... -Filtreerib valiku läbi välise käsu filtriplugina abil. - - - - -Tööriistad Regulaaravaldise silumine... -Regulaaravaldise silumine. - - - - -Tööriistad Komponentide näitaja -Komponentide näitaja. - - - - - &Alt;&Ctrl;C Tööriistad Ava kiiresti klass... -Klassi kiiravamine. - - - - - &Alt;&Ctrl;M Tööriistad Ava kiiresti meetod... -Meetodi kiiravamine. - - - - - &Alt;&Ctrl;P Tööriistad Doxygeni väljundi eelvaatlus -Doxygeni väljundi eelvaatlus. - - - - - &Ctrl;&Shift;S Tööriistad Dokumenteeri aktiivne funktsioon -Dokumenteerib aktiivse funktsiooni. - - - - - - - - - - - - - - - -Menüü <guimenu ->Seadistused</guimenu -> - - - - - - &Ctrl;M Seadistused Menüüriba näitamine/peitmine -Menüüriba näitamine/peitmine. - - - -Seadistused Tööriistaribad -Alammenüü, kus saab valida, milliseid tööriistaribasid näidata ja milliseid peita. - - - -Seadistused Olekuriba näitamine -Olekuriba näitamine. - - - -Seadistused Kiirklahvide seadistamine... -Kiirklahvide seadistamine. - - - - -Seadistused Tööriistaribade seadistamine... -Tööriistaribade seadistamine. - - - - -Seadistused Märguannete seadistamine... -Märguannete seadistamine. - - - - -Seadistused Redaktori seadistamine... -Redaktori seadistamine. - - - - -Seadistused KDevelopi seadistamine... -KDevelopi seadistamine. - - - - - - - - - - - - - - -Menüü <guimenu ->Abi</guimenu -> - - - - -Abi KDevelopi käsiraamat -Avab käesoleva käsiraamatu. - - - - &Shift;F1 Abi Mis see on? -Tekitab hiirekursori kõrvale küsimärgi (?), millega mõnele elemendile (näiteks ikoonile Stopp) klõpsates näeb selle kohta lühikest selgitust. - - - - -Abi Päeva nõuanne -Päeva nõuanne. - - - - - &Alt;&Ctrl;I Abi Otsi dokumentatsiooni indeksist... -Otsib dokumentatsiooni indeksist. - - - - - &Alt;&Ctrl;S Abi Otsi dokumentatsioonis... -Otsib dokumentatsioonis. - - - - -Abi Man-lehekülg... -Manuaalilehekülg. - - - - -Abi Info-lehekülg... -Info-lehekülg. - - - - -Abi Saada vearaport... -Saadab veateate. - - - -Abi KDevelopi info... -Näitab lühiinfot KDevelopi versiooni, autorite ja litsentsi kohta. - - - -Abi KDE info... -Näitab infot töötava &kde; versiooni kohta. - - - - - - - - - - - - - -
diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/credits.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/credits.docbook deleted file mode 100644 index ecbc9bcfa01..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/credits.docbook +++ /dev/null @@ -1,40 +0,0 @@ - -Autorid - - -Tegijad - - - - Käsiraamatu esialgse variandi kirjutasid Bernd Gehrmann bernd@tdevelop.org ja Caleb Tennis caleb@aei-tech.com. - &automanag;i kokkuvõtte ja Automake'i halduri kasutamise peatükid kirjutas Ian Wadham ianw@netspace.net.au. - - - - - - - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/cvs.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/cvs.docbook deleted file mode 100644 index 9d455a82f9c..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/cvs.docbook +++ /dev/null @@ -1,131 +0,0 @@ - -&CVS;-i kasutamine -CVS -versioonikontroll - - -&CVS;-i põhitõed - -&CVS; on versioonikontrollisüsteem, mida kasutavad paljud avatud lähtekoodiga tarkvara projektid — sealhulgas &kde;. See salvestab kogu lähtekoodi ühte kohta, mida nimetatakse hoidlaks. 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 lukustada faile, mille kallal töötad. Nii saab arendus käia sõna otseses mõttes paralleelselt. - -Pärast oma ülesande lõpetamist arendaja kannab oma koodi sisse (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. - -Ö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; - -&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; () või TkCVS (). &tdevelop;is saab kasutada vaid väikest osa &cvs;-i võimalustest, mis on olulised sinu igapäevatöö seisukohalt. - -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 Open Source Development With &CVS;, mida levitatakse vabalt (välja arvatud mittetehnilised peatükid). Vaata . - - - - - - -&CVS;-i käsud &tdevelop;is - -Failivaadetes on kontekstimenüüs järgmised käsud: - - - -Lisa hoidlasse - -Valmistab ette märgitud faili lisamise hoidlasse. Fail lisatakse lõplikult hoidlasse siis, kui sa kannad selle (või seda sisaldava kataloogi) hoidlasse sisse. - - - - -Eemalda hoidlast - -Valmistab ette faili eemaldamise hoidlast. See kustutab faili ka kohalikust failisüsteemist, mistõttu seda käsku tuleks tarvitada suure ettevaatusega! - - - - -Uuenda - -Käivitab käsu cvs update, 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 .cvsrc. - - - - -Kanna sisse - -Käivitab käsu cvs commit, 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. - - - - -&tdevelop; 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 sourceforge.net. Selle probleemi lahendamise võimalusi kirjeldab &CVS;/SSH KKK, mille leiad SourceForge'i dokumentatsiooni seast. - - - - - - -Taustal - - -Mida &CVS; salvestab töökataloogi - -(... veel kirjutamata ...) - - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/debugger.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/debugger.docbook deleted file mode 100644 index 1bdd3621297..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/debugger.docbook +++ /dev/null @@ -1,339 +0,0 @@ - -Siluriliides -silur - -C ja C++ programmeerimise jaoks sisaldab &tdevelop; seesmist, otseselt redaktoriga põimitud silurit. Tehniliselt kujutab see endast &GNU; siluri gdb kasutajaliidest. Siluri saab käivitada mitmel moel: - - - -Menüükäsuga SilumineKäivita laetakse sinu projekti põhiprogramm silurisse. - - - -Menüükäsuga Silumine Käivita (muu) Uuri core-faili 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 ulimit(1)). Sellest on abi programmi nii-öelda surmajärgseks uurimiseks. - - - -Menüükäsuga Silumine Käivita (muu) Seonda protsessiga 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. - - - -Pane tähele, et silumine on võimalik ainult siis, kui projekt on kompileeritud silumisinfot lubades. Selle saab sisse lülitada dialoogis Kompilaatori seadistused. Kui see valik on sisse lülitatud, tekitab kompilaator lisaandmed, mis lubavad siluril siduda failinimed ja reanumbrid käivitatava faili aadressidega. - - - -Siluriliides pakub mitut vaadet protsessi sisse: - -Kui üritad siluda ilma silumisinfota projekti, näed olekuribal teadet No source... Kui üritad määrata katkestuspunkti, näed katkestuspunktide aknas (vaata allpool) teadet Ootel (lisa). - - - -Muutujad - -muutujate jälgimine -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 main(). - -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 Lisa või vajutades klahvi Return ajal, mil valitud on mõni element harus Jälgimine. Kontekstimenüüga saab muutujaid ka eemaldada. - - - - -Pinuvaade - -pinuvaade -(... veel kirjutamata ...) - - - - -Katkestuspunktid - -katkestuspunktid -See aken võimaldab näha katkestuspunkte ja nendega üht-teist ette võtta. Pane tähele, et &tdevelop; kasutab GDB-d, mistõttu &tdevelop;i silumisvõimaluste täielikuks mõistmiseks oleks kasulik omada mingit ülevaadet GDB-st. - -Kui soovid näha lähtekoodi, siis katkestuspunktid on defineeritud failis tdevelop/languages/cpp/debugger/breakpoint.h. - -Akna vasakus servas on mõned nupud: - - -Lisa tühi katkestuspunkt -Muuda valitud katkestuspunkti - Kustuta valitud katkestuspunkt -Eemalda kõik katkestuspunktid - - -Akna põhiosa koosneb seitsme veeruga tabelist. Iga tabeli rida tähistab katkestuspunkti. Veerud on järgmised: - - -Valikukast -Tüüp: kas vigane, fail:rida, jälgimispunkt, aadress või funktsioon -Olek. Väärtused on järgmised: - - Aktiivne - Keelatud: iga katkestuspunkt võib olla lubatud või keelatud; viimasel juhul ei mõjuta see sinu programmi, kuni sa seda taas ei aktiveeri. - Ootel (lisa): katkestuspunkt märgitakse nii juhul, kui silumisinfot pole saadaval. GDB info-lehekülg selgitab seda nii:
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 ootel katkestuspunktiks), mis üritab end lahendada tulevikus, kui laaditakse vajalik jagatud teek.
-
-
-Ootel (puhasta) -Ootel (muuda) -Asukoht kujul failinimi:reanumber -Tingimus -Ignoreerimiste arv: kui arv COUNT on suurem kui null, siis järgmisel COUNT korral, mil katkestuspunktini jõutakse, ei katkestada programmi täitmist; gdb ei tee sel juhul muud, kui ainult kahandab ignoreerimiste arvu. -Päringuid: näitab, mitu korda on katkestuspunktini jõutud. -
- - -
-
- - -Pöördtransleerimine - -pöördtransleerimine -(... veel kirjutamata ...) - - - -
- - - -Katkestuspunktide määramine - -(... veel kirjutamata ...) - - - - - - -Seadistused - - - -Segatud nimede näitamine - -nimede segamine -segaminenimi - -C++ korral on funktsioonide nimed käivitatavas failis segatud, &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. - -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. - - - - -Teegi laadimiselpüütakse seada katkestuspunkte - -laisad katkestuspunktid -katkestuspunktidlaisk - -Siluri taustaprogramm gdb 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 dlopen(3)), ei pruugi see just mugav olla. Seepörast toetab &tdevelop; omalt poolt katkestuspunkte jagatud teekides. Selle valiku sisselülitamisel saab seada katkestuspunkte teekides, mis ei ole laetud. Kui seejärel gdb tuvastab, et teek on laaditud, püüab &tdevelop; seada ootel katkestuspunktid. - - - - -Liikuva tööriistariba lubamine - -siluririba -tööriistaribasilur - -(... veel kirjutamata ...) - - - - - - -
diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/documentation.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/documentation.docbook deleted file mode 100644 index 735195fc1b1..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/documentation.docbook +++ /dev/null @@ -1,73 +0,0 @@ - -Dokumentatsioon - -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. - -Dokumentatsioon võib esineda mitmel kujul: - projekti seesmine dokumentatsioon, mille moodustavad peamiselt - kommentaarid päise/lähtekoodifailides - seesmine &API; dokumentatsioon, mille sinu projektile loob programmifailide põhjal mõni spetsiaalne tööriist, ⪚ &doxygen; - - - projekti väline dokumentatsioon, mille moodustavad muu hulgas - väline &API; dokumentatsioon ⪚ üldiste süsteemsete teekide kohta (&kde;, &Qt; &etc;) - mis tahes muu dokumentatsioon (programmeerimiskeele käsiraamatud, süsteemi üldine info, HOWTO-d ja nii edasi) - - - - -Kogu dokumentatsioon peab olema hõlpsasti hooldatav ja vajaduse korral alati käepärast. &tdevelop; võimaldab seda kõike. - - - - -Dokumentatsioonisirvija - - -
-Dokumentatsioonipuu pilt - - - -
- -
- -
diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/editing.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/editing.docbook deleted file mode 100644 index 369fb4cc704..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/editing.docbook +++ /dev/null @@ -1,608 +0,0 @@ - -Redigeerimistööriistad - - -Koodijupid - - - Omadused (põgus ülevaade) - Koodijuppide komponent lisab tööriistavaate töötsoonist paremale - Koodijuppe saab lisada, eemaldada ja muuta kontekstimenüü abil - Topeltklõpsuga koodijupil lisatakse see aktiivsesse vaatesse kursori asukohta - Kohtspikrid näitavad koodijupi sisu - Koodijupid salvestatakse kasutaja kodukataloogi, mistõttu igal kasutajal võivad olla omaenda koodijupid - Koodijupid võivad sisaldada muutujaid kujul $MUUTUJANIMI$. Koodijupi kasutamisel palutakse kasutajal määrata muutujate väärtus - - - - -Kiirklahvid -kiirklahvid - -Järgnevalt toome ära vaikeredaktori vaikimisi kiirklahvid. Sul on neid mõistagi võimalik ka omatahtsi muuta. - - - - - -Nool vasakule -Liigub ühe märgi võrra vasakule - -Nool paremale -Liigub ühe märgi võrra paremale - -&Ctrl;Nool vasakule -Liigub ühe sõna võrra vasakule - -&Ctrl;Nool paremale -Liigub ühe sõna võrra paremale - -Nool üles -Liigub ühe rea võrra üks - -Nool alla -Liigub ühe rea võrra alla - -Page Up -Liigub ühe lehekülje võrra üles - -Page Down -Liigub ühe lehekülje võrra alla - -&Ctrl; Page Up -Liigub faili algusse - -&Ctrl; Page Down -Liigub faili lõppu - -Home -Liigub rea algusse - -End -Liigub rea lõppu - - - - - -Kõigi mainitud klahvide korral võib vajutada ka klahvi &Shift;, millega saab märkida teksti alates kursori asukohast. - - - - - -Backspace -Kustutab ühe märgi vasakult - -Delete -Kustutab kursori juures oleva märgi - -&Ctrl; C -Kopeerib valitud teksti lõikepuhvrisse - -&Ctrl; V -Asetab valitud teksti lõikepuhvrist - -&Ctrl; X -Kustutab valitud teksti ja asetab selle lõikepuhvrisse - -&Ctrl; Z -Võta tagasi - -&Shift;&Ctrl; Z -Tee uuesti - - - - - - - - - - -Probleemide teavitaja - -(... veel kirjutamata ...) - - - - - -Otsimine ja grep -otsimine -otsing - - -Teksti otsimine - -&Ctrl;F- Otsi &Ctrl;R- Asenda - - - - - -T-otsing -isearch -täpsustav otsing -otsingtäpsustav - -Tavapärane otsing (Redigeerimine Otsi) 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 T-otsing, hakatakse otsima kohe, kui väljale midagi sisestad. Sageli leiad vajaliku sõna üles juba kolme-nelja tähe kirjutamise järel. - - - - - -Grep -otsingfailides - -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 Otsi failidest... menüüst Redigeerimine. Põhimõtteliselt on see programmi &grep; kasutajaliides. - -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 Rekursiivselt, otsitakse läbi ka kõik antud kataloogi alamkataloogid. - -Otsitav sõna on üldiselt POSOX-i süntaksit järgiv regulaaravaldis. Näiteks võib selleks olla "\<K.*", kui soovid leida kõik sõnad, mis algavad K-tähega. Järgmisi märke tõlgendatakse eriliselt: - - - - - - - . -Sobib iga märk - - ^ -Sobib rea algus - - $ -Sobib rea lõpp - - \< -Sobib sõna algus - - \> -Sobib sõna lõpp - - ? -Eelnev element sobib vähem kui üks kord - - * -Eelnev element sobib null või enam korda - - + -Eelnev element sobib üks või enam korda - - {n} -Eelnev element sobib täpselt n korda - - {n,} -Eelnev element sobib n või enam korda - - {,n} -Eelnev element sobib vähem kui n korda - - {n,m} -Eelnev element sobib vähemalt n, aga vähem kui m korda - - - - - -Kasutada saab ka tagasiviiteid sulgudes alamavaldistele, mida märgib \n. - -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. - -Kui alustad otsingut klõpsuga nupule Otsi, sooritatakse see välise, asünkroonse protsessina. Kõik leitud elemendid on näha vaates Grep. 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. - - - - - - - - -Koodilõpetus - -(... veel kirjutamata ...) - - - - - -Uute failide ja klasside loomine - -(... veel kirjutamata ...) - - -Mallide redigeerimine - -(... veel kirjutamata ...) - - - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/file-browsers.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/file-browsers.docbook deleted file mode 100644 index 3a2651e0ff8..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/file-browsers.docbook +++ /dev/null @@ -1,67 +0,0 @@ - -Failisirvijad - -Peaakna vasakus servas näitab &tdevelop; mitmesugused nimekirju ja puid, kus saab faile valida: - - - -Failipuu - -See näitab projektikataloogi failihierarhiat puukujulisena. Mõnele failile klõpsates avatakse see redaktoris. Failide korral, mis ei sisalda teksti, käivitab &tdevelop; rakenduse, mis on määratud vastava MIME tüübiga tegelema. - -Failipuud uuendatakse regulaarselt, kui failisüsteemis midagi muutub. Kui näiteks lood uusi faile või katalooge (ka &tdevelop;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. - -Failipuu peidab failid, mis enamasti huvi ei paku, näiteks objektfailid. Projekti seadistustes saab failivaadete all määrata (metamärkide komadega eraldatud nimekirja kujul), milliste mustritega filtreerida välja ebaolulised failid. - -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. - -
-Failipuu pilt - - -Failipuu pilt - -
- -
-
- -Failirühmad - -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. - -Nähtavaid rühmi saab seadistada failivaadete kaardil dialoogis Projekti seadistused. Vaate kohandamisel tuleb kasuks, kui saad aru, kuidas failid rühmadesse jagatakse. &tdevelop; 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 Muud, olema kõige viimane muster. - - - -
- -
- - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/getting-started.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/getting-started.docbook deleted file mode 100644 index 5a4272f3fc9..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/getting-started.docbook +++ /dev/null @@ -1,4102 +0,0 @@ - - - - - - - -BerndPol -MarekLaane
bald@starman.ee
Tõlge eesti keelde
-
-
- -&tdevelop;i algõpe — tutvustav ülevaade - -Nüüd, kus &tdevelop;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. - -Me üritame sinu õpiprotsessi lihtsustada, näidates samm-sammult, kuidas luua KDE lhtne C++-keeles rakendus. Selleks vaatleme järgmisi asju: - - -Esimene kokkupuude — &tdevelop;i &IDE; kasutajaliidese elemendid. -Esialgne seadistamine. -Uue projekti loomine. - -Mõned näpunäited dokumentide käsitlemiseks. -Rakenduse kompileerimise projektis. -Klasside ja muude asjade lisamine projekti. -Rakenduse silumine. -Mõned põhivahendid rakenduse või kasutaja dokumentatsiooni ehitamiseks. -Ja lõpuks - kiirklahvid - - -Enne alustamist tuleb selgitada üht olulist asja. - - -Mida ees oodata? -Nagu öeldud, on &tdevelop; integreeritud arenduskeskkond. See tähendab, et põhimõtteliselt ei ole &tdevelop; 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. - - -Kuigi &tdevelop; üldjuhul lihtsustab nende kasutamist, ei tähenda see, et nende keerukusastmes oleks järeleandmisi tehtud, mis omakorda tähendab, et &tdevelop;i &IDE; täielikuks mõistmiseks tuleb ikkagi aru saada selle taustal tegutsevatest tööriistadest. - -Seetõttu ei hakka me õpetama, kuidas tarkvara ehitada, vaid tutvustame hoopis seda, kuidas &tdevelop; aitab seda teha. Kui soovid rohkem teada, milleks on integreeritud arenduskeskkond mõeldud, tasuks tutvuda ajaloolise ülevaatega &UNIX; arendustegevus, eriti aga peatükiga Kontseptsioonide ja tööriistade lõimimine. - - -Järgnevas tutvustuses kasutame vaikimisi seadistusi, mille korral &tdevelop; käivitub lihtsustatud IDEAl aknarežiimis. 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 &tdevelop; parajasti kasutab, kontrolli seda dialoogis SeadistusedKDevelopi seadistamine...Kasutajaliides. - - - -Kõige esimene pilk &tdevelop;ile - -Siin tuleb juttu sellest, mida näeb &tdevelop;i kõige esimesel käivitamisel. Täpsemalt räägitakse järgmistest asjadest: - - -Mida üldse näha saab? -Kuidas abi saada? -Mis peitub menüüdes? -Milleks on head tööriistavaated? - - - -Väljanägemine - -&tdevelop;i esmakordsel käivitamisel avaneb umbes selline vaatepilt: - - - - - - - -&tdevelop;i esialgne välimus -(Tegelikult on &tdevelop;i esialgne aken suurem, aga elemendid on samad.) - - - - - -Töötsoon ja tööriistavaate kaardid -Siinsel esialgsel kujul kasutab &tdevelop; niinimetatud IDEAl kasutajaliidese režiimi. 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 tööriistavaate aken, kus saad tegutseda mõne konkreetse ülesande kallal. - - - -Menüü ja tööriistaribad -Ü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. - - - -Olekuriba -Päris akna allservas on olekuriba, mis näitab mitmesuguste ülesannete kohta lühiinfot. - - - - -Abi - -Lisaks menüüst Abi avatavatele võimalustele, mis pakuvad vastuseid konkreetsematele küsimustele, näeb teatud lühiinfot olekuribal ja kaht tüüpi kohtspikritena. - - -Mida see menüükirje teeb? -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. - - - -Mis on selle elemendi nimi? -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. - - - -Mida see element teeb? -Paljude &IDE; elementide kohta on ka saadaval veidi laiendatumad kohtspikrid. Vali menüükäsk AbiMis see on? või vajuta kiirklahvi &Shift;F1, 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. - - - - -Mis peitub menüüdes? - -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. - - -Siin on toodud ainult ülevaade. Täpsemalt tutvustab menüüsid ja nende sisu osa Käskude seletused. - - - - -Fail - - -Tavalised toimingud -Need on päris tavalised: failide loomine, avamine, salvestamine, trükkimine ja sulgemine ning mõistagi ka &tdevelop;ist väljumine. - - - -Taasta kõik -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. - - - - - -Redigeerimine - -See menüü saab kasutada siis, kui dokument on avatud. - - -Tavalised toimingud -Siit leiab tavalised tagasivõtmise ja uuestitegemise ning lõikamise, kopeerimise ja asetamise toimingud. Samuti saab siin mitmel moel tekstiplokke valida. - - - -Otsimine ja asendamine -Menüüst leiab kaks väga võimsat otsingutööriista: Redigeerimine Otsi failidest... ja Redigeerimine Otsi-vali-asenda...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. - - - -Täiustatud tekstiredigeerimine -Lisaks on mitmeid võimalusi aktiivne dokument ümber vormindada ja lasta automaatselt lõpetada osaliselt kirja pandud tekst. - - - - - -Vaade - -Nagu menüüd Redigeerimine, saab sedagi menüüd õieti ainult siis tarvitada, kui on avatud projekt. Sellisel juhul on seal muu hulgas järgmised toimingud: - - -Liikumise ajalugu -Võimaldab liikuda edasi ja tagasi kasutatud dokumentides &etc; - - - -Vigade jälgimine -Võimaldab liikuda lähtekoodi reale, kus esines viimase kompileerimise/ehitamise käigus vigu. - - - -Redaktoriga seotud toimingud -Mõned kirjed menüüs Vaade lubavad määrata kasutatava redaktori omadusi. Kui selleks on &kate; komponent (põimitud võimas tekstiredaktor), siis saab kasutada järgmisi võimalusi: - - - - -Reamurdmise kontroll dokumendiaknas. - - -Mitme dokumendiakna serval paikneva elemendi näitamine või peitmine: reanumbrid, ikoonid, samuti järjehoidjamärgid kerimisribal. - - -Lähtekoodi kokkuvolditud (ajutiselt peidetud) sektsioonide näitamise kontroll. - - - - - - -Projekt - -Kogu tegevus &tdevelop;is on koondunud projektide ü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: - - -Ava projekt -Võimaldab luua uusi projekte, avada olemasolevaid ja importida projekte teistest keskkondadest. - - - -Projekti valikud -Võimalus määrata terve hulk projektide omadusi. - - - -Klasside haldamine -Võimalus lisada projekti uusi klasse ja uurida klasside päriluspuud. - - - -Projekti levitamine -Võimalus ehitada projekti levitamispaketid (distributsioon). - - - - - -Ehitamine - -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: - - -Kompileerimine, linkimine, käivitamine -Võimalus kompileerida ja linkida terve projekt või selle osad ning käivitada rakendus &IDE; seest. - - - -Ehitamise ettevalmistamise toimingud -See sõltub oluliselt ehitamissüsteemist, mida sa projektis kasutad. Automake'i projektide korral saab tööle panna Makefile.cvs ja configure. Samuti saab tõlgitud failid projektist eemaldada. - - - -Rakenduse paigaldamine -Võimaldab paigaldada rakenduse nii kohalikesse kataloogidesse kui ka süsteemsetesse kataloogidesse, mida saab kasutada ainult administraator (root). - - - -API dokumentatsioon -Võimaldab ehitada või eemaldada projekti Doxygeni-põhise API dokumentatsiooni vastavalt projekti valikutele. - - - - - -Silumine - -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 ProjektProjekti valikud...). Sellisel juhul on seal järgmised võimalused: - - -Tavalised siluri toimingud -Menüü Silumine esimesed kirjed avavad &GNU; siluri GDB graafilise kasutajaliidese. See lubab käivitada ja peatada oma rakenduse siluris ning seda mitmel moel läbida. - - - -Katkestuspunktid -&tdevelop; pakub mitmeid võimalusi määrata oma rakenduse lähtekoodi katkestuspunkte. Üks võimalus on kasutada menüükäsku Muuda katkestuspunkti. - - - -Põhjalikum silumine -Muud menüü Silumine kirjed võimaldavad veelgi üksikasjalikumat programmi analüüsi. Nende kohta info nägemiseks kasuta kiirklahvi &Shift;F1. - - - - - -Skriptid - -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. - - - - -Aken - -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. - -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. - - - - -Tööriistad - -&tdevelop; 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üü Tööriistad vahendusel. - - -Põhjalikum redigeerimine -Menüü Tööriistad ülemine osa on pärit kasutatavast redaktoripluginast. Lemmikredaktori saad valida menüükäsuga Seadistused KDevelopi seadistamine... Redaktor. Kui oled avanud redigeeritava dokumendi, võimaldab menüü Tööriistad ülemine osa kasutada mitmeid täiustatud redigeerimise käske. - - - -Veebisaidi haldamine -Kui aktiivne dokumendiaken sisaldab HTML-lehekülge (⪚ sellist, mida näitab sektsioon Dokumentatsioon), on menüüs Tööriistad teatud kirjed, mis lubavad hallata veebilehekülgi. - - - -Muud tööriistad -Tavaliselt on menüüs veel terve rida tööriistu vastavalt sellele, mida parajasti teed. Nende kohta info nägemiseks kasuta kiirklahvi &Shift;F1. - - - - - -Seadistused - -See menüü lubab näidata või peita menüüriba, tööriistaribad ja olekuriba. Samuti saad seadistada kiirklahve, tööriistaribasid, märguandeid, redaktorit ja &tdevelop;i üldist käitumist. - - - - -Abi - -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. - - - - - - -Milleks on mõeldud tööriistavaated? - -IDEAli kasutajaliidese režiimi korral ümbritseb töötsooni kolm nuppudeala ehk tööriistavaadete kaardid. Need võimaldavad kasutada tööriistavaadete aknaid, mille abil sooritataksegi peamised tarkvaraarenduse ülesanded. Kõigil kolmel tööriistavaate alal on oma ülesanne. - - - - -Vasak pool -Need vaated pakuvad liikumis- ja valikutööriistu - - - - - -All -Need vaated näitavad erinevate tööriistade teateid. - - - - - -Parem pool -Need vaated pakuvad dokumentatsiooni ja lähtekoodi haldamise tööriistu. - - - - -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 pluginatööriistadest, mida &tdevelop; parajasti kasutada saab. Sellest räägib pikemalt KDevelopi seadistamisest kõnelev peatükk. - -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. - - - -Liikumine ja valik - - -Failivalija -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üü. - - - -Failinimekiri -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 seanssideks. 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üü. - - - - - -Teadete näitamine - - -Rakendus -Näitab &tdevelop;is käivitatud rakenduse väljundit. - - - -Erinevused -Kasutatakse paigafaili sisu esitamisel. Näitab erinevuste näitaja väljundit, mis on käivitatud menüükäsuga Tööriistad Erinevuste näitaja... - - - -Teated -Näitab &tdevelop;is (tavaliselt menüüst Ehitamine) käivitatud ehitamistööriistade teateid. - - - -Failides otsimine -Näitab tulemusi, mis leiti otsinguoperatsiooniga, mis käivitati menüükäsuga RedigeerimineOtsi failidest... Klõpsuga reale avatakse redaktoriaknas otsekohe vajalik fail vajaliku asukohaga. - - - -Asendamine -Näitab tulemusi, mis leiti otsingu-asendamisoperatsiooniga, mis käivitati menüükäsuga RedigeerimineOtsi-vali-asenda... Siin saab iga leitud tulemuse puhul otsustada, kas see asendada või mitte. - - -Otsingu-asendamisvõimalus avaneb alles pärast seda, kui projekt on &tdevelop;is avatud. Vastasel juhul ei saa menüükäsku RedigeerimineOtsi-vali-asenda kasutada. - - - -Konsool -Avab &kde; Konsooli ehk terminaliemulaatori, kus saab kasutada klaviatuurikäske nagu tavapärases &UNIX; käsurealiideses. - - - - - -Dokumentatsiooni ja lähtekoodi käsitlemine - - -Dokumentatsioon -&tdevelop; 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. - - -Täpsemalt räägivad sellest peatükid Dokumentatsioon ja Dokumentatsiooni seadistamine. - - -Koodijupid -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. - -Täpsemalt räägivad sellest peatükid Koodijupid ja Koodijuppide tööriista seadistamine. - - - - - - - -Veidi seadistamisest - -Enne seda, kui oma näidisporjektiga alustada, tuleks &tdevelop; 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. - - -&tdevelop;i seadistamisest kõneleb pikemalt peatükk KDevelopi seadistamine. - - - -Mõned üldised seadistused - -&tdevelop;i seadistamiseks klõpsa menüül Seadistused ja vali KDevelopi seadistamine.... Ilmub dialoog KDevelopi seadistused, mis näitab paremal pool kaarti Üldine. - - - - - - - -&tdevelop;i üldiste seadistuste dialoog - - - - -Enamik vaikeväärtusi on arvatavasti mõistlikud, kuid võib juhtuda, et soovid kaht asja siiski muuta. - - -Projektide vaikimisi kataloog -&tdevelop;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 Ava failidialoog. - - -Me eeldame oma näites, et tegemist on kasutajaga devel. Sestap asenda ise katsetades devel enda kasutajanimega. Meie kasutaja devel pruugib arendustegevuseks kataloogi /home/devel/projektid. Ka siin tuleb ise katsetades asendada projektid oma tegeliku arendusprojektide kataloogi nimega. - -&tdevelop; loob vaikimisi selles kataloogis igale projektile oma alamkataloogi. See tähendab, et ⪚ projekt Hello asub kataloogis /home/devel/projektid/hello. - -Mainitud kataloogiseadistust võib mõistagi vajaduse korral ka ajutiselt tühistada. Sellest räägib lähemalt peatükk Rakenduse nõustaja. - - -Kompilaatori väljund -Kui &tdevelop; lähtekoodi kompileerib, näitab ta ka make'i' ja teiste ehitamistööriistade teateid töötsooni allosas asuvas aknas Teated. Tavaliselt on need väga teaberohked. Parema ülevaate saamiseks toimuvast võib &tdevelop; neid teateid kärpida. - - -Sõltuvalt &tdevelop;i versioonist on kompilaatori väljund arvatavasti vaikimisi pikk, mis tähendab, et näidatakse täeilikult kõigi teadete sisu. Selle asemel võib valida märksa mugavama variandi väga lühike. Vali see lihtsalt rippmenüüst. - - -Pane siiski tähele, et sel juhul näidatakse teadete aknas ainult kõige põhilisemat 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 Teated ja vali kontekstimenüüst ⪚ Täielik kompilaatori väljund. - - - - -Dokumentatsiooniotsingu indeksite initsialiseerimine - -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. &tdevelop; vajab enne seda mõningate otsinguindeksite loomist. Teeme siis seda, enne kui alustame esimesi samme &tdevelop;i tegelikul kasutamisel. - -Ava &tdevelop;i peaakna paremas servas tööriistavaade Dokumentatsioon. Seejärel ava seal dialoog Otsing. - - - - - - -Otsinguindeksite genereerimine. - - - -Nüüd klõpsa nupule Värskenda seadistust, mis tagab, et põhilised otsingutööriistad on korrektselt häälestatud. Ilmub dialoog teatega Konfiguratsioonifail värskendatud. Klõpsa OK ja dialoog kaob. - -Seejärel on &tdevelop; valmis parsima teadaolevat dokumentatsiooni ja looma selle põhjal otsinguindeksid. Klõpsa paremal pool asuvale nupule Värskenda indeksit. Nüüd ilmub dialoog Otsinguindeksi genereerimine, mis näitab indeksi loomise toimingute edenemist. - - - - - - -&tdevelop; genereerib dokumentatsiooniotsingu indeksid. - - - -See võtab sõltuvalt dokumentatsiooni mahust ja sinu masina kiirusest omajagu aega. Kuid lõpuks asendub nupp Loobu nupuga OK. Klõpsa sellele. - - - - -Üldjuhul peaks asi toimima kiiresti ja edukalt. Mõnel juhul ei pruugi programm htdig, mida &tdevelop; tarvitab täistekstiotsingu sooritamiseks, olla korrektselt seadistatud. Sel juhul otsi täpsemat abi peatükist Tekstiotsingu indeksite seadistamine. - - -&kde; ja &Qt; spetsiifilises API dokumentatsioonis otsimiseks on vaja, et &tdevelop;i paigaldamise ajal oleks olemas KDELibs Apidocs. Kui sul tekib probleeme indeksite ehitamisega või identifikaatorite otsinguga, millest tuleb juttu veidi hiljem, kontrolli, kas dokumentatsioon on ikka olemas ja &tdevelop; pääseb sellele ligi. Täpsemalt räägib sellest osa KDevelopi paigaldamine. - - - - - - - - -Uue projekti alustamine - -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 &tdevelop;is korraldatud projektidena. Seepärast on esimene samm tarkvara arendamisel &tdevelop;iga tavaliselt uue projekti loomine. - -Õnneks on see väga lihtne. &tdevelop; pakub selleks spetsiaalse tööriista Rakenduse nõustaja (täpsemalt räägib sellest peatükk Alustamine — Rakenduse nõustaja). - -Me alustame praegu lihtsa &kde; rakenduse projektiga, et demonstreerida, kui lihtne see on ning milliseid faile ja tööriistu &tdevelop; selleks pakub. Seepärast vaatleme lühidalt järgmisi asju: - - -Kuidas luua uus projekt rakenduse nõustaja abil? -Millised failid rakenduse nõustaja algselt loob? -Millised täiendavad tööriistavaated avatakse projekti puhul? - - - -Uue projekti loomine - -Loome päris lihtsa &kde; Hello World projekti. Selleks järgi alltoodud samme. - - - -Ava rakenduse nõustaja menüükäsuga Projekt Uus projekt... - - - -Ilmub dialoog Uue projekti loomine. Selle olemises osas asuvas aknas Kõik projektid on ära toodud mitu programmeerimiskeelt. - - - -Me soovime luua tavapärase &kde; C++ rakenduse, sestap klõpsa kirjest C++ vasakul asuvale ikoonile +, et kirje avada. - - - -Nüüd näeb mitut võimaliku rakendusetüüpi. Me soovime ehitada &kde; rakenduse, sestap klõpsa kirje KDE ees asuvale ikoonile +. - - - -Siin näeb tervet rida projektimalle. Liigu nende seas allapoole ja klõpsa kirjel Lihtne KDE rakendus. - -Kahes parempoolses aknas näeb sellele projektimallile tugineva rakenduse eelvaatlust ja lühikirjeldust. - - - - - - - -Hello World projektimalli valimine - - - - - -Rakendus vajab ka nime. Kirjuta all paiknevas sektsioonis Omadused kasti Rakenduse nimi meelepärane nimi. - -Me kasutame oma näites nime Hello, 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. - - - -Kontrolli, kas tekstikastis Asukoht seisab ikka sinu projektikataloogi nimi, nagu see on määratud vastavalt eeltoodud peatüki Veidi seadistamisest juhistele. Kui see pole nii, kirjuta korrektse kataloogi nimi või vali see kataloogide loendist, mille saab avada paremal asuvale kataloogiikoonile klõpsates. - -Kui kõik on korras, näitab tekstikast Lõplik asukoht kataloogi, kuhu uus projekt paigutatakse. Kui selle taga seisab (vigane), proovi anda projektile mõni nmuu nimi ja/või kontrolli, kas kataloog, mis on antud tekstikastis Asukoht, on ikka olemas ja sul on selles kirjutamisõigus. - - - -Kui kõik on õige, saab dialoogi allservas kasutada nuppu Järgmine. Klõpsa sellele. - - - - - -Nüüd avaneb dialoog Projekti seadistused. Kontrolli, kas tekstikastid Autor ja E-post sisaldavad korrektseid andmeid. Tavaliselt kasutatakse neis sinu &kde; kasutajaseadistuste vaikeväärtusi, nagu need on kirjas &kde; juhtimiskeskuse dialoogis Parool ja kasutajanimi. Kui see nii pole, muuda neid, et need vastaksid sinu soovidele. - - - - - - - -Nime ja soovi korral e-posti aadressi määramine. - - - - - -Anda tuleb vähemalt autori nimi. See on rakenduse failide loomiseks kohustuslik. - - -Kui kõik on korras, saab kasutada nuppu Järgmine. Klõpsa sellele. - - - -Järgnevad dialoogid Versioonikontrollisüsteem, .h-failide mall ja .cpp-failide mall ei paku meile antud hetkel huvi. Klõpsa neis lihtsalt nupule Järgmine ning lõpuks nupule Lõpeta. - - - -Ongi kõik! Rakenduse nõustaja asub nüüd tegevusse ja loob lõplikus asukohas, mille määrasid nõustaja teisel sammul, rea esialgseid faile. - -Kui failid loodud, avab &tdevelop; redaktoriakna rakenduse peaakna teostusfailiga (selleks on meie näites hello.cpp), et võiksid kohe tegutsema asuda. - - - -Algsed projektifailid - -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 Failipuu. Seal on ära toodud pildil näidatud failinimekiri. - - - - - - - -Projekti Hello World esialgsed failid - - - - -Näitamaks peamisi nõustaja tekitatud faile, avasime tööriistavaates Failipuu enamiku katalooge. Klõpsa kirjetel ise, et asja lähemalt uurida. - -Lisaks sellele avasime ka enamiku kirjeid paremal paiknevas tööriistavaates Automake'i haldur, kus samuti on ära toodud mõned projekti lähtekoodifailid. - - -Autoriõiguse küsimused - -Kõik &GNU; nõuetele vastavad rakendused peavad sisaldama autoriõiguse teavet. Seda läheb vaja kahel tasandil: konkreetsed lähtekoodifailid ning rakenduse käitusaeg. Nõustaja lisas juba projekti vajaliku autoriõiguse ja litsentsiteabe. - - -Lähtekoodifailide autoriõigus -Mäletad veel uue projekti loomisel esinenud dialoogi Projekti seadistused? Seal tuli anda oma (s.t. arendaja) nimi ja soovi korral ka e-posti aadress. Nüüd vaata parajasti töötsoonis redaktoriaknas avatud faili hello.cpp ülaossa. Rakenduse nõustaja lisas need iga loodud lähtekoodifaili litsentsipäise algusse. - - -/*************************************************************************** - * Copyright (C) 2006 by Joe User * - * joe@user.com * - * * - * This program is free software; you can redistribute it and/or modify * - - -Täpselt sama teksti leiab kõigist lähtekoodifailidest, mis luuakse &tdevelop;is (seda muidugi tingimusel, et kasutad failide loomiseks ikka KDevelopi enda tööriistu). &tdevelop; jätab need seadistused meelde teatud mallifailides, mille leiad kataloogis templates. - - -Rakenduse käitusaegsed autoriõigused -Kui sinu &kde; rakendus töötab, võib kasutajal tekkida huvi uurida selle infot, mille saab tavaliselt avada menüüst Abi. Rakenduse nõustaja kannab ka selle eest hoolt. Kui vaatad faili main.cpp, näed seal midagi sellist. - - -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" ); - - -See seab arendaja nime (meie näites Jose User) ja e-posti aadressi autoriõigusi näitavasse infodialoogi ning näitab nime ja aadressi ka sama dialoogi autorite kaardil. - - -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. - - - - -Algsed lähtekoodifailid - -Rakenduse nõustaja paigutab lähtekoodifailid projektikataloogi alamkataloogi src. Oodatult leiab sealt failid main.cpp, hello.h ja hello.cpp. - -Lisaks on seal veel mõned failid, mis tavaliselt käivad kaasas iga &kde; rakendusega, nimelt - - - -hello.desktop sisaldab mõningaid metaandmeid, mida &tdevelop; kasutab rakenduse hooldamiseks ja käivitamiseks. - - - -hi16-app-hello.png ja hi32-app-hello.png sisaldavad esialgseid vaikeikoone, mida &tdevelop; kasutab rakenduse kuvamisel. - - - -Fail helloui.rc sisaldab rakenduse kasutajaliidese kirjeldust, hetkel ennekõike menüüsid, mida rakendus pakub. - - - - - -Algne rakenduse dokumentatsioon - -Projekti alamkataloogis doc/en sisaldab faili index.docbook. See on vaikimis mall, mille põhjal saab hakata kirjutama tegelikku kasutaja dokumentatsiooni. - - - -Projekti- ja lisafailid - -Vahest märkasid, et seni tutvustatud failid on tööriistavaates Failipuu ä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 projektfailideks. - -Kui vaadata, töötsooni parempooles alumises osas paiknevat Automake'i haldurit, võib projektifaile näha ka seal. Automake'i haldur kasutab neid ära ehitamise juhtimisel, nagu me peagi näeme. - -Ülejäänud, tavalises kirjas failid on täiendavad failid. Need jagunevad mitmesse klassi: - - - - -Projekti ehitamise juhtimine -Need failid juhivad kompileerimist, paigaldamist, dokumentatsiooni loomist ja muid protsesse. Kui projekt kasutab &GNU; autotools'i vahendeid, nagu meie näide, siis leiab igas projektikataloogis faili Makefile.am. Need on ehitamiseks kasutatava programmi make tuumikfailid, mis juhivad ehitamist ja mida töödeldakse ehitamise käigus mitmesuguste configure-failidega. Sellise ehitamise käigus luuakse igasse kataloogi lõplik Makefile. Omakorda nende põhjal loob programm make rakenduse binaarfailid. - - -Makefile.am-faile tuleb hallata kogu arendustegevuse käigus. &tdevelop;pi kasutades jääb see küll peamiselt Automake'i halduri hooleks, mis põhimõtteliselt ongi Makefile.am-failide sisu haldamise graafiline kasutajaliides. - -Projekti juurkataloogis paiknevad veel projekti juhtfailid configure.in.in ja subdirs. Neid töötlevad mõningad failid kataloogis admin, &kde; spetsiifilises halduskataloogis, et luua täiendavaid faile configure ja Makefile ning lõpuks rakenduse binaarfailid. - - - - -&tdevelop;i juhtfailid -&tdevelop; vajab ka mõningaid omaenda juht- ja haldusfaile. Need asuvad samuti projekti juurkataloogis - meie näite korral hello.tdevelop, hello.tdevelop.pcs ja hello.kdevses. - - -Eriti oluline on kõigis projektides fail xxx.tdevelop (kus xxx on projekti nimi). See on peamine KDevelop 3 projektifail ning seda on igal juhul vaja, kui soovid oma projekti hiljem &IDE;-s laadida. - - -Ära kunagi muuda, nimeta ümber ega kustuta ühtegi &tdevelop;i juhtfaili! Peaaegu kindlasti ei toimi &IDE; pärast seda sinu projektiga enam korrektselt. - - - - - -GNU projekti kirjeldusfailid -Mõned projekti juurkataloogis asuvad failid on kohustuslikud kõigile &GNU; nõuetele vastavatele rakendustele. Need on järgmised: AUTHORS, ChangeLog, INSTALL, COPYING (see sisaldab GNU Üldist Avalikku Litsentsi ehk GPL-i), INSTALL, NEWS, README ja TODO. - - - - - -Muud failid -Veel mõned seni mainimata failid on järgmised: - - - - -Doxyfile juhib projekti spetsiifilise sisemise &API; programmeerimisdokumentatsiooni loomist. - - - -Kataloog templates 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. - -Nii võib sul ⪚ tekkida soov joondada parempoolsed tärnid, mida Rakenduse nõustaja lisab cpp- ja h-failide malli, kuidagi teisiti, et nende põhjal loodud lähtekoodifailid näeksid paremad välja. - - - -Kataloogi po kasutatakse lokaliseerimiseks ehk rakenduse tõlkimiseks. See kuulub põhimõtteliselt projektifailide hulka (sisaldab faili Makefile.am), kuid kasutatakse peamiselt tõlkimiseks. Rakenduse arendajale ei ole see tavaliselt väga tähtis. - - - -Kataloog admin 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. - - - - - - - - - -Täiendavad tööriistavaated - -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. - - -Tegelikult nähtavad tööriistavaated sõltuvad parajasti &tdevelop;is laaditud pluginatest. Seda saab loomulikult muuta. Täpsemalt räägib sellest peatükk Pluginatööriistad. - - - -Liikumis- ja valikutööriistad (vasakul) - - - - -Järjehoidjad -Soovi korral võid märkida ära iga tekstifaili rea, et saaksid selle juurde vajadusel kiiresti tagasi pöörduda. &tdevelop; jätab kõik järjehoidjad meelde, isegi kui sulged hiljem redaktoriakna. Tööriistavaade Järjehoidjad toob kõik järjehoidjad ära failinime ja reanumbri järgi. Klõpsa lihtsalt kirjel ning redaktoriaknas avataksegi kohe vastav fail õigel real. - - - - - -Klassid -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. - - - - - -Failirühmad -Sorteerib projektifailid teatud rühmadesse, &ie; Lähtekood, Kasutajaliides, Ikoonid, Tõlked ja Muud. Mõnel kirjel klõpsates avatakse fail redaktoriaknas. - - - - - -Muutujad -Seda kasutab silumistöörist muutujate kuvamiseks, hindamiseks ja jälgimiseks silumise ajal. - - - - - - -Teated (all) - - - - -Valgrind -Valgrind programmi käitusaja analüsaator. See tööriistavaade näitab analüüsi tulemusi. Seda kasutatakse ⪚ mälulekete tuvastamiseks. - - - - - -Turvaprobleemid -&tdevelop;is pakub pluginatööriista Turvakontroll. 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. - - - - - -Katkestuspunktid -See tööriistavaade võimaldab määrata, puhastada ja hallata silumise katkestuspunkte rakenduse lähtekoodifailides. Seda kasutatakse koostöös siluriga. - - - - - -CTags -Võimaldab luua identifikaatorite indeksite andmebaasi populaarse rakenduse CTags 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. - - - - - -Probleemid -&tdevelop; hoiab parajasti redigeeritavas failis silma peal levinud programmeerimisprobleemidel ning annab tööriistavaate aknas kasutajale teada. - - - - - - -Lähtekoodi haldamine (paremal) - - - - -Automake'i haldur -Automake'i haldur on graafiline kasutajaliides kõigis projektikataloogides leiduvate failide Makefile.am haldamiseks. Tööriistavaates on kaks akent. Ülemine pool toob ära osa projekti alamkatalooge, nimelt need, mis otseselt sisaldavad projektifaile. Igas sellises alamkataloogis peab leiduma fail Makefile.am ning Automake'i haldur nimetab sellist kataloogi alamprojektiks. - - -Alamprojekti nimel klõpsates näidatakse antud alamprojekti projektifaile alumises aknas. Sealsed failid on korraldatud vastavalt antud alamprojekti Makefile.am funktsionaalsusele. - -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 edaspidi. Põhjalikumalt räägib sellest peatükk Ehitamine ja projektihaldus. - - - - - - - - -Mõned näpunäited dokumentide kasutamiseks - -Meie näites avas Rakenduse nõustaja kohe redaktoriaknas faili hello.cpp, 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 &tdevelop;i eripäradest kaartidega redaktoriakende ja dokumentide kasutamisel. Me tutvustame siin lühidalt järgmisi küsimusi: - - -Kuidas lülituda vähese vaevaga päise- ja teostusfailide vahel? -Kuidas pääseda kiiresti ligi deklaratsioonidele ja definitsioonidele? -Kuidas korraldada redaktoriaknaid oma soovide kohaselt? -Kuidas hoida silma peal levinud probleemidel? - - - -Lülitumine päise- ja teostusfailide vahel - -&tdevelop; võimaldab kiiresti ja lihtsalt lülituda mis tahes teostusfaililt (.cpp) vastavale päisefailile (.h) ja vastupidi. Selleks tee lihtsalt hiire parema nupuga klõps redaktoriaknas, kus soovid lülitumist sooritada. Ilmub järgmine kontekstimenüü. - - - - - - -Lülitumine päise- ja teostusfailide vahel - - - -Vali kirje Lülita päise/teostusfail. &tdevelop; otsib vastavat päise- või teostusfaili ning avab selle uues redaktoriaknas. Meie näites sooritati klõps failis hello.cpp ning järelikult avatakse fail hello.h. - -See ei ole veel kõik. Kui teed paremklõpsu klassiteostuse tekstis, viib &tdevelop; avatavas päisefailis kursori vastava deklaratsiooni reale. Sama kehtib ka vastupidi: kui klõpsad deklaratsioonireal, asetatakse kursor vastava klassi teostamise reale. - -Kui lülitatava failiga redaktoriaken on juba avatud, siis &tdevelop; aktiveerib selle ja mõistagi asetab võimaluse korral kursori vajalikku kohta. - - - -Ligipääs deklaratsioonidele ja definitsioonidele - -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. - -Siin on siiski kaks mõnevõrra erinevat juhtumit, nimelt: - -Ligipääs väliselt defineeritud identifikaatoritele ja -ligipääs projektisisestele tekstielementidele. - - - -Väline deklaratsioonid ja definitsioonid - -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 &tdevelop; on korrektselt paigaldatud, suudab &tdevelop; kasutada niinimetatud API dokumentatsiooni ja otsida sealt vajalikke identifikaatoreid. - -Toome näite. Otsi redaktoriaknas failis hello.cpp üles järgmised read. - -Hello::Hello() - : KMainWindow( 0, "Hello" ) -{ - - -Klõpsa hiire parema nupuga klassil KMainWindow. Ilmub kontekstimenüü. Vali sealt Otsi dokumentatsioonis: KMainWindow. Nüüd avaneb tööriistavaade Dokumentatsioon, kus näeb kirjetu KMainWindow otsingusõnana kaardil Otsing. Mõne aja pärast avaneb töötsoonis uus redaktoriaken, mis näitab KDE API dokumentatsiooni klassi KMainWindow kohta. - -See näeb välja nii (me avasime teadlikult juba ette kaardi Dokumentatsioon-Otsing, et illustreerida menüükirje valimise tulemust). - - - - - - -Väliselt dokumenteeritud identifikaatori otsing - - - -Sama hästi võib valida ka menüükirje Leia dokumentatsioonis: KMainWindow. Sel juhul avatakse tööriistavaates Dokumentatsioon kaart Otsija, mis tavaliselt pakub mitmeid otsingusõna sisaldavat lehekülge. (Meie näites on selleks tõenäoliselt klassid KMainWindow ja KMainWindowInterface. Vali see, mille vastu huvi tunned, ning vastavat dokumentatsiooni kuvatakse redaktoriaknas. - - -Kui nii ei lähe, ei ole arvatavasti dokumendid veel indekseeritud. Kas genereerisid ikka indeksid, nagu selgitati eespool? Kui mitte, siis loe seda uuesti, loo indeksid ja proovi taas. - - - - -Projekti sisemised deklaratsioonid ja definitsioonid - -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: &tdevelop; võib kasutada projekti lähtekoodis otsimiseks indekseid, mille loob rakendus CTags. - -Enne kui seda meie Hello näidisprojektis kasutada, tuleb luua kasutuskõlblik indeks. Seda saab teha töötsooni allosas paiknevas tööriistavaates CTags. - -Klõpsuga sakile CTags avaneb dialoog, mille alumises parempoolses nurgas näeb järgmist nuppu. - - - - - - -CTagsi indeksi genereerimine nupuga Genereeri uuesti - - - -Klõpsa nupule Genereeri uuesti ja oota mõni sekund. Siis asendub kiri CTagsi andmebaasi ei leitud praeguse kuupäevaga. Nüüd võib otsida oma projekti lähtekoodifailides vajalikku identifikaatorit. - - -Kuupäev nupu Genereeri uuesti 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. - - -Identifikaatorit saab oma projektis otsida mitmel moel. - - - - -CTagsi tööriistavaate kasutamine -See on väga lihtne. Hakka huvipakkuva identifikaatori nime kirjutama vasakul asuvasse tekstikasti Otsing. &tdevelop; püüab kirjutatud tähtede järgi sõna lõpetada ja näitab kõiki nende tähtedega algavaid identifikaatoreid. - - -Kui näiteks tahad teada, kus on meie näidisprojektis kasutatud identifikaatorit Hello, kirjuta kasti Otsing "H". &tdevelop; asub kohe tegevusse ja näitab sellist tulemust: - - - - - - -Identifikaatori otsimine tööriistavaates CTags. - - - -Klõpsuga mõnele kirjele avab &tdevelop; faili redaktoriaknas ja viib kursori vajalikku kohta. - - - - -Lähtekoodifaili kontekstimenüü kasutamine -See on abiks, kui töötad kindla lähtekoodifailiga. Oletame, et uurid meie Hello näidisprojekti faili main.cpp. Selles leidub järgmine rida - -Hello *mainWin = 0; - -ja sul tekib küsimus, kus esineb Hello programmis veel. Selleks tee lihtsalt identifikaatoril Hello klõps hiire parema nupuga. Ilmub kontekstimenüü, mille allosas leiduvad järgmised kirjed. - - - - - - -CTagsi teabe hankimine projekti sisemise identifikaatori kohta. - - - -Klõpsa huvipakkuvale kirjele, näiteks CTags - Mine definitsioonile: hello, ja &tdevelop; avab otsekohe redaktoriaknas faili hello.cpp ning seab kursori otse selle klassi definitsiooni ette: -Hello::Hello() - : KMainWindow( 0, "Hello" ) -{ - - - - - -Globaalne otsing -See on abiks juhul, kui soovid otsida oma projektis mis tahes teksti. &tdevelop;is saab globaalset otsingut alustada kahel viisil. - - - -Käivita globaalne otsing menüükäsuga RedigeerimineOtsi failidest... või - - -Kasuta redaktoriaknas hiire parema nupuga klõpsates avanevat kontekstimenüüd. - - - -Me vaatleme oma Hello näidisprojektis teist võimalust. Tulemus on mõlemal juhul põhimõtteliselt ühesugune. Oletame, et uurid faili hello.cpp ja kursor asub parajasti Hello esimese esinemise asukohas. Tunned huvi, kus sõna Hello veel kasutatakse ja kui palju on seda üldse kasutatud. See on tüüpiline &tdevelop;i globaalse otsingu kasutamise juhtum. - -Kui kursor asub kuskil sõnas Hello, klõpsa hiire parema nupuga. Ilmub kontekstimenüü, kust tuleb valida Grep: Hello. - - - - - - -Globaalse otsingu käivitamine redaktoriaknas - - - -Avaneb dialoog Failides otsimine (täpselt sama dialoog avanem menüükäsuga Redigeerimine Otsi failidest...). - - - - - - -Projekti globaalse otsingu tõhus graafiline kasutajaliides. - - - -Nagu näed, on tegemist programmide find ja grep 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 Muster otsingusõna Hello. Kui see pole nii, kirjuta see sinna ja klõpsa all paremal nupule Otsi. - -Nüüd avaneb all tööriistavaade Failides otsimine, mis näitab kõiki faile ja ridu, kus meie näidisprojektis esineb Hello. Nagu ikka, avab &tdevelop; mõnele kirjele klõpsamise järel töötsoonis vastava faili ja viib kursori sõna esinemise kohta. - -Tööriistavaate aknas on kaks erilist huvi pakkuvat rida. - - -Päris alguses näeb käsku, mida &tdevelop; otsingul kasutas. See võimaldab täpsemalt kontrollida otsingutulemust. - - - -Lõpus on kirjas, mitu sobivust otsinguga leiti. Meie näites peaks seal olema *** Leiti 11 sobivust ***. - - - -&tdevelop; jätab otsingutulemused seansi tööajaks meelde. Kui sooritad uue globaalse otsingu, avatakse selle tulemused tööriistavaate Failides otsimine aknas uuel kaardil. - - - - - - -Redaktoriakende korraldamine - -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. &tdevelop; pakub sellks mitu võimalust. Vaatleme lühidalt mõningaid neist. - -Kuidas eemaldada tarbetud kaardid? -Kuidas kaardid ümber korraldada? -Kuidas näha töötsoonis korraga mitut faili? -Kuidas redigeerida korraga C++ lähtekoodi- ja päisefaili? -Kuidas rühmitada lähtekoodifailide arendusseansidesse? - - - -Kaardirea puhastamine - -Kui avatud on juba terve rida redaktoriaknaid, tekib pikapeale vajadus sulgeda kaardid, mida enam vaja ei lähe. &tdevelop; 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. - - -Mitme kaardi sulgemine korraga -See on omamoodi hulgilähenemine tarbetute avatud akende sulgemiseks, mida pakuvad ka teised &kde; rakendused. Menüüst Aken või hiire parema nupuga kaardi sakile klõpsates saab - - - -sulgeda aktiivse redaktorakna, - - -sulgeda kõik avatud redaktoriaknad või - - -või sulgeda korraga kõik redaktoriaknad (seda saab kasutada ainult menüüst Aken). - - - - -Valitud kaartide sulgemine -Ü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 &tdevelop; võimalust valida nimekirjast kaardid ja sulgeda ainult valitud kaardid üheainsa hiireklõpsuga. - - -Toome lihtsa näite. Oletame, et meie Hello näidisprojektis on redigeerimiseks avatud mitu faili: hello.cpp, hello.h, helloui.rc, hello.desktop ja main.cpp. Soovid avatuks jätta ainult failid hello.cpp ja hello.h. Kõige lihtsam on seda teha tööriistavaates Failinimekiri. Et avatud failide nimekiri on järjestatud tähestikuliselt, on vajalike kaartide ülesleidmine päris lihtne. Toimi järgnevalt: - - - -Ava Failinimekiri ja klõpsa klahvi Ctrl all hoides nimekirjas failidele, mida soovid sulgeda. - - -Seejärel, hoides hiirekursorit nimekirjas leiduva faili kohal, klõpsa hiire parema nupuga. - - -Vali failinimekirja kontekstimenüüst Sulge valitud. - - - - - - - - -Valitud redaktoriakende sulgemine ühekorraga - - -Ja ongi kõik. &tdevelop; sulgeb kõik valitud redaktoriaknad ja kaardiriba on märksa puhtam. - - - -Redigeerimisakna kaartide ümberkorraldamine - -Isegi kui oled sulgenud tarbetud redaktoriaknad, võib sul olla soov korraldada avatud kaardid ümber loogilisemal viisil. &tdevelop; mõistagi lubab seda teha, nimelt järgmiselt: - - -Põhiseadistused — kuhu seada uued kaardid - -Vaikimisi avatakse uue redaktorakna kaart aktiivse redaktoriakna kaardist paremal pool. Seda saab muuta, et uus kaart avataks kaardiribal kõige parempoolsena. - -Selleks tuleb muuta &tdevelop;i kasutajaliidese põhiseadistusi. - - -Vali Seadistused KDevelopi seadistamine... - - -Vali dialoogi vasakus servas ikoon Kasutajaliides. Avaneb dialoog Kasutajaliides. - - -Paremal all leiab sektsiooni Kaartidega lehitsemine. Eemalda märge kastist Uus kaart avatakse aktiivse kaardi järel. - - -Sulge &tdevelop; ja käivita uuesti. Nüüd avanevad redaktoriakna kaardid kaardirea parempoolses servas. - - - -Paraku ei saa seda muuta jooksvalt, arendusseansi käigus. Sa pead eelnevalt otsustama, millist käitumist soovid, ning seejärel seda kasutama vähemalt &tdevelop;i järgmise käivitamiseni. - - -Kaartide ümberkorraldamine -Arendusülesanded muutuvad aeg-ajalt, mistõttu võib tekkida vajadus redaktoriakende kaarte ümber korraldada. See on &tdevelop;is õige lihtne. - -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. - - - -Mitme faili vaatamine korraga - -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. &tdevelop; pakub selleks võimalust poolitada töötsoon mitmeks korraga nähtavaks osaks, milles kõigis võivad olla avatud oma kaardid. - -Poolitamiskäske on kaks, mõlemat saab kasutada kas menüüst Aken või hiire parema nupu klõpsuga kaardil või otse sakil. Me tutvustame poolitamist meie Hello näidisprojekti varal. - -Oletame, et avatud on kaks faili: hello.cpp ja hello.h. Töötades failiga hello.cpp, on sul sageli vaja näha deklaratsioone päisefailis hello.h, nii et väga hea oleks mõlemad failid korraga silme ees hoida. - -Selleks tee hiire parema nupuga klõps näiteks faili hello.h sakil. Ilmub kontekstimenüü. - - - - - - -Töötsooni jagamine kaheks - - - -Vali Poolita horisontaalselt. Töötsoon jagatakse keskelt pooleks ning faili hello.h sisaldav redaktoriaken avatakse alumises osas. - - - - - - -Horisontaalselt poolitatud töötsoon - - - -Pane tähele kaht akent lahutavat eraldajat. Seda hiirega lohistades võib muuta akende kõrgust endale sobivaks. - -Tähelepanu tasub pöörata mõnele aspektile. - - -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. - - - -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. - - - -Samuti ei saa poolitatud ala otseselt sulgeda. See sulgub automaatselt pärast seda, kui suletud on viimane selles asunud kaart. - - - - - -C++ lähtekoodi- ja päisefailide redigeerimine korraga - -Lisaks mainitud töötsooni poolitamisele on &tdevelop;il pakkuda veel üks vahva võimalus, mis lubab korraga avatud hoida .cpp-lähtekoodifaili ja vastava .h-päisefaili. Lisaks lubab see mõlemat faili sünkroonis kasutada: päisefailis näiteks deklaratsiooni valides liigub &tdevelop; vastavale definitsioonile lähtekoodifailis ja vastupidi. - -See võimalus pole siiski vaikimisi sisse lülitatud, vaid tuleb käsitsi aktiveerida. - -Vali Projekt Projekti seadistused. Ilmub dialoog Projekti seadistused. Vali vasakus servas ikoon C++ toetus ja paremal avanevas dialoogis kaart Liikumine. - - - - - - -C++ lähtekoodi- ja päisefaili avamine kõrvuti - - - -Märgi ära kast Päise/lähtekoodi eraldamise lubamine. See lülitab automaatselt sisse valikud Automaatne sünkroniseerimine ja Vertikaalselt. Jäta need praegu kehtima ja klõpsa nupule OK. - -Selle võimaluse selgitamiseks sulge meie Hello näidisprojektis failid hello.cpp ja hello.h. Seejärel vali projekti alamkataloogist src taas fail hello.cpp. Nagu ikka, avaneb redaktoriaken. Aga kui avad nüüd sellega kokkukuuluva faili hello.h, poolitab &tdevelop; automaatselt töötsooni ja avab päisefaili otse hello.cpp akna all. - -Aga nagu mainitud, see pole veel kõik. Otsi ⪚ failis hello.cpp üles järgmine konstruktori definitsiooni rida: -Hello::Hello() - -ja aseta kursor selle sisse. Seejärel vaata all faili hello.h ja näed, et &tdevelop; liigub vastavale konstruktori deklaratsiooni reale. - - - - - - -&tdevelop; liigub automaatselt konstruktori deklaratsioonile - - - -See toimib ka vastupidi: kui viid kursori ühes aknas millegi peale, liigub &tdevelop; teises aknas samuti vastava konstruktsiooni peale. - - - -Lähtekoodifailide rühmitamine arendusseanssideks - -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 &tdevelop;i tööriistavaade Failinimekiri. - -Tööriistavaate Failinimekiri ülaosas on tööriistariba, mille abil saab seansse luua, salvestada, valida ja eemaldada. Samamoodi võib selleks kasutada menüüd VaadeSeansid. - -Me tutvustame seda taas oma Hello näidisprojekti varal. Oletame, et tahad alati korraga avada failid hello.cpp, hello.h ja main.cpp, sõltumata sellest, millist ülesannet sa parajasti projektis täidad. Selleks tuleb kõigepealt luua uus arendusseanss näiteks nimega lähtekood. - - - - - - -Arendusseansside kasutamine failirühmade meelespidamiseks - - - -Selleks tuleb astuda mitu sammu. - - -Uue seansi loomine - - -Klõpsa ikoonile Uus seanss, mille leiad tööriistavaate Failinimekiri akna ülemisest vasakpoolsest servast. - - -Ilmub dialoog. Anna väljal Sisesta seansi nimi oma uuele seansile nimi, ⪚ lähtekood. - - -Sulge dialoog klõpsuga nupule OK. Uus seanss on nüüd valitav rippmenüüst tööriistaribal. - - - - -Uus seanss on esialgu tühi, see tuleb alles täita failidega, mida soovid selles näha. - - -Ava kõik failid, mida soovid antud arendusseanssi lisada. Meie näites otsustasime sinna lisada failid hello.cpp, hello.h ja main.cpp. - - -Kui failid on valitud, klõpsa tööriistaribal ikoonle Salvesta seanss. Tee seda kindlasti, sest muidu ei pea &tdevelop; faile meeles. - - - - - -Ongi kõik. Kui hiljem valid rippmenüüst Ava seanss kirje lähtekood, sulgeb &tdevelop; kõik parajasti avatud redaktoriaknad ja avab nende asemel need, mis on seanssi salvestatud (meie näites hello.cpp, hello.h ja main.cpp). - -Projektis võib luua seansse nii palju kui vaja. Kui soovid seansi sisu muuta, vali lihtsalt vajalikud failid ja klõpsa taas ikoonile Salvesta seanss. Kui soovid aga seansi kõrvaldada, vali see rippmenüüst ja klõpsa tööriistaribal paremal asuvale ikoonile Kustuta seanss. - -See ei ole veel kõik. &tdevelop; võib teatud seansi projekti laadimisel ka vaikimisi avada. Vali selleks lihtsalt vajalik seanss rippmenüüst projekti seadistuste dialoogis Projekt Projekti seadistused Failinimekiri. - - - - - - -&tdevelop; avab projekti laadimisel valitud seansi. - - - - - - -Tavaliste probleemide jälgimine - -Kui avada redaktoriaknas lähtekoodifail, parsib &tdevelop; selle sisu. See võimaldab sisseehitatud probleemide teavitajal otsida tekstist mõningaid teadaolevaid levinumaid vigu. Seejärel teavitatakse kasutajat kohtadest, mis nõuavad erilist tähelepanu. - -Tutvustame seda võimalust meie Hello näidisprojekti varal. - - - -Ava redaktoraken lähtekoodifailiga main.cpp. - - - -Kontrolli, et selles oleks lõpupoole järgmine rida: -/// @todo do something with the command line args here - -Selle lisas Rakenduse nõustaja, kui lõid Hello projekti, nagu kirjeldati eespool peatükis Uue projekti loomine. - - - -Ava nüüd all tööriistavaade Probleemid. Kui kõik on nagu kord ja kohus, antakse seal antud TODO'st teada: - - - - - -&tdevelop; hoiatab lähtekoodirea eest, kus paikneb TODO märge. - - - - - -Vorming /// @todo on mõeldud spetsiaalselt koodi dokumenteerimise programmile Doxygen, mida me käsitleme lühidalt allpool osas Dokumentatsioon. Selle vormingu kasutamine ei ole kohustuslik, sama hästi tuntakse ära levinumad kommentaaritähised TODO ja FIXME. - -Kui ⪚ lisad meie näidisfaili hello.cpp järgmised TODO ja FIXME kommentaariread -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" ); -} - -siis näitab tööriistavaade Probleemid ka neid: - - - - - - -Probleemide teavitaja jälgib redigeeritavas failis tähelepanu nõudvaid ridu. - - - -Pane tähele, et probleemide teavitaja aknas on ka teisi kaarte, eriti just kaardid Fixme ja Todo. Neid avades näed kõiki FIXME ja TODO märkega ridu, mida &tdevelop; on seni leidnud. Näiteks kaardi TODO hoiatused näevad praegu välja nii: - - - - - - -Probleemide teavitaja kogutud TODO hoiatused - - - -Kaardil Vead 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. - -&tdevelop;i probleemide teavitaja on väga väärtuslik tööriist, mistõttu tasuks tööriistavaadet Probleemid arendustegevuse ajal regulaarselt jälgida. - - - - -Projekti kompileerimine - -Projekti kompileerimine nõuab &tdevelop;is mitut seadistavat sammu ja seejärel rakenduse ehitamist. Kõike seda saab teha menüü Ehitamine abil. - - - - - - -Projekti ehitamine nõuab mitut sammu - - - -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 - Ehita projekt, 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. - -Järgnevalt keskendume mitmele võimalusele, mida &tdevelop; pakub projekti seadistamiseks, initsialiseerimiseks, ehitamiseks ja käivitamiseks. Üldiselt tulevad vaatluse alla järgmised asjad: - - -Põhiline ehitamistsükkel. -Projekti konfigureerimise põhilised vahendid. - - - -Ehitamise põhitsükkel - -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. - -Projekti initsialiseerimine esimeseks ehitamiseks. -Esialgne konfigureerimine. -Projekti ehitamine. -Rakenduse käivitamine &tdevelop;is. - - - -Me eeldame siinkohal, et sinu projekti aluseks on &GNU; autotools, mis võimaldavad &tdevelop;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 QMake'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. - - - -Projekti initsialiseerimine ehitamiseks - -Kui Rakenduse nõustaja lõi meie Hello näidisprojekti, oli see omamoodi toores, neitsilik. &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 EhitamineEhita projekt või vajutades klahvi F8, saad järgmise hoiatuse. - - - - - - -Toore automake'i põhise projekti ehitamise katse - - - -Sa võid klõpsata nupule Pane tööle ning &tdevelop; ü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 Ära käivita. - -Nagu mainitud, käib rakenduse kompileerimine ja linkimine menüü Ehitamine vahendusel. Ava see ja vali Käivita automake. - - - - - - -Esmase initsialiseerimise käivitamine - - - -&tdevelop; avab nüüd all tööriistavaate Teated ja näitab tervet rida teateid, mida annavad mitmesugused ehitamise tööriistad. Kui kõik läheb edukalt, seisab viimasel real *** Õnnestus ***. - -Algusse kerides näed käsku, mille &tdevelop; tööriistadele andis: - -cd '/home/devel/projects/hello' && \ -WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -f Makefile.cvs - - -See annab teada, et &tdevelop; lülitus kõigepealt meie näidisprojekti juurkataloogi. Seejärel kehtestati vajalik keskkond, märkides ära ehitamise initsialiseerimiseks vajalikud tööriistade autoconf ja automake versioonid. Lõpuks anti ehitamistööriistale (antud juhul &GNU; gmake) käsk töödelda faili Makefile.cvs. - -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 configure, mida on vaja järgmise sammu sooritamisel. - - - -Esialgne Hello konfigureerimine - -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. - -Konfigureerimisega saab alustada kohe pärast seda, kui algne automake'i initsialiseerimine on edukalt lõpetatud, sest alles pärast seda saab kasutada vajalikke configure-faile. Vali siis nüüd menüükäsk Ehitamine Käivita 'configure', mis alustabki konfigureerimist. - -&tdevelop; avab vajaduse korral taas tööriistavaate Teated ning näitab seal konfigureerimise teateid. Kui kõik läheb edukalt, on viimased teated Good - your configure finished. Start make now (seda teatab 'configure') ja selle järel &tdevelop;i poolt *** Õnnestus ***. - -Kaardi Teated ülaosast leiab taas käsu, millega &tdevelop; konfigureerimise käivitas: - -mkdir '/home/devel/projects/hello/debug' && \ -cd '/home/devel/projects/hello/debug' && \ -CXXFLAGS="-O0 -g3" "/home/devel/projects/hello/configure" --enable-debug=full - - -Need paljastavad meile mitu huvitavat detaili. - - - - - - - - - - - - - -Kõigepealt kasutab &tdevelop; ehitamiseks projekti kataloogipuus spetsiaalset alamkataloogi. Ehitamiskataloog debug (seda näeb vasakul) peegeldab projekti põhistruktuuri ja sisaldab mõningaid ehitamisega seotud faile, näiteks mitu configure-faili ja lisaks Makefile igas alamkataloogis. - - -Osas Projekti seadistamine tuleb veel lühidalt juttu, miks &tdevelop; kasutab sellistel juhtudel omaette ehitamiskatalooge. Praegu piisab teadmisest, et &tdevelop; loob kataloogi debug — kui seda on vaja — enne konfigureerimis ja et skript configure ehitas sinna alamstruktuuri ja kõik Makefile'id. - - -Seejärel kutsus &tdevelop; ehitamiskataloogist debug meie projekti juurkataloogis välja skripti configure, kasutades spetsiaalset keskkonda, milles lipud CXXFLAGS="-O0 -g3" annavad hiljem kompilaatorile &gcc; teada, et loodavaid binaarfaile ei tule optimeerida ning neisse tuleb kaasata kogu silumisinfo. - - -Lõpuks kutsutakse skript configure välja võtmega --enable-debug=full, mis annab korralduse luua kõik Makefile'id, et hiljem oleks kompileerimise ja linkimise ajal saada kogu vajalik silumisinfo. - - - - - - -Kõik need seadistused on kohandatavad projekti tasandil. Sellest kõneleb lähemalt peatükk Projekti haldamine. - - - -Projekti ehitamine - -Kui oled nii kaugele jõudnud, oled valmis tegelikuks ehitamiseks, &ie; rakenduse kompileerimiseks ja linkimiseks. Menüüst Ehitamine leiab kolm asjakohast kirjet. - - - - - - -&tdevelop;i käsud binaarfailide ehitamiseks - - - -Need on alt üles järgmised: - - -Kompileeri fail — kompileerib parajasti redaktoriaknas avatud lähtekoodifaili. Kasutatakse peamiselt kiireks vigade kontrollimiseks. - - -Ehita aktiivne sihtmärk — kasutatakse peamiselt koostöös Automake'i halduriga, millest tuleb lühidalt juttu edaspidi. - - -Ehita projekt — sellest olemegi me praegu huvitatud. See võtab ette kogu projekti, kompileerides ja linkides kõik failid. - - - -Võib-olla on huvitav jälgida, mis juhtub kataloogiga debug, mis loodi varasema skripti configure töö käigus. Seepärast hoia kõik alamkataloogid avatuna, nagu eespool näidatud. Seejärel vali ehitamise alustamiseks menüükäsk Ehitamine Ehita projekt (või vajuta klahvi F8). Nagu varem, avaneb all tööriistavaade Teated ning näitab ehitamise teateid. Lisaks ilmuvad kataloogi debug mõningad failid. - -Meie Hello näidisprojektis pole just palju faile, mistõttu kaart Teated sisaldab vaid mõne rea. Kõige ees seisab taas käsk, mille &tdevelop; edastas protsessi alustamiseks. - -cd '/home/devel/projects/hello/debug' && \ -WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k - - -Pole ilmselt üllatav, et &tdevelop; lülitus kataloogi debug, et käivitada seal asuv Makefile. Nagu initsialiseerimise ajal, loodi taas spetsiaalne keskkond, milles kutsuti välja tööriist gmake. - -Pane tähele võtit -k programmi gmake väljakutses. See sunnib ehitamist jätkama lõpuni ka siis, kui tekib vigu. See on üsna mõistlik, sest &tdevelop; loetleb kõik veateated kaardil Teated. Kui neid peaks esinema, saab kasutada &IDE; suuri võimalusi. Klõpsa lihtsalt veal kaardil Teated ja &tdevelop; viib sind lähtekoodifailis täpselt sellesse kohta, kus viga tekkis. - -Ja mis juhtus kataloogiga debug? Tegelikult suurt mitte midagi. Mõned failid ilmusid alamkataloogidesse doc/en ja src, millest vahest enim tähelepanu väärib hello asukohas /home/devel/projektid/hello/debug/src/. See ongi meie rakenduse binaarfail. Nüüd on rakenduse esialgseks kontrollimiseks veel vaja seesama hello käivitada. - - - -Rakenduse käivitamine - -Uue Hello rakenduse käivitamiseks ei ole vaja mingeid erisamme. Vali lihtsalt menüükäsk Ehitamine Käivita rakendus või kasuta kiirklahvi Shift F9 või nuppu Käivita rakendus, mille leiad ehitamisribalt. - - - - - - -Rakenduse käivitamine ehitamisribalt - - - - -See ongi kõik. &tdevelop; käivitab nüüd uue rakenduse spetsiaalses konsooliaknas, mis avaneb all tööriistavaates Rakendus. Ülemises reas näeb käsku, mille &tdevelop; annab programmi käivitamiseks: - -./hello - - -See näitab, et &IDE; teab, kus asub käivitatav fail. Seda saab mõistagi seadistada. Täpsemalt räägib sellest peatükk Projekti haldamine. - -Reale ./hello järgneb tõenäoliselt hoiatus. Seda võib praegu eirata. See ei takista rakenduse Hello tööd. - - - - - - - -Meie esialgne Hello rakendus - - - - -Sulge Hello rakenduse aken tavapäraselt. Kui vigu ei tekkinud, näitab &tdevelop; tööriistavaates Rakendus teadet *** Väljuti normaalselt. - - - - -Projekti seadistamine - -&tdevelop;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. - - -Mis kasu on ehitamisseadistustest? - -Kus määrata kindlaks skripti configure käitumine? - -Kuidas peaks töötama make? - -Kus peaks asuma käivitatav fail ja mis peaks olema selle nimi? - - - -Ehitamisseadistused - -Kui me käivitasime skripti configure eespool toodud osa Esialgne Hello seadistamine juhiste kohaselt, täheldasime, et &tdevelop; lõi selleks spetsiaalse alamkataloogi debug. Nüüd tutvustame selle sammu mõningaid tagajärgi. - -Esiteks tuleb öelda, et &tdevelop; ei pruugi tingimata kasutada spetsiaalset ehitamiskataloogi. Selle kasutamise näevad ette mallid, mida tarvitab Rakenduse nõustaja uue projekti loomisel. - -Kui tahad teada, millised ehitamisseadistused on üldse kasutatavad, uuri menüüd Projekt Ehitamise seadistused. - - - - - - -Projekti mitu ehitamiseadistust - - - -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 default. - -Parajasti kasutatava ehitamisseadistuses eest on linnuke, Kui soovid seda muuta, vali lihtsalt mõni muu menüükirje. - -Vaatame nüüd lühidalt, mida need ehitamisseadistused pakuvad. - - - -debug - -Seda tuleks kasutada arendamise käigus vaikimisi ehitamisseadistusena. Ehitamine käib sel juhul lähtekoodikataloogidest eraldi spetsiaalses alamkataloogis debug, &ie; kõik objektid, lisafailid ja käivitatavad failid paigutakse loodud alamkataloogi alamkataloogidesse, mitte aga vastavatesse asukohtasse projekti juurkataloogis. Skriptile configure antakse võti --enable-debug=full ning võti CXXFLAGS="-O0 -g3" annab kompilaatorile &gcc; teada, et koodi ei optimeerita ning loodud binaarfailidesse lisatakse põhjalik silumisinfo. - - - - -optimized - -See on mõeldud lõpliku C++ rakenduse ehitamiseks. Ehitamine toimub lähtekoodikataloogidest eraldi spetsiaalses alamkataloogis optimized. Skriptile configure ei anta ühtegi spetsiifilist võtit, kuid võti CXXFLAGS="-O2 -g0" annab kompilaatorile &gcc; teada, et kood tuleb optimeerida ning loodud binaarfailidesse ei lisata silumisinfot. - - - - -default - -Mõiste default ehk tõlkes 'vaikimisi' märgib standardseadistust, kui ehitad konsoolipõhise rakenduse, kasutades ⪚&GNU; käsureapõhiseid ehitamistööriistu configure ja make/gmake. Erinevalt variantidest debug ja optimized 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.). - - -Mõtle hoolikalt järele, enne kui kasutad ehitamiskeskkonda default! - -Seda ei saa kasutada paralleelselt spetsiifiliste keskkondadega debug ja optimized. Kõik variandiga default ette võetud ehitamistoimingud muudavad teised ehitamiskeskkonnad kasutuskõlbmatuks. Seda põhjustavad teatud iseärasused Makefile'ide loomisel automake/autoconf'i abil, mida ei saa enam tagasi võtta. - - - - - -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. - -Siin tulevadki mängu &tdevelop;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. - -See tähendab, et tingimuste muutmisel ei pruugi kõike puhastada ja algusest peale kompileerima asuda, vaid lihtsalt lülituda ehitamisseadistuselt debug seadistusele optimized, kompileerida lähtekoodi muudatused ja testida kõike uuesti uutes oludes. Kui midagi on valesti, vali taas seadistus debug ja jätka kohe oma tööd. - -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. - - - -Projekti konfigureerimise seadistused - -Rakenduse korralik konfigureerimine on &GNU; autotools'i ahelas hädavajalik. Tavaliselt tehakse seda skriptile configure antavate võtmetega ja/või keskkonnale spetsiifiliste lippudega, mis määratakse kindlaks enne skripti configure käivitamist (⪚ CXXFLAGS, mida vaatlesime eespool). - -Enamikku konfigureerimisvõtmeid saab &tdevelop;is määrata graafiliselt. Vali Projekt Projekti seadistused ja ilmuvas dialoogis vasakus servas ikoon Konfigureerimise seadistused. Paremal pool näidatakse seejärel mitme kaardiga dialoogi Konfigureerimise seadistused. - - - - - - -Siin saab määrata enamiku konfigureerimise seadistusi - - - -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 Projektide seadistamine. Kui soovid lähemalt tundma õppida erinevaid lippe, siis otsi teavet käsureal käsuga info make (või info:make &konqueror;is), kus tuleb üles leida sektsioon Implicit Rules Implicit Variables. - -Dialoogis on mitu kaarti, millest esimene, Üldine, puudutab kõige üldisemaid seadistusi, teised teatud kompilaatoritele spetsiifilisi seadistusi. Kõigil juhtudel aga mõjutab dialoogide sisu parajasti valitud ehitamisseadistus. - -Ehitamisseadistuse, mille seadistusi muutma asuda, saab valida dialoogi Konfigureerimise seadistused ülaosas asuvast rippmenüüst Konfiguratsioon. - - - - - - -Ehitamisseadistuse valik, mille seadistusi muuta - - - -Nüüd vali samast rippmenüüst mõni teine ehitamisseadistus ja pane tähele, kuidas dialoogi sisu ⪚ tekstikastides Konfigureerimise argumendid ja Ehituskataloog muutub vastavalt sellele, mida me tutvustasime eespool ehitamisseadistustest kõneldes. - - -Üldised konfigureerimise seadistused - -Kaardil Üldine saab määrata järgmisi konfigureerimise valikuid: - - - - -Konfigureerimise argumendid -Need on võtmed, mida &tdevelop; edastab ehitamiseks skriptile configure. Vaata eespool näidist osas Esialgne Hello seadistamine. - - - - - -Ehituskataloog -See on projekti juurkataloogi alamkataloog, kuhu &tdevelop; 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. - - - - - -Lähtekoodi ülemkataloog -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. - - - - - -C/C++ eelprotsessori lipud (CPPFLAGS) -Siin tuleb anda eelprotsessorile mõeldud juhised. &tdevelop; kasutab neid ajutise keskkonna loomiseks enne ehitustööriista väljakutsumist. Ka siin tasuks vaadata näidist osasEsialgne Hello seadistamine. - - - - - -Linkur lipud (LDFLAGS) -Siin tuleb anda linkimistööriistale ld teada, kust otsida täiendavaid teeke. Ka seda kasutatakse ajutise ehituskeskkonna loomiseks. - - - - - -Keskkonnamuutujad -Siin saab määrata lisamuutujaid ajutisele ehituskeskkonnale, mille &tdevelop; loob enne vastava ehitustööriista väljakutsumist. Keskkonnamuutujad tuleb määrata eraldi kõigile ehitamisseadistustele. - - - - - - -Kompilaatori spetsiifilised seadistused - -Dialoogi Konfigureerimise seadistused teistel kaartidel on konkreetsete kompilaatoritega seotud valikud. Need on üldiselt ühetaolised, mistõttu piirdume kaardiga C++. - - - - - - -&tdevelop;i kasutatava kompilaatori ja selle töökeskkonna valimine - - - -Siin saab määrata järgmisi asju: - - - - -C++ kompilaator -Sellest ripmenüüst saab valida C++ kompilaatori, mida &tdevelop; standardselt kasutab. Siin on näha ainult need kompilaatorid, mis on &tdevelop;ile kättesaadavad. - - - - - -Kompilaatori käsk (CXX) -Ainult asjatundjatele. Seda läheb vaja vaid siis, kui C++ kompilaator pole standardne. Kirjuta siia selle nimi. - - - - - -Kompilaatori lipud (CXXFLAGS) -Siin saab anda täiendavad võtmed, mida &tdevelop; (Makefile'i vahendusel) edastab kompilaatorile. Mõned võtmed on ette antud vastavalt rippmenüüst Konfiguratsioon valitud ehitamisseadistusele. - - -Pane tähele, et paljusid levinumaid kompilaatori võtmeid saab valida dialoogist, mis avaneb klõpsuga tekstikastist paremal asuvale nupule .... - - - - - - -Selles dialoogis saab määrata &GNU; C++ kompilaatori käitumise - - - -Me näitasime siin sihilikult kaarti Optimeerimine. Pane tähele, et valitud on Optimeerimiseta (vastavalt võtmele -O0 ehitamisseadistuses debug). - -Paraku ei saa praegu mitte kõiki võtmeid selles dialoogis määrata. Näiteks võti -g3, mida kasutab ehitamisseadistus debug, tuleb vajaduse korral käsitsi muuta. - - - - - - -Make'i programmi ehitamise viisid - -&tdevelop;pi saab panna projekti ehitamisel tööriista make väga mitmel moel välja kutsuma. Vali Projekt Projekti seadistused ja seejärel vasakus servas ikoon Ehitamise seadistused. Paremal avaneb dialoog Ehitamise seadistused. - - - - - - -&tdevelop;i väljakutse määramine tööriistale make - - - -Siin ei ole üldiselt suurt midagi vaja muuta. Enamasti on ainuke huvipakkuv valik Esimese vea ilmnemisel katkestatakse töö. Enamikus projektides on see välja lülitatud. See vastab võtmele -k rakenduse gmake väljakutses, mis esines meie Hello näidisprojekti esimese ehitamise käsus. - -See on mõttekas sellises &IDE;-s nagu &tdevelop;, mis talletab kõik ehitamise ajal tekkinud vead. Pärast ehitamist saab tööriistavaates Teated hõlpsasti kõiki vigu näha. Neid saab läbi lapata menüükäskudega Vaade Järgmine viga ja VaadeEelmine viga või vastavate kiirklahvidega F4 ja ShiftF4. &tdevelop; aktiveerib selle peale automaatselt vajaliku lähtekoodifaili ja viib kursori reale, kus viga esines. - -Kui sa aga soovid, et ehitamine peatataks kohe vea tekkimisel, märgi dialoogis ära kast Esimese vea ilmnemisel katkestatakse töö. Sel juhul kutsub &tdevelop; programmi gmake välja võtmeta -k. - - - -Käivitatava faili käivitamine - -Kui ehitamine tehtud, saab &tdevelop;is kohe rakenduse käivitada. Vali kas menüükäsk Ehitamine Käivita rakendus, kiirklahv ShiftF9 või klõpsa &tdevelop;i ehitamisribal ikoonile Käivita rakendus. - - - - - - -Rakenduse käivitamine tööriistaribalt - - - -Aga kus see käivitatav fail asub? Kuidas lisada &tdevelop;i väljakutsele veel mõningaid võtmeid? Ja kuidas panna see tööle omaette terminalist, et kontrollida interaktiivset käitumist konsoolis? - -Kõik see on seadistatav &tdevelop;i projekti käivitamisvalikutega. Vali Projekt Projekti seadistused ja seejärel vasakus servas ikoon Käivitamise seadistused. Paremal avaneb dialoog Käivitamise seadistused. - - - - - - -Rakenduse käivitamise koha ja viisi määramine - - - -Selles dialoogis on üsna palju valikuid, mis põhimõtteliselt jagunevad nelja rühma. - - - - -Kataloog -Siin saab &tdevelop;ile teada anda, kust tuleb käivitatav fail välja kutsuda. Valida saab kolme võimaluse seast. - - -Pane tähele, et siin saab määrata ainult juurkataloogi. &tdevelop; otsib käivitatavat faili tavaliselt mõnest alamkataloogist, mille saab määrata valikute järgmises rühmas. - - - -Käivitamine kataloogist, kus käivitatav fail viimati ehitati. See on vaikevalik. Selle võib julgelt kehtima jätta. - - - -Käivitamine ehituskataloogist vastavalt parajasti valitud ehitamisseadistusele. Kataloogi nimi on kindlaks määratud dialoogis Üldised seadistused. - -See on juurkataloog, kust &tdevelop; käivitatavat faili otsib. See muutub automaatselt vastavalt menüüs Projekt Ehitamise seadistused langetatud valikule. - -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 Projekt mõnda muud ehitamisseadistust valides. - - - -Käivitamine kindlast valitud kataloogist. Taas on tegemist vaid juurkataloogiga, mille seest otsitakse käivitatavat faili. - -Seda on mõtet kasutada ⪚ siis, kui soovid käivitada juba paigaldatud rakenduse, mitte aga projektikataloogides asuva versiooni. - - - - - - -Programm -See annab &tdevelop;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 &tdevelop;ile korralduse edastada programmile väljakutsumisel mis tahes võtmeid. - - - -Kui jätta tekstikast Põhirakendus tühjaks, kasutatakse Automake'i halduri aktiivse sihtmärgi 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 &tdevelop; ei kutsu välja vajalikku käivitatavat faili. - - - - - -Keskkonnamuutujad -&tdevelop; loob spetsiaalse keskkonna, milles rakendus tööle panna. Siin saab määrata täiendavad keskkonnamuutujad. - - - - - -Muud -Dialoogi allservas on veel kaks märkekasti. - - - - -Automaatne kompileerimine enne käivitamist on enamasti mõttekas valik. &tdevelop; kontrollib projektis muutusi ja sooritab vajaduse korral konfigureerimise ja ehitamise, kui annad käsu rakendus käivitada. - -Märge tasuks kastist eemaldada juihul, kui soovid käivitada rakenduse viimase muutmise eelse versiooni. - - - -Käivitamine välises terminalis pakub huvi juhul, kui soovid testida mittegraafilise rakenduse sisendi ja väljundi käitumist konsoolis. Vaikimisi ei ole see sisse lülitatud, mistõttu &tdevelop; käivitab rakenduse omaenda aknas, kus puuduvad konsooliterminali sisendi/väljundi võimalused. - - - - - - - - - -Projekti laiendamine — Automake'i haldur - -(- veel kirjutamata -) - - -Kiirülevaade Automake'i tegevusest - -(- veel kirjutamata -) - - - -Ikoonide asetamine eraldi kataloogi - -(- veel kirjutamata -) - - - -Uute klasside lisamine - -(- veel kirjutamata -) - -Ole klassi failinimede valimisel väga hoolikas. Hiljem on neid väga keeruline muuta. - - - -Alamprojekti sisu - -(- veel kirjutamata -) - - -Keskendumine tööle — aktiivne sihtmärk - -(- veel kirjutamata -) - - - - -Mõned sammud projekti restruktureerimiseks - -(- veel kirjutamata -) - - - - - -Silumine - -(- veel kirjutamata -) - - - - -Märkus projekti dokumentatsiooni kohta - -&kde; projekt kasutab oma käsiraamatu genereerimiseks docbook'i. Käsiraamatu saab avada rakenduses menüükäsuga AbiRakenduseNimi käsiraamat, 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. -Kõigil &tdevelop;i &kde; põhistel mallidel on alamkataloog doc, mis sisaldab kataloogis en malli index.docbook, mille põhjal saab asuda käsiraamatut kirjutama. Faili index.docbook tuleks redigeerida &tdevelop;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. -Projekt tuleb paigaldada &tdevelop;is menüükäsuga Ehitamine Paigalda või Paigalda (administraatorina), kui soovid näha käsiraamatut &abikeskus;es. -Docbook'i süntaksi kohta leiab rohkem teavet &kde; dokumentatsiooni veebileheküljelt. - - - -Ja viimaks - kiirklahvid - -(- veel kirjutamata -) - - - -Kuhu edasi? - -(- veel kirjutamata -) - - -Sageli esinevad probleemid - - -Põhitõdede peatükk -KKK-leheküljed -Foorum -Postiloendid - - - - -Projektide kasutamine - -(- veel kirjutamata -) - - -Olemasolevate &tdevelop;i projektide kasutamine - -(- veel kirjutamata -) - - - -Väliste projektide import - -(- veel kirjutamata -) - - - - -
diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/index.cache.bz2 b/tde-i18n-et/docs/kdevelop/kdevelop/index.cache.bz2 deleted file mode 100644 index b13935f1206..00000000000 Binary files a/tde-i18n-et/docs/kdevelop/kdevelop/index.cache.bz2 and /dev/null differ diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/index.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/index.docbook deleted file mode 100644 index 53b558b38e7..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/index.docbook +++ /dev/null @@ -1,694 +0,0 @@ - -KDevelop" -> --> - - - - - Apache"> - API"> - - autoconf"> - automake"> - - ctags"> - CVS"> - - Doxygen"> - doxywizard"> - egrep"> - grep"> - HTML"> - IDE"> - libtool"> - - Python"> - Perl"> - PHP"> - - Qt/embedded"> - ssh"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]> - - - - - - - &tdevelop;i kasutaja käsiraamat - - 2006-06-19 - &kdevrelease; - - - Bernd Gehrmann
bernd@tdevelop.org
-
-
- - Caleb Tennis
caleb@aei-tech.com
-
-
- - Bernd Pol
bernd.pol@online.de
-
-
- - Volker Paul
volker.paul@tiscali.de
-
-
-
- - - 2002 - Bernd Gehrmann - - - 2002 - Caleb Tennis - - - 2004 - Bernd Pol - - - 2005 - Volker Paul - - - MarekLaane
bald@starman.ee
Tõlge eesti keelde
- - &FDLNotice; - - - &tdevelop; on integreeritud arenduskeskkond, mis sobib väga paljudeks programmeerimisega seotud ülesanneteks. - - - - KDE - KDevelop - IDE - arendus - programmeerimine - - -
- - - -&survey-manual; -&getting-started; -&tdevelop-survey; -&setup; -&applicationwizard; -&editing; -&file-browsers; -&class-browsers; -&documentation; -&project-management; -&adv-build-management; -&debugger; -&cvs-chapter; - -&credits; - - - - -&tdevelop-install; -&nutshell; -&unixdev; - -&app-files; -&plugin-tools; -&app-uimodes-examples; -&commands; -&app-misc-info; -&app-changelog; - - - - - - - - - - - - - - - - -Bibliograafia - -(... veel kirjutamata ...) - - - - -<ulink url="info://make/Top" ->GNU Make Manual</ulink -> - -Richard M.Stallman -RolandMcGrath - - - - -<ulink url="info://automake/Top" ->GNU Automake</ulink -> - -DavidMacKenzie -TomTromey - - - - -<ulink url="info://autoconf/Top" ->GNU Autoconf</ulink -> - -DavidMacKenzie -BenElliston - - - - -<ulink url="info://gcc/Top" ->Using the GNU Compiler Collection</ulink -> -Richard M.Stallman - - - -<ulink url="info://libtool/Top" ->GNU Libtool</ulink -> - -GordonMatzigkeit -AlexandreOliva -ThomasTanner -Gary V.Vaughan - - - - -GNU Autoconf, Automake, and Libtool -1st edition -October 2000 - -Gary V.Vaughan -BenElliston -TomTromey -Ian LanceTaylor - -New Riders Publishing -ISBN 1578701902 - - - - -Advanced Programming in the &UNIX; Environment -1st edition -June 1992 -W. RichardStevens -Addison-Wesley Pub Co -ISBN 0201563177 - - - -Thinking in C++, Volume 1: Introduction to Standard C++ -2nd Edition -April 15, 2000 -BruceEckel -Prentice Hall -ISBN 0139798099 - - - -Open Source Development with CVS -2nd Edition -October 12, 2001 - -KarlFogel -MosheBar - -The Coriolis Group -ISBN 158880173X - - - -Programming PHP -1st edition -March 2002 - -RasmusLerdorf -KevinTatroe - -O'Reilly & Associates -ISBN 1565926102 - - - -Programming Python -2nd Edition -March 2001 -MarkLutz -O'Reilly & Associates -ISBN 0596000855 - - - -Gui Programming With Python : Using the Qt Toolkit -Bk&Cd-r edition -January 2002 -BoudewijnRempt -Opendocs Llc -ISBN 0970033044 - - - -Programming Perl -The Camel book -3rd Edition -July 2000 - -LarryWall -TomChristiansen -JonOrwant - -O'Reilly & Associates -ISBN 0596000278 - - - -Learning Perl -The Lama book -3rd Edition -July 15, 2001 - -Randal L.Schwartz -TomPhoenix - -O'Reilly & Associates -ISBN 0596001320 - - - - - - - - - -&documentation.index; - -
diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-install.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-install.docbook deleted file mode 100644 index e2f09f71bfd..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-install.docbook +++ /dev/null @@ -1,1290 +0,0 @@ - - - - - BerndPol - Anne-MarieMahfouf - - - - -&tdevelop;i paigaldamine - - - paigaldamine - -Käesolevas peatükis räägime sammudest, mida on vaja ette võtta &tdevelop;i IDE kompileerimiseks ja paigaldamiseks: - &tdevelop;i hankimine kõneleb peamiselt &tdevelop;i uusima lähtekoodi allalaadimisest SVN-ist. - &tdevelop;i nõuded toob ära programmid ja teegid, mida on paigaldada IDE edukaks kompileerimiseks. - &tdevelop;i kompileerimine ja paigaldamine käib samm-sammult läbi kogu rakenduse kompileerimise ja paigaldamise protsessi. - &tdevelop;i &API; dokumentatsiooni hankimine selgitab, mis on API ja kuidas hankida see väga kasulik töövahend &tdevelop;i lähtekoodifailides liikumiseks. - - - - -&tdevelop;i hankimine - - - &tdevelop;i hankimine - - &tdevelop; - hankimine - -&tdevelop; 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. -&tdevelop;i lähtekoodi võib aga hankida, kompileerida ja paigaldada ka ise. Lähtekoodi leiab projekti koduleheküljelt http://www.tdevelop.org või &kde; FTP-saidilt. - - -&tdevelop;i igapäevaste hetkeversioonide hankimine SVN-ist - - - svn - -Kui soovid käia ühte jalga arenduse hetkeseisuga, võid kasutada SVN-i hoidla hetkeversioone (snapshot). -Mooduli nimi on tdevelop ja selle asukoht svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/tdevelop. - - -Esialgne SVN-i väljavõte - - - väljavõtmine - - &tdevelop; - svn - väljavõtmine - -&tdevelop;i esialgse versiooni hankimiseks tuleb see alla laadida anonüümse SVN-iga. Selleks väljavõtmise toiminguks talita järgmiselt. - -Me eeldame, et sa tahad paigutada &tdevelop;i kataloogi kde3src oma kodukataloogis (~). - - - # Vajaduse korral loo sihtkataloog: - ~> mkdir kde3src - ~> cd kde3src - ~/kde3src> svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/tdevelop - ~/kde3src> cd tdevelop - - -Kui oled &tdevelop;i edukalt hoidlast välja võtnud, võid selle alati värskena hoida uuendamist kasutades, mida tutvustame järgmises osas. - -Ürita serverit mitte liigselt koormata. Palun ära tee väljavõtet iga kord, kui tahad hankida &tdevelop;i uusimat versiooni! Kasuta selle asemel SVN-i uuendamise võimalust. - -Nüüd võid &tdevelop;i kompileerida nii, nagu seda selgitab osa &tdevelop;i kompileerimine ja paigaldamine. - - - - -SVN-i versiooni hoidmine värskena - - - uuendamine - - &tdevelop; - svn - uuendamine - -Kui oled &tdevelop;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 &tdevelop; asub kataloogis kde3src). -Pane tähele käsu up (= update ehk uuendamine) kasutamist käsu co (mis tähendab checkout ehk väljavõte) asemel. - - - ~> cd kde3src - ~/kde3src> cd tdevelop - ~/kde3src> svn up - - -Jälgi uuendamise ajal SVN-i teateid. Sellest sõltuvad ka kompileerimise ajal vajalikud sammud. - -Nüüd võid uue &tdevelop;i versiooni kompileerida nii, nagu seda õpetab tegema peatükk SVN-i kompileerimise iseärasused. - - - - - - - - - -&tdevelop;i nõuded - - - nõuded - - &tdevelop; - nõuded - - GNU - nõuded - -&tdevelop;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. - - -Nõutavad: - - gcc/g++ ≥ 2.95.3 (või ühilduv) - gcc - nõuded - - g++ - nõuded - - Saadaval: gcc.gnu.org - - - &GNU; make (või ühilduv) - make - nõuded - - Saadaval: www.gnu.org/software/make - - - &perl; 5.004 (või uuem) - Perl - nõuded - - Saadaval: www.perl.com - - - autoconf ≥ 2.52 (või uuem) - autoconf - nõuded - - Saadaval: www.gnu.org/software/autoconf - - - automake ≥ 1.6 (või uuem) - automake - nõuded - - Saadaval: www.gnu.org/software/automake - - - flex 2.5.4 (või uuem) - flex - nõuded - - Saadaval: www.gnu.org/software/flex - - - &Qt; ≥ 3.3.0 (või uuem) - Qt - nõuded - - Saadaval: www.trolltech.com/products/qt - - - KDE ≥ 3.4.0 (või uuem) - KDE - nõuded - - Saadaval: www.kde.org - - - - -Lisavõimalused: - Lähtekoodis liikumise tööriist ctags (saadaval: http://ctags.sourceforge.net), mis lubab kõigest paari klõpsuga redaktoris liikuda vajalikele deklaratsioonidele ja definitsioonidele. ctags - - Graafikakeele kompilaator dot (saadaval: http:/www.graphviz.org). Seda läheb vaja allpool mainitud &doxygen;i jaoks, kui soovid esitada graafiliselt klasside seoseid (mis on väga soovitatav). dot - - Dokumentatsioonitööriist &doxygen; (saadaval: http://www.doxygen.org), millega saab oma projektist genereerida kokkuvõtliku ja võimsa API dokumentatsiooni. doxygen - - valgrind (saadaval: http://developer.kde.org/~sewardj/) aitab tuvastada rakenduses esinevaid mälukasutusprobleeme. valgrind - - svn (saadaval: http://subversion.tigris.org/), kui soovid kasutada versioonikontrollisüsteemi SVN. - svn - nõuded - - 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. - - - - - - Teatud määral saab mööda minna nõudest &autoconf; ≥ 2.52 ja &automake; ≥ 1.6 järele. Eemalda lihtsalt oma &tdevelop;i paigalduskataloogist kataloog admin ja anna käsk - autoconf - versiooninõudest möödahiilimine - - automake - versiooninõudest möödahiilimine - - versiooninõue - möödahiilimine autoconf/automake'i korral - - - (sinu-tdevelopi-kataloog)> ln -s $KDEDIR/share/apps/tdelibs/admin admin - - See sunnib &tdevelop;i kasutama &kde; kataloogis admin määratud standardseadistusi. - - - Pane tähele, et sa ei segaks &Qt; versioone. Lingi &tdevelop; alati selle &Qt; versiooniga, millega on kompileeritud sinu &kde; teek. Vastasel juhul võid kohata mitmeid väga kummalisi ilminguid. - - - - - - - - - -&tdevelop;i kompileerimine ja paigaldamine - - - &tdevelop; - kompileerimine - - &tdevelop; - paigaldamine - -Kui kõik nõuded on rahuldatud, võid asuda &tdevelop;i kompileerimise ja paigaldamise kallale. Järgnevalt tutvustamegi selleks vajalikke samme. - - Eelnevad sammud räägib sobiva keskkonna loomisest. - &tdevelop;i kompileerimine käsitleb &tdevelop;i lähtekoodi hankimist SVN-ist, selle ettevalmistamist paigaldamiseks ning esitab sammud, mida on vaja &tdevelop;i kompileerimiseks ja paigaldamiseks. - Mõned märkused configure võtmete kohta vaatleb, kuidas panna tööle &tdevelop;, kui see on paigaldatud kuhugi mujale kui &kde; kataloogi. - - - -Eelnevad sammud - - - eelnevad sammud - &tdevelop;i paigaldamine - - KDEDIR - - QTDIR - - LD_LIBRARY_PATH - - LIBRARY_PATH - - PATH - -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. - -Et mitte käsitsi kirjutada kogu aeg kõiki lauseid, mis loovad vajalikud keskkonnamuutujad, võiks need lisada faili .bashrc või .cshrc. Nii määratakse keskkonnamuutujatele sobiv väärtus alati, kui shelli käivitad. - - -Keskkonna loomine Bashi shellile - -Kui kasutad Bashi shelli, lisa järgmised read: - - - export KDEDIR=(sinu KDE paigalduse asukoht) - export QTDIR=(sinu Qt teegi asukoht) - export LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH - export LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LIBRARY_PATH - export PATH=$QTDIR/bin:$KDEDIR/bin:$PATH - - - - - - -Keskkonna loomine Tcsh shellile - -Kui kasutad Tcsh shelli, lisa järgmised read: - - - setenv KDEDIR (sinu KDE paigalduse asukoht) - setenv QTDIR (sinu Qt teegi asukoht) - setenv LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH - setenv LIBRARY_PATH $QTDIR/lib:$KDEDIR/lib:$LIBRARY_PATH - setenv PATH $QTDIR/bin:$KDEDIR/bin:$PATH - - - - - - - - -&tdevelop;i kompileerimine - - - make - &tdevelop;i paigaldamine - - kompileerimine - &tdevelop; - -Järgnevalt eeldame, et oled &tdevelop;i lähtekoodi paigutanud kataloogi ~/kde3src/tdevelop. - - -SVN-i kompileerimise iseärasused - -Kui kasutad &tdevelop;i hetkeversiooni SVN-ist, sõltuvad esimesed kompileerimissammud sellest, kas oled teinud täieliku väljavõtte või ainult lähtekoodi uuendanud. - - - -Pärast SVN-i väljavõtet - -Pärast esimest väljavõtet tuleb initsialiseerida ehitussüsteem. Seda tuleb õieti teha alati, kui soovid kõike algusest peale alustada. Anna käsk: - -~/kde3src/tdevelop> make -f admin/Makefile.common svn-clean -ja seejärel kõik järgnevad sammud. -Sul on vajalik ligipääs SVN-i hoidlasse puhastamiseks, kui seal tuleb taastada vigaseid või puuduvaid faile. -Käsk svn-clean eemaldab kataloogist kõik failid, mida ei leidu SVN-is! Kontrolli eelnevalt, et oleksid teinud varukoopia mis tahes väärtuslikust infost. - - - - -Pärast SVN-i uuendamist - -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): - -U /mingi_kataloogi_asukoht/Makefile.am - -või kui tegid täieliku väljavõtte, tuleb sul anda käsk: -~/kde3src/tdevelop> make -f Makefile.svn -enne kui asud kõigi järgnevate sammude juurde. - - - - - - -Käsu <command ->make</command -> põhisammud - -Kui ehitussüsteem on põhimõtteliselt paigas, tuleb otsustada, millist &tdevelop;i süsteemi sa soovid kasutada. Seda saab teha järgneva konfigureerimissammu käigus, millega luuakse tegelikud Makefile'id, mida käsk make kasutab. - -Sa võid loobuda võtmest järgnevates configure näidetes, kui paigaldad &tdevelop;i &kde; vaikekataloogi. Täpsemalt räägib sellest osa Mõned märkused configure võtmete kohta. - - - -Silumisega kompileeritud versioon - -Kui soovid hoida silma peal, mida &tdevelop;i rakendus teeb käitusajal, tuleks ehitada silumisega kompileeritud versioon. Selleks anna vastav käsklus käsule configure: - -~/kde3src/tdevelop> ./configure --enable-debug=full --prefix=(sinu-kde3-asukoht) - - - - -Väljalaskeks kompileeritud versioon - -Kui soovid kasutada &tdevelop;i nii nagu ta on (väiksem ja töötab kiiremini), piisab väljalaskeks mõeldud versioonist. Vaikimisi configure seda teebki. - -~/kde3src/tdevelop> ./configure --prefix=(sinu-kde3-asukoht) - - -Kui soovid ehitada omaenda API dokumentatsiooni &tdevelop;ile, tuleb käsule configure anda veel üks võti: - - ~/kde3src/tdevelop> ./configure --(võtmed-nagu-eespool) \ --with-tdelibsdoxy-dir=$KDEDIR/share/doc/HTML/en/tdelibs-apidocs - - - - - - -&tdevelop;i ehitamine ja paigaldamine - -Käsk configure kontrollib süsteemi ja ehitab vastavalt leitule mõned Makefile'id. Käsk make kasutab vaikimisi peamist Makefile'i. Sestap on piisav - -~/kde3src/tdevelop> make -Vajaduse korral võta endale administraatori (root) õigused käsuga -~/kde3src/tdevelop> su -ja anna administraatori parool. Seejärel paigalda rakendus: -~/kde3src/tdevelop> make install -Ja ongi kõik. Kui paigaldasid tdevelop;i &kde; vaikekataloogi, võid IDE kohe käivitada. Vastasel juhul on vajalikud mõned lisasammud, mida tutvustab osa Enda määratud paigalduskataloog. - - - Õigupoolest paigaldatakse tavaliselt kolm &tdevelop;ile tuginevat rakendust: - - &tdevelop;i IDE — koht, kus sa tavaliselt tööd teed. - Iseseisev &tdevelop;i abiline ehk dokumentatsioonisirvija — see koondab kogu &tdevelop;i IDE võimsa dokumentatsioonitööriista omaette rakendusse. See on kasuks, kui soovid lihtsalt uurida dokumentatsiooni, aga ei taha kogu IDE-t käivitada. - &tdevelop;i disainer — see täiustab &Qt; kasutajaliidese disainerit &kde; spetsiifiliste elementidega ning põimub kenasti &tdevelop;i IDE-ga. - - - - - - - - - - - - -Mõned märkused <command ->configure</command -> võtmete kohta - - -Enda määratud paigalduskataloog - - - &tdevelop; - paigaldamine - enda määratud paigalduskataloog - - enda määratud paigalduskataloog - - KDEDIRS - - kbuildsycoca - -Vaikimisi valmistab configure ette IDE paigaldamise &kde; vaikekataloogi. See on vajalik selleks, et &tdevelop; eeldab otseligipääsu teatud tööriistadele ja komponentidele, mis asuvad just seal. Kui soovid kasutada enda määratud paigalduskataloogi, pead selle käsule configure teatavaks tegema võtmega : -~/kde3src/tdevelop> ./configure --prefix=(sinu-kde3-asukoht) -Siin on üks probleem. Nimelt pead nüüd tagama, et &tdevelop; 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). -Ava shell ja anna järgmised käsud enne &tdevelop;i käivitamist. - -Pane tähele mitmust: õige on KDEDIRS, mitte aga KDEDIR - - - ~> export KDEDIRS=/usr/local/kde:/opt/kde3 - ~> kbuildsycoca - (Nüüd käivita &tdevelop;:) - ~> tdevelop - - - - Keskkonnamuutuja KDEDIRS peab vastama sinu süsteemi aktiivsete &kde; kataloogide nimekirjale. Me kasutame - /usr/local/kde:/opt/kde3 - ainult näitena. - Kataloog /usr/local/kde võib näiteks sisaldada ebatäielikku &kde; versiooni, mille oled kompileerinud silumise huvides, ning kataloog /opt/kde3 võib lisaks sisaldada sinu distributsiooni standardset &kde; versiooni, mida kasutatakse igapäevatöös. - - -Tcsh shellis tuleb keskkonnamuutujad määrata käsuga: -~> setenv KDEDIRS /usr/local/kde:/opt/kde3 -Käsk kbuildsycoca (build system control cache ehk ehitussüsteemi kontrollimise puhver) otsib teeke ja puhverdab nende asukoha ning versiooni, et &tdevelop; need üles leiaks. Kuid see võtab tublisti aega — ning see tuleb käivitada iga kord, kui käivitad shelli, et panna &tdevelop; tööle mittestandardsest kataloogist. Seepärast soovitame eeltoodud käsud lisada shelliskripti, et sa ei peaks neid kogu aeg käsitsi sisestama. -(Need read võib lisada ka failile .bashrc või .cshrc, kuid see pole soovitatav, sest kbuildsycoca käivitatakse sel juhul alati, kui avad shelli.) - -Käsk kbuildsycoca ei tööta administraatori õigustes. See tuleb välja kutsuda mitteadministraatorist kasutaja õigustes. (Pealegi ei ole üldse hea mõte tegelda tarkvara arendamisega administraatori õigustes!) - - - - - - - - - -&tdevelop;i API dokumentatsiooni hankimine - - - API - &tdevelop; - - &tdevelop; - API - - kompileerimine - &tdevelop; - API - - configure - &tdevelop;i API - -API tähendab Application Program Interface 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. -Uusima API versiooni leiab KDevelopi koduleheküljelt. Seda uuendatakse automaatselt iga 24 tunni järel, nii et see on alati maksimaalselt värske. -Paraku on see versioon kõige paremini loetav ainult internetis. Kui sul puudub pidev interneti kasutamise võimalus, võid &tdevelop;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 käsule configure &tdevelop;i lähtekoodi kompileerimiseks valmistudes: - - - ~/kde3src/tdevelop> ./configure --(tavalised-võtmed) \ - - --with-tdelibsdoxy-dir=$KDEDIR/share/doc/HTML/en/tdelibs-apidocs - - - -(make asendab globaalse muutuja $KDEDIR siin kirja pandud tegeliku &kde; kataloogi määratlusega.) Seejärel anna käsk make nagu tavaliselt. Pärast &tdevelop;i IDE ehitamist on sul võimalus ehitada ka API. Selleks tuleb anda käsk -~/kde3src/tdevelop> make apidocs - -See ehitab Doxyfile'i sinu &tdevelop;i baaskataloogis, mida omakorda asub töötlema rakendus Doxygen, mis ehitab terve rea .html-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 &tdevelop;i IDE. Vajaduse korral võta endale administraatori (root) õigused käsuga - -~/kde3src/tdevelop> su - -ja anna administraatori parool. Seejärel paigalda API failid: - -~/kde3src/tdevelop> make install-apidox - -Kui see tehtud, annab make 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 &tdevelop;is, eriti kui kavatsed &tdevelop;is neid oma rakenduse loomise ajal uurida. - -Tõenäoliselt näed terve hulga hoiatusi ja/või veateateid, kui Doxygen API dokumentatsiooni ehitab. Neid on kõige mõistlikum ignoreerida, sest need pakuvad peamiselt huvi ainult &tdevelop;i arendajatele. Kui API tekitamine lõpuks edukalt lõpule jõuab, on .html-vormingus API failid kasutamiseks valmis. - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-scripting.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-scripting.docbook deleted file mode 100644 index 38d4e59e142..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-scripting.docbook +++ /dev/null @@ -1,74 +0,0 @@ - - - - - IanGeiser - - - - -Skriptide kasutamine KDevelopis - - -Skriptide käivitamine -&tdevelop;is saadaoleva skripti kasutamiseks vali menüükäsk TööriistadSkriptid. Kui sellist menüükirjet pole, pole paigaldatud skripte, mida KDevelop kasutada saaks. - - - -Skriptide lisamine -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: -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: - -See skript on päris lihtne ning käivitab kõigest käsu ja saadab esimese dokumendi teksti "ls -l" väljundisse - -Üks kasulikumaid tööriistu rakendustele skriptide loomisel on KDCOP. -
- KDCOP: DCOP-liideste sirvimine &tdevelop;is - - - -
- -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. - -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". - -
- &tdevelop;i skriptid failisüsteemis - - - -
- -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. - -
- - -
diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-survey.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-survey.docbook deleted file mode 100644 index bff69a130c1..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/kdevelop-survey.docbook +++ /dev/null @@ -1,778 +0,0 @@ - - - - - BerndPol - - - - -Ülevaade &tdevelop;i omadustest - - - &tdevelop; - ülevaade - - ülevaade - - ülevaade - -&tdevelop; põimib kasutaja huvides endasse terve rea tööriistu, skripte ja malle. Põhimõtteliselt koosneb see järgmistest komponentidest: - mitu kasutajaliidese režiimi, mis võimaldavad valida töötsooni välimuse, - &appwizard;, mis aitab luua uue projekti, - mitu projektihalduse süsteemi, mis aitavad luua ja hallata projekte, - mõned redigeerimistööriistad, mis aitavad programmi tekstifaile töödelda, - mitu failisirvijat, mis annavad erineva ülevaate failisüsteemist, - mitu klassisirvijat, mis aitavad hooldada klasse ja nende suhteid sinu objektorienteeritud programmi projektis, - siluriliides, mis aitab leida ja eemaldada programmi vigu otse &tdevelop;is, - mitu pluginatööriista 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, - valik muid diagnostika-, dokumentatsiooni- ja optimeerimistööriistu. - - - - - Õigupoolest on olemas kolm &tdevelop;i rakendust: - - &tdevelop;i IDE — koht, kus sa tavaliselt tööd teed. - Omaette &tdevelop;i abiline ehk dokumentatsioonisirvija — koondab kogu &tdevelop;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. - &tdevelop;i Disainer — täiustab &Qt; kasutajaliidese disainerit &kde; spetsiifiliste elementidega ja lõimub kenasti &tdevelop;i IDE-ga. - - - - - -Saadaolevad kasutajaliidese režiimid - - - &tdevelop; - kasutajaliidese režiimid - - kasutajaliides - &tdevelop;i režiimid - - UI režiimid - - Alamraami aknad - - Kaartidega aknad - - Tipptaseme aknad - - IDEAl - -&tdevelop; pakub arendajatele nelja kasutajaliidese režiimi (klõpsa režiimi nimel näidete vaatamiseks): - IDEAl - See on uudne kasutajaliides, mis üritab pakkuda nii töötsooni kui ka tööriistade võimalikult tõhusamat kasutamist. - - Kõik tööriistavaated on dokitud kaartidena põhiraami. Need on rühmitatud vasakule, alla ja paremale vastavalt pakutavatele teenustele. - Redaktori- ja sirvijavaated on paigutatud suurde kaarte kasutavasse aknasse keset põhiraami. - - - - - Alamraami aknad - - Kõik tööriistavaated on esialgu dokitud põhiraami. - Redaktor- ja sirvijavaated käituvad tipptaseme akendena põhiraamis. - - - - - Kaartidega aknad - - Kõik tööriistavaated on esialgu dokitud põhiraami. - Redaktori- ja sirvijavaated on seatud kaarte kasutavasse aknasse. - - - - - Tipptaseme aknad - - Kõik redaktori-, sirvija- ja tööriistavaated on otse töölaual paiknevad tipptaseme aknad. - Peavidin sisaldab ainult menüüd, tööriistaribasid ja olekuriba. - - - - - - - -Kasutajaliidese režiimide vahetamine - - - kasutajaliides - režiimide vahetamine - - UI režiimide vahetamine - -Kasutajaliidese režiim vahetamiseks vali menüükäsk Seadistused KDevelopi seadistamine... . Ilmub dialoog KDevelopi seadistamine, kus vali vasakul Kasutajaliides. Nüüd avaneb allnäidatud dialoog. - - - - - - - Kasutajaliidese režiimi valimine - - - -(&tdevelop;i vanemates versioonides on see teistsugune.) - -Vali sektsioonis Kasutajaliidese põhirežiim raadionuppe kasutades meelepärane kasutajaliidese režiim. -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 Kasutajaliidese valimine. - -Kui muudad siin midagi, käivita muudatuste rakendamiseks &tdevelop; uuesti. - - - - -Töötsooni maksimeerimine - - - &tdevelop; - töötsoon - - &tdevelop; - töötsooni maksimeerimine - - kasutajaliides - töötsoon - - kasutajaliides - menüüriba - - kasutajaliides - täisekraanirežiim - - täisekraanirežiim - - menüüriba - peitmine/näitamine - - menüüriba peitmine - - menüüriba näitamine - -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 KDE rakenduses). - - - -Täisekraanirežiim - -Täisekraanirežiimi lülitumiseks või sealt väljumiseks vali menüükäsk Vaade Täisekraanirežiim või kasuta kiirklahvi &Ctrl;&Shift;F . Samuti leiab ikooni Täisekraanirežiim sirvijaribalt. - - - - -Menüüriba peitmine/näitamine - -Menüüriba peitmiseks vali menüükäsk Seadistused Menüüriba näitamine või kasuta kiirklahvi &Ctrl;M . Ikooni Menüüriba näitamine leiab ka vastavatelt tööriistaribadelt (⪚ sirvijariba). Menüüriba näitamiseks tuleb kasutada kiirklahvi &Ctrl;M või tööriistariba ikooni Menüüriba näitamine. - - - - - - - - - - - -Kasutajaliidese elemendid - -(... veel kirjutamata ...) - - -Töötsoon - -(... veel kirjutamata ...) - - - -&tdevelop;i tiitliriba - -(... veel kirjutamata ...) - - - -&tdevelop;i olekuriba - -(... veel kirjutamata ...) - - - -Menüüriba - -(... veel kirjutamata ...) - - - -Tööriistaribad - -(... veel kirjutamata ...) - - - -Tööriistavaated - -(... veel kirjutamata ...) - - - -Väljundtööriistade vaated - -(... veel kirjutamata ...) - - - - - - - -Projektihalduse süsteemid - - - projektihaldus - -Projekt peab globaalselt põhinema teatud projektihalduse süsteemil. &tdevelop; pakub nelja projektihalduse süsteemi, mille seast programmeerija saab oma projekti loomisel valida. - Automake'i projektid kasutavad &GNU; standardseid arendustööriistu. - QMake'i projektid kasutavad Trolltechi QMake'i projektihaldurit. - ANT projektid kasutavad Apache'i ANT projektihaldurit &Java; arendamiseks. - Kohandatud projektid eeldavad, et sa hooldad ise oma Makefail'e'. - - - - -Automake'i projektid - - - projektid - automake - - automake - projektid - -Projektid, mille loomisel on abiks olnud &tdevelop;i &automanag;, võimaldavad arendajatel ära kasuada &GNU; standardseid arendustööriistu. Need pakuvad - parema viisi genereerida Makefile ja - hea ning tuvalise viisi kohanduda kiiresti erinevate süsteemidega autoconf'i loodud configure-skriptide abil. - - - - - -QMake'i projektid - - - projektid - qmake - - qmake - projektid - -Arendajatele, kes naudivad &Qt; qmake'i süsteemi paindlikkust ja lihtsust, pakub &tdevelop; võimaluse hallata qmake'i põhiseid projekte (.pro-failid) &GUI;-d kasutades. -Täpsemalt tutvustab QMake'i projektihaldurit käsiraamat qmake User Guide (ingliskeelne), mis peaks olema kaasas juba distributsiooniga. Seda võib leida ka Trolltechi dokumentatsiooni koduleheküljelt, kus leiad QMake'i dokumentatsiooni vastavalt oma Qt C++ GUI rakenduste arendamise tööriistakomplekti versioonile. - - - -CMake'i projektid - - - projektid - cmake - - cmake - projektid - -CMake'ist saab &kde; 4 uus &kde; ehitamissüsteem ning &tdevelop; pakub juba mõningaid CMake'i põhjal malle C ja C++ keeles. Nende ehitamiseks on vaja ainult seda, et cmake asuks sinu otsinguteel ($PATH). -Uue C või C++ projekti loomiseks &tdevelop;is vali menüükäsk Projekt Uus projekt... C või C++ Cmake'i projektid Jagatud teegi mall või Tere maailm programm. - - - -ANT projektid (&Java; projektid) - - - projektid - ant - - ant - projektid - - projektid - Java - - Java - projektid - - arendus - Java - -&Java; arendajad võivad oma projektide jaoks kasutada Apache'i ANT projektihaldurit. Uue ANT projekti loomiseks &tdevelop;is vali menüükäsk Projekt Uus projekt... Java ANT projekt Rakendus. -Täpsemat infot leiab Apache'i ANT projekti koduleheküljelt. - - - -Kohandatud projektid - - - projektid - kohandatud - - kohandatud projektid - - Makefile - kohandatud projektid - -Kui eelistad oma projekti Makefile'ide eest ise hoolt kanda, võid valida &tdevelop;is kohandatud projektide võimaluse. See on mõttekas ebatavalisel struktureeritud projektide korral või kui sa soovid säilitada täieliku kontrolli make-protsessi üle. -Kui sa aga ei vaja hädasti 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. - - - -Oma rakenduse levitamine - - - levitamine - - rakendus - levitamine - - binaarpaketid - -Sinu rakenduse levitamine ei nõua lõppkasutajalt millegi muu olemasolu kui vaid - sobiv kompilaator, - linkija ja - sobivad arendusteegid, - - -mis vähemalt C++ rakenduste korral peaksid alati olemas olema. Kuid sa võid levitada ka oma rakenduse binaarpakette. Mõlemal juhul ei ole sinu toote lõppkasutajal kindlasti vaja näiteks &tdevelop;i paigaldamist. -Lähtekoodi levitamiseks soovitame kaasata ka &tdevelop;i projektifaili. See muudab teistel arendajatel — kui nad kasutavad &tdevelop;i — väga lihtsalt sinu rakendust edasi arendada. -Projektide korral, kus töötab mitu arendajat, sageli ka erinevates asukohtades, on see nagunii vajalik. Nii saad tagada Makefile'ide ühtsuse, mis vähendab probleemide tekkimise võimalust. -Mitmekeelseks kasutamiseks mõeldud rakenduste korral tuleb tähele panna, et tõlkijad ei tööta tegeliku lähtekoodiga, kui seda pole just vaja millegi parandamiseks või mingi toetuse lisamiseks. - - - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/nutshell.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/nutshell.docbook deleted file mode 100644 index 1b094532ec9..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/nutshell.docbook +++ /dev/null @@ -1,370 +0,0 @@ - -Paari sõnaga — nipid ja nõuanded - - - -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 &tdevelop;i kasutamisel. -Teema kohta täpsemat infot soovides klõpsa sellele viitavale pealkirjale. -Me pakume infot järgmiste teemade kohta: - - Välimus - Projektid - Kompileerimine - &automanag; - Kompileerimis/ehitamisprobleemid - Muud teemad - - - -Välimus - - -Väiksemad tööriistavaated IDEAl aknarežiimis - -Vaikimisi käivitub &tdevelop; töötsooni ümber suuri tekstipõhiseid tööriistavaateid näidates. Sa võid seda välimust ⪚ ruumi kokkuhoiu huvides muuta &tdevelop;i seadistustedialoogis (SeadistusedKDevelopi seadistamine... Kasutajaliides). -Kui kasutad vanemat &tdevelop; 3 versiooni, ei pruugi see seadistustedialoog saadaval olla. Tööriistavaadete käsitsi muutmiseks lisa kirje sektsiooni konfiguratsioonifailis $KDEHOME/share/config/tdeveloprc: - - -: ainult ikoonid -: ainult tekst (vaikeväärtus) - -: ikoonid ja tekst - - - - - -Kummalise värviga märgid ja/või vaatestiil - -Kui täheldad kuskil (&ie; kaartidel, tööriistavaadetel jne.) kummalise värviga märke ning &tdevelop;i aken kasutab ilmselt väära stiili, võib abi olla järgmisest õpetusest: - - -Otsi konfiguratsioonifailis $KDEHOME/share/config/tdeveloprc üles rida, kus seisab Style=Checked ja eemalda see. Seejärel käivita &tdevelop; uuesti. - - -(Selline asi ilmneb mõnikord pärast seda, kui oled mõnes failisirvijas klõpsanud .ui-failile ja &tdevelop; laadis rakenduse KUIViewer, et näidata sulle antud failist loodavat &GUI;-d.) - - - - -Täisekraanirežiim - -Vali menüükäsk VaadeTäisekraanirežiim või kasuta kiirklahvi &Ctrl;&Shift;F. - - - - -Menüüriba peitmine/näitamine - -Menüüriba peitmiseks vali menüükäsk SeadistusedMenüüriba näitamine või kasuta kiirklahvi &Ctrl;M. Menüüriba taasnägemiseks saab kasutada ainult kiirklahvi &Ctrl;M. - - - - - -Projektid - -Uue projekti loomine - -Menüükäsk ProjektUus projekt... käivitab &appwizard;. - - - - -Kohandatud projekti loomine - -Kohandatud projekti (&ie; projekti, mis kasutab omaenda Makefile'e) ei saagi päris otse luua. Vali menüükäsk ProjektImpordi olemasolev projekt. Vali seal sobiv projekti tüüp, mille järele oleks lisatud (Custom Makefiles). - - - - -Projekti seadistuste muutmine - -Kui lood uue projekti, ära unusta ka seda oma vajadustele seadistamast menüükäsuga ProjektProjekti seadistused... - - - - - -Kompileerimine - -Puuduvad üksikasjad kompileerimisteadetes - -Kui märkad kompileerimise ajal, et teadete väljundvaate 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. - - - - - -<link linkend="automake-manager" ->&automanag;</link -> - - -Uute failide loomine projektis - -Vali &automanag;i ülemises osas alamprojekt ning klõpsa alumises osas &HPN;ga rühma nimel, kuhu soovid faile lisada. Vali kontekstimenüüst Loo uus fail... - - - - -Olemasolevate failide lisamine projekti - -Vali &automanag;i ülemises osas alamprojekt ning klõpsa alumises osas &HPN;ga rühma nimel, kuhu soovid faile lisada. Vali kontekstimenüüst Lisa olemasolevaid faile... - - - - -Faili eemaldamine projektist - -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 Eemalda. - - - - - -Kompileerimis/ehitamisprobleemid - -Projekti ei saa enam ehitada pärast lülitumist vaikimisi sihtmärgile/sihtmärgilt - -See on &automake;/&autoconf;'i süsteemi viga. Kui ProjektEhitamise seadistused pakub valikut kolme ehitamiskataloogi vahel: default, optimized ja debug, vali kindlasti kas vaikimisi või silumis/optimeeritud sihtmärgid. - - -Kui oled seadistanud projekti võtmega 'default', ei saa seda enam ehitada silumis- või optimeerimisvõtmega. - - -Kui oled seadistanud projekti silumis- või optimeerimisvõtmega, ei saa seda enam ehitada võtmega 'default'. - - - - - - -Vale autoconf'i versioon &etc; viga - -Mitu veateadet puudutab autoconf'i &etc; liiga vana versiooni, mistõttu configure ei saa korralikult töötada. Käivita käsk autoreconf kataloogis, kus asuvad problemaatilised failid configure.in. See käsk püüab uuendada &GNU; ehitussüsteemi failide infot. Täpsemalt räägib sellest man autoreconf. - - - - - -Muud teemad - -&tdevelop;i konfiguratsioonifailid - -Tavaliselt pole põhjust nende pärast muret tunda, aga kasulik on neist siiski midagi teada, eriti kui seadistusega peaks midagi viltu minema. - - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/plugin-tools.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/plugin-tools.docbook deleted file mode 100644 index ab1d258853c..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/plugin-tools.docbook +++ /dev/null @@ -1,731 +0,0 @@ - -Pluginatööriistad - - - pluginad - -&tdevelop; 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. -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. - -Tehniliselt on pluginate aluseks klass KDevPlugin, mille defineerib lib/interfaces/kdevplugin.h. Järgnev tekst ongi sealt pärit. - -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: -Tuum -Globaalne -Projekt - - - -Tuumpluginad on globaalsed pluginad, mis pakuvad teatud olulisi "tuumfunktsioone", mistõttu kasutaja ei saa neid pluginate seadistustes ise sisse ega välja lülitada. - -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. - -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. - -Nagu märgitud, ei saa tuumpluginaid välja lülitada. Globaalseid pluginaid saab sisse ja välja lülitada dialoogi Seadistused KDevelopi seadistamine... kaardil Pluginad. Projektipluginaid saab sisse ja välja lülitada dialoogi Projekt Projekti seadistused... kaardil Pluginad. Aktiivsetel pluginatel võib olla KDevelopis mitmesugune toime. Sõltuvalt funktsioonist võivad nad lisada menüüsid, menüükirjeid, tööriistaribade nuppe jne. - -Väljalülitatud pluginad ei lisa midagi menüüsse ja neid ei laadita mällu. - - -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. -Pluginad on rühmitatud skoobi alusel (tuum, globaalne, projekt). - -Skoop: tuum - - -Rakenduse nõustaja -Rakenduse nõustaja - -Erinevuste näitaja -Erinevuste näitaja - -FileCreate -FileCreate - -Täisekraan -Täisekraan - -Päeva nõuanne -Päeva nõuanne - -Kasutajaliidese valik -Tagab dialoogi kasutajaliidese režiimi valimiseks. - -VCSManager -Versioonikontrollisüsteemi haldur - - -Skoop: globaalne - - -Lühendite laienemine -Tagab kohandatud lühendite toetuse - need on lühikesed sõnad, mis laiendatakse levinumateks koodistruktuurideks. - -Dokumentatsioon -Dokumentatsiooniplugin võimaldab lehitseda ja otsida nii kohalikus kui võrgudokumentatsioonis paljusid dokumentatsioonisüsteeme kasutades. - -FileList -Näitab kõiki parajasti avatud faile (mugav, kui kaardiriba ei ole piisavalt lai). - -Failivalija -Võimas failide lehitsemise rakendus. - -Shellifiltrid ja lisamine -Võimaldab käsureavahendite abil käsitleda redaktoris olevat teksti. Kättesaadav tööriistade menüüst. - -Programmi grep kasutajaliides -Integreerib KDevelopi programmi "Find|grep", mis lubab mustreid või regulaaravaldisi kasutades kiiresti paljudes failides teksti otsida. - -Põimitud Konsool -See plugin lisab KDevelopile võimaluse põimitult kasutada konsooli käsurea võimaluste kiireks ja hõlpsaks pruukimiseks. - -Menüü "Ava kasutades" lisamine -See plugin lisab KDevelopi erinevatele kontekstimenüüdele täiendavaid faili avamise võimalusi. - -Komponentide näitaja -Graafiline vahend KTraderi-laadsete päringute sooritamiseks registreeritud teenuste kohta - -Regulaaravaldiste testija -Vahend regulaaravaldiste loomiseks ja korrektsuse testimiseks. - -Asendamise komponent -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. - -Skriptikeele plugin -Skriptikeele plugin võimaldab KDevelopis kasutada skriptikeelt KScripti alusel - -Koodijupid -pSee plugin võimaldab salvestada koodijuppe ja neid koodi lisada - -Tekstistruktuur -Näitab HTML- ja TEX-failide struktuuri ning võimaldab neis liikuda - -Tööriistade menüü lisamine -See plugin võimaldab hõlpsasti lisada väliseid rakendusi tööriistade menüüsse ja tööriistaribale. - -Valgrindi kasutajaliides -Valgrind aitab leida programmides mälulekkeid ja muid mäluga seotud asju. http://developer.kde.org/~sewardj/ - - -Skoop: projekt - - -Annotatsiooniplugin -Annotatsiooni kirjeldus - -Lähtekoodi vormindaja -Plugin lähtekoodi vormindamiseks vastavalt konkreetsetele reeglitele. Kasutamisel leiab selle tööriistade menüüst. - -Järjehoidjad -Plugin, mis võimaldab näha ja liikuda aktiivse koodi järjehoidjate vahel ning peab need seansside vahel meeles. - -Klassivaade -See plugin näitab graafiliselt kõiki projekti klasse koos meetodite ja atribuutidega ning võimaldab nende vahel kiiresti liikuda. - -Kopeeri -Lihtne failide üleslaadimise plugin. See kopeerib faili mis tahes KIO toetusega protokolli tarvitades. - -CTagsi kasutajaliides -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/ - -Lõpp-pakendamise toetus -Abi valmisprojekti ehitamisel ja avaldamisel. Hetkel on toetatud ainult RPM-pakettide vorming. - -Doxygeni toetus -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 - -Kiiresti avamine -Võimaldab hõlpsasti leida/avada faile, klasse ja meetodeid suures projektis. Laadimisel kättesaadav faili- ja tööriistade menüüs. - -Turvalisuse kontroll -Koodi turvalisuse kontroll - -Nii palju siis genereeritud pluginate nimekirjast. - - - -Projektihalduse pluginad &tdevelop;is - - - antproject - ANT projekti haldur (&Java; rakendused) - - - autoproject - Automake'i projekti haldur - - - customproject - Kohandatud projekti haldur - - - trollproject - QMake'i projekti haldur - - -
-Mainitud pluginad on praegu (mai 2005) tühjad. Võib-olla tulevikus teostatakse projektihaldus pluginatena. - - - -Keelte toetuse pluginad &tdevelop;is - - -cppsupportC/C++ toetus -fortransupportFortrani toetus -javasupport&Java; toetus -perlsupportPerli toetus -phpsupportPHP toetus -pythonsupportPythoni toetus - -
- - -Järgnevalt vaatleme mõningaid pluginaid veidi üksikasjalikumalt. - - - - -Plugin <command ->abbrev</command -> -abbrev - -See plugin laiendab lühendid levinumateks koodijuppideks. Selle saab aktiveerida klahvikombinatsiooniga Ctrl Tühik. Kui näiteks kirjutad C++ keele korral redaktorisse "ife" ja vajutad CtrlTühik, on tulemuseks koodimall if-else, 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. - - -Koodimallide valikut saab seadistada. Kui plugin on sisse lülitatud, näeb saadaolevaid malle dialoogi SeadistusedKDevelopi seadistamine... kaardil Lühendid. - - - - -Plugin <command ->filter</command -> -filter - -See plugin pakub kaks võimalust. Kui valid menüükäsu TööriistadKäivita käsk, saad sisestada shellikäsu. Käsu väljund lisatakse redaktori puhvrisse, kui klõpsad nuppu Käivita. - - -Sellega on seotud käsk TööriistadFiltreeri valik läbi käsu.... Selleks tuleb redaktoris valida tekst. Kui sisestad nüüd shelli käsu ja klõpsad nupule Käivita, käivitatakse käsk, mis võtab valitud teksti oma sisendiks. Käsu väljund lisatakse seejärel redaktorisse, asendades nii sinu valitud teksti. - -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: <menuchoice><guimenu>Redigeerimine</guimenu><guimenuitem>Kopeeri</guimenuitem></menuchoice> 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: sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/ Ä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 TööriistadFiltreeri valik läbi käsu... ja kutsu välja käsk ~/bin/mef. Otsekohe asendataksegi "Redigeerimine - Kopeeri" tekstiga <menuchoice><guimenu>Redigeerimine</guimenu><guimenuitem>Kopeeri</guimenuitem></menuchoice> - - - - - - - -&doxygen;i plugin -&doxygen; -dokumentatsioonitööriist -API documentatsioon - -See plugin aitab kasutada &doxygen;i API dokumentatsiooni tööriista (). Menüükäsuga Projekt Käivita Doxygen saad luua oma projekti dokumentatsiooni vastavalt konfiguratsioonile, mille määrab sinu projektikataloogis leiduv fail Doxyfile. - - -Lisaks saab &doxygen;i seadistada dialoogis Projekt Projekti seadistused.... See dialoog on üsna sarnane &doxywizard;iga. - - - - -&ctags;i plugin -&ctags; - -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. - - -Plugina saab aktiveerida menüükäsuga Tööriistad CTags... 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 tags. See on tekstifail, mis sisaldab sinu lähtekoodifailide kõiki sümboleid. - -Sümbolite andmebaasis saab otsida kahel moel: kui märkida ära kast Regulaaravaldis, tõlgendatakse sisestatud otsinguteksti regulaaravaldisena (POSIX-i mõttes) ja otsitakse selle sobivust. Näiteks .*Widget otsib kõiki sümboleid, mille lõpus seisab Widget. Kui kast on märkimata, otsitakse täpselt seda, mida otsida lased. - -Otsimisel näidatakse sulle sobivate sümbolite nimekirja, koos reanumbriga, kus nad on defineeritud. Klõpsuga nimekirjas saab kohe vastavasse kohta hüpata. - -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. - -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 tags regulaarselt uuendada, klõpsates nupule Genereeri uuesti. - - - - -Plugin <command ->astyle</command -> -astyle -Artistic Style -treppimine - -Astyle on plugin, mis lubab lähtekoodi vormindada vastavalt kindlatele reeglitele. - - - - - -Plugin <command ->regexptest</command -> -regexptest -silumineregulaaravaldis -regulaaravaldissilumine - -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 Tööriistad Regulaaravaldise silumine... - - -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;. - -Kui sisestad avaldise, saad kohe teada, kas selles on süntaksivigu. Sisestades teksti kasti Teststring, näed, kas see sobib avaldisega. Eriti juhul, kui regulaaravaldis sisaldab gruppe, näiteks ([a-z]), näidatakse nimekirjakastis sobivate alamgruppide sisu. - - - - - - -
- - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/project-advanced.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/project-advanced.docbook deleted file mode 100644 index 188604e3382..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/project-advanced.docbook +++ /dev/null @@ -1,111 +0,0 @@ - - - - - BerndPol - - - - -Projektihaldusest põhjalikumalt - - -Projektide laadimine - - -Hiljuti avatud projektide laadimine - -(... veel kirjutamata ...) - - - - - - - Kuidas avada hiljuti kasutatud projekt - - - - - - - -Olemasoleva projekti laadimine - -(... veel kirjutamata ...) - - - -KDevelopi vanade projektifailide konverteerimine - -&tdevelop; võimaldab avada vanu KDevelop 2.x projektifaile ja konverteerida need &tdevelop;i failideks. Selleks vali Ava projekt... ning ilmuvas dialoogis KDevelop 2 projektifailid kastis Filter. Seejärel vali projektifail, mida soovid avada. Projekt konverteeritakse kohe &tdevelop;i failiks ja salvestatakse kui &tdevelop;i projektifail. - - - - -Olemasoleva projekti import - -Olemasoleva kataloogi importimiseks &tdevelop;i vali käsk Impordi olemasolev kataloog menüüst Projekt. Ilmub kataloogi importimise nõustaja: - -
-Kataloogi importimise dialoog - - - -
- -
- -
- - - - -Projekti kohandamine — projekti seadistused - -(... veel kirjutamata ...) - - - -
diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/project-management.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/project-management.docbook deleted file mode 100644 index 3b4a44c184d..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/project-management.docbook +++ /dev/null @@ -1,1295 +0,0 @@ - - - - - BerndPol - IanWadham - - - - -Ehitamine ja projektihaldus - -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. - -Siin leiab järgmist infot: - - &automanag;i kokkuvõte, mis sisaldab &automanag;i üldist ülevaadet, - Automake'i halduri kasutamine, mis kirjeldab &automanag;i kasutamise põhitõdesid. - - - -&automanag;i kokkuvõte - -Ehitamissüsteemide peatükis andsime kerge ülevaate ehitamissüsteemidest, mis on levinud &UNIX; süsteemides. Nüüd vaatleme kõike seda veidi lähemalt. -Valitseb mõningane segadus, kuidas selliseid asju üldse nimetada. &GNU; kasutab väljendit ehitamissüsteemid (inglise keeles 'build systems'), kui kõne all on Automake, Autoconf ja Libtool. QMake nimetab ennast tööriistaks Makefilde'ide loomiseks erinevatele kompilaatoritele ja platvormidele. &kde; pruugib tihti mõistet projektihalduse süsteemid. Me kasutame seda mõistet laiemas tähenduses kirjeldamaks &tdevelop;i sisseehitatud keskkondi, mida kasutatakse sinu projektide korraldamiseks ja ehitamiseks. Käesolevas osas on aga vaatluse all ennekõike automatiseeritud ehitussüsteemid. - - -Automatiseeritud ehitussüsteemi vajadus - -Kui sul on lihtne C-keeles kirjutatud Hello World programm, võid selle kompileerida ja linkida &gcc; käsuga -o hello hello.c ning käivitada käsuga ./hello, nii et Makefile pole üldse vajalik. -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 Makefile, mille saab hõlpsasti ka käsitsi kirja panna (täpsemat infot annab käsk info make). -Raskused algavad siis, kui: - - sinu lähtekood, dokumentatsioon, graafika, helid, tõlked, andmefailid &etc; asuvad mitmes erinevas kataloogis, - sul on kataloogide ja alamkataloogide hierarhia, - sa kasutad teeke, mis ei kuulu traditsiooniliselt &UNIX; koosseisu, näiteks &Qt; objektiteek või &kde; teegid, - sa kasutad eelprotsessorit teatud osa lähtekoodi genereerimiseks, näiteks Qt MOC-i eelkompilaatorit, - sa kavatsed levitada oma rakendust üle kogu maailma, ka inimestele, kel ei pruugi olla sama &UNIX;/&Linux; süsteem, tarkvara ja riistvara nagu sul, - sa eeldad automatiseeritud paigaldamis- ja eemaldamistööriista, - sinu siht on muuta oma rakendus &kde; töökeskkonna osaks. - - -Kui sinu ees seisab mõni või ka kõik mainitud probleemidest, läheb sul arvatavasti vaja ehitussüsteemi. Toodud näiteks kasutasime &gcc;-d programmi Hello World kompileerimiseks ja ehitamiseks, kuid mitte kõik C kompilaatorid ei kanna nime &gcc;. 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. -Ehitussüsteem selgitab need erinevused sinu eest ise välja: - - see kontrollib, et teegid, mida vajad, oleksid saadaval kõigis sihtmasinates, - uurib automaatselt läbi kõiki sinu rakenduse kataloogid, et leida failid, mida on vaja eeltöödelda, kompileerida ja paigaldada, - paigaldab sinu rakenduse komponendid korrektsetesse sihtkataloogidesse, tagades muu hulgas, et - vajaduse korral luuakse sihtmasinas puuduvad kataloogid. - - -Lühidalt öeldes pakub ehitussüsteem kindlad ja turvalised meetodid, et sinu rakendust oleks võimalik kompileerida ja paigaldada mis tahes masinas. Nagu juba projektihalduse süsteemide tutvustuses mainitud, pakub &tdevelop; kolme automatiseeritud ehitussüsteemi ning võimalust luua ise enda Makefile (projekti nimele klõpsates näed rohkem infot): - - Automake'i projektid, mis kasutavad &GNU; standardseid arendustööriistu. - QMake'i projektid, mis kasutavad Trolltechi QMake'i projektihaldurit. - ANT projektid, mis kasutavad Apache'i ANT projektihaldurit &Java; arenduseks. - Kohandatud projektid, mille korral pead ise Makefile'ide eest hoolt kandma. - - - -Üks neist neljast võimalusest tuleb valida projekti loomise ajal ja et valikut on hiljem raske muuta, tasuks neid kaaluda juba enne projekti loomaasumist. - - - - - -Autoconf/Automake/Libtool'i õppevahendid -&GNU; ehitussüsteemi (Autoconf, Automake ja Libtool) kohta, mida &automanag; kasutab, on mitu õppematerjali. - - Lühike autoconfi õppematerjal Christopher W. Curtise sulest on saadaval &tdevelop;i koduleheküljel. See põhiteemaks on peamised sammud Makefile'i muutmisel. - Põhjalikuma õppematerjali leiab suures õppematerjalide kogumikusDeveloping software with GNU. - Mõistagi on ka kuulus Goat Book pealkirjaga Autoconf, Automake, and Libtool. See on väga hästi kirjutatud kokkuvõtlik sissejuhatus &GNU; 'auto'-tööriistade kasutamisel. - - - - - -Mida &automanag; teeb? - -&appwizard; loob mõned esialgsed failid Makefile.am, kui lood sellist tüüpi uue projekti, mis kasutab &GNU; ehitussüsteemi, näiteks C++ KDE Rakenduse raamistik. Arendustegevuse käigus loob &automanag; kõik muud failid Makefile.am projektidele, mis kasutavad &GNU; ehitussüsteemi, ja haldab neid kõiki, olgu nende loojaks siis &appwizard; või &automanag;. -Üks Makefile.am 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 Makefile.am ning failid, mida on vaja kompileerida, ehitada ja paigaldada. - -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. - -&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: - -./configure -make -make install # Tavaliselt administraatori ("root") õigustes. - - -ja eemaldada käsuga make uninstall (tavaliselt administraatori (root) õigustes). - -Kuidas see käib? configure on õieti skript, mis - selgitab välja selle süsteemi iseärasused, kus ta tööle pannakse (nt. kasutatava kompilaatori ja teegid ning nende asukoha), ja seejärel - loob rekursiivsed Makefile'id, täites asendused vastavates Makefile.in failides. - - -Makefile.in on sisendfailid (inglise keeles on sisend 'input') — mallid, mis annavad loodavatele Makefile'idele teatud infot süsteemi kohta. Neid genereerib tööriist Automake failidest Makefile.am. -Protsessi Makefile.am'ist (.am tähendabki Automake'i mallifaili) Makefile'ini korraldab automaatselt &tdevelop;i &promanag;, kasutades selleks tööriista autoconf, M4 makrosid ja muid salapäraseid asju, mida me siinkohal pikemalt ei puuduta. -Käsk make võtab töölehakkamisel niisiis kasutusele aktiivses keskkonnas saadaolevad komponendid (kompilaator, teegid jne.). Samuti paigutab make install sinu rakenduse komponendid (käivitatavad failid, dokumentatsioon, andmefailid jne.) antud keskkonnale sobivatesse asukohtadesse. - -Kui levitad oma rakendust tarball'ina (üks tihendatud fail, mille &tdevelop; sinu eest loob), sisaldab see faile Makefile.in ja skriptifaili configure, nii et selle hankija võib sinu rakenduse kompileerida, ehitada ja paigaldada, ilma et tema masinas oleks olmeas Automake, Autoconf või &tdevelop;. Kaasatud on ka failid Makefile.am, kui hankija peaks soovima mingil põhjusel midagi lähtekoodis muuta. -Reeglid on tublisti teistsugused, kui levitad rakendust veebipõhise lähtekoodihoidla vahendusel (näiteks &kde; &cvs;). - - - - -Automake'i halduri tegevuse kokkuvõte - - - Tekitab failid Makefile.am alamkataloogides ehk alamprojektides. - Uuendab projekti struktuuri muutumisel faile Makefile.am. - Uuendab failide lisamisel projekti või nende eemaldamisel faile Makefile.am. - Tuvastab definitsioonid, kuidas erinevaid faile ehitada või paigaldada ning muudab vastavalt faile Makefile.am. - Tuvastab ehitamisel või paigaldamisel kasutatavad parameetrid (⪚ teekide nimed) ning tagab, et neid kasutatakse vajalikes kompileerimis- ja ehitamisetappides. - - - - - -Automake'i failide sisu - -Makefile.am sisaldab ridu muutujate nimedega, millele järgneb võrdusmärk ja failide või parameetrite väärtuste nimekiri. Muutujad on kaheosalised nimetused, näiteks bin_PROGRAMS, minurakendus_SOURCES või kdelnk_DATA. Teist osa nimetatakse põhiosaks ning see tähistab midagi, mida ehitada või paigaldada. Esimene osa on prefiks, mis tähistab: - - kataloogi, kus paigaldus sooritada (⪚ bin), - täpsustit põhiosale (⪚ minurakendus SOURCES korral annab märku, et lähtekoodifailid, mis on toodud muutuja minurakendus_SOURCES järel, on vajalikud minurakendus'e ehitamiseks), - spetsiaalne prefiks noinst (lühend sõnadest no installation ehk 'paigaldamine puudub') loetleb tavaliselt programmi päisefaile (.h), - samuti spetsiaalne prefiks EXTRA loetleb konfiguratsioonist sõltuvaid asju. - - -Täpsemat infot tööriista Automake ja failide Makefile.am kohta annab info Automake. -Põhimõtteliselt loob ja uuendab &automanag; muutujate nimesid ja failide või parameetrite nimekirju. Vaatame näiteks järgmist faili Makefile.am, mis käib tüüpilise rakenduse minurakendus kohta (kommentaarid on eestikeelsed). - -## 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_TDEPRINT) - -# 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 - - -Nagu näed, seisab sageli võrduse paremal poolel $(xxx). Need on keskkonnamuutujad, mis on defineeritud tegelikus &kde; keskkonnas ja asendatakse tegelike väärtustega, kui ./configure genereerib sihtmasinas lõpliku Makefile'i. - -Mõttekas oleks mõni aeg pärast seda, kui oled alustanud tegevust &tdevelop;is, käivitada käsk ./configure --help, mis näitab paljusid asju, mida saad muuta ehitamise ja paigaldamise ajal (näiteks testkeskkond). Eriti just käsk -./configure --prefix=/koht/mida/sa/vaid/soovid - suunab terve paigalduse sinu valitud kataloogistruktuuri, andes seesmisele muutujale $(prefix) väärtuse /koht/mida/sa/vaid/soovid. - - - - - - - - -Automake'i halduri kasutamine - -Käesolevas osas leiad &automanag;i elementide üldise kirjelduse ja nende kasutamise juhiseid, sealhulgas: - &automanag;i aken kirjeldab &automanag;i peaakna ülesehitust. - Üldvaate aken kirjeldab ülemise alamakna elemente. - Detailivaate aken kirjeldab alumise alamakna elemente. - &automanag;is liikumine kirjeldab mõningaid põhitoiminguid, mida saad &automanag;is ette võtta. - &automanag;i kontekstimenüüd kirjeldab aknaid, mis avanevad &automanag;is toiminguid valides. - - - - -&automanag;i aken - - - - - - - - - - &automanag; töötab kaheks jagatud aknas. Ülemist osa nimetatakse üldvaateks, alumist detailivaateks. 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. - Mõlema vaate ülaosas asub tööriistariba 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). - IDEAl aknarežiimis on &automanag;i tiitliribal veel kaks nuppu – kolmnurkne nool paremale ja punktikujuline nupp. Noolenupuga saab akna sulgeda. Punktinupuga aga saab akna avatuna hoida isegi siis, kui valitakse mõni muu &tdevelop;i aken (vastasel juhul suletakse &automanag;i aken automaatselt, kui fookusesse satub mõni muu aken). - - - - - - - -Üldvaate aken - -Üldvaate aken sisaldab puukujuliselt kõiki sinu projekti katalooge, mis sisaldavad programmifaile, dokumentatsiooni või andmefaile. Igas sellises kataloogis on oma Makefile.am ning &automanag; peab seda alamprojektiks. &kde;-põhises projektis on kolm tüüpilist alamprojekti: - - - src – rakenduse lähtekoodifailid, - doc – rakenduse käsiraamat, - po – ekstraktib sinu lähtekoodifailidest stringid, mida saab tõlkida muudesse inimkeeltesse (⪚ akende tiitlid, menüüde nimed, nuputekstid, dialoogide tekstid ja mitmesugused teated). - - -Pane tähele, et alamprojektil doc on alati alamprojekt en, mida näed, kui klõpsad märgile + sõna doc 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 de (saksa keel) või et (eesti keel). Alamprojekti po stringe saab samuti tõlkida ning salvestada teistesse failidesse kataloogis po, mis tagab, et sinu rakendus on arusaadav ka neile inimestele, kes ei valda inglise keelt. - -Alamprojektidel doc ja po on erinev eesmärk. doc sisaldab dokumentatsiooni, näiteks rakenduse käsiraamatut, po aga kasutajaliidese tõlgitavaid stringe, mis on integreeritud rakenduse lähtekoodi. - -Üldvaate aken on — muu hulgas — ka liikumisvahend. Kui valid üldvaate aknas alamprojekti, näidatakse selle üksikasju detailivaate aknas. - - - - -Detailivaate aken - -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. - - -Sihtmärgid - -Detailivaate nimekirjapuul on kaks tasandit. Ülemine tasand koosneb niinimetatud &automanag;i sihtmärkidest, teine tasand aga sisaldab iga sihtmärgi failide nimekirja. - -Sihtmärgi mõiste &automanag;is erineb mõnevõrra sihtmärgi mõistest sellisel kujul, nagu seda Makefile enamasti mõistab. Lühidalt: - - Definitsioon, kuidas teatud failikogum kompileerida, ehitada või paigaldada, tähendab sihtmärki &automanag;is, kuid Automake tunneb seda muutuja nime all. - Sihtmärk make'is on midagi hoopis muud: käsu make parameeter (⪚ make install või make clean). - Siiski tähistavad mõned Makefile.am muutujad alamsihtmärki make'is. - - - - - - -&automanag;is liikumine - -Nii üld- kui detailivaates saab klõpsuga sümbolile + või - alamprojekti või sihtmärgi nime ees puuvaate avada või sulgeda. Üldvaates alamprojekti korral näitab või peidab see järgmise taseme alamprojektid (kui neid on). Detailivaates sihtmärgi korral näitab või peidab see antud sihtmärgi failide nimekirja. - - - -Faili avamine redigeerimiseks - -Klõps &HVN;ga detailivaates faili nimel avab vastava faili &tdevelop;i redaktoriaknas. - - - - -&automanag;i tööriistariba nuppude aktiveerimine - -Kui klõpsad &HVN;ga üldvaates alamprojekti või detailivaates sihtmärgi nimel, tõstetakse see nimi esile ning vaate ülaosas muutuvad aktiivseks mõned tööriistariba nupud. - - - Soovitatav on kasutada klõpsamist hiire parema nupuga ja kontekstimenüüsid, mitte aga tööriistariba nuppe, sest esimeste korral on märksa lihtsam täpselt aru saada, mis mida teeb. - Alamprojektide ja sihtmärkidega ettevõetavatel toimingutel on väga suur mõju sinu rakenduse struktuurile, kompileerimisele, ehitamisele ja paigaldamisele. - - - - - -Toimingute valimine ja kontekstimenüüd - -Kui klõpsad &HPN;ga 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. - - - - - - - -&automanag;i kontekstimenüüd - -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. - - - -Faili kontekstimenüü - -Klõpsates &HPN;ga faili nimel detailivaates, ilmub kontekstimenüü, kus saab valida mitu failiga sooritatavat toimingut. Meie näites on valitud alamprojekti minurakendus/src sihtmärgi minurakendus'e ikooniandmed ikooifail hi-16app-minurakendus.png. - - - - - - - - - - Faili kontekstimenüü põhikirje on Eemalda, mis tähendab faili eemaldamist sihtmärgist (&ie; seda enam selle sihtmärgi korral ei kompileerita, ehitata ega paigaldata). - Alammenüü CVS võimaldab failiga ette võtta mitmesuguseid CVS-i toiminguid. - Kirje Ava kasutades võimaldab faili avada mitmesugustes redaktorites või rakendustes (⪚ meie näite ikoonifaili saab avada rakenduses KIcon). - Alammenüü Perforce võimaldab samasuguseid toiminguid nagu CVS, ainult et kommerts-versioonikonrollisüsteemiga Perforce. - - - - - - - -Sihtmärgi kontekstimenüü - -Klõpsates hiire parema nupuga sihtmärgile detailivaates, ilmub kontekstimenüü, kus saab sihtmärgiga mitmeid toiminguid ette võtta. Meie näites on valitud alamprojekti minurakendus/src sihtmärk minurakendus (Rakendus bin-s). - - - - - - - - - - Kirje Seadistused 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. - Loo uus fail avab dialoogi, kus saab määrata loodava faili nime ja tüübi (rippmenüüst). - Lisa olemasolevaid faile avab dialoogi, kus saab sihtmärgile lisada juba olemasoleva faili. - Eemalda lubab eemaldada projekti struktuurist nii sihtmärgi kui ka selle failid. - Muuda sihtmärk aktiivseks on kasutatav ainult lähtekoodifaile sisaldava sihtmärgi korral. Uued failid lisatakse alati aktiivsesse sihtmärki. - Ehita sihtmärk kutsub välja vajalikud kompileerimis- ja ehitamistoimingud, millega ehitada ainult antud sihtmärgi kood. - - - - - - - -Alamprojekti kontekstimenüü - -Klõpsates &HPN;ga alamprojektile ü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. - - - - - - - - - - - Kirje Seadistused võimaldab määrata, kuidas alamprojekt kompileeritakse, ehitatakse ja paigaldatakse. Ilmuvas dialoogis on kaardid Kompilaator, Kaasatud, Prefiksid ja Ehitamise järjekord. - Lisa alamprojekt lisab uue kataloogi ja faili Makefile.am malli. - Lisa sihtmärk avab dialoogi, kus saab määrata, kuidas sinu alamprojektis teatud failidekogum kompileeritakse, ehitatakse ja paigaldatakse. - Lisa teenus (... veel kirjutamata ...) - Lisa rakendus (... veel kirjutamata ...) - Lisa olemasolevaid alamprojekte (... veel kirjutamata ...) - Eemalda alamprojekt võimaldab korrektselt eemaldada alamprojekti. Sel juhul muudetakse vastavalt ka faile Makefile.am. Samuti saad võimaluse kustutada vastavas alamkataloogis kõik failid (või lingid). Mõistagi tuleb seda käsku kasutada äärmise ettevaatusega. - Ehita kutsub välja vajalikud kompileerimis- ja ehitamistoimingud, millega ehitada ainult antud alamprojekti kood. - Regenereeri (... veel kirjutamata ...) - Puhasta (... veel kirjutamata ...) - Paigalda (... veel kirjutamata ...) - Paigalda (administraatorina) (... veel kirjutamata ...) - - - - - - - - - - - - - -Automake'i projektid -autoproject -&automake; -&autoconf; -&libtool; - -(... veel kirjutamata ...) - - - -Autoconf -configure skript -config.status skript -Makefile.in -config.h.in - -Makefile.in -> Makefile - -prefix = @prefix@ -INSTALL = @INSTALL@ -build_triplet = @build@ -CXX = @CXX@ - - -prefix = /home/bernd/kde3 -INSTALL = /usr/bin/ginstall -c -p -build_triplet = i686-pc-linux-gnu -CXX = g++ - - -config.h.in -> config.h - -/* Define if you have libz */ -#undef HAVE_LIBZ -/* The size of a `int', as computed by sizeof. */ -#undef SIZEOF_INT - - -/* Define if you have libz */ -#define HAVE_LIBZ 1 -/* The size of a `int', as computed by sizeof. */ -#define SIZEOF_INT 4 - - - - - - -Automake - -(... veel kirjutamata ...) - - - - - -&tdevelop;i &automanag; - -
-Automake'i halduri pilt - - - -
- -
- - - -Teekide ehitamine ja paigaldamine - - - --rpath -PIC -static -plugins: no-undefined - - - - - -
- - - - -Kohandatud Makefile'id ja ehitamisskriptid -Makefile -build.xml - -(... veel kirjutamata ...) - - - - - - -Kompilaatori võtmed - -(... veel kirjutamata ...) - - - - - - -Make'i võtmed - -(... veel kirjutamata ...) - - - -
diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/setup.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/setup.docbook deleted file mode 100644 index a2ab04b47f8..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/setup.docbook +++ /dev/null @@ -1,3011 +0,0 @@ - - - - - BerndPol - - - - -&tdevelop;i seadistamine - -&tdevelop; on väga võimas ja paindlik IDE, mida saab igati oma vajadustele kohandada. Seadistamiseks vali menüükäsk Seadistused&tdevelop;i seadistamine... See avab seadistustedialoogi, kus vasakul asuvad erinevate seadistamiskaartide ikoonid ning paremal vastavalt vasakul valitule erinevad seadistamisvõimalused. - - - - - - - -Seadistuskirje valimine - - Seadistuskirje valimine - - - -Me vaatleme ülevaatlikkuse huvides seadistamisvõimalusi teemade kaupa: üldised seadistused, dokumentatsiooni seadistused ja muud seadistused. -Kui soovid kohe lähemalt tundma õppida mõnda seadistamisvõimalust, kasuta siintoodud linke. - - - Üldine - Kasutajaliides - Failimallid -Redaktor - Lühendid - Skriptid - Tööriistade menüü - Välised tööriistad - Dokumentatsioon - Koodijupid - Failinimekiri - Faili valimine - C++ klassi generaator - Vormindus - C++ parsimine - - - -Üldised seadistused - -Üldised seadistused puudutavadki &tdevelop; kõige üldisemaid asju: - - - Üldine seadistus - - - Kasutajaliidese valimine - - - -Lähtekoodi redigeerimise ülesanded - - Redaktori valimine - - - Lähtekoodi vormindamise stiili valimine - - - Koodijuppide tööriista seadistamine - - - - - Failivalija seadistamine - - - - -Üldine seadistus - -Seadistustedialoogi kaardil Üldine saab määrata mõningaid &tdevelop;i käitumsie põhiasju, mida igapäevatöös tavaliselt ei muudeta. Nende hulka kuuluvad: - - - -Projekti üldised valikud, näiteks - - - vaikimisi kataloogi määramine, mida &tdevelop; kasutab uute projektide loomisel. - määramine, kas &tdevelop; peab käivitamisel automaatselt avama viimati kasutatud projekti. - - - - - -Fondi valimine kõige enam kasutust leidvatele väljundvaate akendele, nimelt: - - - - -teadete väljundvaade, mida &tdevelop; kasutab ⪚ kompileerimise edenemisest teada andes, ja - - -rakenduse väljundvaade, mis näitab töötava rakenduse vigu ja olekuinfot. - - - - - - - -Mõningad teadete väljundvaate aknas näidatavate ridadega seotud üldised valikud, nimelt: - - - -kui pikk võib rida olla, enne kui see murtakse, ja - - -kas näidata kataloogi sisenemise ja sellest väljumise teateid, mida edastab make. - - - -Teadete detailsus kompileerimise ajal, mida näidatakse teadete väljundvaate aknas. - - - - - - - - - - Üldiste seadistuste dialoog - - - - - -Käivitamisel laaditakse viimane projekt - -Märgi kast, kui soovid jätkata tööd viimase projekti kallal, millega nägid vaeva enne rakenduse sulgemist. See sunnib &tdevelop;i käivitamisel selle projekti automaatselt laadima. Tavaliselt avatakse see olekus, milles sa selle maha jätsid, nii et saad kohe asuda edasi tegutsema. - - - - - -Projektide vaikimisi kataloog: - -Vaikimisi kasutab &tdevelop; kõigi uute projektide jaoks ühist emakataloogi. Kirjuta siia selle kataloogi absoluutne asukoht või vali see kataloogipuust. &tdevelop; lisab kõik uued projektid selle kataloogi alamkataloogidena. -Sa võid mõistagi kataloogi muuta, kui asud uut projekti &appwizard; abil looma. - - - - -Akna font: - -Rakenduse väljundvaate aknas näidatakse nende rakenduste vigu ja olekuinfot, mille käivitad &tdevelop;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. -Teadete väljundvaate aknale sobiva fondi valimiseks klõpsa nupule Akna font, mis näitab parajasti valitud fonti (siinsel pildil Luxi Sans). Ilmub &kde; standardne fondi valimisse dialoog, kus saadki meelepärase fondi valida. -Esmakäivitusel kasutab &tdevelop; seda standardfonti, mis on määratud kogu &kde;le. Kui muudad seda hiljem ( SeadistusedVälimus Fondid KDE juhtimiskeskuses), ei mõjuta see enam sinu valikut &tdevelop;is. Kui soovid nüüd ka siin kasutada kogu töölauale määratud uut fonti, tuleb teadete väljundvaate akna font uuesti määrata. - - - - -Kompilaatori väljund - -&tdevelop; eeltöötleb teateid, mida teadete väljundvaate aken ehitamise ajal saab, et filtreerida välja ülearune info. Sul on võimalik siin määrata, kui üksikasjalikult &tdevelop; teateid näitab. - - -Väga lühike -Näidatakse ainult hoiatusi, vigu ja kompileeritud failide nimesid. - - -Lühike -Näitamata jäetakse kõik kompilaatori lipud, väljund vormindatakse loetavamaks. - - -Täielik -Kõiki väljundteateid näidatakse muutmata kujul. - - - -Kompilaatori teadete detailsust saab muuta ka teisel viisil: klõpsa hiire parema nupuga teadete väljundvaate aknas ja vali tase ilmuvast kontekstimenüüst. - - - - -Ridade murdmine - -Vaikimisi murrab &tdevelop; teadete väljundvaate 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. -Ridade murdmist saab veel ühel moel sisse ja välja lülitada: klõpsa &HPN;ga teadete väljundvaate aknas ning märgi ära menüükirje Ridade murdmine või eemalda selle eest märge. - - - - -Kataloogides liikumise teated - -Tööriist make näitab enamasti kataloogi vahetades teateid Entering directory ja Leaving directory. Et see tähendab sageli ebavajalikke lisaridu teadete väljundvaate aknas, &tdevelop; neid vaikimisi ei näita. Kui aga tahad täpselt teada, kus make parajasti tegutseb, lülita see sisse. -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. - - - - -UI Disaineri lõimimine - -Siin saab valida, kas lasta .ui-faile näidata &tdevelop;is. &tdevelop; pakub omaenda UI disainerit KDevDesigner, mida võib rakendusse põimida või käivitada omaette rakendusega. .ui-failide redigeerimiseks võib kasutada ka Qt Disainerit. - - &tdevelop;i põimitud disaineri kasutamine Märkimisel kasutatakse &tdevelop;i enda disainerit põimituna &tdevelop;pi. - &tdevelop;i disaineri käivitamine omaette rakendusena Rakendus KDevDesigner käivitatakse omaette aknas. - - - - - - KDevDesigner omaette aknas - - - - Qt Disaineri kasutamine &tdevelop;is .ui-failile klõpsates käivitatakse omaette rakendusena Qt Disainer. - - - - - -Terminaliemulaator - -Siin saab valida, milline terminal lõimida KDevelopiga. - - &kde; seadistuse kasutamine Sel juhul kasutatakse &kde; seadistust, nagu see on määratud &juhtimiskeskus;es kaardil &kde; komponendid Komponentide valija, mis määrab ära kõigis &kde; rakendustes, kus terminali vaja läheb, vaikimisi kasutatava terminaliemulaatori. - Muu Siin saab valida vaikimisi antust erineva terminali. - - - - - - - - - - -Kasutajaliidese valimine - - - kasutajaliides - režiimide vahetamine - - UI režiimide vahetamine - -Nagu juba peatükis Saadaolevad kasutajaliidese režiimid mainitud, pakub &tdevelop; viit töötsooni kujundamise versiooni, nimelt: - - - Lihtsustatud IDEAl aknarežiim. - See on IDEA kasutajaliidese lihtsustatud versioon. See on lihtne ja selge. See ei kasuta dokitud tööriistavaateid. - - IDEAl aknarežiim - See on IDEA kasutajaliidese kloon, sarnaneb kaartidega aknarežiimile ning on ka vaikimisi kasutusel. - - Alamraami-aknarežiim - 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. - - Kaartidega aknarežiim - 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. - - Tipptaseme aknarežiim - 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. - - -Kasutajaliidese režiimi vahetamiseks vali menüükäsk Seadistused &tdevelop;i seadistamine... Avaneb dialoog &tdevelop;i seadistamine, kus tuleb vasakus servas valida Kasutajaliides. See avab seadistustedialoogi paremas pooles järgmise dialoogi. - - - - - - -Kasutajaliidese režiimi valimine - Kasutajaliidese režiimi valimine - - - -Vali raadionupuga soovitud kasutajaliidese režiim ja klõpsa OK. - -Vahetuse tegelikuks jõustamiseks tuleb ka &tdevelop;i uuesti käivitada. - -Kui valid Lihtsustatud IDEAl aknarežiimi, IDEAl aknarežiimi või kaartidega aknarežiimi, ilmub veel kaks seadistamissektsiooni: Kaartide kasutamine ja Sulgemine hiirekursori pealeviimisel. Need võimaldavad määrata, millisel juhul näidatakse kaarte dokumendiakendes ja kas dokumenti saab sulgeda kaardi ikoonile klõpsates. - -Lihtsustatud IDEAl aknarežiimi ja IDEAl aknarežiimi korral on dialoogis veel üks sektsioon: Tööriistavaate kaartide paigutus. Siin saab valida sisuliselt seda, kui suured on tööriistavaate kaardid, mida selles režiimis töötsooni ümber näidatakse. - - - -Dokumentide kaardiriba paigutuse seadistamine - -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 &tdevelop; töötsoonis oleks dokumendiakendel rohkem ruumi, võid asju muuta sektsioonis Kaartide kasutamine. - - - - Alati - See on vaikeväärtus — &tdevelop; töötsooni kõigis dokumendiakendes näidatakse ülaservas ikoonist ja dokumendi nimest koosnevaid kaarte. - - - Enam kui ühe korral - Sel juhul ei näidata kaarti, kui avatud on ainult üks dokument. Kui avatud on aga rohkem dokumente, näitab &tdevelop; kaardiriba täpselt nii, nagu oleks valitud valik Alati. Sellel valikul on mõtet siis, kui töötad enamasti ainult ühe dokumendiga, sest siis saad püstsuunas veidi rohkem ruumi. - - - Mitte kunagi - 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 &tdevelop;i menüüd Aken. - - - - - - -Dokumendi sulgemine klõpsuga kaardile - -Kui oled pannud &tdevelop; 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 Sulgemine hiirekursori pealeviimisel. - - - - Ei - See on tavaline käitumine. Kaardid ei saa mingeid lisaomadusi, neid saab kasutada ainult dokumendi valimiseks &HVN;ga. - - - Jah - Selle valimisel võimaldab &tdevelop; 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 &tdevelop; sulgeb dokumendiakna. - - - Viivitusega - Selle valimisel võimaldab &tdevelop; sulgeda dokumendiakna täpselt nii, nagu oleks valitud Jah, kuid ikoon ei võta mitte otsekohe sulgemismärgi kuju, vaid teatud viivitusega. - - - - - - -Tööriistavaate kaartide paigutuse seadistamine - -Sektsioon Tööriistavaate kaartide paigutus 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. - - - - Ikoonid - - 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. - 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. - - - - Tekst - See on vaikeväärtus: iga kaart näitab enda taga peituva tööriistavaate nime. - - - Tekst ja ikoonid - 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 Kokkuvolditud tööriistavaate kaardid. - - - - - - -Kokkuvolditud tööriistavaate kaardid - -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: - - - - - - -Tööriistavaate kaardid kokkuvoldituna, et mitte jääda mõne muu akna varju - Tööriistavaate kaardid kokkuvoldituna, et mitte jääda mõne muu akna varju - - - -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. - - - - - - - -Failimallid - - - - - - - -Failimallide seadistamine - Failimallide seadistamine - - - - - -Redaktori valimine - -&tdevelop; võimaldab valida oma lemmikredaktori. Vali dialoogi KDevelopi seadistamine vasakus servas kirje Redaktor. Paremal ilmub nähtavale järgmine dialoog. - - - - - - -Redaktori valimine - Redaktori valimine - - - -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 Tähtis). Klõpsa meelepärasele redaktorile ja seejärel OK. Praegu on kaks võimalust: - - - - Põimitud võimas tekstiredaktor - See on &kde; standardse redaktori Kate komponent. - - - - Qt disaineril põhinev tekstiredaktor - See on redaktor, mida &Qt; pakub oma Disaineri komponendina. - - - -Need redaktoriliidesed on täielikult integreeritud &tdevelop;i IDE-sse. Eriti tähendab see näiteks võimalust hüpata lähtekoodi vajalikule reale lihtsalt vastavale veateatele teadete väljundvaate aknas klõpsates. - -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. - -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. - -Mida võtta ette, kui faili on väliselt muudetud: - - - Ei tehta midagi - Fail märgitakse väliselt muudetuks ning selle ülekirjutamise katsel küsitakse kasutajalt luba. - - - Teavitatakse kasutajat - Dialoog annab kasutajale teada, et faili on muudetud, ning pakub võimalust see uuesti laadida. - - - Kui see on turvaline, laaditakse fail uuesti, vastasel juhul teavitatakse kasutajat - Kõik failid, mida ei ole mälus muudetud, laaditakse uuesti, konfliktide korral näidatakse kasutajale hoiatust. - - - - - -Sõnalõpetuse lühendid - -(... veel kirjutamata ...) - - - -Skriptid - -(... veel kirjutamata ...) - - - -&kde; standardrakenduste lisamine tööriistade menüüsse - -(... veel kirjutamata ...) - - - -Väliste rakenduste lisamine menüüsse - -(... veel kirjutamata ...) - - -Lisamine tööriistade menüüsse - -(... veel kirjutamata ...) - - - -Lisamine faili kontekstimenüüsse - -(... veel kirjutamata ...) - - - -Lisamine kataloogi kontekstimenüüsse - -(... veel kirjutamata ...) - - - - - -Lähtekoodi vorminduse stiili valimine - -&tdevelop; vormindab lähtekoodi automaatselt vastavalt eelnevalt määratud stiilile. Stiil ise on aga väga mitmeti seadistatav. - -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 &tdevelop; kasutab selle võimaluse jaoks rakendust astyle. - -Konkreetse vormindusstiili kehtestamiseks vali menüükäsk Seadistused &tdevelop;i seadistamine... Avaneb dialoog KDevelopi seadistamine, kus vali vasakul servas Vormindus. See avab kolme kaardiga dialoogi: üldised vormindusseadistused, taande stiil ja muud seadistused. - -Kõik stiilimuudatused rakenduvad ainult pärast seda sisestatavale tekstile. Kui soovid muuta juba olemasoleva lähtekoodi teksti, tuleb kasutada menüükäsku RedigeerimineVorminda lähteteksti uuesti. - -Valitud vormindusstiili täpne väljund sõltub kasutatavast redaktorist. Praegu on enamik seadistusi kohandatud redaktori Kate komponendi vajadustele (Põimitud võimas tekstiredaktor). 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. - -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. - - -Üldised vormindusseadistused - -Dialoogi Vormindus kaardil Üldine saab valida ühe viiest eelnevalt määratud lähtekoodi vormindamise stiili. - - - - - - -Lähtekoodi vormindamise stiili üldised seadistused - Lähtekoodi vormindamise stiili üldised seadistused - - - -Paremal asuval väljal näeb vormindatud lähtekoodi näitist. Kui ükski stiil sulle ei meeldi, võid valida ülemise raadionupu Kasutaja defineeritud ning panna sel juhul aktiivseks muutuval kahel lisakaardil paika omaenda vorminduse stiili. - -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. - - - - -Taandeseadistused - -Teksti korralik treppimine ehk taande kasutamine on üks olulisemaid võtteid selle loetavuse parandamiseks. Kui valid dialoogis Vormindus kaardi Taane, näed seal mitmeid taandeseadistusi, mis on jagatud kolme rühma. - - - - - - -Lähtekoodi vorminduse taandeseadistused - Lähtekoodi vorminduse taandeseadistused - - - - - -Vaikeseadistused - -Eelnevalt määratud vormindusvalikud annavad lähtekoodi tekstile ANSI vormindusstiili välimuse: - -namespace foospace -{ - int Foo() - { - if (isBar) - { - bar(); - return 1; - } - else - return 0; - } -} - - - - - -Taande suuruse ja sümbolite määramine - -Raadionupud sektsioonis Täitmine lubavad määrata, kuidas lähtekoodi teksti taane luuakse. - - - - Tabeldusmärkidega - - 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 SeadistusedRedaktori seadistamine... - Tabeldusmärkide laius sõltub tugevasti redaktorist, mille valid seadistustedialoogis redaktori valimise ajal. Selle täpse väärtuse teadasaamiseks tuleb uurida vastava redaktori abimaterjale. - - - - Tühikutega - Selle valimisel lisab redaktor taande tähistamiseks teatud arvu tühikuid. Vaikimisi on neid 2, aga sa saad seda siin muuta. - - - - - - -Taandega olemid - -Siin saab määrata, millised (C/C++) olemid vormindatakse täiendava taandega lisaks tavalisele taandele. - -Vaikimisi kasutatakse lisataanet ainult nimeruumide ja pealdiste puhul. Võid siin katsetada, et leida selline variant, mis just sinu vajadusi rahuldab. - - - - -Jätkamine - -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. - -See käib ainult staatilise reamurdmise 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. - - - - Maksimum lauses - - 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. - 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. - - - - Miinimum tingimuses - - 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. - Vaikeväärtus on topeltpraegune, mis tähendab, et tingimuste korral lisatakse sama suur taane, kui oled valinud tavaliseks taandeks sektsioonis Täitmine. Soovi korral võid lisataandele anda konkreetse väärtuse (kaasa arvatud 0), sisestades selle siia käsitsi või kasutades noolenuppe. - - - - - - - - - - -Muud vormindamisseadistused - - - - - - -Muud lähtekoodi vormindamise seadistused - Muud lähtekoodi vormindamise seadistused - - - - - -Sulgude asukoha määramine - -Raadionuppudega mõneti eksitavat nimetust Sulud kandvas sektsioonis saab määrata plokki piiravate sulgude asukohta C/C++ lähtekoodis. Valida saab kolme võimaluse vahel. - - - - Reamurdmine - - See murrab rida enne iga avavat sulgu. Plokke piiritlevad sulud kasutavad sama taanet nagu ploki alguslause. - -namespace foospace -{ - int Foo() - { - if (isBar) - { - bar(); - return 1; - } - else - return 0; - } -} - - - - - Kaasamine - - See hoiab ploki avava sulu samal real ploki alguslausega. Lõpetavad sulud kasutavad sama taamet nagu ploki alguslause. if-lause else hoitakse samal real eelneva ploki lõpetava suluga. -namespace foospace { - int Foo() { - if (isBar) { - bar(); - return 1; - } else - return 0; - } -} - - - - - Linuxi stiil - - See on eelnevate stiilide kompromiss. Funktsionaalse ploki piiravad sulud seatakse eraldi reale. Tingimus- või korduslauses plokki avavad sulud hoitakse samal real. -namespace foospace -{ - int Foo() - { - if (isBar) { - bar(); - return 1; - } else - return 0; - } -} - - - - - - - - -Lisatühikute määramine - -Vaikimisi kasutab &tdevelop; lähtekoodis võimalikult vähe tühikuid. - - -if (isBar(fooArg)==barValue) - - -Sa võid aga teksti loetavust suurendada, kui seadistad lähtekoodi vormindaja teatud positsioonidesse lisatühikuid asetama. - - - - Sulgude ümber lisatakse tühikud - - See tähendab lisatühikute asetamist sulgudes asuva teksti ümber. Nii suureneb funktsiooni argumentide ja tingimuste loetavus. -if ( isBar( fooArg )==barValue ) - - - - - Operaatorite ümber lisatakse tühikud - - See seab loetavuse suurendamiseks tühikud omistamis- ja võrdlusoperaatorite ümber. -if (isBar(fooArg) == barValue) - - - - - - - - -Üherealiste konstruktsioonide vorminduse määramine - -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. - - - - Säilitatakse üherealised laused - Selle korral säilitatakse üherealine lause üherealisena ka siis, kui selle pikkus ületab reamurdmise määratlust. - - - Säilitatakse üherealised blokid - tSelle korral säilitatakse üherealine plokk üherealisena ka siis, kui selle pikkus ületab reamurdmise määratlust. - - - - - - - - - - - - -Koodijuppide tööriista seadistamine - -&tdevelop;i kasutamisel saab sageli vajaminevad koodiosad salvestada koodijuppidena. Selle seadistamiseks vali menüükäsk Seadistused &tdevelop;i seadistamine... Ilmub dialoog KDevelopi seadistamine, kus vali vasakult kirje Koodijupid. Paremal ilmub nüüd nähtavale järgmine dialoog. - - - - - - -Koodijuppide tööriista seadistamine - Koodijuppide tööriista seadistamine - - - - - -Koodijuppide eelvaatluse lubamine - -Valiku Koodijupi teksti näidatakse kohtspikris märkimisel näed salvestatud teksti kohtspikrina, kui jätad hiirekursori koodijupi nime kohale seisma. - - - - -Koodijuppide muutujate seadistamine - -Koodijuppide tööriist võimaldab kasutada eelnevalt määratud kohtades muutujaid koodijupi lisamisel faili. Selleks kasutab koodijuppide tööriist omaenda muutujate mehhanismi. Selle käitumist saab kindlaks määrata sektsioonis Muutujad. - - - - Eraldaja - Koodijuppide tööriist eristab teksti muutujaid nii, et ümbritseb muutuja nime teatud eraldamissümbolitega. Kui soovid kasutada omaenda eraldajaid, muuta väljal Eraldaja vaikimisi seisvat sümbolit $. - - - Muutujate sisestamismeetod - - Üks dialoog koodijupi igale muutujale – valitud koodijupi lisamisel avab tööriist eraldi dialoogi iga muutuja kohta, mida ta leiab. - Üks dialoog kõigile koodijupi muutujatele – koodijupi lisamisel avab tööriist ühise dialoogi, kus kasutaja peab enne koodijupi lisamist määrama kõigi muutujate väärtused. - - - - - - - - - - -Failinimekiri - -(... veel kirjutamata ...) - - - - -Failivalija seadistamine - -&tdevelop; pakub failivalija pluginat, mis käivitamise ajal laadituna võimaldab liikuda süsteemis igasse kataloogi ja iga faili juurde. - - - - - - -Failivalija IDEAl aknarežiimis - Failivalija (IDEAl aknarežiim) - - - -Failivalija käitumist saab mitmeti seadistada. Vali menüükäsk Seadistused &tdevelop;i seadistamine... Ilmub dialoog KDevelopi seadistamine, kus vali vasakul kirje Faili valimine. Nüüd ilmub paremal nähtavale järgmine dialoog. - - - - - - - -Failivalija seadistamine - Failivalija seadistamine - - - - - -Tööriistariba seadistamine - -Failivalija ülaosas asub tööriistariba, mida saab seadistada sektsioonis Tööriistariba. - - - Toimingu lisamine tööriistaribale - - Vali paremal paiknevast nimekirjast Valitud toimingud element, mille järele tuleb uus toiming lisada. - - - Vali lisatav toiming vasakul asuvast nimekirjast Saadaolevad toimingud. - - - Klõpsa kahe dialoogi vahel asuvale paremale osutavale noolele (ülemine). - Toiming eemaldatakse nimekirjast Saadaolevad toimingud ja lisatakse nimekirja Valitud toimingud valitud elemendi järele. - - - - - Toimingu eemaldamine tööriistaribalt - - Vali eemaldatav toiming paremal asuvast nimekirjast Valitud toimingud. - - - Klõpsa kahe nimekirja vahel vasakule osutavale noolele (alumine). - Valitud kirje eemaldatakse nimekirjast Valitud toimingud ja lisatakse nimekirja Saadaolevad toimingud. - - - - - Toimingute järjekorra muutmine tööriistaribal - - Vali toiming, mille tahad mujale asetada, paremal asuvast nimekirjast Valitud toimingud. - - - Klõpsa nimekirjast paremal paiknevale üles või alla osutavale noolele. - Valitud kirje liigutatakse nimekirjas Valitud toimingud vastavalt kõrgemale või madalamale. - - - - - - -Sisu muutmise seadistamine - -Failivalija akna sisu uuendamine nõuab aega ja ressursse, eriti kui seejuures tuleb liikuda teise kataloogi. Seepärast uuendab failivalija vaikimisi sisu ainult nõudmisel, &ie; siis, kui valid mõne teise kataloogi või annad konkreetselt käsu sisu uuendada. - -Failivalija sisu uuendamiseks klõpsa tööriistaribal nupule Laadi uuesti. Vaikimisi seal seda nuppu siiski pole, sa pead selle soovi korral ise lisama. - -Failivalija võib panna otsekohe kajastama teatud muudatusi. Seda saab teha valikutega sektsioonis Automaatne sünkroniseerimine. - - - - Dokumendi muutumisel aktiivseks - Märkimisel uuendatakse failivalija akna sisu alati, kui liigud mõnele teisele juba avatud dokumendile, klõpsates ⪚ vastavat kaarti IDEAl aknarežiimis. Vajaduse korral lülitub failivalija kataloogi, kuhu antud fail kuulub, ning värskendab vaadet, et näidata sulle selle kataloogi sisu. - - - Dokumendi avamisel - Märkimisel uuendatakse failivalija akna sisu alati, kui avatakse dokument (⪚ menüükäsuga FailAva). Vajaduse korral lülitub failivalija kataloogi, kuhu antud fail kuulub, ning värskendab vaadet, et näidata sulle selle kataloogi sisu. - - - Failivalija nähtavaleilmumisel - Märkimisel uuendatakse failivalija 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. - - - -Neid valikuid võib omavahel igati kombineerida, et leida just sind rahuldav failivalija käitumine. - - - - -Liitkastide ajaloo seadistamine - -Failivalija ü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. - - - - Asukohti jäetakse meelde - Kirjuta siia maksimaalne kataloogide arv, mida ülemine liitkast meeles peab pidama. - - - Filtreid jäetakse meelde - Kirjuta siia maksimaalne filtrite arv, mida alumine liitkast meeles peab pidama. - - - -Seanssidevahelise ajaloo seadistamine - -Vaikimisi näitab failivalija &tdevelop;i uuel käivitamisel taas kõige viimast seanssi. Seda saab muuta sektsioonis Seanss. - -Kui &tdevelop;i käivitab automaatselt uuesti &kde; seansihaldur, ei avalda siinsed seadistused mõju. Sel juhul taastatakse alati viimase &kde; seansi aegne asukoht ja filtrid. - - - - - Taastatakse asukoht - - Eemalda kastist märge, kui sa ei soovi, et asukoht jäetaks seansside vahel meelde. - Kui oled valinud mõne automaatse uuendamise valikutest, võib näidatav asukoht automaatselt muutuda sõltumata sellest, mida seansside vahel meelde jäetakse. - - - - Taastatakse filtrid - - Eemalda kastist märge, kui sa ei soovi, et rakendatud filtrid jäetaks seansside vahel meelde. - - - - - - - - - - -C++ klassi generaator - -(... veel kirjutamata ...) - - - - -Vormindus - -(... veel kirjutamata ...) - - - - -C++ parsimine - -(... veel kirjutamata ...) - - - - - - - - -Dokumentatsiooni seadistamine - -&tdevelop; sisaldab väga võimsat dokumentatsioonitööriista, mis tagab ligipääsu väga mitmesugusele ja mahukale dokumentatsioonile. IDEAl aknarežiimis ⪚ leiad kaardi Dokumentatsioon töötsooni paremast servast. - - - - - - -&tdevelop;i dokumentatsiooniaken IDEAl aknarežiimis - &tdevelop;i dokumentatsiooniaken (IDEAl aknarežiim) - - - -Dokumentatsioonipuu näitamiseks peab &tdevelop;is olema laetud dokumentatsiooniplugin. Sellest räägib lähemalt osa Pluginatööriistad. - -Dokumentatsiooniakna sisu ja käitumist saab määrata, kui valida menüükäsk Seadistused &tdevelop;i seadistamine... Ilmub dialoog KDevelopi seadistamine, mille vasakus servas vali kirje Dokumentatsioon. - -Nüüd näed kolme kaardiga seadistustedialoogi: - - - Dokumentatsioonikogud - Täistekstiotsing - Muud - - - -Dokumentatsioonikogude seadistamine - -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 &tdevelop;i dokumentatsioonikaardi leheküljel Sisukord ja kuidas kasutaja saab pruukida dokumentatsiooni veelgi põhjalikumalt indeksi ja täistekstiotsingu abil. -Kaart Dokumentatsioon sisaldab õieti mitmeid dialooge, mis on otsekui kartoteegis üksteise peale asetatud. Vastavale sakile klõpsates avaneb vastav seadistustedialoog: - - &Qt; dokumentatsioonikogu - CHM dokumentatsioonikogu - Doxygeni dokumentatsioonikogu - &tdevelop;i TOC dokumentatsioonikogu - Devhelpi dokumentatsioonikogu - Kohandatud dokumentatsioonikogu - - - - - - - - -Dokumentatsioonikogude seadistamine - Dokumentatsioonikogude seadistamine - - - - - -Dokumentatsiooni seadistustedialoogide üldine struktuur - -Kõik kaardi Dokumentatsioon seadistustedialoogid kasutavad ühesugust struktuuri: saadaolevad antud tüüpi dokumentatsioonikirjed on näha vasakul, paremal aga paiknevad mõned nupud. - - - -Dokumentatsiooninimekirja sisu haldamise nupud - -Seadistustedialoogides saab dokumentatsiooni sisu hallata kolme nupuga: - - - - Lisa - - Avab dialoogi Dokumentatsioonikataloogi omadused, kus, nagu allpool näha, saad valida dokumentatsioonikirje asukoha ja anda sellele nime. - - - - Redigeeri - - Avab dialoogi Dokumentatsioonikataloogi omadused, kus, nagu allpool näha, saad muuta dokumentatsioonikirje asukohta ja selle nime. - - - - Eemalda - - Eemaldab valitud dokumentatsioonikirje nimekirjast. - 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. - - - - - - - - - - Dokumentatsioonikirje lisamine või muutmine - - - -Väljast Asukoht paremal paiknevale nupule klõpsates avaneb failidialoog, mille kirjed on juba filtreeritud vastavalt valitud dokumentatsioonitüübile. -Väli Tiitel ei pruugi olla aktiivne - see sõltub valitud dokumentatsioonitüübist. - - - -Dokumentatsiooninimekirja struktuur - -Igas dokumentatsiooni seadistustedialoogis on nimekiri jagatud nelja veergu: - - - - Sisukord - - Märkekasti märkimisel näidatakse seda dokumentatsioonikirjet &tdevelop;i dokumentatsioonikaardi leheküljel Sisukord. - Märke eemaldamine kastist Sisukord muudab võimatuks märkida kaste Indeks ja Otsing (vaata allpool), sest ei ole loogiline, et indekseeritud on selline dokumentatsioon, mille sisukorda sa ei näe. - - - - Indeks - - Märkekasti märkimisel luuakse antud dokumentatsioonikirje kohta seesmine indeks. See võimaldab kiiret ligipääsu dokumentatsioonile &tdevelop;i dokumentatsioonikaardi lehekülgedel Indeks ja (lisavõimalusena) Otsija. - - Seesmine indeks luuakse siis, kui kasutaja esimest korda valid lehekülje Indeks. Seepärast on esimene kasutamine märkimisväärselt aeglane, sest indeks peab dokumentatsiooni sisse lugema ja puhverdama. - Kuid kõik järgnevad otsingud kasutavad juba puhvrit ning on seetõttu märgatavalt kiiremad. - - - - - Otsing - - Märkekasti märkimisel lisatakse dokumentatsioonikirje sisu &tdevelop;i dokumentatsioonikaardi lehekülje Otsing täistekstiotsingu asukohta. - - &tdevelop; kasutab täistekstiotsingu sooritamiseks programmi htdig. Otsing sooritatakse seesmise indeksi abil, mistõttu htdig peab enne kasutamist selle looma. - Kõik muudatused veerus Otsing hakkavad seepärast mõjuma alles pärast seda, kui oled &tdevelop;i dokumentatsioonikaardi leheküljel Otsing indeksi uuesti loonud. - - - - - Tiitel - See on dokumentatsioonikirje nimi, nagu seda näitab &tdevelop;i dokumentatsioonikaardi lehekülg Sisukord. - - - -Varasemad &tdevelop;i versioonid võimaldasid lasta dokumentatsioonikirjeid näidata erinevates projektides erinevalt. Enam ei ole see võimalik. - - - - - - - -&Qt; dokumentatsioonikogud - -Selles seadistustedialoogis saab seadistada &Qt; dokumentatsiooni. - - - - - - -&Qt; dokumentatsioonikogu seadistamine - &Qt; dokumentatsioonikogu seadistamine - - - -Tavaliselt täidab &tdevelop; juba esimesel käivitamisel, otsides standardseid *.xml- ja *.dcf-dokumentatsioonifaile &Qt; paigalduskataloogis. Vasakul asuv nimekiri täidetaksegi failidega, mida &tdevelop; leiab, kasutatakse nende standardseid tiitleid. - -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 nuppudega. - -&tdevelop; kasutab tiitleid, mida pakub paigaldatud &Qt; dokumentatsioon. Seepärast ei ole dialoogis Dokumentatsioonikataloogi omadused väli Tiitel aktiivne. - -Vaikimisi ei näidata mitte kogu &Qt; dokumentatsiooni &tdevelop;i dokumentatsioonikaardi leheküljel Sisukord. Märkekastiga veerus Sisukord seadistustedialoogis saad valida, millist dokumentatsiooni näidata. - -Kui soovid kaasata teatud &Qt; dokumentatsiooni indeksisse või täistekstiotsingusse, märgi ära kastid seadistustedialoogi veergudes Indeks ja Otsing. - - - - -CHM dokumentatsioonikogu seadistamine - -Selles dialoogis saab seadistada &Microsoft; CHM-abifailide standardit järgivat dokumentatsiooni. - - - - - - -&Microsoft; CHM dokumentatsiooni seadistamine - &Microsoft; CHM dokumentatsiooni seadistamine - - - -Vaikimisi on see seadistustedialoog tühi, nagu ka pildil näha. Uusi kirjeid saad lisada nimekirjast paremal paiknevate nuppudega. &tdevelop; filtreerib *.chm-failid failidialoogis, mille saad avada nuppe Lisa ja Redigeeri kasutades. - -Täpsemalt räägib &Microsoft; *.chm-failide vormingust ⪚ PHP: Documentation - Extended CHM Format aadressil http://de2.php.net/docs-echm.php. - - - - -Doxygeni genereeritud dokumentatsioon - -Selles dialoogis saab seadistada &API; dokumentatsiooni, mille genereerib &doxygen;. - - - - - - -Doxygeni genereeritud &API; dokumentatsiooni seadistamine - Doxygeni genereeritud &API; dokumentatsiooni seadistamine - - - -Lühidalt öeldes kirjeldab &API; dokumentatsioon teatud teegifunktsioone. Dialoogis näha olev &API; dokumentatsioon tuleb luua välise tööriistaga &doxygen;. -&doxygen;i genreeritud &API; dokumentatsioon koosneb reast html-failidest alates failist index.html. Lisaks võivad olla tag-failid, mis sisaldavad infot linkide kohta juba olemasoleva &API; dokumentatsiooniga. &tdevelop; uuribki faili index.html ja tag-faile, kui otsib &doxygen;i genereeritud &API; dokumentatsioonis. -&doxygen;i genereeritud &API; dokumentatsioonis otsimisel on teatud strukturaalsed piirangud. Kataloog, milles asub fail index.html, peab sisaldama eraldi dokumentatsioonikogudega alamkatalooge. Igas alamktaloogis peab olema oma .tag-fail ja alamkataloog html. -&doxygen;i &API; dokumentatsiooni ülesehituse näiteid saad uurida kataloogis $KDEDIR/share/doc/HTML/en/tdelibs-apidocs. - -Varasem &kde; KDoci genereeritud &API; vorming ei ole enam otseselt toetatud. Kui soovid siiski sellist dokumentatsiooni kasutada, lisa see kohandatud dokumentatsioonikoguna. - -&tdevelop; täidab dialoogi &kde; teekide &API; dokumentatsiooniga, kui see on muidugi olemas. &tdevelop; leiab selle mitmel moel: - - - Sa andsid käsu configure võtmega &tdevelop;i kompileerimise ajal (vaata peatükki &tdevelop;i &API; dokumentatsiooni hankimine). - Käsk configure leidis automaatselt &doxygen;i genereeritud &kde; teekide &API; mõnes teadaolevas standardses asukohas. - &tdevelop;i esmakäivitusel leiti kataloog $KDEDIR/share/doc/HTML/en/tdelibs-apidocs/. - - -Kui &tdevelop; ei leia esmakäivitusel korrektset &doxygen;i genereeritud &kde; teekide &API; dokumentatsiooni, on Doxygeni dokumentatsioonikogu nimekiri tühi. - -Sa võid lisada ka omaenda &API; dokumentatsiooni kirjeid (⪚ oma aktiivsest projektist) nimekirjast paremal paiknevate nuppudega. Kui soovid kaasata neid indeksisse või täistekstiotsingusse, märgi ära kastid seadistustedialoogi veergudes Indeks ja Otsing. - -&tdevelop; hangib tiitlid failist index.html. Seepärast ei ole dialoogi Dokumentatsioonikataloogi omadused väli Tiitel aktiivne. - - - &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; lähtekoodist (käskudega make ja make install tdebase-lähtekoodikataloogis) ja seejärel lisama kirje Doxygeni dokumentatsioonikogu nimekirja: - - - - -&kde; baasi &API; lisamine nimekirja - &kde; baasi &API; lisamine nimekirja - - (Asenda mõistagi /home/dev/mykde-system/ väljal Asukoht enda &kde; paigaldause asukohaga.) - - -Sul tuleb ka enda projekti &API; lisada Doxygeni dokumentatsioonikogusse. Varasemad &tdevelop;i versioonid lisasid selle dokumentatsioonipuusse vastavalt projektile. See ei ole enam võimalik. - - - - -Struktureeritud dokumentatsiooni (KDevelopi TOC-failid) seadistamine - -&tdevelop;i dokumentatsioonikaardil pääseb otsekohe ligi suurle hulgale struktureeritud dokumentatsioonile nii enda masinas kui võrgus. Seda saab seadistada KDevelopTOC dokumentatsioonikogu dialoogis. - - - - - - - KDevelopTOC struktureeritud dokumentatsiooni hankimine - - - -&tdevelop;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 seadistustedialoogi veerus Sisukord. - -KDevelopTOC-faile ei saa täistekstiotsingu jaoks indekseerida, sest need viitavad enamasti asukohale võrgus. Samas võib .toc-failil olla käsitsi määratletud indeks, milleks kasutatakse silti <index>. Niisiis on märkekast veerus Indeks aktiivne ainult siis, kui &tdevelop; leiab .toc-failist sildi <index> (täpsemat infot leiab altpoolt &tdevelop;i TOC-faile kirjeldavast osast). -Märkekast seadistustedialoogi veerus Otsing on alati mitteaktiivne. - -Uusi kirjeid saab lisada nimekirjast paremal paiknevate nuppudega. &tdevelop; filtreerib *.toc-failid failidialoogis, mille saad avada nuppe Lisa ja Redigeeri kasutades. - -Ainult väga vanades &tdevelop;i versioonides eemaldas klõps nupule Eemalda .toc-failid ka kettalt, kuid praegu eemaldab see need ainult nimekirjast. - - - - -&tdevelop;i TOC-failid - -Nendega on seotud üks eriomadus. Selle selgitamiseks võta ette järgmised sammud. Ava dokumentatsioonipuus mõni kirje kohe &Qt;/&kde; dokumentatsiooni all (⪚ KDE2 Development Book (kde.org)). 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 &tdevelop; enamasti avada dokumentatsioonifaili võrgus. - -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. - -Sellise struktureeritud ligipääsu tagavad spetsiaalsed sisukorrafailid, mille laiendiks ongi .toc (inglise keeles on sisukord 'table of content'). Kõik &tdevelop;i TOC-failid, mis sisaldavad dokumendi &XML;-is struktureeritud kirjeldust, on sel moel kasutatavad. - - - -&tdevelop;i TOC-failide standardkataloog - -&tdevelop;i paigaldamise ajal paigaldatakse tavaliselt valik kindlaid .toc-faile kataloogi $KDEDIR/share/apps/kdevdocumentation/tocs. Need on üsna lihtsa struktuuriga tekstifailid. Sa võid neid uurida mõne tekstiredaktoriga. - - - - - - - - - &tdevelop;i TOC-failide põhistruktuur - - päis - - - - <!DOCTYPE tdeveloptoc> - - - <tdeveloptoc> - - - (tiitel) - - - (baasaadress) - - - (sisu struktuur) - - - (indeksi struktuur) - - - </tdeveloptoc> - - - Seda &XML;.struktuuri parsib &tdevelop;i dokumentatsiooniplugin, mis loob seejärel dokumentatsioonipuu, mille abil kasutaja saab dokumentatsioonis liikuda. See sisaldab kogu vajalikku infot tiitlite ja sisukorra näitamiseks. - - - - tiitel - - - <title> (tiitlistring) </title> - - See on tiitel, mida &tdevelop; näitab dokumentatsioonipuu põhitasemel. - Seda tiitlit ei saa kasutaja muuta. Kui soovid näha mingit muud teksti, pead käsitsi muutma kirjet <tiitel> .toc-failis. - - - - baasaadress - - - <base href=" (baasdokumendi &URL;) "/> - - 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 <base>-&URL;-i. - - - - sisu struktuur - - - <tocsect1 name=" (sektsiooni tiitel) " url=" (sektsiooni &URL;) "> - ... - <tocsectn name=" (sektsiooni tiitel) " url=" (sektsiooni &URL;) "/> - ... - - </tocsect1> - - - Kogu ülejäänud liikumiseks ja kasutamiseks vajalik info on salvestatud mitmesse pesastatud <tocsecti> ... </tocsecti> paari. Iga i märgib siin järgmist pesastamistaset kuni arvuni n, mis vastab kõige viimasena näidatavale dokumentatsiooni sektsioonile. - Iga <tocsecti> kirjega peab olema seotud atribuut name="xxx" ("xxx" märgib siin tegelikku tiitlistringi). Seda nime näidatakse dokumentatsioonipuus taseme tiitlina. See peab vastama dokumentatsiooni tegelikule sektsioonile. - Iga i tasemega võib olla seotud atribuut url="". Kui kasutaja klõpsab dokumentatsioonipuus sektsiooni tiitlile, üritab &tdevelop; avada faili asukohas, mille määrab baas- ja sektsiooni-&URL;-i kombinatsioon. - Kirjel <tocsectn/> peab igal juhul olema atribuut url="". Viimane <tocsectn/> ei esine enam paarina, vaid selle sulgeb otsekohe / enne sulgu >. - 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: /baas-url/sektsiooni-url#ankrumärk. - - - - indeksi struktuur - - - - <index> - - <entry name=" (indeksikirje tiitel) " url=" (indeksisektsiooni &URL;) "/> - - </index> - - - Indeks on puhas indeksikirjete ehk tiitli ja &URL;-i paaride nimekiri. Indeks ei ole kohustuslik. - - - - - - - - -DevHelpi dokumentatsioon - -DevHelpi dokumentatsioon on veel üks struktureeritud dokumentatsiooni liik. See kasutab struktureeritud sisukorrafaile laiendiga .devhelp (põhimõtteliselt sarnased &tdevelop;i TOC-failidele) GNOME2 töölaua dokumentatsiooni näitamiseks. -Seda, millised DevHelpi failid on kasutada, saab seadistada DevHelpi dokumentatsioonikogu dialoogis. - - - - - - - DevHelpi dokumentatsiooni hankimine - - - -DevHelpi failid leidusid algselt LiDN veebileheküljel, kuid paistab, et seda saiti pole tükk aega hooldatud. Uuema DevHelpi dokumentatsiooni leiab DevHelpi raamatute allalaadimise veebileheküljelt. - -&tdevelop; püüab paigaldamise ajal leida .devhelp-faile standardsetest asukohtadest süsteemis, ⪚ kataloogi /opt/gnome/share/ alamkataloogidest. Esialgu ei ole need failid märgitud näidatavaks. Kui soovid neid näha, märgi vastavad kastid seadistustedialoogi veerus Sisukord. - -Uusi kirjeid saab lisada nimekirjast paremal paiknevate nuppudega. &tdevelop; filtreerib *.toc-failid failidialoogis, mille saad avada nuppe Lisa ja Redigeeri kasutades. - - - - -Kohandatud dokumentatsioonikogu seadistamine - -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. - - - - - - - Kohandatud dokumentatsiooni hankimine - - - -Tavaliselt on see kogu &tdevelop;i esimesel käivitamisel tühi. Me oleme siin selle täitnud lihtsalt kirjestruktuuri näitamise huvides. -Seadistamine on lihtne. Nimekirjast paremal paiknevate nuppudega saad dokumendikirjeid lisada, eemaldada või muuta. &tdevelop; ei filtreeri antud juhul midagi failidialoogis, mille saad avada pärast klõpsamist nupule Lisa või Redigeeri. - -Sa pead konkreetselt valima kirjed, mida tahad näha &tdevelop;i dokumentatsioonikaardil. Märgi selleks vastavad kastid seadistustedialoogi veerus Sisukord. - -Kohandatud dokumentatsiooni ei saa indekseerida ega selles otsida. Seepärast on ka veergude Indeks ja Otsing märkekastid mitteaktiivsed. - - - - - - -Tekstiotsingu indeksite seadistamine - -(... veel kirjutamata ...) - - - - - - - Tekstiotsingu indeksite seadistamine - - - - - - -Muud dokumentatsiooniseadistused - -(... veel kirjutamata ...) - - - - - - - - -Muud seadistused - -(... veel kirjutamata ...) - - -Pluginatööriistad - -(... veel kirjutamata ...) - - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/survey-manual.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/survey-manual.docbook deleted file mode 100644 index 6842d1f3a8e..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/survey-manual.docbook +++ /dev/null @@ -1,329 +0,0 @@ - -Mida käsiraamat sisaldab - -Käesolev kasutaja käsiraamat kirjeldab integreeritud arenduskeskkonna (IDE) &tdevelop; &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. -Käsiraamatust leiab infot järgmiste teemade kohta: - - -&tdevelop;i algõpe — tutvustav ülevaade - -Pakub kiirtutvustuse &IDE; kasutamise kohta ja näitab lühidalt, kuidas oma projektiga tööd teha. - - - -&tdevelop;i omaduste ülevaade - -Laiendab eelmise peatüki algtutvustust ning annab ülevaate &tdevelop;i paljudest omadustes, muutes nii &IDE; sulle omasemaks. - - - - -&tdevelop;i seadistamine - -Selgitab, kuidas kohandada &IDE; just enda vajadustele. - - - - -Alustamine: &appwizard; - -Kirjeldab lühidalt, kuidas luua &tdevelop;is uus projekt &appwizard; abil. - - - - -Redigeerimistööriistad - -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. - - - - -Failisirvijad - -Tutvustab mitmesuguseid tööriistu, millega uurida oma projekti struktuuri, ning seda, kuidas pääseda ligi failidele, mille kallal soovid tööd teha. - - - - -Klassisirvijad - -Kirjeldab üht &tdevelop;i võimsamat tööriista, mis lubab liikuda klassi sõltuvustes ning hõlpsasti luua ja kasutada kõiki klasse ja meetodeid, mida vajad. - - - - -Dokumentatsioon - -Selgitab, kuidas kasutada &tdevelop;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. - - - - -Ehitamine ja projektihaldus - -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. - - - - -Ehitamise täpsem haldamine - -Näitab, kuidas pakkuda mitmesuguseid ehitamiskonfiguratsioone, mis võimaldavad kompileerida erinevatel platvormidel, ning kuidas luua põimitud süsteem Qt/embedded teeki kasutades. - - - - -Siluriliides - -Kirjeldab integreeritud siluriliidese gdb kasutamist, millega avastada vigu ilma &tdevelop;ist väljumata. - - - - - - -CVS-i kasutamine - -Tutvustab, kuidas hooldada projekti versioonikontrollisüsteemi CVS abil, mis on lausa hädavajalik teadmine, kui ühe ja sama projekti kallal töötab palju arendajaid. - - - - - -Osa samuti üsna vajalikku infot on koondatud lisasse, sealhulgas: - - - -&tdevelop;i paigaldamine - -Räägib, kust hankida &tdevelop; ja kuidas see paigaldada. - - - - - - -Paari sõnaga — nipid ja nõuanded - -Kiirülevaade levinumatest käskudest ja toimingutest ning põgusad juhised levinumate probleemide lahendamiseks &tdevelop;i kasutamisel. - - - - -&UNIX; ja arendamine - -Ajalooline ülevaade arendamisest &UNIX; keskkonnast, selleks vajalikud põhitööriistad ning &IDE; vajalikkuse selgitamine. - - - - - - -&tdevelop;i konfiguratsioonifailid -Loetleb failid, mida &tdevelop; kasutab oma seesmise info salvestamiseks. Sellest on eriti abi, kui paigaldamisel või seadistamisel on midagi valesti läinud. - - - - -Pluginatööriistad -Loetleb pluginatena kasutatavaid tööriistu, mille abil saab &tdevelop;ile anda mitmesuguseid lisavõimalusi. - - - -KDevelopi kasutajaliidese režiimide näited -Tutvustab kasutajaliidese režiime. - - -Täiendav info Selgitab, kust hankida infot, kuhu anda teada vigadest jne. - - -Muutuste logi -Näitab käesoleva käsiraamatu muudatuste ajalugu. - - -Bibliograafia -Bibliograafia - - - - - - diff --git a/tde-i18n-et/docs/kdevelop/kdevelop/unixdev.docbook b/tde-i18n-et/docs/kdevelop/kdevelop/unixdev.docbook deleted file mode 100644 index 09947f1b948..00000000000 --- a/tde-i18n-et/docs/kdevelop/kdevelop/unixdev.docbook +++ /dev/null @@ -1,641 +0,0 @@ - - - - - BerndPol - - - - -&UNIX; arendustegevus - -arendus - - &UNIX; - arendus - - -Mõned märkused ajaloo kohta - -ajalugu -skriptikeeled - - &UNIX; - ajalugu - - &UNIX; - toru - - &UNIX; - shell - - shell - &UNIX; - -Algusest peale on &UNIX; maailmas olnud kaks väga erinevat arendusparadigmat. Üks neist on süsteemi ja rakenduste programmeerimiskeelte paradigma, mille kohaselt lähtekood tõlgitakse masinkoodiks mingi tõlkeprogrammi abil, milleks on tavaliselt kompilaator või interpretaator. 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). -Teine paradigma on skriptikeeled. 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, ⪚ grep, sed ja find. 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 toruks. 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. -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. - - - - - -Tänapäevased skriptikeeled -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. -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. - - -&perl; - -Perl - - skriptikeeled - Perl - -&perl; 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 mod_perl. &perl;i tugevate külgede hulka kuulub sisseehitatud tugi regulaaravaldiste igakülgsele kasutamisele ning rikkalik vabalt levitatavate moodulite pagas. -Rohkem infot jagab veebilehekülg Comprehensive Perl Archive Network (CPAN). - - - -Python - -Python - - skriptikeeled - Python - -&python; 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. - - - -PHP - -PHP - - skriptikeeled - PHP - -&php; leiutati vahetult &HTML;-lehekülgedele põimitava keelena, mistõttu selle peamiseks kasutusalaks ongi veebi dünaamilise sisu edastamine. - - - - - -Kõrgtaseme skriptikeeled - -Kõrgtaseme &UNIX; rakendustel puudub tihtipeale traditsiooniliste märkidele orienteeritud shelliskriptimehhanismide kiirus ja paindlikkus. Eriti kehtib see graafiliste kasutajaliideste (&GUI;) korral, ⪚ &kde;. -Samasuguse mehhanismi pakkumiseks, mis töötaks kõrgtaseme rakenduste tasandil, on tehtud mitu katset, millest äramärkimist väärivad CORBA ja &kde; keskkonnas &DCOP;. - - -CORBA protokoll - -CORBA - - skriptikeeled - CORBA - - kommunikatsioon - CORBA - -CORBA (Common Object Request Broker Architecture 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 OMG (Object Management Group) standardikomitee. -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. -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. - - - - -&DCOP;-liides - -DCOP - - skriptikeeled - DCOP - - kommunikatsioon - DCOP - -Teist arengusuunda &UNIX; laadis skriptimise vallas kujutab DCOP protokoll, mis loodi CORBA piirangutest ülesaamiseks &kde; rakenduste vahelise eduka suhtlemise tagamiseks. -&DCOP; tähendab Desktop Communication Protocol 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. -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. -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. -Rohkem infot annavad dokument DCOP: Desktop COmmunications Protocol ja &kde; dcop-teegi &API; dokumentatsioon The &DCOP; Desktop Communication Protocol library. - - - - - - - -Ehitussüsteemid - -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. -Selleks on vajalikud järgmised põhitööriistad - tekstiredaktor lähtekoodifailide kirjutamiseks, - tõlkeprogramm, tavaliselt kompilaator, mis tõlgib lähtekoodi objektifailideks, - teegikorraldaja, mis kogub objektifailid teekidesse, et neid oleks hõlpus uuesti kasutada ilma neid uuesti kompileerimata, - linkur, mis seob mitu objektifaili ja teeki üheks käivitatavaks failiks, - ehitussüsteem, mis lubab kogu kraami hallata — ja mõistagi - silur, 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. - - - -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. -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. - - -Ehitusprotsess - - - make - - Makefile - - reegel - - ümberkompileerimine - - sihtmärk - - sõltuvused - - käsud - -Tööriist, mis hoolitseb ümberkompileerimise eest, kannab nime make. See hoiab silma peal kogu tööl, kasutades selleks reegleid, 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 Makefile'i, mida make töötleb iga kord, kui soovid oma tööd uuendada. -Iga reegel koosneb mitmest ehitusplokist, nimelt - sihtmärk, &ie; ehitatav fail - valik sõltuvusi ehk nende failide nimed, millest sihtmärk sõltub (⪚ lähtekoodifaili nimi, kus siis sihtmärgiks saab ehitatava objektifaili nimi) ja - käsud, mis tuleb käivitada sihtmärgi ehitamiseks (&ie; kompileerimiseks või linkimiseks teiste objektifailidega käivitatava programmifaili ehitamiseks). - - -Põhimõtteliselt loeb käsk make ü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. -Ehitamisprotsessi juhtimiseks on mitmeid lisavõimalusi, mistõttu Makefile võib muutuda päris keeruliseks. Siinkohal ei jagu ruumi ega aega seda pikemalt tutvustada. Kuid me soovitame sul endal käsu make süntaks omandada. Isegi kui sa tavaliselt ei kasuta seda vahetult, tuleb ehitussüsteemi mõistmine kindlasti kasuks. Täpsemat infot annab GNU Make Manual. -&tdevelop;i spetsiifikast kõneleb lähemalt peatükk Ehitamine ja projektihaldus. -Uurida tasuks ka mitmeid õppematerjale, mille kohta vaata viiteid ehitamise ja projektihalduse peatükis. - - - - - - - -&GUI; arendus - - - GUI - - graafiline kasutajaliides - - kasutajaliides - GUI - -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. -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. -&kde; &GUI; arendamise jaoks on olemas ka stiilijuhend. Selle leiab &kde; arendajate veebileheküljelt: &kde; User Interface Guidelines. -Lühitutvustuse &GUI; üldiste kujunduspõhimõtete kohta leiab siit. - - - - - - -Kontseptsioonide ja tööriistade lõimimine – IDE - - - IDE - - integreeritud arenduskeskkond - - arendus - IDE - - keskkond - IDE - -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. -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. -Näiteks — kas poleks mugav, kui silur saaks vajaliku lähtekoodifaili avada redaktoris ja oskaks viia kursori otse kohta, kust leiti viga? -Selliste vajaduste rahuldamiseks ongi mõeldud integreeritud arenduskeskkond (&IDE;). &IDE; lõimib ühte keskkonda kõik mallid, tööriistad ja skriptid, mida enamasti arendamise käigus vaja läheb. -&kde; jaoks on selline &IDE; &tdevelop;. See pakub tervet hulka tööriistu, mis hõlbustavad programmide arendamist ja hooldamist, võimaldades töötada ka mitmetes programmeerimiskeeltes ning erinevaid platvorme arvestades. - - -&tdevelop; &kdevrelease; põhiomadused - - - &tdevelop; - omadused - - omadused - - - - - - Haldab kõiki arendustööriistu, mida on vaja C++ programmeerimiseks (kompilaator, linkur, silur, ehitussüsteem). - - - Pakub välja &appwizard;, millega saab luua terviklikke, kohe kasutamiseks valmis mallrakendusi. - - - Võimaldab kasutajal valida põimitud redaktore, mille aluseks on &kde; programmeerija redaktor &kwrite;, Trolltechi QEditor või midagi muud. - - - Pakub välja klasside generaatori uute klasside loomiseks ja lisamiseks töösolevasse projekti. - - - Failihaldus lähtekoodifailide, päisefailide, dokumentatsiooni &etc; tarbeks, mida soovid kaasata projekti. - - - Abistamine rakenduse käsiraamatu loomisel, mis on kirja pandud &kde; tööriistadega. - - - Automaatne &HTML;-põhine &API; dokumentatsioon projekti klasside jaoks ristviidetega kasutatud teekidele. - - - Internatsionaliseerimise tugi, mis lubab tõlkijatel lisada vähese vaevaga projekti oma sihtkeele (sealhulgas &kbabel;i toetus). - - - Tugi projektide haldamiseks mõne versioonikontrollisüsteemiga (⪚ &CVS;), milleks on mõeldud enamikku vajadusi rahuldav kasutajaliides. - - - Integreeritud siluriliides. - - - Integreeritud shellikonsooli emulaator. - - - Lähtekoodi süntaksi esiletõstmine. - - - Automaatse koodilõpetuse võimalus klassi muutujate, klassi meetodite, funktsiooni argumentide ja palju muu korral. - - - Mallid erinevate projektide loomiseks &juhtimiskeskus;e moodulid, &kicker;i (paneeli) apletid, KIO-moodulid, &konqueror;i pluginad ja töölauastiilid). - - - Neli liikumisvaadet hõlpsaks lülitumiseks lähtekoodifailide, päisefailide, klasside ja dokumentatsiooni vahel, mis kõrvaldab vajaduse kasutada välist failihaldurit. - - - Krosskompileerimise tugi ühes võimalusega määrata erinevaid kompilaatoreid, kompilaatorite lippe, sihtmärgi arhitektuuri &etc; - - - Qt/Embedded projektide tugi (näiteks Zaurus ja iPAQ). - - - Mis tahes programmi kaasamise võimalus, mida vajad arendamiseks, seda menüüsse Tööriistad lisades. - - - - - - - - - -- cgit v1.2.3