File: UmlNode.cpp

package info (click to toggle)
bouml 4.21-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 73,336 kB
  • ctags: 55,459
  • sloc: cpp: 290,644; makefile: 228; sh: 13
file content (50 lines) | stat: -rw-r--r-- 1,038 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

#include "UmlNode.h"
#include "File.h"
#include "UmlDeploymentView.h"

#include "UmlCom.h"
void UmlNode::import(File & f, UmlDeploymentView * p, const QCString & ste)
{
  QCString s;

  if (f.read(s) != STRING)
    f.syntaxError(s, " deployment node's name expected");

  QCString s2;
  QCString id;
  QCString dummy_ste;
  QCString doc;
  QDict<QCString> prop;
  int k;
  
  do {
    k = f.readDefinitionBeginning(s2, id, dummy_ste, doc, prop);
  } while (id.isEmpty());
    
  UmlNode * x;
  
  if (scanning) {
    if ((x = UmlBaseNode::create(p, s)) == 0) {
      UmlCom::trace("<br>cannot create deployment node '" + s + "' in " +
		    p->fullName());
      throw 0;
    }
    newItem(x, id);
    
    if (!doc.isEmpty())
      x->set_Description(doc);
    
    x->setProperties(prop);
    x->set_Stereotype(ste);
  }
  else if ((x = (UmlNode *) findItem(id, aNode)) == 0) {
    UmlCom::trace("<br>unknown deployment node '" + s + "' in " +
                  p->fullName());
    throw 0;
  }

  f.unread(k, s2);
  f.skipBlock();
}