merged 2.4 branch into the trunk
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -15,18 +15,22 @@
|
||||
|
||||
#if wxUSE_GAUGE
|
||||
|
||||
#include <gdk/gdk.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxGauge
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxGauge,wxControl)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxGauge, wxControl)
|
||||
|
||||
bool wxGauge::Create( wxWindow *parent, wxWindowID id, int range,
|
||||
const wxPoint& pos, const wxSize& size,
|
||||
long style, const wxValidator& validator, const wxString& name )
|
||||
bool wxGauge::Create( wxWindow *parent,
|
||||
wxWindowID id,
|
||||
int range,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size,
|
||||
long style,
|
||||
const wxValidator& validator,
|
||||
const wxString& name )
|
||||
{
|
||||
m_needParent = TRUE;
|
||||
|
||||
@@ -38,12 +42,13 @@ bool wxGauge::Create( wxWindow *parent, wxWindowID id, int range,
|
||||
}
|
||||
|
||||
m_rangeMax = range;
|
||||
m_gaugePos = 0;
|
||||
m_useProgressBar = TRUE;
|
||||
|
||||
m_widget = gtk_progress_bar_new();
|
||||
if( style & wxGA_VERTICAL)
|
||||
gtk_progress_bar_set_orientation( GTK_PROGRESS_BAR(m_widget) , GTK_PROGRESS_BOTTOM_TO_TOP );
|
||||
if ( style & wxGA_VERTICAL )
|
||||
{
|
||||
gtk_progress_bar_set_orientation( GTK_PROGRESS_BAR(m_widget),
|
||||
GTK_PROGRESS_BOTTOM_TO_TOP );
|
||||
}
|
||||
|
||||
m_parent->DoAddChild( this );
|
||||
|
||||
@@ -54,20 +59,31 @@ bool wxGauge::Create( wxWindow *parent, wxWindowID id, int range,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void wxGauge::SetRange( int r )
|
||||
void wxGauge::DoSetGauge()
|
||||
{
|
||||
m_rangeMax = r;
|
||||
if (m_gaugePos > m_rangeMax) m_gaugePos = m_rangeMax;
|
||||
wxASSERT_MSG( 0 <= m_gaugePos && m_gaugePos <= m_rangeMax,
|
||||
_T("invalid gauge position in DoSetGauge()") );
|
||||
|
||||
gtk_progress_bar_update( GTK_PROGRESS_BAR(m_widget), ((float)m_gaugePos)/m_rangeMax );
|
||||
gtk_progress_bar_update( GTK_PROGRESS_BAR(m_widget),
|
||||
m_rangeMax ? ((float)m_gaugePos)/m_rangeMax : 0.);
|
||||
}
|
||||
|
||||
void wxGauge::SetRange( int range )
|
||||
{
|
||||
m_rangeMax = range;
|
||||
if (m_gaugePos > m_rangeMax)
|
||||
m_gaugePos = m_rangeMax;
|
||||
|
||||
DoSetGauge();
|
||||
}
|
||||
|
||||
void wxGauge::SetValue( int pos )
|
||||
{
|
||||
m_gaugePos = pos;
|
||||
if (m_gaugePos > m_rangeMax) m_gaugePos = m_rangeMax;
|
||||
wxCHECK_RET( pos <= m_rangeMax, _T("invalid value in wxGauge::SetValue()") );
|
||||
|
||||
gtk_progress_bar_update( GTK_PROGRESS_BAR(m_widget), ((float)m_gaugePos)/m_rangeMax );
|
||||
m_gaugePos = pos;
|
||||
|
||||
DoSetGauge();
|
||||
}
|
||||
|
||||
int wxGauge::GetRange() const
|
||||
|
Reference in New Issue
Block a user