H.G. Muller [Fri, 26 Oct 2012 22:12:42 +0000]
Add copy-paste
The code from gtk-xt could be used with almost no modification.
H.G. Muller [Sun, 21 Oct 2012 07:09:01 +0000]
Some experimenting with sizing
Does not work as intended yet.
H.G. Muller [Sun, 21 Oct 2012 21:04:49 +0000]
Add task-bar icon
Funny enough it was necessary to swap the two svg icons to make this work!
H.G. Muller [Sat, 20 Oct 2012 08:29:37 +0000]
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
Arun Persaud [Sun, 21 Oct 2012 04:14:33 +0000]
updated some icons to SVG
H.G. Muller [Sat, 20 Oct 2012 17:57:58 +0000]
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.
H.G. Muller [Sat, 20 Oct 2012 12:25:41 +0000]
Fix button bar
H.G. Muller [Sat, 20 Oct 2012 12:03:48 +0000]
Add BarBegin, BarEnd options
This makes the button bar display correctly. Also fix v-sizing of menu bar.
H.G. Muller [Sat, 20 Oct 2012 08:01:35 +0000]
Add listbox double-click callback
This function was formerly performed by WheelProc.
H.G. Muller [Fri, 19 Oct 2012 15:29:40 +0000]
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.
H.G. Muller [Fri, 19 Oct 2012 15:15:58 +0000]
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.
H.G. Muller [Fri, 19 Oct 2012 11:46:37 +0000]
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.
H.G. Muller [Fri, 19 Oct 2012 11:33:50 +0000]
Close Move Type-in on Enter
The code is squeezed into the ICSKeyEvent callback.
H.G. Muller [Thu, 18 Oct 2012 19:57:50 +0000]
Add access routines to checkboxes and FocusOnWidget
The <Enter> handler of the filter field needs it to return focus to
the listbox.
H.G. Muller [Thu, 18 Oct 2012 19:42:49 +0000]
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!
H.G. Muller [Thu, 18 Oct 2012 14:27:57 +0000]
Add optional callback to Label Options
For some reason this does not work. The callback isn't called!
H.G. Muller [Thu, 18 Oct 2012 11:40:55 +0000]
Add type-in event to board for popping up box
H.G. Muller [Thu, 18 Oct 2012 11:12:48 +0000]
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.
H.G. Muller [Thu, 18 Oct 2012 10:35:20 +0000]
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.
H.G. Muller [Thu, 18 Oct 2012 08:12:27 +0000]
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.
H.G. Muller [Thu, 18 Oct 2012 07:54:41 +0000]
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.
H.G. Muller [Wed, 17 Oct 2012 18:01:37 +0000]
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. :-( )
H.G. Muller [Wed, 17 Oct 2012 17:41:11 +0000]
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 (?!).
H.G. Muller [Wed, 17 Oct 2012 12:40:59 +0000]
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.)
H.G. Muller [Wed, 17 Oct 2012 12:33:28 +0000]
Let engine-output memos use new generic callback
H.G. Muller [Wed, 17 Oct 2012 11:53:03 +0000]
Add scrolling of Move History
To have access to the textview, its handle is now stored in the
Option.textValue field.
H.G. Muller [Wed, 17 Oct 2012 11:11:23 +0000]
Add highlighting in move list
For now it is assumed the normal background will be white (for clearing
the highlight).
H.G. Muller [Tue, 16 Oct 2012 17:44:40 +0000]
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.
H.G. Muller [Tue, 16 Oct 2012 13:58:58 +0000]
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.
H.G. Muller [Tue, 16 Oct 2012 13:05:45 +0000]
Highlight Pause button
H.G. Muller [Tue, 16 Oct 2012 11:52:41 +0000]
Better cleansing of xboard.c from X11 types
The #includes for X11 files were still in there.
H.G. Muller [Tue, 16 Oct 2012 11:28:32 +0000]
Add text insertion in engine-output memos
H.G. Muller [Tue, 16 Oct 2012 07:34:02 +0000]
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.
H.G. Muller [Mon, 15 Oct 2012 20:17:50 +0000]
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
H.G. Muller [Mon, 15 Oct 2012 18:47:33 +0000]
Connect dialog Browse buttons to GTK browser
H.G. Muller [Mon, 15 Oct 2012 17:52:17 +0000]
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.
H.G. Muller [Mon, 15 Oct 2012 14:18:12 +0000]
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.
H.G. Muller [Sun, 14 Oct 2012 20:00:14 +0000]
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.
H.G. Muller [Mon, 15 Oct 2012 09:41:33 +0000]
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.
H.G. Muller [Sun, 14 Oct 2012 18:36:34 +0000]
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.
H.G. Muller [Sun, 14 Oct 2012 15:37:18 +0000]
Move timer functions to new file xtimer.c
The timers for the clocks, periodic analysis events and ScheduleDelayedEvent
go into a separate file.
H.G. Muller [Sun, 14 Oct 2012 13:31:56 +0000]
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.
H.G. Muller [Sun, 14 Oct 2012 12:34:09 +0000]
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.
H.G. Muller [Sun, 14 Oct 2012 11:39:47 +0000]
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.
H.G. Muller [Sun, 14 Oct 2012 10:53:20 +0000]
Remove inclusion of frontend.h from backendz.h
This did not seem to serve any purpose at all.
H.G. Muller [Sun, 14 Oct 2012 10:49:28 +0000]
Split xhistory.c in front-end and middle-end part
H.G. Muller [Sun, 14 Oct 2012 10:21:09 +0000]
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!
H.G. Muller [Sun, 14 Oct 2012 10:14:07 +0000]
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.
H.G. Muller [Sun, 14 Oct 2012 09:20:16 +0000]
Remove some unnecessary header includes
H.G. Muller [Sun, 14 Oct 2012 08:47:21 +0000]
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().
H.G. Muller [Fri, 26 Oct 2012 08:28:59 +0000]
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.
H.G. Muller [Thu, 25 Oct 2012 09:12:41 +0000]
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.
H.G. Muller [Thu, 25 Oct 2012 07:20:03 +0000]
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.
H.G. Muller [Wed, 24 Oct 2012 06:55:27 +0000]
Move X11 front-end to directory xaw
H.G. Muller [Wed, 31 Oct 2012 17:18:02 +0000]
Fix initial enables in TC dialog
H.G. Muller [Tue, 30 Oct 2012 13:47:24 +0000]
Fix image extension used for browsing to .pgn
H.G. Muller [Sun, 28 Oct 2012 20:39:19 +0000]
Fix WinBoard compile error on enum PEN
H.G. Muller [Tue, 30 Oct 2012 10:20:54 +0000]
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.
H.G. Muller [Sun, 28 Oct 2012 17:19:23 +0000]
Fix message in New Variant dialog
Even in -ncp mode the message was referring to the 'current engine'.
H.G. Muller [Sun, 28 Oct 2012 17:16:20 +0000]
Fix crash on animation after resizing
The animate buffers were still holding pointers to a discarded cairo surface.
H.G. Muller [Sun, 21 Oct 2012 12:49:45 +0000]
Fix variant-dependent pieces
The code to select the actually used piece images from the available ones
(from InitDrawingSizes) is now made into a subroutine, and also called
after resizing the pieces.
H.G. Muller [Fri, 26 Oct 2012 08:18:48 +0000]
Replace marble texture pixmaps by png
H.G. Muller [Fri, 26 Oct 2012 08:13:27 +0000]
Replace xiangqi board pixmaps by png images
H.G. Muller [Fri, 26 Oct 2012 08:08:44 +0000]
Remove the texture pixmaps from project
These were already replaced by png textures.
H.G. Muller [Tue, 23 Oct 2012 13:02:56 +0000]
Fix re-rendering of svg on resize
The previously prepared bitmaps were retained if we resized, rather then
rendering the svg atthe new size.
Arun Persaud [Sun, 21 Oct 2012 22:48:30 +0000]
update po/pot files
Arun Persaud [Sun, 21 Oct 2012 22:47:12 +0000]
new version number for developer release
Arun Persaud [Sun, 21 Oct 2012 18:10:36 +0000]
we still need a few bitmaps, so the directory needs to be included in Makefile.am
make distcheck complained about this
H.G. Muller [Sun, 21 Oct 2012 13:56:43 +0000]
Rename svg shogi pieces, so they become usable
Only white pieces are present. For black they would have to be flipped.
H.G. Muller [Sun, 21 Oct 2012 13:54:25 +0000]
Fix bug in resizing on variant switch
The fix of the garbage pixels had unfortunately broken this.
H.G. Muller [Sun, 21 Oct 2012 13:15:01 +0000]
Fix bug in fallback mechanism
After failure to load a piece from a specified -pieceImageDirectory
the default theme was not tried, because the cairo function to load
from a pgn file returns a valid handle even if the file does not exist.
H.G. Muller [Sun, 21 Oct 2012 12:58:42 +0000]
Get svg error message
H.G. Muller [Sun, 21 Oct 2012 12:49:45 +0000]
Fix variant-dependent pieces
The code to select the actually used piece images from the available ones
(from InitDrawingSizes) is now made into a subroutine, and also called
after resizing the pieces.
H.G. Muller [Tue, 16 Oct 2012 10:08:25 +0000]
Remove caveat on available pieces fromNew Variant dialog
In the cairo version all pieces are available at all board sizes.
H.G. Muller [Sun, 21 Oct 2012 09:41:11 +0000]
Remove some unused images from png directory
Currently only the three board texture files are used. But the piece
images are still left, because they might be useful if we ever want
to mae XBoard configurable for not using librsvg.
H.G. Muller [Sun, 21 Oct 2012 08:40:37 +0000]
Fix bug in resizing
The nominal size of the window was not set in the correct Option struct.
H.G. Muller [Sun, 21 Oct 2012 07:58:23 +0000]
Prevent odd-width line shift in length direction
H.G. Muller [Sun, 21 Oct 2012 07:48:29 +0000]
Print missing-pieces error message to console
The GUI might not yet be up at this point.In addition, suppress
the rest of the code, because it could give segfaults.
H.G. Muller [Sun, 21 Oct 2012 07:30:26 +0000]
Fix garbage pixels on the right of the board
The extra pixel that is requested in sizing the board window back to
an available size because we ofte get one less pixel than we ask for
can lead to a line of garbage pixels next to the board. This is combatted
by limiting expose events to the true board area, remembering that in the
Graph Option rather than the actual window size, and suppressing resizing
when the latter only exceeds the stored width by more than 1 pixel.
H.G. Muller [Mon, 15 Oct 2012 08:27:14 +0000]
Trim board-window size
The board window will sometimes be a pixel larger than requested.
The ReSize routine will now reset the size values in the Graph Option
to what they were supposed to be, to prevent expose events will
draw nonsense in the extra space.
H.G. Muller [Sat, 13 Oct 2012 21:26:10 +0000]
Adapt docs for svg/png in stead of bitmap/pixmap
H.G. Muller [Sat, 13 Oct 2012 07:35:31 +0000]
Spontaeous changes in gettext stuff
H.G. Muller [Sat, 13 Oct 2012 06:03:48 +0000]
Move Shogi svg pieces to own directory
H.G. Muller [Sat, 13 Oct 2012 05:57:48 +0000]
Remove unnecessary Xt colors and call to MakeColors
H.G. Muller [Sat, 13 Oct 2012 05:50:56 +0000]
Code cleanup: move expose redraw to draw.c
H.G. Muller [Sat, 13 Oct 2012 05:37:45 +0000]
Suppress warning for InitDrawingHandle
H.G. Muller [Sat, 13 Oct 2012 05:33:15 +0000]
Make fallbackPieceImageDirectory hardcoded
H.G. Muller [Sat, 13 Oct 2012 05:18:23 +0000]
Increase drag delay too 200 msec
On my slow laptop it can take more than 100 msec to reallocate bitmaps
in the generic expose, with as a consequence that the DelayedDrag event
is not processed before the timeout expires. The timeout event then triggers
a redraw, which again takes so long that the timeout expires before the
event to reset the timer could be processed, and this just perpetuates
itself, leading to a large series of queued redraws, and a long waiting time
for an image to appear after the sizing stops.
H.G. Muller [Sat, 13 Oct 2012 05:01:05 +0000]
Fix segfault on faulty command-line option
H.G. Muller [Fri, 12 Oct 2012 12:42:26 +0000]
Suppress anti-aliasing in -monoMode
In the color-substitution code, always use bi-level alpha and color.
H.G. Muller [Fri, 12 Oct 2012 11:34:04 +0000]
Remove piece pixmaps from project
H.G. Muller [Fri, 12 Oct 2012 09:47:25 +0000]
Implement proper fallback cascade
Try in order cached svg, cached bitmap, user png, user svg, default svg.
H.G. Muller [Fri, 12 Oct 2012 09:06:06 +0000]
Cache svg handles
H.G. Muller [Fri, 12 Oct 2012 08:45:29 +0000]
Install svg pieces in themes/default
The svg pieces are installed with the XBoard data in the directory
.../xboard/themes/default . A new option -fallbackPieceImageDirectory
is added, and is configured in the master settings file to point to
these pieces. This options, which replaces -svgDirectory, is volatile,
and the menu control to set it is removed. The -pngDirectory option
is renamed to -pieceImageDirectory (-pid).
H.G. Muller [Fri, 12 Oct 2012 08:02:50 +0000]
Remove bitmaps from project
H.G. Muller [Fri, 12 Oct 2012 07:55:07 +0000]
Install the wood textures as png
The xboard.conf has to be edited to set these as default textures,
in stead of the .xpm files.
H.G. Muller [Fri, 12 Oct 2012 07:50:31 +0000]
Add hatched board texture
A png file with hatching is added, so it can be used for dark squares
in a monochrome theme. It is installed in a new data directory
.../xboard/themes/textures.
Arun Persaud [Fri, 12 Oct 2012 05:21:06 +0000]
added a black and white theme to replace the mono option
Arun Persaud [Fri, 12 Oct 2012 03:56:42 +0000]
added SVGs to dist files in automake
H.G. Muller [Thu, 11 Oct 2012 17:44:22 +0000]
Fix exposure of atomic captures
The grid lines had to be repaired too, so damage marker 2 had to be used.