📄 runtestsdlg.h
字号:
//####COPYRIGHTBEGIN####//// ----------------------------------------------------------------------------// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.//// This program is part of the eCos host tools.//// 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.//// This program is distributed in the hope that it will be useful, but WITHOUT// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for// more details.//// You should have received a copy of the GNU General Public License along with// this program; if not, write to the Free Software Foundation, Inc.,// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.//// ----------------------------------------------------------------------------////####COPYRIGHTEND####// runtestsdlg.cpp :////===========================================================================//#####DESCRIPTIONBEGIN####//// Author(s): julians// Contact(s): julians// Date: 2000/09/29// Version: $Id: runtestsdlg.h,v 1.11 2001/12/13 15:30:27 julians Exp $// Purpose:// Description: Header file for ecRunTestsDialog// Requires:// Provides:// See also:// Known bugs:// Usage:////####DESCRIPTIONEND####////===========================================================================#ifndef _ECOS_RUNTESTSDLG_H_#define _ECOS_RUNTESTSDLG_H_#ifdef __GNUG__ #pragma interface "runtestsdlg.cpp"#endif#include "wx/notebook.h"#include "wx/thread.h"#include "eCosTest.h"#include "Properties.h"/* * ecRunTestsTimer * Just to force idle processing now and again while * the tests are running */class ecRunTestsTimer: public wxTimer{public: ecRunTestsTimer() {} virtual void Notify() ;};//----------------------------------------------------------------------------// ecRunTestsDialog//----------------------------------------------------------------------------class ecRunTestsExecutablesDialog;class ecRunTestsOutputDialog;class ecRunTestsSummaryDialog;enum ecRunStatus { ecRunning, ecStopping, ecStopped };#ifdef __WXGTK__#define DWORD int#endifclass ecRunTestsDialog: public wxDialog{DECLARE_CLASS(ecRunTestsDialog) friend class ecResetThread; friend class ecRunTestsTimer; public: ecRunTestsDialog(wxWindow* parent); ~ecRunTestsDialog(); void OnOK(wxCommandEvent& event); void OnRun(wxCommandEvent& event); void OnProperties(wxCommandEvent& event); //void OnHelp(wxCommandEvent& event); void OnPageChange(wxNotebookEvent& event); void OnSize(wxSizeEvent& event); void OnIdle(wxIdleEvent& event); void OnCloseWindow(wxCloseEvent& event); virtual bool TransferDataToWindow(); virtual bool TransferDataFromWindow(); inline wxNotebook* GetNotebook() const { return m_notebook; } // Add the test to the dialog void Populate(const wxString& test, bool select = TRUE); void SubmitTests(); // Write to the output buffer for OnIdle to pick up void OutputToBuffer(const wxString& str); // Write any remaining text void FlushBuffer(); // Thread callbacks static void RunCallback(void *pParam); static void CALLBACK RunLocalFunc(void *pParam); static void CALLBACK RunRemoteFunc(void *pParam); static void CALLBACK TestOutputCallback(void *pParam,LPCTSTR psz); // Helpers // Translate from Windows to Unix serial port nomenclature wxString TranslatePort(const wxString& port) const; protected: ecRunTestsExecutablesDialog* m_executables; ecRunTestsOutputDialog* m_output; ecRunTestsSummaryDialog* m_summary; wxNotebook* m_notebook; ecRunStatus m_runStatus; CeCosTest::ExecutionParameters m_ep; int m_nNextToSubmit; CTestResource* m_pResource; CProperties m_prop; wxCriticalSection m_CS; static ecRunTestsDialog* m_runTestsDialog; bool m_testsAreComplete; // Output text by writing to the buffer and letting // OnIdle pick it up wxString m_outputBuffer; bool m_outputBufferPresent; ecRunTestsTimer m_timer;DECLARE_EVENT_TABLE()};/* Executables dialog */class ecRunTestsExecutablesDialog: public wxPanel{DECLARE_CLASS(ecRunTestsExecutablesDialog)DECLARE_EVENT_TABLE()public: ecRunTestsExecutablesDialog(wxWindow* parent); void CreateControls( wxPanel *parent); void AddFromFolder(const wxString& folder, bool recurse, const wxString& wildcard); int SelectedTestCount(); wxString SelectedTest(int nIndex); void OnCheckAll(wxCommandEvent& event); void OnUncheckAll(wxCommandEvent& event); void OnAdd(wxCommandEvent& event); void OnAddFromFolder(wxCommandEvent& event); void OnRemove(wxCommandEvent& event); void OnUpdateCheckAll(wxUpdateUIEvent& event); void OnUpdateUncheckAll(wxUpdateUIEvent& event);};#define ecID_RUN_TESTS_CHECK_ALL 10072#define ecID_RUN_TESTS_UNCHECK_ALL 10073#define ecID_RUN_TESTS_ADD 10074#define ecID_RUN_TESTS_ADD_FOLDER 10075#define ecID_RUN_TESTS_REMOVE 10076#define ecID_RUN_TESTS_TEST_LIST 2063/* Output dialog */class ecRunTestsOutputDialog: public wxPanel{DECLARE_CLASS(ecRunTestsOutputDialog)public: ecRunTestsOutputDialog(wxWindow* parent); void CreateControls( wxPanel *parent); void AddText(const wxString& msg); void AddLogMsg(const wxString& msg);};#define ecID_RUN_TESTS_OUTPUT_TEXT 10088/* Summary dialog */class WXDLLEXPORT wxListCtrl;// Windows requires the sort function to be of type// CALLBACK#ifndef CALLBACK#define CALLBACK#endifclass ecRunTestsSummaryDialog: public wxPanel{DECLARE_CLASS(ecRunTestsSummaryDialog)DECLARE_EVENT_TABLE()public: ecRunTestsSummaryDialog(wxWindow* parent); void CreateControls( wxPanel *parent); void AddResult (CeCosTest *pTest); void OnColClick(wxListEvent& event); static int CALLBACK SummarySortFunc(long data1, long data2, long col); static wxListCtrl* m_listCtrl;};#define ecID_RUN_TESTS_SUMMARY_LIST 2063// Information used in thread processingstruct ecRunTestsInfo { ecRunTestsDialog* pSheet; CeCosTest * pTest;};// Thread class used for resetting a remote targetclass ecResetThread : public wxThread{public: ecResetThread(ecRunTestsInfo* info) { m_info = info; }; // thread execution starts here virtual void *Entry(); // called when the thread exits - whether it terminates normally or is // stopped with Delete() (but not when it is Kill()ed!) virtual void OnExit();public: ecRunTestsInfo* m_info;};#endif // _ECOS_RUNTESTSDLG_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -