#ifndef PAGEDIALOG_H
#define PAGEDIALOG_H
#include <QDialog>
#include <QDialogButtonBox>
#include <QGridLayout>
#include "ipeqtcanvas.h"
#include <vector>
using namespace ipe;
using namespace ipeqt;
class PageDialog : public QDialog
{
Q_OBJECT
public:
typedef std::pair<int,int> PageViewPair;
public:
PageDialog(Document* d, const std::vector<PageViewPair>& v);
bool isOk() { return ok; }
int page() { return pageChoice; }
int view() { return viewChoice; }
void exec() { ok = false; QDialog::exec(); }
public slots:
void pageChosen(int button);
protected:
void resizeEvent (QResizeEvent *event);
private:
void fillPages(QGridLayout* layout);
void fitBox(const Rect &box, Canvas* canvas);
std::vector<Canvas*> canvases;
std::vector<PageViewPair> views;
Document* iDoc;
QDialogButtonBox* buttonBox;
bool ok;
int pageChoice;
int viewChoice;
};
#endif