summaryrefslogtreecommitdiffstats
path: root/kpovmodeler/pmpovraywidget.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit47d455dd55be855e4cc691c32f687f723d9247ee (patch)
tree52e236aaa2576bdb3840ebede26619692fed6d7d /kpovmodeler/pmpovraywidget.h
downloadtdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.tar.gz
tdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegraphics@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kpovmodeler/pmpovraywidget.h')
-rw-r--r--kpovmodeler/pmpovraywidget.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/kpovmodeler/pmpovraywidget.h b/kpovmodeler/pmpovraywidget.h
new file mode 100644
index 00000000..26d5bb1e
--- /dev/null
+++ b/kpovmodeler/pmpovraywidget.h
@@ -0,0 +1,103 @@
+/*
+**************************************************************************
+ description
+ --------------------
+ copyright : (C) 2001 by Andreas Zehender
+ email : zehender@kde.org
+**************************************************************************
+
+**************************************************************************
+* *
+* This program is free software; you can redistribute it and/or modify *
+* it under the terms of the GNU General Public License as published by *
+* the Free Software Foundation; either version 2 of the License, or *
+* (at your option) any later version. *
+* *
+**************************************************************************/
+
+#ifndef PMPOVRAYWIDGET_H
+#define PMPOVRAYWIDGET_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <kdialog.h>
+#include <qcstring.h>
+#include <qdatetime.h>
+
+class PMPovrayRenderWidget;
+class PMPovrayOutputWidget;
+class PMRenderMode;
+
+class QProgressBar;
+class QPushButton;
+class QLabel;
+class QScrollView;
+class KURL;
+
+/**
+ * Widget with toolbar, statusbar and a @ref PMPovrayRenderWidget
+ */
+class PMPovrayWidget : public KDialog
+{
+ Q_OBJECT
+public:
+ /**
+ * Standard constructor
+ */
+ PMPovrayWidget( QWidget* parent = 0, const char* name = 0 );
+ /**
+ * Destructor
+ */
+ virtual ~PMPovrayWidget( );
+
+ /**
+ * Starts rendering for the povray code in the byte array with
+ * render mode m.
+ * @see PMRenderMode
+ */
+ bool render( const QByteArray& scene, const PMRenderMode& m,
+ const KURL& documentURL );
+
+public slots:
+ void slotStop( );
+ void slotSuspend( );
+ void slotResume( );
+ void slotClose( );
+ void slotSave( );
+ void slotPovrayOutput( );
+
+protected slots:
+ void slotRenderingFinished( int returnStatus );
+ void slotProgress( int i );
+ void slotLineFinished( int line );
+ void slotUpdateSpeed( );
+
+protected:
+ void showSpeed( double pps );
+
+private:
+ PMPovrayRenderWidget* m_pRenderWidget;
+ PMPovrayOutputWidget* m_pPovrayOutputWidget;
+ QPushButton* m_pStopButton;
+ QPushButton* m_pSuspendButton;
+ QPushButton* m_pResumeButton;
+ QPushButton* m_pSaveButton;
+ QPushButton* m_pPovrayOutputButton;
+ QProgressBar* m_pProgressBar;
+ QLabel* m_pProgressLabel;
+ QScrollView* m_pScrollView;
+ int m_height, m_width;
+ bool m_bRunning;
+ QTime m_lastSpeedTime;
+ QTimer* m_pProgressTimer;
+ bool m_speedInfo;
+ bool m_immediateUpdate;
+ float m_speed;
+ int m_line;
+ bool m_stopped;
+ static bool s_imageFormatsRegistered;
+};
+
+#endif