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

Class Index

killustrator'SplitLineCmd (./koffice/killustrator/share/SplitLineCmd.h:33)

class SplitLineCmd : public Command {
public:
  SplitLineCmd (GDocument* doc, GPolyline* o, int idx);

  ~SplitLineCmd ();

  void execute ();
  void unexecute ();

private:
  GDocument* document;
  GPolyline *obj; 
  GObject *obj1, *obj2;
  unsigned int pos;
  int index;
};

killustrator'SplitLineCmd::SplitLineCmd() (./koffice/killustrator/share/SplitLineCmd.cc:31)

SplitLineCmd::SplitLineCmd (GDocument* doc, GPolyline* o, int idx) 
  : Command(i18n("Split Line"))
{
  document = doc;
  obj = o;
  obj->ref ();
  obj1 = obj2 = 0L;
  index = idx;
  pos = 0;
}


killustrator'SplitLineCmd::~SplitLineCmd() (./koffice/killustrator/share/SplitLineCmd.cc:42)

SplitLineCmd::~SplitLineCmd () {
  obj->unref ();
  if (obj1) obj1->unref ();
  if (obj2) obj2->unref ();
}


killustrator'SplitLineCmd::execute() (./koffice/killustrator/share/SplitLineCmd.cc:48)

void SplitLineCmd::execute () {
  if (obj1) obj1->unref ();
  if (obj2) obj2->unref ();
  obj1 = obj2 = 0L;

  if (obj->splitAt (index, obj1, obj2)) {
    pos = document->findIndexOfObject (obj);
    document->deleteObject (obj);
    document->unselectAllObjects ();
    document->insertObjectAtIndex (obj1, pos);
    document->selectObject (obj1);
    if (obj2) {
      document->insertObjectAtIndex (obj2, pos + 1);
      document->selectObject (obj2);
    }
  }
}


killustrator'SplitLineCmd::unexecute() (./koffice/killustrator/share/SplitLineCmd.cc:66)

void SplitLineCmd::unexecute () {
  if (obj1) document->deleteObject (obj1);
  if (obj2) document->deleteObject (obj2);
  document->insertObjectAtIndex (obj, pos);
  document->selectObject (obj);
}