Reset progress state to no progress when destructing.
Author: Chaobin Zhang git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -130,6 +130,22 @@ private:
|
|||||||
wxDECLARE_NO_COPY_CLASS(wxTaskBarButton);
|
wxDECLARE_NO_COPY_CLASS(wxTaskBarButton);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class WXDLLIMPEXP_CORE wxAppProgressIndicator
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxAppProgressIndicator(wxTopLevelWindow *parent, int maxValue);
|
||||||
|
virtual ~wxAppProgressIndicator();
|
||||||
|
bool Update(int value);
|
||||||
|
bool Pulse();
|
||||||
|
|
||||||
|
private:
|
||||||
|
void Init();
|
||||||
|
|
||||||
|
wxTopLevelWindow *m_parent;
|
||||||
|
int m_maxValue;
|
||||||
|
wxScopedPtr<wxTaskBarButton> m_taskBarButton;
|
||||||
|
};
|
||||||
|
|
||||||
enum WXDLLIMPEXP_CORE wxJumpListItemType {
|
enum WXDLLIMPEXP_CORE wxJumpListItemType {
|
||||||
wxJUMP_LIST_SEPARATOR,
|
wxJUMP_LIST_SEPARATOR,
|
||||||
wxJUMP_LIST_TASK,
|
wxJUMP_LIST_TASK,
|
||||||
@@ -172,22 +188,6 @@ private:
|
|||||||
int m_iconIndex;
|
int m_iconIndex;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WXDLLIMPEXP_CORE wxAppProgressIndicator
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
wxAppProgressIndicator(wxTopLevelWindow *parent, int maxValue);
|
|
||||||
virtual ~wxAppProgressIndicator() { }
|
|
||||||
bool Update(int value);
|
|
||||||
bool Pulse();
|
|
||||||
|
|
||||||
private:
|
|
||||||
void Init();
|
|
||||||
|
|
||||||
wxTopLevelWindow *m_parent;
|
|
||||||
int m_maxValue;
|
|
||||||
wxScopedPtr<wxTaskBarButton> m_taskBarButton;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef wxVector<wxJumpListItem> wxJumpListItems;
|
typedef wxVector<wxJumpListItem> wxJumpListItems;
|
||||||
|
|
||||||
class WXDLLIMPEXP_CORE wxJumpList
|
class WXDLLIMPEXP_CORE wxJumpList
|
||||||
|
@@ -422,7 +422,7 @@ void MyFrame::OnShowProgressDialog(wxCommandEvent& WXUNUSED(event))
|
|||||||
NULL,
|
NULL,
|
||||||
wxPD_AUTO_HIDE
|
wxPD_AUTO_HIDE
|
||||||
);
|
);
|
||||||
wxAppProgressIndicator indicator(&dlg, PROGRESS_COUNT);
|
wxAppProgressIndicator indicator(this, PROGRESS_COUNT);
|
||||||
for ( int i = 0; i <= PROGRESS_COUNT; i++ )
|
for ( int i = 0; i <= PROGRESS_COUNT; i++ )
|
||||||
{
|
{
|
||||||
if ( !dlg.Update(i) )
|
if ( !dlg.Update(i) )
|
||||||
@@ -442,7 +442,7 @@ void MyFrame::OnPulseProgressDialog(wxCommandEvent& WXUNUSED(event))
|
|||||||
NULL,
|
NULL,
|
||||||
wxPD_AUTO_HIDE
|
wxPD_AUTO_HIDE
|
||||||
);
|
);
|
||||||
wxAppProgressIndicator indicator(&dlg, PROGRESS_COUNT);
|
wxAppProgressIndicator indicator(this, PROGRESS_COUNT);
|
||||||
for ( int i = 0; i <= PROGRESS_COUNT; i++ )
|
for ( int i = 0; i <= PROGRESS_COUNT; i++ )
|
||||||
{
|
{
|
||||||
if ( !dlg.Pulse() )
|
if ( !dlg.Pulse() )
|
||||||
|
@@ -706,6 +706,11 @@ wxAppProgressIndicator::wxAppProgressIndicator(wxTopLevelWindow *parent, int max
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxAppProgressIndicator::~wxAppProgressIndicator()
|
||||||
|
{
|
||||||
|
m_taskBarButton->SetProgressState(wxTASKBAR_BUTTON_NO_PROGRESS);
|
||||||
|
}
|
||||||
|
|
||||||
bool wxAppProgressIndicator::Update(int value)
|
bool wxAppProgressIndicator::Update(int value)
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( value <= m_maxValue, wxT("invalid progress value") );
|
wxASSERT_MSG( value <= m_maxValue, wxT("invalid progress value") );
|
||||||
|
Reference in New Issue
Block a user