VR-Forces 4.0.4 Class Documentation
include/vrfGuiCoreQt/DtAskIfCanTask.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2012 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtAskIfCanTask.h,v $ $Revision: 1.2 $ $State: Exp $
00007 ******************************************************************************/
00010 
00011 #pragma once
00012 
00013 #include <vrvUtil/signalslib.h>
00014 #include <vrfGuiCoreQt/vrfGuiCoreQt.h>
00015 #include <vrfGuiCore/DtVrfCurrentTaskManager.h>
00016 #include <vrfGuiCore/DtVrfVrlinkDataInterface.h>
00017 
00018 #include <vrvUtil/DtVirtualBaseClass.h>
00019 
00020 #include <vector>
00021 #include <string>
00022 #include <map>
00023 
00024 #include <QDialog>
00025 #include <QTime>
00026 
00027 class DtSimTask;
00028 class QWidget;
00029 class QTimer;
00030 class QLabel;
00031 class QPushButton;
00032 
00033 namespace makVrv
00034 {
00035    class DtDe;
00036 }
00037 
00038 namespace makVrf
00039 {
00042    class DT_DLL_VRFGUICOREQT DtAskIfCanTaskDialog : public QDialog
00043    {
00044       Q_OBJECT
00045 
00046    public:
00047       DtAskIfCanTaskDialog(makVrv::DtDe&, QWidget* parent);
00048 
00049       virtual ~DtAskIfCanTaskDialog();
00050 
00052       virtual std::vector<std::string> askIfCanTask(const std::vector<std::string>& names, const DtSimTask& newTask);
00053 
00055       virtual int exec();
00056 
00057    protected:
00059       virtual void setupGui();
00060 
00062       virtual void receiveCurrentTasks(std::string, const DtVrfCurrentTaskManager::EntityTaskInformation&);
00063 
00065       virtual DtVrfCurrentTaskManager::DtSimTaskSharedPtr willBlock(const DtSimTask* newTask, const DtVrfCurrentTaskManager::EntityTaskInformation& tasks) const;
00066 
00068       virtual void timeout();
00069 
00070    protected slots:
00072       virtual void askToTask();
00073 
00075       virtual void timerCheck();
00076 
00078       virtual void hideMe();
00079 
00081       virtual bool shouldInterruptTask(DtVrfVrlinkDataInterfacePtr);
00082 
00084       virtual bool shouldAbandonPlan(DtVrfVrlinkDataInterfacePtr);
00085 
00086    public:
00087       QWidget* myWaitingFrame;
00088       QLabel*  myWaitingLabel;
00089       QPushButton* myCancel;
00090 
00091    protected:
00092       makVrv::DtDe& myDe;
00093       QVector<std::string>   myAskingToTask;
00094       std::vector<std::string>   myToTask;
00095       DtSimTask*  myNewTask;
00096 
00097       typedef std::map<std::string, QString> NeedToAskMap;
00098       NeedToAskMap myNeedToAsk;
00099 
00100       QTimer* myCheckTimer;
00101       QTime myElapsedTimer;
00102 
00103       int mySelectedInterruptAll;
00104       int mySelectedAbandonAll;
00105 
00106       QRect myGeometry;
00107    };
00108 
00112    class DT_DLL_VRFGUICOREQT DtAskIfCanTask : public makVrv::DtVirtualBaseClass
00113    {
00114    public:
00115       DtAskIfCanTask(makVrv::DtDe&);
00116 
00118       virtual ~DtAskIfCanTask();
00119 
00120       static DtAskIfCanTask& instance(makVrv::DtDe&);
00121       static void registerInstance(makVrv::DtDe&, DtAskIfCanTask *);
00122 
00126       virtual std::vector<std::string> askIfCanTask(const std::vector<std::string>& names, const DtSimTask& newTask);
00127 
00128    protected:
00129       virtual DtAskIfCanTaskDialog* createAskToTaskDialog(QWidget* parent);
00130 
00131    protected:
00132       makVrv::DtDe& myDe;
00133    }; 
00134 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)