Skip to content

Instantly share code, notes, and snippets.

@ShawnHuang
Created December 23, 2015 03:39
Show Gist options
  • Save ShawnHuang/2ced9581e82eaf765850 to your computer and use it in GitHub Desktop.
Save ShawnHuang/2ced9581e82eaf765850 to your computer and use it in GitHub Desktop.
qumleditor with plantUML
@startuml
class Shape {
boolean : selected
int : x
int : y
int : depth
+paint()
}
class BasicBox {
String : name
vector<Port*> : ports
+paint()
}
class ClassBox{
+paint()
}
class UseCaseBox{
+paint()
}
class Line {
Port : head
Port : tail
+paint()
}
class AssLine{
+paint()
}
class ComLine{
+paint()
}
class GenLine{
+paint()
}
class Group {
vector<Shape*> items
+paint()
}
class Port {
int : x
int : y
+paint()
}
class UMLEditor {
vector<Button*> : buttons
Canvas : canvas
}
class Canvas {
vector<Shape *> : items
Mode* : mode
-mousePress()
-mouseDrag()
-mouseRelease()
}
class Button {
String : name
-mousePress()
}
class SelectButton {
-mousePress()
}
class AssLineButton {
-mousePress()
}
class GenLineButton {
-mousePress()
}
class ComLineButton {
-mousePress()
}
class ClassBoxButton {
-mousePress()
}
class UseCaseButton {
-mousePress()
}
class Mode {
-mousePress()
-mouseDrag()
-mouseRelease()
}
class SelectMode {
-mousePress()
-mouseDrag()
-mouseRelease()
}
class UseCaseMode {
-mousePress()
-mouseDrag()
-mouseRelease()
}
class ClassMode {
-mousePress()
-mouseDrag()
-mouseRelease()
}
class GenLineMode {
-mousePress()
-mouseDrag()
-mouseRelease()
}
class ComLineMode {
-mousePress()
-mouseDrag()
-mouseRelease()
}
class AssLineMode {
-mousePress()
-mouseDrag()
-mouseRelease()
}
Mode <|-- SelectMode
Mode <|-- UseCaseMode
Mode <|-- ClassMode
Mode <|-- AssLineMode
Mode <|-- ComLineMode
Mode <|-- GenLineMode
Shape <|-- BasicBox
BasicBox <|-- UseCaseBox
BasicBox <|-- ClassBox
Shape <|-- Line
Line <|-- AssLine
Line <|-- ComLine
Line <|-- GenLine
Shape <|-- Group
BasicBox "1" -- "4" Port
Line "1" -- "2" Port
Canvas "1" o-- "*" Shape
UMLEditor "1" -- "1" Canvas
UMLEditor "1" -- "*" Button
Button "1" -- "1" Mode
Button <|-- SelectButton
Button <|-- AssLineButton
Button <|-- GenLineButton
Button <|-- ComLineButton
Button <|-- ClassBoxButton
Button <|-- UseCaseButton
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment