Re: [Pythoncad-developer] Undo functionality
CAD Application entire developed in Python
Status: Beta
Brought to you by:
matteoboscolo
From: Matteo B. <mat...@bo...> - 2010-02-07 08:33:12
|
You are right Yagnesh, Even if we think of a pdm integration ... or erp .. this will help us too mutch. we can provide 3 additional column at the entity table: date*revision*state date : could have null or a date if null we can delete the entity if date have a value we can not delete (it's versionade) revision: a number that indicate the revision could be a str field in case the user use letter insted of nuber for revision starte: Indicate the state of the entity released/undo_mark/... all we whant in case the date field is not null the state is released what do you think ? Regards Matteo On Sun, 2010-02-07 at 08:04 +0530, Yagnesh Desai wrote: > Gertwin; > > I like the Idea. I think providing the facility of how drawing looked > on a particular date is helpful, if we are able to tag that > particular state of drawing as Major "Revision" then it would > be very helpful. > > All engineers use drawings as Rev 0, Rev 1, Rev 2 etc. All > the intermediate states are not that important. > > That is I can roll back to older "sensible" version and not > the draft version of it. > > - - - - - - > Best regards > Yagnesh Desai > Save a tree...please don't print this e-mail. > > > On Sat, Feb 6, 2010 at 11:51 PM, <ger...@gm...> wrote: > > Hi All, > > > > I was thinking about implementing undo functionality in combination with the > > database. > > I am not aware how this is solved in the current version but with a database > > we can make the undo recording persistent (you can undo changes from a > > previous drawing session). > > > > The idea is not to modify entities in the database but mark the old entity > > state as deleted and insert a new record for the modified entity state. > > Then there are two records in the database, one is the previous state and > > one is the the current state of the entity. > > Of course the entities that are marked as deleted (previous state) are not > > drawn. > > > > When the user does undo the current state is marked as deleted and the > > previous state is marked as not deleted. > > A redo does this marking in the opposite direction. > > > > If we add a column "state" and a column "undo_mark" to our entity table we > > can achieve this. > > The column "state" holds the delete (or not) state. > > The column "undo_mark" holds the value of the undo id. > > Because the user can modify many entities at once all those entities get the > > same "undo_mark". > > > > This way the history of the drawing is kept in the database and the user can > > undo and redo actions from previous sessions. > > If we also add a time stamp we even can provide functionality that will show > > how the drawing looked at a certain date. > > > > I think this functionality can have some use and is something other CAD > > programs does not always provide. > > Undo and redo are simple database queries that are easy to implement. > > We must keep the display list in sync with the state of the database but I > > think this also it not difficult. > > > > We also need a function that compresses the drawing by removing the history. > > > > If it needs clarification, let me know I will try to explain. > > > > Do you think it is useful? > > > > Regards, > > Gertwin > > ------------------------------------------------------------------------------ > > The Planet: dedicated and managed hosting, cloud storage, colocation > > Stay online with enterprise data centers and the best network in the > > business > > Choose flexible plans and management services without long-term contracts > > Personal 24x7 support from experience hosting pros just a phone call away. > > http://p.sf.net/sfu/theplanet-com > > _______________________________________________ > > Pythoncad-developer mailing list > > Pyt...@li... > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > ------------------------------------------------------------------------------ > The Planet: dedicated and managed hosting, cloud storage, colocation > Stay online with enterprise data centers and the best network in the business > Choose flexible plans and management services without long-term contracts > Personal 24x7 support from experience hosting pros just a phone call away. > http://p.sf.net/sfu/theplanet-com > _______________________________________________ > Pythoncad-developer mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > |