2014-01-22 65 views
0

我有一個qx.ui.tabview.TabView的標準實例,其中一些頁面啓用了它們的關閉按鈕。我想攔截點擊關閉按鈕以顯示確認對話框,但我無法弄清楚如何使用qooxdoo方式。如何正確攔截從tabview頁面點擊關閉按鈕?

作爲解決方法,我發現我可以覆蓋tabview._onPageClose()但由於我不是繼承TabView,這似乎是一個黑客。

有人可以給我一個提示嗎?

回答

0

子類化是要走的路,因爲在沒有子類化的情況下重寫該方法就像你已經說過的那樣是一種破解。

0

我沒有嘗試它,但你也可以附加一個事件處理程序到標籤頁的關閉事件,並嘗試取消在冒泡階段的傳播,而不是顯示你的確認。然後,在確認對話框中確定後,只需以編程方式關閉選項卡。

此外,tabview頁面公開其子控件,並且TabButton公開其子控件 - 其中的關閉按鈕。您可以嘗試直接向該按鈕添加偵聽器,在該按鈕中取消傳播(Event.stop()),並顯示您的確認。