/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ // Original file Copyright Crytek GMBH or its affiliates, used under license. #pragma once //////////////////////////////////////////////////////////////////////////// // // Crytek Engine Source File. // Copyright (C), Crytek Studios, 2002-2012. // ------------------------------------------------------------------------- // File name: waitprogress.h // Created: 10/5/2002 by Timur. // Description: CWaitProgress class adds information about lengthy process // Usage: // // CWaitProgress wait; // wait.SetText("Long"); // wait.SetProgress(35); // 35 percent. // //////////////////////////////////////////////////////////////////////////// #ifndef CRYINCLUDE_EDITOR_WAITPROGRESS_H #define CRYINCLUDE_EDITOR_WAITPROGRESS_H class QProgressBar; #include <QString> class CWaitProgress { public: CWaitProgress(const QString& 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(const QString& lpszText); protected: void CreateProgressControl(); QString m_strText; bool m_bStarted; bool m_bIgnore; int m_percent; QProgressBar* m_progressBar; static bool m_bInProgressNow; }; #endif // CRYINCLUDE_EDITOR_WAITPROGRESS_H