001 package org.hackystat.projectbrowser.page.trajectory.inputpanel; 002 003 import org.apache.wicket.markup.html.form.Button; 004 import org.apache.wicket.markup.html.form.Form; 005 import org.apache.wicket.markup.html.panel.FeedbackPanel; 006 import org.apache.wicket.markup.html.panel.Panel; 007 import org.hackystat.projectbrowser.ProjectBrowserSession; 008 import org.hackystat.projectbrowser.page.ProjectBrowserBasePage; 009 010 /** 011 * Panel to let user select the project and telemetry to display. 012 * @author Shaoxuan Zhang, Pavel Senin 013 */ 014 public class TrajectoryInputPanel extends Panel { 015 016 /** Support serialization. */ 017 private static final long serialVersionUID = 1L; 018 019 /** 020 * @param id the wicket id. 021 * @param page the page this panel is attached to. 022 */ 023 public TrajectoryInputPanel(String id, ProjectBrowserBasePage page) { 024 super(id); 025 add(new FeedbackPanel("feedback")); 026 add(new TrajectoryInputForm("inputForm", page)); 027 028 Button cancelButton = new Button("cancel") { 029 /** Support serialization. */ 030 public static final long serialVersionUID = 1L; 031 @Override 032 public void onSubmit() { 033 ProjectBrowserSession.get().getTrajectorySession().cancelDataUpdate(); 034 } 035 @Override 036 public boolean isEnabled() { 037 return ProjectBrowserSession.get().getTrajectorySession().getDataModel().isInProcess(); 038 } 039 }; 040 add(new Form("cancelForm").add(cancelButton)); 041 } 042 043 }