My Project
Loading...
Searching...
No Matches
CxxTest::Win32Gui Class Reference

#include <Win32Gui.h>

Public Member Functions

void enterGui (int &argc, char **argv)
 
void enterWorld (const WorldDescription &wd)
 
void guiEnterSuite (const char *suiteName)
 
void guiEnterTest (const char *suiteName, const char *testName)
 
void yellowBar ()
 
void redBar ()
 
void leaveGui ()
 
- Public Member Functions inherited from CxxTest::GuiListener
 GuiListener ()
 
virtual ~GuiListener ()
 
virtual void runGui (int &argc, char **argv, TestListener &listener)
 
virtual void guiEnterWorld (unsigned)
 
void enterSuite (const SuiteDescription &d)
 
void enterTest (const TestDescription &d)
 
void leaveTest (const TestDescription &)
 
void leaveSuite (const SuiteDescription &)
 
void leaveWorld (const WorldDescription &)
 
void warning (const char *, unsigned, const char *)
 
void failedTest (const char *, unsigned, const char *)
 
void failedAssert (const char *, unsigned, const char *)
 
void failedAssertEquals (const char *, unsigned, const char *, const char *, const char *, const char *)
 
void failedAssertSameData (const char *, unsigned, const char *, const char *, const char *, const void *, const void *, unsigned)
 
void failedAssertDelta (const char *, unsigned, const char *, const char *, const char *, const char *, const char *, const char *)
 
void failedAssertDiffers (const char *, unsigned, const char *, const char *, const char *)
 
void failedAssertLessThan (const char *, unsigned, const char *, const char *, const char *, const char *)
 
void failedAssertLessThanEquals (const char *, unsigned, const char *, const char *, const char *, const char *)
 
void failedAssertPredicate (const char *, unsigned, const char *, const char *, const char *)
 
void failedAssertRelation (const char *, unsigned, const char *, const char *, const char *, const char *, const char *)
 
void failedAssertThrows (const char *, unsigned, const char *, const char *, bool)
 
void failedAssertThrowsNot (const char *, unsigned, const char *)
 
- Public Member Functions inherited from CxxTest::TestListener
 TestListener ()
 
virtual ~TestListener ()
 
virtual void trace (const char *, unsigned, const char *)
 

Private Types

enum  {
  STATUS_SUITE_NAME , STATUS_SUITE_TIME , STATUS_TEST_NAME , STATUS_TEST_TIME ,
  STATUS_TESTS_DONE , STATUS_WORLD_TIME , STATUS_TOTAL_PARTS
}
 
enum  { TIMER_ID = 1 , TIMER_DELAY = 1000 }
 

Private Member Functions

void parseCommandLine (int argc, char **argv)
 
void getTotalTests ()
 
void getTotalTests (const WorldDescription &wd)
 
void startGuiThread ()
 
void gui ()
 
void registerWindowClass ()
 
void createMainWindow ()
 
void initCommonControls ()
 
void createProgressBar ()
 
void createStatusBar ()
 
void setRatios (unsigned suiteNameRatio, unsigned suiteTimeRatio, unsigned testNameRatio, unsigned testTimeRatio, unsigned testsDoneRatio, unsigned worldTimeRatio)
 
HWND createWindow (LPCTSTR className, DWORD style, HWND parent=(HWND) NULL)
 
void progressBarMessage (UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
void centerMainWindow ()
 
void getScreenArea (RECT &area)
 
bool getScreenAreaWithoutTaskbar (RECT &area)
 
void getWholeScreenArea (RECT &area)
 
void showMainWindow ()
 
void showMainWindow (int mode)
 
void startTimer ()
 
void reset (DWORD &tick)
 
void startTests ()
 
void messageLoop ()
 
LRESULT handle (HWND window, UINT message, WPARAM wParam, LPARAM lParam)
 
void resizeControls ()
 
void setStatusParts (LONG width)
 
void statusBarMessage (UINT message, WPARAM wParam=0, const void *lParam=0)
 
void greenBar ()
 
void setColor (BYTE, BYTE, BYTE)
 
void setIcon (LPCTSTR icon)
 
HICON loadStandardIcon (LPCTSTR icon)
 
void setTestCaption (const char *suiteName, const char *testName)
 
void setCaption (const char *a="", const char *b="", const char *c="", const char *d="")
 
void showSuiteName (const char *suiteName)
 
void showTestName (const char *testName)
 
void showTestsDone ()
 
void updateTime ()
 
void setStatusTime (unsigned part, DWORD start)
 
bool keep ()
 
void showSummary ()
 
void setStatusPart (unsigned part, const char *text)
 
void stopTimer ()
 
void setSummaryStatusBar ()
 
void setSummaryCaption ()
 
char * allocate (unsigned length)
 
void deallocate (char *data)
 

Static Private Member Functions

static DWORD WINAPI guiThread (LPVOID parameter)
 
static LRESULT CALLBACK windowProcedure (HWND window, UINT message, WPARAM wParam, LPARAM lParam)
 
static void setUp (HWND window, LPCREATESTRUCT create)
 

Private Attributes

const char * _title
 
bool _startMinimized
 
bool _keep
 
HANDLE _gui
 
WNDCLASSEX _windowClass
 
HWND _mainWindow
 
HWND _progressBar
 
HWND _statusBar
 
HANDLE _canStartTests
 
unsigned _numTotalTests
 
unsigned _testsDone
 
char _strTotalTests [WorldDescription::MAX_STRLEN_TOTAL_TESTS]
 
int _statusWidths [STATUS_TOTAL_PARTS]
 
unsigned _statusOffsets [STATUS_TOTAL_PARTS]
 
unsigned _statusTotal
 
char _statusTestsDone [sizeof("1000000000 of (100%)")+WorldDescription::MAX_STRLEN_TOTAL_TESTS]
 
DWORD _worldStart
 
DWORD _suiteStart
 
DWORD _testStart
 
char _timeString [sizeof("00:00:00")]
 

Additional Inherited Members

- Protected Member Functions inherited from CxxTest::GuiListener
void yellowBarSafe ()
 
void redBarSafe ()
 

Detailed Description

Definition at line 27 of file Win32Gui.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
TIMER_ID 
TIMER_DELAY 

Definition at line 295 of file Win32Gui.h.

295{ TIMER_ID = 1, TIMER_DELAY = 1000 };

◆ anonymous enum

anonymous enum
private
Enumerator
STATUS_SUITE_NAME 
STATUS_SUITE_TIME 
STATUS_TEST_NAME 
STATUS_TEST_TIME 
STATUS_TESTS_DONE 
STATUS_WORLD_TIME 
STATUS_TOTAL_PARTS 

Definition at line 93 of file Win32Gui.h.

Member Function Documentation

◆ allocate()

char * CxxTest::Win32Gui::allocate ( unsigned length)
inlineprivate

Definition at line 519 of file Win32Gui.h.

520 {
521 return (char *)HeapAlloc( GetProcessHeap(), 0, length );
522 }
static BOOLEAN length(leftv result, leftv arg)
Definition interval.cc:257

◆ centerMainWindow()

void CxxTest::Win32Gui::centerMainWindow ( )
inlineprivate

Definition at line 244 of file Win32Gui.h.

245 {
246 RECT screen;
247 getScreenArea( screen );
248
249 LONG screenWidth = screen.right - screen.left;
250 LONG screenHeight = screen.bottom - screen.top;
251
252 LONG xCenter = (screen.right + screen.left) / 2;
253 LONG yCenter = (screen.bottom + screen.top) / 2;
254
255 LONG windowWidth = (screenWidth * 4) / 5;
256 LONG windowHeight = screenHeight / 10;
257 LONG minimumHeight = 2 * (GetSystemMetrics( SM_CYCAPTION ) + GetSystemMetrics( SM_CYFRAME ));
258 if ( windowHeight < minimumHeight )
259 windowHeight = minimumHeight;
260
261 SetWindowPos( _mainWindow, HWND_TOP,
262 xCenter - (windowWidth / 2), yCenter - (windowHeight / 2),
263 windowWidth, windowHeight, 0 );
264 }
void getScreenArea(RECT &area)
Definition Win32Gui.h:266
#define LONG
Definition longrat.cc:105

◆ createMainWindow()

void CxxTest::Win32Gui::createMainWindow ( )
inlineprivate

Definition at line 180 of file Win32Gui.h.

181 {
182 _mainWindow = createWindow( _windowClass.lpszClassName, WS_OVERLAPPEDWINDOW );
183 }
HWND createWindow(LPCTSTR className, DWORD style, HWND parent=(HWND) NULL)
Definition Win32Gui.h:233
WNDCLASSEX _windowClass
Definition Win32Gui.h:88

◆ createProgressBar()

void CxxTest::Win32Gui::createProgressBar ( )
inlineprivate

Definition at line 199 of file Win32Gui.h.

200 {
201 _progressBar = createWindow( PROGRESS_CLASS, WS_CHILD | WS_VISIBLE | PBS_SMOOTH, _mainWindow );
202
203#ifdef PBM_SETRANGE32
204 progressBarMessage( PBM_SETRANGE32, 0, _numTotalTests );
205#else // No PBM_SETRANGE32, use PBM_SETRANGE
206 progressBarMessage( PBM_SETRANGE, 0, MAKELPARAM( 0, (WORD)_numTotalTests ) );
207#endif // PBM_SETRANGE32
208 progressBarMessage( PBM_SETPOS, 0 );
209 progressBarMessage( PBM_SETSTEP, 1 );
210 greenBar();
211 UpdateWindow( _progressBar );
212 }
void progressBarMessage(UINT message, WPARAM wParam=0, LPARAM lParam=0)
Definition Win32Gui.h:239
unsigned _numTotalTests
Definition Win32Gui.h:91

◆ createStatusBar()

void CxxTest::Win32Gui::createStatusBar ( )
inlineprivate

Definition at line 214 of file Win32Gui.h.

215 {
216 _statusBar = createWindow( STATUSCLASSNAME, WS_CHILD | WS_VISIBLE, _mainWindow );
217 setRatios( 4, 1, 3, 1, 3, 1 );
218 }
void setRatios(unsigned suiteNameRatio, unsigned suiteTimeRatio, unsigned testNameRatio, unsigned testTimeRatio, unsigned testsDoneRatio, unsigned worldTimeRatio)
Definition Win32Gui.h:220

◆ createWindow()

HWND CxxTest::Win32Gui::createWindow ( LPCTSTR className,
DWORD style,
HWND parent = (HWND)NULL )
inlineprivate

Definition at line 233 of file Win32Gui.h.

234 {
235 return CreateWindow( className, NULL, style, 0, 0, 0, 0, parent,
236 (HMENU)NULL, (HINSTANCE)NULL, (LPVOID)this );
237 }
#define NULL
Definition omList.c:12

◆ deallocate()

void CxxTest::Win32Gui::deallocate ( char * data)
inlineprivate

Definition at line 524 of file Win32Gui.h.

525 {
526 HeapFree( GetProcessHeap(), 0, data );
527 }

◆ enterGui()

void CxxTest::Win32Gui::enterGui ( int & argc,
char ** argv )
inlinevirtual

Reimplemented from CxxTest::GuiListener.

Definition at line 30 of file Win32Gui.h.

31 {
32 parseCommandLine( argc, argv );
33 }
void parseCommandLine(int argc, char **argv)
Definition Win32Gui.h:106

◆ enterWorld()

void CxxTest::Win32Gui::enterWorld ( const WorldDescription & wd)
inlinevirtual

Reimplemented from CxxTest::GuiListener.

Definition at line 35 of file Win32Gui.h.

36 {
37 getTotalTests( wd );
38 _testsDone = 0;
40 }
void getTotalTests()
Definition Win32Gui.h:122
void startGuiThread()
Definition Win32Gui.h:133
unsigned _testsDone
Definition Win32Gui.h:91

◆ getScreenArea()

void CxxTest::Win32Gui::getScreenArea ( RECT & area)
inlineprivate

Definition at line 266 of file Win32Gui.h.

267 {
268 if ( !getScreenAreaWithoutTaskbar( area ) )
269 getWholeScreenArea( area );
270 }
void getWholeScreenArea(RECT &area)
Definition Win32Gui.h:277
bool getScreenAreaWithoutTaskbar(RECT &area)
Definition Win32Gui.h:272

◆ getScreenAreaWithoutTaskbar()

bool CxxTest::Win32Gui::getScreenAreaWithoutTaskbar ( RECT & area)
inlineprivate

Definition at line 272 of file Win32Gui.h.

273 {
274 return (SystemParametersInfo( SPI_GETWORKAREA, sizeof(RECT), &area, 0 ) != 0);
275 }

◆ getTotalTests() [1/2]

void CxxTest::Win32Gui::getTotalTests ( )
inlineprivate

Definition at line 122 of file Win32Gui.h.

123 {
124 getTotalTests( tracker().world() );
125 }
TestTracker & tracker()

◆ getTotalTests() [2/2]

void CxxTest::Win32Gui::getTotalTests ( const WorldDescription & wd)
inlineprivate

Definition at line 127 of file Win32Gui.h.

128 {
129 _numTotalTests = wd.numTotalTests();
130 wd.strTotalTests( _strTotalTests );
131 }
char _strTotalTests[WorldDescription::MAX_STRLEN_TOTAL_TESTS]
Definition Win32Gui.h:92

◆ getWholeScreenArea()

void CxxTest::Win32Gui::getWholeScreenArea ( RECT & area)
inlineprivate

Definition at line 277 of file Win32Gui.h.

278 {
279 area.left = area.top = 0;
280 area.right = GetSystemMetrics( SM_CXSCREEN );
281 area.bottom = GetSystemMetrics( SM_CYSCREEN );
282 }

◆ greenBar()

void CxxTest::Win32Gui::greenBar ( )
inlineprivate

Definition at line 385 of file Win32Gui.h.

386 {
387 setColor( 0, 255, 0 );
388 setIcon( IDI_INFORMATION );
389 }
void setIcon(LPCTSTR icon)
Definition Win32Gui.h:402
void setColor(BYTE, BYTE, BYTE)
Definition Win32Gui.h:397

◆ gui()

void CxxTest::Win32Gui::gui ( )
inlineprivate

Definition at line 147 of file Win32Gui.h.

148 {
156 startTimer();
157 startTests();
158
159 messageLoop();
160 }
void centerMainWindow()
Definition Win32Gui.h:244
void createProgressBar()
Definition Win32Gui.h:199
void initCommonControls()
Definition Win32Gui.h:185
void createMainWindow()
Definition Win32Gui.h:180
void createStatusBar()
Definition Win32Gui.h:214
void registerWindowClass()
Definition Win32Gui.h:162
void showMainWindow()
Definition Win32Gui.h:284

◆ guiEnterSuite()

void CxxTest::Win32Gui::guiEnterSuite ( const char * suiteName)
inlinevirtual

Reimplemented from CxxTest::GuiListener.

Definition at line 42 of file Win32Gui.h.

43 {
44 showSuiteName( suiteName );
46 }
void reset(DWORD &tick)
Definition Win32Gui.h:305
void showSuiteName(const char *suiteName)
Definition Win32Gui.h:432

◆ guiEnterTest()

void CxxTest::Win32Gui::guiEnterTest ( const char * suiteName,
const char * testName )
inlinevirtual

Reimplemented from CxxTest::GuiListener.

Definition at line 48 of file Win32Gui.h.

49 {
50 ++ _testsDone;
51 setTestCaption( suiteName, testName );
52 showTestName( testName );
54 progressBarMessage( PBM_STEPIT );
56 }
void showTestName(const char *testName)
Definition Win32Gui.h:437
void showTestsDone()
Definition Win32Gui.h:442
void setTestCaption(const char *suiteName, const char *testName)
Definition Win32Gui.h:412

◆ guiThread()

static DWORD WINAPI CxxTest::Win32Gui::guiThread ( LPVOID parameter)
inlinestaticprivate

Definition at line 141 of file Win32Gui.h.

142 {
143 ((Win32Gui *)parameter)->gui();
144 return 0;
145 }

◆ handle()

LRESULT CxxTest::Win32Gui::handle ( HWND window,
UINT message,
WPARAM wParam,
LPARAM lParam )
inlineprivate

Definition at line 337 of file Win32Gui.h.

338 {
339 switch ( message )
340 {
341 case WM_SIZE: resizeControls(); break;
342
343 case WM_TIMER: updateTime(); break;
344
345 case WM_CLOSE:
346 case WM_DESTROY:
347 case WM_QUIT:
348 ExitProcess( 0 );
349
350 default: return DefWindowProc( window, message, wParam, lParam );
351 }
352 return 0;
353 }
void resizeControls()
Definition Win32Gui.h:355
void message(int i, int *reduc, int *olddeg, kStrategy strat, int red_result)
Definition kutil.cc:7467

◆ initCommonControls()

void CxxTest::Win32Gui::initCommonControls ( )
inlineprivate

Definition at line 185 of file Win32Gui.h.

186 {
187 HMODULE dll = LoadLibraryA( "comctl32.dll" );
188 if ( !dll )
189 return;
190
191 typedef void (WINAPI *FUNC)( void );
192 FUNC func = (FUNC)GetProcAddress( dll, "InitCommonControls" );
193 if ( !func )
194 return;
195
196 func();
197 }

◆ keep()

bool CxxTest::Win32Gui::keep ( )
inlineprivate

Definition at line 472 of file Win32Gui.h.

473 {
474 if ( !_keep )
475 return false;
476 if ( !_startMinimized )
477 return true;
478 return (_mainWindow == GetForegroundWindow());
479 }

◆ leaveGui()

void CxxTest::Win32Gui::leaveGui ( )
inlinevirtual

Reimplemented from CxxTest::GuiListener.

Definition at line 74 of file Win32Gui.h.

75 {
76 if ( keep() )
77 {
79 WaitForSingleObject( _gui, INFINITE );
80 }
81 DestroyWindow( _mainWindow );
82 }

◆ loadStandardIcon()

HICON CxxTest::Win32Gui::loadStandardIcon ( LPCTSTR icon)
inlineprivate

Definition at line 407 of file Win32Gui.h.

408 {
409 return LoadIcon( (HINSTANCE)NULL, icon );
410 }

◆ messageLoop()

void CxxTest::Win32Gui::messageLoop ( )
inlineprivate

Definition at line 315 of file Win32Gui.h.

316 {
317 MSG message;
318 while ( BOOL haveMessage = GetMessage( &message, NULL, 0, 0 ) )
319 if ( haveMessage != -1 )
320 DispatchMessage( &message );
321 }

◆ parseCommandLine()

void CxxTest::Win32Gui::parseCommandLine ( int argc,
char ** argv )
inlineprivate

Definition at line 106 of file Win32Gui.h.

107 {
108 _startMinimized = _keep = false;
109 _title = argv[0];
110
111 for ( int i = 1; i < argc; ++ i )
112 {
113 if ( !lstrcmpA( argv[i], "-minimized" ) )
114 _startMinimized = true;
115 else if ( !lstrcmpA( argv[i], "-keep" ) )
116 _keep = true;
117 else if ( !lstrcmpA( argv[i], "-title" ) && (i + 1 < argc) )
118 _title = argv[++i];
119 }
120 }
int i
Definition cfEzgcd.cc:132
const char * _title
Definition Win32Gui.h:85

◆ progressBarMessage()

void CxxTest::Win32Gui::progressBarMessage ( UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0 )
inlineprivate

Definition at line 239 of file Win32Gui.h.

240 {
241 SendMessage( _progressBar, message, wParam, lParam );
242 }

◆ redBar()

void CxxTest::Win32Gui::redBar ( )
inlinevirtual

Reimplemented from CxxTest::GuiListener.

Definition at line 65 of file Win32Gui.h.

66 {
67 if ( _startMinimized )
68 showMainWindow( SW_SHOWNORMAL );
69 setColor( 255, 0, 0 );
70 setIcon( IDI_ERROR );
72 }

◆ registerWindowClass()

void CxxTest::Win32Gui::registerWindowClass ( )
inlineprivate

Definition at line 162 of file Win32Gui.h.

163 {
164 _windowClass.cbSize = sizeof(_windowClass);
165 _windowClass.style = CS_HREDRAW | CS_VREDRAW;
167 _windowClass.cbClsExtra = 0;
168 _windowClass.cbWndExtra = sizeof(LONG);
169 _windowClass.hInstance = (HINSTANCE)NULL;
170 _windowClass.hIcon = (HICON)NULL;
171 _windowClass.hCursor = (HCURSOR)NULL;
172 _windowClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
173 _windowClass.lpszMenuName = NULL;
174 _windowClass.lpszClassName = TEXT("CxxTest Window Class");
175 _windowClass.hIconSm = (HICON)NULL;
176
177 RegisterClassEx( &_windowClass );
178 }
static LRESULT CALLBACK windowProcedure(HWND window, UINT message, WPARAM wParam, LPARAM lParam)
Definition Win32Gui.h:323

◆ reset()

void CxxTest::Win32Gui::reset ( DWORD & tick)
inlineprivate

Definition at line 305 of file Win32Gui.h.

306 {
307 tick = GetTickCount();
308 }

◆ resizeControls()

void CxxTest::Win32Gui::resizeControls ( )
inlineprivate

Definition at line 355 of file Win32Gui.h.

356 {
357 RECT r;
358 GetClientRect( _mainWindow, &r );
359 LONG width = r.right - r.left;
360 LONG height = r.bottom - r.top;
361
362 GetClientRect( _statusBar, &r );
363 LONG statusHeight = r.bottom - r.top;
364 LONG resizeGripWidth = statusHeight;
365 LONG progressHeight = height - statusHeight;
366
367 SetWindowPos( _progressBar, HWND_TOP, 0, 0, width, progressHeight, 0 );
368 SetWindowPos( _statusBar, HWND_TOP, 0, progressHeight, width, statusHeight, 0 );
369 setStatusParts( width - resizeGripWidth );
370 }
void setStatusParts(LONG width)
Definition Win32Gui.h:372

◆ setCaption()

void CxxTest::Win32Gui::setCaption ( const char * a = "",
const char * b = "",
const char * c = "",
const char * d = "" )
inlineprivate

Definition at line 417 of file Win32Gui.h.

418 {
419 unsigned length = lstrlenA( _title ) + sizeof( " - " ) +
420 lstrlenA( a ) + lstrlenA( b ) + lstrlenA( c ) + lstrlenA( d );
421 char *name = allocate( length );
422 lstrcpyA( name, _title );
423 lstrcatA( name, " - " );
424 lstrcatA( name, a );
425 lstrcatA( name, b );
426 lstrcatA( name, c );
427 lstrcatA( name, d );
428 SetWindowTextA( _mainWindow, name );
429 deallocate( name );
430 }
CanonicalForm b
Definition cfModGcd.cc:4111
char * allocate(unsigned length)
Definition Win32Gui.h:519
void deallocate(char *data)
Definition Win32Gui.h:524
int name
New type name for int.

◆ setColor()

void CxxTest::Win32Gui::setColor ( BYTE ,
BYTE ,
BYTE  )
inlineprivate

Definition at line 397 of file Win32Gui.h.

398 {
399 }

◆ setIcon()

void CxxTest::Win32Gui::setIcon ( LPCTSTR icon)
inlineprivate

Definition at line 402 of file Win32Gui.h.

403 {
404 SendMessage( _mainWindow, WM_SETICON, ICON_BIG, (LPARAM)loadStandardIcon( icon ) );
405 }
HICON loadStandardIcon(LPCTSTR icon)
Definition Win32Gui.h:407

◆ setRatios()

void CxxTest::Win32Gui::setRatios ( unsigned suiteNameRatio,
unsigned suiteTimeRatio,
unsigned testNameRatio,
unsigned testTimeRatio,
unsigned testsDoneRatio,
unsigned worldTimeRatio )
inlineprivate

Definition at line 220 of file Win32Gui.h.

223 {
224 _statusTotal = 0;
225 _statusOffsets[STATUS_SUITE_NAME] = (_statusTotal += suiteNameRatio);
226 _statusOffsets[STATUS_SUITE_TIME] = (_statusTotal += suiteTimeRatio);
227 _statusOffsets[STATUS_TEST_NAME] = (_statusTotal += testNameRatio);
228 _statusOffsets[STATUS_TEST_TIME] = (_statusTotal += testTimeRatio);
229 _statusOffsets[STATUS_TESTS_DONE] = (_statusTotal += testsDoneRatio);
230 _statusOffsets[STATUS_WORLD_TIME] = (_statusTotal += worldTimeRatio);
231 }
unsigned _statusTotal
Definition Win32Gui.h:101
unsigned _statusOffsets[STATUS_TOTAL_PARTS]
Definition Win32Gui.h:100

◆ setStatusPart()

void CxxTest::Win32Gui::setStatusPart ( unsigned part,
const char * text )
inlineprivate

Definition at line 488 of file Win32Gui.h.

489 {
490 statusBarMessage( SB_SETTEXTA, part, text );
491 }
void statusBarMessage(UINT message, WPARAM wParam=0, const void *lParam=0)
Definition Win32Gui.h:380

◆ setStatusParts()

void CxxTest::Win32Gui::setStatusParts ( LONG width)
inlineprivate

Definition at line 372 of file Win32Gui.h.

373 {
374 for ( unsigned i = 0; i < STATUS_TOTAL_PARTS; ++ i )
376
378 }
int _statusWidths[STATUS_TOTAL_PARTS]
Definition Win32Gui.h:99

◆ setStatusTime()

void CxxTest::Win32Gui::setStatusTime ( unsigned part,
DWORD start )
inlineprivate

Definition at line 457 of file Win32Gui.h.

458 {
459 unsigned total = (GetTickCount() - start) / 1000;
460 unsigned hours = total / 3600;
461 unsigned minutes = (total / 60) % 60;
462 unsigned seconds = total % 60;
463
464 if ( hours )
465 wsprintfA( _timeString, "%u:%02u:%02u", hours, minutes, seconds );
466 else
467 wsprintfA( _timeString, "%02u:%02u", minutes, seconds );
468
469 setStatusPart( part, _timeString );
470 }
char _timeString[sizeof("00:00:00")]
Definition Win32Gui.h:104
void setStatusPart(unsigned part, const char *text)
Definition Win32Gui.h:488

◆ setSummaryCaption()

void CxxTest::Win32Gui::setSummaryCaption ( )
inlineprivate

Definition at line 514 of file Win32Gui.h.

515 {
517 }
void setCaption(const char *a="", const char *b="", const char *c="", const char *d="")
Definition Win32Gui.h:417
char _statusTestsDone[sizeof("1000000000 of (100%)")+WorldDescription::MAX_STRLEN_TOTAL_TESTS]
Definition Win32Gui.h:102

◆ setSummaryStatusBar()

void CxxTest::Win32Gui::setSummaryStatusBar ( )
inlineprivate

Definition at line 499 of file Win32Gui.h.

500 {
501 setRatios( 0, 0, 0, 0, 1, 1 );
503
504 const char *tests = (_numTotalTests == 1) ? "test" : "tests";
505 if ( tracker().failedTests() )
506 wsprintfA( _statusTestsDone, "Failed %u of %s %s",
507 tracker().failedTests(), _strTotalTests, tests );
508 else
509 wsprintfA( _statusTestsDone, "%s %s passed", _strTotalTests, tests );
510
512 }

◆ setTestCaption()

void CxxTest::Win32Gui::setTestCaption ( const char * suiteName,
const char * testName )
inlineprivate

Definition at line 412 of file Win32Gui.h.

413 {
414 setCaption( suiteName, "::", testName, "()" );
415 }

◆ setUp()

static void CxxTest::Win32Gui::setUp ( HWND window,
LPCREATESTRUCT create )
inlinestaticprivate

Definition at line 332 of file Win32Gui.h.

333 {
334 SetWindowLong( window, GWL_USERDATA, (LONG)create->lpCreateParams );
335 }
NodeM * create()
Definition janet.cc:757

◆ showMainWindow() [1/2]

void CxxTest::Win32Gui::showMainWindow ( )
inlineprivate

Definition at line 284 of file Win32Gui.h.

285 {
286 showMainWindow( _startMinimized ? SW_MINIMIZE : SW_SHOWNORMAL );
287 UpdateWindow( _mainWindow );
288 }

◆ showMainWindow() [2/2]

void CxxTest::Win32Gui::showMainWindow ( int mode)
inlineprivate

Definition at line 290 of file Win32Gui.h.

291 {
292 ShowWindow( _mainWindow, mode );
293 }

◆ showSuiteName()

void CxxTest::Win32Gui::showSuiteName ( const char * suiteName)
inlineprivate

Definition at line 432 of file Win32Gui.h.

433 {
434 setStatusPart( STATUS_SUITE_NAME, suiteName );
435 }

◆ showSummary()

void CxxTest::Win32Gui::showSummary ( )
inlineprivate

Definition at line 481 of file Win32Gui.h.

482 {
483 stopTimer();
486 }
void setSummaryStatusBar()
Definition Win32Gui.h:499
void setSummaryCaption()
Definition Win32Gui.h:514

◆ showTestName()

void CxxTest::Win32Gui::showTestName ( const char * testName)
inlineprivate

Definition at line 437 of file Win32Gui.h.

438 {
439 setStatusPart( STATUS_TEST_NAME, testName );
440 }

◆ showTestsDone()

void CxxTest::Win32Gui::showTestsDone ( )
inlineprivate

Definition at line 442 of file Win32Gui.h.

443 {
444 wsprintfA( _statusTestsDone, "%u of %s (%u%%)",
446 (_testsDone * 100) / _numTotalTests );
448 }

◆ startGuiThread()

void CxxTest::Win32Gui::startGuiThread ( )
inlineprivate

Definition at line 133 of file Win32Gui.h.

134 {
135 _canStartTests = CreateEvent( NULL, TRUE, FALSE, NULL );
136 DWORD threadId;
137 _gui = CreateThread( NULL, 0, &(Win32Gui::guiThread), (LPVOID)this, 0, &threadId );
138 WaitForSingleObject( _canStartTests, INFINITE );
139 }
#define TRUE
Definition auxiliary.h:101
#define FALSE
Definition auxiliary.h:97
HANDLE _canStartTests
Definition Win32Gui.h:90
static DWORD WINAPI guiThread(LPVOID parameter)
Definition Win32Gui.h:141

◆ startTests()

void CxxTest::Win32Gui::startTests ( )
inlineprivate

Definition at line 310 of file Win32Gui.h.

311 {
312 SetEvent( _canStartTests );
313 }

◆ startTimer()

void CxxTest::Win32Gui::startTimer ( )
inlineprivate

Definition at line 297 of file Win32Gui.h.

298 {
301 reset( _testStart );
302 SetTimer( _mainWindow, TIMER_ID, TIMER_DELAY, 0 );
303 }

◆ statusBarMessage()

void CxxTest::Win32Gui::statusBarMessage ( UINT message,
WPARAM wParam = 0,
const void * lParam = 0 )
inlineprivate

Definition at line 380 of file Win32Gui.h.

381 {
382 SendMessage( _statusBar, message, wParam, (LPARAM)lParam );
383 }

◆ stopTimer()

void CxxTest::Win32Gui::stopTimer ( )
inlineprivate

Definition at line 493 of file Win32Gui.h.

494 {
495 KillTimer( _mainWindow, TIMER_ID );
497 }
void setStatusTime(unsigned part, DWORD start)
Definition Win32Gui.h:457

◆ updateTime()

void CxxTest::Win32Gui::updateTime ( )
inlineprivate

◆ windowProcedure()

static LRESULT CALLBACK CxxTest::Win32Gui::windowProcedure ( HWND window,
UINT message,
WPARAM wParam,
LPARAM lParam )
inlinestaticprivate

Definition at line 323 of file Win32Gui.h.

324 {
325 if ( message == WM_CREATE )
326 setUp( window, (LPCREATESTRUCT)lParam );
327
328 Win32Gui *that = (Win32Gui *)GetWindowLong( window, GWL_USERDATA );
329 return that->handle( window, message, wParam, lParam );
330 }
static void setUp(HWND window, LPCREATESTRUCT create)
Definition Win32Gui.h:332

◆ yellowBar()

void CxxTest::Win32Gui::yellowBar ( )
inlinevirtual

Reimplemented from CxxTest::GuiListener.

Definition at line 58 of file Win32Gui.h.

59 {
60 setColor( 255, 255, 0 );
61 setIcon( IDI_WARNING );
63 }

Field Documentation

◆ _canStartTests

HANDLE CxxTest::Win32Gui::_canStartTests
private

Definition at line 90 of file Win32Gui.h.

◆ _gui

HANDLE CxxTest::Win32Gui::_gui
private

Definition at line 87 of file Win32Gui.h.

◆ _keep

bool CxxTest::Win32Gui::_keep
private

Definition at line 86 of file Win32Gui.h.

◆ _mainWindow

HWND CxxTest::Win32Gui::_mainWindow
private

Definition at line 89 of file Win32Gui.h.

◆ _numTotalTests

unsigned CxxTest::Win32Gui::_numTotalTests
private

Definition at line 91 of file Win32Gui.h.

◆ _progressBar

HWND CxxTest::Win32Gui::_progressBar
private

Definition at line 89 of file Win32Gui.h.

◆ _startMinimized

bool CxxTest::Win32Gui::_startMinimized
private

Definition at line 86 of file Win32Gui.h.

◆ _statusBar

HWND CxxTest::Win32Gui::_statusBar
private

Definition at line 89 of file Win32Gui.h.

◆ _statusOffsets

unsigned CxxTest::Win32Gui::_statusOffsets[STATUS_TOTAL_PARTS]
private

Definition at line 100 of file Win32Gui.h.

◆ _statusTestsDone

char CxxTest::Win32Gui::_statusTestsDone[sizeof("1000000000 of (100%)")+WorldDescription::MAX_STRLEN_TOTAL_TESTS]
private

Definition at line 102 of file Win32Gui.h.

◆ _statusTotal

unsigned CxxTest::Win32Gui::_statusTotal
private

Definition at line 101 of file Win32Gui.h.

◆ _statusWidths

int CxxTest::Win32Gui::_statusWidths[STATUS_TOTAL_PARTS]
private

Definition at line 99 of file Win32Gui.h.

◆ _strTotalTests

char CxxTest::Win32Gui::_strTotalTests[WorldDescription::MAX_STRLEN_TOTAL_TESTS]
private

Definition at line 92 of file Win32Gui.h.

◆ _suiteStart

DWORD CxxTest::Win32Gui::_suiteStart
private

Definition at line 103 of file Win32Gui.h.

◆ _testsDone

unsigned CxxTest::Win32Gui::_testsDone
private

Definition at line 91 of file Win32Gui.h.

◆ _testStart

DWORD CxxTest::Win32Gui::_testStart
private

Definition at line 103 of file Win32Gui.h.

◆ _timeString

char CxxTest::Win32Gui::_timeString[sizeof("00:00:00")]
private

Definition at line 104 of file Win32Gui.h.

◆ _title

const char* CxxTest::Win32Gui::_title
private

Definition at line 85 of file Win32Gui.h.

◆ _windowClass

WNDCLASSEX CxxTest::Win32Gui::_windowClass
private

Definition at line 88 of file Win32Gui.h.

◆ _worldStart

DWORD CxxTest::Win32Gui::_worldStart
private

Definition at line 103 of file Win32Gui.h.


The documentation for this class was generated from the following file: