58 lines
1.4 KiB
C++
58 lines
1.4 KiB
C++
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Crytek Engine Source File.
|
|
// Copyright (C), Crytek Studios, 2002.
|
|
// -------------------------------------------------------------------------
|
|
// File name: waitprogress.h
|
|
// Version: v1.00
|
|
// Created: 10/5/2002 by Timur.
|
|
// Compilers: Visual Studio.NET
|
|
// Description:
|
|
// -------------------------------------------------------------------------
|
|
// History:
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef __waitprogress_h__
|
|
#define __waitprogress_h__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
/** CWaitProgress class adds information about lengthy process.
|
|
use it like this:
|
|
CWaitProgress wait;
|
|
wait.SetText( "Long" );
|
|
wait.SetProgress( 35 ); // 35 percent.
|
|
*/
|
|
class CWaitProgress
|
|
{
|
|
public:
|
|
CWaitProgress( UINT nIDText, bool bStart = true);
|
|
CWaitProgress( LPCTSTR lpszText, bool bStart = true );
|
|
~CWaitProgress();
|
|
|
|
void Start();
|
|
void Stop();
|
|
//! @return true to continue, false to abort lengthy operation.
|
|
bool Step(int nPercentage = -1);
|
|
void SetText(LPCTSTR lpszText);
|
|
|
|
static void CancelCurrent() { m_bCancel = true; };
|
|
|
|
protected:
|
|
CString m_strText;
|
|
bool m_bStarted;
|
|
bool m_bIgnore;
|
|
int m_percent;
|
|
HWND m_hwndProgress;
|
|
CCustomButton m_cancelButton;
|
|
|
|
static bool m_bInProgressNow;
|
|
static bool m_bCancel;
|
|
|
|
void CreateProgressControl();
|
|
};
|
|
|
|
#endif // __waitprogress_h__
|