X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkprogressbar.h;h=9ae044b49cdea82c962597427519a14eb3ddbc29;hb=HEAD;hp=a91839a0d6a7a3f530e2d7acbae9f2db5417f735;hpb=489c376bf4b98f0e521f6ab4992a1c9ac7529657;p=~andy%2Fgtk diff --git a/gtk/gtkprogressbar.h b/gtk/gtkprogressbar.h index a91839a0d..9ae044b49 100644 --- a/gtk/gtkprogressbar.h +++ b/gtk/gtkprogressbar.h @@ -12,111 +12,62 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ /* * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __GTK_PROGRESS_BAR_H__ #define __GTK_PROGRESS_BAR_H__ +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif -#include -#include - - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +#include +G_BEGIN_DECLS #define GTK_TYPE_PROGRESS_BAR (gtk_progress_bar_get_type ()) -#define GTK_PROGRESS_BAR(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_PROGRESS_BAR, GtkProgressBar)) -#define GTK_PROGRESS_BAR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_PROGRESS_BAR, GtkProgressBarClass)) -#define GTK_IS_PROGRESS_BAR(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_PROGRESS_BAR)) -#define GTK_IS_PROGRESS_BAR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PROGRESS_BAR)) -#define GTK_PROGRESS_BAR_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_PROGRESS_BAR, GtkProgressBarClass)) +#define GTK_PROGRESS_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PROGRESS_BAR, GtkProgressBar)) +#define GTK_PROGRESS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_PROGRESS_BAR, GtkProgressBarClass)) +#define GTK_IS_PROGRESS_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PROGRESS_BAR)) +#define GTK_IS_PROGRESS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PROGRESS_BAR)) +#define GTK_PROGRESS_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PROGRESS_BAR, GtkProgressBarClass)) -typedef struct _GtkProgressBar GtkProgressBar; -typedef struct _GtkProgressBarClass GtkProgressBarClass; - -typedef enum -{ - GTK_PROGRESS_CONTINUOUS, - GTK_PROGRESS_DISCRETE -} GtkProgressBarStyle; - -typedef enum -{ - GTK_PROGRESS_LEFT_TO_RIGHT, - GTK_PROGRESS_RIGHT_TO_LEFT, - GTK_PROGRESS_BOTTOM_TO_TOP, - GTK_PROGRESS_TOP_TO_BOTTOM -} GtkProgressBarOrientation; +typedef struct _GtkProgressBar GtkProgressBar; +typedef struct _GtkProgressBarPrivate GtkProgressBarPrivate; +typedef struct _GtkProgressBarClass GtkProgressBarClass; struct _GtkProgressBar { - GtkProgress progress; - - GtkProgressBarStyle bar_style; - GtkProgressBarOrientation orientation; - - guint blocks; - gint in_block; - - gint activity_pos; - guint activity_step; - guint activity_blocks; + GtkWidget parent; - gdouble pulse_fraction; - - guint activity_dir : 1; + /*< private >*/ + GtkProgressBarPrivate *priv; }; struct _GtkProgressBarClass { - GtkProgressClass parent_class; + GtkWidgetClass parent_class; + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); }; -GtkType gtk_progress_bar_get_type (void) G_GNUC_CONST; +GType gtk_progress_bar_get_type (void) G_GNUC_CONST; GtkWidget* gtk_progress_bar_new (void); -/* - * GtkProgress/GtkProgressBar had serious problems in GTK 1.2. - * - * - Only 3 or 4 functions are really needed for 95% of progress - * interfaces; GtkProgress[Bar] had about 25 functions, and - * didn't even include these 3 or 4. - * - In activity mode, the API involves setting the adjustment - * to any random value, just to have the side effect of - * calling the progress bar update function - the adjustment - * is totally ignored in activity mode - * - You set the activity step as a pixel value, which means to - * set the activity step you basically need to connect to - * size_allocate - * - There are ctree_set_expander_style()-functions, to randomly - * change look-and-feel for no good reason - * - The split between GtkProgress and GtkProgressBar makes no sense - * to me whatsoever. - * - * This was a big wart on GTK and made people waste lots of time, - * both learning and using the interface. - * - * So, I have added what I feel is the correct API, and marked all the - * rest deprecated. However, the changes are 100% backward-compatible and - * should break no existing code. - * - * The following 9 functions are the new programming interface. - */ void gtk_progress_bar_pulse (GtkProgressBar *pbar); void gtk_progress_bar_set_text (GtkProgressBar *pbar, const gchar *text); @@ -125,40 +76,22 @@ void gtk_progress_bar_set_fraction (GtkProgressBar *pbar, void gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar, gdouble fraction); -void gtk_progress_bar_set_orientation (GtkProgressBar *pbar, - GtkProgressBarOrientation orientation); - -G_CONST_RETURN gchar* gtk_progress_bar_get_text (GtkProgressBar *pbar); -gdouble gtk_progress_bar_get_fraction (GtkProgressBar *pbar); -gdouble gtk_progress_bar_get_pulse_step (GtkProgressBar *pbar); +void gtk_progress_bar_set_inverted (GtkProgressBar *pbar, + gboolean inverted); -GtkProgressBarOrientation gtk_progress_bar_get_orientation (GtkProgressBar *pbar); - - -#ifndef GTK_DISABLE_DEPRECATED - -/* Everything below here is deprecated */ -GtkWidget* gtk_progress_bar_new_with_adjustment (GtkAdjustment *adjustment); -void gtk_progress_bar_set_bar_style (GtkProgressBar *pbar, - GtkProgressBarStyle style); -void gtk_progress_bar_set_discrete_blocks (GtkProgressBar *pbar, - guint blocks); -/* set_activity_step() is not only deprecated, it doesn't even work. - * (Of course, it wasn't usable anyway, you had to set it from a size_allocate - * handler or something) - */ -void gtk_progress_bar_set_activity_step (GtkProgressBar *pbar, - guint step); -void gtk_progress_bar_set_activity_blocks (GtkProgressBar *pbar, - guint blocks); -void gtk_progress_bar_update (GtkProgressBar *pbar, - gdouble percentage); +const gchar * gtk_progress_bar_get_text (GtkProgressBar *pbar); +gdouble gtk_progress_bar_get_fraction (GtkProgressBar *pbar); +gdouble gtk_progress_bar_get_pulse_step (GtkProgressBar *pbar); -#endif /* GTK_DISABLE_DEPRECATED */ +gboolean gtk_progress_bar_get_inverted (GtkProgressBar *pbar); +void gtk_progress_bar_set_ellipsize (GtkProgressBar *pbar, + PangoEllipsizeMode mode); +PangoEllipsizeMode gtk_progress_bar_get_ellipsize (GtkProgressBar *pbar); -#ifdef __cplusplus -} -#endif /* __cplusplus */ +void gtk_progress_bar_set_show_text (GtkProgressBar *pbar, + gboolean show_text); +gboolean gtk_progress_bar_get_show_text (GtkProgressBar *pbar); +G_END_DECLS #endif /* __GTK_PROGRESS_BAR_H__ */