Skip to content

Commit

Permalink
Merge pull request #13 from UCSDOalads/develop
Browse files Browse the repository at this point in the history
Merge Develop Release v0.2.1
  • Loading branch information
Ultimate Pea authored Mar 1, 2017
2 parents ddb951f + f92065d commit 2b612f7
Show file tree
Hide file tree
Showing 33 changed files with 1,243 additions and 321 deletions.
5 changes: 3 additions & 2 deletions src/actions/AddDataDisplayBoxAction.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package actions;

import paintcomponents.DataDisplayPaintComponent;
import actions.menu.ActionsMenuBarTitles;
import paintcomponents.data.DataDisplayPaintComponent;
import ui.PaintPanel;

public class AddDataDisplayBoxAction extends PaintAction {
Expand All @@ -23,7 +24,7 @@ public void performAction() {

@Override
public String locationString() {
return "Add/Data Display";
return ActionsMenuBarTitles.Data().Display_Box().Add().toString();
}

}
5 changes: 3 additions & 2 deletions src/actions/AddDataInputBoxAction.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package actions;

import paintcomponents.DataInputTextfieldPaintComponent;
import actions.menu.ActionsMenuBarTitles;
import paintcomponents.data.DataInputTextfieldPaintComponent;
import ui.PaintPanel;

public class AddDataInputBoxAction extends PaintAction {
Expand All @@ -24,7 +25,7 @@ public void performAction() {

@Override
public String locationString() {
return "Add/Data Input Box...";
return ActionsMenuBarTitles.Data().Input_Box().Add().toString();
}

}
43 changes: 43 additions & 0 deletions src/actions/AddLazyJavaClassAction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package actions;

import javax.swing.JOptionPane;

import actions.menu.ActionsMenuBarTitles;
import actions.menu.PaintActionMenuItem;
import paintcomponents.java.lazy.ClassPaintComponent;
import ui.PaintPanel;

public class AddLazyJavaClassAction extends PaintAction {

public AddLazyJavaClassAction(PaintPanel panel) {
super(panel);
}

@Override
public boolean canPerformAction() {
return true;
}

@Override
public void performAction() {
String className = JOptionPane
.showInputDialog("Please specify the name of the Java Class");
try {
Class classObj = Class.forName(className);
panel.addPaintComponent(new ClassPaintComponent(classObj,
panel.getWidth() / 2, panel.getHeight() / 2));
panel.repaint();
} catch (ClassNotFoundException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(panel,
className + " :: Class Not Found");
}

}

@Override
public String locationString() {
return ActionsMenuBarTitles.Lazy().Add().Java_Class().toString();
}

}
63 changes: 63 additions & 0 deletions src/actions/AddLazyJavaConstructorAction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package actions;

import java.lang.reflect.Constructor;

import javax.swing.JOptionPane;

import actions.menu.ActionsMenuBarTitles;
import paintcomponents.java.lazy.ClassConstructorPaintComponent;
import paintcomponents.java.lazy.ClassPaintComponent;
import ui.PaintPanel;

public class AddLazyJavaConstructorAction extends PaintAction {

public AddLazyJavaConstructorAction(PaintPanel panel) {
super(panel);
}

@Override
public boolean canPerformAction() {
if (panel.getSelectTool().getSelectedComponents().size() != 1) {
return false;
}
if (panel.getSelectTool().getSelectedComponents()
.get(0) instanceof ClassPaintComponent) {
return true;
}
return false;
}

@Override
public void performAction() {
ClassPaintComponent comp = (ClassPaintComponent) panel.getSelectTool()
.getSelectedComponents().get(0);
Constructor[] cons = comp.getDisplayingClass().getConstructors();

int desiaredConstructorIndex = Integer
.parseInt(JOptionPane.showInputDialog(
"Please enter the index of the constructor you would like to use: \n\n\n"
+ getConstructorsSelectionUI(cons)));
ClassConstructorPaintComponent consComp = new ClassConstructorPaintComponent(
cons[desiaredConstructorIndex], panel.getWidth() / 2,
panel.getHeight() / 2);
panel.addPaintComponent(consComp);
panel.repaint();

}

public String getConstructorsSelectionUI(Constructor[] cons) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < cons.length; i++) {
Constructor constructor = cons[i];
builder.append(i + " : " + constructor.toString() + "\n");
}
return builder.toString();

}

@Override
public String locationString() {
return ActionsMenuBarTitles.Lazy().Add().Java_Constructor().toString();
}

}
44 changes: 44 additions & 0 deletions src/actions/AddLazyJavaFieldsComponentAction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package actions;

import actions.menu.ActionsMenuBarTitles;
import paintcomponents.java.lazy.ClassPaintComponent;
import paintcomponents.java.lazy.FieldsPaintComponent;
import ui.PaintPanel;

public class AddLazyJavaFieldsComponentAction extends PaintAction {

public AddLazyJavaFieldsComponentAction(PaintPanel panel) {
super(panel);
}
//TODO
//NOTE: I am copying from Constructor and Methods, consider refinement
@Override
public boolean canPerformAction() {
if (panel.getSelectTool().getSelectedComponents().size() != 1) {
return false;
}
if (panel.getSelectTool().getSelectedComponents()
.get(0) instanceof ClassPaintComponent) {
return true;
}
return false;
}
@Override
public void performAction() {
ClassPaintComponent comp = (ClassPaintComponent) panel.getSelectTool()
.getSelectedComponents().get(0);

FieldsPaintComponent fieldsComp =
new FieldsPaintComponent(comp.getDisplayingClass(),
panel.getWidth() / 2,
panel.getHeight() / 2);
panel.addPaintComponent(fieldsComp);
panel.repaint();
}

@Override
public String locationString() {
return ActionsMenuBarTitles.Lazy().Add().Java_Fields().toString();
}

}
63 changes: 63 additions & 0 deletions src/actions/AddLazyJavaMethodComponentAction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package actions;

import java.lang.reflect.Method;

import javax.swing.JOptionPane;

import actions.menu.ActionsMenuBarTitles;
import paintcomponents.java.lazy.ClassConstructorPaintComponent;
import paintcomponents.java.lazy.ClassPaintComponent;
import paintcomponents.java.lazy.MethodPaintComponent;
import ui.PaintPanel;

public class AddLazyJavaMethodComponentAction extends PaintAction {

public AddLazyJavaMethodComponentAction(PaintPanel panel) {
super(panel);
}

//TODO
//NOTE: I am copying from Constructor, consider refinement
@Override
public boolean canPerformAction() {
if (panel.getSelectTool().getSelectedComponents().size() != 1) {
return false;
}
if (panel.getSelectTool().getSelectedComponents()
.get(0) instanceof ClassPaintComponent) {
return true;
}
return false;
}

@Override
public void performAction() {
ClassPaintComponent comp = (ClassPaintComponent) panel.getSelectTool()
.getSelectedComponents().get(0);
Method[] methods = comp.getDisplayingClass().getMethods();

int desiaredConstructorIndex = Integer
.parseInt(JOptionPane.showInputDialog(
"Please enter the index of the constructor you would like to use: \n\n\n"
+ getMethodsSelectionUI(methods)));
MethodPaintComponent methodComp = new MethodPaintComponent(
methods[desiaredConstructorIndex], panel.getWidth() / 2,
panel.getHeight() / 2);
panel.addPaintComponent(methodComp);
panel.repaint();
}
public String getMethodsSelectionUI(Method[] methods) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < methods.length; i++) {
Method constructor = methods[i];
builder.append(i + " : " + constructor.toString() + "\n");
}
return builder.toString();

}
@Override
public String locationString() {
return ActionsMenuBarTitles.Lazy().Add().Java_Method().toString();
}

}
3 changes: 2 additions & 1 deletion src/actions/AddTextBoxAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import javax.swing.JOptionPane;

import actions.menu.ActionsMenuBarTitles;
import paintcomponents.TextPaintComponent;
import ui.PaintPanel;

Expand All @@ -25,7 +26,7 @@ public void performAction() {

@Override
public String locationString() {
return "Add/Text Box...";
return ActionsMenuBarTitles.Developer("Add/Text Box...").toString();
}

}
16 changes: 8 additions & 8 deletions src/actions/ConstructDataLineSegmentAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

import java.util.ArrayList;

import paintcomponents.DataFromPoint;
import paintcomponents.DataLineSegment;
import paintcomponents.DataToPoint;
import actions.menu.ActionsMenuBarTitles;
import paintcomponents.PaintComponent;
import paintcomponents.data.DataFromPoint;
import paintcomponents.data.DataLineSegment;
import paintcomponents.data.DataToPoint;
import ui.PaintPanel;

public class ConstructDataLineSegmentAction extends ConstructLineSegmentAction {
Expand All @@ -22,9 +23,9 @@ public boolean canPerformAction() {
//assume ConstructLineSegment is doing correctly, there is two corrently selected points
ArrayList<PaintComponent> comps = this.panel.getSelectTool().getSelectedComponents();
//TODO IMPORTANT Generic Argument is erased, may cause unexpected behavior when types dont match in the future
if(comps.get(0) instanceof DataFromPoint<?> && comps.get(1) instanceof DataToPoint<?>){
if(comps.get(0) instanceof DataFromPoint && comps.get(1) instanceof DataToPoint){
//allow connection only when no segment has no existing connections to the data
if(((DataToPoint<?>)comps.get(1)).getLineSegment() == null){
if(((DataToPoint)comps.get(1)).getLineSegment() == null){
return true;
}
}
Expand All @@ -35,15 +36,14 @@ public boolean canPerformAction() {
public void performAction() {

ArrayList<PaintComponent> comps = this.panel.getSelectTool().getSelectedComponents();
@SuppressWarnings("rawtypes")
DataLineSegment<?> seg = new DataLineSegment((DataFromPoint<?>)comps.get(0), (DataToPoint<?>)comps.get(1));
DataLineSegment seg = new DataLineSegment((DataFromPoint)comps.get(0), (DataToPoint)comps.get(1));
addLineSegment(seg);
}

@Override
public String locationString() {
// TODO Auto-generated method stub
return "Data/Construct/Line Segment";
return ActionsMenuBarTitles.Data().Construct().Line_Segment().toString();
}

}
3 changes: 2 additions & 1 deletion src/actions/ConstructLineSegmentAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import java.awt.Component;
import java.util.ArrayList;

import actions.menu.ActionsMenuBarTitles;
import paintcomponents.LineSegment;
import paintcomponents.PaintComponent;
import paintcomponents.SimplePoint;
Expand Down Expand Up @@ -82,7 +83,7 @@ protected void addLineSegment(LineSegment lineSegment) {

@Override
public String locationString() {
return "Construct/Line Segment";
return ActionsMenuBarTitles.Developer("Construct/Line Segment").toString();
}

}
5 changes: 3 additions & 2 deletions src/actions/InputDataForDataInputBoxAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@

import javax.swing.JOptionPane;

import paintcomponents.DataInputTextfieldPaintComponent;
import actions.menu.ActionsMenuBarTitles;
import paintcomponents.PaintComponent;
import paintcomponents.data.DataInputTextfieldPaintComponent;
import ui.PaintPanel;

public class InputDataForDataInputBoxAction extends PaintAction {
Expand Down Expand Up @@ -34,7 +35,7 @@ public void performAction() {

@Override
public String locationString() {
return "Input/Input into Data Panel";
return ActionsMenuBarTitles.Data().Input_Box().Update().toString();
}

}
11 changes: 7 additions & 4 deletions src/actions/UpdateDataDisplayBoxAction.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package actions;

import java.util.NoSuchElementException;
import java.util.logging.Logger;

import javax.swing.JOptionPane;

import paintcomponents.DataDisplayPaintComponent;
import paintcomponents.DataFromPointNoDataProviderException;
import paintcomponents.DataFromPointProviderCannotProvideDataException;
import actions.menu.ActionsMenuBarTitles;
import paintcomponents.NoConnectingLineSegmentException;
import paintcomponents.data.DataDisplayPaintComponent;
import paintcomponents.data.DataFromPointNoDataProviderException;
import paintcomponents.data.DataFromPointProviderCannotProvideDataException;
import ui.PaintPanel;

public class UpdateDataDisplayBoxAction extends PaintAction {
Expand Down Expand Up @@ -35,6 +37,7 @@ public void performAction() {
} catch (NoSuchElementException | NoConnectingLineSegmentException
| DataFromPointNoDataProviderException
| DataFromPointProviderCannotProvideDataException e) {
Logger.getGlobal().warning(e.toString());
e.printStackTrace();
JOptionPane.showMessageDialog(panel, e.toString());
}
Expand All @@ -43,7 +46,7 @@ public void performAction() {

@Override
public String locationString() {
return "Data/Display Box/Update";
return ActionsMenuBarTitles.Data().Display_Box().Update().toString();
}

}
Loading

0 comments on commit 2b612f7

Please sign in to comment.