On Wed, Mar 24, 2010 at 2:02 PM, Enlightenment SVN <no-re...@enlightenment.org> wrote: > Log: > undo for del part by key and cut > Author: tiago > Date: 2010-03-24 10:02:27 -0700 (Wed, 24 Mar 2010) > New Revision: 47431 > > Modified: > trunk/editje/editje/editje.py > > Modified: trunk/editje/editje/editje.py > =================================================================== > --- trunk/editje/editje/editje.py 2010-03-24 16:51:51 UTC (rev 47430) > +++ trunk/editje/editje/editje.py 2010-03-24 17:02:27 UTC (rev 47431) > @@ -91,8 +91,28 @@ > > if key == "Delete": > if self.e.part.name: > - self.e.part_del(self.e.part.name) > + def part_add(part_data): > + source = part_data["source"] > + if source is None: > + source = '' > > + if self.e.part_add(part_data.name, part_data.type, > source=source): > + part = self.e._edje.part_get(part_data.name) > + part_data.apply_to(part) > + # FIXME: remove event emitions for others > + self.e.event_emit("part.added", part_data.name) > + > + def part_del(part_data): > + self.e.part_del(part_data.name) > + > + part_data = objects_data.Part(self.e.part._part) > + > + op = Operation("part cut")
it's part delete, no? also, these kind of operations should be defined elsewhere and reused. There are other means to delete the part, they all should call the same method, that will create the same operation. > + op.undo_callback_add(part_add, part_data) > + op.redo_callback_add(part_del, part_data) > + part_del(part_data) > + self._operation_stack(op) > + > def _destroy_cb(self, obj): > self.e.close() > > @@ -404,9 +424,28 @@ > if not self.e.part.name: > return > > + def part_add(part_data): > + source = part_data["source"] > + if source is None: > + source = '' > + > + if self.e.part_add(part_data.name, part_data.type, > source=source): > + part = self.e._edje.part_get(part_data.name) > + part_data.apply_to(part) > + # FIXME: remove event emitions for others > + self.e.event_emit("part.added", part_data.name) > + > + def part_del(part_data): > + self.e.part_del(part_data.name) > + > self._clipboard = objects_data.Part(self.e.part._part) > - self.e.part_del(self.e.part.name) > > + op = Operation("part cut") > + op.undo_callback_add(part_add, self._clipboard) > + op.redo_callback_add(part_del, self._clipboard) > + part_del(self._clipboard) > + self._operation_stack(op) > + > def _copy_cb(self, obj, emission, source): > if not self.e.part.name: > return > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > enlightenment-svn mailing list > enlightenment-...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel