2012-03-16 33 views
2

有人可以解釋Draw2d中邊界和約束之間的差異/關係嗎?Eclipse GEF/Draw2d:邊界與約束

我試圖設置一個GEF編輯器,其中相同EditPart類的實例相互嵌套(如果需要,我可以發佈代碼的簡化版本,但我的問題實際上只是概念上的)。每個數字有XYLayout,我在refreshVisuals中設置每個數字的邊界和約束(Rectangle s)。

現在我的界限和約束對於每個圖都是一樣的。那是對的嗎?由於我使用的是XYLayout,因此相對於父項的邊界座標是Figure?如何約束?

回答

1

如果母公司的isCoordinateSystem()返回true--這種情況幾乎不存在,那麼子圖的邊界僅與父圖相對。所以在實踐中邊界是絕對座標。

您在XYLayout中作爲約束提供的矩形預計包含相對於父的座標,然後佈局將以適當的方式轉換這些相對座標。如果例如父鏈中沒有圖形具有局部座標系,則所得到的邊界將是絕對座標。

+0

所以在'refreshVisuals'中我應該只設置約束並讓'XYLayout'管理邊界?在我看到的幾個例子中,約束被設置,但不是邊界。 – user1155252 2012-03-16 13:38:12

+1

佈局管理器的要點是讓它根據您提供的設置和限制來管理其子項的邊界。所以你的問題的答案是:是的。 – p12t 2012-03-16 15:08:50

+0

非常感謝您的幫助! – user1155252 2012-03-16 15:27:11