2005-05-13 16:47:18 -04:00
|
|
|
// -*- c++ -*-
|
|
|
|
// Generated by gtkmmproc -- DO NOT MODIFY!
|
|
|
|
#ifndef _GTKMM_PROGRESSBAR_H
|
|
|
|
#define _GTKMM_PROGRESSBAR_H
|
|
|
|
|
2007-11-12 18:44:49 -05:00
|
|
|
|
2005-05-13 16:47:18 -04:00
|
|
|
#include <glibmm.h>
|
|
|
|
|
|
|
|
/* $Id$ */
|
|
|
|
|
|
|
|
/* progressbar.h
|
|
|
|
*
|
|
|
|
* Copyright (C) 1998-2002 The gtkmm Development Team
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Library General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Library General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Library General Public
|
|
|
|
* License along with this library; if not, write to the Free
|
|
|
|
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <gtkmm/widget.h>
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
|
|
|
typedef struct _GtkProgressBar GtkProgressBar;
|
|
|
|
typedef struct _GtkProgressBarClass GtkProgressBarClass;
|
|
|
|
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
|
|
|
|
|
|
|
|
|
|
|
namespace Gtk
|
|
|
|
{ class ProgressBar_Class; } // namespace Gtk
|
|
|
|
namespace Gtk
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
/** @addtogroup gtkmmEnums Enums and Flags */
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @ingroup gtkmmEnums
|
|
|
|
*/
|
|
|
|
enum ProgressBarStyle
|
|
|
|
{
|
|
|
|
PROGRESS_CONTINUOUS,
|
|
|
|
PROGRESS_DISCRETE
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace Gtk
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
|
|
|
namespace Glib
|
|
|
|
{
|
|
|
|
|
|
|
|
template <>
|
|
|
|
class Value<Gtk::ProgressBarStyle> : public Glib::Value_Enum<Gtk::ProgressBarStyle>
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
static GType value_type() G_GNUC_CONST;
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace Glib
|
|
|
|
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
|
|
|
|
|
|
|
|
|
|
|
namespace Gtk
|
|
|
|
{
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @ingroup gtkmmEnums
|
|
|
|
*/
|
|
|
|
enum ProgressBarOrientation
|
|
|
|
{
|
|
|
|
PROGRESS_LEFT_TO_RIGHT,
|
|
|
|
PROGRESS_RIGHT_TO_LEFT,
|
|
|
|
PROGRESS_BOTTOM_TO_TOP,
|
|
|
|
PROGRESS_TOP_TO_BOTTOM
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace Gtk
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
|
|
|
namespace Glib
|
|
|
|
{
|
|
|
|
|
|
|
|
template <>
|
|
|
|
class Value<Gtk::ProgressBarOrientation> : public Glib::Value_Enum<Gtk::ProgressBarOrientation>
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
static GType value_type() G_GNUC_CONST;
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace Glib
|
|
|
|
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
|
|
|
|
|
|
|
|
|
|
|
namespace Gtk
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
/** A widget which indicates progress visually.
|
|
|
|
*
|
|
|
|
* The Gtk::ProgressBar is typically used to display the progress of a long
|
|
|
|
* running operation. It provides a visual clue that processing is underway.
|
|
|
|
* The Gtk::ProgressBar can be used in two different modes: percentage mode
|
|
|
|
* and activity mode.
|
|
|
|
*
|
|
|
|
* When an application can determine how much work needs to take place (e.g.
|
|
|
|
* read a fixed number of bytes from a file) and can monitor its progress,
|
|
|
|
* it can use the Gtk::ProgressBar in percentage mode and the user sees a
|
|
|
|
* growing bar indicating the percentage of the work that has been
|
|
|
|
* completed. In this mode, the application is required to call
|
|
|
|
* set_fraction() periodically to update the progress bar.
|
|
|
|
*
|
|
|
|
* When an application has no accurate way of knowing the amount of work to
|
|
|
|
* do, it can use the Gtk::ProgressBar in activity mode, which shows
|
|
|
|
* activity by a block moving back and forth within the progress area. In
|
|
|
|
* this mode, the application is required to call pulse() perodically to
|
|
|
|
* update the progress bar.
|
|
|
|
*
|
|
|
|
* There is quite a bit of flexibility provided to control the appearance of
|
|
|
|
* the Gtk::ProgressBar. Functions are provided to control the orientation of
|
|
|
|
* the bar, optional text can be displayed along with the bar, and the step
|
|
|
|
* size used in activity mode can be set.
|
|
|
|
*
|
|
|
|
* @ingroup Widgets
|
|
|
|
*/
|
|
|
|
|
|
|
|
class ProgressBar : public Widget
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
|
|
|
typedef ProgressBar CppObjectType;
|
|
|
|
typedef ProgressBar_Class CppClassType;
|
|
|
|
typedef GtkProgressBar BaseObjectType;
|
|
|
|
typedef GtkProgressBarClass BaseClassType;
|
|
|
|
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
|
|
|
|
|
|
|
virtual ~ProgressBar();
|
|
|
|
|
|
|
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
|
|
|
|
|
|
|
private:
|
|
|
|
friend class ProgressBar_Class;
|
|
|
|
static CppClassType progressbar_class_;
|
|
|
|
|
|
|
|
// noncopyable
|
|
|
|
ProgressBar(const ProgressBar&);
|
|
|
|
ProgressBar& operator=(const ProgressBar&);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
explicit ProgressBar(const Glib::ConstructParams& construct_params);
|
|
|
|
explicit ProgressBar(GtkProgressBar* castitem);
|
|
|
|
|
|
|
|
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
|
|
|
|
|
|
|
|
public:
|
|
|
|
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
|
|
|
static GType get_type() G_GNUC_CONST;
|
|
|
|
static GType get_base_type() G_GNUC_CONST;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
///Provides access to the underlying C GtkObject.
|
|
|
|
GtkProgressBar* gobj() { return reinterpret_cast<GtkProgressBar*>(gobject_); }
|
|
|
|
|
|
|
|
///Provides access to the underlying C GtkObject.
|
|
|
|
const GtkProgressBar* gobj() const { return reinterpret_cast<GtkProgressBar*>(gobject_); }
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
//C++ methods used to invoke GTK+ virtual functions:
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_VFUNCS_ENABLED
|
|
|
|
#endif //GLIBMM_VFUNCS_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
|
|
|
protected:
|
|
|
|
//GTK+ Virtual Functions (override these to change behaviour):
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_VFUNCS_ENABLED
|
|
|
|
#endif //GLIBMM_VFUNCS_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
|
|
|
//Default Signal Handlers::
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
|
|
|
|
#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
ProgressBar();
|
|
|
|
|
|
|
|
|
|
|
|
/** Indicates that some progress is made, but you don't know how much.
|
|
|
|
* Causes the progress bar to enter "activity mode," where a block
|
|
|
|
* bounces back and forth. Each call to pulse()
|
|
|
|
* causes the block to move by a little bit (the amount of movement
|
|
|
|
* per pulse is determined by set_pulse_step()).
|
|
|
|
*/
|
|
|
|
void pulse();
|
|
|
|
|
|
|
|
|
|
|
|
/** Retrieves the text displayed superimposed on the progress bar,
|
2007-11-12 18:44:49 -05:00
|
|
|
* if any.
|
|
|
|
* @return Text.
|
2005-05-13 16:47:18 -04:00
|
|
|
*/
|
|
|
|
Glib::ustring get_text() const;
|
|
|
|
|
|
|
|
/** Causes the given @a text to appear superimposed on the progress bar.
|
2007-12-18 01:05:55 -05:00
|
|
|
* @param text A UTF-8 string, or <tt>0</tt>.
|
2005-05-13 16:47:18 -04:00
|
|
|
*/
|
|
|
|
void set_text(const Glib::ustring& text);
|
|
|
|
|
|
|
|
|
2007-12-18 01:05:55 -05:00
|
|
|
/** Return value: a fraction from 0.0 to 1.0
|
2005-05-13 16:47:18 -04:00
|
|
|
* @return A fraction from 0.0 to 1.0.
|
|
|
|
*/
|
|
|
|
double get_fraction() const;
|
|
|
|
|
|
|
|
/** Causes the progress bar to "fill in" the given fraction
|
|
|
|
* of the bar. The fraction should be between 0.0 and 1.0,
|
|
|
|
* inclusive.
|
|
|
|
* @param fraction Fraction of the task that's been completed.
|
|
|
|
*/
|
|
|
|
void set_fraction(double fraction);
|
|
|
|
|
|
|
|
|
|
|
|
/** Retrieves the pulse step set with set_pulse_step()
|
|
|
|
* @return A fraction from 0.0 to 1.0.
|
|
|
|
*/
|
|
|
|
double get_pulse_step() const;
|
|
|
|
|
|
|
|
/** Sets the fraction of total progress bar length to move the
|
|
|
|
* bouncing block for each call to pulse().
|
|
|
|
* @param fraction Fraction between 0.0 and 1.0.
|
|
|
|
*/
|
|
|
|
void set_pulse_step(double fraction);
|
|
|
|
|
|
|
|
|
|
|
|
/** Causes the progress bar to switch to a different orientation
|
|
|
|
* (left-to-right, right-to-left, top-to-bottom, or bottom-to-top).
|
|
|
|
* @param orientation Orientation of the progress bar.
|
|
|
|
*/
|
|
|
|
void set_orientation(ProgressBarOrientation orientation = PROGRESS_LEFT_TO_RIGHT);
|
|
|
|
|
|
|
|
/** Retrieves the current progress bar orientation.
|
|
|
|
* @return Orientation of the progress bar.
|
|
|
|
*/
|
|
|
|
ProgressBarOrientation get_orientation() const;
|
|
|
|
|
|
|
|
|
|
|
|
/** Sets the mode used to ellipsize (add an ellipsis: "...") the text
|
|
|
|
* if there is not enough space to render the entire string.
|
|
|
|
*
|
2007-11-12 18:44:49 -05:00
|
|
|
* @newin2p6
|
2005-05-13 16:47:18 -04:00
|
|
|
* @param mode A Pango::EllipsizeMode.
|
|
|
|
*/
|
|
|
|
void set_ellipsize(Pango::EllipsizeMode mode);
|
|
|
|
|
2007-12-18 01:05:55 -05:00
|
|
|
/** Return value: Pango::EllipsizeMode
|
2007-11-12 18:44:49 -05:00
|
|
|
* @return Pango::EllipsizeMode
|
|
|
|
*
|
|
|
|
* @newin2p6.
|
|
|
|
*/
|
2005-05-13 16:47:18 -04:00
|
|
|
Pango::EllipsizeMode get_ellipsize() const;
|
|
|
|
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_PROPERTIES_ENABLED
|
|
|
|
/** The fraction of total work that has been completed.
|
2005-05-13 16:47:18 -04:00
|
|
|
*
|
|
|
|
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
|
|
|
|
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
|
|
|
|
* the value of the property changes.
|
|
|
|
*/
|
|
|
|
Glib::PropertyProxy<double> property_fraction() ;
|
2007-11-12 18:44:49 -05:00
|
|
|
#endif //#GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
/** The fraction of total work that has been completed.
|
|
|
|
*
|
|
|
|
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
|
|
|
|
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
|
|
|
|
* the value of the property changes.
|
|
|
|
*/
|
|
|
|
Glib::PropertyProxy_ReadOnly<double> property_fraction() const;
|
2007-11-12 18:44:49 -05:00
|
|
|
#endif //#GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_PROPERTIES_ENABLED
|
|
|
|
/** The fraction of total progress to move the bouncing block when pulsed.
|
2005-05-13 16:47:18 -04:00
|
|
|
*
|
|
|
|
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
|
|
|
|
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
|
|
|
|
* the value of the property changes.
|
|
|
|
*/
|
|
|
|
Glib::PropertyProxy<double> property_pulse_step() ;
|
2007-11-12 18:44:49 -05:00
|
|
|
#endif //#GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
/** The fraction of total progress to move the bouncing block when pulsed.
|
|
|
|
*
|
|
|
|
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
|
|
|
|
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
|
|
|
|
* the value of the property changes.
|
|
|
|
*/
|
|
|
|
Glib::PropertyProxy_ReadOnly<double> property_pulse_step() const;
|
2007-11-12 18:44:49 -05:00
|
|
|
#endif //#GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_PROPERTIES_ENABLED
|
|
|
|
/** Orientation and growth direction of the progress bar.
|
2005-05-13 16:47:18 -04:00
|
|
|
*
|
|
|
|
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
|
|
|
|
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
|
|
|
|
* the value of the property changes.
|
|
|
|
*/
|
|
|
|
Glib::PropertyProxy<ProgressBarOrientation> property_orientation() ;
|
2007-11-12 18:44:49 -05:00
|
|
|
#endif //#GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
/** Orientation and growth direction of the progress bar.
|
|
|
|
*
|
|
|
|
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
|
|
|
|
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
|
|
|
|
* the value of the property changes.
|
|
|
|
*/
|
|
|
|
Glib::PropertyProxy_ReadOnly<ProgressBarOrientation> property_orientation() const;
|
2007-11-12 18:44:49 -05:00
|
|
|
#endif //#GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_PROPERTIES_ENABLED
|
|
|
|
/** Text to be displayed in the progress bar.
|
2005-05-13 16:47:18 -04:00
|
|
|
*
|
|
|
|
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
|
|
|
|
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
|
|
|
|
* the value of the property changes.
|
|
|
|
*/
|
|
|
|
Glib::PropertyProxy<Glib::ustring> property_text() ;
|
2007-11-12 18:44:49 -05:00
|
|
|
#endif //#GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
/** Text to be displayed in the progress bar.
|
|
|
|
*
|
|
|
|
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
|
|
|
|
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
|
|
|
|
* the value of the property changes.
|
|
|
|
*/
|
|
|
|
Glib::PropertyProxy_ReadOnly<Glib::ustring> property_text() const;
|
2007-11-12 18:44:49 -05:00
|
|
|
#endif //#GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_PROPERTIES_ENABLED
|
|
|
|
/** The preferred place to ellipsize the string
|
2005-05-13 16:47:18 -04:00
|
|
|
*
|
|
|
|
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
|
|
|
|
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
|
|
|
|
* the value of the property changes.
|
|
|
|
*/
|
|
|
|
Glib::PropertyProxy<bool> property_ellipsize() ;
|
2007-11-12 18:44:49 -05:00
|
|
|
#endif //#GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
2007-11-12 18:44:49 -05:00
|
|
|
#ifdef GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
/** The preferred place to ellipsize the string
|
|
|
|
*
|
|
|
|
* You rarely need to use properties because there are get_ and set_ methods for almost all of them.
|
|
|
|
* @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
|
|
|
|
* the value of the property changes.
|
|
|
|
*/
|
|
|
|
Glib::PropertyProxy_ReadOnly<bool> property_ellipsize() const;
|
2007-11-12 18:44:49 -05:00
|
|
|
#endif //#GLIBMM_PROPERTIES_ENABLED
|
2005-05-13 16:47:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace Gtk
|
|
|
|
|
|
|
|
|
|
|
|
namespace Glib
|
|
|
|
{
|
2007-12-18 01:05:55 -05:00
|
|
|
/** A Glib::wrap() method for this object.
|
|
|
|
*
|
|
|
|
* @param object The C instance.
|
2005-05-13 16:47:18 -04:00
|
|
|
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
|
|
|
|
* @result A C++ instance that wraps this C instance.
|
2007-12-18 01:05:55 -05:00
|
|
|
*
|
|
|
|
* @relates Gtk::ProgressBar
|
2005-05-13 16:47:18 -04:00
|
|
|
*/
|
|
|
|
Gtk::ProgressBar* wrap(GtkProgressBar* object, bool take_copy = false);
|
2007-11-12 18:44:49 -05:00
|
|
|
} //namespace Glib
|
|
|
|
|
|
|
|
|
2005-05-13 16:47:18 -04:00
|
|
|
#endif /* _GTKMM_PROGRESSBAR_H */
|
|
|
|
|