add new states by the doc interface
This commit is contained in:
@@ -1188,6 +1188,20 @@ StateMachine* Document::new_state_machine(const ID& _id, const String& sm_name,
|
|||||||
return sm;
|
return sm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
State* Document::new_state(ElementCollection* _parent, const String& state_name, const Rect& r, const Color& _color)
|
||||||
|
{
|
||||||
|
State* state = new State(_parent, generate_vertex_id(_parent), state_name, r, _color);
|
||||||
|
_parent->add_element(state);
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
State* Document::new_state(ElementCollection* _parent, const ID& state_id, const String& state_name, const Rect& r, const Color& _color)
|
||||||
|
{
|
||||||
|
State* state = new State(_parent, state_id, state_name, r, _color);
|
||||||
|
_parent->add_element(state);
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
void Document::check_cyberiada_error(int res, const String& msg) const
|
void Document::check_cyberiada_error(int res, const String& msg) const
|
||||||
{
|
{
|
||||||
switch (res) {
|
switch (res) {
|
||||||
|
|||||||
@@ -537,9 +537,13 @@ namespace Cyberiada {
|
|||||||
Document();
|
Document();
|
||||||
|
|
||||||
void reset();
|
void reset();
|
||||||
StateMachine* new_state_machine(const String& sm_nam, const Rect& r = Rect());
|
StateMachine* new_state_machine(const String& sm_name, const Rect& r = Rect());
|
||||||
StateMachine* new_state_machine(const ID& id, const String& sm_name, const Rect& r = Rect());
|
StateMachine* new_state_machine(const ID& id, const String& sm_name, const Rect& r = Rect());
|
||||||
|
State* new_state(ElementCollection* parent, const String& state_name,
|
||||||
|
const Rect& r = Rect(), const Color& color = Color());
|
||||||
|
State* new_state(ElementCollection* parent, const ID& id, const String& state_name,
|
||||||
|
const Rect& r = Rect(), const Color& color = Color());
|
||||||
|
|
||||||
void load(const String& path, DocumentFormat f = formatDetect);
|
void load(const String& path, DocumentFormat f = formatDetect);
|
||||||
void save(const String& path, DocumentFormat f = formatCyberiada10) const;
|
void save(const String& path, DocumentFormat f = formatCyberiada10) const;
|
||||||
|
|
||||||
@@ -557,7 +561,7 @@ namespace Cyberiada {
|
|||||||
void check_cyberiada_error(int res, const String& msg = "") const;
|
void check_cyberiada_error(int res, const String& msg = "") const;
|
||||||
void update_metainfo_element();
|
void update_metainfo_element();
|
||||||
ID generate_sm_id() const;
|
ID generate_sm_id() const;
|
||||||
ID generate_vertex_id(const Element* element) const;
|
ID generate_vertex_id(const Element* parent) const;
|
||||||
ID generate_transition_id(const String& source_id, const String& target_id) const;
|
ID generate_transition_id(const String& source_id, const String& target_id) const;
|
||||||
void import_nodes_recursively(ElementCollection* collection, CyberiadaNode* nodes);
|
void import_nodes_recursively(ElementCollection* collection, CyberiadaNode* nodes);
|
||||||
void import_edges(ElementCollection* collection, CyberiadaEdge* edges);
|
void import_edges(ElementCollection* collection, CyberiadaEdge* edges);
|
||||||
|
|||||||
Reference in New Issue
Block a user