// This may look like C code, but it's really -*- C++ -*-
/*
 * Copyright (C) 2008 Emweb bvba, Kessel-Lo, Belgium.
 *
 * See the LICENSE file for terms of use.
 */
#ifndef EXT_PAGING_TOOLBAR_H_
#define EXT_PAGING_TOOLBAR_H_

#include <Wt/Ext/ToolBar>
#include <sstream>

namespace Wt {
  namespace Ext {

/*! \class PagingToolBar Wt/Ext/PagingToolBar Wt/Ext/PagingToolBar
 *  \brief A tool bar that provides paging controls for supporting large
 *         data sets in a table view.
 *
 * \sa TableView::createPagingToolBar()
 * \sa Panel::setTopToolBar(), Panel::setBottomToolBar()
 *
 * \ingroup ext
 */
class WT_EXT_API PagingToolBar : public ToolBar
{
protected:
  virtual void jsAfterPanelRendered(std::stringstream& js);

private:
  std::string  storeRef_;
  TableView   *tableView_;

  PagingToolBar(const std::string& storeRef, TableView *tableView);

  virtual std::string createJS(DomElement *inContainer);

  friend class TableView;
};

  }
}

#endif // EXT_PAGING_TOOLBAR_H_
