blob: 3dd8908bbaea6bdea76624b2c3927fa2bd68bf85 [file] [log] [blame]
// Copyright (C) 2012 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.gerrit.client.patches;
import com.google.gerrit.common.data.PatchScript;
import com.google.gerrit.common.data.PatchSetDetail;
import com.google.gerrit.reviewdb.client.Patch;
import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiTemplate;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.SimplePanel;
public class PatchTableHeader extends Composite {
@UiTemplate("PatchTableHeaderSideBySide.ui.xml")
interface SideBySideBinder extends UiBinder<HTMLPanel, PatchTableHeader> {
}
@UiTemplate("PatchTableHeaderUnified.ui.xml")
interface UnifiedBinder extends UiBinder<HTMLPanel, PatchTableHeader> {
}
private static SideBySideBinder uiBinderS = GWT.create(SideBySideBinder.class);
private static UnifiedBinder uiBinderU = GWT.create(UnifiedBinder.class);
@UiField
SimplePanel sideAPanel;
@UiField
SimplePanel sideBPanel;
PatchSetSelectBox listA;
PatchSetSelectBox listB;
public PatchTableHeader(PatchScreen.Type type) {
listA = new PatchSetSelectBox(PatchSetSelectBox.Side.A, type);
listB = new PatchSetSelectBox(PatchSetSelectBox.Side.B, type);
if (type == PatchScreen.Type.SIDE_BY_SIDE) {
initWidget(uiBinderS.createAndBindUi(this));
} else {
initWidget(uiBinderU.createAndBindUi(this));
}
sideAPanel.add(listA);
sideBPanel.add(listB);
}
public void display(final PatchSetDetail detail, PatchScript script, final Patch.Key patchKey,
final PatchSet.Id idSideA, final PatchSet.Id idSideB) {
listA.display(detail, script, patchKey, idSideA, idSideB);
listB.display(detail, script, patchKey, idSideA, idSideB);
}
}