Commit Graph

204 Commits

Author SHA1 Message Date
Matthias Clasen
fffa84b843 progressbar: Convert to gadgets
Use gadgets for the text, the trough and the progress.
2015-12-15 08:41:16 -05:00
Benjamin Otte
971a277419 cssnode: Change style-changed signal
Instead of having old and new style, now have a GtkCssStyleChange opaque
object that will compute the changes you are interested in for you.

This simplifies change signal handlers quite a bit and avoids lots of
repeated computation in every signal handler.
2015-12-12 02:16:04 +01:00
Matthias Clasen
43f822e70f Annotate deprecated style properties
Use G_PARAM_DEPRECATED with deprecated style properties.
This will make it easier to identify and remove such stale
properties from css, since it will now trigger warnings.
2015-11-16 15:13:33 -05:00
Matthias Clasen
c6d5accf9c progressbar: Ignore x/yspacing style properties
These are not really useful, so ignore and deprecate them.
2015-11-16 07:20:18 -05:00
Matthias Clasen
3007ad6f3b Cosmetic: Avoid explicit state variables
Using the state of the context makes this more obviously correct.
2015-11-14 12:32:57 -05:00
Matthias Clasen
9d4c78c2d0 progressbar: Add a CSS node for trough
This is better, since the trough doesn't fill up the allocation
entirely.
2015-11-04 12:32:15 -05:00
Matthias Clasen
332ea5f8ec progressbar: Add diagrams to CSS documentation 2015-11-03 14:27:35 -05:00
Matthias Clasen
479d64e89a progress bar: Add CSS documentation 2015-10-31 20:30:15 -04:00
Matthias Clasen
73704d98cc progressbar: Convert to CSS nodes
Use the element names progressbar and progress.
2015-10-31 20:20:13 -04:00
Matthias Clasen
bfe141c011 progressbar: Convert to g_object_notify_by_pspec
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:35 -04:00
Matthias Clasen
eb715c3118 GtkProgressBar: Adjust docs to new style
Don't talk about superimposed text, since we don't do that
anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=748784
2015-05-07 22:07:41 -04:00
Lars Uebernickel
ada97b0928 gtkprogressbar: fix size allocation
As of 74405cc, progress bars use a new design with values drawn on top
(or to the left) of the through instead of inside of it. This change
brought a number of regressions: the min-horizontal-bar-height and
min-vertical-bar-width style properties are not respected anymore. For
vertical progress bars, the value was drawn too close to the bar and not
centered vertically.

Fix this by respecting the style properties and drawing the value label
at the correct position.

Also, the xspacing and yspacing properties didn't server any apparent
purpose. Change their semantics to mean "the spacing between the label
and the bar". Hence, they only need to be added to the size request when
showing the label. Since we are changing semantics anyway, reduce their
default values from 7 to 2, to avoid and excessive gap.

https://bugzilla.gnome.org/show_bug.cgi?id=746688
2015-03-28 19:00:06 -04:00
Benjamin Otte
3534225c76 progressbar: Make the trough the default element
Gets rid of a bunch of save/restore calls and allows animating the
background (but not the slider, booo!)
2014-10-13 04:39:58 +02:00
Matthias Clasen
67b4f8ea75 GtkProgressBar: Mark the default text for translation
At the same time, use a small space before %.
This matches what is done in GtkCellRendererProgress.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Benjamin Otte
b5a8b7ef3b widget: Make _gtk_set_simple_clip() take an optional content clip 2014-08-21 00:54:07 +02:00
Benjamin Otte
6c06bd55da gtk: Don't use gtk_render_activity()
... in places where we draw a background. This was changed for GTK 3.0.0
to allow animations, but these days it doesn't make sense anymore to use
gtk_render_activity() for backgrounds.
2014-08-16 16:34:14 +02:00
Matthias Clasen
a9201b8379 GtkProgressBar: Add style classes for edges
Add left/right/top/bottom style classes according to which edge(s)
of the progressbar the progress is adjacent to. Only for a fraction
of 1.0 will we set more than one edge.
2014-07-19 00:40:09 -04:00
Matthias Clasen
18a92992a0 GtkProgressBar: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:39:11 -04:00
Matthias Clasen
c2907b8532 GtkProgressBar: implement clipping
This allows progress bars to have shadows.

https://bugzilla.gnome.org/show_bug.cgi?id=733361
2014-07-18 16:32:46 -04:00
Matthias Clasen
f446ffdd5d GtkProgressbar: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:07 -04:00
William Jon McCann
74405cc964 Update the design for progress bars
We now use a narrower trough and paint the optional text
beside the trough instead of inside it. This makes for a much
cleaner appearance and more readable text.
2014-05-07 09:56:35 -04:00
William Jon McCann
469d333aa2 docs: use Returns: consistently
Instead of Return value:
2014-02-19 18:56:05 -05:00
William Jon McCann
e34bd4137d docs: use apostrophes in *n't 2014-02-07 13:32:47 -05:00
William Jon McCann
7a208fbbf3 docs: use proper apostrophe
https://wiki.gnome.org/Design/OS/Typography
2014-02-07 13:06:10 -05:00
William Jon McCann
2a45418b67 docs: use proper quotes 2014-02-05 15:08:42 -05:00
Matthias Clasen
10cd226dfe Progress bar: Handle 'no more pulse'
Before smooth animation, stopping the pulse would abruptly stop
the bouncy bar. This change makes it so that we slow down for
a bit, and then stop.
2013-11-11 07:24:35 -05:00
Matthias Clasen
eae9513cbd Make activity mode progress bars animate better
Use a tick callback and move the block each frame, instead
of making it jump only when gtk_progress_bar_pulse() is called.
2013-11-10 01:20:27 -05:00
Emmanuele Bassi
0899ef7cc9 gtk: Use new macros for defining private data
https://bugzilla.gnome.org/show_bug.cgi?id=702996
2013-07-09 09:30:02 +01:00
Benjamin Otte
b39bb4400e progressbar: Store activity position as percentage
... instead of in absolute pixels.
2012-12-29 01:00:15 +01:00
Benjamin Otte
02b440b466 progressbar: Remove activity_step from private struct
It's only used locally, so use a local variable
2012-12-29 01:00:15 +01:00
Benjamin Otte
7747910b9d gtk: Use context's font
Instead of using gtk_style_context_get_font() in
pango_context_get_metrics(), use pango_context_get_font_description().
The context contains the font description we are about to use after all.
2012-12-06 02:57:18 +01:00
Cosimo Cecchi
f70fc49ebc docs: fix a number of typos and obsolete references 2012-07-02 10:41:11 -04:00
Javier Jardón
9d0febc9a6 Change FSF Address 2012-02-27 17:06:11 +00:00
Philip Withnall
5df87d06d4 progressbar: Tidy up the gtk-doc comments a little 2012-01-21 10:05:10 +00:00
Rui Matos
f4c698ef93 Revert "progressbar: Set state flags on draw"
This reverts commit 6ed5918718 which is no
longer needed as the style context now has the state flags updated when going
into draw.
2011-12-19 20:59:06 +00:00
Rui Matos
6ed5918718 progressbar: Set state flags on draw
We were missing setting state flags on the style context before drawing.
2011-12-07 22:42:56 +00:00
Alexander Larsson
ca829b484c Add pulse style class and use in progress bar and entry
This is used for indeterminate progress reporting.
2011-11-18 10:15:04 +01:00
Matthias Clasen
242b1f12f8 GtkProgressbar: respect the range of 'fraction'
The setter should not set the property to values outside the allowed
range.

https://bugzilla.gnome.org/show_bug.cgi?id=663825
2011-11-11 10:36:09 -05:00
Philip Withnall
0b4d8433d4 Bug 654266 — No longer possible to set empty text on a GtkProgressBar
Change the semantics of GtkProgressBar:text slightly so that it behaves as
it did before GTK+ 3.

Closes: bgo#654266
2011-07-23 00:09:30 +01:00
Philip Withnall
fd705ce7c7 progressbar: Fix a signed/unsigned comparison 2011-07-18 19:35:02 +01:00
Matthias Clasen
a166051b60 Convert GailProgressBar to GtkProgressBarAccessible 2011-07-05 16:08:53 -04:00
Javier Jardón
bf0d8402f5 gtk: Use const instead G_CONST_RETURN 2011-06-10 13:07:54 +01:00
Cosimo Cecchi
579afaa9a1 progressbar: fetch the padding without the trough style class
This is consistent with the rest of the widget, which uses only one
padding value.

https://bugzilla.gnome.org/show_bug.cgi?id=649593
2011-05-06 15:10:43 -04:00
Matthias Clasen
e564d36deb GtkProgressBarPrivate: Improve struct packing
Also remove the unused blocks and in_block members.
2011-04-12 12:40:30 -04:00
Benjamin Otte
8343831c39 progressbar: remove needless is_drawable() check before queue_resize() 2011-03-29 15:33:27 +02:00
Matthias Clasen
4a0aa41742 Add gtkorientableprivate.h header 2011-01-30 03:12:49 -05:00
Carlos Garnacho
e2e7075533 Redo patch in efae64b (Set vertical/horizontal class...)
Add a _gtk_orientable_set_style_classes() function so all
orientation changes to style happen in a single place.
2011-01-12 22:58:41 +01:00
Carlos Garnacho
efae64be66 Set vertical/horizontal class on all widgets overriding GtkOrientable::orientation
This is so g_object_set() on that property leaves widgets' style in
a meaningful state. Fully fixes bug 639157.
2011-01-12 22:28:43 +01:00
Tristan Van Berkom
1ff8df1e18 Adding missing gtk-doc annotations.
GtkProgressBar:show-text, GtkScrolledWindow:min-content-width/height
are new properties in 3.0.
2011-01-08 18:46:46 +09:00
Carlos Garnacho
b2e8992291 Make GtkProgressBar use GtkStyleContext 2010-12-28 19:25:48 +01:00
Patrick Bernaud
a00a0fb209 docs: Move documentation to inline comments: GtkProgressBar
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=634339

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-11-09 16:18:15 +09:00
Matthias Clasen
eca2d782ce Remove size_request from GtkProgressBar 2010-10-30 17:35:17 +09:00
Benjamin Otte
707d05bac0 progressbar: Remove declaration of nonexisting function 2010-10-21 14:30:11 +02:00
Matthias Clasen
f4d57dbe98 Make GtkProgressBar a no-window widget
It doesn't really have a good reason for having a window.
2010-10-21 11:40:46 +02:00
Benjamin Otte
1d3f6b30b0 API: Rename gtk_cairo_paint_*() to gtk_paint_*()
Large patch, but just renaming.
Indentation should still mostly be correct because I took care of
keeping the indentation for this function name.
2010-09-26 15:11:42 +02:00
Benjamin Otte
5ea1d78857 progressbar: Port to new draw signal 2010-09-26 15:11:34 +02:00
Benjamin Otte
e8a6bad00b gtk: Don't set colormap anymore when creating GDK windows
Colormaps are about to be removed, so not using them sounds like an
awesome idea.
2010-09-26 15:11:31 +02:00
Matthias Clasen
4230f7998b Make GtkProgressBar implement GtkOrientable
This also means that gtk_progress_bar_[sg]et_orientation are
gone.
2010-09-01 23:25:22 -04:00
Matthias Clasen
c3a19a4a14 Split the GtkProgressBar::orientation property
We splict the orientation property into a GtkOrientation and a
'inverted' boolean, the same way that GtkRange is set up.
2010-09-01 23:24:20 -04:00
Javier Jardón
1e5d7c0225 Use GtkFooPrivate instead GtkFooPriv 2010-08-27 04:48:23 +02:00
Javier Jardón
6b7efdf8a1 gtk/gtkprogressbar.c: use accessor functions to access GtkWidget 2010-08-22 21:25:25 +02:00
Philip Withnall
3eb197b51f Bug 596125 — Property string fixes 2010-08-10 09:23:49 +01:00
Javier Jardón
237ed3bbf8 Remove some unused variables 2010-08-03 12:44:52 +02:00
Benjamin Otte
5e8c274e32 progressbar: Remove act_mode_enter vfunc
It doesn't make sense to have a vfunc for this.
2010-07-31 22:42:59 +02:00
Benjamin Otte
97f361c98f progressbar: Remove offscreen pixmap
Why did the progressbar keep an offscreen pixmap anyway? It didn't even
double buffer...
2010-07-31 22:42:59 +02:00
Benjamin Otte
ca513cec2e progressbar: Remove paint vfunc
Unconditionally call gtk_progress_bar_paint() instead. It was called in
various places instead of the vfunc already anyway.
2010-07-31 22:42:59 +02:00
Benjamin Otte
de401fd06d progressbar: Remove unused update vfunc 2010-07-31 22:42:59 +02:00
Benjamin Otte
4181abd69a progressbar: Use cairo instead of gdk_draw_drawable() 2010-07-26 16:42:47 +02:00
Javier Jardón
0ddeccefe9 GtkProgressBar: Move public members to private structure 2010-07-13 19:40:49 +02:00
Javier Jardón
0a07e9733b gtk/: fully remove gtkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:51:26 +02:00
Matthias Clasen
d53b0c200d Remove some useless defines 2010-06-14 17:23:07 -04:00
Matthias Clasen
5e0dfed135 Get rid of GtkProgress
The entire api was deprecated since 2.0. This patch detangles
GtkProgress from GtkProgressBar and moves all the pieces into
GtkProgressBar that are required for non-deprecated progressbar
functionality.

Bug #620618
2010-06-09 00:35:09 -04:00
Christian Dywan
35be520983 Make progressbars render progress again
This was broken during some earlier deprecation cleanup.
Bug 620509.
2010-06-04 20:03:19 -04:00
Javier Jardón
9aabc1b1a7 Remove deprecated functions from GtkProgressBar 2010-05-07 09:10:52 +02:00
Javier Jardón
9fa9d792a8 Remove GTK_WIDGET_* macros 2010-05-03 01:51:21 +02:00
Christian Dywan
6f5b7bad3a Don't use old toolbar API in toolbar stress test 2010-05-03 01:41:36 +02:00
Javier Jardón
4f78f70b15 Deprecate widget flag: GTK_WIDGET_DRAWABLE
Use gtk_widget_is_drawable() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 04:55:55 +01:00
Johan Dahlin
fe85272112 [annotations] Add allow-none
This commit was created using a script that searched for all docstrings
containing a parameter and the string 'or %NULL'.
Gdk backends and demos excluded as they are not part of a public API

https://bugzilla.gnome.org/show_bug.cgi?id=610474
2010-02-19 17:57:51 -02:00
Colin Walters
6529c07614 [introspection] Merge in Gtk-custom.c annotations
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations.  Merge those into the GTK source files.

Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
2009-12-16 17:22:01 -02:00
Michael Natterer
aa435e024a build with GTK_DISABLE_DEPRECATED again.
2008-08-04  Michael Natterer  <mitch@imendio.com>

	* gtk/Makefile.am: build with GTK_DISABLE_DEPRECATED again.

	Fix pltcheck.sh by restricting the visibility of deprecated
	symbols to the places where they are actually used:

	* gtk/gtkclist.c
	* gtk/gtkctree.c
	* gtk/gtklistitem.c
	* gtk/gtklist.c
	* gtk/gtkprogressbar.c
	* gtk/gtkpixmap.c
	* gtk/gtkprogress.c: #undef GTK_DISABLE_DEPRECATED and #define
	__GTK_FOO_C__ on top instead of before including gtkaliasdef.c.

	* gtk/gtkclist.h
	* gtk/gtkctree.h
	* gtk/gtklistitem.h
	* gtk/gtklist.h
	* gtk/gtkpixmap.h
	* gtk/gtkprogress.h: make the headers visible if the respective
	__GTK_FOO_C__ are defined.


svn path=/trunk/; revision=20970
2008-08-04 14:38:35 +00:00
Matthias Clasen
7d88f59fad Bug 429411 – add style properties to set minimum progressbar
2008-08-02  Matthias Clasen  <mclasen@redhat.com>

        Bug 429411 – add style properties to set minimum progressbar
        width/height

        * gtk/gtkprogressbar.c: Add style properties for minimum size.
        Patch by Carlos Garnacho and Christian Dywan


svn path=/trunk/; revision=20938
2008-08-02 04:48:47 +00:00
Michael Natterer
c09eb4fdcb remove #if HAVE_CONFIG_H and clean up other include weirdness in this
2008-07-05  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkprogressbar.c: remove #if HAVE_CONFIG_H and clean up
	other include weirdness in this file.


svn path=/trunk/; revision=20779
2008-07-05 16:03:49 +00:00
Cody Russell
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
Cody Russell
fce9c8b7d4 Practically everything changed.
2008-06-30  Cody Russell  <bratsche@gnome.org>

        * Practically everything changed.

        Change	all references	of GIMP	Toolkit	(and variations	of it)
        to GTK+	Toolkit, showing no mercy at all to our	beloved
	ancestry. (#540529)


svn path=/trunk/; revision=20709
2008-06-30 23:01:56 +00:00
Johan Dahlin
1a30e12586 Use g_object_new instead of gtk_widget_new
2008-06-19  Johan Dahlin  <jdahlin@async.com.br>

    * demos/testpixbuf.c (new_testrgb_window):
    * gtk/gtkctree.c (gtk_ctree_new_with_titles):
    * gtk/gtkitemfactory.c (gtk_item_factory_construct),
    (gtk_item_factory_create_item):
    * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
    * gtk/gtkprogressbar.c (gtk_progress_bar_new),
    (gtk_progress_bar_new_with_adjustment):
    * gtk/gtkscrolledwindow.c (gtk_scrolled_window_new):
    * gtk/gtktext.c (gtk_text_new):
    * gtk/gtkviewport.c (gtk_viewport_new):
    * tests/simple.c (main):
    * tests/testgtk.c (create_statusbar), (create_get_image),
    (create_saved_position), (create_tooltips), (create_cursors),
    (create_display_screen), (create_progress_bar), (create_idle_test):
    * tests/testmultidisplay.c (make_selection_dialog), (main):
    * tests/testmultiscreen.c (main):
    * tests/testrgb.c (new_testrgb_window):
    Use g_object_new instead of gtk_widget_new


svn path=/trunk/; revision=20462
2008-06-19 12:25:19 +00:00
Matthias Clasen
5e30c5d986 More default property value fixes
svn path=/trunk/; revision=19278
2007-12-28 18:10:32 +00:00
Matthias Clasen
91f9d7dac2 Be more careful when overdrawing antialiased text. (#352435, Alex Jones,
2006-12-11  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprogressbar.c (gtk_progress_bar_paint_text): Be more
        careful when overdrawing antialiased text.  (#352435, Alex Jones,
        patch by Benjamin Otte)
2006-12-11 15:35:25 +00:00
Tim Janik
7726d989b3 introduced ::xspacing and ::yspacing style properties which make all
Fri Jul 14 16:13:37 2006  Tim Janik  <timj@gtk.org>

        * gtk/gtkprogressbar.c: introduced ::xspacing and ::yspacing style
        properties which make all hardcoded padding and spacing values
        configurable. properly swap ::text-xalign treatment for RTL widgets.

        * gtk/gtkprogress.c: fixed style property blurbs. made alignment
        proeprty more consistent with GtkMisc alignment blurbs. mention
        RTL treatment for text-xalign.
2006-08-29 10:22:27 +00:00
Tim Janik
de15bb09c3 Move activity bar offset and size calculations to separate function.
Fri Jun 16 11:49:53 2006  Tim Janik  <timj@imendio.com>

        * fixed #337882 by applying patches from Tommi Komulainen:

        * gtk/gtkprogressbar.c:
        (gtk_progress_bar_paint_activity):
        (gtk_progress_bar_get_activity): Move activity bar offset and size
        calculations to separate function.
        (gtk_progress_bar_paint_text): Allow caller to specify offset for the
        prelight part in addition to width.
        (gtk_progress_bar_paint): Paint the text also in activity mode, #337882.

        * gtk/gtkprogressbar.c: (gtk_progress_bar_paint_text): Paint the
        prelighted text on top of the normal rather than side by side, to
        simplify painting text in activity mode.
2006-06-16 09:51:39 +00:00
Matthias Clasen
df882a3279 Fix #344543 2006-06-12 01:54:54 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
f26aad1916 Boilerplate reduction 2006-05-02 23:56:43 +00:00
Matthias Clasen
80cd74fd0e Mention that %NULL is allowed. (#336937, Christian Neumair)
2006-04-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprogressbar.c (gtk_progress_bar_set_text): Mention
	that %NULL is allowed.  (#336937, Christian Neumair)
2006-04-03 18:09:05 +00:00
Matthias Clasen
01312e914b Fix drawing issues in progress bars. (#328081, Christian Persch)
2006-01-23  Matthias Clasen  <mclasen@redhat.com>

	Fix drawing issues in progress bars.  (#328081, Christian Persch)

	* gtk/gtkprogressbar.c (gtk_progress_bar_size_request): Always
	request enough space.
	(gtk_progress_bar_paint_activity)
	(gtk_progress_bar_paint_continuous)
	(gtk_progress_bar_paint_discrete): Clip when drawing the bar.
2006-01-23 15:48:26 +00:00
Johan Dahlin
4810de4a0d Set minimum for activity-step property to 0 instead of -G_MAXUINT.
* gtk/gtkprogressbar.c: Set minimum for activity-step property to 0
  instead of -G_MAXUINT.
2006-01-05 19:59:18 +00:00
Matthias Clasen
463aab93dd Various cleanups. (#315360, Kjartan Maraas)
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
2005-09-13 19:57:42 +00:00
Matthias Clasen
94eec04267 Intern some more strings.
2005-09-01  Matthias Clasen  <mclasen@redhat.com>

        * gdk/*.c: Intern some more strings.
        * gtk/gtkintl.h:
        * gtk/*.c: Define an I_() macro and use it instead of the
        bulky g_intern_static_string().
2005-09-01 05:11:46 +00:00
Matthias Clasen
c09cc89317 Intern type names in code generated by glib-mkenums, too.
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

	* gdk/Makefile.am:
	* gtk/Makefile.am: Intern type names in code generated by
	glib-mkenums, too.

	* gtk/*.c:
	* gdk/x11/*.c:
	* gdk/*.c: Intern type names before registering the type to avoid
	unnecessary copies.
2005-08-31 16:53:43 +00:00
Matthias Clasen
4c28ce0877 Use canonical names for g_object_notify() as well.
2005-03-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c:
	* gdk/gdkdisplaymanager.c:
	Use canonical names for g_object_notify() as well.
2005-03-26 05:49:15 +00:00
Matthias Clasen
269d89c79c Define macros GTK_PARAM_READABLE, GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE
2005-03-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprivate.h: Define macros GTK_PARAM_READABLE,
	GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE which are like
	their G_ counterparts, but also mark the name, nick
	and blurb as static.

	* gtk/*.c: Mark param spec strings as static, using
	the new macros.
2005-03-22 02:14:55 +00:00