Skip to content

Commit 9ae6149

Browse files
committed
Temporarily fixed display box canUpdate issue
1 parent a300abf commit 9ae6149

5 files changed

Lines changed: 36 additions & 26 deletions

File tree

src/actions/UpdateDataDisplayBoxAction.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55

66
import javax.swing.JOptionPane;
77

8-
import actions.edit.undoredo.SharedUndoRedoActionManager;
9-
import actions.edit.undoredo.UndoRedoableInterface;
10-
import actions.menu.ActionsMenuBarTitles;
118
import paintcomponents.NoConnectingLineSegmentException;
129
import paintcomponents.data.DataDisplayPaintComponent;
1310
import paintcomponents.data.DataFromPointNoDataProviderException;
1411
import paintcomponents.data.DataFromPointProviderCannotProvideDataException;
1512
import ui.PaintPanel;
13+
import actions.edit.undoredo.SharedUndoRedoActionManager;
14+
import actions.edit.undoredo.UndoRedoableInterface;
15+
import actions.menu.ActionsMenuBarTitles;
1616

1717
public class UpdateDataDisplayBoxAction extends MenuBarPaintAction {
1818

@@ -25,7 +25,9 @@ public boolean canPerformAction() {
2525

2626
if(panel.getSelectTool().getSelectedComponents().size() == 1){
2727
if(panel.getSelectTool().getSelectedComponents().get(0) instanceof DataDisplayPaintComponent){
28-
return ((DataDisplayPaintComponent) panel.getSelectTool().getSelectedComponents().get(0)).canUpdate();
28+
// return true;
29+
return ((DataDisplayPaintComponent) panel.getSelectTool()
30+
.getSelectedComponents().get(0)).canUpdate();
2931
}
3032
}
3133
return false;

src/actions/global/globalactions/AddDataDisplayBoxGlobalAction.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
package actions.global.globalactions;
22

3-
import java.util.ArrayList;
4-
5-
import paintcomponents.SimplePoint;
63
import paintcomponents.data.DataDisplayPaintComponent;
7-
import paintcomponents.data.DataInputTextfieldPaintComponent;
4+
import ui.PaintPanel;
85
import actions.edit.undoredo.SharedUndoRedoActionManager;
96
import actions.edit.undoredo.UndoRedoableInterface;
107
import actions.global.GlobalPaintAction;
11-
import ui.PaintPanel;
128

139
public class AddDataDisplayBoxGlobalAction extends GlobalPaintAction {
1410

1511
private String dataDisplay;
1612
private int x;
1713
private int y;
14+
1815
private DataDisplayPaintComponent comp;
1916

2017
public void setDisplayString(String dataDisplay) {
@@ -40,11 +37,14 @@ public void setY(int y) {
4037
@Override
4138
protected void execute(PaintPanel panel) {
4239
comp = new DataDisplayPaintComponent(
40+
// DataDisplayPaintComponent comp = new DataDisplayPaintComponent(
4341
dataDisplay, x, y);
42+
4443
if (panel.getSelectTool() != null) {
45-
panel.getSelectTool().clearSelection();
46-
panel.getSelectTool().selectComponent(comp);
44+
panel.getSelectTool().clearSelection();
45+
panel.getSelectTool().selectComponent(comp);
4746
}
47+
4848
panel.addPaintComponent(comp);
4949

5050
// push action to manager

src/paintcomponents/data/DataDisplayPaintComponent.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,25 +34,26 @@ public DataDisplayPaintComponent(String displayingText, int x, int y) {
3434
* @see DataToPoint.fetchData for exception details
3535
*/
3636
public void updateDisplayText() throws NoSuchElementException, NoConnectingLineSegmentException, DataFromPointNoDataProviderException, DataFromPointProviderCannotProvideDataException{
37-
Object data = getToPoints().get(0).fetchData();
38-
if(data instanceof String){
37+
Object data = getToPoints().get(0).fetchData().toString();// add
38+
// toString
39+
// to ignore
40+
// error
41+
/*if(data instanceof String){
3942
this.setDisplayingText(data.toString());
4043
} else {
4144
this.setDisplayingText("Error: Not A String :: " + "Type : " + data.getClass().toString() + " Value: " + data.toString());
42-
}
45+
}*/
4346
}
4447

45-
public boolean canUpdate(){
46-
try {
47-
Object data = getToPoints().get(0).fetchData();
48-
if(data instanceof String){
49-
return true;
50-
}
51-
} catch (Exception e) {
52-
return false;
53-
}
54-
return false;
48+
public boolean canUpdate() {
49+
return true; // temporary
50+
/*
51+
* try { Object data = getToPoints().get(0).fetchData(); if (data
52+
* instanceof String) { return true; } } catch (Exception e) { return
53+
* false; } return false;
54+
*/
5555
}
56+
5657
@Override
5758
public void saveToElement(Element rootElement, Document doc) {
5859
super.saveToElement(rootElement, doc);

src/paintcomponents/data/DataToPoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public DataToPoint(int x, int y, Type expectedType) {
5353
public Object fetchData() throws NoConnectingLineSegmentException, NoSuchElementException, DataFromPointNoDataProviderException, DataFromPointProviderCannotProvideDataException{
5454
if(this.lineSegment == null) throw new NoConnectingLineSegmentException();
5555

56-
Object returnVal = lineSegment.getFromPoint().getData().toString();
56+
Object returnVal = lineSegment.getFromPoint().getData();// .toString();
5757
if(returnVal == null) throw new NoSuchElementException();
5858
return returnVal;
5959

src/paintcomponents/java/lazy/MethodPaintComponent.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,11 @@ public class MethodPaintComponent extends DataTextIOPaintComponent
2626
implements DataFromPointDataProvider {
2727

2828
private Method displayingMethod;
29+
private Class<?>[] wantedType;
2930

3031
public MethodPaintComponent(Method displayingMethod, int x, int y) {
3132
super(displayingMethod.toString(), x, y);
33+
this.wantedType = displayingMethod.getParameterTypes();
3234
this.displayingMethod = displayingMethod;
3335
init();
3436
}
@@ -100,6 +102,7 @@ public Object provideInformationToDataFromPoint(
100102
Object operatingInstance = null;
101103
try {
102104
operatingInstance = toPoints.get(0).fetchData();
105+
System.out.println(operatingInstance.getClass());
103106
} catch (NoSuchElementException | NoConnectingLineSegmentException
104107
| DataFromPointNoDataProviderException
105108
| DataFromPointProviderCannotProvideDataException e1) {
@@ -116,14 +119,18 @@ public Object provideInformationToDataFromPoint(
116119
DataToPoint toPoint = toPoints.get(i+1);
117120
try {
118121
args[i] = toPoint.fetchData();
122+
if (wantedType[i].isAssignableFrom(String.class)) {
123+
args[i] = wantedType[i].cast(args[i]);
124+
}
119125
} catch (NoSuchElementException | NoConnectingLineSegmentException
120126
| DataFromPointNoDataProviderException
121127
| DataFromPointProviderCannotProvideDataException e) {
122128
e.printStackTrace();
123129
// TODO Handle Exception
124130
// arguments must be valid
125131
throw new IllegalStateException();
126-
}
132+
}
133+
127134
}
128135

129136
try {

0 commit comments

Comments
 (0)