76c4b1491e
Use task dialogs even for the dialogs with wxPD_AUTO_HIDE style flag and without wxPD_CAN_ABORT one. Generic fallback was used in this case as native task dialog doesn't support dialogs without buttons but it is finally better to create a dummy button and use the native dialog nevertheless. We already have a mostly disabled "Close" button for the dialogs without wxPD_AUTO_HIDE style so it seems logical to also have it (but just never enable it at all) when this style is used. Closes #12462. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
73 lines
2.2 KiB
C++
73 lines
2.2 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/msw/progdlg.h
|
|
// Purpose: wxProgressDialog
|
|
// Author: Rickard Westerlund
|
|
// Created: 2010-07-22
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) 2010 wxWidgets team
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_PROGDLG_H_
|
|
#define _WX_PROGDLG_H_
|
|
|
|
class wxProgressDialogTaskRunner;
|
|
class wxProgressDialogSharedData;
|
|
|
|
class WXDLLIMPEXP_CORE wxProgressDialog : public wxGenericProgressDialog
|
|
{
|
|
public:
|
|
wxProgressDialog(const wxString& title, const wxString& message,
|
|
int maximum = 100,
|
|
wxWindow *parent = NULL,
|
|
int style = wxPD_APP_MODAL | wxPD_AUTO_HIDE);
|
|
|
|
virtual ~wxProgressDialog();
|
|
|
|
virtual bool Update(int value, const wxString& newmsg = wxEmptyString, bool *skip = NULL);
|
|
virtual bool Pulse(const wxString& newmsg = wxEmptyString, bool *skip = NULL);
|
|
|
|
void Resume();
|
|
|
|
int GetValue() const;
|
|
wxString GetMessage() const;
|
|
|
|
void SetRange(int maximum);
|
|
|
|
// Return whether "Cancel" or "Skip" button was pressed, always return
|
|
// false if the corresponding button is not shown.
|
|
bool WasSkipped() const;
|
|
bool WasCancelled() const;
|
|
|
|
virtual void SetTitle(const wxString& title);
|
|
virtual wxString GetTitle() const;
|
|
|
|
virtual bool Show( bool show = true );
|
|
|
|
// Must provide overload to avoid hiding it (and warnings about it)
|
|
virtual void Update() { wxGenericProgressDialog::Update(); }
|
|
|
|
private:
|
|
// Performs common routines to Update() and Pulse(). Requires the
|
|
// shared object to have been entered.
|
|
bool DoNativeBeforeUpdate(bool *skip);
|
|
|
|
// Updates the various timing informations for both determinate
|
|
// and indeterminate modes. Requires the shared object to have
|
|
// been entered.
|
|
void UpdateExpandedInformation(int value);
|
|
|
|
wxProgressDialogTaskRunner *m_taskDialogRunner;
|
|
|
|
wxProgressDialogSharedData *m_sharedData;
|
|
|
|
// Store the message and title we currently use to be able to return it
|
|
// from Get{Message,Title}()
|
|
wxString m_message,
|
|
m_title;
|
|
|
|
wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxProgressDialog);
|
|
};
|
|
|
|
#endif // _WX_PROGDLG_H_
|