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);
}
|