Skip to content

Commit 8bb6d14

Browse files
authored
Merge pull request #151 from UCSDOalads/develop
Develop v0.4
2 parents 621a4d9 + ac0437b commit 8bb6d14

186 files changed

Lines changed: 7343 additions & 1770 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.classpath

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<classpath>
33
<classpathentry kind="src" path="src"/>
4+
<classpathentry kind="src" path="images"/>
45
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
56
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
67
<classpathentry kind="output" path="bin"/>

README.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Project Title
2+
JavaSketchPad README
3+
4+
## Getting Started
5+
6+
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See “How to work on this project?” for further development details.
7+
8+
### Prerequisites
9+
10+
```
11+
Eclipse for Java (Eclipse Neon recommended)
12+
Java System Library [JavaSE 1.8]
13+
```
14+
15+
### Installing
16+
17+
git clone the project through “github.com/UCSDOalads/JavaSketchPad” or through the following command:
18+
19+
```
20+
git clone https://github.com/UCSDOalads/JavaSketchPad.git
21+
cd JavaSketchPad
22+
```
23+
24+
## Contributing
25+
26+
Please read “How to work on this project?” for details on our code of conduct, and the process for submitting pull requests to us.
27+
28+
## Authors
29+
30+
See also the list of [contributors](github.com/UCSDOalads/JavaSketchPad/graphs/contributors) who participated in this project.
31+
32+
## Acknowledgments
33+
UCSD CSE B260 lab
34+
35+
36+
## User Interface Introduction
37+
38+
### Menu bar:
39+
Contains all the functionalities that you can use on JavaSketchPad, mainly including Data (Input/Output Box, Annotations, etc), Lazy (Java class, method, etc), Edit (Zoom, font, etc), File (e.g. c.xml), Script (same as the “:” commands to quickly add objects). Among them, Generate, Developer, and View are deprecated or under-development.
40+
41+
### Canvas:
42+
You can interact with the program on the canvas.
43+
44+
### Action History Dialog:
45+
Action History: This table shows the actions user performed in order and each individual action could be highlighted for undo.
46+
Undo button: undo the last action. You can also select a row to highlight that action, so that undoing again will undo until that row (inclusive).
47+
Redo button: Similiar to Undo button.
48+
49+
### Six Button tools: click on the button and click on canvas where you want to put the object (except for Line tool).
50+
Simple Point: a basic developer point that can be connected with Lines
51+
Select: the default mode that can select other components on canvas
52+
Line: select the Line tool, then connect one point to another. If you want to connect points to pass on data, you have to select the point that contains data and then select the point that the data is going to. This sequence does not matter for Simple Point.
53+
Class (C): create a Java class constructor that can be used to create its methods. To create a method, only select one class, and then click on menu bar (Lazy -> Add -> Java Method). The dot on the left side of a method is input/argument, while the dot on the right side is output/return value.
54+
InputBox (I): A data input box that can be updated with double click or a click on menu bar (Data -> InputBox -> Update). It can also be connected to the left dots of method to pass in argument for methods.
55+
OutputBox (O): A data output box that can be updated with a click on menu bar (Data -> OutputBox -> Update), but only after it is connected to the right dots of method and all the left dots are connected with data.
56+
57+
58+
## Open Source Code: Package Description
59+
60+
```
61+
actions: implements all the actions that users could make interactions from the menu bar
62+
actions.edit.undoredo: handles undo and redo actions
63+
actions.global: defines the general structure of global actions
64+
actions.global.globalactions: all the global actions, which are utilized in the actions package
65+
actions.menu: make connections with the menu items and the associated actions
66+
actions.singleinstanceoperactions: actions on one and only one instance.
67+
buttons: define the structure of tool buttons, which are displayed on the top of the frame
68+
classpathutil: contains the utility classes to generate the names and paths of all the classes in the java standard library and external jar files. The package also contains a search engine that allows users search for classes
69+
file: implements I/O functionality
70+
paintcomponents: define the components in the main panel, including line segments, single point, etc.
71+
paintcomponents.annotations: implement the annotation functionality
72+
paintcomponents.data: define the components that is associated with data
73+
paintcomponents.haskell:
74+
paintcomponents.java.interactive: the interactive version of paint components of class, constructor, method and fields
75+
paintcomponents.java.lazy: the lazy version of paint components of class, constructor, method, and fields
76+
painttools.toolbar: define the structure of the tool bar, which is displayed on the top of the frame
77+
painttools.tools: define tool buttons in the toolbar
78+
script: connect several commands to actions
79+
settings: settings of the program
80+
typesystem: check the type of input and output data box
81+
ui: main frame of the program
82+
ui.cursor: set custom cursor
83+
ui.general: include input manager of the program
84+
ui.helper.classsearch: help do the search for class
85+
ui.helper.historyui: frame for history(undo, redo) actions
86+
ui.helper.historyui.undoredoLog: generate log for undo/redo Log
87+
ui.helper.methodinput: implements the method input functionality. The package contains a method input frame and a method searching engine.
88+
ui.icons: icons used in the program
89+
```

TODOList.txt

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)