demoTutorialDialog.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id:
00005 
00006 #ifndef BALL_DEMOTUTORIALDIALOG_H
00007 #define BALL_DEMOTUTORIALDIALOG_H
00008 
00009 #ifndef BALL_VIEW_KERNEL_MODULARWIDGET_H
00010 # include <BALL/VIEW/KERNEL/modularWidget.h>
00011 #endif
00012 
00013 #ifndef BALL_VIEW_PRIMITIV_MESH_H
00014 # include <BALL/VIEW/PRIMITIVES/mesh.h>
00015 #endif
00016 
00017 #include <BALL/DATATYPE/regularData3D.h>
00018 
00019 #include "ui_demoTutorialDialog.h"
00020 
00021 #include <QtGui/QDialog>
00022 
00023 namespace BALL
00024 {
00025   class System;
00026   class Composite;
00027 
00028   namespace VIEW
00029   {
00032     class DemoTutorialDialog : 
00033       public QDialog,
00034       public Ui_DemoTutorialDialogData,
00035       public ModularWidget
00036     {
00037       Q_OBJECT
00038       BALL_EMBEDDABLE(DemoTutorialDialog,ModularWidget)
00039         
00040       public:
00041       
00043       DemoTutorialDialog(QWidget *parent = NULL, const char *name = NULL );
00044 
00046       virtual ~DemoTutorialDialog();
00047               
00049       virtual void onNotify(Message *message);
00050 
00051       virtual void initializeWidget(MainControl& main_control);
00052 
00054       void setDemoMode(bool state) { demo_mode_ = state;}
00055               
00056       public slots:
00057         
00059       void show();
00060 
00062       void showDemo();
00063 
00065       void showTutorial();
00066 
00068       void nextStepClicked();
00069 
00070       virtual void checkMenu(MainControl& main_control);
00071             
00072       protected:
00073 
00074       void nextStepDemo_();
00075       void nextStepTutorial_();
00076       
00077       void initDemo_();
00078       void initTutorial_();
00079 
00080       void enableNextStep_();
00081 
00082       virtual void onNotifyTutorial_(Message *message);
00083       virtual void onNotifyDemo_(Message *message);
00084 
00085       String getBaseDir_();
00086 
00087       private:
00088 
00089       List<Composite*> composites_;
00090       RegularData3D* grid_;
00091       System*        system_;
00092 
00093       String          prefix_;
00094       bool            demo_mode_;
00095       Position        current_step_;
00096       Mesh*           surface_;
00097       QAction*        demo_action_, *tutorial_action_;
00098     };
00099 
00100 } } // namespaces
00101 
00102 #endif // BALL_DEMOTUTORIALDIALOG_H