leocad/qt/lc_renderdialog.h

70 lines
1.1 KiB
C
Raw Normal View History

2017-09-22 19:08:02 +02:00
#pragma once
#include <QDialog>
namespace Ui {
class lcRenderDialog;
}
class lcRenderPreviewWidget : public QWidget
{
Q_OBJECT
public:
lcRenderPreviewWidget(QWidget* Parent)
: QWidget(Parent)
{
}
void SetImage(QImage Image)
{
mImage = Image;
mScaledImage = QImage();
update();
}
protected:
void resizeEvent(QResizeEvent* Event) override;
void paintEvent(QPaintEvent* PaintEvent) override;
QImage mImage;
QImage mScaledImage;
};
2017-09-22 19:08:02 +02:00
class lcRenderDialog : public QDialog
{
Q_OBJECT
public:
explicit lcRenderDialog(QWidget* Parent);
~lcRenderDialog();
public slots:
void reject() override;
2017-09-22 19:08:02 +02:00
void on_RenderButton_clicked();
2017-12-27 22:55:37 +01:00
void on_OutputBrowseButton_clicked();
2017-09-22 19:08:02 +02:00
void Update();
protected slots:
void ReadStdErr();
void WriteStdLog(bool = false);
2017-09-22 19:08:02 +02:00
protected:
QString GetOutputFileName() const;
2017-11-05 02:54:12 +01:00
QString GetPOVFileName() const;
void CloseProcess();
bool PromptCancel();
void ShowResult();
2017-11-05 02:54:12 +01:00
2017-12-07 07:08:56 +01:00
#ifndef QT_NO_PROCESS
2017-09-22 19:08:02 +02:00
QProcess* mProcess;
2017-12-07 07:08:56 +01:00
#endif
2017-11-05 02:54:12 +01:00
QTimer mUpdateTimer;
QFile mOutputFile;
void* mOutputBuffer;
QImage mImage;
2019-03-10 01:38:54 +01:00
QStringList mStdErrList;
2017-09-22 19:08:02 +02:00
2017-11-05 02:54:12 +01:00
Ui::lcRenderDialog* ui;
2017-09-22 19:08:02 +02:00
};