2016-09-28 74 views
1

我有一個使用 ,compatibility layer在Eclipse 4.4平臺上運行的Eclipse 3.8 RCP應用程序。 在工具欄中有一個搜索文本,看起來像這樣:Eclipse RCP:Eclipse 4.6中工具欄中搜索文本的高度

toolbar 4.4

但是當我運行基於Eclipse 4.6的應用程序,它看起來像這樣:

toolbar 4.6

搜索文本是通過plugin.xml中的以下擴展點添加:

<extension point="org.eclipse.ui.menus"> 
<menuContribution 
    locationURI="toolbar:org.eclipse.ui.trim.command2"> 
    <toolbar id="search.toolbar"> 
    <control 
     class="app.SearchText" 
     id="app.SearchText"> 
    </control> 
    </toolbar> 
</menuContribution> 
</extension> 

SearchText類看起來是這樣的:

public class SearchText extends WorkbenchWindowControlContribution { 

// ... 

@Override 
protected Control createControl(Composite parent) { 
    parent.setLayout(new FillLayout()); 
    log.trace("create search text control"); 
    Composite composite = new Composite(parent, SWT.NONE); 
    GridLayout layout = new GridLayout(); 
    layout.numColumns = 2; 
    layout.horizontalSpacing = 5; 
    layout.marginHeight = 0; 
    layout.marginWidth = 5; 
    layout.verticalSpacing = 0; 
    composite.setLayout(layout); 
    text = new Text(composite, SWT.BORDER | SWT.SEARCH); 
    // ... 
    return composite; 
} 

// ... 

我打的佈局參數,但沒有成功,我不知道如何 這可能是固定的。感謝您的幫助!

回答

1

我報了一個bug前一陣子:main toolbar control contributions is cut off

這裏是一個解決辦法:

類應該擴展ControlContribution,而不是WorkbenchWindowControlContribution

YourApplicationNameActionBarAdvisor.fillCoolBar()(更換YourApplicationName)地址:toolbar.add(new SearchText());



這裏報告的bug的打印屏幕,必須是同一個問題。

測試與Eclipse露娜(4.4.2) Test with Eclipse Luna (4.4.2)

測試與Eclipse火星(4.5.0) Test with Eclipse Mars (4.5.0)

+0

非常感謝答案。我確認這是有效的。但是,我希望在工具欄的右側有搜索文本。有沒有辦法如何與你的解決方法做到這一點?再次感謝。 – Michael

+0

看了一下,但沒有找到解決方案,可能搜索網絡。 –

+0

@Michael你是否想要添加到工具欄的右側?如果你現在有類似的情況,請告訴我。 –