Skip to content

Commit

Permalink
Add mouseWheel to control branch length in subboard
Browse files Browse the repository at this point in the history
  • Loading branch information
Administrator authored and Administrator committed Nov 1, 2019
1 parent da93051 commit 614774a
Show file tree
Hide file tree
Showing 13 changed files with 183 additions and 25 deletions.
16 changes: 16 additions & 0 deletions src/main/java/featurecat/lizzie/gui/BasicInfoPane.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;

/** The window used to display the game. */
Expand Down Expand Up @@ -67,6 +69,20 @@ protected void paintComponent(Graphics g0) {
// cleanup
bsGraphics.dispose();
// bs.show();
addMouseMotionListener(
new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent e) {
if (Lizzie.config.showSubBoard) {
Lizzie.frame.clearIsMouseOverSub();
}
}

@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
});
}

private void drawCaptured(Graphics2D g, int posX, int posY, int width, int height) {
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/featurecat/lizzie/gui/BoardPane.java
Original file line number Diff line number Diff line change
Expand Up @@ -128,11 +128,15 @@ public void mouseExited(MouseEvent e) {
onMouseExited(e.getX(), e.getY());
}
});

addMouseMotionListener(
new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent e) {
onMouseMoved(e.getX(), e.getY());
if (Lizzie.config.showSubBoard) {
Lizzie.frame.clearIsMouseOverSub();
}
}

@Override
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/featurecat/lizzie/gui/BoardRenderer.java
Original file line number Diff line number Diff line change
Expand Up @@ -1757,6 +1757,9 @@ public boolean incrementDisplayedBranchLength(int n) {
default:
// force nonnegative
displayedBranchLength = max(0, displayedBranchLength + n);
if (variation != null) {
displayedBranchLength = min(displayedBranchLength, variation.size() + 1);
} else displayedBranchLength = 0;
return true;
}
}
Expand Down
14 changes: 14 additions & 0 deletions src/main/java/featurecat/lizzie/gui/CommentPane.java
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,20 @@ public void mouseClicked(MouseEvent e) {
scrollPane.setViewportView(commentPane);
setVisible(false);

commentPane.addMouseMotionListener(
new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent e) {
if (Lizzie.config.showSubBoard) {
Lizzie.frame.clearIsMouseOverSub();
}
}

@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
});
// mouseMotionAdapter = new MouseMotionAdapter() {
// @Override
// public void mouseDragged(MouseEvent e) {
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/featurecat/lizzie/gui/Input.java
Original file line number Diff line number Diff line change
Expand Up @@ -565,6 +565,9 @@ public void mouseWheelMoved(MouseWheelEvent e) {
if (Lizzie.frame.processCommentMouseWheelMoved(e)) {
return;
}
if (Lizzie.frame.processSubBoardMouseWheelMoved(e)) {
return;
}
if (e.getWhen() - wheelWhen > 0) {
wheelWhen = e.getWhen();
if (Lizzie.board.inAnalysisMode()) Lizzie.board.toggleAnalysis();
Expand Down
31 changes: 22 additions & 9 deletions src/main/java/featurecat/lizzie/gui/LizzieFrame.java
Original file line number Diff line number Diff line change
Expand Up @@ -1245,7 +1245,7 @@ public void onMouseMoved(int x, int y) {
}
} else {
if (subBoardRenderer.getIsMouseOverSub()) {
subBoardRenderer.setIsMouseOverSub(false);
Lizzie.frame.clearIsMouseOverSub();
repaint();
}
}
Expand Down Expand Up @@ -1321,18 +1321,14 @@ private void autosaveMaybe() {
}
}

private void setDisplayedBranchLength(int n) {
boardRenderer.setDisplayedBranchLength(n);
}

public void startRawBoard() {
boolean onBranch = boardRenderer.isShowingBranch();
int n = (onBranch ? 1 : BoardRenderer.SHOW_RAW_BOARD);
boardRenderer.setDisplayedBranchLength(n);
Utils.setDisplayedBranchLength(boardRenderer, n);
}

public void stopRawBoard() {
boardRenderer.setDisplayedBranchLength(BoardRenderer.SHOW_NORMAL_BOARD);
Utils.setDisplayedBranchLength(boardRenderer, BoardRenderer.SHOW_NORMAL_BOARD);
}

public boolean incrementDisplayedBranchLength(int n) {
Expand Down Expand Up @@ -1428,15 +1424,15 @@ public void run() {
int secs = (int) (Lizzie.config.replayBranchIntervalSeconds * 1000);
for (int i = 1; i < replaySteps + 1; i++) {
if (!isReplayVariation) break;
setDisplayedBranchLength(i);
Utils.setDisplayedBranchLength(boardRenderer, i);
repaint();
try {
Thread.sleep(secs);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
boardRenderer.setDisplayedBranchLength(oriBranchLength);
Utils.setDisplayedBranchLength(boardRenderer, oriBranchLength);
isReplayVariation = false;
if (!Lizzie.leelaz.isPondering()) Lizzie.leelaz.togglePonder();
}
Expand Down Expand Up @@ -1572,5 +1568,22 @@ public void clearBeforeMove() {
@Override
public void clearIsMouseOverSub() {
// TODO Auto-generated method stub
subBoardRenderer.setIsMouseOverSub(false);
Utils.setDisplayedBranchLength(subBoardRenderer, -2);
}

public boolean processSubBoardMouseWheelMoved(MouseWheelEvent e) {
int x = e.getX();
int y = e.getY();
if (Lizzie.config.showSubBoard && subBoardRenderer.isInside(x, y)) {
if (e.getWheelRotation() > 0) {
Utils.doBranchSub(subBoardRenderer, 1);
repaint();
} else if (e.getWheelRotation() < 0) {
Utils.doBranchSub(subBoardRenderer, -1);
repaint();
}
return true;
} else return false;
}
}
32 changes: 32 additions & 0 deletions src/main/java/featurecat/lizzie/gui/LizzieMain.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
import java.awt.TexturePaint;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseWheelEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
Expand Down Expand Up @@ -251,6 +253,21 @@ public void windowClosing(WindowEvent e) {
}
});

addMouseMotionListener(
new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent e) {
if (Lizzie.config.showSubBoard) {
Lizzie.frame.clearIsMouseOverSub();
}
}

@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
});

// Show the playouts in the title
showPlayouts.scheduleAtFixedRate(
new Runnable() {
Expand Down Expand Up @@ -765,4 +782,19 @@ public void clearIsMouseOverSub() {
// TODO Auto-generated method stub
subBoardPane.clearIsMouseOverSub();
}

@Override
public boolean processSubBoardMouseWheelMoved(MouseWheelEvent e) {
// TODO Auto-generated method stub
if (Lizzie.config.showSubBoard) {
int x = e.getX();
int y = e.getY();
if (x >= subBoardPane.getX()
&& x <= (subBoardPane.getX() + subBoardPane.getWidth())
&& y >= subBoardPane.getY()
&& y <= (subBoardPane.getY() + subBoardPane.getHeight())) {
return true;
} else return false;
} else return false;
}
}
9 changes: 0 additions & 9 deletions src/main/java/featurecat/lizzie/gui/LizziePane.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
import java.awt.Window;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.IOException;
Expand Down Expand Up @@ -106,14 +105,6 @@ public void mouseClicked(MouseEvent e) {
Lizzie.frame.getFocus();
}
});

addMouseMotionListener(
new MouseMotionAdapter() {
@Override
public void mouseMoved(MouseEvent e) {
Lizzie.frame.clearIsMouseOverSub();
}
});
}

@Override
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/featurecat/lizzie/gui/MainFrame.java
Original file line number Diff line number Diff line change
Expand Up @@ -391,4 +391,6 @@ public void toggleEstimateByZen() {
public abstract void clearBeforeMove();

public abstract void clearIsMouseOverSub();

public abstract boolean processSubBoardMouseWheelMoved(MouseWheelEvent e);
}
44 changes: 39 additions & 5 deletions src/main/java/featurecat/lizzie/gui/SubBoardPane.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,15 @@

import featurecat.lizzie.Lizzie;
import featurecat.lizzie.rules.Board;
import featurecat.lizzie.util.Utils;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;
import java.awt.image.BufferedImage;
import java.util.ArrayList;

Expand Down Expand Up @@ -38,11 +41,19 @@ public SubBoardPane(LizzieMain owner) {
new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) subBoardRenderer.increaseBestmoveIndexSub(1);
if (e.getButton() == MouseEvent.BUTTON3) subBoardRenderer.increaseBestmoveIndexSub(-1);
if (e.getButton() == MouseEvent.BUTTON2) Lizzie.config.toggleLargeSubBoard();
if (e.getButton() == MouseEvent.BUTTON1) {
subBoardRenderer.increaseBestmoveIndexSub(1);
repaint();
}
if (e.getButton() == MouseEvent.BUTTON3) {
subBoardRenderer.increaseBestmoveIndexSub(-1);
repaint();
}
if (e.getButton() == MouseEvent.BUTTON2) {
Lizzie.config.toggleLargeSubBoard();
owner.invalidLayout();
}
subBoardRenderer.setClickedSub(true);
owner.invalidLayout();
}
});

Expand All @@ -52,7 +63,21 @@ public void mouseClicked(MouseEvent e) {
public void mouseMoved(MouseEvent e) {
if (!subBoardRenderer.getIsMouseOverSub()) {
subBoardRenderer.setIsMouseOverSub(true);
owner.invalidLayout();
repaint();
}
}
});

addMouseWheelListener(
new MouseWheelListener() {
@Override
public void mouseWheelMoved(MouseWheelEvent e) {
if (e.getWheelRotation() > 0) {
Utils.doBranchSub(subBoardRenderer, 1);
repaint();
} else if (e.getWheelRotation() < 0) {
Utils.doBranchSub(subBoardRenderer, -1);
repaint();
}
}
});
Expand Down Expand Up @@ -146,7 +171,16 @@ public void clearBeforeMove() {
public void clearIsMouseOverSub() {
if (subBoardRenderer.getIsMouseOverSub()) {
subBoardRenderer.setIsMouseOverSub(false);
Utils.setDisplayedBranchLength(subBoardRenderer, -2);
repaint();
}
}

public boolean processSubBoardMouseWheelMoved(MouseWheelEvent e) {
// TODO Auto-generated method stub
if (subBoardRenderer.isInside(e.getX(), e.getY())) {
return true;
}
return false;
}
}
16 changes: 16 additions & 0 deletions src/main/java/featurecat/lizzie/gui/VariationTreePane.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import java.awt.RenderingHints;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;

/** The window used to display the game. */
Expand Down Expand Up @@ -39,6 +40,21 @@ public void mouseClicked(MouseEvent e) {
}
}
});

addMouseMotionListener(
new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent e) {
if (Lizzie.config.showSubBoard) {
Lizzie.frame.clearIsMouseOverSub();
}
}

@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
});
}

private BufferedImage cachedImage;
Expand Down
11 changes: 9 additions & 2 deletions src/main/java/featurecat/lizzie/gui/WinratePane.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import java.awt.Stroke;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;
import java.util.Optional;

Expand Down Expand Up @@ -52,7 +52,14 @@ public void mouseClicked(MouseEvent e) {
});

addMouseMotionListener(
new MouseMotionAdapter() {
new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent e) {
if (Lizzie.config.showSubBoard) {
Lizzie.frame.clearIsMouseOverSub();
}
}

@Override
public void mouseDragged(MouseEvent e) {
onMouseDragged(e.getX(), e.getY());
Expand Down
Loading

0 comments on commit 614774a

Please sign in to comment.