massively changed: removed message_ids, the message mem chunk and all

2004-07-14  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpstatusbar.[ch]: massively changed: removed
	message_ids, the message mem chunk and all signals. Added new
	function gimp_statusbar_replace() which updates a message without
	moving it to the top of the stack. Fixes bug #120175.

	* app/display/gimpdisplayshell-title.[ch]: renamed
	gimp_display_shell_update_title() to
	gimp_display_shell_title_update() and switched from pop()/push()
	to replace() so the title message keeps its place in the stack.
	Added new function gimp_display_shell_title_init() which push()es
	the title message to the stack.

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): call
	gimp_display_shell_title_init() so the "title" message is at the
	bottom of the stack.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c: changed accordingly.
This commit is contained in:
Michael Natterer
2004-07-14 16:37:13 +00:00
committed by Michael Natterer
parent 6d4d038f2d
commit 178d7d3ff1
8 changed files with 227 additions and 236 deletions

View File

@ -43,7 +43,6 @@ struct _GimpStatusbar
GSList *messages;
GSList *keys;
guint seq_context_id;
guint seq_message_id;
GimpDisplayShell *shell;
@ -60,41 +59,33 @@ struct _GimpStatusbar
struct _GimpStatusbarClass
{
GtkHBoxClass parent_class;
GMemChunk *messages_mem_chunk;
void (*text_pushed) (GimpStatusbar *statusbar,
const gchar *context_id,
const gchar *text);
void (*text_popped) (GimpStatusbar *statusbar,
const gchar *context_id,
const gchar *text);
GtkHBoxClass parent_class;
};
GType gimp_statusbar_get_type (void) G_GNUC_CONST;
GtkWidget * gimp_statusbar_new (GimpDisplayShell *shell);
void gimp_statusbar_pop (GimpStatusbar *statusbar,
const gchar *context);
void gimp_statusbar_remove (GimpStatusbar *statusbar,
const gchar *context,
guint message_id);
guint gimp_statusbar_push_coords (GimpStatusbar *statusbar,
const gchar *context,
const gchar *title,
gdouble x,
const gchar *separator,
gdouble y);
guint gimp_statusbar_push (GimpStatusbar *statusbar,
const gchar *context,
const gchar *message);
void gimp_statusbar_set_cursor (GimpStatusbar *statusbar,
gdouble x,
gdouble y);
void gimp_statusbar_clear_cursor (GimpStatusbar *statusbar);
guint gimp_statusbar_get_context_id (GimpStatusbar *statusbar,
const gchar *context_description);
GType gimp_statusbar_get_type (void) G_GNUC_CONST;
GtkWidget * gimp_statusbar_new (GimpDisplayShell *shell);
void gimp_statusbar_push (GimpStatusbar *statusbar,
const gchar *context,
const gchar *message);
void gimp_statusbar_push_coords (GimpStatusbar *statusbar,
const gchar *context,
const gchar *title,
gdouble x,
const gchar *separator,
gdouble y);
void gimp_statusbar_replace (GimpStatusbar *statusbar,
const gchar *context,
const gchar *message);
void gimp_statusbar_pop (GimpStatusbar *statusbar,
const gchar *context);
void gimp_statusbar_set_cursor (GimpStatusbar *statusbar,
gdouble x,
gdouble y);
void gimp_statusbar_clear_cursor (GimpStatusbar *statusbar);
G_END_DECLS