MVC  0.0.1
imodel.h
См. документацию.
1 #pragma once
2 
3 #include <memory>
4 #include "iprimitive.h"
5 #include "observable.h"
6 
7 
12 class IModel : public Observable {
13 
14  public:
15  virtual ~IModel() = default;
16 
20  virtual void newModel() = 0;
21 
26  virtual void openModel(std::string&) = 0;
27 
31  virtual void saveModel() = 0;
32 
37  virtual void addPoint(const Point&) = 0;
38 
43  virtual void addLine(const Point&, const Point&) = 0;
44 
49  virtual void addCircle(const Point&, const int&) = 0;
50 
54  virtual void removeLast() = 0;
55 
60  virtual void draw(IPainterSptr) const = 0;
61 };
62 
63 using IModelSptr = std::shared_ptr<IModel>;
iprimitive.h
IModel::~IModel
virtual ~IModel()=default
IModel::openModel
virtual void openModel(std::string &)=0
Open suite from file.
IModelSptr
std::shared_ptr< IModel > IModelSptr
Definition: imodel.h:63
IModel::addPoint
virtual void addPoint(const Point &)=0
Add Point to suite.
IModel::newModel
virtual void newModel()=0
Create new suite.
IModel::addCircle
virtual void addCircle(const Point &, const int &)=0
Add circle to suite.
IModel::saveModel
virtual void saveModel()=0
Save current suite.
IModel::draw
virtual void draw(IPainterSptr) const =0
Redraw of suite.
Observable
Here is doing monitoring.
Definition: observable.h:10
IPainterSptr
std::shared_ptr< IPainter > IPainterSptr
Definition: ipainter.h:42
IModel::addLine
virtual void addLine(const Point &, const Point &)=0
Add line to suite.
IModel::removeLast
virtual void removeLast()=0
Removes last shape from suite.
Point
Definition: base_types.h:6
observable.h
IModel
Here is model for keeping primitive objects.
Definition: imodel.h:12