Source Code (Use browser search to find items of interest.)

Class Index

killustrator'DeleteCmd (./koffice/killustrator/share/DeleteCmd.h:35)

class DeleteCmd : public Command {
public:
  DeleteCmd (GDocument* doc);
  ~DeleteCmd ();

  void execute ();
  void unexecute ();

private:
  GDocument* document;
  std::list<std::pair<int, GObject*> > objects;
  
};

killustrator'DeleteCmd::DeleteCmd() (./koffice/killustrator/share/DeleteCmd.cc:34)

DeleteCmd::DeleteCmd (GDocument* doc) : Command(i18n("Delete")) {
  document = doc;
  for (list<GObject*>::iterator it = doc->getSelection ().begin ();
       it != doc->getSelection ().end (); it++) {
    GObject *o = *it;
    o->ref ();
    // store the old position of the object
    int pos = doc->findIndexOfObject (o);
    objects.push_back (pair<int, GObject*> (pos, o));
  }
}


killustrator'DeleteCmd::~DeleteCmd() (./koffice/killustrator/share/DeleteCmd.cc:46)

DeleteCmd::~DeleteCmd () {
  list<pair<int, GObject*> >::iterator i;

  for (i = objects.begin (); i != objects.end (); i++)
    i->second->unref ();
}


killustrator'DeleteCmd::execute() (./koffice/killustrator/share/DeleteCmd.cc:53)

void DeleteCmd::execute () {
  list<pair<int, GObject*> >::iterator i;

  document->setAutoUpdate (false);
  for (i = objects.begin (); i != objects.end (); i++)
    document->deleteObject (i->second);
  document->setAutoUpdate (true);
}


killustrator'DeleteCmd::unexecute() (./koffice/killustrator/share/DeleteCmd.cc:62)

void DeleteCmd::unexecute () {
  list<pair<int, GObject*> >::iterator i;
  document->setAutoUpdate (false);
  document->unselectAllObjects ();
  for (i = objects.begin (); i != objects.end (); i++) {
    // insert the object at the old position
    int pos = i->first;
    GObject* obj = i->second;
    obj->ref ();
    document->insertObjectAtIndex (obj, pos);
    document->selectObject (obj);
  }
  document->setAutoUpdate (true);
}