1 // Implementation of CanvasDialog methods
2 // Copyright © 2009 The University of Chicago
3 #include "canvasdialog.h"
5 #include <Q3VBoxLayout>
8 CanvasDialog::CanvasDialog(QWidget
* parent
, Qt::WindowFlags fl
)
9 : QDialog( parent
, 0, false, fl
), Ui::CanvasDialogBase(),
10 m_canvasDialogLayout(), // initialized below
11 m_canvas(new Q3Canvas(width(), height())),
12 m_canvasView() // initialized below
17 m_canvasView
= new Q3CanvasView(m_canvas
, this);
18 m_canvasDialogLayout
= new Q3VBoxLayout(this, 11, 6);
19 m_canvasDialogLayout
->addWidget(m_canvasView
);
23 CanvasDialog::~CanvasDialog() { delete m_canvas
; }
25 void CanvasDialog::saveToFile( const QRect
& rectangle
, const QString
& fileName
, const char* format
)
27 QPixmap image
= QPixmap::grabWidget( m_canvasView
,
30 rectangle
.width() + 10,
31 rectangle
.height() + 10 );
33 image
.save( fileName
, format
);
37 void CanvasDialog::clear()
39 Q3CanvasItemList list
= m_canvasView
->canvas()->allItems();
40 Q3CanvasItemList::Iterator it
= list
.begin();
41 for( ; it
!= list
.end(); ++it
)
43 if ( *it
) delete *it
;