dia r3899 - in trunk: . objects objects/custom_lines objects/standard



Author: hans
Date: Wed Mar  5 15:57:20 2008
New Revision: 3899
URL: http://svn.gnome.org/viewvc/dia?rev=3899&view=rev

Log:
2008-03-05  Hans Breuer  <hans breuer org>

	* objects/standard/(bezier|polyline|zigzagline).c : reverted changes
	from revision 3878. Object plug-in internals must not be made public.
	Also the way it was done was not portable.
	* objects/standard/(bezier|polyline|zigzagline).h : deleted
	* objects/custom_lines/custom_linetypes.c : almost complete rewrite 
	using only public APIs
	* objects/custom_lines/custom_lines.c
	  objects/custom_lines/custom_linetypes.h : custom_linetypes_init();
	not any longer necessary.
	* objects/standard/Makefile.am objects/custom_lines/Makefile.am 
	  objects/makefile.msc : adapted (reverting the tricks to make
	'make distcheck' pass



Removed:
   trunk/objects/standard/bezier.h
   trunk/objects/standard/polyline.h
   trunk/objects/standard/zigzagline.h
Modified:
   trunk/ChangeLog
   trunk/objects/custom_lines/Makefile.am
   trunk/objects/custom_lines/custom_lines.c
   trunk/objects/custom_lines/custom_linetypes.c
   trunk/objects/custom_lines/custom_linetypes.h
   trunk/objects/makefile.msc
   trunk/objects/standard/Makefile.am
   trunk/objects/standard/bezier.c
   trunk/objects/standard/polyline.c
   trunk/objects/standard/zigzagline.c

Modified: trunk/objects/custom_lines/Makefile.am
==============================================================================
--- trunk/objects/custom_lines/Makefile.am	(original)
+++ trunk/objects/custom_lines/Makefile.am	Wed Mar  5 15:57:20 2008
@@ -9,14 +9,9 @@
 	line_info.h
 
 libcustom_lines_objects_la_LDFLAGS = -export-dynamic -module -avoid-version
-libcustom_lines_objects_la_LIBADD = ../standard/libstandard_objects.la
 
-# including objects/standard is plain wrong but needed for 'make distcheck'!
-# the second include is to trick it to work with srcdir!=buildir, at least I think so;)
 INCLUDES = \
 	-I$(srcdir)/../../lib \
-	-I$(srcdir)/../../objects/standard \
-	-I$(srcdir)/../../../objects/standard \
 	$(GTK_CFLAGS) $(GNOME_CFLAGS) $(PANGOFT2_CFLAGS) $(UNICODE_CFLAGS)
 
 EXTRA_DIST = \

Modified: trunk/objects/custom_lines/custom_lines.c
==============================================================================
--- trunk/objects/custom_lines/custom_lines.c	(original)
+++ trunk/objects/custom_lines/custom_lines.c	Wed Mar  5 15:57:20 2008
@@ -161,8 +161,6 @@
 			    NULL, NULL))
     return DIA_PLUGIN_INIT_ERROR;
   
-  custom_linetypes_init();
-  
   home_dir = g_get_home_dir();
   if (home_dir) {
     home_dir = dia_config_filename("lines");

Modified: trunk/objects/custom_lines/custom_linetypes.c
==============================================================================
--- trunk/objects/custom_lines/custom_linetypes.c	(original)
+++ trunk/objects/custom_lines/custom_linetypes.c	Wed Mar  5 15:57:20 2008
@@ -3,9 +3,12 @@
  *
  * Custom Lines -- line shapes defined in XML rather than C.
  * Based on the original Custom Objects plugin.
- * Copyright (C) 1999 James Henstridge.
+ * Copyright (C) 1999 James Henstridge.
+ *
  * Adapted for Custom Lines plugin by Marcel Toele.
- * Modifications (C) 2007 Kern Automatiseringsdiensten BV.
+ * Modifications (C) 2007 Kern Automatiseringsdiensten BV.
+ *
+ * Rewrite to use only public API (C) 2008 Hans Breuer
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -31,77 +34,172 @@
 
 #include "object.h"
 
-/* Including stuff from objects/standard is violating plug-in independence 
- * and requires extra hoops in Makefile.am. This thing is not going to work
- * on win32 at all. Need to think about the proper solution ...
- */
-#include "polyline.h"
-#include "zigzagline.h"
-#include "bezier.h"
-
 #include "line_info.h"
 #include "custom_linetypes.h"
 
+#include "properties.h"
+#include "propinternals.h"
+
 #include "pixmaps/default.xpm"
 
-ObjectTypeOps custom_zigzagline_type_ops;
-ObjectTypeOps custom_polyline_type_ops;
-ObjectTypeOps custom_bezierline_type_ops;
-
-
-void custom_linetype_new(LineInfo *info, DiaObjectType **otype);
-void zigzagline_apply_properties( Zigzagline* line, LineInfo* info );
-DiaObject* customline_create(Point *startpoint,
-                             void *user_data,
-                             Handle **handle1,
-                             Handle **handle2);
-
-void custom_linetypes_init()
-{ 
-  custom_zigzagline_type_ops = zigzagline_type_ops;
-  custom_zigzagline_type_ops.create = customline_create;
-  custom_zigzagline_type_ops.get_defaults = NULL;
-  custom_zigzagline_type_ops.apply_defaults = NULL;
-  
-  custom_polyline_type_ops = polyline_type_ops;
-  custom_polyline_type_ops.create = customline_create;
-  custom_polyline_type_ops.get_defaults = NULL;
-  custom_polyline_type_ops.apply_defaults = NULL;
-  
-  custom_bezierline_type_ops = bezierline_type_ops;
-  custom_bezierline_type_ops.create = customline_create;
-  custom_bezierline_type_ops.get_defaults = NULL;
-  custom_bezierline_type_ops.apply_defaults = NULL;
-}
-
-void zigzagline_apply_properties( Zigzagline* line, LineInfo* info )
-{
-  line->line_color = info->line_color;
-  line->line_style = info->line_style;
-  line->dashlength = info->dashlength;
-  line->line_width = info->line_width;
-  line->corner_radius = info->corner_radius;
-  line->start_arrow = info->start_arrow;
-  line->end_arrow = info->end_arrow;
-}
-void polyline_apply_properties( Polyline* line, LineInfo* info )
-{
-  line->line_color = info->line_color;
-  line->line_style = info->line_style;
-  line->dashlength = info->dashlength;
-  line->line_width = info->line_width;
-  line->corner_radius = info->corner_radius;
-  line->start_arrow = info->start_arrow;
-  line->end_arrow = info->end_arrow;
-}
-void bezierline_apply_properties( Bezierline* line, LineInfo* info )
-{
-  line->line_color = info->line_color;
-  line->line_style = info->line_style;
-  line->dashlength = info->dashlength;
-  line->line_width = info->line_width;
-  line->start_arrow = info->start_arrow;
-  line->end_arrow = info->end_arrow;
+static void customline_apply_properties( DiaObject* line, LineInfo* info );
+static DiaObject* customline_create(Point *startpoint,
+                                    void *user_data,
+                                    Handle **handle1,
+                                    Handle **handle2);
+static DiaObject *custom_zigzagline_load (ObjectNode obj_node, int version, const char *filename);
+static DiaObject *custom_polyline_load   (ObjectNode obj_node, int version, const char *filename);
+static DiaObject *custom_bezierline_load (ObjectNode obj_node, int version, const char *filename);
+
+static void customline_save (DiaObject *object, ObjectNode obj_node, const char *filename);
+
+static ObjectTypeOps 
+custom_zigzagline_type_ops = {
+  (CreateFunc)customline_create,   /* create */
+  (LoadFunc)  custom_zigzagline_load,     /* load */
+  (SaveFunc)  customline_save,     /* save */
+  (GetDefaultsFunc)   NULL /* get_defaults*/,
+  (ApplyDefaultsFunc) NULL /* apply_defaults*/
+};
+
+static ObjectTypeOps 
+custom_polyline_type_ops = {
+  (CreateFunc)customline_create,   /* create */
+  (LoadFunc)  custom_polyline_load,     /* load */
+  (SaveFunc)  customline_save,     /* save */
+  (GetDefaultsFunc)   NULL /* get_defaults*/,
+  (ApplyDefaultsFunc) NULL /* apply_defaults*/
+};
+
+static ObjectTypeOps 
+custom_bezierline_type_ops = {
+  (CreateFunc)customline_create,   /* create */
+  (LoadFunc)  custom_bezierline_load, /* load */
+  (SaveFunc)  customline_save,     /* save */
+  (GetDefaultsFunc)   NULL /* get_defaults*/,
+  (ApplyDefaultsFunc) NULL /* apply_defaults*/
+};
+
+/* our delegates types, intialized on demand */
+static DiaObjectType *polyline_ot = NULL;
+static DiaObjectType *bezier_ot = NULL;
+static DiaObjectType *zigzag_ot = NULL;
+
+
+static gboolean
+ensure_standard_types (void)
+{
+  if (!zigzag_ot)
+    zigzag_ot = object_get_type ("Standard - ZigZagLine");
+  if (!polyline_ot)
+    polyline_ot = object_get_type ("Standard - PolyLine");
+  if (!bezier_ot)
+    bezier_ot = object_get_type ("Standard - BezierLine");
+
+  return (polyline_ot && bezier_ot && zigzag_ot);
+}
+
+static DiaObject *
+custom_zigzagline_load (ObjectNode obj_node, int version, const char *filename)
+{
+  ensure_standard_types ();
+  
+  if (!zigzag_ot) {
+    g_warning ("Can't delegate to 'Standard - ZigZagLine'");
+    return NULL;
+  }
+  return zigzag_ot->ops->load (obj_node, version, filename);
+}
+static DiaObject *
+custom_polyline_load (ObjectNode obj_node, int version, const char *filename)
+{
+  ensure_standard_types ();
+
+  if (!polyline_ot) {
+    g_warning ("Can't delegate to 'Standard - PolyLine'");
+    return NULL;
+  }
+  return polyline_ot->ops->load (obj_node, version, filename);
+}
+static DiaObject *
+custom_bezierline_load (ObjectNode obj_node, int version, const char *filename)
+{
+  ensure_standard_types ();
+  
+  if (!bezier_ot) {
+    g_warning ("Can't delegate to 'Standard - BezierLine'");
+    return NULL;
+  }
+  return bezier_ot->ops->load (obj_node, version, filename);
+}
+
+static void 
+customline_save (DiaObject *object, ObjectNode obj_node, const char *filename)
+{
+  g_assert (object->type &&  object->type->ops && object->type->ops->save);
+   
+  if (!ensure_standard_types()) {
+    g_warning ("Can't create standard types");
+    return;
+  }
+
+  if (object->type->ops == &custom_zigzagline_type_ops)
+    zigzag_ot->ops->save (object, obj_node, filename);
+  else if (object->type->ops == &custom_polyline_type_ops)
+    polyline_ot->ops->save (object, obj_node, filename);
+  else if (object->type->ops == &custom_bezierline_type_ops)
+    bezier_ot->ops->save (object, obj_node, filename);
+  else 
+    g_warning ("customline_save() no delegate");
+}
+
+/* the order here must match the one in customline_apply_properties */
+static PropDescription
+_customline_prop_descs[] = {
+  { "line_colour", PROP_TYPE_COLOUR },
+  { "line_style", PROP_TYPE_LINESTYLE },
+  { "line_width", PROP_TYPE_REAL },
+  { "corner_radius", PROP_TYPE_REAL },
+  { "start_arrow", PROP_TYPE_ARROW },
+  { "end_arrow", PROP_TYPE_ARROW },
+   PROP_DESC_END
+};
+
+void 
+customline_apply_properties( DiaObject* line, LineInfo* info )
+{
+  GPtrArray *props;
+  LinestyleProperty *lsprop;
+  ColorProperty     *cprop;
+  RealProperty      *rprop;
+  ArrowProperty     *aprop;
+  
+  props = prop_list_from_descs( _customline_prop_descs, pdtpp_true );
+  g_assert( props->len == 6 );
+  
+  /* order/index/type must match _customline_prop_descs */
+  cprop = g_ptr_array_index( props, 0 );
+  cprop->color_data = info->line_color;
+  
+  lsprop = g_ptr_array_index( props, 1 );
+  lsprop->style = info->line_style;
+  lsprop->dash = info->dashlength;
+  
+  rprop = g_ptr_array_index( props, 2 );
+  rprop->real_data = info->line_width;
+  
+  rprop = g_ptr_array_index( props, 3 );
+  rprop->real_data = info->corner_radius;
+  
+  aprop = g_ptr_array_index( props, 4 );
+  aprop->arrow_data = info->start_arrow;
+  
+  aprop = g_ptr_array_index( props, 5 );
+  aprop->arrow_data = info->end_arrow;
+  
+  line->ops->set_props( line, props );
+
+  prop_list_free(props);
 }
 
 DiaObject *
@@ -112,25 +210,31 @@
 {
   DiaObject* res = NULL;
   LineInfo* line_info = (LineInfo*)user_data;
-	
-  if( line_info->type == CUSTOM_LINETYPE_ZIGZAGLINE ) {
-    res = zigzagline_create( startpoint, user_data, handle1, handle2 );
-    zigzagline_apply_properties( (Zigzagline*)res, line_info );
-  } else if( line_info->type == CUSTOM_LINETYPE_POLYLINE ) {
-    res = polyline_create( startpoint, NULL, handle1, handle2 );
-    polyline_apply_properties( (Polyline*)res, line_info );
-  } else if( line_info->type == CUSTOM_LINETYPE_BEZIERLINE ) {
-   res = bezierline_create( startpoint, NULL, handle1, handle2 );
-    bezierline_apply_properties( (Bezierline*)res, line_info );
-  } else
+
+  if (!ensure_standard_types()) {
+    g_warning ("Can't create standar types.");
+    return NULL;
+  }
+
+  if (line_info->type == CUSTOM_LINETYPE_ZIGZAGLINE)
+    res = zigzag_ot->ops->create( startpoint, user_data, handle1, handle2 );
+  else if (line_info->type == CUSTOM_LINETYPE_POLYLINE)
+    res = polyline_ot->ops->create( startpoint, NULL, handle1, handle2 );
+  else if (line_info->type == CUSTOM_LINETYPE_BEZIERLINE)
+    res = bezier_ot->ops->create( startpoint, NULL, handle1, handle2 );
+  else 
     g_warning(_("INTERNAL: CustomLines: Illegal line type in LineInfo object."));
 
-  res->type = line_info->object_type;
+  if (res) {
+    customline_apply_properties (res, line_info);
+    res->type = line_info->object_type;
+  }
 
   return( res );
 }
 
-void custom_linetype_new(LineInfo *info, DiaObjectType **otype)
+void 
+custom_linetype_new(LineInfo *info, DiaObjectType **otype)
 {
   DiaObjectType *obj = g_new0(DiaObjectType, 1);
 
@@ -144,8 +248,8 @@
   else if (info->type == CUSTOM_LINETYPE_BEZIERLINE)
     obj->ops = &custom_bezierline_type_ops;
   else
-      g_warning(_("INTERNAL: CustomLines: Illegal line type in LineInfo object %s."),
-                obj->name);
+    g_warning(_("INTERNAL: CustomLines: Illegal line type in LineInfo object %s."),
+              obj->name);
 
   obj->name = info->name;
   obj->default_user_data = info;

Modified: trunk/objects/custom_lines/custom_linetypes.h
==============================================================================
--- trunk/objects/custom_lines/custom_linetypes.h	(original)
+++ trunk/objects/custom_lines/custom_linetypes.h	Wed Mar  5 15:57:20 2008
@@ -24,7 +24,6 @@
 #ifndef _CUSTOM_LINETYPES_H_
 #define _CUSTOM_LINETYPES_H_
 
-void custom_linetypes_init();
 void custom_linetype_new(LineInfo *info, DiaObjectType **otype);
 void custom_linetype_create_and_register( LineInfo* info );
 

Modified: trunk/objects/makefile.msc
==============================================================================
--- trunk/objects/makefile.msc	(original)
+++ trunk/objects/makefile.msc	Wed Mar  5 15:57:20 2008
@@ -2,7 +2,7 @@
 
 PLUGINS = aadl bondgraph chronogram custom er flowchart fs grafcet \
 	Istar Jackson Kaos misc network sadt SISSI standard uml \
-	Database
+	Database custom_lines
 
 #outdated:	labels
 
@@ -92,6 +92,14 @@
 PKG_LINK = $(PKG_LINK) $(LIBXML2_LIBS) 
 !ENDIF
 
+!IFDEF OBJ_custom_lines
+OBJECTS = \
+	custom_lines.obj \
+	custom_linetypes.obj \
+	line_info.obj
+PKG_LINK = $(PKG_LINK) $(LIBXML2_LIBS) 
+!ENDIF
+
 !IFDEF OBJ_Database
 OBJECTS = \
 	compound.obj \

Modified: trunk/objects/standard/Makefile.am
==============================================================================
--- trunk/objects/standard/Makefile.am	(original)
+++ trunk/objects/standard/Makefile.am	Wed Mar  5 15:57:20 2008
@@ -7,11 +7,8 @@
 	textobj.c \
 	line.c \
 	zigzagline.c \
-	zigzagline.h \
 	polyline.c \
-	polyline.h \
 	bezier.c \
-	bezier.h \
 	standard.c \
 	image.c \
 	outline.c \

Modified: trunk/objects/standard/bezier.c
==============================================================================
--- trunk/objects/standard/bezier.c	(original)
+++ trunk/objects/standard/bezier.c	Wed Mar  5 15:57:20 2008
@@ -42,7 +42,19 @@
 
 #define DEFAULT_WIDTH 0.15
 
-#include "bezier.h"
+typedef struct _Bezierline Bezierline;
+
+struct _Bezierline {
+  BezierConn bez;
+
+  Color line_color;
+  LineStyle line_style;
+  real dashlength;
+  real line_width;
+  Arrow start_arrow, end_arrow;
+  real absolute_start_gap, absolute_end_gap;
+};
+
 
 static ObjectChange* bezierline_move_handle(Bezierline *bezierline, Handle *handle,
 					    Point *to, ConnectionPoint *cp,
@@ -51,7 +63,7 @@
 static void bezierline_select(Bezierline *bezierline, Point *clicked_point,
 			      DiaRenderer *interactive_renderer);
 static void bezierline_draw(Bezierline *bezierline, DiaRenderer *renderer);
-DiaObject *bezierline_create(Point *startpoint,
+static DiaObject *bezierline_create(Point *startpoint,
 				 void *user_data,
 				 Handle **handle1,
 				 Handle **handle2);
@@ -64,9 +76,9 @@
 static void bezierline_get_props(Bezierline *bezierline, GPtrArray *props);
 static void bezierline_set_props(Bezierline *bezierline, GPtrArray *props);
 
-void bezierline_save(Bezierline *bezierline, ObjectNode obj_node,
+static void bezierline_save(Bezierline *bezierline, ObjectNode obj_node,
 			  const char *filename);
-DiaObject *bezierline_load(ObjectNode obj_node, int version,
+static DiaObject *bezierline_load(ObjectNode obj_node, int version,
 			     const char *filename);
 static DiaMenu *bezierline_get_object_menu(Bezierline *bezierline, Point *clickedpoint);
 
@@ -74,7 +86,7 @@
 static real approx_bez_length(BezierConn *bez);
 static void exchange_bez_gap_points(BezierConn * bez, Point* gap_points);
 
-ObjectTypeOps bezierline_type_ops =
+static ObjectTypeOps bezierline_type_ops =
 {
   (CreateFunc)bezierline_create,   /* create */
   (LoadFunc)  bezierline_load,     /* load */
@@ -83,7 +95,7 @@
   (ApplyDefaultsFunc) NULL
 };
 
-DiaObjectType bezierline_type =
+static DiaObjectType bezierline_type =
 {
   "Standard - BezierLine",   /* name */
   0,                         /* version */
@@ -406,7 +418,7 @@
   }
 }
 
-DiaObject *
+static DiaObject *
 bezierline_create(Point *startpoint,
 		  void *user_data,
 		  Handle **handle1,
@@ -545,7 +557,7 @@
 
 }
 
-void
+static void
 bezierline_save(Bezierline *bezierline, ObjectNode obj_node,
 	      const char *filename)
 {
@@ -595,7 +607,7 @@
                  bezierline->absolute_end_gap);
 }
 
-DiaObject *
+static DiaObject *
 bezierline_load(ObjectNode obj_node, int version, const char *filename)
 {
   Bezierline *bezierline;

Modified: trunk/objects/standard/polyline.c
==============================================================================
--- trunk/objects/standard/polyline.c	(original)
+++ trunk/objects/standard/polyline.c	Wed Mar  5 15:57:20 2008
@@ -40,7 +40,18 @@
 
 #define DEFAULT_WIDTH 0.15
 
-#include "polyline.h"
+typedef struct _Polyline {
+  PolyConn poly;
+
+  Color line_color;
+  LineStyle line_style;
+  real dashlength;
+  real line_width;
+  real corner_radius;
+  Arrow start_arrow, end_arrow;
+  real absolute_start_gap, absolute_end_gap;
+} Polyline;
+
 
 static ObjectChange* polyline_move_handle(Polyline *polyline, Handle *handle,
 					  Point *to, ConnectionPoint *cp,
@@ -49,7 +60,7 @@
 static void polyline_select(Polyline *polyline, Point *clicked_point,
 			      DiaRenderer *interactive_renderer);
 static void polyline_draw(Polyline *polyline, DiaRenderer *renderer);
-DiaObject *polyline_create(Point *startpoint,
+static DiaObject *polyline_create(Point *startpoint,
 				 void *user_data,
 				 Handle **handle1,
 				 Handle **handle2);
@@ -62,15 +73,15 @@
 static void polyline_get_props(Polyline *polyline, GPtrArray *props);
 static void polyline_set_props(Polyline *polyline, GPtrArray *props);
 
-void polyline_save(Polyline *polyline, ObjectNode obj_node,
+static void polyline_save(Polyline *polyline, ObjectNode obj_node,
 			  const char *filename);
-DiaObject *polyline_load(ObjectNode obj_node, int version,
+static DiaObject *polyline_load(ObjectNode obj_node, int version,
 			     const char *filename);
 static DiaMenu *polyline_get_object_menu(Polyline *polyline, Point *clickedpoint);
 void polyline_calculate_gap_endpoints(Polyline *polyline, Point *gap_endpoints);
 static void polyline_exchange_gap_points(Polyline *polyline,  Point *gap_points);
 
-ObjectTypeOps polyline_type_ops =
+static ObjectTypeOps polyline_type_ops =
 {
   (CreateFunc)polyline_create,   /* create */
   (LoadFunc)  polyline_load,     /* load */
@@ -79,7 +90,7 @@
   (ApplyDefaultsFunc) NULL /*polyline_apply_defaults*/
 };
 
-DiaObjectType polyline_type =
+static DiaObjectType polyline_type =
 {
   "Standard - PolyLine",   /* name */
   0,                         /* version */
@@ -307,7 +318,7 @@
     If user_data is NULL, the startpoint is used and a 1x1 line is created.
     Otherwise, the startpoint is ignored.
 */
-DiaObject *
+static DiaObject *
 polyline_create(Point *startpoint,
 		  void *user_data,
 		  Handle **handle1,
@@ -452,7 +463,7 @@
   obj->position = poly->points[0];
 }
 
-void
+static void
 polyline_save(Polyline *polyline, ObjectNode obj_node,
 	      const char *filename)
 {
@@ -497,7 +508,7 @@
                   polyline->corner_radius);
 }
 
-DiaObject *
+static DiaObject *
 polyline_load(ObjectNode obj_node, int version, const char *filename)
 {
   Polyline *polyline;

Modified: trunk/objects/standard/zigzagline.c
==============================================================================
--- trunk/objects/standard/zigzagline.c	(original)
+++ trunk/objects/standard/zigzagline.c	Wed Mar  5 15:57:20 2008
@@ -40,7 +40,17 @@
 
 #define HANDLE_MIDDLE HANDLE_CUSTOM1
 
-#include "zigzagline.h"
+typedef struct _Zigzagline {
+  OrthConn orth;
+
+  Color line_color;
+  LineStyle line_style;
+  real dashlength;
+  real line_width;
+  real corner_radius;
+  Arrow start_arrow, end_arrow;
+} Zigzagline;
+
 
 static ObjectChange* zigzagline_move_handle(Zigzagline *zigzagline, Handle *handle,
 					    Point *to, ConnectionPoint *cp,
@@ -49,7 +59,7 @@
 static void zigzagline_select(Zigzagline *zigzagline, Point *clicked_point,
 			      DiaRenderer *interactive_renderer);
 static void zigzagline_draw(Zigzagline *zigzagline, DiaRenderer *renderer);
-DiaObject *zigzagline_create(Point *startpoint,
+static DiaObject *zigzagline_create(Point *startpoint,
 				 void *user_data,
 				 Handle **handle1,
 				 Handle **handle2);
@@ -64,12 +74,12 @@
 static void zigzagline_get_props(Zigzagline *zigzagline, GPtrArray *props);
 static void zigzagline_set_props(Zigzagline *zigzagline, GPtrArray *props);
 
-void zigzagline_save(Zigzagline *zigzagline, ObjectNode obj_node,
+static void zigzagline_save(Zigzagline *zigzagline, ObjectNode obj_node,
 			    const char *filename);
-DiaObject *zigzagline_load(ObjectNode obj_node, int version,
+static DiaObject *zigzagline_load(ObjectNode obj_node, int version,
 			       const char *filename);
 
-ObjectTypeOps zigzagline_type_ops =
+static ObjectTypeOps zigzagline_type_ops =
 {
   (CreateFunc)zigzagline_create,   /* create */
   (LoadFunc)  zigzagline_load,     /* load */
@@ -78,7 +88,7 @@
   (ApplyDefaultsFunc) NULL /*zigzagline_apply_defaults*/
 };
 
-DiaObjectType zigzagline_type =
+static DiaObjectType zigzagline_type =
 {
   "Standard - ZigZagLine",   /* name */
   /* Version 0 had no autorouting and so shouldn't have it set by default. */
@@ -227,7 +237,7 @@
 
 }
 
-DiaObject *
+static DiaObject *
 zigzagline_create(Point *startpoint,
 		  void *user_data,
 		  Handle **handle1,
@@ -390,7 +400,7 @@
 }
 
 
-void
+static void
 zigzagline_save(Zigzagline *zigzagline, ObjectNode obj_node,
 		const char *filename)
 {
@@ -428,7 +438,7 @@
                   zigzagline->corner_radius);
 }
 
-DiaObject *
+static DiaObject *
 zigzagline_load(ObjectNode obj_node, int version, const char *filename)
 {
   Zigzagline *zigzagline;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]