You can subscribe to this list here.
2007 |
Jan
|
Feb
(1) |
Mar
(6) |
Apr
(7) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(10) |
Oct
(9) |
Nov
|
Dec
|
---|
From: Matthew G. <mat...@us...> - 2007-10-24 02:09:59
|
Update of /cvsroot/jsbsimcommander/po In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv15837/po Added Files: ChangeLog Makefile.in.in Makevars POTFILES.in Rules-quot boldquot.sed de.gmo de.po en@boldquot.header en@quot.header fr.gmo fr.po insert-header.sin it.gmo it.po jsbsimcommander.pot quot.sed remove-potcdate.sin zh_CN.gmo zh_CN.po Log Message: I18N support. --- NEW FILE: it.po --- # Italian translations for JSBSimCommander package. # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the JSBSimCommander package. # Automatically generated, 2007. # msgid "" msgstr "" "Project-Id-Version: JSBSimCommander 0.1.2\n" "Report-Msgid-Bugs-To: mat...@gm...\n" "POT-Creation-Date: 2007-10-23 10:29+0800\n" "PO-Revision-Date: 2007-10-23 10:29+0800\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ASCII\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/gui/AircraftDialog.cpp:507 src/gui/AircraftDialog.cpp:729 [...2673 lines suppressed...] msgid "flap position norm" msgstr "" #: src/initprops.h:1771 src/initprops.h:1777 src/initprops.h:1783 #: src/initprops.h:1789 src/initprops.h:1795 src/initprops.h:1801 #: src/initprops.h:1807 src/initprops.h:1813 msgid "do not use the other one together" msgstr "" #: src/initprops.h:1774 msgid "flap position" msgstr "" #: src/initprops.h:1780 src/initprops.h:1786 src/initprops.h:1792 msgid "speedbrake position" msgstr "" #: src/initprops.h:1798 src/initprops.h:1804 src/initprops.h:1810 msgid "spoiler position" msgstr "" --- NEW FILE: Rules-quot --- # Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en...@qu...sert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en...@qu...sert-header en...@bo...sert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en...@bo...sert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header --- NEW FILE: fr.po --- # French translations for JSBSimCommander package. # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the JSBSimCommander package. # Automatically generated, 2007. # msgid "" msgstr "" "Project-Id-Version: JSBSimCommander 0.1.2\n" "Report-Msgid-Bugs-To: mat...@gm...\n" "POT-Creation-Date: 2007-10-23 10:29+0800\n" "PO-Revision-Date: 2007-10-23 10:29+0800\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ASCII\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: src/gui/AircraftDialog.cpp:507 src/gui/AircraftDialog.cpp:729 [...2673 lines suppressed...] msgid "flap position norm" msgstr "" #: src/initprops.h:1771 src/initprops.h:1777 src/initprops.h:1783 #: src/initprops.h:1789 src/initprops.h:1795 src/initprops.h:1801 #: src/initprops.h:1807 src/initprops.h:1813 msgid "do not use the other one together" msgstr "" #: src/initprops.h:1774 msgid "flap position" msgstr "" #: src/initprops.h:1780 src/initprops.h:1786 src/initprops.h:1792 msgid "speedbrake position" msgstr "" #: src/initprops.h:1798 src/initprops.h:1804 src/initprops.h:1810 msgid "spoiler position" msgstr "" --- NEW FILE: de.gmo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: de.po --- # German translations for JSBSimCommander package. # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the JSBSimCommander package. # Automatically generated, 2007. # msgid "" msgstr "" "Project-Id-Version: JSBSimCommander 0.1.2\n" "Report-Msgid-Bugs-To: mat...@gm...\n" "POT-Creation-Date: 2007-10-23 10:29+0800\n" "PO-Revision-Date: 2007-10-23 10:29+0800\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ASCII\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/gui/AircraftDialog.cpp:507 src/gui/AircraftDialog.cpp:729 [...2673 lines suppressed...] msgid "flap position norm" msgstr "" #: src/initprops.h:1771 src/initprops.h:1777 src/initprops.h:1783 #: src/initprops.h:1789 src/initprops.h:1795 src/initprops.h:1801 #: src/initprops.h:1807 src/initprops.h:1813 msgid "do not use the other one together" msgstr "" #: src/initprops.h:1774 msgid "flap position" msgstr "" #: src/initprops.h:1780 src/initprops.h:1786 src/initprops.h:1792 msgid "speedbrake position" msgstr "" #: src/initprops.h:1798 src/initprops.h:1804 src/initprops.h:1810 msgid "spoiler position" msgstr "" --- NEW FILE: jsbsimcommander.pot --- # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: mat...@gm...\n" "POT-Creation-Date: 2007-10-23 10:29+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: src/gui/AircraftDialog.cpp:507 src/gui/AircraftDialog.cpp:729 [...2673 lines suppressed...] msgid "flap position norm" msgstr "" #: src/initprops.h:1771 src/initprops.h:1777 src/initprops.h:1783 #: src/initprops.h:1789 src/initprops.h:1795 src/initprops.h:1801 #: src/initprops.h:1807 src/initprops.h:1813 msgid "do not use the other one together" msgstr "" #: src/initprops.h:1774 msgid "flap position" msgstr "" #: src/initprops.h:1780 src/initprops.h:1786 src/initprops.h:1792 msgid "speedbrake position" msgstr "" #: src/initprops.h:1798 src/initprops.h:1804 src/initprops.h:1810 msgid "spoiler position" msgstr "" --- NEW FILE: quot.sed --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ChangeLog --- 2007-10-23 gettextize <bug...@gn...> * Makefile.in.in: New file, from gettext-0.16.1. * Rules-quot: New file, from gettext-0.16.1. * boldquot.sed: New file, from gettext-0.16.1. * en@boldquot.header: New file, from gettext-0.16.1. * en@quot.header: New file, from gettext-0.16.1. * insert-header.sin: New file, from gettext-0.16.1. * quot.sed: New file, from gettext-0.16.1. * remove-potcdate.sin: New file, from gettext-0.16.1. * POTFILES.in: New file. --- NEW FILE: en@quot.header --- # All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # --- NEW FILE: Makevars --- # Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Free Software Foundation, Inc. # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = mat...@gm... # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = --- NEW FILE: POTFILES.in --- # List of source files which contain translatable strings. src/gui/actuator.h src/gui/gain.h src/gui/MyFrame.h src/gui/actuator_dlg.cpp src/gui/TreeItem.h src/gui/AircraftDialog.cpp src/gui/func_dlg.h src/gui/doc.h src/gui/condition.cpp src/gui/AircraftDialog.h src/gui/switch.cpp src/gui/When_Diag.cpp src/gui/kinemat.h src/gui/deadband.cpp src/gui/fcsprop_dlg.h src/gui/Engine_Diag.h src/gui/Turbine_Diag.cpp src/gui/filter_dlg.h src/gui/Mass_Diag.h src/gui/ResultShow_Diag.cpp src/gui/sum.cpp src/gui/toolbar.cpp src/gui/kinemat_dlg.cpp src/gui/AeroDynamics_Diag.cpp src/gui/Axis_Diag.h src/gui/Propulsion_Diag.cpp src/gui/TreeItem.cpp src/gui/pid_dlg.cpp src/gui/import.h src/gui/import.cpp src/gui/toolbar.h src/gui/func.cpp src/gui/view.cpp src/gui/doc.cpp src/gui/Turbine_Diag.h src/gui/When_Diag.h src/gui/Table_Diag.h src/gui/filter.cpp src/gui/kinemat.cpp src/gui/shape.h src/gui/Axis_Diag.cpp src/gui/pid.h src/gui/EngineMgr_Diag.h src/gui/deadband_dlg.cpp src/gui/gain.cpp src/gui/sum_dlg.h src/gui/filter_dlg.cpp src/gui/filter.h src/gui/switch_dlg.h src/gui/sensor_dlg.h src/gui/ResultShow_Diag.h src/gui/Function_Diag.h src/gui/view.h src/gui/gain_dlg.h src/gui/func.h src/gui/Propulsion_Diag.h src/gui/pid_dlg.h src/gui/Property_Diag.h src/gui/shape.cpp src/gui/Function_Diag.cpp src/gui/MyFrame.cpp src/gui/condition.h src/gui/Engine_Diag.cpp src/gui/fcsprop_dlg.cpp src/gui/Property_Diag.cpp src/gui/LGear_Diag.cpp src/gui/deadband.h src/gui/actuator.cpp src/gui/sensor.cpp src/gui/func_dlg.cpp src/gui/LGear_Diag.h src/gui/sum.h src/gui/AeroDynamics_Diag.h src/gui/actuator_dlg.h src/gui/Table_Diag.cpp src/gui/deadband_dlg.h src/gui/EngineMgr_Diag.cpp src/gui/switch.h src/gui/Mass_Diag.cpp src/gui/pid.cpp src/gui/kinemat_dlg.h src/gui/gain_dlg.cpp src/gui/sensor_dlg.cpp src/gui/sum_dlg.cpp src/gui/sensor.h src/gui/switch_dlg.cpp src/Commander.cpp src/MyApp.cpp src/FGJSBBase.cpp src/initprops.h src/MyApp.h src/rc/trans.cpp --- NEW FILE: en@boldquot.header --- # All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # --- NEW FILE: zh_CN.gmo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: fr.gmo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: boldquot.sed --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Makefile.in.in --- # Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <dr...@gn...> # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.16 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: stamp-po all-no: # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: --- NEW FILE: remove-potcdate.sin --- # Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } --- NEW FILE: it.gmo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: insert-header.sin --- # Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } --- NEW FILE: zh_CN.po --- (This appears to be a binary file; contents omitted.) |
From: Matthew G. <mat...@us...> - 2007-10-24 02:09:59
|
Update of /cvsroot/jsbsimcommander/src/rc In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv15837/src/rc Modified Files: Makefile.am Added Files: trans.cpp Log Message: I18N support. Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsimcommander/src/rc/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Makefile.am 25 Sep 2007 13:55:33 -0000 1.4 --- Makefile.am 24 Oct 2007 02:09:47 -0000 1.5 *************** *** 1,6 **** ! ! EXTRA_DIST = \ ! frame.xrc menu.xrc toolbar.xrc \ acft_mgr.bmp mgr.bmp rslt_mgr.bmp \ ! sum_dlg.xrc propdlg.xrc appicon.ico \ ! appicon.xpm --- 1,26 ---- ! ! EXTRA_DIST = trans.cpp \ ! frame.xrc menu.xrc toolbar.xrc \ ! sum_dlg.xrc propdlg.xrc \ acft_mgr.bmp mgr.bmp rslt_mgr.bmp \ ! appicon.xpm appicon.ico ! ! noinst_LIBRARIES = libRC.a ! ! libRC_a_SOURCES = resource.cpp ! libRC_a_CPPFLAGS = ${WX_CXXFLAGS} ! ! XRC_FILES = \ ! $(srcdir)/frame.xrc $(srcdir)/menu.xrc $(srcdir)/toolbar.xrc \ ! $(srcdir)/sum_dlg.xrc $(srcdir)/propdlg.xrc ! ! resource.cpp : $(XRC_FILES) ! $(WXRC) -c -o $@ $(XRC_FILES) ! ! .xrc.h: ! $(WXRC) -e -c -o $*.cpp $< ! ! trans.cpp : $(XRC_FILES) ! $(WXRC) -g $(XRC_FILES) | $(AWK) 'BEGIN {print "#include <string>\nusing std::string;\n#define _(ABC) ABC\n\nint main() {\n string str;"} END {print " return 0;\n}\n"} {print " str = " $$0 }' > $@ ! cp -f $@ $(srcdir)/$@ ! --- NEW FILE: trans.cpp --- #include <string> using std::string; #define _(ABC) ABC int main() { string str; return 0; } |
From: Matthew G. <mat...@us...> - 2007-10-24 02:09:59
|
Update of /cvsroot/jsbsimcommander/src In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv15837/src Modified Files: Commander.cpp Makefile.am MyApp.cpp Added Files: config.h.in Log Message: I18N support. Index: Commander.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/Commander.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Commander.cpp 25 Sep 2007 14:15:32 -0000 1.7 --- Commander.cpp 24 Oct 2007 02:09:47 -0000 1.8 *************** *** 75,79 **** m_locale.Init(wxLANGUAGE_DEFAULT); // Initialize the catalogs we'll be using ! m_locale.AddCatalog(wxT("JSBSimCommander")); Delimited = wxFileName::GetPathSeparator(); --- 75,79 ---- m_locale.Init(wxLANGUAGE_DEFAULT); // Initialize the catalogs we'll be using ! m_locale.AddCatalog(wxT("jsbsimcommander")); Delimited = wxFileName::GetPathSeparator(); Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsimcommander/src/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Makefile.am 24 Jan 2007 00:18:51 -0000 1.7 --- Makefile.am 24 Oct 2007 02:09:47 -0000 1.8 *************** *** 11,14 **** --- 11,18 ---- -I$(top_srcdir)/src/gui ${WX_CXXFLAGS} + noinst_LIBRARIES = libJSBSim.a + + libJSBSim_a_SOURCES = FGJSBBase.cpp + bin_PROGRAMS = Commander JSBSimCommander *************** *** 69,76 **** $(COMMANDER_RES) - noinst_LIBRARIES = libJSBSim.a - - libJSBSim_a_SOURCES = FGJSBBase.cpp - noinst_HEADERS = initprops.h FGJSBBase.h MyApp.h --- 73,76 ---- --- NEW FILE: config.h.in --- /* src/config.h.in. Generated from configure.in by autoheader. */ /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the <float.h> header file. */ #undef HAVE_FLOAT_H /* Define to 1 if you have the `floor' function. */ #undef HAVE_FLOOR /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define if you have the iconv() function. */ #undef HAVE_ICONV /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #undef HAVE_MALLOC /* Define to 1 if you have the `memmove' function. */ #undef HAVE_MEMMOVE /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have the `pow' function. */ #undef HAVE_POW /* Define to 1 if you have the `sqrt' function. */ #undef HAVE_SQRT /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the <stddef.h> header file. */ #undef HAVE_STDDEF_H /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP /* Define to 1 if you have the <strings.h> header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the <string.h> header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strtol' function. */ #undef HAVE_STRTOL /* Define to 1 if you have the <sys/stat.h> header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the <sys/types.h> header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL /* Name of gettext locale directory */ #undef LOCALEDIR /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if your <sys/time.h> declares `struct tm'. */ #undef TM_IN_SYS_TIME /* Version number of package */ #undef VERSION /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc /* Define to `unsigned int' if <sys/types.h> does not define. */ #undef size_t Index: MyApp.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/MyApp.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MyApp.cpp 25 Sep 2007 14:13:28 -0000 1.5 --- MyApp.cpp 24 Oct 2007 02:09:47 -0000 1.6 *************** *** 65,69 **** m_locale.Init(wxLANGUAGE_DEFAULT); // Initialize the catalogs we'll be using ! m_locale.AddCatalog(wxT("JSBSimCommander")); Delimited = wxFileName::GetPathSeparator(); --- 65,69 ---- m_locale.Init(wxLANGUAGE_DEFAULT); // Initialize the catalogs we'll be using ! m_locale.AddCatalog(wxT("jsbsimcommander")); Delimited = wxFileName::GetPathSeparator(); |
From: Matthew G. <mat...@us...> - 2007-10-24 02:09:59
|
Update of /cvsroot/jsbsimcommander/src/mattplot In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv15837/src/mattplot Modified Files: plot.cpp Log Message: I18N support. Index: plot.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/plot.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** plot.cpp 2 Oct 2007 13:03:32 -0000 1.5 --- plot.cpp 24 Oct 2007 02:09:47 -0000 1.6 *************** *** 67,70 **** --- 67,74 ---- using JSBSim::FGTable; + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif + static double ppi_x = 96.0; static double ppi_y = 96.0; |
From: Matthew G. <mat...@us...> - 2007-10-24 02:09:58
|
Update of /cvsroot/jsbsimcommander In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv15837 Modified Files: ChangeLog Makefile.am autogen.sh configure.in Added Files: ABOUT-NLS config.rpath Log Message: I18N support. --- NEW FILE: ABOUT-NLS --- 1 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. [...1062 lines suppressed...] 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `tra...@ir...' to make the `.pot' files available to the translation teams. --- NEW FILE: config.rpath --- #! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2006 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit <go...@gn...>, 1996 # # This file 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. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux*) case $cc_basename in icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; sco3.2v5*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) wl='-Wl,' ;; sysv4*MP*) ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II <kc...@do...> reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix3*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; linux*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct=yes else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | kfreebsd*-gnu | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. libname_spec='lib$name' case "$host_os" in aix3*) ;; aix4* | aix5*) ;; amigaos*) ;; beos*) ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) shrext=.dll ;; darwin* | rhapsody*) shrext=.dylib ;; dgux*) ;; freebsd1*) ;; kfreebsd*-gnu) ;; freebsd* | dragonfly*) ;; gnu*) ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac ;; interix3*) ;; irix5* | irix6* | nonstopux*) case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux*) ;; knetbsd*-gnu) ;; netbsd*) ;; newsos6) ;; nto-qnx*) ;; openbsd*) ;; os2*) libname_spec='$name' shrext=.dll ;; osf3* | osf4* | osf5*) ;; solaris*) ;; sunos4*) ;; sysv4 | sysv4.3*) ;; sysv4*MP*) ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ;; uts4*) ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF # How to pass a linker flag through the compiler. wl="$escaped_wl" # Static library suffix (normally "a"). libext="$libext" # Shared library suffix (normally "so"). shlibext="$shlibext" # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec" # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator="$hardcode_libdir_separator" # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the # resulting binary. hardcode_direct="$hardcode_direct" # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L="$hardcode_minus_L" EOF Index: ChangeLog =================================================================== RCS file: /cvsroot/jsbsimcommander/ChangeLog,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** ChangeLog 30 Apr 2006 23:38:09 -0000 1.1.1.1 --- ChangeLog 24 Oct 2007 02:09:46 -0000 1.2 *************** *** 0 **** --- 1,7 ---- + 2007-10-23 gettextize <bug...@gn...> + + * Makefile.am (SUBDIRS): Add po. + (ACLOCAL_AMFLAGS): New variable. + (EXTRA_DIST): Add config.rpath, m4/ChangeLog. + * configure.in (AC_OUTPUT): Add po/Makefile.in. + Index: configure.in =================================================================== RCS file: /cvsroot/jsbsimcommander/configure.in,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** configure.in 28 Sep 2007 05:37:24 -0000 1.7 --- configure.in 24 Oct 2007 02:09:46 -0000 1.8 *************** *** 1,5 **** --- 1,12 ---- + # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. + + AC_PREREQ(2.61) AC_INIT(JSBSimCommander, 0.1.2, mat...@gm...) + AC_CONFIG_SRCDIR([src/Commander.cpp]) AM_INIT_AUTOMAKE() + AC_CONFIG_SRCDIR([src/config.h.in]) + AC_CONFIG_HEADER([src/config.h]) + AC_CANONICAL_HOST # Checks for programs. *************** *** 7,19 **** AC_PROG_AWK AC_PROG_CC AC_PROG_RANLIB AC_CANONICAL_HOST AC_PROG_CXX AC_CHECK_TOOL(RC, windres) - AC_CHECK_TOOL(MSGFMT, msgfmt) - AC_CHECK_TOOL(XGETTEXT, xgettext) AC_LANG_CPLUSPLUS # Check for wx AM_OPTIONS_WXCONFIG --- 14,34 ---- AC_PROG_AWK AC_PROG_CC + AC_PROG_CPP + AC_PROG_INSTALL + AC_PROG_LN_S + AC_PROG_MAKE_SET AC_PROG_RANLIB + AC_PROG_MKDIR_P AC_CANONICAL_HOST AC_PROG_CXX AC_CHECK_TOOL(RC, windres) AC_LANG_CPLUSPLUS + ALL_LINGUAS="de fr it zh_CN" + AM_GNU_GETTEXT([external]) + AC_DEFINE_UNQUOTED(LOCALEDIR, "${prefix}/${DATADIRNAME}/locale", [Name of gettext locale directory]) + + # Check for wx AM_OPTIONS_WXCONFIG *************** *** 52,57 **** --- 67,74 ---- # Checks for header files. AC_HEADER_STDC + AC_CHECK_HEADERS([float.h memory.h stddef.h stdlib.h string.h unistd.h]) # Checks for typedefs, structures, and compiler characteristics. + AC_HEADER_STDBOOL AC_C_CONST AC_C_INLINE *************** *** 60,64 **** --- 77,85 ---- # Checks for library functions. + AC_FUNC_ERROR_AT_LINE + AC_FUNC_MALLOC AC_FUNC_MEMCMP + AC_FUNC_STRTOD + AC_CHECK_FUNCS([floor memmove memset pow sqrt strdup strtol]) # Used for enabling the "-no-undefined" flag while generating DLLs *************** *** 85,89 **** AC_SUBST(WIN32_LDADD) ! AC_OUTPUT( \ Makefile \ src/Makefile \ --- 106,110 ---- AC_SUBST(WIN32_LDADD) ! AC_OUTPUT( po/Makefile.in\ Makefile \ src/Makefile \ Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsimcommander/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile.am 25 May 2006 14:43:44 -0000 1.2 --- Makefile.am 24 Oct 2007 02:09:46 -0000 1.3 *************** *** 1,6 **** ! EXTRA_DIST = \ autogen.sh ! SUBDIRS = src dist-hook: --- 1,6 ---- ! EXTRA_DIST = config.rpath m4/ChangeLog \ autogen.sh ! SUBDIRS = po src dist-hook: *************** *** 13,14 **** --- 13,16 ---- rpm -ta $(PACKAGE)-$(VERSION).tar.gz + + ACLOCAL_AMFLAGS = -I m4 Index: autogen.sh =================================================================== RCS file: /cvsroot/jsbsimcommander/autogen.sh,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** autogen.sh 30 Apr 2006 23:38:09 -0000 1.1.1.1 --- autogen.sh 24 Oct 2007 02:09:46 -0000 1.2 *************** *** 19,27 **** echo "Running aclocal" ! aclocal echo "Running libtoolize" libtoolize --automake --force --copy echo "Running automake --add-missing" automake --add-missing --copy --- 19,30 ---- echo "Running aclocal" ! aclocal -I m4 echo "Running libtoolize" libtoolize --automake --force --copy + echo "Running autoheader" + autoheader + echo "Running automake --add-missing" automake --add-missing --copy |
From: Matthew G. <mat...@us...> - 2007-10-24 01:42:27
|
Update of /cvsroot/jsbsimcommander/m4 In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv7003/m4 Log Message: Directory /cvsroot/jsbsimcommander/m4 added to the repository |
From: Matthew G. <mat...@us...> - 2007-10-24 01:42:27
|
Update of /cvsroot/jsbsimcommander/po In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv7003/po Log Message: Directory /cvsroot/jsbsimcommander/po added to the repository |
From: Matthew G. <mat...@us...> - 2007-10-17 03:05:22
|
Update of /cvsroot/jsbsimcommander/src/gui In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv23318/src/gui Modified Files: TreeItem.cpp Log Message: correct the <alphalimits> and <hysteresis> blocks output format Index: TreeItem.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/TreeItem.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TreeItem.cpp 24 Jan 2007 00:18:52 -0000 1.4 --- TreeItem.cpp 17 Oct 2007 03:05:18 -0000 1.5 *************** *** 486,493 **** { JSBSim::Element * temp_element; if (temp_element = el->FindElement("alphalimits")) { has_alphalimits = true; ! alphaclmin = temp_element->FindElementValueAsNumberConvertTo("min", "DEG"); ! alphaclmax = temp_element->FindElementValueAsNumberConvertTo("max", "DEG"); } else { --- 486,496 ---- { JSBSim::Element * temp_element; + string scratch_unit=""; if (temp_element = el->FindElement("alphalimits")) { has_alphalimits = true; ! scratch_unit = temp_element->GetAttributeValue("unit"); ! if (scratch_unit.empty()) scratch_unit = "DEG"; ! alphaclmin = temp_element->FindElementValueAsNumberConvertFromTo("min", scratch_unit, "DEG"); ! alphaclmax = temp_element->FindElementValueAsNumberConvertFromTo("max", scratch_unit, "DEG"); } else { *************** *** 497,502 **** if (temp_element = el->FindElement("hysteresis_limits")) { has_hysteresis_limits = true; ! alphahystmin = temp_element->FindElementValueAsNumberConvertTo("min", "DEG"); ! alphahystmax = temp_element->FindElementValueAsNumberConvertTo("max", "DEG"); } else { --- 500,507 ---- if (temp_element = el->FindElement("hysteresis_limits")) { has_hysteresis_limits = true; ! scratch_unit = temp_element->GetAttributeValue("unit"); ! if (scratch_unit.empty()) scratch_unit = "DEG"; ! alphahystmin = temp_element->FindElementValueAsNumberConvertFromTo("min", scratch_unit, "DEG"); ! alphahystmax = temp_element->FindElementValueAsNumberConvertFromTo("max", scratch_unit, "DEG"); } else { *************** *** 536,549 **** if (has_alphalimits) { ! out << pre << wxT("<alphalimits>\n"); ! out << pre << wxT(" <min unit=\"DEG\"> ") << alphaclmin << wxT("</min>\n"); ! out << pre << wxT(" <max unit=\"DEG\"> ") << alphaclmax << wxT("</max>\n"); out << pre << wxT("</alphalimits>\n"); } if (has_hysteresis_limits) { ! out << pre << wxT("<hysteresis_limits>\n"); ! out << pre << wxT(" <min unit=\"DEG\"> ") << alphahystmin << wxT("</min>\n"); ! out << pre << wxT(" <max unit=\"DEG\"> ") << alphahystmax << wxT("</min>\n"); out << pre << wxT("</hysteresis_limits>\n"); } --- 541,554 ---- if (has_alphalimits) { ! out << pre << wxT("<alphalimits unit=\"DEG\">\n"); ! out << pre << wxT(" <min> ") << alphaclmin << wxT("</min>\n"); ! out << pre << wxT(" <max> ") << alphaclmax << wxT("</max>\n"); out << pre << wxT("</alphalimits>\n"); } if (has_hysteresis_limits) { ! out << pre << wxT("<hysteresis_limits unit=\"DEG\">\n"); ! out << pre << wxT(" <min> ") << alphahystmin << wxT("</min>\n"); ! out << pre << wxT(" <max> ") << alphahystmax << wxT("</max>\n"); out << pre << wxT("</hysteresis_limits>\n"); } |
From: Matthew G. <mat...@us...> - 2007-10-02 13:03:37
|
Update of /cvsroot/jsbsimcommander/src/mattplot In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv3285/src/mattplot Modified Files: plot.cpp Log Message: bug fix for finding axis interval Index: plot.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/plot.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** plot.cpp 28 Sep 2007 05:39:29 -0000 1.4 --- plot.cpp 2 Oct 2007 13:03:32 -0000 1.5 *************** *** 4772,4778 **** base /= 10; } ! double delta[] = {1, 2, 2.5, 5, 7.5, 10}; double tmin, tmax, tmark_interval; ! for (int i =0; delta[i] <= 10; ++i) { tmark_interval = base*delta[i]; --- 4772,4778 ---- base /= 10; } ! double delta[] = {1, 2, 2.5, 5, 7.5, 10, 12.5, 20, 25, 50}; double tmin, tmax, tmark_interval; ! for (int i =0; i < 10; ++i) { tmark_interval = base*delta[i]; *************** *** 4785,4789 **** } double smin, smax, smark_interval; ! for (int i =0; delta[i] <= 10; ++i) { smark_interval = base*delta[i]; --- 4785,4789 ---- } double smin, smax, smark_interval; ! for (int i =0; i < 10; ++i) { smark_interval = base*delta[i]; |
From: Matthew G. <mat...@us...> - 2007-09-28 05:39:32
|
Update of /cvsroot/jsbsimcommander/src/mattplot In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv1425/src/mattplot Modified Files: plot.cpp plot.h Log Message: mattplot bug fix for win32 on a unexpected event order Index: plot.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/plot.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** plot.cpp 27 Sep 2007 15:20:28 -0000 1.3 --- plot.cpp 28 Sep 2007 05:39:29 -0000 1.4 *************** *** 6355,6359 **** WYSWYG(false), FileName(wxEmptyString), ! hasLoaded(false) { pos_title = TITLE_UP; --- 6355,6360 ---- WYSWYG(false), FileName(wxEmptyString), ! hasLoaded(false), ! bitmap_updated(false) { pos_title = TITLE_UP; *************** *** 6763,6770 **** --- 6764,6773 ---- mdc.SelectObject(wxNullBitmap); dc.DrawBitmap(bitmap, 0, 0, false); + bitmap_updated = true; } else { draw(dc, w, h); + bitmap_updated = false; } } *************** *** 6775,6779 **** if (isDrawIndicator) { ! if (bitmap.Ok()) { dc.DrawBitmap(bitmap, 0, 0, false); --- 6778,6782 ---- if (isDrawIndicator) { ! if (bitmap_updated) { dc.DrawBitmap(bitmap, 0, 0, false); Index: plot.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/plot.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** plot.h 27 Sep 2007 15:20:28 -0000 1.3 --- plot.h 28 Sep 2007 05:39:29 -0000 1.4 *************** *** 1126,1129 **** --- 1126,1131 ---- */ wxBitmap bitmap; + + bool bitmap_updated; /** |
From: Matthew G. <mat...@us...> - 2007-09-28 05:37:27
|
Update of /cvsroot/jsbsimcommander In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv417 Modified Files: configure.in Log Message: ignore wxrc if not be found Index: configure.in =================================================================== RCS file: /cvsroot/jsbsimcommander/configure.in,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** configure.in 24 Jan 2007 00:18:51 -0000 1.6 --- configure.in 28 Sep 2007 05:37:24 -0000 1.7 *************** *** 43,47 **** AM_PATH_WXRC([HAVE_WXRC=1], [HAVE_WXRC=0]) if test "x$HAVE_WXRC" != x1; then ! AC_MSG_ERROR([ The wxrc program was not installed or not found. --- 43,47 ---- AM_PATH_WXRC([HAVE_WXRC=1], [HAVE_WXRC=0]) if test "x$HAVE_WXRC" != x1; then ! AC_MSG_NOTICE([ The wxrc program was not installed or not found. |
From: Matthew G. <mat...@us...> - 2007-09-27 15:25:27
|
Update of /cvsroot/jsbsimcommander/src/mattplot In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv6645 Modified Files: plot.cpp plot.h Log Message: compatible with both wx-2.6 and wx-2.8 Index: plot.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/plot.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** plot.cpp 25 Sep 2007 14:07:47 -0000 1.2 --- plot.cpp 27 Sep 2007 15:20:28 -0000 1.3 *************** *** 139,144 **** { wxString c = std2wxstr(element->GetDataLine()); colour.Set(c); ! /* if (c.Length() == 7 && c[0] == wxChar('#')) { --- 139,145 ---- { wxString c = std2wxstr(element->GetDataLine()); + #if wxCHECK_VERSION(2, 7, 0) colour.Set(c); ! #else if (c.Length() == 7 && c[0] == wxChar('#')) { *************** *** 150,154 **** colour.Set((unsigned char)r, (unsigned char)g, (unsigned char)b); } ! */ } --- 151,155 ---- colour.Set((unsigned char)r, (unsigned char)g, (unsigned char)b); } ! #endif } *************** *** 236,239 **** --- 237,241 ---- void LoadFont(Element * element, wxFont &fnt) { + #if wxCHECK_VERSION(2, 7, 0) { wxString info = std2wxstr(element->FindElementValue("NativeFontInfo")); *************** *** 250,254 **** } } ! double size = element->FindElementValueAsNumber("size"); if (size < 9999 && size > 0 ) --- 252,256 ---- } } ! #endif double size = element->FindElementValueAsNumber("size"); if (size < 9999 && size > 0 ) *************** *** 355,359 **** --- 357,365 ---- { tstream << prefix << _("<!-- Colour Setting. Initial with '#', followd with RGB Hex number. -->\n"); + #if wxCHECK_VERSION(2, 7, 0) tstream << prefix << wxT("<") << tag << wxT(">") << color.GetAsString(wxC2S_HTML_SYNTAX) << wxT("</") << tag << wxT(">\n"); + #else + tstream << prefix << wxT("<") << tag << wxT(">") << wxString::Format(wxT("#%.2X%.2X%.2X"), (unsigned int)color.Red(), (unsigned int)color.Green(), (unsigned int)color.Blue()) << wxT("</") << tag << wxT(">\n"); + #endif } *************** *** 7283,7287 **** --- 7289,7297 ---- break; } + #if wxCHECK_VERSION(2, 7, 0) main.AppendSubMenu(sub, item); + #else + main.Append(wxID_ANY, item, sub); + #endif } } *************** *** 7332,7337 **** --- 7342,7352 ---- case Focus::LEGEND : { + #if wxCHECK_VERSION(2, 7, 0) wxFont font = wxGetFontFromUser(this, f.window->GetLegendList()[f.iter].fnt, _("Choose the font for legend drawing.")); if (font.IsOk()) + #else + wxFont font = wxGetFontFromUser(this, f.window->GetLegendList()[f.iter].fnt); + if (font.Ok()) + #endif { f.window->GetLegendList()[f.iter].fnt = font; *************** *** 7343,7348 **** --- 7358,7368 ---- case Focus::AXISY : { + #if wxCHECK_VERSION(2, 7, 0) wxFont font = wxGetFontFromUser(this, f.window->GetAxisFont(), _("Choose the font for axis drawing.")); if (font.IsOk()) + #else + wxFont font = wxGetFontFromUser(this, f.window->GetAxisFont()); + if (font.Ok()) + #endif { f.window->SetAxisFont(font); *************** *** 7358,7363 **** --- 7378,7388 ---- case Focus::TITLE : { + #if wxCHECK_VERSION(2, 7, 0) wxFont font = wxGetFontFromUser(this, handler->GetTitleFont(), _("Choose the font for title drawing.")); if (font.IsOk()) + #else + wxFont font = wxGetFontFromUser(this, handler->GetTitleFont()); + if (font.Ok()) + #endif { handler->SetTitleFont(font); *************** *** 7424,7429 **** --- 7449,7459 ---- case Focus::TITLE : { + #if wxCHECK_VERSION(2, 7, 0) wxColour c = wxGetColourFromUser(this, handler->GetTitlePen().GetColour(), _("Colour Setting")); if (c.IsOk()) + #else + wxColour c = wxGetColourFromUser(this, handler->GetTitlePen().GetColour()); + if (c.Ok()) + #endif { wxPen p(c); *************** *** 7860,7865 **** --- 7890,7900 ---- void PenSettingDialog::OnColour(wxCommandEvent& event) { + #if wxCHECK_VERSION(2, 7, 0) wxColour c = wxGetColourFromUser(this, pen_ctrl->GetPen().GetColour(), _("Colour Setting")); if (c.IsOk()) + #else + wxColour c = wxGetColourFromUser(this, pen_ctrl->GetPen().GetColour()); + if (c.Ok()) + #endif { pen_ctrl->GetPen().SetColour(c); Index: plot.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/plot.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** plot.h 25 Sep 2007 14:07:47 -0000 1.2 --- plot.h 27 Sep 2007 15:20:28 -0000 1.3 *************** *** 14,17 **** --- 14,18 ---- #include <wx/print.h> + #include <wx/txtstrm.h> #include <vector> |
From: Matthew G. <mat...@us...> - 2007-09-27 14:46:24
|
Update of /cvsroot/jsbsimcommander/src/math In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv24981 Modified Files: FGFunction.cpp FGFunction.h FGPropertyValue.cpp FGPropertyValue.h Log Message: make FGPropertyValue to memorize the its relative name(path) for exporting to xml text Index: FGPropertyValue.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/math/FGPropertyValue.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FGPropertyValue.h 23 Feb 2007 02:54:18 -0000 1.1 --- FGPropertyValue.h 27 Sep 2007 14:46:21 -0000 1.2 *************** *** 66,76 **** public: ! FGPropertyValue(FGPropertyManager* propNode); ~FGPropertyValue() {}; double GetValue(void) const; private: FGPropertyManager* PropertyManager; }; --- 66,78 ---- public: ! FGPropertyValue(FGPropertyManager* propNode, const string & name=""); ~FGPropertyValue() {}; double GetValue(void) const; + string GetName(void) const; private: FGPropertyManager* PropertyManager; + string PropertyName; }; Index: FGPropertyValue.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/math/FGPropertyValue.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FGPropertyValue.cpp 23 Feb 2007 02:54:18 -0000 1.1 --- FGPropertyValue.cpp 27 Sep 2007 14:46:21 -0000 1.2 *************** *** 40,44 **** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! FGPropertyValue::FGPropertyValue(FGPropertyManager* propNode) : PropertyManager(propNode) { } --- 40,44 ---- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ ! FGPropertyValue::FGPropertyValue(FGPropertyManager* propNode, const string & name) : PropertyManager(propNode), PropertyName(name) { } *************** *** 51,53 **** --- 51,64 ---- } + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + string FGPropertyValue::GetName(void) const + { + if (PropertyName.empty()) + { + return PropertyManager->GetFullyQualifiedName(); + } + return PropertyName; + } + } Index: FGFunction.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/math/FGFunction.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FGFunction.cpp 23 Feb 2007 02:54:18 -0000 1.1 --- FGFunction.cpp 27 Sep 2007 14:46:21 -0000 1.2 *************** *** 127,136 **** if (operation == string("property")) { property_name = element->GetDataLine(); ! FGPropertyManager* newNode = PropertyManager->GetNode(property_name); if (newNode == 0) { cerr << "The property " << property_name << " is undefined." << endl; exit(-1); } else { ! Parameters.push_back(new FGPropertyValue( newNode )); } } else if (operation == string("value")) { --- 127,137 ---- if (operation == string("property")) { property_name = element->GetDataLine(); ! // Matt's change here ! FGPropertyManager* newNode = PropertyManager->GetNode(property_name, true); if (newNode == 0) { cerr << "The property " << property_name << " is undefined." << endl; exit(-1); } else { ! Parameters.push_back(new FGPropertyValue( newNode, property_name)); } } else if (operation == string("value")) { *************** *** 170,174 **** { Parameters.push_back(new FGFunction(PropertyManager, element)); ! } else if (operation != string("description")) { cerr << "Bad operation " << operation << " detected in configuration file" << endl; } --- 171,177 ---- { Parameters.push_back(new FGFunction(PropertyManager, element)); ! } else if (operation == string("description")) { ! description = element->GetDataLine(); ! } else { cerr << "Bad operation " << operation << " detected in configuration file" << endl; } Index: FGFunction.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/math/FGFunction.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FGFunction.h 23 Feb 2007 02:54:18 -0000 1.1 --- FGFunction.h 27 Sep 2007 14:46:21 -0000 1.2 *************** *** 182,185 **** --- 182,186 ---- //Matt's change start: FGParameter* GetParameter(size_t i) {return Parameters[i];} + const FGParameter* GetParameter(size_t i) const {return Parameters[i];} size_t GetParaCount() const {return Parameters.size();} enum functionType {eTopLevel=0, eProduct, eDifference, eSum, eQuotient, ePow, *************** *** 191,194 **** --- 192,196 ---- }; functionType GetType() const {return Type;} + string GetDescription() const {return description;} //Matt's change end. *************** *** 207,210 **** --- 209,213 ---- mutable double old_time; mutable double old_value; + string description; //Matt's change end. string Name; |
From: Matthew G. <mat...@us...> - 2007-09-27 10:46:53
|
Update of /cvsroot/jsbsimcommander/src/gui In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv18171 Modified Files: ResultShow_Diag.cpp actuator_dlg.cpp sensor.cpp sensor_dlg.cpp Log Message: Update for the wxWidgets built in unicode mode Index: ResultShow_Diag.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/ResultShow_Diag.cpp,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** ResultShow_Diag.cpp 30 Apr 2006 23:38:48 -0000 1.1.1.1 --- ResultShow_Diag.cpp 27 Sep 2007 10:46:49 -0000 1.2 *************** *** 28,31 **** --- 28,32 ---- #include <wx/wfstream.h> #include <wx/mstream.h> + #include <wx/sstream.h> #include <wx/txtstrm.h> *************** *** 34,38 **** wxArrayString readStrsfromString(const wxString & str) { ! wxMemoryInputStream mis(str, str.Length()); wxTextInputStream tis(mis); tis.SetStringSeparators(wxT("\t,")); --- 35,39 ---- wxArrayString readStrsfromString(const wxString & str) { ! wxStringInputStream mis(str); wxTextInputStream tis(mis); tis.SetStringSeparators(wxT("\t,")); *************** *** 57,61 **** void readNumsfromString(std::vector<double> &list, const wxString & str) { ! wxMemoryInputStream mis(str, str.Length()); wxTextInputStream tis(mis); tis.SetStringSeparators(wxT("\t, ")); --- 58,62 ---- void readNumsfromString(std::vector<double> &list, const wxString & str) { ! wxStringInputStream mis(str); wxTextInputStream tis(mis); tis.SetStringSeparators(wxT("\t, ")); Index: sensor.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/sensor.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** sensor.cpp 28 Feb 2007 04:48:44 -0000 1.11 --- sensor.cpp 27 Sep 2007 10:46:49 -0000 1.12 *************** *** 60,64 **** bits = 0; quantized = 0; ! quant_property = ""; max=0; min=0; --- 60,64 ---- bits = 0; quantized = 0; ! quant_property = wxEmptyString; max=0; min=0; *************** *** 195,201 **** stream << Pre << wxT("<quantization>") << endl; } ! stream << Pre << wxT(" <bits>") << bits << "</bits>" << endl; ! stream << Pre << wxT(" <min>") << min << "</min>" << endl; ! stream << Pre << wxT(" <max>") << min << "</max>" << endl; if (!quant_property.empty()) { stream << Pre << wxT("</quantization>") << endl; --- 195,201 ---- stream << Pre << wxT("<quantization>") << endl; } ! stream << Pre << wxT(" <bits>") << bits << wxT("</bits>") << endl; ! stream << Pre << wxT(" <min>") << min << wxT("</min>") << endl; ! stream << Pre << wxT(" <max>") << min << wxT("</max>") << endl; if (!quant_property.empty()) { stream << Pre << wxT("</quantization>") << endl; *************** *** 224,231 **** * ImportXML ==================================================================== ! <sensor name=name rate_group=name> <input> property </input> <lag> number </lag> ! <noise variation=PERCENT|ABSOLUTE> number </noise> <quantization name="name"> <bits> number </bits> --- 224,231 ---- * ImportXML ==================================================================== ! <sensor name=?name? rate_group=?name?> <input> property </input> <lag> number </lag> ! <noise variation=?PERCENT|ABSOLUTE?> number </noise> <quantization name="name"> <bits> number </bits> *************** *** 245,249 **** JSBSim::Element* quantization_element = element->FindElement("quantization"); if ( quantization_element) { ! quant_property = quantization_element->GetAttributeValue("name"); if ( quantization_element->FindElement("bits") ) { bits = (int)quantization_element->FindElementValueAsNumber("bits"); --- 245,249 ---- JSBSim::Element* quantization_element = element->FindElement("quantization"); if ( quantization_element) { ! quant_property = std2wxstr(quantization_element->GetAttributeValue("name")); if ( quantization_element->FindElement("bits") ) { bits = (int)quantization_element->FindElementValueAsNumber("bits"); Index: sensor_dlg.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/sensor_dlg.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** sensor_dlg.cpp 14 Apr 2007 06:19:31 -0000 1.5 --- sensor_dlg.cpp 27 Sep 2007 10:46:49 -0000 1.6 *************** *** 382,394 **** radio_box_noise_type->SetSelection(g->GetNoiseType()); ! text_ctrl_2->SetValue(""); *text_ctrl_2 << g->GetNoise(); ! text_ctrl_lag->SetValue(""); *text_ctrl_lag << g->GetLag(); ! text_ctrl_4->SetValue(""); *text_ctrl_4 << g->GetDriftRate(); ! text_ctrl_4_1->SetValue(""); *text_ctrl_4_1 << g->GetBias(); ! text_ctrl_7->SetValue(""); *text_ctrl_7 << g->GetMax(); ! text_ctrl_6->SetValue(""); *text_ctrl_6 << g->GetMin(); slider_1->SetValue(g->GetBits()); //g->GetQuantized(); ! text_ctrl_5->SetValue(""); *text_ctrl_5 << g->GetQuantProperty(); } --- 382,394 ---- radio_box_noise_type->SetSelection(g->GetNoiseType()); ! text_ctrl_2->SetValue(wxT("")); *text_ctrl_2 << g->GetNoise(); ! text_ctrl_lag->SetValue(wxT("")); *text_ctrl_lag << g->GetLag(); ! text_ctrl_4->SetValue(wxT("")); *text_ctrl_4 << g->GetDriftRate(); ! text_ctrl_4_1->SetValue(wxT("")); *text_ctrl_4_1 << g->GetBias(); ! text_ctrl_7->SetValue(wxT("")); *text_ctrl_7 << g->GetMax(); ! text_ctrl_6->SetValue(wxT("")); *text_ctrl_6 << g->GetMin(); slider_1->SetValue(g->GetBits()); //g->GetQuantized(); ! text_ctrl_5->SetValue(wxT("")); *text_ctrl_5 << g->GetQuantProperty(); } Index: actuator_dlg.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/actuator_dlg.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** actuator_dlg.cpp 12 May 2007 20:46:29 -0000 1.3 --- actuator_dlg.cpp 27 Sep 2007 10:46:49 -0000 1.4 *************** *** 277,284 **** txtEd_OutputProperty->SetValue(g->GetOutputName()); ! txtEd_Lag->SetValue(""); *txtEd_Lag << g->GetLag(); ! txtEd_RateLimit->SetValue(""); *txtEd_RateLimit << g->GetRate_Limit(); ! txtEd_Hysteresis->SetValue(""); *txtEd_Hysteresis << g->GetHysteresis_Width(); ! txtEd_Bias->SetValue(""); *txtEd_Bias << g->GetBias(); if (inputs.GetCount() > 0) { --- 277,284 ---- txtEd_OutputProperty->SetValue(g->GetOutputName()); ! txtEd_Lag->SetValue(wxT("")); *txtEd_Lag << g->GetLag(); ! txtEd_RateLimit->SetValue(wxT("")); *txtEd_RateLimit << g->GetRate_Limit(); ! txtEd_Hysteresis->SetValue(wxT("")); *txtEd_Hysteresis << g->GetHysteresis_Width(); ! txtEd_Bias->SetValue(wxT("")); *txtEd_Bias << g->GetBias(); if (inputs.GetCount() > 0) { |
From: Matthew G. <mat...@us...> - 2007-09-27 10:26:43
|
Update of /cvsroot/jsbsimcommander/src/gui In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv8528 Modified Files: AircraftDialog.cpp Log Message: Do not check the cfg version number in such development status now. Index: AircraftDialog.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/AircraftDialog.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** AircraftDialog.cpp 24 Jan 2007 00:18:51 -0000 1.7 --- AircraftDialog.cpp 27 Sep 2007 10:26:37 -0000 1.8 *************** *** 2061,2064 **** --- 2061,2065 ---- } + #if 0 { double d; *************** *** 2071,2074 **** --- 2072,2076 ---- return false; } + #endif if (flag && (tmp = document->FindElement("fileheader"))) |
From: Matthew G. <mat...@us...> - 2007-09-25 14:15:35
|
Update of /cvsroot/jsbsimcommander/src In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv24210 Modified Files: Commander.cpp Log Message: wrap the c-style string with wxT micro for both ansi/unicode building environment Index: Commander.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/Commander.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Commander.cpp 24 Jan 2007 00:18:51 -0000 1.6 --- Commander.cpp 25 Sep 2007 14:15:32 -0000 1.7 *************** *** 277,285 **** for (int i=0; i < all_property.GetCount(); ++i) { ! out << "\"" << all_property[i] << "\"" << wxT(",") ! << "\"" << all_desc[i] << "\"" << wxT(",") ! << "\"" << all_unit[i] << "\"" << wxT(",") ! << "\"" << all_access[i] << "\"" << wxT(",") ! << "\"" << all_comment[i] << "\"" << wxT("\n"); } } --- 277,285 ---- for (int i=0; i < all_property.GetCount(); ++i) { ! out << wxT("\"") << all_property[i] << wxT("\"") << wxT(",") ! << wxT("\"") << all_desc[i] << wxT("\"") << wxT(",") ! << wxT("\"") << all_unit[i] << wxT("\"") << wxT(",") ! << wxT("\"") << all_access[i] << wxT("\"") << wxT(",") ! << wxT("\"") << all_comment[i] << wxT("\"") << wxT("\n"); } } |
From: Matthew G. <mat...@us...> - 2007-09-25 14:13:32
|
Update of /cvsroot/jsbsimcommander/src In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv23274 Modified Files: MyApp.cpp Log Message: wrap the c-style string with wxT micro for both ansi/unicode building environment Index: MyApp.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/MyApp.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** MyApp.cpp 24 Jan 2007 00:18:51 -0000 1.4 --- MyApp.cpp 25 Sep 2007 14:13:28 -0000 1.5 *************** *** 247,255 **** for (int i=0; i < all_property.GetCount(); ++i) { ! out << "\"" << all_property[i] << "\"" << wxT(",") ! << "\"" << all_desc[i] << "\"" << wxT(",") ! << "\"" << all_unit[i] << "\"" << wxT(",") ! << "\"" << all_access[i] << "\"" << wxT(",") ! << "\"" << all_comment[i] << "\"" << wxT("\n"); } } --- 247,255 ---- for (int i=0; i < all_property.GetCount(); ++i) { ! out << wxT("\"") << all_property[i] << wxT("\"") << wxT(",") ! << wxT("\"") << all_desc[i] << wxT("\"") << wxT(",") ! << wxT("\"") << all_unit[i] << wxT("\"") << wxT(",") ! << wxT("\"") << all_access[i] << wxT("\"") << wxT(",") ! << wxT("\"") << all_comment[i] << wxT("\"") << wxT("\n"); } } |
From: Matthew G. <mat...@us...> - 2007-09-25 14:07:52
|
Update of /cvsroot/jsbsimcommander/src/mattplot In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv20874 Modified Files: Condition.cpp Condition.h NomoFrm.cpp NomoFrm.h Table.cpp Table.h plot.cpp plot.h Log Message: update the mattplot curve canvas Index: Table.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/Table.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Table.h 23 Feb 2007 02:29:05 -0000 1.1 --- Table.h 25 Sep 2007 14:07:47 -0000 1.2 *************** *** 55,58 **** --- 55,59 ---- using std::stringstream; using JSBSim::Element; + using JSBSim::FGPropertyManager; namespace Matt{ *************** *** 63,66 **** --- 64,68 ---- typedef vector<Table> TableList; typedef TableList::iterator TableListIter; + typedef TableList::const_iterator TableListCIter; typedef vector<double> DoubleList; *************** *** 99,103 **** /// Constructor ! Table(JSBSim::FGPropertyManager* prop=NULL): dimension(0u), lookupProperty(NULL), --- 101,105 ---- /// Constructor ! Table(FGPropertyManager* prop=NULL): dimension(0u), lookupProperty(NULL), *************** *** 114,118 **** /// The constructor for tables ! static TableList Load(Element* el, JSBSim::FGPropertyManager * prop=NULL); double GetValue(DoubleList keys, bool *flag=NULL); --- 116,120 ---- /// The constructor for tables ! static TableList Load(Element* el, FGPropertyManager * prop=NULL); double GetValue(DoubleList keys, bool *flag=NULL); *************** *** 127,130 **** --- 129,142 ---- string GetNameLabel() const {return label;} + const ValuePairList &GetData() const + { + return Data; + } + + const TablePairList &GetTables() const + { + return Tables; + } + size_t GetSize() const { *************** *** 167,171 **** string indepVar; string indepVarLabel; ! JSBSim::FGPropertyManager *lookupProperty; TablePairList Tables; --- 179,183 ---- string indepVar; string indepVarLabel; ! FGPropertyManager *lookupProperty; TablePairList Tables; *************** *** 177,181 **** unsigned lastIndex; ! JSBSim::FGPropertyManager* PropertyManager; }; --- 189,193 ---- unsigned lastIndex; ! FGPropertyManager* PropertyManager; }; Index: Condition.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/Condition.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Condition.h 23 Feb 2007 02:29:05 -0000 1.1 --- Condition.h 25 Sep 2007 14:07:47 -0000 1.2 *************** *** 82,86 **** void PrintCondition(void); - private: enum eComparison {ecUndef=0, eEQ, eNE, eGT, eGE, eLT, eLE, eMOD}; enum eLogic {elUndef=0, eAND, eOR}; --- 82,85 ---- *************** *** 90,93 **** --- 89,93 ---- FGPropertyManager *TestParam1, *TestParam2, *PropertyManager; //Matt's change here + string property1, property2; float sign1, sign2; double TestValue1, TestValue2; Index: plot.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/plot.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** plot.cpp 23 Feb 2007 02:29:05 -0000 1.1 --- plot.cpp 25 Sep 2007 14:07:47 -0000 1.2 *************** *** 10,14 **** #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) ! #pragma implementation "plot.h" #endif --- 10,14 ---- #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) ! #pragma implementation #endif [...5344 lines suppressed...] + { + pen_ctrl->GetPen().SetStyle(wxHORIZONTAL_HATCH ); + } + else if (s == _("VERTICAL_HATCH")) + { + pen_ctrl->GetPen().SetStyle(wxVERTICAL_HATCH ); + } + pen_ctrl->Refresh(); + } + + void PenSettingDialog::OnColour(wxCommandEvent& event) + { + wxColour c = wxGetColourFromUser(this, pen_ctrl->GetPen().GetColour(), _("Colour Setting")); + if (c.IsOk()) + { + pen_ctrl->GetPen().SetColour(c); + pen_ctrl->Refresh(); + } + } + Index: plot.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/plot.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** plot.h 23 Feb 2007 02:29:05 -0000 1.1 --- plot.h 25 Sep 2007 14:07:47 -0000 1.2 *************** *** 23,27 **** #include "input_output/FGPropertyManager.h" using JSBSim::Element; ! using JSBSim::FGPropertyManager; #include "Condition.h" --- 23,32 ---- #include "input_output/FGPropertyManager.h" using JSBSim::Element; ! ! namespace JSBSim ! { ! class FGFunction; ! }; ! using JSBSim::FGFunction; #include "Condition.h" *************** *** 101,105 **** }; - //TODO enum CURVE_TEXT{ CURVE_NO_TEXT, --- 106,109 ---- *************** *** 110,114 **** }; - //TODO enum CURVE_LABEL{ CURVE_LABEL_NONE, --- 114,117 ---- *************** *** 178,185 **** void DrawPoints(wxDC& dc, wxCoord x, wxCoord y, wxCoord w, wxCoord h, double minx, double maxx, double miny, double maxy, AXISDIR axis_dir); - //TODO void DrawText(wxDC& dc, const wxPoint * list, int s); - //TODO wxFont GetFont() const { return fnt; } void SetFont(const wxFont & f) { fnt = f; } --- 181,186 ---- *************** *** 221,225 **** void SetLabel(const wxString & t) { label = t; } - //TODO CURVE_TEXT GetTextPos() const { return text_pos; } void SetTextPos(const CURVE_TEXT & t) { text_pos = t; } --- 222,225 ---- *************** *** 246,249 **** --- 246,254 ---- void Load(Element * element); + /// Export the info from XML file. + void Export(wxTextOutputStream & tstream, const wxString & prefix, const unsigned & n, bool reverse=false) const; + + bool operator != (const Curve & c) const; + /** Init the symbol points. * *************** *** 292,295 **** --- 297,305 ---- bool Load(Element * element); + /** Save graph from file. + * @param filename The XML file of the graph. + */ + void Export(wxTextOutputStream & tstream, const wxString & prefix) const; + /** Get the area to draw based on. * *************** *** 331,335 **** void ExpireCache(void); - //TODO /** Draw the grid on the 'paper'. * --- 341,344 ---- *************** *** 363,376 **** unsigned GetGridW() const { return width; } - /// Set the width of each grid. - void SetGridWidth(const unsigned & s) { grid_width = s; ExpireCache();} - /// Get the height of each grid. unsigned GetGridHeight() const { return grid_height; } unsigned GetGridH() const { return height; } ! /// Set the height of each grid. ! void SetGridHeight(const unsigned & s) { grid_height = s; ExpireCache();} /// Get how many pic to div the grid in x dir. unsigned GetSubGridX() const { return sub_grid_x; } --- 372,391 ---- unsigned GetGridW() const { return width; } /// Get the height of each grid. unsigned GetGridHeight() const { return grid_height; } unsigned GetGridH() const { return height; } ! /// Get how many pic to div the width in x dir. ! unsigned GetGridX() const { return grid_x; } + /// Get how many pic to div the width in x dir. + void SetGridX(const unsigned & s) { grid_x = s; ExpireCache(); } + + /// Get how many pic to div the height in y dir. + unsigned GetGridY() const { return grid_y; } + + /// Get how many pic to div the height in y dir. + void SetGridY(const unsigned & s) { grid_y = s; ExpireCache(); } + /// Get how many pic to div the grid in x dir. unsigned GetSubGridX() const { return sub_grid_x; } *************** *** 387,397 **** /// div info struct PosMap{ ! vector<size_t> row_list; ! vector<size_t> col_list; bool cached; ! vector<wxCoord> row_pos; ! vector<wxCoord> col_pos; ! vector<size_t> row_size; ! vector<size_t> col_size; }; --- 402,412 ---- /// div info struct PosMap{ ! vector<wxUint32> row_list; ! vector<wxUint32> col_list; bool cached; ! vector<wxUint32> row_pos; ! vector<wxUint32> col_pos; ! vector<wxUint32> row_size; ! vector<wxUint32> col_size; }; *************** *** 415,418 **** --- 430,435 ---- unsigned int sub_grid_x; unsigned int sub_grid_y; + unsigned int grid_x; + unsigned int grid_y; wxCoord width; wxCoord height; *************** *** 423,427 **** --- 440,462 ---- class PlotHandler; + class PlotWindow; + + struct Focus{ + PlotWindow * window; + enum Type { + WINDOW = 0x01, + LEGEND = 0x02, + AXISX = 0x04, + AXISY = 0x08, + CURVE = 0x10, + TITLE = 0x20, + GRID = 0x40, + } type; + unsigned iter; + }; + typedef vector<Focus> FocusList; + typedef FocusList::const_iterator FocusListCIter; + typedef FocusList::iterator FocusListIter; /** The window to draw the curves. *************** *** 473,476 **** --- 508,516 ---- bool Load(Element * element); + /** Save graph from file. + * @param filename The XML file of the graph. + */ + void Export(wxTextOutputStream & tstream, const wxString & prefix) const; + /** Draw the plot window. * *************** *** 489,492 **** --- 529,541 ---- void DrawIndicator(wxDC& dc, PosMgr& pos_mgr, wxCoord &xpos, wxCoord &ypos); + /** Draw the focus zone + * + * @param dc The DC to be drawed on. + * @param pos_mgr The positon manager to support pos info. + * @param xpos The x pos of the mouse. + * @param ypos The y pos of the mouse. + */ + void DrawFocus(wxDC& dc, PosMgr& pos_mgr, wxCoord &xpos, wxCoord &ypos, int mask=-1); + /** Set the position of the legend * *************** *** 589,626 **** /// Whether show the legend. ! bool IsShowLegend(const int & no=0) const { return show_legend[no]; } /// Set whether show the legend. ! void ShowLegend(bool b=true, const int & no=0) { show_legend[no] = b; } /// Get the font to draw the legend. ! wxFont GetLegendFont(const int & no=0) const { return fnt_legend[no]; } /// Set the font to draw the legend. ! void SetLegendFont(const wxFont & f, const int & no=0) { fnt_legend[no] = f; } /// Get the pen to draw the legend. ! wxPen GetLegendPen(const int & no=0) const { return pen_legend[no]; } /// Set the pen to draw the legend. ! void SetLegendPen(const wxPen & p, const int & no=0) { pen_legend[no] = p; } /// Get the X pos of the legend. ! double GetLegendPosX(const int & no=0) const { return pos_x_legend[no]; } /// Set the X pos of the legend in the range of [0,1]. ! void SetLegendPosX(const double & x, const int & no=0) { pos_x_legend[no] = x; } /// Get the Y pos of the legend. ! double GetLegendPosY(const int & no=0) const { return pos_y_legend[no]; } /// Set the Y pos of the legend in the range of [0,1]. ! void SetLegendPosY(const double & y, const int & no=0) { pos_y_legend[no] = y; } /// Set the pos of the legend lines out. ! double GetLegendValueX(const int & no=0) const { return value_x_legend[no]; } /// Set the pos of the legend lines out in the range of [0,1]. ! void SetLegendValueX(const double & x, const int & no=0) { value_x_legend[no] = x; } /* Axis info */ --- 638,675 ---- /// Whether show the legend. ! bool IsShowLegend(const int & no=0) const { return legend_list[no].show; } /// Set whether show the legend. ! void ShowLegend(bool b=true, const int & no=0) { legend_list[no].show = b; } /// Get the font to draw the legend. ! wxFont GetLegendFont(const int & no=0) const { return legend_list[no].fnt; } /// Set the font to draw the legend. ! void SetLegendFont(const wxFont & f, const int & no=0) { legend_list[no].fnt = f; } /// Get the pen to draw the legend. ! wxPen GetLegendPen(const int & no=0) const { return legend_list[no].pen; } /// Set the pen to draw the legend. ! void SetLegendPen(const wxPen & p, const int & no=0) { legend_list[no].pen = p; } /// Get the X pos of the legend. ! double GetLegendPosX(const int & no=0) const { return legend_list[no].pos_x; } /// Set the X pos of the legend in the range of [0,1]. ! void SetLegendPosX(const double & x, const int & no=0) { legend_list[no].pos_x = x; } /// Get the Y pos of the legend. ! double GetLegendPosY(const int & no=0) const { return legend_list[no].pos_y; } /// Set the Y pos of the legend in the range of [0,1]. ! void SetLegendPosY(const double & y, const int & no=0) { legend_list[no].pos_y = y; } /// Set the pos of the legend lines out. ! double GetLegendValueX(const int & no=0) const { return legend_list[no].value_x; } /// Set the pos of the legend lines out in the range of [0,1]. ! void SetLegendValueX(const double & x, const int & no=0) { legend_list[no].value_x = x; } /* Axis info */ *************** *** 676,680 **** void SetMinX(const double & min) { min_cx = min; } - //TODO /// Get the X axis mark mode 0: auto; 1:base on interval value; 2: base on list int GetXMarkMode() const { return x_mark_mode; } --- 725,728 ---- *************** *** 790,793 **** --- 838,859 ---- void GetAxisLabelExtent(wxDC &dc, wxCoord &lw, wxCoord &lh); + + struct Legend{ + bool show; + double value_x; + double pos_x; + double pos_y; + wxFont fnt; + wxPen pen; + bool align_left; + bool indicate_left; + wxRect rect; + }; + typedef vector<Legend> LegendList; + typedef LegendList::iterator LegendListIter; + typedef LegendList::const_iterator LegendListCIter; + + LegendList & GetLegendList() {return legend_list;} + protected : /* *************** *** 799,804 **** double getMinX(); ! size_t row_pos; ! size_t col_pos; unsigned mgr_pos; AXISDIR axis_dir; --- 865,870 ---- double getMinX(); ! wxCoord row_pos; ! wxCoord col_pos; unsigned mgr_pos; AXISDIR axis_dir; *************** *** 812,815 **** --- 878,905 ---- Curve * cur_curve; vector<Curve *> curve_list; + bool is_combine_curves; + double combine_curves_distance; + + struct CurvesTag{ + unsigned ns; + FGPropertyManager * property; + vector <FGFunction *> func_list; + Condition * data_condition; + wxString data_full_name; + wxString table_type; + unsigned ne; + wxString xcr; // 2D + wxString base_name; //3D + int from; + bool nofilter; + unsigned dest_num; + wxString coord; //4D + bool strange; + }; + typedef vector<CurvesTag> CurvesTagList; + typedef CurvesTagList::const_iterator CurvesTagListCIter; + typedef CurvesTagList::iterator CurvesTagListIter; + + CurvesTagList curve_tag_list; double distance(Curve * c1, Curve * c2); *************** *** 831,834 **** --- 921,925 ---- vector< double > x_mark_list; wxString str_x_label; + wxRect rect_axis_x; /* *************** *** 846,861 **** vector< double > y_mark_list; wxString str_y_label; /* * legend setting */ ! vector< bool > show_legend; ! vector< double > value_x_legend; ! vector< double > pos_x_legend; ! vector< double > pos_y_legend; ! vector< wxFont > fnt_legend; ! vector< wxPen > pen_legend; ! vector< bool > align_left_legend; ! vector< bool > indicate_left_legend; vector<PlotWindow *> children; --- 937,946 ---- vector< double > y_mark_list; wxString str_y_label; + wxRect rect_axis_y; /* * legend setting */ ! LegendList legend_list; vector<PlotWindow *> children; *************** *** 870,880 **** bool GetIndicatePos(const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h, wxCoord &xpos, wxCoord &ypos, double &xvalue, double &yvalue, Curve *curve); void DrawIndicator(wxDC& dc, const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h, const wxCoord &xpos, const wxCoord &ypos, const double &xvalue, const double &yvalue); bool SelectCurrentCurve(const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h, const wxCoord &xpos, const wxCoord &ypos); void draw_y_axis(wxDC& dc, const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h); void draw_x_axis(wxDC& dc, const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h); void draw_curve(wxDC& dc, const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h); ! void draw_legend(wxDC& dc, const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h, const int & no); ! static void draw_vertical_axis(wxDC& dc, const wxCoord &x, const wxCoord &y, const wxCoord &yh, const double &min, const double &max, vector<double> &mark_list, const wxString & text, const bool &right); ! static void draw_horizon_axis(wxDC& dc, const wxCoord &x, const wxCoord &y, const wxCoord &xh, const double &min, const double &max, vector<double> &mark_list, const wxString & text, const bool &bottom); static void get_interval(double & min, double & max, unsigned int num, double & mark_interval, vector< double > & mark_list); static bool pitch_col(vector<double> &x, vector<double> &y, double &key, vector <unsigned> & list, Table * table, Condition *data_condition, FGPropertyManager *property); --- 955,966 ---- bool GetIndicatePos(const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h, wxCoord &xpos, wxCoord &ypos, double &xvalue, double &yvalue, Curve *curve); void DrawIndicator(wxDC& dc, const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h, const wxCoord &xpos, const wxCoord &ypos, const double &xvalue, const double &yvalue); + void DrawFocus(wxDC& dc, const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h, const wxCoord &xpos, const wxCoord &ypos, int mask=-1); bool SelectCurrentCurve(const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h, const wxCoord &xpos, const wxCoord &ypos); void draw_y_axis(wxDC& dc, const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h); void draw_x_axis(wxDC& dc, const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h); void draw_curve(wxDC& dc, const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h); ! void draw_legend(wxDC& dc, const wxCoord &x, const wxCoord &y, const size_t &w, const size_t &h, LegendListIter & iter); ! static wxRect draw_vertical_axis(wxDC& dc, const wxCoord &x, const wxCoord &y, const wxCoord &yh, const double &min, const double &max, vector<double> &mark_list, const wxString & text, const bool &right); ! static wxRect draw_horizon_axis(wxDC& dc, const wxCoord &x, const wxCoord &y, const wxCoord &xh, const double &min, const double &max, vector<double> &mark_list, const wxString & text, const bool &bottom); static void get_interval(double & min, double & max, unsigned int num, double & mark_interval, vector< double > & mark_list); static bool pitch_col(vector<double> &x, vector<double> &y, double &key, vector <unsigned> & list, Table * table, Condition *data_condition, FGPropertyManager *property); *************** *** 916,919 **** --- 1002,1010 ---- /** + * it will draw the focus zone . + */ + void DrawFocus(wxDC &dc, wxCoord x, wxCoord y, int mask=-1); + + /** * it will reset the position of the legend. */ *************** *** 978,983 **** bool Load(const wxString & filename); ! // TODO ! void Save(); bool IsDrawIndicator(void) const {return isDrawIndicator;} --- 1069,1081 ---- bool Load(const wxString & filename); ! /** Save graph from file. ! * @param filename The XML file of the graph. ! */ ! bool Save(const wxString & filename=wxEmptyString); ! ! /** Save graph from file. ! * @param filename The XML file of the graph. ! */ ! void Export(wxTextOutputStream & tstream, const wxString & prefix) const; bool IsDrawIndicator(void) const {return isDrawIndicator;} *************** *** 1011,1014 **** --- 1109,1115 ---- PosMgr & GetPosMgr() {return pos_mgr;} + void AddFocus(const Focus & f) { focus_list.push_back(f); } + void ClearFocus() { focus_list.clear(); } + protected : *************** *** 1037,1040 **** --- 1138,1142 ---- wxString str_title; wxPen pen_title; + wxRect rect_title; /** *************** *** 1044,1047 **** --- 1146,1151 ---- map<wxString, Table> table_map; + vector<TableList> table_list_list; + vector<TableList> table_list_clist; /** *************** *** 1070,1074 **** void get_paper_size(int &w, int &h); ! DECLARE_EVENT_TABLE() }; --- 1174,1180 ---- void get_paper_size(int &w, int &h); ! ! FocusList focus_list; ! DECLARE_EVENT_TABLE() }; *************** *** 1092,1095 **** --- 1198,1208 ---- ~PlotCanvas(void){}; + enum { + FOCUS_START = 10000, + FONT_START = 10100, + PEN_START = 10200, + SUB_PEN_START = 10300, + }; + // Event Handler Functions. void OnPaint(wxPaintEvent& event); *************** *** 1098,1105 **** --- 1211,1222 ---- void OnMouseLeftDown(wxMouseEvent& event); void OnMouseRightDown(wxMouseEvent& event); + void mkMenu(wxMenu &menu); + void OnFont(wxCommandEvent& event); + void OnPen(wxCommandEvent& event); protected: PlotHandler *handler; int mode; + int mask; int no; DECLARE_EVENT_TABLE() *************** *** 1178,1179 **** --- 1295,1329 ---- + class PenSampleCtrl: public wxWindow { + public : + PenSampleCtrl(const wxPen& pen, wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxPanelNameStr); + void SetPen(const wxPen& pen) {m_pen = pen;} + wxPen GetPen() const {return m_pen;} + wxPen& GetPen() {return m_pen;} + + void OnPaint(wxPaintEvent& event); + protected : + wxPen m_pen; + + DECLARE_EVENT_TABLE(); + }; + + class PenSettingDialog: public wxDialog { + public: + /// Constructor + PenSettingDialog(wxWindow* parent, const wxPen & pen); + + wxPen GetPen() const {return pen_ctrl->GetPen();} + void OnWidth(wxCommandEvent& event); + void OnStyle(wxCommandEvent& event); + void OnColour(wxCommandEvent& event); + + protected: + PenSampleCtrl* pen_ctrl; + wxComboBox* combo_box_width; + wxChoice* choice_style; + + DECLARE_EVENT_TABLE(); + }; + + Index: NomoFrm.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/NomoFrm.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NomoFrm.cpp 23 Feb 2007 02:29:05 -0000 1.1 --- NomoFrm.cpp 25 Sep 2007 14:07:47 -0000 1.2 *************** *** 9,13 **** #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) ! #pragma implementation "NomoFrame.h" #endif --- 9,13 ---- #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) ! #pragma implementation #endif *************** *** 26,29 **** --- 26,30 ---- #include "NomoFrm.h" + #include "MyApp.h" #include "mattplot/plot.h" *************** *** 42,45 **** --- 43,48 ---- BEGIN_EVENT_TABLE(NomographFrame, wxFrame) EVT_NOTEBOOK_PAGE_CHANGING(XRCID("notebook"), NomographFrame::OnPageChanging) + EVT_MENU(wxID_SAVE, NomographFrame::OnSave) + EVT_MENU(wxID_SAVEAS, NomographFrame::OnSaveAs) END_EVENT_TABLE() *************** *** 76,80 **** PushEventHandler (handler); ! canvas = new PlotCanvas(this, wxID_ANY, handler); wxXmlResource::Get()->AttachUnknownControl(wxT("canvas"), canvas, this); --- 79,83 ---- PushEventHandler (handler); ! canvas = new PlotCanvas(this, wxID_ANY, handler, wxDefaultPosition, wxSize(800,600)); wxXmlResource::Get()->AttachUnknownControl(wxT("canvas"), canvas, this); *************** *** 102,106 **** else if (event.GetOldSelection() == 0) { - static wxString buff; if (buff != handler->GetFileName()) { --- 105,108 ---- *************** *** 115,116 **** --- 117,142 ---- } + void NomographFrame::OnSave(wxCommandEvent& event) + { + buff.Empty(); + event.Skip(); + if (notbook->GetSelection() == 1) + { + if (!text_ctrl_xml->IsModified()) + return; + if (!text_ctrl_xml->SaveFile(handler->GetFileName())) + { + } + if (!handler->Load(handler->GetFileName())) + { + } + buff = handler->GetFileName(); + } + } + + void NomographFrame::OnSaveAs(wxCommandEvent& event) + { + buff.Empty(); + event.Skip(); + } + Index: NomoFrm.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/NomoFrm.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NomoFrm.h 23 Feb 2007 02:29:05 -0000 1.1 --- NomoFrm.h 25 Sep 2007 14:07:47 -0000 1.2 *************** *** 32,36 **** #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) ! #pragma interface "NomographFrm.h" #endif --- 32,36 ---- #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) ! #pragma interface #endif *************** *** 78,84 **** --- 78,87 ---- wxTextCtrl* text_ctrl_xml; wxNotebook* notbook; + wxString buff; public: void OnPageChanging(wxNotebookEvent &event); + void OnSave(wxCommandEvent& event); + void OnSaveAs(wxCommandEvent& event); DECLARE_EVENT_TABLE() }; Index: Table.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/Table.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Table.cpp 23 Feb 2007 02:29:05 -0000 1.1 --- Table.cpp 25 Sep 2007 14:07:47 -0000 1.2 *************** *** 45,49 **** #endif using std::istringstream; - using JSBSim::FGPropertyManager; namespace Matt{ /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --- 45,48 ---- Index: Condition.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/mattplot/Condition.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Condition.cpp 23 Feb 2007 02:29:05 -0000 1.1 --- Condition.cpp 25 Sep 2007 14:07:47 -0000 1.2 *************** *** 89,93 **** PropertyManager(PropertyManager), isGroup(false) { - string property1, property2, compare_string; Element* condition_element; --- 89,92 ---- |
From: Matthew G. <mat...@us...> - 2007-09-25 13:55:38
|
Update of /cvsroot/jsbsimcommander/src/rc In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv16143 Modified Files: Makefile.am Added Files: appicon.ico appicon.xpm Log Message: add app icon --- NEW FILE: appicon.ico --- (This appears to be a binary file; contents omitted.) --- NEW FILE: appicon.xpm --- /* XPM */ static char * appicon_xpm[] = { "32 32 17 1", " c None", ". c #000000", "+ c #800000", "@ c #008000", "# c #808000", "$ c #000080", "% c #800080", "& c #008080", "* c #C0C0C0", "= c #808080", "- c #FF0000", "; c #00FF00", "> c #FFFF00", ", c #0000FF", "' c #FF00FF", ") c #00FFFF", "! c #FFFFFF", " ", "===============================.", "=*****************************=.", "=*$$$$$$$$$$$$$$$$$$$$$$$$$$$$=.", "=*$$$$$$$$$$$$$$$$$$$**.**.**.=.", "=*$$$$$$$$$$$$$$$$$$$**.**.**.=.", "=*$$$$$$$$$$$$$$$$$$$.........=.", "=*****************************=.", "=*=============================.", "=*=!!!!!!!!!!!!!!!!!!!!!!!!!!*=.", "=*=!!!!!!!!!!!!!!!!!!!!!!!!!!*=.", "=*=!!!!!!!!!!!!!!!!!!!!!!!!!!*=.", "=*=!!!!!!!,!!!!!!!!!!!,!!!!!!*=.", "=*=!!!!!!,,!!!!!!!!!!!,,!!!!!*=.", "=*=!!!!!,,!!!!!!!!!!!!!,,!!!!*=.", "=*=!!!!,,!!...........!!,,!!!*=.", "=*=!!!,,!!!.$$$$$$!!!.!!!,,!!*=.", "=*=!!,,!!!!.$$$$$$!!!.!!!!,,!*=.", "=*=!!,,!!!!.$$$$$$!!!.!!!!,,!*=.", "=*=!!!,,!!!.$$$$$$!!!.!!!,,!!*=.", "=*=!!!!,,!!...........!!,,!!!*=.", "=*=!!!!!,,!!!!!!!!!!!!!,,!!!!*=.", "=*=!!!!!!,,!!!!!!!!!!!,,!!!!!*=.", "=*=!!!!!!!,!!!!!!!!!!!,!!!!!!*=.", "=*=!!!!!!!!!!!!!!!!!!!!!!!!!!*=.", "=*=!!!!!!!!!!!!!!!!!!!!!!!!!!*=.", "=*=!!!!!!!!!!!!!!!!!!!!!!!!!!*=.", "=*****************************=.", "===============================.", "................................", " ", " "}; Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsimcommander/src/rc/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Makefile.am 24 Jan 2007 00:18:52 -0000 1.3 --- Makefile.am 25 Sep 2007 13:55:33 -0000 1.4 *************** *** 3,5 **** frame.xrc menu.xrc toolbar.xrc \ acft_mgr.bmp mgr.bmp rslt_mgr.bmp \ ! sum_dlg.xrc propdlg.xrc --- 3,6 ---- frame.xrc menu.xrc toolbar.xrc \ acft_mgr.bmp mgr.bmp rslt_mgr.bmp \ ! sum_dlg.xrc propdlg.xrc appicon.ico \ ! appicon.xpm |
From: Jon S. B. <jb...@us...> - 2007-05-12 20:46:32
|
Update of /cvsroot/jsbsimcommander/src/gui In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv2859/src/gui Modified Files: actuator_dlg.cpp Log Message: Adjustment, adding actuator bitmap to actuator class Index: actuator_dlg.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/actuator_dlg.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** actuator_dlg.cpp 14 Apr 2007 06:02:48 -0000 1.2 --- actuator_dlg.cpp 12 May 2007 20:46:29 -0000 1.3 *************** *** 29,32 **** --- 29,37 ---- #include "actuator_dlg.h" + // All non-MSW platforms use an xpm. MSW uses an .ico file + #if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__) + #include "actuator.xpm" + #endif + ActuatorComponentEditor::ActuatorComponentEditor(Actuator *actuator, wxWindow* parent, int id, const wxString& title, const wxPoint& pos, const wxSize& size, long style): wxDialog(parent, id, title, pos, size, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxTHICK_FRAME|wxSTAY_ON_TOP|wxFULL_REPAINT_ON_RESIZE) |
From: Jon S. B. <jb...@us...> - 2007-04-14 06:50:50
|
Update of /cvsroot/jsbsimcommander/src/bitmaps In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv15651/src/bitmaps Modified Files: actuator.bmp actuator.xpm Log Message: check save Index: actuator.bmp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/bitmaps/actuator.bmp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsGMcPOd and /tmp/cvsOgH6Va differ Index: actuator.xpm =================================================================== RCS file: /cvsroot/jsbsimcommander/src/bitmaps/actuator.xpm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** actuator.xpm 14 Apr 2007 06:02:48 -0000 1.1 --- actuator.xpm 14 Apr 2007 06:50:46 -0000 1.2 *************** *** 1,138 **** /* XPM */ static char * actuator_xpm[] = { ! "32 32 103 2", ! " c #FFFFFF", ! ". c #FEFEFE", ! "+ c #FCFCFC", ! "@ c #F4F4F4", ! "# c #F2F2F2", ! "$ c #F8F8F8", ! "% c #FBFBFB", ! "& c #D9D9D9", ! "* c #949494", ! "= c #808080", ! "- c #848484", ! "; c #B5B5B5", ! "> c #F1F1F1", ! ", c #DCDCDC", ! "' c #DADADA", ! ") c #E9E9E9", ! "! c #FAFAFA", ! "~ c #FDFDFD", ! "{ c #777777", ! "] c #2C2C2C", ! "^ c #333333", ! "/ c #2A2A2A", ! "( c #474747", ! "_ c #ACACAC", ! ": c #D0D0D0", ! "< c #8A8A8A", ! "[ c #818181", ! "} c #8C8C8C", ! "| c #979797", ! "1 c #989898", ! "2 c #A5A5A5", ! "3 c #D6D6D6", ! "4 c #DEDEDE", ! "5 c #F6F6F6", ! "6 c #F9F9F9", ! "7 c #464646", ! "8 c #9A9A9A", ! "9 c #747474", ! "0 c #525252", ! "a c #C8C8C8", ! "b c #CCCCCC", ! "c c #E0E0E0", ! "d c #CFCFCF", ! "e c #B6B6B6", ! "f c #B8B8B8", ! "g c #A7A7A7", ! "h c #838383", ! "i c #828282", ! "j c #8E8E8E", ! "k c #C7C7C7", ! "l c #969696", ! "m c #8D8D8D", ! "n c #A0A0A0", ! "o c #C6C6C6", ! "p c #ECECEC", ! "q c #5C5C5C", ! "r c #404040", ! "s c #D7D7D7", ! "t c #EFEFEF", ! "u c #EEEEEE", ! "v c #ADADAD", ! "w c #898989", ! "x c #757575", ! "y c #4C4C4C", ! "z c #868686", ! "A c #B4B4B4", ! "B c #ABABAB", ! "C c #424242", ! "D c #EAEAEA", ! "E c #E3E3E3", ! "F c #BEBEBE", ! "G c #A2A2A2", ! "H c #B9B9B9", ! "I c #909090", ! "J c #BCBCBC", ! "K c #7A7A7A", ! "L c #BFBFBF", ! "M c #9B9B9B", ! "N c #3F3F3F", ! "O c #414141", ! "P c #D8D8D8", ! "Q c #A4A4A4", ! "R c #E8E8E8", ! "S c #D3D3D3", ! "T c #CACACA", ! "U c #CBCBCB", ! "V c #E2E2E2", ! "W c #CECECE", ! "X c #F3F3F3", ! "Y c #858585", ! "Z c #E7E7E7", ! "` c #A8A8A8", ! " . c #919191", ! ".. c #A9A9A9", ! "+. c #A6A6A6", ! "@. c #D4D4D4", ! "#. c #EDEDED", ! "$. c #4F4F4F", ! "%. c #9D9D9D", ! "&. c #DDDDDD", ! "*. c #5A5A5A", ! "=. c #C0C0C0", ! "-. c #E1E1E1", ! " ", ! " ", ! " ", ! " ", ! " ", ! " ", ! " ", ! " . . . . . ", ! " . + @ # # $ . . . . . ", ! " % & * = - ; > # , ' ) $ ! ! ! ~ . . . . ", ! " + ' { ] ^ / ( _ : < [ } | 1 1 2 3 & & 4 5 ! ! 6 ! + . . ", ! " . @ * ] 7 8 9 / 0 a b c d e ; ; f g h i j k ; l m n o c 6 ", ! " . # [ ^ 8 p : q r k s t ~ + % ! 6 u & 3 : v w x 7 y z A > . ", ! " . # - / 9 : B C C k 3 p p D E F e f j h G n 1 H I J u ! . ", ! " $ ; ( / q C / K b _ ; j h G n 8 L ' ' D 6 6 > M ' . ", ! " . # v 0 N O K P 4 Q L ' ' D 6 ! + . . . . 4 < R . ", ! " . # S T U V % + ! + . . . . W G 6 ", ! " . ~ ~ ~ ~ . ! G ; + ", ! " . R w , . ", ! " . W | @ ", ! " + . X l ; + ", ! " % S D e Y Z . ", ! " . D ` a i d ~ ", ! " . S Q ...5 . ", ! " ! +.= [ @.#.. ", ! " . Z q $.%.` S + ", ! " . &.*.Y =.) % ", ! " $ -.X + . ", ! " . . . ", ! " ", ! " ", ! " "}; --- 1,140 ---- /* XPM */ static char * actuator_xpm[] = { ! "32 32 105 2", ! " c None", ! ". c #000000", ! "+ c #FFFFFF", ! "@ c #FEFEFE", ! "# c #FCFCFC", ! "$ c #F4F4F4", ! "% c #F2F2F2", ! "& c #F8F8F8", ! "* c #FBFBFB", ! "= c #D9D9D9", ! "- c #949494", ! "; c #808080", ! "> c #848484", ! ", c #B5B5B5", ! "' c #F1F1F1", ! ") c #DCDCDC", ! "! c #DADADA", ! "~ c #E9E9E9", ! "{ c #FAFAFA", ! "] c #FDFDFD", ! "^ c #777777", ! "/ c #2C2C2C", ! "( c #333333", ! "_ c #2A2A2A", ! ": c #474747", ! "< c #ACACAC", ! "[ c #D0D0D0", ! "} c #8A8A8A", ! "| c #818181", ! "1 c #8C8C8C", ! "2 c #979797", ! "3 c #989898", ! "4 c #A5A5A5", ! "5 c #D6D6D6", ! "6 c #DEDEDE", ! "7 c #F6F6F6", ! "8 c #F9F9F9", ! "9 c #464646", ! "0 c #9A9A9A", ! "a c #747474", ! "b c #525252", ! "c c #C8C8C8", ! "d c #CCCCCC", ! "e c #E0E0E0", ! "f c #CFCFCF", ! "g c #B6B6B6", ! "h c #B8B8B8", ! "i c #A7A7A7", ! "j c #838383", ! "k c #828282", ! "l c #8E8E8E", ! "m c #C7C7C7", ! "n c #969696", ! "o c #8D8D8D", ! "p c #A0A0A0", ! "q c #C6C6C6", ! "r c #ECECEC", ! "s c #5C5C5C", ! "t c #404040", ! "u c #D7D7D7", ! "v c #EFEFEF", ! "w c #EEEEEE", ! "x c #ADADAD", ! "y c #898989", ! "z c #757575", ! "A c #4C4C4C", ! "B c #868686", ! "C c #B4B4B4", ! "D c #ABABAB", ! "E c #424242", ! "F c #EAEAEA", ! "G c #E3E3E3", ! "H c #BEBEBE", ! "I c #A2A2A2", ! "J c #B9B9B9", ! "K c #909090", ! "L c #BCBCBC", ! "M c #7A7A7A", ! "N c #BFBFBF", ! "O c #9B9B9B", ! "P c #3F3F3F", ! "Q c #414141", ! "R c #D8D8D8", ! "S c #A4A4A4", ! "T c #E8E8E8", ! "U c #D3D3D3", ! "V c #CACACA", ! "W c #CBCBCB", ! "X c #E2E2E2", ! "Y c #CECECE", ! "Z c #F3F3F3", ! "` c #858585", ! " . c #E7E7E7", ! ".. c #A8A8A8", ! "+. c #919191", ! "@. c #A9A9A9", ! "#. c #A6A6A6", ! "$. c #D4D4D4", ! "%. c #EDEDED", ! "&. c #4F4F4F", ! "*. c #9D9D9D", ! "=. c #DDDDDD", ! "-. c #5A5A5A", ! ";. c #C0C0C0", ! ">. c #E1E1E1", ! ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ! ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ! ". . + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . ", ! ". . + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . ", ! ". . + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . ", ! ". . + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . ", ! ". . + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . ", ! ". . + + @ @ @ @ @ + + + + + + + + + + + + + + + + + + + + + . . ", ! ". . + @ # $ % % & @ @ @ @ @ + + + + + + + + + + + + + + + + . . ", ! ". . + * = - ; > , ' % ) ! ~ & { { { ] @ @ @ @ + + + + + + + . . ", ! ". . # ! ^ / ( _ : < [ } | 1 2 3 3 4 5 = = 6 7 { { 8 { # @ @ . . ", ! ". . $ - / 9 0 a _ b c d e f g , , h i j k l m , n o p q e 8 . . ", ! ". . % | ( 0 r [ s t m u v ] # * { 8 w = 5 [ x y z 9 A B C ' . . ", ! ". . + > _ a [ D E E m 5 r r F G H g h l j I p 3 J K L w { @ . . ", ! ". . & , : _ s E _ M d < , l j I p 0 N ! ! F 8 8 ' O ! @ + + . . ", ! ". . @ % x b P Q M R 6 S N ! ! F 8 { # @ @ @ + @ 6 } T @ + + . . ", ! ". . + @ % U V W X * # { # @ @ @ + + + + + + + @ Y I 8 + + + . . ", ! ". . + + @ ] ] ] ] @ + + + + + + + + + + + + + { I , # + + + . . ", ! ". . + + + + + + + + + + + + + + + + + + + + @ T y ) @ + + + . . ", ! ". . + + + + + + + + + + + + + + + + + + + + @ Y 2 $ + + + + . . ", ! ". . + + + + + + + + + + + + + + + + + + # @ Z n , # + + + + . . ", ! ". . + + + + + + + + + + + + + + + + + * U F g ` .@ + + + + . . ", ! ". . + + + + + + + + + + + + + + + + @ F ..c k f ] + + + + + . . ", ! ". . + + + + + + + + + + + + + + + + @ U S +.@.7 @ + + + + + . . ", ! ". . + + + + + + + + + + + + + + + + { #.; | $.%.@ + + + + + . . ", ! ". . + + + + + + + + + + + + + + + @ .s &.*...U # + + + + + . . ", ! ". . + + + + + + + + + + + + + + + @ =.-.` ;.~ * + + + + + + . . ", ! ". . + + + + + + + + + + + + + + + + & >.Z # @ + + + + + + + . . ", ! ". . + + + + + + + + + + + + + + + + @ @ @ + + + + + + + + + . . ", ! ". . + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . ", ! ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ! ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; |
From: Jon S. B. <jb...@us...> - 2007-04-14 06:21:24
|
Update of /cvsroot/jsbsimcommander/src/gui In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv6132 Modified Files: MyFrame.cpp MyFrame.h Log Message: To Unix format Index: MyFrame.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/MyFrame.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MyFrame.h 25 May 2006 14:37:26 -0000 1.1 --- MyFrame.h 14 Apr 2007 06:21:20 -0000 1.2 *************** *** 1,66 **** ! //----------------------------------------------------------------------------- ! // Name: myframe.h ! // Purpose: A derived frame, called MyFrame ! // Author: Matthew Gong ! // Licence: wxWindows licence ! //----------------------------------------------------------------------------- ! ! //----------------------------------------------------------------------------- ! // Begin single inclusion of this .h file condition ! //----------------------------------------------------------------------------- ! ! #ifndef _MYFRAME_H_ ! #define _MYFRAME_H_ ! ! //----------------------------------------------------------------------------- ! // GCC interface ! //----------------------------------------------------------------------------- ! ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface "myframe.h" ! #endif ! ! //----------------------------------------------------------------------------- ! // Headers ! //----------------------------------------------------------------------------- ! ! #include <wx/frame.h> ! ! //----------------------------------------------------------------------------- ! // Class definition: MyFrame ! //----------------------------------------------------------------------------- ! ! /** ! * My Frame is the main frame. ! * Define a new frame type: this is going to be our main frame. ! */ ! ! class MyFrame : public wxFrame ! { ! ! public: ! ! /// Constructor. ! MyFrame( wxWindow* parent=(wxWindow *)NULL); ! ! private: ! ! // Event handlers (these functions should _not_ be virtual) ! void OnExitToolOrMenuCommand(wxCommandEvent& event); ! void OnAboutToolOrMenuCommand(wxCommandEvent& event); ! void OnAircraftManagerToolOrMenuCommand(wxCommandEvent& event); ! void OnPropertyManagerToolOrMenuCommand(wxCommandEvent& event); ! void OnResultManagerToolOrMenuCommand(wxCommandEvent& event); ! void OnRunScriptToolOrMenuCommand(wxCommandEvent& event); ! ! // Any class wishing to process wxWidgets events must use this macro ! DECLARE_EVENT_TABLE() ! ! }; ! ! //----------------------------------------------------------------------------- ! // End single inclusion of this .h file condition ! //----------------------------------------------------------------------------- ! ! #endif // _MYFRAME_H_ ! --- 1,66 ---- ! //----------------------------------------------------------------------------- ! // Name: myframe.h ! // Purpose: A derived frame, called MyFrame ! // Author: Matthew Gong ! // Licence: wxWindows licence ! //----------------------------------------------------------------------------- ! ! //----------------------------------------------------------------------------- ! // Begin single inclusion of this .h file condition ! //----------------------------------------------------------------------------- ! ! #ifndef _MYFRAME_H_ ! #define _MYFRAME_H_ ! ! //----------------------------------------------------------------------------- ! // GCC interface ! //----------------------------------------------------------------------------- ! ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface "myframe.h" ! #endif ! ! //----------------------------------------------------------------------------- ! // Headers ! //----------------------------------------------------------------------------- ! ! #include <wx/frame.h> ! ! //----------------------------------------------------------------------------- ! // Class definition: MyFrame ! //----------------------------------------------------------------------------- ! ! /** ! * My Frame is the main frame. ! * Define a new frame type: this is going to be our main frame. ! */ ! ! class MyFrame : public wxFrame ! { ! ! public: ! ! /// Constructor. ! MyFrame( wxWindow* parent=(wxWindow *)NULL); ! ! private: ! ! // Event handlers (these functions should _not_ be virtual) ! void OnExitToolOrMenuCommand(wxCommandEvent& event); ! void OnAboutToolOrMenuCommand(wxCommandEvent& event); ! void OnAircraftManagerToolOrMenuCommand(wxCommandEvent& event); ! void OnPropertyManagerToolOrMenuCommand(wxCommandEvent& event); ! void OnResultManagerToolOrMenuCommand(wxCommandEvent& event); ! void OnRunScriptToolOrMenuCommand(wxCommandEvent& event); ! ! // Any class wishing to process wxWidgets events must use this macro ! DECLARE_EVENT_TABLE() ! ! }; ! ! //----------------------------------------------------------------------------- ! // End single inclusion of this .h file condition ! //----------------------------------------------------------------------------- ! ! #endif // _MYFRAME_H_ ! Index: MyFrame.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/MyFrame.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MyFrame.cpp 26 May 2006 13:20:01 -0000 1.2 --- MyFrame.cpp 14 Apr 2007 06:21:20 -0000 1.3 *************** *** 1,223 **** ! //----------------------------------------------------------------------------- ! // Name: MyFrame.cpp ! // Purpose: A derived frame, called MyFrame ! // Author: Matthew Gong ! // Licence: wxWindows licence ! //----------------------------------------------------------------------------- ! ! //----------------------------------------------------------------------------- ! // GCC implementation ! //----------------------------------------------------------------------------- ! ! #ifdef __GNUG__ ! // #pragma implementation "MyFrame.h" ! #endif ! ! //----------------------------------------------------------------------------- ! // Standard wxWidgets headers ! //----------------------------------------------------------------------------- ! ! // For compilers that support precompilation, includes "wx/wx.h". ! #include <wx/wxprec.h> ! ! #ifdef __BORLANDC__ ! #pragma hdrstop ! #endif ! ! // For all others, include the necessary headers (this file is usually all you ! // need because it includes almost all "standard" wxWidgets headers) ! #ifndef WX_PRECOMP ! #include "wx/wx.h" ! #endif ! ! //----------------------------------------------------------------------------- ! // Header of this .cpp file ! //----------------------------------------------------------------------------- ! ! #include "MyFrame.h" ! ! //----------------------------------------------------------------------------- ! // Remaining headers: Needed wx headers, then wx/contrib headers, then application headers ! //----------------------------------------------------------------------------- ! ! // Since setting an icon ! #include <wx/image.h> ! ! //----------------------------------------------------------------------------- ! ! #include <wx/xrc/xmlres.h> // XRC XML resouces ! ! //----------------------------------------------------------------------------- ! ! #include "MyApp.h" ! #include "Property_Diag.h" ! #include "AircraftDialog.h" ! #include "ResultShow_Diag.h" ! ! //----------------------------------------------------------------------------- ! // Regular resources (the non-XRC kind). ! //----------------------------------------------------------------------------- ! ! // The application icon ! // All non-MSW platforms use an xpm. MSW uses an .ico file ! #if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__) ! #include "bitmaps/ogl.xpm" ! #endif ! ! //----------------------------------------------------------------------------- ! // Event table: connect the events to the handler functions to process them ! //----------------------------------------------------------------------------- ! ! // The event tables connect the wxWidgets events with the functions (event ! // handlers) which process them. It can be also done at run-time, but for the ! // simple menu events like this the static method is much simpler. ! // The reason why the menuitems and tools are given the same name in the ! // XRC file, is that both a tool (a toolbar item) and a menuitem are designed ! // to fire the same kind of event (an EVT_MENU) and thus I give them the same ! // ID name to help new users emphasize this point which is often overlooked ! // when starting out with wxWidgets. ! BEGIN_EVENT_TABLE(MyFrame, wxFrame) ! EVT_MENU(XRCID("aircraft_tool_or_menuitem"), MyFrame::OnAircraftManagerToolOrMenuCommand) ! EVT_MENU(XRCID("result_tool_or_menuitem"), MyFrame::OnResultManagerToolOrMenuCommand) ! EVT_MENU(XRCID("property_tool_or_menuitem"), MyFrame::OnPropertyManagerToolOrMenuCommand) ! EVT_MENU(wxID_EXIT, MyFrame::OnExitToolOrMenuCommand) ! END_EVENT_TABLE() ! ! //----------------------------------------------------------------------------- ! // Public methods ! //----------------------------------------------------------------------------- ! ! /** ! * MyFrame ====================================================================== ! * Constructor ! */ ! ! MyFrame::MyFrame(wxWindow* parent) ! { ! // Load up this frame from XRC. [Note, instead of making a class's ! // constructor take a wxWindow* parent with a default value of NULL, ! // we could have just had designed MyFrame class with an empty ! // constructor and then written here: ! // wxXmlResource::Get()->LoadFrame(this, (wxWindow* )NULL, "main_frame"); ! // since this frame will always be the top window, and thus parentless. ! // However, the current approach has source code that can be recycled ! // for other frames that aren't the top level window.] ! wxXmlResource::Get()->LoadFrame(this, parent, wxT("main_frame")); ! ! // Set the icon for the frame. ! SetIcon(wxICON(ogl)); ! ! // Load the menubar from XRC and set this frame's menubar to it. ! SetMenuBar(wxXmlResource::Get()->LoadMenuBar(wxT("main_menu"))); ! // Load the toolbar from XRC and set this frame's toolbar to it. ! // NOTE: For toolbars you currently should do it exactly like this. ! // With toolbars, you currently can't create one, and set it later. It ! // needs to be all in one step. ! SetToolBar(wxXmlResource::Get()->LoadToolBar(this, wxT("main_toolbar"))); ! ! #if wxUSE_STATUSBAR ! // Give the frame an optional statusbar. The '1' just means one field. ! // A gripsizer will automatically get put on into the corner, if that ! // is the normal OS behaviour for frames on that platform. Helptext ! // for menu items and toolbar tools will automatically get displayed ! // here. ! CreateStatusBar( 1 ); ! #endif // wxUSE_STATUSBAR ! } ! ! //----------------------------------------------------------------------------- ! // Private methods ! //----------------------------------------------------------------------------- ! ! ! /** ! * OnExitToolOrMenuCommand ====================================================== ! */ ! ! void MyFrame::OnExitToolOrMenuCommand(wxCommandEvent& WXUNUSED(event)) ! { ! // true is to force the frame to close. ! Close(true); ! } ! ! /** ! * OnAboutToolOrMenuCommand ===================================================== ! */ ! ! void MyFrame::OnAboutToolOrMenuCommand(wxCommandEvent& WXUNUSED(event)) ! { ! /******************************************************************************* ! wxDialog dlg; ! wxXmlResource::Get()->LoadDialog(&dlg, this, wxT("about_dialog")); ! XRCCTRL(dlg, "package_string", wxStaticText)->SetLabel(wxT(PACKAGE_STRING)); ! XRCCTRL(dlg, "package_bugreport", wxStaticText)->SetLabel(wxT(PACKAGE_BUGREPORT)); ! dlg.ShowModal(); ! *******************************************************************************/ ! } ! ! /** ! * OnAircraftManagerToolOrMenuCommand =========================================== ! */ ! ! void MyFrame::OnAircraftManagerToolOrMenuCommand(wxCommandEvent& event) ! { ! wxString filename = wxFileSelector(_("Choose a file to open"), wxEmptyString, wxEmptyString, wxT("xml"), _("XML files (*.xml)|*.xml"), wxOPEN|wxFILE_MUST_EXIST, this); ! if ( !filename.empty()) ! { ! AircraftDialog * dlg = new AircraftDialog (this, -1); ! if (dlg->Load(filename)) ! { ! if (dlg->ShowModal () == wxID_OK) ! { ! dlg->Save(); ! } ! } ! else ! { ! ::wxMessageBox(wxString(_("Something is wrong! I can not load proper file(")) + filename + wxT(")."), _("Warning"), wxOK | wxICON_INFORMATION, NULL); ! } ! dlg->Destroy(); ! } ! } ! ! /** ! * OnResultManagerToolOrMenuCommand ============================================= ! * Show the curves from a CSV file. ! */ ! ! void MyFrame::OnResultManagerToolOrMenuCommand(wxCommandEvent& event) ! { ! wxString filename = wxFileSelector(_("Choose a file to open"), wxEmptyString, wxEmptyString, wxT("csv"), _("CSV files (*.csv)|*.csv"), wxOPEN|wxFILE_MUST_EXIST, this); ! if ( !filename.empty()) ! { ! ResultShowDialog * dlg = new ResultShowDialog (this, -1); ! if (dlg->Load(filename)) ! { ! dlg->ShowModal(); ! } ! else ! { ! ::wxMessageBox(wxString(_("Something is wrong! I can not load proper file(")) + filename + wxT(")."), _("Warning"), wxOK | wxICON_INFORMATION, NULL); ! } ! dlg->Destroy(); ! } ! } ! ! /** ! * OnRunScriptToolOrMenuCommand ================================================= ! */ ! ! void MyFrame::OnRunScriptToolOrMenuCommand(wxCommandEvent& event) ! { ! } ! ! /** ! * OnPropertyManagerToolOrMenuCommand =========================================== ! */ ! ! void MyFrame::OnPropertyManagerToolOrMenuCommand(wxCommandEvent& event) ! { ! GetPropertyDialog()->ShowModal(); ! } ! ! --- 1,223 ---- ! //----------------------------------------------------------------------------- ! // Name: MyFrame.cpp ! // Purpose: A derived frame, called MyFrame ! // Author: Matthew Gong ! // Licence: wxWindows licence ! //----------------------------------------------------------------------------- ! ! //----------------------------------------------------------------------------- ! // GCC implementation ! //----------------------------------------------------------------------------- ! ! #ifdef __GNUG__ ! // #pragma implementation "MyFrame.h" ! #endif ! ! //----------------------------------------------------------------------------- ! // Standard wxWidgets headers ! //----------------------------------------------------------------------------- ! ! // For compilers that support precompilation, includes "wx/wx.h". ! #include <wx/wxprec.h> ! ! #ifdef __BORLANDC__ ! #pragma hdrstop ! #endif ! ! // For all others, include the necessary headers (this file is usually all you ! // need because it includes almost all "standard" wxWidgets headers) ! #ifndef WX_PRECOMP ! #include "wx/wx.h" ! #endif ! ! //----------------------------------------------------------------------------- ! // Header of this .cpp file ! //----------------------------------------------------------------------------- ! ! #include "MyFrame.h" ! ! //----------------------------------------------------------------------------- ! // Remaining headers: Needed wx headers, then wx/contrib headers, then application headers ! //----------------------------------------------------------------------------- ! ! // Since setting an icon ! #include <wx/image.h> ! ! //----------------------------------------------------------------------------- ! ! #include <wx/xrc/xmlres.h> // XRC XML resouces ! ! //----------------------------------------------------------------------------- ! ! #include "MyApp.h" ! #include "Property_Diag.h" ! #include "AircraftDialog.h" ! #include "ResultShow_Diag.h" ! ! //----------------------------------------------------------------------------- ! // Regular resources (the non-XRC kind). ! //----------------------------------------------------------------------------- ! ! // The application icon ! // All non-MSW platforms use an xpm. MSW uses an .ico file ! #if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__) ! #include "bitmaps/ogl.xpm" ! #endif ! ! //----------------------------------------------------------------------------- ! // Event table: connect the events to the handler functions to process them ! //----------------------------------------------------------------------------- ! ! // The event tables connect the wxWidgets events with the functions (event ! // handlers) which process them. It can be also done at run-time, but for the ! // simple menu events like this the static method is much simpler. ! // The reason why the menuitems and tools are given the same name in the ! // XRC file, is that both a tool (a toolbar item) and a menuitem are designed ! // to fire the same kind of event (an EVT_MENU) and thus I give them the same ! // ID name to help new users emphasize this point which is often overlooked ! // when starting out with wxWidgets. ! BEGIN_EVENT_TABLE(MyFrame, wxFrame) ! EVT_MENU(XRCID("aircraft_tool_or_menuitem"), MyFrame::OnAircraftManagerToolOrMenuCommand) ! EVT_MENU(XRCID("result_tool_or_menuitem"), MyFrame::OnResultManagerToolOrMenuCommand) ! EVT_MENU(XRCID("property_tool_or_menuitem"), MyFrame::OnPropertyManagerToolOrMenuCommand) ! EVT_MENU(wxID_EXIT, MyFrame::OnExitToolOrMenuCommand) ! END_EVENT_TABLE() ! ! //----------------------------------------------------------------------------- ! // Public methods ! //----------------------------------------------------------------------------- ! ! /** ! * MyFrame ====================================================================== ! * Constructor ! */ ! ! MyFrame::MyFrame(wxWindow* parent) ! { ! // Load up this frame from XRC. [Note, instead of making a class's ! // constructor take a wxWindow* parent with a default value of NULL, ! // we could have just had designed MyFrame class with an empty ! // constructor and then written here: ! // wxXmlResource::Get()->LoadFrame(this, (wxWindow* )NULL, "main_frame"); ! // since this frame will always be the top window, and thus parentless. ! // However, the current approach has source code that can be recycled ! // for other frames that aren't the top level window.] ! wxXmlResource::Get()->LoadFrame(this, parent, wxT("main_frame")); ! ! // Set the icon for the frame. ! SetIcon(wxICON(ogl)); ! ! // Load the menubar from XRC and set this frame's menubar to it. ! SetMenuBar(wxXmlResource::Get()->LoadMenuBar(wxT("main_menu"))); ! // Load the toolbar from XRC and set this frame's toolbar to it. ! // NOTE: For toolbars you currently should do it exactly like this. ! // With toolbars, you currently can't create one, and set it later. It ! // needs to be all in one step. ! SetToolBar(wxXmlResource::Get()->LoadToolBar(this, wxT("main_toolbar"))); ! ! #if wxUSE_STATUSBAR ! // Give the frame an optional statusbar. The '1' just means one field. ! // A gripsizer will automatically get put on into the corner, if that ! // is the normal OS behaviour for frames on that platform. Helptext ! // for menu items and toolbar tools will automatically get displayed ! // here. ! CreateStatusBar( 1 ); ! #endif // wxUSE_STATUSBAR ! } ! ! //----------------------------------------------------------------------------- ! // Private methods ! //----------------------------------------------------------------------------- ! ! ! /** ! * OnExitToolOrMenuCommand ====================================================== ! */ ! ! void MyFrame::OnExitToolOrMenuCommand(wxCommandEvent& WXUNUSED(event)) ! { ! // true is to force the frame to close. ! Close(true); ! } ! ! /** ! * OnAboutToolOrMenuCommand ===================================================== ! */ ! ! void MyFrame::OnAboutToolOrMenuCommand(wxCommandEvent& WXUNUSED(event)) ! { ! /******************************************************************************* ! wxDialog dlg; ! wxXmlResource::Get()->LoadDialog(&dlg, this, wxT("about_dialog")); ! XRCCTRL(dlg, "package_string", wxStaticText)->SetLabel(wxT(PACKAGE_STRING)); ! XRCCTRL(dlg, "package_bugreport", wxStaticText)->SetLabel(wxT(PACKAGE_BUGREPORT)); ! dlg.ShowModal(); ! *******************************************************************************/ ! } ! ! /** ! * OnAircraftManagerToolOrMenuCommand =========================================== ! */ ! ! void MyFrame::OnAircraftManagerToolOrMenuCommand(wxCommandEvent& event) ! { ! wxString filename = wxFileSelector(_("Choose a file to open"), wxEmptyString, wxEmptyString, wxT("xml"), _("XML files (*.xml)|*.xml"), wxOPEN|wxFILE_MUST_EXIST, this); ! if ( !filename.empty()) ! { ! AircraftDialog * dlg = new AircraftDialog (this, -1); ! if (dlg->Load(filename)) ! { ! if (dlg->ShowModal () == wxID_OK) ! { ! dlg->Save(); ! } ! } ! else ! { ! ::wxMessageBox(wxString(_("Something is wrong! I can not load proper file(")) + filename + wxT(")."), _("Warning"), wxOK | wxICON_INFORMATION, NULL); ! } ! dlg->Destroy(); ! } ! } ! ! /** ! * OnResultManagerToolOrMenuCommand ============================================= ! * Show the curves from a CSV file. ! */ ! ! void MyFrame::OnResultManagerToolOrMenuCommand(wxCommandEvent& event) ! { ! wxString filename = wxFileSelector(_("Choose a file to open"), wxEmptyString, wxEmptyString, wxT("csv"), _("CSV files (*.csv)|*.csv"), wxOPEN|wxFILE_MUST_EXIST, this); ! if ( !filename.empty()) ! { ! ResultShowDialog * dlg = new ResultShowDialog (this, -1); ! if (dlg->Load(filename)) ! { ! dlg->ShowModal(); ! } ! else ! { ! ::wxMessageBox(wxString(_("Something is wrong! I can not load proper file(")) + filename + wxT(")."), _("Warning"), wxOK | wxICON_INFORMATION, NULL); ! } ! dlg->Destroy(); ! } ! } ! ! /** ! * OnRunScriptToolOrMenuCommand ================================================= ! */ ! ! void MyFrame::OnRunScriptToolOrMenuCommand(wxCommandEvent& event) ! { ! } ! ! /** ! * OnPropertyManagerToolOrMenuCommand =========================================== ! */ ! ! void MyFrame::OnPropertyManagerToolOrMenuCommand(wxCommandEvent& event) ! { ! GetPropertyDialog()->ShowModal(); ! } ! ! |
From: Jon S. B. <jb...@us...> - 2007-04-14 06:19:34
|
Update of /cvsroot/jsbsimcommander/src/gui In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv5648/src/gui Modified Files: sensor_dlg.cpp view.cpp Log Message: Further tweaks to the actuator Index: sensor_dlg.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/sensor_dlg.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** sensor_dlg.cpp 14 Apr 2007 06:02:48 -0000 1.4 --- sensor_dlg.cpp 14 Apr 2007 06:19:31 -0000 1.5 *************** *** 38,43 **** #include "sensor_dlg.h" - //#include "Property_Diag.h" - //#include "MyApp.h" // All non-MSW platforms use an xpm. MSW uses an .ico file --- 38,41 ---- Index: view.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/view.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** view.cpp 23 Feb 2007 04:06:11 -0000 1.5 --- view.cpp 14 Apr 2007 06:19:31 -0000 1.6 *************** *** 29,32 **** --- 29,33 ---- #include "sum.h" #include "pid.h" + #include "actuator.h" #include "sensor.h" #include "gain.h" *************** *** 109,112 **** --- 110,118 ---- break; } + case TOOLBAR_ADD_ACTUATOR: + { + info = CLASSINFO (Actuator); + break; + } case TOOLBAR_ADD_GAIN: { |
Update of /cvsroot/jsbsimcommander/src/gui In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv727/src/gui Modified Files: Makefile.am actuator.cpp actuator.h actuator_dlg.cpp actuator_dlg.h condition.h deadband.h doc.cpp doc.h filter.h func.h gain.h gain_dlg.cpp gain_dlg.h import.cpp kinemat.h pid.h sensor.h sensor_dlg.cpp sensor_dlg.h shape.h sum.h switch.h toolbar.cpp toolbar.h Log Message: More refinements to the actuator dialog Index: import.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/import.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** import.cpp 18 Feb 2007 16:54:25 -0000 1.5 --- import.cpp 14 Apr 2007 06:02:48 -0000 1.6 *************** *** 31,34 **** --- 31,35 ---- #include "sum.h" #include "pid.h" + #include "actuator.h" #include "gain.h" #include "filter.h" *************** *** 112,115 **** --- 113,118 ---- } else if (type == "pid") { shape = new PID; + } else if (type == "actuator") { + shape = new Actuator; } else if (type == "deadband") { shape = new DeadBand; Index: filter.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/filter.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** filter.h 6 Jul 2006 07:21:59 -0000 1.2 --- filter.h 14 Apr 2007 06:02:48 -0000 1.3 *************** *** 12,22 **** #define _FCSBUILDER_FILTER_H_ ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface #endif ! /* ! * FGFilter Componment ! */ class Filter: public ComponentShape --- 12,20 ---- #define _FCSBUILDER_FILTER_H_ ! #ifndef WX_PRECOMP ! #include <wx/wx.h> #endif ! #include "shape.h" class Filter: public ComponentShape Index: toolbar.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/toolbar.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** toolbar.cpp 23 Feb 2007 04:06:11 -0000 1.3 --- toolbar.cpp 14 Apr 2007 06:02:48 -0000 1.4 *************** *** 44,47 **** --- 44,48 ---- #include "pid.xpm" #include "sensor.xpm" + #include "actuator.xpm" #include "gain.xpm" #include "filter.xpm" *************** *** 118,121 **** --- 119,123 ---- wxBitmap PaletteSummer (wxBITMAP(summer)); wxBitmap PalettePID (wxBITMAP(pid)); + wxBitmap PaletteActuator (wxBITMAP(actuator)); wxBitmap PaletteGain (wxBITMAP(gain)); wxBitmap PaletteFilter (wxBITMAP(filter)); *************** *** 163,166 **** --- 165,170 ---- toolbar->AddTool (TOOLBAR_ADD_SWITCH, _("Switch"), PaletteSwitch, wxNullBitmap, wxITEM_CHECK, _("Switch"), _("Switch"), NULL); + toolbar->AddTool (TOOLBAR_ADD_ACTUATOR, _("Actuator"), PaletteActuator, + wxNullBitmap, wxITEM_CHECK, _("Actuator"), _("Actuator"), NULL); toolbar->AddTool (TOOLBAR_ADD_KINEMAT, _("Kinemat"), PaletteKinemat, wxNullBitmap, wxITEM_CHECK, _("Kinemat"), _("Kinemat"), Index: toolbar.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/toolbar.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** toolbar.h 23 Feb 2007 04:06:11 -0000 1.3 --- toolbar.h 14 Apr 2007 06:02:48 -0000 1.4 *************** *** 22,26 **** #define TOOLPALETTECLASS wxToolBar - /* * ToolBar to add shapes --- 22,25 ---- *************** *** 71,74 **** --- 70,74 ---- TOOLBAR_ADD_SUMMER, TOOLBAR_ADD_PID, + TOOLBAR_ADD_ACTUATOR, TOOLBAR_ADD_SENSOR, TOOLBAR_ADD_GAIN, Index: sum.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/sum.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** sum.h 30 Apr 2006 23:38:49 -0000 1.1.1.1 --- sum.h 14 Apr 2007 06:02:48 -0000 1.2 *************** *** 12,22 **** #define _FCSBUILDER_SUM_H_ ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface #endif ! /* ! * FGSummer Componment ! */ class Summer: public ComponentShape --- 12,20 ---- #define _FCSBUILDER_SUM_H_ ! #ifndef WX_PRECOMP ! #include <wx/wx.h> #endif ! #include "shape.h" class Summer: public ComponentShape Index: deadband.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/deadband.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** deadband.h 30 Apr 2006 23:38:42 -0000 1.1.1.1 --- deadband.h 14 Apr 2007 06:02:48 -0000 1.2 *************** *** 12,22 **** #define _FCSBUILDER_DEADBAND_H_ ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface #endif ! /* ! * FGFilter Componment ! */ class DeadBand: public ComponentShape --- 12,20 ---- #define _FCSBUILDER_DEADBAND_H_ ! #ifndef WX_PRECOMP ! #include <wx/wx.h> #endif ! #include "shape.h" class DeadBand: public ComponentShape Index: kinemat.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/kinemat.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** kinemat.h 14 Jul 2006 01:42:07 -0000 1.2 --- kinemat.h 14 Apr 2007 06:02:48 -0000 1.3 *************** *** 12,19 **** #define _FCSBUILDER_KINEMAT_H_ ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface #endif struct MySettingPair { --- 12,21 ---- #define _FCSBUILDER_KINEMAT_H_ ! #ifndef WX_PRECOMP ! #include <wx/wx.h> #endif + #include "shape.h" + struct MySettingPair { *************** *** 24,32 **** WX_DECLARE_LIST(MySettingPair,MySettingPairList); - - /* - * FGKinemat Componment - */ - class Kinemat: public ComponentShape { --- 26,29 ---- Index: gain_dlg.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/gain_dlg.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** gain_dlg.cpp 14 Jul 2006 01:42:07 -0000 1.4 --- gain_dlg.cpp 14 Apr 2007 06:02:48 -0000 1.5 *************** *** 8,15 **** ///////////////////////////////////////////////////////////////////////////// - #ifdef __GNUG__ - // #pragma implementation - #endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" --- 8,11 ---- *************** *** 19,31 **** #endif - #ifndef WX_PRECOMP - #include <wx/wx.h> - #endif - #include <wx/valtext.h> #include <wx/valgen.h> - #include "shape.h" - #include "gain.h" #include "gain_dlg.h" --- 15,21 ---- Index: shape.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/shape.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** shape.h 4 Mar 2007 03:12:54 -0000 1.10 --- shape.h 14 Apr 2007 06:02:48 -0000 1.11 *************** *** 11,18 **** #define _FCSBUILDER_SHAPE_H_ - #if defined(__GNUG__) && !defined(__APPLE__) - // #pragma interface - #endif - #include <wx/deprecated/setup.h> --- 11,14 ---- Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Makefile.am 23 Feb 2007 13:34:10 -0000 1.6 --- Makefile.am 14 Apr 2007 06:02:48 -0000 1.7 *************** *** 21,25 **** Propulsion_Diag.cpp doc.cpp kinemat.cpp EngineMgr_Diag.cpp\ MyFrame.cpp pid.cpp pid_dlg.cpp sensor.cpp \ ! sensor_dlg.cpp --- 21,25 ---- Propulsion_Diag.cpp doc.cpp kinemat.cpp EngineMgr_Diag.cpp\ MyFrame.cpp pid.cpp pid_dlg.cpp sensor.cpp \ ! sensor_dlg.cpp actuator.cpp actuator_dlg.cpp *************** *** 35,39 **** Propulsion_Diag.h doc.h kinemat.h EngineMgr_Diag.h \ MyFrame.h pid.h pid_dlg.h sensor.h \ ! sensor_dlg.h --- 35,39 ---- Propulsion_Diag.h doc.h kinemat.h EngineMgr_Diag.h \ MyFrame.h pid.h pid_dlg.h sensor.h \ ! sensor_dlg.h actuator.h actuator_dlg.h Index: switch.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/switch.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** switch.h 30 Apr 2006 23:38:50 -0000 1.1.1.1 --- switch.h 14 Apr 2007 06:02:48 -0000 1.2 *************** *** 12,25 **** #define _FCSBUILDER_SWITCH_H_ ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface #endif #include "condition.h" - /* - * FGSwitch Componment - */ - class Switch; class SwitchPropertyDialog; --- 12,21 ---- #define _FCSBUILDER_SWITCH_H_ ! #ifndef WX_PRECOMP ! #include <wx/wx.h> #endif #include "condition.h" class Switch; class SwitchPropertyDialog; Index: actuator.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/actuator.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** actuator.h 13 Apr 2007 04:14:19 -0000 1.1 --- actuator.h 14 Apr 2007 06:02:48 -0000 1.2 *************** *** 11,21 **** #define _FCSBUILDER_ACTUATOR_H_ ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface #endif ! /* ! * FGActuator Componment ! */ class Actuator: public ComponentShape --- 11,21 ---- #define _FCSBUILDER_ACTUATOR_H_ ! #ifndef WX_PRECOMP ! #include <wx/wx.h> #endif ! #include "shape.h" ! ! class ComponentShape; class Actuator: public ComponentShape Index: actuator_dlg.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/actuator_dlg.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** actuator_dlg.cpp 13 Apr 2007 04:14:19 -0000 1.1 --- actuator_dlg.cpp 14 Apr 2007 06:02:48 -0000 1.2 *************** *** 24,230 **** // ///////////////////////////////////////////////////////////////////////////// ! ! // -*- C++ -*- generated by wxGlade 0.4.1 on Fri Apr 06 07:40:41 2007 ! ! #include "actuator_dlg.h" ! ! ActuatorComponentEditor::ActuatorComponentEditor(Actuator *actuator, wxWindow* parent, int id, const wxString& title, const wxPoint& pos, const wxSize& size, long style): ! wxDialog(parent, id, title, pos, size, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxTHICK_FRAME|wxSTAY_ON_TOP|wxFULL_REPAINT_ON_RESIZE) ! { ! // begin wxGlade: ActuatorComponentEditor::ActuatorComponentEditor ! nbk_Properties = new wxNotebook(this, -1, wxDefaultPosition, wxDefaultSize, wxRAISED_BORDER|wxTAB_TRAVERSAL|wxWS_EX_VALIDATE_RECURSIVELY); ! notebook_1_pane_1 = new wxPanel(nbk_Properties, -1); ! sizer_clip_staticbox = new wxStaticBox(notebook_1_pane_1, -1, wxT("Clipping")); ! sizer_actuator_properties_staticbox = new wxStaticBox(notebook_1_pane_1, -1, wxT("Actuator Properties")); ! sizer_inout_staticbox = new wxStaticBox(notebook_1_pane_1, -1, wxT("Input / Output")); ! sizer_basic_staticbox = new wxStaticBox(notebook_1_pane_1, -1, wxT("Basic Properties")); ! label_name = new wxStaticText(notebook_1_pane_1, -1, wxT("Name:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); ! txtEd_Name = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! label_type = new wxStaticText(notebook_1_pane_1, -1, wxT("Type:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); ! txtEd_Type = new wxTextCtrl(notebook_1_pane_1, -1, wxT("Actuator Component"), wxDefaultPosition, wxDefaultSize, wxTE_READONLY); ! label_order = new wxStaticText(notebook_1_pane_1, -1, wxT("Order:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); ! txtEd_Order = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! chx_Clip = new wxCheckBox(notebook_1_pane_1, -1, wxT("Clip")); ! label_clip_min = new wxStaticText(notebook_1_pane_1, -1, wxT("Minimum:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); ! txtEd_MinClip = new wxTextCtrl(notebook_1_pane_1, -1, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_READONLY); ! label_clip_max = new wxStaticText(notebook_1_pane_1, -1, wxT("Maximum:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); ! txtEd_MaxClip = new wxTextCtrl(notebook_1_pane_1, -1, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_READONLY); ! label_7 = new wxStaticText(notebook_1_pane_1, -1, wxT("Lag")); ! txtEd_Lag = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! label_10 = new wxStaticText(notebook_1_pane_1, -1, wxT("Rate limit")); ! txtEd_RateLimit = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! label_11 = new wxStaticText(notebook_1_pane_1, -1, wxT("Hysteresis")); ! txtEd_Hysteresis = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! label_17 = new wxStaticText(notebook_1_pane_1, -1, wxT("Bias")); ! txtEd_Bias = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! label_1 = new wxStaticText(notebook_1_pane_1, -1, wxT("Input Property:")); ! button_invert_input = new wxToggleButton(notebook_1_pane_1, -1, wxT("+")); ! txtEd_InputProperty = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! label_output_property = new wxStaticText(notebook_1_pane_1, -1, wxT("Output Property:")); ! txtEd_OutputProperty = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! txtEd_Description = new wxTextCtrl(nbk_Properties, -1, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB|wxTE_MULTILINE|wxTE_WORDWRAP); ! button_OK = new wxButton(this, -1, wxT("OK")); ! button_Cancel = new wxButton(this, -1, wxT("Cancel")); ! button_Help = new wxButton(this, -1, wxT("Help")); ! ! set_properties(); ! do_layout(); ! // end wxGlade GetDataIn(actuator); ! } ! ! ! BEGIN_EVENT_TABLE(ActuatorComponentEditor, wxDialog) ! // begin wxGlade: ActuatorComponentEditor::event_table ! EVT_CHECKBOX(-1, ActuatorComponentEditor::OnCheckboxClip) ! EVT_TOGGLEBUTTON(-1, ActuatorComponentEditor::OnClickInvertInput) ! EVT_BUTTON(-1, ActuatorComponentEditor::OnButtonPressOK) ! EVT_BUTTON(-1, ActuatorComponentEditor::OnButtonPressCancel) ! EVT_BUTTON(-1, ActuatorComponentEditor::OnButtonPressHelp) ! // end wxGlade ! END_EVENT_TABLE(); ! ! ! void ActuatorComponentEditor::OnCheckboxClip(wxCommandEvent &event) ! { ! event.Skip(); ! } ! ! ! void ActuatorComponentEditor::OnClickInvertInput(wxCommandEvent &event) ! { ! event.Skip(); ! } ! ! ! void ActuatorComponentEditor::OnButtonPressOK(wxCommandEvent &event) ! { if (nbk_Properties->Validate()) nbk_Properties->TransferDataFromWindow(); ! ! event.Skip(); ! } ! ! ! void ActuatorComponentEditor::OnButtonPressCancel(wxCommandEvent &event) ! { ! event.Skip(); ! } ! ! ! void ActuatorComponentEditor::OnButtonPressHelp(wxCommandEvent &event) ! { ! event.Skip(); ! } ! ! ! // wxGlade: add ActuatorComponentEditor event handlers ! ! ! void ActuatorComponentEditor::set_properties() ! { ! // begin wxGlade: ActuatorComponentEditor::set_properties ! SetTitle(wxT("Actuator Component Editor")); ! txtEd_Name->SetToolTip(wxT("This is the name of the component. It can be a property name, or a human readable name, such as \"Pitch Feedback PID Control\". In the latter case, the name will be converted internally to a property name. In the given example, this will be \"fcs/pitch-feedback-pid-control\".")); ! txtEd_Name->SetFocus(); ! txtEd_Type->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTION)); ! txtEd_Order->SetToolTip(wxT("This number represents the order in which the component will be \"executed\".")); ! label_clip_min->SetMinSize(wxSize(60, -1)); ! txtEd_MinClip->SetMinSize(wxSize(100,-1)); ! txtEd_MinClip->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTION)); ! txtEd_MinClip->SetToolTip(wxT("This is the minimum value allowed for the component output. ")); ! label_clip_max->SetMinSize(wxSize(60, -1)); ! txtEd_MaxClip->SetMinSize(wxSize(100,-1)); ! txtEd_MaxClip->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTION)); ! txtEd_MaxClip->SetToolTip(wxT("This is the maximum value allowed for the component output. ")); ! button_invert_input->SetMinSize(wxSize(21, 21)); ! button_invert_input->SetToolTip(wxT("Depress this button to invert the input property.")); ! button_invert_input->Enable(false); ! txtEd_InputProperty->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTION)); ! txtEd_InputProperty->SetToolTip(wxT("This is the input property to the component. This is selected via connecting up the components in the editor.")); ! txtEd_OutputProperty->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTION)); ! txtEd_OutputProperty->SetToolTip(wxT("This is the output property to the component. This is selected via connecting up the components in the editor.")); ! button_OK->SetToolTip(wxT("Clicking this button will save the changes made.")); ! button_Cancel->SetToolTip(wxT("Clicking on the Cancel button will abandon changes made.")); ! // end wxGlade ! } ! ! ! void ActuatorComponentEditor::do_layout() ! { ! // begin wxGlade: ActuatorComponentEditor::do_layout ! wxFlexGridSizer* grid_sizer_toplevel = new wxFlexGridSizer(2, 1, 5, 0); ! wxBoxSizer* sizer_buttons = new wxBoxSizer(wxHORIZONTAL); ! wxFlexGridSizer* grid_sizer_2 = new wxFlexGridSizer(5, 1, 5, 0); ! wxStaticBoxSizer* sizer_inout = new wxStaticBoxSizer(sizer_inout_staticbox, wxHORIZONTAL); ! wxFlexGridSizer* grid_sizer_inout = new wxFlexGridSizer(2, 2, 5, 5); ! wxFlexGridSizer* grid_sizer_1 = new wxFlexGridSizer(1, 2, 0, 2); ! wxStaticBoxSizer* sizer_actuator_properties = new wxStaticBoxSizer(sizer_actuator_properties_staticbox, wxVERTICAL); ! wxGridSizer* grid_sizer_7 = new wxGridSizer(4, 2, 3, 3); ! wxStaticBoxSizer* sizer_clip = new wxStaticBoxSizer(sizer_clip_staticbox, wxHORIZONTAL); ! wxFlexGridSizer* grid_sizer_clip = new wxFlexGridSizer(2, 2, 5, 10); ! wxBoxSizer* sizer_clip_min = new wxBoxSizer(wxHORIZONTAL); ! wxStaticBoxSizer* sizer_basic = new wxStaticBoxSizer(sizer_basic_staticbox, wxHORIZONTAL); ! wxFlexGridSizer* grid_sizer_basic_interior = new wxFlexGridSizer(3, 2, 5, 5); ! grid_sizer_basic_interior->Add(label_name, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_basic_interior->Add(txtEd_Name, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_basic_interior->Add(label_type, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_basic_interior->Add(txtEd_Type, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_basic_interior->Add(label_order, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_basic_interior->Add(txtEd_Order, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxFIXED_MINSIZE, 0); ! grid_sizer_basic_interior->AddGrowableCol(1); ! sizer_basic->Add(grid_sizer_basic_interior, 1, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_2->Add(sizer_basic, 1, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_clip->Add(chx_Clip, 0, wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! sizer_clip_min->Add(label_clip_min, 0, wxLEFT|wxRIGHT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); ! sizer_clip_min->Add(txtEd_MinClip, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxFIXED_MINSIZE, 0); ! sizer_clip_min->Add(label_clip_max, 0, wxLEFT|wxRIGHT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); ! sizer_clip_min->Add(txtEd_MaxClip, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxFIXED_MINSIZE, 0); ! grid_sizer_clip->Add(sizer_clip_min, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_clip->AddGrowableCol(1); ! sizer_clip->Add(grid_sizer_clip, 1, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_2->Add(sizer_clip, 1, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(label_7, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(txtEd_Lag, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(label_10, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(txtEd_RateLimit, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(label_11, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(txtEd_Hysteresis, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(label_17, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(txtEd_Bias, 0, wxADJUST_MINSIZE, 0); ! sizer_actuator_properties->Add(grid_sizer_7, 1, wxEXPAND, 0); ! grid_sizer_2->Add(sizer_actuator_properties, 1, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_inout->Add(label_1, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_1->Add(button_invert_input, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_1->Add(txtEd_InputProperty, 0, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_1->AddGrowableCol(1); ! grid_sizer_inout->Add(grid_sizer_1, 1, wxEXPAND, 0); ! grid_sizer_inout->Add(label_output_property, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_inout->Add(txtEd_OutputProperty, 0, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_inout->AddGrowableCol(1); ! sizer_inout->Add(grid_sizer_inout, 1, wxEXPAND, 0); ! grid_sizer_2->Add(sizer_inout, 1, wxEXPAND, 0); ! notebook_1_pane_1->SetAutoLayout(true); ! notebook_1_pane_1->SetSizer(grid_sizer_2); ! grid_sizer_2->Fit(notebook_1_pane_1); ! grid_sizer_2->SetSizeHints(notebook_1_pane_1); ! grid_sizer_2->AddGrowableCol(0); ! nbk_Properties->AddPage(notebook_1_pane_1, wxT("Properties")); ! nbk_Properties->AddPage(txtEd_Description, wxT("Comments")); ! grid_sizer_toplevel->Add(nbk_Properties, 1, wxEXPAND, 0); ! sizer_buttons->Add(button_OK, 0, wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 5); ! sizer_buttons->Add(button_Cancel, 0, wxLEFT|wxRIGHT, 5); ! sizer_buttons->Add(button_Help, 0, wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 5); ! grid_sizer_toplevel->Add(sizer_buttons, 1, wxALL|wxALIGN_CENTER_HORIZONTAL, 5); ! SetAutoLayout(true); ! SetSizer(grid_sizer_toplevel); ! grid_sizer_toplevel->Fit(this); ! grid_sizer_toplevel->SetSizeHints(this); ! grid_sizer_toplevel->AddGrowableRow(0); ! grid_sizer_toplevel->AddGrowableCol(0); ! Layout(); Centre(); ! // end wxGlade ! } ! /** * Show ========================================================================= --- 24,230 ---- // ///////////////////////////////////////////////////////////////////////////// ! ! // -*- C++ -*- generated by wxGlade 0.4.1 on Fri Apr 06 07:40:41 2007 ! ! #include "actuator_dlg.h" ! ! ActuatorComponentEditor::ActuatorComponentEditor(Actuator *actuator, wxWindow* parent, int id, const wxString& title, const wxPoint& pos, const wxSize& size, long style): ! wxDialog(parent, id, title, pos, size, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxTHICK_FRAME|wxSTAY_ON_TOP|wxFULL_REPAINT_ON_RESIZE) ! { ! // begin wxGlade: ActuatorComponentEditor::ActuatorComponentEditor ! nbk_Properties = new wxNotebook(this, -1, wxDefaultPosition, wxDefaultSize, wxRAISED_BORDER|wxTAB_TRAVERSAL|wxWS_EX_VALIDATE_RECURSIVELY); ! notebook_1_pane_1 = new wxPanel(nbk_Properties, -1); ! sizer_clip_staticbox = new wxStaticBox(notebook_1_pane_1, -1, wxT("Clipping")); ! sizer_actuator_properties_staticbox = new wxStaticBox(notebook_1_pane_1, -1, wxT("Actuator Properties")); ! sizer_inout_staticbox = new wxStaticBox(notebook_1_pane_1, -1, wxT("Input / Output")); ! sizer_basic_staticbox = new wxStaticBox(notebook_1_pane_1, -1, wxT("Basic Properties")); ! label_name = new wxStaticText(notebook_1_pane_1, -1, wxT("Name:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); ! txtEd_Name = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! label_type = new wxStaticText(notebook_1_pane_1, -1, wxT("Type:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); ! txtEd_Type = new wxTextCtrl(notebook_1_pane_1, -1, wxT("Actuator Component"), wxDefaultPosition, wxDefaultSize, wxTE_READONLY); ! label_order = new wxStaticText(notebook_1_pane_1, -1, wxT("Order:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); ! txtEd_Order = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! chx_Clip = new wxCheckBox(notebook_1_pane_1, -1, wxT("Clip")); ! label_clip_min = new wxStaticText(notebook_1_pane_1, -1, wxT("Minimum:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); ! txtEd_MinClip = new wxTextCtrl(notebook_1_pane_1, -1, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_READONLY); ! label_clip_max = new wxStaticText(notebook_1_pane_1, -1, wxT("Maximum:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); ! txtEd_MaxClip = new wxTextCtrl(notebook_1_pane_1, -1, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_READONLY); ! label_7 = new wxStaticText(notebook_1_pane_1, -1, wxT("Lag")); ! txtEd_Lag = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! label_10 = new wxStaticText(notebook_1_pane_1, -1, wxT("Rate limit")); ! txtEd_RateLimit = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! label_11 = new wxStaticText(notebook_1_pane_1, -1, wxT("Hysteresis")); ! txtEd_Hysteresis = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! label_17 = new wxStaticText(notebook_1_pane_1, -1, wxT("Bias")); ! txtEd_Bias = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! label_1 = new wxStaticText(notebook_1_pane_1, -1, wxT("Input Property:")); ! button_invert_input = new wxToggleButton(notebook_1_pane_1, -1, wxT("+")); ! txtEd_InputProperty = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! label_output_property = new wxStaticText(notebook_1_pane_1, -1, wxT("Output Property:")); ! txtEd_OutputProperty = new wxTextCtrl(notebook_1_pane_1, -1, wxT("")); ! txtEd_Description = new wxTextCtrl(nbk_Properties, -1, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB|wxTE_MULTILINE|wxTE_WORDWRAP); ! button_OK = new wxButton(this, wxID_OK, wxT("OK")); ! button_Cancel = new wxButton(this, wxID_CANCEL, wxT("Cancel")); ! button_Help = new wxButton(this, -1, wxT("Help")); ! ! set_properties(); ! do_layout(); ! // end wxGlade GetDataIn(actuator); ! } ! ! ! BEGIN_EVENT_TABLE(ActuatorComponentEditor, wxDialog) ! // begin wxGlade: ActuatorComponentEditor::event_table ! EVT_CHECKBOX(-1, ActuatorComponentEditor::OnCheckboxClip) ! EVT_TOGGLEBUTTON(-1, ActuatorComponentEditor::OnClickInvertInput) ! EVT_BUTTON(wxID_OK, ActuatorComponentEditor::OnButtonPressOK) ! EVT_BUTTON(wxID_CANCEL, ActuatorComponentEditor::OnButtonPressCancel) ! EVT_BUTTON(-1, ActuatorComponentEditor::OnButtonPressHelp) ! // end wxGlade ! END_EVENT_TABLE(); ! ! ! void ActuatorComponentEditor::OnCheckboxClip(wxCommandEvent &event) ! { ! event.Skip(); ! } ! ! ! void ActuatorComponentEditor::OnClickInvertInput(wxCommandEvent &event) ! { ! event.Skip(); ! } ! ! ! void ActuatorComponentEditor::OnButtonPressOK(wxCommandEvent &event) ! { if (nbk_Properties->Validate()) nbk_Properties->TransferDataFromWindow(); ! ! event.Skip(); ! } ! ! ! void ActuatorComponentEditor::OnButtonPressCancel(wxCommandEvent &event) ! { ! event.Skip(); ! } ! ! ! void ActuatorComponentEditor::OnButtonPressHelp(wxCommandEvent &event) ! { ! event.Skip(); ! } ! ! ! // wxGlade: add ActuatorComponentEditor event handlers ! ! ! void ActuatorComponentEditor::set_properties() ! { ! // begin wxGlade: ActuatorComponentEditor::set_properties ! SetTitle(wxT("Actuator Component Editor")); ! txtEd_Name->SetToolTip(wxT("This is the name of the component. It can be a property name, or a human readable name, such as \"Pitch Feedback PID Control\". In the latter case, the name will be converted internally to a property name. In the given example, this will be \"fcs/pitch-feedback-pid-control\".")); ! txtEd_Name->SetFocus(); ! txtEd_Type->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTION)); ! txtEd_Order->SetToolTip(wxT("This number represents the order in which the component will be \"executed\".")); ! label_clip_min->SetMinSize(wxSize(60, -1)); ! txtEd_MinClip->SetMinSize(wxSize(100,-1)); ! txtEd_MinClip->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTION)); ! txtEd_MinClip->SetToolTip(wxT("This is the minimum value allowed for the component output. ")); ! label_clip_max->SetMinSize(wxSize(60, -1)); ! txtEd_MaxClip->SetMinSize(wxSize(100,-1)); ! txtEd_MaxClip->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTION)); ! txtEd_MaxClip->SetToolTip(wxT("This is the maximum value allowed for the component output. ")); ! button_invert_input->SetMinSize(wxSize(21, 21)); ! button_invert_input->SetToolTip(wxT("Depress this button to invert the input property.")); ! button_invert_input->Enable(false); ! txtEd_InputProperty->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTION)); ! txtEd_InputProperty->SetToolTip(wxT("This is the input property to the component. This is selected via connecting up the components in the editor.")); ! txtEd_OutputProperty->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_INACTIVECAPTION)); ! txtEd_OutputProperty->SetToolTip(wxT("This is the output property to the component. This is selected via connecting up the components in the editor.")); ! button_OK->SetToolTip(wxT("Clicking this button will save the changes made.")); ! button_Cancel->SetToolTip(wxT("Clicking on the Cancel button will abandon changes made.")); ! // end wxGlade ! } ! ! ! void ActuatorComponentEditor::do_layout() ! { ! // begin wxGlade: ActuatorComponentEditor::do_layout ! wxFlexGridSizer* grid_sizer_toplevel = new wxFlexGridSizer(2, 1, 5, 0); ! wxBoxSizer* sizer_buttons = new wxBoxSizer(wxHORIZONTAL); ! wxFlexGridSizer* grid_sizer_2 = new wxFlexGridSizer(5, 1, 5, 0); ! wxStaticBoxSizer* sizer_inout = new wxStaticBoxSizer(sizer_inout_staticbox, wxHORIZONTAL); ! wxFlexGridSizer* grid_sizer_inout = new wxFlexGridSizer(2, 2, 5, 5); ! wxFlexGridSizer* grid_sizer_1 = new wxFlexGridSizer(1, 2, 0, 2); ! wxStaticBoxSizer* sizer_actuator_properties = new wxStaticBoxSizer(sizer_actuator_properties_staticbox, wxVERTICAL); ! wxGridSizer* grid_sizer_7 = new wxGridSizer(4, 2, 3, 3); ! wxStaticBoxSizer* sizer_clip = new wxStaticBoxSizer(sizer_clip_staticbox, wxHORIZONTAL); ! wxFlexGridSizer* grid_sizer_clip = new wxFlexGridSizer(2, 2, 5, 10); ! wxBoxSizer* sizer_clip_min = new wxBoxSizer(wxHORIZONTAL); ! wxStaticBoxSizer* sizer_basic = new wxStaticBoxSizer(sizer_basic_staticbox, wxHORIZONTAL); ! wxFlexGridSizer* grid_sizer_basic_interior = new wxFlexGridSizer(3, 2, 5, 5); ! grid_sizer_basic_interior->Add(label_name, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_basic_interior->Add(txtEd_Name, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_basic_interior->Add(label_type, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_basic_interior->Add(txtEd_Type, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_basic_interior->Add(label_order, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_basic_interior->Add(txtEd_Order, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxFIXED_MINSIZE, 0); ! grid_sizer_basic_interior->AddGrowableCol(1); ! sizer_basic->Add(grid_sizer_basic_interior, 1, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_2->Add(sizer_basic, 1, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_clip->Add(chx_Clip, 0, wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! sizer_clip_min->Add(label_clip_min, 0, wxLEFT|wxRIGHT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); ! sizer_clip_min->Add(txtEd_MinClip, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxFIXED_MINSIZE, 0); ! sizer_clip_min->Add(label_clip_max, 0, wxLEFT|wxRIGHT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); ! sizer_clip_min->Add(txtEd_MaxClip, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxFIXED_MINSIZE, 0); ! grid_sizer_clip->Add(sizer_clip_min, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_clip->AddGrowableCol(1); ! sizer_clip->Add(grid_sizer_clip, 1, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_2->Add(sizer_clip, 1, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(label_7, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(txtEd_Lag, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(label_10, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(txtEd_RateLimit, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(label_11, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(txtEd_Hysteresis, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(label_17, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_7->Add(txtEd_Bias, 0, wxADJUST_MINSIZE, 0); ! sizer_actuator_properties->Add(grid_sizer_7, 1, wxEXPAND, 0); ! grid_sizer_2->Add(sizer_actuator_properties, 1, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_inout->Add(label_1, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_1->Add(button_invert_input, 0, wxADJUST_MINSIZE, 0); ! grid_sizer_1->Add(txtEd_InputProperty, 0, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_1->AddGrowableCol(1); ! grid_sizer_inout->Add(grid_sizer_1, 1, wxEXPAND, 0); ! grid_sizer_inout->Add(label_output_property, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxADJUST_MINSIZE, 0); ! grid_sizer_inout->Add(txtEd_OutputProperty, 0, wxEXPAND|wxADJUST_MINSIZE, 0); ! grid_sizer_inout->AddGrowableCol(1); ! sizer_inout->Add(grid_sizer_inout, 1, wxEXPAND, 0); ! grid_sizer_2->Add(sizer_inout, 1, wxEXPAND, 0); ! notebook_1_pane_1->SetAutoLayout(true); ! notebook_1_pane_1->SetSizer(grid_sizer_2); ! grid_sizer_2->Fit(notebook_1_pane_1); ! grid_sizer_2->SetSizeHints(notebook_1_pane_1); ! grid_sizer_2->AddGrowableCol(0); ! nbk_Properties->AddPage(notebook_1_pane_1, wxT("Properties")); ! nbk_Properties->AddPage(txtEd_Description, wxT("Comments")); ! grid_sizer_toplevel->Add(nbk_Properties, 1, wxEXPAND, 0); ! sizer_buttons->Add(button_OK, 0, wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 5); ! sizer_buttons->Add(button_Cancel, 0, wxLEFT|wxRIGHT, 5); ! sizer_buttons->Add(button_Help, 0, wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 5); ! grid_sizer_toplevel->Add(sizer_buttons, 1, wxALL|wxALIGN_CENTER_HORIZONTAL, 5); ! SetAutoLayout(true); ! SetSizer(grid_sizer_toplevel); ! grid_sizer_toplevel->Fit(this); ! grid_sizer_toplevel->SetSizeHints(this); ! grid_sizer_toplevel->AddGrowableRow(0); ! grid_sizer_toplevel->AddGrowableCol(0); ! Layout(); Centre(); ! // end wxGlade ! } ! /** * Show ========================================================================= *************** *** 244,251 **** */ ! void ActuatorComponentEditor::GetDataIn(Sensor * g) { //name = g->GetName(); ! *txtEd_name << g->GetName(); description = g->GetDescription(); order = wxString::Format(wxT("%ld"), g->GetOrder()); --- 244,251 ---- */ ! void ActuatorComponentEditor::GetDataIn(Actuator * g) { //name = g->GetName(); ! *txtEd_Name << g->GetName(); description = g->GetDescription(); order = wxString::Format(wxT("%ld"), g->GetOrder()); *************** *** 254,258 **** clip_min = g->GetClipMin(); ! *txtEd_order << order; if (clipable) { --- 254,258 ---- clip_min = g->GetClipMin(); ! *txtEd_Order << order; if (clipable) { *************** *** 271,275 **** txtEd_OutputProperty->SetValue(g->GetOutputName()); ! /* if (inputs.GetCount() > 0) { if (inputs[0] != wxT("NULL")) --- 271,280 ---- txtEd_OutputProperty->SetValue(g->GetOutputName()); ! ! txtEd_Lag->SetValue(""); *txtEd_Lag << g->GetLag(); ! txtEd_RateLimit->SetValue(""); *txtEd_RateLimit << g->GetRate_Limit(); ! txtEd_Hysteresis->SetValue(""); *txtEd_Hysteresis << g->GetHysteresis_Width(); ! txtEd_Bias->SetValue(""); *txtEd_Bias << g->GetBias(); ! if (inputs.GetCount() > 0) { if (inputs[0] != wxT("NULL")) *************** *** 284,291 **** } } ! text_ctrl_input_prop->SetValue(inputs[0]); } ! text_ctrl_1->SetValue(g->GetDescription()); ! */ } --- 289,296 ---- } } ! txtEd_InputProperty->SetValue(inputs[0]); } ! txtEd_Description->SetValue(g->GetDescription()); ! } *************** *** 294,302 **** */ ! void ActuatorComponentEditor::SetDataOut(Sensor * g) { g->SetName(txtEd_Name->GetValue()); long int tmpl; order.ToLong(&tmpl); g->SetOrder(tmpl); --- 299,309 ---- */ ! void ActuatorComponentEditor::SetDataOut(Actuator * g) { g->SetName(txtEd_Name->GetValue()); long int tmpl; + double tmp; + order.ToLong(&tmpl); g->SetOrder(tmpl); *************** *** 306,313 **** g->SetClipMin(clip_min); ! g->SetDescription(text_ctrl_1->GetValue()); g->SetInputIsInverted(false); ! if (text_ctrl_input_prop->GetValue() != wxT("NULL")) // true if input prop is present if (button_invert_input->GetValue()) // true if inverted g->SetInputIsInverted(true); --- 313,332 ---- g->SetClipMin(clip_min); ! g->SetDescription(txtEd_Description->GetValue()); ! ! txtEd_Lag->GetValue().ToDouble(&tmp); ! g->SetLag(tmp); ! ! txtEd_RateLimit->GetValue().ToDouble(&tmp); ! g->SetRate_Limit(tmp); ! ! txtEd_Hysteresis->GetValue().ToDouble(&tmp); ! g->SetHysteresis_Width(tmp); ! ! txtEd_Bias->GetValue().ToDouble(&tmp); ! g->SetBias(tmp); g->SetInputIsInverted(false); ! if (txtEd_InputProperty->GetValue() != wxT("NULL")) // true if input prop is present if (button_invert_input->GetValue()) // true if inverted g->SetInputIsInverted(true); Index: gain_dlg.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/gain_dlg.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** gain_dlg.h 30 Apr 2006 23:38:46 -0000 1.1.1.1 --- gain_dlg.h 14 Apr 2007 06:02:48 -0000 1.2 *************** *** 8,17 **** ///////////////////////////////////////////////////////////////////////////// ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface ! #endif #include <wx/wx.h> #include <wx/image.h> // begin wxGlade: ::dependencies #include <wx/notebook.h> --- 8,17 ---- ///////////////////////////////////////////////////////////////////////////// ! #ifndef GAIN_DLG_H ! #define GAIN_DLG_H #include <wx/wx.h> #include <wx/image.h> + // begin wxGlade: ::dependencies #include <wx/notebook.h> *************** *** 19,26 **** // end wxGlade - - #ifndef GAIN_DLG_H - #define GAIN_DLG_H - class Gain; class GainPropertyDialog: public wxDialog --- 19,22 ---- *************** *** 106,109 **** --- 102,106 ---- }; + #include "gain.h" #endif // GAIN_DLG_H Index: actuator.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/actuator.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** actuator.cpp 13 Apr 2007 04:14:19 -0000 1.1 --- actuator.cpp 14 Apr 2007 06:02:48 -0000 1.2 *************** *** 17,24 **** ///////////////////////////////////////////////////////////////////////////// - #ifdef __GNUG__ - // #pragma implementation - #endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" --- 17,20 ---- *************** *** 32,50 **** #endif - #include "wx/deprecated/setup.h" - #if wxUSE_PROLOGIO #include "wx/deprecated/wxexpr.h" #endif - #include "wx/ogl/ogl.h" - - #include "FGXMLElement.h" - #include "MyApp.h" - #include "shape.h" #include "actuator.h" - IMPLEMENT_DYNAMIC_CLASS (Actuator, ComponentShape) --- 28,38 ---- *************** *** 54,59 **** Actuator::Actuator (double w, double h, const wxString & Name ) ! :ComponentShape(w, h, wxT("actuator"), Name), ! Noise(0.0) { SetAttachmentMode (ATTACHMENT_MODE_EDGE); --- 42,46 ---- Actuator::Actuator (double w, double h, const wxString & Name ) ! :ComponentShape(w, h, wxT("actuator"), Name) { SetAttachmentMode (ATTACHMENT_MODE_EDGE); *************** *** 63,67 **** GetAttachments ().Append (new wxAttachmentPoint (1, -w * 0.5, 0.0)); ! // input_sign_list.Append(new bool(false)); InputIsInverted = false; } --- 50,58 ---- GetAttachments ().Append (new wxAttachmentPoint (1, -w * 0.5, 0.0)); ! Lag = 0.0; ! Bias = 0.0; ! Rate_Limit = 0.0; ! Hysteresis_Width = 0.0; ! InputIsInverted = false; } *************** *** 211,215 **** if ( el->FindElement("hysteresis_width")) Hysteresis_Width = el->FindElementValueAsNumber("hysteresis_width"); ! InputIsInverted = *((GetInputSignList().Item(0))->GetData()); return strings; --- 202,206 ---- if ( el->FindElement("hysteresis_width")) Hysteresis_Width = el->FindElementValueAsNumber("hysteresis_width"); ! InputIsInverted = GetInputIsInverted(); return strings; Index: sensor_dlg.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/sensor_dlg.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** sensor_dlg.cpp 30 Mar 2007 04:43:47 -0000 1.3 --- sensor_dlg.cpp 14 Apr 2007 06:02:48 -0000 1.4 *************** *** 27,34 **** // -*- C++ -*- generated by wxGlade 0.4.1 on Sat Jul 15 08:54:44 2006 - #ifdef __GNUG__ - // #pragma implementation - #endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" --- 27,30 ---- *************** *** 38,53 **** #endif - #ifndef WX_PRECOMP - #include <wx/wx.h> - #endif - #include <wx/valtext.h> #include <wx/valgen.h> - #include "shape.h" - #include "sensor.h" #include "sensor_dlg.h" ! #include "Property_Diag.h" ! #include "MyApp.h" // All non-MSW platforms use an xpm. MSW uses an .ico file --- 34,43 ---- #endif #include <wx/valtext.h> #include <wx/valgen.h> #include "sensor_dlg.h" ! //#include "Property_Diag.h" ! //#include "MyApp.h" // All non-MSW platforms use an xpm. MSW uses an .ico file Index: doc.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/doc.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** doc.h 9 Jul 2006 04:42:09 -0000 1.2 --- doc.h 14 Apr 2007 06:02:48 -0000 1.3 *************** *** 11,18 **** #define _FCSBUILDER_DOC_H_ - #if defined(__GNUG__) && !defined(__APPLE__) - // #pragma interface - #endif - #include <vector> --- 11,14 ---- Index: sensor.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/sensor.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** sensor.h 30 Mar 2007 04:43:47 -0000 1.4 --- sensor.h 14 Apr 2007 06:02:48 -0000 1.5 *************** *** 11,21 **** #define _FCSBUILDER_SENSOR_H_ ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface #endif ! /* ! * FGSensor Componment ! */ class Sensor: public ComponentShape --- 11,19 ---- #define _FCSBUILDER_SENSOR_H_ ! #ifndef WX_PRECOMP ! #include <wx/wx.h> #endif ! #include "shape.h" class Sensor: public ComponentShape Index: condition.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/condition.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** condition.h 30 Apr 2006 23:38:42 -0000 1.1.1.1 --- condition.h 14 Apr 2007 06:02:48 -0000 1.2 *************** *** 12,24 **** #define _FCSBUILDER_CONDITION_H_ ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface #endif extern wxString alias(wxString value, wxArrayString & array); - /* - * FGCondition - */ class Condition; WX_DECLARE_LIST(Condition,ConditionList); --- 12,21 ---- #define _FCSBUILDER_CONDITION_H_ ! #ifndef WX_PRECOMP ! #include <wx/wx.h> #endif extern wxString alias(wxString value, wxArrayString & array); class Condition; WX_DECLARE_LIST(Condition,ConditionList); Index: pid.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/pid.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** pid.h 14 Jul 2006 01:42:08 -0000 1.4 --- pid.h 14 Apr 2007 06:02:48 -0000 1.5 *************** *** 11,21 **** #define _FCSBUILDER_PID_H_ ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface #endif ! /* ! * FGPID Componment ! */ class PID: public ComponentShape --- 11,19 ---- #define _FCSBUILDER_PID_H_ ! #ifndef WX_PRECOMP ! #include <wx/wx.h> #endif ! #include "shape.h" class PID: public ComponentShape Index: func.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/func.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** func.h 30 Apr 2006 23:38:44 -0000 1.1.1.1 --- func.h 14 Apr 2007 06:02:48 -0000 1.2 *************** *** 12,19 **** #define _FCSBUILDER_FCSFUNCTION_H_ ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface #endif class TreeItemData_function; #include <wx/treectrl.h> --- 12,21 ---- #define _FCSBUILDER_FCSFUNCTION_H_ ! #ifndef WX_PRECOMP ! #include <wx/wx.h> #endif + #include "shape.h" + class TreeItemData_function; #include <wx/treectrl.h> Index: sensor_dlg.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/sensor_dlg.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** sensor_dlg.h 23 Feb 2007 04:02:20 -0000 1.1 --- sensor_dlg.h 14 Apr 2007 06:02:48 -0000 1.2 *************** *** 10,19 **** // -*- C++ -*- generated by wxGlade 0.4.1 on Sat Jul 15 08:54:44 2006 - #include <wx/wx.h> - #include <wx/image.h> - #ifndef SENSORCOMPONENTEDITOR_H #define SENSORCOMPONENTEDITOR_H // begin wxGlade: ::dependencies #include <wx/notebook.h> --- 10,19 ---- // -*- C++ -*- generated by wxGlade 0.4.1 on Sat Jul 15 08:54:44 2006 #ifndef SENSORCOMPONENTEDITOR_H #define SENSORCOMPONENTEDITOR_H + #include <wx/wx.h> + #include <wx/image.h> + // begin wxGlade: ::dependencies #include <wx/notebook.h> *************** *** 112,118 **** wxString clip_min; - }; // wxGlade: end class #endif // SENSORCOMPONENTEDITOR_H --- 112,118 ---- wxString clip_min; }; // wxGlade: end class + #include "sensor.h" #endif // SENSORCOMPONENTEDITOR_H Index: doc.cpp =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/doc.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** doc.cpp 4 Mar 2007 08:13:57 -0000 1.10 --- doc.cpp 14 Apr 2007 06:02:48 -0000 1.11 *************** *** 41,44 **** --- 41,46 ---- #include "pid.h" #include "pid_dlg.h" + #include "actuator.h" + #include "actuator_dlg.h" #include "gain.h" #include "gain_dlg.h" *************** *** 49,55 **** #include "switch.h" #include "switch_dlg.h" - #include "kinemat.h" #include "sensor.h" #include "sensor_dlg.h" #include "kinemat_dlg.h" #include "fcsprop_dlg.h" --- 51,57 ---- #include "switch.h" #include "switch_dlg.h" #include "sensor.h" #include "sensor_dlg.h" + #include "kinemat.h" #include "kinemat_dlg.h" #include "fcsprop_dlg.h" *************** *** 60,65 **** #include "func.h" #include "func_dlg.h" - #include "sensor.h" - #include "sensor_dlg.h" BEGIN_EVENT_TABLE (DiagramDocument, wxPanel) --- 62,65 ---- *************** *** 622,626 **** //TODO wxArrayString list; ! GainPropertyDialog dlg((Gain *)theShape, list, this, wxID_ANY, _("Gain Componment")); if ( dlg.ShowModal() == wxID_OK ) { --- 622,626 ---- //TODO wxArrayString list; ! GainPropertyDialog dlg((Gain *)theShape, list, this, wxID_ANY, _("Gain Component")); if ( dlg.ShowModal() == wxID_OK ) { *************** *** 638,642 **** else if (theShape->IsKindOf (CLASSINFO (PID))) { ! PIDPropertyDialog dlg((PID *)theShape, this,wxID_ANY,_("PID Componment")); if ( dlg.ShowModal() == wxID_OK ) { --- 638,642 ---- else if (theShape->IsKindOf (CLASSINFO (PID))) { ! PIDPropertyDialog dlg((PID *)theShape, this,wxID_ANY,_("PID Component")); if ( dlg.ShowModal() == wxID_OK ) { *************** *** 646,650 **** else if (theShape->IsKindOf (CLASSINFO (Sensor))) { ! SensorComponentEditor dlg((Sensor *)theShape, this,wxID_ANY,_("Sensor Componment")); if ( dlg.ShowModal() == wxID_OK ) { --- 646,650 ---- else if (theShape->IsKindOf (CLASSINFO (Sensor))) { ! SensorComponentEditor dlg((Sensor *)theShape, this,wxID_ANY,_("Sensor Component")); if ( dlg.ShowModal() == wxID_OK ) { *************** *** 653,659 **** } else if (theShape->IsKindOf (CLASSINFO (Filter))) { ! FilterPropertyDialog dlg((Filter *)theShape, this,wxID_ANY,_("Filter Componment")); if ( dlg.ShowModal() == wxID_OK ) { --- 653,668 ---- } + else if (theShape->IsKindOf (CLASSINFO (Actuator))) + { + ActuatorComponentEditor dlg((Actuator *)theShape, this,wxID_ANY,_("Actuator Component")); + if ( dlg.ShowModal() == wxID_OK ) + { + dlg.SetDataOut((Actuator *)theShape); + } + } + else if (theShape->IsKindOf (CLASSINFO (Filter))) { ! FilterPropertyDialog dlg((Filter *)theShape, this,wxID_ANY,_("Filter Component")); if ( dlg.ShowModal() == wxID_OK ) { *************** *** 663,667 **** else if (theShape->IsKindOf (CLASSINFO (DeadBand))) { ! DeadBandPropertyDialog dlg((DeadBand *)theShape, this,wxID_ANY,_("DeadBand Componment")); if ( dlg.ShowModal() == wxID_OK ) { --- 672,676 ---- else if (theShape->IsKindOf (CLASSINFO (DeadBand))) { ! DeadBandPropertyDialog dlg((DeadBand *)theShape, this,wxID_ANY,_("DeadBand Component")); if ( dlg.ShowModal() == wxID_OK ) { *************** *** 671,675 **** else if (theShape->IsKindOf (CLASSINFO (Switch))) { ! SwitchPropertyDialog dlg((Switch *)theShape, this,wxID_ANY,_("Switch Componment")); if ( dlg.ShowModal() == wxID_OK ) { --- 680,684 ---- else if (theShape->IsKindOf (CLASSINFO (Switch))) { ! SwitchPropertyDialog dlg((Switch *)theShape, this,wxID_ANY,_("Switch Component")); if ( dlg.ShowModal() == wxID_OK ) { *************** *** 679,683 **** else if (theShape->IsKindOf (CLASSINFO (Kinemat))) { ! KinematPropertyDialog dlg((Kinemat *)theShape, this,wxID_ANY,_("Kinemat Componment")); if ( dlg.ShowModal() == wxID_OK ) { --- 688,692 ---- else if (theShape->IsKindOf (CLASSINFO (Kinemat))) { ! KinematPropertyDialog dlg((Kinemat *)theShape, this,wxID_ANY,_("Kinemat Component")); if ( dlg.ShowModal() == wxID_OK ) { Index: actuator_dlg.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/actuator_dlg.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** actuator_dlg.h 13 Apr 2007 04:14:19 -0000 1.1 --- actuator_dlg.h 14 Apr 2007 06:02:48 -0000 1.2 *************** *** 8,87 **** ///////////////////////////////////////////////////////////////////////////// ! // -*- C++ -*- generated by wxGlade 0.4.1 on Fri Apr 06 07:40:41 2007 ! ! #include <wx/wx.h> ! #include <wx/image.h> ! // begin wxGlade: ::dependencies ! #include <wx/notebook.h> ! #include <wx/tglbtn.h> ! // end wxGlade ! ! ! #ifndef ACTUATORCOMPONENTEDITOR_H ! #define ACTUATORCOMPONENTEDITOR_H ! ! class Actuator; ! ! class ActuatorComponentEditor: public wxDialog { ! public: ! // begin wxGlade: ActuatorComponentEditor::ids ! // end wxGlade ! ! ActuatorComponentEditor(Actuator *actuator, wxWindow* parent, int id, const wxString& title, const wxPoint& pos=wxDefaultPosition, const wxSize& size=wxDefaultSize, long style=wxDEFAULT_DIALOG_STYLE); ! ! private: ! // begin wxGlade: ActuatorComponentEditor::methods ! void set_properties(); ! void do_layout(); ! // end wxGlade ! ! protected: ! // begin wxGlade: ActuatorComponentEditor::attributes ! wxStaticBox* sizer_inout_staticbox; ! wxStaticBox* sizer_actuator_properties_staticbox; ! wxStaticBox* sizer_clip_staticbox; ! wxStaticBox* sizer_basic_staticbox; ! wxStaticText* label_name; ! wxTextCtrl* txtEd_Name; ! wxStaticText* label_type; ! wxTextCtrl* txtEd_Type; ! wxStaticText* label_order; ! wxTextCtrl* txtEd_Order; ! wxCheckBox* chx_Clip; ! wxStaticText* label_clip_min; ! wxTextCtrl* txtEd_MinClip; ! wxStaticText* label_clip_max; ! wxTextCtrl* txtEd_MaxClip; ! wxStaticText* label_7; ! wxTextCtrl* txtEd_Lag; ! wxStaticText* label_10; ! wxTextCtrl* txtEd_RateLimit; ! wxStaticText* label_11; ! wxTextCtrl* txtEd_Hysteresis; ! wxStaticText* label_17; ! wxTextCtrl* txtEd_Bias; ! wxStaticText* label_1; ! wxToggleButton* button_invert_input; ! wxTextCtrl* txtEd_InputProperty; ! wxStaticText* label_output_property; ! wxTextCtrl* txtEd_OutputProperty; ! wxPanel* notebook_1_pane_1; ! wxTextCtrl* txtEd_Description; ! wxNotebook* nbk_Properties; ! wxButton* button_OK; ! wxButton* button_Cancel; ! wxButton* button_Help; ! // end wxGlade ! ! DECLARE_EVENT_TABLE(); ! ! public: ! void OnCheckboxClip(wxCommandEvent &event); // wxGlade: <event_handler> ! void OnClickInvertInput(wxCommandEvent &event); // wxGlade: <event_handler> ! void OnButtonPressOK(wxCommandEvent &event); // wxGlade: <event_handler> ! void OnButtonPressCancel(wxCommandEvent &event); // wxGlade: <event_handler> ! void OnButtonPressHelp(wxCommandEvent &event); // wxGlade: <event_handler> ! }; // wxGlade: end class ! ! ! #endif // ACTUATORCOMPONENTEDITOR_H --- 8,101 ---- ///////////////////////////////////////////////////////////////////////////// ! // -*- C++ -*- generated by wxGlade 0.4.1 on Fri Apr 06 07:40:41 2007 ! ! #ifndef ACTUATORCOMPONENTEDITOR_H ! #define ACTUATORCOMPONENTEDITOR_H ! ! #include <wx/wx.h> ! #include <wx/image.h> ! ! // begin wxGlade: ::dependencies ! #include <wx/notebook.h> ! #include <wx/tglbtn.h> ! // end wxGlade ! ! class Actuator; ! ! class ActuatorComponentEditor: public wxDialog { ! public: ! // begin wxGlade: ActuatorComponentEditor::ids ! // end wxGlade ! ! ActuatorComponentEditor(Actuator *actuator, wxWindow* parent, int id, const wxString& title, const wxPoint& pos=wxDefaultPosition, const wxSize& size=wxDefaultSize, long style=wxDEFAULT_DIALOG_STYLE); ! ! private: ! // begin wxGlade: ActuatorComponentEditor::methods ! void set_properties(); ! void do_layout(); ! // end wxGlade ! ! protected: ! // begin wxGlade: ActuatorComponentEditor::attributes ! wxStaticBox* sizer_inout_staticbox; ! wxStaticBox* sizer_actuator_properties_staticbox; ! wxStaticBox* sizer_clip_staticbox; ! wxStaticBox* sizer_basic_staticbox; ! wxStaticText* label_name; ! wxTextCtrl* txtEd_Name; ! wxStaticText* label_type; ! wxTextCtrl* txtEd_Type; ! wxStaticText* label_order; ! wxTextCtrl* txtEd_Order; ! wxCheckBox* chx_Clip; ! wxStaticText* label_clip_min; ! wxTextCtrl* txtEd_MinClip; ! wxStaticText* label_clip_max; ! wxTextCtrl* txtEd_MaxClip; ! wxStaticText* label_7; ! wxTextCtrl* txtEd_Lag; ! wxStaticText* label_10; ! wxTextCtrl* txtEd_RateLimit; ! wxStaticText* label_11; ! wxTextCtrl* txtEd_Hysteresis; ! wxStaticText* label_17; ! wxTextCtrl* txtEd_Bias; ! wxStaticText* label_1; ! wxToggleButton* button_invert_input; ! wxTextCtrl* txtEd_InputProperty; ! wxStaticText* label_output_property; ! wxTextCtrl* txtEd_OutputProperty; ! wxPanel* notebook_1_pane_1; ! wxTextCtrl* txtEd_Description; ! wxNotebook* nbk_Properties; ! wxButton* button_OK; ! wxButton* button_Cancel; ! wxButton* button_Help; ! // end wxGlade ! ! DECLARE_EVENT_TABLE(); ! ! public: ! void OnCheckboxClip(wxCommandEvent &event); // wxGlade: <event_handler> ! void OnClickInvertInput(wxCommandEvent &event); // wxGlade: <event_handler> ! void OnButtonPressOK(wxCommandEvent &event); // wxGlade: <event_handler> ! void OnButtonPressCancel(wxCommandEvent &event); // wxGlade: <event_handler> ! void OnButtonPressHelp(wxCommandEvent &event); // wxGlade: <event_handler> ! ! void GetDataIn(Actuator * g); ! void SetDataOut(Actuator * g); ! bool Show(bool); ! ! private: ! wxString name; ! wxString description; ! wxString order; ! bool clipable; ! wxString clip_max; ! wxString clip_min; ! ! }; // wxGlade: end class ! ! #include "actuator.h" ! ! #endif // ACTUATORCOMPONENTEDITOR_H Index: gain.h =================================================================== RCS file: /cvsroot/jsbsimcommander/src/gui/gain.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gain.h 6 Jul 2006 07:21:59 -0000 1.2 --- gain.h 14 Apr 2007 06:02:48 -0000 1.3 *************** *** 12,19 **** #define _FCSBUILDER_GAIN_H_ ! #if defined(__GNUG__) && !defined(__APPLE__) ! // #pragma interface #endif struct MyPair { --- 12,21 ---- #define _FCSBUILDER_GAIN_H_ ! #ifndef WX_PRECOMP ! #include <wx/wx.h> #endif + #include "shape.h" + struct MyPair { *************** *** 24,31 **** WX_DECLARE_LIST(MyPair,MyPairList); - /* - * FGGAIN Componment - */ - class Gain: public ComponentShape { --- 26,29 ---- |
From: Jon S. B. <jb...@us...> - 2007-04-14 06:02:54
|
Update of /cvsroot/jsbsimcommander/src/bitmaps In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv727/src/bitmaps Modified Files: Makefile.am Added Files: actuator.bmp actuator.xpm Log Message: More refinements to the actuator dialog --- NEW FILE: actuator.bmp --- (This appears to be a binary file; contents omitted.) Index: Makefile.am =================================================================== RCS file: /cvsroot/jsbsimcommander/src/bitmaps/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Makefile.am 23 Feb 2007 13:34:10 -0000 1.4 --- Makefile.am 14 Apr 2007 06:02:48 -0000 1.5 *************** *** 66,69 **** operator_not.bmp operator_ifthen.bmp ogl.ico\ pid.xpm pid.bmp sensor.xpm \ ! sensor.bmp ! --- 66,68 ---- operator_not.bmp operator_ifthen.bmp ogl.ico\ pid.xpm pid.bmp sensor.xpm \ ! sensor.bmp actuator.bmp actuator.xpm \ No newline at end of file --- NEW FILE: actuator.xpm --- /* XPM */ static char * actuator_xpm[] = { "32 32 103 2", " c #FFFFFF", ". c #FEFEFE", "+ c #FCFCFC", "@ c #F4F4F4", "# c #F2F2F2", "$ c #F8F8F8", "% c #FBFBFB", "& c #D9D9D9", "* c #949494", "= c #808080", "- c #848484", "; c #B5B5B5", "> c #F1F1F1", ", c #DCDCDC", "' c #DADADA", ") c #E9E9E9", "! c #FAFAFA", "~ c #FDFDFD", "{ c #777777", "] c #2C2C2C", "^ c #333333", "/ c #2A2A2A", "( c #474747", "_ c #ACACAC", ": c #D0D0D0", "< c #8A8A8A", "[ c #818181", "} c #8C8C8C", "| c #979797", "1 c #989898", "2 c #A5A5A5", "3 c #D6D6D6", "4 c #DEDEDE", "5 c #F6F6F6", "6 c #F9F9F9", "7 c #464646", "8 c #9A9A9A", "9 c #747474", "0 c #525252", "a c #C8C8C8", "b c #CCCCCC", "c c #E0E0E0", "d c #CFCFCF", "e c #B6B6B6", "f c #B8B8B8", "g c #A7A7A7", "h c #838383", "i c #828282", "j c #8E8E8E", "k c #C7C7C7", "l c #969696", "m c #8D8D8D", "n c #A0A0A0", "o c #C6C6C6", "p c #ECECEC", "q c #5C5C5C", "r c #404040", "s c #D7D7D7", "t c #EFEFEF", "u c #EEEEEE", "v c #ADADAD", "w c #898989", "x c #757575", "y c #4C4C4C", "z c #868686", "A c #B4B4B4", "B c #ABABAB", "C c #424242", "D c #EAEAEA", "E c #E3E3E3", "F c #BEBEBE", "G c #A2A2A2", "H c #B9B9B9", "I c #909090", "J c #BCBCBC", "K c #7A7A7A", "L c #BFBFBF", "M c #9B9B9B", "N c #3F3F3F", "O c #414141", "P c #D8D8D8", "Q c #A4A4A4", "R c #E8E8E8", "S c #D3D3D3", "T c #CACACA", "U c #CBCBCB", "V c #E2E2E2", "W c #CECECE", "X c #F3F3F3", "Y c #858585", "Z c #E7E7E7", "` c #A8A8A8", " . c #919191", ".. c #A9A9A9", "+. c #A6A6A6", "@. c #D4D4D4", "#. c #EDEDED", "$. c #4F4F4F", "%. c #9D9D9D", "&. c #DDDDDD", "*. c #5A5A5A", "=. c #C0C0C0", "-. c #E1E1E1", " ", " ", " ", " ", " ", " ", " ", " . . . . . ", " . + @ # # $ . . . . . ", " % & * = - ; > # , ' ) $ ! ! ! ~ . . . . ", " + ' { ] ^ / ( _ : < [ } | 1 1 2 3 & & 4 5 ! ! 6 ! + . . ", " . @ * ] 7 8 9 / 0 a b c d e ; ; f g h i j k ; l m n o c 6 ", " . # [ ^ 8 p : q r k s t ~ + % ! 6 u & 3 : v w x 7 y z A > . ", " . # - / 9 : B C C k 3 p p D E F e f j h G n 1 H I J u ! . ", " $ ; ( / q C / K b _ ; j h G n 8 L ' ' D 6 6 > M ' . ", " . # v 0 N O K P 4 Q L ' ' D 6 ! + . . . . 4 < R . ", " . # S T U V % + ! + . . . . W G 6 ", " . ~ ~ ~ ~ . ! G ; + ", " . R w , . ", " . W | @ ", " + . X l ; + ", " % S D e Y Z . ", " . D ` a i d ~ ", " . S Q ...5 . ", " ! +.= [ @.#.. ", " . Z q $.%.` S + ", " . &.*.Y =.) % ", " $ -.X + . ", " . . . ", " ", " ", " "}; |