## class ShapeView : public Thing

> Class containing a single view (set of shapes).

## Inheritance:

### Public Methods

  | ShapeView (DiagramViewer *v)
  virtual | ~ShapeView ()
  int | GetClassType () const
  bool | IsView () const
  void | Draw () draw all shapes in the view.
  void | Undraw () erase all shapes in the view.
  void | SetGrafport (Grafport *g) set grafport of all shapes.
  Node* | GetParent () const each view has a parent node.
  void | SetParent (Node *n)
  const string* | GetIndex () const each view has a unique index.
  void | SetIndex (string *s)
  unsigned | NrOfShapes () const the number of shapes.
  List <GShape *> * | GetShapes () const
  List <GShape *> * | GetSelection () const
  bool | HasShape (GShape *s)
  void | Snap (Point *p) Snap point to discrete point-position.
  int | Snap (int i) Snap int to discrete point-position.
  DiagramViewer* | GetViewer () const
  void | WriteShapes (OutputFile *f) write all shapes to file (in separate clauses).
  bool | ReadMembers (InputFile *f, double format) read view section.
  bool | SetReferences (AssocList *) update references when view is read.
  bool | CheckReferences () Check parent node, Check that shapes have right view reference.
  void | CheckShapes () find all shapes with wrong references;
  unsigned | NrSelected () const the number of selected shapes.
  GShape* | FirstSelected () const return the first selected shape.
  void | DeselectAll () deselect all shapes in the view.
  virtual void | SelectShape (GShape *shape) add shape to selection.
  virtual void | FirstSelectShape (GShape *shape) add shape to selection as primus inter pares.
  void | DeselectShape (GShape *shape) remove shape to selection.
  GShape* | HitShape (int x, int y) return shape from view if (x,y) is in shape.
  NodeShape* | HitNodeShape (int x, int y) return node from view if (x,y) is in shape.
  Line* | HitLine (int x, int y, int &whichsegment) return line from view if (x,y) is in line. segment is set to which segment.
  Line* | HitLineHandle (int x, int y, int &which) return line from view if (x,y) hits handle.
  TextShape* | HitTextShape (int x, int y, bool emptyallowed=True) return text-shape from view if (x,y) is in shape.
  int | GetCurrentShapeNr () const
  void | SetCurrentShapeNr (int i)
  void | SetCurrentShapeNr (GShape *s)
  GShape* | GetNextShape (const string *s, bool sens, bool substring, bool nameOnly) return the next shape containing s as name.
  void | GetShapes (List<GShape *> *shapes, const string *s, bool sens, bool substring, bool nameOnly) get shapes containing s as name (case sensitive, substring).
  void | CalcSizeElements (Point &topLeft, Point &bottomRight)
  void | CalcSizeSelection (Point &topLeft, Point &bottomRight)
  void | CalcSizeShapes (List<GShape *> *shapes, Point &topLeft, Point &bottomRight) calculate covered area of shapes in grafport.
  void | AddShapeRaw (GShape *shape) add to viewer and draw/redraw shape.
  virtual void | AddShape (GShape *shape) add to viewer and draw/redraw shape and recalc. line positions.
  void | AddShapes (List<GShape *> *shapes)
  void | RemoveShapeRaw (GShape *shape) remove from viewer and erase shape.
  virtual void | RemoveShape (GShape *shape) remove from viewer, and erase drawing and recalc line positions.
  void | RemoveShapes (List<GShape *> *shapes)
  GShape* | GetShape (Subject *subject) return first shape from shapes having given subject.
  void | GetShapes (Subject *subject, List<GShape *> *shapes) put in shapes all shapes from shapes having given subject.
  void | MultipleLinesPosUpdate (Line *line) update the positions of the lines connecting same shapes as line.
  void | MultipleLines (Line *line) update multiple lines between two nodes (called when line added).
  void | CompleteShapes (List<GShape *> *s, GShape *n1, GShape *n2) add to s all lines that connect shapes n1 and n2.
  void | CompleteLines (List<GShape *> *shapes) add shapes which are connected by the lines in shapes.
  void | CompleteShapes (List<GShape *> *shapes) add lines to shapes which connect the shapes in shapes.
  void | DrawNames () draw only names in view.
  void | ShowAll () make all shapes in view visible.

### Inherited from Thing:

### Public Classes

enum AssocType

### Public Methods

unsigned long GetId()
void SetId(unsigned long val)
virtual bool IsSubject() const
virtual bool IsShape() const
void Write(OutputFile *ofile)

## Documentation

> Class containing a single view (set of shapes).

`ShapeView(DiagramViewer *v)`

`virtual ~ShapeView()`

`int GetClassType() const`

`bool IsView() const`

`void Draw()`
  draw all shapes in the view.

`void Undraw()`
  erase all shapes in the view.

`void SetGrafport(Grafport *g)`
  set grafport of all shapes.

`Node* GetParent() const`
  each view has a parent node.

`void SetParent(Node *n)`

`const string* GetIndex() const`
  each view has a unique index.

`void SetIndex(string *s)`

`unsigned NrOfShapes() const`
  the number of shapes.

`List <GShape *> * GetShapes() const`

`List <GShape *> * GetSelection() const`

`bool HasShape(GShape *s)`

`void Snap(Point *p)`
  Snap point to discrete point-position.

`int Snap(int i)`
  Snap int to discrete point-position.

`DiagramViewer* GetViewer() const`

`void WriteShapes(OutputFile *f)`
  write all shapes to file (in separate clauses).

`bool ReadMembers(InputFile *f, double format)`
  read view section.

`bool SetReferences(AssocList *)`
  update references when view is read.

`bool CheckReferences()`
  Check parent node, Check that shapes have right view reference.

`void CheckShapes()`
  find all shapes with wrong references;

`unsigned NrSelected() const`
  the number of selected shapes.

`GShape* FirstSelected() const`
  return the first selected shape.

`void DeselectAll()`
  deselect all shapes in the view.

`virtual void SelectShape(GShape *shape)`
  add shape to selection.

`virtual void FirstSelectShape(GShape *shape)`
  add shape to selection as primus inter pares.

`void DeselectShape(GShape *shape)`
  remove shape to selection.

`GShape* HitShape(int x, int y)`
  return shape from view if (x,y) is in shape.

`NodeShape* HitNodeShape(int x, int y)`
  return node from view if (x,y) is in shape.

`Line* HitLine(int x, int y, int &whichsegment)`
  return line from view if (x,y) is in line. segment is set to which segment.

`Line* HitLineHandle(int x, int y, int &which)`
  return line from view if (x,y) hits handle.

`TextShape* HitTextShape(int x, int y, bool emptyallowed=True)`
  return text-shape from view if (x,y) is in shape.

`int GetCurrentShapeNr() const`

`void SetCurrentShapeNr(int i)`

`void SetCurrentShapeNr(GShape *s)`

`GShape* GetNextShape(const string *s, bool sens, bool substring, bool nameOnly)`
  return the next shape containing s as name.

`void GetShapes(List<GShape *> *shapes, const string *s, bool sens, bool substring, bool nameOnly)`
  get shapes containing s as name (case sensitive, substring).

`void CalcSizeElements(Point &topLeft, Point &bottomRight)`

`void CalcSizeSelection(Point &topLeft, Point &bottomRight)`

`void CalcSizeShapes(List<GShape *> *shapes, Point &topLeft, Point &bottomRight)`
  calculate covered area of shapes in grafport.

`void AddShapeRaw(GShape *shape)`
  add to viewer and draw/redraw shape.

`virtual void AddShape(GShape *shape)`
  add to viewer and draw/redraw shape and recalc. line positions.

`void AddShapes(List<GShape *> *shapes)`

`void RemoveShapeRaw(GShape *shape)`
  remove from viewer and erase shape.

`virtual void RemoveShape(GShape *shape)`
  remove from viewer, and erase drawing and recalc line positions.

`void RemoveShapes(List<GShape *> *shapes)`

`GShape* GetShape(Subject *subject)`
  return first shape from shapes having given subject.

`void GetShapes(Subject *subject, List<GShape *> *shapes)`
  put in shapes all shapes from shapes having given subject.

`void MultipleLinesPosUpdate(Line *line)`
  update the positions of the lines connecting same shapes as line.

`void MultipleLines(Line *line)`
  update multiple lines between two nodes (called when line added).

`void CompleteShapes(List<GShape *> *s, GShape *n1, GShape *n2)`
  add to s all lines that connect shapes n1 and n2.

`void CompleteLines(List<GShape *> *shapes)`
  add shapes which are connected by the lines in shapes.

`void CompleteShapes(List<GShape *> *shapes)`
  add lines to shapes which connect the shapes in shapes.

`void DrawNames()`
  draw only names in view.

`void ShowAll()`
  make all shapes in view visible.

Direct child classes:
  TRView
  ERView

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