diff options
Diffstat (limited to 'tde-i18n-et/docs/kdewebdev/kommander')
19 files changed, 6803 insertions, 0 deletions
diff --git a/tde-i18n-et/docs/kdewebdev/kommander/Makefile.am b/tde-i18n-et/docs/kdewebdev/kommander/Makefile.am new file mode 100644 index 00000000000..f6c3e2e278a --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = et +SUBDIRS = $(AUTODIRS) +KDE_DOCS = AUTO +KDE_MANS = AUTO diff --git a/tde-i18n-et/docs/kdewebdev/kommander/Makefile.in b/tde-i18n-et/docs/kdewebdev/kommander/Makefile.in new file mode 100644 index 00000000000..893fc1bbd98 --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/Makefile.in @@ -0,0 +1,635 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# KDE tags expanded automatically by am_edit - $Revision: 483858 $ +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = docs/kdewebdev/kommander +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ +#>- html-recursive info-recursive install-data-recursive \ +#>- install-dvi-recursive install-exec-recursive \ +#>- install-html-recursive install-info-recursive \ +#>- install-pdf-recursive install-ps-recursive install-recursive \ +#>- installcheck-recursive installdirs-recursive pdf-recursive \ +#>- ps-recursive uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +#>+ 1 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CONF_FILES = @CONF_FILES@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +GMSGFMT = @GMSGFMT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_RPATH = @KDE_RPATH@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOPSUBDIRS = @TOPSUBDIRS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +#>- bindir = @bindir@ +#>+ 2 +DEPDIR = .deps +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +kdeinitdir = @kdeinitdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_LANG = et +#>- SUBDIRS = $(AUTODIRS) +#>+ 1 +SUBDIRS =. +KDE_DOCS = AUTO +KDE_MANS = AUTO +#>- all: all-recursive +#>+ 1 +all: docs-am all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +#>- @for dep in $?; do \ +#>- case '$(am__configure_deps)' in \ +#>- *$$dep*) \ +#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ +#>- && exit 0; \ +#>- exit 1;; \ +#>- esac; \ +#>- done; \ +#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/kdewebdev/kommander/Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --gnu docs/kdewebdev/kommander/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/kdewebdev/kommander/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdewebdev/kommander/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdewebdev/kommander/Makefile.in +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +#>- distdir: $(DISTFILES) +#>+ 1 +distdir: distdir-nls $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +#>- uninstall: uninstall-recursive +#>+ 1 +uninstall: uninstall-docs uninstall-nls uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +#>- clean: clean-recursive +#>+ 1 +clean: kde-rpo-clean clean-recursive + +#>- clean-am: clean-generic mostlyclean-am +#>+ 1 +clean-am: clean-docs clean-bcheck clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +#>- install-data-am: +#>+ 1 +install-data-am: install-docs install-nls + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic ctags \ + ctags-recursive distclean distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ + tags-recursive uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: + +#>+ 2 +KDE_DIST=installation.docbook tutorials.docbook index.docbook basics.docbook glossary.docbook credits.docbook specials.docbook commands.docbook dcop.docbook index.cache.bz2 editor.docbook translating.docbook parser.docbook extending.docbook Makefile.in widgets.docbook introduction.docbook Makefile.am q-and-a.docbook + +#>+ 24 +index.cache.bz2: $(srcdir)/index.docbook $(KDE_XSL_STYLESHEET) glossary.docbook extending.docbook commands.docbook specials.docbook widgets.docbook translating.docbook editor.docbook index.docbook parser.docbook introduction.docbook credits.docbook q-and-a.docbook installation.docbook tutorials.docbook dcop.docbook basics.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)/kommander + @if test -f index.cache.bz2; then \ + echo $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kommander/; \ + $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kommander/; \ + elif test -f $(srcdir)/index.cache.bz2; then \ + echo $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kommander/; \ + $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kommander/; \ + fi + -rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kommander/common + $(LN_S) $(kde_libs_htmldir)/$(KDE_LANG)/common $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kommander/common + +uninstall-docs: + -rm -rf $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kommander + +clean-docs: + -rm -f index.cache.bz2 + + +#>+ 13 +install-nls: + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kommander + @for base in glossary.docbook extending.docbook commands.docbook specials.docbook widgets.docbook translating.docbook editor.docbook index.docbook parser.docbook introduction.docbook credits.docbook q-and-a.docbook installation.docbook tutorials.docbook dcop.docbook basics.docbook ; do \ + echo $(INSTALL_DATA) $$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kommander/$$base ;\ + $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kommander/$$base ;\ + done + +uninstall-nls: + for base in glossary.docbook extending.docbook commands.docbook specials.docbook widgets.docbook translating.docbook editor.docbook index.docbook parser.docbook introduction.docbook credits.docbook q-and-a.docbook installation.docbook tutorials.docbook dcop.docbook basics.docbook ; do \ + rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/kommander/$$base ;\ + done + + +#>+ 5 +distdir-nls: + for file in glossary.docbook extending.docbook commands.docbook specials.docbook widgets.docbook translating.docbook editor.docbook index.docbook parser.docbook introduction.docbook credits.docbook q-and-a.docbook installation.docbook tutorials.docbook dcop.docbook basics.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/kdewebdev/kommander/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/kdewebdev/kommander/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/kdewebdev/kommander/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/kdewebdev/kommander/basics.docbook b/tde-i18n-et/docs/kdewebdev/kommander/basics.docbook new file mode 100644 index 00000000000..98c061a07b4 --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/basics.docbook @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<chapter id="kmdr-basics"> +<chapterinfo> +<title +>&kommander;i põhitõed</title> +<authorgroup> +<author +><firstname +>Tamara</firstname +> <surname +>King</surname +> <affiliation +><address +> <email +>tik@acm.org</email> +</address +></affiliation> +</author> +<author +><firstname +>Eric</firstname +> <surname +>Laffoon</surname +> <affiliation +><address +> <email +>sequitur@kde.org</email> +</address +></affiliation> +</author> + +<othercredit role="translator" +><firstname +>Marek</firstname +> <surname +>Laane</surname +> <affiliation +><address +><email +>bald@smail.ee</email +></address +> </affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> + +</authorgroup> +</chapterinfo> + +<title +>&kommander;i põhitõed</title> + +<!-- This chapter should tell the user how to use your app. You should use as +many sections (Chapter, Sect1, Sect3, etc...) as is necessary to fully document +your application. --> + +<sect1 id="concepts"> +<title +>Kontseptsioonid</title> + + +<para +>&kommander; sai alguse visuaalse disaini tööriistade maailmas mõneti revolutsiooniliseks osutunud lihtsat kontseptsioonist. Tavaliselt võimaldavad need tööriistad luua dialooge, vahel ka peaakna liidest. Peaakna liides on aga juba koht, kus reeglina esinevad menüüd, tööriistaribad, olekuriba ja rakendus ise ka muidugi. Dialoogid on alamaknad, millel tavaliselt ei ole ei menüüd, tööriistariba, olekuriba ega ka mingit 'rakenduseala', ning kannavad sellist nime seepärast, et nende eesmärk on <quote +>pidada dialoogi</quote +> või vahendada sulle mingit mingit põhirakenduse edastatavat infot. Dialoogi elemente nimetatakse <quote +>vidinateks</quote +> ja sul tuleb oma programm nende vidinatega siduda. &kommander; läheneb asjale aga hoopis teisest küljest. Me kasutame siin dialoogis vidinatega seostatud teksti põhimõtet. Algselt kandiski see nimetust <quote +>seostatud tekst</quote +>, nüüd nimetame seda lihtsalt <quote +>&kommander;i tekstiks</quote +>. Vidinad &kommander;i dialoogides võivad sisaldada viidetena teiste vidinate sisu, samuti võivad vidinad lasta oma sisu viidata spetsiaalsete <quote +>eride</quote +> abil, mille näiteks võib olla @widgetText. Erid on &kommander;i spetsiaalse tähendusega käsud. Kui oled näiteks loonud dialoogi kahe tekstikastiga ning andnud neist esimesele nimeks <quote +>Eesnimi</quote +> ja teisele <quote +>Perekonnanimi</quote +>, võid luua nupu ja määrata selle &kommander;i tekstiks <quote +>Minu nimi on @Eesnimi @Perekonnanimi</quote +>. Sul tuleb eesnime- ja perekonnanimevidinas määrata @widgetText. Oli ju arusaadav? Me peame andma &kommander;ile korralduse viidata neis olevale tekstile. Siis võid selle käivitada näiteks <application +>Konsool</application +>is ja peaksid nägema väljundina just seda stringi. Eesnime viitame siis nii: @Eesnimi -> hangib vidina nimega Eesnimi(@Eesnimi) -> @widgetText -> hangib tekstikasti vidina sisu. Nii et kui @Eesnimi tagastab <quote +>Marek</quote +>, siis @Eesnimi -> @widgetText -> <quote +>Marek</quote +>. </para> + +<para +>See on &kommander; lihtne ja selge tuum. Aga huvitavaks läheb asi siis, kui sa sellega midagi ette võtad. Kõigepealt tasuks märkida, et tavalistest programmeerimiskeeltepõhistest tööriistadest erinevalt ei vaja &kommander; nende operatsioonide defineerimiseks programmeerimislauseid. See muudab &kommander;i arendajatele väga mugavaks vahendiks. Lõppkasutajale on see märksa lihtsam kui programmeerimiskeele reegleid pähe tampida. Ja kõigile tähendab see seda, et saab keskenduda oma ülesandele, ilma et peaks kogu aeg käsiraamatust järele vaatama, kas asi ikka sai õigesti kirja. Tavaliselt küsivad inimesed &kommander;it või mõnda muud taolist töövahendit nähes: <quote +>Milleks seda kasutada saab?</quote +> Nagu selgub, on stringide käsitlemisega tegemist tegelikult sisuliselt kõikjal. </para> + +<para +>Mida &kommander; suudab siis teha? Toome siin ära vaid põhilised operatsioonid. &kommander; suudab: </para> + +<orderedlist> +<listitem +><para +>Edastada stringid väljakutsutavale programmile standardväljundi (stdout) kaudu.</para +></listitem> +<listitem +><para +>Kutsuda välja käivitatava programmi.</para +></listitem> +<listitem +><para +>Suhelda &DCOP;-i vahendusel &kde; programmidega.</para +></listitem> +</orderedlist> + +<para +>Kui sa ei ole just programmeerija, soovid vahest asja ka nii-öelda inimlikus keeles teada saada. Esiteks: kui käivitad &kommander;i konsoolist, on konsool väljakutset esitav programm. Siin tekib ema-lapse ehk siis eellase-järglase suhe. Konsooli saadetakse sõnum järglasprogrammi standardväljundi (stdout) vahendusel, mida nimetatakse nii sellepärast, et on olemas ka veaväljund. See pakub huvi seepärast. et mitmed programmid, näiteks &quantaplus;, kasutavad standardväljundit info hankimiseks programmidelt, mis nende seest on käivitatud. Seega võivad &kommander;i dialoogid saata oma tekstistringid otse &quantaplus; redaktorisse, kui neid on välja kutsutud &quantaplus;-ist. See tähendab, et &kommander;i dialoogid sobivad väga hästi programmide laienditeks. </para> + +<para +>Teine juhtum on käivitatava faili väljakutsumine. Kõik sinu süsteemis töötavad programmid on iseenesest käivitatavad failid. Isegi skripti paneb käima skripti interpretaator, nii et tehniliselt võttes ka see käivitatakse. &kommander; võib käske käivitada sama edukalt, kui seda saab teha konsoolilt, kuigi siin võid sa seda teha lausa menüüst. Kui näiteks soovid avada &GIMP;-i, peab sul olema nupp, sellel string <quote +>gimp</quote +> ning see tuleb asetada erisse, näiteks @exec(gimp). Ja seda kasutades &GIMP; ka tõepoolest avaneb. Kasutada võib ka exec <quote +>ls -l</quote +>, aga väljundit näed ainult siis, kui töötad konsoolil. </para> + +<para +>Kolmas juhtum on veelgi huvitavam. &DCOP; tähendab lühendatult &kde; <quote +>töölaua kommunikatsiooniprotokolli</quote +> (<emphasis +>D</emphasis +>esktop <emphasis +>CO</emphasis +>mmunication <emphasis +>P</emphasis +>rotocol) ja on üks äraütlemata võimas vahend. Käivita programm <application +>dcop</application +> ja tee sellega veidi tutuvust. Saad peagi selgeks, et kõik &kde; standardite kohaselt loodud rakendused kasutavad vähemalt mingil määral &DCOP;-i ja mis on eriti hästi loodud, need kohe päris palju. &DCOP; lubab esitada mis tahes infopäringuid, määrata vidinate väärtusi ja nii edasi ja nii edasi. Käesolevas käsiraamatus on ka omaette &DCOP;-ile pühendatud osa. &kommander; võib saata &DCOP; väljakutse igale &kde; programmile ning vastupidi - &DCOP;-i abil saab seda juhtida teistest programmidest. Õigupoolest saab käsurealt &DCOP; väljakutse saata suvalisele &kde; programmile. Mis siis meie juhtumi puhul eriline on? Eriline on see, et kui soovid anda terve hulga käske, siis käsurida kasutades näed peagi, et &DCOP; sobib palju paremini lühikeste käskude jaoks, võib aga tükk aega viivitada, kui peab näiteks sadu kordi mingit silmust läbima. Seepärast kasutab &kommander; eri @dcop, mis on ligikaudu 1000 korda kiirem! Et &kommander; võib &DCOP; väljakutseid nii saata kui saada, võib &DCOP;-i kasutada &kommander;i skriptideks. Seepärast on meil ka kohalik &DCOP; eri @ldcop, mis võimaldab käsku anda päris vähese kirjutamisvaevaga. </para> + +<para +>Siinräägitu ei ole kaugeltki veel kõik isegi mitte &kommander;i põhiomaduste kohta, aga juba sellest peaks piisama mõistmaks, kuidas asi töötab, et edaspidine jutt ei tunduks täiesti arusaamatuna. Rakendus pakub mõistagi palju enam. Signaalide ja pesadega käsitleb &kommander; sündmusi. Sündmus tähendab programmis põhimõtteliselt seda, et <quote +>midagi juhtus</quote +> - näiteks loodi vidin või muutus tekst. Need muudatused <quote +>väljastavad signaali</quote +>, sina aga võid signaalid ühendada pesadega, mis võtavad omakorda midagi ette, kui toimub sündmus. Üks selle kasutamisviise &kommander;is on &kommander;i teksti järglane <quote +>populatsioonitekst</quote +>. Populatsioonitekst populeerib ehk asustab väljakutse peale vidina. Nagu &kommander;i tekst, võib ka populatsioonitekst sisaldada tekstistringe või skripte. </para> + +<para +>See peaks andma nüüd küll mingi esialgse aimu &kommander;ist. Me oleme püüdnud hoida eride arvu vähesena ja kasutada ohtralt ära &DCOP;-i võimalusi. Nii on meil võimalik hoida &kommander; võimalikult ühtse ja kompaktsena. Sa avastad kindlasti, et &kommander;is saab tegelikult kasutada mis tahes skriptikeelt ja ühes dialoogis võib neid isegi mitu korraga kasutusele olla. Edaspidi oletame, et sa oled siintoodud konptseptsioonide ja mõisteteta juba tutvunud. Lisaks sellele aitavad ka näited ja õppematerjalid mõista täielikumalt &kommander;i võimalusi. </para> +</sect1> +&editor; <sect1 id="executor"> +<title +>Executor</title> + +<para +>Executor ehk <application +>kmdr-executor</application +> käivitab &kommander;i skriptid. See laeb <literal role="extension" +>.kmdr</literal +>-failid ning tekitab dünaamiliselt täisfunktsionaalse dialoogi. <warning +><para +>Alates versioonist 1.3 hoiatab Executor, kui skript ei ole käivitatav. See on täiendav turvaomadus, mille eesmärk on panna kasutaja mõtlema võimalikele pahadele tagajärgedele, kui käivitatakse mitteusaldusväärsest allikast pärit skript. Kasutaja kinnitusel käivitatakse dialoog või, kui ta usaldab allikat, saab muuta skripti käivitatavaks ning vabaneda täielikult hoiatusest.</para +></warning> +<note +><para +>Versioon 1.3 toetab -kmdr-skriptifailide alguses süntaksit <emphasis +>#!/asukoht/kmdr-executor</emphasis +> (asukoht võib siin olla selline, nagu seda näeb ette sinu süsteem). Kui muuta sellised failid käivitatavaks, saab neid käsurealt käivitada nagu iga muud käivitatavat rakendust, ilma et oleks vaja anda skriptile argumenti kmdr-executor.</para> +<para +>Pane tähele, et kui oled lisanud sellise lause faili algusse, ei saa dialoogi enam käivitada ega muuta &kommander;i vanemate vesioonidega.</para> +<para +>Soovitatav kasutamine on järgmine: <screen> +#!/usr/bin/kommander +</screen +>; sel juhul tuleb luua nimeviit kmdr-executor'ilt asukohale /usr/bin/kommander.</para> +<para +>Mainitud lause võib lisada dialoogi otse redaktoris, muutes peadialoogi omadusi <guilabel +>useShebang</guilabel +> ja <guilabel +>shebang</guilabel +>.</para> + +</note> +</para> + +<sect2 id="executor-for-programmers"> +<title +>Executor programmeerijatele</title> + +<para +>C++ arendajad võivad klassi Instance kasutada ära oma C++ programmides, mis lubab põimida käivitamisfunktsiooni otse rakendusse ilma vajaduseta käivitada välist käivitamisprogrammi. Standardse dialoogi korral on dialoogi loomise kulu minimaalne, kuid näiteks &kde; rakenduse loomisega võib muidugi lausa sekund aega minna. </para> +<para +>Teine võimalus on võtta kasutusele <emphasis +>kommander_part</emphasis +> KReadOnlyPart. Seda KParti saab laadida ja käivitada suvalises &kommander;i dialoogis mõne muu KDE rakenduse sees.</para> +</sect2> + +</sect1> + +<sect1 id="create-dialog"> +<title +>Dialoogi loomine</title> +<para +>Kui soovid teada, kuidas luua dialoogi, lisada vidinaid, kasutada paigutusi ja muuta vidinate omadusi, uuri &Qt; disaineri (versioon 3.x) käsiraamatut. Selle võib avada käsurealt käsuga <command +>designer</command +> või ka peamenüüst. </para> +<para +>&kommander;i üks lisavõimalus on <guilabel +>Kommanderi teksti</guilabel +> seostamine iga vidinaga. Need tekstid on dialoogi käivitatav osa (skript), mis on kirjutatud kas skriptikeeles (vana &kommander;i süntaks) või kasutades &kommander;i sisemist keelt, niinimetatud uut parserit. </para> +<para +>Kui soovid täpsemalt teada keele süntaksit, käske ja seda, kuidas kasutada tekstiredaktorit, uuri järgnevaid peatükke ning tutvu näidistega, mis on kaasa pandud &kommander;i lähtekoodiga.</para> +</sect1> + +<sect1 id="exec-bit"> +<title +>Käivitusbitt - uus asi versioonis 1.3</title> +<para +>Turvakaalutlustel võtsime versioonis 1.3 kasutusele käivitusbiti nõude. Mõned peavad seda kindlasti pikaajalise puudujäägi likvideerimiseks, teised kohutavaks tüliks või isegi hirmutavaks teguriks. Paraku ei ole olemas ideaalset lahendust. Probleem peitub selles, et Kommanderi dialooge võib alla laadida mitmelt poolt ning neid võib saada ka e-kirjaga, nii et sa võid selle eksliku klõpsuga käivitada. Et Kommander võib käivitada shelliskripte, on ta omamoodi eriseisundis. Teised rakendused selliseid takistusi ei sea, kuid nende puhul on vaja nad kõigepealt paigaldada, et neid saaks turvaliselt kasutada. Üksainus skriptirida võib kustutada jäädavalt kogu sinu kodukataloogi. Meie eesmärk on vältida juhuslikku klõpsamist mitteusaldusväärsel dialoogil. Me vabandame ebameeldivuste pärast, aga kahjuks ei ole sellist võimalust, mis rahuldaks isegi arendajaid ning tagaks kasutajale turvalisuse ilma teda häirimata. </para> +<para +>See ei takista dialoogi käivitamist, vaid ongi mõeldud häirivaks teguriks. Sellest pääseb mööda, kui failihalduri või shelli abiga määrata failile käivitusbitt. Tee dialoogil Konqueroris paremklõps, vali menüüst Omadused, ilmuvas dialoogis õigustekaart ning märgi ära kastike <quote +>käivitatav</quote +>. Nüüd ei takista enam miski dialoogi käivitamist. Kasuta meie veebileheküljel tööriista, mis otsib &kommander;i dialooge, võimaldab neid lähemalt uurida ning valida, kas mõnel või kõigil peaks olema käivitusbitt. Kui soovid kasutada shelli, et muuta kõik kataloogis asuvad &kommander; i dialoogid käivitatavaks, kasuta järgmist käsku: </para> +<screen +>chmod u+x *.kmdr +</screen> +<warning +><para +>Ära muuda dialooge käivitatavaks, kui sa ei usalda nende päritolu.</para +></warning> +</sect1> + +</chapter> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/commands.docbook b/tde-i18n-et/docs/kdewebdev/kommander/commands.docbook new file mode 100644 index 00000000000..31e62273c92 --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/commands.docbook @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<chapter id="commands"> +<chapterinfo> +<title +>Käskude seletused</title> +</chapterinfo> + +<title +>Seletused</title> +&widgets; &specials; &dcop-functions; </chapter> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/credits.docbook b/tde-i18n-et/docs/kdewebdev/kommander/credits.docbook new file mode 100644 index 00000000000..dcee08aabda --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/credits.docbook @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<chapter id="credits"> +<chapterinfo> +<title +>Autorid ja litsents</title> +<authorgroup> +<author +><firstname +>Tamara</firstname +> <surname +>King</surname +> <affiliation +><address +> <email +>tik@acm.org</email> +</address +></affiliation> +</author> + +<othercredit role="translator" +><firstname +>Marek</firstname +> <surname +>Laane</surname +> <affiliation +><address +><email +>bald@smail.ee</email +></address +> </affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> + +</authorgroup> +</chapterinfo> + +<title +>Autorid ja litsents</title> + +<variablelist> +<title +>&kommander;i arendajate meeskond</title> +<varlistentry> +<term +>Britton, Marc <email +>consume@optusnet.com.au</email +></term> +<listitem +><para +>Arendaja ja dokumentatsioon</para +></listitem> +</varlistentry> +<varlistentry> +<term +>King, Tamara <email +>tik@acm.org</email +></term> +<listitem +><para +>Dokumentatsioon</para +></listitem> +</varlistentry> +<varlistentry> +<term +>Laffoon, Eric <email +>sequitur@kde.org</email +></term> +<listitem +><para +>Projektihaldur ja dokumentatsioon</para +></listitem> +</varlistentry> +<varlistentry> +<term +>Mantia, András <email +>amantia@kde.org</email +></term> +<listitem +><para +>Arendaja</para +></listitem> +</varlistentry> +<varlistentry> +<term +>Rudolf, Michal <email +>mrudolf@kdewebdev.org</email +></term> +<listitem +><para +>Arendaja</para +></listitem> +</varlistentry> +</variablelist> + +<para +>&kommander; <trademark class="copyright" +></trademark +> 2004 - 2008: &kommander;i arendajate meeskond. </para> + +<para +>&kommander;i käsiraamat <trademark class="copyright" +></trademark +> 2004 - 2008: &kommander;i arendajate meeskond. </para> + +<para +>Tõlge eesti keelde: Marek Laane <email +>bald@smail.ee</email +></para +> +&underFDL; &underGPL; </chapter> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/dcop.docbook b/tde-i18n-et/docs/kdewebdev/kommander/dcop.docbook new file mode 100644 index 00000000000..7ff09e165e8 --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/dcop.docbook @@ -0,0 +1,236 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<sect1 id="dcop-interface"> +<sect1info> +<title +>&DCOP;-i funktsioonid</title> +</sect1info> + +<title +>&DCOP;-i funktsioonid</title> + +<para +>&kommander; hakkas esialgu kasutama vidinaid sisemiselt &DCOP;-i vahendusel, mis arenes edasi vidinate funktsioonideks. &DCOP; on endiselt kasutusel ning seda saab tarvitada teabe jagamiseks dialoogide vahel. Samuti saab selle abil laiendada peaaegu kõiki KDE rakendusi. &DCOP; on võimalik &kommander;is välja kutsuda mitmel viisil. Esimene võimalus on konsool. Ava &kommander;i dialoog ja seejärek konsool ning proovi ise. </para> +<note +><para +>Allolev jutt käsitleb peamiselt vana parserit, Kui tunned huvi sisemiste vidinate funktsioonide vastu, tasub tutvust teha <link linkend="new_parserdocs" +>uue parseriga</link +>. See teave käib eriti dialoogide ja rakenduste suhtlemise või teiste skriptikeelte käivitamise kohta Kommanderis skriptidena.</para +></note> +<screen +>dcop | grep kmdr +dcop `dcop | grep kmdr` +dcop `dcop | grep kmdr` KommanderIf +</screen> +<para +>See näitab, millised dialoogid töötavad ja millised liidesed on saadaval, samuti seda, mida saab kasutada väljakutsumiseks &kommander;i spetsiaalses sisemises liideses. &DCOP;-i selgituste juures tasub meeles pidada, et &DCOP;-i kasutavad seesmiselt KDE rakendused (KDE4 ajal asendab selle D-Bus) ja et see on väga kasulik asi. Uuri programmi <command +>kdcop</command +>; vajuta Alt+F2 ja kirjuta programmi nimi käivitusreale. Seal saab näha kõike, mis töötab. Nüüd aga tagasi &DCOP;-i ja &kommander;i juurde. </para> +<screen +>dcop kmdr-executor-@pid KommanderIf setText minuVidin <quote +>uus tekst</quote +> +</screen> +<para +>See eeldab, et oled &kommander;i failis ja sul on ligipääs spetsiaalsele @pid-ile, mis sisaldab protsessi ID-d. Tegelikult on lihtsam asendada <quote +>kmdr-executor-@pid</quote +> @dcopid-ga. Aga igal juhul on võimalik seda süntaksit kasutada (küll ilma erideta) käsurealt või mis tahes välisest skriptist, et muuta &kommander;i akent. </para> +<para +>&kommander; on võtnud kasutusele palju kiirema sisemise &DCOP;-funktsiooni. Selle kasutamine mõne muu rakenduse aknast (konsooli &DCOP; on ikka päris aeglane) tekitab mõningaid raskusi, sest sa pead andma hulganisti infot, sealhulgas väljakutse prototüübi. Eeltoodud käsk võtab siis kuju (pane tähele, et @dcopid on dialoogis tegelikult sisene, aga sa võid selle asendada mis tahes korrektse protsessi ID-ga): </para> +<screen +>@dcop(@dcopid, KommanderIf, <quote +>enableWidget(QString, tõeväärtus)</quote +>, Vidin, true) +</screen> +<para +>Varasemas &kommander;is tähendas &DCOP;-väljakutsete pesastamine skriptikeele struktuuridesse (näiteks <application +>bash</application +>) seda, et väljakutsed tuli esitada konsoolilt. <emphasis +>Kui kasutad sisest &DCOP;-i, käivitatakse esmalt kõik &kommander;i erid ja seejärel skript.</emphasis +> Palun loe eelmist lauset veel kord, sest muidu ei ole nutul ja halal piiri, kui <application +>bash</application +> satub &kommander;i eridega lõpmatusse silmusesse. </para> +<para +>On ka uus ja lihtsam viis kasutada &DCOP;-i &kommander;is endas, mida võimaldab objektsüntaks. Oletame, et soovid muuta teksti vidinas nimega @LineEdit1. See käib järgmiselt. </para> +<screen +>@LineEdit1.setText(Uus tekst) +</screen> +<para +>Nagu näed, on uus süntaks väga lihtne ja visuaalselt funktsioonigruppidega kooskõlas. Kõik siintoodud &DCOP;-i viited kasutavad sellist objektisüntaksit. <emphasis +>Palun arvesta, et kui viitad &DCOP;-i muust aknast või rakendusest kasutades vidinale, peab esimene parameeter olema alati vidina nimi. Kõik siin toodud funktsioonid algavad teise parameetriga.</emphasis +> </para> + +<sect2 id="dcop-globals"> +<title +>&DCOP; globaalsete muutujatele</title> +<variablelist> +<varlistentry> +<term +>global(QString muutujaNimi)</term> +<listitem> +<para +>Tagastab määratud globaalse muutuja väärtuse. Kui skript käivitatakse &kommander;i aknast, lakkavad kõik skriptiga määratud (mitteglobaalsed) muutujad eksisteerimast pärast skripti töö lõpetamist ega ole seepärast enam kasutatavad muudes skriptides või ka sama väljakutse kordamisel. Globaalne <quote +>skoop</quote +> tähendab seda, et muutuja eksisteerib akna iga protsessi jaoks seni, kuni aken suletakse. Neid muutujaid võib igal ajal muuta funktsiooni <function +>@setGlobal</function +> uue väljakutsega. </para> +</listitem> +</varlistentry> +<varlistentry> +<term +>setGlobal(QString muugujaNimi, QString väärtus)</term> +<listitem> +<para +>Loob muutuja, mis on akna protsessile globaalne ja omistab sellele väärtuse, Väärtuse saab hankida global(QString muutujaNimi) abil või ka uuesti määrata. </para> +</listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="dcop-all"> +<title +>&DCOP; kõigile vidinatele</title> + +<para +>Järgnev nimekiri on vananenud ja siin ära toodud rohkem ajaloo huvides. Kõigi vidinafunktsioonide ajakohastatud täielikku nimekirja pakub <emphasis +>funktsioonibrauser</emphasis +>, mille saab avada suvalisest &kommander;i tekstiredaktori aknast alumisele vasakpoolsele nupule vajutades. Need on nüüd vidinafunktsioonid, mitte enam &DCOP;-funktsioonid, aga &DCOP;-funktsioonid avaldatakse <emphasis +>KommanderIf</emphasis +> &DCOP;-liideses, mida kirjeldati eespool. Selle funktsionaalsuse väljakutsete loomise dialoogid on saadaval meie veebileheküljel. </para> +<variablelist> +<varlistentry> +<term +>setText(QString tekst)</term> +<listitem> +<para +>See eemaldab see vidinas näidatava teksti ja asendab selle antava tekstiga. </para> +</listitem> +</varlistentry> +<varlistentry> +<term +>enableWidget(tõeväärtus enable)</term> +<listitem> +<para +>Lubab või keelab elemendi. </para> +</listitem> +</varlistentry> +<varlistentry> +<term +>associatedText</term> +<listitem> +<para +>Tagastab määratud vidinaga seostatud teksti. See ei ole sama, mis näidatav tekst. See võib olla <quote +>@widgetText</quote +> või tekst ja/või skript, mida kasutatakse näidatava väärtuseni jõudmiseks. </para> +</listitem> +</varlistentry> +<varlistentry> +<term +>setAssociatedText(QString tekst)</term> +<listitem> +<para +>See määrab &kommander;i vaiketekstistringi. Tavaliselt määratakse selleks <quote +>@widgetText</quote +>, et näidata vidinasse sisestatut. Vaevalt sul seda eriti vaja läheb, aga igatahes on see olemas. Saab kasutada kõigi andmeid sisaldavate vidinate korral. </para> +</listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="dcop-box"> +<title +>&DCOP; loendikasti ja liitkasti vidinale</title> +<variablelist> +<varlistentry> +<term +>addListItem(QString element, int index)</term> +<listitem> +<para +>Lisab elemendi loendikasti vidinasse määratud indeksiga. Loendi indeks algab nullist. Loendi lõppu lisamiseks anna -1. </para> +</listitem> +</varlistentry> +<varlistentry> +<term +>addListItems(QStringList elemendid, int index)</term> +<listitem> +<para +>Lisab korraga terve stringide loendi. Loendis tuleb kasutada eraldajana <acronym +>EOL</acronym +>-i (\n - reavahetused). See on hea juhul, kui soovid Bashi muretult loendi tuletamiseks kasutada. Näiteks elementide korral @exec(ls -l ~/projects | grep kmdr) kasutades saad oma projektikataloogi &kommander;i failide nimekirja. Loendi indeks algab nulliga. Loendi lõppu lisamiseks anna -1. </para> +</listitem> +</varlistentry> +<varlistentry> +<term +>addUniqueItem(QString element)</term> +<listitem> +<para +>addUniqueItem lisab elemendi loendi lõppu ainult siis, kui see on unikaalne. </para> +</listitem> +</varlistentry> +<varlistentry> +<term +>clearList</term> +<listitem> +<para +>Eemaldab kõik elemendid. </para> +</listitem> +</varlistentry> +<varlistentry> +<term +>removeListItem(int index)</term> +<listitem> +<para +>Eemaldab antud indeksiga elemendi. </para> +</listitem> +</varlistentry> +<varlistentry> +<term +>item(int index)</term> +<listitem> +<para +>Tagastab antud indeksiga elemendi teksti. </para> +</listitem> +</varlistentry> +<varlistentry> +<term +>setCurrentListItem(int index)</term> +<listitem> +<para +>Määrab aktiivse (või valitud) elemendi määratud indeksile. Saab kasutada loendikasti ja liitkasti vidina korral. </para> +</listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="dcop-button"> +<title +>&DCOP; märkekasti ja raadionupu vidinale</title> +<variablelist> +<varlistentry> +<term +>setChecked(QString elemendiNimi, tõeväärtus checked)</term> +<listitem> +<para +>Märgib või eemaldab märke märkekasti või raadionupu elemendilt. </para> +</listitem> +</varlistentry> +</variablelist> +</sect2> + +<sect2 id="dcop-tab"> +<title +>&DCOP; kaardividinale</title> +<variablelist> +<varlistentry> +<term +>setCurrentTab(QString elemendiNimi, int index)</term> +<listitem> +<para +>Valib kaardi indeksi järgi kaardividinalde. Indeks algab nulliga. </para> +</listitem> +</varlistentry> +</variablelist> +</sect2> + + +</sect1> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/editor.docbook b/tde-i18n-et/docs/kdewebdev/kommander/editor.docbook new file mode 100644 index 00000000000..05edc822b0c --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/editor.docbook @@ -0,0 +1,1213 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<sect1 id="editor"> +<sect1info> +<title +>Redaktor</title> +<authorgroup> +<author +><firstname +>Tamara</firstname +> <surname +>King</surname +> <affiliation +><address +> <email +>tik@acm.org</email> +</address +></affiliation> +</author> + +<othercredit role="translator" +><firstname +>Marek</firstname +> <surname +>Laane</surname +> <affiliation +><address +><email +>bald@smail.ee</email +></address +> </affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> + +</authorgroup> +</sect1info> + +<title +>Redaktor</title> + +<para +>Redaktori aluseks on &designer; - <ulink url="http://www.trolltech.com" +>Trolltech</ulink +>i kasutajaliideste kujundamiseks ja teostamiseks mõeldud vahend. Algne &designer; on meie käes omajagu muutunud: </para> +<itemizedlist> +<listitem +><para +>Liides on märksa lihtsam</para +></listitem> +<listitem +><para +>Me pakume omaenda vidinaid</para +></listitem> +<listitem +><para +>Lisatud on võimalus määrata &kommander;i tekst</para +></listitem> +<listitem +><para +>Mitmed muud vähemolulisemad muudatused</para +></listitem> +</itemizedlist> +<para +>Kellele &designer; on juba tuttav, ei tohiks &kmdr-editor; mingeid raskusi valmistada. </para> + +<sect2 id="editor-gui"> +<title +>Peaaken</title> + +<mediaobject> +<imageobject> +<imagedata format="PNG" fileref="editor.png"/> +</imageobject> +</mediaobject> + +<orderedlist> +<listitem +><para +>Tööriistaribal paiknevad nupud, mis võimaldavad kasutada mitmeid sagedamini vajaminevaid funktsioone.</para +></listitem> +<listitem +><para +>Failisirvija näitab kõiki faile. Otsimisväli võimaldab failide vahel kiiresti liikuda.</para +></listitem> +<listitem +><para +>Objektisirvija annab ülevaate vormi vidinate omavahelistest suhetest. See on väga abiks keerukamate paigutusega vormide vidinate vahel liikumisel.</para +></listitem> +<listitem +><para +>Omaduste redaktoris saab muuta vidina käitumist ja välimust.</para +></listitem> +<listitem +><para +>Dialoogiredaktoris saab luua ja muuta dialooge.</para +></listitem> +</orderedlist> +</sect2> + +<sect2> +<title +>Failimenüü</title> +<para> +<variablelist> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>N</keycap +></keycombo +> </shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Uus</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Loob uue dialoogi</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>O</keycap +></keycombo +> </shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Ava</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Võimaldab failisüsteemist otsida avatavat dialoogi</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Fail</guimenu +> <guimenuitem +>Ava viimati kasutatud</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Näitab viimati avatud faile. See nimekiri muutub vastavalt sellele, kuidas sa uusi faile avad - kui seda nimekirjas pole, lisatakse see siia ning kõige vanem kirje tõrjutakse välja.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Fail</guimenu +> <guimenuitem +>Sulge</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Sulgeb aktiivse dialoogi</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>S</keycap +></keycombo +> </shortcut +> <guimenu +>Fail</guimenu +> <guimenuitem +>Salvesta</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Salvestab aktiivse dialoogi</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Fail</guimenu +> <guimenuitem +>Salvesta kui</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Salvestab aktiivse dialoogi uue nimega</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Fail</guimenu +> <guimenuitem +>Salvesta kõik</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Salvestab kõik avatud dialoogid</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Fail</guimenu +> <guimenuitem +>Välju</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Lõpetab</action +> &kommander;i töö</para +></listitem> +</varlistentry> +</variablelist> +</para> + +</sect2> + +<sect2> +<title +>Redigeerimismenüü</title> +<para> +<variablelist> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>Z</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Võta tagasi</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Tühistab viimati sooritatud toimingu.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>Y</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Tee uuesti</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Sooritab uuesti viimati tagasivõetud toimingu.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>X</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Lõika</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Lõikab aktiivse elemendi ja asetab selle sisu lõikepuhvrisse.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>C</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Kopeeri</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Kopeerib aktiivse elemendi lõikepuhvrisse.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>V</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Aseta</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Asetab lõikepuhvri sisu kursori asukohta.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>Z</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Kustuta</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Kustutab aktiivse elemendi.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycap +>Del</keycap +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Vali kõik</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Valib kõik aktiivse dialoogi elemendid.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Alt;<keycap +>R</keycap +></keycombo +> </shortcut +> <guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Kontrolli kiirklahve</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Kontrollib, kas kõiki kiirklahve on kasutatud ainult üks kord.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Ühendajad</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Avab dialoogi, kus saab näha ja muuta ühendusi.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Vormi seadistused</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Avab vormi seadistustedialoogi.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Redigeerimine</guimenu +> <guimenuitem +>Seadistused</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Avab seadistustedialoogi.</action +></para +></listitem> +</varlistentry> +</variablelist> +</para> +</sect2> + +<sect2> +<title +>Tööriistade menüü</title> +<para> +<variablelist> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycap +>F2</keycap +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Pliiats</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycap +>F3</keycap +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Ühenda signaalid/pesad</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycap +>F3</keycap +> </shortcut +> <guimenu +>Tööriistad</guimenu +> <guimenuitem +>Kaartide järjekord</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guisubmenu +>&kommander;</guisubmenu +> </menuchoice +></term> +<listitem> +<para +>Siin on loetletud kõik &kommander;i vidinad. Need vidinad on kindlasti saadaval kõigis süsteemides, kus on kasutusele vähemalt sama või uuema versiooniga &kommander;.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><menuchoice +><guimenu +>Tööriistad</guimenu +> <guisubmenu +>Kohandatud</guisubmenu +> </menuchoice +></term> +<listitem> +<para +>Selle menüükirje all on ära toodud pluginate pakutavad vidinad. Neid vidinaid kasutavad dialoogid töötavad ainult juhul, kui neid pakkuv vidin on paigaldatud ja seadistatud.</para> +</listitem> +</varlistentry> + +</variablelist> + +</para> + +</sect2> + +<sect2> +<title +>Paigutusemenüü</title> +<para> +<variablelist> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>J</keycap +></keycombo +> </shortcut +> <guimenu +>Paigutus</guimenu +> <guimenuitem +>Kohenda suurust</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>H</keycap +></keycombo +> </shortcut +> <guimenu +>Paigutus</guimenu +> <guimenuitem +>Paiguta horisontaalselt</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>L</keycap +></keycombo +> </shortcut +> <guimenu +>Paigutus</guimenu +> <guimenuitem +>Paiguta vertikaalselt</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>G</keycap +></keycombo +> </shortcut +> <guimenu +>Paigutus</guimenu +> <guimenuitem +>Paiguta alusvõrgule</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Paigutus</guimenu +> <guimenuitem +>Paiguta horisontaalselt (tükeldatud vaates)</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Paigutus</guimenu +> <guimenuitem +>Paiguta vertikaalselt (tükeldatud vaates)</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>B</keycap +></keycombo +> </shortcut +> <guimenu +>Paigutus</guimenu +> <guimenuitem +>Katkesta paigutus</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Paigutus</guimenu +> <guimenuitem +>Lisa eraldaja</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +</variablelist> +</para> +</sect2> + +<sect2> +<title +>Käivitamismenüü</title> +<para> +<variablelist> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>R</keycap +></keycombo +> </shortcut +> <guimenu +>Käivitamine</guimenu +> <guimenuitem +>Käivita dialoog</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Käivitab aktiivse dialoogi.</action +></para +></listitem> +</varlistentry> +</variablelist> +</para> +</sect2> + +<sect2> +<title +>Aknamenüü</title> +<para> +<variablelist> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>F4</keycap +></keycombo +> </shortcut +> <guimenu +>Aken</guimenu +> <guimenuitem +>Sulge</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Sulgeb aktiivse dialoogi.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Aken</guimenu +> <guimenuitem +>Sulge kõik</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Sulgeb kõik dialoogid.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;<keycap +>F6</keycap +></keycombo +> </shortcut +> <guimenu +>Aken</guimenu +> <guimenuitem +>Järgmine</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><shortcut +> <keycombo action="simul" +>&Ctrl;&Shift;<keycap +>F6</keycap +></keycombo +> </shortcut +> <guimenu +>Aken</guimenu +> <guimenuitem +>Eelmine</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Aken</guimenu +> <guimenuitem +>Paanid</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Aken</guimenu +> <guimenuitem +>Kaskaad</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +></action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Vaated</guisubmenu +> </menuchoice +></term> +<listitem> +<variablelist> +<varlistentry> +<term> +<menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Vaated</guisubmenu +> <guimenuitem +>Failiülevaade</guimenuitem +> </menuchoice> +</term> +<listitem +><para +></para +></listitem> +</varlistentry> +<varlistentry> +<term> +<menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Vaated</guisubmenu +> <guimenuitem +>Objektipuu</guimenuitem +> </menuchoice> +</term> +<listitem +><para +></para +></listitem> +</varlistentry> +<varlistentry> +<term> +<menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Vaated</guisubmenu +> <guimenuitem +>Omaduste redaktor/signaalikäitleja</guimenuitem +> </menuchoice> +</term> +<listitem +><para +></para +></listitem> +</varlistentry> +<varlistentry> +<term> +<menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Vaated</guisubmenu +> <guimenuitem +>Joonda</guimenuitem +> </menuchoice> +</term> +<listitem +><para +></para +></listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Tööriistaribad</guisubmenu +> </menuchoice +></term> +<listitem> +<variablelist> +<varlistentry> +<term> +<menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Tööriistaribad</guisubmenu +> <guimenuitem +>Fail</guimenuitem +> </menuchoice> +</term> +<listitem +><para +></para +></listitem> +</varlistentry> +<varlistentry> +<term> +<menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Tööriistaribad</guisubmenu +> <guimenuitem +>Redigeerimine</guimenuitem +> </menuchoice> +</term> +<listitem +><para +></para +></listitem> +</varlistentry> +<varlistentry> +<term> +<menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Paigutus</guisubmenu +> <guimenuitem +>Fail</guimenuitem +> </menuchoice> +</term> +<listitem +><para +></para +></listitem> +</varlistentry> +<varlistentry> +<term> +<menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Tööriistaribad</guisubmenu +> <guimenuitem +>Tööriistad</guimenuitem +> </menuchoice> +</term> +<listitem +><para +></para +></listitem> +</varlistentry> +<varlistentry> +<term> +<menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Tööriistaribad</guisubmenu +> <guimenuitem +>&kommander;</guimenuitem +> </menuchoice> +</term> +<listitem +><para +></para +></listitem> +</varlistentry> +<varlistentry> +<term> +<menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Tööriistaribad</guisubmenu +> <guimenuitem +>Kohandatud</guimenuitem +> </menuchoice> +</term> +<listitem +><para +></para +></listitem> +</varlistentry> +<varlistentry> +<term> +<menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Tööriistaribad</guisubmenu +> <guimenuitem +>Abi</guimenuitem +> </menuchoice> +</term> +<listitem +><para +></para +></listitem> +</varlistentry> +<varlistentry> +<term> +<menuchoice +><guimenu +>Aken</guimenu +> <guisubmenu +>Tööriistaribad</guisubmenu +> <guimenuitem +>Joondus</guimenuitem +> </menuchoice> +</term> +<listitem +><para +></para +></listitem> +</varlistentry> +</variablelist> +</listitem> +</varlistentry> +</variablelist> +</para> +</sect2> + +<sect2> +<title +>Seadistustemenüü</title> +<para> +<variablelist> +<varlistentry> +<term +><menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>Kiirklahvide seadistamine</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Võimaldab näha ja muuta klaviatuuril kasutatavaid redaktori kiirklahve.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>Kiirklahvide seadistamine</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Võimaldab lisada ja eemaldada &kommander;i pluginaid. Uue plugina lisamise järel tuleb redaktor taaskäivitada.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>Redaktori seadistamine</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Võimaldab seadistada tekstiredaktori, mida kasutatakse Kommanderi vidinatega seotud teksti muutmiseks.</action +></para +></listitem> +</varlistentry> +<varlistentry> +<term +><menuchoice +><guimenu +>Seadistused</guimenu +> <guimenuitem +>&kommander;i seadistamine</guimenuitem +> </menuchoice +></term> +<listitem +><para +><action +>Võimaldab seadistada redaktori välimust ja tööomadusi.</action +></para +></listitem> +</varlistentry> +</variablelist> +</para> +</sect2> + +<sect2> +<title +><guimenu +>Abi</guimenu +>menüü</title> +&help.menu.documentation; </sect2> + + +</sect1> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/extending.docbook b/tde-i18n-et/docs/kdewebdev/kommander/extending.docbook new file mode 100644 index 00000000000..f02ab2c57c5 --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/extending.docbook @@ -0,0 +1,445 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<chapter id="extending"> +<chapterinfo> +<authorgroup> +<author +><firstname +>Andras</firstname +> <surname +>Mantia</surname +> <affiliation +><address +><email +>amantia@kde.org</email +></address +></affiliation> +</author> +<author +><firstname +>Michal</firstname +> <surname +>Rudolf</surname +> <affiliation +><address +><email +>mrudolf@kdewebdev.org</email +></address +></affiliation> +</author> + +<othercredit role="translator" +><firstname +>Marek</firstname +> <surname +>Laane</surname +> <affiliation +><address +><email +>bald@smail.ee</email +></address +> </affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> + +</authorgroup> +</chapterinfo> +<title +>&kommander;i laiendamine</title> + +<sect1 id="create-widgets"> +<title +>&kommander;i vidinate loomine</title> +<para +>&kommander;iga saab päris lihtsalt luua uusi vidinaid ka &kommander;i-väliste vidinate põhjal. </para> +<para +>&kommander;ile saab uusi vidinaid luua kahel viisil: luues pluginaid või lisades neid otseselt &kommander;i lähtekoodi. </para> +<sect2 id="create-class"> +<title +>Vidinaklassi loomine</title> +<para +>Esimeseks sammuks on vidinaklassi loomine. Selleks tuleb tuletada oma uus &kommander;i vidina klass &Qt;/&kde; vidinast, mida soovid &kommander;iga põimida, ning seejärel ka klassist KommanderWidget. Selle klassi alistamismeetodid annavadki &kommander;i vidinale vajalikud funktsioonid. </para> +<para +>Enamik &kommander;i vidina koodist on lihtsalt mallkood. Seepärast saab enamiku &kommander;i vidina koodi genereerimiseks ära kasutada KDevelopi &kommander;i plugina malli. Selleks käivita KDevelop (soovitavalt vähemalt versioon 3.5), vali <guimenu +>Projekt->Uus projekt</guimenu +>, märgi ära kastike <guilabel +>Kõigi projektimallide näitamine</guilabel +> ja vali <guilabel +>C++/&kommander;/KommanderPlugin</guilabel +> mall. Anna oma pluginale nimi ja järgi nõustaja juhiseid. </para> +<para +>Sul tuleb vaid täita vidinale olulised komponendid, näiteks olekuteave, vidina tekst jms. </para> +<para +>Oletame, et soovid luua &kommander;ile uue tekstikasti, võttes selle aluseks &kde; vidina KLineEdit. &kommander;i vidina genereerimise dialoogi kasutades võtab päisefail umbes sellise kuju: </para> +<screen +>#include <kommanderwidget.h> + +class QShowEvent; +class KomLineEdit : public KLineEdit, public KommanderWidget +{ + Q_OBJECT + + Q_PROPERTY(QString populationText READ populationText WRITE setPopulationText DESIGNABLE false) + Q_PROPERTY(QStringList associations READ associatedText WRITE setAssociatedText DESIGNABLE false) + Q_PROPERTY(bool KommanderWidget READ isKommanderWidget) + +public: + KomLineEdit(QWidget *a_parent, const char *a_name); + ~KomLineEdit(); + + virtual QString widgetText() const; + + virtual bool isKommanderWidget() const; + virtual void setAssociatedText(const QStringList&); + virtual QStringList associatedText() const; + virtual QString currentState() const; + + virtual QString populationText() const; + virtual void setPopulationText(const QString&); +public slots: + virtual void setWidgetText(const QString &); + virtual void populate(); +protected: + void showEvent( QShowEvent *e ); +signals: + void widgetOpened(); + void widgetTextChanged(const QString &); +}; +</screen> +<para +>Peamiselt on tegemist mallkoodiga, mille üle ei tasu pead murda. Tähele tuleb panna vaid kaht asja: fail kommanderwidget.h peab olema kaasatud kohe alguses ning klass peab olema esmalt tuletatud vidinast, mida me soovime lõimida &kommander;iga ja teiseks KommanderWidget'ist. </para> +<para +>cpp-failis on teatud osad, mida tuleb iga konkreetse vidina puhul tähele panna. </para> +<screen +>KomLineEdit::KomLineEdit(QWidget *a_parent, const char *a_name) + : KLineEdit(a_parent, a_name), KommanderWidget(this) +{ + QStringList states; + states << "default"; + setStates(states); + setDisplayStates(states); +} +</screen> +<para +>Konstruktoris saab määrata vidina võimalikud olekud. Meie tekstikastil ei ole mingeid olekuid, sestap anname talle ainult ühe, vaikimisi oleku <emphasis +>default</emphasis +>. Kui lood vidina, millel võib olla mitu olekut, näiteks märkekasti, siis saab siin määrata kolm olekut: märkimata (<emphasis +>unchecked</emphasis +>), poolmärgitud (<emphasis +>semichecked</emphasis +>) ja märgitud<emphasis +>checked</emphasis +>. </para> +<screen +>QString KomLineEdit::currentState() const +{ + return QString("default"); +}</screen> +<para +>Eespool määrasime konstruktoris olekud ning see tagastab lihtsalt vidina aktiivse oleku. Meie vidina puhul on see alati <emphasis +>default</emphasis +>, aga muidu tuleb siia kirjutada kood, mis kontrollib, millises olekus vidin parasjagu on, ning tagastab vajaliku teate. </para> +<screen +>QString KomLineEdit::widgetText() const +{ + return KLineEdit::text(); +} + +void KomLineEdit::setWidgetText(const QString &a_text) +{ + KLineEdit::setText(a_text); + emit widgetTextChanged(a_text); +} +</screen> +<para +>Need on kaks kõige tähtsamat meetodit, mis sisaldavat põhiosa funktsionaalsest koodist. Meetod <emphasis +>QString KomLineEdit::widgetText() const</emphasis +> tagastab vidina teksti (teksti, milleks tekstiseoses laiendatakse eri <emphasis +>@widgetText</emphasis +>. Meie vidina puhul on tekst see, mida kirjutatakse tekstikasti, nii et see tagastataksegi. Vidina teksti määramisel tuleb meil määrata tekstikasti kirjutatav tekst. Me saadame pärast vidina teksti määramist signaali <emphasis +>widgetTextChanged()</emphasis +>, et teised vidinat teaksid, et seda vidinat on uuendatud. </para> +<para +>Vidinale funktsionaalsuse lisamiseks tuleb registreerida vastavad funktsioonid ja lisada neile vajalik kood. Registreerimiseks mõeldud kood tuleb asetada cpp-faili algusse konstruktori ette: </para> +<screen +>#include <klocale.h> //for i18n + +#include "kommanderplugin.h" +#include "specials.h" + +enum Functions { + FirstFunction = 1159, + Function1, + Function2, + LastFunction +}; +KomLineEdit::KomLineEdit(QWidget *a_parent, const char *a_name) + : KLineEdit(a_parent, a_name), KommanderWidget(this) +{ + ... //code like described above + KommanderPlugin::setDefaultGroup(Group::DCOP); + KommanderPlugin::registerFunction(Function1, "function1(QString widget, QString arg1, int arg2)", i18n("Call function1 with two arguments, second is optional."), 2, 3); + KommanderPlugin::registerFunction(function2, "function2(QString widget)", i18n("Get a QString as a result of function2."), 1); +} +</screen> +<para +>See registreerib kaks funktsiooni: <emphasis +>function1 ja function2</emphasis +>. Funktsioonile omistatav number (siin <emphasis +>1160</emphasis +> ja <emphasis +>1161</emphasis +>) peab olema unikaalne, seda ei tohi kasutada üheski muus pluginas ega &kommander;is endas. Funktsioonile <emphasis +>function1</emphasis +> võib anda kaks argumenti, millest üks pole kohustuslik; funktsioonil <emphasis +>function2</emphasis +> ei saa anda ühtegi argumenti ja see tagastab stringi. Argument <emphasis +>QString widget</emphasis +> näitab, et funktsioonid tegutsevad vidinas, näiteks: <emphasis +>KomLineEdit.function1("foo", 1)</emphasis +>. </para> +<para +>Et ka &kommander; teaks ,et vidin neid funktsioone toetab, lisa selline meetod: </para> +<screen +>bool KomLineEdit::isFunctionSupported(int f) +{ + return (f +> FirstFunction && f < LastFunction) || f == DCOP::text; +} +</screen> +<para +>See tähendab, et KomLineEdit toetab ülaltoodud funktsioone ja standardset funktsiooni <emphasis +>text</emphasis +>. Funktsiooni koodi saab käsitleda meetodi handleDCOP raames: </para> +<screen +>QString KomLineEdit::handleDCOP(int function, const QStringList& args) +{ + switch (function) + { + case function1: + handleFunction1(arg[0], arg[1].toInt()); //call your function1 handler + break; + case function2: + return handleFunction2(); //call function2 + break; + case DCOP::text: + return text(); //call the standard KLineEdit::text() method + break; + default: + return KommanderWidget::handleDCOP(function, args); + } + return QString::null; +} +</screen> +<para +>Tegemist on juhtudega, kus vidin võib olla redaktoris ja executoris erinev, näiteks skriptiobjektide, infodialoogi vms. puhul. Tavaliselt näidatakse vidina asemel QLabel'it. Selleks peab vidin tulenema QLabel'ist, milleks konstruktoris peab seisma järgmine kood: </para> +<screen +>if (KommanderWidget::inEditor) + { + setPixmap(KGlobal::iconLoader()->loadIcon("iconname", KIcon::NoGroup, KIcon::SizeMedium)); + setFrameStyle(QFrame::Box | QFrame::Plain); + setLineWidth(1); + setFixedSize(pixmap()->size()); + } + else + setHidden(true); +</screen> +<para +>Ka vidina enda (kui sul läheb üldse vidinat tarvis - vahest pakub sinu "vidin" kõigest võimalust kasutada andmebaasi vms.) võib luua mõnes funktsioonis, näiteks funktsioonis <emphasis +>execute</emphasis +>. Toome näite infodialoogi põhjal: </para> +<screen +>QString AboutDialog::handleDCOP(int function, const QStringList& args) +{ + switch (function) { + ... + case DCOP::execute: + { + if (m_aboutData) + { + KAboutApplication dialog(m_aboutData, this); + dialog.exec(); + } + break; + } + ... +} +</screen> +<para +>Nüüd ongi &kommander;i vidin valmis. Jääb üle vaid muuta see &kommander;ile kättesaadavaks pluginate abil. </para> + +</sect2> + +<sect2 id="create-plugin"> +<title +>&kommander;i plugina loomine</title> +<para +>Kõiki &kommander;i vidinaid pakuvad pluginad. Standardvidinad laaditakse vidinapluginatena, kuid &kommander;i redaktor on samuti lingitud selle teegiga, sest teatud mehhanismid redaktoris on seotud spetsiaalselt standardvidinatega. </para> +<para +>&kommander;i plugin on lihtsalt ühisteek sümboliga 'kommander_plugin'. See sümbol on funktsioon, mis tagastab viida klassi KommanderPlugin isendile. </para> +<para +>&kommander; võimaldab väga lihtsalt luua vidinatele pluginat, nii et kirjeldatud süvateadmiste pärast ei tasu muret tunda. Põhiline on tuletada oma vidinate uus pluginaklass baasklassist KommanderPlugin ja teostada mõned konkreetsed üksikasjad. Mallkoodi saab genereeriga ülalmainitud KDevelopi projektimallist. </para> +<para +>Järgnev kood jätkab meie näidet, milles me lõime Kommanderi tekstikasti. </para> +<screen +>#include <kommanderplugin.h> + +/* WIDGET INCLUDES */ +#include "komlineedit.h" + +</screen> +<para +>Kõigepealt tuleb kaasata kommanderplugin.h. See sisaldab klassi KommanderPlugin definitsiooni. Samuti tuleb kaasata kõigi vidinate päisefailid, mida antud plugin pakub - praegusel juhul on selleks ainult komlineedit.h. </para> +<screen +>class MinuKomPlugin : public KommanderPlugin +{ +public: + MinuKomPlugin(); + virtual QWidget *create( const QString &className, QWidget *parent = 0, const char *name = 0 ); +}; +</screen> +<para +>Seejärel loome KommanderPlugin'i alamklassi <emphasis +>MyKomPlugin</emphasis +>. See sisaldab lihtsalt konstruktorit ja tühistavat loomismeetodit. </para> +<screen +>MinuKomPlugin::MinuKomPlugin() +{ + addWidget( "KomLineEdit", "My Widget Group", i18n("A Kommander line edit widget") new QIconSet(KGlobal::iconLoader()->loadIcon("ikooninimi", KIcon::NoGroup, KIcon::SizeMedium))); + //add my other widgets here +} +</screen> +<para +>Plugina konstruktoris kutsume <emphasis +>addWidget()</emphasis +> välja iga vidina puhul, mida plugin meie soovide kohaselt peab pakkuda. <emphasis +>addWidget()</emphasis +> võib kasutada kuut argumenti, aga vajalikud on ainult esimesed neli. Argumendid on järgmises järjekorras: vidina klassi nimi, grupp, kohtspikker, redaktori tööriistaribal kasutatava ikooni ikoonirühm, 'Mis see on?' teave ning tõeväärtus, mis osutab, kas vidin on teiste vidinate konteiner või mitte. Seda teavet kasutab redaktor vidinate rühmitamisel menüüs, abiinfo pakkumisel jne. </para> +<para +>Mis puutub ikooni, siis toodud näide laadib keskmise suurusega ikooni <emphasis +>ikooninimi</emphasis +> &kde; ikoonide standardsest asukohast. </para> +<screen +>QWidget *MinuKomPlugin::create( const QString &className, QWidget *parent, const char *name ) +{ + if( className == "KomLineEdit" ) + return new KomLineEdit( parent, name ); + //create my other widgets here + return 0; +} +</screen> +<para +>Just <emphasis +>create()</emphasis +> loob tegelikult meie vidinate isendid. Kui &kommander; soovib mõne meie plugina pakutava klassi isendit, kutsub ta välja <emphasis +>create()</emphasis +> soovitud klassi nimega, samuti selle eellase nime ja nimega, mida hakatakse kasutama. Kui <emphasis +>className</emphasis +> vastab mõnele teadaolevale vidinale, tagastatakse selle uus isend, vastasel juhul 0. </para> +<para +>Lõpuks tuleb plugin eksportida. See on meie plugina kättesaamiskoht, mille järel &kommander; oskab teda üles leida. Ilma selleta ei pea &kommander; meie teeki &kommander;i pluginaks. </para> +<screen +>KOMMANDER_EXPORT_PLUGIN(MinuKomPlugin) +</screen> +<para +>Uue &kommander;i laiendi kompileerimiseks tuleb kompileerida kõik failid ühisteegina, linkides nad kommanderplugini, kommanderwidgeti ja kõigi vajalike KDE teekidega. Tekstikasti puhul, kus meil on komlineedit.h, komlineedit.cpp ja minukomplugin.cpp, peaks plugina kompileerimine ja paigaldamine käima umbes selliste käskudega: </para> +<screen +>libtool --mode=compile g++ -$KDEDIR/include -IQTDIR/include \ + -I. -fPIC -c komlineedit.cpp +libtool --mode=compile g++ -$KDEDIR/include -IQTDIR/include \ + -I. -fPIC -c minukomplugin.cpp + +libtool --mode=link g++ -shared -L$KDEDIR/lib -lkdeui -lkommanderwidget \ + -lkommanderplugin komlineedit.cppkomlineedit.o minukomplugin.o + -o libmykomplugin.so +</screen> +<para +>Kui soovid paigaldada uue plugina süsteemsena, kasuta järgmist käsku: </para> +<screen +>su -c "cp libminukomplugin.so $KDEDIR/lib" +</screen> +<note +><para +>Kui tarvitad KDevelopi projektigeneraatorit, ei ole ülaltoodut vaja, vaid tuleb kohandada Makefile.am-i, linkides selle täiendavate teekidega. Vaikimisi lingitakse &Qt; ja &kde; teekidega ning genereeritakse kõik vajalikud objektfailid. Anna ehitamiseks lihtsalt käsk <command +>make</command +> ja paigaldamiseks <command +>su -c make install</command +>.</para +></note> +</sect2> +<sect2 id="config-plugin"> +<title +>Paigaldatud plugina seadistamine</title> +<para +>Kui plugin on paigaldatud, käivita programm <command +>kmdr-plugins</command +> või vali redaktoris menüükäsk <guimenu +>Seadistused->Pluginate seadistamine</guimenu +>. Programmi nimekirjas on parajasti &kommander;is laaditud pluginad. Lisa uus plugin, klõpsates tööriistaribal nupule <guilabel +>Lisa</guilabel +> ja valides oma plugina. Programmi sulgemisel salvestatakse muudatused. </para> +<para +>Kui nüüd &kommander;i redaktor uuesti käivitada, on uue plugina pakutavad vidinad kättesaadavad menüüdes ja tööriistaribadel. Nüüd saab ka uusi vidinaid kasutada &kommander;i dialoogides. </para> +</sect2> +<sect2 id="add-widget"> +<title +>Vidina lisamine otse &kommander;ile</title> +<para +>See osa on mõeldud &kommander;i arendajatele ja kirjeldab, kuidas lisada uus vidin otse &kommander;ile.</para> +<para +>Mõneti irooniliselt on see omajagu keerulisem, eriti siis, kui vidin vajab täiendavaid redigeerimismeetodeid. Kõigepealt tuleb luua vidin, nagu eespool kirjeldatud. Seejärel tuleb vidin registreerida redaktoris ja executoris. Redaktoris registreerimiseks tuleb järgnev lisada faili <emphasis +>editor/widgetdatabase.cpp</emphasis +>: </para> +<screen +>... +#include "minuvidin.h" +... +void WidgetDatabase::setupDataBase( int id ) +{ + ... + r = new WidgetDatabaseRecord; + r->name = "MyWidgetName"; + r->iconName = "icon.png"; + r->group = widgetGroup( "Kommander" ); + r->toolTip = i18n("My new widget"); + append(r); + ... +} +</screen> +<para +>Lisada tuleb ka faili <emphasis +>editor/widgetfactory.cpp</emphasis +>: </para> +<screen +>... +#include "minuvidin.h" +... +QWidget *WidgetFactory::createWidget( const QString &className, QWidget *parent, const char *name, bool init, + const QRect *r, Qt::Orientation orient ) +{ + ... + else if (className == "MyWidgetName") + return new MinuVidin(parent, name); + ... +} +</screen> +<para +>Registreerimiseks executoris (sisuliselt pluginasüsteemis) tuleb järgnev lisada failile <emphasis +>widgets/plugin.cpp</emphasis +>: </para> +<screen +>KomStdPlugin::KomStdPlugin() +{ + ... + addWidget("MyWidgetName", group, "", new QIconSet(KGlobal::iconLoader()->loadIcon("iconname", KIcon::NoGroup, KIcon::SizeMedium))); + ... +} +</screen> +<para +>See sarnaneb sellele, kuidas vidin registreeriti pluginasüsteemis esimesel juhul. </para> +</sect2> +</sect1> + +</chapter> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/glossary.docbook b/tde-i18n-et/docs/kdewebdev/kommander/glossary.docbook new file mode 100644 index 00000000000..d87418e7d36 --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/glossary.docbook @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<glossary id="glossary"> + +<glossaryinfo> +<authorgroup> +<author +><firstname +>Tamara</firstname +> <surname +>King</surname +> <affiliation +><address +> <email +>tik@acm.org</email> +</address +></affiliation> +</author> + +<othercredit role="translator" +><firstname +>Marek</firstname +> <surname +>Laane</surname +> <affiliation +><address +><email +>bald@online.ee</email +></address +> </affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> + +</authorgroup> +</glossaryinfo> + +<glossdiv> +<title +>Võtmesõnad</title> +<glossentry id="text-association-glosref"> +<glossterm +>Tekstiseos</glossterm> +<glossdef> +<para +>Tekstiosa, mis on seotud või seostatud vidina konkreetse olekuga. </para> +</glossdef> +</glossentry> +<glossentry id="widget-text-glosref"> +<glossterm +>Vidina tekst</glossterm> +<glossdef> +<para +>Vidinaga seostatud tekst. Seda esindab &kommander;is eri @widgetText. Vidina tekst sõltub vidinast. </para> +</glossdef> +</glossentry> +</glossdiv> +</glossary> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/index.cache.bz2 b/tde-i18n-et/docs/kdewebdev/kommander/index.cache.bz2 Binary files differnew file mode 100644 index 00000000000..bd522984841 --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/index.cache.bz2 diff --git a/tde-i18n-et/docs/kdewebdev/kommander/index.docbook b/tde-i18n-et/docs/kdewebdev/kommander/index.docbook new file mode 100644 index 00000000000..01af09df461 --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/index.docbook @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kommander "<application +>Kommander</application +>"> + <!ENTITY kappname "&kommander;"> + <!ENTITY package "kdewebdev"> + <!ENTITY basics SYSTEM "basics.docbook"> + <!ENTITY commands SYSTEM "commands.docbook"> + <!ENTITY parser SYSTEM "parser.docbook"> + <!ENTITY credits SYSTEM "credits.docbook"> + <!ENTITY dcop-functions SYSTEM "dcop.docbook"> + <!ENTITY editor SYSTEM "editor.docbook"> + <!ENTITY extending SYSTEM "extending.docbook"> + <!ENTITY translating SYSTEM "translating.docbook"> + <!ENTITY glossary SYSTEM "glossary.docbook"> + <!ENTITY installation SYSTEM "installation.docbook"> + <!ENTITY introduction SYSTEM "introduction.docbook"> + <!ENTITY q-and-a SYSTEM "q-and-a.docbook"> + <!ENTITY specials SYSTEM "specials.docbook"> + <!ENTITY tutorials SYSTEM "tutorials.docbook"> + <!ENTITY widgets SYSTEM "widgets.docbook"> + <!ENTITY designer "<application +>&Qt; Designer</application +>"> + <!ENTITY kmdr-editor "&kommander; Editor"> + <!ENTITY kmdr-executor "&kommander; Executor"> + <!ENTITY GIMP "<application +>The GIMP</application +>"> + <!ENTITY IDE "<acronym +>IDE</acronym +>"> + <!ENTITY PHP "<acronym +>PHP</acronym +>"> + <!ENTITY PID "<acronym +>PID</acronym +>"> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % Estonian "INCLUDE"> +]> + +<book lang="&language;"> + +<bookinfo> +<title +>&kommander;i käsiraamat</title> + +<authorgroup> +<author +><firstname +>Marc</firstname +> <surname +>Britton</surname +> <affiliation +> <address +><email +>consume@optushome.com.au</email +></address> +</affiliation> +</author> +<author +><firstname +>Tamara</firstname +> <surname +>King</surname +> <affiliation +> <address +><email +>tik@acm.org</email +></address> +</affiliation> +</author> +<author +><firstname +>Eric</firstname +> <surname +>Laffoon</surname +> <affiliation +> <address +><email +>eric@kdewebdev.org</email +></address> +</affiliation> +</author> +<author +><firstname +>András</firstname +> <surname +>Manţia</surname +> <affiliation +> <address +><email +>amantia@kde.org</email +></address> +</affiliation> +</author> + +<othercredit role="translator" +><firstname +>Marek</firstname +> <surname +>Laane</surname +> <affiliation +><address +><email +>bald@smail.ee</email +></address +></affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> + +</authorgroup> + +<copyright> +<year +>2008</year> +<holder +>&kommander;i arendajate meeskond</holder> +</copyright> + +<legalnotice +>&FDLNotice;</legalnotice> + +<!-- Date and version information of the documentation +Don't forget to include this last date and this last revision number, we +need them for translation coordination ! +Please respect the format of the date (YYYY-MM-DD) and of the version +(V.MM.LL), it could be used by automation scripts. +Do NOT change these in the translation. --> + +<date +>2008-02-12</date> +<releaseinfo +>3.2.95</releaseinfo> + +<!-- Abstract about this handbook --> + +<abstract> +<para +>Käsiraamat on olnud poolvalmis juba aastaid, aga see pole sugugi alati olnud kättesaadav. Alates 2002. aastast on &kommander;it teatud vaheaegadega tohutult arendatud. &kommander; kasutab arendustegevuses uut lähenemisviisi ning väga paljud asjad on muutunud ja lisandunud on uusi omadusi. Seepärast on käsiraamat osaliselt aegunud, aga vähemalt ajaloo näitamiseks siiski omal kohal. Kõige täpsemat teavet leiab meie veebileheküljelt <ulink url="http://kommander.kdewebdev.org" +>http://kommander.kdewebdev.org</ulink +>, kus võib tutvuda uudistega nii KDE4 arenduse kui ka uute tööriistade, pluginate kohta ning nõuannete ja õpetustega.</para> +<para +>&kommander; kujutab endast valikut tööriistu, mille abil saab luua dünaamilisi &GUI; aknaid, mida saab kasutada käsureaprogrammide või andmebaaside kasutajaliidesena, lihtsate programmilaiendustena ja veel mitmel puhul. Ja kogu asja parim külg on see, et sa ei pea oma käega kirja panema ühtki koodirida! Olgu, see oli juba varasemast teada... Aga funktsioonibrauserit ja isegi uut parserit saab kasutada nii, et koodi pole vaja õieti kirjutadagi. &kommander;i ja teiste &GUI; skriptimistööriistade põhimõtteline erinevus seisab selles, et &kommander; ei vaeva pead sellega, kuidas kuvada aknaid. &kommander; taandab GUI keeleelementideks ning võib ära kasutada õige paljusid programmeerimiskeeli. &kommander; ei kasuta skriptimist akna joonistamiseks ekraanile, nagu teevad teised &GUI; skriptimistööriistad. Kommanderi arenedes võetakse kasutusele kõikvõimalikud skriptikeeled, mida vaid keegi soovib kasutada. Me tervitame loomulikult kõiki, kes soovivad parandada mis tahes skriptikeele toetust. </para> +</abstract> + +<!-- This is a set of Keywords for indexing by search engines. +Please at least include KDE, the KDE package it is in, the name + of your application, and a few relevant keywords. --> + +<keywordset> +<keyword +>KDE</keyword> +<keyword +>Kommander</keyword> +<keyword +>Quanta</keyword> +</keywordset> + +</bookinfo> + +&introduction; +&basics; +&commands; +&parser; +&extending; +&translating; +&tutorials; +&q-and-a; +&credits; +&installation; +&glossary; + +</book> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/installation.docbook b/tde-i18n-et/docs/kdewebdev/kommander/installation.docbook new file mode 100644 index 00000000000..8a4c724ea0e --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/installation.docbook @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<appendix id="installation"> +<title +>Paigaldamine</title> + +<sect1 id="getting-kapp"> +<title +>&kommander;i hankimine</title> +&install.intro.documentation; <para +>&kommander;il on oma kodulehekülg aadressil <ulink url="http://kommander.kdewebdev.org" +>http://kommander.kdewebdev.org</ulink +>. </para> +</sect1> + +<sect1 id="requirements"> +<title +>Nõuded</title> + +<!-- +List any special requirements for your application here. This should include: +.Libraries or other software that is not included in kdesupport, +kdelibs, or kdebase. +.Hardware requirements like amount of RAM, disk space, graphics card +capabilities, screen resolution, special expansion cards, etc. +.Operating systems the app will run on. If your app is designed only for a +specific OS, (you wrote a graphical LILO configurator for example) put this +information here. +--> +<para +>&kommander; vajab &kde; 3.x uusimat versiooni, milleks praegu on 3.5.9. Ta võib tööötada ka varasemate 3.5 seeria versioonidega, kuid seda ei ole väga põhjalikult testitud. </para> +</sect1> + +<sect1 id="compilation"> +<title +>Kompileerimine ja paigaldamine</title> +&install.compile.documentation; </sect1> + +</appendix> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/introduction.docbook b/tde-i18n-et/docs/kdewebdev/kommander/introduction.docbook new file mode 100644 index 00000000000..53078d522de --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/introduction.docbook @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<chapter id="introduction"> +<chapterinfo> +<title +>Sissejuhatus</title> +<authorgroup> +<author +><firstname +>Eric</firstname +> <surname +>Laffoon</surname +> <affiliation +> <address +><email +>sequitur@kde.org</email +></address> +</affiliation> +</author> + +<othercredit role="translator" +><firstname +>Marek</firstname +> <surname +>Laane</surname +> <affiliation +><address +><email +>bald@smail.ee</email +></address +> </affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> + +</authorgroup> +</chapterinfo> + +<title +>Sissejuhatus</title> + +<para +>&kommander; on graafiline dialoogide loomise tööriist, millega võib luua isegi võimsaid rakendusi tingimusel, et aken on algselt loodud Qt Disaineris või malli põhjal &kommander;is. Selle põhiline eesmärk on pakkuda maksimaalseid võimalusi ilma vajaduseta tarvitada mis tahes skriptikeelt. See on saavutatud järgmiste vahenditega: </para> +<note +><para +>Palun pane tähele, et käsiraamatus leidub ühilduvuse huvides ka aegunud osasid. Põhimõtteliselt areneb &kommander; väga kiiresti ning pidevalt lisandub uusi võimalusi ja omadusi. Allpool on kõigepealt ära toodud kaasajastatud loend, seejärel aga varasem sisu.</para +></note> + +<itemizedlist> +<listitem> +<para +><emphasis +>Võimekas seesmine skriptimine</emphasis +> - &kommander; võimaldab nüüd pesastatud loogilisi struktuure, lihtsaid massiive ja kasulikke funktsioone </para> +</listitem> +<listitem +><para +><emphasis +>Funktsioonibrauserid</emphasis +> - enam ei ole vaja teada funktsiooni või käsu täpset süntaksit, piisab vaid klõpsust nupule ning seejärel klõpsamisest vajalikule kohas programmis. Isegi projektijuhtide meelest on see lihtsam kui aina kirjutamisvigasid parandada.</para> +</listitem> +<listitem +><para +><emphasis +>Väga palju vidinaid</emphasis +> - &kommander; pakub nüüd puu/detailividinat, arvutustabeli laadset tabelividinat, fondidialoogi, värvidialoogi, infodialoogi, taimerit, kaardividinaid, tööriistakasti, hüpikmenüüsid, kuupäevavalijat ja veel paljusid teisi vidinaid. </para> +</listitem> +<listitem> +<para +><emphasis +>Pluginad</emphasis +> - &kommander;is on päris lihtne luua pluginaid. Käsiraamatu kirjutamise ajal oli valida järgmiste pluginate seast: andmebaasiplugin, mis pakub mitmeid mittevisuaalseid tööriistu, HTTP-plugin, mis pakub HTTPS võimalust ja ligipääsu parooliga kaitstud aladesse, ning KParti laadija. </para +></listitem> +<listitem> +<para +><emphasis +>Skriptikeelte toetus</emphasis +> - &kommander;i skriptidega saab dialoogis käivitada väga mitmes skriptikeeles skripte. </para +></listitem> +<listitem> +<para +><emphasis +>KParti loomine</emphasis +> - võimalus luua omaenda pluginaid... ja mis veel parem, Kommanderi aknas saab lasta isegi laadida dialoogi KPartina ning seda vahetult kasutada &kommander;i funktsioonide abil! </para +></listitem> +</itemizedlist> +<para +>Nippide osas räägitakse lähemalt, kuidas panna &kommander; matkima selliseid programmeerimisvõtteid, nagu faili kaasamine, kohandatud vidinate loomine ja kasutamine, ahendatavate-laiendatavate paneelide kasutamine akendes ja muud päris huvitavad trikid. Nüüd aga järgneb omaduste nii-öelda ajalooline osa.</para> +<itemizedlist> + + +<listitem +><para +>Eride ette on lisatud <quote +>@</quote +>, näiteks @widgetText. See võimaldab määratleda spetsiaalseid omadusi, nagu vidina väärtus, funktsioonid, aliased, globaalsed muutuja ja nii edasi.</para +></listitem> + + +<listitem +><para +>Põimimine &DCOP;-iga lubab &kommander;i dialoogidel kontrollida muid &kde; rakendusi, aga samas lasta ka ennast nende poolt juhtida. See on tõesti väga võimas omadus!</para +></listitem> + +<listitem +><para +>Signaalid ja pesad on algajale vahest veidi segasemad. Praegu on veel lahtine, kuidas nende suhtes edasi minna. Igatahes pakuvad nad hetkel piiratud võimalusi sündmusteks näiteks nupu vajutamisel või elemendi muutmisel. Kuid koos <quote +>populatsioonitekstiga</quote +> on ka neil väga suured kasutamisvõimalused.</para +></listitem> +</itemizedlist> + +<para +>&kommander;i dialoogide kõige olulisem omadus on võimalus siduda teksti (&kommander;i teksti) vidinaga. Kui sul on näiteks @widget1 ja @widget2 ning need on tekstikastid, võid panna &kommander;i nende sisu näitama, sisestades &kommander;i tekstialale @widgetText. Seejärel kirjuta näiteks @widget1 'Tere' ja @widget2 'maailm'.. Nupul võib olla string Minu esimene @widget1 @widget2 programm &kommander;is. Kui nüüd käivitada see dialoog konsoolilt, saad väljundiks 'Minu esimene Tere maailm programm &kommander;is'. </para> + +<para +>Loodetavasti aitas see sul mingil määral juba näha ees terendavaid hiiglaslikke võimalusi. &kommander; pakub lihtsatele rakendustele väga kiiret kujundamismudelit, sest sa ei pruugi enam pidevalt mõelda programmeerimiskeele eripärale, vaid saad keskenduda põhilisematele asjadele - kontseptsioonidele. Arvutikeeles öelduna paikneb sinu töötasand põhimõttelise kontseptsiooni ja teostuse vahel ning muidu keeruline ja aeganõudev etapp on &kommander;i abil kohe palju lihtsam. </para> + +<para +>&kommander; püüab ka kinni pidada olemasolevatest standarditest. Rakenduse aluseks on &Qt; Disaineri raamistik ning tegelikult luuakse siin *.ui-faile, mis lihtsalt nimetatakse ümber *.kmdr-failideks. Rakendus suudab hõlpsasti importida mis tahes &kde; vidinaid ning selleks ei ole vaja isegi &kommander;is midagi tõsiselt muuta, vaid lihtsalt kasutada pluginaid. </para> + +<para +>&kommander;i teine tähelepanuväärne omadus on programmeerimiskeelte nõuete järgimine. Arvutikeeled võivad olla küll imepärased asjad, kuid sageli on neil oma dogmad ja fanaatikud, kes püüavad tihtipeale laiendada oma tegevust ka integreeritud arenduskeskkonnas &GUI; kujundamisel. Paraku on sellise &IDE; kasutusala piiratud inimestega, kes soovitud omaduse kasutamiseks soovivad selgeks teha vastava programmeerimiskeele. Ei ole aga sugugi mõistlik eeldada, et erinevate omaduste kasutamiseks võtab keegi tõesti ette näiteks kümnekonna programmeerimiskeele äraõppimise. Keelte suhtes neutraalne &kommander;, mille dialooge saab laiendada mis tahes skriptikeelt kasutades, on sel moel ennast seadnud positsiooni, kus &kommander;it võib ees oodata laialdane kasutuselevõtt. Ühes ja samas dialoogis saab pruukida erinevaid skriptikeeli, rakendustega võivad tegelda ka need, kes ei valda algse arendaja programmeerimiskeelt, ning sellele vaatamata neid edasi laiendada. Uusi vidinaid ja võimalusi saab aega viitmata teisendada igasse kättesaadavasse programmeerimiskeelde. </para> + +<para +>Me loodame, et &kommander; omandab tasapisi hea maine arendajate silmis, kes tunnevad ära, millised suured võimalused selles peituvad. Meie lõppsiht on muuta &kommander; tulusaks abivahendiks ka algajatele, et nad võiks oma rakendusi laiendada ja uusi võimalusi liita. Samal ajal peab see jääma ka asjalikuks prototüübivahendiks. Ühtlasi avab &kommander; uued võimalused vaba tarkvara edendamiseks. Me teame, et meie GPL-litsentsiga levitatavaid programme saab laiendada, kuid paraku napib paljudel selleks oskusi. &kommander; aga võib selliste inimeste hulka mitmekordistada! Vähesed rakendused on nii loogilise kasutamisega kui &kommander;. Me ise juba kasutame seda näiteks &quantaplus;-i laiendamisel. </para> + +<para +>Me loodame, et &kommander; meeldib sulle. Väga tore oleks, kui sa saaksid meid abistada vigadest teatades, näidisdialooge saates või uusi võimalusi taotledes. Meie kasutajate meililistiga, mis on mõeldud &kommander;i arendamise edendamiseks, saab liituda <ulink url="http://mail.kdewebdev.org/mailman/listinfo/kommander" +>sellel aadressil</ulink +>. </para> + +<para +>&kommander;i arendajate meeskond soovib sulle kõike paremat!</para> + +</chapter> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/parser.docbook b/tde-i18n-et/docs/kdewebdev/kommander/parser.docbook new file mode 100644 index 00000000000..100bbd5eae3 --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/parser.docbook @@ -0,0 +1,1567 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<chapter id="new_parserdocs"> +<chapterinfo> +<title +>&kommander;i uus parser</title> +<authorgroup> +<author +><firstname +>Michal</firstname +> <othername +></othername +> <surname +>Rudolf</surname +> <affiliation +> <address +><email +>mrudolf@kdewebdev.org</email +></address> +</affiliation> +</author> +<author +><firstname +>Eric</firstname +> <othername +></othername +> <surname +>Laffoon</surname +> <affiliation +> <address +><email +>eric@kdewebdev.org</email +></address> +</affiliation> +</author> +<othercredit role="translator" +><firstname +>Marek</firstname +><surname +>Laane</surname +><affiliation +><address +><email +>bald@smail.ee</email +></address +></affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> +</authorgroup> +<copyright +> <year +>2005-2008</year +> <holder +>Michal Rudolf</holder +> <holder +>Eric Laffoon</holder +> </copyright +> <legalnotice +>&FDLNotice;</legalnotice +> </chapterinfo> + +<title +>Uue parseri dokumentatsioon</title> +<para +>Uus parser lisati &kommander;isse versioonis 1.2, mis nägi ilmavalgust KDE 3.4 koosseisus. Käesolev dokument pidi algselt kirjeldama kõiki uue parseri omadusi. Nüüd, kus KDE 3.5.9 koosseisus on välja lastud &kommander; 1.3, on uus parser juba vaikimisi kasutusel, välja arvatud peaaknaga (MainWindow) rakenduste puhul, mis luuakse &Qt; Disaineris. Et uus parser on tunduvalt võimekam, ilma vanale parserile omase pesastamise piiranguta ning väga paljude uute omadustega, soovitame tungivalt seda kasutada. </para> +<para +>&kommander;ist endast siin juttu ei tule. Kui soovid teada saada, mis on &kommander;, kuidas luua dialooge ja kuidas manipuleerida käitusajal vidinatega, uuri käsiraamatu teisi osi. </para> +<!-- +</chapter> + + + +<chapter id="two_parsers"> +<title +>New parser vs. old parser</title> +--> +<sect1 id="two_parsers"> +<title +>Vana parser</title> +<para +>Alljärgnevalt võrdleme kaht parserit. Kuigi me soovitame üldjuhul uut parserit, on ka vana endiselt toetatud ja kasulikki, eriti kui asi puudutab teiste skriptikeelte kasutamist. </para> + +<sect2 id="old_parser"> +<title +>Vana parser</title> +<para +>Vana parser oli tegelikult makroparser. Tunnustati ainult stringe, mille alguses seisis @, mida siis parsiti loogiliselt ja laiendati. <screen +>@LineEdit1.setText(@ListBox.selection) +</screen> +</para> + +<para +>Kõige selle aluseks olev funktsionaalsus (kohalikud muutujad, avaldised,failide manipuleerimine) tuli teha mõnes teises skriptikeeles, näiteks Bash. Ehkki &kommander;i eesmärk on toetada kõiki skriptikeeli, mis on juba praegu teatud määral võimalik, oli vaja kiirest ja natiivset skriptikeelt, mis oleks kindlasti porditav. Vana parseri suurim probleem oli see, et &kommander;i erisid hinnati <emphasis +>enne</emphasis +> koodi edastamist skriptikeelel, mis muutis võimatuks nende kasutamise silmustes ja tingimustes.</para> +<para +>Arendajate meelest ei ole bash kuigi kiire ega uutele kasutajatele mõistetav, vana parser aga oli algselt just bash, mis kutsus välja DCOP-i. Et &kommander; tahab olla programmeerimiskeeltest sõltumatu, tekkis vajadus muudki kui funktsioonid ise teostada. </para> +</sect2> + +<sect2 id="new_parser"> +<title +>Uus parser</title> +<para +>Uus parser on täielik parser. See parsib kogu skripti, mitte ainult funktsioone. Et meid huvitab eelkõige graafiline kasutajaliides, mitte aga skriptikeeled ise, tuli teha kompromisse. Seepärast leiad kindlasti, et &kommander;i skriptid suudavad toime tulla kõigi peamiste ülesannetega ning neid on lihtne ja hõlpus kasutada. Kõike sinu loodut koondab endasse <emphasis +>Funktsioonisirvija</emphasis +>. Funktsioonisirvija mõte on võimaldada &kommander;i uustulnukatest kasutajatel ligi pääseda kõigele, mida vaid vaja. Põhimõtteliselt sarnaneb see mõnevõrra näiteks tabelarvutusrakenduses KSpread kasutatava sirvijaga, mis aitab valida funktsioone ja sisestada neisse vajalikke parameetreid. <tip +><para +>Kui soovid ära kasutada mõne teise skriptikeele funktsionaalsust, saab neid kaasa &kommander;i skriptiobjektidesse vastava päisekirjega. Funktsioonisirvija aitab sisestada viited vidinatele. Tuleb lihtsalt meeles pidada, et parser uurib ühe käigu ajal vana parseri funktsioone ja teise käigu ajal sinu skripti. Nii et kui püüad vidinas midagi muuta ja loed seda keset skripti, ei pruugi tulemus olla just selline, nagu ootasid.</para +></tip> +<screen +>#!/usr/bin/php +</screen> +</para> +<para +>Järgnevad on versiooni 1.2 omadused</para> +<itemizedlist> +<listitem +><para +>kohalikud ja globaalsed muutujad ning assotsiatiivsed massiivid</para +></listitem> +<listitem +><para +>arvavaldised</para +></listitem> +<listitem +><para +>stringide manipuleerimine</para +></listitem> +<listitem +><para +>mitmesugused struktuurikäsud: if, while, for, foreach</para +></listitem> +<listitem +><para +>enamik vana parseri funktsioone</para +></listitem> +<listitem +><para +>vidinate otsene manipuleerimine</para +></listitem> +<listitem +><para +>palju lisafunktsioone</para +></listitem> +<listitem +><para +>korralik käivitamisaeg</para +></listitem> +<listitem +><para +>parameetrite saamine signaalidelt skripti pesades</para +></listitem> +</itemizedlist> +<para +>Järgnevad on versiooni 1.3 omadused</para> +<itemizedlist> +<listitem +><para +>parameetrite edastamine ja saamine skripti käivitamise väljakutsetega</para +></listitem> +<listitem +><para +>väärtuse tagastamine skriptist</para +></listitem> +<listitem +><para +>vidinate loomine lennult</para +></listitem> +<listitem +><para +>signaalide ja pesade ühendamine lennult</para +></listitem> +<listitem +><para +>muutuja aliase kasutamine vidina nimeks</para +></listitem> +<listitem +><para +>lihtsad indekseeritud massiivi funktsioonid</para +></listitem> +<listitem +><para +>otsene ligipääs vidinate pesadele</para +></listitem> +</itemizedlist> +</sect2> + +<sect2 id="invoking"> +<title +>Uue parseri kasutamine</title> +<para +>Uue parseri lubamiseks anna dialoogi omadusele <command +>useInternalParser</command +> property väärtus <command +>tõene</command +>. Samuti saab uue parseri lubada konkreetses skriptis, lisades <screen> +#!kommander +</screen +> skripti esimesele reale. Pane tähele ka seda, et kui kasutad skriptis mõnda muud skriptikeelt, siis jõustab &kommander; automaatselt vana parseri, et skript ja dialoog ikka korralikult koostööd teeksid. <screen +>#!/bin/bash +echo @Self.item(0) +# returns first parameter passed to script +# echo $returnvalue passes back to calling script +</screen> +</para> +</sect2> +</sect1> +<!-- +</chapter> +<chapter id="features"> +--> +<sect1 id="features"> +<title +>Uue parseri omadused</title> + +<sect2 id="types"> +<title +>Tüübid</title> +<para +>Iga väärtuse tüüp on kas string, täisarv või double. Tüübiteisendus on automaatne ning alati valitakse kõige sobivam tüüp (kui näiteks lisad täisarvule double'i, on tulemuseks double). Kui üks väärtus on string, on ka tulemus string. </para> +<para +>Raskustesse võib sattuda arvväärtuse hankimisel vidinast ja sellega matemaatilise tehte sooritamise puhul. Kuna &kommander; kasutab kahe tekstistringi ühendamiseks tehet <command +>+</command +>, võib ta tõlgendada <command +>LineEdit1.text + 2</command +> kui <command +>22</command +>, aga mitte kui <command +>2</command +>. Probleemide vältimiseks uuri osa <link linkend="string_functions" +>Stringifunktsioonid</link +>. </para> +</sect2> + +<sect2 id="expressions"> +<title +>Avaldised</title> +<para +>Toetatud on järgmised matemaatilised tehted: <command +>+, -, *, mod, </command +>. Enesestmõistetavalt on toetatud ka tavalised sulud. </para> + +<para +>Toetatud on kõik võrdlused: <command +><</command +>, <command +>></command +>, <command +><=</command +>, <command +>>=</command +>, <command +>==</command +>, <command +>!=</command +>. <command +>!=</command +> asemel võib kasutada ka <command +><></command +>. Samuti on toetatud loogilised tehted <command +>and</command +>, <command +>or</command +> ja <command +>not</command +>, samuti nende C ekvivalendid (<command +>&&</command +>, <command +>||</command +>, <command +>!</command +>). </para> + +<para +>Stringide puhul võib nende liitmiseks kasutada tehet <command +>+</command +>. </para> + +<para +>Mõned korrektsete avaldiste näited: <screen +>2+3 +-5 * (2 - 13 mod 3) +"Loendil on " + 12 + "elementi." +</screen> +</para> +</sect2> + +<sect2 id="variables"> +<title +>Muutujad</title> +<para +>Muutujaid ei ole vaja deklareerida. Kui kasutad muutujat, võetakse seda kui deklareeritut. Muutuja <link linkend="types" +>tüüp</link +> tuvastatakseautomaatselt, seda võib hiljem muuta. </para> + +<para +>Toetatud on ka assotsiatiivsed massiivid. Need seostavad stringivõtmed suvalist tüüpi väärtustega. Massiivi deklareerimiseks lisa sellesse lihtsalt mõni element, näiteks: <command +>A["Quanta"] = "Web editor"</command +>. Massiive saab käsitleda ka käsuga <link linkend="foreach" +>foreach</link +> ja <link linkend="array_functions" +>massiivifunktsioonidega</link +>. </para> + +<para +>Toetatud on kohalikud ja globaalsed muutujad. Globaalsed muutujad on tähistatud alustava alakriipsuga. See tähendab, et <command +>minuMuutuja</command +> on kohalik, aga <command +>_minuMuutuja</command +> globaalne. Sama kehtib massiivide kohta. </para> + +<screen +>a = 5 +b = 2 * 5 - (a + 1) +c = "[Item " + b + "]" +d["MyKey"] = "MyValue" +d["MyKey2"] = 5 +</screen> + +<para +>Muutujate kasutamine vidinates on üsna tavapärane. See tuleb kasuks näiteks vidinate silmuste puhul tabelis. </para> + +<screen +>for i=0 to 10 do + mycombo = "ComboTable"+i + createWidget(mycombo, "ComboBox", "Form1") +end +</screen> +</sect2> + +<sect2 id="comments"> +<title +>Kommentaarid</title> +<para +>Kommentaare saab &kommander;is kasutada kahe programmeerimiskeelte traditsioonilise kommentaarivormi kujul. Kes ei ole programmeerimisega tuttavad, heitku pilk allapoole, kus on näha, mida tähendab <quote +>traditsiooniline vorm</quote +>. Soovi korral võid alloleva teksti kopeerida ja asetada nupu või dialoogi initsialiseerimisse, et näha, kuidas kommentaarid tegelikult toimivad. </para> +<screen +>// this is a comment for one line +message_info("Hello World") //traditional first program +// the above comment also ignored - the messagebox is not +# this is also a comment +message_info("This message will show") +</screen> +<para +>Järgnev mitmerealine kommentaar <emphasis +>ei</emphasis +> toimi ja selle kasutamine põhjustab ülejäänud vidina käivitamise nurjumise. </para> +<screen +>/* +Hei, mina siin tahtsin olla üks kommentaarike +Pärast mind skripti enam edasi ei käivitata +ÄRA KASUTA SELLISEID KOMMENTAARE KOMMANDERIS! +*/ +</screen> +</sect2> + +<sect2 id="globals"> +<title +>Sisseehitatud globaalsed muutujad</title> +<para +>&kommander; pakub mitmeid käepäraseid sisseehitatud globaalseid muutujaid. </para> +<itemizedlist> +<listitem> +<para +><command +>_ARGS</command +> - dialoogile avamisel edastatav argumendistring </para +></listitem> +<listitem> +<para +><command +>_ARGCOUNT</command +> - edastatavate argumentide arv. Need hangitakse argumentidest <command +>ARG1</command +> kuni <command +>ARGn</command +>, kus n on edastatavate argumentide koguarv </para +></listitem> +<listitem> +<para +><command +>_KDDIR</command +> - kataloog, millest dialoog käivitatakse. &kommander; kasutab vaikimisi sinu kodukataloogi, aga seda võib muidugi muuta. See on kasulik failide salvestamiseks ja lugemiseks &kommander;i failiga. </para +></listitem> +<listitem> +<para +><command +>_NAME</command +> - seda ei ole põhjust kasutada, nii et ära siis seda kasuta </para +></listitem> +<listitem> +<para +><command +>_PID</command +> - aktiivse dialoogi protsessi ID, põhimõtteliselt sama mis <emphasis +>pid</emphasis +>. Seda nime ei tasuks oma muutujates kasutada! </para +></listitem> +<listitem> +<para +><command +>_VERSION</command +> - see on abiks, kui soovid lasta näidata töötava &kommander;i versiooni </para +></listitem> +</itemizedlist> +</sect2> +<sect2 id="passargs"> +<title +>Argumentide edastamine &kommander;is</title> +<para +>Argumente saab edastada skripti parameetritega, signaalide ja pesadega, käsurea parameetritega ja DCOP-iga. Vaatame skripte. Kutsu oma skript välja nii: <screen +>result = ScriptObject1.execute("Hello World") +debug(result)</screen +> Skriptis leiad midagi sellist: <screen +>var = str_upper(Self.Item(0)) +return(var)</screen +> Nüüd tagastatakse teatelogis <emphasis +>Stderr</emphasis +> <emphasis +>HELLO WORLD</emphasis +>. </para> +<para +>Skripti pesaga ühendatud signaali vastuvõtmine käib samamoodi. <emphasis +>Self.Item(0)</emphasis +> on esimene parameeter jne. Edastatud argumentide arvu hankimiseks on mõeldud <emphasis +>ScriptObject.count</emphasis +>. </para> +<para +>Käserea parameetrid lubavad nii nimega kui ka nimeta argumente. Nimeta argument näeb välja selline: <screen +>kmdr-executor myprog.kmdr 100 red</screen +> kus _ARG1 = 100 ja _ARG2 = red. Tühikutega stringide edastamisel argumendina tuleb nad panna jutumärkidesse. Dialoogikäsu kasutamine muudab asjad keerulisemaks, sest kogu argumendistring tuleb edastada tervikuna, mis tähendab selle asetamist jutumärkidesse. <screen +>dialog("mydialog.kmdr", 100+" \"Hello World\"")</screen +> See tagastab <emphasis +>_ARG1 = 100</emphasis +> ja <emphasis +>_ARG2 = Hello World</emphasis +>. Ilma jutumärkideta saaksid <emphasis +>_ARG2 = Hello</emphasis +> ja <emphasis +>_ARG3 = World</emphasis +>. Nimega parameetrite kasutamine on kenam ja mitte nii segadusseajav. <screen +>dialog("mydialog.kmdr", "xcount=100 xquote=Hello world")</screen +> Nüüd saad neid kasutada globaalsete muutujatega <emphasis +>_xcount</emphasis +> ja <emphasis +>_xquote</emphasis +>. </para> +<para +>DCOP võib olla päris keeruline, mistõttu me soovitame kasutada meie tööriistu DCOP-i lubamiseks &kommander;i võrgudialoogides näiteks funktsioonisirvijaga. Toome näite DCOP-i väljakutse kohta dialoogist, mis on avatud &kommander;i eellasaknast. Kuna ta teab oma eellast, võib ta saata teabe tagasi ajal, mil ta on avatud, ning vabalt kasutada kõiki oma eellase funktsioone, välja arvatud pesad. Loomulikult saab seda teha ka seesmiselt skriptiga, mis kutstutakse välja väliselt, nii et praktikas ei ole sisuliselt mingeid piire. <screen +>dcop("kmdr-executor-"+parentPid, "KommanderIf", "setText(QString,QString)", "StatusBar8", "Hello")</screen +> Vaatame seda osade kaupa. Kõigepealt lisame <emphasis +>parentPid</emphasis +> "kmdr-ececutor-"-ile, sest me ei saa eeldada, et väljakutsuja on &kommander;i aken. Seda võib kasutada Quanta või KSpreadi või millega tahes. Seejärel adresseerime <emphasis +>KommanderIf</emphasis +>'i, mis on <emphasis +>kena</emphasis +> ja puhastatud liides lõppkasutajale. Me loodame, et kui KDE lõpuks KDE4 ajal vahetab DCOP-i välja D-Busi vastu, võtab aina enam rakendusi omaks selle kena lõimimist soodustava liidese. Järgmine parameeter <emphasis +>"setText(QString,QString)"</emphasis +> on oluline, sest see muudab lubatud parameetrid <emphasis +>prototüübiks</emphasis +>. Vastasel juhul ei suudaks &kommander; väljakutset valideerida. Niisiis ilma DCOP-väljakutse definitsioonita on tulemuseks viga. Ülejäänud on mõistagi edastatavad parameetrid. Me soovitame uurida rakendusi, mis kasutavad <command +>kdcop</command +>'i, kui soovid näha, kuidas see töötab, ning harjutada DCOP-väljakutsetega shellis, kuni omandad õige süntaksi. </para> +</sect2> +</sect1> +<!-- +</chapter> +--> +<sect1 id="parser_commands"> + +<title +>Käsud</title> +<para +>Toetatud on mitmesugused struktuurikäsud. Neid võib igati pesastada. </para> + +<para +>Samuti on olemas kolm erikäsku: <command +>exit</command +>, <command +>break</command +> ja <command +>continue</command +>. Esimene lõpetab skripti täitmise ja pöördub tagasi. Teine väljub aktiivsest plokist (<link linkend="while" +>while</link +>, <link linkend="for" +>for</link +> või <link linkend="foreach" +>foreach</link +>) ning kolmas väljub aktiivsest sammust, taasalustades silmuse algusest. </para> + + +<sect2 id="if"> +<title +>if</title> +<para +>Käsul <command +>if</command +> on järgmine süntaks: </para> + +<para +><command +>if</command +> <emphasis +>tingimus</emphasis +> <command +>then</command +> <emphasis +>kood</emphasis +> <command +>elseif</command +> <emphasis +>tingimus</emphasis +> <command +>then</command +> <emphasis +>kood</emphasis +> <command +>else</command +> <emphasis +>kood</emphasis +> <command +>endif</command +> </para> + +<para +>Nii <command +>elseif</command +> kui ka <command +>else</command +> on mittekohustuslikud. <emphasis +>Tingimus</emphasis +> võib olla suvaline avaldis. <emphasis +>Kood</emphasis +> täidetakse, kui tingimus on tõene. See tähendab: <itemizedlist> +<listitem +><para +>nullist erinev täisarvu ja double korral</para +></listitem> +<listitem +><para +>mittetühi stringi korral</para +></listitem> +</itemizedlist> +</para> + +<screen +>if a * 2 > 7 then + b = 1 +elseif a < 0 then + b = 2 +elseif + b = 0 +endif +</screen> +</sect2> + +<sect2 id="while"> +<title +>while</title> +<para +><command +>while</command +> <emphasis +>tingimus</emphasis +> <command +>do</command +> <emphasis +>kood</emphasis +> <command +>end</command +> </para> + +<para +><emphasis +>Tingimus</emphasis +> arvutatakse uuesti iga silmuse täitmise ajal. <screen +>while i < 15 do + i = i + a +end +</screen> +</para> + + +</sect2> + +<sect2 id="for"> +<title +>for</title> +<para +>Käsul <command +>for</command +> on järgmine süntaks: </para> + +<para +><command +>for</command +> <emphasis +>muutuja</emphasis +> <command +>=</command +> <emphasis +>algväärtus</emphasis +> <command +>to</command +> <emphasis +>lõppväärtus</emphasis +> <command +>step</command +> <emphasis +>avaldis</emphasis +> <command +>do</command +> <emphasis +>kood</emphasis +> <command +>end</command +> </para> + +<para +>Silmus täidetakse alates <emphasis +>algväärtusest</emphasis +> ja lõpetatakse siis, kui muutuja väärtus on suurem kui <emphasis +>lõppväärtus</emphasis +>. Kui määratud on <command +>step</command +>, siis igal sammul suurendatakse muutuja väärtust määratud väärtuse, mitte aga <command +>1</command +> võrra. <screen +>foreach i = 1 to 20 step 5 do + a = a + 2 * i +end +</screen> +</para> +</sect2> + +<sect2 id="foreach"> +<title +>foreach</title> +<para +>Käsul <command +>foreach</command +> on järgmine süntaks: </para> + +<para +><command +>for</command +> <emphasis +>muutuja</emphasis +> <command +>in</command +> <emphasis +>massiiv</emphasis +> <command +>do</command +> <emphasis +>kood</emphasis +> <command +>end</command +> </para> + +<para +>Silmus täidetakse iga määratud massiivi võtme puhul. Igal sammul omistatakse muutujale massiivi järgmine võti. <screen +>sum = 0 +foreach i in myArray do + sum = sum + myArray[i] +end +</screen> +</para> +</sect2> +</sect1> +<!-- +</chapter> +--> +<sect1 id="functions"> + +<title +>Funktsioonid</title> +<para +>Uus parser toetab enamikku vana parseri funktsioone, aga lisatud on ka mõned uued funktsioonid. </para> + + +<sect2 id="string_functions"> +<title +>Stringifunktsioonid</title> +<para +>Stringifunktsioonid on samad, mis vanas parseris, ainult et nende nimedele eelneb <command +>str_</command +>, mitte <command +>@String</command +>. <itemizedlist> +<listitem> +<para +><command +>str_length(<parameter +>string</parameter +>)</command +> - tagastab <emphasis +>stringi</emphasis +> pikkuse </para +></listitem> +<listitem> +<para +><command +>str_contains(<parameter +>string</parameter +>, <parameter +>tekst</parameter +>)</command +> - tagastab 1, kui <emphasis +>string</emphasis +> sisaldab <emphasis +>teksti</emphasis +> </para +></listitem> +<listitem> +<para +><command +>str_find(<parameter +>string</parameter +>, <parameter +>tekst</parameter +>, <parameter +>algus</parameter +>)</command +> - tagastab <emphasis +>teksti</emphasis +> esimese esinemiskoha <emphasis +>stringis</emphasis +>; mittekohustuslik <emphasis +>algus</emphasis +> määrab otsingu alguskoha </para +></listitem> +<listitem> +<para +><command +>str_find(<parameter +>string</parameter +>, <parameter +>tekst</parameter +>, <parameter +>algus</parameter +>)</command +> - tagastab <emphasis +>teksti</emphasis +> viimase esinemiskoha <emphasis +>stringis</emphasis +>; mittekohustuslik <emphasis +>algus</emphasis +> määrab otsingu alguskoha </para +></listitem> +<listitem> +<para +><command +>str_left(<parameter +>string</parameter +>, <parameter +>arv</parameter +>)</command +> - tagastab määratud <emphasis +>arvu</emphasis +> märke alates <emphasis +>stringi</emphasis +> algusest </para +></listitem> +<listitem> +<para +><command +>str_right(<parameter +>string</parameter +>, <parameter +>arv</parameter +>)</command +> - tagastab määratud <emphasis +>arvu</emphasis +> märke alates <emphasis +>stringi</emphasis +> lõpust </para +></listitem> +<listitem> +<para +><command +>str_right(<parameter +>string</parameter +>, <parameter +>algus</parameter +>, <parameter +>arv</parameter +>)</command +> - tagastab <emphasis +>stringi</emphasis +> alamstringi alates <emphasis +>algusest</emphasis +>, mis sisaldab määratud <emphasis +>arvu</emphasis +> märke (või kõik kuni stringi lõpuni, kui viimast parameetrit ei ole antud) </para +></listitem> +<listitem> +<para +><command +>str_remove(<parameter +>string</parameter +>, <parameter +>tekst</parameter +>)</command +> - tagastab <emphasis +>stringi</emphasis +> koos kõigi alamstringidega, mis on võrdsed eemaldatava <emphasis +>tekstiga</emphasis +> </para +></listitem> +<listitem> +<para +><command +>str_replace(<parameter +>string</parameter +>, <parameter +>tekst</parameter +>, <parameter +>tekst2</parameter +>)</command +> - tagastab <emphasis +>stringi</emphasis +> koos kõigi alamstringidega, mis vastavad <emphasis +>tekstile</emphasis +>, mis asendatakse <emphasis +>tekst2</emphasis +>-ga </para +></listitem> +<listitem> +<para +><command +>str_lower(<parameter +>string</parameter +>)</command +> - tagastab <emphasis +>stringi</emphasis +>, mis teisendatakse väiketäheliseks </para +></listitem> +<listitem> +<para +><command +>str_upper(<parameter +>string</parameter +>)</command +> - tagastab <emphasis +>stringi</emphasis +>, mis teisendatakse suurtäheliseks </para +></listitem> +<listitem> +<para +><command +>str_section(<parameter +>string</parameter +>, <parameter +>eraldaja</parameter +>, <parameter +>algus</parameter +>, <parameter +>lõpp</parameter +>)</command +> - tagastab alamstringi, mis sisaldab <emphasis +>stringi</emphasis +> neid osasid, mis on määratud <emphasis +>eraldajaga</emphasis +>; kui pole määratud <emphasis +>lõppu</emphasis +>, tagastatakse kogu <emphasis +>alguse</emphasis +> sektsioon </para +></listitem> +<listitem> +<para +><command +>str_args(<parameter +>string</parameter +>, <parameter +>...</parameter +>)</command +> - tagastab <emphasis +>stringi</emphasis +> koos <command +>%1</command +>, <command +>%2</command +>, <command +>%3</command +>-ga, mis asendatakse järgnevate parameetritega. </para +></listitem> +<listitem> +<para +><command +>str_isnumber(<parameter +>string</parameter +>)</command +> - tagastab 1, kui <emphasis +>string</emphasis +> on korrektne arv </para +></listitem> +<listitem> +<para +><command +>str_isempty(<parameter +>string</parameter +>)</command +> - tagastab 1, kui <emphasis +>string</emphasis +> on tühi </para +></listitem> +<listitem> +<para +><command +>str_toint(<parameter +>string</parameter +>, <parameter +>default</parameter +>)</command +> - tagastab täisarvuks teisendatud <emphasis +>stringi</emphasis +>; kui teisendamine ei ole võimalik, tagastatakse vaikeväärtus (<emphasis +>default</emphasis +>) </para +></listitem> +<listitem> +<para +><command +>str_todouble(<parameter +>string</parameter +>, <parameter +>default</parameter +>)</command +> - tagastab double'iks teisendatud <emphasis +>stringi</emphasis +>; kui teisendamine ei ole võimalik, tagastatakse vaikeväärtus (<emphasis +>default</emphasis +>) </para +></listitem> +</itemizedlist +></para> +</sect2> + +<sect2 id="kommander_functions"> +<title +>&kommander;ri funktsioonid</title> +<para +>Toetatud on enamik &kommander;i funktsioone; mõned küll (nt. <command +>expr</command +>) on uues parseris iganenud ega ole kasutatavad. </para> + +<itemizedlist> +<listitem> +<para +><command +>debug(<parameter +>string</parameter +>, <parameter +>...</parameter +>)</command +> - kirjutab kõik parameetrid standardveaväljundisse stderr </para +></listitem> +<listitem> +<para +><command +>echo(<parameter +>string</parameter +>, <parameter +>...</parameter +>)</command +> - kirjutab kõik parameetrid standardväljundisse stdout </para +></listitem> +<listitem> +<para +><command +>dcop(<parameter +>string</parameter +>, <parameter +>...</parameter +>)</command +> - kutsub välja DCOP-funktsiooni</para> +</listitem> +<listitem> +<para +><command +>exec(<parameter +>string</parameter +>, <parameter +>shell</parameter +>)</command +> - käivitab välise programmi (kasutades vajaduse korral mittekohustuslikku <emphasis +>shelli</emphasis +>); blokeerib aktiivse dialoogi täitmise, kuni parameetrina antud programm on töö lõpetanud; tagastab selle programmi väljundi </para +></listitem> +<listitem> +<para +><command +>i18n(<parameter +>string</parameter +>)</command +> - märgib <emphasis +>stringi</emphasis +> tõlgitavaks </para +></listitem> +<listitem> +<para +><command +>env(<parameter +>string</parameter +>)</command +> - tagastab keskkonnamuutuja väärtuse </para +></listitem> +<listitem> +<para +><command +>readSetting(<parameter +>võti</parameter +>, <parameter +>default</parameter +>)</command +> - tagastab määratud <emphasis +>võtmega</emphasis +> seadistustefaili salvestatud väärtuse; kui sellist väärtust ei ole, tagastatakse vaikeväärtus (<emphasis +>default</emphasis +>) </para +></listitem> +<listitem +><para +><command +>writeSetting(<parameter +>võti</parameter +>, <parameter +>väärtus</parameter +>)</command +> - kirjutab <emphasis +>võtme</emphasis +> ja <emphasis +>väärtuse</emphasis +> paari seadistustefaili </para +></listitem> +</itemizedlist> +<para +>&kommander; 1.3 uued omadused</para> +<itemizedlist> +<listitem> +<para +><command +>execBackground(<parameter +>string</parameter +>, <parameter +>shell</parameter +>)</command +> - käivitab välise programmi (kasutades vajaduse korral mittekohustuslikku <emphasis +>shelli</emphasis +>) taustal, blokeerimata aktiivset dialoogi; vastupidi eespool kirjeldatud funktsioonile <command +>exec</command +> ei tagasta programmi väljundit </para +></listitem> +<listitem> +<para +><command +>return(<parameter +>value</parameter +>)</command +> - tagastab väärtuse väljakutsuvale objektile (skript, nupp...) </para +></listitem> +<listitem> +<para +><command +>createWidget(<parameter +>vidinanimi</parameter +>, <parameter +>vidinatüüp</parameter +>, <parameter +>eellane</parameter +>)</command +> - loob uue vidina. Seejärel võib selle asetada näiteks tabelisse või tööriistakasti ja muuta <command +>minuvidin.show(true)</command +> abil nähtavaks. Kui asetad uue vidina vormi, pead mõtlema ka paigutusele. &kommander; ei loo paigutusi lennult ega muuda pikslikaupa positsioneerimist (enamasti). See on veidi häiriv isegi C++ arenduse korral. Me soovitame kasutada rühmakasti ja tegelda paigutusega dialoogis, mis võimaldab parima kontrolli asjade käigu üle. </para +></listitem> +<listitem> +<para +><command +>connect(<parameter +>saatja</parameter +>, <parameter +>signaal</parameter +>, <parameter +>saaja</parameter +>, <parameter +>pesa</parameter +>)</command +> - ühendab vidina signaali vidina pesaga. Uuri ühenduse dialoogi ja vali sarnased vidinad võimaluste selgitamiseks. Kui näiteks signaal näeb välja nagu <command +>execute(const QString&)</command +>, siis peabki just see siin jutumärkides olema. </para +></listitem> +<listitem> +<para +><command +>disconnect(<parameter +>saatja</parameter +>, <parameter +>signaal</parameter +>, <parameter +>saaja</parameter +>, <parameter +>pesa</parameter +>)</command +> - tühistab eeltoodud ühenduse. Ka siin on oluline täpne süntaks. </para +></listitem> +<listitem> +<para +><command +>widgetExists(<parameter +>vidinanimi</parameter +>)</command +> - tuletab meelde, et võid kasutada muutuja nime viitena vidinale. Seda võib kasutada näiteks loodud vidinate kasutamisel, et kontrollida nende olemasolu. Olematu vidina väljakutsumine toob enesestmõistetavalt kaasa vea. </para +></listitem> +</itemizedlist> +</sect2 +> + +<sect2 id="array_functions"> +<title +>Massiivifunktsioonid</title> +<para +>Toetatud on enamik massiivifunktsioone, kuigi mõned (nt. <command +>value</command +>) on uues parseris iganenud ega ole enam kasutatavad. Ainuke erinevus on see, et nende nimele eelne nüüd <command +>array_</command +>, mitte <command +>@Array</command +>. </para> + +<warning +><para +>Parseri piirangute tõttu tuleb massiivi nimi määrata stringina, näiteks <command +>array_count("MinuMassiiv")</command +>.</para +></warning> + +<itemizedlist> +<listitem> +<para +><command +>array_clear(<parameter +>massiiv</parameter +>)</command +> - eemaldab kõik elemendid <emphasis +>massiivist</emphasis +> </para +></listitem> +<listitem> +<para +><command +>array_count(<parameter +>massiiv</parameter +>)</command +> - tagastab elementide arvu <emphasis +>massiivis</emphasis +> </para +></listitem> +<listitem> +<para +><command +>array_keys(<parameter +>massiiv</parameter +>)</command +> - tagastab stringi, mis sisaldab <emphasis +>massiivi</emphasis +> realõpuga (EOL) eraldatud võtmeid; pane tähele, et kui oled importinud massiivi skalaari (võtmed ilma väärtusteta, vt. allpool näidet) &kommander;i abil, ei saa seda kasutada <command +>array_values("minumassiiv")</command +> abil, nagu vahest võisid oletada (sest see tundub ju sisaldavat ainult väärtusi), vaid kasutada tuleb <command +>array_keys("minumassiiv")</command +>. Aga võib-olla on veel parem mõte kasutada allpool kirjeldatud uusi <emphasis +>indekseeritud massiive</emphasis +>. </para +></listitem> +<listitem> +<para +><command +>array_values(<parameter +>massiiv</parameter +>)</command +> - tagastab stringi, mis sisaldab <emphasis +>massiivi</emphasis +> realõpuga (EOL) eraldatud võtmeid </para +></listitem> +<listitem> +<para +><command +>array_tostring(<parameter +>massiiv</parameter +>)</command +> - tagastab stringi, mis sisaldab kogu <emphasis +>massiivi</emphasis +> realõpuga (EOL) eraldatud võtme ja väärtuse paaridena (mida ennast eraldab tabeldusmärk) </para +></listitem> +<listitem> +<para +><command +>array_fromstring(<parameter +>massiiv</parameter +>, <parameter +>string</parameter +>)</command +> - loeb massiivi <emphasis +>stringist</emphasis +> (tavaliselt pakub seda funktsioon <command +>array_tostring</command +>) </para +></listitem> +<listitem> +<para +><command +>array_remove(<parameter +>massiiv</parameter +>, <parameter +>võti</parameter +>)</command +> - eemaldab võtmega <emphasis +>võti</emphasis +> elemendi <emphasis +>massiivist</emphasis +> </para +></listitem> +</itemizedlist> +<para +>Toome näite massiivi kasutamisest:</para> +<screen +>array_fromstring("myArray", "1\tA\nsecond\tB\n3\tC") +foreach key in myArray do + debug("myArray[" + key + "]= " + myArray[key]) +end +</screen> +<para +>See näitab standardveaväljundis stderr järgnevat teksti. Siin on näha, et massiivi elementide järjekorras ei saa kindel olla, sest võtmed on stringid, mitte arvud.</para> +<screen +>myArray[1]= A +myArray[3]= C +myArray[second]= B +</screen> +<para +>Teine näide võtmeta massiivi kohta:</para> +<screen +>array_fromstring("myArray", "A\nB\nC") +foreach key in myArray do + debug(key) +end +debug("Massiivi elemendid:\n" + array_keys("myArray")) +</screen> +<para +>See annab tulemuseks:</para> +<screen +>A +B +C +Massiivi elemendid: +A +B +C +</screen> + +<para +>&kommander; 1.3 uued omadused</para> +<itemizedlist> +<listitem> +<para +><command +>array_indexedFromString(<parameter +>massiiv</parameter +>, <parameter +>string</parameter +>, <parameter +>eraldaja</parameter +>)</command +> - see kompenseerib tõiga, et &kommander;il puuduvad indekseeritud massiivid. See loob massiivi nullipõhise järjestikindeksiga. Massiivinimes ja kõigis stringides, mida ei väljenda muutuja, tuleb kasutada jutumärke. Eraldaja argument ei ole kohustuslik, vaikimisi on selleks "\t" [tabeldusmärk], mida kasutatakse väljade eraldamiseks tabelite, massiivide või detailividinate lugemisel ja kirjutamisel. <emphasis +>Pane tähele, et see massiivi indeks ei kehtesta iseenesest mingeid reegleid. Samahästi võiks selle luua silmusega, ainult et nii on mugavam.</emphasis +> </para +></listitem> +<listitem> +<para +><command +>array_indexedInsertElements(<parameter +>massiiv</parameter +>, <parameter +>võti</parameter +>, <parameter +>string</parameter +>, <parameter +>eraldaja</parameter +>)</command +> - see funktsioon on osa indekseeritud massiivide komplektist ning võimaldab lisada elemente massiivi, hooldades samal ajal järjestikut unikaalset indeksit. Määra alustav indeksi võti, tekstistring ja eraldamise viis. Elemendid lisatakse aina kasvava indeksinumbriga. </para +></listitem> +<listitem> +<para +><command +>array_indexedRemoveElements(<parameter +>massiiv</parameter +>, <parameter +>alustav võti</parameter +>, <parameter +>arv</parameter +>)</command +> - see võimaldab eemalda elemente indekseeritud massiivist ja vältida indeksis lünki. Määra alustav võti ja lisavõimalusena eemaldatavate elementide arv. Vaikeväärtus on üks. Tulemuseks on ümberindekseeritud massiiv, millest on vajalikud elemendid eemaldatud. </para +></listitem> +<listitem> +<para +><command +>array_indexedToString(<parameter +>massiiv</parameter +>, <parameter +>eraldaja</parameter +>)</command +> - see võimaldab teisendada indekseeritud massiivi taas stringiks, mis on eriti kasulik detailividinate puhul. Kui näiteks näitad andmebaasipäringu tulemust TreeWidget1 kujul, millel on kuus veergu, võid kasutada valitud rea saamiseks <command +>TreeWidget1.selection</command +>. See on eraldatud tabeldusmärkidega ning sa võid vaadata näiteks selle viiendat elementi, kui kasutad <command +>str_section(TreeWidget1.selection, "\t", 4)</command +> (pea meeles, et see on nullipõhine). See on väätuse lugemiseks päris hea, aga kui soovid seda muuta, näed, et see pole veel kõik. Kui oled stringi lõhkunud, saad selle uuesti kokku panna, kui kasutad <command +>val1+"\t"+val2...</command +> Indekseeritud massiivide kasutamisel võid redigeerida viiendat elementi järgmiselt: <screen> +idx = TreeWidget1.currentItem +array_indexedFromString("z", TreeWidget1.selection) +z[4] = "new value" +TreeWidget1.removeItem(idx) +TreeWidget1.insertItem(array_indexedToString("z"), idx) +</screen +> Pane tähele, et selleks tuli lisada ainult kaks lühikest rida! See on andmebaasi kasutamisel väga tulus. </para +></listitem> +</itemizedlist> +</sect2 +> + + +<sect2 id="file_functions"> +<title +>Failifunktsioonid</title> +<para +>Toetatud on kõik failifunktsioonid, ainuke erinevus on see, et nimede ees seisab <command +>file_</command +>, mitte <command +>@File</command +>. </para> + +<itemizedlist> +<listitem> +<para +><command +>file_read(<parameter +>nimi</parameter +>)</command +> - tagastab faili <emphasis +>nimi</emphasis +> sisu </para +></listitem> +<listitem> +<para +><command +>file_write(<parameter +>nimi</parameter +>, <parameter +>...</parameter +>)</command +> - kirjutab kõik argumendid faili <emphasis +>nimi</emphasis +> </para +></listitem> +<listitem> +<para +><command +>file_append(<parameter +>nimi</parameter +>, <parameter +>...</parameter +>)</command +> - lisab kõik argumendid faili <emphasis +>nimi</emphasis +> </para +></listitem> +</itemizedlist> +</sect2 +> + + +<sect2 id="input_functions"> +<title +>Sisendifunktsioonid</title> +<para +>Need funktsioonid näitavad mõnda dialoogi, mis võimaldab kasutajal sisestada teatud väärtuse. Vanas parseris oli nende kasutamiseks mõeldud <command +>@Input</command +>. Enamiku funktsioonide puhul on kõik parameetrid mittekohustuslikud, erand on <command +>input_text</command +>, mis nõuab 2 parameetrit, ja <command +>input_value</command +>, mis nõuab 5 parameetrit. </para> + +<itemizedlist> +<listitem> +<para +><command +>input_color(<parameter +>nimetus</parameter +>, <parameter +>default</parameter +>)</command +> - tagastab värvi #RRGGBB vormingus </para +></listitem> +<listitem> +<para +><command +>input_text(<parameter +>nimetus</parameter +>, <parameter +>pealdis</parameter +>, <parameter +>default</parameter +>)</command +> - tagastab kasutaja sisestatud teksti </para +></listitem> +<listitem> +<para +><command +>input_value(<parameter +>nimetus</parameter +>, <parameter +>pealdis</parameter +>, <parameter +>default</parameter +>, <parameter +>min</parameter +>, <parameter +>maks</parameter +>, <parameter +>samm</parameter +>)</command +> - tagastab kasutaja sisestatud väärtuse </para +></listitem> +<listitem> +<para +><command +>input_directory(<parameter +>alguskataloog</parameter +>, <parameter +>filter</parameter +>, <parameter +>nimetus</parameter +>)</command +> - tagastab kasutaja valitud kataloogi </para +></listitem> +<listitem> +<para +><command +>input_openfile(<parameter +>nimetus</parameter +>, <parameter +>pealdis</parameter +>, <parameter +>default</parameter +>)</command +> - tagastab kasutaja sisestatud olemasoleva faili </para +></listitem> +<listitem> +<para +><command +>input_savefile(<parameter +>nimetus</parameter +>, <parameter +>pealdis</parameter +>, <parameter +>default</parameter +>)</command +> - tagastab kasutaja sisestatud faili (kui see on olemas, on vajalik kinnitus) </para +></listitem> +<listitem> +<para +><command +>input_openfiles(<parameter +>nimetus</parameter +>, <parameter +>pealdis</parameter +>, <parameter +>default</parameter +>)</command +> - tagastab kasutaja sisestatud olemasolevate failide realõppudega (EOL) eraldatud stringi </para +></listitem> +</itemizedlist> +</sect2 +> + + +<sect2 id="message_functions"> +<title +>Teatefunktsioonid</title> +<para +>Need funktsioonid näitavad kasutajale teatud teadet või paluvad kinnitada mõne toimingu. Vanas parseris oli kasutusel <command +>@Message</command +>. </para> + +<itemizedlist> +<listitem> +<para +><command +>message_info(<parameter +>tekst</parameter +>, <parameter +>nimetus</parameter +>)</command +> - näitab infoteksti </para +></listitem> +<listitem> +<para +><command +>message_error(<parameter +>tekst</parameter +>, <parameter +>nimetus</parameter +>)</command +> - näitab veateksti </para +></listitem> +<listitem> +<para +><command +>message_warning(<parameter +>tekst</parameter +>, <parameter +>nimetus</parameter +>, <parameter +>nupp1</parameter +>, <parameter +>nupp2</parameter +>, <parameter +>nupp3</parameter +>)</command +> - näitab küsimust koos hoiatuse ja kuni kolme nupuga; tagastatakse valitud nuppude arv; kui nuppude nimesid pole määratud, näidatakse nuppe <command +>Yes</command +> ja <command +>No</command +> </para +></listitem> +<listitem> +<para +><command +>message_question(<parameter +>tekst</parameter +>, <parameter +>nimetus</parameter +>, <parameter +>nupp1</parameter +>, <parameter +>nupp2</parameter +>, <parameter +>nupp3</parameter +>)</command +> - näitab küsimust ja kuni kolme nuppu; tagastatakse valitud nuppude arv; kui nuppude nimesid pole määratud, näidatakse nuppe <command +>Yes</command +> ja <command +>No</command +> </para +></listitem> +</itemizedlist> +</sect2 +> +</sect1> +</chapter> + + + diff --git a/tde-i18n-et/docs/kdewebdev/kommander/q-and-a.docbook b/tde-i18n-et/docs/kdewebdev/kommander/q-and-a.docbook new file mode 100644 index 00000000000..a7ca3a5d5df --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/q-and-a.docbook @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<chapter id="faq"> +<chapterinfo> +<title +>Küsimused ja vastused</title> +</chapterinfo> + +<title +>Küsimused ja vastused</title> +<para +>Korduma kippuvate küsimustega saab tutvuda <ulink url="http://kommander.kdewebdev.org/faq.php" +>meie koduleheküljel</ulink +>. </para> +</chapter> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/specials.docbook b/tde-i18n-et/docs/kdewebdev/kommander/specials.docbook new file mode 100644 index 00000000000..e7a682d013e --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/specials.docbook @@ -0,0 +1,696 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<sect1 id="specials"> +<sect1info> +<title +>Erid ja sisseehitatud globaalsed muutujad</title> +</sect1info> + +<title +>Erid ja sisseehitatud globaalsed muutujad</title> + +<para +>Erid on &kommander;i töödeldavad funktsioonid. Tuleks arvestada, et &kommander;i vana parsija kasutamisel käivitatakse esmalt kõik &kommander;i erid ja alles seejärel skript. Enamasti ei kujuta see endast probleemi, kuid igatahese tasuks see kõrva taha panna. </para> +<note +><para +>Alltoodud nimekiri on mõnevõrra aegunud. Saadaolevate funktsioonide kohta teabe hankimiseks on soovitatav kasutada <guilabel +>funktsioonibrauserit</guilabel +>. <guilabel +>Funktsioonibrauseri</guilabel +> saab avada <guilabel +>Kommanderi tekst</guilabel +>iredaktoris, klõpsates nupule <guilabel +>Funktsioon...</guilabel +> </para> +</note> + +<variablelist> +<varlistentry> +<term +><function +>@dcop(<parameter +>appId</parameter +>, <parameter +>objekt</parameter +>, <parameter +>funktion</parameter +>, <parameter +>argumendid</parameter +>)</function +></term> +<listitem> +<para +>Sooritab &DCOP; väljakutse. @dcop(<quote +>kmail</quote +>, <quote +>KMailIface</quote +>, <quote +>checkMail()</quote +>, <quote +></quote +>) </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@dcopid</function +></term> +<listitem> +<para +>Protsessi &DCOP; ID. (kmdr-executor-@pid) </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@dialog(<parameter +>dialoog</parameter +>[,<parameter +>parameetrid</parameter +>])</function +></term> +<listitem> +<para +>Käivitab määratud Kommanderi dialoogi. Seda otsitakse esmalt dialoogi ja seejärel aktiivses kataloogis. Sellega kutsutakse välja Executor ning määratakse vaikekataloogiks Kommanderi rakenduse kataloog. Parameetreid võib edastada UNIX-i tavapärasel viisil või siis anda nimega parameetrid, näiteks <quote +>muutuja=väärtus</quote +>. Edastatud parameetrid leiab seejärel globaalsest puhvrist. @global(muutuja) tagastab <quote +>väärtuse</quote +>. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@env(<parameter +>keskkonnaMuutuja</parameter +>)</function +></term> +<listitem> +<para +>Kasutab määratud keskkonnamuutujat. @enc(PWD) näiteks kasutab $PWD. Arvesta, et <quote +>$</quote +> kuulub shelli ja seda ei tohi siin pruukida. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@exec(<parameter +>käsk</parameter +>)</function +></term> +<listitem> +<para +>Tagastab määratud käsu käivitamise väljundi. @exec(ls -l) </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@execBegin ... @execEnd</function +></term> +<listitem> +<para +>Sama, mis <function +>@exec</function +>, kuid toetab ka mitmerealisi skripte. See on mõistlik mitmete skriptikeelte puhul. </para> +<itemizedlist> +<listitem +><para +><function +>@execBegin(php)</function +></para +></listitem> +<listitem +><para +><function +>@execBegin</function +>(#!/usr/bin/php)</para +></listitem> +</itemizedlist> +<para +>Esimene kasutab <acronym +>PHP</acronym +> käivitatava faili nime. &kommander; otsib otsinguteelt (PATH) <application +>php</application +>-d ja kui ei leia, uurib, ega see pole &kommander;is määratud asuma kuskil mujal kui sinu otsinguteel. Kui mitte, siis antakse kasutajale teada, et seda ei leitud. Teine võimalus kasutab tavapärast <quote +>kupatust</quote +> (shebang), millel on omad plussid, kuid ka omad miinused. Kui sul on näiteks <acronym +>PHP5</acronym +> koopia asukohas <filename +>/usr/local/bin</filename +>, siis seda ei leita, sest otsitakse ainult asukohast <filename +>/usr/bin</filename +>. Seepärast on <quote +>kupatuse</quote +> kasutamine kahe otsaga asi ning eriti juhul, kui sa faile ja dialooge ka teistega jagada soovid, ei oleks seda mõttekas kasutada.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@global(<parameter +>muutuja</parameter +>)</function +></term> +<listitem> +<para +>Kasutab määratud globaalse muutuja väärtust. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@null</function +></term> +<listitem> +<para +>Tagastab nulli. Kui näiteks Kommander kontrollib käivitamisel tühja widgetText'i, väldib see vigu.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@parentPid</function +></term> +<listitem> +<para +>Eellasprotsessi &PID;. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@pid</function +></term> +<listitem> +<para +>Protsessi &PID;. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@readSetting(<parameter +>võti</parameter +>, <parameter +>vaikeVäärtus</parameter +>)</function +></term> +<listitem> +<para +>loeb väärtuse failist <filename +>kommanderrc</filename +>. Vaata ka @writeSetting. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@selectedWidgetText</function +></term> +<listitem> +<para +>Vidina valitud sisu, mis võib näidata enam kui üht väärtust, näiteks vidinate loendit. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@setGlobal(<parameter +>muutuja</parameter +>, <parameter +>väärtus</parameter +>)</function +></term> +<listitem> +<para +>Määrab globaalsele muutujale antud väärtuse. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@widgetText</function +></term> +<listitem> +<para +>Vidina sisu. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@writeSetting(<parameter +>võti</parameter +>, <parameter +>väärtus</parameter +>)</function +></term> +<listitem> +<para +>kirjutab väärtuse faili <filename +>kommanderrc</filename +>. Kõik &kommander;i dialoogid kasutavad faili kommanderrc, igal dialoogil on selles oma lõik. </para> +</listitem> +</varlistentry> +</variablelist> + +<sect2 id="arrays"> +<title +>Massiivifunktsioonide grupp</title> + +<variablelist> +<varlistentry> +<term +><function +>@Array.values(<parameter +>massiiv</parameter +>)</function +></term> +<listitem> +<para +>Tagastab massiivi kõigi väärtuste reavahetusmärkidega eraldatud loendi. Kasulik näiteks massiiviga tutvumisel.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@Array.keys(<parameter +>massiiv</parameter +>)</function +></term> +<listitem> +<para +>Tagastab massiivi kõigi võtmete reavahetusmärkidega eraldatud loendi.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@Array.setValue(<parameter +>massiiv</parameter +>, <parameter +>võti</parameter +>, <parameter +>väärtus</parameter +>)</function +></term> +<listitem> +<para +>Määrab massiivi elemendile võtme ja väärtuse. Kui massiivi ei ole, see luuakse.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@Array.clear(<parameter +>massiiv</parameter +>)</function +></term> +<listitem> +<para +>Eemaldab kõik elemendid massiivist.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@Array.count(<parameter +>massiiv</parameter +>)</function +></term> +<listitem> +<para +>Tagastab massiivi elementide arvu.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@Array.value(<parameter +>massiiv</parameter +>,<parameter +>võti</parameter +>)</function +></term> +<listitem> +<para +>Tagastab antud võtmega seostatud väärtuse.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@Array.remove(<parameter +>massiiv</parameter +>,<parameter +>võti</parameter +>)</function +></term> +<listitem> +<para +>Eemaldab antud võtmega elemendi massiivist.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@Array.fromString(<parameter +>massiiv</parameter +>,<parameter +>string</parameter +>)</function +></term> +<listitem> +<para +>Lisab stringi kõik elemendid massiivi. String peab olema kujul <emphasis +>võti\tväärtus\n</emphasis +>."</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@Array.toString(<parameter +>massiiv</parameter +>,<parameter +>string</parameter +>)</function +></term> +<listitem> +<para +>"Tagastab massiivi kõik elemendid kujul <emphasis +>võti\tväärtus\n</emphasis +>."</para> +</listitem> +</varlistentry> + +</variablelist> +</sect2> + +<sect2 id="files"> +<title +>Failifunktsioonide grupp</title> +<variablelist> + +<varlistentry> +<term +><function +>@File.read(<parameter +>fail</parameter +>)</function +></term> +<listitem> +<para +>Tagastab antud faili sisu.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@File.write(<parameter +>fail</parameter +><parameter +>string</parameter +>)</function +></term> +<listitem> +<para +>Salvestab antud stringi faili.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@File.append(<parameter +>fail</parameter +><parameter +>string</parameter +>)</function +></term> +<listitem> +<para +>Lisab antud stringi faili lõppu.</para> +</listitem> +</varlistentry> + +</variablelist> +</sect2> + +<sect2 id="strings"> +<title +>Stringifunktsioonide grupp</title> +<variablelist> + +<varlistentry> +<term +><function +>@String.length(<parameter +>string</parameter +>)</function +></term> +<listitem> +<para +>Tagastab sümbolite arvu stringis.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@String.contains(<parameter +>string</parameter +>,<parameter +>alamstring</parameter +>)</function +></term> +<listitem> +<para +>Kontrollib, kas string sisaldab antud alamstringi.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@String.find(<parameter +>string</parameter +>)</function +></term> +<listitem> +<para +>Tagastab alamstringi asukoha stringis või -1, kui seda ei leita."</para> +<note +><para +>Järgmises versioonis saab sellele lisada ka täisarvu, mis tähistab järgmise otsingu alguskohta.</para +></note> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@String.left(<parameter +>string</parameter +>, <parameter +>täisarv</parameter +>)</function +></term> +<listitem> +<para +>Tagastab stringi esimesed n sümbolit.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@String.right(<parameter +>string</parameter +>, <parameter +>täisarv</parameter +>)</function +></term> +<listitem> +<para +>Tagastab stringi viimased n sümbolit.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@String.mid(<parameter +>string</parameter +>, <parameter +>täisarv start</parameter +>, <parameter +>täisarv end</parameter +>)</function +></term> +<listitem> +<para +>Tagastab stringi alamstringi alates antud asukohast.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@String.remove(<parameter +>string</parameter +>, <parameter +>alamstring</parameter +>)</function +></term> +<listitem> +<para +>Eemaldab kõik antud alamstringid.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@String.replace(<parameter +>string</parameter +>, <parameter +>alamstring find</parameter +>, <parameter +>alamstring replace</parameter +>)</function +></term> +<listitem> +<para +>Asendab kõik antud alamstringid antud asendusega.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@String.upper(<parameter +>string</parameter +>)</function +></term> +<listitem> +<para +>Muudab stringi suurtäheliseks.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@String.lower(<parameter +>string</parameter +>)</function +></term> +<listitem> +<para +>Muudab stringi väiketäheliseks.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@String.compare(<parameter +>string</parameter +>, <parameter +>string</parameter +>)</function +></term> +<listitem> +<para +>Võrdleb kaht stringi. Tagastab 0, kui need on võrdsed, -1, kui esimene on madalam ja 1, kui esimene on kõrgem.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@String.isEmpty(<parameter +>string</parameter +>)</function +></term> +<listitem> +<para +>Kontrollib, kas string on tühi.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term +><function +>@String.isNumber(<parameter +>string</parameter +>)</function +></term> +<listitem> +<para +>Kontrollib, kas string on kehtiv arv.</para> +</listitem> +</varlistentry> + +</variablelist> +</sect2> + +<sect2 id="builtins"> +<title +>Sisseehitatud globaalsed muutujad</title> +<para +>Sisseehitatud globaalseid muutujaid saab kasutada nagu tavalisi globaalseid muutujaid, andes nende ees <function +>@global</function +>.</para> +<variablelist> +<varlistentry> +<term +><function +>@global(_KDDIR)</function +></term> +<listitem> +<para +>Aktiivse dialoogi kataloog.</para> +</listitem> +</varlistentry> +<varlistentry> +<term +><function +>@global(_NIMI)</function +></term> +<listitem +><para +>Dialoogi nimi.</para +></listitem> +</varlistentry> +</variablelist> +</sect2> + +</sect1> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/translating.docbook b/tde-i18n-et/docs/kdewebdev/kommander/translating.docbook new file mode 100644 index 00000000000..332fbd1849f --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/translating.docbook @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<chapter id="translating"> +<chapterinfo> +<authorgroup> +<author +><firstname +>András</firstname +> <surname +>Mantia</surname +> <affiliation +><address +><email +>amantia@kde.org</email +></address +></affiliation> +</author> +<author +><firstname +>Michal</firstname +> <surname +>Rudolf</surname +> <affiliation +><address +><email +>mrudolf@kdewebdev.org</email +></address +></affiliation> +</author> + +<othercredit role="translator" +><firstname +>Marek</firstname +> <surname +>Laane</surname +> <affiliation +><address +><email +>bald@smail.ee</email +></address +> </affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> + +</authorgroup> +</chapterinfo> +<title +>&kommander;i dialoogide tõlkimine</title> + +<sect1 id="translation-howto"> +<title +>&kommander;i dialoogide tõlkimine</title> +<para +>&kommander;i dialooge saab tõlkida erinevatesse keeltesse. Mehhanism on sarnane teiste &kde; tõlkemehhanismile. Dialoog pannakse kirja inglise keeles, tõlgitavad tekstid märgitakse spetsiaalselt ära. Üks tööriist hangib vajalikud tekstistringid, teine tööriist tõlgib nad. Seejärel tõlge kompileeritakse ja paigaldatakse ning dialoog tunneb selle automaatselt ära ja võtab kasutusele. </para> +<para +>Kirjeldame alljärgnevalt lühidalt samme, mida on vaja ette võtta, et dialoog oleks tõlgitav: <orderedlist> +<listitem +><para +>Kuidas valmistada dialoog tõlkimiseks ette?</para> +<para +>Alati kasuta ingliskeelse teksti puhul kuju <emphasis +> i18n("See on minu teksti")</emphasis +>. Nii märgitaksegi "See on minu tekst" tõlgitavaks.</para> +</listitem> + +<listitem +><para +>Kuidas hankida tekstistringid ja luua .po-fail?</para> +<para +>Stringide hankimiseks kasuta skripti <command +>kmdr2po</command +>. See asub lähtekoodi <emphasis +>töökataloogis</emphasis +> ja peaks olema paigaldatud kataloogi <command +>$KDEDIR/share/apps/kommander/translating</command +>. </para> +<para +>Anna lihtsalt käsk: <screen> +kmdr2po <sinu-kommanderi-dialoog.kmdr> +</screen +> See loob vajaliku faili <sinu-kommanderi-dialoog.po </para> +</listitem> + +<listitem> +<para +>Kuidas seda tõlkida?</para> +<para +>Kasuta tõlkimiseks <command +>KBabel</command +>it. Tõlke kompileerimiseks kasuta programmi <command +>msgfmt</command +>. Täpsemalt kõneldakse sellest aadressil <ulink url="http://i18n.kde.org" +>http://i18n.kde.org</ulink +>.</para> +</listitem> + +<listitem +><para +>Kuidas tõlge paigaldada?</para> +<para +>Pane kompileeritud *.mo-fail kataloogi</para> +<para +><command +>$KDEDIR/share/locale/<sinu keel +>/LC_MESSAGES/</command +> (kättesaadav globaalselt, kõigile kasutajatele)</para> +<para +>või kataloogi </para> +<para +><command +>$HOME/.kde/share/locale/<sinu keel +>/LC_MESSAGES/</command +> (kättesaadav ainult antud kasutajale).</para +> + +</listitem> +</orderedlist> +</para> + +<para +>Teise kataloogi (tõlke *.mo-faili) avamiseks dialoogis kasuta kmdr-executori puhul argumenti -c. Allolevas näiteks võetakse tõlked Quanta tõlkefailist: <screen +>kmdr-executor minudialoog.kmdr -c quanta +</screen> + +</para> +</sect1> + +</chapter> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/tutorials.docbook b/tde-i18n-et/docs/kdewebdev/kommander/tutorials.docbook new file mode 100644 index 00000000000..93eeaf8e78c --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/tutorials.docbook @@ -0,0 +1,451 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<chapter id="tutorials"> +<chapterinfo> +<title +>Nõuanded ja õppematerjalid</title> +<authorgroup> +<author +><firstname +>Eric</firstname +> <surname +>Laffoon</surname +> <affiliation +><address +> <email +>eric@kdewebdev.org</email> +</address +></affiliation> +</author> + +<othercredit role="translator" +><firstname +>Marek</firstname +> <surname +>Laane</surname +> <affiliation +><address +><email +>bald@smail.ee</email +></address +> </affiliation +><contrib +>Tõlge eesti keelde</contrib +></othercredit +> + +</authorgroup> +</chapterinfo> + +<title +>Nõuanded &kommander;i kasutamiseks</title> +<para +>Selles osas jõuame vidinate üleslugemisest &kommander;i tegeliku kasutamiseni. Kui soovid omandada kogemusi, tuleks seda osa hoolikalt lugeda.</para> + +<sect1 id="tutorial-editor"> +<title +>Redaktori kasutamine</title> +<para +>Esmapilgul tundub redaktor päris lihtsana ja mitmes mõttes ta seda ongi. Klõpsa ikoonile uue vormi loomiseks, seejärel klõpsa vidinale ning siis klõpsa vormile või lohista vidin sinna. Vidinal on pidemed, mille kasutamine ei tohiks valmistada raskusi kellelegi, kes on kunagi asetanud näiteks pildi tekstidokumenti. Veidi keerulisemad on mitmed pisiasjad. Näiteks tasub ära mainida vidinate nimetamist. Nimed peavad olema unikaalsed ning &kommander; kasutab nimeskeemi, mis sisaldab vidina formaalset nime ja vidinatüübile unikaalset numbrit. Vidinaid võib ümber nimetada, aga &kommander; ei luba ühesuguseid nimesid. Kui lood keerukamat dialoogi ja otsustad vidinaid ümber nimetada, võib tekkida probleeme. Signaalid ja pesad tegelevad sinu eest nimedega ning kõik muutused vidinates kajastuvad signaalide ja pesade ühendustes. Paraku ei ole see omadus seniajani veel vidinate funktsioonides. Seepärast osutub vidina väljakutse ebaõnnestunuks. Mõistlik oleks dialoog sulgeda, avada see mõnes tekstiredaktoris, näiteks KWrite, ja teha vastavad asendused. Veel parem lahendus on alustada juba kindla teadmisega, millised peavad olema tähtsamate vidinate nimed. Pealdiste nimetamine on tõenäoliselt lihtsalt aja raiskamine, aga skriptid ja andmete konteinervidinad näitavad otsekohe nimevigasid. Samuti võib skriptidele määrata ikoonid, mis võimaldab neid kiiremini visuaalselt tuvastada. </para> + + +<sect2 id="tutorial-editor-tools"> +<title +>Redaktori tööriistad</title> +<para +>Esimene asi, mida märkad, on omaduste aken, mis tavaliselt on dokitud vasakule. Uuri seda lähemalt! Seal leiad palju kasulikku vormide ja vidinate tarbeks. Seal on ka paigutuse seadistusi, ikoone, kui miski on aktiivne, tekst ja veel palju muud. Kui näiteks asetad vormi TreeWidgeti, võid muuta vaikisi asukoha eraldajat, millest on kasu, kui sul on seal andmeid. Väga kerge on längkriipsuga kogemata alamelement tekitada. Samuti leiab siit valikurežiimid, võimaluse mitmeveerulises vidinas esile tõsta terve rida ja veel palju muud. Enne &kommander;ile hinnangu andmist tasuks seda igal juhul põhjalikult uurida. </para> +<para +>Kui mängid paigutusega ja kaotad mõne vidina teiste taha või väljapoole vormi, on objektibrauser suureks abiks. Samuti näeb seal kenasti struktuuri. Järgmine tulus asi on logivaade, mis näitab standardväljundit (stdout) ja standardveaväljundit (stderr). Veavaade on lausa asendamatu. Sinna saadavad teateid debug() käsud ja seal näeb põhjalikku teavet. Näiteks andmebaasiplugina korral saab seal lisateavet andmevigade kohta. Samuti näitab see kõiki shelli väljakutseid ja veel palju muud. Standardväljundi vaade näitab, mis toimub shellis või seda kasutavas rakenduses, näiteks Quantas. Dialoogivaatest pole just väga palju abi, kui sul on avatud palju dialooge. Toiminguvaade on aktiivne ainult MainWindow kasutamisel, aga siis on see ka ainuke viis, kuidas lisada toiminguid, menüü- ja tööriistaribaelemente. </para> +</sect2> + +<sect2 id="tututorial-add-tools"> +<title +>Kohandatud tööriistade lisamine</title> +<para +>&kommander;is on väga hõlpus lisada redaktorile kohandatud tööriistu, mida saab arendada &kommander;is. Mõned neist oleme pannud kohe &kommander;iga kaasa, mõned on veebis saadaval allalaadimiseks. Väga lihtne on lisada ka omaloodud tööriistu. Kõigepealt uuri, millised nad on. Kui nad on paigaldatud, leiab nad menüüst Tööriistad eraldaja alt. &kommander;i menüü võimaldab vidinaid kasutada. Kohandatud tööriistade menüü võimaldab kasutada paigaldatud pluginaid. Kohandatud tööriistad lähevad redaktorimenüüsse. Kui soovid tööriista käsitsi lisada, otsusta esmalt, kas tahad selle muuta kättesaadavaks kogu süsteemis või ainult oma töölaual. Süsteemsed tööriistad peavad paiknema samas kataloogis, kus asub KDE. Töölaua tööriistad peavad asuma sinu kodukataloogi peidetud KDE kataloogis, milleks tavaliselt on ~/kde. Mõlemal juhul on vajalik asukoht /share/apps/kmdr-editor/editor/. Kui lisatav dialoog peab kasutama mingeid tööriistu või faile, võib need asetada alamkataloogi. Kõik sinna asetatud dialoogid tunneb &kommander; kohe ära ja lisab need käivitumisel menüüsse. Menüükirjel klõpsates dialoog laaditakse. Kindlasti märkad, et seal on mallide kataloog, kuhu saab lisada uutele dialoogidele mõeldud malle. </para> +</sect2> + +<sect2 id="included-tools"> +<title +>Kaasasolevad kohandatud tööriistad</title> +<para +>Rakendusega on kaasa pandud mitu tööriista, mille leiab menüü Tööriistad alammenüüst Redaktor. Arendamisjärgus on veel hulk tööriistu projektihalduseks, andmebaasi kasutajaliidesed, koodijupid jne. Kõige tähtsam ja tulusam tööriist on muidugi näidete dialoog. Et redaktorit KDE3 raames enam ei arendata, et saa redaktorisse dialoogi lisada, kuid võib redaktori uues aknas võib avada suvalise valitud dialoogi. Seal leidub vanu dialooge &kommander;i algusaegadest, hilisemas arenduses loodud õppematerjale ning ka päris uusi, alles praeguse versiooni uusi omadusi ära kasutavaid dialooge. Nende uurimine on kindlasti abiks. Samuti võiks silma peal hoida meie veebileheküljel. </para> +</sect2> + +<sect2 id="tutorial-layout"> +<title +>Paigutuse kasutamine</title> +<para +>Inimestele meeldib jagada &kommander;i dialooge. Aga peaaegu kunagi ei tea nad, kuidas neid paigutada. Loo dialoog, püüa selle suurust muuta ja vaata, mis juhtub. Kas poleks vahva, kui see käituks nii nagu peab, mitte aga ei jätaks kõiki vidinaid samasuguseks? Asi läheb hullemaks, kui jagad dialoogi, sest siis tulevad arvesse fontide, monitoride suuruse ja eraldusvõime erinevused ning sinu hiilgav dialoog võib välja paista, nagu oleks selle loonud nätsust ja hambatikkudest mõni poolearuline. Seepärast alati, jah, alati, mõtle oma dialoogide paigutuse peale! </para> +<para +>Niisiis, oletame, et ka sulle meeldib mõte, et ma ei pea sulle ahastades kirjutama ja paluma sul oma dialoogi paigutuse peale mõelda. Aga kuidas seda teha? Tööriistaribal asuvad paigutuse nupud, käsud leiab ka kontekstimenüüst. Et &kommander;i aluseks on Qt Disaineri vanem versioon, võib uurid aka Qt Disaineri dokumentatsiooni ja õpepmaterjale. Siinkohal mainime ära vaid mõned põhiasjad ja anname üksikud nõuanded. </para> +<itemizedlist> +<listitem +><para +>Kasuta alusvõrku. See asetab kõik <quote +>optimaalsesse</quote +> asukohta.</para +></listitem> +<listitem +><para +>Pea meeles, et konteinerid on erinevad asjad. TabWidgetil, GroupBoxil või paigutusgrupil on kõigil oma paigutus. Nii et ära unusta akent.</para +></listitem> +<listitem +><para +>Paigutusprobleemidele võivad anda oma lisa vidinad, mida ei ole täitmise ajal näha. Mida nendega peale hakata? Ma soovitan rühmitada nad omaette paigutusega põhipaigutuse järele või alla. Nähtavad vidinad tõrjuvad nad siis lihtsalt kõrvale ja annavad oodatud tulemuse.</para +></listitem> +<listitem +><para +>Uuri omaduste paneeli, kus saab panna vidinat laienema või midagi muud tegema, aga ka määrata tema minimaalse ja maksimaalse suuruse. Veidi katsetamist võib paljugi õpetada. Samuti saab seal määrata tihedamad vahed.</para +></listitem> +</itemizedlist> +<para +>Ja nüüd mõned nõuanded.</para> +<itemizedlist> +<listitem +><para +>Lisaks põhipaigutusele võib kasutada eraldajaid. Kui dialoog täätab, saab eraldajat lohistada üles ja alla või paremale ja vasakule, et asi näeks parem välja. Võib tunduda, nagu oleks seal mingid piirangud või ei toimiks asi üldse, aga nii see ei ole. Kontrolli lihtsalt, et asetad mitmed vidinad kahte paigutusse ja et kui teed klõpsu või paremklõpsu, et siis valid paigutuse, mitte lihtsalt alamvidina. Kui neist reeglitest kinni pidada, võib luua terve hunniku eraldajaid.</para +></listitem> +<listitem +><para +>Ka libadialoogid on võimalikud! Loo rühmakast (GroupBox) ja lohista sellesse vidinad. Aseta see paigutuses nii, et kui see ei ole nähtav, laienevad teised vidinad või paigutused ja hõlmavad selle ala. Nüüd lülita selle nähtavust nupuga või menüüst. </para +></listitem> +<listitem +><para +>Tööriistakasti (ToolBox) nipid - tööriistakastil on redaktoriviga, mis ei võimalda lisada redaktoris vidinapaneele. Seepärast tuleb nad lisada käitusajal. Kuid siis tegeldakse ühe vidinaga ja kui tahad midagi keerulisemat, tuleb kasutada rühmakasti ja see sobivalt paigutada ning seejärel võtta ette dialoogi paitutus, nii et rühmakast asuks sellest väljaspool, isegi kui ta läheb sel juhul üle akna serva. Nüüd laadi see initsialiseerimise ajal tööriistakasti. Akna paigutus läheb paika.</para +></listitem> +<listitem +><para +>Võib esineda paigutuse ebakõlasid, kui vidinad, millel on määratud näiteks miinimumi/laienemise väärtused, kaovad üldse silmapiirilt akna paigutuse viimistlemisel. Paigutussüsteem arvestab kõiki sinu määranguid ning võib kahandades kaotada kerimisribad või veel midagi. Kontrolli enne paigutuse lõpetamist, et kõik vajalik on nähtaval, ning kui vaja, ära kasuta miinimumväärtust.</para +></listitem> +</itemizedlist> +<para +>Täpsemalt võib selle kohta lugeda Qt 3.x Qt Disaineri dokumentatsioonist.</para> +</sect2> + +<sect2 id="signals-slots"> +<title +>Signaalid ja pesad</title> +<para +>Üks väga kasulik Qt Disainerilt üle võetud omadus on signaalid ja pesad. Liidest on muidugi muudetud, et see arvestaks paremini &kommander;i kasutajaid. Signaalid ja pesad on Qt/KDE rakenduse sisemised sündmuste juhtelemendid. Me oleme püüdnud teha nii, et sa ei peaks midagi teadma C++ andmetüüpide erinevusest, aga kui kasutad uut funktsiooni ühenduse lennult loomiseks, on mugav kopeerida see teave ühenduse tööriistast. Vaatame, mida see siis tähendab. Ühes vidinas juhtub midagi. See võib olla klõps, topeltklõps, väärtuse muutmine, milegi valimine või menõüü kasutamine. Need on lihtsalt valik sündmusi, mis saadavd teele signaali. Nimekirja saab muuta loendikastis, kui teed liitkastis uue valiku. See on kasulik keerukama rakenduse puhul ning ainus viis, kuidas seda teha ilma järgmist nuppu klõpsamata, ongi signaali ühendamine pesaga. Pesa võib olla skript või nupp. Kui pesa saab signaali, teeb see seda, mida signaal ütleb. Ühenduste redigeerimiseks on omaette tööriist. Ole selle kasutamisel hoolikas, sest on terve hulk päritud signaale ja pesasid. Nii võib näiteks tekkida segadus, kui kogemata annad skriptile, mis on nähtamatu, kui dialoog töötab, ülesande muuta selle suurust, mitte aga seda käivitada. </para> +<para +>Ühenduste tööriista saab avada, kui teed kuskil dialoogis paremklõpsu ja valid selle kontekstimenüüst. Klõpsa menüüs ja näedki akent ühenduste nimekirjaga. Nimekirja kohal on signaalide ja pesade loendid ning nende kohal on valitud vajalikud saatja ja saaja. Väga lihtne on ühendusi luua visuaalselt. Vaata tööriistariba või menüüd Tööriistad. Seal on kolm elementi: viit, signaalide ja pesade ühendused ning kaartide järjekord või vidinad. Valimisel määratakse ühenduse režiim. Klõpsa vidinal, mis saadab signaali, ja lohista see vidinale, mis peab pesana signaali saama. Seda tehes näed joont ja hiire alla jäävale vidinale tekkivat kukutamismärki. Redaktori olekuriba annab teada, mida ühendatakse. </para> +<note +><para +>&kommander;i versioonis 1.3 on funktsioon connect(), mis võimaldab ühendada signaale ja pesasid lennult. See on kasuks, kui pruukisid äsja createWidgetit. Dialoogi ei saa mõistagi kasutada millekski, mille olemasolust ei ole &kommander; veel teadlik. Paraku on kombinatsioone nii palju, et sul tuleb signaalid ja pesad kirja panna. <emphasis +>Need tuleb kirjutada täiesti täpselt, sest muidu nad ei toimi</emphasis +>. Siin on taas abiks ühenduste tööriist. Ava see ja vali kaks vidinat, mida soovid ühendada. Loe ühenduse teavet. Kui see ütleb näiteks <command +>execute(const QString&)</command +>, siis just nii tuleb ka kirjutada.</para +></note> +</sect2> + +<sect2 id="slot-functions"> +<title +>Pesa funktsioonid</title> +<para +>Alates &kommander;i versioonist 1.3 on selles ka pesa funktsioonid. Seda näeb näiteks funktsioonisirvijas, mis veidi ebaloomulikult ei ole sugugi nii kasutajasõbralik kui siinsed kirjeldused. &kommander; loeb kõiki antud vidinas registreeritud pesasid ja muudab nad otseselt kasutatavaks. Näiteks ei ole tabelividinal vaikemeetodit, mis võimaldaks automaatselt kohandada veerulaiust. See võib tekitada rahulolematust, aga kui heidad pilgu pesadele, on seal see olemas. Ka TextEditil puuduvad sisseehitatud funktsioonid, mis võimaldaks tõelist redigeerimist, aga kui heidad pilgu pesadele, on seal taas kõik olemas. Kõige selle puhul tasub uurida dokumentatsiooni või vähemalt omal käel eksperimenteerida. Kõiki sisseehitatud vidinates ja pluginates leiduvaid pesasid on lihtsalt liiga tülikas üksikasjalikult dokumenteerida. Enamik pesasid on aga enesestmõistetavad ega vajagi pikemat selgitust. </para> +</sect2> +</sect1> + +<sect1 id="tutorial-basics"> +<title +>Peamised õppematerjalid</title> +<para +>Valdav osa alljärgnevast teabest on näidisdialoogide põhjal kokku pandud juba mõne aja eest, kuid paraku ei ole need olnud laiemalt kättesaadavad, sest kuigi nad oli lähtekoodiga kaasas, ei paigaldatud neid. Need leiab menüüst Tööriistad näidete all osast <quote +>tutorials</quote +>. Pane tähele, et enamik neist kasutab vana parserit. See ei ole iseenesest hea ega halb. Enamik &kommander;i funktsionaalsusest on olemas mõlemas parseris, ainult et üks sobib veidi paremini teatud ülesannete, teine teiste jaoks. Et &kommander; kasutab praegu vaikimisi uut parserit, siis tasuks arvatavasti lähemalt uurida selle ja vana parseri omadusi osas <link linkend="new_parserdocs" +>Uus parser</link +>. </para> +<para +>Näidisdialooge uurides tasub tundmaõppimiseks pöörata tähelepanu järgmistele asjadele. </para> +<itemizedlist> +<listitem +><para +>Dialoogi initsialiseerimine - tee dialoogil klõps hiire keskmise nupuga või tee paremklõps ja vali &kommander;i tekst. Seal näed, mis pannakse tööle dialoogi käivitamisel.</para +></listitem> +<listitem +><para +>Nupud - tee nupul klõps hiire keskmise nupuga või tee sellel paremklõps. Tavaliselt on seal skriptid.</para +></listitem> +<listitem +><para +>Vidinad - mõnel vidinal, näiteks taimeril ja konsoolil, on kaasas instruktsioonid.</para +></listitem> +<listitem +><para +><link linkend="signals-slots" +>Signaalid ja pesad</link +> - nende abil suhtlevad sisemiselt Qt/KDE programmid. </para +></listitem> +</itemizedlist> +<para +>Järgnev dialoogide nimekiri on võimalikult lühikeste seletustega, keskendudes siiski mõnele asjale, mis võimaldab seletada keerulisemaid ülesandeid, mida saab &kommander;iga ette võtta. Teave on kopeeritud Michali märkmetest. </para> + +<sect2 id="tutorial-globals"> +<title +>Globals</title> +<para +>Selgitab globaalsete ja setGlobal &DCOP; väljakutse kasutamist skriptile globaalse muutujate andmiseks.</para> +<blockquote +><para +>Funktsioonid/kontseptsioonid: - global - setGlobal - changeWidgetText </para +></blockquote> +</sect2> + +<sect2 id="tutorial-dcop"> +<title +>&DCOP;</title> +<para +>Selgitab nii kohalike kui väliste &DCOP;-väljakutsete kasutamist suhtlemiseks väliste rakendustega (antud juhul KMail).</para> +<blockquote +><para +>Funktsioonid/kontseptsioonid: - external DCOP - addListItem - enableWidget - @selectedWidgetText - @widgetText </para +></blockquote> +</sect2> + +<sect2 id="tutorlal-slots"> +<title +>Slots</title> +<para +>Selgitab ühenduste ja pesade kasutamist sündmuste käsitlemiseks. Kasutatakse nii populatsiooni- kui tavalisi pesi.</para> +<note +><para +>Populatsiooni tekst töötati välja juba enne &kommander;i DCOP-i, erisid ja skriptimist. Arvestades seda, et kõike saab teha ka teisiti ja et väga lihtne on unustada siin ära probleemidele lahenduse leidmin, on põhimõtteliselt tegemist iganenud funktsiooniga. See on jäetud alles illistratsioonina, aga kui ka &kommander;i dialooge on üldiselt lihtne portida KDE4 peale, siis pole sugugi kindel, et ka see omadus edaspidi toimib. Sestap: <emphasis +>ära kasuta seda!</emphasis +> </para +></note> +<blockquote +><para +>Kasutatakse standardpesasid - pesad/ühendused - populate() </para +></blockquote> +</sect2> + +<sect2 id="tutorial-settings"> +<title +>Settings</title> +<para +>Selgitab, kuidas funktsioonidega @readSetting ja @writeSetting elemendi sisu salvestada või taastada. Samuti selgitab, kuidas kasutada pesa populate() vidina sisu initsialiseerimiseks.</para> +<blockquote +><para +>Funktsioonid/kontseptsioonid: - @readSetting - @writeSetting - populate() - slots/connections - destroy </para +></blockquote> +</sect2> + +<sect2 id="tutorial-append"> +<title +>Append</title> +<para +>Selgitab, kuidas lisada tekst TextEditile ja kuidas seda pruukida vormindatud teksti esitamiseks. Vaata uuemaid näidiseid, kuidas kasutada pesasid vormindatud teksti redigeerimiseks ning ka uusi fondi- ja värvidialooge.</para> +<blockquote +><para +>Funktsioonid/kontseptsioonid: - changeWidetText - RichTextEdit </para +></blockquote> +</sect2> + +<sect2 id="tutorial-cmdline"> +<title +>Command Line</title> +<para +>Selgitab, kuidas edastada käsureal parameetreid &kommander;i dialoogile. Samuti selgitab, kuidas muuta sisu ja nuputeksti. Vaata täpsemat infot uut parserit tutvustava osa alajaotuses <link linkend="passargs" +>argumentide edastamise</link +> kohta.</para> +<blockquote +><para +>Funktsioonid/kontseptsioonid: - käsurea argumendid - global - changeWidgetText - addListItem - clearList </para +></blockquote> +</sect2> + +<sect2 id="tutorial-initialize"> +<title +>Initialize</title> +<para +>Selgitab, kuidas kasutada 'initsialiseerimist' põhidialoogi skriptide 'hävitamiseks', et seadistusi initsialiseerida ja salvestada. </para> +<blockquote +><para +>Funktsioonid/kontseptsioonid: - initialization - destroy - readSetting - writeSetting </para +></blockquote> +</sect2> + +<sect2 id="tutorial-array"> +<title +>Array</title> +<para +>Selgitab, kuidas kasutada assotsiatiivseid massiive konteinerelementidega seotud teabe hoidmiseks ja hankimiseks.</para> +<blockquote +><para +>Funktsioonid/kontseptsioonid: - @Array funktsioonid </para +></blockquote> +</sect2> + +<sect2 id="tutorial-strings"> +<title +>Strings</title> +<para +>Selgitab, kuidas kasutada stringidega manipuleerimise funktsioone. </para> +<blockquote +><para +>Funktsioonid/kontseptsioonid: - @String funktsioonid - rich text editor </para +></blockquote> +</sect2> + +<sect2 id="tutorial-tree"> +<title +>Tree</title> +<para +>Selgitab, kuidas kasutada puuvidinat. </para> +<blockquote +><para +>- tree widget - FileSelector - initialization - env </para +></blockquote> +</sect2> + +<sect2 id="tutorial-widgets"> +<title +>Widgets</title> +<para +>Selgitab, kuidas hankida vidina teavet. </para> +<blockquote +><para +>- type method - children method </para +></blockquote> +</sect2> + +<sect2 id="tutorial-statusbar"> +<title +>StatusBar</title> +<para +>Selgitab, kuidas kasutada olekuriba vidinat. </para> +<blockquote +><para +>- statusbar widget - populate </para +></blockquote> +</sect2> + +<sect2 id="tutorial-loop"> +<title +>Loop</title> +<para +>Selgitab, kuidas kasutada sisemisi silmuseid. </para> +<blockquote +><para +>- for - forEach </para +></blockquote> +</sect2> + +<sect2 id="tutorial-calc"> +<title +>Calc</title> +<para +>Selgitab, kuidas kasutada funktsiooni @expr mõningate arvutuste sooritamiseks. </para> +<blockquote +><para +>- expr - String.replace </para +></blockquote> +<note +><para +>Funktsioon @expr() ei ole uues parseris enam nõutav, sest avaldisi saab otseselt tõlgendada kõikjal, kus neid saab loogiliselt kasutada.</para +></note> +</sect2> + +<sect2 id="tutorial-picview"> +<title +>Picview</title> +<para +>Selgitab, kuidas kasutada vidinat PixmapLabel funktsiooni populate() abil. </para> +<blockquote +><para +>- PixmapLabel - populate - FileSelector - slots/connections </para +></blockquote> +</sect2> + +<sect2 id="tutorial-table"> +<title +>Table</title> +<para +>Selgitab, kuidas kasutada tabelividinat. </para> +<blockquote +><para +>- insertRow - insertColumn - currentRow - currentColumn - setColumnCaption - setRowCaption - removeRow - removeColumn </para +></blockquote> +</sect2> + +</sect1> + +<sect1 id="examples"> +<title +>Praegused näited</title> +<para +>Need näited kajastavad &kommander;i uusimat arendustegevust. Praegusel kujul on &kommander;il üksikud piirangud väikeste või keskmiste rakenduste puhul. Kohe kindlasti ei sobi see näiteks KWordi klooni loomiseks, aga lihtne redaktor, käsureaprogrammi graafiline kasutajaliides või mõni muu UNIX-i/Linuxi väike rakendus on täiesti tehtav. Siinsed näited näitavad nii potentsiaali kui ka võimalusi piirangutest mööda hiilida. Neile, kes soovivad luua &kommander;iga võimekamat väikerakendust, on ära toodud mõned kasulikud nõuanded. Pea meeles, et &kommander; ei ole mõeldud kõigeks, vaid ainult paljudeks asjadeks. Seda silmas pidades on &kommander;iga arvatavasti võimalik ehitada mitmeid asju kiiremini kui alternatiividega ning lisada graafiline kasutajaliides ka skriptikeelte puhul, mida KDE muidu ei toeta. </para> +<note +><para +>Toodud näited on paigaldatud kataloogi <command +>$KDEDIR/share/apps/kmdr-editor/editor</command +>. Kui sul neid mingil põhjusel ei ole, saad need hankida <ulink url="http://kommander.kdewebdev.org" +>meie koduleheküljelt</ulink +>, kus leiab alati uusima väljalaske. </para> +</note> + +<sect2 id="editor-poc"> +<title +>editor-poc.kmdr</title> +<para +>Väike dialoog, mis kasvab üle peaaknaks (MainWindow). Et &kommander;il ei ole omaenda peaaknavidinat, siis tavaliselt arvatakse, et see sobib ainult dialoogide loomiseks. Ametlikult see nii ongi... aga soovi korral võib ka peaakent &kommander;is tööle panna. See on näidisredaktor. Kui soovid luua &kommander;is peaaknaga rakendust, ava Qt Disainer, salvesta seal see ja nimeta *.ui-fail ümber *.kmdr-failiks. Nüüd ava &kommander; ja võta ette tavapärased toimingud. </para> +<note +><para +>Käsiraamatu kirjutamise ajal ei töötanud &kommander;is teadaolevalt seadistuste lugemine ja kirjutamine. Puudub initsialiseerimise ja hävitamise sektsioon, sest ei ole ju &kommander;i teksti, küll on aga aknas signaalid, nii et funktsionaalsus on täiesti olemas. Peaakna enda poolt ei ole võimalik suhelda toimingutega DCOP-i kaudu, sest need on Disaineri QActionid, mitte aga neist tuletatud KDE 3.x KActionid. See tähendab, et DCOP-väljakutsed toimingute nimekirja hankimiseks või olekute määramiseks lihtsalt ei toimi. Samuti ei toimi menüüriba alammenüüd ega tööriistariba ripiktoimingud. Aga ehkki tegemist ei ole &kommander;i vidinaga ja see ei ole ka ametlikult toetatud, tundub see sobivat enamikuks väikerakendustele vajalikeks asjadeks.</para +></note> +<para +>Redaktor käivitab ka abidialoogi, mis kirjeldab põhjalikult kõike toimuvat. </para> +</sect2> + +<sect2 id="example-key-value"> +<title +>kevaluecombo.kmdr</title> +<para +>&kommander;it saab kasutada ka andmebaasidega ja tal on olemas isegi <ulink url="http://kommander.kdewebdev.org/releases.php#plugins" +>andmebaasiplugin</ulink +>. Üks vajakuid on suutmatus salvestada liitkastis võtme/väärtuse paare. Sellest saab üle väikese trikiga. See nõuab, et liitkasti sisu ei muudetaks, kui see ei toimu just sellega kaasas käivate massiivide abil. Kuna seda kasutatakse tavaliselt SQL-i ja väikeste andmekogumitega, taaslaaditakse isegi kogu liitkast päris kiiresti. Tõsisem probleem on see, et &kommander;il ei ole vaikimisi sisemisi indekseeritud massiive. Sellest saab üle võttega, et reavahetustega eraldatud ridasid tagastavate shellikäskudega laaditakse &kommander;i massiivifunktsioonid, mis sisuliselt on võtmete massiiv. Sellist massiivi saab kasutada ainult foreach silmusega. Sel põhjusel on lisatud uued indekseeritud massiivi funktsioonid. Tuleb meeles pidada, et need massiivid ei ole iseenesest püsivad, aga siin on abiks lisamise ja kustutamise funktsioonid. </para> +<para +>Minnes tagasi liitkasti juurde, siis see tagastab valitud teksti, aga samuti tagastab ta ka aktiivse indeksi. Ta järgib jäigalt pidevat nullipõhist massiivi. See ongi asja tuum. Me liigume silmusega läbi nullipõhise indeksiarvestiga andmekogumi ja loome kaks massiivi, sest &kommander; ei suuda luua ka massiivide massiive. Küll aga võib ta kasutada massiivi väärtust võtme esitamiseks nagu iga väärtust. Kui vaadata dialoogi, siis sellega tegeleb kood <quote +>ScriptObject36</quote +>. Näitame siin võtmekoodi väljavõtet. </para> +<screen +>c = ListBox1.count-1 +for i = 0 to c do + array_indexedFromString("x", ListBox1.item(i)) + _a[x[0]] = x[1] + _b[i] = x[0] + ComboBox10.insertItem(_a[_b[i]], i) +end +</screen> +<para +>Seal on veel mõningaid asju, näiteks topeltvõtmete kontroll, aga tuum on just see, Võid teha loendikastil paremklõpsu ja uurida kontekstimenüü kirjeid. Lõpptulemusena kasutatakse võtmetega indeksit ning tagastatakse nii võti kui ka väärtus. Seda koodi kasutades võib olla absoluutselt kindel, et võtme ja väärtuse suhe on täpne. </para> +</sect2> + +<sect2 id="kpart-demo"> +<title +>Kparti demo</title> +<para +>Alates versioonist 1.3 loob Kommander automaatselt KParti, kasutades selleks libkommander_part.la. Lisaks sellele on olemas KParti plugin, mis võimaldab Kommanderil laadida pluginaid. Uudusihimuliku arendajana proovime laadida Kommanderi komponendi Kommanderis. Miks? Aga miks mitte? Tulemus on huvitav, nagu igaüks võib näha. Üks huvitav asi on see, et eellaskomponent saab kasutada kõiki järglaskomponente. See on mugav, kuid siiski teatud miinustega. Iga järglasvidin, mis kutsutakse välja sama nimega nagu tema eellasvidin, põhjustab lukustumise! Lisaks sellele genereeritakse osa puhul uuesti DCOP-liides, mis pühib minema eellasliidese ning lülitab välja enamiku vana parseri funktsionaalsusest ja ka Kommanderi spetsiifilise DCOP-i eellasele. Seda on KDE3 allesjäänud eluea kestel ilmselt liiga raske parandada. Aga iseg nende piirangute tingimustes võib ettevaatlikul kasutamisel asjast kasu olla. Näidisfailideks on antud juhul kpartmwframe.kmdr ja kpartpart.kmdr. Pea meeles, et näidise täielikuks kasutamiseks on vajalik KParti plugin. </para> +<para +>Samuti võib laadida KMaili, KOrganizeri ja veel paljud muud KDE rakendused otse Kommanderisse - mõistagi ilma igasuguste probleemideta. KHTML-i ja KDE failihalduri vidinatel ei tundu olevat teatud funktsionaalsust, aga kui soovid tõepoolest kaasata brauseri, on olemas ka spetsiaalne KHTML-i plugin. </para> +</sect2> +<sect2 id="example-passed-params"> +<title +>passvariables.kmdr</title> +<para +>&kommander; 1.3 võimaldab ka skriptidega edastada ja tagastada muutujaid. Seda demonsteeribki käesolev dialoog. Uuri hoolikalt nuppude sisu. Näed, et kumbki nupp ei kirjuta otseselt ühessegi LineEditi kasti, mis saavad teksti skriptilt. Kui üks kirjutatakse otse skriptilt, siis teine kirjutatakse nupult edastatud sisuga. Kolmandat ei kirjutata üldse, vaid edastatakse omakorda funktsioonis return(), mis saadakse nupuga ja kirjutatakse. Paremal pool näeb ka seda, kuidas seda teha PHP-ga, nii et saad näha, kuidas see võib toimida Pythoni, Ruby, Perli või mõnes veel vähem levinud keeles, näiteks Rexx. Keeled, mis tulevad toime DCOP-iga, suudavad ka &kommander;is enamat. Demo mõte on näidata tegevusvabadust. &kommander;il ei ole funktsioone, aga ometi on tal need olemas. Loo skript, deklareeri soovi korral mõned globaalsed muutujad, edasta mõned parameetrid teisele skriptile ja tagasta väärtus. Teadlikult lihtsustatud GUI skriptimise tööriista kohta on see väga suur saavutus. See käitumine toimib ainult uue parseriga ning sellest räägitakse lähemalt <link linkend="passargs" +>siin</link +>. </para> +</sect2> + +<sect2 id="tableselect"> +<title +>tableselect.kmdr</title> +<para +>See näidis demonstreerib, kuidas kasutada uut valimisfunktsiooni tabelividinas. Nüüd on võimalik hankida neli koordinaati, mis võimaldab ploki valikut. Samuti näitab see, kuidas pidi talitama enne selle funktsiooni lisamist ja kuidas kasutada skriptile edastatud parameetreid. Lisaks demonstreerib see lihtsat ploki kopeerimise ja tabelisse asetamise funktsiooni, samuti ploki summeerimist. </para> +</sect2> + +</sect1> +</chapter> diff --git a/tde-i18n-et/docs/kdewebdev/kommander/widgets.docbook b/tde-i18n-et/docs/kdewebdev/kommander/widgets.docbook new file mode 100644 index 00000000000..f82509aa74d --- /dev/null +++ b/tde-i18n-et/docs/kdewebdev/kommander/widgets.docbook @@ -0,0 +1,645 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<sect1 id="widgets"> +<sect1info> +<title +>Vidinad</title> +</sect1info> + +<title +>Vidinad</title> + +<para +>&kommander;i dialoogi ehituskivideks on vidinad. Need sarnanevad kõigi muude &Qt; ja &kde; teekide vidinatega, ainult et neile on lisatud mõningaid võimalusi, et neil võiks olla <quote +>tekstiseosed</quote +>. See tähendab, et tekst seostatakse vidina olekuga või selle populatsioonipesaga. Olekute arv sõltub vidinast. Kui vidinal on ainult üks olek, nimetatakse seda vaikeolekuks. </para> + +<note> +<para +>Dialoogil on &kommander;i teksti mõttes kaks eriolekut: initsialiseerimine ja hävitamine. Nagu nimed ütlevad, käivitatakse need vastavalt dialoogi initsialiseerimisel ja hävitamisel. Need kaitsevad avamisel niinimetatud <quote +>võidujooksu</quote +> (race) probleemide eest, mistõttu sa ei pea kogu aeg muretsema mingite spetsiaalsete sulgemisprotseduuride pärast.</para> +<para +>Peaakent (MainWindow) kasutava rakenduse korral (mis on loodud &Qt; Disaineriga) ei ole initsialiseerimise ja hävitamise olekuid, vaid signaale <emphasis +>initialize</emphasis +> ja <emphasis +>destroy</emphasis +> saab kasutada teabe hankimiseks rakenduse konstrueerimisel või sulgemisel.</para> +</note> + +<para +>Allpool on ära toodud &kommander;i standardvidinad. Kõigil on hulk funktsioone, mida saab tundma õppida vidina funktsioone <guilabel +>Funktsioonisirvijas</guilabel +> uurides. Paljudel neist on ka signaalid ja pesad; nende meetodite kohta leiab teavet &Qt; ja &kde; API dokumentatsioonis. Iga &kommander;i vidina juures on märge selle baasvidina kohta. </para> + +<variablelist> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="label.png" format="PNG"/> +</imageobject +></inlinemediaobject +> Label </term> +<listitem> +<para +>Lihtne vidin, mis sisaldab teksti. Vidin võimaldab määrata ka pildi. </para> +<para +>&Qt; tekstipealdistest kõneleb lähemalt QLabeli dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="pixlabel.png" format="PNG"/> +</imageobject +></inlinemediaobject +> PixmapLabel </term> +<listitem> +<para +>Lihtne pildi- või tekstipealdist sisaldav vidin. Näidatava pildi määrab omadus pixmap. Teksti määrab omadus text. Korraga saab määrata ainult ühe neist omadusest. Kui scaledContents on tõene, skaleeritakse pilt vidina suurusele vastavaks. Teksti vorminduse saab määrata omadusga textFormat. </para> +<para +>&Qt; tekstipealdistest kõneleb lähemalt QLabeli dokumentatsioon. </para> +</listitem> +</varlistentry> + + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="lineedit.png" format="PNG"/> +</imageobject +></inlinemediaobject +> LineEdit </term> +<listitem> +<para +>Tekstikast on ührealine tekstiredaktor. See lubab kasutajal sisestada ja muuta ühtainust tekstirida. Omadusega text saab määrata redaktori esialgse teksti. Omadusega readOnly saab vidina määrata ainult vaadatavaks, mitte muudetavaks. Vidinal võib olla kolm režiimi: normaalne (Normal), kajata (NoEcho) ja parool (Password). Režiimi saab määrata omadusega echoMode. </para> +<para +>Tekstikastil on üks olek - seega vaikeolek. </para> +<para +>Tekstikasti vidina tekst on redaktoris sisalduv tekst. </para> +<para +>&kde; tekstipealdistest kõneleb lähemalt KLineEditi dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="multilineedit.png" format="PNG"/> +</imageobject +></inlinemediaobject +> TextEdit </term> +<listitem> +<para +>Lihtne mitmerealine tekstiredaktor. </para> +<para +>&kde; mitmerealistest tekstiredaktoritest kõneleb lähemalt KTextEditi dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="textbrowser.png" format="PNG"/> +</imageobject +></inlinemediaobject +> TextBrowser </term> +<listitem> +<para +>Lihtne tekstibrauser hüperlinkide navigeerimisega. </para> +<para +>Täpsemalt kõneleb sellest KTextBrowseri dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="listbox.png" format="PNG"/> +</imageobject +></inlinemediaobject +> ListBox </term> +<listitem> +<para +>Loendikasti vidin pakub välja valitavate elementide loendi. Tavaliselt saab valida ühe elemendi või mitte ühtegi. Seda saab muuta omadusega selectionMode. Elemendid lisatakse loendikasti redigeerimisaknas. </para> +<para +>Loendikastil on ainult üks olek - seega vaikeolek. </para> +<para +>Loendikasti vidina tekst on loendikastis leiduvad elemendid. @selectedWidgetText tagastab ainult parajasti valitud elemendid. </para> +<para +>Täpsemalt kõneleb sellest KListBoxi dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="combobox.png" format="PNG"/> +</imageobject +></inlinemediaobject +> ComboBox </term> +<listitem> +<para +>Liitkast on valikuvidin, mis ühendab endas nupu ja hüpikmenüü. See näitab kasutajale valikute nimekirjast parajasti sobivat valikut minimaalse ruumiga. Elemente saab nimekirja lisada redigeerimisaknas. Kui redigeerimisomadus on määratud tõeseks, saab kasutaja oma suva järgi kasti stringe sisestada. </para> +<para +>Liitkastil on üks olek - seega vaikeolek. </para> +<para +>Liitkasti vidina tekst on valitud elemendi tekst. </para> +<para +>Täpsemalt kõneleb sellest KComboBoxi dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="listview.png" format="PNG"/> +</imageobject +></inlinemediaobject +> TreeWidget </term> +<listitem> +<para +>Vidin, mis pakub loendit puukujulisena. Lisada saab alamelemente ja mitmeveerulisi andmeid. Praegu ei saa veel muuta veerge. Järglassõlme lisamiseks kasuta eraldajana <quote +>/</quote +>. Veeruandmete lisamiseks kasuta veergude vahel paomärgiga tabulaatorimärki <quote +>\t</quote +>. </para> +<para +>Täpsemalt kõneleb sellest KListView' dokumentatsioon. </para> + +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="table.png" format="PNG"/> +</imageobject +></inlinemediaobject +> Table </term> +<listitem> +<para +>Tabelividin, mis toetab lahtrites erinevaid vidinaid. </para> +<para +>Täpsemalt kõneleb sellest QTable'i dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="pushbutton.png" format="PNG"/> +</imageobject +></inlinemediaobject +> ExecButton </term> +<listitem> +<para +>Nupp, millele klõpsates käivitatakse selle tekstiseos. Nupu pealdise saab määrata omadusega text. Tekstiseose väljund saadetakse standardväljundise, kui omadus writeStdout on määratud tõeseks. Nupp võib olla dialoogi vaiketoiming, kui vaikeväärtuse omadus on määratud tõeseks. </para> +<para +>Käivitamisnupul on üks olek - seega vaikeolek. </para> +<para +>Käivitamisnupuga pole seostatud mingit vidina teksti. </para> +<para +>Täpsemalt kõneleb sellest KPushButtoni dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="closebutton.png" format="PNG"/> +</imageobject +></inlinemediaobject +> CloseButton </term> +<listitem> +<para +>Nupp, millel klõpsates käivitatakse selle tekstiseos ja seejärel suletakse dialoog. Nupu pealdise saab määrata omadusega text. Tekstiseose väljund saadetakse standardväljundisse, kui omadus writeStdout on määratud tõeseks. Nupp võib olla dialoogi vaiketoiming, kui vaikeväärtuse omadus on määratud tõeseks. </para> +<para +>Sulgemisnupul on üks olek - seega vaikeolek. </para> +<para +>Sulgemisnupuga pole seotud mingit vidina teksti. </para> +<para +>Täpsemalt kõneleb sellest KPushButtoni dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="konsole.png" format="PNG"/> +</imageobject +></inlinemediaobject +> Konsole </term> +<listitem> +<para +>Vidin, mis haarab skriptide väljundi tekstibrauseris. Vaikeolek käivitatakse ning vidinas näidatakse nende (sisemiste või väliste) käskude väljundit. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="lineedit.png" format="PNG"/> +</imageobject +></inlinemediaobject +> FileSelector </term> +<listitem> +<para +>Failivalija vidin kombineerib tekstikasti nupuga, millel klõpsates saab kasutaja avada dialoogi failide/kataloogide valimiseks. Valitud fail/kataloog salvestatakse tekstikastis. Failivalija tüüp määratakse omadusega selectionType. Võimalikud variandid on Open (avamine), Save (salvestamine) ja Directory (kataloog). Mitut faili/kataloogi on võimalik valida, kui määrata tõeseks omadus selectionOpenMultiple. Failivalija pealdise võib määrata omadusega selectionCaption. See on näidatava dialoogiakna tiitel. Kui pealdist ei määrata, näidatakse tiitliribal valikutüüpi. Dialoogis näidatavaid faile saab piirata omadusega selectionFilter. </para> +<para +>Failivalijal on üks olek - niisiis vaikeolek. </para> +<para +>Failivalija vidina tekst on tekstikastis sisalduv tekst (kasutaja valitud fail). </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="checkbox.png" format="PNG"/> +</imageobject +></inlinemediaobject +> CheckBox </term> +<listitem> +<para +>Nupp, mida saab sisse ja välja lülitada. See võib olla ka poolmärgitud, kui kolmeolekuline omadus on märgitud tõeseks. Märkekastiga seotud pealdis määratakse kindlaks omadusegatext. Märgitud omaduse määramine paneb märkekasti algselt märgitud olekusse. </para> +<para +>Märkekastil on kolm olekut: märgitud, poolmärgitud ja märkimata. </para> +<para +>Märkekasti vidina tekst on tekstiomaduse väärtus. </para> +<para +>Täpsemalt kõneleb sellest KCheckBoxi dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="radiobutton.png" format="PNG"/> +</imageobject +></inlinemediaobject +> RadioButton </term> +<listitem> +<para +>Nupp, mida võib märkida või märke eemaldada, tavaliselt kasutatakse nupugrupis välistava valiku langetamiseks. Nupuga seostatud teksti määrab tekstiomadus. Nupu saab initsialiseerida märgituna, kui anda omadusele checked tõene väärtus. Kui nupugrupis peaks kõigil raadionuppudel olema omadus checked märgitud tõeseks, märgitakse tegelikult ära viimane nupp. </para> +<para +>Raadionupul on kaks olekut: märgitud ja märkimata. </para> +<para +>Raadionupuga pole seostatud mingit vidina teksti. </para> +<para +>Täpsemalt kõneleb sellest KRadioButtoni dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="buttongroup.png" format="PNG"/> +</imageobject +></inlinemediaobject +> ButtonGroup </term> +<listitem> +<para +>Konteiner mitme nupu organiseerimiseks ühe grupina. Tiitliomadusega saab soovi korral määrata nupugrupi nime. Raami saab kohendada omadusega lineWidth. Nupugrupi võib määrata välistavaks, kui anda vastavale omadusele väärtus 'tõene'. See tähendab, et kui grupis klõpsatakse mingit nuppu, see aktiveeritakse ning teised nupud deaktiveeritakse. Erandiks on siinkohal raadionupud, mis on alati vastastikku välistavad isegi juhul, kui gruppi ei ole välistavaks määratud. Raadinuppe saab määrata mittevälistavaks omadusega radioButtonExclusive (aga tegelikult pole ma eriti kindel, et see omadus üldse midagi teeb). </para> +<para +>Nupugrupil on üks olek - seega on see vaikeolek.</para> +<para +>Nupugrupi vidina tekst kujutab endast iga nupu tekstiseoseid sellises järjekorras, nagu nad nupugrupis esinevad. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="groupbox.png" format="PNG"/> +</imageobject +></inlinemediaobject +> GroupBox </term> +<listitem> +<para +>Konteinervidin, mis sisaldab muid vidinaid. Raami saab kohendada omadusega lineWidth. Tiitli saab lisada tiitliomadust määrates. </para> +<para +>Grupikastil on üks olek - seega vaikeolek. </para> +<para +>Grupikasti vidina tekst on kõigi selles sisalduvate vidinate tekstiseosed üheskoos. Need on järjekorras, nagu nad esinevad grupikastis. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="tabwidget.png" format="PNG"/> +</imageobject +></inlinemediaobject +> TabWidget </term> +<listitem> +<para +>Vidin, mis pakub mitu kaarti, mis kõik võivad sisaldada omakorda vidinaid. </para> +<para +>Täpsemalt kõneleb sellest KTabWidgeti dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="spinbox.png" format="PNG"/> +</imageobject +></inlinemediaobject +> SpinBoxInt </term> +<listitem> +<para +>See vidin lubab kasutajal muuta täisarvulist väärtust kas üles ja alla osutavaid nooli vajutades või arvu kasti sisestades. Vidina miinimum- ja maksimumväärtuse saab määrata omadustega minValue ja maxValue. Omadusega specialValueText saab määrata miinimumväärtuse asemel näidatava tekstilise väärtuse. </para> +<para +>Sellel vidinal on ainult üks olek - seega vaikeolek. </para> +<para +>Kerimiskasti vidina tekst on parajasti näidatav täisarv. </para> +<para +>Täpsemalt kõneleb sellest QSpinBoxi dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="slider.png" format="PNG"/> +</imageobject +></inlinemediaobject +> Slider </term> +<listitem> +<para +>Vidin, mis pakub rõhtsat või püstist liugurit. </para> +<para +>Täpsemalt kõneleb sellest QSlideri dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="richtextedit.png" format="PNG"/> +</imageobject +></inlinemediaobject +> RichText redaktor </term> +<listitem> +<para +>See vidin pakub tekstiredaktori, mis võimaldab lihtsamat teksti vormindamist. </para> +<para +>RichText redaktoril on üks olek - seega vaikeolek. </para> +<para +>RichText redaktori vidina tekst on redaktori vormindatud tekst. Valitud teksti võib tagastada @selectedWidgetText. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="statusbar.png" format="PNG"/> +</imageobject +></inlinemediaobject +> StatusBar </term> +<listitem> +<para +>Vidin, mis näitab olekuteavet ja asub tavaliselt dialoogi allosas. </para> +<para +>Täpsemalt kõneleb sellest KStatusBari dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="progress.png" format="PNG"/> +</imageobject +></inlinemediaobject +> ProgressBar </term> +<listitem> +<para +>Vidin, mis näitab edenemisteavet. </para> +<para +>Täpsemalt kõneleb sellest KProgressi dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="shellscript.png" format="PNG"/> +</imageobject +></inlinemediaobject +> ScriptObject </term> +<listitem> +<para +>See on pseudovidin, mis ei ilmu nähtavale dialoogi käivitamisel. Seda võib pidada mõnes mõttes funktsiooniks. Skriptiobjektis on kood, mille saab dialoogist alati käivitada, kutsudes selle välja funktsiooniga <emphasis +>execute</emphasis +>. Mainitud meetodiga võib skriptiobjektile edastada ka argumente ning kasutatakse skriptiobjekti sees kui <emphasis +>@Self.item(0), @Self.item(1), jne.</emphasis +>, kui kasutad vana parserit, või <emphasis +>Self.item(0, Self.item(1), jne.</emphasis +>, kui kasutad uut parserit. </para> +<para +>Funktsiooniga <emphasis +>execute</emphasis +> saab ühendada ka signaale, nii et see käitub siis kui pesa. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="timer.png" format="PNG"/> +</imageobject +></inlinemediaobject +> Timer </term> +<listitem> +<para +>See on pseudovidin, mis ei ilmu nähtavale dialoogi käivitamisel. Seda saab kasutada toimingu teostamiseks määratud aja järel kas üks kord või regulaarselt. Määra <guilabel +>intervall</guilabel +> millisekundites ja vali, kas see tuleb käivitada üks kord (<guilabel +>singleShot</guilabel +>) või mitte. Ühenda signaal <emphasis +>timeout</emphasis +> pesaga, mis käivitada määratud aja möödumisel. </para> +<para +>Taimerit ei käivitata vaikimisi, selleks tuleb käivitada funktsioon <emphasis +>execute</emphasis +>. </para> +<para +>Täpsemalt kõneleb sellest QTimeri dokumentatsioon. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="datepicker.png" format="PNG"/> +</imageobject +></inlinemediaobject +> DatePicker </term> +<listitem> +<para +>Vidin kuupäeva valimiseks. Vaikimisi kuupäeva saab määrata omadusega <guilabel +>date</guilabel +> või funktsiooniga <emphasis +>setText</emphasis +> ISO vormingus: <emphasis +>YYYY-MM-DD</emphasis +>. </para> +<para +>Vidina tekst on parajasti näidatav kuupäev. </para> +<para +>Täpsemalt kõneleb sellest KDatePickeri dokumentatsioon. </para> +<note +><para +>Kommander 1.3 uus omadus.</para +></note> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="kommander.png" format="PNG"/> +</imageobject +></inlinemediaobject +> AboutDialog </term> +<listitem> +<para +>See on pseudovidin, mis ei ilmu nähtavale dialoogi käivitamisel. See sisaldab teavet rakenduse, autori ja litsentsi kohta. Infodialoogi näidatakse funktsiooni <emphasis +>execute</emphasis +> väljakutsumisel. <warning +><para +>Enne kõiki teisi, ka enne funktsiooni <emphasis +>execute</emphasis +>, tuleb välja kutsuda funktsioon <emphasis +>initialize</emphasis +>.</para +></warning> +</para> +<note +><para +>Kommander 1.3 uus omadus.</para +></note> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="kfontcombo.png" format="PNG"/> +</imageobject +></inlinemediaobject +> FontDialog </term> +<listitem> +<para +>See on pseudovidin, mida saab kasutada fondi valimise dialoogi avamiseks. Vaikefondi saab määrata funktsiooniga <emphasis +>setFont</emphasis +>, valitud fondi omadused hankida funktsioonidega <emphasis +>family, pointSize, bold, italic</emphasis +>. Dialoogi näidatakse funktsiooni <emphasis +>execute</emphasis +> väljakutsumisel. </para> +<note +><para +>Kommander 1.3 uus omadus.</para +></note> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="contents.png" format="PNG"/> +</imageobject +></inlinemediaobject +> PopupMenu </term> +<listitem> +<para +>Pseudovidin, mida saab kasutada menüü näitamiseks. Menüükirjete lisamiseks kasuta funktsioone <emphasis +>insert...</emphasis +> Kui kasutaja klõpsad menüükirjele, käivitatakse määratud <emphasis +>executeWidget</emphasis +>'i funktsioon <emphasis +>execute</emphasis +>. Menüükirjed võib ühendada hüpikmenüü enda funktsiooniga <emphasis +>execute</emphasis +>, millisel juhul käivitatakse tekst, mis on seostatud olekuga <emphasis +>default</emphasis +>. Menüükirjeid lisades võib omistada neile indeksi ja käsitleda kõiki menüüelemente menüüvidinas nõudena, mis edastatakse samale indeksile. Kui soovid teada, kuidas see käib, uuri rakendusega kaasa pandud näidet <link linkend="example-key-value" +>keyvaluecombo.kmdr</link +>. Selle leiab redaktori menüüs Tööriistad näidete dialoogis. </para> +<para +>Menüü näitamiseks kasuta pesa <emphasis +>popup</emphasis +>. Tavaliselt on see ühendatud teise vidina signaaliga <emphasis +>contextMenuRequested</emphasis +>.</para> +<para +>Menüü võib sisaldada teisi PopupMenu alammenüüsid.</para> +<note +><para +>Kommander 1.3 uus omadus.</para +></note> +</listitem> +</varlistentry> + +<varlistentry> +<term> +<inlinemediaobject +><imageobject> +<imagedata fileref="toolbox.png" format="PNG"/> +</imageobject +></inlinemediaobject +> ToolBox </term> +<listitem> +<para +>Konteinervidin nagu TabWidget. Sel on mitu kaarti, mis kõik võivad sisaldada teisi vidinaid. </para> +<warning +><para +>Sel vidinal on redaktoriviga, mis ei mõjuta selle kasutamist käivitamisel, küll aga kasutamist redaktoris. Kui püüad redaktoris lisada dialoogile kaarte, muutub see loetamatuks. Nii et seda ei tasu teha. Kui soovid kasutada tööriistakasti, täida palun vidin lennult, kasutades käsku <command +>addWidget</command +>. Võimaluse korral lisame näite 1.3 väljalaskele - seda võib kontrollida veebileheküljel.</para +></warning> +<para +>Täpsemalt kõneleb sellest QToolBoxi dokumentatsioon.</para> +<note +><para +>Kommander 1.3 uus omadus.</para +></note> +</listitem> +</varlistentry> + + +</variablelist> +</sect1> |