2010-07-25 48 views
1

我有一個有多個視圖的窗口(它們都是子類NSView,並且總是隻有一個可見),我在其上繪製路徑。我想每個視圖都有NSUndoManager,但顯然它們都具有相同的NSUndoManager,來自NSWindow是否可以爲一個NSWindow實現多重NSUndoManager?

這甚至可能嗎?

THX xonic

回答

1

退房的NSWindowDelegate方法windowWillReturnUndoManager:。您應該可以使用它來爲當前視圖返回正確的撤消管理器。

+0

感謝您的回覆。從文檔中,我明白我可以建議代理已經請求了撤銷管理器,如果代理沒有實現windowWillReturnUndomanager,那麼將爲該窗口創建一個新的撤銷管理器。不過我不明白這對我有什麼用處。我需要爲我的窗口中的每個視圖使用不同的撤消管理器,而不是一個人。有沒有我沒有得到的東西? – xon1c 2010-07-25 21:20:53

+0

我不認爲撤銷管理器被緩存,所以'windowWillReturnUndoManager:'應該被頻繁調用,讓你有機會返回「當前」撤消管理器。 – Alex 2010-07-25 21:39:29

相關問題