[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Eliot-dev] eliot INSTALL Makefile.am configure.in extras/c...
From: |
Olivier Teulière |
Subject: |
[Eliot-dev] eliot INSTALL Makefile.am configure.in extras/c... |
Date: |
Mon, 08 Dec 2008 21:45:34 +0000 |
CVSROOT: /cvsroot/eliot
Module name: eliot
Changes by: Olivier Teulière <ipkiss> 08/12/08 21:45:34
Modified files:
. : INSTALL Makefile.am configure.in
extras/contrib : Makefile
po : POTFILES.in eliot.pot fr.po
Removed files:
m4 : wxwin.m4
wxwin : .cvsignore Makefile.am auxframes.cc auxframes.h
confdimdlg.cc confdimdlg.h configdb.cc
configdb.h confsearch.cc confsearch.h eliot.ico
eliot.xpm ewx.h gfxboard.cc gfxboard.h
gfxresult.cc gfxresult.h main.cc mainframe.cc
mainframe.h printout.cc printout.h
searchpanel.cc searchpanel.h
Log message:
Remove the wxWidgets interface completely
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/eliot/INSTALL?cvsroot=eliot&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/eliot/Makefile.am?cvsroot=eliot&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/eliot/configure.in?cvsroot=eliot&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/eliot/extras/contrib/Makefile?cvsroot=eliot&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/eliot/m4/wxwin.m4?cvsroot=eliot&r1=1.2&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/po/POTFILES.in?cvsroot=eliot&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/eliot/po/eliot.pot?cvsroot=eliot&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/eliot/po/fr.po?cvsroot=eliot&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/.cvsignore?cvsroot=eliot&r1=1.2&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/Makefile.am?cvsroot=eliot&r1=1.14&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/auxframes.cc?cvsroot=eliot&r1=1.26&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/auxframes.h?cvsroot=eliot&r1=1.10&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/confdimdlg.cc?cvsroot=eliot&r1=1.10&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/confdimdlg.h?cvsroot=eliot&r1=1.3&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/configdb.cc?cvsroot=eliot&r1=1.9&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/configdb.h?cvsroot=eliot&r1=1.6&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/confsearch.cc?cvsroot=eliot&r1=1.10&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/confsearch.h?cvsroot=eliot&r1=1.4&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/eliot.ico?cvsroot=eliot&r1=1.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/eliot.xpm?cvsroot=eliot&r1=1.1&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/ewx.h?cvsroot=eliot&r1=1.12&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/gfxboard.cc?cvsroot=eliot&r1=1.11&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/gfxboard.h?cvsroot=eliot&r1=1.7&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/gfxresult.cc?cvsroot=eliot&r1=1.8&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/gfxresult.h?cvsroot=eliot&r1=1.4&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/main.cc?cvsroot=eliot&r1=1.12&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/mainframe.cc?cvsroot=eliot&r1=1.25&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/mainframe.h?cvsroot=eliot&r1=1.8&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/printout.cc?cvsroot=eliot&r1=1.12&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/printout.h?cvsroot=eliot&r1=1.6&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/searchpanel.cc?cvsroot=eliot&r1=1.19&r2=0
http://cvs.savannah.gnu.org/viewcvs/eliot/wxwin/searchpanel.h?cvsroot=eliot&r1=1.5&r2=0
Patches:
Index: INSTALL
===================================================================
RCS file: /cvsroot/eliot/eliot/INSTALL,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- INSTALL 6 Sep 2008 20:06:58 -0000 1.12
+++ INSTALL 8 Dec 2008 21:45:27 -0000 1.13
@@ -28,14 +28,12 @@
There are in fact several interfaces to Eliot:
- one in text mode: mostly useful to debug Eliot
- one using the ncursesw library: nice and complete, but not really graphical
- - a wxWidgets interface: working, but it does not allow multiplayer
- modes, only training mode. This interface will disappear in version 1.8.
- a Qt interface: the best interface to use, it supports all the features.
This one is enabled by default if Qt development files are detected, but
you can force it with --enable-qt
These interfaces can be enabled or disabled at configuration time. Example:
- ./configure --disable-text --enable-ncurses --disable-wxwidgets --enable-qt
+ ./configure --disable-text --enable-ncurses --enable-qt
@@ -58,7 +56,7 @@
cd extras/contrib && make all
- Eliot dependencies (libiconv, boost, wxWidgets and Qt) will be downloaded
+ Eliot dependencies (libiconv, boost, and Qt) will be downloaded
and cross-compiled (except Qt, which is already compiled).
The dependencies are installed in 'extras/contrib/inst'
@@ -80,7 +78,6 @@
CPPFLAGS=-I${INST}/include LDFLAGS=-L${INST}/lib \
CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++ \
./configure --host=i586-mingw32msvc --build=i386-linux \
- --enable-wxwidgets --with-wx-config=${INST}/bin/wx-config \
--with-boost=${INST}
- to compile, run 'make', possibly followed with 'make install'
Index: Makefile.am
===================================================================
RCS file: /cvsroot/eliot/eliot/Makefile.am,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- Makefile.am 22 Sep 2008 21:21:38 -0000 1.11
+++ Makefile.am 8 Dec 2008 21:45:27 -0000 1.12
@@ -1,4 +1,4 @@
-SUBDIRS = intl dic game utils wxwin qt po extras
+SUBDIRS = intl dic game utils qt po extras
ACLOCAL_AMFLAGS = -I m4
@@ -18,7 +18,7 @@
mkdir -p $(WIN32_PACKAGE_DIR)
# Copy the binaries and strip them
- cp $(top_builddir)/wxwin/wxeliot$(EXEEXT)
$(top_builddir)/dic/compdic$(EXEEXT) $(top_builddir)/dic/listdic$(EXEEXT)
$(top_builddir)/qt/eliot$(EXEEXT) $(WIN32_PACKAGE_DIR)
+ cp $(top_builddir)/dic/compdic$(EXEEXT)
$(top_builddir)/dic/listdic$(EXEEXT) $(top_builddir)/qt/eliot$(EXEEXT)
$(WIN32_PACKAGE_DIR)
$(STRIP) $(WIN32_PACKAGE_DIR)/*
# Copy the i18n files
Index: configure.in
===================================================================
RCS file: /cvsroot/eliot/eliot/configure.in,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- configure.in 22 Nov 2008 14:40:25 -0000 1.31
+++ configure.in 8 Dec 2008 21:45:27 -0000 1.32
@@ -9,7 +9,6 @@
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
AC_CANONICAL_BUILD
-AM_OPTIONS_WXCONFIG
dnl --------------------------------------------------------------
dnl Checks for programs.
@@ -113,29 +112,6 @@
AC_DEFINE(HAVE_LIBCONFIG, 1, [Define to 1 if you have the
libconfig library])],
[has_libconfig=0])
-dnl Check for wxWidgets
-AC_ARG_ENABLE([wxwidgets],AC_HELP_STRING([--enable-wxwidgets],[wxWidgets
interface support (default disabled)]))
-if test "${enable_wxwidgets}" = "yes"
-then
- AM_PATH_WXCONFIG(2.6.0, [wxWin=1], [wxWin=0], [], [--unicode])
- if test "${wxWin}" != 1; then
- AC_MSG_ERROR([
- wxWidgets (unicode build) must be installed on your system
- but wx-config script couldn't be found.
-
- Please check that wx-config is in path, the directory
- where wxWidgets libraries are installed (returned by
- 'wx-config --libs' command) is in LD_LIBRARY_PATH or
- equivalent variable and wxWidgets version is 2.6.0 or above.
- ])
- fi
- AM_CPPFLAGS="$AM_CPPFLAGS $WX_CPPFLAGS"
- AM_CXXFLAGS="$AM_CXXFLAGS $WX_CXXFLAGS_ONLY"
- AM_CFLAGS="$AM_CFLAGS $WX_CFLAGS_ONLY"
- AM_LDFLAGS="$AM_LDFLAGS $WX_LIBS"
-fi
-AM_CONDITIONAL([BUILD_WXWIDGETS], [test "${wxWin}" = "1"])
-
dnl Check for ncurses
dnl We enable it if asked by the user, or if ncursesw is found
AC_ARG_ENABLE([ncurses],AC_HELP_STRING([--enable-ncurses],
@@ -209,7 +185,6 @@
dic/Makefile
game/Makefile
utils/Makefile
-wxwin/Makefile
qt/Makefile
extras/Makefile
Makefile)
Index: extras/contrib/Makefile
===================================================================
RCS file: /cvsroot/eliot/eliot/extras/contrib/Makefile,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- extras/contrib/Makefile 22 Sep 2008 21:21:42 -0000 1.3
+++ extras/contrib/Makefile 8 Dec 2008 21:45:28 -0000 1.4
@@ -1,6 +1,5 @@
ICONV_VERSION = 1.12
LIBCONFIG_VERSION = 1.3.1
-WX_VERSION = 2.6.4
BOOST_VERSION = 1_34_1
QT_VERSION = 4.4.1
@@ -15,7 +14,7 @@
.PHONY: help all
-all: .iconv .wxWidgets .boost .qt .libconfig
+all: .iconv .boost .qt .libconfig
help:
@echo "Usage: make all"
@@ -49,23 +48,6 @@
touch $@
-### wxWidgets ###
-
-WX_ARCHIVE = wxMSW-$(WX_VERSION).zip
-WX_DIR = wxWidgets-$(WX_VERSION)
-WX_DOS_FILES = config* *.sh install-sh mkinstalldirs
-
-$(WX_DIR):
- $(WGET)
http://heanet.dl.sourceforge.net/sourceforge/wxwindows/$(WX_ARCHIVE)
- unzip $(WX_ARCHIVE)
-
-.wxWidgets: $(WX_DIR)
- (cd $< && dos2unix $(WX_DOS_FILES) && chmod +x $(WX_DOS_FILES))
- (cd $< && $(CONFIGURE) --disable-shared --enable-optimise
--disable-debug --enable-unicode --without-libtiff --without-expat
--without-zlib --without-libpng --without-libjpeg --without-regex
--disable-mediactrl && make && make install)
- dos2unix $(PREFIX)/bin/wx-config
- touch $@
-
-
### Boost ###
BOOST_DIR = boost_$(BOOST_VERSION)
Index: po/POTFILES.in
===================================================================
RCS file: /cvsroot/eliot/eliot/po/POTFILES.in,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- po/POTFILES.in 31 Aug 2008 11:48:16 -0000 1.6
+++ po/POTFILES.in 8 Dec 2008 21:45:28 -0000 1.7
@@ -15,12 +15,19 @@
dic/compdic.cpp
dic/listdic.cpp
dic/regexpmain.cpp
+game/ai_percent.cpp
+game/ai_percent.h
+game/ai_player.h
game/bag.cpp
game/bag.h
game/board.cpp
-game/board.h
game/board_cross.cpp
+game/board.h
game/board_search.cpp
+game/command.cpp
+game/command.h
+game/coord.cpp
+game/coord.h
game/cross.cpp
game/cross.h
game/debug.h
@@ -29,47 +36,51 @@
game/freegame.cpp
game/freegame.h
game/game.cpp
+game/game_exception.cpp
+game/game_exception.h
+game/game_factory.cpp
+game/game_factory.h
game/game.h
game/game_io.cpp
+game/game_move_cmd.cpp
+game/game_move_cmd.h
game/history.cpp
game/history.h
+game/move.cpp
+game/move.h
+game/navigation.cpp
+game/navigation.h
game/player.cpp
game/player.h
+game/player_move_cmd.cpp
+game/player_move_cmd.h
+game/player_points_cmd.cpp
+game/player_points_cmd.h
+game/player_rack_cmd.cpp
+game/player_rack_cmd.h
game/pldrack.cpp
game/pldrack.h
+game/public_game.cpp
+game/public_game.h
game/rack.cpp
game/rack.h
game/results.cpp
game/results.h
game/round.cpp
game/round.h
+game/settings.cpp
+game/settings.h
game/training.cpp
game/training.h
+game/turn_cmd.cpp
+game/turn_cmd.h
+game/turn.cpp
+game/turn.h
# utils/eliottxt.cpp
utils/game_io.h
utils/game_io.cpp
utils/ncurses.cpp
utils/ncurses.h
-wxwin/auxframes.h
-wxwin/auxframes.cc
-wxwin/confdimdlg.h
-wxwin/confdimdlg.cc
-wxwin/configdb.h
-wxwin/configdb.cc
-wxwin/confsearch.h
-wxwin/confsearch.cc
-wxwin/ewx.h
-wxwin/gfxboard.h
-wxwin/gfxboard.cc
-wxwin/gfxresult.h
-wxwin/gfxresult.cc
-wxwin/main.cc
-wxwin/mainframe.h
-wxwin/mainframe.cc
-wxwin/printout.h
-wxwin/printout.cc
-wxwin/searchpanel.h
-wxwin/searchpanel.cc
qt/aux_window.cpp
qt/aux_window.h
qt/bag_widget.cpp
Index: po/eliot.pot
===================================================================
RCS file: /cvsroot/eliot/eliot/po/eliot.pot,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- po/eliot.pot 22 Nov 2008 14:40:26 -0000 1.19
+++ po/eliot.pot 8 Dec 2008 21:45:28 -0000 1.20
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-11-16 10:29+0100\n"
+"POT-Creation-Date: 2008-12-08 22:07+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <address@hidden>\n"
"Language-Team: LANGUAGE <address@hidden>\n"
@@ -264,173 +264,177 @@
msgid "result:"
msgstr ""
-#: dic/regexpmain.cpp:108 wxwin/searchpanel.cc:296
+#: dic/regexpmain.cpp:108
msgid "Invalid regular expression: "
msgstr ""
-#: game/game.cpp:468
+#: game/game.cpp:232
msgid "The bag is empty"
msgstr ""
-#: game/game.cpp:475 game/game.cpp:485
+#: game/game.cpp:239 game/game.cpp:249
msgid "Not enough vowels or consonants to complete the rack"
msgstr ""
-#: game/training.cpp:49 qt/new_game.cpp:97 qt/new_game.cpp:105
-#: qt/new_game.cpp:140 qt/ui/new_game.ui:46
+#: game/game_factory.cpp:148
+#, c-format
+msgid "Player %u"
+msgstr ""
+
+#: game/training.cpp:52 qt/new_game.cpp:98 qt/new_game.cpp:107
+#: qt/new_game.cpp:142 qt/ui/new_game.ui:46
msgid "Training"
msgstr ""
-#: utils/ncurses.cpp:282
+#: utils/ncurses.cpp:283
msgid "Scores"
msgstr ""
-#: utils/ncurses.cpp:286 utils/ncurses.cpp:291
+#: utils/ncurses.cpp:287 utils/ncurses.cpp:293
#, c-format
msgid "%s: %d"
msgstr ""
-#: utils/ncurses.cpp:303
+#: utils/ncurses.cpp:305
msgid "Racks"
msgstr ""
-#: utils/ncurses.cpp:307 utils/ncurses.cpp:313
+#: utils/ncurses.cpp:309 utils/ncurses.cpp:315
#, c-format
msgid "%s: %ls"
msgstr ""
-#: utils/ncurses.cpp:327 utils/ncurses.cpp:330
+#: utils/ncurses.cpp:329 utils/ncurses.cpp:332
msgid "Search complete"
msgstr ""
-#: utils/ncurses.cpp:340 qt/ui/training_widget.ui:71
+#: utils/ncurses.cpp:341 qt/ui/training_widget.ui:71
msgid "Search results"
msgstr ""
-#: utils/ncurses.cpp:369
+#: utils/ncurses.cpp:370
msgid "History of the game"
msgstr ""
-#: utils/ncurses.cpp:375
+#: utils/ncurses.cpp:376
msgid " N | RACK | SOLUTION | REF | PTS | P | BONUS"
msgstr ""
-#: utils/ncurses.cpp:414 qt/history_widget.cpp:143 qt/main_window.cpp:553
+#: utils/ncurses.cpp:415 qt/history_widget.cpp:143 qt/main_window.cpp:616
msgid "(PASS)"
msgstr ""
-#: utils/ncurses.cpp:440
+#: utils/ncurses.cpp:441
msgid "Help"
msgstr ""
-#: utils/ncurses.cpp:444
+#: utils/ncurses.cpp:445
msgid "[Global]"
msgstr ""
-#: utils/ncurses.cpp:445
+#: utils/ncurses.cpp:446
msgid " h, H, ? Show/hide help box"
msgstr ""
-#: utils/ncurses.cpp:446
+#: utils/ncurses.cpp:447
msgid " y, Y Show/hide history of the game"
msgstr ""
-#: utils/ncurses.cpp:447
+#: utils/ncurses.cpp:448
msgid ""
" b, B Show/hide contents of the bag (including letters of the "
"racks)"
msgstr ""
-#: utils/ncurses.cpp:448
+#: utils/ncurses.cpp:449
msgid " e, E Show/hide dots on empty squares of the board"
msgstr ""
-#: utils/ncurses.cpp:449
+#: utils/ncurses.cpp:450
msgid " d, D Check the existence of a word in the dictionary"
msgstr ""
-#: utils/ncurses.cpp:450
+#: utils/ncurses.cpp:451
msgid " j, J Play a word"
msgstr ""
-#: utils/ncurses.cpp:451
+#: utils/ncurses.cpp:452
msgid " s, S Save the game"
msgstr ""
-#: utils/ncurses.cpp:452
+#: utils/ncurses.cpp:453
msgid " l, L Load a game"
msgstr ""
-#: utils/ncurses.cpp:453
+#: utils/ncurses.cpp:454
msgid " q, Q Quit"
msgstr ""
-#: utils/ncurses.cpp:456
+#: utils/ncurses.cpp:457
msgid "[Training mode]"
msgstr ""
-#: utils/ncurses.cpp:457
+#: utils/ncurses.cpp:458
msgid " * Take a random rack"
msgstr ""
-#: utils/ncurses.cpp:458
+#: utils/ncurses.cpp:459
msgid " + Complete the current rack randomly"
msgstr ""
-#: utils/ncurses.cpp:459
+#: utils/ncurses.cpp:460
msgid " t, T Set the rack manually"
msgstr ""
-#: utils/ncurses.cpp:460
+#: utils/ncurses.cpp:461
msgid " c, C Compute all the possible words"
msgstr ""
-#: utils/ncurses.cpp:461
+#: utils/ncurses.cpp:462
msgid " r, R Show/hide search results"
msgstr ""
-#: utils/ncurses.cpp:464
+#: utils/ncurses.cpp:465
msgid "[Duplicate mode]"
msgstr ""
-#: utils/ncurses.cpp:465
+#: utils/ncurses.cpp:466
msgid " n, N Switch to the next human player"
msgstr ""
-#: utils/ncurses.cpp:468
+#: utils/ncurses.cpp:469
msgid "[Free game mode]"
msgstr ""
-#: utils/ncurses.cpp:469
+#: utils/ncurses.cpp:470
msgid " p, P Pass your turn (with or without changing letters)"
msgstr ""
-#: utils/ncurses.cpp:472
+#: utils/ncurses.cpp:473
msgid "[Miscellaneous]"
msgstr ""
-#: utils/ncurses.cpp:473
+#: utils/ncurses.cpp:474
msgid " <up>, <down> Navigate in a box line by line"
msgstr ""
-#: utils/ncurses.cpp:474
+#: utils/ncurses.cpp:475
msgid " <pgup>, <pgdown> Navigate in a box page by page"
msgstr ""
-#: utils/ncurses.cpp:475
+#: utils/ncurses.cpp:476
msgid " Ctrl-l Refresh the screen"
msgstr ""
-#: utils/ncurses.cpp:486 wxwin/auxframes.cc:147 qt/main_window.cpp:636
-#: qt/ui/main_window.ui:94
+#: utils/ncurses.cpp:487 qt/main_window.cpp:712 qt/ui/main_window.ui:91
msgid "Bag"
msgstr ""
-#: utils/ncurses.cpp:493
+#: utils/ncurses.cpp:494
msgid " LETTER | POINTS | FREQUENCY | REMAINING"
msgstr ""
-#: utils/ncurses.cpp:546
+#: utils/ncurses.cpp:547
msgid "Play a word"
msgstr ""
@@ -438,781 +442,117 @@
#. "Coordinates:". For example:
#. Pl. word :
#. Coordinates:
-#: utils/ncurses.cpp:547 utils/ncurses.cpp:555
+#: utils/ncurses.cpp:548 utils/ncurses.cpp:556
msgid "Played word:"
msgstr ""
-#: utils/ncurses.cpp:548 utils/ncurses.cpp:556
+#: utils/ncurses.cpp:549 utils/ncurses.cpp:557
msgid "Coordinates:"
msgstr ""
-#: utils/ncurses.cpp:570
+#: utils/ncurses.cpp:571
msgid "Incorrect or misplaced word"
msgstr ""
-#: utils/ncurses.cpp:580
+#: utils/ncurses.cpp:581
msgid "Dictionary"
msgstr ""
-#: utils/ncurses.cpp:581
+#: utils/ncurses.cpp:582
msgid "Enter the word to check:"
msgstr ""
-#: utils/ncurses.cpp:590
+#: utils/ncurses.cpp:591
#, c-format
msgid "The word '%ls' exists"
msgstr ""
-#: utils/ncurses.cpp:592
+#: utils/ncurses.cpp:593
#, c-format
msgid "The word '%ls' does not exist"
msgstr ""
-#: utils/ncurses.cpp:602 wxwin/mainframe.cc:475 wxwin/mainframe.cc:483
+#: utils/ncurses.cpp:603
msgid "Save the game"
msgstr ""
-#: utils/ncurses.cpp:603 utils/ncurses.cpp:633
+#: utils/ncurses.cpp:604 utils/ncurses.cpp:634
msgid "Enter the file name:"
msgstr ""
-#: utils/ncurses.cpp:613
+#: utils/ncurses.cpp:614
#, c-format
msgid "Cannot open file %ls for writing"
msgstr ""
-#: utils/ncurses.cpp:621
+#: utils/ncurses.cpp:622
#, c-format
msgid "Game saved in '%ls'"
msgstr ""
-#: utils/ncurses.cpp:632 wxwin/mainframe.cc:275 wxwin/mainframe.cc:405
-#: wxwin/mainframe.cc:429 qt/main_window.cpp:398
+#: utils/ncurses.cpp:633 qt/main_window.cpp:460
msgid "Load a game"
msgstr ""
-#: utils/ncurses.cpp:643
+#: utils/ncurses.cpp:644
#, c-format
msgid "Cannot open file '%ls' for reading"
msgstr ""
-#: utils/ncurses.cpp:651
+#: utils/ncurses.cpp:652
#, c-format
msgid "Invalid saved game"
msgstr ""
-#: utils/ncurses.cpp:656 qt/main_window.cpp:412
+#: utils/ncurses.cpp:657 qt/main_window.cpp:475
#, c-format
msgid "Game loaded"
msgstr ""
-#: utils/ncurses.cpp:671
+#: utils/ncurses.cpp:673
msgid "Pass your turn"
msgstr ""
-#: utils/ncurses.cpp:672
+#: utils/ncurses.cpp:674
msgid "Enter the letters to change:"
msgstr ""
-#: utils/ncurses.cpp:681
+#: utils/ncurses.cpp:683
msgid "Cannot pass the turn"
msgstr ""
-#: utils/ncurses.cpp:691
+#: utils/ncurses.cpp:693
msgid "Set rack"
msgstr ""
-#: utils/ncurses.cpp:692
+#: utils/ncurses.cpp:694
msgid "Enter the new letters:"
msgstr ""
-#: utils/ncurses.cpp:701
+#: utils/ncurses.cpp:703
msgid "Cannot take these letters from the bag"
msgstr ""
-#: utils/ncurses.cpp:1095 qt/main_window.cpp:214 qt/ui/prefs_dialog.ui:181
+#: utils/ncurses.cpp:1112 qt/main_window.cpp:241 qt/ui/prefs_dialog.ui:191
msgid "Training mode"
msgstr ""
-#: utils/ncurses.cpp:1097 qt/ui/prefs_dialog.ui:162
+#: utils/ncurses.cpp:1114 qt/ui/prefs_dialog.ui:172
msgid "Free game mode"
msgstr ""
-#: utils/ncurses.cpp:1099 qt/ui/prefs_dialog.ui:75
+#: utils/ncurses.cpp:1116 qt/ui/prefs_dialog.ui:85
msgid "Duplicate mode"
msgstr ""
-#: utils/ncurses.cpp:1102 qt/ui/new_game.ui:67
+#: utils/ncurses.cpp:1119 qt/ui/new_game.ui:67
msgid "Joker game"
msgstr ""
-#: utils/ncurses.cpp:1103
+#: utils/ncurses.cpp:1120
msgid "[h for help]"
msgstr ""
-#: wxwin/auxframes.cc:122
-msgid "Grid"
-msgstr ""
-
-#: wxwin/auxframes.cc:202 qt/ui/training_widget.ui:52
-msgid "Search"
-msgstr ""
-
-#: wxwin/auxframes.cc:233 qt/ui/dic_tools_widget.ui:31
-msgid "Check"
-msgstr ""
-
-#: wxwin/auxframes.cc:238
-msgid "Word to check"
-msgstr ""
-
-#: wxwin/auxframes.cc:256 wxwin/configdb.cc:203 wxwin/searchpanel.cc:107
-msgid "No dictionary"
-msgstr ""
-
-#: wxwin/auxframes.cc:260
-msgid "exists"
-msgstr ""
-
-#: wxwin/auxframes.cc:262
-msgid "doesn't exist"
-msgstr ""
-
-#: wxwin/auxframes.cc:303
-msgid "Copy"
-msgstr ""
-
-#: wxwin/auxframes.cc:347 wxwin/mainframe.cc:502 wxwin/mainframe.cc:522
-#: wxwin/mainframe.cc:553
-msgid "No on going game"
-msgstr ""
-
-#: wxwin/auxframes.cc:362 wxwin/searchpanel.cc:119
-msgid "No result"
-msgstr ""
-
-#: wxwin/auxframes.cc:372
-msgid "Rack + 1"
-msgstr ""
-
-#: wxwin/auxframes.cc:414
-msgid "Rack: "
-msgstr ""
-
-#: wxwin/auxframes.cc:435
-msgid "Benjamins"
-msgstr ""
-
-#: wxwin/auxframes.cc:476
-msgid "Extensions"
-msgstr ""
-
-#: wxwin/auxframes.cc:542 wxwin/mainframe.cc:325
-msgid "Game history"
-msgstr ""
-
-#: wxwin/auxframes.cc:574 wxwin/mainframe.cc:327
-msgid "Results"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:62
-msgid "left"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:63
-msgid "centered"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:64
-msgid "right"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:118
-msgid "Alignment"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:120
-msgid "Spacing"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:124 wxwin/confdimdlg.cc:135
-msgid "Font..."
-msgstr ""
-
-#: wxwin/confdimdlg.cc:129
-msgid "Title column "
-msgstr ""
-
-#: wxwin/confdimdlg.cc:140
-msgid "Text column "
-msgstr ""
-
-#: wxwin/confdimdlg.cc:150
-msgid "Column heading"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:154
-msgid "Alignment of the column heading"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:158
-msgid "Spacing of the heading characters"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:167
-msgid "Inner dimension of the column (in mm)"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:176
-msgid "Alignment of the column text"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:180
-msgid "Characters spacing"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:231
-msgid "Title spc. top"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:233
-msgid "Text spc. top"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:235
-msgid "Text spc. left"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:252
-msgid "Title spc. bot."
-msgstr ""
-
-#: wxwin/confdimdlg.cc:254
-msgid "Text spc. bot."
-msgstr ""
-
-#: wxwin/confdimdlg.cc:256
-msgid "Text spc. right"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:286
-msgid "Printer"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:288
-msgid "Configure the printer"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:290
-msgid "Page"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:292
-msgid "Configure the dimensions of the page"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:298
-msgid "Cancel the last changes"
-msgstr ""
-
-#: wxwin/confdimdlg.cc:304 wxwin/confsearch.cc:42
-msgid "Save the changes"
-msgstr ""
-
-#: wxwin/configdb.cc:322
-msgid "Nb"
-msgstr ""
-
-#: wxwin/configdb.cc:323 wxwin/mainframe.cc:174 qt/history_widget.cpp:52
-msgid "Rack"
-msgstr ""
-
-#: wxwin/configdb.cc:324
-msgid "Solution"
-msgstr ""
-
-#: wxwin/configdb.cc:325 wxwin/gfxresult.cc:69
-msgid "Pos"
-msgstr ""
-
-#: wxwin/configdb.cc:326 wxwin/gfxresult.cc:70
-msgid "Pts"
-msgstr ""
-
-#: wxwin/confsearch.cc:36
-msgid "Search on joker in 7+1 panel"
-msgstr ""
-
-#: wxwin/confsearch.cc:37
-msgid "Check rack validity"
-msgstr ""
-
-#: wxwin/confsearch.cc:40
-msgid "Cancel last changes"
-msgstr ""
-
-#: wxwin/gfxresult.cc:67 qt/history_widget.cpp:53 qt/training_widget.cpp:59
-msgid "Word"
-msgstr ""
-
-#: wxwin/gfxresult.cc:71
-msgid "Results of the search"
-msgstr ""
-
-#: wxwin/mainframe.cc:188
-msgid " Rack "
-msgstr ""
-
-#: wxwin/mainframe.cc:189
-msgid " Complement "
-msgstr ""
-
-#: wxwin/mainframe.cc:190
-msgid " Search "
-msgstr ""
-
-#: wxwin/mainframe.cc:191
-msgid " Back "
-msgstr ""
-
-#: wxwin/mainframe.cc:192
-msgid " Play "
-msgstr ""
-
-#: wxwin/mainframe.cc:194
-msgid "Random rack"
-msgstr ""
-
-#: wxwin/mainframe.cc:196
-msgid "Random complement of the rack"
-msgstr ""
-
-#: wxwin/mainframe.cc:198
-msgid "Search with the current rack"
-msgstr ""
-
-#: wxwin/mainframe.cc:200
-msgid "Go back one turn"
-msgstr ""
-
-#: wxwin/mainframe.cc:202
-msgid "Play the selected word"
-msgstr ""
-
-#: wxwin/mainframe.cc:272
-msgid "&New game\tCtrl+N"
-msgstr ""
-
-#: wxwin/mainframe.cc:272 qt/main_window.cpp:316
-msgid "Start a new game"
-msgstr ""
-
-#: wxwin/mainframe.cc:273
-msgid "New &joker game\tCtrl+J"
-msgstr ""
-
-#: wxwin/mainframe.cc:273
-msgid "Start a new joker game"
-msgstr ""
-
-#: wxwin/mainframe.cc:275
-msgid "&Load...\tCtrl+L"
-msgstr ""
-
-#: wxwin/mainframe.cc:276
-msgid "&Save as...\tCtrl+S"
-msgstr ""
-
-#: wxwin/mainframe.cc:276 qt/main_window.cpp:321
-msgid "Save the current game"
-msgstr ""
-
-#: wxwin/mainframe.cc:278
-msgid "&Print...\tCtrl+P"
-msgstr ""
-
-#: wxwin/mainframe.cc:278
-msgid "Print this game"
-msgstr ""
-
-#: wxwin/mainframe.cc:279
-msgid "Print pre&view..."
-msgstr ""
-
-#: wxwin/mainframe.cc:279
-msgid "Print preview of the game"
-msgstr ""
-
-#: wxwin/mainframe.cc:281
-msgid "Print in PostS&cript..."
-msgstr ""
-
-#: wxwin/mainframe.cc:281
-msgid "Print in a PostScript file"
-msgstr ""
-
-#: wxwin/mainframe.cc:284
-msgid "&Quit\tCtrl+Q"
-msgstr ""
-
-#: wxwin/mainframe.cc:284 qt/main_window.cpp:327
-msgid "Quit Eliot"
-msgstr ""
-
-#: wxwin/mainframe.cc:287
-msgid "&Dictionary...\tCtrl+D"
-msgstr ""
-
-#: wxwin/mainframe.cc:287 wxwin/mainframe.cc:604 qt/main_window.cpp:603
-msgid "Choose a dictionary"
-msgstr ""
-
-#: wxwin/mainframe.cc:288
-msgid "&Search..."
-msgstr ""
-
-#: wxwin/mainframe.cc:288
-msgid "Search options"
-msgstr ""
-
-#: wxwin/mainframe.cc:291
-msgid "&Background..."
-msgstr ""
-
-#: wxwin/mainframe.cc:291
-msgid "Background color"
-msgstr ""
-
-#: wxwin/mainframe.cc:292
-msgid "L&ines..."
-msgstr ""
-
-#: wxwin/mainframe.cc:292
-msgid "Color of the lines"
-msgstr ""
-
-#: wxwin/mainframe.cc:294
-msgid "&Played letters..."
-msgstr ""
-
-#: wxwin/mainframe.cc:294
-msgid "Color of the letters played on the board"
-msgstr ""
-
-#: wxwin/mainframe.cc:295
-msgid "&Temporary letters..."
-msgstr ""
-
-#: wxwin/mainframe.cc:295
-msgid "Color of the letters of the temporary word"
-msgstr ""
-
-#: wxwin/mainframe.cc:296
-msgid "B&ackground of played letters..."
-msgstr ""
-
-#: wxwin/mainframe.cc:296
-msgid "Background color of the letters played on the board"
-msgstr ""
-
-#: wxwin/mainframe.cc:297
-msgid "Ba&ckground of temporary letters..."
-msgstr ""
-
-#: wxwin/mainframe.cc:297
-msgid "Background color of the temporary letters on the board"
-msgstr ""
-
-#: wxwin/mainframe.cc:299
-msgid "Double &letter..."
-msgstr ""
-
-#: wxwin/mainframe.cc:299
-msgid "Color of the \"double letter\" squares"
-msgstr ""
-
-#: wxwin/mainframe.cc:300
-msgid "Triple l&etter..."
-msgstr ""
-
-#: wxwin/mainframe.cc:300
-msgid "Color of the \"triple letter\" squares"
-msgstr ""
-
-#: wxwin/mainframe.cc:301
-msgid "Double &word..."
-msgstr ""
-
-#: wxwin/mainframe.cc:301
-msgid "Color of the \"double word\" squares"
-msgstr ""
-
-#: wxwin/mainframe.cc:302
-msgid "Triple w&ord..."
-msgstr ""
-
-#: wxwin/mainframe.cc:302
-msgid "Color of the \"triple word\" squares"
-msgstr ""
-
-#: wxwin/mainframe.cc:304
-msgid "&Default colors"
-msgstr ""
-
-#: wxwin/mainframe.cc:304
-msgid "Restore the default colors"
-msgstr ""
-
-#: wxwin/mainframe.cc:307
-msgid "&Search letters..."
-msgstr ""
-
-#: wxwin/mainframe.cc:307
-msgid "Font for the search"
-msgstr ""
-
-#: wxwin/mainframe.cc:310 wxwin/mainframe.cc:334 qt/history_widget.cpp:177
-#: qt/main_window.cpp:314
-msgid "&Game"
-msgstr ""
-
-#: wxwin/mainframe.cc:310
-msgid "Configuration of the game"
-msgstr ""
-
-#: wxwin/mainframe.cc:311
-msgid "&Fonts"
-msgstr ""
-
-#: wxwin/mainframe.cc:311
-msgid "Configuration of the fonts"
-msgstr ""
-
-#: wxwin/mainframe.cc:312
-msgid "&Colors"
-msgstr ""
-
-#: wxwin/mainframe.cc:312
-msgid "Configuration of the colors"
-msgstr ""
-
-#: wxwin/mainframe.cc:313
-msgid "&Printing..."
-msgstr ""
-
-#: wxwin/mainframe.cc:313
-msgid "Configuration of the printing parameters"
-msgstr ""
-
-#: wxwin/mainframe.cc:316
-msgid "&Board"
-msgstr ""
-
-#: wxwin/mainframe.cc:316
-msgid "Game board"
-msgstr ""
-
-#: wxwin/mainframe.cc:317
-msgid "Ba&g\tCtrl+B"
-msgstr ""
-
-#: wxwin/mainframe.cc:317
-msgid "Remaining letters in the bag"
-msgstr ""
-
-#: wxwin/mainframe.cc:318
-msgid "&Check"
-msgstr ""
-
-#: wxwin/mainframe.cc:318
-msgid "Check a word in the dictionary"
-msgstr ""
-
-#: wxwin/mainframe.cc:319
-msgid "&Search"
-msgstr ""
-
-#: wxwin/mainframe.cc:319
-msgid "Search in the dictionary"
-msgstr ""
-
-#: wxwin/mainframe.cc:321
-msgid "&Rack + 1"
-msgstr ""
-
-#: wxwin/mainframe.cc:321
-msgid "Letters of the rack plus one"
-msgstr ""
-
-#: wxwin/mainframe.cc:322
-msgid "&Extensions"
-msgstr ""
-
-#: wxwin/mainframe.cc:322
-msgid "One-letter extensions on a word of the search"
-msgstr ""
-
-#: wxwin/mainframe.cc:323
-msgid "&Benjamins"
-msgstr ""
-
-#: wxwin/mainframe.cc:323
-msgid "Benjamins (3-letter extensions) on a word of the search"
-msgstr ""
-
-#: wxwin/mainframe.cc:325
-msgid "Game &history\tCtrl+H"
-msgstr ""
-
-#: wxwin/mainframe.cc:327
-msgid "R&esults"
-msgstr ""
-
-#: wxwin/mainframe.cc:331 qt/main_window.cpp:352
-msgid "&About..."
-msgstr ""
-
-#: wxwin/mainframe.cc:331 wxwin/mainframe.cc:733 qt/main_window.cpp:353
-#: qt/main_window.cpp:714
-msgid "About Eliot"
-msgstr ""
-
-#: wxwin/mainframe.cc:335 qt/main_window.cpp:331
-msgid "&Settings"
-msgstr ""
-
-#: wxwin/mainframe.cc:336 qt/main_window.cpp:339
-msgid "&Windows"
-msgstr ""
-
-#: wxwin/mainframe.cc:337 qt/main_window.cpp:351
-msgid "&Help"
-msgstr ""
-
-#: wxwin/mainframe.cc:361 wxwin/mainframe.cc:408
-msgid "No dictionary selected"
-msgstr ""
-
-#: wxwin/mainframe.cc:361 wxwin/mainframe.cc:408 wxwin/mainframe.cc:502
-#: wxwin/mainframe.cc:522 wxwin/mainframe.cc:553
-msgid "Eliot: error"
-msgstr ""
-
-#: wxwin/mainframe.cc:428
-msgid "Cannot open "
-msgstr ""
-
-#: wxwin/mainframe.cc:440 wxwin/mainframe.cc:449 qt/main_window.cpp:405
-msgid "Error while loading the game"
-msgstr ""
-
-#: wxwin/mainframe.cc:441
-msgid "Invalid game"
-msgstr ""
-
-#: wxwin/mainframe.cc:450
-msgid "The game is empty"
-msgstr ""
-
-#: wxwin/mainframe.cc:482
-msgid "Cannot create "
-msgstr ""
-
-#: wxwin/mainframe.cc:511 wxwin/mainframe.cc:575
-msgid "Printing not done"
-msgstr ""
-
-#: wxwin/mainframe.cc:511 wxwin/mainframe.cc:539
-msgid "Printing"
-msgstr ""
-
-#: wxwin/mainframe.cc:534
-msgid "Print preview problem.\n"
-msgstr ""
-
-#: wxwin/mainframe.cc:535
-msgid "The printer may not be correctly initialized"
-msgstr ""
-
-#: wxwin/mainframe.cc:536
-msgid "Print preview"
-msgstr ""
-
-#: wxwin/mainframe.cc:557
-msgid "Print to a PostScript file"
-msgstr ""
-
-#: wxwin/mainframe.cc:576 wxwin/mainframe.cc:582
-msgid "PostScript printing"
-msgstr ""
-
-#: wxwin/mainframe.cc:581
-msgid "Cannot initialize PostScript printer"
-msgstr ""
-
-#: wxwin/mainframe.cc:729
-msgid ""
-"This program is free software; you can redistribute it and/or modify it "
-"under the terms of the GNU General Public License as published by the Free "
-"Software Foundation; either version 2 of the License, or (at your option) "
-"any later version."
-msgstr ""
-
-#: wxwin/mainframe.cc:927
-msgid "turn:"
-msgstr ""
-
-#: wxwin/mainframe.cc:928
-msgid "points:"
-msgstr ""
-
-#: wxwin/mainframe.cc:963
-msgid ""
-"The bag doesn't contain enough letters\n"
-"for a new rack."
-msgstr ""
-
-#: wxwin/mainframe.cc:964 wxwin/mainframe.cc:968 wxwin/mainframe.cc:972
-msgid "Rack validation"
-msgstr ""
-
-#: wxwin/mainframe.cc:967
-msgid "The rack must contain at least 2 consonants and 2 vowels."
-msgstr ""
-
-#: wxwin/mainframe.cc:971
-msgid "The rack contains invalid letters for the current dictionary"
-msgstr ""
-
-#: wxwin/mainframe.cc:975
-msgid "The rack has been modified manually"
-msgstr ""
-
-#: wxwin/searchpanel.cc:146 wxwin/searchpanel.cc:190
-#, c-format
-msgid "The search is limited to %d letters"
-msgstr ""
-
-#: wxwin/searchpanel.cc:249
-msgid "Minimum length"
-msgstr ""
-
-#: wxwin/searchpanel.cc:251
-msgid "Maximum length"
-msgstr ""
-
-#: wxwin/searchpanel.cc:320
-msgid "Cross words"
-msgstr ""
-
-#: wxwin/searchpanel.cc:321 qt/ui/dic_tools_widget.ui:69
-msgid "Plus 1"
-msgstr ""
-
-#: wxwin/searchpanel.cc:322 qt/ui/dic_tools_widget.ui:94
-msgid "Regular expressions"
-msgstr ""
-
#: qt/bag_widget.cpp:50 qt/dic_tools_widget.cpp:100
msgid "Letter"
msgstr ""
@@ -1280,6 +620,14 @@
msgid "Turn"
msgstr ""
+#: qt/history_widget.cpp:52
+msgid "Rack"
+msgstr ""
+
+#: qt/history_widget.cpp:53 qt/training_widget.cpp:59
+msgid "Word"
+msgstr ""
+
#: qt/history_widget.cpp:54 qt/training_widget.cpp:60
msgid "Ref"
msgstr ""
@@ -1288,216 +636,336 @@
msgid "Player"
msgstr ""
-#: qt/main_window.cpp:109 qt/main_window.cpp:654 qt/ui/main_window.ui:40
+#: qt/history_widget.cpp:177 qt/main_window.cpp:347
+msgid "&Game"
+msgstr ""
+
+#: qt/main_window.cpp:112 qt/main_window.cpp:730 qt/ui/main_window.ui:32
msgid "Board"
msgstr ""
-#: qt/main_window.cpp:164
+#: qt/main_window.cpp:167
msgid ""
"Cannot load dictionary '%1' indicated in the preferences.\n"
"Reason: %2"
msgstr ""
-#: qt/main_window.cpp:206
+#: qt/main_window.cpp:233
msgid "No game"
msgstr ""
-#: qt/main_window.cpp:219
+#: qt/main_window.cpp:246
msgid "Duplicate game"
msgstr ""
-#: qt/main_window.cpp:224 qt/new_game.cpp:99 qt/new_game.cpp:165
+#: qt/main_window.cpp:251 qt/new_game.cpp:100 qt/new_game.cpp:167
#: qt/ui/new_game.ui:41
msgid "Free game"
msgstr ""
-#: qt/main_window.cpp:236
+#: qt/main_window.cpp:263
msgid "Dictionary: %1"
msgstr ""
-#: qt/main_window.cpp:245
+#: qt/main_window.cpp:272
msgid "Eliot - Error"
msgstr ""
-#: qt/main_window.cpp:315
+#: qt/main_window.cpp:348
msgid "&New..."
msgstr ""
-#: qt/main_window.cpp:315
+#: qt/main_window.cpp:348
msgid "Ctrl+N"
msgstr ""
-#: qt/main_window.cpp:318
+#: qt/main_window.cpp:349
+msgid "Start a new game"
+msgstr ""
+
+#: qt/main_window.cpp:351
msgid "&Load..."
msgstr ""
-#: qt/main_window.cpp:318
+#: qt/main_window.cpp:351
msgid "Ctrl+O"
msgstr ""
-#: qt/main_window.cpp:319
+#: qt/main_window.cpp:352
msgid "Load an existing game"
msgstr ""
-#: qt/main_window.cpp:320
+#: qt/main_window.cpp:353
msgid "&Save as..."
msgstr ""
-#: qt/main_window.cpp:320
+#: qt/main_window.cpp:353
msgid "Ctrl+S"
msgstr ""
-#: qt/main_window.cpp:323
+#: qt/main_window.cpp:354
+msgid "Save the current game"
+msgstr ""
+
+#: qt/main_window.cpp:356
msgid "&Print..."
msgstr ""
-#: qt/main_window.cpp:323
+#: qt/main_window.cpp:356
msgid "Ctrl+P"
msgstr ""
-#: qt/main_window.cpp:324
+#: qt/main_window.cpp:357
msgid "Print the current game"
msgstr ""
-#: qt/main_window.cpp:326
+#: qt/main_window.cpp:359
msgid "&Quit"
msgstr ""
-#: qt/main_window.cpp:326
+#: qt/main_window.cpp:359
msgid "Ctrl+Q"
msgstr ""
-#: qt/main_window.cpp:332
+#: qt/main_window.cpp:360
+msgid "Quit Eliot"
+msgstr ""
+
+#: qt/main_window.cpp:364 qt/main_window.cpp:406
+msgid "&History"
+msgstr ""
+
+#: qt/main_window.cpp:365
+msgid "&First turn"
+msgstr ""
+
+#: qt/main_window.cpp:365
+msgid "Ctrl+Home"
+msgstr ""
+
+#: qt/main_window.cpp:366
+msgid "Go to the first turn of the game"
+msgstr ""
+
+#: qt/main_window.cpp:368
+msgid "&Previous turn"
+msgstr ""
+
+#: qt/main_window.cpp:368
+msgid "Ctrl+Left"
+msgstr ""
+
+#: qt/main_window.cpp:369
+msgid "Go to the previous turn of the game"
+msgstr ""
+
+#: qt/main_window.cpp:371
+msgid "&Next turn"
+msgstr ""
+
+#: qt/main_window.cpp:371
+msgid "Ctrl+Right"
+msgstr ""
+
+#: qt/main_window.cpp:372
+msgid "Go to the next turn of the game"
+msgstr ""
+
+#: qt/main_window.cpp:374
+msgid "&Last turn"
+msgstr ""
+
+#: qt/main_window.cpp:374
+msgid "Ctrl+End"
+msgstr ""
+
+#: qt/main_window.cpp:375
+msgid "Go to the last turn of the game"
+msgstr ""
+
+#: qt/main_window.cpp:377
+msgid "&Replay turn"
+msgstr ""
+
+#: qt/main_window.cpp:377
+msgid "Ctrl+R"
+msgstr ""
+
+#: qt/main_window.cpp:378
+msgid ""
+"Play the game from the current position, replacing what was really played"
+msgstr ""
+
+#: qt/main_window.cpp:390
+msgid "&Settings"
+msgstr ""
+
+#: qt/main_window.cpp:391
msgid "&Choose dictionary..."
msgstr ""
-#: qt/main_window.cpp:332
+#: qt/main_window.cpp:391
msgid "Ctrl+C"
msgstr ""
-#: qt/main_window.cpp:333
+#: qt/main_window.cpp:392
msgid "Select a new dictionary"
msgstr ""
-#: qt/main_window.cpp:334
+#: qt/main_window.cpp:393
msgid "&Preferences..."
msgstr ""
-#: qt/main_window.cpp:334
+#: qt/main_window.cpp:393
msgid "Ctrl+F"
msgstr ""
-#: qt/main_window.cpp:335
+#: qt/main_window.cpp:394
msgid "Edit the preferences"
msgstr ""
-#: qt/main_window.cpp:340
+#: qt/main_window.cpp:398
+msgid "&Windows"
+msgstr ""
+
+#: qt/main_window.cpp:399
+msgid "&Toolbar"
+msgstr ""
+
+#: qt/main_window.cpp:399
+msgid "Ctrl+T"
+msgstr ""
+
+#: qt/main_window.cpp:400
+msgid "Show/hide the toolbar"
+msgstr ""
+
+#: qt/main_window.cpp:402
msgid "&Bag"
msgstr ""
-#: qt/main_window.cpp:340
+#: qt/main_window.cpp:402
msgid "Ctrl+B"
msgstr ""
-#: qt/main_window.cpp:341 qt/ui/main_window.ui:97
+#: qt/main_window.cpp:403 qt/ui/main_window.ui:94
msgid "Show/hide the remaining tiles in the bag"
msgstr ""
-#: qt/main_window.cpp:342
+#: qt/main_window.cpp:404
msgid "&External board"
msgstr ""
-#: qt/main_window.cpp:342
+#: qt/main_window.cpp:404
msgid "Ctrl+E"
msgstr ""
-#: qt/main_window.cpp:343 qt/ui/main_window.ui:111
+#: qt/main_window.cpp:405 qt/ui/main_window.ui:108
msgid "Show/hide the external board"
msgstr ""
-#: qt/main_window.cpp:344
-msgid "&History"
-msgstr ""
-
-#: qt/main_window.cpp:344
+#: qt/main_window.cpp:406
msgid "Ctrl+H"
msgstr ""
-#: qt/main_window.cpp:345 qt/ui/main_window.ui:125
+#: qt/main_window.cpp:407 qt/ui/main_window.ui:122
msgid "Show/hide the game history"
msgstr ""
-#: qt/main_window.cpp:346
+#: qt/main_window.cpp:408
msgid "&Dictionary tools"
msgstr ""
-#: qt/main_window.cpp:346
+#: qt/main_window.cpp:408
msgid "Ctrl+D"
msgstr ""
-#: qt/main_window.cpp:347 qt/ui/main_window.ui:139
+#: qt/main_window.cpp:409 qt/ui/main_window.ui:136
msgid "Show/hide the dictionary tools"
msgstr ""
-#: qt/main_window.cpp:352
+#: qt/main_window.cpp:413
+msgid "&Help"
+msgstr ""
+
+#: qt/main_window.cpp:414
+msgid "&About..."
+msgstr ""
+
+#: qt/main_window.cpp:414
msgid "Ctrl+A"
msgstr ""
-#: qt/main_window.cpp:361 qt/main_window.cpp:394
+#: qt/main_window.cpp:415 qt/main_window.cpp:789
+msgid "About Eliot"
+msgstr ""
+
+#: qt/main_window.cpp:423 qt/main_window.cpp:456
msgid "You have to select a dictionary first!"
msgstr ""
-#: qt/main_window.cpp:386
+#: qt/main_window.cpp:448
msgid "Game started"
msgstr ""
-#: qt/main_window.cpp:422
+#: qt/main_window.cpp:467
+msgid "Error while loading the game"
+msgstr ""
+
+#: qt/main_window.cpp:485
msgid "Save a game"
msgstr ""
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:490
msgid "Game saved"
msgstr ""
-#: qt/main_window.cpp:461
+#: qt/main_window.cpp:524
msgid "N."
msgstr ""
-#: qt/main_window.cpp:461
+#: qt/main_window.cpp:524
msgid "RACK"
msgstr ""
-#: qt/main_window.cpp:461
+#: qt/main_window.cpp:524
msgid "SOLUTION"
msgstr ""
-#: qt/main_window.cpp:461
+#: qt/main_window.cpp:524
msgid "REF"
msgstr ""
-#: qt/main_window.cpp:461
+#: qt/main_window.cpp:524
msgid "PTS"
msgstr ""
-#: qt/main_window.cpp:594
-msgid "Stop current game?"
+#: qt/main_window.cpp:657
+msgid "Loading a dictionary will stop the current game."
msgstr ""
-#: qt/main_window.cpp:595
-msgid ""
-"Loading a dictionary will stop the current game. Do you want to continue?"
+#: qt/main_window.cpp:658 qt/main_window.cpp:859 qt/new_game.cpp:56
+msgid "Eliot"
+msgstr ""
+
+#: qt/main_window.cpp:660 qt/main_window.cpp:861
+msgid "Do you want to continue?"
msgstr ""
-#: qt/main_window.cpp:672 qt/ui/main_window.ui:53 qt/ui/main_window.ui:122
+#: qt/main_window.cpp:669
+msgid "Choose a dictionary"
+msgstr ""
+
+#: qt/main_window.cpp:748 qt/ui/main_window.ui:45 qt/ui/main_window.ui:119
msgid "History"
msgstr ""
-#: qt/main_window.cpp:689 qt/ui/dic_tools_widget.ui:13
-#: qt/ui/main_window.ui:136
+#: qt/main_window.cpp:765 qt/ui/dic_tools_widget.ui:13
+#: qt/ui/main_window.ui:133
msgid "Dictionary tools"
msgstr ""
-#: qt/main_window.cpp:706
+#: qt/main_window.cpp:782
msgid ""
"Copyright (C) 1999-2008 - Antoine Fraboulet & Olivier Teuliere\n"
"\n"
@@ -1507,47 +975,58 @@
"any later version."
msgstr ""
-#: qt/new_game.cpp:38 qt/ui/new_game.ui:117
+#: qt/main_window.cpp:804 qt/main_window.cpp:817 qt/main_window.cpp:830
+#: qt/main_window.cpp:843
+msgid "Turn %1/%2"
+msgstr ""
+
+#: qt/main_window.cpp:856
+msgid ""
+"Replaying this turn will modify the game history by deleting the turns after "
+"the displayed one (i.e. turns \"in the future\")."
+msgstr ""
+
+#: qt/main_window.cpp:872
+msgid "Replaying from turn %1"
+msgstr ""
+
+#: qt/new_game.cpp:39 qt/ui/new_game.ui:117
msgid "Human"
msgstr ""
-#: qt/new_game.cpp:39 qt/ui/new_game.ui:122
+#: qt/new_game.cpp:40 qt/ui/new_game.ui:122
msgid "Computer"
msgstr ""
-#: qt/new_game.cpp:46 qt/new_game.cpp:53 qt/new_game.cpp:112
-#: qt/new_game.cpp:201 qt/new_game.cpp:204
+#: qt/new_game.cpp:47 qt/new_game.cpp:54 qt/new_game.cpp:114
+#: qt/new_game.cpp:203 qt/new_game.cpp:206
msgid "Player %1"
msgstr ""
-#: qt/new_game.cpp:50
+#: qt/new_game.cpp:51
msgid "Name"
msgstr ""
-#: qt/new_game.cpp:51
+#: qt/new_game.cpp:52
msgid "Type"
msgstr ""
-#: qt/new_game.cpp:52
+#: qt/new_game.cpp:53
msgid "Level"
msgstr ""
-#: qt/new_game.cpp:55
-msgid "Eliot"
-msgstr ""
-
-#: qt/new_game.cpp:164 qt/ui/new_game.ui:36
+#: qt/new_game.cpp:166 qt/ui/new_game.ui:36
msgid "Duplicate"
msgstr ""
-#: qt/player_widget.cpp:82
+#: qt/player_widget.cpp:80
msgid ""
"Enter the word to play (case-insensitive).\n"
"A joker from the rack must be written in parentheses.\n"
"E.g.: w(o)rd or W(O)RD"
msgstr ""
-#: qt/player_widget.cpp:85
+#: qt/player_widget.cpp:83
msgid ""
"Enter the coordinates of the word.\n"
"Specify the row before the column for horizontal words,\n"
@@ -1555,71 +1034,71 @@
"E.g.: H4 or 4H"
msgstr ""
-#: qt/player_widget.cpp:183
+#: qt/player_widget.cpp:190
msgid "Cannot play word: misplaced parentheses"
msgstr ""
-#: qt/player_widget.cpp:205
+#: qt/player_widget.cpp:212
msgid "Cannot play '%1' at position '%2':\n"
msgstr ""
-#: qt/player_widget.cpp:210
+#: qt/player_widget.cpp:217
msgid "Some letters are not valid for the current dictionary"
msgstr ""
-#: qt/player_widget.cpp:213
+#: qt/player_widget.cpp:220
msgid "Invalid coordinates"
msgstr ""
-#: qt/player_widget.cpp:216
+#: qt/player_widget.cpp:223
msgid "The word does not exist"
msgstr ""
-#: qt/player_widget.cpp:219
+#: qt/player_widget.cpp:226
msgid "The rack doesn't contain the letters needed to play this word"
msgstr ""
-#: qt/player_widget.cpp:222
+#: qt/player_widget.cpp:229
msgid "The word is part of a longer one"
msgstr ""
-#: qt/player_widget.cpp:225
+#: qt/player_widget.cpp:232
msgid "The word tries to replace an existing letter"
msgstr ""
-#: qt/player_widget.cpp:228
+#: qt/player_widget.cpp:235
msgid "An orthogonal word is not valid"
msgstr ""
-#: qt/player_widget.cpp:231
+#: qt/player_widget.cpp:238
msgid "The word is already present on the board at these coordinates"
msgstr ""
-#: qt/player_widget.cpp:234
+#: qt/player_widget.cpp:241
msgid "A word cannot be isolated (not connected to the placed words)"
msgstr ""
-#: qt/player_widget.cpp:237
+#: qt/player_widget.cpp:244
msgid "The first word of the game must be horizontal"
msgstr ""
-#: qt/player_widget.cpp:240
+#: qt/player_widget.cpp:247
msgid "The first word of the game must cover the H8 square"
msgstr ""
-#: qt/player_widget.cpp:243
+#: qt/player_widget.cpp:250
msgid "The word is going out of the board"
msgstr ""
-#: qt/player_widget.cpp:246
+#: qt/player_widget.cpp:253
msgid "Incorrect or misplaced word (%1)"
msgstr ""
-#: qt/player_widget.cpp:270
+#: qt/player_widget.cpp:276
msgid "Cannot pass turn (%1)"
msgstr ""
-#: qt/player_widget.cpp:272
+#: qt/player_widget.cpp:278
msgid "Cannot change letters '%1' (%2)"
msgstr ""
@@ -1627,18 +1106,30 @@
msgid "Score"
msgstr ""
-#: qt/training_widget.cpp:200
+#: qt/training_widget.cpp:203
msgid "Warning: Cannot set the rack to '%1'"
msgstr ""
-#: qt/training_widget.cpp:239
+#: qt/training_widget.cpp:242
msgid "Searching with rack '%1'..."
msgstr ""
-#: qt/training_widget.cpp:241
+#: qt/training_widget.cpp:244
msgid "Search done"
msgstr ""
+#: qt/ui/dic_tools_widget.ui:31
+msgid "Check"
+msgstr ""
+
+#: qt/ui/dic_tools_widget.ui:69
+msgid "Plus 1"
+msgstr ""
+
+#: qt/ui/dic_tools_widget.ui:94
+msgid "Regular expressions"
+msgstr ""
+
#: qt/ui/dic_tools_widget.ui:105
msgid "Minimum length:"
msgstr ""
@@ -1667,11 +1158,11 @@
msgid "Number of words:"
msgstr ""
-#: qt/ui/main_window.ui:62 qt/ui/new_game.ui:77
+#: qt/ui/main_window.ui:54 qt/ui/new_game.ui:77
msgid "Players"
msgstr ""
-#: qt/ui/main_window.ui:108
+#: qt/ui/main_window.ui:105
msgid "External board"
msgstr ""
@@ -1794,29 +1285,33 @@
msgid "Align the rack and the solution in history"
msgstr ""
-#: qt/ui/prefs_dialog.ui:81 qt/ui/prefs_dialog.ui:168
+#: qt/ui/prefs_dialog.ui:72
+msgid "Warn before replaying a turn"
+msgstr ""
+
+#: qt/ui/prefs_dialog.ui:91 qt/ui/prefs_dialog.ui:178
msgid ""
"If checked, playing an invalid or misplaced word will not be possible. If "
"unchecked, you will get 0 point and lose your turn"
msgstr ""
-#: qt/ui/prefs_dialog.ui:84 qt/ui/prefs_dialog.ui:171
+#: qt/ui/prefs_dialog.ui:94 qt/ui/prefs_dialog.ui:181
msgid "Refuse to play invalid moves"
msgstr ""
-#: qt/ui/prefs_dialog.ui:93
+#: qt/ui/prefs_dialog.ui:103
msgid "Min. players for a solo:"
msgstr ""
-#: qt/ui/prefs_dialog.ui:113
+#: qt/ui/prefs_dialog.ui:123
msgid "Minimum number of players needed to take into account the solo bonus"
msgstr ""
-#: qt/ui/prefs_dialog.ui:127
+#: qt/ui/prefs_dialog.ui:137
msgid "Solo value:"
msgstr ""
-#: qt/ui/prefs_dialog.ui:147
+#: qt/ui/prefs_dialog.ui:157
msgid "Value of the solo bonus. Set it to 0 if you don't want solo bonus"
msgstr ""
@@ -1827,3 +1322,7 @@
#: qt/ui/training_widget.ui:42
msgid "Complement"
msgstr ""
+
+#: qt/ui/training_widget.ui:52
+msgid "Search"
+msgstr ""
Index: po/fr.po
===================================================================
RCS file: /cvsroot/eliot/eliot/po/fr.po,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- po/fr.po 22 Nov 2008 14:40:26 -0000 1.20
+++ po/fr.po 8 Dec 2008 21:45:28 -0000 1.21
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: eliot 1.7\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-11-16 10:29+0100\n"
+"POT-Creation-Date: 2008-12-08 22:07+0100\n"
"PO-Revision-Date: 2008-11-16 10:35+0100\n"
"Last-Translator: Olivier Teulière <address@hidden>\n"
"Language-Team: French <address@hidden>\n"
@@ -285,78 +285,83 @@
msgid "result:"
msgstr "résultat :"
-#: dic/regexpmain.cpp:108 wxwin/searchpanel.cc:296
+#: dic/regexpmain.cpp:108
msgid "Invalid regular expression: "
msgstr "Expression régulière invalide : "
-#: game/game.cpp:468
+#: game/game.cpp:232
msgid "The bag is empty"
msgstr "Le sac est vide"
-#: game/game.cpp:475 game/game.cpp:485
+#: game/game.cpp:239 game/game.cpp:249
msgid "Not enough vowels or consonants to complete the rack"
msgstr "Pas assez de voyelles ou de consonnes pour compléter le tirage"
-#: game/training.cpp:49 qt/new_game.cpp:97 qt/new_game.cpp:105
-#: qt/new_game.cpp:140 qt/ui/new_game.ui:46
+#: game/game_factory.cpp:148
+#, fuzzy, c-format
+msgid "Player %u"
+msgstr "Joueur %1"
+
+#: game/training.cpp:52 qt/new_game.cpp:98 qt/new_game.cpp:107
+#: qt/new_game.cpp:142 qt/ui/new_game.ui:46
msgid "Training"
msgstr "Entraînement"
-#: utils/ncurses.cpp:282
+#: utils/ncurses.cpp:283
msgid "Scores"
msgstr "Scores"
-#: utils/ncurses.cpp:286 utils/ncurses.cpp:291
+#: utils/ncurses.cpp:287 utils/ncurses.cpp:293
#, c-format
msgid "%s: %d"
msgstr "%s : %d"
-#: utils/ncurses.cpp:303
+#: utils/ncurses.cpp:305
msgid "Racks"
msgstr "Tirages"
-#: utils/ncurses.cpp:307 utils/ncurses.cpp:313
+#: utils/ncurses.cpp:309 utils/ncurses.cpp:315
#, c-format
msgid "%s: %ls"
msgstr "%s : %ls"
-#: utils/ncurses.cpp:327 utils/ncurses.cpp:330
+#: utils/ncurses.cpp:329 utils/ncurses.cpp:332
msgid "Search complete"
msgstr "Recherche terminée"
-#: utils/ncurses.cpp:340 qt/ui/training_widget.ui:71
+#: utils/ncurses.cpp:341 qt/ui/training_widget.ui:71
msgid "Search results"
msgstr "Résultats de la recherche"
-#: utils/ncurses.cpp:369
+#: utils/ncurses.cpp:370
msgid "History of the game"
msgstr "Historique de la partie"
-#: utils/ncurses.cpp:375
+#: utils/ncurses.cpp:376
msgid " N | RACK | SOLUTION | REF | PTS | P | BONUS"
msgstr " N | TIRAGE | SOLUTION | REF | PTS | J | BONUS"
-#: utils/ncurses.cpp:414 qt/history_widget.cpp:143 qt/main_window.cpp:553
+#: utils/ncurses.cpp:415 qt/history_widget.cpp:143 qt/main_window.cpp:616
msgid "(PASS)"
msgstr "(PASSE)"
-#: utils/ncurses.cpp:440
+#: utils/ncurses.cpp:441
msgid "Help"
msgstr "Aide"
-#: utils/ncurses.cpp:444
+#: utils/ncurses.cpp:445
msgid "[Global]"
msgstr "[Général]"
-#: utils/ncurses.cpp:445
+#: utils/ncurses.cpp:446
msgid " h, H, ? Show/hide help box"
msgstr " h, H, ? Afficher/cacher la boîte d'aide"
-#: utils/ncurses.cpp:446
+#: utils/ncurses.cpp:447
msgid " y, Y Show/hide history of the game"
msgstr " y, Y Afficher/cacher l'historique de la partie"
-#: utils/ncurses.cpp:447
+#: utils/ncurses.cpp:448
msgid ""
" b, B Show/hide contents of the bag (including letters of the "
"racks)"
@@ -364,99 +369,98 @@
" b, B Afficher/cacher le contenu du sac (avec les lettres des "
"tirages)"
-#: utils/ncurses.cpp:448
+#: utils/ncurses.cpp:449
msgid " e, E Show/hide dots on empty squares of the board"
msgstr ""
" e, E Afficher/cacher les points sur les cases vides du "
"plateau de jeu"
-#: utils/ncurses.cpp:449
+#: utils/ncurses.cpp:450
msgid " d, D Check the existence of a word in the dictionary"
msgstr " d, D Vérifier l'existence d'un mot dans le
dictionnaire"
-#: utils/ncurses.cpp:450
+#: utils/ncurses.cpp:451
msgid " j, J Play a word"
msgstr " j, J Jouer un mot"
-#: utils/ncurses.cpp:451
+#: utils/ncurses.cpp:452
msgid " s, S Save the game"
msgstr " s, S Sauvegarder la partie"
-#: utils/ncurses.cpp:452
+#: utils/ncurses.cpp:453
msgid " l, L Load a game"
msgstr " l, L Charger une partie"
-#: utils/ncurses.cpp:453
+#: utils/ncurses.cpp:454
msgid " q, Q Quit"
msgstr " q, Q Quitter"
-#: utils/ncurses.cpp:456
+#: utils/ncurses.cpp:457
msgid "[Training mode]"
msgstr "[Mode entraînement]"
-#: utils/ncurses.cpp:457
+#: utils/ncurses.cpp:458
msgid " * Take a random rack"
msgstr " * Tirage aléatoire"
-#: utils/ncurses.cpp:458
+#: utils/ncurses.cpp:459
msgid " + Complete the current rack randomly"
msgstr " + Compléter le tirage courant de manière
aléatoire"
-#: utils/ncurses.cpp:459
+#: utils/ncurses.cpp:460
msgid " t, T Set the rack manually"
msgstr " t, T Entrer le tirage manuellement"
-#: utils/ncurses.cpp:460
+#: utils/ncurses.cpp:461
msgid " c, C Compute all the possible words"
msgstr " c, C Calculer tous les mots possibles"
-#: utils/ncurses.cpp:461
+#: utils/ncurses.cpp:462
msgid " r, R Show/hide search results"
msgstr " r, R Afficher/cacher les résultats de la recherche"
-#: utils/ncurses.cpp:464
+#: utils/ncurses.cpp:465
msgid "[Duplicate mode]"
msgstr "[Mode duplicate]"
-#: utils/ncurses.cpp:465
+#: utils/ncurses.cpp:466
msgid " n, N Switch to the next human player"
msgstr " n, N Passer au joueur humain suivant"
-#: utils/ncurses.cpp:468
+#: utils/ncurses.cpp:469
msgid "[Free game mode]"
msgstr "[Mode partie libre]"
-#: utils/ncurses.cpp:469
+#: utils/ncurses.cpp:470
msgid " p, P Pass your turn (with or without changing letters)"
msgstr ""
" p, P Passer son tour (en changeant ou pas certaines lettres)"
-#: utils/ncurses.cpp:472
+#: utils/ncurses.cpp:473
msgid "[Miscellaneous]"
msgstr "[Divers]"
-#: utils/ncurses.cpp:473
+#: utils/ncurses.cpp:474
msgid " <up>, <down> Navigate in a box line by line"
msgstr " <haut>, <bas> Naviguer dans une boîte ligne par ligne"
-#: utils/ncurses.cpp:474
+#: utils/ncurses.cpp:475
msgid " <pgup>, <pgdown> Navigate in a box page by page"
msgstr " <pgup>, <pgdown> Naviguer dans une boîte page par page"
-#: utils/ncurses.cpp:475
+#: utils/ncurses.cpp:476
msgid " Ctrl-l Refresh the screen"
msgstr " Ctrl-l Rafraîchir l'écran"
-#: utils/ncurses.cpp:486 wxwin/auxframes.cc:147 qt/main_window.cpp:636
-#: qt/ui/main_window.ui:94
+#: utils/ncurses.cpp:487 qt/main_window.cpp:712 qt/ui/main_window.ui:91
msgid "Bag"
msgstr "Sac"
-#: utils/ncurses.cpp:493
+#: utils/ncurses.cpp:494
msgid " LETTER | POINTS | FREQUENCY | REMAINING"
msgstr " LETTRE | POINTS |Â FREQUENCE | RESTANT"
-#: utils/ncurses.cpp:546
+#: utils/ncurses.cpp:547
msgid "Play a word"
msgstr "Jouer un mot"
@@ -464,788 +468,117 @@
#. "Coordinates:". For example:
#. Pl. word :
#. Coordinates:
-#: utils/ncurses.cpp:547 utils/ncurses.cpp:555
+#: utils/ncurses.cpp:548 utils/ncurses.cpp:556
msgid "Played word:"
msgstr "Mot joué :"
-#: utils/ncurses.cpp:548 utils/ncurses.cpp:556
+#: utils/ncurses.cpp:549 utils/ncurses.cpp:557
msgid "Coordinates:"
msgstr "Coordonnées :"
-#: utils/ncurses.cpp:570
+#: utils/ncurses.cpp:571
msgid "Incorrect or misplaced word"
msgstr "Mot incorrect ou mal placé"
-#: utils/ncurses.cpp:580
+#: utils/ncurses.cpp:581
msgid "Dictionary"
msgstr "Dictionnaire"
-#: utils/ncurses.cpp:581
+#: utils/ncurses.cpp:582
msgid "Enter the word to check:"
msgstr "Entrer le mot à vérifier:"
-#: utils/ncurses.cpp:590
+#: utils/ncurses.cpp:591
#, c-format
msgid "The word '%ls' exists"
msgstr "Le mot '%ls' existe"
-#: utils/ncurses.cpp:592
+#: utils/ncurses.cpp:593
#, c-format
msgid "The word '%ls' does not exist"
msgstr "Le mot '%ls' n'existe pas"
-#: utils/ncurses.cpp:602 wxwin/mainframe.cc:475 wxwin/mainframe.cc:483
+#: utils/ncurses.cpp:603
msgid "Save the game"
msgstr "Sauvegarder la partie"
-#: utils/ncurses.cpp:603 utils/ncurses.cpp:633
+#: utils/ncurses.cpp:604 utils/ncurses.cpp:634
msgid "Enter the file name:"
msgstr "Entrer le nom du fichier :"
-#: utils/ncurses.cpp:613
+#: utils/ncurses.cpp:614
#, c-format
msgid "Cannot open file %ls for writing"
msgstr "Impossible d'ouvrir le fichier %ls en écriture"
-#: utils/ncurses.cpp:621
+#: utils/ncurses.cpp:622
#, c-format
msgid "Game saved in '%ls'"
msgstr "Partie sauvée dans '%ls'"
-#: utils/ncurses.cpp:632 wxwin/mainframe.cc:275 wxwin/mainframe.cc:405
-#: wxwin/mainframe.cc:429 qt/main_window.cpp:398
+#: utils/ncurses.cpp:633 qt/main_window.cpp:460
msgid "Load a game"
msgstr "Charger une partie"
-#: utils/ncurses.cpp:643
+#: utils/ncurses.cpp:644
#, c-format
msgid "Cannot open file '%ls' for reading"
msgstr "Impossible d'ouvrir le fichier '%ls' en lecture"
-#: utils/ncurses.cpp:651
+#: utils/ncurses.cpp:652
#, c-format
msgid "Invalid saved game"
msgstr "Partie sauvée invalide"
-#: utils/ncurses.cpp:656 qt/main_window.cpp:412
+#: utils/ncurses.cpp:657 qt/main_window.cpp:475
#, c-format
msgid "Game loaded"
msgstr "Partie chargée"
-#: utils/ncurses.cpp:671
+#: utils/ncurses.cpp:673
msgid "Pass your turn"
msgstr "Passer son tour"
-#: utils/ncurses.cpp:672
+#: utils/ncurses.cpp:674
msgid "Enter the letters to change:"
msgstr "Entrer les lettres à changer:"
-#: utils/ncurses.cpp:681
+#: utils/ncurses.cpp:683
msgid "Cannot pass the turn"
msgstr "Impossible de passer le tour"
-#: utils/ncurses.cpp:691
+#: utils/ncurses.cpp:693
msgid "Set rack"
msgstr "Choix du tirage"
-#: utils/ncurses.cpp:692
+#: utils/ncurses.cpp:694
msgid "Enter the new letters:"
msgstr "Entrer les nouvelles lettres:"
-#: utils/ncurses.cpp:701
+#: utils/ncurses.cpp:703
msgid "Cannot take these letters from the bag"
msgstr "Impossible de retirer ces lettres du sac"
-#: utils/ncurses.cpp:1095 qt/main_window.cpp:214 qt/ui/prefs_dialog.ui:181
+#: utils/ncurses.cpp:1112 qt/main_window.cpp:241 qt/ui/prefs_dialog.ui:191
msgid "Training mode"
msgstr "Mode entraînement"
-#: utils/ncurses.cpp:1097 qt/ui/prefs_dialog.ui:162
+#: utils/ncurses.cpp:1114 qt/ui/prefs_dialog.ui:172
msgid "Free game mode"
msgstr "Mode partie libre"
-#: utils/ncurses.cpp:1099 qt/ui/prefs_dialog.ui:75
+#: utils/ncurses.cpp:1116 qt/ui/prefs_dialog.ui:85
msgid "Duplicate mode"
msgstr "Mode duplicate"
-#: utils/ncurses.cpp:1102 qt/ui/new_game.ui:67
+#: utils/ncurses.cpp:1119 qt/ui/new_game.ui:67
msgid "Joker game"
msgstr "Partie joker"
-#: utils/ncurses.cpp:1103
+#: utils/ncurses.cpp:1120
msgid "[h for help]"
msgstr "[h pour l'aide]"
-#: wxwin/auxframes.cc:122
-msgid "Grid"
-msgstr "Grille"
-
-#: wxwin/auxframes.cc:202 qt/ui/training_widget.ui:52
-msgid "Search"
-msgstr "Recherche"
-
-#: wxwin/auxframes.cc:233 qt/ui/dic_tools_widget.ui:31
-msgid "Check"
-msgstr "Vérification"
-
-#: wxwin/auxframes.cc:238
-msgid "Word to check"
-msgstr "Mot à vérifier"
-
-#: wxwin/auxframes.cc:256 wxwin/configdb.cc:203 wxwin/searchpanel.cc:107
-msgid "No dictionary"
-msgstr "Pas de dictionnaire"
-
-#: wxwin/auxframes.cc:260
-msgid "exists"
-msgstr "existe"
-
-#: wxwin/auxframes.cc:262
-msgid "doesn't exist"
-msgstr "n'existe pas"
-
-#: wxwin/auxframes.cc:303
-msgid "Copy"
-msgstr "Copier"
-
-#: wxwin/auxframes.cc:347 wxwin/mainframe.cc:502 wxwin/mainframe.cc:522
-#: wxwin/mainframe.cc:553
-msgid "No on going game"
-msgstr "Pas de partie en cours"
-
-#: wxwin/auxframes.cc:362 wxwin/searchpanel.cc:119
-msgid "No result"
-msgstr "Pas de résultat"
-
-#: wxwin/auxframes.cc:372
-msgid "Rack + 1"
-msgstr "Tirage + 1"
-
-#: wxwin/auxframes.cc:414
-msgid "Rack: "
-msgstr "Tirage :"
-
-#: wxwin/auxframes.cc:435
-msgid "Benjamins"
-msgstr "Benjamins"
-
-#: wxwin/auxframes.cc:476
-msgid "Extensions"
-msgstr "Raccords"
-
-#: wxwin/auxframes.cc:542 wxwin/mainframe.cc:325
-msgid "Game history"
-msgstr "Historique de la partie"
-
-#: wxwin/auxframes.cc:574 wxwin/mainframe.cc:327
-msgid "Results"
-msgstr "Résultats"
-
-#: wxwin/confdimdlg.cc:62
-msgid "left"
-msgstr "gauche"
-
-#: wxwin/confdimdlg.cc:63
-msgid "centered"
-msgstr "centré"
-
-#: wxwin/confdimdlg.cc:64
-msgid "right"
-msgstr "droite"
-
-#: wxwin/confdimdlg.cc:118
-msgid "Alignment"
-msgstr "Justification"
-
-#: wxwin/confdimdlg.cc:120
-msgid "Spacing"
-msgstr "Espacement"
-
-#: wxwin/confdimdlg.cc:124 wxwin/confdimdlg.cc:135
-msgid "Font..."
-msgstr "Police..."
-
-#: wxwin/confdimdlg.cc:129
-msgid "Title column "
-msgstr "titre colomne "
-
-#: wxwin/confdimdlg.cc:140
-msgid "Text column "
-msgstr "Texte colomne "
-
-#: wxwin/confdimdlg.cc:150
-msgid "Column heading"
-msgstr "Titre de la colomne"
-
-#: wxwin/confdimdlg.cc:154
-msgid "Alignment of the column heading"
-msgstr "Justification du titre de la colomne"
-
-#: wxwin/confdimdlg.cc:158
-msgid "Spacing of the heading characters"
-msgstr "Espacement des caractères du titre"
-
-#: wxwin/confdimdlg.cc:167
-msgid "Inner dimension of the column (in mm)"
-msgstr "Dimension interne de la colomne (en mm)"
-
-#: wxwin/confdimdlg.cc:176
-msgid "Alignment of the column text"
-msgstr "Justification du texte de la colomne"
-
-#: wxwin/confdimdlg.cc:180
-msgid "Characters spacing"
-msgstr "Espacement des caractères"
-
-#: wxwin/confdimdlg.cc:231
-msgid "Title spc. top"
-msgstr "Titre esp. haut"
-
-#: wxwin/confdimdlg.cc:233
-msgid "Text spc. top"
-msgstr "Texte esp. haut"
-
-#: wxwin/confdimdlg.cc:235
-msgid "Text spc. left"
-msgstr "Texte esp. gauche"
-
-#: wxwin/confdimdlg.cc:252
-msgid "Title spc. bot."
-msgstr "Titre esp. bas"
-
-#: wxwin/confdimdlg.cc:254
-msgid "Text spc. bot."
-msgstr "Texte esp. bas"
-
-#: wxwin/confdimdlg.cc:256
-msgid "Text spc. right"
-msgstr "Text esp. droite"
-
-#: wxwin/confdimdlg.cc:286
-msgid "Printer"
-msgstr "Imprimante"
-
-#: wxwin/confdimdlg.cc:288
-msgid "Configure the printer"
-msgstr "Configuration de l'imprimante"
-
-#: wxwin/confdimdlg.cc:290
-msgid "Page"
-msgstr "Page"
-
-#: wxwin/confdimdlg.cc:292
-msgid "Configure the dimensions of the page"
-msgstr "Configuration des dimensions de la page"
-
-#: wxwin/confdimdlg.cc:298
-msgid "Cancel the last changes"
-msgstr "Annuler les derniers changements"
-
-#: wxwin/confdimdlg.cc:304 wxwin/confsearch.cc:42
-msgid "Save the changes"
-msgstr "Sauvegarder les changements"
-
-#: wxwin/configdb.cc:322
-msgid "Nb"
-msgstr "Num"
-
-#: wxwin/configdb.cc:323 wxwin/mainframe.cc:174 qt/history_widget.cpp:52
-msgid "Rack"
-msgstr "Tirage"
-
-#: wxwin/configdb.cc:324
-msgid "Solution"
-msgstr "Solution"
-
-#: wxwin/configdb.cc:325 wxwin/gfxresult.cc:69
-msgid "Pos"
-msgstr "Pos"
-
-#: wxwin/configdb.cc:326 wxwin/gfxresult.cc:70
-msgid "Pts"
-msgstr "Pts"
-
-#: wxwin/confsearch.cc:36
-msgid "Search on joker in 7+1 panel"
-msgstr "Rechercher sur joker dans la fenêtre 7+1"
-
-#: wxwin/confsearch.cc:37
-msgid "Check rack validity"
-msgstr "Vérifier la validité du tirage"
-
-#: wxwin/confsearch.cc:40
-msgid "Cancel last changes"
-msgstr "Annuler les derniers changements"
-
-#: wxwin/gfxresult.cc:67 qt/history_widget.cpp:53 qt/training_widget.cpp:59
-msgid "Word"
-msgstr "Mot"
-
-#: wxwin/gfxresult.cc:71
-msgid "Results of the search"
-msgstr "Résultats de la recherche"
-
-#: wxwin/mainframe.cc:188
-msgid " Rack "
-msgstr " Tirage "
-
-#: wxwin/mainframe.cc:189
-msgid " Complement "
-msgstr " Complément "
-
-#: wxwin/mainframe.cc:190
-msgid " Search "
-msgstr " Rechercher "
-
-#: wxwin/mainframe.cc:191
-msgid " Back "
-msgstr " Arrière "
-
-#: wxwin/mainframe.cc:192
-msgid " Play "
-msgstr " Jouer "
-
-#: wxwin/mainframe.cc:194
-msgid "Random rack"
-msgstr "Tirage aléatoire"
-
-#: wxwin/mainframe.cc:196
-msgid "Random complement of the rack"
-msgstr "Complément aléatoire du tirage"
-
-#: wxwin/mainframe.cc:198
-msgid "Search with the current rack"
-msgstr "Recherche sur le tirage courant"
-
-#: wxwin/mainframe.cc:200
-msgid "Go back one turn"
-msgstr "Revenir un coup en arrière"
-
-#: wxwin/mainframe.cc:202
-msgid "Play the selected word"
-msgstr "Jouer le mot selectionné"
-
-#: wxwin/mainframe.cc:272
-msgid "&New game\tCtrl+N"
-msgstr "&Nouvelle partie\tCtrl+N"
-
-#: wxwin/mainframe.cc:272 qt/main_window.cpp:316
-msgid "Start a new game"
-msgstr "Démarrer une nouvelle partie"
-
-#: wxwin/mainframe.cc:273
-msgid "New &joker game\tCtrl+J"
-msgstr "Nouvelle partie &joker\tCtrl+J"
-
-#: wxwin/mainframe.cc:273
-msgid "Start a new joker game"
-msgstr "Démarrer une nouvelle partie joker"
-
-#: wxwin/mainframe.cc:275
-msgid "&Load...\tCtrl+L"
-msgstr "&Charger...\tCtrl+O"
-
-#: wxwin/mainframe.cc:276
-msgid "&Save as...\tCtrl+S"
-msgstr "&Enregistrer sous...\tCtrl+S"
-
-#: wxwin/mainframe.cc:276 qt/main_window.cpp:321
-msgid "Save the current game"
-msgstr "Sauvegarder la partie en cours"
-
-#: wxwin/mainframe.cc:278
-msgid "&Print...\tCtrl+P"
-msgstr "&Imprimer...\tCtrl+P"
-
-#: wxwin/mainframe.cc:278
-msgid "Print this game"
-msgstr "Imprimer la partie en cours"
-
-#: wxwin/mainframe.cc:279
-msgid "Print pre&view..."
-msgstr "&Aperçu avant impression..."
-
-#: wxwin/mainframe.cc:279
-msgid "Print preview of the game"
-msgstr "Aperçu avant impression de la partie"
-
-#: wxwin/mainframe.cc:281
-msgid "Print in PostS&cript..."
-msgstr "Imprimer au format &PostScript..."
-
-#: wxwin/mainframe.cc:281
-msgid "Print in a PostScript file"
-msgstr "Imprimer dans un fichier PostScript"
-
-#: wxwin/mainframe.cc:284
-msgid "&Quit\tCtrl+Q"
-msgstr "&Quitter\tCtrl+Q"
-
-#: wxwin/mainframe.cc:284 qt/main_window.cpp:327
-msgid "Quit Eliot"
-msgstr "Quitter Eliot"
-
-#: wxwin/mainframe.cc:287
-msgid "&Dictionary...\tCtrl+D"
-msgstr "&Dictionnaire...\tCtrl+D"
-
-#: wxwin/mainframe.cc:287 wxwin/mainframe.cc:604 qt/main_window.cpp:603
-msgid "Choose a dictionary"
-msgstr "Choisir un dictionnaire"
-
-#: wxwin/mainframe.cc:288
-msgid "&Search..."
-msgstr "&Recherche..."
-
-#: wxwin/mainframe.cc:288
-msgid "Search options"
-msgstr "Options de recherche"
-
-#: wxwin/mainframe.cc:291
-msgid "&Background..."
-msgstr "&Fond..."
-
-#: wxwin/mainframe.cc:291
-msgid "Background color"
-msgstr "Couleur de fond"
-
-#: wxwin/mainframe.cc:292
-msgid "L&ines..."
-msgstr "L&ignes..."
-
-#: wxwin/mainframe.cc:292
-msgid "Color of the lines"
-msgstr "Couleur des lignes"
-
-#: wxwin/mainframe.cc:294
-msgid "&Played letters..."
-msgstr "Lettres &jouées..."
-
-#: wxwin/mainframe.cc:294
-msgid "Color of the letters played on the board"
-msgstr "Couleur des lettres jouées sur la grille"
-
-#: wxwin/mainframe.cc:295
-msgid "&Temporary letters..."
-msgstr "Lettres &temporaires..."
-
-#: wxwin/mainframe.cc:295
-msgid "Color of the letters of the temporary word"
-msgstr "Couleur des lettres du mot temporaire"
-
-#: wxwin/mainframe.cc:296
-msgid "B&ackground of played letters..."
-msgstr "Fo&nd des lettres jouées..."
-
-#: wxwin/mainframe.cc:296
-msgid "Background color of the letters played on the board"
-msgstr "Couleur de fond des lettres jouées sur la grille"
-
-#: wxwin/mainframe.cc:297
-msgid "Ba&ckground of temporary letters..."
-msgstr "Fon&d des lettres temporaires..."
-
-#: wxwin/mainframe.cc:297
-msgid "Background color of the temporary letters on the board"
-msgstr "Couleur de fond des lettres temporaires sur la grille"
-
-#: wxwin/mainframe.cc:299
-msgid "Double &letter..."
-msgstr "&Lettre compte double..."
-
-#: wxwin/mainframe.cc:299
-msgid "Color of the \"double letter\" squares"
-msgstr "Couleur des cases \"mot compte double\""
-
-#: wxwin/mainframe.cc:300
-msgid "Triple l&etter..."
-msgstr "L&ettre compte triple..."
-
-#: wxwin/mainframe.cc:300
-msgid "Color of the \"triple letter\" squares"
-msgstr "Couleur des cases \"mot compte triple\""
-
-#: wxwin/mainframe.cc:301
-msgid "Double &word..."
-msgstr "&Mot compte double..."
-
-#: wxwin/mainframe.cc:301
-msgid "Color of the \"double word\" squares"
-msgstr "Couleur des cases \"mot compte double\""
-
-#: wxwin/mainframe.cc:302
-msgid "Triple w&ord..."
-msgstr "M&ot compte triple..."
-
-#: wxwin/mainframe.cc:302
-msgid "Color of the \"triple word\" squares"
-msgstr "Couleur des cases \"mot compte triple\""
-
-#: wxwin/mainframe.cc:304
-msgid "&Default colors"
-msgstr "&Couleurs d'origine"
-
-#: wxwin/mainframe.cc:304
-msgid "Restore the default colors"
-msgstr "Restaurer les couleurs d'origine"
-
-#: wxwin/mainframe.cc:307
-msgid "&Search letters..."
-msgstr "&Lettres de recherche..."
-
-#: wxwin/mainframe.cc:307
-msgid "Font for the search"
-msgstr "Police de caractères pour la recherche"
-
-#: wxwin/mainframe.cc:310 wxwin/mainframe.cc:334 qt/history_widget.cpp:177
-#: qt/main_window.cpp:314
-msgid "&Game"
-msgstr "&Partie"
-
-#: wxwin/mainframe.cc:310
-msgid "Configuration of the game"
-msgstr "Configuration de la partie"
-
-#: wxwin/mainframe.cc:311
-msgid "&Fonts"
-msgstr "P&olices de caractères"
-
-#: wxwin/mainframe.cc:311
-msgid "Configuration of the fonts"
-msgstr "Configuration des polices de caractères"
-
-#: wxwin/mainframe.cc:312
-msgid "&Colors"
-msgstr "&Couleurs"
-
-#: wxwin/mainframe.cc:312
-msgid "Configuration of the colors"
-msgstr "Configuration des couleurs"
-
-#: wxwin/mainframe.cc:313
-msgid "&Printing..."
-msgstr "&Impression..."
-
-#: wxwin/mainframe.cc:313
-msgid "Configuration of the printing parameters"
-msgstr "Configuration des paramètres d'impression"
-
-#: wxwin/mainframe.cc:316
-msgid "&Board"
-msgstr "&Grille"
-
-#: wxwin/mainframe.cc:316
-msgid "Game board"
-msgstr "Plateau de jeu"
-
-#: wxwin/mainframe.cc:317
-msgid "Ba&g\tCtrl+B"
-msgstr "&Sac\tCtrl-B"
-
-#: wxwin/mainframe.cc:317
-msgid "Remaining letters in the bag"
-msgstr "Lettres restantes dans le sac"
-
-#: wxwin/mainframe.cc:318
-msgid "&Check"
-msgstr "&Vérification"
-
-#: wxwin/mainframe.cc:318
-msgid "Check a word in the dictionary"
-msgstr "Vérifier l'existence d'un mot dans le dictionnaire"
-
-#: wxwin/mainframe.cc:319
-msgid "&Search"
-msgstr "&Recherche"
-
-#: wxwin/mainframe.cc:319
-msgid "Search in the dictionary"
-msgstr "Recherche dans le dictionnaire"
-
-#: wxwin/mainframe.cc:321
-msgid "&Rack + 1"
-msgstr "&Tirage + 1"
-
-#: wxwin/mainframe.cc:321
-msgid "Letters of the rack plus one"
-msgstr "Lettres du tirage plus une"
-
-#: wxwin/mainframe.cc:322
-msgid "&Extensions"
-msgstr "&Raccords"
-
-#: wxwin/mainframe.cc:322
-msgid "One-letter extensions on a word of the search"
-msgstr "Raccords d'une lettre sur un mot de la recherche"
-
-#: wxwin/mainframe.cc:323
-msgid "&Benjamins"
-msgstr "&Benjamins"
-
-#: wxwin/mainframe.cc:323
-msgid "Benjamins (3-letter extensions) on a word of the search"
-msgstr "Benjamins (préfixes de 3 lettres) sur un mot de la recherche"
-
-#: wxwin/mainframe.cc:325
-msgid "Game &history\tCtrl+H"
-msgstr "&Historique de la partie\tCtrl+H"
-
-#: wxwin/mainframe.cc:327
-msgid "R&esults"
-msgstr "Ré&sultats"
-
-#: wxwin/mainframe.cc:331 qt/main_window.cpp:352
-msgid "&About..."
-msgstr "Ã &propos..."
-
-#: wxwin/mainframe.cc:331 wxwin/mainframe.cc:733 qt/main_window.cpp:353
-#: qt/main_window.cpp:714
-msgid "About Eliot"
-msgstr "Ã propos d'Eliot"
-
-#: wxwin/mainframe.cc:335 qt/main_window.cpp:331
-msgid "&Settings"
-msgstr "Para&mètres"
-
-#: wxwin/mainframe.cc:336 qt/main_window.cpp:339
-msgid "&Windows"
-msgstr "&Fenêtres"
-
-#: wxwin/mainframe.cc:337 qt/main_window.cpp:351
-msgid "&Help"
-msgstr "&Aide"
-
-#: wxwin/mainframe.cc:361 wxwin/mainframe.cc:408
-msgid "No dictionary selected"
-msgstr "Pas de dictionnaire sélectionné"
-
-#: wxwin/mainframe.cc:361 wxwin/mainframe.cc:408 wxwin/mainframe.cc:502
-#: wxwin/mainframe.cc:522 wxwin/mainframe.cc:553
-msgid "Eliot: error"
-msgstr "Eliot : erreur"
-
-#: wxwin/mainframe.cc:428
-msgid "Cannot open "
-msgstr "Impossible d'ouvrir "
-
-#: wxwin/mainframe.cc:440 wxwin/mainframe.cc:449 qt/main_window.cpp:405
-msgid "Error while loading the game"
-msgstr "Erreur pendant le chargement de la partie"
-
-#: wxwin/mainframe.cc:441
-msgid "Invalid game"
-msgstr "Partie invalide"
-
-#: wxwin/mainframe.cc:450
-msgid "The game is empty"
-msgstr "La partie est vide"
-
-#: wxwin/mainframe.cc:482
-msgid "Cannot create "
-msgstr "Impossible de créer "
-
-#: wxwin/mainframe.cc:511 wxwin/mainframe.cc:575
-msgid "Printing not done"
-msgstr "Impression non effectuée"
-
-#: wxwin/mainframe.cc:511 wxwin/mainframe.cc:539
-msgid "Printing"
-msgstr "Impression"
-
-#: wxwin/mainframe.cc:534
-msgid "Print preview problem.\n"
-msgstr "Problème avec l'aperçu avant impression.\n"
-
-#: wxwin/mainframe.cc:535
-msgid "The printer may not be correctly initialized"
-msgstr "Il se peut que l'imprimante soit mal initialisée"
-
-#: wxwin/mainframe.cc:536
-msgid "Print preview"
-msgstr "Aperçu avant impression"
-
-#: wxwin/mainframe.cc:557
-msgid "Print to a PostScript file"
-msgstr "Imprimer dans un fichier PostScript"
-
-#: wxwin/mainframe.cc:576 wxwin/mainframe.cc:582
-msgid "PostScript printing"
-msgstr "Impression PostScript"
-
-#: wxwin/mainframe.cc:581
-msgid "Cannot initialize PostScript printer"
-msgstr "Impossible d'initialiser l'impression PostScript"
-
-#: wxwin/mainframe.cc:729
-msgid ""
-"This program is free software; you can redistribute it and/or modify it "
-"under the terms of the GNU General Public License as published by the Free "
-"Software Foundation; either version 2 of the License, or (at your option) "
-"any later version."
-msgstr ""
-"Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le "
-"modifier selon les termes de la licence \"GNU General Public License\" "
-"publiée par la Free Software Fundation ; soit la version 2 de la Licence, "
-"soit (comme vous le préférez), n'importe quelle version ultérieure."
-
-#: wxwin/mainframe.cc:927
-msgid "turn:"
-msgstr "coup :"
-
-#: wxwin/mainframe.cc:928
-msgid "points:"
-msgstr "points :"
-
-#: wxwin/mainframe.cc:963
-msgid ""
-"The bag doesn't contain enough letters\n"
-"for a new rack."
-msgstr ""
-"Le sac ne contient pas assez de lettres\n"
-"pour un nouveau tirage."
-
-#: wxwin/mainframe.cc:964 wxwin/mainframe.cc:968 wxwin/mainframe.cc:972
-msgid "Rack validation"
-msgstr "Validation du tirage"
-
-#: wxwin/mainframe.cc:967
-msgid "The rack must contain at least 2 consonants and 2 vowels."
-msgstr "Le tirage doit contenir au moins 2 consonnes et 2 voyelles."
-
-#: wxwin/mainframe.cc:971
-msgid "The rack contains invalid letters for the current dictionary"
-msgstr ""
-"Le tirage contient des lettres incorrectes pour le dictionnaire courant"
-
-#: wxwin/mainframe.cc:975
-msgid "The rack has been modified manually"
-msgstr "Le tirage a été modifié manuellement"
-
-#: wxwin/searchpanel.cc:146 wxwin/searchpanel.cc:190
-#, c-format
-msgid "The search is limited to %d letters"
-msgstr "La recherche est limitée à %d lettres"
-
-#: wxwin/searchpanel.cc:249
-msgid "Minimum length"
-msgstr "Longueur minimum"
-
-#: wxwin/searchpanel.cc:251
-msgid "Maximum length"
-msgstr "Longueur maximum"
-
-#: wxwin/searchpanel.cc:320
-msgid "Cross words"
-msgstr "Mots croisés"
-
-#: wxwin/searchpanel.cc:321 qt/ui/dic_tools_widget.ui:69
-msgid "Plus 1"
-msgstr "Plus 1"
-
-#: wxwin/searchpanel.cc:322 qt/ui/dic_tools_widget.ui:94
-msgid "Regular expressions"
-msgstr "Expressions régulières"
-
#: qt/bag_widget.cpp:50 qt/dic_tools_widget.cpp:100
msgid "Letter"
msgstr "Lettre"
@@ -1313,6 +646,14 @@
msgid "Turn"
msgstr "Coup"
+#: qt/history_widget.cpp:52
+msgid "Rack"
+msgstr "Tirage"
+
+#: qt/history_widget.cpp:53 qt/training_widget.cpp:59
+msgid "Word"
+msgstr "Mot"
+
#: qt/history_widget.cpp:54 qt/training_widget.cpp:60
msgid "Ref"
msgstr "Ref"
@@ -1321,11 +662,15 @@
msgid "Player"
msgstr "Joueur"
-#: qt/main_window.cpp:109 qt/main_window.cpp:654 qt/ui/main_window.ui:40
+#: qt/history_widget.cpp:177 qt/main_window.cpp:347
+msgid "&Game"
+msgstr "&Partie"
+
+#: qt/main_window.cpp:112 qt/main_window.cpp:730 qt/ui/main_window.ui:32
msgid "Board"
msgstr "Grille"
-#: qt/main_window.cpp:164
+#: qt/main_window.cpp:167
msgid ""
"Cannot load dictionary '%1' indicated in the preferences.\n"
"Reason: %2"
@@ -1333,207 +678,335 @@
"Impossible de charger le dictionnaire '%1' indiqué dans les préférences.\n"
"Raison : %2"
-#: qt/main_window.cpp:206
+#: qt/main_window.cpp:233
msgid "No game"
msgstr "Pas de partie en cours"
-#: qt/main_window.cpp:219
+#: qt/main_window.cpp:246
msgid "Duplicate game"
msgstr "Partie duplicate"
-#: qt/main_window.cpp:224 qt/new_game.cpp:99 qt/new_game.cpp:165
+#: qt/main_window.cpp:251 qt/new_game.cpp:100 qt/new_game.cpp:167
#: qt/ui/new_game.ui:41
msgid "Free game"
msgstr "Partie libre"
-#: qt/main_window.cpp:236
+#: qt/main_window.cpp:263
msgid "Dictionary: %1"
msgstr "Dictionnaire : %1"
-#: qt/main_window.cpp:245
+#: qt/main_window.cpp:272
msgid "Eliot - Error"
msgstr "Eliot - erreur"
-#: qt/main_window.cpp:315
+#: qt/main_window.cpp:348
msgid "&New..."
msgstr "&Nouvelle partie..."
-#: qt/main_window.cpp:315
+#: qt/main_window.cpp:348
msgid "Ctrl+N"
msgstr "Ctrl+N"
-#: qt/main_window.cpp:318
+#: qt/main_window.cpp:349
+msgid "Start a new game"
+msgstr "Démarrer une nouvelle partie"
+
+#: qt/main_window.cpp:351
msgid "&Load..."
msgstr "&Charger..."
-#: qt/main_window.cpp:318
+#: qt/main_window.cpp:351
msgid "Ctrl+O"
msgstr "Ctrl+O"
-#: qt/main_window.cpp:319
+#: qt/main_window.cpp:352
msgid "Load an existing game"
msgstr "Charger une partie existante"
-#: qt/main_window.cpp:320
+#: qt/main_window.cpp:353
msgid "&Save as..."
msgstr "&Enregistrer sous..."
-#: qt/main_window.cpp:320
+#: qt/main_window.cpp:353
msgid "Ctrl+S"
msgstr "Ctrl+S"
-#: qt/main_window.cpp:323
+#: qt/main_window.cpp:354
+msgid "Save the current game"
+msgstr "Sauvegarder la partie en cours"
+
+#: qt/main_window.cpp:356
msgid "&Print..."
msgstr "Im&primer..."
-#: qt/main_window.cpp:323
+#: qt/main_window.cpp:356
msgid "Ctrl+P"
msgstr "Ctrl+P"
-#: qt/main_window.cpp:324
+#: qt/main_window.cpp:357
msgid "Print the current game"
msgstr "Imprimer la partie en cours"
-#: qt/main_window.cpp:326
+#: qt/main_window.cpp:359
msgid "&Quit"
msgstr "&Quitter"
-#: qt/main_window.cpp:326
+#: qt/main_window.cpp:359
msgid "Ctrl+Q"
msgstr "Ctrl+Q"
-#: qt/main_window.cpp:332
+#: qt/main_window.cpp:360
+msgid "Quit Eliot"
+msgstr "Quitter Eliot"
+
+#: qt/main_window.cpp:364 qt/main_window.cpp:406
+msgid "&History"
+msgstr "&Historique"
+
+#: qt/main_window.cpp:365
+msgid "&First turn"
+msgstr ""
+
+#: qt/main_window.cpp:365
+#, fuzzy
+msgid "Ctrl+Home"
+msgstr "Ctrl+H"
+
+#: qt/main_window.cpp:366
+#, fuzzy
+msgid "Go to the first turn of the game"
+msgstr "Configuration de la partie"
+
+#: qt/main_window.cpp:368
+msgid "&Previous turn"
+msgstr ""
+
+#: qt/main_window.cpp:368
+#, fuzzy
+msgid "Ctrl+Left"
+msgstr "Ctrl+N"
+
+#: qt/main_window.cpp:369
+#, fuzzy
+msgid "Go to the previous turn of the game"
+msgstr "Aperçu avant impression de la partie"
+
+#: qt/main_window.cpp:371
+msgid "&Next turn"
+msgstr ""
+
+#: qt/main_window.cpp:371
+#, fuzzy
+msgid "Ctrl+Right"
+msgstr "droite"
+
+#: qt/main_window.cpp:372
+#, fuzzy
+msgid "Go to the next turn of the game"
+msgstr "Configuration de la partie"
+
+#: qt/main_window.cpp:374
+msgid "&Last turn"
+msgstr ""
+
+#: qt/main_window.cpp:374
+#, fuzzy
+msgid "Ctrl+End"
+msgstr "Ctrl+E"
+
+#: qt/main_window.cpp:375
+#, fuzzy
+msgid "Go to the last turn of the game"
+msgstr "Historique de la partie"
+
+#: qt/main_window.cpp:377
+msgid "&Replay turn"
+msgstr ""
+
+#: qt/main_window.cpp:377
+#, fuzzy
+msgid "Ctrl+R"
+msgstr "Ctrl+N"
+
+#: qt/main_window.cpp:378
+msgid ""
+"Play the game from the current position, replacing what was really played"
+msgstr ""
+
+#: qt/main_window.cpp:390
+msgid "&Settings"
+msgstr "Para&mètres"
+
+#: qt/main_window.cpp:391
msgid "&Choose dictionary..."
msgstr "Choisir un &dictionnaire..."
-#: qt/main_window.cpp:332
+#: qt/main_window.cpp:391
msgid "Ctrl+C"
msgstr "Ctrl+C"
-#: qt/main_window.cpp:333
+#: qt/main_window.cpp:392
msgid "Select a new dictionary"
msgstr "Choisir un nouveau dictionnaire"
-#: qt/main_window.cpp:334
+#: qt/main_window.cpp:393
msgid "&Preferences..."
msgstr "&Préférences..."
-#: qt/main_window.cpp:334
+#: qt/main_window.cpp:393
msgid "Ctrl+F"
msgstr "Ctrl+F"
-#: qt/main_window.cpp:335
+#: qt/main_window.cpp:394
msgid "Edit the preferences"
msgstr "Modifier les préférences"
-#: qt/main_window.cpp:340
+#: qt/main_window.cpp:398
+msgid "&Windows"
+msgstr "&Fenêtres"
+
+#: qt/main_window.cpp:399
+msgid "&Toolbar"
+msgstr ""
+
+#: qt/main_window.cpp:399
+#, fuzzy
+msgid "Ctrl+T"
+msgstr "Ctrl+N"
+
+#: qt/main_window.cpp:400
+#, fuzzy
+msgid "Show/hide the toolbar"
+msgstr "Afficher/cacher le plateau de jeu externe"
+
+#: qt/main_window.cpp:402
msgid "&Bag"
msgstr "&Sac"
-#: qt/main_window.cpp:340
+#: qt/main_window.cpp:402
msgid "Ctrl+B"
msgstr "Ctrl+B"
-#: qt/main_window.cpp:341 qt/ui/main_window.ui:97
+#: qt/main_window.cpp:403 qt/ui/main_window.ui:94
msgid "Show/hide the remaining tiles in the bag"
msgstr "Afficher/cacher les lettres restantes dans le sac"
-#: qt/main_window.cpp:342
+#: qt/main_window.cpp:404
msgid "&External board"
msgstr "&Plateau de jeu externe"
-#: qt/main_window.cpp:342
+#: qt/main_window.cpp:404
msgid "Ctrl+E"
msgstr "Ctrl+E"
-#: qt/main_window.cpp:343 qt/ui/main_window.ui:111
+#: qt/main_window.cpp:405 qt/ui/main_window.ui:108
msgid "Show/hide the external board"
msgstr "Afficher/cacher le plateau de jeu externe"
-#: qt/main_window.cpp:344
-msgid "&History"
-msgstr "&Historique"
-
-#: qt/main_window.cpp:344
+#: qt/main_window.cpp:406
msgid "Ctrl+H"
msgstr "Ctrl+H"
-#: qt/main_window.cpp:345 qt/ui/main_window.ui:125
+#: qt/main_window.cpp:407 qt/ui/main_window.ui:122
msgid "Show/hide the game history"
msgstr "Afficher/cacher l'historique de la partie"
-#: qt/main_window.cpp:346
+#: qt/main_window.cpp:408
msgid "&Dictionary tools"
msgstr "Outils du &dictionnaire"
-#: qt/main_window.cpp:346
+#: qt/main_window.cpp:408
msgid "Ctrl+D"
msgstr "Ctrl+D"
-#: qt/main_window.cpp:347 qt/ui/main_window.ui:139
+#: qt/main_window.cpp:409 qt/ui/main_window.ui:136
msgid "Show/hide the dictionary tools"
msgstr "Afficher/cacher les outils de recherche dans le dictionnaire"
-#: qt/main_window.cpp:352
+#: qt/main_window.cpp:413
+msgid "&Help"
+msgstr "&Aide"
+
+#: qt/main_window.cpp:414
+msgid "&About..."
+msgstr "Ã &propos..."
+
+#: qt/main_window.cpp:414
msgid "Ctrl+A"
msgstr "Ctrl+A"
-#: qt/main_window.cpp:361 qt/main_window.cpp:394
+#: qt/main_window.cpp:415 qt/main_window.cpp:789
+msgid "About Eliot"
+msgstr "Ã propos d'Eliot"
+
+#: qt/main_window.cpp:423 qt/main_window.cpp:456
msgid "You have to select a dictionary first!"
msgstr "Vous devez d'abord choisir un dictionnaire !"
-#: qt/main_window.cpp:386
+#: qt/main_window.cpp:448
msgid "Game started"
msgstr "Partie démarrée"
-#: qt/main_window.cpp:422
+#: qt/main_window.cpp:467
+msgid "Error while loading the game"
+msgstr "Erreur pendant le chargement de la partie"
+
+#: qt/main_window.cpp:485
msgid "Save a game"
msgstr "Sauvegarder la partie"
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:490
msgid "Game saved"
msgstr "Partie enregistrée"
-#: qt/main_window.cpp:461
+#: qt/main_window.cpp:524
msgid "N."
msgstr "N."
-#: qt/main_window.cpp:461
+#: qt/main_window.cpp:524
msgid "RACK"
msgstr "TIRAGE"
-#: qt/main_window.cpp:461
+#: qt/main_window.cpp:524
msgid "SOLUTION"
msgstr "SOLUTION"
-#: qt/main_window.cpp:461
+#: qt/main_window.cpp:524
msgid "REF"
msgstr "REF"
-#: qt/main_window.cpp:461
+#: qt/main_window.cpp:524
msgid "PTS"
msgstr "PTS"
-#: qt/main_window.cpp:594
-msgid "Stop current game?"
-msgstr "Arrêter la partie en cours ?"
-
-#: qt/main_window.cpp:595
-msgid ""
-"Loading a dictionary will stop the current game. Do you want to continue?"
+#: qt/main_window.cpp:657
+#, fuzzy
+msgid "Loading a dictionary will stop the current game."
msgstr ""
"Charger un dictionnaire arrêtera la partie en cours. Voulez-vous continuer ?"
-#: qt/main_window.cpp:672 qt/ui/main_window.ui:53 qt/ui/main_window.ui:122
+#: qt/main_window.cpp:658 qt/main_window.cpp:859 qt/new_game.cpp:56
+msgid "Eliot"
+msgstr "Eliot"
+
+#: qt/main_window.cpp:660 qt/main_window.cpp:861
+msgid "Do you want to continue?"
+msgstr ""
+
+#: qt/main_window.cpp:669
+msgid "Choose a dictionary"
+msgstr "Choisir un dictionnaire"
+
+#: qt/main_window.cpp:748 qt/ui/main_window.ui:45 qt/ui/main_window.ui:119
msgid "History"
msgstr "Historique"
-#: qt/main_window.cpp:689 qt/ui/dic_tools_widget.ui:13
-#: qt/ui/main_window.ui:136
+#: qt/main_window.cpp:765 qt/ui/dic_tools_widget.ui:13
+#: qt/ui/main_window.ui:133
msgid "Dictionary tools"
msgstr "Outils du dictionnaire"
-#: qt/main_window.cpp:706
+#: qt/main_window.cpp:782
msgid ""
"Copyright (C) 1999-2008 - Antoine Fraboulet & Olivier Teuliere\n"
"\n"
@@ -1549,40 +1022,51 @@
"publiée par la Free Software Fundation ; soit la version 2 de la Licence, "
"soit (comme vous le préférez), n'importe quelle version ultérieure."
-#: qt/new_game.cpp:38 qt/ui/new_game.ui:117
+#: qt/main_window.cpp:804 qt/main_window.cpp:817 qt/main_window.cpp:830
+#: qt/main_window.cpp:843
+msgid "Turn %1/%2"
+msgstr ""
+
+#: qt/main_window.cpp:856
+msgid ""
+"Replaying this turn will modify the game history by deleting the turns after "
+"the displayed one (i.e. turns \"in the future\")."
+msgstr ""
+
+#: qt/main_window.cpp:872
+msgid "Replaying from turn %1"
+msgstr ""
+
+#: qt/new_game.cpp:39 qt/ui/new_game.ui:117
msgid "Human"
msgstr "Humain"
-#: qt/new_game.cpp:39 qt/ui/new_game.ui:122
+#: qt/new_game.cpp:40 qt/ui/new_game.ui:122
msgid "Computer"
msgstr "Ordinateur"
-#: qt/new_game.cpp:46 qt/new_game.cpp:53 qt/new_game.cpp:112
-#: qt/new_game.cpp:201 qt/new_game.cpp:204
+#: qt/new_game.cpp:47 qt/new_game.cpp:54 qt/new_game.cpp:114
+#: qt/new_game.cpp:203 qt/new_game.cpp:206
msgid "Player %1"
msgstr "Joueur %1"
-#: qt/new_game.cpp:50
+#: qt/new_game.cpp:51
msgid "Name"
msgstr "Nom"
-#: qt/new_game.cpp:51
+#: qt/new_game.cpp:52
msgid "Type"
msgstr "Type"
-#: qt/new_game.cpp:52
+#: qt/new_game.cpp:53
msgid "Level"
msgstr "Niveau"
-#: qt/new_game.cpp:55
-msgid "Eliot"
-msgstr "Eliot"
-
-#: qt/new_game.cpp:164 qt/ui/new_game.ui:36
+#: qt/new_game.cpp:166 qt/ui/new_game.ui:36
msgid "Duplicate"
msgstr "Duplicate"
-#: qt/player_widget.cpp:82
+#: qt/player_widget.cpp:80
msgid ""
"Enter the word to play (case-insensitive).\n"
"A joker from the rack must be written in parentheses.\n"
@@ -1592,7 +1076,7 @@
"Un joker provenant du chevalet doit être écrit entre parenthèses.\n"
"Ex. : m(o)( ou M(O)T"
-#: qt/player_widget.cpp:85
+#: qt/player_widget.cpp:83
msgid ""
"Enter the coordinates of the word.\n"
"Specify the row before the column for horizontal words,\n"
@@ -1604,72 +1088,72 @@
"et la colonne avant la rangée pour les mots verticaux.\n"
"Ex. : H4 ou 4H"
-#: qt/player_widget.cpp:183
+#: qt/player_widget.cpp:190
msgid "Cannot play word: misplaced parentheses"
msgstr "Impossible de jouer le mot : parenthèses mal placées"
-#: qt/player_widget.cpp:205
+#: qt/player_widget.cpp:212
msgid "Cannot play '%1' at position '%2':\n"
msgstr "Impossible de jouer '%1' en '%2' :\n"
-#: qt/player_widget.cpp:210
+#: qt/player_widget.cpp:217
msgid "Some letters are not valid for the current dictionary"
msgstr ""
"Le tirage contient des lettres incorrectes pour le dictionnaire courant"
-#: qt/player_widget.cpp:213
+#: qt/player_widget.cpp:220
msgid "Invalid coordinates"
msgstr "Coordonnées invalides"
-#: qt/player_widget.cpp:216
+#: qt/player_widget.cpp:223
msgid "The word does not exist"
msgstr "Le mot n'existe pas"
-#: qt/player_widget.cpp:219
+#: qt/player_widget.cpp:226
msgid "The rack doesn't contain the letters needed to play this word"
msgstr "Le chevalet ne contient pas les lettres permettant de jouer ce mot"
-#: qt/player_widget.cpp:222
+#: qt/player_widget.cpp:229
msgid "The word is part of a longer one"
msgstr "Le mot fait partie d'un autre mot plus long"
-#: qt/player_widget.cpp:225
+#: qt/player_widget.cpp:232
msgid "The word tries to replace an existing letter"
msgstr "Le mot remplace une lettre existante"
-#: qt/player_widget.cpp:228
+#: qt/player_widget.cpp:235
msgid "An orthogonal word is not valid"
msgstr "Un mot perpendiculaire est invalide"
-#: qt/player_widget.cpp:231
+#: qt/player_widget.cpp:238
msgid "The word is already present on the board at these coordinates"
msgstr "Le mot est déjà présent sur la grille à cette position"
-#: qt/player_widget.cpp:234
+#: qt/player_widget.cpp:241
msgid "A word cannot be isolated (not connected to the placed words)"
msgstr "Un mot ne peut pas être isolé (non connecté aux autres mots
placés)"
-#: qt/player_widget.cpp:237
+#: qt/player_widget.cpp:244
msgid "The first word of the game must be horizontal"
msgstr "Le premier mot de la partie doit être horizontal"
-#: qt/player_widget.cpp:240
+#: qt/player_widget.cpp:247
msgid "The first word of the game must cover the H8 square"
msgstr "Le premier mot de la partie doit couvrir la case H8"
-#: qt/player_widget.cpp:243
+#: qt/player_widget.cpp:250
msgid "The word is going out of the board"
msgstr "Le mot sort de la grille"
-#: qt/player_widget.cpp:246
+#: qt/player_widget.cpp:253
msgid "Incorrect or misplaced word (%1)"
msgstr "Mot incorrect ou mal placé (%1)"
-#: qt/player_widget.cpp:270
+#: qt/player_widget.cpp:276
msgid "Cannot pass turn (%1)"
msgstr "Impossible de passer le tour (%1)"
-#: qt/player_widget.cpp:272
+#: qt/player_widget.cpp:278
msgid "Cannot change letters '%1' (%2)"
msgstr "Impossible de changer les lettres '%1' (%2)"
@@ -1677,18 +1161,30 @@
msgid "Score"
msgstr "Score"
-#: qt/training_widget.cpp:200
+#: qt/training_widget.cpp:203
msgid "Warning: Cannot set the rack to '%1'"
msgstr "Attention : Impossible de choisir le tirage '%1'"
-#: qt/training_widget.cpp:239
+#: qt/training_widget.cpp:242
msgid "Searching with rack '%1'..."
msgstr "Recherche en cours pour le tirage '%1'..."
-#: qt/training_widget.cpp:241
+#: qt/training_widget.cpp:244
msgid "Search done"
msgstr "Recherche terminée"
+#: qt/ui/dic_tools_widget.ui:31
+msgid "Check"
+msgstr "Vérification"
+
+#: qt/ui/dic_tools_widget.ui:69
+msgid "Plus 1"
+msgstr "Plus 1"
+
+#: qt/ui/dic_tools_widget.ui:94
+msgid "Regular expressions"
+msgstr "Expressions régulières"
+
#: qt/ui/dic_tools_widget.ui:105
msgid "Minimum length:"
msgstr "Longueur minimum :"
@@ -1717,11 +1213,11 @@
msgid "Number of words:"
msgstr "Nombre de mots :"
-#: qt/ui/main_window.ui:62 qt/ui/new_game.ui:77
+#: qt/ui/main_window.ui:54 qt/ui/new_game.ui:77
msgid "Players"
msgstr "Joueurs"
-#: qt/ui/main_window.ui:108
+#: qt/ui/main_window.ui:105
msgid "External board"
msgstr "Plateau de jeu externe"
@@ -1851,7 +1347,11 @@
msgid "Align the rack and the solution in history"
msgstr "Aligner tirages et solutions dans l'historique"
-#: qt/ui/prefs_dialog.ui:81 qt/ui/prefs_dialog.ui:168
+#: qt/ui/prefs_dialog.ui:72
+msgid "Warn before replaying a turn"
+msgstr ""
+
+#: qt/ui/prefs_dialog.ui:91 qt/ui/prefs_dialog.ui:178
msgid ""
"If checked, playing an invalid or misplaced word will not be possible. If "
"unchecked, you will get 0 point and lose your turn"
@@ -1859,23 +1359,23 @@
"Si la case est cochée, jouer un mot invalide ou mal placé sera impossible. "
"Sinon, un tel mot apportera 0 point et vous perdrez votre tour"
-#: qt/ui/prefs_dialog.ui:84 qt/ui/prefs_dialog.ui:171
+#: qt/ui/prefs_dialog.ui:94 qt/ui/prefs_dialog.ui:181
msgid "Refuse to play invalid moves"
msgstr "Refuser de jouer des mots invalides"
-#: qt/ui/prefs_dialog.ui:93
+#: qt/ui/prefs_dialog.ui:103
msgid "Min. players for a solo:"
msgstr "Nombre minimal de joueurs pour un solo :"
-#: qt/ui/prefs_dialog.ui:113
+#: qt/ui/prefs_dialog.ui:123
msgid "Minimum number of players needed to take into account the solo bonus"
msgstr "Nombre minimal de joueurs pour prendre en compte la prime de solo"
-#: qt/ui/prefs_dialog.ui:127
+#: qt/ui/prefs_dialog.ui:137
msgid "Solo value:"
msgstr "Valeur du solo :"
-#: qt/ui/prefs_dialog.ui:147
+#: qt/ui/prefs_dialog.ui:157
msgid "Value of the solo bonus. Set it to 0 if you don't want solo bonus"
msgstr ""
"Valeur de la prime de solo. Mettez 0 pour désactiver les primes de solo."
@@ -1888,6 +1388,455 @@
msgid "Complement"
msgstr "Complément"
+#: qt/ui/training_widget.ui:52
+msgid "Search"
+msgstr "Recherche"
+
+#~ msgid "Grid"
+#~ msgstr "Grille"
+
+#~ msgid "Word to check"
+#~ msgstr "Mot à vérifier"
+
+#~ msgid "No dictionary"
+#~ msgstr "Pas de dictionnaire"
+
+#~ msgid "exists"
+#~ msgstr "existe"
+
+#~ msgid "doesn't exist"
+#~ msgstr "n'existe pas"
+
+#~ msgid "Copy"
+#~ msgstr "Copier"
+
+#~ msgid "No on going game"
+#~ msgstr "Pas de partie en cours"
+
+#~ msgid "No result"
+#~ msgstr "Pas de résultat"
+
+#~ msgid "Rack + 1"
+#~ msgstr "Tirage + 1"
+
+#~ msgid "Rack: "
+#~ msgstr "Tirage :"
+
+#~ msgid "Benjamins"
+#~ msgstr "Benjamins"
+
+#~ msgid "Extensions"
+#~ msgstr "Raccords"
+
+#~ msgid "Game history"
+#~ msgstr "Historique de la partie"
+
+#~ msgid "Results"
+#~ msgstr "Résultats"
+
+#~ msgid "left"
+#~ msgstr "gauche"
+
+#~ msgid "centered"
+#~ msgstr "centré"
+
+#~ msgid "Alignment"
+#~ msgstr "Justification"
+
+#~ msgid "Spacing"
+#~ msgstr "Espacement"
+
+#~ msgid "Font..."
+#~ msgstr "Police..."
+
+#~ msgid "Title column "
+#~ msgstr "titre colomne "
+
+#~ msgid "Text column "
+#~ msgstr "Texte colomne "
+
+#~ msgid "Column heading"
+#~ msgstr "Titre de la colomne"
+
+#~ msgid "Alignment of the column heading"
+#~ msgstr "Justification du titre de la colomne"
+
+#~ msgid "Spacing of the heading characters"
+#~ msgstr "Espacement des caractères du titre"
+
+#~ msgid "Inner dimension of the column (in mm)"
+#~ msgstr "Dimension interne de la colomne (en mm)"
+
+#~ msgid "Alignment of the column text"
+#~ msgstr "Justification du texte de la colomne"
+
+#~ msgid "Characters spacing"
+#~ msgstr "Espacement des caractères"
+
+#~ msgid "Title spc. top"
+#~ msgstr "Titre esp. haut"
+
+#~ msgid "Text spc. top"
+#~ msgstr "Texte esp. haut"
+
+#~ msgid "Text spc. left"
+#~ msgstr "Texte esp. gauche"
+
+#~ msgid "Title spc. bot."
+#~ msgstr "Titre esp. bas"
+
+#~ msgid "Text spc. bot."
+#~ msgstr "Texte esp. bas"
+
+#~ msgid "Text spc. right"
+#~ msgstr "Text esp. droite"
+
+#~ msgid "Printer"
+#~ msgstr "Imprimante"
+
+#~ msgid "Configure the printer"
+#~ msgstr "Configuration de l'imprimante"
+
+#~ msgid "Page"
+#~ msgstr "Page"
+
+#~ msgid "Configure the dimensions of the page"
+#~ msgstr "Configuration des dimensions de la page"
+
+#~ msgid "Cancel the last changes"
+#~ msgstr "Annuler les derniers changements"
+
+#~ msgid "Save the changes"
+#~ msgstr "Sauvegarder les changements"
+
+#~ msgid "Nb"
+#~ msgstr "Num"
+
+#~ msgid "Solution"
+#~ msgstr "Solution"
+
+#~ msgid "Pos"
+#~ msgstr "Pos"
+
+#~ msgid "Pts"
+#~ msgstr "Pts"
+
+#~ msgid "Search on joker in 7+1 panel"
+#~ msgstr "Rechercher sur joker dans la fenêtre 7+1"
+
+#~ msgid "Check rack validity"
+#~ msgstr "Vérifier la validité du tirage"
+
+#~ msgid "Cancel last changes"
+#~ msgstr "Annuler les derniers changements"
+
+#~ msgid "Results of the search"
+#~ msgstr "Résultats de la recherche"
+
+#~ msgid " Rack "
+#~ msgstr " Tirage "
+
+#~ msgid " Complement "
+#~ msgstr " Complément "
+
+#~ msgid " Search "
+#~ msgstr " Rechercher "
+
+#~ msgid " Back "
+#~ msgstr " Arrière "
+
+#~ msgid " Play "
+#~ msgstr " Jouer "
+
+#~ msgid "Random rack"
+#~ msgstr "Tirage aléatoire"
+
+#~ msgid "Random complement of the rack"
+#~ msgstr "Complément aléatoire du tirage"
+
+#~ msgid "Search with the current rack"
+#~ msgstr "Recherche sur le tirage courant"
+
+#~ msgid "Go back one turn"
+#~ msgstr "Revenir un coup en arrière"
+
+#~ msgid "Play the selected word"
+#~ msgstr "Jouer le mot selectionné"
+
+#~ msgid "&New game\tCtrl+N"
+#~ msgstr "&Nouvelle partie\tCtrl+N"
+
+#~ msgid "New &joker game\tCtrl+J"
+#~ msgstr "Nouvelle partie &joker\tCtrl+J"
+
+#~ msgid "Start a new joker game"
+#~ msgstr "Démarrer une nouvelle partie joker"
+
+#~ msgid "&Load...\tCtrl+L"
+#~ msgstr "&Charger...\tCtrl+O"
+
+#~ msgid "&Save as...\tCtrl+S"
+#~ msgstr "&Enregistrer sous...\tCtrl+S"
+
+#~ msgid "&Print...\tCtrl+P"
+#~ msgstr "&Imprimer...\tCtrl+P"
+
+#~ msgid "Print this game"
+#~ msgstr "Imprimer la partie en cours"
+
+#~ msgid "Print pre&view..."
+#~ msgstr "&Aperçu avant impression..."
+
+#~ msgid "Print in PostS&cript..."
+#~ msgstr "Imprimer au format &PostScript..."
+
+#~ msgid "Print in a PostScript file"
+#~ msgstr "Imprimer dans un fichier PostScript"
+
+#~ msgid "&Quit\tCtrl+Q"
+#~ msgstr "&Quitter\tCtrl+Q"
+
+#~ msgid "&Dictionary...\tCtrl+D"
+#~ msgstr "&Dictionnaire...\tCtrl+D"
+
+#~ msgid "&Search..."
+#~ msgstr "&Recherche..."
+
+#~ msgid "Search options"
+#~ msgstr "Options de recherche"
+
+#~ msgid "&Background..."
+#~ msgstr "&Fond..."
+
+#~ msgid "Background color"
+#~ msgstr "Couleur de fond"
+
+#~ msgid "L&ines..."
+#~ msgstr "L&ignes..."
+
+#~ msgid "Color of the lines"
+#~ msgstr "Couleur des lignes"
+
+#~ msgid "&Played letters..."
+#~ msgstr "Lettres &jouées..."
+
+#~ msgid "Color of the letters played on the board"
+#~ msgstr "Couleur des lettres jouées sur la grille"
+
+#~ msgid "&Temporary letters..."
+#~ msgstr "Lettres &temporaires..."
+
+#~ msgid "Color of the letters of the temporary word"
+#~ msgstr "Couleur des lettres du mot temporaire"
+
+#~ msgid "B&ackground of played letters..."
+#~ msgstr "Fo&nd des lettres jouées..."
+
+#~ msgid "Background color of the letters played on the board"
+#~ msgstr "Couleur de fond des lettres jouées sur la grille"
+
+#~ msgid "Ba&ckground of temporary letters..."
+#~ msgstr "Fon&d des lettres temporaires..."
+
+#~ msgid "Background color of the temporary letters on the board"
+#~ msgstr "Couleur de fond des lettres temporaires sur la grille"
+
+#~ msgid "Double &letter..."
+#~ msgstr "&Lettre compte double..."
+
+#~ msgid "Color of the \"double letter\" squares"
+#~ msgstr "Couleur des cases \"mot compte double\""
+
+#~ msgid "Triple l&etter..."
+#~ msgstr "L&ettre compte triple..."
+
+#~ msgid "Color of the \"triple letter\" squares"
+#~ msgstr "Couleur des cases \"mot compte triple\""
+
+#~ msgid "Double &word..."
+#~ msgstr "&Mot compte double..."
+
+#~ msgid "Color of the \"double word\" squares"
+#~ msgstr "Couleur des cases \"mot compte double\""
+
+#~ msgid "Triple w&ord..."
+#~ msgstr "M&ot compte triple..."
+
+#~ msgid "Color of the \"triple word\" squares"
+#~ msgstr "Couleur des cases \"mot compte triple\""
+
+#~ msgid "&Default colors"
+#~ msgstr "&Couleurs d'origine"
+
+#~ msgid "Restore the default colors"
+#~ msgstr "Restaurer les couleurs d'origine"
+
+#~ msgid "&Search letters..."
+#~ msgstr "&Lettres de recherche..."
+
+#~ msgid "Font for the search"
+#~ msgstr "Police de caractères pour la recherche"
+
+#~ msgid "&Fonts"
+#~ msgstr "P&olices de caractères"
+
+#~ msgid "Configuration of the fonts"
+#~ msgstr "Configuration des polices de caractères"
+
+#~ msgid "&Colors"
+#~ msgstr "&Couleurs"
+
+#~ msgid "Configuration of the colors"
+#~ msgstr "Configuration des couleurs"
+
+#~ msgid "&Printing..."
+#~ msgstr "&Impression..."
+
+#~ msgid "Configuration of the printing parameters"
+#~ msgstr "Configuration des paramètres d'impression"
+
+#~ msgid "&Board"
+#~ msgstr "&Grille"
+
+#~ msgid "Game board"
+#~ msgstr "Plateau de jeu"
+
+#~ msgid "Ba&g\tCtrl+B"
+#~ msgstr "&Sac\tCtrl-B"
+
+#~ msgid "Remaining letters in the bag"
+#~ msgstr "Lettres restantes dans le sac"
+
+#~ msgid "&Check"
+#~ msgstr "&Vérification"
+
+#~ msgid "Check a word in the dictionary"
+#~ msgstr "Vérifier l'existence d'un mot dans le dictionnaire"
+
+#~ msgid "&Search"
+#~ msgstr "&Recherche"
+
+#~ msgid "Search in the dictionary"
+#~ msgstr "Recherche dans le dictionnaire"
+
+#~ msgid "&Rack + 1"
+#~ msgstr "&Tirage + 1"
+
+#~ msgid "Letters of the rack plus one"
+#~ msgstr "Lettres du tirage plus une"
+
+#~ msgid "&Extensions"
+#~ msgstr "&Raccords"
+
+#~ msgid "One-letter extensions on a word of the search"
+#~ msgstr "Raccords d'une lettre sur un mot de la recherche"
+
+#~ msgid "&Benjamins"
+#~ msgstr "&Benjamins"
+
+#~ msgid "Benjamins (3-letter extensions) on a word of the search"
+#~ msgstr "Benjamins (préfixes de 3 lettres) sur un mot de la recherche"
+
+#~ msgid "Game &history\tCtrl+H"
+#~ msgstr "&Historique de la partie\tCtrl+H"
+
+#~ msgid "R&esults"
+#~ msgstr "Ré&sultats"
+
+#~ msgid "No dictionary selected"
+#~ msgstr "Pas de dictionnaire sélectionné"
+
+#~ msgid "Eliot: error"
+#~ msgstr "Eliot : erreur"
+
+#~ msgid "Cannot open "
+#~ msgstr "Impossible d'ouvrir "
+
+#~ msgid "Invalid game"
+#~ msgstr "Partie invalide"
+
+#~ msgid "The game is empty"
+#~ msgstr "La partie est vide"
+
+#~ msgid "Cannot create "
+#~ msgstr "Impossible de créer "
+
+#~ msgid "Printing not done"
+#~ msgstr "Impression non effectuée"
+
+#~ msgid "Printing"
+#~ msgstr "Impression"
+
+#~ msgid "Print preview problem.\n"
+#~ msgstr "Problème avec l'aperçu avant impression.\n"
+
+#~ msgid "The printer may not be correctly initialized"
+#~ msgstr "Il se peut que l'imprimante soit mal initialisée"
+
+#~ msgid "Print preview"
+#~ msgstr "Aperçu avant impression"
+
+#~ msgid "Print to a PostScript file"
+#~ msgstr "Imprimer dans un fichier PostScript"
+
+#~ msgid "PostScript printing"
+#~ msgstr "Impression PostScript"
+
+#~ msgid "Cannot initialize PostScript printer"
+#~ msgstr "Impossible d'initialiser l'impression PostScript"
+
+#~ msgid ""
+#~ "This program is free software; you can redistribute it and/or modify it "
+#~ "under the terms of the GNU General Public License as published by the "
+#~ "Free Software Foundation; either version 2 of the License, or (at your "
+#~ "option) any later version."
+#~ msgstr ""
+#~ "Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le "
+#~ "modifier selon les termes de la licence \"GNU General Public License\" "
+#~ "publiée par la Free Software Fundation ; soit la version 2 de la Licence,
"
+#~ "soit (comme vous le préférez), n'importe quelle version ultérieure."
+
+#~ msgid "turn:"
+#~ msgstr "coup :"
+
+#~ msgid "points:"
+#~ msgstr "points :"
+
+#~ msgid ""
+#~ "The bag doesn't contain enough letters\n"
+#~ "for a new rack."
+#~ msgstr ""
+#~ "Le sac ne contient pas assez de lettres\n"
+#~ "pour un nouveau tirage."
+
+#~ msgid "Rack validation"
+#~ msgstr "Validation du tirage"
+
+#~ msgid "The rack must contain at least 2 consonants and 2 vowels."
+#~ msgstr "Le tirage doit contenir au moins 2 consonnes et 2 voyelles."
+
+#~ msgid "The rack contains invalid letters for the current dictionary"
+#~ msgstr ""
+#~ "Le tirage contient des lettres incorrectes pour le dictionnaire courant"
+
+#~ msgid "The rack has been modified manually"
+#~ msgstr "Le tirage a été modifié manuellement"
+
+#~ msgid "The search is limited to %d letters"
+#~ msgstr "La recherche est limitée à %d lettres"
+
+#~ msgid "Minimum length"
+#~ msgstr "Longueur minimum"
+
+#~ msgid "Maximum length"
+#~ msgstr "Longueur maximum"
+
+#~ msgid "Cross words"
+#~ msgstr "Mots croisés"
+
+#~ msgid "Stop current game?"
+#~ msgstr "Arrêter la partie en cours ?"
+
#~ msgid "Unknown (old format)"
#~ msgstr "Inconnu (vieux format)"
Index: m4/wxwin.m4
===================================================================
RCS file: m4/wxwin.m4
diff -N m4/wxwin.m4
--- m4/wxwin.m4 1 Jan 2006 19:23:05 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,345 +0,0 @@
-dnl ---------------------------------------------------------------------------
-dnl Macros for wxWidgets detection. Typically used in configure.in as:
-dnl
-dnl AC_ARG_ENABLE(...)
-dnl AC_ARG_WITH(...)
-dnl ...
-dnl AM_OPTIONS_WXCONFIG
-dnl ...
-dnl ...
-dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1)
-dnl if test "$wxWin" != 1; then
-dnl AC_MSG_ERROR([
-dnl wxWidgets must be installed on your system
-dnl but wx-config script couldn't be found.
-dnl
-dnl Please check that wx-config is in path, the directory
-dnl where wxWidgets libraries are installed (returned by
-dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or
-dnl equivalent variable and wxWidgets version is 2.3.4 or above.
-dnl ])
-dnl fi
-dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
-dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
-dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
-dnl
-dnl LIBS="$LIBS $WX_LIBS"
-dnl ---------------------------------------------------------------------------
-
-dnl ---------------------------------------------------------------------------
-dnl AM_OPTIONS_WXCONFIG
-dnl
-dnl adds support for --wx-prefix, --wx-exec-prefix, --with-wxdir and
-dnl --wx-config command line options
-dnl ---------------------------------------------------------------------------
-
-AC_DEFUN([AM_OPTIONS_WXCONFIG],
-[
- AC_ARG_WITH(wxdir,
- [ --with-wxdir=PATH Use uninstalled version of
wxWidgets in PATH],
- [ wx_config_name="$withval/wx-config"
- wx_config_args="--inplace"])
- AC_ARG_WITH(wx-config,
- [ --with-wx-config=CONFIG wx-config script to use (optional)],
- wx_config_name="$withval" )
- AC_ARG_WITH(wx-prefix,
- [ --with-wx-prefix=PREFIX Prefix where wxWidgets is installed
(optional)],
- wx_config_prefix="$withval", wx_config_prefix="")
- AC_ARG_WITH(wx-exec-prefix,
- [ --with-wx-exec-prefix=PREFIX
- Exec prefix where wxWidgets is installed (optional)],
- wx_config_exec_prefix="$withval", wx_config_exec_prefix="")
-])
-
-dnl Helper macro for checking if wx version is at least $1.$2.$3, set's
-dnl wx_ver_ok=yes if it is:
-AC_DEFUN([_WX_PRIVATE_CHECK_VERSION],
-[
- wx_ver_ok=""
- if test "x$WX_VERSION" != x ; then
- if test $wx_config_major_version -gt $1; then
- wx_ver_ok=yes
- else
- if test $wx_config_major_version -eq $1; then
- if test $wx_config_minor_version -gt $2; then
- wx_ver_ok=yes
- else
- if test $wx_config_minor_version -eq $2; then
- if test $wx_config_micro_version -ge $3; then
- wx_ver_ok=yes
- fi
- fi
- fi
- fi
- fi
- fi
-])
-
-dnl ---------------------------------------------------------------------------
-dnl AM_PATH_WXCONFIG(VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND
-dnl [, WX-LIBS [, ADDITIONAL-WX-CONFIG-FLAGS]]]])
-dnl
-dnl Test for wxWidgets, and define WX_C*FLAGS, WX_LIBS and WX_LIBS_STATIC
-dnl (the latter is for static linking against wxWidgets). Set WX_CONFIG_NAME
-dnl environment variable to override the default name of the wx-config script
-dnl to use. Set WX_CONFIG_PATH to specify the full path to wx-config - in this
-dnl case the macro won't even waste time on tests for its existence.
-dnl
-dnl Optional WX-LIBS argument contains comma- or space-separated list of
-dnl wxWidgets libraries to link against (it may include contrib libraries). If
-dnl it is not specified then WX_LIBS and WX_LIBS_STATIC will contain flags to
-dnl link with all of the core wxWidgets libraries.
-dnl
-dnl Optional ADDITIONAL-WX-CONFIG-FLAGS argument is appended to wx-config
-dnl invocation command in present. It can be used to fine-tune lookup of
-dnl best wxWidgets build available.
-dnl
-dnl Example use:
-dnl AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], [html,core,net]
-dnl [--unicode --debug])
-dnl ---------------------------------------------------------------------------
-
-dnl
-dnl Get the cflags and libraries from the wx-config script
-dnl
-AC_DEFUN([AM_PATH_WXCONFIG],
-[
- dnl do we have wx-config name: it can be wx-config or wxd-config or ...
- if test x${WX_CONFIG_NAME+set} != xset ; then
- WX_CONFIG_NAME=wx-config
- fi
-
- if test "x$wx_config_name" != x ; then
- WX_CONFIG_NAME="$wx_config_name"
- fi
-
- dnl deal with optional prefixes
- if test x$wx_config_exec_prefix != x ; then
- wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix"
- WX_LOOKUP_PATH="$wx_config_exec_prefix/bin"
- fi
- if test x$wx_config_prefix != x ; then
- wx_config_args="$wx_config_args --prefix=$wx_config_prefix"
- WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin"
- fi
- if test "$cross_compiling" = "yes"; then
- wx_config_args="$wx_config_args --host=$host_alias"
- fi
-
- dnl don't search the PATH if WX_CONFIG_NAME is absolute filename
- if test -x "$WX_CONFIG_NAME" ; then
- AC_MSG_CHECKING(for wx-config)
- WX_CONFIG_PATH="$WX_CONFIG_NAME"
- AC_MSG_RESULT($WX_CONFIG_PATH)
- else
- AC_PATH_PROG(WX_CONFIG_PATH, $WX_CONFIG_NAME, no, "$WX_LOOKUP_PATH:$PATH")
- fi
-
- if test "$WX_CONFIG_PATH" != "no" ; then
- WX_VERSION=""
-
- min_wx_version=ifelse([$1], ,2.2.1,$1)
- if test -z "$5" ; then
- AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version])
- else
- AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version ($5)])
- fi
-
- WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args $5 $4"
-
- WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null`
- wx_config_major_version=`echo $WX_VERSION | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- wx_config_minor_version=`echo $WX_VERSION | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- wx_config_micro_version=`echo $WX_VERSION | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-
- wx_requested_major_version=`echo $min_wx_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- wx_requested_minor_version=`echo $min_wx_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- wx_requested_micro_version=`echo $min_wx_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-
- _WX_PRIVATE_CHECK_VERSION([$wx_requested_major_version],
- [$wx_requested_minor_version],
- [$wx_requested_micro_version])
-
- if test -n "$wx_ver_ok"; then
-
- AC_MSG_RESULT(yes (version $WX_VERSION))
- WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs`
-
- dnl is this even still appropriate? --static is a real option now
- dnl and WX_CONFIG_WITH_ARGS is likely to contain it if that is
- dnl what the user actually wants, making this redundant at best.
- dnl For now keep it in case anyone actually used it in the past.
- AC_MSG_CHECKING([for wxWidgets static library])
- WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs 2>/dev/null`
- if test "x$WX_LIBS_STATIC" = "x"; then
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT(yes)
- fi
-
- dnl starting with version 2.2.6 wx-config has --cppflags argument
- wx_has_cppflags=""
- if test $wx_config_major_version -gt 2; then
- wx_has_cppflags=yes
- else
- if test $wx_config_major_version -eq 2; then
- if test $wx_config_minor_version -gt 2; then
- wx_has_cppflags=yes
- else
- if test $wx_config_minor_version -eq 2; then
- if test $wx_config_micro_version -ge 6; then
- wx_has_cppflags=yes
- fi
- fi
- fi
- fi
- fi
-
- if test "x$wx_has_cppflags" = x ; then
- dnl no choice but to define all flags like CFLAGS
- WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
- WX_CPPFLAGS=$WX_CFLAGS
- WX_CXXFLAGS=$WX_CFLAGS
-
- WX_CFLAGS_ONLY=$WX_CFLAGS
- WX_CXXFLAGS_ONLY=$WX_CFLAGS
- else
- dnl we have CPPFLAGS included in CFLAGS included in CXXFLAGS
- WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags`
- WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags`
- WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
-
- WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "address@hidden *@@"`
- WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "address@hidden *@@"`
- fi
-
- ifelse([$2], , :, [$2])
-
- else
-
- if test "x$WX_VERSION" = x; then
- dnl no wx-config at all
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT(no (version $WX_VERSION is not new enough))
- fi
-
- WX_CFLAGS=""
- WX_CPPFLAGS=""
- WX_CXXFLAGS=""
- WX_LIBS=""
- WX_LIBS_STATIC=""
- ifelse([$3], , :, [$3])
-
- fi
- else
-
- WX_CFLAGS=""
- WX_CPPFLAGS=""
- WX_CXXFLAGS=""
- WX_LIBS=""
- WX_LIBS_STATIC=""
- ifelse([$3], , :, [$3])
-
- fi
-
- AC_SUBST(WX_CPPFLAGS)
- AC_SUBST(WX_CFLAGS)
- AC_SUBST(WX_CXXFLAGS)
- AC_SUBST(WX_CFLAGS_ONLY)
- AC_SUBST(WX_CXXFLAGS_ONLY)
- AC_SUBST(WX_LIBS)
- AC_SUBST(WX_LIBS_STATIC)
- AC_SUBST(WX_VERSION)
-])
-
-dnl ---------------------------------------------------------------------------
-dnl Get information on the wxrc program for making C++, Python and xrs
-dnl resource files.
-dnl
-dnl AC_ARG_ENABLE(...)
-dnl AC_ARG_WITH(...)
-dnl ...
-dnl AM_OPTIONS_WXCONFIG
-dnl AM_OPTIONS_WXRC
-dnl ...
-dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1)
-dnl if test "$wxWin" != 1; then
-dnl AC_MSG_ERROR([
-dnl wxWidgets must be installed on your system
-dnl but wx-config script couldn't be found.
-dnl
-dnl Please check that wx-config is in path, the directory
-dnl where wxWidgets libraries are installed (returned by
-dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or
-dnl equivalent variable and wxWidgets version is 2.6.0 or above.
-dnl ])
-dnl fi
-dnl
-dnl AM_PATH_WXRC([HAVE_WXRC=1], [HAVE_WXRC=0])
-dnl if test "x$HAVE_WXRC" != x1; then
-dnl AC_MSG_ERROR([
-dnl The wxrc program was not installed or not found.
-dnl
-dnl Please check the wxWidgets installation.
-dnl ])
-dnl fi
-dnl
-dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
-dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
-dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
-dnl
-dnl LDFLAGS="$LDFLAGS $WX_LIBS"
-dnl ---------------------------------------------------------------------------
-
-
-
-dnl ---------------------------------------------------------------------------
-dnl AM_PATH_WXRC([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
-dnl
-dnl Test for wxWidgets' wxrc program for creating either C++, Python or XRS
-dnl resources. The variable WXRC will be set and substituted in the configure
-dnl script and Makefiles.
-dnl
-dnl Example use:
-dnl AM_PATH_WXRC([wxrc=1], [wxrc=0])
-dnl ---------------------------------------------------------------------------
-
-dnl
-dnl wxrc program from the wx-config script
-dnl
-AC_DEFUN([AM_PATH_WXRC],
-[
- AC_ARG_VAR([WXRC], [Path to wxWidget's wxrc resource compiler])
-
- if test "x$WX_CONFIG_NAME" = x; then
- AC_MSG_ERROR([The wxrc tests must run after wxWidgets test.])
- else
-
- AC_MSG_CHECKING([for wxrc])
-
- if test "x$WXRC" = x ; then
- dnl wx-config --utility is a new addition to wxWidgets:
- _WX_PRIVATE_CHECK_VERSION(2,5,3)
- if test -n "$wx_ver_ok"; then
- WXRC=`$WX_CONFIG_WITH_ARGS --utility=wxrc`
- fi
- fi
-
- if test "x$WXRC" = x ; then
- AC_MSG_RESULT([not found])
- ifelse([$2], , :, [$2])
- else
- AC_MSG_RESULT([$WXRC])
- ifelse([$1], , :, [$1])
- fi
-
- AC_SUBST(WXRC)
- fi
-])
Index: wxwin/.cvsignore
===================================================================
RCS file: wxwin/.cvsignore
diff -N wxwin/.cvsignore
--- wxwin/.cvsignore 19 Apr 2005 21:49:57 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,7 +0,0 @@
-.deps
-Makefile
-Makefile.in
-eliot
-eliot.exe
-cscope.files
-cscope.out
Index: wxwin/Makefile.am
===================================================================
RCS file: wxwin/Makefile.am
diff -N wxwin/Makefile.am
--- wxwin/Makefile.am 22 Sep 2008 21:21:45 -0000 1.14
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,46 +0,0 @@
-# Eliot
-# Copyright (C) 1999 Antoine Fraboulet
-# address@hidden
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-localedir = $(datadir)/locale
-
-if BUILD_WXWIDGETS
-
-bin_PROGRAMS = wxeliot
-
-AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" @WX_CPPFLAGS@ -I$(top_srcdir)
-I$(top_srcdir)/dic -I$(top_srcdir)/game
-
-wxeliot_SOURCES = \
- configdb.cc configdb.h \
- gfxboard.cc gfxboard.h \
- gfxresult.cc gfxresult.h \
- printout.cc printout.h \
- confdimdlg.cc confdimdlg.h \
- confsearch.cc confsearch.h \
- searchpanel.cc searchpanel.h \
- auxframes.cc auxframes.h \
- mainframe.cc mainframe.h \
- main.cc ewx.h
-
-wxeliot_LDADD = @WX_LIBS@ ../game/libgame.a ../dic/libdic.a @LIBINTL@
@LIBCONFIG_LIBS@
-
-EXTRA_DIST = \
- eliot.xpm \
- eliot.ico
-
-endif
-
Index: wxwin/auxframes.cc
===================================================================
RCS file: wxwin/auxframes.cc
diff -N wxwin/auxframes.cc
--- wxwin/auxframes.cc 2 Mar 2008 18:45:11 -0000 1.26
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,638 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file auxframes.cc
- * \brief Window Frames used in Eliot
- * \author Antoine Fraboulet
- * \date 2005
- */
-
-#include <iostream>
-#include <sstream>
-#include <string>
-
-#include "wx/sizer.h"
-#include "wx/button.h"
-#include "wx/intl.h"
-
-#include "wx/clipbrd.h"
-#include "wx/dataobj.h"
-
-#include "ewx.h"
-
-#include "dic.h"
-#include "training.h"
-#include "player.h"
-#include "game.h"
-#include "encoding.h"
-
-#include "configdb.h"
-#include "auxframes.h"
-#include "mainframe.h"
-#include "searchpanel.h"
-
-/****************************************************************/
-/* AUXFRAME */
-/****************************************************************/
-
-AuxFrame::AuxFrame(wxFrame* parent, int _id, wxString _name, wxString
_classname):
- wxFrame(parent, -1, wxT("Eliot: ") + _name, wxPoint(-1, -1), wxSize(-1,
-1),
- wxRESIZE_BORDER | wxCAPTION | wxFRAME_FLOAT_ON_PARENT, _classname)
-{
- frameid = (frames_id_t)_id;
- name = _name;
- classname = _classname;
- show = config.getFrameShow(classname);
-}
-
-AuxFrame::~AuxFrame()
-{
- wxPoint p = GetPosition();
- wxSize s = GetClientSize();
- config.setFramePos(classname, p);
- config.setFrameSize(classname, s);
- config.setFrameShow(classname, show);
-}
-
-void
-AuxFrame::SwitchDisplay()
-{
- if (show == 0)
- {
- Show(TRUE);
- Raise();
- show = 1;
- Reload();
- }
- else
- {
- Show(FALSE);
- show = 0;
- }
-}
-
-void
-AuxFrame::Reload()
-{
-#define MINW 50
-#define MINH 50
-
- wxSize size;
- /* debug(" %s::Reload() - %s\n",(const char*)classname.mb_str(),(const
char*)name.mb_str()); */
-
- Move(config.getFramePos(classname));
- size = config.getFrameSize(classname);
-
- if (size.GetWidth() < MINW)
- size.SetWidth(MINW);
- if (size.GetHeight() < MINH)
- size.SetHeight(MINH);
-
- SetClientSize(size);
- Refresh();
- if (show)
- {
- Show(FALSE);
- Show(TRUE);
- }
-}
-
-/****************************************************************/
-/* BOARD FRAME */
-/****************************************************************/
-
-BoardFrame::BoardFrame(wxFrame* parent, Game& iGame):
- AuxFrame(parent, ID_Frame_Board, _("Grid"), FRAMEBOARD)
-{
- board = new GfxBoard(this, iGame);
- wxBoxSizer *sizer = new wxBoxSizer( wxHORIZONTAL );
- sizer->Add(board, 1, wxEXPAND, 0);
- SetAutoLayout(TRUE);
- SetSizer(sizer);
- sizer->Fit(this);
- sizer->SetSizeHints(this);
-}
-
-void
-BoardFrame::Refresh(refresh_t force)
-{
- if (force == REFRESH)
- board->Refresh(GfxBoard::BOARD_REFRESH);
- else
- board->Refresh(GfxBoard::BOARD_FORCE_REFRESH);
-}
-
-/****************************************************************/
-/* BAG FRAME */
-/****************************************************************/
-
-BagFrame::BagFrame(wxFrame* parent, Game& iGame):
- AuxFrame(parent, ID_Frame_Bag, _("Bag"), FRAMEBAG),
- m_game(iGame)
-{
- tiles = new wxListCtrl(this, -1);
- tiles->SetSingleStyle(wxLC_LIST);
- //tiles->SetColumnWidth(0, wxLIST_AUTOSIZE);
- //tiles->SetFont(config.getFont(LISTFONT));
- //tiles->SetToolTip(wxT("Lettre, nombre restant"));
-
-#ifdef DEBUG
- wxFont font(8, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
- wxFONTWEIGHT_NORMAL, false, wxString(wxT("Courier New")),
wxFONTENCODING_SYSTEM);
- tiles->SetFont(font);
-#endif
-
- wxBoxSizer *sizer = new wxBoxSizer( wxHORIZONTAL );
- sizer->Add(tiles, 1, wxEXPAND | wxALL, 1);
- SetAutoLayout(TRUE);
- SetSizer(sizer);
- sizer->Fit(this);
-}
-
-void
-BagFrame::Refresh(refresh_t __UNUSED__ force)
-{
- //debug(" BagFrame::Refresh\n");
- int n,index;
- wxString buf;
-#ifdef DEBUG
- wxChar format[] = wxT("%c:%2d[%2d]");
-#else
- wxChar format[] = wxT("%c:%2d");
-#endif
-
- tiles->ClearAll();
-
- std::vector<Tile>::const_iterator it;
- const std::vector<Tile>& allTiles = m_game.getDic().getAllTiles();
- for (index = 0, it = allTiles.begin(); it != allTiles.end(); index++, it++)
- {
- n = m_game.getBag().in(*it);
-#ifdef DEBUG
- buf.Printf(format, it->toChar(), n, n - it->maxNumber());
-#else
- buf.Printf(format, it->toChar(), n);
-#endif
- tiles->InsertItem(index,buf);
- }
-}
-
-/****************************************************************/
-/* RECHERCHE */
-/****************************************************************/
-
-SearchFrame::SearchFrame(wxFrame *parent, const Dictionary &_dic):
- AuxFrame(parent, ID_Frame_Search, _("Search"), FRAMESEARCH)
-{
- panel = new SearchPanel(this, _dic);
- wxBoxSizer *sizer = new wxBoxSizer( wxHORIZONTAL );
- sizer->Add(panel, 1, wxEXPAND, 0);
- SetAutoLayout(TRUE);
- SetSizer(sizer);
- sizer->Fit(this);
-}
-
-void
-SearchFrame::Refresh(refresh_t __UNUSED__ force)
-{
- //debug(" SearchFrame::Refresh\n");
-}
-
-/****************************************************************/
-/* VERIF FRAME */
-/****************************************************************/
-
-enum
-{
- Word_Id,
- Result_Id
-};
-
-BEGIN_EVENT_TABLE(VerifFrame, AuxFrame)
- EVT_TEXT(Word_Id, VerifFrame::OnText)
-END_EVENT_TABLE()
-
-VerifFrame::VerifFrame(wxFrame* parent, const Dictionary &_dic):
- AuxFrame(parent, ID_Frame_Verif, _("Check"), FRAMEVERIF)
-{
- dic = &_dic;
- word = new wxTextCtrl(this, Word_Id, wxT(""));
- word->SetFont(config.getFont(LISTFONT));
- word->SetToolTip(_("Word to check"));
- result = new wxStaticText(this, Result_Id, wxT(""));
- result->SetFont(config.getFont(LISTFONT));
- wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
- sizer->Add(word, 1, wxEXPAND | wxALL, 1);
- sizer->Add(result, 1, wxALIGN_CENTER_VERTICAL | wxALIGN_LEFT | wxALL, 1);
-
- SetAutoLayout(TRUE);
- SetSizer(sizer);
- sizer->Fit(this);
- sizer->SetSizeHints(this);
-}
-
-void
-VerifFrame::verif()
-{
- if (dic == NULL)
- {
- result->SetLabel(_("No dictionary"));
- return;
- }
- if (dic->searchWord(word->GetValue().wc_str()))
- result->SetLabel(_("exists"));
- else
- result->SetLabel(_("doesn't exist"));
-}
-
-void
-VerifFrame::OnText(wxCommandEvent&)
-{
- verif();
-}
-
-void
-VerifFrame::Refresh(refresh_t __UNUSED__ force)
-{
- //debug(" VerifFrame::Refresh\n");
-}
-
-/****************************************************************/
-/* AUXFRAMELIST */
-/****************************************************************/
-
-enum {
- ListBoxID,
- ButtonCopyID
-};
-
-BEGIN_EVENT_TABLE(AuxFrameList, AuxFrame)
- EVT_BUTTON (ButtonCopyID , AuxFrameList::OnCopy)
-END_EVENT_TABLE()
-
-AuxFrameList::AuxFrameList(wxFrame* parent, int _id, wxString _name, wxString
_classname, Game *g):
- AuxFrame(parent, _id, _name, _classname)
-
-{
- game = g;
- savedword = L"";
-
- wxBoxSizer *sizer_v = new wxBoxSizer(wxVERTICAL);
- listbox = new wxListBox(this, ListBoxID);
- listbox->SetFont(config.getFont(LISTFONT));
- listbox->SetToolTip(name);
- sizer_v->Add(listbox, 1, wxEXPAND | wxALL, 1);
-
- button = new wxButton(this, ButtonCopyID, _("Copy"), wxPoint(0, 0),
wxSize(-1, -1));
- sizer_v->Add(button, 0, wxEXPAND | wxALL, 1);
-
- wxBoxSizer *sizer = new wxBoxSizer( wxHORIZONTAL );
- sizer->Add(sizer_v, 1, wxEXPAND, 0);
-
- SetAutoLayout(TRUE);
- SetSizer(sizer);
- sizer->Fit(this);
- sizer->SetSizeHints(this);
-}
-
-void
-AuxFrameList::OnCopy(wxCommandEvent __UNUSED__ &event)
-{
- wxString textdata;
-
- if (wxTheClipboard->Open())
- {
- textdata = wxT("");
- for (int i = 0; i < listbox->GetCount(); i++)
- {
- textdata << listbox->GetString(i) << wxT("\n");
- }
- wxTextDataObject* ptr = new wxTextDataObject(textdata);
- wxTheClipboard->AddData(ptr);
- wxTheClipboard->Close();
- }
-}
-
-void
-AuxFrameList::Waiting()
-{
- listbox->Clear();
- listbox->Show(TRUE);
-}
-
-void
-AuxFrameList::Refresh(refresh_t __UNUSED__ force)
-{
- //debug(" %s : Refresh start\n",(const char*)name.mb_str());
- if (game == NULL)
- {
- listbox->Clear();
- listbox->Append(_("No on going game"));
- //debug(" %s : Refresh end - no game\n",(const char*)name.mb_str());
- return;
- }
- if (show == 0)
- {
- //debug(" %s : Refresh end - no window\n",(const char*)name.mb_str());
- return;
- }
- noresult = true;
- refresh();
- if (noresult == true)
- {
- //debug(" %s : noresult == true\n",(const char*)name.mb_str());
- listbox->Clear();
- listbox->Append(_("No result"));
- }
- //debug(" %s : Refresh end\n",(const char*)name.mb_str());
-}
-
-/****************************************************************/
-/* PLUS1 FRAME */
-/****************************************************************/
-
-Plus1Frame::Plus1Frame(wxFrame* p, Game* g)
- : AuxFrameList(p, ID_Frame_Plus1, _("Rack + 1"), FRAMEPLUS1, g)
-{
-}
-
-
-void
-Plus1Frame::refresh()
-{
- //debug(" Plus1Frame::refresh start\n");
- std::wstring rack = game->getCurrentPlayer().getCurrentRack().toString();
- //debug(" CurrentPlayer -> rack : %s\n",rack.c_str());
-
- if (savedword == rack)
- {
- noresult = false; // keep old results
- //debug(" Plus1Frame::refresh end, no change\n");
- return;
- }
- savedword = rack;
-
- map<wchar_t, vector<wstring> > wordList;
- game->getDic().search7pl1(rack, wordList, config.getJokerPlus1());
-
- // Count the results
- int sum = 0;
- map<wchar_t, vector<wstring> >::const_iterator it;
- for (it = wordList.begin(); it != wordList.end(); it++)
- {
- if (it->first)
- sum += 1;
- sum += it->second.size();
- }
- // For the line containing the rack
- sum += 1;
-
- noresult = (sum == 0);
- listbox->Clear();
- if (noresult)
- return;
-
- wxString *res = new wxString[sum];
- int resnum = 0;
- res[resnum++] = wxString(_("Rack: ")) + wxString(wxU(rack.c_str()));
- for (it = wordList.begin(); it != wordList.end(); it++)
- {
- if (it->first)
- res[resnum++] = wxString(wxT("+")) + wxU((wxString)it->first);
- vector<wstring>::const_iterator itWord;
- for (itWord = it->second.begin(); itWord != it->second.end(); itWord++)
- {
- res[resnum++] = wxString(wxT(" ")) + wxU(itWord->c_str());
- }
- }
- listbox->Set(resnum, res);
- delete[] res;
- //debug(" Plus1Frame::refresh end\n");
-}
-
-/****************************************************************/
-/* BENJAMINS */
-/****************************************************************/
-
-BenjFrame::BenjFrame(wxFrame* p, Game* g)
- : AuxFrameList(p, ID_Frame_Benj, _("Benjamins"), FRAMEBENJ, g)
-{
-}
-
-
-void
-BenjFrame::refresh()
-{
- if (game->getMode() != Game::kTRAINING)
- return;
-
- wstring word = static_cast<Training*>(game)->getTestPlayWord();
- if (savedword == word)
- {
- noresult = false; // keep old results
- return;
- }
- savedword = word;
- //debug(" BenjFrame::refresh : %s\n",word.c_str());
- vector<wstring> wordList;
- game->getDic().searchBenj(word, wordList);
-
- wxString *res = new wxString[wordList.size()];
- int resnum = 0;
- vector<wstring>::const_iterator it;
- for (it = wordList.begin(); it != wordList.end(); it++)
- {
- res[resnum++] = wxU(it->c_str());
- //debug(" BenjFrame : %s (%d)\n",wordlist[i],resnum);
- noresult = false;
- }
- listbox->Set(resnum, res);
- delete[] res;
-}
-
-
-/****************************************************************/
-/* RACC FRAME */
-/****************************************************************/
-
-RaccFrame::RaccFrame(wxFrame* p, Game* g)
- : AuxFrameList(p, ID_Frame_Racc, _("Extensions"), FRAMERACC, g)
-{
-}
-
-
-void
-RaccFrame::refresh()
-{
- if (game->getMode() != Game::kTRAINING)
- return;
-
- wstring word = static_cast<Training*>(game)->getTestPlayWord();
- if (savedword == word)
- {
- noresult = false; // keep old results
- return;
- }
- savedword = word;
- //debug(" RaccFrame::refresh : %s\n",word.c_str());
- vector<wstring> wordList;
- game->getDic().searchRacc(word, wordList);
-
- wxString *res = new wxString[wordList.size()];
- int resnum = 0;
- vector<wstring>::const_iterator it;
- for (it = wordList.begin(); it != wordList.end(); it++)
- {
- res[resnum++] = wxU(it->c_str());
- //debug(" RaccFrame : %s (%d)\n",wordlist[i],resnum);
- noresult = false;
- }
- listbox->Set(resnum, res);
- delete[] res;
-}
-
-/****************************************************************/
-/* AUXFRAMETEXT */
-/****************************************************************/
-
-AuxFrameText::AuxFrameText(wxFrame* parent, int _id, wxString _name, wxString
_classname, int _style):
- AuxFrame(parent, _id, _name, _classname)
-
-{
- wxBoxSizer *sizer_v = new wxBoxSizer(wxVERTICAL);
- wxBoxSizer *sizer = new wxBoxSizer( wxHORIZONTAL );
-
- wxFont font(10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
- wxFONTWEIGHT_NORMAL, false, wxString(wxT("Courier New")),
wxFONTENCODING_SYSTEM);
-
- textbox = new wxTextCtrl(this, -1, wxT(""), wxDefaultPosition,
wxDefaultSize, _style);
- textbox->SetFont(font);
-
- sizer_v->Add(textbox, 1, wxEXPAND | wxALL, 1);
- sizer->Add(sizer_v, 1, wxEXPAND, 0);
-
- SetAutoLayout(TRUE);
- SetSizer(sizer);
- sizer->Fit(this);
- sizer->SetSizeHints(this);
-}
-
-/****************************************************************/
-/* GAME FRAME */
-/****************************************************************/
-
-GameFrame::GameFrame(wxFrame* parent, Game& iGame):
- AuxFrameText(parent, ID_Frame_Game, _("Game history"), FRAMEGAME,
wxTE_MULTILINE | wxTE_READONLY | wxTE_DONTWRAP),
- m_game(iGame)
-{
- textbox->Clear();
- textbox->AppendText(wxT(""));
-}
-
-void
-GameFrame::Refresh(refresh_t __UNUSED__ force)
-{
- std::ostringstream mos;
- m_game.save(mos);
-#ifdef DEBUG
- mos << std::string(30,'-') << std::endl;
- mos << "Player History\n";
- mos << convertToMb(m_game.getPlayer(0).toString());
- mos << std::string(30,'-') << std::endl;
- mos << "Game History\n";
- mos << convertToMb(m_game.getHistory().toString());
-#endif
- textbox->Clear();
- textbox->AppendText( wxU( mos.str().c_str() ) );
-}
-
-/****************************************************************/
-/* RESULT FRAME */
-/****************************************************************/
-
-BEGIN_EVENT_TABLE(ResultFrame, AuxFrame)
-END_EVENT_TABLE()
-
-ResultFrame::ResultFrame(wxFrame* parent, Game* iGame):
- AuxFrame(parent, ID_Frame_Result, _("Results"), FRAMERESULT)
-{
- reslist = new GfxResult(this, (MainFrame*)parent, iGame);
-
- wxBoxSizer *sizer_v = new wxBoxSizer(wxVERTICAL);
- wxBoxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
-
- sizer_v->Add(reslist, 1, wxEXPAND, 0);
- sizer->Add (sizer_v, 1, wxEXPAND | wxALL, 2);
-
- SetAutoLayout(TRUE);
- SetSizer(sizer);
- sizer->Fit(this);
- sizer->SetSizeHints(this);
- //debug("ResultFrame created\n");
-}
-
-void
-ResultFrame::Refresh(refresh_t WXUNUSED(force))
-{
- if (reslist != NULL)
- {
- reslist->Show(false);
- //debug("ResultFrame refresh\n");
- reslist->Refresh();
- reslist->Show(true);
- }
-}
-
-void
-ResultFrame::Search()
-{
- if (reslist != NULL)
- {
- reslist->Search();
- }
-}
-
-int
-ResultFrame::GetSelected()
-{
- if (reslist != NULL)
- {
- return reslist->GetSelected();
- }
- return -1;
-}
-
-void
-ResultFrame::OnSize(wxSizeEvent __UNUSED__ &e)
-{
- int w,h;
- GetClientSize(&w,&h);
- //debug("ResultFrame::OnSize (%d,%d)\n",w,h);
-}
-
-/****************************************************************/
-/****************************************************************/
-
-/// Local Variables:
-/// mode: c++
-/// mode: hs-minor
-/// c-basic-offset: 4
-/// indent-tabs-mode: nil
-/// End:
Index: wxwin/auxframes.h
===================================================================
RCS file: wxwin/auxframes.h
diff -N wxwin/auxframes.h
--- wxwin/auxframes.h 12 Jan 2008 20:42:26 -0000 1.10
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,258 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file auxframes.h
- * \brief Window Frames used in Eliot
- * \author Antoine Fraboulet
- * \date 2005
- */
-
-#ifndef _AUXFRAMES_H
-#define _AUXFRAMES_H
-
-#include "wx/frame.h"
-#include "wx/listctrl.h"
-#include "wx/textctrl.h"
-#include "wx/stattext.h"
-#include "wx/listbox.h"
-#include "wx/button.h"
-
-#include "searchpanel.h"
-#include "gfxboard.h"
-#include "gfxresult.h"
-
-#define MIN_FRAME_ID 0
-#define MAX_FRAME_ID 9
-
-typedef enum {
- ID_Frame_Verif = MIN_FRAME_ID + 0,
- ID_Frame_Search = MIN_FRAME_ID + 1,
- ID_Frame_Plus1 = MIN_FRAME_ID + 2,
- ID_Frame_Racc = MIN_FRAME_ID + 3,
- ID_Frame_Benj = MIN_FRAME_ID + 4,
- ID_Frame_Bag = MIN_FRAME_ID + 5,
- ID_Frame_Board = MIN_FRAME_ID + 6,
- ID_Frame_Game = MIN_FRAME_ID + 7,
- ID_Frame_Result = MIN_FRAME_ID + 8
-} frames_id_t;
-
-/**
- * Generic AuxFrame :
- * - BoardFrame
- * - BagFrame
- * - SearchFrame
- * - VerifFrame
- * - ResultFrame
- * derived to AuxFrameList :
- * - Plus1Frame
- * - BenjFrame
- * - RaccFrame
- * derived to AuxFrameText :
- * - GameFrame
- *
- */
-
-class AuxFrame: public wxFrame
-{
-protected:
- int show;
- frames_id_t frameid;
- wxString name, classname;
- ConfigDB config;
-
-public:
- AuxFrame(wxFrame*, int, wxString, wxString);
- ~AuxFrame();
-
- typedef enum {
- REFRESH,
- FORCE_REFRESH
- } refresh_t;
-
- void SwitchDisplay();
- void Reload();
- virtual void Refresh(refresh_t __UNUSED__ force = REFRESH) {};
-};
-
-/**
- * Generic auxframe that includes a list and a """copy""" button
- */
-
-class AuxFrameList: public AuxFrame
-{
-protected:
- bool noresult;
- wstring savedword;
- Game *game;
- wxButton *button;
- wxListBox *listbox;
- void Waiting();
- virtual void refresh() = 0;
-public:
- AuxFrameList(wxFrame*, int, wxString, wxString, Game*);
- void OnCopy(wxCommandEvent& event);
- void Refresh(refresh_t force = REFRESH);
- DECLARE_EVENT_TABLE()
-};
-
-/**
- * Generic auxframe that includes a text area
- */
-
-class AuxFrameText: public AuxFrame
-{
- protected:
- wxTextCtrl *textbox;
- public:
- AuxFrameText(wxFrame*, int, wxString, wxString, int);
-};
-
-/**
- * Frame to display the game board
- */
-
-class BoardFrame: public AuxFrame
-{
-protected:
- GfxBoard *board;
-public:
- BoardFrame(wxFrame*, Game&);
- void Refresh(refresh_t force = REFRESH);
-};
-
-/**
- * Frame to display the tiles left in the bag
- */
-
-class BagFrame: public AuxFrame
-{
-private:
- Game& m_game;
- wxListCtrl *tiles;
-public:
- BagFrame(wxFrame*, Game&);
- void Refresh(refresh_t force = REFRESH);
-};
-
-/**
- * Several research tool in a panel widget within the frame
- */
-
-class SearchFrame: public AuxFrame
-{
-private:
- SearchPanel *panel;
-public:
- SearchFrame(wxFrame*, const Dictionary &);
- void Refresh(refresh_t force = REFRESH);
-};
-
-/**
- * Frame to verify if a word is in the dictionary
- */
-
-class VerifFrame: public AuxFrame
-{
-protected:
- const Dictionary *dic;
- wxTextCtrl *word;
- wxStaticText *result;
- void verif();
-public:
- VerifFrame(wxFrame*, const Dictionary&);
- void OnText(wxCommandEvent& event);
- void Refresh(refresh_t force = REFRESH);
- DECLARE_EVENT_TABLE()
-};
-
-/**
- * Displays the list of 7+1 for the current search
- */
-
-class Plus1Frame: public AuxFrameList
-{
-protected:
- virtual void refresh();
-public:
- Plus1Frame(wxFrame* p, Game* g);
-};
-
-/**
- * Displays the list of benjamins for the current selected word
- */
-
-class BenjFrame: public AuxFrameList
-{
-protected:
- virtual void refresh();
-public:
- BenjFrame(wxFrame* p, Game* g);
-};
-
-/**
- * Displays the list of possible glue letter for the current selected word
- */
-
-class RaccFrame: public AuxFrameList
-{
-protected:
- virtual void refresh();
-public:
- RaccFrame(wxFrame* p, Game* g);
-};
-
-/**
- * Displays the current game
- */
-
-class GameFrame: public AuxFrameText
-{
-protected:
- Game& m_game;
-public:
- GameFrame(wxFrame*, Game&);
- void Refresh(refresh_t force = REFRESH);
-};
-
-/**
- * Displays the list of possible words searched for the given rack and board
- */
-
-class ResultFrame: public AuxFrame
-{
- protected:
- GfxResult *reslist;
- public:
- ResultFrame(wxFrame*, Game*);
- void Search();
- int GetSelected();
- void Refresh(refresh_t force = REFRESH);
- void OnSize(wxSizeEvent& e);
- DECLARE_EVENT_TABLE()
-};
-
-#endif
-
-/// Local Variables:
-/// mode: c++
-/// mode: hs-minor
-/// c-basic-offset: 4
-/// indent-tabs-mode: nil
-/// End:
Index: wxwin/confdimdlg.cc
===================================================================
RCS file: wxwin/confdimdlg.cc
diff -N wxwin/confdimdlg.cc
--- wxwin/confdimdlg.cc 8 Jan 2008 13:52:43 -0000 1.10
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,494 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* address@hidden */
-/* */
-/* This program is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-#include "wx/printdlg.h"
-
-#include "ewx.h"
-
-#include "dic.h"
-#include "game.h"
-
-#include "configdb.h"
-#include "printout.h"
-#include "confdimdlg.h"
-
-enum {
- Button_Printer,
- Button_Page,
- Button_Save,
- Button_FontHeader,
- Button_FontText
-};
-
-BEGIN_EVENT_TABLE(ConfDimDlg,wxDialog)
- EVT_CLOSE (ConfDimDlg::OnCloseWindow)
- EVT_BUTTON(wxID_OK, ConfDimDlg::OnButtonOk)
- EVT_BUTTON(wxID_CANCEL, ConfDimDlg::OnButtonCancel)
- EVT_BUTTON(Button_Save, ConfDimDlg::OnButtonSave)
- EVT_BUTTON(Button_Printer, ConfDimDlg::OnConfPrinter)
- EVT_BUTTON(Button_Page, ConfDimDlg::OnConfPage)
- EVT_BUTTON(Button_FontHeader, ConfDimDlg::OnConfFontHead)
- EVT_BUTTON(Button_FontText, ConfDimDlg::OnConfFontText)
-END_EVENT_TABLE()
-
-
-static int
-max(int i,int j)
-{
- return i>j ? i : j;
-}
-
-
-ConfDimDlg::ConfDimDlg(wxWindow* parent, wxPrintData pd, wxPageSetupData psd)
- : wxDialog(parent, -1, wxString(wxT("Eliot: Printing")))
-{
- int i;
- wxString choices[3];
- choices[0] = _("left");
- choices[1] = _("centered");
- choices[2] = _("right");
- wxStaticText* Hcomment[5];
- wxRect Hcommentrect[5];
- wxRect Htitlerect[5];
- wxRect Hjustrect[5];
- wxRect Hspacesrect[5];
- wxStaticText* Tcomment[5];
- wxRect Tcommentrect[5];
- wxRect Tdimrect[5];
- wxStaticText* Tunit[5];
- wxRect Tjustrect[5];
- wxRect Tspacesrect[5];
-
- printdata = pd;
- pagesetupdata = psd;
-
- //
- // Head
- // Hcomment Htitle Hjust Hspaces
- // Text
- // TComment Tdim Tjust Tspaces
- //
-
-#define VSPACE 10
-#define HSPACE 5
-
- // --------------
- // Header Section
- // --------------
-#define HFONT wxPoint(HSPACE,VSPACE)
-#define HCOMMENTY(i) (i==0 ? bfontheadrect.GetBottom() + VSPACE : \
- VSPACE + Hcommentrect[i-1].GetBottom())
-#define HCOMMENT(i) wxPoint(HSPACE,HCOMMENTY(i)+2)
-#define HTITLE(i) wxPoint(2*HSPACE+max(Hcommentrect[0].GetRight(), \
- Tcommentrect[0].GetRight()),HCOMMENTY(i))
-#define HJUST(i) wxPoint(Htitlerect[0].GetRight() + HSPACE,HCOMMENTY(i))
-#define HSPACES(i) wxPoint(Hjustrect[0].GetRight() + HSPACE,HCOMMENTY(i))
-
- // ------------
- // Text Section
- // ------------
-#define TFONT wxPoint(HSPACE, Hcommentrect[4].GetBottom() + 2*VSPACE)
-#define TCOMMENTY(i) (i==0 ? bfonttextrect.GetBottom() + VSPACE : \
- VSPACE + Tcommentrect[i-1].GetBottom())
-#define TCOMMENT(i) wxPoint(HSPACE, TCOMMENTY(i)+2)
-#define TDIM(i) wxPoint(2*HSPACE+max(Tcommentrect[0].GetRight(), \
- Hcommentrect[0].GetRight()),TCOMMENTY(i))
-#define TJUST(i) wxPoint(Htitlerect[0].GetRight() + HSPACE, TCOMMENTY(i))
-#define TSPACES(i) wxPoint(Hjustrect[0].GetRight() + HSPACE, TCOMMENTY(i))
-
-
-#define ESPSIZE wxSize(spacerect.GetRight() - spacerect.GetLeft(),-1)
-
-
- wxStaticText* justif = new wxStaticText(this,-1,_("Alignment"),wxPoint(0,0));
- wxRect justifrect = justif->GetRect();
- wxStaticText* space = new wxStaticText(this,-1,_("Spacing"),wxPoint(0,0));
- wxRect spacerect = space->GetRect();
-
- // heading, first part
- bfontheader = new wxButton(this,Button_FontHeader,_("Font..."),HFONT);
- wxRect bfontheadrect = bfontheader->GetRect();
- for(i=0; i<5; i++)
- {
- wxString txt;
- txt << _("Title column ") << (i+1);
- Hcomment[i] = new wxStaticText(this,-1,txt,HCOMMENT(i));
- Hcommentrect[i] = Hcomment[i]->GetRect();
- }
-
- // text, first part
- bfonttext = new wxButton(this,Button_FontText,_("Font..."),TFONT);
- wxRect bfonttextrect = bfonttext->GetRect();
- for(i=0; i<5; i++)
- {
- wxString txt;
- txt << _("Text column ") << (i+1);
- Tcomment[i] = new wxStaticText(this,-1,txt,TCOMMENT(i),wxSize(-1,-1));
- Tcommentrect[i] = Tcomment[i]->GetRect();
- }
-
- // heading, second part
- for(i=0; i<5; i++)
- {
- Htitle[i] = new wxTextCtrl(this,-1,wxT(""),HTITLE(i),wxSize(100,-1));
- Htitlerect[i] = Htitle[i]->GetRect();
- Htitle[i]->SetToolTip(_("Column heading"));
-
- Hjust[i] = new wxChoice(this,-1,HJUST(i),wxSize(-1,-1),3,choices);
- Hjustrect[i] = Hjust[i]->GetRect();
- Hjust[i]->SetToolTip(_("Alignment of the column heading"));
-
- Hspaces[i] = new wxTextCtrl(this,-1,wxT("00"),HSPACES(i),ESPSIZE);
- Hspacesrect[i] = Hspaces[i]->GetRect();
- Hspaces[i]->SetToolTip(_("Spacing of the heading characters"));
- }
-
-
- // text, second part
- for(i=0; i<5; i++)
- {
- Tdim[i] = new wxTextCtrl(this,-1,wxT(""),TDIM(i),wxSize(50,-1));
- Tdimrect[i] = Tdim[i]->GetRect();
- Tdim[i]->SetToolTip(_("Inner dimension of the column (in mm)"));
-
- Tunit[i] = new wxStaticText(this,-1,wxT("mm"),
- wxPoint(Tdimrect[i].GetRight()+
- HSPACE,TCOMMENTY(i)+2),
- wxSize(-1,-1));
-
- Tjust[i] = new wxChoice(this,-1,TJUST(i),wxSize(-1,-1),3,choices);
- Tjustrect[i] = Tjust[i]->GetRect();
- Tjust[i]->SetToolTip(_("Alignment of the column text"));
-
- Tspaces[i] = new wxTextCtrl(this,-1,wxT(""),TSPACES(i),ESPSIZE);
- Tspacesrect[i] = Tspaces[i]->GetRect();
- Tspaces[i]->SetToolTip(_("Characters spacing"));
- }
-
- justif->Move(wxPoint(Tjustrect[0].GetLeft(),bfontheadrect.GetBottom()
- - (justifrect.GetBottom() - justifrect.GetTop())));
- justifrect = justif->GetRect();
- space->Move(wxPoint(Tspacesrect[0].GetLeft(),justifrect.GetTop()));
- spacerect = space->GetRect();
-
-
-
-#define YPOS(i) (2*VSPACE + Tcommentrect[4].GetBottom() + \
- i*(VSPACE+Tspacesrect[0].GetBottom()-Tspacesrect[0].GetTop()))
- //#define YPOS(i) TCOMMENTY(i+1)
- //#define COL2START (4*HSPACE + Tspacesrect[0].GetRight())
-#define COL2START HSPACE
-
- // 370x270 image
-
-#define XPOSLEFT (HSPACE + max(dyh1textrect.GetRight(), \
- max(dyt1textrect.GetRight(), dxbegintextrect.GetRight() )))
-#define XPOSRIGHT (HSPACE + max(dyh2textrect.GetRight(), \
- max(dyt2textrect.GetRight(), dxendtextrect.GetRight() )))
-
-#define DYH1COMMENT wxPoint(COL2START, YPOS(0)+2)
-#define DYH1TEXT wxPoint(XPOSLEFT, YPOS(0))
-#define DYH1UNIT wxPoint(dyh1rect.GetRight() + HSPACE, YPOS(0))
-
-#define DYH2COMMENT wxPoint(3*HSPACE + dyh1mmrect.GetRight(), YPOS(0)+2)
-#define DYH2TEXT wxPoint(XPOSRIGHT, YPOS(0))
-#define DYH2UNIT wxPoint(dyh2rect.GetRight() + HSPACE, YPOS(0))
-
-#define DYT1COMMENT wxPoint(COL2START, YPOS(1)+2)
-#define DYT1TEXT wxPoint(XPOSLEFT, YPOS(1))
-#define DYT1UNIT wxPoint(dyt1rect.GetRight() + HSPACE, YPOS(1))
-
-#define DYT2COMMENT wxPoint(3*HSPACE + dyt1mmrect.GetRight(), YPOS(1)+2)
-#define DYT2TEXT wxPoint(XPOSRIGHT, YPOS(1))
-#define DYT2UNIT wxPoint(dyt2rect.GetRight() + HSPACE, YPOS(1))
-
-#define DXBEGINCOMMENT wxPoint(COL2START, YPOS(2)+2)
-#define DXBEGINTEXT wxPoint(XPOSLEFT, YPOS(2))
-#define DXBEGINUNIT wxPoint(dxbeginrect.GetRight() + HSPACE, YPOS(2))
-
-#define DXENDCOMMENT wxPoint(3*HSPACE + dxbeginmmrect.GetRight(), YPOS(2)+2)
-#define DXENDTEXT wxPoint(XPOSRIGHT, YPOS(2))
-#define DXENDUNIT wxPoint(dxendrect.GetRight() + HSPACE, YPOS(2))
-
-#define DIM wxSize(30,-1)
-
- // Left part
- wxStaticText* dyh1text = new wxStaticText(this,-1,_("Title spc.
top"),DYH1COMMENT,wxSize(-1,-1));
- wxRect dyh1textrect = dyh1text->GetRect();
- wxStaticText* dyt1text = new wxStaticText(this,-1,_("Text spc.
top"),DYT1COMMENT,wxSize(-1,-1));
- wxRect dyt1textrect = dyt1text->GetRect();
- wxStaticText* dxbegintext = new wxStaticText(this,-1,_("Text spc.
left"),DXBEGINCOMMENT,wxSize(-1,-1));
- wxRect dxbegintextrect = dxbegintext->GetRect();
-
- dyh1 = new wxTextCtrl(this,-1,wxT("00"),DYH1TEXT,DIM);
- wxRect dyh1rect = dyh1->GetRect();
- wxStaticText* dyh1mm = new
wxStaticText(this,-1,wxT("mm"),DYH1UNIT,wxSize(-1,-1));
- wxRect dyh1mmrect = dyh1mm->GetRect();
- dyt1 = new wxTextCtrl(this,-1,wxT("00"),DYT1TEXT,DIM);
- wxRect dyt1rect = dyt1->GetRect();
- wxStaticText* dyt1mm = new
wxStaticText(this,-1,wxT("mm"),DYT1UNIT,wxSize(-1,-1));
- wxRect dyt1mmrect = dyt1mm->GetRect();
- dxbegin = new wxTextCtrl(this,-1,wxT("00"),DXBEGINTEXT,DIM);
- wxRect dxbeginrect = dxbegin->GetRect();
- wxStaticText* dxbeginmm = new
wxStaticText(this,-1,wxT("mm"),DXBEGINUNIT,wxSize(-1,-1));
- wxRect dxbeginmmrect = dxbeginmm->GetRect();
-
- // Right part
- wxStaticText* dyh2text = new wxStaticText(this,-1,_("Title spc.
bot."),DYH2COMMENT,wxSize(-1,-1));
- wxRect dyh2textrect = dyh2text->GetRect();
- wxStaticText* dyt2text = new wxStaticText(this,-1,_("Text spc.
bot."),DYT2COMMENT,wxSize(-1,-1));
- wxRect dyt2textrect = dyt2text->GetRect();
- wxStaticText* dxendtext = new wxStaticText(this,-1,_("Text spc.
right"),DXENDCOMMENT,wxSize(-1,-1));
- wxRect dxendtextrect = dxendtext->GetRect();
-
- dyh2 = new wxTextCtrl(this,-1,wxT("00"),DYH2TEXT,DIM);
- wxRect dyh2rect = dyh2->GetRect();
- wxStaticText* dyh2mm = new
wxStaticText(this,-1,wxT("mm"),DYH2UNIT,wxSize(-1,-1));
- wxRect dyh2mmrect = dyh2mm->GetRect();
- dyt2 = new wxTextCtrl(this,-1,wxT("00"),DYT2TEXT,DIM);
- wxRect dyt2rect = dyt2->GetRect();
- wxStaticText* dyt2mm = new
wxStaticText(this,-1,wxT("mm"),DYT2UNIT,wxSize(-1,-1));
- wxRect dyt2mmrect = dyt2mm->GetRect();
- dxend = new wxTextCtrl(this,-1,wxT("00"),DXENDTEXT,DIM);
- wxRect dxendrect = dxend->GetRect();
- wxStaticText* dxendmm = new
wxStaticText(this,-1,wxT("mm"),DXENDUNIT,wxSize(-1,-1));
- wxRect dxendmmrect = dxendmm->GetRect();
-
- // shutdown warnings
- {int t = dyh2mmrect.GetTop() + dyt2mmrect.GetTop() + dxendmmrect.GetTop();
t++; }
-
-#define BHSPACE 1
-#define BPOS (2*VSPACE + dxendrect.GetBottom())
-
-#define BPRINTERPOINT wxPoint(COL2START,BPOS)
-#define BPAGEPOINT wxPoint(bprinterrect.GetRight() + BHSPACE,BPOS)
-#define BOKPOINT wxPoint(bcancelrect.GetLeft() - (bokrect.GetRight() \
- - bokrect.GetLeft() + BHSPACE),BPOS)
-#define CANCELWIDTH (bcancelrect.GetRight() - bcancelrect.GetLeft())
-#define BCANCELPOINT wxPoint(Tspacesrect[0].GetRight() - CANCELWIDTH,BPOS)
- //#define BCANCELPOINT wxPoint(dxendmmrect.GetRight() - CANCELWIDTH,BPOS)
-
- bprinter = new wxButton(this,Button_Printer,_("Printer"),BPRINTERPOINT);
- wxRect bprinterrect = bprinter->GetRect();
- bprinter->SetToolTip(_("Configure the printer"));
-
- bpage = new wxButton(this,Button_Page,_("Page"),BPAGEPOINT);
- // wxRect bpagerect = bpage->GetRect();
- bpage->SetToolTip(_("Configure the dimensions of the page"));
-
- bcancel = new wxButton(this,wxID_CANCEL);
- wxRect bcancelrect = bcancel->GetRect();
- bcancel->Move(BCANCELPOINT);
- bcancelrect = bcancel->GetRect();
- bcancel->SetToolTip(_("Cancel the last changes"));
-
- bok = new wxButton(this,wxID_OK);
- wxRect bokrect = bok->GetRect();
- bok->Move(BOKPOINT);
- bokrect = bok->GetRect();
- bok->SetToolTip(_("Save the changes"));
-
-#define DLGWIDTH (bcancelrect.GetRight() + HSPACE)
-#define DLGHEIGHT (bokrect.GetBottom() + VSPACE)
-
- SetClientSize(DLGWIDTH,DLGHEIGHT);
- readconf();
-}
-
-ConfDimDlg::~ConfDimDlg()
-{
-}
-
-void
-ConfDimDlg::set(wxTextCtrl *t, long val)
-{
- wxString str;
- str << (int)val;
- t->SetValue(str);
-}
-
-long
-ConfDimDlg::get(wxTextCtrl* t)
-{
- wxString str;
- str = t->GetValue();
- return atoi(str.mb_str());
-}
-
-void
-ConfDimDlg::readconf()
-{
- int i;
- for(i=0; i<5; i++) {
- Htitle[i]->SetValue(config.getNameH(i));
- switch (config.getJustifH(i)) {
- case LEFT: Hjust[i]->SetSelection(0); break;
- case CENTER: Hjust[i]->SetSelection(1); break;
- case RIGHT: Hjust[i]->SetSelection(2); break;
- }
- set(Hspaces[i],config.getSpacesH(i));
- }
- for(i=0; i<5; i++) {
- wxString str;
- str << (int)config.getDxText(i);
- Tdim[i]->SetValue(str);
- switch (config.getJustifT(i)) {
- case LEFT: Tjust[i]->SetSelection(0); break;
- case CENTER: Tjust[i]->SetSelection(1); break;
- case RIGHT: Tjust[i]->SetSelection(2); break;
- }
- set(Tspaces[i],config.getSpacesT(i));
- }
- set(dyh1,config.getDyH1());
- set(dyh2,config.getDyH2());
- set(dyt1,config.getDyT1());
- set(dyt2,config.getDyT2());
- set(dxbegin,config.getDxBegin());
- set(dxend,config.getDxEnd());
-
- headfont = config.getFont(PRINTHFONT);
- textfont = config.getFont(PRINTTFONT);
-}
-
-void
-ConfDimDlg::writeconf()
-{
- int i;
- for(i=0; i<5; i++) {
- config.setNameH(i,Htitle[i]->GetValue());
- switch (Hjust[i]->GetSelection()) {
- case -1: break;
- case 0: config.setJustifH(i,LEFT); break;
- case 1: config.setJustifH(i,CENTER); break;
- case 2: config.setJustifH(i,RIGHT); break;
- }
- config.setSpacesH(i,get(Hspaces[i]));
- }
- for(i=0; i<5; i++) {
- wxString str;
- str = Tdim[i]->GetValue();
- config.setDxText(i, atoi(str.mb_str()));
- switch (Tjust[i]->GetSelection()) {
- case -1: break;
- case 0: config.setJustifT(i,LEFT); break;
- case 1: config.setJustifT(i,CENTER); break;
- case 2: config.setJustifT(i,RIGHT); break;
- }
- config.setSpacesT(i,get(Tspaces[i]));
- }
- config.setDyH1(get(dyh1));
- config.setDyH2(get(dyh2));
- config.setDyT1(get(dyt1));
- config.setDyT2(get(dyt2));
- config.setDxBegin(get(dxbegin));
- config.setDxEnd(get(dxend));
-
- config.setFont(PRINTHFONT,headfont);
- config.setFont(PRINTTFONT,textfont);
-}
-
-void
-ConfDimDlg::OnCloseWindow(wxCloseEvent __UNUSED__ &event)
-{
- if (IsModal() == TRUE)
- EndModal(1);
- else
- this->Destroy();
-}
-
-void
-ConfDimDlg::OnButtonOk(wxCommandEvent __UNUSED__ &event)
-{
- writeconf();
- if (IsModal() == TRUE)
- EndModal(1);
- else
- this->Destroy();
-}
-
-void
-ConfDimDlg::OnButtonCancel(wxCommandEvent __UNUSED__ &event)
-{
- if (IsModal() == TRUE)
- EndModal(1);
- else
- this->Destroy();
-}
-
-void
-ConfDimDlg::OnButtonSave(wxCommandEvent __UNUSED__ &event)
-{
- writeconf();
-}
-
-void
-ConfDimDlg::OnConfPage(wxCommandEvent __UNUSED__ &event)
-{
- //#if defined(__WXGTK__)
- pagesetupdata = printdata;
- wxPageSetupDialog pageSetupDialog(this, &pagesetupdata);
- pageSetupDialog.ShowModal();
- printdata = pageSetupDialog.GetPageSetupData().GetPrintData();
- pagesetupdata = pageSetupDialog.GetPageSetupData();
-// #else
-// wxPageSetupDialog pageSetupDialog(this, & pagesetupdata);
-// pageSetupDialog.ShowModal();
-// pagesetupdata = pageSetupDialog.GetPageSetupData();
-// #endif
-}
-
-void
-ConfDimDlg::OnConfPrinter(wxCommandEvent __UNUSED__ &event)
-{
- //#if defined(__WXGTK__)
- wxPrintDialogData printDialogData(printdata);
- wxPrintDialog printerDialog(this, & printDialogData);
- printerDialog.GetPrintDialogData().SetSetupDialog(TRUE);
- printerDialog.ShowModal();
- printdata = printerDialog.GetPrintDialogData().GetPrintData();
-// #else
-// wxPrintDialog printerDialog(this, & printdata);
-// printerDialog.GetPrintData().SetSetupDialog(TRUE);
-// printerDialog.ShowModal();
-// printdata = printerDialog.GetPrintData();
-// #endif
-}
-
-void
-ConfDimDlg::OnConfFontHead(wxCommandEvent __UNUSED__ &event)
-{
- headfont = config.ChooseFont((wxFrame*)this,headfont);
-}
-
-void
-ConfDimDlg::OnConfFontText(wxCommandEvent __UNUSED__ &event)
-{
- textfont = config.ChooseFont((wxFrame*)this,textfont);
-}
-
-wxPrintData
-ConfDimDlg::getPrintData()
-{
- return printdata;
-}
-
-wxPageSetupData
-ConfDimDlg::getPageSetupData()
-{
- return pagesetupdata;
-}
Index: wxwin/confdimdlg.h
===================================================================
RCS file: wxwin/confdimdlg.h
diff -N wxwin/confdimdlg.h
--- wxwin/confdimdlg.h 4 Nov 2005 20:00:06 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,84 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* address@hidden */
-/* */
-/* This program is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-#ifndef _CONFDIMDLG_H
-#define _CONFDIMDLG_H
-
-#include "wx/textctrl.h"
-#include "wx/stattext.h"
-#include "wx/choice.h"
-#include "wx/button.h"
-#include "wx/dialog.h"
-
-class ConfDimDlg : public wxDialog
-{
-private:
- ConfigDB config;
- wxPrintData printdata;
- wxPageSetupData pagesetupdata;
-
- wxFont headfont;
- wxFont textfont;
-
- wxButton *bok;
- wxButton *bcancel;
- wxButton *bprinter;
- wxButton *bpage;
- wxButton *bfontheader;
- wxButton *bsave;
- wxButton *bfonttext;
-
-// Heading
- wxTextCtrl* Htitle[5];
- wxChoice* Hjust[5];
- wxTextCtrl* Hspaces[5];
-// Text
- wxTextCtrl* Tdim[5];
- wxChoice* Tjust[5];
- wxTextCtrl* Tspaces[5];
-// Dim
- wxTextCtrl* dxbegin;
- wxTextCtrl* dxend;
- wxTextCtrl* dyt1;
- wxTextCtrl* dyt2;
- wxTextCtrl* dyh1;
- wxTextCtrl* dyh2;
-
- void readconf();
- void writeconf();
- void set(wxTextCtrl*,long);
- long get(wxTextCtrl*);
-
-public:
- ConfDimDlg(wxWindow* parent, wxPrintData, wxPageSetupData);
- ~ConfDimDlg();
- void OnButtonOk(wxCommandEvent& event);
- void OnButtonCancel(wxCommandEvent& event);
- void OnButtonSave(wxCommandEvent& event);
- void OnCloseWindow (wxCloseEvent& event);
- void OnConfFontHead(wxCommandEvent& event);
- void OnConfFontText(wxCommandEvent& event);
- void OnConfPage(wxCommandEvent& event);
- void OnConfPrinter(wxCommandEvent& event);
-
- wxPrintData getPrintData();
- wxPageSetupData getPageSetupData();
-
- DECLARE_EVENT_TABLE()
-};
-#endif
Index: wxwin/configdb.cc
===================================================================
RCS file: wxwin/configdb.cc
diff -N wxwin/configdb.cc
--- wxwin/configdb.cc 8 Jan 2008 13:52:43 -0000 1.9
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,823 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file configdb.cc
- * \brief Access to Eliot persistant configuration data
- * \author Antoine Fraboulet
- * \date 2002
- */
-
-#include <iostream>
-#include "wx/wx.h"
-#include "ewx.h"
-#include "configdb.h"
-#include "wx/colordlg.h"
-#include "wx/fontdlg.h"
-#include "wx/settings.h"
-
-using namespace std;
-
-#define DIM 200
-#define PREFIX "/"
-
-#define DICPATH wxT(PREFIX"Fichiers/Dictionnaire_Chemin")
-#define DICNAME wxT(PREFIX"Fichiers/Dictionnaire_Nom")
-#define TILEPATH wxT(PREFIX"Fichiers/Lettres_Chemin")
-#define TILENAME wxT(PREFIX"Fichiers/Lettres_Nom")
-
-///////////////////////////
-//
-// Print
-//
-///////////////////////////
-#define ORIENT wxT(PREFIX"Print/Page_Orientation")
-#define MARGINX wxT(PREFIX"Print/Page_MargeGauche")
-#define MARGINY wxT(PREFIX"Print/Page_MargeHaute")
-
-#define HNAME wxT(PREFIX"Print/Header/Nom/")
-#define HDIM wxT(PREFIX"Print/Header/Dimensions/")
-#define HJUST wxT(PREFIX"Print/Header/Justification/")
-#define HSPACE wxT(PREFIX"Print/Header/Espacement/")
-
-#define TDIM wxT(PREFIX"Print/Text/Dimensions/")
-#define TJUST wxT(PREFIX"Print/Text/Justification/")
-#define TSPACE wxT(PREFIX"Print/Text/Espacement/")
-
-#define MISC wxT(PREFIX"Divers/")
-
-ConfigDB::ConfigDB()
-{
- pConfig = wxConfigBase::Get();
-}
-
-
-////////////////////////////////////////////////////////
-//
-// Overload of the Read function
-// bool, long, wxFont, wxColour, wxString
-//
-// bool HasEntry(wxString&)
-// bool Exists(wxString&)
-//
-////////////////////////////////////////////////////////
-
-bool ConfigDB::Read(const wxString& key, bool def)
-{
- bool res;
- if (pConfig->Exists(key))
- pConfig->Read(key,&res,def);
- else
- res = def;
- return res;
-}
-
-long ConfigDB::Read(const wxString& key, long def)
-{
- long res;
- if (pConfig->Exists(key))
- pConfig->Read(key,&res,def);
- else
- res = def;
- return res;
-}
-
-#define FPOINTSIZE wxT(".PointSize")
-#define FFAMILY wxT(".Family")
-#define FSTYLE wxT(".Style")
-#define FWEIGHT wxT(".Weight")
-#define FUNDERLINE wxT(".Underline")
-#define FFACENAME wxT(".FaceName")
-#define FENCODING wxT(".Encoding")
-
-wxFont ConfigDB::Read(const wxString& key, wxFont def)
-{
- return wxFont(Read(key + FPOINTSIZE,(long)def.GetPointSize()),
- Read(key + FFAMILY ,(long)def.GetFamily()),
- Read(key + FSTYLE ,(long)def.GetStyle()),
- Read(key + FWEIGHT ,(long)def.GetWeight()),
- Read(key + FUNDERLINE,(long)def.GetUnderlined()),
- ReadStr(key + FFACENAME ,def.GetFaceName())
- //,Read(key + FENCODING ,def.GetDefaultEncoding())
- );
-}
-
-void ConfigDB::Write(const wxString& key, wxFont font)
-{
- pConfig->Write(key + FPOINTSIZE,(long)font.GetPointSize());
- pConfig->Write(key + FFAMILY ,(long)font.GetFamily());
- pConfig->Write(key + FSTYLE ,(long)font.GetStyle());
- pConfig->Write(key + FWEIGHT ,(long)font.GetWeight());
- pConfig->Write(key + FUNDERLINE,(long)font.GetUnderlined());
- pConfig->Write(key + FFACENAME ,font.GetFaceName());
- //pConfig->Write(key + FENCODING ,font.GetDefaultEncoding());
-}
-
-#define CR wxT(".R")
-#define CG wxT(".G")
-#define CB wxT(".B")
-
-wxColour ConfigDB::Read(const wxString& key, wxColour def)
-{
- return wxColour(Read(key + CR,(long)def.Red()),
- Read(key + CG,(long)def.Green()),
- Read(key + CB,(long)def.Blue()));
-}
-
-
-void ConfigDB::Write(const wxString& key, wxColour colour)
-{
- pConfig->Write(key + CR,(long)colour.Red());
- pConfig->Write(key + CG, (long)colour.Green());
- pConfig->Write(key + CB, (long)colour.Blue());
-}
-
-wxString ConfigDB::ReadStr(const wxString& key, wxString def)
-{
- wxString res;
-
- /*
- wxString msg;
- msg << "want to read -" << key << "-";
- wxMessageBox(msg, "Eliot configDB", wxICON_INFORMATION | wxOK);
- cout << msg << "\n";
- */
-
- if (pConfig->Read(key,&res) == FALSE)
- res = def;
- return res;
-}
-
-////////////////////////////////////////////////////////
-//
-// Overload of the Write function
-// bool, long, wxFont, wxColour, wxString
-//
-////////////////////////////////////////////////////////
-
-void ConfigDB::Write(const wxString& key, bool val)
-{
- pConfig->Write(key,val);
-}
-
-void ConfigDB::Write(const wxString& key, long val)
-{
- pConfig->Write(key,val);
-}
-
-
-void ConfigDB::Write(const wxString& key, wxString str)
-{
- pConfig->Write(key,str);
-}
-
-////////////////////////////////////////////////////////
-//
-// Dictionary
-//
-////////////////////////////////////////////////////////
-
-wxString ConfigDB::getDicPath()
-{
- return ReadStr(DICPATH,wxT("//"));
-}
-
-wxString ConfigDB::getDicName()
-{
- return ReadStr(DICNAME,_("No dictionary"));
-}
-
-wxString ConfigDB::getTilePath()
-{
- return ReadStr(TILEPATH,wxT("//"));
-}
-
-wxString ConfigDB::getTileName()
-{
- return ReadStr(TILENAME,wxT(""));
-}
-
-void ConfigDB::setDicPath(wxString dpath, wxString dname)
-{
- Write(DICPATH,dpath);
- Write(DICNAME,dname);
-}
-
-void ConfigDB::setTilePath(wxString dpath, wxString dname)
-{
- Write(TILEPATH,dpath);
- Write(TILENAME,dname);
-}
-
-////////////////////////////////////////////////////////
-//
-// Text length
-//
-////////////////////////////////////////////////////////
-
-long ConfigDB::getDxBegin()
-{
- return Read(TDIM"debut",1L);
-}
-
-void ConfigDB::setDxBegin(long d)
-{
- Write(TDIM"debut",d);
-}
-
-long ConfigDB::getDxText(int i)
-{
- long int res;
- switch (i)
- {
- case 0: res = Read(TDIM"texte/1",10L); break;
- case 1: res = Read(TDIM"texte/2",30L); break;
- case 2: res = Read(TDIM"texte/3",30L); break;
- case 3: res = Read(TDIM"texte/4",10L); break;
- case 4: res = Read(TDIM"texte/5",10L); break;
- default:res = 0; break;
- }
- return res;
-}
-
-void ConfigDB::setDxText(int i, long v)
-{
- wxString key;
- key << TDIM << wxT("texte/") << (i+1);
- if (i<5)
- Write(key,v);
-}
-
-long ConfigDB::getDxEnd()
-{
- return Read(TDIM"fin",1L);
-}
-
-void ConfigDB::setDxEnd(long d)
-{
- Write(TDIM"fin",d);
-}
-
-long ConfigDB::getDyT1()
-{
- return Read(TDIM"haut",1L);
-}
-
-void ConfigDB::setDyT1(long d)
-{
- Write(TDIM"haut",d);
-}
-
-long ConfigDB::getDyT2()
-{
- return Read(TDIM"bas",1L);
-}
-
-void ConfigDB::setDyT2(long d)
-{
- Write(TDIM"bas",d);
-}
-
-long ConfigDB::getDyH1()
-{
- return Read(HDIM"haut",1L);
-}
-
-void ConfigDB::setDyH1(long d)
-{
- Write(HDIM"haut",d);
-}
-
-long ConfigDB::getDyH2()
-{
- return Read(HDIM"bas",1L);
-}
-
-void ConfigDB::setDyH2(long d)
-{
- Write(HDIM"bas",d);
-}
-
-wxString ConfigDB::getNameH(int i)
-{
- wxString res;
- switch (i)
- {
- case 0: res = ReadStr(wxString(HNAME) + wxT("1"), _("Nb")); break;
- case 1: res = ReadStr(wxString(HNAME) + wxT("2"), _("Rack")); break;
- case 2: res = ReadStr(wxString(HNAME) + wxT("3"), _("Solution")); break;
- case 3: res = ReadStr(wxString(HNAME) + wxT("4"), _("Pos")); break;
- case 4: res = ReadStr(wxString(HNAME) + wxT("5"), _("Pts")); break;
- default: res = wxT(""); break;
- }
- return res;
-}
-
-void ConfigDB::setNameH(int i, wxString str)
-{
- wxString key;
- key << HNAME << (i+1);
- Write(key, str);
-}
-
-////////////////////////////////////////////////////////
-//
-// Text justification
-//
-////////////////////////////////////////////////////////
-
-enum Justif ConfigDB::StrToJust(const wxString& str)
-{
- enum Justif res;
- if (str.CmpNoCase(wxT("gauche")) == 0)
- res = LEFT;
- else if (str.CmpNoCase(wxT("centre")) == 0)
- res = CENTER;
- else if (str.CmpNoCase(wxT("droite")) == 0)
- res = RIGHT;
- else
- res = LEFT;
- return res;
-}
-
-wxString ConfigDB::JustToStr(enum Justif j)
-{
- wxString res;
- switch (j) {
- case LEFT: res = wxT("gauche"); break;
- case CENTER: res = wxT("centre"); break;
- case RIGHT: res = wxT("droite"); break;
- }
- return res;
-}
-
-enum Justif ConfigDB::getJustif(const wxString& key)
-{
- return StrToJust(ReadStr(key,wxT("gauche")));
-}
-
-void ConfigDB::setJustif(const wxString& key, enum Justif j)
-{
- Write(key,JustToStr(j));
-}
-
-enum Justif ConfigDB::getJustifH(int i)
-{
- wxString key;
- key << HJUST << (i+1);
- return getJustif(key);
-}
-
-enum Justif ConfigDB::getJustifT(int i)
-{
- wxString key;
- key << TJUST << (i+1);
- return getJustif(key);
-}
-
-void ConfigDB::setJustifH(int i, enum Justif j)
-{
- wxString key;
- key << HJUST << (i+1);
- setJustif(key,j);
-}
-
-void ConfigDB::setJustifT(int i, enum Justif j)
-{
- wxString key;
- key << TJUST << (i+1);
- setJustif(key,j);
-}
-
-////////////////////////////////////////////////////////
-//
-// Text Spaces
-//
-////////////////////////////////////////////////////////
-
-int ConfigDB::getSpacesH(int i)
-{
- wxString key;
- key << HSPACE << (i+1);
- return Read(key,0L);
-}
-
-int ConfigDB::getSpacesT(int i)
-{
- wxString key;
- key << TSPACE << (i+1);
- return Read(key,0L);
-}
-
-void ConfigDB::setSpacesH(int i, int spaces)
-{
- wxString key;
- key << HSPACE << (i+1);
- Write(key,(long)spaces);
-}
-
-void ConfigDB::setSpacesT(int i, int spaces)
-{
- wxString key;
- key << TSPACE << (i+1);
- Write(key,(long)spaces);
-}
-
-////////////////////////////////////////////////////////
-//
-// Fonts
-//
-////////////////////////////////////////////////////////
-
-wxFont ConfigDB::ChooseFont(wxFrame* frame,wxFont initfont)
-{
- wxFont retfont = initfont;
- wxFontData data;
- data.SetInitialFont(initfont);
- wxFontDialog *dialog = new wxFontDialog(frame, &data);
- if (dialog->ShowModal() == wxID_OK) {
- wxFontData retdata = dialog->GetFontData();
- retfont = retdata.GetChosenFont();
- }
- dialog->Close();
- return retfont;
-}
-
-#define FHEADERDEF wxFont(12, wxSWISS, wxNORMAL, wxBOLD)
-#define FTEXTDEF wxFont(10, wxSWISS, wxNORMAL, wxNORMAL)
-
-void ConfigDB::setFontDefault()
-{
- wxFont fsys;
-
-#ifdef WXWIN24
- fsys = wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT);
-#else
- fsys = wxSystemSettingsNative::GetFont(wxSYS_DEFAULT_GUI_FONT);
-#endif
-
- setFont(BOARDFONT ,fsys);
- setFont(LISTFONT ,fsys);
- setFont(PRINTHFONT,FHEADERDEF);
- setFont(PRINTTFONT,FTEXTDEF);
-}
-
-void ConfigDB::setFont(wxString key, wxFont font)
-{
- Write(key,font);
-}
-
-wxFont ConfigDB::getFont(wxString key)
-{
- return Read(key,wxFont(12,wxMODERN,wxNORMAL,wxNORMAL));
-}
-
-////////////////////////////////////////////////////////
-//
-// Colours
-//
-////////////////////////////////////////////////////////
-
-wxColour ConfigDB::ChooseColour(wxFrame* frame,wxColour initcolour)
-{
- wxColour retcolour = initcolour;
- wxColourData data;
- data.SetColour(initcolour);
- wxColourDialog *dialog = new wxColourDialog(frame, &data);
- if (dialog->ShowModal() == wxID_OK) {
- wxColourData retdata = dialog->GetColourData();
- retcolour = retdata.GetColour();
- }
- dialog->Close();
- return retcolour;
-}
-
-#define LINESDEF wxColour(101,101,101)
-#define WX2DEF wxColour(255,147,196)
-#define WX3DEF wxColour(240, 80, 94)
-#define LX2DEF wxColour( 34,189,240)
-#define LX3DEF wxColour( 29,104,240)
-#define BACKDEF wxColour(255,255,255)
-#define LETTDEF wxColour( 0, 0, 0)
-#define TSTLETTDEF wxColour( 0, 0, 0)
-#define TILEDEF wxColour(0xff,0xeb,0xcd)
-//#define TSTTILEDEF wxColour(0xff,0xe4,0xb5)
-//#define TSTTILEDEF wxColour(0x46,0x82,0xb4)
-#define TSTTILEDEF wxColour(0xbd,0xb7,0x7b)
-
-void ConfigDB::setColourDefault()
-{
- setColour(wxString(BCOLOURLINES),LINESDEF);
- setColour(wxString(BCOLOURWX2),WX2DEF);
- setColour(wxString(BCOLOURWX3),WX3DEF);
- setColour(wxString(BCOLOURLX2),LX2DEF);
- setColour(wxString(BCOLOURLX3),LX3DEF);
- setColour(wxString(BCOLOURBACKGROUND),BACKDEF);
- setColour(wxString(BCOLOURLETTERS),LETTDEF);
- setColour(wxString(BTILEBACKGROUND),TILEDEF);
- setColour(wxString(BTSTTILEBACKGROUND),TSTTILEDEF);
-}
-
-void
-ConfigDB::setColour(wxString key, wxColour col)
-{
- Write(key,col);
-}
-
-wxColour
-ConfigDB::getColour(wxString key)
-{
- return Read(key,wxColour(0,0,0));
-}
-
-////////////////////////////////////////////////////////
-//
-// PRINTING
-//
-////////////////////////////////////////////////////////
-
-long ConfigDB::getMarginX()
-{
- return Read(MARGINX,10L);
-}
-
-long ConfigDB::getMarginY()
-{
- return Read(MARGINY,10L);
-}
-
-void ConfigDB::setMarginX(long x)
-{
- Write(MARGINX,x);
-}
-
-void ConfigDB::setMarginY(long y)
-{
- Write(MARGINY,y);
-}
-
-long ConfigDB::getOrientation()
-{
- long res;
- wxString str;
-
- str = ReadStr(ORIENT,wxT("paysage"));
- if (str.CmpNoCase(wxT("portrait")) == 0)
- res = wxPORTRAIT;
- else if (str.CmpNoCase(wxT("paysage")) == 0)
- res = wxLANDSCAPE;
- else
- res = wxPORTRAIT;
- return res;
-}
-
-void ConfigDB::setOrientation(long o)
-{
- switch (o)
- {
- case wxLANDSCAPE: Write(ORIENT,wxT("paysage")); break;
- case wxPORTRAIT: // fall through
- default: Write(ORIENT,wxT("portrait")); break;
- }
-}
-
-wxPrintData ConfigDB::getPrintData()
-{
- wxPrintData pd;
- pd.SetOrientation(getOrientation());
- return pd;
-}
-
-void ConfigDB::setPrintData(wxPrintData pd)
-{
- setOrientation(pd.GetOrientation());
-}
-
-wxPageSetupData ConfigDB::getPageSetupData()
-{
- wxPageSetupData pd;
- wxPoint margin(getMarginX(),getMarginY());
- pd.SetMarginTopLeft(margin);
- return pd;
-}
-
-void ConfigDB::setPageSetupData(wxPageSetupData pd)
-{
- setMarginX(pd.GetMarginTopLeft().x);
- setMarginY(pd.GetMarginTopLeft().y);
-}
-
-float ConfigDB::getPrintLineScale()
-{
- return 0.2;
-}
-
-void ConfigDB::setPrintLineScale(float)
-{
-}
-
-////////////////////////////////////////////////////////
-//
-// Frame dimensions
-//
-////////////////////////////////////////////////////////
-
-#define PX wxT("/x")
-#define PY wxT("/y")
-#define SW wxT("/w")
-#define SH wxT("/h")
-#define SHOW wxT("/show")
-
-#define CONFIG_DEFAULT_X 150L
-#define CONFIG_DEFAULT_Y 150L
-#define CONFIG_DEFAULT_W 150L
-#define CONFIG_DEFAULT_H 200L
-
-wxPoint ConfigDB::getFramePos(wxString frame)
-{
- wxPoint pos;
- wxString keyX(frame + PX);
- wxString keyY(frame + PY);
-
- pos.x = Read(keyX,CONFIG_DEFAULT_X);
- pos.x = pos.x < 0 ? 0 : pos.x;
-
- pos.y = Read(keyY,CONFIG_DEFAULT_Y);
- pos.y = pos.y < 0 ? 0 : pos.y;
-#ifdef FRAME_TRACE
- cerr << "configdb::getFramePos " << frame
- << " \tx:" << pos.x << " y:" << pos.y << endl;
-#endif
- return pos;
-}
-
-void ConfigDB::setFramePos(wxString frame, wxPoint pos)
-{
-#ifdef FRAME_TRACE
- cerr << "configdb::setFramePos " << frame
- << " \tx:" << pos.x << " y:" << pos.y << endl;
-#endif
- wxString keyX(frame + PX);
- wxString keyY(frame + PY);
- Write(keyX,(long) (pos.x < 0 ? 0 : pos.x));
- Write(keyY,(long) (pos.y < 0 ? 0 : pos.y));
-}
-
-wxSize ConfigDB::getFrameSize(wxString frame)
-{
- wxSize size;
- wxString keyX(frame + SW);
- wxString keyY(frame + SH);
-
- size.x = Read(keyX,CONFIG_DEFAULT_W);
- size.x = size.x < 0 ? 0 : size.x;
-
- size.y = Read(keyY,CONFIG_DEFAULT_H);
- size.y = size.y < 0 ? 0 : size.y;
-#ifdef FRAME_TRACE
- cerr << "configdb::getFrameSize " << frame
- << " \tw:" << size.x << " h:" << size.y << endl;
-#endif
- return size;
-}
-
-void ConfigDB::setFrameSize(wxString frame, wxSize size)
-{
-#ifdef FRAME_TRACE
- cerr << "configdb::setFrameSize " << frame
- << " \tw:" << size.x << " h:" << size.y << endl;
-#endif
- wxString keyX(frame + SW);
- wxString keyY(frame + SH);
- Write(keyX,(long) (size.x < 0 ? 0 : size.x));
- Write(keyY,(long) (size.y < 0 ? 0 : size.y));
-}
-
-int ConfigDB::getFrameShow(wxString frame)
-{
- wxString key(frame + SHOW);
- return Read(key,0L);
-}
-
-void ConfigDB::setFrameShow(wxString frame, int s)
-{
- wxString key(frame + SHOW);
- Write(key,(long)s);
-}
-
-void ConfigDB::setFrameDefault()
-{
- setFrameSize(FRAMEBOARD ,wxSize(450,450));
- setFrameSize(FRAMEVERIF ,wxSize(150,50));
- setFrameSize(FRAMESEARCH ,wxSize(350,300));
- setFrameSize(FRAMEPLUS1 ,wxSize(CONFIG_DEFAULT_W,CONFIG_DEFAULT_H));
- setFrameSize(FRAMERACC ,wxSize(CONFIG_DEFAULT_W,CONFIG_DEFAULT_H));
- setFrameSize(FRAMEBENJ ,wxSize(CONFIG_DEFAULT_W,CONFIG_DEFAULT_H));
- setFrameSize(FRAMEBAG ,wxSize(150,40));
- setFrameSize(wxT(APPNAME),wxSize(410,200));
-
- setFramePos(FRAMEBOARD ,wxPoint(58,76));
- setFramePos(FRAMEVERIF ,wxPoint(CONFIG_DEFAULT_X,CONFIG_DEFAULT_Y));
- setFramePos(FRAMESEARCH ,wxPoint(CONFIG_DEFAULT_X,CONFIG_DEFAULT_Y));
- setFramePos(FRAMEPLUS1 ,wxPoint(490,300));
- setFramePos(FRAMERACC ,wxPoint(CONFIG_DEFAULT_X,CONFIG_DEFAULT_Y));
- setFramePos(FRAMEBENJ ,wxPoint(CONFIG_DEFAULT_X,CONFIG_DEFAULT_Y));
- setFramePos(FRAMEBAG ,wxPoint(CONFIG_DEFAULT_X,CONFIG_DEFAULT_Y));
- setFramePos(wxT(APPNAME),wxPoint(500,9));
-
- setFrameShow(FRAMEBOARD ,1L);
- setFrameShow(FRAMEVERIF ,0L);
- setFrameShow(FRAMESEARCH,0L);
- setFrameShow(FRAMEPLUS1 ,1L);
- setFrameShow(FRAMERACC ,0L);
- setFrameShow(FRAMEBENJ ,0L);
- setFrameShow(FRAMEBAG ,0L);
-#ifdef FRAME_TRACE
- cerr << endl;
-#endif
-}
-
-////////////////////////////////////////////////////////
-//
-// Game Options
-//
-////////////////////////////////////////////////////////
-
-void ConfigDB::setJokerPlus1(bool val)
-{
- wxString key;
- key = wxString(MISC) + wxT("JokersDans7plus1");
- Write(key,val);
-}
-
-bool ConfigDB::getJokerPlus1()
-{
- wxString key;
- key = wxString(MISC) + wxT("JokersDans7plus1");
- return Read(key,(bool)FALSE);
-}
-
-void ConfigDB::setRackChecking(bool val)
-{
- wxString key;
- key = wxString(MISC) + wxT("VerificationTirages");
- Write(key,val);
-}
-
-bool ConfigDB::getRackChecking()
-{
- wxString key;
- key = wxString(MISC) + wxT("VerificationTirages");
- return Read(key,(bool)FALSE);
-}
-
-void ConfigDB::setDrawTile(bool val)
-{
- wxString key;
- key = wxString(BDRAWBACKGROUND);
- Write(key,val);
-}
-
-bool ConfigDB::getDrawTile()
-{
- wxString key;
- key = wxString(BDRAWBACKGROUND);
- return Read(key,(bool)TRUE);
-}
-
-////////////////////////////////////////////////////////
-//
-//
-//
-////////////////////////////////////////////////////////
-
-#define INIT wxT("/Initialized")
-
-void
-ConfigDB::setFirstDefault()
-{
- if (Read(wxString(INIT),0L))
- return;
-
- setFontDefault();
- setColourDefault();
- setFrameDefault();
-
- Write(wxString(INIT),1L);
-}
Index: wxwin/configdb.h
===================================================================
RCS file: wxwin/configdb.h
diff -N wxwin/configdb.h
--- wxwin/configdb.h 26 Dec 2005 15:02:26 -0000 1.6
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,192 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file configdb.h
- * \brief Access to Eliot persistant configuration data
- * \author Antoine Fraboulet
- * \date 2002
- */
-
-#ifndef _CONFIGDB_H
-#define _CONFIGDB_H
-
-#include "wx/dc.h"
-#include "wx/font.h"
-#include "wx/colour.h"
-#include "wx/frame.h"
-#include "wx/cmndata.h"
-#include "wx/config.h"
-
-#define BUTTON_FONT wxFont(8,wxDEFAULT,wxNORMAL,wxNORMAL)
-
-#define BOARD "Board"
-#define BCOLOURLINES wxT(BOARD"/Lines")
-#define BCOLOURWX2 wxT(BOARD"/Wx2")
-#define BCOLOURWX3 wxT(BOARD"/Wx3")
-#define BCOLOURLX2 wxT(BOARD"/Lx2")
-#define BCOLOURLX3 wxT(BOARD"/Lx3")
-#define BCOLOURBACKGROUND wxT(BOARD"/Background")
-#define BCOLOURLETTERS wxT(BOARD"/Letters")
-#define BCOLOURTSTLETTERS wxT(BOARD"/TstLetters")
-#define BOARDFONT wxT(BOARD"/Font")
-
-#define BDRAWBACKGROUND wxT(BOARD"/DrawTile")
-#define BTILEBACKGROUND wxT(BOARD"/TileBG")
-#define BTSTTILEBACKGROUND wxT(BOARD"/TstTileBG")
-
-#define LIST "List"
-#define LISTFONT wxT(LIST"/Font")
-
-#define PRINT "Print"
-#define PHEADER PRINT"/Header"
-#define PRINTHFONT wxT(PHEADER"/Font")
-#define PTEXT PRINT"/Text"
-#define PRINTTFONT wxT(PTEXT"/Font")
-
-#define FRAME "Frames/"
-#define FRAMEBOARD wxT(FRAME"Board")
-#define FRAMEVERIF wxT(FRAME"Verif")
-#define FRAMESEARCH wxT(FRAME"Search")
-#define FRAMEPLUS1 wxT(FRAME"Plus1")
-#define FRAMERACC wxT(FRAME"Racc")
-#define FRAMEBENJ wxT(FRAME"Benj")
-#define FRAMEBAG wxT(FRAME"Bag")
-#define FRAMEGAME wxT(FRAME"Game")
-#define FRAMERESULT wxT(FRAME"Result")
-
-enum Justif { LEFT, CENTER, RIGHT };
-
-class ConfigDB
-{
-private:
- wxConfigBase* pConfig;
- enum Justif StrToJust(const wxString&);
- wxString JustToStr(enum Justif);
-
- enum Justif getJustif(const wxString&);
- void setJustif(const wxString&, enum Justif);
-
- bool Read(const wxString&, bool);
- long Read(const wxString&, long);
- wxFont Read(const wxString&, wxFont);
- wxColour Read(const wxString&, wxColour);
- wxString ReadStr(const wxString&, wxString);
-
- void Write(const wxString&, bool);
- void Write(const wxString&, long);
- void Write(const wxString&, wxFont);
- void Write(const wxString&, wxColour);
- void Write(const wxString&, wxString);
-
-public:
- ConfigDB();
-
- wxFont ChooseFont(wxFrame*,wxFont);
- wxColour ChooseColour(wxFrame*,wxColour);
-
- // Dictionary
- wxString getDicPath();
- wxString getDicName();
- wxString getTilePath();
- wxString getTileName();
- void setDicPath(wxString name,wxString name);
- void setTilePath(wxString path,wxString name);
-
- // page setup
- long getOrientation();
- void setOrientation(long);
-
- // game drawing
- long getDxBegin();
- long getDxText(int);
- long getDxEnd();
- void setDxBegin(long);
- void setDxText(int,long);
- void setDxEnd(long);
-
- long getDyH1();
- long getDyH2();
- long getDyT1();
- long getDyT2();
- void setDyH1(long);
- void setDyH2(long);
- void setDyT1(long);
- void setDyT2(long);
-
- int getSpacesH(int);
- int getSpacesT(int);
- void setSpacesH(int,int);
- void setSpacesT(int,int);
-
- enum Justif getJustifH(int);
- enum Justif getJustifT(int);
- void setJustifH(int, enum Justif);
- void setJustifT(int, enum Justif);
-
- wxString getNameH(int);
- void setNameH(int, wxString);
-
- long getMarginX();
- long getMarginY();
- void setMarginX(long);
- void setMarginY(long);
-
- wxFont getFont(wxString);
- void setFont(wxString,wxFont);
- void setFontDefault();
-
- wxColour getColour(wxString);
- void setColour(wxString,wxColour);
- void setColourDefault();
-
- wxPrintData getPrintData();
- void setPrintData(wxPrintData);
- wxPageSetupData getPageSetupData();
- void setPageSetupData(wxPageSetupData);
-
- /**
- * frames
- */
- wxSize getFrameSize(wxString);
- wxPoint getFramePos(wxString);
- int getFrameShow(wxString);
- void setFrameSize(wxString,wxSize);
- void setFramePos(wxString,wxPoint);
- void setFrameShow(wxString,int);
- void setFrameDefault();
-
- void setRackChecking(bool);
- bool getRackChecking();
-
- void setJokerPlus1(bool);
- bool getJokerPlus1();
-
- void setDrawTile(bool);
- bool getDrawTile();
-
- float getPrintLineScale();
- void setPrintLineScale(float);
-
- void setFirstDefault();
-
-};
-
-#endif
-
Index: wxwin/confsearch.cc
===================================================================
RCS file: wxwin/confsearch.cc
diff -N wxwin/confsearch.cc
--- wxwin/confsearch.cc 8 Jan 2008 13:52:43 -0000 1.10
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,101 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* address@hidden */
-/* */
-/* This program is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-#include "ewx.h"
-#include "wx/wx.h"
-#include "wx/sizer.h"
-#include "confsearch.h"
-
-
-BEGIN_EVENT_TABLE(ConfSearchDlg, wxDialog)
- EVT_CLOSE (ConfSearchDlg::OnCloseWindow)
- EVT_BUTTON (wxID_OK, ConfSearchDlg::OnButtonOk)
- EVT_BUTTON (wxID_CANCEL, ConfSearchDlg::OnButtonCancel)
-END_EVENT_TABLE()
-
-
-ConfSearchDlg::ConfSearchDlg(wxWindow* parent)
- : wxDialog(parent, -1, wxString(wxT("Configuration recherche")))
-{
-
- joker_searching = new wxCheckBox(this, wxID_ANY, _("Search on joker in 7+1
panel"));
- rack_checking = new wxCheckBox(this, wxID_ANY, _("Check rack validity"));
-
- bcancel = new wxButton(this, wxID_CANCEL);
- bcancel->SetToolTip(_("Cancel last changes"));
- bok = new wxButton(this, wxID_OK);
- bok->SetToolTip(_("Save the changes"));
-
- wxBoxSizer *bsizer = new wxBoxSizer( wxHORIZONTAL);
- bsizer->Add(bok, 1, wxALL, 1);
- bsizer->Add(bcancel, 1, wxALL, 1);
-
- wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL );
- sizer->Add(joker_searching, 1, wxEXPAND | wxALL, 2);
- sizer->Add(rack_checking, 1, wxEXPAND | wxALL, 2);
- sizer->Add(bsizer, 0, wxEXPAND, 0);
-
- SetAutoLayout(TRUE);
- SetSizer(sizer);
- sizer->Fit(this);
- sizer->SetSizeHints(this);
- readconf();
-}
-
- void
-ConfSearchDlg::readconf()
-{
- joker_searching->SetValue(config.getJokerPlus1());
- rack_checking->SetValue(config.getRackChecking());
-}
-
- void
-ConfSearchDlg::writeconf()
-{
- config.setJokerPlus1(joker_searching->GetValue());
- config.setRackChecking(rack_checking->GetValue());
-}
-
- void
-ConfSearchDlg::OnCloseWindow(wxCloseEvent&)
-{
- if (IsModal() == TRUE)
- EndModal(1);
- else
- this->Destroy();
-}
-
- void
-ConfSearchDlg::OnButtonOk(wxCommandEvent&)
-{
- writeconf();
- if (IsModal() == TRUE)
- EndModal(1);
- else
- this->Destroy();
-}
-
- void
-ConfSearchDlg::OnButtonCancel(wxCommandEvent&)
-{
- if (IsModal() == TRUE)
- EndModal(1);
- else
- this->Destroy();
-}
-
Index: wxwin/confsearch.h
===================================================================
RCS file: wxwin/confsearch.h
diff -N wxwin/confsearch.h
--- wxwin/confsearch.h 4 Nov 2005 20:00:06 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,50 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* address@hidden */
-/* */
-/* This program is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-#ifndef _CONFSEARCH_H
-#define _CONFSEARCH_H
-
-#include "wx/button.h"
-#include "wx/dialog.h"
-#include "wx/checkbox.h"
-#include "configdb.h"
-
-class ConfSearchDlg : public wxDialog
-{
-private:
- ConfigDB config;
-
- wxButton *bok;
- wxButton *bcancel;
-
- wxCheckBox *joker_searching;
- wxCheckBox *rack_checking;
-
- void readconf();
- void writeconf();
-
-public:
-
- ConfSearchDlg(wxWindow* parent);
- void OnButtonOk (wxCommandEvent& event);
- void OnButtonCancel(wxCommandEvent& event);
- void OnCloseWindow (wxCloseEvent& event);
-
- DECLARE_EVENT_TABLE()
-};
-#endif
Index: wxwin/eliot.ico
===================================================================
RCS file: wxwin/eliot.ico
diff -N wxwin/eliot.ico
Binary files /tmp/cvs8zLfhP and /dev/null differ
Index: wxwin/eliot.xpm
===================================================================
RCS file: wxwin/eliot.xpm
diff -N wxwin/eliot.xpm
--- wxwin/eliot.xpm 8 Apr 2004 09:43:06 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,315 +0,0 @@
-/* XPM */
-static char * eliot_xpm[] = {
-"48 48 264 2",
-" c None",
-". c #E2E2E2",
-"+ c #EFEFEF",
-"@ c #EEEFEE",
-"# c #EEEEEE",
-"$ c #DBDBDB",
-"% c #EDEEED",
-"& c #D9DAD9",
-"* c #FFFFFF",
-"= c #CACACA",
-"- c #F0F0F0",
-"; c #BEBEBE",
-"> c #E1E1E1",
-", c #C7C7C7",
-"' c #BCBCBC",
-") c #D3D3D3",
-"! c #A3A3A3",
-"~ c #F9F9F9",
-"{ c #A0A0A0",
-"] c #C1C1C1",
-"^ c #E0E0E0",
-"/ c #B5B5B5",
-"( c #D2D2D2",
-"_ c #CDCDCD",
-": c #B4B4B4",
-"< c #B9B9B9",
-"[ c #FDFDFD",
-"} c #C3C3C3",
-"| c #D4D4D4",
-"1 c #F5F5F5",
-"2 c #969696",
-"3 c #EDEDED",
-"4 c #A9A9A9",
-"5 c #A6A6A6",
-"6 c #BFBFBF",
-"7 c #A8A8A8",
-"8 c #E5E6E5",
-"9 c #FBFBFB",
-"0 c #E5E2E2",
-"a c #E2DFDF",
-"b c #E4E3E2",
-"c c #E3E3E3",
-"d c #DCDCDC",
-"e c #E4E5E4",
-"f c #E2E3E2",
-"g c #E2E4E4",
-"h c #CED1D2",
-"i c #DEE1E2",
-"j c #DEDEDE",
-"k c #E5E5E5",
-"l c #DFE0DF",
-"m c #E4E4E4",
-"n c #DFDCDC",
-"o c #E4E4E3",
-"p c #E0E1E0",
-"q c #E0E4E5",
-"r c #D5D9D9",
-"s c #DFE1E1",
-"t c #E4E3E3",
-"u c #DEDBDA",
-"v c #F6505A",
-"w c #DF787D",
-"x c #64C0E0",
-"y c #1DAEE2",
-"z c #20BEF6",
-"A c #C3DCE4",
-"B c #FAFAFA",
-"C c #EAEBEA",
-"D c #E3BBBD",
-"E c #E19EA2",
-"F c #E7E8E7",
-"G c #21BDF4",
-"H c #51BADF",
-"I c #E0868B",
-"J c #E3C5C6",
-"K c #CC878C",
-"L c #E5CFD9",
-"M c #CFC6CA",
-"N c #7EB9CC",
-"O c #52ADCD",
-"P c #59BDDF",
-"Q c #BACACE",
-"R c #AABAD2",
-"S c #B5C6E3",
-"T c #AAB8CE",
-"U c #CEB6B6",
-"V c #CDA4A5",
-"W c #B2BDCE",
-"X c #CECFCF",
-"Y c #D1D2D1",
-"Z c #59BCDE",
-"` c #73B5CC",
-" . c #CFC8CB",
-".. c #CC8E93",
-"+. c #DFCCCD",
-"@. c #FF91C5",
-"#. c #E5B5CB",
-"$. c #EAEAEA",
-"%. c #2268E3",
-"&. c #1869F6",
-"*. c #3171DE",
-"=. c #5789DF",
-"-. c #DDE0E5",
-";. c #E5BED0",
-">. c #E5C6D4",
-",. c #9A9A9A",
-"'. c #CFAABB",
-"). c #E5BACE",
-"!. c #CFC5CA",
-"~. c #D2D3D2",
-"{. c #CFD0CF",
-"]. c #7B9BD0",
-"^. c #7FA3E1",
-"/. c #7B9BCC",
-"(. c #8DCCE1",
-"_. c #9BC1CD",
-":. c #AAC5CE",
-"<. c #7DA2CC",
-"[. c #CCCECF",
-"}. c #E3E4E3",
-"|. c #CFC9CB",
-"1. c #CFC2C8",
-"2. c #C9C9C9",
-"3. c #E5C9D6",
-"4. c #D9E2E5",
-"5. c #61BFE0",
-"6. c #86CAE1",
-"7. c #B4D7E3",
-"8. c #E5D3DB",
-"9. c #E5B1C9",
-"0. c #CFCFCF",
-"a. c #CFA4B8",
-"b. c #D298B3",
-"c. c #E5A6C3",
-"d. c #CFC7CA",
-"e. c #D4D5D4",
-"f. c #CCCFCF",
-"g. c #ACD5E3",
-"h. c #8EBDCD",
-"i. c #82BACC",
-"j. c #C3CDCF",
-"k. c #E3A5C2",
-"l. c #CFA1B7",
-"m. c #CFC3C8",
-"n. c #89BCCC",
-"o. c #C8DADF",
-"p. c #ACACAC",
-"q. c #D8DBDC",
-"r. c #EA85B5",
-"s. c #E5D5DC",
-"t. c #AFD6E3",
-"u. c #8ACBE1",
-"v. c #FD90C4",
-"w. c #E59DBF",
-"x. c #6CC2E0",
-"y. c #BBD9E3",
-"z. c #D6E1E4",
-"A. c #C6CDCF",
-"B. c #CFCCCD",
-"C. c #D2CCCE",
-"D. c #E5DEE1",
-"E. c #CF96B0",
-"F. c #E591B9",
-"G. c #E090B6",
-"H. c #C9CECF",
-"I. c #CF8DAC",
-"J. c #D18BAB",
-"K. c #E3DCDF",
-"L. c #CFCBCD",
-"M. c #C7CECF",
-"N. c #DDE0E0",
-"O. c #9F9F9F",
-"P. c #E59ABD",
-"Q. c #FA8FC2",
-"R. c #E58EB7",
-"S. c #E78AB6",
-"T. c #D6D6D6",
-"U. c #D9D9D9",
-"V. c #D694B3",
-"W. c #ED8CB9",
-"X. c #E88BB6",
-"Y. c #DADBDA",
-"Z. c #D689AD",
-"`. c #D886AC",
-" + c #EBEBEB",
-".+ c #F7F8F7",
-"++ c #B1C2DD",
-"@+ c #1C69EF",
-"#+ c #7EA0DB",
-"$+ c #DFDFDF",
-"%+ c #F2F3F2",
-"&+ c #2568DC",
-"*+ c #3370D8",
-"=+ c #5888D9",
-"-+ c #D7DADE",
-";+ c #F5F6F5",
-">+ c #90ACDC",
-",+ c #9FB6DC",
-"'+ c #C2C2C2",
-")+ c #92B0E2",
-"!+ c #A2BAE2",
-"~+ c #AEBBCE",
-"{+ c #447DDF",
-"]+ c #7C9FCC",
-"^+ c #C6DDE4",
-"/+ c #487ACE",
-"(+ c #507ECA",
-"_+ c #BDCBCF",
-":+ c #C2CCCF",
-"<+ c #668ECB",
-"[+ c #CACDCF",
-"}+ c #CACFCF",
-"|+ c #87A7CC",
-"1+ c #A1B2CE",
-"2+ c #E1E2E1",
-"3+ c #BFDAE3",
-"4+ c #7BC7E1",
-"5+ c #ADADAD",
-"6+ c #E2ADB0",
-"7+ c #CDADAE",
-"8+ c #A3C3CE",
-"9+ c #73C4E0",
-"0+ c #88BCCC",
-"a+ c #90BFCF",
-"b+ c #9DD0E2",
-"c+ c #C4CDCF",
-"d+ c #8CB4C8",
-"e+ c #E5C2D2",
-"f+ c #9FB4C6",
-"g+ c #B6C9CE",
-"h+ c #9CCFE0",
-"i+ c #8CBDCD",
-"j+ c #99C0CD",
-"k+ c #CEB1B2",
-"l+ c #E0D6D6",
-"m+ c #E5CBD7",
-"n+ c #E582B1",
-"o+ c #E5B9CD",
-"p+ c #E7E7E7",
-"q+ c #E6E7E6",
-"r+ c #CCCCCC",
-"s+ c #E8E8E8",
-"t+ c #F2F2F2",
-"u+ c #989898",
-"v+ c #FEFEFE",
-"w+ c #E3E4E4",
-"x+ c #F1F1F1",
-"y+ c #B6B6B6",
-"z+ c #DCD9D9",
-"A+ c #DADADA",
-"B+ c #F7F7F7",
-"C+ c #E4D3D4",
-"D+ c #E2D8D8",
-"E+ c #D5DFE2",
-"F+ c #BDCCD1",
-"G+ c #CEDFE4",
-"H+ c #DFE2E2",
-"I+ c #E2DFDE",
-"J+ c #E2DCDB",
-"K+ c #D3DEE2",
-"L+ c #E2D9D9",
-"M+ c #F3F0F0",
-"N+ c #D7D8D7",
-"O+ c #CECFCE",
-". + + + @ + + # + @ # + $ @ + # + + # + + % + + # + @ @ + @ # + @ @ + # + @ #
+ @ @ + # # + + & ",
-"+ * * * = * - ; * > , * ' ) * ! ~ * { * * ] * ^ / * ( _ * : < [ } | 1 2 3 = 4
* = 5 * 6 7 * * 8 ",
-"+ * 9 0 a b c d e f . g h i e j k k l e 8 f m 0 n o p f e f l e f . q r s f l
e f f t a u 1 * 8 ",
-"+ + 0 v v w * * 8 * * x y z A * B C * 8 * * D v v E * * 8 * * 8 * F G z H * *
8 * * I v v J * 8 ",
-"@ ! 0 v v w * * 8 * * x y z A * B C * 8 * * D v v E * * 8 * * 8 * F G z H * *
8 * * I v v J * 8 ",
-"+ * b w w K L L M 8 8 N O P Q 8 p R S T 8 8 U w w V 8 8 W S S X 8 Y Z P ` 8 8
.L L ..w w +.* 8 ",
-"+ , 8 * * L @address@hidden * 8 $.* 8 * B %.&.*.* * 8 * * 8 * * =.&.&.-.* F [
* 8 * * ;address@hidden@.>.* * 8 * 8 ",
-"+ ,.8 * * L @address@hidden * 8 $.* 8 * B %.&.*.* * 8 * * 8 * * =.&.&.-.* F [
* 8 * * ;address@hidden@.>.* * 8 * 8 ",
-"+ * e 8 8 M #.#.'.).).!.~.8 {.8 p ].^./.(.(._.8 8 :.(.(.<.^.^.[.8 Y }.8
|.).).'.#.#.1.8 8 p * 8 ",
-"+ 2.f * * 8 * * )address@hidden@.3.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 *
F [ * address@hidden@.9.* * 8 * * 8 * 8 ",
-"+ 0.f * * 8 * * )address@hidden@.3.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 *
F [ * address@hidden@.9.* * 8 * * 8 * 8 ",
-"+ * g x x N 8 8 !.3.3.a.b.c.d.8 p e.8 f.g.g.h.x x i.g.g.j.8 8 {.8 Y
k.c.l.3.3.m.8 8 n.x x o.* 8 ",
-"+ p.q.z z P * * 8 * * address@hidden B C * 8 * * t.z z u.* * 8 * * 8 * F
address@hidden * 8 * * x.z z y.* 8 ",
-"+ 0.q z z P * * 8 * * address@hidden B C * 8 * * t.z z u.* * 8 * * 8 * F
address@hidden * 8 * * x.z z y.* 8 ",
-"+ 9 e z.z.A.8 8 {.8 8 B.C.D.E.F.G.e.8 {.8 8 f.z.z.H.8 8 {.8 8 I.F.J.K.D.L.8 8
{.8 8 M.z.z.N.* 8 ",
-"+ O.8 * * 8 * * 8 * * 8 $.* address@hidden * 8 * * 8 * * 8 * * 8 * *
address@hidden * 8 * * 8 * * 8 * * 8 * 8 ",
-"+ . k 3 3 T.3 3 T.3 3 T.U.3 V.W.X.Y.3 T.3 3 T.3 3 T.3 3 T.3 3 Z.W.`. +3 T.3 3
T.3 3 T.3 3 . * 8 ",
-"+ j k address@hidden@+#+.+.+$+c .+$+.+%+&address@hidden@address@hidden>
;+.+$+.+.+>address@hidden@+,+.+.+m * 8 ",
-"+ '+8 * * S &.&.^.* * 8 $.* 8 * B %.&.*.* * 8 * * 8 * * =.&.&.-.* F [ * 8 * *
)+&.&.!+* * 8 * 8 ",
-"+ * e 8 8 ~+{+{+]+^+^+M.~.8 {.8 p /+{+(+^+^+_+8 8 :+^+^+<+{+{+[+8 Y }.8
}+^+^+|+{+{+1+8 8 p * 8 ",
-"@ 0.2+* * 8 * * (.z z g.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 * F [ * 3+z z
4+* * 8 * * 8 * 8 ",
-"# 5+Y.* * 8 * * (.z z g.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 * F [ * 3+z z
4+* * 8 * * 8 * 8 ",
-"+ * o 6+6+7+8 8 8+9+9+0+a+b+c+8 p e.8 H.9+9+d+e+e+f+9+9+g+8 8 {.8 Y
h+b+i+9+9+j+8 8 k+6+6+l+* 8 ",
-"+ '+0 v v w * * 8 * * x y z A * B C * 8 * * m+n+n+o+$ ^ 8 p+* 8 6 q+G z H * *
8 * * I v v J * 8 ",
-"+ '+0 v v w * * 8 * * x y z A * B C * 8 * * m+v.n+o+$ ^ 8 ) B 8 6 q+G z H * *
8 * * I v v J * 8 ",
-"+ * o 6+6+7+8 8 8+9+9+0+a+b+c+8 p e.8 H.9+9+d+e+e+f+9+9+g+8 8 {.8 Y
h+b+i+9+9+j+8 8 k+6+6+l+* 8 ",
-"+ $+8 * * 8 * * (.z z g.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 * F [ * 3+z z
4+* * 8 * * 8 * 8 ",
-"+ # 8 * * 8 * * (.z z g.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 * F [ * 3+z z
4+* * 8 * * 8 * 8 ",
-"+ * e 8 8 ~+{+{+]+^+^+M.~.8 {.8 p /+{+(+^+^+_+8 8 :+^+^+<+{+{+[+8 Y }.8
}+^+^+|+{+{+1+8 8 p * 8 ",
-"+ r+8 * * S &.&.^.* * 8 $.* 8 * B %.&.*.* * 8 * * 8 * * =.&.&.-.* F [ * 8 * *
)+&.&.!+* * 8 * 8 ",
-"+ s+k address@hidden@+#+.+.+$+c .+$+.+%+&address@hidden@address@hidden>
;+.+$+.+.+>address@hidden@+,+.+.+m * 8 ",
-"+ t+}.3 3 T.3 3 T.3 3 T.U.3 V.W.X.Y.3 T.3 3 T.3 3 T.3 3 T.3 3 Z.W.`. +3 T.3 3
T.3 3 T.3 3 . * 8 ",
-"+ u+2+* * 8 * * 8 * * 8 $.* address@hidden * 8 * * 8 * * 8 * * 8 * *
address@hidden * 8 * * 8 * * 8 * * 8 * 8 ",
-"+ v+w+z.z.A.8 8 {.8 8 B.C.D.E.F.G.e.8 {.8 8 f.z.z.H.8 8 {.8 8 I.F.J.K.D.L.8 8
{.8 8 M.z.z.N.* 8 ",
-"+ x+q z z P * * 8 * * address@hidden B C * 8 * * t.z z u.* * 8 * * 8 * F
address@hidden * 8 * * x.z z y.* 8 ",
-"+ } q z z P * * 8 * * address@hidden B C * 8 * * t.z z u.* * 8 * * 8 * F
address@hidden * 8 * * x.z z y.* 8 ",
-"+ * g x x N 8 8 !.3.3.a.b.c.d.8 p e.8 f.g.g.h.x x i.g.g.j.8 8 {.8 Y
k.c.l.3.3.m.8 8 n.x x o.* 8 ",
-"# ( Y * * 8 * * )address@hidden@.3.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 *
F [ * address@hidden@.9.* * 8 * * 8 * 8 ",
-"% y+r+* * 8 * * )address@hidden@.3.$.* 8 * B C * 4.z z 5.* * 6.z z 7.* * 8 *
F [ * address@hidden@.9.* * 8 * * 8 * 8 ",
-"+ * e 8 8 M #.#.'.).).!.~.8 {.8 p ].^./.(.(._.8 8 :.(.(.<.^.^.[.8 Y }.8
|.).).'.#.#.1.8 8 p * 8 ",
-"+ p.8 * * L @address@hidden * 8 $.* 8 * B %.&.*.* * 8 * * 8 * * =.&.&.-.* F [
* 8 * * ;address@hidden@.>.* * 8 * 8 ",
-"+ = 8 * * L @address@hidden * 8 $.* 8 * B %.&.*.* * 8 * * 8 * * =.&.&.-.* F [
* 8 * * ;address@hidden@.>.* * 8 * 8 ",
-"+ * b w w K L L M 8 8 N O P Q 8 p R S T 8 8 U w w V 8 8 W S S X 8 Y Z P ` 8 8
.L L ..w w +.* 8 ",
-"# 4 z+v v w * * 8 * * x y z A * B C * 8 * * D v v E * * 8 * * 8 * F G z H * *
8 * * I v v J * 8 ",
-"+ A+0 v v w * * 8 * * x y z A * B C * 8 * * D v v E * * 8 * * 8 * F G z H * *
8 * * I v v J * 8 ",
-"+ * B+C+C+D+8 8 f 8 8 E+F+G+H+8 e c 8 f 8 8 I+C+C+J+8 8 f 8 8 f 8 c G+G+K+8 8
f 8 8 L+C+C+M+* 8 ",
-"+ * * * * * * * * * * * $.* * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * 8 ",
-"N+. . . . . . . . . . . 0.. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . O+"};
Index: wxwin/ewx.h
===================================================================
RCS file: wxwin/ewx.h
diff -N wxwin/ewx.h
--- wxwin/ewx.h 12 Jan 2008 20:42:26 -0000 1.12
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,83 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file ewx.h
- * \brief Eliot wxwidgets switch and defines
- * \author Antoine Fraboulet
- * \date 2002
- */
-
-#ifndef __EWX__
-#define __EWX__
-
-#ifdef DEBUG
-# define debug(x...) { fprintf(stderr,x); }
-#else
-# define debug(x...)
-#endif
-
-#if defined(TRACE_TODO)
-# define TODO(x...) { \
- fprintf(stderr,"** TODO ** %s:%d: ", __FILE__, __LINE__); \
- fprintf(stderr,x); \
- }
-#else
-# define TODO(x...)
-#endif
-
-#define __UNUSED__ __attribute__((unused))
-
-#if defined(__WIN32__) || defined(__WIN95__) || defined(__WXMSW__)
-# define ENABLE_LC_NO_HEADER
-# define ENABLE_RESLIST_IN_MAIN
-# define MSW_RESIZE_BUG
-# define INCOMPLETE
-#else
-# define ENABLE_SAVE_POSTSCRIPT
-# define ENABLE_RESLIST_IN_MAIN
-# define INCOMPLETE { std::cerr << "incomplete " << __FILE__ << " " <<
__LINE__ << "\n"; }
-#endif
-
-#include "config.h"
-#define APPNAME "Eliot"
-
-// wxU is used to convert ansi/utf8 strings to unicode strings (wchar_t)
-#if defined( ENABLE_NLS ) && defined( ENABLE_UTF8 )
-# if wxUSE_UNICODE
-# define wxU(utf8) wxString(utf8, wxConvUTF8)
-# else
-# define wxU(utf8) wxString(wxConvUTF8.cMB2WC(utf8), *wxConvCurrent)
-# endif
-#else // ENABLE_NLS && ENABLE_UTF8
-# if wxUSE_UNICODE
-# define wxU(ansi) wxString(ansi, *wxConvCurrent)
-# else
-# define wxU(ansi) ansi
-# endif
-#endif // ENABLE_NLS && ENABLE_UTF8
-
-#endif // __EWX__
-
-/// Local Variables:
-/// mode: c++
-/// mode: hs-minor
-/// c-basic-offset: 4
-/// indent-tabs-mode: nil
-/// End:
Index: wxwin/gfxboard.cc
===================================================================
RCS file: wxwin/gfxboard.cc
diff -N wxwin/gfxboard.cc
--- wxwin/gfxboard.cc 9 Jan 2008 10:48:19 -0000 1.11
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,459 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file gfxboard.cc
- * \brief Game board graphical view
- * \author Antoine Fraboulet
- * \date 2002
- */
-
-#include <string.h>
-#include <math.h>
-#include <ctype.h>
-
-#include "wx/dcmemory.h"
-
-#include "ewx.h"
-#include "dic.h"
-#include "game.h"
-#include "configdb.h"
-#include "gfxboard.h"
-
-#ifdef DEBUG_
-# define GFXDEBUG(x) x
-#else
-# define GFXDEBUG(x)
-#endif
-
-BEGIN_EVENT_TABLE(GfxBoard, wxWindow)
- EVT_PAINT(GfxBoard::OnPaint)
- EVT_SIZE(GfxBoard::OnSize)
-END_EVENT_TABLE()
-
-#define LINE_WIDTH 1
-#define BOARD_SIZE (BOARD_DIM + 2)
-
- /* ************************************************** */
- /* ************************************************** */
-
-GfxBoard::GfxBoard(wxFrame *parent, Game &iGame) :
- wxWindow(parent, wxWindowID(-1), wxDefaultPosition, wxDefaultSize,
- wxNO_BORDER | wxFULL_REPAINT_ON_RESIZE, wxT("gfxboard")),
- m_game(iGame)
-{
- bmp = NULL;
- board_size = 0;
- tile_size = 0;
-#if defined(MSW_RESIZE_BUG)
- just_resized = false;
-#endif
- for(int i=0; i<BOARD_DIM; i++)
- {
- for(int j=0; j < BOARD_DIM; j++)
- {
- paintedboard_char[i][j] = wxT(' ');
- paintedboard_attr[i][j] = 0;
- }
- }
-}
-
- /* ************************************************** */
- /* ************************************************** */
-
-GfxBoard::~GfxBoard(void)
-{
- if (bmp)
- {
- delete bmp;
- bmp = NULL;
- }
-}
-
-/**
- * Make new dimensions available for the next OnPaint
- * event. The BMP is deleted if it exists.
- */
-
-void
-GfxBoard::OnSize(wxSizeEvent __UNUSED__ &e)
-{
- GFXDEBUG(std::cerr << "On size : ");
-
- wxSize cs = GetClientSize();
- board_size = cs.GetWidth() < cs.GetHeight() ? cs.GetWidth() :
cs.GetHeight();
- tile_size = (int)((float)board_size / (float)(BOARD_SIZE)) - LINE_WIDTH;
-
- GFXDEBUG(std::cerr << "(" << cs.GetWidth() << "," << cs.GetHeight() <<
")");
- GFXDEBUG(std::cerr << " tile size " << tile_size << endl);
-
- TopLeft = wxPoint((cs.GetWidth() - (board_size - tile_size/2)) / 2,
- (cs.GetHeight() - (board_size - tile_size/2)) / 2);
-
-#if defined(MSW_RESIZE_BUG)
- just_resized = true;
-#endif
-
- if (bmp)
- {
- delete bmp;
- bmp = NULL;
- }
-}
-
-/**
- * Creates a BMP in memory and draws the board inside
- */
-
-void
-GfxBoard::CreateBMP()
-{
- GFXDEBUG(std::cerr << "Create BMP ");
- if (!bmp)
- {
- wxSize bs = GetClientSize();
- bmp=new wxBitmap(bs.x,bs.y);
- GFXDEBUG(std::cerr << " new bmp (" << bs.x << "," << bs.y << ")");
- if (bmp)
- {
- wxMemoryDC memDC;
- memDC.SelectObject(* bmp);
- DrawBoard(&memDC);
- memDC.SelectObject(wxNullBitmap);
- }
- }
- GFXDEBUG(std::cerr << endl);
-}
-
-
-/**
- * Update the full BMP and copy only the requested area
- * to the ClientDC
- */
-
-void
-GfxBoard::RefreshSquare(wxRect &r)
-{
- wxClientDC dc(this);
-
- if (bmp)
- {
- int vX,vY,vW,vH;
- wxMemoryDC memDC;
- memDC.SelectObject(* bmp);
- DrawBoard(&memDC);
- vX = r.x;
- vY = r.y;
- vW = r.width;
- vH = r.height;
- GFXDEBUG(std::cerr << " refresh (" << vX << "," << vY << "," << vW
<< "," << vH << ") ");
- dc.Blit(vX,vY,vW,vH,&memDC,vX,vY,wxCOPY);
- memDC.SelectObject(wxNullBitmap);
- }
- else
- {
- DrawBoard(&dc);
- }
-}
-
-/**
- * Force a full refresh of the board
- */
-
-void
-GfxBoard::Refresh(board_refresh_t WXUNUSED(force))
-{
- wxSize cs = GetClientSize();
- board_size = cs.GetWidth() < cs.GetHeight() ? cs.GetWidth() :
cs.GetHeight();
- tile_size = (int)((float)board_size / (float)(BOARD_SIZE)) - LINE_WIDTH;
- wxRect r (0,0,cs.GetWidth(),cs.GetHeight());
- RefreshSquare(r);
-}
-
-/**
- * Window manager OnPaint event handler.
- */
-
-void
-GfxBoard::OnPaint(wxPaintEvent&)
-{
- wxPaintDC dc(this);
-
- CreateBMP();
-
- GFXDEBUG(std::cerr << "OnPaint : ");
-
- if (bmp)
- {
-#if defined(MSW_RESIZE_BUG)
- Refresh(BOARD_FORCE_REFRESH);
- if (just_resized == true)
- {
- just_resized = false;
- }
-#else
- // we keep that code for wxgtk
- // it does not work under wxmsw, don't know why
- // all the onsize/repaint should be checked ... later
- int vX,vY,vW,vH;
- wxMemoryDC memDC;
- memDC.SelectObject(* bmp);
- wxRegionIterator upd(GetUpdateRegion());
- while (upd)
- {
- vX = upd.GetX();
- vY = upd.GetY();
- vW = upd.GetW();
- vH = upd.GetH();
- GFXDEBUG(std::cerr << "+(" << vX << "," << vY << "," << vW
<< "," << vH << ")");
- dc.Blit(vX,vY,vW,vH,&memDC,vX,vY,wxCOPY);
- upd ++ ;
- }
- memDC.SelectObject(wxNullBitmap);
-#endif
- }
- else
- {
- GFXDEBUG(std::cerr << " call to DrawBoard ");
- DrawBoard(&dc);
- }
-
- GFXDEBUG(std::cerr << "End of OnPaint" << endl);
-}
-
-
-void
-GfxBoard::DrawTileBack(wxDC* dc, int top, int left, int size, bool testtile)
-{
- // void DrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width,
wxCoord height, double radius = 20)
- wxBrush oldbrush = dc->GetBrush();
- wxColour colBackground;
-
- if (testtile)
- {
- colBackground = config.getColour(wxString(BTSTTILEBACKGROUND));
- }
- else
- {
- colBackground = config.getColour(wxString(BTILEBACKGROUND));
- }
-
- wxBrush *BackgroundBrush =
wxTheBrushList->FindOrCreateBrush(colBackground, wxSOLID);
- dc->SetBrush(* BackgroundBrush);
- dc->DrawRoundedRectangle(left,top,size,size,std::max(2,size/6));
- dc->SetBrush(oldbrush);
-}
-
-/**
- * Draw a tile to the wxDC object.
- */
-
-#define TILE_LEFT(col) (col*(tile_size+LINE_WIDTH) + TopLeft.x)
-#define TILE_TOP(row) (row*(tile_size+LINE_WIDTH) + TopLeft.y)
-
-/*
- TODO
- - ajuster avec une LINE_SIZE differente
- - calculer la taille de la police
-*/
-
-/* TILE_LEFT
- |
- | TILE_LEFT + LINE_WIDTH
- | |
- +++++++++-- TILE_TOP
- +++++++++
- +++++++++
- +++ +++-------------- TILE_TOP + LINE_WIDTH
- +++ +++ | = tile_size
- +++ +++--
- +++++++++--
- +++++++++ | = LINE_WIDTH
- +++++++++--
- | |
- |_|
- |
- LINE_WIDTH
-*/
-
-void
-GfxBoard::DrawTile(wxDC *dc, wxString& wxs, int row, int column, bool
testtile, bool drawtileback)
-{
- wxColour colour;
- wxCoord width, height;
- wxCoord posx, posy;
- wxCoord left,top;
- // redraw borders
- left = TILE_LEFT(column);
- top = TILE_TOP(row);
-
- if (wxs.length() > 0 && *wxs.GetData())
- {
- // we got a letter (or 2 chars for coordinates > 9)
- // draw plastic tile
- if (drawtileback)
- {
- DrawTileBack(dc,
- top + LINE_WIDTH,
- left + LINE_WIDTH,
- tile_size, testtile);
- }
- // draw letter
- if (testtile)
- {
- colour = config.getColour(wxString(BCOLOURTSTLETTERS));
- }
- else
- {
- colour = config.getColour(wxString(BCOLOURLETTERS));
- }
-
- dc->SetTextForeground(colour);
- dc->GetTextExtent(wxs,&width,&height);
- posx = left + LINE_WIDTH + (tile_size - width) / 2;
- posy = top + LINE_WIDTH + (tile_size - height) / 2;
- dc->DrawText(wxs,posx,posy);
- }
-}
-
-/**
- * Draw the complete board in the wxDC.
- */
-
-void
-GfxBoard::DrawBoard(wxDC *dc)
-{
- Board board;
-
- wxString wxs;
- int row,column;
-
- wxFont font = config.getFont(BOARDFONT);
- wxColour colForeground = config.getColour(wxString(BCOLOURLINES));
- wxColour colBackground = config.getColour(wxString(BCOLOURBACKGROUND));
-
- wxBrush *BackgroundBrush =
wxTheBrushList->FindOrCreateBrush(colBackground, wxSOLID);
- wxPen *LinesPen = wxThePenList->FindOrCreatePen(colForeground,
LINE_WIDTH, wxSOLID);
-
- dc->SetFont (font);
- dc->SetPen (* LinesPen);
- dc->SetBrush(* BackgroundBrush);
-
- // background rectangle (entire frame)
- wxSize bs = GetClientSize();
- dc->DrawRectangle(0,0,bs.x,bs.y);
-
- // lines
- for(row=BOARD_MIN; row < BOARD_MAX; row++)
- {
- // vertical
- dc->DrawLine(TILE_LEFT(row+1),
- TILE_TOP(1),
- TILE_LEFT(row+1),
- TILE_TOP(BOARD_MAX));
- // horizontal row <-> line
- dc->DrawLine(TILE_LEFT(1),
- TILE_TOP(row+1),
- TILE_LEFT(BOARD_MAX),
- TILE_TOP(row+1));
- }
-
- // 1 2 3 4 5 ...
- // A B C D ...
- for(row=BOARD_MIN; row <= BOARD_MAX; row++)
- {
- wxs.Printf(wxT("%d"), row);
- DrawTile(dc, wxs, 0, row);
- wxs.Printf(wxT("%c"), row + 'A' - 1);
- DrawTile(dc, wxs, row, 0);
- }
-
- // Board Background
- wxColour colWx3 = config.getColour(wxString(BCOLOURWX3));
- wxColour colWx2 = config.getColour(wxString(BCOLOURWX2));
- wxColour colLx3 = config.getColour(wxString(BCOLOURLX3));
- wxColour colLx2 = config.getColour(wxString(BCOLOURLX2));
-
- wxBrush *Wx3Brush = wxTheBrushList->FindOrCreateBrush(colWx3, wxSOLID);
- wxBrush *Wx2Brush = wxTheBrushList->FindOrCreateBrush(colWx2, wxSOLID);
- wxBrush *Lx3Brush = wxTheBrushList->FindOrCreateBrush(colLx3, wxSOLID);
- wxBrush *Lx2Brush = wxTheBrushList->FindOrCreateBrush(colLx2, wxSOLID);
-
- board = m_game.getBoard();
- for(row=BOARD_MIN; row <= BOARD_MAX; row++)
- {
- for (column = BOARD_MIN; column <= BOARD_MAX; column++)
- {
- if (board.GetLetterMultiplier(row, column) == 2)
- {
- dc->SetBrush(*Lx2Brush);
- }
- else if (board.GetLetterMultiplier(row, column) == 3)
- {
- dc->SetBrush(*Lx3Brush);
- }
- else if (board.GetWordMultiplier(row, column) == 2)
- {
- dc->SetBrush(*Wx2Brush);
- }
- else if (board.GetWordMultiplier(row, column) == 3)
- {
- dc->SetBrush(*Wx3Brush);
- }
- else
- {
- dc->SetBrush(*BackgroundBrush);
- }
-
- if (row && column)
- {
- dc->DrawRectangle(TILE_LEFT(column), TILE_TOP(row),
- tile_size + 2*LINE_WIDTH,
- tile_size + 2*LINE_WIDTH);
- }
- }
- }
-
- // Tiles
- LinesPen->SetWidth(1);
- dc->SetPen (* LinesPen);
- bool drawtiles = config.getDrawTile();
- for(row=BOARD_MIN; row <= BOARD_MAX; row++)
- {
- for (column = BOARD_MIN; column <= BOARD_MAX; column++)
- {
- int attr = board.getCharAttr(row, column);
- wxs = wxString((wxChar)board.getChar(row, column));
-
- paintedboard_char[row - BOARD_MIN][column - BOARD_MIN] =
*wxs.GetData();
- paintedboard_attr[row - BOARD_MIN][column - BOARD_MIN] =
attr;
-
- DrawTile(dc,wxs,row,column,attr & ATTR_TEST,drawtiles);
- }
- }
-
- dc->SetFont(wxNullFont);
-}
-
-/// Local Variables:
-/// mode: c++
-/// mode: hs-minor
-/// c-basic-offset: 4
-/// indent-tabs-mode: nil
-/// End:
Index: wxwin/gfxboard.h
===================================================================
RCS file: wxwin/gfxboard.h
diff -N wxwin/gfxboard.h
--- wxwin/gfxboard.h 1 Jan 2006 19:34:05 -0000 1.7
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,116 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file gfxboard.h
- * \brief Game board graphical view
- * \author Antoine Fraboulet
- * \date 2002
- */
-
-#ifndef _GFXBOARD_H
-#define _GFXBOARD_H
-
-/**
- * gfxboard is a wxWindow widget that draws a Scrabble board
- */
-
-class GfxBoard : public wxWindow
-{
- private:
- /**
- * reference on the played game
- */
- Game &m_game;
-
- /**
- * paintedboard_char is the matrix of played tiles
- */
- wxChar paintedboard_char[BOARD_DIM][BOARD_DIM];
-
- /**
- * paintedboard_attr is the matrix of special attributes for tiles, for
- * instance it can store if a tile is a test tile (placed but not played).
- */
- char paintedboard_attr[BOARD_DIM][BOARD_DIM];
-
- /**
- * size in pixels for the board.
- * board_size = min(width,height)
- */
- int board_size;
-
- /**
- * tile_size = size in pixels of a tile
- */
- int tile_size;
-
- /**
- * there is a bug when doing an OnSize under windows : the window
- * has to be fully refreshed (UpdateRegion does not seem to work).
- */
-#if defined(MSW_RESIZE_BUG)
- bool just_resized;
-#endif
-
- /**
- * top left point used to draw the lines, used to keep the board
- * centered horizontally and vertically
- */
- wxPoint TopLeft;
-
- /**
- * Board bitmap, created by CreateBMP
- */
- wxBitmap *bmp;
-
- void CreateBMP();
- void DrawTileBack(wxDC*,int,int,int, bool testtile);
- void DrawTile(wxDC*,wxString&,int,int,bool testtile = false, bool
drawtileback = false);
- void DrawBoard(wxDC*);
- void RefreshSquare(wxRect&);
-
- ConfigDB config;
-
- public:
-
- GfxBoard(wxFrame* parent, Game& game);
- ~GfxBoard(void);
-
- void OnPaint (wxPaintEvent& event);
- void OnSize (wxSizeEvent& event);
-
- typedef enum {
- BOARD_REFRESH,
- BOARD_FORCE_REFRESH
- } board_refresh_t;
-
- void Refresh (board_refresh_t force = BOARD_REFRESH);
-
- DECLARE_EVENT_TABLE()
-};
-
-#endif
-
-/// Local Variables:
-/// mode: c++
-/// mode: hs-minor
-/// c-basic-offset: 4
-/// indent-tabs-mode: nil
-/// End:
Index: wxwin/gfxresult.cc
===================================================================
RCS file: wxwin/gfxresult.cc
diff -N wxwin/gfxresult.cc
--- wxwin/gfxresult.cc 8 Jan 2008 13:52:43 -0000 1.8
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,236 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file reslist.cc
- * \brief Search results list view
- * \author Antoine Fraboulet
- * \date 2005
- */
-
-#include <wx/wx.h>
-
-#include "ewx.h"
-#include "dic.h"
-#include "game.h"
-#include "player.h"
-#include "training.h"
-#include "configdb.h"
-#include "gfxresult.h"
-#include "mainframe.h"
-
-/* ************************************************** */
-/* ************************************************** */
-
-enum {
- ListCtrl_ID = 11000
-};
-
-BEGIN_EVENT_TABLE(GfxResult, wxControl)
- EVT_SIZE(GfxResult::OnSize)
- EVT_LIST_ITEM_SELECTED (ListCtrl_ID, GfxResult::OnListCtrlSelected)
- EVT_LIST_ITEM_ACTIVATED (ListCtrl_ID, GfxResult::OnListCtrlActivated)
-END_EVENT_TABLE()
-
-/* ************************************************** */
-/* ************************************************** */
-
-GfxResult::GfxResult(wxFrame *parent, MainFrame* _mf, Game* _game) :
- wxControl(parent, wxWindowID(234), wxDefaultPosition, wxDefaultSize,
- wxNO_BORDER | wxFULL_REPAINT_ON_RESIZE)
-{
- mf = _mf;
- game = _game;
- savedrack = L"";
- results = new wxListCtrl(this, ListCtrl_ID);
-#if defined(ENABLE_LC_NO_HEADER)
- results->SetSingleStyle(wxLC_REPORT | wxLC_NO_HEADER | wxLC_SINGLE_SEL);
-#else
- results->SetSingleStyle(wxLC_REPORT | wxLC_SINGLE_SEL);
-#endif
- results->InsertColumn(0, _("Word"));
- results->InsertColumn(1, wxT("*"));
- results->InsertColumn(2, _("Pos"));
- results->InsertColumn(3, _("Pts"));
- results->SetToolTip(_("Results of the search"));
-
- wxBoxSizer *sizer_v = new wxBoxSizer(wxVERTICAL);
- wxBoxSizer *sizer_h = new wxBoxSizer(wxHORIZONTAL);
-
- sizer_v->Add(results, 1, wxEXPAND, 0);
- sizer_h->Add(sizer_v, 1, wxEXPAND, 0);
-
- SetAutoLayout(TRUE);
- SetSizer(sizer_h);
- sizer_h->Fit(this);
- sizer_h->SetSizeHints(this);
-}
-
-/* ************************************************** */
-/* ************************************************** */
-
-GfxResult::~GfxResult(void)
-{
- //debug(" GfxResult::~GfxResult\n");
- Show(false);
- Show(true);
-}
-
-/* ************************************************** */
-/* ************************************************** */
-
-void
-GfxResult::SetGame(Game* g)
-{
- game = g;
- savedrack = L"";
- results->DeleteAllItems();
-}
-
-/* ************************************************** */
-/* ************************************************** */
-
-void
-GfxResult::Refresh()
-{
- if (game == NULL)
- return;
-
- debug(" GfxResult::Refresh : ");
- std::wstring rack = game->getCurrentPlayer().getCurrentRack().toString();
-
- if (savedrack != rack ||
(int)static_cast<Training*>(game)->getResults().size() !=
results->GetItemCount())
- {
- debug("changed (%ls -> %ls)",savedrack.c_str(),rack.c_str());
- savedrack = rack;
- results->DeleteAllItems();
- }
- else
- {
- debug("unchanged");
- }
- debug("\n");
-}
-
-/* ************************************************** */
-/* ************************************************** */
-
-void
-GfxResult::Search()
-{
- debug("GfxResult::Search()\n");
- if (game == NULL)
- return;
-
- static_cast<Training*>(game)->search();
-
- results->DeleteAllItems();
- results->SetFont(config.getFont(LISTFONT));
-
- const Results &res = static_cast<Training*>(game)->getResults();
- debug(" GfxResult::Search size = %d\n",res.size());
- for (unsigned int i = 0; i < res.size(); i++)
- {
- const Round &r = res.get(i);
- //debug(" adding %s\n",r.toString().c_str());
- wxString pts;
- wxString word = wxU(r.getWord().c_str());
- wxString coords = wxU(r.getCoord().toString().c_str());
- wxChar bonus = r.getBonus() ? wxT('*') : wxT(' ');
- pts << r.getPoints();
-
- long tmp = results->InsertItem(i, word);
- results->SetItemData(tmp, i);
- tmp = results->SetItem(i, 1, bonus);
- tmp = results->SetItem(i, 2, coords);
- tmp = results->SetItem(i, 3, pts);
- }
-
- for (int i = 0; i < 4; i++)
- results->SetColumnWidth(i, wxLIST_AUTOSIZE);
-
- //results->Show();
-
- if (res.size() > 0)
- {
- results->SetItemState(0, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED
| wxLIST_MASK_STATE);
- static_cast<Training*>(game)->testPlay(0);
- }
-}
-
-/* ************************************************** */
-/* ************************************************** */
-
-int
-GfxResult::GetSelected()
-{
- int item = -1;
- item = results->GetNextItem(item,wxLIST_NEXT_ALL,wxLIST_STATE_SELECTED);
- //debug("GfxResult::GetSelected = %d\n",item);
- return item;
-}
-
-/* ************************************************** */
-/* ************************************************** */
-
-void
-GfxResult::OnListCtrlSelected(wxListEvent& event)
-{
- //debug(" GfxResult::OnListCtrlSelected\n");
- if (event.m_itemIndex > -1)
- {
- mf->TestPlay(event.m_itemIndex);
- }
-}
-
-/* ************************************************** */
-/* ************************************************** */
-
-void
-GfxResult::OnListCtrlActivated(wxListEvent& event)
-{
- //debug(" GfxResult::OnListCtrlActivated");
- if (event.m_itemIndex > -1)
- {
- mf->Play(1);
- results->DeleteAllItems();
- }
-}
-
-/* ************************************************** */
-/* ************************************************** */
-
-void
-GfxResult::OnSize(wxSizeEvent __UNUSED__ &e)
-{
- int w,h;
- GetClientSize(&w,&h);
- results->SetClientSize(w,h);
- //debug(" GfxResult::OnSize (%d,%d)\n",w,h);
-}
-
-/* ************************************************** */
-/* ************************************************** */
-
-/// Local Variables:
-/// mode: c++
-/// mode: hs-minor
-/// c-basic-offset: 4
-/// indent-tabs-mode: nil
-/// End:
Index: wxwin/gfxresult.h
===================================================================
RCS file: wxwin/gfxresult.h
diff -N wxwin/gfxresult.h
--- wxwin/gfxresult.h 22 Jan 2006 12:23:53 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,69 +0,0 @@
-/* Eliot */
-/* Copyright (C) 2005 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file reslist.h
- * \brief Search results list view
- * \author Antoine Fraboulet
- * \date 2005
- */
-
-#ifndef _RESLIST_H
-#define _RESLIST_H
-
-#include <string>
-#include <wx/listctrl.h>
-
-class MainFrame;
-
-
-class GfxResult : public wxControl
-{
- private:
- MainFrame *mf;
- std::wstring savedrack;
- Game *game;
- wxListCtrl *results;
- ConfigDB config;
-
- public:
- GfxResult(wxFrame*, MainFrame*, Game*);
- ~GfxResult();
-
- void SetGame(Game*);
- void Search();
- int GetSelected();
- void Refresh();
-
- void OnSize(wxSizeEvent& e);
- void OnListCtrlSelected(wxListEvent& event);
- void OnListCtrlActivated(wxListEvent& event);
-
- DECLARE_EVENT_TABLE()
-};
-
-
-#endif
-
-/// Local Variables:
-/// mode: c++
-/// mode: hs-minor
-/// c-basic-offset: 4
-/// indent-tabs-mode: nil
-/// End:
Index: wxwin/main.cc
===================================================================
RCS file: wxwin/main.cc
diff -N wxwin/main.cc
--- wxwin/main.cc 12 Jan 2008 20:42:26 -0000 1.12
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,120 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* address@hidden */
-/* */
-/* This program is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file main.cc
- * \brief Eliot main entry point
- * \author Antoine Fraboulet
- * \date 2005
- */
-
-#ifdef WIN32 // mingw32 hack
-# undef Yield
-# undef CreateDialog
-#endif
-
-#include <stdlib.h>
-#include <time.h>
-#include <wx/wxprec.h>
-#include <wx/wx.h>
-#include <wx/app.h>
-#include <wx/intl.h>
-
-#include "ewx.h"
-#include "configdb.h"
-#include "mainframe.h"
-#include "game_factory.h"
-
-#include "eliot.xpm"
-
-class EliotApp : public wxApp
-{
-private:
- MainFrame *m_mainFrame;
-protected:
- wxLocale locale;
-public:
- virtual bool OnInit();
- virtual int OnExit();
-};
-
-IMPLEMENT_APP(EliotApp)
-
-bool
-EliotApp::OnInit()
-{
- wxApp::OnInit();
- srand(time(NULL));
- SetVendorName(wxT("Afrab"));
- SetAppName(wxString(wxT("eliot")) + wxT("-") + wxT(VERSION));
- SetClassName(wxT("eliot"));
-
- wxConfigBase::Get();
-
- locale.Init();
-
- // Search for translations in the installation directory
- wxString catalogPath;
-#ifdef WIN32
- // Get the absolute path, as returned by GetFullPathName()
- wchar_t path[MAX_PATH];
- GetFullPathName(wstring(argv[0]).c_str(), MAX_PATH, path, NULL);
- wchar_t *pos = wcsrchr(path, L'\\');
- if (pos)
- *pos = '\0';
- catalogPath = wxU(path) + wxT("/locale");
-#else
- catalogPath = wxT(LOCALEDIR);
-#endif
-
- wxLocale::AddCatalogLookupPathPrefix(catalogPath);
- // No need to search in the current directory, it is already done by
default
- // wxLocale::AddCatalogLookupPathPrefix(wxT("."));
- locale.AddCatalog(wxT("eliot"));
-#ifdef __LINUX__
- {
- wxLogNull noLog;
- locale.AddCatalog(wxT("fileutils"));
- }
-#endif
-
- ConfigDB configdb;
- configdb.setFirstDefault();
- MainFrame *mainframe = new MainFrame(configdb.getFramePos(wxT(APPNAME)),
- configdb.getFrameSize(wxT(APPNAME)));
- mainframe->SetIcon(wxICON(eliot));
- mainframe->Show(TRUE);
- SetTopWindow(mainframe);
- return TRUE;
-}
-
-int
-EliotApp::OnExit()
-{
- GameFactory::Destroy();
- delete wxConfigBase::Set(NULL);
- return wxApp::OnExit();
-}
-
-
-/// Local Variables:
-/// mode: c++
-/// mode: hs-minor
-/// c-basic-offset: 4
-/// indent-tabs-mode: nil
-/// End:
Index: wxwin/mainframe.cc
===================================================================
RCS file: wxwin/mainframe.cc
diff -N wxwin/mainframe.cc
--- wxwin/mainframe.cc 12 Jan 2008 20:42:26 -0000 1.25
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,1056 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file mainframe.cc
- * \brief Main frame for the Eliot GUI
- * \author Antoine Fraboulet
- * \date 2005
- */
-
-#include "config.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <iostream>
-#include <fstream>
-#include <exception>
-
-using namespace std;
-
-#include "wx/intl.h"
-#include "wx/menu.h"
-#include "wx/statusbr.h"
-#include "wx/sizer.h"
-#include "wx/filedlg.h"
-#include "wx/msgdlg.h"
-
-#include "ewx.h"
-
-#include "dic.h"
-#include "game.h"
-#include "training.h"
-#include "game_factory.h"
-#include "player.h"
-
-#include "configdb.h"
-#include "confdimdlg.h"
-#include "confsearch.h"
-#include "printout.h"
-#include "mainframe.h"
-
-#ifdef ENABLE_SAVE_POSTSCRIPT
-#include "wx/dcps.h"
-#endif
-
-enum
-{
- Menu_Game_New = 1000,
- Menu_Game_NewJoker,
- Menu_Game_Open,
- Menu_Game_Save,
- Menu_Game_Print,
- Menu_Game_PrintPreview,
- Menu_Game_PrintPS,
-
- Menu_Conf_Game = 2000,
- Menu_Conf_Game_Dic,
- Menu_Conf_Game_Tiles,
- Menu_Conf_Game_Search,
- Menu_Conf_Print,
- Menu_Conf_Aspect = 2100,
- Menu_Conf_Tile,
- Menu_Conf_Aspect_BoardColour_DrawTiles,
- Menu_Conf_Aspect_Font,
- Menu_Conf_Aspect_Font_Search = 2110,
- Menu_Conf_Aspect_Font_Board = 2111,
- Menu_Conf_Aspect_Font_Default = 2112,
- Menu_Conf_Aspect_BoardColour = 2200,
- Menu_Conf_Aspect_BoardColour_Lines = 2201,
- Menu_Conf_Aspect_BoardColour_Wx2 = 2202,
- Menu_Conf_Aspect_BoardColour_Wx3 = 2203,
- Menu_Conf_Aspect_BoardColour_Lx2 = 2204,
- Menu_Conf_Aspect_BoardColour_Lx3 = 2205,
- Menu_Conf_Aspect_BoardColour_Background = 2206,
- Menu_Conf_Aspect_BoardColour_Letters = 2207,
- Menu_Conf_Aspect_BoardColour_TestLetters = 2208,
- Menu_Conf_Aspect_BoardColour_TileBack = 2209,
- Menu_Conf_Aspect_BoardColour_TestTileBack = 2210,
- Menu_Conf_Aspect_BoardColour_Default = 2211,
-
-#define IDBASE 3300
- Menu_ShowVerif = (IDBASE + ID_Frame_Verif),
- Menu_ShowSearch = (IDBASE + ID_Frame_Search),
- Menu_ShowPlus1 = (IDBASE + ID_Frame_Plus1),
- Menu_ShowRacc = (IDBASE + ID_Frame_Racc),
- Menu_ShowBenj = (IDBASE + ID_Frame_Benj),
- Menu_ShowBag = (IDBASE + ID_Frame_Bag),
- Menu_ShowBoard = (IDBASE + ID_Frame_Board),
- Menu_ShowGame = (IDBASE + ID_Frame_Game),
- Menu_ShowResult = (IDBASE + ID_Frame_Result),
-
- Button_SetRack = 10000,
- Button_SetNew,
- Button_SetManual,
- Button_Search,
- Button_Play,
- Button_PlayBack,
-
- ListCtrl_ID = 11000,
- Rack_ID,
- Status_ID
-};
-
-BEGIN_EVENT_TABLE(MainFrame, wxFrame)
- //
- EVT_MENU(Menu_Game_New, MainFrame::OnMenuGameNew)
- EVT_MENU(Menu_Game_NewJoker, MainFrame::OnMenuGameNew)
- EVT_MENU(Menu_Game_Open, MainFrame::OnMenuGameOpen)
- EVT_MENU(Menu_Game_Save, MainFrame::OnMenuGameSave)
- EVT_MENU(Menu_Game_Print, MainFrame::OnMenuGamePrint)
- EVT_MENU(Menu_Game_PrintPreview, MainFrame::OnMenuGamePrintPreview)
- EVT_MENU(Menu_Game_PrintPS, MainFrame::OnMenuGamePrintPS)
- EVT_MENU(wxID_EXIT, MainFrame::OnMenuGameQuit)
- //
- EVT_MENU(Menu_Conf_Game_Dic, MainFrame::OnMenuConfGameDic)
- EVT_MENU(Menu_Conf_Game_Search, MainFrame::OnMenuConfGameSearch)
- //
- EVT_MENU(Menu_Conf_Print, MainFrame::OnMenuConfPrint)
- //
- EVT_MENU_RANGE(Menu_Conf_Aspect_Font_Search,
Menu_Conf_Aspect_Font_Default, MainFrame::OnMenuConfAspectFont)
- EVT_MENU_RANGE(Menu_Conf_Aspect_BoardColour_Lines,
Menu_Conf_Aspect_BoardColour_Default, MainFrame::OnMenuConfAspectBoardColour)
- EVT_MENU_RANGE(Menu_ShowVerif, Menu_ShowResult, MainFrame::OnMenuShowFrame)
- //
- EVT_MENU(wxID_ABOUT, MainFrame::OnMenuHelpAbout)
- //
- EVT_BUTTON(Button_Play, MainFrame::OnPlay)
- EVT_BUTTON(Button_SetRack, MainFrame::OnSetRack)
- EVT_BUTTON(Button_SetNew, MainFrame::OnSetRack)
- EVT_BUTTON(Button_Search, MainFrame::OnSearch)
- EVT_BUTTON(Button_PlayBack, MainFrame::OnPlay)
- //
- EVT_TEXT_ENTER(Rack_ID, MainFrame::OnTextEnter)
- //
- EVT_CLOSE(MainFrame::OnCloseWindow)
- //
- //EVT_MENU(Menu_Help, MainFrame::OnMenuHelp)
-END_EVENT_TABLE()
-
-// ******************************
-//
-// ******************************
-
-MainFrame::MainFrame(wxPoint __UNUSED__ pos_, wxSize size_)
- : wxFrame((wxFrame *) NULL, -1, wxT(APPNAME), wxPoint(-1, -1),
- size_, wxDEFAULT_FRAME_STYLE, wxT(APPNAME)),
- m_dic(NULL), m_game(NULL)
-{
-#if defined(ENABLE_RESLIST_IN_MAIN)
- reslist = NULL;
-#endif
- statusbar = NULL;
- for (int i = 0 ; i < MAX_FRAME_ID; i++)
- auxframes_ptr[i] = NULL;
-
- wxBoxSizer *listsizer = new wxBoxSizer(wxVERTICAL);
- rack = new wxTextCtrl(this, Rack_ID, wxU(""), wxPoint(-1, -1), wxSize(-1,
-1), wxTE_PROCESS_ENTER);
- listsizer->Add(rack, 0, wxEXPAND | wxALL, 1);
- rack->SetToolTip(_("Rack"));
- rack->Enable(false);
-#ifdef ENABLE_RESLIST_IN_MAIN
- reslist = new GfxResult(this,(MainFrame*)this,m_game);
- listsizer->Add(reslist, 1, wxEXPAND | wxLEFT | wxRIGHT, 1);
-#endif
-
- InitMenu();
-
- statusbar = CreateStatusBar(2, 0, Status_ID);
- int ww[2] = {-1, 160};
- statusbar->SetStatusWidths(2, ww);
- UpdateStatusBar();
-
- b_rackrandomset = new wxButton(this, Button_SetRack, _(" Rack "));
- b_rackrandomnew = new wxButton(this, Button_SetNew, _(" Complement "));
- b_search = new wxButton(this, Button_Search, _(" Search "));
- b_back = new wxButton(this, Button_PlayBack, _(" Back "));
- b_play = new wxButton(this, Button_Play, _(" Play "));
-
- b_rackrandomset->SetToolTip(_("Random rack"));
- b_rackrandomset->Enable(false);
- b_rackrandomnew->SetToolTip(_("Random complement of the rack"));
- b_rackrandomnew->Enable(false);
- b_search->SetToolTip( _("Search with the current rack"));
- b_search->Enable(false);
- b_back->SetToolTip( _("Go back one turn"));
- b_back->Enable(false);
- b_play->SetToolTip( _("Play the selected word"));
- b_play->Enable(false);
-
- wxBoxSizer *buttonsizer = new wxBoxSizer(wxHORIZONTAL);
- buttonsizer->Add(b_rackrandomset, 1, wxEXPAND | wxTOP | wxBOTTOM | wxLEFT
, 1);
- buttonsizer->Add(b_rackrandomnew, 1, wxEXPAND | wxTOP | wxBOTTOM
, 1);
- buttonsizer->Add(b_search, 1, wxEXPAND | wxTOP | wxBOTTOM
, 1);
- buttonsizer->Add(b_back, 1, wxEXPAND | wxTOP | wxBOTTOM
, 1);
- buttonsizer->Add(b_play, 1, wxEXPAND | wxTOP | wxBOTTOM |
wxRIGHT, 1);
-
- wxBoxSizer *mainsizer = new wxBoxSizer(wxVERTICAL);
- mainsizer->Add(listsizer , 1, wxEXPAND | wxVERTICAL, 0);
- mainsizer->Add(buttonsizer, 0, wxEXPAND , 0);
-
- SetAutoLayout(TRUE);
- SetSizer(mainsizer);
- mainsizer->Fit(this);
- mainsizer->SetSizeHints(this);
-
- SetClientSize(size_);
- Move(config.getFramePos(wxT(APPNAME)));
-
- wxString dicpath = config.getDicPath();
- try
- {
- Dictionary *dic = new Dictionary(dicpath.mb_str().data());
- m_dic = dic;
- m_game = GameFactory::Instance()->createTraining(*m_dic);
- if (m_game)
- {
- m_game->start();
- }
- }
- catch (std::exception &e)
- {
- wxCommandEvent event;
- // This will also start a new training game indirectly
- OnMenuConfGameDic(event);
- }
-
- InitFrames();
-}
-
-// ******************************
-//
-// ******************************
-
-MainFrame::~MainFrame()
-{
- config.setFramePos(wxT(APPNAME), GetPosition());
- config.setFrameSize(wxT(APPNAME), GetClientSize());
-
- if (m_game != NULL)
- {
- GameFactory::Instance()->releaseGame(*m_game);
- m_game = NULL;
- }
-
- delete m_dic;
-}
-
-// ******************************
-//
-// ******************************
-
-void
-MainFrame::InitMenu()
-{
- // menus
- wxMenu *menu_game = new wxMenu;
- menu_game->Append(Menu_Game_New, _("&New game\tCtrl+N"), _("Start a new
game"));
- menu_game->Append(Menu_Game_NewJoker, _("New &joker game\tCtrl+J"),
_("Start a new joker game"));
- menu_game->AppendSeparator();
- menu_game->Append(Menu_Game_Open, _("&Load...\tCtrl+L"), _("Load a game"));
- menu_game->Append(Menu_Game_Save, _("&Save as...\tCtrl+S"), _("Save the
current game"));
- menu_game->AppendSeparator();
- menu_game->Append(Menu_Game_Print, _("&Print...\tCtrl+P"), _("Print this
game"));
- menu_game->Append(Menu_Game_PrintPreview, _("Print pre&view..."), _("Print
preview of the game"));
-#ifdef ENABLE_SAVE_POSTSCRIPT
- menu_game->Append(Menu_Game_PrintPS, _("Print in PostS&cript..."),
_("Print in a PostScript file"));
-#endif
- menu_game->AppendSeparator();
- menu_game->Append(wxID_EXIT, _("&Quit\tCtrl+Q"), _("Quit Eliot"));
- //
- wxMenu *menu_conf_game = new wxMenu;
- menu_conf_game->Append(Menu_Conf_Game_Dic, _("&Dictionary...\tCtrl+D"),
_("Choose a dictionary"));
- menu_conf_game->Append(Menu_Conf_Game_Search, _("&Search..."), _("Search
options"));
- //
- wxMenu *menu_conf_board_colour = new wxMenu;
- menu_conf_board_colour->Append(Menu_Conf_Aspect_BoardColour_Background,
_("&Background..."), _("Background color"));
- menu_conf_board_colour->Append(Menu_Conf_Aspect_BoardColour_Lines,
_("L&ines..."), _("Color of the lines"));
- menu_conf_board_colour->AppendSeparator();
- menu_conf_board_colour->Append(Menu_Conf_Aspect_BoardColour_Letters,
_("&Played letters..."), _("Color of the letters played on the board"));
- menu_conf_board_colour->Append(Menu_Conf_Aspect_BoardColour_TestLetters,
_("&Temporary letters..."), _("Color of the letters of the temporary word"));
- menu_conf_board_colour->Append(Menu_Conf_Aspect_BoardColour_TileBack ,
_("B&ackground of played letters..."), _("Background color of the letters
played on the board"));
- menu_conf_board_colour->Append(Menu_Conf_Aspect_BoardColour_TestTileBack,
_("Ba&ckground of temporary letters..."), _("Background color of the temporary
letters on the board"));
- menu_conf_board_colour->AppendSeparator();
- menu_conf_board_colour->Append(Menu_Conf_Aspect_BoardColour_Wx2, _("Double
&letter..."), _("Color of the \"double letter\" squares"));
- menu_conf_board_colour->Append(Menu_Conf_Aspect_BoardColour_Wx3, _("Triple
l&etter..."), _("Color of the \"triple letter\" squares"));
- menu_conf_board_colour->Append(Menu_Conf_Aspect_BoardColour_Lx2, _("Double
&word..."), _("Color of the \"double word\" squares"));
- menu_conf_board_colour->Append(Menu_Conf_Aspect_BoardColour_Lx3, _("Triple
w&ord..."), _("Color of the \"triple word\" squares"));
- menu_conf_board_colour->AppendSeparator();
- menu_conf_board_colour->Append(Menu_Conf_Aspect_BoardColour_Default,
_("&Default colors"), _("Restore the default colors"));
- //
- wxMenu *menu_conf_board_font = new wxMenu;
- menu_conf_board_font->Append(Menu_Conf_Aspect_Font_Search, _("&Search
letters..."), _("Font for the search"));
- //
- wxMenu *menu_conf = new wxMenu;
- menu_conf->Append(Menu_Conf_Game, _("&Game"), menu_conf_game,
_("Configuration of the game"));
- menu_conf->Append(Menu_Conf_Aspect_Font, _("&Fonts"),
menu_conf_board_font, _("Configuration of the fonts"));
- menu_conf->Append(Menu_Conf_Aspect_BoardColour, _("&Colors"),
menu_conf_board_colour, _("Configuration of the colors"));
- menu_conf->Append(Menu_Conf_Print, _("&Printing..."), _("Configuration of
the printing parameters"));
- //
- wxMenu *menu_frame = new wxMenu;
- menu_frame->AppendCheckItem(Menu_ShowBoard, _("&Board"), _("Game board"));
- menu_frame->AppendCheckItem(Menu_ShowBag, _("Ba&g\tCtrl+B"), _("Remaining
letters in the bag"));
- menu_frame->AppendCheckItem(Menu_ShowVerif, _("&Check"), _("Check a word
in the dictionary"));
- menu_frame->AppendCheckItem(Menu_ShowSearch, _("&Search"), _("Search in
the dictionary"));
- menu_frame->AppendSeparator();
- menu_frame->AppendCheckItem(Menu_ShowPlus1, _("&Rack + 1"), _("Letters of
the rack plus one"));
- menu_frame->AppendCheckItem(Menu_ShowRacc, _("&Extensions"), _("One-letter
extensions on a word of the search"));
- menu_frame->AppendCheckItem(Menu_ShowBenj, _("&Benjamins"), _("Benjamins
(3-letter extensions) on a word of the search"));
- menu_frame->AppendSeparator();
- menu_frame->AppendCheckItem(Menu_ShowGame, _("Game &history\tCtrl+H"),
_("Game history"));
-#ifndef ENABLE_RESLIST_IN_MAIN
- menu_frame->Append(Menu_ShowResult, _("R&esults"), _("Results"));
-#endif
- //
- wxMenu *menu_help = new wxMenu;
- menu_help->Append(wxID_ABOUT, _("&About..."), _("About Eliot"));
- //
- wxMenuBar *menu_bar = new wxMenuBar;
- menu_bar->Append(menu_game, _("&Game"));
- menu_bar->Append(menu_conf, _("&Settings"));
- menu_bar->Append(menu_frame, _("&Windows"));
- menu_bar->Append(menu_help, _("&Help"));
-
- SetMenuBar(menu_bar);
-}
-
-// *******************
-//
-// *******************
-
-void
-MainFrame::OnCloseWindow(wxCloseEvent&)
-{
- this->Destroy();
-}
-
-// *******************
-// NEW
-// *******************
-
-void
-MainFrame::OnMenuGameNew(wxCommandEvent& event)
-{
- if (m_dic == NULL)
- {
- wxMessageBox(_("No dictionary selected"), _("Eliot: error"),
- wxICON_INFORMATION | wxOK);
- return;
- }
-
- // TODO("selection du type de partie dans OnMenuGameNew\n");
-
- if (m_game != NULL)
- {
- GameFactory::Instance()->releaseGame(*m_game);
- m_game = NULL;
- }
-
- m_game = GameFactory::Instance()->createTraining(*m_dic);
- // Joker game?
- if (event.GetId() == Menu_Game_NewJoker)
- m_game->setVariant(Game::kJOKER);
-
- m_game->start();
- rack->SetValue(wxT(""));
- InitFrames();
-#ifdef ENABLE_RESLIST_IN_MAIN
- reslist->SetGame(m_game);
-#endif
- // Re-enable the main buttons
- b_rackrandomset->Enable(true);
- b_rackrandomnew->Enable(true);
- b_search->Enable(true);
- b_back->Enable(true);
- b_play->Enable(true);
- rack->Enable(true);
-
-
- UpdateStatusBar();
- UpdateFrames(AuxFrame::FORCE_REFRESH);
-}
-
-// *******************
-// OPEN
-// *******************
-
-void
-MainFrame::OnMenuGameOpen(wxCommandEvent&)
-{
- wxFileDialog dialog(this, _("Load a game"), wxT(""), wxT(""), wxT("*"),
wxOPEN);
- if (m_dic == NULL)
- {
- wxMessageBox(_("No dictionary selected"), _("Eliot: error"),
- wxICON_INFORMATION | wxOK);
- return;
- }
- if (dialog.ShowModal() != wxID_OK)
- {
- return;
- }
-
- if (m_game != NULL)
- {
- GameFactory::Instance()->releaseGame(*m_game);
- m_game = NULL;
- }
-
- FILE* fin;
-
- if ((fin = fopen(dialog.GetPath().mb_str(), "rb")) == NULL)
- {
- wxString txt;
- txt << _("Cannot open ") << dialog.GetPath();
- wxMessageDialog msg(this, txt, _("Load a game"));
- msg.ShowModal();
- return ;
- }
-
- m_game = Game::load(fin, *m_dic);
- fclose(fin);
-
- if (m_game == NULL)
- {
- wxMessageDialog msg(this,
- _("Error while loading the game"),
- _("Invalid game"));
- msg.ShowModal();
- return;
- }
-
- if (m_game->getHistory().getSize() == 0)
- {
- wxMessageDialog msg(this,
- _("Error while loading the game"),
- _("The game is empty"));
- msg.ShowModal();
- return;
- }
-
- std::wstring r = m_game->getCurrentPlayer().getCurrentRack().toString();
-
- rack->SetValue(wxU(r.c_str()));
- // update gfxboard and all frames
- InitFrames();
- // update status bar
-#ifdef ENABLE_RESLIST_IN_MAIN
- reslist->SetGame(m_game);
-#endif
- UpdateStatusBar();
- UpdateFrames(AuxFrame::FORCE_REFRESH);
-}
-
-// *******************
-// SAVE
-// *******************
-
-void
-MainFrame::OnMenuGameSave(wxCommandEvent& WXUNUSED(event))
-{
- wxFileDialog dialog(this, _("Save the game"), wxT(""), wxT(""), wxT("*"),
wxSAVE|wxOVERWRITE_PROMPT);
- if (dialog.ShowModal() == wxID_OK)
- {
- ofstream fout(dialog.GetPath().mb_str());
- if (fout.rdstate() == ios::failbit)
- {
- wxString txt;
- txt << _("Cannot create ") << dialog.GetPath();
- wxMessageDialog msg(this, txt, _("Save the game"));
- msg.ShowModal();
- return ;
- }
- m_game->save(fout);
- fout.close();
- }
-}
-
-// *******************
-// PRINT
-// *******************
-
-void
-MainFrame::OnMenuGamePrint(wxCommandEvent& WXUNUSED(event))
-{
- // TODO: gray out the menu instead...
- if (m_game == NULL)
- {
- wxMessageBox(_("No on going game"), _("Eliot: error"),
- wxICON_INFORMATION | wxOK);
- return;
- }
- wxPrintDialogData printDialogData(config.getPrintData());
- wxPrinter printer(&printDialogData);
- GamePrintout printout(*m_game);
- if (!printer.Print(this, &printout, TRUE))
- {
- wxMessageBox(_("Printing not done"), _("Printing"),
- wxOK | wxICON_ERROR);
- }
-}
-
-void
-MainFrame::OnMenuGamePrintPreview(wxCommandEvent& WXUNUSED(event))
-{
- // TODO: gray out the menu instead...
- if (m_game == NULL)
- {
- wxMessageBox(_("No on going game"), _("Eliot: error"),
- wxICON_INFORMATION | wxOK);
- return;
- }
- wxPrintData printdata = config.getPrintData();
-
- wxString msg;
- wxPrintPreview *preview = new wxPrintPreview(new GamePrintout(*m_game),
- new GamePrintout(*m_game), &
printdata);
- if (!preview->Ok())
- {
- delete preview;
- msg << _("Print preview problem.\n")
- << _("The printer may not be correctly initialized");
- wxMessageBox(msg, _("Print preview"), wxOK);
- return;
- }
- wxPreviewFrame *frame = new wxPreviewFrame(preview, this, _("Printing"),
- wxPoint(-1, -1), wxSize(600,
550));
- frame->Centre(wxBOTH);
- frame->Initialize();
- frame->Show(TRUE);
-}
-
-void
-MainFrame::OnMenuGamePrintPS(wxCommandEvent& WXUNUSED(event))
-{
-#ifdef ENABLE_SAVE_POSTSCRIPT
- // TODO: gray out the menu instead...
- if (m_game == NULL)
- {
- wxMessageBox(_("No on going game"), _("Eliot: error"),
- wxICON_INFORMATION | wxOK);
- return;
- }
- wxFileDialog dialog(this, _("Print to a PostScript file"), wxT(""),
wxT(""), wxT("*.ps"), wxSAVE|wxOVERWRITE_PROMPT);
- if (dialog.ShowModal() == wxID_OK)
- {
- wxPrintData printdataPS;
- printdataPS.SetPrintMode(wxPRINT_MODE_FILE);
- printdataPS.SetFilename(dialog.GetPath());
- printdataPS.SetPaperId(wxPAPER_A4);
- printdataPS.SetQuality(wxPRINT_QUALITY_HIGH);
- printdataPS.SetOrientation(wxPORTRAIT);
-
- wxPostScriptDC printps(printdataPS);
- if (printps.Ok())
- {
- wxPrintDialogData printDialogData(printdataPS);
- wxPostScriptPrinter printer(&printDialogData);
- GamePrintout printout(*m_game);
- if (!printer.Print(this, &printout, FALSE))
- {
- wxMessageBox(_("Printing not done"),
- _("PostScript printing"), wxOK | wxICON_ERROR);
- }
- }
- else
- {
- wxMessageBox(_("Cannot initialize PostScript printer"),
- _("PostScript printing"), wxOK | wxICON_ERROR);
- }
- }
-#endif
-}
-
-
-void
-MainFrame::OnMenuGameQuit(wxCommandEvent& WXUNUSED(event))
-{
- Close(TRUE);
-}
-
-
-
-// *******************
-// Dictionary Loading
-// *******************
-
-void
-MainFrame::OnMenuConfGameDic(wxCommandEvent& WXUNUSED(event))
-{
- wxFileDialog dialog(this, _("Choose a dictionary"), wxT(""),
wxT("*.dawg"), wxT("*.dawg"), wxOPEN);
- if (dialog.ShowModal() == wxID_OK)
- {
- wxString dicpath = dialog.GetPath();
- try
- {
- Dictionary *dic = new Dictionary(dicpath.mb_str().data());
- delete m_dic;
- m_dic = dic;
- config.setDicPath(dialog.GetPath(),
::wxFileNameFromPath(dialog.GetPath()));
- wxCommandEvent event;
- OnMenuGameNew(event);
- }
- catch (std::exception &e)
- {
- wxMessageDialog dlg(NULL, wxU(e.what()), wxT(APPNAME));
- dlg.ShowModal();
- }
- }
-}
-
-// ****************
-// MENU CONF SEARCH
-// ****************
-
-void
-MainFrame::OnMenuConfGameSearch(wxCommandEvent& WXUNUSED(event))
-{
- ConfSearchDlg dlg(this);
- dlg.ShowModal();
-}
-
-// ****************
-// MENU CONF PRINT
-// ****************
-
-void
-MainFrame::OnMenuConfPrint(wxCommandEvent& WXUNUSED(event))
-{
- ConfDimDlg dlg(this, config.getPrintData(), config.getPageSetupData());
- if (dlg.ShowModal() == wxID_OK)
- {
- config.setPrintData(dlg.getPrintData());
- config.setPageSetupData(dlg.getPageSetupData());
- }
-}
-
-// ****************
-// MENU CONF FONTS
-// ****************
-
-void
-MainFrame::OnMenuConfAspectFont(wxCommandEvent& event)
-{
- int id;
- wxString attr;
-
- id = event.GetId();
- if (! GetMenuBar()->FindItem(id))
- return;
-
- switch (id)
- {
- case Menu_Conf_Aspect_Font_Search: attr = wxString(LISTFONT); break;
- case Menu_Conf_Aspect_Font_Board: attr = wxString(BOARDFONT); break;
- case Menu_Conf_Aspect_Font_Default: attr = wxU("Default"); break;
- default: INCOMPLETE; break;
- }
-
- if (attr == wxU("Default"))
- config.setFontDefault();
- else
- config.setFont(attr, config.ChooseFont(this, config.getFont(attr)));
-
- UpdateFrames(AuxFrame::FORCE_REFRESH);
-}
-
-// ************************
-// MENU CONF BOARD COLOURS
-// ************************
-
-void
-MainFrame::OnMenuConfAspectBoardColour(wxCommandEvent& event)
-{
- int id;
- wxString attr;
-
- id = event.GetId();
- if (! GetMenuBar()->FindItem(id))
- return;
-
- switch (id)
- {
- case Menu_Conf_Aspect_BoardColour_Lines: attr =
wxString(BCOLOURLINES); break;
- case Menu_Conf_Aspect_BoardColour_Wx2: attr =
wxString(BCOLOURWX2); break;
- case Menu_Conf_Aspect_BoardColour_Wx3: attr =
wxString(BCOLOURWX3); break;
- case Menu_Conf_Aspect_BoardColour_Lx2: attr =
wxString(BCOLOURLX2); break;
- case Menu_Conf_Aspect_BoardColour_Lx3: attr =
wxString(BCOLOURLX3); break;
- case Menu_Conf_Aspect_BoardColour_Background: attr =
wxString(BCOLOURBACKGROUND); break;
- case Menu_Conf_Aspect_BoardColour_Letters: attr =
wxString(BCOLOURLETTERS); break;
- case Menu_Conf_Aspect_BoardColour_TestLetters: attr =
wxString(BCOLOURTSTLETTERS); break;
- case Menu_Conf_Aspect_BoardColour_TileBack: attr =
wxString(BTILEBACKGROUND); break;
- case Menu_Conf_Aspect_BoardColour_TestTileBack: attr =
wxString(BTSTTILEBACKGROUND); break;
- case Menu_Conf_Aspect_BoardColour_Default: attr = wxU("Default");
break;
- default: INCOMPLETE; break;
- }
-
- if (attr == wxU("Default"))
- config.setColourDefault();
- else
- config.setColour(attr, config.ChooseColour(this,
config.getColour(attr)));
-
- UpdateFrames(AuxFrame::FORCE_REFRESH);
-}
-
-//**************************************************************************************
-// MENU HELP
-//**************************************************************************************
-
-void
-MainFrame::OnMenuHelpAbout(wxCommandEvent& WXUNUSED(event))
-{
- wxString msg;
- msg.Printf(wxT("Eliot %s\n\n"), wxT(VERSION));
- msg << wxT("Copyright (C) 1999-2007 - Antoine Fraboulet & Olivier
Teuliere\n\n");
- msg << _("This program is free software; you can redistribute it and/or
modify " \
- "it under the terms of the GNU General Public License as
published by " \
- "the Free Software Foundation; either version 2 of the License,
or " \
- "(at your option) any later version.");
- wxMessageBox(msg, _("About Eliot"), wxICON_INFORMATION | wxOK);
-}
-
-//**************************************************************************************
-// BUTTONS
-//**************************************************************************************
-
-void
-MainFrame::OnSetRack(wxCommandEvent& event)
-{
- int id;
-
- Game::set_rack_mode mode = Game::RACK_NEW;
- debug("OnSetRack ");
- switch ((id = event.GetId()))
- {
- case Button_SetRack:
- mode = Game::RACK_ALL;
- debug("PlayedRack::RACK_ALL\n");
- break;
- case Button_SetNew:
- mode = Game::RACK_NEW;
- debug("PlayedRack::RACK_NEW\n");
- break;
- case Button_SetManual:
- mode = Game::RACK_MANUAL;
- debug("PlayedRack::RACK_MANUAL\n");
- break;
- default:
- return;
- }
- SetRack(mode);
-}
-
-void
-MainFrame::OnSearch(wxCommandEvent& WXUNUSED(event))
-{
- debug("MainFrame::OnSearch\n");
- // check if rack has been set manually
- SetRack(Game::RACK_MANUAL,rack->GetValue());
- Search();
-}
-
-void
-MainFrame::OnTextEnter(wxCommandEvent& WXUNUSED(event))
-{
- debug("MainFrame::OnTextEnter -> %s\n",(const
char*)rack->GetValue().mb_str());
- SetRack(Game::RACK_MANUAL,rack->GetValue());
- Search();
-}
-
-void
-MainFrame::OnPlay(wxCommandEvent& event)
-{
- int dir = 1;
- int id = event.GetId();
- switch (id)
- {
- case Button_Play:
- dir = 1;
- break;
- case Button_PlayBack:
- dir = -1;
- break;
- default:
- break;
- }
- Play(dir);
-}
-
-//*********************************
-// SPECIAL FRAMES
-//*********************************
-
-void
-MainFrame::InitFrames()
-{
- debug("InitFrames start : \n");
- if (m_game == NULL)
- {
- debug("m_game == NULL\n");
- return;
- }
-
- for (int i = 0 ; i < MAX_FRAME_ID; i++)
- {
- debug(" delete frame %d\n",i);
- delete auxframes_ptr[i];
- }
-
- auxframes_ptr[ID_Frame_Verif] = new VerifFrame (this, m_game->getDic());
- debug("0 : Verif\n");
- auxframes_ptr[ID_Frame_Search] = new SearchFrame(this, m_game->getDic());
- debug("1 : Search\n");
- auxframes_ptr[ID_Frame_Plus1] = new Plus1Frame (this, m_game);
- debug("2 : Plus1\n");
- auxframes_ptr[ID_Frame_Racc] = new RaccFrame (this, m_game);
- debug("3 : Racc\n");
- auxframes_ptr[ID_Frame_Benj] = new BenjFrame (this, m_game);
- debug("4 : Benj\n");
- auxframes_ptr[ID_Frame_Bag] = new BagFrame (this, *m_game);
- debug("5 : Bag\n");
- auxframes_ptr[ID_Frame_Board] = new BoardFrame (this, *m_game);
- debug("6 : Board\n");
- auxframes_ptr[ID_Frame_Game] = new GameFrame (this, *m_game);
- debug("7 : Game\n");
-#ifndef ENABLE_RESLIST_IN_MAIN
- auxframes_ptr[ID_Frame_Result] = new ResultFrame(this, m_game);
- debug("8 : Result\n");
-#endif
-
- for (int i = MIN_FRAME_ID; i < MAX_FRAME_ID; i++)
- {
- if (auxframes_ptr[i] != NULL)
- {
- auxframes_ptr[i]->Reload();
- debug("reload %d\n",i);
- }
- }
-
- // Check the corresponding menu item if the window is visible
- GetMenuBar()->Check(Menu_ShowVerif,
auxframes_ptr[ID_Frame_Verif]->IsShown());
- GetMenuBar()->Check(Menu_ShowSearch,
auxframes_ptr[ID_Frame_Search]->IsShown());
- GetMenuBar()->Check(Menu_ShowPlus1,
auxframes_ptr[ID_Frame_Plus1]->IsShown());
- GetMenuBar()->Check(Menu_ShowRacc,
auxframes_ptr[ID_Frame_Racc]->IsShown());
- GetMenuBar()->Check(Menu_ShowBenj,
auxframes_ptr[ID_Frame_Benj]->IsShown());
- GetMenuBar()->Check(Menu_ShowBag, auxframes_ptr[ID_Frame_Bag]->IsShown());
- GetMenuBar()->Check(Menu_ShowBoard,
auxframes_ptr[ID_Frame_Board]->IsShown());
- GetMenuBar()->Check(Menu_ShowGame,
auxframes_ptr[ID_Frame_Game]->IsShown());
-#ifndef ENABLE_RESLIST_IN_MAIN
- GetMenuBar()->Check(Menu_ShowResult,
auxframes_ptr[ID_Frame_Result]->IsShown());
-#endif
- debug("InitFrames end ok.\n");
-}
-
-void
-MainFrame::OnMenuShowFrame(wxCommandEvent& event)
-{
- int id;
- id = event.GetId();
-
- if (!GetMenuBar()->FindItem(id))
- return;
- id -= IDBASE;
-
- if ((id < 0) || (id >= MAX_FRAME_ID))
- {
- INCOMPLETE;
- return;
- }
-
- if (auxframes_ptr[id] == NULL)
- {
- debug("ShowFrame: auxframes_ptr[%d] == NULL\n", id);
- return;
- }
- auxframes_ptr[id]->SwitchDisplay();
- debug("ShowFrame: SwitchDisplay frame %d\n",id);
-}
-
-// *********************************
-// UPDATES
-// *********************************
-
-void
-MainFrame::UpdateFrames(AuxFrame::refresh_t force)
-{
- for (int id = 0; id < MAX_FRAME_ID; id++)
- {
- if (auxframes_ptr[id])
- {
- auxframes_ptr[id]->Refresh(force);
- }
- }
-#ifdef ENABLE_RESLIST_IN_MAIN
- if (reslist)
- {
- reslist->Refresh();
- }
-#endif
-}
-
-void
-MainFrame::UpdateStatusBar()
-{
- wxString text;
- if (statusbar)
- {
- text = config.getDicName() + wxT(" ") + config.getTileName();
- statusbar->SetStatusText(text, 0);
-
- if (m_game)
- {
- text = wxT("");
- text << _("turn:") << wxT(" ") << (m_game->getHistory().getSize()
+ 1) << wxT(" ");
- text << _("points:") << wxT(" ") <<
(m_game->getCurrentPlayer().getPoints());
- statusbar->SetStatusText(text, 1);
- }
- }
-}
-
-// *********************************
-// ACTIONS
-// *********************************
-
-// Can come from a
-// BUTTON ALL -> mode = Game::RACK_ALL, srack = empty
-// BUTTON NEW -> mode = Game::RACK_NEW, srack = empty
-// TEXT_ENTER -> mode = Game::RACK_MANUAL, srack = letters
-// Play -> mode = Game::RACK_MANUAL, srack = letters
-
-void
-MainFrame::SetRack(Game::set_rack_mode mode, wxString srack)
-{
- wxString msg;
- bool check = config.getRackChecking();
-
- if (m_game == NULL)
- {
- return;
- }
- static_cast<Training*>(m_game)->removeTestPlay();
- int res = static_cast<Training*>(m_game)->setRack(mode, check,
srack.c_str());
-
- switch (res)
- {
- case 0x00: /* ok */
- debug("SetRack Ok :: ");
- break;
- case 0x01:
- msg = _("The bag doesn't contain enough letters\nfor a new rack.");
- wxMessageBox(msg, _("Rack validation"), wxICON_ERROR | wxOK);
- return;
- case 0x02:
- msg = _("The rack must contain at least 2 consonants and 2
vowels.");
- wxMessageBox(msg, _("Rack validation"), wxICON_ERROR | wxOK);
- return;
- case 0x03:
- msg = _("The rack contains invalid letters for the current
dictionary");
- wxMessageBox(msg, _("Rack validation"), wxICON_ERROR | wxOK);
- break;
- default:
- statusbar->SetStatusText(_("The rack has been modified manually"),
0);
- break;
- }
-
- std::wstring r = m_game->getCurrentPlayer().getCurrentRack().toString();
- debug("MainFrame::SetRack : setvalue %ls\n",r.c_str());
- rack->SetValue(wxU(r.c_str()));
- UpdateFrames();
- UpdateStatusBar();
-}
-
-void
-MainFrame::Search()
-{
- if (m_game == NULL)
- {
- return;
- }
- static_cast<Training*>(m_game)->removeTestPlay();
-#ifdef ENABLE_RESLIST_IN_MAIN
- reslist->Search();
-#else
- if (auxframes_ptr[ ID_Frame_Result ])
- {
- ((ResultFrame*)(auxframes_ptr[ ID_Frame_Result ]))->Search();
- }
-#endif
- UpdateFrames();
- UpdateStatusBar();
-}
-
-void
-MainFrame::Play(int n)
-{
- if (m_game == NULL)
- {
- return;
- }
- static_cast<Training*>(m_game)->removeTestPlay();
- if (n < 0)
- {
- debug("MainFrame::Play back %d\n",n);
- m_game->back(- n);
- }
- else
- {
- int n = 0;
- debug("MainFrame::Play +%d\n",n);
-#ifdef ENABLE_RESLIST_IN_MAIN
- n = reslist->GetSelected();
-#else
- n = ((ResultFrame*)auxframes_ptr[ ID_Frame_Result ])->GetSelected();
-#endif
- if (n > -1)
- {
- static_cast<Training*>(m_game)->playResult(n);
- }
- }
- wxString r =
wxU(m_game->getCurrentPlayer().getCurrentRack().toString().c_str());
- rack->SetValue(r);
- UpdateFrames();
- UpdateStatusBar();
-}
-
-void
-MainFrame::TestPlay(int n)
-{
- if (m_game == NULL)
- {
- return;
- }
- static_cast<Training*>(m_game)->removeTestPlay();
- static_cast<Training*>(m_game)->testPlay(n);
- UpdateFrames();
- UpdateStatusBar();
-}
-
-/****************************************************************/
-/****************************************************************/
-
-/// Local Variables: / mode: c++ / mode: hs-minor / c-basic-offset: 4 /
-//indent-tabs-mode: nil / End:
Index: wxwin/mainframe.h
===================================================================
RCS file: wxwin/mainframe.h
diff -N wxwin/mainframe.h
--- wxwin/mainframe.h 8 Jan 2008 13:52:43 -0000 1.8
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,119 +0,0 @@
-// Joker game?* Eliot
*/
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* address@hidden */
-/* */
-/* This program is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file mainframe.h
- * \brief Main frame for the Eliot GUI
- * \author Antoine Fraboulet
- * \date 2005
- */
-
-#ifndef _MAINFRAME_H_
-#define _MAINFRAME_H_
-
-#include "dic.h"
-#include "game.h"
-#include "auxframes.h"
-
-class MainFrame: public wxFrame
-{
-private:
-
- const Dictionary *m_dic;
- Game *m_game;
- ConfigDB config;
- AuxFrame *auxframes_ptr[MAX_FRAME_ID];
-
- wxTextCtrl *rack;
-#ifdef ENABLE_RESLIST_IN_MAIN
- GfxResult *reslist;
-#endif
-
- wxButton *b_play;
- wxButton *b_rackrandomset;
- wxButton *b_rackrandomnew;
- wxButton *b_search;
- wxButton *b_back;
-
- wxStatusBar *statusbar;
-
- void InitFrames();
- void InitMenu();
- void UpdateStatusBar();
-
-public:
- MainFrame(wxPoint,wxSize);
- virtual ~MainFrame();
-
- // *******
- // Actions
- // *******
- void SetRack(Game::set_rack_mode, wxString = wxT(""));
- void Search();
- void Play(int);
- void TestPlay(int);
-
- void UpdateFrames(AuxFrame::refresh_t force = AuxFrame::REFRESH);
-
- // *****
- // Menus
- // *****
- void OnMenuGameNew (wxCommandEvent& event);
- void OnMenuGameOpen (wxCommandEvent& event);
- void OnMenuGameSave (wxCommandEvent& event);
- void OnMenuGamePrint (wxCommandEvent& event);
- void OnMenuGamePrintPreview (wxCommandEvent& event);
- void OnMenuGamePrintPS (wxCommandEvent& event);
- void OnMenuGameQuit (wxCommandEvent& event);
-
- void OnMenuConfGameDic (wxCommandEvent& event);
- void OnMenuConfGameSearch (wxCommandEvent& event);
-
- void OnMenuConfPrint (wxCommandEvent& event);
-
- void OnMenuConfAspectFont (wxCommandEvent& event);
- void OnMenuConfAspectBoardColour (wxCommandEvent& event);
-
- void OnMenuShowFrame (wxCommandEvent& event);
-
- void OnMenuHelpAbout (wxCommandEvent& event);
-
- // *******
- // Buttons
- // *******
- void OnPlay (wxCommandEvent& event);
- void OnSetRack (wxCommandEvent& event);
- void OnSearch (wxCommandEvent& event);
- void OnPlayBack (wxCommandEvent& event);
- void OnTextEnter(wxCommandEvent& event);
-
- // *******
- // Objects
- // *******
- void OnCloseWindow (wxCloseEvent& event);
-
- DECLARE_EVENT_TABLE()
-};
-
-#endif
-
-/// Local Variables:
-/// mode: c++
-/// mode: hs-minor
-/// c-basic-offset: 4
-/// End:
Index: wxwin/printout.cc
===================================================================
RCS file: wxwin/printout.cc
diff -N wxwin/printout.cc
--- wxwin/printout.cc 8 Jan 2008 13:52:43 -0000 1.12
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,338 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-#include <stdio.h>
-
-#include "wx/wx.h"
-
-#include "ewx.h"
-
-#include "dic.h"
-#include "pldrack.h"
-#include "round.h"
-#include "turn.h"
-#include "player.h"
-#include "turn.h"
-#include "game.h"
-
-#include "configdb.h"
-#include "printout.h"
-
-bool
-GamePrintout::OnPrintPage(int page)
-{
- wxDC *dc = GetDC();
- if (dc)
- {
- if (page == 1)
- DrawPage(dc);
-
- return TRUE;
- }
- else
- return FALSE;
-}
-
-bool
-GamePrintout::HasPage(int pageNum)
-{
- return pageNum == 1;
-}
-
-bool
-GamePrintout::OnBeginDocument(int startPage, int endPage)
-{
- if (!wxPrintout::OnBeginDocument(startPage, endPage))
- return FALSE;
-
- return TRUE;
-}
-
-void
-GamePrintout::GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int
*selPageTo)
-{
- *minPage = 1;
- *maxPage = 1;
- *selPageFrom = 1;
- *selPageTo = 1;
-}
-
-void
-GamePrintout::SetSpaces(wxString* str, int spaces)
-{
- size_t i;
- wxString strs = wxT("");
- if (str->Len() == 0)
- return ;
- for(i=0; i < (str->Len()-1); i++) {
- strs = strs + str->GetChar(i);
- strs = strs + wxString(wxChar(' '), spaces);
- }
- strs = strs + str->GetChar(str->Len() - 1);
- *str = strs;
-}
-
-void
-GamePrintout::DrawStringJustif(wxDC *dc, wxString *str, long x, long y, long w,
- enum Justif justif, int spaces)
-{
- long wtext,htext;
-
- SetSpaces(str,spaces);
- dc->GetTextExtent(*str,&wtext,&htext);
-
- switch (justif)
- {
- case LEFT:
- break;
- case CENTER:
- x = x + (w - wtext) / 2;
- break;
- case RIGHT:
- x = x + w - wtext;
- break;
- }
- dc->DrawText(*str,x,y);
-}
-
-void
-GamePrintout::DrawHeadingLine(wxDC *dc, long __UNUSED__ heightH, float
mmToLogical)
-{
- long i,x,w,y;
- wxString str;
-
- x = config.getMarginX() + config.getDxBegin();
- y = config.getMarginY() + config.getDyT1();
- for (i = 0; i < 5; i++)
- {
- w = config.getDxText(i);
- str = config.getNameH(i);
- DrawStringJustif(dc,&str,
- (long) (mmToLogical*x),
- (long) (mmToLogical*y),
- (long) (mmToLogical*w),
- config.getJustifH(i),
- config.getSpacesH(i));
- x += w + config.getDxEnd() + config.getDxBegin();
- }
-}
-
-void
-GamePrintout::DrawTextLine(wxDC *dc, int numline, long basey, long heightT,
float mmToLogical)
-{
-#define DIM(i) \
- x += w + config.getDxEnd() + config.getDxBegin(); \
- w = config.getDxText(i)
-
-#define DRW(i) \
- DrawStringJustif(dc,&str,(long) (mmToLogical*x), \
- (long) (mmToLogical*y), \
- (long) (mmToLogical*w), \
- config.getJustifT(i), \
- config.getSpacesT(i))
-
- long x,y,w;
- wxString str;
-
- x = config.getMarginX() + config.getDxBegin();
- y = basey + config.getDyT1()
- + numline * (config.getDyT1() + heightT + config.getDyT2());
- w = config.getDxText(0);
- str = wxT("");
-
- int NRounds = m_game.getHistory().getSize();
-
- // num
- if (numline < NRounds)
- {
- str = wxT("");
- str << (numline + 1);
- DRW(0);
- }
- // rack
- DIM(1);
- if (numline < NRounds)
- {
- str =
wxU(m_game.getHistory().getTurn(numline).getPlayedRack().toString().c_str());
- DRW(1);
- }
- // word
- DIM(2);
- if ((numline > 0) && (numline <= NRounds))
- {
- str = wxU(m_game.getHistory().getTurn(numline -
1).getMove().getRound().getWord().c_str());
- DRW(2);
- }
- // pos
- DIM(3);
- if ((numline > 0) && (numline <= NRounds))
- {
- str = wxU(m_game.getHistory().getTurn(numline -
1).getMove().getRound().getCoord().toString().c_str());
- DRW(3);
- }
- // pts
- DIM(4);
- if ((numline > 0) && (numline <= NRounds))
- {
- str = wxT("");
- str << m_game.getHistory().getTurn(numline -
1).getMove().getRound().getPoints();
- DRW(4);
- }
- // total points
- if (numline == NRounds + 1)
- {
- str = wxT("");
- str << m_game.getPlayer(0).getPoints();
- DRW(4);
- }
-#undef DIM
-#undef DRW
-}
-
-void
-GamePrintout::DrawPage(wxDC *dc)
-{
-/*
- * Scaling.
- */
- // Get the logical pixels per inch of screen and printer
- int dcSizeW, dcSizeH;
- int pageWidthPix, pageHeightPix;
- int ppiScreenX, ppiScreenY;
- int ppiPrinterX, ppiPrinterY;
-
- GetPPIScreen(&ppiScreenX, &ppiScreenY);
- GetPPIPrinter(&ppiPrinterX, &ppiPrinterY);
- dc->GetSize(&dcSizeW, &dcSizeH);
- GetPageSizePixels(&pageWidthPix, &pageHeightPix);
-
- // This scales the DC so that the printout roughly represents the
- // the screen scaling. The text point size _should_ be the right size
- // but in fact is too small for some reason. This is a detail that will
- // need to be addressed at some point but can be fudged for the
- // moment.
- float scale = (float)((float)ppiPrinterX/(float)ppiScreenX);
- // Now we have to check in case our real page size is reduced
- // (e.g. because we're drawing to a print preview memory DC)
-
- // If printer pageWidth == current DC width, then this doesn't
- // change. But w might be the preview bitmap width, so scale down.
- float overallScaleX = scale * (float)(dcSizeW/(float)pageWidthPix);
- float overallScaleY = scale * (float)(dcSizeH/(float)pageHeightPix);
- dc->SetUserScale(overallScaleX, overallScaleY);
- float mmToLogical = (float)(ppiPrinterX/(scale*25.1));
-
- long i,basey;
- long heightH, heightT;
- wxFont Hfont = config.getFont(PRINTHFONT);
- wxFont Tfont = config.getFont(PRINTTFONT);
-
-#if wxCHECK_VERSION(2,5,0)
- wxColour wxBlack = wxTheColourDatabase->Find(wxT("BLACK"));
- wxColour wxWhite = wxTheColourDatabase->Find(wxT("WHITE"));
- wxPen *blackPen = wxThePenList->FindOrCreatePen(wxBlack, 1, wxSOLID);
- wxBrush *whiteBrush = wxTheBrushList->FindOrCreateBrush(wxWhite,
wxSOLID);
-#else
- wxColour *wxBlack = wxTheColourDatabase->FindColour(wxT("BLACK"));
- wxColour *wxWhite = wxTheColourDatabase->FindColour(wxT("WHITE"));
- wxPen *blackPen = wxThePenList->FindOrCreatePen(*wxBlack, 1, wxSOLID);
- wxBrush *whiteBrush = wxTheBrushList->FindOrCreateBrush(*wxWhite,
wxSOLID);
-#endif
-
-
- dc->SetPen(* blackPen);
- dc->SetBrush(* whiteBrush);
- dc->SetFont(Hfont);
- heightH = (long) (dc->GetCharHeight() / mmToLogical);
- DrawHeadingLine(dc,heightH,mmToLogical);
- basey = config.getMarginY() + config.getDyH1() + heightH +
config.getDyH2();
- dc->SetFont(Tfont);
- heightT = (long) (dc->GetCharHeight() / mmToLogical);
- int NRounds = m_game.getHistory().getSize();
- for(i=0; i < (NRounds+3);i++)
- {
- DrawTextLine(dc,i,basey,heightT,mmToLogical);
- }
- dc->SetFont(wxNullFont);
- DrawGameLines(dc,heightH,heightT,mmToLogical,overallScaleX,overallScaleY);
-}
-
-void
-GamePrintout::DrawGameLines(wxDC *dc, long heightH, long heightT,
- float mmToLogical, float overallScaleX,
- float overallScaleY)
-{
- int i, nTextLines;
- long col,lin, StartX, StartY;
- long HeadHeight, LineHeight;
- long TextStart, TextHeight, TextBottom, TextRight;
-
- float SCALE = config.getPrintLineScale();
- dc->SetUserScale(SCALE,SCALE);
-
- int NRounds = m_game.getHistory().getSize();
- nTextLines = NRounds + 2;
- StartX = config.getMarginX();
- StartY = config.getMarginY();
-
- HeadHeight = config.getDyH1() + heightH + config.getDyH2();
- LineHeight = config.getDyT1() + heightT + config.getDyT2();
- TextStart = StartY + HeadHeight;
- TextHeight = nTextLines * LineHeight;
- TextBottom = TextStart + TextHeight;
-
- //
- // columns
- //
- float scalefactorX = mmToLogical * overallScaleX / SCALE;
- float scalefactorY = mmToLogical * overallScaleY / SCALE;
-
- col = StartX;
- for (i = 0; i <= 5; i++)
- {
- dc->DrawLine((long) (col * scalefactorX),
- (long) (StartY * scalefactorY),
- (long) (col * scalefactorX),
- (long) (TextBottom * scalefactorY));
- col += i == 5 ? 0 : config.getDxBegin() + config.getDxText(i) +
config.getDxEnd();
- }
- TextRight = col;
- //
- // rows
- //
- lin = StartY;
- for (i = 0; i <= (nTextLines + 1); i++)
- {
- dc->DrawLine((long) (StartX * scalefactorX),
- (long) (lin * scalefactorY),
- (long) (TextRight * scalefactorX),
- (long) (lin * scalefactorY));
- lin = StartY + HeadHeight + i * LineHeight;
- }
-}
-
-
-/****************************************************************/
-/****************************************************************/
-
-/// Local Variables:
-/// mode: c++
-/// mode: hs-minor
-/// c-basic-offset: 4
-/// End:
Index: wxwin/printout.h
===================================================================
RCS file: wxwin/printout.h
diff -N wxwin/printout.h
--- wxwin/printout.h 26 Dec 2005 22:59:57 -0000 1.6
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,58 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-#ifndef _PRINTOUT_H
-#define _PRINTOUT_H
-
-#include <ctype.h>
-#include "wx/print.h"
-
-class GamePrintout : public wxPrintout
-{
-private:
- Game& m_game;
- ConfigDB config;
-
- void SetSpaces(wxString*, int);
- void DrawStringJustif(wxDC*,wxString*,long,long,long,enum Justif, int);
- void DrawHeadingLine(wxDC*, long, float);
- void DrawTextLine(wxDC*, int, long, long, float);
- void DrawGameLines(wxDC*, long, long, float, float, float);
-public:
-
- GamePrintout(Game& iGame, char* title = APPNAME)
- : wxPrintout(wxU(title)), m_game(iGame) {}
-
- bool OnPrintPage(int);
- bool HasPage(int);
- bool OnBeginDocument(int startPage, int endPage);
- void GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int
*selPageTo);
- void DrawPage(wxDC *dc);
-};
-
-#endif
-
-/****************************************************************/
-/****************************************************************/
-
-/// Local Variables:
-/// mode: c++
-/// mode: hs-minor
-/// c-basic-offset: 4
-/// End:
Index: wxwin/searchpanel.cc
===================================================================
RCS file: wxwin/searchpanel.cc
diff -N wxwin/searchpanel.cc
--- wxwin/searchpanel.cc 31 Aug 2008 11:48:22 -0000 1.19
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,338 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-/**
- * \file searchpanel.cc
- * \brief Panel used in Eliot search window
- * \author Antoine Fraboulet
- * \date 2005
- */
-
-#include <string.h>
-#include "wx/wx.h"
-
-#include "ewx.h"
-#include "dic.h"
-#include "dic_exception.h"
-#include "searchpanel.h"
-#include "tile.h"
-#include "configdb.h"
-
-enum {
- ID_PANEL_CROSS,
- ID_PANEL_PLUS1,
- ID_PANEL_REGEXP,
-
- ID_LIST,
- ID_TEXT,
- ID_OPTION1,
- ID_OPTION2,
- ID_OPTION3
-};
-
-// ************************************************************
-// ************************************************************
-// ************************************************************
-
-class SimpleSearchPanel : public wxPanel
-{
-protected:
- ConfigDB config;
- const Dictionary *dic;
- wxTextCtrl *t;
- wxListBox *l;
- wxBoxSizer *sizer;
-
- int check_dic();
- void check_end();
- void panel_build();
- virtual void panel_options() = 0;
-public:
- SimpleSearchPanel(wxWindow* parent, int id, const Dictionary &d) :
wxPanel(parent,id) { dic = &d; }
- virtual void compute_char(wxCommandEvent&) {}
- virtual void compute_enter(wxCommandEvent&) {}
- DECLARE_EVENT_TABLE()
-};
-
-BEGIN_EVENT_TABLE(SimpleSearchPanel, wxPanel)
- EVT_TEXT (ID_TEXT , SimpleSearchPanel::compute_char)
- EVT_TEXT_ENTER(ID_TEXT , SimpleSearchPanel::compute_enter)
- EVT_TEXT_ENTER(ID_OPTION1, SimpleSearchPanel::compute_enter)
- EVT_TEXT_ENTER(ID_OPTION2, SimpleSearchPanel::compute_enter)
- EVT_TEXT_ENTER(ID_OPTION3, SimpleSearchPanel::compute_enter)
-END_EVENT_TABLE()
-
-void SimpleSearchPanel::panel_build()
-{
- t = new
wxTextCtrl(this,ID_TEXT,wxT(""),wxPoint(0,0),wxSize(-1,-1),wxTE_PROCESS_ENTER);
- t->SetFont(config.getFont(LISTFONT));
- l = new wxListBox(this,ID_LIST);
- l->SetFont(config.getFont(LISTFONT));
- l->Show(TRUE);
-
- sizer = new wxBoxSizer( wxVERTICAL );
- sizer->Add(t, 0, wxEXPAND | wxALL, 0);
- panel_options();
- sizer->Add(l, 1, wxEXPAND | wxALL, 0);
-
- SetAutoLayout(TRUE);
- SetSizer(sizer);
- sizer->Fit(this);
- sizer->SetSizeHints(this);
-}
-
-int
-SimpleSearchPanel::check_dic()
-{
- wxString msg = wxT("");
- if (dic == NULL)
- {
- l->Clear();
- msg << _("No dictionary");
- l->Append(msg);
- return 0;
- }
- return 1;
-}
-
-void
-SimpleSearchPanel::check_end()
-{
- if (l->GetCount() == 0)
- {
- l->Append(_("No result"));
- }
-}
-
-// ************************************************************
-// ************************************************************
-// ************************************************************
-
-class PCross : public SimpleSearchPanel
-{
-protected:
- virtual void panel_options() {}
-public:
- void compute_char(wxCommandEvent&) {}
- void compute_enter(wxCommandEvent&);
- PCross(wxWindow* parent, int id, const Dictionary &d) :
SimpleSearchPanel(parent,id,d) { panel_build(); }
-};
-
-void
-PCross::compute_enter(wxCommandEvent&)
-{
- if (!check_dic())
- return;
-
- if (t->GetValue().Len() >= DIC_WORD_MAX)
- {
- wxString msg;
- msg.Printf(_("The search is limited to %d letters"), DIC_WORD_MAX - 1);
- l->Append(msg);
- return;
- }
-
- wchar_t rack[DIC_WORD_MAX];
- wcsncpy(rack, t->GetValue().wc_str(), DIC_WORD_MAX);
-
- vector<wstring> wordList;
- dic->searchCross(rack, wordList);
-
- int resnum = 0;
- wxString *res = new wxString[wordList.size()];
- vector<wstring>::const_iterator it;
- for (it = wordList.begin(); it != wordList.end(); it++)
- res[resnum++] = wxU(it->c_str());
- l->Set(resnum,res);
- delete[] res;
- check_end();
-}
-
-// ************************************************************
-// ************************************************************
-// ************************************************************
-
-class PPlus1 : public SimpleSearchPanel
-{
-protected:
- virtual void panel_options() {}
-public:
- void compute_char(wxCommandEvent&) {}
- void compute_enter(wxCommandEvent&);
- PPlus1(wxWindow* parent, int id, const Dictionary &dic) :
SimpleSearchPanel(parent,id,dic) { panel_build(); }
-};
-
-void
-PPlus1::compute_enter(wxCommandEvent&)
-{
- if (!check_dic())
- return;
-
- if (t->GetValue().Len() >= DIC_WORD_MAX)
- {
- wxString msg;
- msg.Printf(_("The search is limited to %d letters"), DIC_WORD_MAX - 1);
- l->Append(msg);
- return;
- }
-
- wstring rack = t->GetValue().wc_str();
- map<wchar_t, vector<wstring> > wordList;
- dic->search7pl1(rack, wordList, true);
-
- // Count the results
- int sum = 0;
- map<wchar_t, vector<wstring> >::const_iterator it;
- for (it = wordList.begin(); it != wordList.end(); it++)
- {
- if (it->first)
- sum += 1;
- sum += it->second.size();
- }
-
- wxString *res = new wxString[sum];
- int resnum = 0;
- for (it = wordList.begin(); it != wordList.end(); it++)
- {
- if (it->first)
- res[resnum++] = wxString(wxT("+")) + wxU((wxString)it->first);
- vector<wstring>::const_iterator itWord;
- for (itWord = it->second.begin(); itWord != it->second.end(); itWord++)
- {
- res[resnum++] = wxString(wxT(" ")) + wxU(itWord->c_str());
- }
- }
- l->Set(resnum, res);
- delete[] res;
- check_end();
-}
-
-// ************************************************************
-// ************************************************************
-// ************************************************************
-
-class PRegExp : public SimpleSearchPanel
-{
-private:
- wxTextCtrl *omin;
- wxTextCtrl *omax;
-
- void panel_options();
-public:
- void compute_char(wxCommandEvent&) {}
- void compute_enter(wxCommandEvent&);
- PRegExp(wxWindow* parent, int id, const Dictionary &d) :
SimpleSearchPanel(parent,id,d) { panel_build(); }
-};
-
-void
-PRegExp::panel_options()
-{
- wxStaticText *otmin;
- wxStaticText *otmax;
-
- otmin = new wxStaticText(this,wxID_ANY,_("Minimum length"));
- omin = new
wxTextCtrl(this,ID_OPTION1,wxT("1"),wxDefaultPosition,wxDefaultSize,wxTE_PROCESS_ENTER);
- otmax = new wxStaticText(this,wxID_ANY,_("Maximum length"));
- omax = new
wxTextCtrl(this,ID_OPTION2,wxT("15"),wxDefaultPosition,wxDefaultSize,wxTE_PROCESS_ENTER);
-
- wxBoxSizer *s = new wxBoxSizer( wxHORIZONTAL );
- s->Add(otmin, 0, wxALIGN_CENTRE_VERTICAL | wxLEFT | wxRIGHT, 4);
- s->Add(omin , 1, wxALIGN_CENTRE_VERTICAL, 0);
- s->Add(otmax, 0, wxALIGN_CENTRE_VERTICAL | wxLEFT | wxRIGHT, 4);
- s->Add(omax , 1, wxALIGN_CENTRE_VERTICAL, 0);
- sizer->Add(s, 0, wxEXPAND | wxALL, 1);
-}
-
-
-#define DIC_RE_MAX (3*DIC_WORD_MAX) // yes, it's 3
-
-void
-PRegExp::compute_enter(wxCommandEvent&)
-{
- if (!check_dic())
- return;
-
- wstring regexp = t->GetValue().wc_str();
- debug("PRegExp::compute_enter for %ls", regexp.c_str());
-
- int lmin = atoi((const char*)omin->GetValue().mb_str());
- int lmax = atoi((const char*)omax->GetValue().mb_str());
- if (lmax <= (DIC_WORD_MAX - 1) && lmin >= 1 && lmin <= lmax)
- {
- debug(" length %d,%d",lmin,lmax);
- }
- else
- {
- debug(" bad length -%s,%s-",
- (const char*)omin->GetValue().mb_str(),
- (const char*)omax->GetValue().mb_str());
- return;
- }
- debug("\n");
-
- vector<wstring> wordList;
- try
- {
- dic->searchRegExp(regexp, wordList, lmin, lmax);
- }
- catch (InvalidRegexpException &e)
- {
- wxString msg = _("Invalid regular expression: ") + wxU(e.what());
- l->Append(msg);
- return;
- }
-
- wxString *res = new wxString[wordList.size()];
- int resnum = 0;
- vector<wstring>::const_iterator it;
- for (it = wordList.begin(); it != wordList.end(); it++)
- {
- res[resnum++] = wxU(it->c_str());
- }
- l->Set(resnum,res);
- delete[] res;
- check_end();
-}
-
-// ************************************************************
-// ************************************************************
-// ************************************************************
-
-SearchPanel::SearchPanel(wxFrame *parent, const Dictionary &dic) :
- wxNotebook(parent, -1)
-{
- AddPage(new PCross (this,ID_PANEL_CROSS ,dic), _("Cross words"));
- AddPage(new PPlus1 (this,ID_PANEL_PLUS1 ,dic), _("Plus 1"));
- AddPage(new PRegExp(this,ID_PANEL_REGEXP,dic), _("Regular expressions"));
- SetSelection(2);
-}
-
-SearchPanel::~SearchPanel()
-{
-}
-
-// ************************************************************
-// ************************************************************
-// ************************************************************
-
-
-/// Local Variables:
-/// mode: hs-minor
-/// c-basic-offset: 4
-/// End:
Index: wxwin/searchpanel.h
===================================================================
RCS file: wxwin/searchpanel.h
diff -N wxwin/searchpanel.h
--- wxwin/searchpanel.h 8 Jan 2008 13:52:43 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,40 +0,0 @@
-/* Eliot */
-/* Copyright (C) 1999 Antoine Fraboulet */
-/* */
-/* This file is part of Eliot. */
-/* */
-/* Eliot is free software; you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation; either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* Eliot is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program; if not, write to the Free Software */
-/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-// -*- C++ -*-
-
-/**
- * \file searchpanel.h
- * \brief Panel used in Eliot search window
- * \author Antoine Fraboulet
- * \date 2005
- */
-
-#ifndef _SEARCHPANEL_H
-#define _SEARCHPANEL_H
-#include "wx/notebook.h"
-
-class SearchPanel : public wxNotebook
-{
- public:
- SearchPanel(wxFrame*, const Dictionary&);
- ~SearchPanel();
-};
-
-#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Eliot-dev] eliot INSTALL Makefile.am configure.in extras/c...,
Olivier Teulière <=