Skip to content

Commit

Permalink
Merge branch 'dev' into cannotreachpathing
Browse files Browse the repository at this point in the history
  • Loading branch information
19690ao authored Oct 8, 2022
2 parents 109dda1 + 86a076c commit f2e55be
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
import edu.rpi.legup.history.*;
import edu.rpi.legup.model.Puzzle;
import edu.rpi.legup.model.elements.Element;
import edu.rpi.legup.model.gameboard.Board;
import edu.rpi.legup.model.gameboard.CaseBoard;
import edu.rpi.legup.model.gameboard.PuzzleElement;
import edu.rpi.legup.model.rules.*;
import edu.rpi.legup.model.tree.TreeElement;
import edu.rpi.legup.model.tree.TreeElementType;
Expand All @@ -17,6 +19,8 @@
import edu.rpi.legup.ui.puzzleeditorui.elementsview.ElementButton;

import javax.swing.*;
import javax.swing.border.Border;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
Expand All @@ -26,10 +30,12 @@
public class EditorElementController implements ActionListener {
protected Object lastSource;
protected ElementController elementController;
protected ElementButton prevButton;

public EditorElementController() {
super();
elementController = null;
prevButton = null;
}

public void setElementController(ElementController elementController) {
Expand All @@ -38,6 +44,7 @@ public void setElementController(ElementController elementController) {

public void buttonPressed(Element element) {
// TODO: implement what happens when element is pressed

System.out.printf("%s button pressed!\n", element.getElementName());
if (elementController != null) {
elementController.setSelectedElement(element);
Expand All @@ -49,5 +56,16 @@ public void actionPerformed(ActionEvent e) {
lastSource = e.getSource();
ElementButton button = (ElementButton) lastSource;
buttonPressed(button.getElement());

// reset border in previous selected button
if (this.prevButton != null) {
this.prevButton.resetBorder();
}

// change border color when select a button
button.setBorderToSelected();

this.prevButton = button;

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,18 @@
import edu.rpi.legup.model.rules.Rule;

import javax.swing.*;
import javax.swing.border.Border;
import java.awt.*;

public class ElementButton extends JButton {

private Element element;
private final Border originalBorder;

ElementButton(Element e) {
super(e.getImageIcon());
this.element = e;
this.originalBorder = this.getBorder();
}

public Element getElement() {
Expand All @@ -21,4 +25,14 @@ public Element getElement() {
public void setElement(Element e) {
this.element = e;
}

public void setBorderToSelected() {
Border newBorderIn = BorderFactory.createLineBorder(new Color(20, 140, 70), 2, true);
Border newBorder = BorderFactory.createCompoundBorder(newBorderIn, this.originalBorder);
this.setBorder(newBorder);
}

public void resetBorder() {
this.setBorder(this.originalBorder);
}
}

0 comments on commit f2e55be

Please sign in to comment.