## class NodeShape : public GShape

> (abstract) graphical node shape class, superclass of box, ellipse etc.

## Inheritance:

### Public Methods

  | NodeShape (ShapeView *v, Grafport *g, int x, int y, int w=MIN_WIDTH, int h=MIN_HEIGHT)
  | NodeShape (const NodeShape &c)
  virtual | ~NodeShape ()
  void | UpdateIndexLabel (const string *s) update string of label.
  void | SetIndexLabel (const string *s)
  void | DrawDuplicate () draw duplicate asterisk.
  void | DrawMultiplicity () draw multiplicity number.
  FillStyle::Type | GetFillStyle () const
  void | SetFillStyle (FillStyle::Type f)
  void | UpdateFillStyle (FillStyle::Type f)
  const string* | GetFillColor () const
  void | SetFillColor (const string *c)
  void | UpdateFillColor (const string *c)
  void | SetPosition (const Point *p, bool snap=True) adjusts also the label to a new place
  void | SetSize (int w, int h) adjusts also the label to a new place
  void | SetGrafport (Grafport *g)
  void | SetView (ShapeView *v)
  void | SetFont (XFont *ft)
  void | SetTextColor (const string *color)
  bool | InTextArea (int x, int y) Returns if (x,y) is in text-area.
  int | HitHandles (int, int)
  TextShape* | ChooseTextShape (int x, int y)
  void | AdjustSize () update size to make it fit the text shapes.
  bool | SetAssocSubject (AssocList *al)
  void | WriteMembers (OutputFile *ofile) write it to file.
  bool | ReadMembers (InputFile *ifile, double format) read and parse it from file.
  void | SetTextShape ()
  TextShape* | GetIndexLabel () const
  bool | IsFixedIndexLabel ()
  void | SetFixedIndexLabel (bool b)
  void | SetResizable (bool b)
  bool | IsResizable ()
  void | ForceSize (int w, int ht)
  bool | HasTextShape (TextShape *t) const
  bool | HasString (const string *s, bool sens, bool sub) const
  bool | HasString (const string*, bool, bool, List<TextShape *> *)

### Protected Methods

  void | DrawTextShapes () draw name + index text shape.
  virtual void | CalcPositionIndexLabel ()

### Inherited from GShape:

### Public Methods

void Draw()
void Undraw()
virtual void DrawShape()
virtual void UndrawShape()
virtual void UndrawTextShapes()
virtual void UpdateNameString(const string *s)
void SetNameString(const string *s)
const string* GetNameString()
TextShape* GetName() const
virtual void SetSelect(bool s)
unsigned GetLineWidth() const
void SetLineWidth(unsigned n)
void UpdateLineWidth(unsigned n)
LineStyle::Type GetLineStyle() const
void SetLineStyle(LineStyle::Type x)
void UpdateLineStyle(LineStyle::Type x)
const string* GetTextColor() const
void UpdateTextColor(const string *c)
virtual TextShape* HitTextShape(int x, int y)
virtual int GetLeftMost() const
virtual int GetTopMost() const
virtual int GetRightMost() const
virtual int GetBottomMost() const
bool IsFixedName()
void SetFixedName(bool b)
virtual void UpdateFont(XFont *ft)
virtual void UpdateAlignment(TextAlign::Type alignment)
virtual void NotifyTextMove(TextShape *)
XFont* GetFont() const
TextAlign::Type GetAlignment() const
bool HasNameString(const string *s, bool c1, bool c2) const
bool CheckReferences()

### Protected Methods

void WriteGraphicsPart(OutputFile *ofile)
bool ReadGraphicsPart(InputFile *ifile, double format)
void WriteTextPart(OutputFile *ofile)
bool ReadTextPart(InputFile *ifile, double format)
void SetDrawAttributes()
virtual void SetAlignment(TextAlign::Type a)
void SnapPosition()
void SnapTopleft()

### Inherited from Shape:

### Public Fields

static const int MIN_HEIGHT
static const int MIN_WIDTH
static const int HANDLE_WIDTH

### Public Methods

bool IsShape() const
virtual bool IsTextShape() const
virtual Shape* Clone()
virtual void UpdatePosition(const Point *position, bool snap=True)
virtual void UpdateSize(int w, int h)
virtual void UpdateMove(const Point *delta)
virtual void UpdateSelect(bool s)
virtual void UpdateFirstSelect(bool s)
virtual void UpdateColor(string *color)
virtual void SetFirstSelect(bool s)
bool IsFirstSelected() const
void SetVisible(bool s)
void SetSubject(Subject *s)
Subject* GetSubject() const
ShapeView* GetView() const
void SetColor(const string *c)
const string* GetColor() const
virtual void Move(const Point *delta)
virtual void DrawOutLine(const Point *center)
virtual Point GiveSnp(Point) const
virtual Point GiveSnp(Point, int, int, int &)
virtual Point GiveOrthoSnp(Point to) const
void SetHandles(int n)
virtual bool ContainsPt(int x, int y)
const Point* GetPosition() const
const Point* GetTopLeft() const
bool IsSelected() const
bool IsVisible() const
bool IsDuplicate() const
int GetWidth() const
int GetHeight() const
void UndrawDuplicate()
void SetDuplicate(bool b)
void UpdateDuplicate(bool b)
virtual bool IsLine() const
bool SetAssocView(AssocList *)
virtual void MoveRaw(const Point *delta)

### Protected Fields

static const int MIN_HANDLES

### Protected Methods

Grafport* GetGrafport() const
void SetOutlineAttributes()
void SetWidth(int w)
void SetHeight(int h)
void SetNrHandles(int n)
DiagramViewer* GetViewer() const
void PositiveCoord(const Point*)
virtual void DrawSelect()
virtual void DrawGraySelect()
virtual void UndrawSelect()
virtual void UndrawGraySelect()
void SetTopLeft(const Point *topLeft)
virtual void SetPositionHandles()
void ForcePosition(const Point *position)

### Inherited from Thing:

### Public Classes

enum AssocType

### Public Methods

unsigned long GetId()
void SetId(unsigned long val)
virtual bool IsSubject() const
virtual bool IsView() const
virtual int GetClassType() const
void Write(OutputFile *ofile)
virtual bool SetReferences(AssocList *)

## Documentation

> (abstract) graphical node shape class, superclass of box, ellipse etc.

`NodeShape(ShapeView *v, Grafport *g, int x, int y, int w=MIN_WIDTH, int h=MIN_HEIGHT)`

`NodeShape(const NodeShape &c)`

`virtual ~NodeShape()`

`void UpdateIndexLabel(const string *s)`
  update string of label.

`void SetIndexLabel(const string *s)`

`void DrawDuplicate()`
  draw duplicate asterisk.

`void DrawMultiplicity()`
  draw multiplicity number.

`FillStyle::Type GetFillStyle() const`

`void SetFillStyle(FillStyle::Type f)`

`void UpdateFillStyle(FillStyle::Type f)`

`const string* GetFillColor() const`

`void SetFillColor(const string *c)`

`void UpdateFillColor(const string *c)`

`void SetPosition(const Point *p, bool snap=True)`
  adjusts also the label to a new place

`void SetSize(int w, int h)`
  adjusts also the label to a new place

`void SetGrafport(Grafport *g)`

`void SetView(ShapeView *v)`

`void SetFont(XFont *ft)`

`void SetTextColor(const string *color)`

`bool InTextArea(int x, int y)`
  Returns if (x,y) is in text-area.

`int HitHandles(int, int)`

`TextShape* ChooseTextShape(int x, int y)`

`void AdjustSize()`
  update size to make it fit the text shapes.

`bool SetAssocSubject(AssocList *al)`

`void WriteMembers(OutputFile *ofile)`
  write it to file.

`bool ReadMembers(InputFile *ifile, double format)`
  read and parse it from file.

`void SetTextShape()`

`TextShape* GetIndexLabel() const`

`bool IsFixedIndexLabel()`

`void SetFixedIndexLabel(bool b)`

`void SetResizable(bool b)`

`bool IsResizable()`

`void ForceSize(int w, int ht)`

`bool HasTextShape(TextShape *t) const`

`bool HasString(const string *s, bool sens, bool sub) const`

`bool HasString(const string*, bool, bool, List<TextShape *> *)`

`void DrawTextShapes()`
  draw name + index text shape.

`virtual void CalcPositionIndexLabel()`

Direct child classes:
  Triangle
  StickMan
  Hexagon
  Ellipse
  Disk
  Diamond
  BuildingBlock
  Box

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