Git リポジトリ ページにフィルターを追加し、クラスを変更しましたRepositoryView
。必要に応じてこのコードをオンラインで見つけることができるように、これについて言及しました。私の質問は、より一般的なアライメントの問題です。
この新しいフィルターを追加した後、これは、この変更後のロード時にgitリポジトリビューがどのように見えるかです
ビューを最大化すると、このようになります。ここでアライメントがうまくいきません。フィルターツールバーが中央に来ます。
その後、最小化すると、フィルター ツールバーがビューから消えます。
コードが変更されました
public void createPartControl(Composite aParent) {
Composite displayArea = new Composite(aParent, SWT.NONE);
displayArea.setLayout(new GridLayout());
displayArea.setLayoutData(new GridData(SWT.FILL,6));
final Composite temp = new Composite(displayArea, SWT.FILL);//XXX
layout = new StackLayout();
temp.setLayout(layout);
createEmptyArea(temp);
super.createPartControl(temp);
IWorkbenchWindow w = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow();
ICommandService csrv = (ICommandService) w
.getService(ICommandService.class);
Command command = csrv
.getCommand("org.eclipse.egit.ui.RepositoriesLinkWithSelection"); //$NON-NLS-1$
reactOnSelection = (Boolean) command.getState(
RegistryToggleState.STATE_ID).getValue();
GridDataFactory.fillDefaults().grab(true, true).applyTo(temp);//XXX
// GridDataFactory.fillDefaults().grab(true, true).applyTo(displayArea);//XXX
filterToolbar = new FilterToolbar(this, displayArea);
IWorkbenchSiteProgressService service = (IWorkbenchSiteProgressService) getSite()
.getService(IWorkbenchSiteProgressService.class);
if (service != null) {
service.showBusyForFamily(JobFamilies.REPO_VIEW_REFRESH);
service.showBusyForFamily(JobFamilies.CLONE);
}
}