public void addComponent(OVComponent c) {
		// ObjectManager.addComponent(c);
		if (c.getFather() instanceof OVComponent
				&& !hasComponent((OVComponent) c.getFather())) {
			addComponent((OVComponent) c.getFather());
		}
		if (model_ == null) {
			init(c);
			components_.add(c);
			return;
		}
		String name = c.getSetting(ComponentSettings.Name).getValue()
				.getString();
		name = name.replace(' ', '_');
		if (!isAvaiable(name)) {
			name = removePrefix(name);
			name = checkName(c.getSetting(ComponentSettings.Name), name, 1);
		}
		c.getSetting(ComponentSettings.Name).setValue(name);
		c.getSetting(ComponentSettings.Name).addListener(this);
		components_.add(c);
		model_.createNode(c);
		select(c);
	}