langagedessinvectoriel's People
langagedessinvectoriel's Issues
Add ShapeXMLFactory?
As ShapeFactory, usesShapeName to create for example EllipseXML, LineXML, ... etc
Add delete option for SVG file
Refactor SVGFile to implement Presentation interface
Refactor SVGFile
to implement Presentation
interface along with lots of restructure (add getName() for shapes, handle Drawing, Path, etc)
Create a java interface ?
With a frame to add directly shapes, colors... and display them somewhere physically (using swing)
Create MVC structure
Add tests
The code need JUnits tests
Change the UML graphic
The UML graphic is not up to date
Implements the Path class
The Path class (in specific_shapes) has to be implemented.
More complexe "shape"
Add a rough UML design to settle down software structure
With this UML, we can settle down our project's structure including things like using which pattern in where. And then we can code with a map in mind.
Package structure
Is it okay if I add a package "test"? So the stucture will be :
src
- main : - View
- Model
- Controller - test
Do we use english or french in the code ?
Add more style for xml
For now, the only style we have is the color: fill="green"
But their is the opacity, the gradian...
Move DrawAndShowAWT
DrawAndShowAWT should be put in view, as view is our input.
Or create a package input with the Draw and DrawAndShowAWT method (and GUI?)
Add Path Controll
We need to add in xml Path (or in Path if the num of points min is the same) a function to see if the number of points is right with the LineType
Add Travis for tests
Add the file for travis tests
Create a new way to visualize the drawing
ie create a second implementation
Use packages' names started with lower-case letters
It would be more clear to start a package's name with lower-case letters, like fr.emn.model
.
Filter IntelliJ project files with `.gitignore`
Change color... in style
Change color... in style to be able to add a lot of style (gradient, transparency...)
That would be for xml only
Implement getXML() into Path and Drawing
The path Class ("chemin") need a getXML().
The Drawing Class need a getXML().
Create folder with existing svg file
To save the sag files, we can create a folder to avoid giving the file path.
And an sag file can be added to show an example.
Create interface for "Classe metier"
With the methods:
- dessiner
- remplir
- insérer
- étiqueter
Travis
@anqitong can you make travis follow the project ?
I can't do it on this repo (as it is on your account).
Thx
Implements functions in SVGFile such as write and save
Open/closed principle : ShapeName
This is a principle that should be respected and is wanted from the subject.
Wikipedia article : https://en.wikipedia.org/wiki/Open/closed_principle
Problem with the class ShapeName : if we want to add a new geometric shape, we need to add its name in ShapeName. So this means we'll have to modify ShapeName, which ic contrary to the open/closed principle. The structure therefore shoudl be reviewed.
Update read me and Wiki
That will be the final task
Add possibility to put a svg in a svg
A svg can contain a svg, so we should create a method for that
Fill Method to write SVG code
Methods toString() creating svg code.
(toString in the Shapes class)
Create interface for the objects use in the drawings
- Enum commun shapes
Improve the ReadMe
For the mid-project, the ReadMe must be improved.
"The subject of the project" rather than the subject of the subject
And more info (how to use the software).
Create interface that can create a file in SVG
Remove MVC model
Find a new model, more suitable to our structure
Specify the language
We have to specify the language that one's has to use in the main function to create something.
Language we have to describe in a doc, and that will be implemented in the code
Il doit être possible de déclarer des variables avec l'un des types puis de modifier leur valeur. Enfin, pour contrôler l'exécution des instructions, on doit disposer d'opérateurs de contrôle, tels que ceux qui suivent.
Séquence
Cet opérateur permet d'exécuter une première instruction, puis une seconde.
Alternative
Cet opérateur permet de choisir des instructions à exécuter suivant une condition booléenne. Il correspond à l'instruction classique if … then … else ….
Boucle
Cet opérateur permet de répéter un certain nombre de fois des instructions. Le nombre peut être fixé a priori (for) ou déterminé a posteriori par une condition (boucles while).
Change ShapesType
Change ShapesType into an interface, and create several class that inherit ShapesType
Correct XML display
Indent in xml display has been removed. It needs to be put back.
Add Listeners to the GUI
Add option to transform a svg file into a java object
Add documentation for the mid-project
It can also be put in the wiki of Github
Display the svg file in the browser through the default browser
Restructure code
Following the UML, restructure the code of the software
Add types "Chemin" and "Crayon"
Idea for composite pattern
Let's see the canvas or the SVG file as a paper filled with Shapes.
Interface : Liste
Classes : FilledArea = Cons(Shape head , Liste rest)
Circle, Ellipse, ... etc implements Shape / add EmptyTile implements Shape too
And then, in svg file, we can have as attribute :
private Liste listShapes;
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.