1
我有一個有多個視圖的窗口(它們都是子類NSView
,並且總是隻有一個可見),我在其上繪製路徑。我想每個視圖都有NSUndoManager
,但顯然它們都具有相同的NSUndoManager
,來自NSWindow
。是否可以爲一個NSWindow實現多重NSUndoManager?
這甚至可能嗎?
THX xonic
我有一個有多個視圖的窗口(它們都是子類NSView
,並且總是隻有一個可見),我在其上繪製路徑。我想每個視圖都有NSUndoManager
,但顯然它們都具有相同的NSUndoManager
,來自NSWindow
。是否可以爲一個NSWindow實現多重NSUndoManager?
這甚至可能嗎?
THX xonic
退房的NSWindowDelegate
方法windowWillReturnUndoManager:
。您應該可以使用它來爲當前視圖返回正確的撤消管理器。
感謝您的回覆。從文檔中,我明白我可以建議代理已經請求了撤銷管理器,如果代理沒有實現windowWillReturnUndomanager,那麼將爲該窗口創建一個新的撤銷管理器。不過我不明白這對我有什麼用處。我需要爲我的窗口中的每個視圖使用不同的撤消管理器,而不是一個人。有沒有我沒有得到的東西? – xon1c 2010-07-25 21:20:53
我不認爲撤銷管理器被緩存,所以'windowWillReturnUndoManager:'應該被頻繁調用,讓你有機會返回「當前」撤消管理器。 – Alex 2010-07-25 21:39:29