Summary: | association anchor points not saved | ||
---|---|---|---|
Product: | [Applications] umbrello | Reporter: | Eustáquio Rangel de Oliveira Jr. <eustaquiorangel> |
Component: | general | Assignee: | Umbrello Development Group <umbrello-devel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jr, mirko-lists |
Priority: | HI | ||
Version: | 1.1.1 | ||
Target Milestone: | --- | ||
Platform: | RedHat Enterprise Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Eustáquio Rangel de Oliveira Jr.
2003-02-12 22:36:41 UTC
Umbrello is an excellent and much needed program for KDE. However, while it has this problem I cannot use it. Once it is fixed, it will make sense for me to transfer the design of my artificial chemistry simulator to Umbrello. I'm experiencing this bug too. i just now lost a lot of points I had put into an activity diagram. I really can't use this for my more complex models until this is resolved. Actually, upon further inspection, it appears that umbrello is saving the points correctly, it is just not reading them in. I think I'll delve into the code a bit and see if I can make it work. Just keep looking on the file opening routines, its in there (or rather in this case it isn't). Subject: Re: [Uml-devel] association anchor points not saved On Thursday 17 April 2003 20:07, Robert Lowe wrote: > Actually, upon further inspection, it appears that umbrello is saving the > points correctly, it is just not reading them in. I think I'll delve into > the code a bit and see if I can make it work. > > Just keep looking on the file opening routines, its in there (or rather in > this case it isn't). There is a bugreport about that already, with an explanation of the problem. Sorry, don't have the bugnumber handy and not the time to fix this :-/ Cheers Carsten Pfeiffer -----BEGIN PGP SIGNATURE----- iQEVAwUBPp/3o6WgYMJuwmZtAQHMsAf9FWH2nXvhpRjM29fM/jXx6/sd1K+TLJMT vD0DOt8ppMs1SWeeQxYl4swEv+Y73ZgYoRnymmYrMcmdPtyTbt3HEoz7+hB7IsQB Q4pXnQcQaQD4/5CG5Gte0mowQTAVLXfX5UBPjHzhhQEU3pgQOF59IC+/fspzCunX odHTSKwLHEYp4FDjqQQSC9ItGo72A0vC4cViltkR8MoDXMZ8B/KJFpnwegej91Z7 P9p43eWETJ2As71y903YDpoLZuxMk8N+y+OaRZZ6nNziNP6MsYJBn2ua8WNxoqTp LfSl78EwSaK0cZoTD9jy695bbN87oyv3WQHqSSVa3itsUdFWY7Si8w== =id3Q -----END PGP SIGNATURE----- Also the bug Carsten mentions is 54573. Another bug that is may be a duplicate of this one is 53447. *** Bug 54817 has been marked as a duplicate of this bug. *** *** Bug 53447 has been marked as a duplicate of this bug. *** Anybody already working on this one? If not, I will give it a try. --Oliver Go for it Oliver. First of all, I had to do this: *** /dosc/kdesdk/umbrello/umbrello/linepath.cpp Sat Mar 29 22:44:50 2003 --- ./linepath.cpp Sat May 10 21:20:39 2003 *************** *** 44,49 **** --- 44,51 ---- void LinePath::setAssociation(AssociationWidget * association ) { if( !association ) return; + if (m_pAssociation) + m_LineList.clear(); m_pAssociation = association; cleanup(); createHeadLines(); *************** *** 777,783 **** } void LinePath::cleanup() { - m_LineList.clear(); m_HeadList.clear(); m_RectList.clear(); m_ParallelList.clear(); because the points read in from linePath::loadFromXMI() where being wiped out right afterwards by the LinePath:: setAssociation call from the AssociationWidget::init(). But having applied that diff, I get no more association (that has an anchor point) drawn at all ! I don't understand why. The data would seem to be okay; at least the AssociationWidget's m_pData->m_LinePath has the anchor points. Perhaps it has something to do with the AssociationWidget:: calculateEndingPoints(). I'm not an expert here; your ideas are most welcome. --Oliver I've looked at it and I'm stuck too.
> because the points read in from linePath::loadFromXMI()
> where being wiped out right afterwards by the LinePath::
> setAssociation call from the AssociationWidget::init().
actually that is called on an unused linepath (from an unused
associationwidetdata) the correct associationWidgetData is set in setData(),
which then calls setAssociation and wipes out linePath's points. I've no idea
why not calling m_LineList.clear() causes the association to not be displayed at
all (the widget is still there internally though).
Subject: Yahoo! Auto Response Ol FWIW, my AssociationWidgetData => AssociationWidget merge has not brought any relief. This brings up a debugging related question: Is there a way to inspect what's on the canvas (before tha canvas has been physically drawn) ? --Oliver > Is there a way to inspect what's on the canvas
> (before tha canvas has been physically drawn) ?
I don't think so.
At the time of LinePath::loadFromXMI(), the m_pAssociation does not yet exist. This means that the "new QCanvasLine" created in LinePath::insertPoint has a null parent. I.e. the general order in which things are created is not right. Now, any ideas on the Right Way to fix this? Fixed as per my checkin of yesterday (2003-05-22.) Here's what I did: Added a method activate() to class LinePath that will re-create the lines in m_LineList. At the time of the activate() call, the m_pAssociation does exist, thus the parent of the lines gets set to the canvas properly. --Oliver Yo do man Oliver. Looks fixed to me. |