Skip to content

Commit 12cbb69

Browse files
authored
Create README.md
1 parent 1d3cd6b commit 12cbb69

1 file changed

Lines changed: 88 additions & 0 deletions

File tree

README.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
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+
###Six Button tools: click on the button and click on canvas where you want to put the object (except for Line tool).
49+
Simple Point: a basic developer point that can be connected with Lines
50+
Select: the default mode that can select other components on canvas
51+
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.
52+
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.
53+
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.
54+
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.
55+
56+
57+
##Open Source Code: Package Description
58+
59+
```
60+
actions: implements all the actions that users could make interactions from the menu bar
61+
actions.edit.undoredo: handles undo and redo actions
62+
actions.global: defines the general structure of global actions
63+
actions.global.globalactions: all the global actions, which are utilized in the actions package
64+
actions.menu: make connections with the menu items and the associated actions
65+
actions.singleinstanceoperactions: actions on one and only one instance.
66+
buttons: define the structure of tool buttons, which are displayed on the top of the frame
67+
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
68+
file: implements I/O functionality
69+
paintcomponents: define the components in the main panel, including line segments, single point, etc.
70+
paintcomponents.annotations: implement the annotation functionality
71+
paintcomponents.data: define the components that is associated with data
72+
paintcomponents.haskell:
73+
paintcomponents.java.interactive: the interactive version of paint components of class, constructor, method and fields
74+
paintcomponents.java.lazy: the lazy version of paint components of class, constructor, method, and fields
75+
painttools.toolbar: define the structure of the tool bar, which is displayed on the top of the frame
76+
painttools.tools: define tool buttons in the toolbar
77+
script: connect several commands to actions
78+
settings: settings of the program
79+
typesystem: check the type of input and output data box
80+
ui: main frame of the program
81+
ui.cursor: set custom cursor
82+
ui.general: include input manager of the program
83+
ui.helper.classsearch: help do the search for class
84+
ui.helper.historyui: frame for history(undo, redo) actions
85+
ui.helper.historyui.undoredoLog: generate log for undo/redo Log
86+
ui.helper.methodinput: implements the method input functionality. The package contains a method input frame and a method searching engine.
87+
ui.icons: icons used in the program
88+
```

0 commit comments

Comments
 (0)