## class CRDiagram : public ERDiagram

> class-relationship diagram class.

## Inheritance:

### Public Methods

  | CRDiagram (Config *, CRWindow *, CRViewer*, CRGraph *)
  virtual | ~CRDiagram ()
  Node* | CreateNode ()
  Edge* | CreateEdge (Subject *n1, Subject *n2)
  NodeShape* | CreateNodeShape (Node *node, int x, int y)
  Line* | CreateLine (Edge *edge, GShape *fromShape, GShape *toShape, List<Point *> *line)
  void | UpdateNodeType (int n)
  void | UpdateEdgeType (int n)
  bool | SetText (TextShape *t, const string *s)
  void | CheckDocument ()
  bool | SetAttribute (ClassNode *obj, const string *s, unsigned nr) Set Attribute in obj at position nr.
  bool | SetOperation (ClassNode *obj, const string *s, unsigned nr) Set Operation in obj at position nr.

### Protected Methods

  void | MakeErrorMessage (ClassNode *obj, ClassNode::TextErrType result, const string *s, string *msg) Give error after failing to update attribute or operation.
  bool | CheckTaxonomyCombination (Edge *edge) Checks if combining TaxonomyJunction and ModeJunction is correct.
  Thing* | CreateThing (int classNr)
  CRChecks* | GetCRChecks ()

### Inherited from ERDiagram:

### Protected Methods

bool CheckIsaLoop(Edge *edge)
bool CheckEdgeConstraints(Subject *n1, Subject *n2)

### Inherited from Diagram:

### Public Fields

static Sequence sequence

### Public Methods

void Initialize()
Graph* GetGraph() const
AssocList* GetAssocList() const
void SetCurve(bool set)
bool IsCurve() const
bool CheckConnection(Subject *n1, Subject *n2)
virtual void AddSubject(Subject *s)
void AddSubjects(List<Subject *> *s)
virtual void RemoveSubject(Subject *s)
void RemoveSubjects(List<Subject *> *s)
void CompleteSubjects(List<Subject *> *subjects)
void CompleteEdges(List<Subject *> *subjects)
void CompleteSubject(List<Subject *> *edges, Subject *subject)
void RemoveAll()
void AnnotateSubject(Subject *s)
void SetSubjectAnnotation(string *s)
bool RedirectEdge(Line *line, bool first, const Point *pt)
void Move(MoveType)
void SelectSubject(Subject *s)
void SelectSubjects(List<Subject *> *s)
void FindAll(const string *s, bool send, bool substring, bool nameOnly)
void FindNext(const string *s, bool send, bool substring, bool nameOnly)
void ReplaceAll(const string *s1, const string *s2, bool send, bool substring, bool nameOnly)
void ReplaceNext(const string *s1, const string *s2, bool send, bool substring, bool nameOnly)
virtual bool HasIndexNode(int)
virtual bool HasIndexShape(int)
void Reindex()
void SetNextIndex(Node *n)

### Protected Methods

DiagramViewer* GetDiagramViewer() const
int GetNodeType() const
void SetNodeType(int n)
int GetEdgeType() const
void SetEdgeType(int n)
int GetNodeShapeType() const
void SetNodeShapeType(int n)
void SetLineType(int n)
int GetLineType() const
LineStyle::Type GetNodeLineStyle()
LineStyle::Type GetEdgeLineStyle()
void SetNodeLineStyle(LineStyle::Type n)
void SetEdgeLineStyle(LineStyle::Type e)
LineEnd::Type GetLineEnd1()
LineEnd::Type GetLineEnd2()
void SetLineEnd1(LineEnd::Type t)
void SetLineEnd2(LineEnd::Type t)
bool SetSubjectName(Subject *subject, const string *s)
bool SetIndex(Node *n, const string *index)
virtual void PlaceShapes()
void LoadEntries()
void SaveEntries()
void UpdateNameStrings(Subject *subject)

### Inherited from Document:

### Public Classes

enum MoveType

### Public Methods

void New()
virtual void Load()
virtual void Append()
void Save()
void SaveAs()
void SaveSelectionAs()
void Quit()
void ShowDocInfo()
void ShowSource()
void SaveSource()
virtual void ShowSummary()
virtual void ModelCheckDocument()
void Annotate()
void LoadSave(const string *file)
virtual void DoLoad(const string *file)
void DoSaveAs(const string *file)
void DoSaveSelectionAs(const string *file)
double GetLoadFormat() const
void NewFile(const string *file)
bool NewName(const string *newname)
void SetName(const string *newname)
const string* GetName() const
const string* GetDocType() const
const string* GetSuffix() const
const string* GetToolName() const
const string* GetAuthor() const
const string* GetCreationTime() const
bool IsDefault()
void NewDir(const string *newdir)
void SetDir(const string *newdir)
const string* GetDir() const
void SetFSDir()
void IncChanges()
void DecChanges()
int GetChanges() const
virtual void SetInlineEdit(bool)
bool IsModified() const
void SetModified(bool set)
bool IsLoaded() const
bool MayWrite(const string *path)
void SetStatus(const char *msg)
void SetStatus(const string *msg)
void SetAnnotation(const string *s)
virtual void Find()
virtual void Replace()
void UpdateWindow()
EditWindow* GetMainWindow() const
Config* GetConfig() const
Viewer* GetViewer() const
InputFile* GetInputFile() const
OutputFile* GetOutputFile() const
TextEditDialog* GetSourceEditDialog() const
TextEditDialog* GetDocAnnotationDialog() const
TextEditDialog* GetEltAnnotationDialog() const
FileSelectionDialog* GetFileSelectionDialog() const
FindDialog* GetFindDialog() const
ReplaceDialog* GetReplaceDialog() const

### Protected Fields

string chkbuf

### Protected Methods

bool IsAppending() const
bool IsSaveSelection() const
virtual void UpdateDirectory(const string *s)
void ShowDialog(MessageDialog::DialogType, const char *title, const char *text)
void ShowDialog(MessageDialog::DialogType, const char *title, const string *text)
void ReportCheck(int errors, const string *msg)
bool Save(const string *file)

## Documentation

> class-relationship diagram class.

`CRDiagram(Config *, CRWindow *, CRViewer*, CRGraph *)`

`virtual ~CRDiagram()`

`Node* CreateNode()`

`Edge* CreateEdge(Subject *n1, Subject *n2)`

`NodeShape* CreateNodeShape(Node *node, int x, int y)`

`Line* CreateLine(Edge *edge, GShape *fromShape, GShape *toShape, List<Point *> *line)`

`void UpdateNodeType(int n)`

`void UpdateEdgeType(int n)`

`bool SetText(TextShape *t, const string *s)`

`void CheckDocument()`

`bool SetAttribute(ClassNode *obj, const string *s, unsigned nr)`
  Set Attribute in obj at position nr.

`bool SetOperation(ClassNode *obj, const string *s, unsigned nr)`
  Set Operation in obj at position nr.

`void MakeErrorMessage(ClassNode *obj, ClassNode::TextErrType result, const string *s, string *msg)`
  Give error after failing to update attribute or operation.

`bool CheckTaxonomyCombination(Edge *edge)`
  Checks if combining TaxonomyJunction and ModeJunction is correct.

`Thing* CreateThing(int classNr)`

`CRChecks* GetCRChecks()`

This class has no child classes.

alphabetic index hierarchy of classes

this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de