stifui/qt/inc/frmmain.h
branchRCL_3
changeset 14 404ad6c9bc20
child 19 4b22a598b890
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stifui/qt/inc/frmmain.h	Tue Apr 27 16:38:40 2010 +0300
@@ -0,0 +1,179 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: QT C++ based Class.
+*              frmMain is a QT based Window.
+*              Used to display STF executor main GUI.
+*
+*/
+#ifndef FRMMAIN_H
+#define FRMMAIN_H
+
+#include <QMainWindow>
+#include "istfqtuicontroller.h"
+#include "istfqtuimodel.h"
+#include "dlgoutput.h"
+#include "uisetting.h"
+#include "dlgsetting.h"
+
+QT_BEGIN_NAMESPACE
+class QAction;
+class QLabel;
+class QMenu;
+class QTabWidget;
+class QWidget;
+class QPushButton;
+class QComboBox;
+class QPlainTextEdit;
+class QTreeWidget;
+class QTreeWidgetItem;
+class QListWidget;
+class QCheckBox;
+class QMessageBox;
+class QFileDialog;
+QT_END_NAMESPACE
+
+const QString QtUIVersion = "StfQtUI v1.0.1";
+
+class frmMain : public QMainWindow, public IStfEventListener, public IStifModelEventListener
+{
+    Q_OBJECT
+
+public:
+    frmMain();
+    ~frmMain();
+    
+    
+public: //Implement IStfEventListener
+    void OnGetMessage(const QString& aMessage);
+    void OnSetListChanged();
+    void OnCaseOutputChanged(const IStfEventListener::CaseOutputCommand& cmd, const QString& index, const QString& msg);
+
+    
+public: //Implement IStifModelEventListener
+    void OnCaseStatisticChanged() ;
+    void OnRunningCaseChanged() ;
+    
+protected slots:
+    void onTabWidgetSelectIndexChanged();
+
+
+private:
+    void createMenus();
+    void LoadSubMenu();
+    void load();
+    void loadContent();
+    void loadModuleList();
+    void loadSetList();
+    void loadStatistic();
+    QList<CSTFCase> getSelectedCases();
+    void reloadStatisticItem(QString name, QTreeWidgetItem* item, TSTFCaseStatusType type);
+    void setSetting();
+    
+private:
+    IStfQtUIController* controller;
+    IStfQtUIModel* model;
+    DlgOutput* dlgOutput;
+    UiSetting* uiSetting; 
+    
+
+private: //UI Components
+    QWidget *MainWidget;
+    //menus and actions
+    QMenu *operateMenu;
+    //output panel
+    QPlainTextEdit *txtOutput;
+    //tab control.
+    QTabWidget *tabWidget;
+    QWidget *tabCase;
+    QWidget *tabSet;
+    QWidget *tabStarted;
+    QWidget *tabStatistic;
+
+    //Cases Tab
+    QTreeWidget *treeModuleList;
+    
+    //Statistic Tab
+    QTreeWidget *treeStatistic;
+    QTreeWidgetItem *executedItems;
+    QTreeWidgetItem *passedItems;
+    QTreeWidgetItem *failedItems;
+    QTreeWidgetItem *abortedItems;
+    QTreeWidgetItem *crashedItems;
+        
+    
+    //Set Tab
+    QComboBox *cboSetList;
+    QListWidget *lstSetCases;
+
+    //Started Tab
+    QListWidget *lstStartedCases;
+    QPushButton *btnPauseCase;
+    QPushButton *btnAbortCase;
+    QPlainTextEdit *txtCaseOutput;
+
+    //menu actions
+    QAction *actExit;
+    QAction *actAbout;
+
+    //cases actoins
+    QAction *actOpenFile;
+    QAction *actRunCaseSeq;
+    QAction *actRunCasePar;
+    QAction *actAddtoSet;
+    QAction *actSelectAll;
+    QAction *actExpandAll;
+    QAction *actCollapseAll;
+    QAction *actSetting;
+    //sets actions
+    QAction *actRunSetSeq;
+    QAction *actRunSetPar;
+    QAction *actNewSet;
+    QAction *actDelSet;
+    //running actions.
+    QAction *actPause;
+    QAction *actAbort;
+    //statistics actions
+    QAction *actClearStatistics;
+
+private slots:
+    void on_cboSetList_currentIndexChanged(QString );
+    
+    void on_actAbout_triggered();    
+    void on_actOpenFile_triggered();
+    void on_actRunCaseSeq_triggered();
+    void on_actRunCasePar_triggered();
+    void on_actAddtoSet_triggered();
+    void on_actSelectAll_triggered();
+    void on_actExpandAll_triggered();
+    void on_actCollapseAll_triggered();
+    void on_actSetting_triggered();
+        
+    void on_actRunSetSeq_triggered();
+    void on_actRunSetPar_triggered();
+    void on_actNewSet_triggered();
+    void on_actDelSet_triggered();
+    void on_actPause_triggered();
+    void on_actAbort_triggered();
+    void on_actClearStatistics_triggered();
+    void on_treeModuleList_itemClicked(QTreeWidgetItem* item, int column);
+
+    
+        
+    
+
+
+
+};
+
+#endif // FRMMAIN_H