From: Andy W. <wi...@us...> - 2002-08-03 20:34:55
|
CVS Root: /cvsroot/gstreamer Module: gst-editor Changes by: wingo Date: Sat Aug 03 2002 13:34:55 PDT Log message: better comments, and use the appbar more Modified files: libs/gst/editor : gsteditor.c gsteditorelement.c Links: http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-editor/libs/gst/editor/gsteditor.c.diff?r1=1.18&r2=1.19 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-editor/libs/gst/editor/gsteditorelement.c.diff?r1=1.23&r2=1.24 ====Begin Diffs==== Index: gsteditor.c =================================================================== RCS file: /cvsroot/gstreamer/gst-editor/libs/gst/editor/gsteditor.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- gsteditor.c 29 Jul 2002 02:28:40 -0000 1.18 +++ gsteditor.c 3 Aug 2002 20:34:42 -0000 1.19 @@ -238,7 +238,8 @@ fclose (file); message = g_strdup_printf ("Pipeline saved to %s.", editor->filename); - gnome_app_flash (GNOME_APP (editor->window), message); + gnome_appbar_set_status (GNOME_APPBAR (GNOME_APP (editor->window)->statusbar), + message); g_free (message); } @@ -321,6 +322,7 @@ GList *l; GstElement *pipeline; GstXML *xml; + gchar *message; xml = gst_xml_new (); err = gst_xml_parse_file (xml, file_name, NULL); @@ -343,6 +345,11 @@ g_object_set (editor->canvas->bin, "object", pipeline, NULL); g_object_set (editor, "filename", file_name, NULL); + + message = g_strdup_printf ("Pipeline loaded from %s.", editor->filename); + gnome_appbar_set_status (GNOME_APPBAR (GNOME_APP (editor->window)->statusbar), + message); + g_free (message); } void @@ -385,6 +392,9 @@ GError *error = NULL; GstEditor *editor = NULL; + if (!string) + return; + pipeline = (GstElement*) gst_parse_launch (string, &error); if (!pipeline) { @@ -404,6 +414,9 @@ editor = (GstEditor*)gst_editor_new ("pipeline"); g_object_set (editor->canvas->bin, "object", pipeline, NULL); + + gnome_appbar_set_status (GNOME_APPBAR (GNOME_APP (editor->window)->statusbar), + "Pipeline loaded from launch description."); } void @@ -451,9 +464,14 @@ gtk_widget_show(about); } -static gboolean sort (GstEditorBin *bin) +static gboolean sort (GstEditor *editor) { - g_print ("sort delta: %f\n", gst_editor_bin_sort (bin, 0.1)); + gchar *message; + message = g_strdup_printf ("Change in bin pressure: %f", + gst_editor_bin_sort (editor->canvas->bin, 0.1)); + gnome_appbar_set_status (GNOME_APPBAR (GNOME_APP (editor->window)->statusbar), + message); + g_free (message); return TRUE; } @@ -465,9 +483,14 @@ g_object_get (toggle, "active", &active, NULL); if (active) { - g_timeout_add (200, sort, editor->canvas->bin); + gnome_appbar_set_status (GNOME_APPBAR (GNOME_APP (editor->window)->statusbar), + "Sorting bin..."); + + g_timeout_add (200, sort, editor); } else { - g_source_remove_by_user_data (editor->canvas->bin); + gnome_appbar_set_status (GNOME_APPBAR (GNOME_APP (editor->window)->statusbar), + "Finished sorting."); + g_source_remove_by_user_data (editor); } } Index: gsteditorelement.c =================================================================== RCS file: /cvsroot/gstreamer/gst-editor/libs/gst/editor/gsteditorelement.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- gsteditorelement.c 2 Aug 2002 19:01:33 -0000 1.23 +++ gsteditorelement.c 3 Aug 2002 20:34:42 -0000 1.24 @@ -836,20 +836,18 @@ gdouble dx,gdouble dy) { GnomeCanvasItem *parent; - gdouble binx, biny, binh, binw; + gdouble binh, binw; gdouble x, y, h, w; + /* we must stay within the parent bin, if any */ parent = GNOME_CANVAS_ITEM (element)->parent; if (GST_IS_EDITOR_BIN (parent)) { - /* we must stay within the parent */ g_object_get (parent, "width", &binw, "height", &binh, NULL); /* subtract the height of the state boxen */ binh -= ((GstEditorElement*)parent)->stateheight; - /* the bin is the group for the element, so its origin is (0,0) */ - binx = binw / 2.0; - biny = binh / 2.0; + /* element x and y are with respect to the upper-left corner of the bin */ g_object_get (element, "x", &x, "y", &y, "width", &w, "height", &h, NULL); if (binh < h || binw < w) { |