昨天在Bolg中貼出來一個(gè)很不錯(cuò)的RCP項(xiàng)目
http://jlibrary.sourceforge.net/。
今天已經(jīng)開始研讀他的代碼了~,由于第一次解除RCP項(xiàng)目,難免總是一頭霧水,碰到了不少問題。在此記錄下來,希望有高手挺身而出幫忙解決,也再次記錄疑問,以備后輩享用.
1.如何使用Maven2如果完成對(duì)EclipseRCP項(xiàng)目的管理?
2.此項(xiàng)目在JLibraryActionBarAdvisor中使用自己封裝的ActionFactory來產(chǎn)生Action,而ActionFactory產(chǎn)生的Action只是RetargetAction,而RetargetAction對(duì)應(yīng)的Action僅僅只有一個(gè)簡(jiǎn)單的ID。此時(shí)在ActionBar上面顯示的Action僅僅是顯示而是不能用的。到了View中再產(chǎn)生真實(shí)的可以用的Action,而這個(gè)真實(shí)的Action并沒有包括任何ID信息。疑問就是RetargetAction與真實(shí)的Action是如何聯(lián)系起來的?
此問題已經(jīng)解決,他們的意圖是在JLibraryActionBarAdvisor首先使用RetargetAction對(duì)Toolbar上的Action進(jìn)行注冊(cè),此時(shí)這些RetargetAction都還有對(duì)應(yīng)的真實(shí)Action。當(dāng)用戶切換視圖到對(duì)應(yīng)的透視圖,并且選擇了某個(gè)Veiw時(shí),View中的代碼開始真正的注冊(cè)真是的Acion,注冊(cè)完成真是的Action以后再使用
1
actionBars.setGlobalActionHandler(ActionFactory.IMPORT_ID, fImport);
方法將虛擬的RetargetAction與真實(shí)的Action進(jìn)行關(guān)聯(lián)。
這樣做的好處,我認(rèn)為是先使用RetargetAction進(jìn)行了占位,顯示不能用,然后根據(jù)不同的選擇Site,在判斷這個(gè)Action是否可用。
3.整個(gè)系統(tǒng)的權(quán)限是如何控制的?
客戶虐我千百遍,我待客戶如初戀!