2013-06-30 4 views
1

내 응용 프로그램에서 상황에 맞는 메뉴를 호출하고 싶습니다.swtboot에서 컨텍스트 메뉴를 호출하는 방법

트리에 항목이 없다는 문제가 있습니다.

내보기를 활성화 한 다음 컨텍스트 메뉴를 열고 싶습니다.

SWTBotView view = bot.viewByTitle("Project Explorer"); 

view.bot.tree().contextMenu("New").click(); 

는 내가 트리의 모든 항목없이 contextMeny을 열 수있는 방법이 나에게 조언을 주 시겠어요 오류 메시지

있어?

답변

0

직접적인 방법이 없습니다. 컨텍스트 메뉴를 여는 지름길이 있다고 가정합니다.

bot.activeShell().pressShortcut(<your shortcut>); 

bot.waitUntil(new ContextMenuAppears(tree, 
       "New")); 
tree.contextMenu("New").click(); 

여기서 ContextMenuAppears는 원하는 컨텍스트 메뉴가 표시되기를 기다리는 ICondition입니다.

public class ContextMenuAppears implements ICondition { 

private SWTBotTree swtBotTree; 
private String mMenuText; 
public TekstContextMenuAppears(SWTBotTree pSwtBotTree, String menuText) { 
    swtBotTree = pSwtBotTree; 
    mMenuText = menuText; 
} 

@Override 
public boolean test() throws Exception { 
    try {   
     return swtBotTree.contextMenu(mMenuText).isVisible(); 
    } catch (WidgetNotFoundException e) { 
     return false; 
    } 

} 

@Override 
public void init(SWTBot bot) { 
    // TODO Auto-generated method stub 

} 

@Override 
public String getFailureMessage() { 
    // TODO Auto-generated method stub 
    return null; 
} 

} 
0

당신이 달성하고자하는 것에 따라 상황 별 메뉴 대신 파일 메뉴를 사용해보십시오. "새로운"그런 식으로 일해야합니다.

+0

상황 별 메뉴에서 수행해야합니다. – user2444677

관련 문제