3f84cb17ca
This is a simple animated control indicating some program activity. Provide native GTK+ (for > 2.20) and OS X implementations as well as a generic one used under MSW. Update the sample and the documentation.
67 lines
2.4 KiB
C++
67 lines
2.4 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/gtk/activityindicator.h
|
|
// Purpose: Declaration of wxActivityIndicator for wxGTK.
|
|
// Author: Vadim Zeitlin
|
|
// Created: 2015-03-05
|
|
// Copyright: (c) 2015 Vadim Zeitlin <vadim@wxwidgets.org>
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_GTK_ACTIVITYINDICATOR_H_
|
|
#define _WX_GTK_ACTIVITYINDICATOR_H_
|
|
|
|
// With GTK+ 3 we can always be certain that this control is available, so use
|
|
// the normal base class. With GTK+ 2 however, we may determine during run-time
|
|
// that we need to fall back to the generic implementation because the GTK+
|
|
// version is earlier than 2.20, so we need to inherit from the generic class.
|
|
#ifdef __WXGTK3__
|
|
#define wxActivityIndicatorGtkBase wxActivityIndicatorBase
|
|
#else
|
|
#include "wx/generic/activityindicator.h"
|
|
|
|
#define wxActivityIndicatorGtkBase wxActivityIndicatorGeneric
|
|
#endif
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxActivityIndicator: implementation using GtkSpinner.
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_ADV wxActivityIndicator : public wxActivityIndicatorGtkBase
|
|
{
|
|
public:
|
|
wxActivityIndicator()
|
|
{
|
|
}
|
|
|
|
explicit
|
|
wxActivityIndicator(wxWindow* parent,
|
|
wxWindowID winid = wxID_ANY,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxString& name = wxActivityIndicatorNameStr)
|
|
{
|
|
Create(parent, winid, pos, size, style, name);
|
|
}
|
|
|
|
bool Create(wxWindow* parent,
|
|
wxWindowID winid = wxID_ANY,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxString& name = wxActivityIndicatorNameStr);
|
|
|
|
virtual void Start() wxOVERRIDE;
|
|
virtual void Stop() wxOVERRIDE;
|
|
virtual bool IsRunning() const wxOVERRIDE;
|
|
|
|
protected:
|
|
virtual wxSize DoGetBestClientSize() const wxOVERRIDE;
|
|
|
|
private:
|
|
wxDECLARE_DYNAMIC_CLASS(wxActivityIndicator);
|
|
wxDECLARE_NO_COPY_CLASS(wxActivityIndicator);
|
|
};
|
|
|
|
#endif // _WX_GTK_ACTIVITYINDICATOR_H_
|