xboard.git
6 years agoUpdated copyright notice to 2013
Arun Persaud [Wed, 9 Jan 2013 15:49:20 +0000 (07:49 -0800)]
Updated copyright notice to 2013

6 years agoDo not move to forwadMostMove when unpausing AnalyzeMode
H.G. Muller [Sat, 22 Dec 2012 21:46:21 +0000 (22:46 +0100)]
Do not move to forwadMostMove when unpausing AnalyzeMode

6 years agoUse Ctrl key in AnalyzeMode to exclude entered move
H.G. Muller [Sat, 22 Dec 2012 21:44:50 +0000 (22:44 +0100)]
Use Ctrl key in AnalyzeMode to exclude entered move

6 years agoImplement insufficient mating material for Knightmate
H.G. Muller [Sat, 22 Dec 2012 19:40:26 +0000 (20:40 +0100)]
Implement insufficient mating material for Knightmate

KBK is draw with Royal Knight. With exo-pieces also KNK and KFK.

6 years agoFix rep-draw detection in drop games
H.G. Muller [Sat, 22 Dec 2012 19:25:51 +0000 (20:25 +0100)]
Fix rep-draw detection in drop games

In games like Crazyhouse every move is reversible, as captured pieces
can eventually change sides again, and be dropped back on the board.
So we have to search back a full 100 ply for repetitions, passing captures
and Pawn moves.

6 years agoupdated po/pot files
Arun Persaud [Wed, 12 Dec 2012 06:33:07 +0000 (22:33 -0800)]
updated po/pot files

6 years agonew version number for developer release
Arun Persaud [Wed, 12 Dec 2012 06:18:05 +0000 (22:18 -0800)]
new version number for developer release

6 years agoPrefer pause mode on pondering engine over 'easy'
H.G. Muller [Mon, 10 Dec 2012 13:48:05 +0000 (14:48 +0100)]
Prefer pause mode on pondering engine over 'easy'

If the thinking engine is stopped after its move because it does not
support pause, is is still better to use pause on the pondering engine
than to switch of its pondering with 'easy', as the latter might not
be instantaneous. Also switch off pondering in the thinking engine before
it gives the move, just in case it does not respond immediately to
easy / hard.

6 years agoUpdate WinBoard translation template
H.G. Muller [Mon, 10 Dec 2012 12:40:47 +0000 (13:40 +0100)]
Update WinBoard translation template

6 years agoFix min-Shogi promotion zone
H.G. Muller [Mon, 10 Dec 2012 12:35:41 +0000 (13:35 +0100)]
Fix min-Shogi promotion zone

In integer arithmetic N*2/3 is not the same as N - N/3, with as a result
that the white promotion zone was 2 ranks deep on 5x5 boards. This only
happened in LegalityTest, but because this would classify all moves to
4th rank an non-promotions, they would be printed with a faulty
deferral (=) sign as promochar in SAN.

6 years agoDo not clear PGN tags on Analyze File
H.G. Muller [Mon, 10 Dec 2012 12:32:49 +0000 (13:32 +0100)]
Do not clear PGN tags on Analyze File

6 years agoFix -fSAN in AnalyzeFile mode
H.G. Muller [Mon, 10 Dec 2012 12:28:37 +0000 (13:28 +0100)]
Fix -fSAN in AnalyzeFile mode

The exception that a PV relates to currentMove rather than forwardMostMove
applies not oly in AnalyzeMode, but also in AnalyzeFile. Furthermore,
PvToSan did not properly restore the pushed game tail in this case.

6 years agoImprove scaling of border bitmap (WB)
H.G. Muller [Sat, 8 Dec 2012 15:02:09 +0000 (16:02 +0100)]
Improve scaling of border bitmap (WB)

The StretchBlt mode is set from dither to delete.

6 years agoImplement use of pause / resume protocol commands
H.G. Muller [Wed, 5 Dec 2012 15:34:58 +0000 (16:34 +0100)]
Implement use of pause / resume protocol commands

Engines that implement feature pause=1 will be paused during their move
on a pause event; pondering engines will be controlled either through
'pause' or (if they don't support that) 'easy', which both should work
instantaneously. If the thinking engine does not support 'pause', the pausing
will be deferred to when it produces its move, and is implemented by not
relaying the move, and switch off pondering for both.

6 years agoFix Loop-Chess promotions
H.G. Muller [Mon, 3 Dec 2012 11:58:36 +0000 (12:58 +0100)]
Fix Loop-Chess promotions

Loop Chess is not a supported variant, but hould be playable as Crazyhouse
with an altered pieceToCharTable, not defining the shadow promotion pieces.
But with legality testing on promotion to shadow piece would take place
even if the shadow piece was not defined.

6 years agoFix move highlighting with animation off
H.G. Muller [Sun, 2 Dec 2012 21:44:55 +0000 (22:44 +0100)]
Fix move highlighting with animation off

In WB the moving of SetHighlights to after the animation had broken the
highlighting of engine moves, because it was also moved after DrawPosition.
While it is DrawPosition that actually draws the highlights. Now it has been
moved to just before DrawPosition.

6 years agoStart browsing in currently-selected folder (WB)
H.G. Muller [Sun, 2 Dec 2012 10:09:14 +0000 (11:09 +0100)]
Start browsing in currently-selected folder (WB)

The folder-browse dialog always started at My Computer, while file browsing
started in the globally last-used folder (which might not be related at all
to the file entry we are now browsing for).

6 years agoImplement book-creation functions
H.G. Muller [Thu, 29 Nov 2012 22:38:18 +0000 (23:38 +0100)]
Implement book-creation functions

A new menu item triggers conversion of the currently loaded PGN file
to a Polyglot book, saved with the GUI-book filename. A (volatile) option
-mcBookMode alters the probing algorithm to build a book from scratch by
playing games (and using a form of learning).

6 years agoUse colors in Board-Options dialog also for font pieces (WB)
H.G. Muller [Thu, 29 Nov 2012 21:23:44 +0000 (22:23 +0100)]
Use colors in Board-Options dialog also for font pieces (WB)

The piece color settings now control the pieceColor or fontPieceColor
settings, depending on the setting of -usePieceFont.

6 years agoImplement auto-creation of ICS logon file
H.G. Muller [Thu, 29 Nov 2012 21:14:05 +0000 (22:14 +0100)]
Implement auto-creation of ICS logon file

Under control of the new option -autoCreateLogon (which can be set from
the ICS Options dialog) the first two lines in response to the ICS "login:"
pompt will be saved on a newly created logon file (if logon from such
an existing file failed).

6 years agoAdd Themes dialog (WB)
H.G. Muller [Thu, 29 Nov 2012 20:56:02 +0000 (21:56 +0100)]
Add Themes dialog (WB)

This dialog, done by the generic popup, contains controls for many settings
that so far could only be controlled by options. It also introduces the
concept of 'themes', sets of options stored in the multi-line option
-themeNames.
  Add some dummy routines to suppress compile errors in functions that
cannot be called yet in XBoard.

6 years agoAllow external piece bitmaps and board border (WB)
H.G. Muller [Thu, 29 Nov 2012 20:32:03 +0000 (21:32 +0100)]
Allow external piece bitmaps and board border (WB)

The -pieceImageDirectory is now also used for WinBoard, to indicate
a directory of .bmp files, used to replace the built-ins. The outline
and solid bitmaps can be full-color. This allows winBoard to use the
WinBoard-zeta graphics. A new option -border can indicate a bitmap file
used to draw a half-square-wide border around the board.
  A white background has to be drawn underneath the black pieces, to avoid
color-interference with the board, just like happens for the white pieces.
These backgrounds now always use bright white, rather than -withePieceColor.

We still have to work on the scaling of the zeta (600x600) bitmaps to
the actual board size, as for some bitmaps the stratchblt is ugly.

6 years agoAdd 'Continue Later' button in Tournament dialog (WB)
H.G. Muller [Thu, 29 Nov 2012 20:05:15 +0000 (21:05 +0100)]
Add 'Continue Later' button in Tournament dialog (WB)

This button makes it possible to accept the values specified in the
dialog without immediately starting the tournament (as OK does),
so you can re-open the dialog later, and OK it then.

6 years agoLoad opponent logo based on handle in ICS play (WB)
H.G. Muller [Thu, 29 Nov 2012 19:25:35 +0000 (20:25 +0100)]
Load opponent logo based on handle in ICS play (WB)

The logos for handles on FICS are sought in folder logos\freeches.org\*.bmp,
etc. If no logo for the handle is found there, the logo of the ICS is
displayed as usual.

6 years agoFix configure script for --enable-zippy (tiny change)
Daniel Dugovic [Tue, 20 Nov 2012 04:35:05 +0000 (20:35 -0800)]
Fix configure script for --enable-zippy  (tiny change)

reported and patch by Daniel.

edited by Arun Persaud:
- also fixed #ifndef ZIPPY -> #if !ZIPPY
- didn't change #if -> #ifdef

6 years agodon't define X_LIBS when using gtk-frontend
Arun Persaud [Sat, 10 Nov 2012 08:12:34 +0000 (00:12 -0800)]
don't define X_LIBS when using gtk-frontend

6 years agoupdated po/pot files; added new frontend files
Arun Persaud [Thu, 8 Nov 2012 06:16:09 +0000 (22:16 -0800)]
updated po/pot files; added new frontend files

6 years agofix configure script for --with-Xaw and --with-gtk
Arun Persaud [Thu, 8 Nov 2012 06:14:20 +0000 (22:14 -0800)]
fix configure script for --with-Xaw and --with-gtk

made Xaw the default and included xaw or gtk sources as extras
in case the other frontend is selected for make distcheck

6 years agonew version number for developer release
Arun Persaud [Thu, 8 Nov 2012 05:13:38 +0000 (21:13 -0800)]
new version number for developer release

6 years agoDraw frames around memos and listboxes
H.G. Muller [Wed, 31 Oct 2012 08:55:02 +0000 (09:55 +0100)]
Draw frames around memos and listboxes

6 years agoAdapt lineGap during sizing
H.G. Muller [Tue, 30 Oct 2012 16:39:59 +0000 (17:39 +0100)]
Adapt lineGap during sizing

6 years agoFix clock highlighting
H.G. Muller [Tue, 30 Oct 2012 14:04:32 +0000 (15:04 +0100)]
Fix clock highlighting

6 years agoFix Chat Box
H.G. Muller [Tue, 30 Oct 2012 09:59:45 +0000 (10:59 +0100)]
Fix Chat Box

The genric TypeInProc is re-instated, and replaces ICSKeyEvent as primary
handler for special keys in one-liner text edits.

6 years agoPay attention to NO_CANCEL dialog flag
H.G. Muller [Mon, 29 Oct 2012 18:46:27 +0000 (19:46 +0100)]
Pay attention to NO_CANCEL dialog flag

6 years agoFix clock clicking with GtkEventBox
H.G. Muller [Mon, 29 Oct 2012 13:18:33 +0000 (14:18 +0100)]
Fix clock clicking with GtkEventBox

Like in WinBoard the button-3 case is now handled in the primary
event handler (and communicated to it in a kludgy way). It would be
better if this was absorbed in ClockClick().

6 years agoFix logo placement
H.G. Muller [Sun, 28 Oct 2012 21:25:22 +0000 (22:25 +0100)]
Fix logo placement

Graphs were not recognized as possible SAME_ROW elements. A Graph requesting
FIXED_H (which only the logos did) is now packed into a (borderless) aspect
frame.

6 years agoAdd window positioning
H.G. Muller [Thu, 25 Oct 2012 21:04:42 +0000 (23:04 +0200)]
Add window positioning

Sticky windows now sort of works, but needs unexplained fudge factors.
Reopening a persistent dialog centers it on the board, and disobeys
the positioning command. The WindowPlacement of the BoardWindow was
again added (it was commented out during development).

6 years agoMake board sizing work through subtracting fixed height
H.G. Muller [Mon, 22 Oct 2012 20:41:14 +0000 (22:41 +0200)]
Make board sizing work through subtracting fixed height

There is now no attempt to give a size to the board drawing area, so it
can later be sized as small as we want. The frame width is determined
by subtracting the nominal board size from the actual window size,
(because the clocks will have that width, and the board will startas 1x1),
while the vertical margin is determined as the difference between the
bactual window height, the drawing-area height minus a fudge of 25 pixels
to compesate for the erroneously allocated blank space below the board.

6 years agoFix warnings
H.G. Muller [Mon, 22 Oct 2012 19:09:51 +0000 (21:09 +0200)]
Fix warnings

The highTextStart/End are now declared in engineoutput.h, shared between
nengineoutput.c and xengineoutput.c. Unused variables were removed.
Also fix warnings in xboard.c and xoptions.c.

6 years agoDelete emptied front-end files, and move rest to gtk directory
H.G. Muller [Mon, 22 Oct 2012 15:40:08 +0000 (17:40 +0200)]
Delete emptied front-end files, and move rest to gtk directory

Remove #ifdeffed-out Xt code that has GTK implementation. The xgamelist
and xhistory have been completely cleared off content, and were removed.

6 years agoAdd copy-paste
H.G. Muller [Fri, 26 Oct 2012 22:12:42 +0000 (00:12 +0200)]
Add copy-paste

The code from gtk-xt could be used with almost no modification.

6 years agoSome experimenting with sizing
H.G. Muller [Sun, 21 Oct 2012 07:09:01 +0000 (09:09 +0200)]
Some experimenting with sizing

Does not work as intended yet.

6 years agoAdd task-bar icon
H.G. Muller [Sun, 21 Oct 2012 21:04:49 +0000 (23:04 +0200)]
Add task-bar icon

Funny enough it was necessary to swap the two svg icons to make this work!

6 years agoMake some tall dialogs multi-column
H.G. Muller [Sat, 20 Oct 2012 08:29:37 +0000 (10:29 +0200)]
Make some tall dialogs multi-column

A dummy button was added to the last row of New Variant to make the
number even. A legality-test warning as put in the New Variant dialog
Fix width of tourney-file in Match dialog

6 years agoupdated some icons to SVG
Arun Persaud [Sun, 21 Oct 2012 04:14:33 +0000 (21:14 -0700)]
updated some icons to SVG

6 years agoAdd displaying of icons
H.G. Muller [Sat, 20 Oct 2012 17:57:58 +0000 (19:57 +0200)]
Add displaying of icons

A new Option type, 'Icon', was added for this as in GTK Icons and Labels
need different types of widget. The icons are now svg, so we could
remove the icon pixmaps.

6 years agoFix button bar
H.G. Muller [Sat, 20 Oct 2012 12:25:41 +0000 (14:25 +0200)]
Fix button bar

6 years agoAdd BarBegin, BarEnd options
H.G. Muller [Sat, 20 Oct 2012 12:03:48 +0000 (14:03 +0200)]
Add BarBegin, BarEnd options

This makes the button bar display correctly. Also fix v-sizing of menu bar.

6 years agoAdd listbox double-click callback
H.G. Muller [Sat, 20 Oct 2012 08:01:35 +0000 (10:01 +0200)]
Add listbox double-click callback

This function was formerly performed by WheelProc.

6 years agoAdd hiding / showing second Engine Output pane
H.G. Muller [Fri, 19 Oct 2012 15:29:40 +0000 (17:29 +0200)]
Add hiding / showing second Engine Output pane

The handle of the GTK table for the second engine is stored in the
EndMark handle by GenericPopUp, so it can be used later to hise/show
that table.

6 years agoUse different tables for different dialog columns
H.G. Muller [Fri, 19 Oct 2012 15:15:58 +0000 (17:15 +0200)]
Use different tables for different dialog columns

Making the same table wider (in steps of 3) to get multiple columns
does not work, because it forces options to align vertically. This
wrecks dialogs like Load Engine, where one column contains a very
high option (listbox). Now differnt tables are created for each column,
packed in a new itermediate hbox. In case of the Engine Output window,
a vbox is used instead to cause vertical stacking.
  Only multi-line text-edits and listboxes are now allowed to take up
vertical space changes, while only the middle colum of the table
can take up horizontal size changes. Within packing boxes space is
equally distributed.
  The labels above the particiant-selection widgets had not the same width
as the textview / listbox, leading to misplacement of the second label.
  For Engine Settings the spontaneous breaking into columns did not
involve a SAME_ROW flag, so the 'columns' were stacked vertically.
In addition the columns were too tall for GTK. They are now 20 options max.

6 years agoDeselect first char in Move Type-in and ICS Input Box
H.G. Muller [Fri, 19 Oct 2012 11:46:37 +0000 (13:46 +0200)]
Deselect first char in Move Type-in and ICS Input Box

After popup the Move Type-In had the typed character in it, but it was
selected, so that typing a second character would erase it again.
Same for the ICS Input Box. A prototype for CursorAtEnd is now also added.

6 years agoClose Move Type-in on Enter
H.G. Muller [Fri, 19 Oct 2012 11:33:50 +0000 (13:33 +0200)]
Close Move Type-in on Enter

The code is squeezed into the ICSKeyEvent callback.

6 years agoAdd access routines to checkboxes and FocusOnWidget
H.G. Muller [Thu, 18 Oct 2012 19:57:50 +0000 (21:57 +0200)]
Add access routines to checkboxes and FocusOnWidget

The <Enter> handler of the filter field needs it to return focus to
the listbox.

6 years agoAdd game-list callbacks
H.G. Muller [Thu, 18 Oct 2012 19:42:49 +0000 (21:42 +0200)]
Add game-list callbacks

The callbacks for listbox and filter text are treated by the same callback,
which does both key presses and button double-clicks.
Giving focus back to the listbox after filtering does not yet work!

6 years agoAdd optional callback to Label Options
H.G. Muller [Thu, 18 Oct 2012 14:27:57 +0000 (16:27 +0200)]
Add optional callback to Label Options

For some reason this does not work. The callback isn't called!

6 years agoAdd type-in event to board for popping up box
H.G. Muller [Thu, 18 Oct 2012 11:40:55 +0000 (13:40 +0200)]
Add type-in event to board for popping up box

6 years agoAdd Shift detection
H.G. Muller [Thu, 18 Oct 2012 11:12:48 +0000 (13:12 +0200)]
Add Shift detection

The state of Shift and Ctrl was only probed on button clicks, so it
is now read out of the button-event struct in the relevant button handlers.
For backwad compatibility, they store it in a global, so the routine
ShiftKeys can take them from there.

6 years agoRemove some unneeded low-level X11 code
H.G. Muller [Thu, 18 Oct 2012 10:35:20 +0000 (12:35 +0200)]
Remove some unneeded low-level X11 code

Things like tabbing between controls, mouse-wheel scolling etc. are all
automatic in GTK, and thuse don't need to be ported.

6 years agoAdd file browser
H.G. Muller [Thu, 18 Oct 2012 08:12:27 +0000 (10:12 +0200)]
Add file browser

The gtk-xt code for browsing in response to menu items rather than dialog
browse buttons) was grafted. It seems desirable to merge the two browsing
functions, though. Pass extra params used by Xaw to FileNamePopUpGTK.
The code was altered to use DelayedLoad.

6 years agoFix ListBox, and add some support routines
H.G. Muller [Thu, 18 Oct 2012 07:54:41 +0000 (09:54 +0200)]
Fix ListBox, and add some support routines

The srolled-window for the listbox used a uninitialized variable for its
width, causing a crash. Now it pays attention to the Option.max and .value
size hints. The access routines were copied from gtk-xt. HighlightWithScroll
could just a wrapper for HighlightListBoxItem, as GTK auto-scrolls.

6 years agoConnect CommentClick handler
H.G. Muller [Wed, 17 Oct 2012 18:01:37 +0000 (20:01 +0200)]
Connect CommentClick handler

This can make use of generic memo callback, so it could be entirely
backend. Therefore it was moved to dialogs.h. As it shared a global with
some other back-end popup routines to remember the current move, these
could now be moved out of xboard.c too. (Well, not so for the X11 front-end,
so it has now been put in a header. :-( )

6 years agoFix animation
H.G. Muller [Wed, 17 Oct 2012 17:41:11 +0000 (19:41 +0200)]
Fix animation

Because FrameDelay does block the event loop, even though it releaes the
CPU, expose events start to lag behind the actual drawing. By combining
expose events for overlapping squares, rather than decompose them into
3 rectangles, this problem seems to go away. But only if there is an
extra exposure on the squares to be drawn also non-overlapping frames
will be properly drawn (?!).

6 years agoImplement highlighting in engine output by through generic method
H.G. Muller [Wed, 17 Oct 2012 12:40:59 +0000 (14:40 +0200)]
Implement highlighting in engine output by through generic method

HighlightMove was made generally available for all text. It is now just a
wrapper for the generic HighlightText, and could be moved to the back-end.
(This requires the initialization to be widget specific, and the flag
indicating it has been done is now stored in the Option.min field.)

6 years agoLet engine-output memos use new generic callback
H.G. Muller [Wed, 17 Oct 2012 12:33:28 +0000 (14:33 +0200)]
Let engine-output memos use new generic callback

6 years agoAdd scrolling of Move History
H.G. Muller [Wed, 17 Oct 2012 11:53:03 +0000 (13:53 +0200)]
Add scrolling of Move History

To have access to the textview, its handle is now stored in the
Option.textValue field.

6 years agoAdd highlighting in move list
H.G. Muller [Wed, 17 Oct 2012 11:11:23 +0000 (13:11 +0200)]
Add highlighting in move list

For now it is assumed the normal background will be white (for clearing
the highlight).

6 years agoMake generic memo-event handler, and connect history callback
H.G. Muller [Tue, 16 Oct 2012 17:44:40 +0000 (19:44 +0200)]
Make generic memo-event handler, and connect history callback

Large text widgets can now define a user handler in their Option.choice
field. If they do, agneric callback is added tothem, which catches mouse
events. Button release and pointer motion pass their coordinate and type
to the specified user routine. Button presses in addition retrieve
the text from the widget, set the cursor in it to the clicked point,
and convert it to a character position, also passed to the user.
  The user is responsible for ignoring events he is not interested in.

6 years agoAdd key-handler for ICS Input Box
H.G. Muller [Tue, 16 Oct 2012 13:58:58 +0000 (15:58 +0200)]
Add key-handler for ICS Input Box

In contrast to the X11 code, all intercepted keys are now treated by
the same callback. The ICS Input Box callback triggers on Up, Down and
Return key, and refers to these symbolically.

6 years agoHighlight Pause button
H.G. Muller [Tue, 16 Oct 2012 13:05:45 +0000 (15:05 +0200)]
Highlight Pause button

6 years agoBetter cleansing of xboard.c from X11 types
H.G. Muller [Tue, 16 Oct 2012 11:52:41 +0000 (13:52 +0200)]
Better cleansing of xboard.c from X11 types

The #includes for X11 files were still in there.

6 years agoAdd text insertion in engine-output memos
H.G. Muller [Tue, 16 Oct 2012 11:28:32 +0000 (13:28 +0200)]
Add text insertion in engine-output memos

6 years agoAppend recent engines to engine menu
H.G. Muller [Tue, 16 Oct 2012 07:34:02 +0000 (09:34 +0200)]
Append recent engines to engine menu

This is now entirely moved to the back-end, by doing it in the table
from which the menus are later generated. The special callback for engine
items is abandoned, and the euProc for such items is left NULL to flag
that RecentEngineEvent should be invoked with the applicable engine number.
To calculate the latter a global variable firstEngineItem is dynamically
set to the length of the regular engine menu.

6 years agoTransfer more gtk-xt code, and add some new
H.G. Muller [Mon, 15 Oct 2012 20:17:50 +0000 (22:17 +0200)]
Transfer more gtk-xt code, and add some new

Add input-source handling
Graft color picker (<Enter> callbeack in the text field is still missing!)
Handle contents of label widgets (store handles in Option for access)
Add printing of clocks
Add printing of window title
Pay attention to BORDER attribute of Label Options (pack in frame)
Delete ReadBitmap code (also remove #including of bitmap files for icons)
Fix layout of textviews (adapt to newer Option format, incl. wrap, scroll)
Support vertical stacking in Break Option (no table widening when !SAME_ROW)
Make default horizontal scroll policy automatic (for engine-output window)
Fix disabling of unused spinners in TC dialog

6 years agoConnect dialog Browse buttons to GTK browser
H.G. Muller [Mon, 15 Oct 2012 18:47:33 +0000 (20:47 +0200)]
Connect dialog Browse buttons to GTK browser

6 years agoImplement menu checkmarking and enabling
H.G. Muller [Mon, 15 Oct 2012 17:52:17 +0000 (19:52 +0200)]
Implement menu checkmarking and enabling

odes in the (later over-written) handle field specify which items
are to be checkmarked, and by what style button.

6 years agoAttach expose handler and connect to mouse events
H.G. Muller [Mon, 15 Oct 2012 14:18:12 +0000 (16:18 +0200)]
Attach expose handler and connect to mouse events

The GraphExposeProc is conected to the Graph widgets. A gdk draw routine
is used to copy the buffer bitmap to the display. It is also connected
to button and motion-notify events.
  In this version the board can be fully operated with the mouse.

6 years agoTransfer most available gtk-xt code to xoptions.c
H.G. Muller [Sun, 14 Oct 2012 20:00:14 +0000 (22:00 +0200)]
Transfer most available gtk-xt code to xoptions.c

GenericPopUp and PopDown are grafted from gtk-xt into gtk2.
The version compiles, but segfaults before doing anything, with error
messages about unexpected cases in GenericPopup for Graph and PopUp Options
of the main board. The spin options need special treatment in GetWidgtText.

6 years agoGive LoadListBox two extra parameters
H.G. Muller [Mon, 15 Oct 2012 09:41:33 +0000 (11:41 +0200)]
Give LoadListBox two extra parameters

It often occurs that we just want to swap two elements, and reloading
the entire listbox would be a very inefficient way to do this in widget
sets that allow access to a single element.

6 years agoRemove all X11 code by #ifdeffing it out
H.G. Muller [Sun, 14 Oct 2012 18:36:34 +0000 (20:36 +0200)]
Remove all X11 code by #ifdeffing it out

With #ifdef TODO_GTK we disable all X11 code, in order to get a compiling
X11-free version. The disabled sections can then be replaced by code
for another widget set, the X11 version still showing what it was supposed
to do.

6 years agoMove timer functions to new file xtimer.c
H.G. Muller [Sun, 14 Oct 2012 15:37:18 +0000 (17:37 +0200)]
Move timer functions to new file xtimer.c

The timers for the clocks, periodic analysis events and ScheduleDelayedEvent
go into a separate file.

6 years agoMake xevalgraph.c backend
H.G. Muller [Sun, 14 Oct 2012 13:31:56 +0000 (15:31 +0200)]
Make xevalgraph.c backend

The only front-end stuff left in xevalgraph.c was an unnecessary reading
of the window size (which could be obtained from the WindowPlaceent struct),
and drawing (all cairo now). The drawing was moved to draw.c, and the
remaining part renamed nevalgraph.c.

An attempt to list them in a less chaotic way.

6 years agoCleanse back-end code of all references to X11 types
H.G. Muller [Sun, 14 Oct 2012 12:34:09 +0000 (14:34 +0200)]
Cleanse back-end code of all references to X11 types

When compiling for X11, common.h #included X11/Intrinsics.h so that
X11-specific data types could still be used throughout the back-end part
not shared with WinBoard. By temporarily disabling this, error messages
could be generated on all such occurrences, and were then solved. This
included the following:
  The InputSource struct is not uses in usystem.c at all, and its definition
could be moved to xboard.c. InputSourceRef, which logically should heve been
defined as (InputSource *), is in reality (void *), so the back-end can
pass it around.
  Some non-platform-dependent stuff of general interest had prototypes
(or external vars) in xboard.h. This is now moved to a new header xboard2.h,
to allow it to be shared without bringing in X11 dependence.
  The EngineOutputProc was defined inconsistently, but the header was not
sufficiently shared to flag this error. This has been repaired now, by moving
the template to menus.h.

6 years agoRemove xedittags.c, .h from project
H.G. Muller [Sun, 14 Oct 2012 11:39:47 +0000 (13:39 +0200)]
Remove xedittags.c, .h from project

The tiny bit of code that was left was absorbed in dialogs.c, the one
prototype to menus.h.

6 years agoRemove inclusion of frontend.h from backendz.h
H.G. Muller [Sun, 14 Oct 2012 10:53:20 +0000 (12:53 +0200)]
Remove inclusion of frontend.h from backendz.h

This did not seem to serve any purpose at all.

6 years agoSplit xhistory.c in front-end and middle-end part
H.G. Muller [Sun, 14 Oct 2012 10:49:28 +0000 (12:49 +0200)]
Split xhistory.c in front-end and middle-end part

6 years agoMove MarkMenuItem to xoptions.c
H.G. Muller [Sun, 14 Oct 2012 10:21:09 +0000 (12:21 +0200)]
Move MarkMenuItem to xoptions.c

This to make xoptions.c completely independent from the inclusion of
frontend.h. The prototype is moved to menus.h.
  Loose end: DrawPosition in board.c does not see the prototype.
Very suspect that it wants to see it. Why would it have to correct the
flipView setting??? Better se to it that it is correct to start with!

6 years agomove testing for no options to back-end
H.G. Muller [Sun, 14 Oct 2012 10:14:07 +0000 (12:14 +0200)]
move testing for no options to back-end

The test if an engine has options and display a note instead of
the Engine Settings dialog when this is not the case is moved
to outside of GenericPopUp, to make the later independent of calling
other routines.

6 years agoRemove some unnecessary header includes
H.G. Muller [Sun, 14 Oct 2012 09:20:16 +0000 (11:20 +0200)]
Remove some unnecessary header includes

6 years agoMove ICS-engine analyze and AnalyzeGame code to shared back-end
H.G. Muller [Sun, 14 Oct 2012 08:47:21 +0000 (10:47 +0200)]
Move ICS-engine analyze and AnalyzeGame code to shared back-end

This code was still duplicated between WB and XB in the front-ends.
Because of its incorporation in AnalyzeModeEvent the 'middle-end'
function AnalyzeModeProc could be eliminated. AnalyzeModeEvent was made
to return an int to flag its success, and keep the JAWS code based
on it out of XBoard.
 The AnalyzeGame code  is now incorporated in AnalyzeFileEvent().

6 years agoAdd configure switches for Xaw vs GTK.
H.G. Muller [Fri, 26 Oct 2012 08:28:59 +0000 (10:28 +0200)]
Add configure switches for Xaw vs GTK.

This patch is an adapted version of the one Arun made at the end of the
gtk2 branch. It uses the exact same version of his configure.ac, but the
Makefile.am is adapted to the situation in master at the beginning of it,
after duplication of the X11 front-end files in the xaw directory for
preserving them, while the versions that will be modified to GTK front-end
are still in the xboard directory.

6 years agoPrepare xoptions.c for middle-end changes
H.G. Muller [Thu, 25 Oct 2012 09:12:41 +0000 (11:12 +0200)]
Prepare xoptions.c for middle-end changes

Some changes that can be pre-empted, such as the splitting of Label
into Label and Icon Option type, and some dummy wrappers are already
implemented, so they can be used when needed by GTK.

6 years agoPreserve copies of the X11 front-end in xboard directory
H.G. Muller [Thu, 25 Oct 2012 07:20:03 +0000 (09:20 +0200)]
Preserve copies of the X11 front-end in xboard directory

The X11 front-end has been moved to the xaw directory, but copies
are retained for modifying them to gtk versions.

6 years agoMove X11 front-end to directory xaw
H.G. Muller [Wed, 24 Oct 2012 06:55:27 +0000 (08:55 +0200)]
Move X11 front-end to directory xaw

6 years agoFix initial enables in TC dialog
H.G. Muller [Wed, 31 Oct 2012 17:18:02 +0000 (18:18 +0100)]
Fix initial enables in TC dialog

6 years agoFix image extension used for browsing to .pgn
H.G. Muller [Tue, 30 Oct 2012 13:47:24 +0000 (14:47 +0100)]
Fix image extension used for browsing to .pgn

6 years agoFix WinBoard compile error on enum PEN
H.G. Muller [Sun, 28 Oct 2012 20:39:19 +0000 (21:39 +0100)]
Fix WinBoard compile error on enum PEN

6 years agoFix crash in promotion popup
H.G. Muller [Tue, 30 Oct 2012 10:20:54 +0000 (11:20 +0100)]
Fix crash in promotion popup

There were not enough entries for Capablanca Chess with legality-testing off,
where King is also presented as a choice.

6 years agoFix message in New Variant dialog
H.G. Muller [Sun, 28 Oct 2012 17:19:23 +0000 (18:19 +0100)]
Fix message in New Variant dialog

Even in -ncp mode the message was referring to the 'current engine'.

6 years agoFix crash on animation after resizing
H.G. Muller [Sun, 28 Oct 2012 17:16:20 +0000 (18:16 +0100)]
Fix crash on animation after resizing

The animate buffers were still holding pointers to a discarded cairo surface.