class UmlBaseItem
!!!46208.cpp!!!	set_Name(in s : string) : bool
  return set_it_(_name, s, setNameCmd);
!!!46208.java!!!	set_Name(in s : string) : bool
  UmlCom.send_cmd(identifier_(), OnInstanceCmd.setNameCmd, s);
  UmlCom.check();
  
  if (_defined) _name = s;

!!!46336.cpp!!!	stereotype() : string
  read_if_needed_();
  
  return _stereotype;
!!!46336.java!!!	stereotype() : string
  read_if_needed_();
  
  return _stereotype;
!!!46464.cpp!!!	set_Stereotype(in s : string) : bool
  return set_it_(_stereotype, s, setStereotypeCmd);
!!!46464.java!!!	set_Stereotype(in s : string) : bool
  UmlCom.send_cmd(identifier_(), OnInstanceCmd.setStereotypeCmd, s);
  UmlCom.check();
  
  if (_defined) _stereotype = s;

!!!46592.cpp!!!	description() : string
  read_if_needed_();
  
  return _description;
!!!46592.java!!!	description() : string
  read_if_needed_();
  
  return _description;
!!!46720.cpp!!!	set_Description(in s : string) : bool
  return set_it_(_description, s, setDescriptionCmd);
!!!46720.java!!!	set_Description(in s : string) : bool
  UmlCom.send_cmd(identifier_(), OnInstanceCmd.setDescriptionCmd, s);
  UmlCom.check();
  
  if (_defined) _description = s;

!!!46848.cpp!!!	parent() : UmlItem
  if (_parent == 0) {
    UmlCom::send_cmd(_identifier, parentCmd);
    
    _parent = UmlBaseItem::read_();
  }
  
  return _parent;
!!!46848.java!!!	parent() : UmlItem
  if (_parent == null) {
    UmlCom.send_cmd(identifier_(), OnInstanceCmd.parentCmd);
    
    _parent = UmlBaseItem.read_();
  }
  
  return _parent;
!!!46976.cpp!!!	children() : UmlItem
  if (_children == 0)
    read_children_();
  
  return *_children;
!!!46976.java!!!	children() : UmlItem
  if (_children == null)
    read_children_();
  
  return (UmlItem[]) _children.clone();
!!!47104.cpp!!!	childrenVisible() : bool
  UmlCom::send_cmd(_identifier, isOpenCmd);
  return UmlCom::read_bool();
!!!47104.java!!!	childrenVisible() : bool
  UmlCom.send_cmd(identifier_(), OnInstanceCmd.isOpenCmd);
  return UmlCom.read_bool();
!!!47232.cpp!!!	set_childrenVisible(in y : bool) : bool
  UmlCom::send_cmd(_identifier, setOpenCmd, (char) y);
  return UmlCom::read_bool();
!!!47232.java!!!	set_childrenVisible(in y : bool) : bool
  UmlCom.send_cmd(_identifier, OnInstanceCmd.setOpenCmd, (y) ? (byte) 1 : (byte) 0);
  UmlCom.check();
!!!47360.cpp!!!	propertyValue(in k : string, inout v : string) : string
  read_if_needed_();
  
  QCString * s = _dict[k];
  
  if (s == 0)
    return FALSE;
  
  v = *s;
  return TRUE;

!!!47360.java!!!	propertyValue(in k : string, inout v : string) : string
  read_if_needed_();
  
  if (_dict == null)
    return null;
  
  return (String) _dict.get(k);
!!!47488.cpp!!!	set_PropertyValue(in k : string, in v : string) : bool
  read_if_needed_();
  
  UmlCom::send_cmd(_identifier, setCoupleValueCmd, k, v);
  if (UmlCom::read_bool()) {
    if (_defined) {
      QCString * s = _dict[k];
      
      if (s == 0)
	_dict.insert(k, new QCString(v));
      else
	*s = v;
    }
    
    return TRUE;
  }
  else
    return FALSE;
!!!47488.java!!!	set_PropertyValue(in k : string, in v : string) : bool
  read_if_needed_();
  
  UmlCom.send_cmd(identifier_(), OnInstanceCmd.setCoupleValueCmd, k, v);
  UmlCom.check();
  
  if (_dict == null)
    _dict = new Hashtable();
    
  _dict.put(k, v);

!!!47616.cpp!!!	properties() : string
  read_if_needed_();

  return _dict;
!!!47616.java!!!	properties() : string
  read_if_needed_();

  return (_dict == null)
    ? new Hashtable()
    : (Hashtable) _dict.clone();
!!!72960.cpp!!!	supportFile() : string
  UmlCom::send_cmd(_identifier, supportFileCmd); 
  return UmlCom::read_string();
!!!72960.java!!!	supportFile() : string
  UmlCom.send_cmd(identifier_(), OnInstanceCmd.supportFileCmd); 
  return UmlCom.read_string();
!!!47744.cpp!!!	isWritable() : bool
  UmlCom::send_cmd(_identifier, isWritableCmd); 
  return UmlCom::read_bool();
!!!47744.java!!!	isWritable() : bool
  UmlCom.send_cmd(identifier_(), OnInstanceCmd.isWritableCmd); 
  return UmlCom.read_bool();
!!!73216.cpp!!!	apply(in cmd : string) : int
  UmlCom::send_cmd(_identifier, applyCmd, cmd); 
  return (int) UmlCom::read_unsigned();
!!!73216.java!!!	apply(in cmd : string) : int
  UmlCom.send_cmd(identifier_(), OnInstanceCmd.applyCmd, cmd); 
  return UmlCom.read_unsigned();
!!!47872.cpp!!!	unload(in rec : bool, in del : bool) : void
  _defined = FALSE;
  _stereotype = 0;
  _dict.clear();
  _description = 0;

  if (_children != 0) {
    if (rec) {
      for (unsigned chindex = 0; chindex != _children->size(); chindex += 1) {
	_children->at(chindex)->unload(TRUE, del);
	if (del)
	  delete _children->at(chindex);
      }
    }
    
    delete _children;
    _children = 0;
  }
!!!47872.java!!!	unload(in rec : bool, in del : bool) : void
  _defined = false;
  _stereotype = null;
  _dict = null;
  _description = null;

  if (_children != null) {
    if (rec)
      for (int chindex = 0; chindex != _children.length; chindex += 1) {
	_children[chindex].unload(true, del);
	if (del)
	  _all.remove(new Long(_children[chindex].identifier_()));
    }

    _children = null;
  }
!!!73344.cpp!!!	isToolRunning(in id : int) : bool
  UmlCom::send_cmd(miscGlobalCmd, toolRunningCmd, id);
  return UmlCom::read_bool();
!!!73344.java!!!	isToolRunning(in id : int) : bool
  UmlCom.send_cmd(CmdFamily.miscGlobalCmd, MiscGlobalCmd._toolRunningCmd);
  return UmlCom.read_bool();
!!!48000.cpp!!!	read_if_needed_() : void
  if (!_defined) {
#ifdef WITHCPP
# ifdef WITHJAVA
#  ifdef WITHIDL
    UmlCom::send_cmd(_identifier, getDefCmd);
    read_uml_();
    read_cpp_();
    read_java_();
    read_idl_();
#  else
    ... WITHIDL must be defined when WITHCPP and WITHJAVA are both defined
#  endif
# else
#  ifdef WITHIDL
    ... WITHJAVA must be defined when WITHCPP and WITHIDL are both defined
#  else
    UmlCom::send_cmd(_identifier, getCppDefCmd);
    read_uml_();
    read_cpp_();
#  endif
# endif
#else
# ifdef WITHJAVA
#  ifdef WITHIDL
    ... WITHCPP must be defined when WITHIDL and WITHJAVA are both defined
#  else
    UmlCom::send_cmd(_identifier, getJavaDefCmd);
    read_uml_();
    read_java_();
#  endif
# else
#  ifdef WITHIDL
    UmlCom::send_cmd(_identifier, getIdlDefCmd);
    read_uml_();
    read_idl_();
#  else
    UmlCom::send_cmd(_identifier, getUmlDefCmd);
    read_uml_();
#  endif
# endif
#endif
    
    _defined = TRUE;
  }
!!!48000.java!!!	read_if_needed_() : void
  if (!_defined) {
    UmlCom.send_cmd(identifier_(), OnInstanceCmd.getDefCmd);
    read_uml_();
    read_cpp_();
    read_java_();
    read_idl_();
    
    _defined = true;
  }
!!!48128.cpp!!!	create_(in k : anItemKind, in s : str) : UmlItem
  UmlCom::send_cmd(_identifier, createCmd, k, s);

  UmlItem * result = UmlBaseItem::read_();
  
  if (result != 0) {
    if (_children != 0) {
      unsigned n = _children->count();
      
      _children->resize(n + 1);
      _children->insert(n, result);
    }
    ((UmlBaseItem *) result)->_parent = (UmlItem *) this;
  }
  
  return result;
!!!48128.java!!!	create_(in k : anItemKind, in s : str) : UmlItem
  UmlCom.send_cmd(identifier_(), OnInstanceCmd.createCmd, k, s);

  UmlItem result = UmlBaseItem.read_();
  
  if (result != null) {
    if (_children != null) {
      int n = _children.length;
      UmlItem[] ch = new UmlItem[n + 1];
      int index;

      for (index = 0; index != n; index += 1)
	ch[index] = _children[index];
      
      ch[index] = result;
      _children = ch;
    }
    ((UmlBaseItem) result)._parent = (UmlItem) this;
  }
  
  return result;
!!!48256.cpp!!!	read_uml_() : void
  _stereotype = UmlCom::read_string();

  unsigned n = UmlCom::read_unsigned();
  
  while (n--) {
    QCString k = UmlCom::read_string();
    
    _dict.insert(k, new QCString(UmlCom::read_string()));
  }
  
  _description = UmlCom::read_string();
!!!48256.java!!!	read_uml_() : void
  _stereotype = UmlCom.read_string();

  int n = UmlCom.read_unsigned();
  
  if (n != 0) {
    _dict = new Hashtable(n);
    
    do {
      String k = UmlCom.read_string();
      
      _dict.put(k, UmlCom.read_string());
    } while (--n != 0);
  }
  else
    _dict = null;
  
  _description = UmlCom.read_string();
!!!48768.cpp!!!	read_children_() : void
  UmlCom::send_cmd(_identifier, childrenCmd);
  _children = new QVector<UmlItem>;
  
  UmlCom::read_item_list(*_children);
  
  unsigned n = _children->size();
  
  while (n--)
    ((UmlBaseItem *) _children->at(n))->_parent = (UmlItem *) this;
!!!48768.java!!!	read_children_() : void
  UmlCom.send_cmd(identifier_(), OnInstanceCmd.childrenCmd);
  _children = UmlCom.read_item_list();
  
  int n = _children.length;
  
  while (n-- != 0)
    ((UmlBaseItem) _children[n])._parent = (UmlItem) this;
!!!48896.cpp!!!	reread_children_if_needed_() : void
  if (_children != 0) {
    delete _children;
    read_children_();
  }
!!!48896.java!!!	reread_children_if_needed_() : void
  if (_children != null)
    read_children_();
!!!49024.cpp!!!	set_it_(inout r : bool, in v : bool, in cmd : OnInstanceCmd) : bool
  UmlCom::send_cmd(_identifier, cmd, (char) v);
  if (UmlCom::read_bool()) {
    r = v;
    return TRUE;
  }
  else
    return FALSE;
!!!49024.java!!!	set_it_(inout r : bool, in v : bool, in cmd : OnInstanceCmd) : bool
  UmlCom.send_cmd(_identifier, cmd, (char) v);
  if (UmlCom.read_bool()) {
    r = v;
    return true;
  }
  else
    return false;
!!!49152.cpp!!!	set_it_(inout r : aVisibility, in v : aVisibility, in cmd : OnInstanceCmd) : bool
  UmlCom::send_cmd(_identifier, cmd, (char) v);
  if (UmlCom::read_bool()) {
    r = v;
    return TRUE;
  }
  else
    return FALSE;
!!!49152.java!!!	set_it_(inout r : aVisibility, in v : aVisibility, in cmd : OnInstanceCmd) : bool
  UmlCom.send_cmd(_identifier, cmd, (char) v);
  if (UmlCom.read_bool()) {
    r = v;
    return true;
  }
  else
    return false;
!!!49280.cpp!!!	set_it_(inout r : aDirection, in v : aDirection, in cmd : OnInstanceCmd) : bool
  UmlCom::send_cmd(_identifier, cmd, (char) v);
  if (UmlCom::read_bool()) {
    r = v;
    return TRUE;
  }
  else
    return FALSE;
!!!49280.java!!!	set_it_(inout r : aDirection, in v : aDirection, in cmd : OnInstanceCmd) : bool
  UmlCom.send_cmd(_identifier, cmd, (char) v);
  if (UmlCom.read_bool()) {
    r = v;
    return true;
  }
  else
    return false;
!!!49408.cpp!!!	set_it_(inout r : string, in v : str, in cmd : OnInstanceCmd) : bool
  UmlCom::send_cmd(_identifier, cmd, v);
  if (UmlCom::read_bool()) {
    if (_defined) r = v;
    return TRUE;
  }
  else
    return FALSE;
!!!49408.java!!!	set_it_(inout r : string, in v : str, in cmd : OnInstanceCmd) : bool
  UmlCom.send_cmd(_identifier, cmd, v);
  if (UmlCom.read_bool()) {
    if (_defined) r = v;
    return true;
  }
  else
    return false;
!!!49536.cpp!!!	set_it_(inout r : UmlTypeSpec, in t : UmlTypeSpec, in cmd : OnInstanceCmd) : bool
  UmlCom::send_cmd(_identifier, cmd, t);
  if (UmlCom::read_bool()) {
    if (_defined) r = t;
    return TRUE;
  }
 else
   return FALSE;
!!!49536.java!!!	set_it_(inout r : UmlTypeSpec, in t : UmlTypeSpec, in cmd : OnInstanceCmd) : bool
  UmlCom.send_cmd(_identifier, cmd, t);
  if (UmlCom.read_bool()) {
    if (_defined) r = t;
    return true;
  }
 else
   return false;
!!!49664.cpp!!!	read_() : UmlItem
  void * id = UmlCom::read_id();
  
  if (id == 0)
    return 0;
  
  anItemKind kind = (anItemKind) UmlCom::read_char();
  const char * name = UmlCom::read_string();
  
#ifndef WIN32
  //cout << "UmlBaseItem::read id " << id << " kind " << kind << " name " << name << '\n';
#endif
  
  UmlItem * result = _all[id];
  
  if (result == 0) {
    switch (kind) {
    case aRelation:
      result = new UmlRelation(id, name);
      break;
    case anAttribute:
      result = new UmlAttribute(id, name);
      break;
    case anOperation:
      result = new UmlOperation(id, name);
      break;
    case anExtraClassMember:
      result = new UmlExtraClassMember(id, name);
      break;
    case aClass:
      result = new UmlClass(id, name);
      break;
    case anUseCase:
      result = new UmlUseCase(id, name);
      break;
    case aComponent:
      result = new UmlComponent(id, name);
      break;
    case anArtifact:
      result = new UmlArtifact(id, name);
      break;
    case aNode:
      result = new UmlNode(id, name);
      break;
    case aNcRelation:
      result = new UmlNcRelation(id, name);
      break;
    case aClassDiagram:
      result = new UmlClassDiagram(id, name);
      break;
    case anUseCaseDiagram:
      result = new UmlUseCaseDiagram(id, name);
      break;
    case aSequenceDiagram:
      result = new UmlSequenceDiagram(id, name);
      break;
    case aCollaborationDiagram:
      result = new UmlCollaborationDiagram(id, name);
      break;
    case aComponentDiagram:
      result = new UmlComponentDiagram(id, name);
      break;
    case aDeploymentDiagram:
      result = new UmlDeploymentDiagram(id, name);
      break;
    case aClassView:
      result = new UmlClassView(id, name);
      break;
    case anUseCaseView:
      result = new UmlUseCaseView(id, name);
      break;
    case aComponentView:
      result = new UmlComponentView(id, name);
      break;
    case aDeploymentView:
      result = new UmlDeploymentView(id, name);
      break;
    case aPackage:
      result = new UmlPackage(id, name);
      break;
    default:
      UmlCom::bye();
      UmlCom::fatal_error(QCString("unknown item type ") + QCString().setNum(kind));
    }
  }
  
  return result;
!!!49664.java!!!	read_() : UmlItem
  long id = UmlCom.read_id();
  
  if (id == 0)
    return null;
  
  int kind = (int) UmlCom.read_char();
  String name = UmlCom.read_string();
  
  UmlItem result = (UmlItem) _all.get(new Long(id));
  
  if (result == null) {
    switch (kind) {
    case anItemKind._aRelation:
      return new UmlRelation(id, name);
    case anItemKind._anAttribute:
      return new UmlAttribute(id, name);
    case anItemKind._anOperation:
      return new UmlOperation(id, name);
    case anItemKind._anExtraClassMember:
      return new UmlExtraClassMember(id, name);
    case anItemKind._aClass:
      return new UmlClass(id, name);
    case anItemKind._anUseCase:
      return new UmlUseCase(id, name);
    case anItemKind._aComponent:
      return new UmlComponent(id, name);
    case anItemKind._anArtifact:
      return new UmlArtifact(id, name);
    case anItemKind._aNode:
      return new UmlNode(id, name);
    case anItemKind._aNcRelation:
      return new UmlNcRelation(id, name);
    case anItemKind._aClassDiagram:
      return new UmlClassDiagram(id, name);
    case anItemKind._anUseCaseDiagram:
      return new UmlUseCaseDiagram(id, name);
    case anItemKind._aSequenceDiagram:
      return new UmlSequenceDiagram(id, name);
    case anItemKind._aCollaborationDiagram:
      return new UmlCollaborationDiagram(id, name);
    case anItemKind._aComponentDiagram:
      return new UmlComponentDiagram(id, name);
    case anItemKind._aDeploymentDiagram:
      return new UmlDeploymentDiagram(id, name);
    case anItemKind._aClassView:
      return new UmlClassView(id, name);
    case anItemKind._anUseCaseView:
      return new UmlUseCaseView(id, name);
    case anItemKind._aComponentView:
      return new UmlComponentView(id, name);
    case anItemKind._aDeploymentView:
      return new UmlDeploymentView(id, name);
    case anItemKind._aPackage:
      return new UmlPackage(id, name);
    default:
      UmlCom.bye();
      UmlCom.fatal_error(new String("unknown item type ") + String.valueOf(kind));
    }
  }

  return result;
!!!49792.cpp!!!	UmlBaseItem(in id : item_id, in n : string)
  _all.insert(id, (UmlItem *) this);
  if (_all.count()/_all.size() > 10)
    _all.resize(_all.size() * 2 - 1);
!!!49792.java!!!	UmlBaseItem(in id : item_id, in n : string)
  _defined = false;
  _identifier = id;
  _name = n;
  
  _all.put(new Long(id), this);

!!!49920.cpp!!!	~UmlBaseItem()
  if (_children != 0)
    delete _children;
  _all.remove(_identifier);
!!!49920.java!!!	~UmlBaseItem()
  if (_children != 0)
    delete _children;
  _all.remove(_identifier);
