The idea is nice but there are a few problems :
- right now it does only make sense when "show variations window" is turned
off. Hence it should be better integrated with this : either they are
mutually exclusive or combined
- when going back, the arrows displaying possible vars for current move is
not displayed again
Pascal
2009/10/5 Fulvio <f...@libero.it>
> I wrote some code that improves (i hope) the behavior of mousewhell
> scroll over the board:
> 1) Scrolling back automatically leaves a variation
> 2) Scrolling forward shows arrows indicating moves for multiple variations
>
> Would you give it a try?
>
>
> Index: src/tkscid.cpp
> ===================================================================
> RCS file: /cvsroot/scid/scid/src/tkscid.cpp,v
> retrieving revision 1.38
> diff -u -r1.38 tkscid.cpp
> --- src/tkscid.cpp 31 Aug 2009 10:14:44 -0000 1.38
> +++ src/tkscid.cpp 5 Oct 2009 13:15:10 -0000
> @@ -15929,11 +15929,13 @@
> int
> sc_var_list (ClientData cd, Tcl_Interp * ti, int argc, const char ** argv)
> {
> + bool uci = (argc > 2) && ! strCompare("UCI", argv[2]);
> uint varCount = db->game->GetNumVariations();
> char s[100];
> for (uint varNumber = 0; varNumber < varCount; varNumber++) {
> db->game->MoveIntoVariation (varNumber);
> - db->game->GetSAN (s);
> + if (uci) db->game->GetNextMoveUCI (s);
> + else db->game->GetSAN (s);
> // if (s[0] == 0) { strCopy (s, "(empty)"); }
> Tcl_AppendElement (ti, s);
> db->game->MoveExitVariation ();
>
>
>
> Index: tcl/end.tcl
> ===================================================================
> RCS file: /cvsroot/scid/scid/tcl/end.tcl,v
> retrieving revision 1.60
> diff -u -r1.60 end.tcl
> --- tcl/end.tcl 25 Jul 2009 07:56:56 -0000 1.60
> +++ tcl/end.tcl 5 Oct 2009 13:10:38 -0000
> @@ -1359,8 +1359,40 @@
>
> # MouseWheel in main window:
> bind .main <MouseWheel> {
> - if {[expr -%D] < 0} { ::move::Back }
> - if {[expr -%D] > 0} { ::move::Forward }
> + if {[expr -%D] < 0} {
> + if {[sc_pos isAt vstart]} { .main.fbutton.button.exitVar invoke
> + } else { ::move::Back }
> + }
> + if {[expr -%D] > 0} {
> + set bMoveForward 1
> + set varList [sc_var list UCI]
> + if {$varList != ""} {
> + set bMoveForward 1
> + set color "darkBlue"
> + set move [sc_game info nextMoveUCI]
> + if {$move != ""} {
> + set varList [linsert $varList 0 $move]
> + set color "blue"
> + }
> +
> + foreach { move } $varList {
> + set bDrawArrow 1
> + set sq_start [ ::board::sq [ string range $move 0 1 ] ]
> + set sq_end [ ::board::sq [ string range $move 2 3 ] ]
> + foreach mark $::board::_mark(.main.board) {
> + if { [lindex $mark 0] == "arrow" } {
> + if {[lindex $mark 1] == $sq_start && [lindex $mark
> 2] == $sq_end && [lindex $mark 3] == $color} { set bDrawArrow 0}
> + }
> + }
> + if {$bDrawArrow} {
> + set bMoveForward 0
> + ::board::mark::add ".main.board" "arrow" $sq_start
> $sq_end $color
> + }
> + set color "darkBlue"
> + }
> + }
> + if { $bMoveForward } {::move::Forward }
> + }
> }
>
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry® Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9-12, 2009. Register now!
> http://p.sf.net/sfu/devconf
> _______________________________________________
> Scid-users mailing list
> Scid-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/scid-users
>
>
------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Scid-users mailing list
Scid-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scid-users