예제 #1
0
void ObjectListModel::
objectTypeChanged()
{
  WoolzObject * object = qobject_cast<WoolzObject*>(sender());
  if(!object)
  {
    return;
  }

  int row = 0;
  emit removedObjectSignal(object); 	// object has to be emited before
  					// removed from lists
  for(int store = 0 ; store < 3; ++store)
  {
    row = objects.indexOf(object);
    if(row >= 0)
    {
      removeObjectFromStore(object);
    }
  }
  
  //remove connections which addObject will recreate
  disconnect(object, SIGNAL(objectPropertyChanged()),
             this, SLOT(objectChanged()));
  disconnect(object, SIGNAL(objectTypeChanged()),
             this, SLOT(objectTypeChanged()));

  addObject(object);
}
/*!
  Sets the \a objectType.
  */
void CcfQmlBaseSoldier::setObjectType(const QString &objectType)
{
    bool wasChaged = false;
    if (objectType != mObjectType)
        wasChaged = true;

    mObjectType = objectType;

    if (wasChaged)
        emit objectTypeChanged();
}