Queue a redraw on the tab area when a tab changes size. (Includes
Mon Jan 25 19:41:56 1999 Owen Taylor <otaylor@redhat.com> * gtk/gtknotebook.c (gtk_notebook_page_allocate): Queue a redraw on the tab area when a tab changes size. (Includes improvements from Lars Hamann)
This commit is contained in:
parent
d355451c51
commit
65dd58ffa3
10
ChangeLog
10
ChangeLog
@ -1,3 +1,9 @@
|
||||
Mon Jan 25 19:41:56 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtknotebook.c (gtk_notebook_page_allocate): Queue
|
||||
a redraw on the tab area when a tab changes size.
|
||||
(Includes improvements from Lars Hamann)
|
||||
|
||||
Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkcolorsel.c (gtk_color_selection_value_events):
|
||||
@ -5,7 +11,9 @@ Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
try a different one that is less dependent on
|
||||
the state of the widget. Just redraw the value_marker
|
||||
when it gets mapped. Somebody needs to analyze
|
||||
this widget more carefully and figure out
|
||||
this widget more carefully and figure out when
|
||||
it should be setting the contents of the previews
|
||||
with more care.
|
||||
|
||||
Mon Jan 25 17:48:03 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
Mon Jan 25 19:41:56 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtknotebook.c (gtk_notebook_page_allocate): Queue
|
||||
a redraw on the tab area when a tab changes size.
|
||||
(Includes improvements from Lars Hamann)
|
||||
|
||||
Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkcolorsel.c (gtk_color_selection_value_events):
|
||||
@ -5,7 +11,9 @@ Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
try a different one that is less dependent on
|
||||
the state of the widget. Just redraw the value_marker
|
||||
when it gets mapped. Somebody needs to analyze
|
||||
this widget more carefully and figure out
|
||||
this widget more carefully and figure out when
|
||||
it should be setting the contents of the previews
|
||||
with more care.
|
||||
|
||||
Mon Jan 25 17:48:03 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
Mon Jan 25 19:41:56 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtknotebook.c (gtk_notebook_page_allocate): Queue
|
||||
a redraw on the tab area when a tab changes size.
|
||||
(Includes improvements from Lars Hamann)
|
||||
|
||||
Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkcolorsel.c (gtk_color_selection_value_events):
|
||||
@ -5,7 +11,9 @@ Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
try a different one that is less dependent on
|
||||
the state of the widget. Just redraw the value_marker
|
||||
when it gets mapped. Somebody needs to analyze
|
||||
this widget more carefully and figure out
|
||||
this widget more carefully and figure out when
|
||||
it should be setting the contents of the previews
|
||||
with more care.
|
||||
|
||||
Mon Jan 25 17:48:03 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
Mon Jan 25 19:41:56 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtknotebook.c (gtk_notebook_page_allocate): Queue
|
||||
a redraw on the tab area when a tab changes size.
|
||||
(Includes improvements from Lars Hamann)
|
||||
|
||||
Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkcolorsel.c (gtk_color_selection_value_events):
|
||||
@ -5,7 +11,9 @@ Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
try a different one that is less dependent on
|
||||
the state of the widget. Just redraw the value_marker
|
||||
when it gets mapped. Somebody needs to analyze
|
||||
this widget more carefully and figure out
|
||||
this widget more carefully and figure out when
|
||||
it should be setting the contents of the previews
|
||||
with more care.
|
||||
|
||||
Mon Jan 25 17:48:03 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
Mon Jan 25 19:41:56 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtknotebook.c (gtk_notebook_page_allocate): Queue
|
||||
a redraw on the tab area when a tab changes size.
|
||||
(Includes improvements from Lars Hamann)
|
||||
|
||||
Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkcolorsel.c (gtk_color_selection_value_events):
|
||||
@ -5,7 +11,9 @@ Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
try a different one that is less dependent on
|
||||
the state of the widget. Just redraw the value_marker
|
||||
when it gets mapped. Somebody needs to analyze
|
||||
this widget more carefully and figure out
|
||||
this widget more carefully and figure out when
|
||||
it should be setting the contents of the previews
|
||||
with more care.
|
||||
|
||||
Mon Jan 25 17:48:03 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
Mon Jan 25 19:41:56 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtknotebook.c (gtk_notebook_page_allocate): Queue
|
||||
a redraw on the tab area when a tab changes size.
|
||||
(Includes improvements from Lars Hamann)
|
||||
|
||||
Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkcolorsel.c (gtk_color_selection_value_events):
|
||||
@ -5,7 +11,9 @@ Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
try a different one that is less dependent on
|
||||
the state of the widget. Just redraw the value_marker
|
||||
when it gets mapped. Somebody needs to analyze
|
||||
this widget more carefully and figure out
|
||||
this widget more carefully and figure out when
|
||||
it should be setting the contents of the previews
|
||||
with more care.
|
||||
|
||||
Mon Jan 25 17:48:03 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
Mon Jan 25 19:41:56 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtknotebook.c (gtk_notebook_page_allocate): Queue
|
||||
a redraw on the tab area when a tab changes size.
|
||||
(Includes improvements from Lars Hamann)
|
||||
|
||||
Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkcolorsel.c (gtk_color_selection_value_events):
|
||||
@ -5,7 +11,9 @@ Mon Jan 25 19:00:13 1999 Owen Taylor <otaylor@redhat.com>
|
||||
try a different one that is less dependent on
|
||||
the state of the widget. Just redraw the value_marker
|
||||
when it gets mapped. Somebody needs to analyze
|
||||
this widget more carefully and figure out
|
||||
this widget more carefully and figure out when
|
||||
it should be setting the contents of the previews
|
||||
with more care.
|
||||
|
||||
Mon Jan 25 17:48:03 1999 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
|
@ -2988,6 +2988,7 @@ gtk_notebook_page_allocate (GtkNotebook *notebook,
|
||||
GtkNotebookPage *page,
|
||||
GtkAllocation *allocation)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
GtkAllocation child_allocation;
|
||||
gint xthickness;
|
||||
gint ythickness;
|
||||
@ -2997,10 +2998,59 @@ gtk_notebook_page_allocate (GtkNotebook *notebook,
|
||||
g_return_if_fail (page != NULL);
|
||||
g_return_if_fail (allocation != NULL);
|
||||
|
||||
page->allocation = *allocation;
|
||||
widget = GTK_WIDGET (notebook);
|
||||
|
||||
xthickness = GTK_WIDGET (notebook)->style->klass->xthickness;
|
||||
ythickness = GTK_WIDGET (notebook)->style->klass->ythickness;
|
||||
xthickness = widget->style->klass->xthickness;
|
||||
ythickness = widget->style->klass->ythickness;
|
||||
|
||||
/* If the size of the notebook tabs change, we need to queue
|
||||
* a redraw on the tab area
|
||||
*/
|
||||
if ((allocation->width != page->allocation.width) ||
|
||||
(allocation->height != page->allocation.height))
|
||||
{
|
||||
gint x, y, width, height, border_width;
|
||||
|
||||
border_width = GTK_CONTAINER (notebook)->border_width;
|
||||
|
||||
switch (notebook->tab_pos)
|
||||
{
|
||||
case GTK_POS_TOP:
|
||||
width = widget->allocation.width;
|
||||
height = MAX (page->allocation.height, allocation->height) +
|
||||
ythickness;
|
||||
x = 0;
|
||||
y = border_width;
|
||||
break;
|
||||
|
||||
case GTK_POS_BOTTOM:
|
||||
width = widget->allocation.width + xthickness;
|
||||
height = MAX (page->allocation.height, allocation->height) +
|
||||
ythickness;
|
||||
x = 0;
|
||||
y = widget->allocation.height - height - border_width;
|
||||
break;
|
||||
|
||||
case GTK_POS_LEFT:
|
||||
width = MAX (page->allocation.width, allocation->width) + xthickness;
|
||||
height = widget->allocation.height;
|
||||
x = border_width;
|
||||
y = 0;
|
||||
break;
|
||||
|
||||
case GTK_POS_RIGHT:
|
||||
default: /* quiet gcc */
|
||||
width = MAX (page->allocation.width, allocation->width) + xthickness;
|
||||
height = widget->allocation.height;
|
||||
x = widget->allocation.width - width - border_width;
|
||||
y = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
gtk_widget_queue_clear_area (widget, x, y, width, height);
|
||||
}
|
||||
|
||||
page->allocation = *allocation;
|
||||
|
||||
if (notebook->cur_page != page)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user