/** Add all the tabs for the ticket. */
  private void setupTabs() {
    TabPanel tabPanel = view.getTabPanel();
    tabPanel.add(serviceItemPresenter.getView().getWidget(), txtConsts.ServiceItem());
    tabPanel.add(locationPresenter.getView().getWidget(), txtConsts.Location());
    tabPanel.add(accessHoursPresenter.getView().getWidget(), txtConsts.AccessHours());
    tabPanel.add(skillsPresenter.getView().getWidget(), txtConsts.Skills());
    tabPanel.add(detailsPresenter.getView().getWidget(), txtConsts.Details());
    tabPanel.add(schedulePresenter.getView().getWidget(), txtConsts.Schedule());
    tabPanel.add(billingPresenter.getView().getWidget(), txtConsts.Billing());
    tabPanel.add(notesPresenter.getView().getWidget(), txtConsts.Notes());

    serviceItemPresenter.reset();
    locationPresenter.reset();
    accessHoursPresenter.reset();
    skillsPresenter.reset();
    detailsPresenter.reset();
    schedulePresenter.reset();
    billingPresenter.reset();
    notesPresenter.reset();
  }
  /**
   * Display the tab where tab number = panel number.
   *
   * @param panelNumber The tab number to display.
   */
  private void showTabPanelContent(int panelNumber) {
    resetAllTabs();

    String strPanelNumber = String.valueOf(panelNumber);

    switch (panelNumber) {
      case 0:
      default:
        Logger.debug("Show Tab Service Item");
        currPresenter = serviceItemPresenter;
        serviceItemPresenter.showServiceItem(ticketNumber);
        break;
      case 1:
        Logger.debug("Show Tab Location");
        currPresenter = locationPresenter;
        locationPresenter.showLocation(ticketNumber);
        break;
      case 2:
        Logger.debug("Show Tab Access Hours");
        currPresenter = accessHoursPresenter;
        accessHoursPresenter.showAccessHours(ticketNumber);
        break;
      case 3:
        Logger.debug("Show Tab Skills");
        currPresenter = skillsPresenter;
        skillsPresenter.showSkillsGrid(ticketNumber, strPanelNumber);
        break;
      case 4:
        Logger.debug("Show Tab Details");
        currPresenter = detailsPresenter;
        detailsPresenter.showDetailsGrid(ticketNumber, strPanelNumber);
        break;
      case 5:
        Logger.debug("Show Tab Schedule");
        currPresenter = schedulePresenter;
        schedulePresenter.showScheduleGrid(ticketNumber, strPanelNumber);
        break;
      case 6:
        Logger.debug("Show Tab Billing");
        currPresenter = billingPresenter;
        billingPresenter.showBillingGrid(ticketNumber, strPanelNumber);
        break;
      case 7:
        Logger.debug("Show Tab Notes");
        currPresenter = notesPresenter;
        notesPresenter.showNotes(ticketNumber, strPanelNumber);
        break;
    }
  }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Setup initial views
    setContentView(R.layout.activity_details);
    ButterKnife.bind(this);
    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    loaderView.setVisibility(View.VISIBLE);

    // After setup, notify presenter
    String storyId = getIntent().getExtras().getString(KEY_STORY_ID);
    presenter = new DetailsPresenter(this, Model.getInstance(), storyId);
    presenter.onCreate();
  }
 @Override
 protected void onPause() {
   super.onPause();
   presenter.onPause();
 }
 @Override
 protected void onResume() {
   super.onResume();
   presenter.onResume();
 }