File: UmlClassView.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 (43 lines) | stat: -rw-r--r-- 903 bytes parent folder | download
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

#include "UmlClassView.h"

#include "UmlDeploymentView.h"
#include "UmlCom.h"
void UmlClassView::deploy() {
  // deployment needed ?
  
  const QVector<UmlItem> ch = children();
  unsigned i;
  bool need = FALSE;
    
  for (i = 0; i != ch.size(); i += 1) {
    if (ch[i]->deployable() != 0){
      need = TRUE;
      break;
    }
  }
  
  if (! need)
    return;
  
  UmlDeploymentView * depl = associatedDeploymentView();
  
  if (depl == 0) {
    // create the associated deployment view
    UmlCom::trace("Create <i>deployment view</i> " + name());
    
    if ((depl = UmlDeploymentView::create((UmlPackage*) parent(), name())) == 0) {
      UmlCom::trace("cannot create <i>deployment view</i> named " + name());
      return;
    }
    else
      set_AssociatedDeploymentView(depl);
  }
  
  // look at non deployed classes
  
  for (i = 0; i != ch.size(); i += 1)
    ch[i]->deploy(depl);
  
}