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    }