blob: 0ec6adf9d761bbef87894a58f5cbd9fd522f6f55 [file] [log] [blame]
/*
* Copyright 2010 Google Inc.
*
* 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.gwt.sample.expenses.client;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.sample.expenses.client.style.Styles;
import com.google.gwt.sample.expenses.shared.ExpenseProxy;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.TextBox;
/**
* The popup used to enter the rejection reason.
*/
class DenialPopup extends PopupPanel {
private final Button cancelButton = new Button("Cancel",
new ClickHandler() {
public void onClick(ClickEvent event) {
reasonDenied = "";
hide();
}
});
private final Button confirmButton = new Button("Confirm",
new ClickHandler() {
public void onClick(ClickEvent event) {
reasonDenied = reasonBox.getText();
hide();
}
});
private ExpenseProxy expenseRecord;
private final TextBox reasonBox = new TextBox();
private String reasonDenied;
public DenialPopup() {
super(false, true);
setStyleName(Styles.common().popupPanel());
setGlassEnabled(true);
confirmButton.setWidth("11ex");
cancelButton.setWidth("11ex");
reasonBox.getElement().getStyle().setMarginLeft(10.0, Unit.PX);
reasonBox.getElement().getStyle().setMarginRight(10.0, Unit.PX);
HorizontalPanel hPanel = new HorizontalPanel();
hPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
hPanel.add(new HTML("<b>Reason:</b>"));
hPanel.add(reasonBox);
hPanel.add(confirmButton);
hPanel.add(cancelButton);
setWidget(hPanel);
cancelButton.getElement().getParentElement().getStyle().setPaddingLeft(
5.0, Unit.PX);
}
public ExpenseProxy getExpenseRecord() {
return expenseRecord;
}
public String getReasonDenied() {
return reasonDenied;
}
public void popup() {
center();
reasonBox.setFocus(true);
}
public void setExpenseRecord(ExpenseProxy expenseRecord) {
this.expenseRecord = expenseRecord;
}
public void setReasonDenied(String reasonDenied) {
this.reasonDenied = reasonDenied;
reasonBox.setText(reasonDenied);
}
}